:root{
 --maroon:#650b12;--maroon2:#8b1620;--gold:#e7b96e;--cream:#fff7ea;
 --bg:#f6f2ee;--ink:#251b1b;--muted:#756b68;--line:#e9ded4;
 --green:#16764f;--red:#b62f36;--amber:#9a6511;--blue:#416bb0
}
*{box-sizing:border-box}
body{
 margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
 color:var(--ink);
 background:
 radial-gradient(circle at 0% 0%,rgba(231,185,110,.14),transparent 24%),
 radial-gradient(circle at 100% 100%,rgba(101,11,18,.06),transparent 25%),
 var(--bg)
}
button,input,select,textarea{font:inherit}button{cursor:pointer}
.app{display:flex;min-height:100vh}
.sidebar{
 width:248px;position:fixed;inset:0 auto 0 0;background:linear-gradient(180deg,#650b12,#3e070b);
 color:#fff;padding:18px;z-index:10;box-shadow:12px 0 32px rgba(52,8,10,.14)
}
.brand{display:flex;align-items:center;gap:12px;padding:6px 5px 20px;border-bottom:1px solid rgba(255,255,255,.12)}
.brand img{width:60px;height:60px;object-fit:cover;border-radius:17px;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.22)}
.brand strong{display:block;font-size:18px;letter-spacing:.4px}.brand small{color:#e9cbc6}
.nav{margin-top:18px}.nav button{
 width:100%;border:0;border-radius:11px;background:transparent;color:#f8e9e7;
 padding:12px;text-align:left;margin:4px 0;transition:.18s
}
.nav button:hover{background:rgba(255,255,255,.08);transform:translateX(3px)}
.nav button.active{background:rgba(231,185,110,.16);box-shadow:inset 3px 0 0 var(--gold)}
.nav span{display:inline-block;width:29px}
.main{margin-left:248px;width:calc(100% - 248px);padding:24px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}
.topbar h1{margin:0;font-size:28px;letter-spacing:-.5px}.topbar p{margin:5px 0 0;color:var(--muted)}
.page{display:none}.page.active{display:block}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.card{
 background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px;
 box-shadow:0 7px 22px rgba(50,20,20,.05);animation:rise .4s ease both;transition:.2s
}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(50,20,20,.09)}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.stat{display:flex;justify-content:space-between;align-items:center}.stat .num{font-size:25px;font-weight:900}
.stat small{display:block;color:var(--muted);margin-top:4px}
.icon{width:44px;height:44px;border-radius:13px;background:var(--cream);display:grid;place-items:center;color:var(--maroon);font-size:20px}
.hero{
 position:relative;overflow:hidden;background:linear-gradient(135deg,var(--maroon),#7d111b 65%,#98463b);
 color:#fff;border:0;min-height:168px;display:flex;align-items:center
}
.hero img{position:absolute;right:27px;top:22px;width:120px;height:120px;object-fit:cover;border-radius:28px;transform:rotate(2deg);box-shadow:0 12px 28px rgba(0,0,0,.22)}
.hero:before,.hero:after{content:"";position:absolute;border:1px solid rgba(231,185,110,.15);border-radius:50%;right:-75px;top:-95px;width:270px;height:270px}
.hero:after{right:-115px;top:-125px;width:350px;height:350px}
.hero-copy{position:relative;z-index:1;max-width:760px;padding-right:165px}.kicker{font-size:11px;letter-spacing:1.6px;font-weight:900;color:#f1d4a4}
.hero h2{margin:7px 0 5px;font-size:24px}.hero p{margin:0;color:#f8e7e1;line-height:1.5}
.grid2{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-top:16px}
.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.section-title h2{margin:0;font-size:18px}
.insight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.insight{padding:13px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#fff,#fffaf4)}
.insight b{display:block;font-size:18px;margin-top:4px}.insight span{font-size:12px;color:var(--muted)}
.progress{height:8px;border-radius:99px;background:#efe5dc;overflow:hidden;margin-top:9px}
.progress span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--maroon),var(--gold));transition:width .5s}
 .toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.toolbar input{
 flex:1;min-width:230px;padding:11px;border:1px solid #ddd0c7;border-radius:10px;background:#fff;outline:none
}
.toolbar input:focus,input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(231,185,110,.18)}
.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:800;transition:.15s}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(101,11,18,.12)}
.primary{color:#fff;background:linear-gradient(135deg,var(--maroon),var(--maroon2))}
.secondary{color:var(--maroon);background:#f2e8df}.danger{color:#a32929;background:#fde8e8}.success{color:#136d4a;background:#e5f5ed}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}
th,td{padding:11px 9px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}td{font-size:14px}tbody tr:hover td{background:#fffaf4}
.badge{display:inline-block;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900}
.good{background:#e5f5ed;color:#146f4b}.low{background:#fff0d7;color:var(--amber)}.out{background:#fde7e7;color:var(--red)}.info{background:#e7effb;color:#315995}
.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.field label{display:block;font-size:12px;font-weight:800;color:#625957;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid #ddd0c7;border-radius:9px;background:#fff;outline:none}.field textarea{resize:vertical;line-height:1.45}
.scan-input{display:flex;gap:8px;align-items:stretch}.scan-input input{min-width:0}.scan-input .btn{white-space:nowrap;padding-inline:12px}
.scanner-box{width:min(520px,100%)}#barcodeReader{width:100%;min-height:260px;border:1px dashed #d7c8bd;border-radius:14px;overflow:hidden;background:#171212;display:grid;place-items:center;color:#fff}
body.auth-locked .app{display:none}
.login-screen{position:fixed;inset:0;z-index:100;background:linear-gradient(135deg,#3e070b,#650b12 55%,#8b1620);display:none;align-items:center;justify-content:center;padding:20px}
body.auth-locked .login-screen{display:flex}.login-card{width:min(470px,100%);background:#fff;border-radius:22px;padding:26px;box-shadow:0 26px 70px rgba(0,0,0,.32)}
.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:20px}.login-brand img{width:70px;height:70px;object-fit:cover;border-radius:18px;box-shadow:0 10px 24px rgba(60,8,11,.16)}
.login-brand h2{margin:0;color:var(--maroon)}.login-brand p{margin:4px 0 0;color:var(--muted);font-size:13px}.login-card .field{margin-top:12px}
.login-card input{width:100%;padding:12px;border:1px solid #ddd0c7;border-radius:10px;outline:none}.login-card .login-submit{width:100%;margin-top:16px;padding:12px}
.login-error{min-height:20px;color:var(--red);font-size:13px;font-weight:700;margin-top:10px}.login-defaults{margin-top:16px;padding:12px;border-radius:12px;background:#fff7ea;font-size:12px;line-height:1.55;color:#655957}
.auth-step[hidden]{display:none!important}.role-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.role-choice button{border:1px solid var(--line);border-radius:16px;background:#fffaf4;padding:20px 14px;text-align:center;font-weight:900;color:var(--maroon);transition:.18s}.role-choice button:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 10px 24px rgba(101,11,18,.10)}.role-choice .role-icon{display:block;font-size:34px;margin-bottom:8px}.login-back{border:0;background:transparent;color:var(--maroon);font-weight:900;padding:0;margin-bottom:12px}.security-note{font-size:11px;color:var(--muted);line-height:1.45;margin-top:14px}
.user-chip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.role-badge{background:#fff2dc;color:var(--maroon);border:1px solid #ead2aa;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}
.access-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.access-account{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fffaf4}.access-account h3{margin:0 0 10px;font-size:15px}.employee-form{display:grid;grid-template-columns:1.2fr 1fr 1.2fr 1.2fr auto;gap:10px;align-items:end}.employee-actions{display:flex;gap:6px;flex-wrap:wrap}
body[data-role="employee"] .admin-only,body[data-role="employee"] .admin-sensitive,body[data-role="employee"] .admin-nav{display:none!important}
@media(max-width:900px){.employee-form{grid-template-columns:1fr 1fr}.employee-form .employee-create{grid-column:1/-1}}
@media(max-width:650px){.access-grid,.role-choice,.employee-form{grid-template-columns:1fr}.user-chip{justify-content:flex-start}}
#barcodeReader video{width:100%!important;height:auto!important;max-height:420px;object-fit:cover}.scanner-help{line-height:1.45;margin-top:10px}
.full{grid-column:1/-1}.muted,.mini-note{color:var(--muted);font-size:12px}.right{text-align:right}
.modal{position:fixed;inset:0;background:rgba(25,7,9,.55);display:none;align-items:center;justify-content:center;padding:18px;z-index:30}
.modal.show{display:flex}.modalbox{width:min(760px,100%);background:#fff;border-radius:18px;padding:20px;max-height:92vh;overflow:auto}
.modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modalhead h3{margin:0}.x{width:34px;height:34px;border:0;border-radius:50%;background:#f1e9e2}
.billgrid{display:grid;grid-template-columns:1fr 390px;gap:16px}.billrow{
 display:grid;grid-template-columns:1fr 70px 95px 32px;gap:7px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)
}
.billrow small{display:block;color:var(--muted)}.billrow input{padding:7px;width:100%;border:1px solid #ddd0c7;border-radius:7px}
.totals{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.totrow{display:flex;justify-content:space-between;padding:5px 0}
.grand{font-size:21px;font-weight:900;color:var(--maroon)}
.invoice-preview{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}
.invoice-head{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid var(--maroon);padding-bottom:14px}
.invoice-brand{display:flex;gap:12px;align-items:center}.invoice-brand img{width:58px;height:58px;object-fit:cover;border-radius:14px}
.invtable{width:100%;border-collapse:collapse;margin-top:18px}.invtable th,.invtable td{border-bottom:1px solid #ddd;padding:9px;text-align:left}.invtable th{background:#faf4ec}
.empty{padding:28px;text-align:center;color:var(--muted)}.toast{position:fixed;right:18px;bottom:18px;background:#241b1b;color:#fff;padding:12px 15px;border-radius:10px;display:none;z-index:50}.toast.show{display:block}
@media(max-width:1050px){.sidebar{width:72px}.brand .txt,.nav .txt{display:none}.main{margin-left:72px;width:calc(100% - 72px)}.cards{grid-template-columns:repeat(2,1fr)}.grid2,.billgrid{grid-template-columns:1fr}}
@media(max-width:650px){.sidebar{width:58px}.main{margin-left:58px;width:calc(100% - 58px);padding:13px}.cards,.formgrid,.insight-grid{grid-template-columns:1fr}.hero-copy{padding-right:95px}.hero img{width:78px;height:78px;right:14px;top:14px}}
@media print{
 body{background:#fff}.sidebar,.topbar,.no-print,.toast{display:none!important}
 .main{margin:0;width:100%;padding:0}.page{display:none!important}.page.print-page{display:block!important}
 .invoice-preview{border:0;padding:0}
}

/* Factory reset confirmation */
.danger-zone-note{border:1px solid #efc4c4;background:#fff3f3;border-radius:12px;padding:12px;color:#842727}

/* Category + size-wise stock */
.variant-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px}.variant-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.variant-rows{display:grid;gap:8px}.variant-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(110px,160px) 38px;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:10px;background:#fffaf4}.variant-row input{width:100%;padding:9px;border:1px solid #ddd0c7;border-radius:8px;background:#fff;outline:none}.variant-row .x{width:34px;height:34px}.size-chip{display:inline-block;padding:4px 7px;margin:2px;border-radius:999px;background:#f2e8df;color:var(--maroon);font-size:11px;font-weight:800}.size-chip.low{background:#fff0d7;color:var(--amber)}.size-chip.out{background:#fde7e7;color:var(--red)}
@media(max-width:650px){.variant-head{align-items:stretch;flex-direction:column}.variant-actions{justify-content:flex-start}.variant-row{grid-template-columns:1fr 110px 38px}}
.picker-product{border:1px solid var(--line);background:#fffaf4;border-radius:11px;padding:10px;margin:7px 0}.picker-product .btn{font-size:12px;padding:7px 10px}
