:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121014;--surface:#1d1a20;--surface-2:#2a2530;--text:#f2ede6;--muted:#a39c94;--border:#4a4450;--border-strong:#7a7282;--accent:#e8722c;--on-accent:#121014;--rune:#46c8d8;--ok:#3fbf6a;--on-ok:#121014;--ok-bg:#15301f;--warn:#e3b341;--on-warn:#121014;--warn-bg:#33290f;--err:#f06367;--on-err:#121014;--err-bg:#3a1416;--info:#46c8d8;--info-bg:#12303a;--neutral:#a39c94;--neutral-bg:#2a2530;--focus:#ffd166;--scrim:#0009}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f5f2;--surface:#fff;--surface-2:#efebe6;--text:#1b1817;--muted:#5f5852;--border:#d6d0c9;--border-strong:#857a72;--accent:#b84f18;--on-accent:#fff;--rune:#0d6873;--ok:#187a3d;--on-ok:#fff;--ok-bg:#e9f5ee;--warn:#8c6200;--on-warn:#fff;--warn-bg:#fbf1dc;--err:#c42b31;--on-err:#fff;--err-bg:#fbeceb;--info:#0d6873;--info-bg:#e3f3f5;--neutral:#5f5852;--neutral-bg:#efebe6;--focus:#1a4fd6;--scrim:#1b181773}:root{--tap:3.5rem;--tap-min:3rem;--radius:.75rem;--radius-small:.4rem;--gap:1rem;--gap-small:.5rem;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-prompt:1.75rem;--font-size-figure:2.25rem;--sidebar-width:16rem;--sheet-width:28rem;--shadow:0 .5rem 2rem #00000059}@media (width>=768px){:root{--font-size-prompt:2rem}}.chip{white-space:nowrap;border:1.5px solid;border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .65rem .15rem .5rem;font-size:.9rem;font-weight:700;line-height:1.3;display:inline-flex}.chip--large{padding:.3rem .85rem .3rem .65rem;font-size:1.1rem}.chip--ok{color:var(--ok);background:var(--ok-bg)}.chip--warn{color:var(--warn);background:var(--warn-bg)}.chip--err{color:var(--err);background:var(--err-bg)}.chip--info{color:var(--info);background:var(--info-bg)}.chip--neutral{color:var(--neutral);background:var(--neutral-bg)}.banner{width:100%;color:var(--text);border-left:6px solid var(--info);border-radius:var(--radius);background:var(--info-bg);align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex}.banner__text{flex-direction:column;flex:1;gap:.2rem;display:flex}.banner__message{font-size:1.1rem;font-weight:700}.banner__dismiss{margin:-.5rem -.5rem -.5rem 0}.banner--error{color:var(--on-err);background:var(--err);border-left-color:var(--on-err)}.banner--warning{background:var(--warn-bg);border-left-color:var(--warn)}.banner--warning>.icon{color:var(--warn)}.banner--info>.icon{color:var(--info)}.banner--success{background:var(--ok-bg);border-left-color:var(--ok);animation:.6s ease-out flash-ok}.banner--success>.icon{color:var(--ok)}@keyframes flash-ok{0%{color:var(--on-ok);background:var(--ok)}}@media (prefers-reduced-motion:reduce){.banner--success{animation:none}}.step{gap:var(--gap);flex-direction:column;flex:1;display:flex}.step__captured{flex-direction:column;gap:.35rem;padding:0;list-style:none;display:flex}.step__line{width:100%;min-height:var(--tap-min);font:inherit;text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-small);align-items:flex-start;gap:.5rem;padding:.5rem .75rem;display:flex}.step__line--redo{cursor:pointer}.step__line--redo:hover{border-color:var(--border-strong)}.step__line>.icon{color:var(--ok);margin-top:.1rem}.step__line-text{flex-direction:column;min-width:0;display:flex}.step__line-label{overflow-wrap:anywhere;font-weight:700}.step__line-detail{color:var(--muted);font-size:.9rem}.step__prompt-area{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 0;display:flex}.step__prompt{font-size:var(--font-size-prompt);letter-spacing:.02em;text-transform:uppercase;color:var(--rune);font-weight:800;line-height:1.15}.step__prompt:focus{outline:none}.step__hint{color:var(--muted);font-size:1.1rem}.step__footer{gap:.5rem;display:flex}.step__footer>.button{flex:1}.scan-input{flex-direction:column;gap:.75rem;display:flex}.scan-input__fallbacks{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.scan-input__camera{flex-direction:column;align-items:center;gap:.5rem;display:flex}.scan-input__video{aspect-ratio:4/3;object-fit:cover;border:2px solid var(--rune);border-radius:var(--radius);background:#000;width:100%;max-height:40vh}.scan-input__camera-hint{color:var(--muted)}.scan-input__typed{flex-direction:column;gap:.35rem;display:flex}.scan-input__typed-row{gap:.5rem;display:flex}.scan-input__typed-row>.input{min-width:0;min-height:var(--tap);flex:1;font-size:1.2rem}.qty{flex-direction:column;gap:.75rem;display:flex}.qty__display{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:center;padding:.5rem;display:flex}.qty__label{color:var(--muted);font-size:.9rem;font-weight:600}.qty__value{font-size:var(--font-size-figure);font-variant-numeric:tabular-nums;font-weight:800;line-height:1.2}.qty__unit{color:var(--muted);font-size:1.2rem}.qty__conversion{color:var(--rune);font-variant-numeric:tabular-nums;font-weight:700}.qty__units,.segments{border:0;flex-wrap:wrap;gap:.5rem;min-width:0;margin:0;padding:0;display:flex}.segments>legend{margin-bottom:.5rem}.segment{min-height:var(--tap-min);min-width:var(--tap-min);background:var(--surface);border:2px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:0 .75rem;font-weight:700;display:inline-flex;position:relative}.segment>input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:-2px}.segment:has(input:checked){color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.segment:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.qty__pad{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.qty__key{min-height:var(--tap);font:inherit;font-variant-numeric:tabular-nums;color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;font-size:1.6rem;font-weight:700;display:inline-flex}.qty__key--word{font-size:1rem}.qty__key:active{background:var(--border)}.confirm{gap:var(--gap);flex-direction:column;flex:1;display:flex}.confirm__title{font-size:var(--font-size-figure);font-variant-numeric:tabular-nums;font-weight:800;line-height:1.15}.confirm__lines{flex-direction:column;flex:1;display:flex}.confirm__line{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:1rem;padding:.6rem 0;display:flex}.confirm__line dt{color:var(--muted)}.confirm__line dd{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:1.3rem;font-weight:700}.confirm__actions{gap:.5rem;display:flex}.confirm__actions>.button{min-height:var(--tap)}.confirm__actions>.button--block{flex:1}.booked{text-align:center;min-height:50vh;color:var(--on-ok);background:var(--ok);border-radius:var(--radius);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:2rem 1rem;display:flex}.booked__title{font-size:var(--font-size-figure);font-weight:800;line-height:1.15}.undo-bar{background:var(--ok-bg);border:2px solid var(--ok);border-radius:var(--radius);align-items:center;gap:.6rem;padding:.4rem .4rem .4rem .75rem;display:flex}.undo-bar>.icon{color:var(--ok)}.undo-bar__message{flex:1;min-width:0;font-weight:600}.undo-bar__seconds{font-variant-numeric:tabular-nums;font-weight:600}.modal{z-index:50;display:flex;position:fixed;inset:0}.modal__scrim{background:var(--scrim);position:absolute;inset:0}.modal__panel{max-height:100%;color:var(--text);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;display:flex;position:relative}.modal__panel:focus{outline:none}.modal--dialog{justify-content:center;align-items:center;padding:1rem}.modal--dialog>.modal__panel{border-radius:var(--radius);gap:1rem;width:min(30rem,100%);padding:1.25rem}.modal--sheet{justify-content:flex-end}.modal--sheet>.modal__panel{width:min(var(--sheet-width), 100%);height:100%}.modal--drawer{justify-content:flex-start}.modal--drawer>.modal__panel{width:min(20rem,88%);height:100%}.modal__title{font-size:1.3rem}.modal__effect{font-variant-numeric:tabular-nums;font-size:1.1rem}.modal__actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.sheet__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem .25rem .25rem 1rem;display:flex}.sheet__body{gap:var(--gap);flex-direction:column;flex:1;padding:1rem;display:flex;overflow-y:auto}.sheet__footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;display:flex}.empty{text-align:center;background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1rem;display:flex}.empty>.icon{color:var(--rune)}.empty__message{font-size:1.1rem;font-weight:700}.empty__flavour{color:var(--muted);font-style:italic}.page-header,.detail-header{flex-direction:column;gap:.25rem;display:flex}.page-header__row,.detail-header__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.page-header__actions,.detail-header__actions{flex-wrap:wrap;gap:.5rem;display:flex}.breadcrumb ol{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.25rem;padding:0;font-size:.9rem;list-style:none;display:flex}.breadcrumb li{align-items:center;min-height:1.75rem;display:inline-flex}.breadcrumb li+li:before{content:"›";margin-right:.25rem}.breadcrumb a{min-height:var(--tap-min);align-items:center;padding:0 .25rem;display:inline-flex}.breadcrumb [aria-current=page]{color:var(--text);font-weight:600}.detail-header__identity{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.detail-header__code{color:var(--rune);font-family:ui-monospace,Cascadia Mono,Menlo,monospace;font-weight:700}.tabs{border-bottom:2px solid var(--border);gap:.25rem;margin-top:.5rem;padding:0;list-style:none;display:flex;overflow-x:auto}.tabs__tab{min-height:var(--tap-min);white-space:nowrap;color:var(--muted);border-bottom:4px solid #0000;align-items:center;margin-bottom:-2px;padding:0 1rem;font-weight:700;text-decoration:none;display:inline-flex}.tabs__tab[aria-current=page]{color:var(--text);border-bottom-color:var(--accent)}.data-table{flex-direction:column;gap:.75rem;display:flex}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.filter-bar__field{flex-direction:column;flex:10rem;gap:.25rem;max-width:18rem;display:flex}.filter-bar__label{font-size:.9rem;font-weight:600}.data-table__count{color:var(--muted);font-size:.9rem}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:70vh;overflow:auto}.table{border-collapse:collapse;width:100%;font-size:.95rem}.table th{z-index:1;text-align:left;white-space:nowrap;background:var(--surface-2);padding:.75rem;font-weight:700;position:sticky;top:0}.table td{height:var(--tap-min);border-top:1px solid var(--border);padding:.25rem .75rem}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table__row--link{cursor:pointer}.table__row--link:hover{background:var(--surface-2)}.table__link{min-height:var(--tap-min);white-space:nowrap;align-items:center;font-weight:700;display:inline-flex}.scanner-shell{flex-direction:column;min-height:100dvh;display:flex}.status-bar,.flow__header{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:.25rem;min-height:3.5rem;padding:.25rem .5rem .25rem .25rem;display:flex;position:sticky;top:0}.status-bar__brand{min-width:var(--tap-min);min-height:var(--tap-min);white-space:nowrap;color:var(--accent);flex:1 1 0;align-items:center;font-size:1.1rem;font-weight:800;text-decoration:none;display:flex;container-type:inline-size}.status-bar__brand>span{text-overflow:ellipsis;overflow:hidden}.status-bar__brand-short{display:none}@container (width<=6.5em){.status-bar__brand-full{display:none}.status-bar__brand-short{display:inline}}.scanner-main{width:100%;max-width:40rem;padding:var(--gap);flex:1;margin:0 auto}.sync-badge{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:0 .4rem;min-width:0;display:inline-flex}.sync-badge__link{min-height:var(--tap-min);border-radius:999px;align-items:center;text-decoration:none;display:inline-flex}.sync-badge__as-of{color:var(--muted);font-size:.8rem}.scanner-home{flex-direction:column;gap:1.25rem;display:flex}.scanner-home__user{flex-wrap:wrap;align-items:baseline;gap:0 .5rem;display:flex}.scanner-home__name{font-weight:700}.scanner-home__none{color:var(--muted)}.tiles{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:.75rem;padding:0;list-style:none;display:grid}.tile{text-align:center;min-height:5.5rem;color:var(--text);background:var(--surface);border:2px solid var(--border-strong);border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:.75rem;font-size:1.15rem;font-weight:700;text-decoration:none;display:flex}.tile>.icon{color:var(--rune)}.tile:hover{border-color:var(--rune)}.tile:active{transform:scale(.98)}.drawer__user{flex-direction:column;display:flex}.drawer__name{font-weight:700}.drawer__links{flex-direction:column;padding:0;list-style:none;display:flex}.drawer__links a{min-height:var(--tap-min);color:var(--text);border-radius:var(--radius-small);align-items:center;gap:.75rem;padding:0 .5rem;font-weight:600;text-decoration:none;display:flex}.drawer__links a:hover{background:var(--surface-2)}.drawer__group{margin-top:.75rem}.flow{flex-direction:column;width:100%;max-width:40rem;min-height:100dvh;margin:0 auto;display:flex}.flow__title{white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:baseline;gap:.4rem;min-width:0;font-size:1.15rem;display:flex;overflow:hidden}.flow__context{text-overflow:ellipsis;color:var(--muted);font-weight:600;overflow:hidden}.flow__context:before{content:"· "}.flow__body{gap:var(--gap);padding:var(--gap);flex-direction:column;flex:1;display:flex}.office-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100dvh;display:grid}.skip-link{z-index:100;min-height:var(--tap-min);color:var(--on-accent);background:var(--accent);border-radius:var(--radius);align-items:center;padding:.5rem 1rem;font-weight:700;display:inline-flex;position:absolute;top:-5rem;left:.5rem}.skip-link:focus{top:.5rem}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:.75rem;height:100dvh;padding:.75rem;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar__brand{min-height:var(--tap-min);color:var(--accent);align-items:center;padding:0 .75rem;font-size:1.3rem;font-weight:800;text-decoration:none;display:inline-flex}.sidebar__group{margin-bottom:.75rem}.sidebar__group>.group-title{margin-bottom:.25rem;padding:0 .75rem;font-size:.75rem}.sidebar__group>ul{padding:0;list-style:none}.sidebar__link{min-height:var(--tap-min);color:var(--text);border-radius:var(--radius-small);align-items:center;gap:.5rem;padding:0 .75rem;font-weight:600;text-decoration:none;display:flex}.sidebar__link>.icon{color:var(--rune)}.sidebar__link:hover{background:var(--surface-2)}.sidebar__link[aria-current=page]{background:var(--surface-2);box-shadow:inset 4px 0 0 var(--accent);font-weight:800}.office-shell__body{flex-direction:column;min-width:0;display:flex}.office-header{z-index:10;background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.5rem 1.5rem;display:flex;position:sticky;top:0}.office-header__user{flex-direction:column;margin-right:auto;font-size:.9rem;line-height:1.25;display:flex}.office-header__name{font-weight:700}.office-main{gap:var(--gap);flex-direction:column;width:100%;max-width:80rem;padding:1.5rem;display:flex}.office-main:focus{outline:none}.scan-setting{flex-direction:column;gap:.35rem;display:flex}.scan-hint{color:var(--muted);margin:0;font-size:.9rem}.scan-settings summary{min-height:var(--tap-min);cursor:pointer;align-items:center;font-weight:600;display:flex}.scan-settings[open]>summary{margin-bottom:var(--gap)}.scan-code{overflow-wrap:anywhere;font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.scan-result{flex-direction:column;gap:.75rem;display:flex}:root{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-size:112.5%;line-height:1.4}@media (width>=1024px){:root{font-size:100%}}*,:before,:after{box-sizing:border-box}body{min-height:100dvh;color:var(--text);background:var(--bg);margin:0}h1,h2,h3,p,ul,ol,dl,dd{margin:0}h1{font-size:1.6rem}h2{font-size:1.3rem}a{color:var(--rune)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stack{gap:var(--gap);flex-direction:column;display:flex}.page{width:100%;max-width:60rem;padding:var(--gap);margin:0 auto}.page--narrow{max-width:28rem;padding-top:2rem}.brand{margin-bottom:var(--gap);text-align:center;color:var(--accent)}.card{padding:var(--gap);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.85rem;font-weight:700}.role-badge{color:var(--muted);font-weight:600}.field{flex-direction:column;gap:.35rem;font-weight:600;display:flex}.input,.field input{min-height:var(--tap-min);font:inherit;color:var(--text);background:var(--bg);border:2px solid var(--border-strong);border-radius:var(--radius);padding:0 .85rem;font-weight:400}.field input{min-height:var(--tap)}.input:focus,.field input:focus{border-color:var(--rune)}.button{min-height:var(--tap-min);min-width:var(--tap-min);font:inherit;color:var(--text);background:var(--surface);border:2px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:0 1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{background:var(--surface-2)}.button[aria-pressed=true]{background:var(--info-bg);border-color:var(--info)}.button--primary,.button--danger{min-height:var(--tap)}.button--primary,.button--primary:hover{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.button--danger,.button--danger:hover{color:var(--on-err);background:var(--err);border-color:var(--err)}.button--block{width:100%}.button--small{padding:0 .85rem;font-size:.9rem}.button:disabled{opacity:.6;cursor:not-allowed}.button[aria-busy=true]{cursor:progress}.icon-button{width:var(--tap-min);height:var(--tap-min);color:inherit;border-radius:var(--radius);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover{background:var(--surface-2)}.icon{flex:none}.icon--dot{fill:currentColor}.notice{padding:.75rem var(--gap);border-left:4px solid var(--info);background:var(--surface);border-radius:.25rem}.notice--error{border-left-color:var(--err);background:var(--err-bg)}ul.notice{padding-left:2rem}.facts{flex-direction:column;display:flex}.facts>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.6rem 0;display:flex}.facts dt{color:var(--muted)}.facts dd{text-align:right;font-weight:700}.admin-intro{max-width:48rem;color:var(--muted);margin:0}.admin-load-error{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.admin-form{gap:var(--gap);flex-direction:column;display:flex}.admin-field select.input,.admin-field input{width:100%}.admin-field__hint{color:var(--muted);font-size:.875rem;font-weight:400}.admin-check{min-height:var(--tap-min);cursor:pointer;align-items:center;gap:.6rem;font-weight:600;display:flex}.admin-check>input{width:1.25rem;height:1.25rem;accent-color:var(--rune)}.admin-sheet__extra{margin-right:auto}.admin-facts{margin:0}.admin-code{overflow-wrap:anywhere;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.875rem}
