:root{--ink:#273a4d;--navy:#193852;--nav2:#254865;--blue:#164b8c;--muted:#748599;--paper:#fff;--bg:#f6f8fa;--line:#e1e7ed;--red:#b24d44;--green:#397958;--gold:#a06c29;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--blue)}.splash{height:90vh;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:26px;font-family:serif;letter-spacing:3px;color:var(--navy)}.splash small{font:12px sans-serif;letter-spacing:0;color:var(--muted);margin-top:15px}.layout{min-height:100vh;display:flex}.sidebar{width:212px;flex-shrink:0;background:var(--navy);color:#dfebf5;padding:25px 13px;display:flex;flex-direction:column}.brand{padding:8px 14px 28px}.brand strong{font-size:25px;font-family:serif;letter-spacing:5px}.brand small{display:block;font-size:10px;letter-spacing:1.3px;color:#a9bed0;margin-top:5px}.navtitle{font-size:11px;color:#92abc2;margin:0 13px 7px}.navbutton{display:block;width:100%;text-align:left;border:0;background:transparent;color:#d7e4ef;padding:13px;border-radius:9px;margin:2px 0}.navbutton.active{background:#3a5975;font-weight:700;color:white}.navbutton:hover{background:var(--nav2)}.asidefooter{margin-top:auto;color:#a4b7c8;font-size:11px;padding:14px;line-height:1.8;border-top:1px solid #456179}.workspace{flex:1;min-width:0}.topbar{height:auto;min-height:66px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 27px;background:#fff;border-bottom:1px solid var(--line)}.topbar strong{font-size:15px}.topright{display:flex;align-items:center;gap:14px}.role{font-size:12px;color:var(--muted)}.content{padding:26px 27px;max-width:1450px;margin:auto}.heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}.heading h1{font-size:24px;font-weight:740;margin:0 0 7px}.muted{color:var(--muted)}.small{font-size:12px}.tiny{font-size:11px}.buttons{display:flex;flex-wrap:wrap;gap:8px}.btn{border:1px solid #d5dfe8;background:white;color:#38516a;border-radius:9px;font-size:13px;font-weight:650;padding:10px 14px}.btn.primary{background:var(--blue);border-color:var(--blue);color:white}.btn.small{padding:6px 9px;font-size:12px}.btn.red{border-color:#edc8c3;color:var(--red)}.btn:hover{filter:brightness(.97)}.chip{background:#f0f4f8;border-radius:12px;font-size:11px;padding:5px 9px;color:#536e8a}.chip.demo{background:#fff1dd;color:#9f6928}.panel{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:19px;margin-bottom:16px;min-width:0}.panelhead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:13px}.panel h2{font-size:16px;margin:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 18px}.stat{background:var(--paper);border:1px solid var(--line);padding:18px;border-radius:12px;min-width:0}.stat label{display:block;font-size:12px;color:var(--muted)}.stat b{display:block;font-size:27px;letter-spacing:-1px;margin:9px 0 6px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat small{font-size:11px;color:#8d9bad}.grid2{display:grid;grid-template-columns:1.15fr 1fr;gap:15px}.roomgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.roomcard{padding:15px;border-radius:10px;border:1px solid var(--line)}.roomcard strong{font-size:17px}.roomcard p{margin:8px 0 0;color:var(--muted);font-size:12px}.roomcard-head{display:flex;justify-content:space-between;align-items:center;gap:6px}.pill{font-size:11px;border-radius:7px;background:#f0f4f8;color:#506982;padding:5px 8px;white-space:nowrap}.pill.green{background:#eaf5ee;color:#367652}.pill.orange{background:#fff2df;color:#9f6a2d}.pill.purple{background:#f1edfa;color:#7e63a6}.row{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:12px 0;border-bottom:1px solid #eef1f4}.row:last-child{border-bottom:0}.row small{color:var(--muted);font-size:12px;display:block;margin-top:3px}.scroll{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left;white-space:nowrap}th,td{padding:13px 10px;border-bottom:1px solid #edf1f4}th{color:#8290a2;font-weight:600;background:#f9fafc}tbody tr:last-child td{border-bottom:0}.hint{background:#f1f5f9;color:#516d87;padding:14px;border-radius:9px;font-size:12px;line-height:1.75;margin-top:10px}.alert{padding:13px 15px;border-radius:9px;background:#eaf6ef;color:#347651;margin-bottom:14px}.alert.error{background:#fff0ea;color:#af5345}.section-filters{display:flex;gap:7px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.section-filters .btn.on{background:#eaf2fa;border-color:#a8c2db;color:#164b8c}.empty{text-align:center;color:#8f9ba9;padding:35px 8px}.quickgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.quick{border:1px solid var(--line);background:white;border-radius:12px;text-align:left;padding:18px;min-height:103px}.quick .symbol{font-size:23px;color:#55789f}.quick b{display:block;margin-top:13px}.modalback{position:fixed;inset:0;z-index:1000;background:#14283ca6;display:flex;justify-content:center;align-items:center;padding:15px}.modal{width:min(560px,100%);max-height:90vh;overflow:auto;background:white;border-radius:16px;padding:24px;box-shadow:0 17px 70px #00102035}.modalhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modalhead h2{font-size:19px;margin:0}.close{border:0;background:#f0f3f6;border-radius:50%;height:32px;width:32px;font-size:20px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label{color:#536578;font-size:12px;font-weight:650}.field input,.field select{width:100%;background:white;border:1px solid #d2dde6;border-radius:8px;padding:11px;color:var(--ink);min-width:0;font-size:13px}.field input:focus,.field select:focus{outline:2px solid #b7cfe5;outline-offset:1px}.field.wide{grid-column:1/-1}.modalfoot{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:radial-gradient(circle at 20% 10%,#e1eaf0,transparent 40%),#f6f7f8}.login-card{max-width:420px;width:100%;background:white;padding:40px;border-radius:17px;border:1px solid #e2e6ed;box-shadow:0 12px 46px #1838500d}.login-brand{font-family:serif;font-size:36px;letter-spacing:7px;color:var(--navy)}.login-card h1{font-size:20px;margin:25px 0 9px}.login-card p{color:var(--muted);font-size:12px;line-height:1.7}.login-card .field{margin-top:16px}.mobilebar{display:none}.spin{opacity:.6}.datebox{width:170px;min-width:0}.rowactions{display:flex;gap:5px}.login-card .btn{width:100%;margin-top:19px}.pair{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.thin{height:1px;background:var(--line);margin:13px 0}
@media(max-width:980px){.sidebar{width:184px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2{grid-template-columns:1fr}.roomgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.layout{display:block}.sidebar{display:none}.workspace{min-height:100vh;padding-bottom:70px}.topbar{padding:14px 15px}.topright{gap:7px}.content{padding:18px 13px}.heading{flex-direction:column;gap:12px}.heading h1{font-size:20px}.stats{gap:9px}.stat{padding:13px}.stat b{font-size:22px}.roomgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.roomcard{padding:12px}.roomcard strong{font-size:15px}.roomcard .pill{font-size:10px}.quickgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:13px}.mobilebar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:white;border-top:1px solid #dfe5ea;justify-content:space-around;padding:7px 2px max(7px,env(safe-area-inset-bottom));box-shadow:0 -5px 16px #2238500c;overflow-x:auto}.mobilebar button{border:0;background:transparent;color:#78899a;flex:1;min-width:47px;text-align:center;padding:5px 2px;font-size:10px}.mobilebar button.on{color:var(--blue);font-weight:750}.mobilebar button span{display:block;font-size:17px;margin-bottom:4px}.formgrid{grid-template-columns:1fr 1fr;gap:10px}.modal{padding:17px}.datebox{width:160px}.smallhide{display:none}}
/* V1.6 readable stock metrics and SKU photo */
.product-thumb,.product-thumb-placeholder{height:52px;width:52px;object-fit:cover;border-radius:9px;border:1px solid #e2e7ed;display:inline-flex;align-items:center;justify-content:center;background:#f2f4f6;color:#748599;font-size:11px}
.stock-current{background:#f0f7f2;color:#21613c;border-left:3px solid #78b58c;min-width:110px}.stock-current b{font-size:20px;font-variant-numeric:tabular-nums}
.stock-out{background:#f1f4f7;color:#52697e;min-width:110px}.stock-out b{font-size:16px;font-variant-numeric:tabular-nums}
.movement-in{color:#25734c;font-weight:700}.movement-out{color:#a15b45;font-weight:700}
.sku-preview{display:flex;gap:12px;align-items:center;padding:12px;background:#f3f6f8;border-radius:10px}
[hidden]{display:none!important}
.field input[type=file]{border:1px dashed #adbfd0;background:#fafcfe}
@media(max-width:720px){.product-thumb,.product-thumb-placeholder{height:46px;width:46px}.stock-current{min-width:98px}.stock-out{min-width:98px}}
