:root{
  --bg:#EEF3F1; --card:#FFFFFF; --ink:#14231F; --muted:#51635D;
  --brand:#0F5C4D; --brand-ink:#FFFFFF; --line:#C9D6D1; --err:#B3261E; --ok:#1B6B3A;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#0E1815; --card:#16241F; --ink:#E8F0ED; --muted:#9DB0A9; --brand:#3FAE93; --brand-ink:#06201A; --line:#2B3F38; --err:#FF8A80; --ok:#7BD99B; }
}
*{box-sizing:border-box}
html{font-size:18px}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);
  font-family:"Noto Sans Bengali","Hind Siliguri","Kalpurush","SolaimanLipi",system-ui,-apple-system,"Segoe UI",sans-serif;
  line-height:1.6;display:flex;align-items:center;justify-content:center;padding:16px}
main{width:100%;max-width:26rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px}
h1{font-size:1.5rem;margin:0 0 4px}
p.sub{margin:0 0 20px;color:var(--muted)}
label{display:block;font-weight:600;margin:14px 0 6px}
input{width:100%;font:inherit;padding:14px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
input:focus-visible,button:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
button{width:100%;margin-top:20px;font:inherit;font-weight:700;padding:15px;border:0;border-radius:10px;background:var(--brand);color:var(--brand-ink);cursor:pointer}
button.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line);margin-top:12px}
button:disabled{opacity:.6;cursor:wait}
.msg{min-height:1.6em;margin-top:14px;font-weight:600}
.msg.err{color:var(--err)} .msg.ok{color:var(--ok)}
.hidden{display:none}
.role{display:inline-block;padding:2px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:.85rem}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}

/* ---------- অ্যাপ (লগইনের পর) ---------- */
body.app{align-items:flex-start}
body.app main{max-width:46rem}
header.top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
header.top h1{font-size:1.2rem;margin:0}
header.top .who{color:var(--muted);font-size:.85rem}
nav.tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;margin-bottom:12px;-webkit-overflow-scrolling:touch}
nav.tabs button{width:auto;margin:0;flex:0 0 auto;padding:10px 14px;font-weight:600;background:transparent;color:var(--ink);border:1.5px solid var(--line)}
nav.tabs button[aria-current="true"]{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}
.stack>*+*{margin-top:14px}
.card h2{font-size:1.1rem;margin:0 0 10px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:10px}
.stat{border:1px solid var(--line);border-radius:10px;padding:12px}
.stat b{display:block;font-size:1.15rem}
.stat span{color:var(--muted);font-size:.85rem}
.item{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.item:first-of-type{border-top:0}
.item .sub2{color:var(--muted);font-size:.85rem}
.item .amt{font-weight:700;white-space:nowrap}
.item.tap{cursor:pointer}
button.small{width:auto;margin:0;padding:7px 12px;font-size:.85rem}
button.danger{background:var(--err);color:#fff}
.row{display:flex;gap:8px;flex-wrap:wrap}
.row>*{flex:1 1 9rem}
select,textarea{width:100%;font:inherit;padding:14px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
textarea{min-height:6rem}
.empty{color:var(--muted);padding:8px 0}
.pill{display:inline-block;padding:1px 8px;border-radius:999px;border:1px solid var(--line);font-size:.78rem;color:var(--muted)}
.notice-body{white-space:pre-wrap}
.temp{font-size:1.3rem;font-weight:800;letter-spacing:.05em;padding:10px;border:2px dashed var(--brand);border-radius:10px;text-align:center;margin:8px 0;user-select:all}
.note{font-size:.85rem;color:var(--muted)}
label input,label select,label textarea{font-weight:400}

.item.blk{display:block}
.item.plain{border:0;padding:0}
.row.endrow{flex:0 0 auto;align-items:center}
.row.endrow>*{flex:0 0 auto}
.mt8{margin-top:8px}
.mt12{margin-top:12px}

.netbar{background:var(--card);border:1.5px solid var(--err);color:var(--ink);border-radius:10px;padding:10px 14px;margin-bottom:12px;font-weight:600;font-size:.9rem}

/* ---------- হিসাব-বিবরণী (ছাপা/PDF) ---------- */
#printarea{display:none}
@media print{
  body{display:block;background:#fff;color:#000;padding:0;min-height:0}
  body>*:not(#printarea){display:none!important}
  #printarea{display:block}
  .stmt{font-size:12pt;color:#000;line-height:1.4}
  .stmt h1{font-size:18pt;margin:0}
  .stmt h2{font-size:14pt;margin:2pt 0 8pt}
  .stmt h3{font-size:12pt;margin:14pt 0 4pt}
  .stmt p{margin:2pt 0}
  table.st{width:100%;border-collapse:collapse;margin-bottom:6pt;page-break-inside:avoid}
  table.st th,table.st td{border:1px solid #444;padding:3pt 6pt;text-align:left}
  table.st th{background:#eee}
}

/* ---------- লাইভ প্রিভিউ ---------- */
.pv{margin-top:14px;border:1.5px dashed var(--brand);border-radius:10px;padding:10px 12px}
.pv:empty{display:none}
.pvsum{font-weight:700;margin-bottom:6px}
.pvhint{color:var(--muted);font-size:.9rem}
.eff{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid var(--line);font-size:.95rem}
.pv .eff:first-of-type{border-top:0}
.effl{color:var(--muted)}
.effv{text-align:right;font-weight:600}
.effv .was{color:var(--muted);font-weight:400;text-decoration:line-through}
.effv b.chg{color:var(--brand)}
.pvwarn{margin-top:6px;padding:6px 10px;border-radius:8px;border:1.5px solid var(--err);color:var(--err);font-weight:600;font-size:.9rem}
.pvnote{margin-top:6px;color:var(--muted);font-size:.85rem}
#confirmhost:empty{display:none}
#confirmhost .card{border:2px solid var(--brand)}
