:root{--bg:#F5F0E6;--card:#FFFDF8;--ink:#1B1F2E;--ink2:#565B6B;--muted:#8A8D98;--line:#E4DCCB;--navy:#16213E;--gold:#B8913A;--good:#2F7D4F;--bad:#B3412F}
@media (prefers-color-scheme:dark){:root{--bg:#10141F;--card:#171C2A;--ink:#EEE9DD;--ink2:#B9B6AD;--muted:#868A96;--line:#2A3142;--navy:#8FA4E0;--gold:#D9B45E}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Bengali",sans-serif}
a{color:inherit}.muted{color:var(--muted)}small{font-size:.8em}
.top{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between;padding:12px 20px;background:#16213E;color:#EFE6CF}
.brand{display:flex;gap:10px;align-items:center;font-size:17px}.mark{border:1.5px solid #C9A54C;border-radius:6px;padding:1px 6px;font:700 13px Georgia,serif;color:#E8D9A8}
.top nav{display:flex;flex-wrap:wrap;gap:4px}.top nav a{text-decoration:none;padding:6px 10px;border-radius:6px;color:#D9D2BF}.top nav a.on,.top nav a:hover{background:rgba(255,255,255,.1);color:#fff}.top nav a.out{opacity:.7}
main{max-width:1180px;margin:0 auto;padding:20px 16px 60px}
h1{font:600 24px Georgia,serif;margin:4px 0 14px}h2{font:600 17px Georgia,serif;margin:0 0 12px}
.ranges{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:16px}
.chip{display:inline-block;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:5px 12px;text-decoration:none;font-size:13px;color:var(--ink2);cursor:pointer}
.chip.on{background:var(--navy);border-color:var(--navy);color:var(--bg)}
.custom{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.custom input{padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.kpi .l{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.kpi .v{font:600 26px Georgia,serif;margin-top:4px}.kpi .s{font-size:12px;color:var(--ink2)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;margin-bottom:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;overflow:hidden}
.chartbox{position:relative;height:240px}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}td.n,th.n{text-align:right;white-space:nowrap}
.scroll{overflow-x:auto}
form.box{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink2)}
input,select,textarea{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}textarea{min-height:60px}
.btn{background:var(--navy);color:var(--bg);border:0;border-radius:8px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer}.btn.light{background:transparent;color:var(--ink);border:1px solid var(--line)}
.msg{padding:10px 14px;border-radius:8px;background:var(--card);border:1px solid var(--line);margin-bottom:14px}.msg.err{border-color:var(--bad);color:var(--bad)}
.tag{display:inline-block;font-size:12px;padding:1px 8px;border-radius:999px;border:1px solid var(--line)}
.login{max-width:360px;margin:12vh auto;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:28px}
.login form{display:grid;gap:12px}
.empty{color:var(--muted);padding:20px 0;text-align:center}
