@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--green: #2f9a5e;--red: #e0574f;--amber: #f5b02e;--ink: #13302a;--paper: #f6f1e7;--card: #fffcf6;--card-line: #e5ddcc;--soft: #74776c}body{margin:0;font-family:Nunito Variable,Nunito,ui-rounded,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--paper)}.station{display:grid;grid-template-columns:minmax(300px,2fr) 3fr;gap:16px;min-height:100vh;padding:16px;background:var(--paper)}.ticket{background:var(--card);color:var(--ink);padding:24px 24px 40px;border-radius:28px;border:1px solid var(--card-line);overflow-y:auto}.ticket-header{padding-bottom:12px;margin-bottom:8px;border-bottom:2px dashed var(--card-line)}.ticket-id{font-size:40px;font-weight:800;font-variant-numeric:tabular-nums}.ticket-lines{list-style:none;margin:0;padding:0}.ticket-line{display:grid;grid-template-columns:52px 1fr 44px;align-items:center;gap:12px;padding:12px;margin:4px 0;font-size:30px;border-radius:16px}.line-qty{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--paper);font-size:.8em;font-weight:800;color:var(--soft)}.line-name{font-weight:650}.line-mark{font-size:30px;font-weight:800;text-align:center}.line-ok .line-mark,.line-accepted .line-mark{color:var(--green)}.line-missing{background:#fde7e4}.line-missing .line-mark{color:var(--red)}.line-unsure{background:#fff1d1}.line-unsure .line-mark{color:#c47f00}.status{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;padding:40px;border-radius:28px;color:#fff;background:#8c9286}.tone-green .status{background:var(--green)}.tone-red .status{background:var(--red)}.tone-amber .status{background:var(--amber);color:var(--ink)}.tone-error .status{background:#5b6157}.status-face{width:clamp(72px,9vw,120px);height:auto;padding:14px;border-radius:50%;background:#ffffff38}.tone-amber .status-face{background:#fff6}.status-headline{margin:0;font-size:clamp(48px,7vw,92px);line-height:1.05;font-weight:800;letter-spacing:-.01em}.status-text{display:flex;flex-direction:column;gap:14px}.status-detail{margin:0;font-size:26px;font-weight:600;opacity:.9;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}@media(max-width:800px){.station{grid-template-columns:1fr;padding:10px;gap:10px}.status{order:-1;min-height:34vh;padding:24px 20px}.ticket{padding:16px 14px 24px}.ticket-line{font-size:22px;grid-template-columns:40px 1fr 30px;padding:10px 8px}.line-qty{width:34px;height:34px}}:root{--bg: #f6f1e7;--surface: #fffcf6;--surface-2: #efe9dc;--line: #e5ddcc;--text: #13302a;--muted: #6b7266;--field: #fff;--field-line: #c5ccbe;--accent: #173e32;--accent-hover: #245844;--accent-soft: #e9eee1;--accent-text: #173e32;--on-accent: #fff;--warn-bg: #fff0e8;--warn-text: #823318;--attention: #b48337;--olive: #5c6b3a}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:Nunito Variable,Nunito,ui-rounded,system-ui,sans-serif}.app-shell{min-height:100dvh;background:var(--bg);color:var(--text)}button:focus-visible,a:focus-visible{outline:3px solid var(--attention);outline-offset:3px}button,a,input{-webkit-tap-highlight-color:transparent}input{font:inherit}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}.access-page{min-height:65vh;display:grid;place-items:center;padding:24px}.access-card{width:min(100%,380px);padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.access-card h1{margin:0 0 24px;font-size:25px}.access-card label{display:block;font-size:14px;margin-bottom:8px}.access-card input{width:100%;padding:12px;border:1px solid var(--field-line);border-radius:6px;font:inherit;margin-bottom:20px}.ordering-page{max-width:1180px;padding:40px 40px 64px;margin:auto}.ordering-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:40px;align-items:start}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-heading h1{font-size:22px;margin:0}.menu-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px 24px;display:flex;align-items:center;gap:20px;margin-bottom:12px}.menu-copy{flex:1;min-width:0}.menu-copy h2{margin:0 0 6px;font-size:19px;font-weight:650}.menu-copy>span{font-size:15px;color:var(--muted)}.quantity-picker{display:flex;gap:6px;align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:4px}.quantity-picker button{border:0;background:transparent;width:36px;height:36px;font-size:21px;color:var(--accent);border-radius:5px}.quantity-picker button:not(:disabled):hover{background:var(--accent-soft)}.quantity-picker output{min-width:22px;text-align:center;font-size:15px;font-weight:700}.basket{padding:24px;border-radius:12px;border:1px solid var(--line);background:var(--surface);margin-top:38px}.basket h2{font-size:22px;margin:0 0 20px;letter-spacing:-.4px}.basket-empty{font-size:14px;line-height:1.6;color:var(--muted);padding:12px 0}.basket-lines{list-style:none;margin:0;padding:0}.basket-lines li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;font-size:14px}.basket-lines b{margin-right:8px;color:var(--accent)}.basket-total{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:2px dashed var(--line);margin:22px 0;padding-top:20px}.basket-total strong{font-size:26px}.success-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;border:1px solid #b8ccad;background:#e7efdf;border-radius:10px;margin:0 0 28px;color:#29412c}.success-banner a{font-size:14px;font-weight:700;white-space:nowrap}.error-banner{padding:14px;background:var(--warn-bg);color:var(--warn-text);border-radius:8px;font-size:14px;line-height:1.5}.error-banner button{margin-left:8px}.pending-note{color:#80601f;font-size:13px;line-height:1.6}.menu-management{max-width:1180px;margin:auto;padding:36px 40px 64px}.menu-management-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:30px}.menu-management h1{margin:0;font-size:28px;letter-spacing:-.6px}.menu-management-heading p{color:var(--muted);font-size:14px;margin:8px 0 0}.menu-actions{display:flex;gap:10px}.menu-actions .primary-button{width:auto;font-size:13px;padding:12px 18px}.menu-management-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:32px;align-items:start}.managed-menu-item{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:12px}.managed-menu-item>div{flex:1;min-width:0}.managed-menu-item h2{margin:0 0 6px;font-size:17px;overflow-wrap:anywhere}.managed-menu-item>div>span{color:var(--muted);font-size:14px}.menu-item-thumbnail{width:68px;height:68px;flex:0 0 68px;border-radius:8px;object-fit:cover;background:var(--surface-2)}.missing-photo{display:grid;place-items:center;color:var(--muted);font-size:11px}.menu-photo-picker{margin-bottom:24px}.photo-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:600;margin-bottom:9px}.photo-label>span+span{font-size:11px;font-weight:400;color:var(--muted)}.photo-preview{display:grid;place-items:center;width:240px;max-width:100%;aspect-ratio:1;border:1px dashed var(--field-line);border-radius:8px;overflow:hidden;background:var(--surface-2);color:var(--muted);font-size:13px}.photo-preview.has-photo{border-style:solid}.photo-preview img{width:100%;height:100%;object-fit:contain;min-height:0}.photo-actions{display:flex;gap:8px;margin-top:10px}.photo-actions>button{flex:1;padding:10px;font-size:12px}.photo-reset,.delete-link{border:0;background:transparent;padding:10px 0 0;text-decoration:underline;color:var(--muted);font-size:12px}.menu-edit-card .photo-file-input{display:none}.delete-item{border-top:1px solid var(--line);margin-top:20px;padding-top:8px}.delete-item p{font-size:13px;line-height:1.5}.delete-link{color:#9f342e}.danger-button{background:#9c332c;color:#fff;border:1px solid #9c332c;border-radius:7px;font-weight:600}.availability{display:inline-flex;white-space:nowrap;padding:5px 9px;border-radius:5px;font-size:11px;font-weight:650}.availability.available{color:var(--accent-text);background:var(--accent-soft)}.availability.sold-out{color:#855c25;background:#fbefda}.menu-edit-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;position:sticky;top:24px}.menu-edit-card h2{margin:0 0 24px;font-size:21px}.menu-edit-card fieldset{border:0;padding:0;margin:0;min-width:0}.menu-edit-card label{display:block;margin:0 0 7px;font-size:13px;font-weight:600}.menu-edit-card input:not([type=checkbox]){width:100%;padding:11px 12px;border:1px solid var(--field-line);border-radius:6px;margin-bottom:22px;background:var(--field)}.menu-edit-card .check-label{display:flex;align-items:center;gap:9px;margin:0 0 18px;font-weight:400}.check-label input{width:17px;height:17px;accent-color:var(--accent)}.edit-actions{display:flex;gap:10px;margin-top:20px}.edit-actions .primary-button{padding:12px;font-size:13px}.menu-editor-hint{color:var(--muted);font-size:14px;line-height:1.6;padding:60px 28px}.menu-editor-hint>span{font-size:28px}.menu-empty{padding:30px 16px;color:var(--muted);font-size:14px}.menu-group{scroll-margin-top:16px}.menu-group+.menu-group{margin-top:26px}.menu-group-name{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:18px;font-weight:800;color:var(--accent)}.menu-group-name span{min-width:24px;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:700;text-align:center}.menu-group-empty{margin:0 0 12px;padding:16px 20px;border:1.5px dashed var(--line);border-radius:10px;color:var(--muted);font-size:14px}.category-chips{position:sticky;top:0;z-index:2;display:flex;gap:8px;overflow-x:auto;padding:8px 0 14px;margin-bottom:6px;background:var(--bg);scrollbar-width:none}.category-chips a{flex:none;padding:8px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--text);font-size:14px;font-weight:700;text-decoration:none}.category-chips a:hover{background:var(--surface-2)}.category-form{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:-12px 0 26px;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.category-form label{font-size:13px;font-weight:700}.category-form input{flex:1 1 200px;padding:10px 12px;border:1px solid var(--field-line);border-radius:10px;background:var(--field);font:inherit}.category-form .primary-button{width:auto;padding:10px 20px}.menu-edit-card select{width:100%;padding:11px 12px;border:1px solid var(--field-line);border-radius:6px;margin-bottom:22px;background:var(--field);font:inherit;color:var(--text)}.menu-sync-label{color:var(--muted);font-size:11px}.unavailable-item{background:var(--surface-2)}.unavailable-item h2{color:var(--muted)}.basket-unavailable{display:block;color:#9b562d;font-size:12px;margin-top:6px}.basket-unavailable button{background:none;border:0;text-decoration:underline;color:inherit;padding:0 4px}.menu-review{background:#faf0d9;color:#735623;border:1px solid #e7d3a6;border-radius:8px;padding:16px;margin:18px 0;font-size:13px}.menu-review p{line-height:1.5;margin:7px 0 12px}@media(max-width:1000px){.ordering-page{padding:36px 24px}.ordering-layout{gap:20px}.menu-card{gap:12px;padding:20px 16px}}@media(max-width:680px){.menu-management{padding:24px 18px}.menu-management-heading{align-items:start;flex-direction:column}.menu-management-layout{grid-template-columns:1fr;gap:18px}.menu-edit-card{position:static;order:-1}.menu-editor-hint{display:none}.managed-menu-item{gap:8px;padding:16px 12px;flex-wrap:wrap}.managed-menu-item>div{flex-basis:40%}.managed-menu-item h2{font-size:16px}.ordering-layout{grid-template-columns:1fr}.basket{margin-top:0}.success-banner{align-items:start;flex-direction:column}}.app-header{min-height:72px;padding:10px 28px;background:var(--bg);display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;text-decoration:none}.brand-logo{height:46px;width:auto;display:block}.app-header nav{display:flex;gap:4px;margin-right:auto}.app-header nav a{text-decoration:none;padding:9px 18px;border-radius:999px;font-size:15px;font-weight:650;color:var(--muted)}.app-header nav a:hover{color:var(--text)}.app-header nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-text)}.settings-menu{margin-left:auto;position:relative}.app-header nav+.settings-menu{margin-left:0}.settings-menu>summary{list-style:none;cursor:pointer;padding:9px 18px;border-radius:999px;font-size:15px;font-weight:650;color:var(--muted)}.settings-menu>summary::-webkit-details-marker{display:none}.settings-menu>summary:hover,.settings-menu[open]>summary{color:var(--text);background:var(--surface-2)}.settings-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:min(320px,calc(100vw - 32px));display:grid;gap:14px;padding:18px;background:var(--surface);border:1px solid var(--field-line);border-radius:20px;box-shadow:0 12px 32px #2824141f}.settings-panel label{display:flex;gap:10px;align-items:flex-start;font-size:14px;font-weight:650;cursor:pointer}.settings-panel input{width:18px;height:18px;margin-top:1px;accent-color:var(--accent);flex:none}.settings-panel small{display:block;color:var(--muted);font-size:12px;font-weight:500;margin-top:2px}.settings-note,.settings-error{margin:0;font-size:12px;color:var(--muted)}.settings-error{color:var(--danger, #b3412f)}.primary-button{background:var(--accent);color:var(--on-accent);border:0;width:100%;padding:16px;border-radius:999px;font-weight:750}.primary-button:not(:disabled):hover{background:var(--accent-hover)}.secondary-button{border:1.5px solid var(--field-line);color:var(--accent-text);background:var(--surface);border-radius:999px;padding:9px 16px;font-weight:700;font-size:13px}.secondary-button:not(:disabled):hover{background:var(--accent-soft)}.icon-button{border:0;background:transparent;color:var(--muted);width:36px;height:36px;border-radius:50%;font-size:20px;line-height:1}.icon-button:not(:disabled):hover{background:var(--surface-2);color:var(--text)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;padding:40px;text-align:center;color:var(--muted)}.empty-state h1{font-size:32px;letter-spacing:-.5px;margin:12px 0;color:var(--text)}.fulfillment-page{padding:20px 28px 32px;max-width:1600px;margin:0 auto}.queue-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px}.order-queue{flex:1;min-width:0;display:flex;gap:8px;overflow-x:auto;padding:4px;scrollbar-width:none}.order-queue::-webkit-scrollbar{display:none}.queue-empty{margin:0;padding:10px 4px;color:var(--muted);font-size:15px}.queue-ticket{--tone: #c9c2b3;flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:9px 16px 9px 12px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);font-size:16px}.queue-ticket:not(:disabled):hover{border-color:var(--olive)}.queue-ticket strong{font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.01em}.queue-ticket-dot{width:10px;height:10px;border-radius:50%;background:var(--tone)}.queue-red{--tone: var(--red)}.queue-green{--tone: var(--green)}.queue-amber{--tone: var(--amber)}.queue-green{color:var(--muted)}.queue-ticket[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.queue-ticket-owner{font-size:12px;font-weight:600;opacity:.7}.queue-status{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:14px;font-weight:700;color:var(--muted)}.connection-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 20%,transparent)}.connection-dot.offline{background:var(--red);box-shadow:none}.connection-dot.loading{background:var(--attention);box-shadow:none}.connection-error{display:flex;align-items:center;gap:12px;padding:12px 18px;margin-bottom:16px;border-radius:16px;font-size:14px;background:var(--warn-bg);color:var(--warn-text)}.fulfillment-undo{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 18px;margin-bottom:16px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font-size:14px;font-weight:700}.queue-announcement{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.fulfillment-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,1fr);grid-template-areas:"camera ticket";gap:24px;align-items:start}.fulfillment-layout>.camera-check{grid-area:camera}.active-ticket{grid-area:ticket;min-width:0;display:flex;flex-direction:column;gap:12px}.active-ticket .station{display:flex;flex-direction:column;gap:16px;min-height:0;padding:0;background:none}.active-ticket .status{order:-1;flex-direction:row;justify-content:flex-start;align-items:center;gap:20px;padding:24px 28px;min-height:0}.active-ticket .status-face{width:84px;flex:0 0 84px;padding:10px}.active-ticket .status-text{min-width:0;display:flex;flex-direction:column;gap:10px}.active-ticket .status-headline{font-size:clamp(34px,3.6vw,52px)}.active-ticket .status-detail{font-size:18px}.active-ticket .ticket{padding:22px 24px 18px}.active-ticket .ticket-id{font-size:32px}.active-ticket .ticket-line{font-size:clamp(19px,1.6vw,24px);grid-template-columns:40px 1fr 30px;gap:12px;padding:10px}.active-ticket .line-qty{width:34px;height:34px}.fulfillment-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px;padding:0 8px}.fulfillment-actions>span{margin-right:auto;color:var(--muted);font-size:13px;font-weight:700}.text-button{border:0;background:none;padding:6px 10px;border-radius:999px;color:var(--accent-text);font-size:13px;font-weight:700}.text-button:not(:disabled):hover{background:var(--accent-soft)}.empty-state p{margin:0}.camera-check{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:14px}.dock-bar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.cv-tabs{display:flex;gap:2px;padding:4px;border-radius:999px;background:var(--bg);margin-right:auto}.cv-tabs button{padding:7px 18px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:14px;font-weight:700}.cv-tabs button[aria-selected=true]{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px #0001}.camera-frame{position:relative;border-radius:20px;overflow:hidden;background:#13302a;box-shadow:0 0 0 0 transparent;transition:box-shadow .3s}.tone-green .camera-frame{box-shadow:0 0 0 6px var(--green)}.tone-red .camera-frame{box-shadow:0 0 0 6px var(--red)}.tone-amber .camera-frame{box-shadow:0 0 0 6px var(--amber)}.camera-preview{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;background:#13302a}.camera-frame-busy:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.28) 50%,transparent 100%);background-size:100% 40%;background-repeat:no-repeat;animation:scan 1.6s ease-in-out infinite;pointer-events:none}@keyframes scan{0%{background-position:0 -40%}to{background-position:0 140%}}.camera-state{position:absolute;top:14px;left:14px;display:flex;align-items:center;gap:8px;padding:7px 14px 7px 12px;border-radius:999px;background:#fffcf6eb;color:var(--text);font-size:14px;font-weight:700;box-shadow:0 2px 8px #0002}.camera-state:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--muted)}.camera-state[hidden]{display:none}.camera-state-busy:before{background:var(--attention);animation:pulse .7s infinite}@keyframes pulse{50%{opacity:.25}}.camera-panel-mini .camera-frame{width:168px;margin:0 0 12px auto;border-radius:14px}.camera-panel-mini .camera-state,.camera-panel-mini .camera-check-controls{display:none}.camera-check-controls{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 4px 2px}.camera-check-controls .primary-button{width:auto;padding:11px 24px}.camera-check-controls select{padding:8px 12px;border-radius:999px;border:1.5px solid var(--field-line);background:var(--field);color:var(--text);max-width:220px}.camera-auto{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700}.camera-auto input{width:18px;height:18px;accent-color:var(--accent)}.camera-last-photo{margin-left:auto;font-size:13px;color:var(--muted)}.camera-last-photo summary{cursor:pointer}.camera-last-photo img{display:block;max-width:240px;width:100%;margin:8px 0;border-radius:12px}.camera-off{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;aspect-ratio:4 / 3;border-radius:20px;border:2px dashed var(--line);background:var(--bg);color:var(--muted);text-align:center;padding:24px}.camera-off svg{width:56px;color:var(--olive)}.camera-off p{margin:0;font-size:18px;font-weight:600;max-width:26ch}.camera-off .primary-button{width:auto;padding:12px 28px}.camera-hint{margin:10px 4px 0;font-size:13px;color:var(--muted)}.camera-check .error-banner{margin:10px 0 0}.check-activity{margin:12px 0 0;font-size:12px;color:var(--muted)}.check-activity summary{cursor:pointer;width:fit-content}.check-activity-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 4px}.check-activity-row select{padding:3px 6px;font-size:12px;margin-left:4px;background:var(--field);color:var(--text);border:1px solid var(--field-line);border-radius:6px}.check-activity-row output{font-weight:650;color:var(--text)}.cv-logs{margin-top:8px;font-size:13px;color:var(--text)}.cv-log-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.cv-log-caption{color:var(--muted);font-size:12px;margin-right:auto}.cv-log-actions [role=status]{color:var(--muted);font-size:12px}.cv-log-actions button{padding:5px 10px;font-size:12px}.cv-log-empty,.cv-muted{color:var(--muted)}.cv-log-list{max-height:60dvh;min-height:120px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid var(--line);border-radius:16px}.cv-log-entry{--tone: var(--muted);border-bottom:1px solid var(--line);overflow-wrap:anywhere}.cv-log-entry:last-child{border-bottom:0}.cv-tone-green{--tone: #2e8a4f}.cv-tone-red{--tone: #c9443c}.cv-tone-amber{--tone: #b07600}.cv-tone-error{--tone: #7a5cc0}.cv-tone-running{--tone: var(--attention)}.cv-log-entry>summary{display:grid;grid-template-columns:112px 92px 1fr auto;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;list-style:none}.cv-log-entry>summary::-webkit-details-marker{display:none}.cv-log-entry>summary:hover,.cv-log-entry[open]>summary{background:var(--surface-2)}.cv-chip{justify-self:start;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:700;white-space:nowrap;color:var(--tone);background:color-mix(in srgb,var(--tone) 18%,transparent)}.cv-log-entry>summary strong{font-weight:800;font-variant-numeric:tabular-nums}.cv-log-trigger{color:var(--muted)}.cv-log-time{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.cv-log-body{padding:4px 16px 16px;border-left:3px solid var(--tone);margin-left:12px}.cv-log-body h4{margin:14px 0 6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.cv-log-body p{margin:6px 0}.cv-log-body small{color:var(--muted)}.cv-steps{list-style:none;margin:0;padding:0}.cv-steps li{display:grid;grid-template-columns:52px 1fr;gap:8px;padding:3px 0;line-height:1.45}.cv-steps li span{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted);padding-top:1px}.cv-visuals table{width:100%;border-collapse:collapse;margin:4px 0 8px;text-align:left}.cv-visuals th{font-size:11px;font-weight:600;color:var(--muted)}.cv-visuals th,.cv-visuals td{padding:6px;border-bottom:1px solid var(--line);vertical-align:top}.cv-visuals td small{display:block;color:var(--muted)}.cv-status{padding:2px 8px;border-radius:99px;font-size:11px;font-weight:700;background:var(--surface-2);color:var(--muted)}.cv-status-present{background:#e2f3e7;color:#2e7a49}.cv-status-missing{background:#fde7e4;color:#b23a32}.cv-status-unsure{background:#fff1d1;color:#8a5c00}.cv-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,160px));gap:10px;margin:12px 0 4px}.cv-photo-grid figure{margin:0}.cv-photo-grid figure:first-child{grid-column:span 2}.cv-photo-grid img{width:100%;aspect-ratio:1;object-fit:contain;background:#202a23;border-radius:12px}.cv-photo-grid figcaption{margin-top:4px;font-size:11px;color:var(--muted)}.cv-raw{margin-top:12px}.cv-raw summary{cursor:pointer;color:var(--muted);font-size:12px;width:fit-content}.cv-raw pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);padding:12px;border-radius:8px;font-size:11px;max-height:320px;overflow:auto}.cv-model-stats{display:flex;flex-wrap:wrap;gap:10px 24px;margin:10px 0}.cv-model-stats dt{font-size:11px;color:var(--muted)}.cv-model-stats dd{margin:2px 0 0;font-weight:600}.cv-annotated-photo{position:relative;line-height:0}.cv-photo-grid .cv-annotated-photo img{display:block;width:100%;height:auto;aspect-ratio:auto}.cv-object-box{position:absolute;box-sizing:border-box;border:2px solid var(--box-color);pointer-events:none}.cv-object-present{--box-color: #3a9d5d}.cv-object-unsure{--box-color: #e09400}.cv-object-unexpected{--box-color: #e0574f}.cv-object-box span{position:absolute;top:0;left:0;max-width:100%;background:var(--box-color);color:#fff;padding:3px 4px;font-size:10px;font-weight:700;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-box-toggle{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;color:var(--muted)}@media(max-width:1000px){.fulfillment-layout{grid-template-columns:1fr;grid-template-areas:"ticket" "camera"}}@media(max-width:680px){.app-header{padding:8px 16px;gap:10px;flex-wrap:wrap}.brand-logo{height:38px}.app-header nav{order:3;width:100%}.app-header nav a{flex:1;text-align:center}.fulfillment-page{padding:12px 12px 24px}.queue-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:12px}.order-queue{order:3;flex-basis:100%}.queue-status{margin-right:auto}.active-ticket .status{padding:18px;gap:14px}.active-ticket .status-face{width:60px;flex-basis:60px}.camera-check{padding:10px;border-radius:22px}.cv-log-entry>summary{grid-template-columns:auto 1fr}.cv-log-time{grid-column:1 / -1;text-align:left}}
