:root{font-family:Inter,'Microsoft YaHei',system-ui,sans-serif;color:#182338;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.upload{border:1px solid #d9e1ed;background:white;padding:10px 14px;border-radius:9px;cursor:pointer;color:#23426e}button:hover,.upload:hover{background:#edf4ff}.primary{background:#2167df!important;border-color:#2167df!important;color:white!important}input,select,textarea{width:100%;padding:11px;border:1px solid #d9e1ed;border-radius:8px;background:white;outline:none}input:focus{border-color:#2167df}#app{display:flex;min-height:100vh}#app[hidden],section[hidden],#modal[hidden],#login[hidden],.combo[hidden],.toast[hidden]{display:none!important}aside{width:230px;background:#fff;border-right:1px solid #e9edf4;padding:24px 14px;position:relative;flex-shrink:0}aside h2{font-size:18px;margin:6px 10px}aside>p{font-size:12px;color:#8792a3;margin:4px 10px 36px}.nav{display:block;text-align:left;width:100%;border:0;margin:5px 0;padding:13px 14px}.nav.active{background:#2167df;color:white}.sideBottom{position:sticky;top:80vh;line-height:2;font-size:12px;color:#8792a3;padding:10px}.logout{margin-top:8px;width:100%}main{flex:1;min-width:0;padding:28px;max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:15px}h1{font-size:24px;margin:0 0 6px}header p{margin:0;color:#8290a4;font-size:13px}.pill{background:#e9f2ff;color:#2167df;padding:8px 12px;border-radius:30px;font-size:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:18px}.stats>div,.panel{background:white;border:1px solid #e8edf5;box-shadow:0 3px 16px #12285908;border-radius:13px;padding:20px}.stats span{display:block;color:#738398;font-size:13px}.stats strong{display:block;font-size:30px;margin-top:9px}.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.toolbar input{flex:1;min-width:200px;max-width:430px}.upload{display:inline-block;white-space:nowrap}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{background:#f5f8fc;color:#536783;font-weight:600;white-space:nowrap}td,th{padding:13px 12px;border-bottom:1px solid #edf0f5}td{max-width:360px;overflow-wrap:anywhere}.kind{border-radius:20px;background:#e9f3ff;color:#1e68b8;padding:5px 9px;white-space:nowrap}.kind.single{background:#e9f7ee;color:#21864b}.link{border:0;color:#2167df;background:none;padding:5px 8px}.danger{color:#d43d4e}.hint{font-size:12px;color:#8492a6;margin-bottom:0}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#e6f0ff,#f8fbff)}.loginCard{width:min(400px,92vw);background:white;border:1px solid #e0e8f3;box-shadow:0 12px 55px #15356219;border-radius:18px;padding:35px}.loginCard h1{color:#2167df}.loginCard p{color:#7d8ba1}.loginCard label{font-size:13px;display:block;margin-top:20px;margin-bottom:8px}.loginCard button{width:100%;margin-top:25px;background:#2167df;color:white}.loginCard small{color:#8c9aac}.error{color:#df4055!important}.modal{position:fixed;inset:0;background:#0d234872;display:grid;place-items:center;padding:18px;z-index:10}.dialog{background:white;border-radius:16px;padding:25px;width:min(750px,100%);max-height:94vh;overflow:auto}.dialoghead{display:flex;justify-content:space-between;align-items:center}.dialoghead h2{font-size:20px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}.fields label{font-size:12px;color:#52657d;display:block}.fields label input,.fields label select,.fields label textarea{margin-top:6px}.fields .combo{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:15px;border:1px dashed #90b7ea;background:#f5faff;padding:12px;border-radius:10px}.full{grid-column:span 2}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}.toast{position:fixed;bottom:20px;right:20px;padding:15px 20px;border-radius:10px;background:#203651;color:white;max-width:min(700px,95vw);white-space:pre-wrap;z-index:20}@media(max-width:800px){#app{display:block}aside{width:auto;padding:12px;position:static}aside h2{display:inline-block}aside>p,.sideBottom{display:none}.nav{width:auto;display:inline-block;font-size:12px;padding:9px;margin:3px}main{padding:12px}header{display:block}.pill{display:inline-block;margin-top:12px}.stats{grid-template-columns:repeat(3,1fr)}.stats>div{padding:12px}.stats strong{font-size:24px}.panel{padding:12px}.fields{grid-template-columns:1fr}.fields .combo,.full{grid-column:span 1}.fields .combo{grid-template-columns:1fr}}

#inboundModal[hidden],#inboundSuggestions[hidden]{display:none!important}
.inbound-search-wrap{position:relative;margin-top:6px}.inbound-search-wrap input{margin-top:0!important}.suggestion-list{position:absolute;top:100%;left:0;right:0;z-index:30;background:white;border:1px solid #cad7ea;box-shadow:0 10px 24px #142d491f;border-radius:8px;max-height:240px;overflow:auto}.suggestion{display:block;width:100%;border:0;border-bottom:1px solid #f0f2f6;border-radius:0;padding:12px;text-align:left;white-space:normal;overflow-wrap:anywhere}.suggestion:hover,.suggestion:focus{background:#eaf3ff}.suggestion-empty{padding:12px;color:#708095}

.admin-only[hidden],#imagePreview[hidden]{display:none!important}.paste-zone{border:2px dashed #a8bedb;border-radius:9px;padding:14px;text-align:center;background:#f7faff;cursor:text;margin-top:8px;min-height:85px}.paste-zone:focus{outline:2px solid #2167df}.paste-zone img{display:block;max-width:180px;max-height:155px;margin:12px auto 0;object-fit:contain}

#detailModal[hidden],#initialStockFields[hidden],#initialExpiryWrap[hidden],#stockHead[hidden]{display:none!important}
.type-buttons{display:flex;gap:7px}.type-buttons button{min-width:105px}.image-actions{display:flex;gap:8px;margin:9px 0}.initial-fields{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;border:1px solid #d9e1ed;border-radius:10px}.initial-fields small{color:#718198}.field-title{font-size:12px;color:#52657d}.details{margin-top:20px}.details>div{padding:12px 4px;display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #e9edf4}.details span{color:#738398}.details strong{font-weight:600;text-align:right}.detail-img{max-height:220px;max-width:100%;object-fit:contain;display:block;margin:auto auto 14px}@media(max-width:800px){.initial-fields{grid-column:span 1;grid-template-columns:1fr}}

/* All hidden components must remain hidden even if grid/flex rules are set. */
[hidden] { display: none !important; }
.product-batches{margin-top:22px;border-top:1px solid #e9edf4;padding-top:16px}
.product-batches h3{margin:0 0 12px;font-size:16px}
.product-batches tfoot th{font-weight:600}

/* V1.3.4: audit is the last administrator-only navigation item. */
@media (min-width:801px) {
  aside {display:flex;flex-direction:column;min-height:100vh;}
  aside .audit-nav {margin-top:auto;}
  aside .sideBottom {position:static;top:auto;}
}
@media (max-width:800px) {
  aside .audit-nav {display:block;}
  aside .audit-nav[hidden] {display:none!important;}
}

.inventory-pager{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 2px;font-size:13px}.inventory-pager button,.inventory-pager select{padding:7px 10px;border:1px solid #ced7e2;border-radius:6px;background:transparent;color:inherit}.inventory-pager button:disabled{opacity:.38}.danger-zone{margin:20px 0;padding:15px;border:1px solid #dc6464;border-radius:10px}.danger-zone h3{color:#bd3030}

/* V1.5.6: bottom actions equal for admin and staff, desktop only */
@media(min-width:801px){aside{display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;align-self:flex-start;max-height:100vh;overflow-y:auto}.sideBottom{position:static;top:auto;margin-top:auto;padding-top:18px;background:white;flex-shrink:0}}
