/* ============================================================
   સહકારી / દૂધ મંડળી હિસાબ — સ્ટાઈલ (dark theme)
   ============================================================ */
:root{
  --bg:#0e1626;
  --bg-2:#13203a;
  --panel:#172642;
  --panel-2:#1d2f52;
  --border:#274069;
  --text:#e8eefb;
  --muted:#93a4c4;
  --accent:#16c8a8;       /* electric teal */
  --accent-2:#2f7df6;     /* blue */
  --amber:#f6b73c;
  --danger:#ef5d6e;
  --ok:#37c98b;
  --shadow:0 8px 24px rgba(0,0,0,.35);
  --radius:12px;
  --gu:"Noto Sans Gujarati","Shruti","Nirmala UI",system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--gu);
  background:linear-gradient(180deg,var(--bg),var(--bg-2));
  color:var(--text);
  min-height:100vh;
  font-size:15px;
  line-height:1.55;
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

/* ---------- Topbar / Nav ---------- */
.topbar{
  background:var(--panel);
  border-bottom:1px solid var(--border);
  padding:12px 22px;
  position:sticky;top:0;z-index:50;
  box-shadow:var(--shadow);
}
.brand{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.logo{font-size:28px}
.society{font-size:18px;font-weight:700;color:#fff}
.subtitle{font-size:12px;color:var(--muted)}
.mainnav{display:flex;flex-wrap:wrap;gap:6px}
.navlink{
  padding:7px 13px;border-radius:8px;color:var(--muted);
  font-size:14px;font-weight:600;transition:.15s;
}
.navlink:hover{background:var(--panel-2);color:var(--text);text-decoration:none}
.navlink.active{background:var(--accent);color:#04231d}

/* ---------- Layout ---------- */
.container{max-width:1180px;margin:24px auto;padding:0 18px}
.footer{
  max-width:1180px;margin:30px auto;padding:18px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
  color:var(--muted);font-size:13px;border-top:1px solid var(--border);
}
.card{
  background:var(--panel);border:1px solid var(--border);
  border-radius:var(--radius);padding:20px;margin-bottom:20px;box-shadow:var(--shadow);
}
.card h2,.card h3{margin-top:0}
h1{font-size:24px;margin:0 0 6px}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.page-head .sub{color:var(--muted);font-size:14px}

/* ---------- Dashboard stat tiles ---------- */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:8px}
.tile{
  background:linear-gradient(160deg,var(--panel-2),var(--panel));
  border:1px solid var(--border);border-radius:var(--radius);padding:18px;
}
.tile .label{color:var(--muted);font-size:13px}
.tile .value{font-size:26px;font-weight:800;margin-top:6px;color:#fff}
.tile.teal{border-left:4px solid var(--accent)}
.tile.blue{border-left:4px solid var(--accent-2)}
.tile.amber{border-left:4px solid var(--amber)}
.tile.green{border-left:4px solid var(--ok)}

/* ---------- Tables ---------- */
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{padding:9px 11px;text-align:right;border-bottom:1px solid var(--border)}
th{color:var(--muted);font-weight:700;text-align:right;background:var(--bg-2);position:sticky}
td.l,th.l{text-align:left}
td.c,th.c{text-align:center}
tbody tr:hover{background:var(--panel-2)}
.num{font-variant-numeric:tabular-nums;white-space:nowrap}
tfoot td{font-weight:800;border-top:2px solid var(--accent);background:var(--bg-2)}
.subtotal td{font-weight:700;background:var(--bg-2)}
.grouprow td{background:var(--panel-2);font-weight:700;color:var(--accent)}

/* ---------- Forms ---------- */
label{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}
input,select,textarea{
  width:100%;padding:9px 11px;border-radius:8px;
  background:var(--bg-2);border:1px solid var(--border);color:var(--text);
  font-family:var(--gu);font-size:14px;
}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.btn{
  display:inline-block;padding:9px 18px;border-radius:8px;border:0;cursor:pointer;
  font-family:var(--gu);font-weight:700;font-size:14px;background:var(--accent);color:#04231d;
}
.btn:hover{filter:brightness(1.08);text-decoration:none}
.btn.blue{background:var(--accent-2);color:#fff}
.btn.amber{background:var(--amber);color:#3a2a00}
.btn.danger{background:var(--danger);color:#fff}
.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}
.btn.sm{padding:5px 11px;font-size:13px}
.actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}

/* ---------- Pills / badges ---------- */
.pill{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px;font-weight:700}
.pill.asset{background:#173a55;color:#7fd0ff}
.pill.liability{background:#3a2c12;color:var(--amber)}
.pill.income{background:#12382c;color:var(--ok)}
.pill.expense{background:#3a1820;color:var(--danger)}
.pill.D{background:#173a55;color:#7fd0ff}
.pill.C{background:#12382c;color:var(--ok)}

/* ---------- Flash ---------- */
.flash{padding:11px 16px;border-radius:8px;margin-bottom:16px;font-weight:600}
.flash.ok{background:#12382c;color:var(--ok);border:1px solid #1f5e45}
.flash.err{background:#3a1820;color:var(--danger);border:1px solid #5e2030}

/* ---------- Filter bar ---------- */
.filterbar{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px}
.filterbar > div{min-width:150px}
.filterbar label{margin-top:0}

/* ---------- Voucher entry lines ---------- */
.vline{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px;margin-bottom:8px;align-items:center}
.vline .del{background:var(--danger);color:#fff;border:0;border-radius:8px;padding:8px 12px;cursor:pointer}
.hint{color:var(--muted);font-size:12.5px;margin-top:4px}

/* ---------- Print ---------- */
.print-only{display:none}
@media print{
  body{background:#fff;color:#000;font-size:12px}
  .topbar,.footer,.filterbar,.actions,.btn,.no-print{display:none !important}
  .container{margin:0;max-width:100%}
  .card{box-shadow:none;border:1px solid #999;background:#fff}
  th,td{border-color:#999;color:#000}
  th{background:#eee}
  .print-only{display:block;text-align:center;margin-bottom:10px}
  .print-only h2{margin:0}
  a{color:#000}
}
