:root{
  --navy:#1f2a44; --navy2:#26324f; --accent:#2d6cdf; --accent2:#4f86e8;
  --green:#1f9d6b; --red:#d4564b; --amber:#d9a441;
  --bg:#f4f6fb; --card:#ffffff; --line:#e2e8f3; --ink:#1d2433; --muted:#6b7488;
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);color:var(--ink);font-size:15px;line-height:1.45}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.topbar{background:var(--navy);color:#fff;padding:0 18px;display:flex;align-items:center;gap:22px;
  position:sticky;top:0;z-index:20;box-shadow:0 1px 6px rgba(0,0,0,.12)}
.brand{font-weight:700;letter-spacing:.3px;padding:14px 0;font-size:17px;white-space:nowrap}
.brand small{font-weight:400;color:#aebbd8;font-size:12px;margin-left:6px}
.nav{display:flex;gap:4px;flex:1;flex-wrap:wrap}
.nav a{color:#cdd6ea;padding:14px 12px;font-size:14px;border-bottom:3px solid transparent}
.nav a.active,.nav a:hover{color:#fff;border-bottom-color:var(--accent2);text-decoration:none}
.topbar .right{display:flex;align-items:center;gap:12px}
.yearsel{background:var(--navy2);color:#fff;border:1px solid #3a4868;
  border-radius:7px;padding:7px 10px;font-size:13px}
.logout{color:#aebbd8;font-size:13px}
.wrap{max-width:1180px;margin:22px auto;padding:0 18px}
h1{font-size:22px;margin:0 0 4px} h2{font-size:16px;margin:26px 0 12px;color:var(--navy)}
.sub{color:var(--muted);font-size:13px;margin:0 0 18px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:6px 0 8px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:15px 16px;
  box-shadow:0 1px 3px rgba(20,30,60,.05)}
.kpi .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px}
.kpi .val{font-size:24px;font-weight:700;margin-top:5px;font-variant-numeric:tabular-nums}
.kpi .val.pos{color:var(--green)} .kpi .val.neg{color:var(--red)}
.kpi .val.accent{color:var(--accent)} .kpi small{color:var(--muted);font-weight:400;font-size:13px}
.card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:18px;
  box-shadow:0 1px 3px rgba(20,30,60,.05);margin-bottom:18px}
.grid2{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}
@media(max-width:820px){.grid2{grid-template-columns:1fr}}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.4px}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
tbody tr:hover{background:#f8faff}
tr.total td{font-weight:700;border-top:2px solid var(--navy);background:#f3f6fd}
.neg{color:var(--red)} .pos{color:var(--green)}
.pill{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;
  background:#eef2fb;color:var(--navy)}
.pill.in{background:#e3f6ec;color:var(--green)} .pill.out{background:#fdeceb;color:var(--red)}
.pill.draw{background:#fbf3e0;color:#9a6b16} .pill.transfer{background:#eef0f4;color:#5a6478}
.pill.review{background:#fdeceb;color:var(--red)}
.btn{display:inline-block;background:var(--accent);color:#fff;border:none;border-radius:9px;
  padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer}
.btn:hover{background:#255fc6;text-decoration:none}
.btn.ghost{background:#fff;color:var(--accent);border:1px solid var(--accent)}
.btn.sm{padding:6px 11px;font-size:13px}
.exportbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.muted{color:var(--muted)} .right{text-align:right}
input[type=text],select,textarea{font-family:inherit;font-size:14px;padding:8px 10px;
  border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.chartbox{position:relative;height:300px}
.note{background:#fbf6e9;border:1px solid #ecdcae;border-radius:10px;padding:12px 14px;font-size:13px;
  color:#6d5a23;margin-bottom:16px}
.login{max-width:360px;margin:9vh auto;text-align:center}
.login .card{padding:28px}
.login input{width:100%;margin:10px 0;text-align:center}
.review-row{display:grid;grid-template-columns:1fr;gap:10px}
.rev-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}
.rev-form select,.rev-form input{font-size:13px}
.footnote{color:var(--muted);font-size:12px;margin-top:24px;border-top:1px solid var(--line);padding-top:12px}
