:root {
    --ink:#252039; --muted:#655d78; --line:#ddd7ec; --accent:#6941c6; --canvas:#f7f6fb;
    --surface:#fff; --surface-alt:#f1edfa; --lime:#d9f99d; --lime-ink:#365314;
    color-scheme:light;
}
html{background:var(--canvas);min-height:100%;min-height:100dvh}
body{background:var(--canvas);color:var(--ink);min-height:100%;min-height:100dvh}
@supports(overflow:clip){html,body{overflow-x:clip;overflow-y:visible}}
.logout-icon{display:none}
.pick-status.offline .connection-dot{background:#fbbf24}
.pick-status.has-conflicts #pending-count{color:#fb7185}
@media(max-width:640px){
    .picking-page .topbar{flex-wrap:nowrap;gap:.35rem;min-height:48px;padding:.25rem .5rem}
    .picking-page .topbar .brand{font-size:.95rem;white-space:nowrap;flex-shrink:0}
    .picking-page .topbar nav,.picking-page .topbar-user,.picking-page .theme-choice>span,.picking-page .logout-label{display:none}
    .picking-page .theme-choice{margin-left:auto;gap:0}
    .picking-page .theme-choice select{width:48px;height:40px;padding:.25rem;font-size:1.1rem}
    .picking-page .logout-icon{display:inline;font-size:1.35rem}
    .picking-page #logout-form button{width:40px;height:40px;padding:.25rem}
    .picking-page .topbar .pick-status{position:static;margin:0;padding:0;gap:.3rem;box-shadow:none;border:0;background:transparent;border-radius:0;flex-shrink:0}
    .picking-page .topbar .connection{width:16px;justify-content:center}
    .picking-page .topbar #network-state{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
    .picking-page .topbar #pending-count{font-size:0;min-width:1.1rem;text-align:center}
    .picking-page .topbar #pending-count::before{content:attr(data-count);font-size:.8rem;font-weight:750}
    .picking-page .topbar #sync-now{font-size:0;width:36px;height:40px;padding:0;border:0;background:transparent}
    .picking-page .topbar #sync-now::before{content:'↻';font-size:1.5rem}
}
.topbar{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}
.topbar a,.topbar button{color:var(--ink)}
.topbar-user{color:var(--muted)}
.topbar nav a:hover,.topbar nav a:focus{background:var(--surface-alt)}
.primary{background:#7548d5;border-color:#7548d5;color:#fff}
.subtle,.link-button,.eyebrow,.focus-label{color:var(--accent)}
button,input,select{border-color:#c9bedf;background:var(--surface);color:var(--ink)}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #a78bfa;outline-offset:2px}
.panel,.login-card,.table-wrap,.order-card,.line-card,.line-focus,.scan-panel,.pick-actions,.complete-panel,.pick-status,.pick-workbench,.user-card,.user-stats>div,.button-link,.order-overview>div,.admin-line,.admin-order-card{background:var(--surface);border-color:var(--line);color:var(--ink)}
.line-card.selected{background:#f2ebff;border-color:#8b5cf6}
.line-card.line-done{border-color:#84cc16}
.pick-workbench{border-color:#a78bfa;box-shadow:0 12px 30px #6d28d920}
.line-focus,.user-card details,.admin-line-foot,.admin-order-actions{border-color:var(--line)}
.status-active,.work-head>strong,.notice{background:var(--lime);color:var(--lime-ink)}
.status-pill{background:var(--surface-alt);color:var(--muted)}
.status-active{background:var(--lime);color:var(--lime-ink)}
.ok,.line-ratio,.focus-meta b{color:#4d7c0f}
.theme-choice{display:flex;align-items:center;gap:.4rem;font-size:.76rem;white-space:nowrap}
.theme-choice select{padding:.35rem .5rem;border-radius:9px;font-size:.8rem}
#served-lots{display:flex;gap:.35rem;flex-wrap:wrap;padding:0 1rem}
#served-lots button{font-size:.76rem;padding:.38rem .55rem;border-color:#a78bfa;background:var(--surface-alt)}
html.dark{
    --ink:#f2edff;--muted:#b8afcc;--line:#383149;--accent:#c4b5fd;--canvas:#10101b;
    --surface:#1b1928;--surface-alt:#282238;--lime:#a3e635;--lime-ink:#1a2509;
    color-scheme:dark;
}
html.dark .topbar{background:#171422;border-color:var(--line)}
html.dark .topbar a,html.dark .topbar button{color:var(--ink)}
html.dark .topbar-user{color:var(--muted)}
html.dark .topbar nav a:hover,html.dark .topbar nav a:focus{background:#332a47}
html.dark button,html.dark input,html.dark select{background:#262136;border-color:#514366;color:var(--ink)}
html.dark .primary{background:#8b5cf6;border-color:#8b5cf6;color:#100b1b}
html.dark .subtle,html.dark .link-button{background:transparent;color:var(--accent)}
html.dark .panel,html.dark .login-card,html.dark .table-wrap,html.dark .order-card,html.dark .line-card,html.dark .line-focus,html.dark .scan-panel,html.dark .pick-actions,html.dark .complete-panel,html.dark .pick-status,html.dark .pick-workbench,html.dark .user-card,html.dark .user-stats>div,html.dark .button-link,html.dark .order-overview>div,html.dark .admin-line,html.dark .admin-order-card{background:var(--surface);border-color:var(--line);color:var(--ink)}
html.dark .line-card.selected{background:#302342;border-color:#a78bfa}
html.dark .line-card.line-done{border-color:#84cc16}
html.dark .pick-workbench{border-color:#6d48a5;box-shadow:0 -10px 30px #09051280}
html.dark .pick-status{box-shadow:0 8px 24px #08061044}
html.dark .status-pill{background:#322b42;color:#d2c9e4}
html.dark .status-active,html.dark .work-head>strong,html.dark .notice{background:#34461c;color:#d9f99d}
html.dark .line-focus,html.dark .user-card details,html.dark .admin-line-foot,html.dark .admin-order-actions{border-color:var(--line)}
html.dark .line-main small,html.dark .line-count small,html.dark .order-meta,html.dark .focus-meta,html.dark .section-title span,html.dark .work-head p:last-child,html.dark .admin-order-meta{color:var(--muted)}
html.dark .ok,html.dark .line-ratio,html.dark .focus-meta b{color:#bef264}
html.dark .warn{color:#fbbf24}html.dark .bad{color:#fb7185}
html.dark .error{background:#47232d;color:#fecdd3}
html.dark .assigned-note{background:#31281b;border-color:#665333}
html.dark .assigned-note span{color:#fcd9a2}
html.dark .camera-active #pick-message:not(:empty){background:#282238}
html.dark #served-lots button{background:#352949;border-color:#8062b4}
@media(max-width:640px){.theme-choice{margin-left:auto}.theme-choice select{max-width:92px}}
.destination-add,.destination-tools,.destination-summary{display:flex;gap:.5rem;flex-wrap:wrap;align-items:end;margin:.7rem 0}
.destination-tools label{min-width:160px;flex:1}
.destination-tools select{width:100%}
.destination-add button,.destination-tools button{padding:.55rem .7rem}
.destination-summary{margin:.8rem 0}
.destination-chip{display:inline-flex;align-items:center;padding:.3rem .55rem;border-radius:999px;background:var(--surface-alt);color:var(--accent);border:1px solid var(--line);font-size:.76rem;font-weight:750}
.close-lines{display:grid;gap:.5rem;max-height:55vh;overflow:auto;margin:.8rem 0}
.close-line{border:1px solid var(--line);border-radius:12px;padding:.7rem;background:var(--surface);min-width:0}
.close-line-head,.close-line-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.close-line-head label{display:flex;align-items:center;gap:.45rem;min-width:0;flex:1}
.close-line-head strong{font-size:.86rem;overflow-wrap:anywhere}
.close-line-head span{white-space:nowrap;font-size:.78rem;color:var(--muted)}
.close-line-meta{justify-content:flex-start;margin:.35rem 0}
.close-line>label{margin-top:.5rem}
.close-line>label input{width:100%}
.variance{font-size:.74rem;font-weight:800}
.variance.positive{color:#65a30d}.variance.negative{color:#d97706}
.line-destination{color:var(--accent)!important;font-weight:800}
.line-over{border-color:#eab308!important}
.pick-actions .quantity-row>label{width:100%}
.pick-actions .action-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.close-line-meta{flex-wrap:wrap}
.close-line-meta button,.allocation-editor>button{padding:.38rem .65rem;font-size:.78rem}
.allocation-editor{display:grid;gap:.45rem;padding:.55rem 0;border-top:1px solid var(--line)}
.allocation-row{display:grid;grid-template-columns:minmax(0,1fr) 5.5rem 2.5rem;gap:.4rem;align-items:center}
.allocation-row select,.allocation-row input{width:100%;min-width:0}
.allocation-row button{height:100%;padding:.3rem;font-size:1.2rem}
.allocation-editor>button{justify-self:start}
html.dark .destination-chip{background:#352949;border-color:#6d48a5;color:#ddd1ff}
html.dark .variance.positive{color:#bef264}html.dark .variance.negative{color:#fbbf24}
@media(max-width:640px){.destination-tools{display:grid;grid-template-columns:1fr 1fr}.destination-tools label{grid-column:1/-1}.destination-tools button{min-width:0}.close-lines{max-height:48vh}}
@media(max-width:640px){
    #order-work{padding-bottom:env(safe-area-inset-bottom)}
    .pick-workbench{position:sticky;bottom:0;z-index:4;margin:0 -.65rem;border-radius:18px 18px 0 0;border-bottom:0;background:var(--surface)}
    .editing-input .pick-workbench{position:relative;inset:auto;margin:.6rem 0;border-radius:18px;border-bottom:1px solid var(--line);overflow:visible}
    .editing-input input,.editing-input select,.editing-input textarea{font-size:16px;scroll-margin-block:3rem}
    .editing-input .pick-status{position:relative}
    .editing-input.camera-active #camera-frame{display:none}
    .editing-input.camera-active .work-head{position:relative;inset:auto;background:var(--surface);color:var(--ink)}
    .editing-input.camera-active .pick-workbench{position:relative;inset:auto;margin:.6rem 0}
    .editing-input.camera-active .scan-controls #stop-camera,.editing-input.camera-active .scan-controls #torch:not([hidden]),.editing-input.camera-active #pick-message:not(:empty){position:static}
    .editing-input.camera-active .scan-search{visibility:visible}
    .camera-active .pick-workbench{position:fixed;left:0;right:0;bottom:0;z-index:11;margin:0}
    .camera-active #camera-frame{position:fixed;inset:0;width:100vw;height:100dvh;margin:0;padding:0;border:0;border-radius:0;overflow:hidden}
    .camera-active #camera{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;max-height:none;margin:0;border-radius:0;object-fit:cover}
    .camera-active #camera-frame .camera-target{top:30%;bottom:auto;left:10%;right:10%;height:min(30dvh,240px)}
}
