:root{
  --brand:#146c43; --brand-dark:#0f5132; --sidebar-w:250px; --bg:#f4f6f5;
}
body{font-family:'Hind Siliguri',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:var(--bg);font-size:15px}
.topbar{background:var(--brand);position:sticky;top:0;z-index:1030;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.sidebar{width:var(--sidebar-w);background:#fff;border-right:1px solid #e3e7e5;min-height:calc(100vh - 56px)}
@media (min-width:992px){.sidebar{position:sticky;top:56px;height:calc(100vh - 56px);overflow-y:auto;flex-shrink:0}}
.sidebar .offcanvas-body{display:block!important}
.sidebar .nav-head{font-size:.78rem;font-weight:700;text-transform:uppercase;color:#6c757d;padding:.9rem 1rem .3rem;letter-spacing:.02em}
.sidebar .nav-link{color:#2b2f2d;display:flex;gap:.6rem;align-items:center;padding:.42rem 1rem;border-left:3px solid transparent}
.sidebar .nav-link i{color:#6c757d;width:1.1rem}
.sidebar .nav-link:hover{background:#f1f7f3}
.sidebar .nav-link.active{background:#e8f3ec;border-left-color:var(--brand);color:var(--brand-dark);font-weight:600}
.sidebar .nav-link.active i{color:var(--brand)}
.main{min-width:0}
.page-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;margin-bottom:1rem}
.page-head h1{font-size:1.35rem;margin:0;font-weight:600}
.card{border:1px solid #e3e7e5;border-radius:.6rem;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.card-header{background:#fff;font-weight:600}
.table{margin-bottom:0}
.table thead th{background:#f1f5f3;font-weight:600;white-space:nowrap;font-size:.9rem}
.table td{vertical-align:middle}
.table tfoot td,.table tfoot th{background:#f8faf9;font-weight:700}
.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.stat{border-radius:.6rem;padding:1rem;background:#fff;border:1px solid #e3e7e5;height:100%}
.stat .label{color:#6c757d;font-size:.88rem}
.stat .value{font-size:1.35rem;font-weight:700}
.stat .icon{font-size:1.6rem;opacity:.8}
.form-label{font-weight:500;margin-bottom:.25rem}
.form-section{font-weight:600;color:var(--brand-dark);border-bottom:1px dashed #cfd8d3;padding-bottom:.25rem;margin-top:.5rem}
.readonly-calc{background:#f3f7f5!important;font-weight:600}
.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-brand:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}
.filter-bar .form-control,.filter-bar .form-select{min-width:130px}
.cal{table-layout:fixed}
.cal td{height:92px;vertical-align:top;font-size:.82rem}
.cal .day{font-weight:700}
.cal .res{background:#fff3cd;border-left:3px solid #fd7e14;border-radius:3px;padding:1px 4px;margin-top:2px;display:block;color:#5c3b00;text-decoration:none}
.cal .today{background:#e8f3ec}
.cal .other{background:#fafafa;color:#bbb}
.receipt{max-width:720px;margin:auto;background:#fff;padding:24px;border:1px solid #ddd}
.print-only{display:none}
@media print{
  body{background:#fff;font-size:13px}
  .main .container-fluid{padding:0}
  .card{border:0;box-shadow:none}
  .no-print,.btn,.pagination,.filter-bar,form.d-inline{display:none!important}
  .print-only{display:block!important}
  .table thead th{background:#eee!important}
  a{text-decoration:none;color:#000}
  .receipt{border:0}
}
@media (max-width:768px){.table td{white-space:nowrap}}
.quick-tile{transition:transform .1s,box-shadow .1s}
.quick-tile:active{transform:scale(.97)}
.quick-tile:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}
@media (max-width:576px){.page-head h1{font-size:1.15rem}.form-control,.form-select{font-size:16px}.card-footer .btn{padding:.6rem 1rem}}
