:root{--bg:#161616;--panel:#202020;--panel2:#262626;--control:#0B1822;--accent:#38B6E9;--burg:#650D12;--text:#f5f7f8;--muted:#9ca6ad;--line:#34383b;--ok:#6dd19c;--warn:#e6b85c;--bad:#e15b64;font-family:Inter,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.login{width:min(430px,100%);padding:30px;background:var(--panel);border:1px solid var(--line);border-radius:20px}.logo{width:58px;height:58px;display:grid;place-items:center;background:var(--burg);border-radius:15px;font-weight:900;margin-bottom:16px}.eyebrow{color:var(--accent);font-size:.74rem;font-weight:900;letter-spacing:.1em}.login h1{font-size:2.1rem;margin:.25rem 0}.muted{color:var(--muted)}form{display:grid;gap:15px}label{display:grid;gap:6px;font-size:.88rem;font-weight:750}input,select,textarea{width:100%;padding:12px;background:#111719;color:white;border:1px solid #3a454b;border-radius:10px;outline:none}textarea{min-height:82px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent)}button{padding:10px 13px;border-radius:9px;border:1px solid var(--line);color:white;background:#262a2c;font-weight:800;cursor:pointer}.primary{background:var(--control);border-color:#254455}.danger{background:#3a181b;border-color:#673036}.ghost{background:#242729}.app{min-height:100vh;display:grid;grid-template:64px 1fr/235px 1fr;grid-template-areas:"h h" "s c"}header{grid-area:h;display:flex;align-items:center;gap:12px;padding:0 17px;border-bottom:1px solid var(--line);background:#191919;position:sticky;top:0;z-index:20}.spacer{flex:1}.who{font-size:.8rem;color:var(--muted)}.live,.save{font-size:.68rem;font-weight:900;border:1px solid var(--line);border-radius:999px;padding:6px 9px}.live.ok{color:var(--ok)}.live.bad{color:var(--bad)}.live.connecting{color:var(--warn)}.save.saving{color:var(--warn)}.save.saved{color:var(--ok)}.save.failed{color:var(--bad)}aside{grid-area:s;border-right:1px solid var(--line);padding:14px 9px;background:#181818}nav{display:grid;gap:5px}.nav{background:transparent;border:0;text-align:left;color:#d3dadd}.nav.active{background:var(--control);border-left:3px solid var(--accent)}#content{grid-area:c;padding:27px;min-width:0}.pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px}.pagehead h2{margin:0;font-size:1.8rem}.pagehead p{margin:6px 0 0}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.card{padding:17px;background:var(--panel);border:1px solid var(--line);border-radius:13px}.label{font-size:.74rem;color:var(--muted);font-weight:850;text-transform:uppercase}.metric{font-size:2rem;font-weight:850;margin-top:6px}.section{margin-top:22px}.section h3{margin-bottom:11px}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:13px}table{width:100%;border-collapse:collapse;min-width:650px;background:var(--panel)}th,td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;font-size:.85rem}th{color:var(--muted);font-size:.72rem;text-transform:uppercase}.empty{padding:28px;text-align:center;color:var(--muted);background:var(--panel);border:1px dashed var(--line);border-radius:13px}.formcard{max-width:760px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}.hint{font-size:.78rem;color:var(--muted);margin-top:5px}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.pill{display:inline-block;padding:4px 7px;border-radius:999px;font-size:.7rem;font-weight:850;background:#293136}.pill.low{background:#4a3515}.pill.out{background:#4a2024}.loccard{display:flex;justify-content:space-between;gap:15px;align-items:center}.toast{position:fixed;right:18px;bottom:18px;z-index:100;padding:12px 15px;background:#25292b;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 40px #0008}.menu{display:none}@media(max-width:950px){.grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.app{grid-template:60px 1fr/1fr;grid-template-areas:"h" "c"}.menu{display:block;padding:7px 9px}aside{position:fixed;top:60px;bottom:0;left:0;width:245px;z-index:19;transform:translateX(-105%);transition:.2s;box-shadow:15px 0 35px #0008}aside.open{transform:none}#content{padding:18px}.who{display:none}.formgrid{grid-template-columns:1fr}.full{grid-column:auto}}@media(max-width:470px){.grid{grid-template-columns:1fr}.save{display:none}.live{font-size:0}.live::first-letter{font-size:.8rem}header strong{font-size:.82rem}}
.pulse{animation:ggpulse .45s ease}@keyframes ggpulse{0%{transform:scale(1)}50%{transform:scale(1.06)}100%{transform:scale(1)}}

.stepper{display:flex;align-items:center;gap:10px}.stepper button{width:38px;height:38px;font-size:1.2rem}.stepper strong{min-width:28px;text-align:center}
.adminrow{display:grid;grid-template-columns:minmax(180px,1fr) 190px 110px auto;align-items:center;gap:12px;margin-bottom:8px}
.toggle{display:flex;grid-auto-flow:column;align-items:center;justify-content:start}.toggle input{width:auto}.quick{text-align:left;min-height:90px}
@media(max-width:720px){.adminrow{grid-template-columns:1fr}.stepper{justify-content:flex-end}}

.auditbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.auditline{margin-bottom:8px}.auditvariance{font-size:.86rem;margin-top:5px;opacity:.9}
.badge{border:1px solid var(--line,#333);border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:700}

.subnav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.subnav button.active{border-color:#38b6e9;box-shadow:inset 0 -2px #38b6e9}
.modalback{position:fixed;inset:0;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}
.modal{background:#1c1c1c;border:1px solid #3a3a3a;border-radius:16px;padding:22px;width:min(760px,100%);max-height:90vh;overflow:auto}
.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.danger{border-color:#7b3030}.card button{cursor:pointer}
@media(max-width:720px){.subnav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.subnav button{white-space:nowrap}}

.metricclick{cursor:pointer}.metricclick:hover{border-color:#38b6e9}
.replenrow{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px}
.replenfacts{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px;font-size:.9rem}
@media(max-width:720px){.replenrow{align-items:stretch;flex-direction:column}.replenrow>button{width:100%}.replenfacts{gap:8px 14px}}

.configstatus{margin-top:10px;padding:8px 10px;border-left:2px solid #38b6e9;background:rgba(56,182,233,.06)}

/* Alpha 3.5.1 — lifecycle filters + grouped transaction detail */
.statusfilter{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.statusfilter button{padding:7px 11px}.statusfilter button.active{border-color:var(--accent);color:var(--accent)}
.retiredrow{opacity:.78;border-style:dashed}.txlist{display:grid;gap:10px}.txcard{padding:0;overflow:hidden}.txcard summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px}.txcard summary::-webkit-details-marker{display:none}.txsummary{text-align:right;display:grid;gap:4px}.txsummary span{font-size:12px;color:var(--muted)}.txbody{border-top:1px solid var(--line);padding:8px 16px 16px}.txline{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--line)}.txmeta{display:grid;gap:8px;margin-top:14px}.txmeta>div{display:flex;justify-content:space-between;gap:16px}.txmeta span{color:var(--muted);font-size:12px}.txmeta strong{text-align:right;font-size:12px;overflow-wrap:anywhere}@media(max-width:650px){.txcard summary{align-items:flex-start}.txsummary strong{font-size:12px}.txmeta>div{display:grid;gap:3px}.txmeta strong{text-align:left}}


/* Alpha 3.5.4 — explicit receive package/base-unit conversion */
.receivecalc{display:grid;gap:4px;padding:13px 14px;border:1px solid #254455;border-radius:10px;background:rgba(56,182,233,.06)}.receivecalc strong{font-size:1rem}.receivecalc span{font-size:.8rem;color:var(--muted)}

/* Alpha 3.5.7 — expandable inventory location breakdown */
.inventorylist{display:grid;gap:10px}.invcard{padding:0;overflow:hidden}.invcard summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px}.invcard summary::-webkit-details-marker{display:none}.invname{display:grid;gap:2px}.invsummary{display:flex;align-items:center;gap:12px;text-align:right}.invchev{color:var(--muted);font-size:1.1rem;transition:transform .15s}.invcard[open] .invchev{transform:rotate(180deg)}.invbody{border-top:1px solid var(--line);padding:12px 16px 16px}.invmeta{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.8rem;margin-bottom:10px}.invmeta b{color:var(--text)}.invlocations{display:grid;gap:7px}.invloc{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;background:#191d1f;border:1px solid var(--line);border-radius:9px}.invloc>div{display:grid;gap:2px}.invloc span{font-size:.68rem;color:var(--muted)}.invnone{padding:8px 0}@media(max-width:600px){.invcard summary{align-items:flex-start}.invsummary{display:grid;grid-template-columns:auto auto;gap:5px 8px}.invsummary .invchev{grid-column:2;grid-row:1/3;align-self:center}.invloc{align-items:flex-start}.invloc>b{white-space:nowrap}}


/* Alpha 3.5.8 — configurable replenishment + QR-ready location administration */
.locationconfig{display:grid;gap:12px;padding:14px;border:1px solid #34383b;border-radius:11px;background:#191d1f}.locationconfig>.check{margin-top:2px}.locationconfig label{margin:0}
@media(max-width:720px){.locationconfig{padding:12px}}


/* Alpha 3.5.9 — QR location deep links and location landing screen */
.qrlocationmeta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.qrlocationmeta>div{display:grid;gap:5px}.qractions{margin:14px 0 4px}.qractions button{min-height:42px}@media(max-width:620px){.qrlocationmeta{grid-template-columns:1fr}.qractions{display:grid}.qractions button{width:100%}}

/* Alpha 3.5.11 — permanent QR preview + dual media label printing */
.qrpreview{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:center;padding:14px;background:#fff;color:#111;border-radius:10px}.qrpreview img{width:150px;height:150px;display:block}.qrpreview>div{display:grid;gap:5px;min-width:0}.qrpreview span,.qrpreview code,.qrpreview small{overflow-wrap:anywhere}.qrpreview code{font-size:.8rem}.qrpreview small{font-size:.7rem;color:#555}.labelactions{margin-top:0}.qrpending{padding:13px;border:1px dashed var(--line);border-radius:9px;color:var(--muted)}input[readonly]{opacity:.82;cursor:not-allowed}@media(max-width:560px){.qrpreview{grid-template-columns:100px minmax(0,1fr)}.qrpreview img{width:100px;height:100px}.labelactions{display:grid}.labelactions button{width:100%}}


/* Alpha 3.5.13 — administrative location hierarchy; operational selectors remain flat */
.locationtree{display:grid;gap:8px}.locationtree-row{position:relative}.locationtree-name{display:flex;align-items:flex-start;gap:9px;padding-left:calc(var(--location-depth,0) * 24px)}.locationtree-branch{width:18px;flex:none;text-align:center;color:var(--accent);font-weight:900;line-height:1.25}.locationtree-inactive{opacity:.65}.locationtree-row[style*="--location-depth:0"] .locationtree-name strong{font-size:1rem}.locationtree-row[style*="--location-depth:1"]{margin-left:10px}.locationtree-row[style*="--location-depth:2"]{margin-left:20px}.locationtree-row[style*="--location-depth:3"]{margin-left:30px}@media(max-width:720px){.locationtree-row{margin-left:0!important}.locationtree-name{padding-left:calc(var(--location-depth,0) * 14px)}}


/* Alpha 3.5.15 — inventory search + status filters */
.inventorytools{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px 14px;align-items:center;margin:0 0 14px}.inventorysearch{position:relative}.inventorysearch>span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:1.1rem;pointer-events:none}.inventorysearch input{padding-left:38px;background:#111719}.inventoryfilters{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.inventoryfilters button{padding:9px 11px}.inventoryfilters button.active{border-color:var(--accent);color:var(--accent);background:rgba(56,182,233,.08)}#inventoryCount{grid-column:1/-1;margin:0 2px}@media(max-width:760px){.inventorytools{grid-template-columns:1fr}.inventoryfilters{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.inventoryfilters button{white-space:nowrap}#inventoryCount{grid-column:auto}}
\n\n/* Alpha 3.5.16 — searchable item selectors across operational/admin workflows */\n.selectsearch{display:grid;gap:6px}.selectsearch-input{padding:9px 11px;background:#111719;border-color:#2e3b42}.selectsearch-input::placeholder{color:#77838a}.selectsearch select{margin:0}\n

/* Alpha 3.5.18 — Admin configuration list search */
.configsearch{position:relative;margin:0 0 14px}.configsearch>span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:1.1rem;pointer-events:none}.configsearch input{width:100%;padding-left:38px;background:#111719}.configsearch input::placeholder{color:#77838a}

/* Alpha 3.5.19 — assignment management + item location visibility */
.itemlocations{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.itemlocations-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.itemlocationrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:11px 12px;margin-top:7px;background:#191d1f;border:1px solid var(--line);border-radius:9px}.itemlocationrow>div:first-child{display:grid;gap:3px}.itemlocationpar{text-align:right;color:var(--muted);font-size:.75rem}.itemlocationpar b{color:var(--text);font-size:.95rem}.compactempty{padding:14px}.assignmenthead{margin-bottom:10px}.assignmenthead h3{margin:0}.assignmentlist{display:grid;gap:8px}.assignmentrow{grid-template-columns:minmax(0,1fr) 180px auto}.assignmentbadges{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.primaryassignment{border:1px solid #2e728e;color:var(--accent);background:rgba(56,182,233,.08)}.assignmentfacts{display:grid;gap:5px;text-align:right;color:var(--muted);font-size:.78rem}.assignmentfacts b{color:var(--text)}.selectedassignments{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:7px}.selectedassignments-title{font-size:.82rem;color:var(--muted);margin-bottom:2px}.selectedassignment{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;background:#191d1f}.selectedassignment span:first-child{display:grid;gap:2px}.selectedassignment small{color:var(--muted);font-weight:500}.selectedassignment>span:last-child{font-size:.72rem;color:var(--muted);white-space:nowrap}@media(max-width:720px){.itemlocations-head{display:grid}.itemlocations-head button{width:100%}.itemlocationrow{grid-template-columns:1fr}.itemlocationpar{text-align:left}.assignmentrow{grid-template-columns:1fr}.assignmentfacts{text-align:left}.selectedassignment{align-items:flex-start}.selectedassignment>span:last-child{white-space:normal;text-align:right}}

/* Alpha 3.5.20 — bin QR controls */
.assignmentactions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.binqrtools{margin-top:12px}.binqrpanel{margin:0}.binqrpanel .qrpreview{margin-top:10px}
@media(max-width:700px){.assignmentactions{width:100%;justify-content:stretch}.assignmentactions button{flex:1}}
