:root{--primary:#1e5aa8;--primary-dark:#17477f;--primary-light:#e6eef9;--danger:#b42318;--danger-light:#fee4e2;--warn:#b54708;--warn-light:#fef0c7;--ok:#1a7f37;--bg:#eef1f4;--surface:#fff;--text:#101828;--muted:#475467;--border:#c9d0d8;--radius:12px;--shadow:0 1px 3px #1018281f;--tap:52px;--accent:var(--primary);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--text);background:var(--bg);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.35}button{font:inherit;color:inherit}code{background:var(--bg);border-radius:6px;padding:2px 6px;font-size:.9em}ul{padding-left:22px}ul.plain,ul.results{margin:0;padding:0;list-style:none}.small{font-size:.85rem}.muted{color:var(--muted)}.warn-text{color:var(--warn)}.app{grid-template-rows:auto auto auto 1fr;height:100%;display:grid}.app>main{grid-row:4}.topbar{padding:8px 14px;padding-top:max(8px, env(safe-area-inset-top));background:var(--primary);color:#fff;border-bottom:4px solid var(--accent);align-items:center;gap:10px;display:flex}.topbar .brand{white-space:nowrap;font-size:1.05rem;font-weight:800}.topbar .event{opacity:.95;white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:8px;display:flex;overflow:hidden}.company-dot{background:var(--accent);border:2px solid #fff;border-radius:50%;flex-shrink:0;width:12px;height:12px}.pill{white-space:nowrap;background:#fff3;border-radius:999px;padding:4px 10px;font-size:.8rem;font-weight:700}.pill-off{color:#000;background:#f79009}.pill-unsent{background:var(--warn);color:#fff}.pill-new{background:var(--ok);color:#fff;margin-left:6px;font-size:.75rem}.pill-inactive{background:var(--muted);color:#fff;vertical-align:middle;margin-left:6px;font-size:.72rem}.pill-applied{background:var(--ok);color:#fff;margin-left:6px}.pill-rejected{background:var(--danger);color:#fff;margin-left:6px}.tabs{background:var(--surface);border-bottom:2px solid var(--border);display:flex}.tabs button{min-height:var(--tap);color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:4px solid #0000;flex:1;font-size:1rem;font-weight:700;position:relative}.tabs button.on{color:var(--primary-dark);border-bottom-color:var(--primary)}.tab-badge{background:var(--warn);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.75rem;display:inline-flex;position:absolute;top:6px;right:10px}main{min-height:0;overflow:auto}.banner{background:var(--primary-light);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.banner-warn{background:var(--warn-light);color:var(--warn)}.banner-blind{border-radius:var(--radius);border:1px solid var(--border);margin:10px 0 6px;font-weight:600}.btn{min-height:var(--tap);border-radius:var(--radius);cursor:pointer;text-align:center;border:2px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:1rem;font-weight:700;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:not(:disabled):active{background:var(--primary-dark)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{color:var(--muted);background:0 0}.btn-light{color:var(--primary-dark);background:#fff}.btn-big{min-height:60px;font-size:1.2rem}.btn-sm{min-height:42px;padding:0 14px;font-size:.95rem}.company-bar{gap:8px;margin-bottom:12px;display:flex}.company-chip{border:2px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;flex:1;min-height:46px;font-weight:800}.company-chip.on{color:#fff}.screen{max-width:1000px;margin:0 auto;padding:12px}.screen-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.screen-header h1{margin:0;font-size:1.3rem}.screen-header h2{margin:0;font-size:1.1rem}.search-row{gap:8px;margin-bottom:8px;display:flex}.search-input{min-height:var(--tap);flex:1;font-size:1.1rem}.summary{margin:4px 0 10px}.results li+li{margin-top:8px}.result,.log-row{text-align:left;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;width:100%;min-height:var(--tap);align-items:center;gap:12px;padding:10px 14px;display:flex}.log-row{cursor:default}.log-row.status-applied{opacity:.7}.log-row.status-rejected{opacity:.6;text-decoration:line-through}.log-row.status-superseded,.row-superseded{opacity:.55}.log-row.status-superseded .result-code,.row-superseded{text-decoration:line-through}.correct-btn{min-height:34px;margin-top:4px;padding:0 8px}.result:active{background:var(--primary-light)}.result-main{flex:1;min-width:0}.result-code{font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:800}.result-code .kind{color:var(--primary-dark);margin-left:6px;font-weight:700}.result-desc{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.result-qty{text-align:right;flex-shrink:0}.result-qty .qty{font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:800}.empty{text-align:center;color:var(--muted);padding:24px}.empty .btn{margin-top:8px}.sheet-desc{margin:0 0 6px;font-size:1.05rem;font-weight:600}.stat-row{flex-wrap:wrap;gap:10px;margin:10px 0 6px;display:flex}.stat-row-3 .stat{flex:1;min-width:0}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:110px;padding:8px 12px}.stat .v{font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:800}.stat .k{color:var(--muted);font-size:.8rem}.stat-out .v{color:var(--danger)}.stat-low .v{color:var(--warn)}.stat-ok .v{color:var(--ok)}.facts{grid-template-columns:auto 1fr;gap:4px 12px;margin:10px 0;font-size:.95rem;display:grid}.facts dt{color:var(--muted);font-weight:600}.facts dd{overflow-wrap:anywhere;margin:0}.segmented{gap:8px;margin:12px 0 4px;display:flex}.segmented button{min-height:var(--tap);border-radius:var(--radius);border:2px solid var(--border);background:var(--surface);cursor:pointer;flex:1;font-size:1rem;font-weight:700}.segmented button.on{background:var(--primary);color:#fff;border-color:var(--primary)}.freshness{flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0;display:flex}.freshness .btn-sm{min-height:32px;padding:0 8px;font-size:1.1rem}.input-row{gap:8px;display:flex}.input-row input{flex:1;min-width:0}.input-row .btn{flex-shrink:0;padding:0 14px}.qty-big{text-align:center;font-variant-numeric:tabular-nums;min-height:64px;font-size:2rem;font-weight:800}.history{margin-top:16px;font-size:.9rem}.so-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:6px 0 10px;padding:6px 12px}.so-list summary{min-height:40px}.history summary{cursor:pointer;align-items:center;min-height:44px;font-weight:700;display:flex}.history li{border-bottom:1px solid var(--border);padding:6px 0}.chips,.subtabs{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.chip{border:2px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;min-height:42px;padding:0 14px;font-weight:700}.chip.on{background:var(--primary);color:#fff;border-color:var(--primary)}.mode-chips{margin-bottom:8px}.session-bar{text-align:left;border:2px solid var(--primary);border-radius:var(--radius);background:var(--primary-light);cursor:pointer;width:100%;min-height:var(--tap);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:8px 14px;display:flex}.session-detail{margin-top:8px}.zone-heading{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:10px 0 4px;font-size:.85rem}.label-sheet{color:#000;z-index:60;background:#fff;padding:12px;position:fixed;inset:0;overflow:auto}.label-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.labels{grid-template-columns:repeat(3,70mm);gap:0;display:grid}.label{box-sizing:border-box;text-align:center;page-break-inside:avoid;break-inside:avoid;border:.2mm dashed #bbb;flex-direction:column;justify-content:center;align-items:center;width:70mm;height:37mm;padding:3mm 4mm;display:flex}.label-zone{color:#444;margin-bottom:1mm;font-size:9pt}.label .barcode{width:58mm;height:16mm;display:block}.label-code{letter-spacing:.05em;margin-top:1mm;font-family:ui-monospace,Consolas,monospace;font-size:15pt;font-weight:800}.label-desc{color:#444;font-size:8pt}@media print{body *{visibility:hidden}.label-sheet,.label-sheet *{visibility:visible}.label-sheet{padding:0;position:absolute;inset:0;overflow:visible}.no-print{display:none!important}.label{border-color:#eee}@page{margin:10mm}}.row-current{border-color:var(--primary);background:var(--primary-light)}.result-pick{text-align:left;cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;padding:0}.chips-tight{gap:6px;margin:8px 0 0}.chip-sm{min-height:36px;padding:0 12px;font-size:.9rem}.scanner{border-radius:var(--radius);aspect-ratio:4/3;background:#000;position:relative;overflow:hidden}.scanner-video{object-fit:cover;width:100%;height:100%;display:block}.scanner-frame{pointer-events:none;border:3px solid #ffffffd9;border-radius:12px;position:absolute;inset:18% 10%}.modal-backdrop{z-index:50;background:#1018288c;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:16px;width:min(560px,100%);max-height:100%;overflow:auto;box-shadow:0 20px 40px #0000004d}.modal-wide{width:min(900px,100%)}.modal-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:1;justify-content:space-between;align-items:center;padding:10px 14px;display:flex;position:sticky;top:0}.modal-header h2{margin:0;font-size:1.2rem}.modal-body{padding:14px}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.modal-actions .btn-big{flex:1}@media (width<=640px){.modal-backdrop{align-items:stretch;padding:0}.modal-sheet{border-radius:0;width:100%;max-height:100%}}.toasts{z-index:100;pointer-events:none;gap:8px;width:min(520px,100% - 32px);display:grid;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.toast{border-radius:var(--radius);color:#fff;box-shadow:var(--shadow);background:#101828;padding:12px 16px;font-weight:600}.toast-warn{background:var(--warn)}.toast-error{background:var(--danger)}.toast-success{background:var(--ok)}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;background:var(--surface);width:100%}table.data th,table.data td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;vertical-align:middle;padding:8px 10px}table.data th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.78rem}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}.status-ok{color:var(--ok);font-weight:700}.status-low{color:var(--warn);font-weight:700}.status-out{color:var(--danger);font-weight:700}.row-inactive{opacity:.5}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;padding:14px}.card h2{margin:0 0 8px;font-size:1.1rem}.card p{margin:8px 0}.login{max-width:460px;padding-top:32px}.login h1{margin:0 0 12px;font-size:1.4rem}.form{gap:14px;display:grid}.field{align-content:start;gap:4px;margin-top:10px;display:grid}.field label{font-size:.95rem;font-weight:700}.field .help,.help{color:var(--muted);margin:4px 0;font-size:.85rem}input[type=text],input[type=number],input[type=search],input[type=email],input[type=password],select,textarea{font:inherit;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;min-height:50px;color:var(--text);padding:8px 12px}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:3px solid #1e5aa859}select{width:auto;min-height:42px}.check{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-weight:600;display:flex}.check input{flex-shrink:0;width:24px;height:24px}.errors{background:var(--danger-light);color:var(--danger);border-radius:var(--radius);padding:12px}.warnings{background:var(--warn-light);color:var(--warn);border-radius:var(--radius);padding:12px}.actions-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}@media (width<=640px){.topbar .brand{font-size:.95rem}body{font-size:16px}}
