:root {
  --navy:#0b1f3a; --teal:#00b8a9; --gold:#f0a500; --red:#e63946;
  --green:#10b981; --light:#f4f7fb; --card:#fff; --border:#e2e8f0;
  --text:#1e293b; --muted:#64748b; --font:'Segoe UI',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--font);background:var(--light);color:var(--text);min-height:100vh;}
header{background:var(--navy);color:#fff;padding:0 24px;}
.hrow{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 0 4px;}
.brand h1{font-size:19px;font-weight:800;}
.brand .sub{font-size:11px;color:#94a3b8;margin-top:2px;}
.badge{background:var(--red);color:#fff;font-size:10px;font-weight:800;letter-spacing:.1em;padding:2px 8px;border-radius:4px;margin-bottom:5px;display:inline-block;}
nav{display:flex;flex-wrap:wrap;gap:2px;padding:8px 0 0;overflow-x:auto;}
nav a{color:#94a3b8;text-decoration:none;font-size:12px;font-weight:600;padding:6px 13px;border-radius:6px 6px 0 0;transition:all .15s;white-space:nowrap;}
nav a:hover{background:rgba(255,255,255,.08);color:#fff;}
nav a.active{background:var(--light);color:var(--navy);}
main{max-width:1300px;margin:0 auto;padding:22px 18px 60px;}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px 22px;margin-bottom:18px;}
.card h2{font-size:15px;font-weight:800;color:var(--navy);margin-bottom:12px;}
.card h3{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:8px;}
.krow{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px;}
.kc{background:var(--card);border:1px solid var(--border);border-radius:13px;padding:16px 18px;}
.kc .lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px;}
.kc .val{font-size:26px;font-weight:900;line-height:1;color:var(--navy);}
.kc .sub{font-size:11px;color:var(--muted);margin-top:4px;}
.green .val{color:#059669;} .red .val{color:var(--red);} .gold .val{color:var(--gold);} .teal .val{color:var(--teal);}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px;}
.cgrid.three{grid-template-columns:1fr 1fr 1fr;}
@media(max-width:860px){.cgrid,.cgrid.three{grid-template-columns:1fr;}}
.cc{background:var(--card);border:1px solid var(--border);border-radius:13px;padding:18px;}
.cc.full{grid-column:1/-1;}
.cc .desc{font-size:11px;color:var(--muted);margin-bottom:12px;}
.cw{position:relative;height:230px;}
.cw-sm{position:relative;height:170px;}
.cw-lg{position:relative;height:300px;}
table.dt{width:100%;border-collapse:collapse;font-size:12px;}
table.dt th{text-align:left;padding:7px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom:2px solid var(--border);}
table.dt td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:middle;}
table.dt tr:last-child td{border-bottom:none;}
table.dt tr:hover td{background:var(--light);}
.num{font-variant-numeric:tabular-nums;font-weight:700;}
.pos{color:#059669;} .neg{color:var(--red);}
.pill{display:inline-block;font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;}
.pg{background:#d1fae5;color:#065f46;} .pr{background:#fee2e2;color:#991b1b;}
.pb{background:#dbeafe;color:#1e40af;} .py{background:#fef3c7;color:#92400e;}
.pm{background:#f3e8ff;color:#6b21a8;} .pgr{background:#f3f4f6;color:#374151;}
.insight{background:#eff6ff;border-left:4px solid #2563eb;border-radius:10px;padding:11px 15px;font-size:12px;color:#1e3a5f;margin-bottom:18px;line-height:1.7;}
.warn{background:#fff7ed;border-left:4px solid var(--gold);border-radius:10px;padding:11px 15px;font-size:12px;margin-bottom:18px;}
.urgent{background:#fff1f2;border-left:4px solid var(--red);}
.fxbar{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:9px 16px;margin-bottom:18px;display:flex;gap:20px;flex-wrap:wrap;font-size:12px;align-items:center;}
.fxbar .lbl{color:var(--muted);font-weight:600;} .fxbar .v{font-weight:800;color:var(--navy);margin-left:3px;}
/* cashflow specific */
.cf-month-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-bottom:18px;}
.cf-month{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 16px;}
.cf-month h4{font-size:13px;font-weight:800;color:var(--navy);margin-bottom:2px;}
.cf-month .period{font-size:10px;color:var(--muted);margin-bottom:10px;}
.cf-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid #f1f5f9;font-size:12px;gap:8px;}
.cf-row:last-child{border-bottom:none;}
.cf-row .item{flex:1;color:var(--text);}
.cf-row .amt{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;}
.cf-month .cf-total{margin-top:10px;padding-top:8px;border-top:2px solid var(--border);display:flex;justify-content:space-between;font-weight:800;font-size:13px;}
.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:3px;}
.upcoming-tag{font-size:10px;font-weight:700;padding:1px 6px;border-radius:3px;background:#fef3c7;color:#92400e;margin-left:4px;}
footer{text-align:center;font-size:11px;color:var(--muted);padding:28px 0 8px;}
