:root{
  --bg:#0b0b0e; --panel:#15151b; --panel2:#1d1d25; --panel3:#24242e; --line:#2b2b36;
  --gold:#F5B301; --gold2:#ffcb3d; --gold-dim:#c99200;
  --text:#f3f3f5; --muted:#9a9aa6; --muted2:#6f6f7c;
  --green:#31c48d; --red:#f05252; --blue:#4f9cf9; --pink:#e879b9; --purple:#9b8afb;
  --radius:14px; --shadow:0 8px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:'Inter','Hind Siliguri','Segoe UI','Nirmala UI',sans-serif;background:radial-gradient(1200px 600px at 80% -10%,#1a1a22 0,var(--bg) 55%);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}
body.lang-bn{font-family:'Hind Siliguri','Inter','Nirmala UI','Segoe UI',sans-serif}
button{font-family:inherit;cursor:pointer}
h3{margin-bottom:14px;font-size:16px;font-weight:600}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#2f2f3a;border-radius:8px}

/* ---------- Login ---------- */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login-card{background:linear-gradient(180deg,#17171e,#121218);border:1px solid var(--line);border-radius:20px;padding:40px 34px;width:100%;max-width:400px;box-shadow:var(--shadow)}
.login-brand{text-align:center;margin-bottom:26px}
.login-brand h1{font-size:44px;letter-spacing:8px;color:var(--gold);font-weight:800;text-shadow:0 0 30px rgba(245,179,1,.25)}
.login-brand span{font-size:11px;letter-spacing:5px;color:var(--muted)}
.login-err{color:var(--red);font-size:13px;min-height:18px;margin-bottom:8px;text-align:center}

/* ---------- Layout ---------- */
.app{display:flex;min-height:100vh}
.sidebar{width:224px;background:linear-gradient(180deg,#0e0e13,#0a0a0e);border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{padding:24px 20px 18px}
.brand h1{font-size:26px;letter-spacing:4px;color:var(--gold);font-weight:800}
.brand span{font-size:10px;letter-spacing:6px;color:var(--muted)}
.nav{flex:1;padding:12px 12px;display:flex;flex-direction:column;gap:4px}
.nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;color:var(--muted);text-decoration:none;font-weight:500;border-radius:11px;transition:.15s;cursor:pointer}
.nav a:hover{background:var(--panel2);color:var(--text)}
.nav a.active{background:linear-gradient(90deg,rgba(245,179,1,.16),rgba(245,179,1,.04));color:var(--gold)}
.nav a .ic{width:22px;text-align:center;font-size:17px}
.sidebar .foot{padding:14px 16px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.who{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.who .av{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-dim));color:#000;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.who b{color:var(--text);font-weight:600;font-size:13px}

.main{flex:1;display:flex;flex-direction:column;min-width:0}
.topbar{padding:16px 28px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:rgba(21,21,27,.6);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}
.topbar h2{font-size:19px;font-weight:700}
.topbar .right{display:flex;align-items:center;gap:12px}
.content{padding:26px 28px;flex:1}
.page{display:none;animation:fade .25s ease}
.page.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* language toggle */
.langtog{display:flex;background:var(--panel2);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.langtog button{padding:6px 14px;border:none;background:transparent;color:var(--muted);font-weight:600;font-size:12px}
.langtog button.on{background:var(--gold);color:#000}

/* ---------- Components ---------- */
.grid{display:grid;gap:16px}
.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}.g6{grid-template-columns:repeat(6,1fr)}
.g-2-1{grid-template-columns:1.5fr 1fr}
@media(max-width:1100px){.g4,.g6{grid-template-columns:repeat(2,1fr)}.g-2-1,.g2,.g3{grid-template-columns:1fr}}
.row{display:flex;gap:12px;flex-wrap:wrap}
.r2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.r3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.card{background:linear-gradient(180deg,#16161d,#131319);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:13px}
.field label{font-size:12px;color:var(--muted);font-weight:600}
input,select{background:var(--panel2);border:1px solid var(--line);color:var(--text);padding:11px 13px;border-radius:10px;font-size:14px;width:100%;transition:.15s}
input:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(245,179,1,.12)}
select{cursor:pointer}
.btn{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#111;border:none;padding:11px 20px;border-radius:10px;font-weight:700;font-size:14px;transition:.15s}
.btn:hover{filter:brightness(1.05);transform:translateY(-1px)}
.btn.sec{background:var(--panel2);color:var(--text);border:1px solid var(--line)}
.btn.sec:hover{background:var(--panel3);filter:none}
.btn.danger{background:linear-gradient(135deg,#ff6b6b,var(--red));color:#fff}
.btn.sm{padding:7px 12px;font-size:12px;border-radius:8px}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}

table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:13px}
th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.6px}
tbody tr{transition:.1s}tbody tr:hover td{background:var(--panel2)}
.tag{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700}
.tag.ok{background:rgba(49,196,141,.15);color:var(--green)}
.tag.low{background:rgba(240,82,82,.16);color:var(--red)}
.tag.mid{background:rgba(245,179,1,.16);color:var(--gold)}
.pill{display:inline-block;padding:3px 10px;border-radius:8px;font-size:11px;font-weight:600;background:var(--panel3);color:var(--muted)}
.pill.men{background:rgba(79,156,249,.15);color:var(--blue)}
.pill.women{background:rgba(232,121,185,.15);color:var(--pink)}
.pill.kids{background:rgba(155,138,251,.16);color:var(--purple)}

.stat{position:relative;background:linear-gradient(180deg,#17171f,#131319);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;overflow:hidden}
.stat::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gold)}
.stat.g::before{background:var(--green)}.stat.b::before{background:var(--blue)}.stat.p::before{background:var(--purple)}.stat.r::before{background:var(--red)}.stat.k::before{background:var(--pink)}
.stat .lbl{font-size:12px;color:var(--muted);font-weight:600}
.stat .val{font-size:25px;font-weight:800;margin-top:7px;letter-spacing:-.5px}
.stat .sub{font-size:11px;color:var(--muted2);margin-top:3px}
.gold{color:var(--gold)}
.search{margin-bottom:16px;max-width:360px}
.help{font-size:12px;color:var(--muted);line-height:1.7;margin-top:8px}
.empty{text-align:center;color:var(--muted2);padding:44px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.chip{padding:8px 16px;border-radius:22px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font-weight:600;font-size:13px;transition:.12s}
.chip:hover{color:var(--text)}
.chip.on{background:var(--gold);color:#111;border-color:var(--gold)}

.modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:100;align-items:flex-start;justify-content:center;overflow:auto;padding:44px 16px;backdrop-filter:blur(3px)}
.modal-bg.show{display:flex}
.modal{background:linear-gradient(180deg,#181820,#141419);border:1px solid var(--line);border-radius:18px;width:100%;max-width:600px;padding:26px;box-shadow:var(--shadow)}
.modal.wide{max-width:720px}
.modal h3{margin-bottom:18px;color:var(--gold);font-size:18px}

.pos{display:grid;grid-template-columns:1fr 390px;gap:18px;align-items:start}
@media(max-width:1100px){.pos{grid-template-columns:1fr}}
.scan-box{display:flex;gap:10px;margin-bottom:16px}
.scan-box input{font-size:16px;padding:15px}
.qty{display:flex;align-items:center;gap:6px}
.qty button{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);color:var(--text);font-weight:700}
.summary{border-top:2px solid var(--gold);margin-top:16px;padding-top:16px}
.summary .line{display:flex;justify-content:space-between;margin-bottom:9px;align-items:center}
.summary .line input{width:90px;padding:5px 9px}
.summary .total{font-size:23px;font-weight:800;color:var(--gold)}
.cart-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.cart-item .nm{font-weight:600}.cart-item .meta{font-size:11px;color:var(--muted)}

#labelPreview{background:#d9d9d9;padding:16px;border-radius:12px;display:flex;flex-wrap:wrap;gap:12px;min-height:120px}
#labelPreview .lbl-one{box-shadow:0 2px 8px rgba(0,0,0,.4);border-radius:3px}

.toast{position:fixed;bottom:26px;right:26px;background:linear-gradient(135deg,#2dd4a0,var(--green));color:#04231a;padding:14px 22px;border-radius:12px;font-weight:700;z-index:200;display:none;box-shadow:var(--shadow)}
.toast.err{background:linear-gradient(135deg,#ff7a7a,var(--red));color:#2a0808}

#labelArea,#receiptArea{display:none}
@media print{
  body *{visibility:hidden}
  #labelArea,#labelArea *{visibility:visible}#labelArea{display:block;position:absolute;left:0;top:0}
  #receiptArea,#receiptArea *{visibility:visible}#receiptArea{display:block;position:absolute;left:0;top:0}
}
