:root{
  --paper:#F3F4EF; --surface:#FFFFFF; --ink:#1F2B33; --muted:#5D6A72; --line:#D8DCD2;
  --primary:#1D4E6E; --primary-ink:#FFFFFF; --side:#173E57; --side-2:#1D4E6E;
  --good:#2F7A4F; --warn:#9A6516; --bad:#A63D28; --info:#2A6A9E;
  --good-bg:#E6F1EA; --warn-bg:#F7EEDC; --bad-bg:#F6E3DE; --info-bg:#E3EEF7;
}
html{font-size:16px}
body{font-family:'Mukta','Noto Sans Devanagari',system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.55}
a{color:var(--primary)}
.btn-primary{--bs-btn-bg:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-hover-bg:#173E57;--bs-btn-hover-border-color:#173E57;--bs-btn-active-bg:#123247}
.btn{font-weight:500}
:focus-visible{outline:3px solid #E0A526 !important;outline-offset:2px}

/* रचना */
.shell{display:flex;min-height:100vh}
.side{background:var(--side);color:#DCE6EC;width:248px;flex:0 0 248px}
@media (min-width:992px){.side{position:sticky;top:0;height:100vh;overflow-y:auto}}
.offcanvas-lg.side{--bs-offcanvas-width:270px;--bs-offcanvas-bg:var(--side)}
.side-head{padding:20px 18px 14px;border-bottom:1px solid rgba(255,255,255,.12);position:relative}
.side-head .btn-close{position:absolute;right:14px;top:18px}
.brand{font-weight:700;font-size:1.15rem;color:#fff;line-height:1.25}
.brand-sub{font-size:.85rem;color:#A9BFCC}
.who{padding:12px 18px;border-bottom:1px solid rgba(255,255,255,.12)}
.who-name{color:#fff;font-weight:600;line-height:1.3}
.who-role{font-size:.85rem;color:#A9BFCC}
.side-nav{padding:8px 0 24px}
.side-nav a{display:flex;justify-content:space-between;align-items:center;padding:7px 18px;color:#DCE6EC;text-decoration:none;border-left:3px solid transparent}
.side-nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.side-nav a.active{background:rgba(255,255,255,.1);color:#fff;border-left-color:#E0A526;font-weight:600}
.nav-group{padding:14px 18px 4px;font-size:.8rem;color:#8FA8B7;font-weight:600}
.count{background:#E0A526;color:#1F2B33;border-radius:10px;padding:0 7px;font-size:.8rem;font-weight:700}
.content{flex:1;min-width:0;padding:28px 32px 48px;max-width:1240px}
.content-bare{margin:0 auto;max-width:440px;padding-top:9vh}
.page-title{font-size:1.6rem;font-weight:700;margin:0 0 20px;color:var(--ink)}
.topbar{position:sticky;top:0;z-index:1020;display:flex;align-items:center;gap:12px;background:var(--side);color:#fff;padding:10px 14px}
.topbar-title{font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge-dot{background:#E0A526;color:#1F2B33;border-radius:12px;padding:0 9px;font-weight:700;text-decoration:none}
@media (max-width:991.98px){.content{padding:18px 14px 40px}}

/* पॅनल */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:18px 20px;margin-bottom:20px}
.panel h2{font-size:1.15rem;font-weight:700;margin:0 0 12px}
.panel h3{font-size:1rem;font-weight:700;margin:16px 0 8px}
.hint{color:var(--muted);font-size:.92rem}
.empty{background:var(--surface);border:1px dashed var(--line);border-radius:6px;padding:28px;text-align:center;color:var(--muted)}
label.form-label{font-weight:600;margin-bottom:4px}

/* आकडे */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:20px}
.stat{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:4px;padding:12px 14px}
.stat-v{font-size:1.45rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}
.stat-l{color:var(--muted);font-size:.9rem}
.stat.good{border-left-color:var(--good)} .stat.bad{border-left-color:var(--bad)} .stat.warn{border-left-color:var(--warn)}

/* खाते-वही शैलीतील टेबल */
.ledger{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;background:var(--surface)}
.ledger th{font-weight:600;color:var(--muted);font-size:.88rem;border-bottom:2px solid var(--ink);padding:8px 10px;text-align:left;white-space:nowrap}
.ledger td{border-bottom:1px solid var(--line);padding:8px 10px;vertical-align:top}
.ledger .num{text-align:right;white-space:nowrap}
.ledger tr.total td{border-top:3px double var(--ink);border-bottom:none;font-weight:700}
.ledger tbody tr:hover td{background:#F7F8F4}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:6px;margin-bottom:16px}
.table-wrap .ledger{margin:0}
tr.err td{background:var(--bad-bg) !important}
tr.warnrow td{background:var(--warn-bg) !important}

/* स्टेटस */
.st{display:inline-block;padding:1px 9px;border-radius:12px;font-size:.84rem;font-weight:600;white-space:nowrap;background:#ECEEE8;color:var(--muted)}
.st-good{background:var(--good-bg);color:var(--good)} .st-bad{background:var(--bad-bg);color:var(--bad)}
.st-wait{background:var(--warn-bg);color:var(--warn)} .st-info{background:var(--info-bg);color:var(--info)}

/* बार (मासिक अहवाल) */
.bar{height:12px;background:var(--primary);border-radius:2px;min-width:2px}
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:16px}
.filters .form-control,.filters .form-select{min-width:150px}
.pager{display:flex;gap:10px;align-items:center;margin:8px 0 16px;color:var(--muted)}
.thread{border-left:3px solid var(--line);padding-left:14px}
.thread .msg{margin-bottom:14px}
.thread .meta{font-size:.85rem;color:var(--muted)}
.prewrap{white-space:pre-wrap}
.login-card{background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--primary);border-radius:6px;padding:28px}
.login-card h1{font-size:1.35rem;font-weight:700;margin:0 0 4px}
select[multiple]{min-height:220px}
@media print{
  @page{size:A4 landscape;margin:12mm 10mm}
  html,body{background:#fff !important;font-size:12px}
  .side,.topbar,.no-print,.btn,form.filters,.filters,.nav-tabs,.livebar,.alert,.pager,.page-title{display:none !important}
  .shell{display:block}
  .content{padding:0 !important;max-width:none !important;margin:0}
  .panel{border:none;padding:0;margin:0 0 10px}
  .table-wrap{overflow:visible !important;max-height:none !important;border:none !important}
  .ledger{width:100%;font-size:11.5px}
  .ledger th,.ledger td{padding:4px 6px;border:1px solid #999 !important}
  .ledger thead{display:table-header-group}
  .ledger tr{page-break-inside:avoid;break-inside:avoid}
  .ledger tr.total td{border-top:3px double #000 !important}
  .ledger tbody tr:hover td{background:none}
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
  .stat{padding:6px 8px}
  .print-head{display:block !important;text-align:center;margin-bottom:10px;border-bottom:2px solid #000;padding-bottom:6px}
  a{color:#000;text-decoration:none}
  .hint{color:#333}
}
.print-head{display:none}
.ph-org{font-size:14px;font-weight:600}
.ph-main{font-size:18px;font-weight:700}
.ph-title{font-size:14px;font-weight:600}
.ph-date{font-size:12px;margin-top:2px}
@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}

/* Bootstrap offcanvas-lg मोठ्या स्क्रीनवर पार्श्वभूमी पारदर्शक करतो; ती परत लावणे */
.offcanvas-lg.side{background-color:var(--side) !important}

.livebar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:1080;background:#1D4E6E;color:#fff;padding:10px 16px;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.2);display:flex;gap:12px;align-items:center}
.livebar[hidden]{display:none}
