:root{--bg:#070a0f;--p:#111720;--p2:#171e29;--line:#283140;--txt:#f5f7fb;--mut:#8c97a8;--pink:#e51b72;--green:#42d392}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 90% 0,#351023 0,transparent 28%),var(--bg);color:var(--txt);font:14px Inter,system-ui;display:grid;grid-template-columns:210px 1fr;min-height:100vh}aside{border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;gap:8px}aside h2{letter-spacing:3px;color:white;margin:0 8px 30px}aside h2:first-letter{color:var(--pink)}aside a{color:var(--mut);text-decoration:none;padding:12px;border-radius:11px;font-weight:700}aside a.on,aside a:hover{background:var(--p2);color:white}aside small{margin-top:auto;color:var(--green)}main{padding:34px 38px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}header b,.panel>b{font-size:11px;letter-spacing:2px;color:var(--pink)}h1{margin:5px 0;font-size:32px}button{border:0;background:var(--pink);color:white;border-radius:10px;padding:11px 15px;font-weight:800;margin-left:8px;cursor:pointer}#clock{color:var(--mut);margin-right:12px}.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.kpis article,.panel{background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--line);border-radius:17px;padding:18px;box-shadow:0 18px 50px #0006}.kpis article{color:var(--mut)}.kpis strong{display:block;color:white;font-size:25px;margin-top:8px}.kpis small{display:block;margin-top:5px}.grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px;margin-top:14px}.panel{min-height:390px}.panel canvas{max-height:330px;margin-top:18px}.head{display:flex;justify-content:space-between}.head small{color:var(--mut)}.sale{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--line);padding:15px 0}.sale small{color:var(--mut);display:block;margin-top:4px}.sale strong{font-size:18px}.sale i{display:block;color:var(--green);font-style:normal;text-align:right;margin-top:4px}footer{display:flex;justify-content:space-between;color:var(--mut);font-size:12px;padding:18px 3px}.drop{min-height:430px;border:1px dashed #445066;border-radius:16px;display:grid;place-items:center;align-content:center;text-align:center;background:#0b1017}.drop input{display:none}.drop em{font-size:48px;color:var(--pink);font-style:normal}.drop p{color:var(--mut)}#preview{margin-top:18px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.cards div{background:#0b1017;border:1px solid var(--line);padding:15px;border-radius:12px}.cards small{display:block;color:var(--mut)}.cards strong{display:block;margin-top:5px}#toast{position:fixed;right:30px;bottom:30px;background:#111923;border:1px solid #42d39277;padding:16px 20px;border-radius:16px;display:flex;gap:12px;transform:translateY(150%);opacity:0;transition:.3s}#toast.show{transform:none;opacity:1}#toast span>*{display:block}#toast span b{font-size:10px;color:var(--green)}#toast span i{color:var(--mut)}body.tv{grid-template-columns:1fr}body.tv aside{display:none}body.tv .kpis strong{font-size:32px}@media(max-width:1100px){.kpis{grid-template-columns:repeat(3,1fr)}.grid{grid-template-columns:1fr}}
/* v0.2 secure login */
.login-page{min-height:100vh;margin:0;background:radial-gradient(circle at 85% 10%,rgba(231,20,111,.16),transparent 34%),#070b11;color:#f7f8fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:grid;place-items:center}.login-shell{width:min(92vw,460px)}.login-card{background:linear-gradient(180deg,rgba(23,31,43,.98),rgba(14,20,29,.98));border:1px solid #293547;border-radius:24px;padding:38px;box-shadow:0 28px 80px rgba(0,0,0,.42)}.login-card .eyebrow{color:#ff1978;font-weight:800;letter-spacing:.18em;font-size:12px}.login-card h1{font-size:38px;margin:14px 0 8px}.login-copy{color:#9ba8bb;line-height:1.55;margin:0 0 28px}.login-form{display:grid;gap:10px}.login-form label{font-size:13px;color:#b7c2d2;font-weight:700}.login-form input{width:100%;box-sizing:border-box;background:#0b1119;border:1px solid #344154;border-radius:12px;padding:15px 16px;color:white;font-size:17px;outline:none}.login-form input:focus{border-color:#ff1978;box-shadow:0 0 0 3px rgba(255,25,120,.13)}.login-form button{margin-top:8px;border:0;border-radius:12px;padding:15px 18px;background:#e7146f;color:white;font-size:16px;font-weight:800;cursor:pointer}.login-form button:hover{filter:brightness(1.08)}.login-error{background:rgba(220,38,38,.12);border:1px solid rgba(248,113,113,.35);color:#fecaca;padding:10px 12px;border-radius:10px;font-size:13px}.login-foot{margin-top:24px;color:#7f8ca0;font-size:12px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#35d07f;margin:0 3px 0 7px}
.logout-float{position:fixed;right:18px;bottom:18px;z-index:50}.logout-float button{border:1px solid #344154;background:#111925;color:#aeb9c9;border-radius:10px;padding:9px 13px;cursor:pointer}.logout-float button:hover{color:white;border-color:#e7146f}

/* v0.3 tables */
table{width:100%;border-collapse:collapse;margin-top:10px}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}th{color:var(--mut);font-size:11px;letter-spacing:1px}td small{display:block;color:var(--mut);margin-top:4px}

/* v0.3.1 inventory spacing */
.inventory-kpis {
  margin-bottom: 20px;
}

/* v0.3.1 inventory KPI/table spacing - forced fix */
.inventory-kpis {
  margin-bottom: 24px !important;
}

.inventory-kpis + .table-panel {
  margin-top: 0 !important;
}

/* Inventory layout */
.inventory-kpis {
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 24px !important;
}

.inventory-table-panel {
  margin-top: 0;
}
