:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e5e7eb;background:#0b1020;line-height:1.45;font-synthesis:none;--bg:#0b1020;--panel:#111827;--panel2:#172033;--border:#273449;--muted:#94a3b8;--text:#e5e7eb;--primary:#4f46e5;--primary2:#6366f1;--danger:#ef4444;--success:#22c55e;--shadow:0 18px 50px rgba(0,0,0,.24)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#18243f 0,#0b1020 44%,#070b15 100%)}button,input{font:inherit}button{cursor:pointer;border:0}.hidden{display:none!important}.app-shell{min-height:100vh}.view{min-height:100vh}.centered-view{display:grid;place-items:center;padding:24px}.panel{background:rgba(17,24,39,.92);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);backdrop-filter:blur(8px)}.login-panel{width:min(430px,100%);padding:32px}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--primary2),#8b5cf6);font-weight:800;letter-spacing:.05em;margin-bottom:18px}.login-panel h1{margin:0 0 8px;font-size:32px}.muted{color:var(--muted);margin:.35rem 0 0}.stack{display:grid;gap:14px;margin-top:24px}.stack label,label{display:grid;gap:7px;font-weight:650;font-size:14px}input{width:100%;border:1px solid var(--border);background:#0f172a;color:var(--text);border-radius:12px;padding:12px 13px;outline:none}input:focus{border-color:#6975ff;box-shadow:0 0 0 3px rgba(99,102,241,.16)}.error{min-height:20px;color:#fca5a5;margin:0;font-size:14px}.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:16px max(18px,calc((100vw - 1160px)/2));background:rgba(11,16,32,.78);border-bottom:1px solid rgba(39,52,73,.8);backdrop-filter:blur(14px)}.topbar>.ghost:last-child{justify-self:end}.topbar-main{text-align:center}.topbar h1{margin:0;font-size:22px}.eyebrow{font-size:11px;letter-spacing:.14em;color:#7c8aa5;font-weight:800}.content{width:min(1160px,100%);margin:0 auto;padding:26px 18px 44px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.section-heading.compact{margin-bottom:14px}.section-heading h2,.panel h2{margin:0;font-size:22px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.room-card,.box-card{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:0 12px 28px rgba(0,0,0,.15)}.room-card{cursor:pointer;transition:transform .15s ease,border-color .15s ease}.room-card:hover,.box-card.clickable:hover{transform:translateY(-2px);border-color:#3f4d69}.card-title{font-weight:760;font-size:18px}.card-sub{color:var(--muted);font-size:13px;margin-top:6px}.card-actions,.button-row{display:flex;gap:8px;flex-wrap:wrap}.card-actions{margin-top:14px}.primary,.secondary,.ghost,.danger{min-height:42px;border-radius:11px;padding:10px 14px;font-weight:750}.primary{background:var(--primary);color:white}.primary:hover{background:var(--primary2)}.secondary{background:#202b41;color:#e5e7eb;border:1px solid #34425a}.ghost{background:transparent;color:#cbd5e1;border:1px solid var(--border)}.ghost:hover,.secondary:hover{background:#172033}.danger{background:rgba(239,68,68,.12);color:#fca5a5;border:1px solid rgba(239,68,68,.34)}.full{width:100%}.scan-hero{padding:22px}.scan-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.status-pill{display:inline-flex;align-items:center;white-space:nowrap;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:750;background:#16213a;color:#a5b4fc;border:1px solid #32415f}.status-pill.ok{color:#86efac;background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.22)}.status-pill.warn{color:#fcd34d;background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.22)}.scan-row{display:grid;grid-template-columns:1fr auto auto;gap:10px}.helper{min-height:20px;margin:10px 0 0;color:var(--muted);font-size:13px}.toolbar-row{display:flex;gap:12px;align-items:center;margin:22px 0 12px}.search{flex:1}.notice{padding:12px 14px;border-radius:12px;background:#0f172a;border:1px dashed var(--border);color:#a8b2c4;font-size:13px;margin-bottom:14px}.box-list{display:grid;gap:12px}.box-card{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.box-card.clickable{cursor:pointer}.box-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.tag{font-size:12px;padding:5px 8px;border-radius:999px;background:#0f172a;color:#aeb9cb;border:1px solid var(--border)}.box-actions{display:flex;gap:7px;align-items:center}.empty-state{padding:40px 20px;text-align:center;display:grid;gap:5px;background:rgba(17,24,39,.55);border:1px dashed var(--border);border-radius:18px;color:var(--muted)}.empty-state strong{color:#dbe4f0}.empty-state.small{padding:24px;margin-top:14px}.barcode-panel{padding:22px;display:grid;grid-template-columns:1fr minmax(260px,420px);gap:18px;align-items:center}.barcode-wrap{display:flex;justify-content:center;align-items:center;min-height:140px;background:#fff;border-radius:14px;padding:14px;overflow:auto}.barcode-wrap svg{max-width:100%;height:auto}.item-form{display:grid;grid-template-columns:minmax(180px,2fr) 120px minmax(180px,2fr);gap:12px;align-items:end;padding:16px;background:#0f172a;border:1px solid var(--border);border-radius:15px}.item-form .button-row{grid-column:1/-1}.items-list{display:grid;gap:10px;margin-top:14px}.item-card{display:grid;grid-template-columns:1fr auto;gap:15px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#101827}.item-name{font-weight:750}.item-notes{color:var(--muted);font-size:13px;margin-top:4px}.item-qty{font-variant-numeric:tabular-nums;color:#c7d2fe;font-weight:800}.item-actions{display:flex;gap:6px;align-items:center}.toast{position:fixed;right:18px;bottom:18px;z-index:30;max-width:min(420px,calc(100vw - 36px));padding:12px 14px;border-radius:12px;background:#111827;border:1px solid var(--border);box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.modal-backdrop{position:fixed;inset:0;background:rgba(3,7,18,.7);display:grid;place-items:center;padding:18px;z-index:40}.modal{width:min(460px,100%);background:#111827;border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:var(--shadow)}.modal h3{margin:0 0 8px}.modal p{color:var(--muted);font-size:14px}.modal .modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.mobile-only{display:none}@media (max-width:760px){.topbar{grid-template-columns:auto 1fr auto}.topbar-main{text-align:left}.content{padding:20px 14px 34px}.section-heading{align-items:flex-start;flex-direction:column}.scan-title-row{flex-direction:column}.scan-row{grid-template-columns:1fr 1fr}.scan-row input{grid-column:1/-1}.scan-row .primary,.scan-row .secondary{width:100%}.toolbar-row{align-items:stretch;flex-direction:column}.mobile-only{display:inline-flex;justify-content:center}.barcode-panel{grid-template-columns:1fr}.item-form{grid-template-columns:1fr}.item-form .button-row{grid-column:auto}.box-card{grid-template-columns:1fr}.box-actions{justify-content:flex-start}.login-panel{padding:24px}.topbar h1{font-size:19px}}@media (min-width:761px){#desktop-box-note{display:block}}@media (max-width:760px){#desktop-box-note{display:none}}button:disabled{opacity:.5;cursor:not-allowed}
