:root{--ink:#1d2433;--mute:#6b7385;--line:#d9dde7;--bg:#f4f6fb;--card:#fff;--accent:#e5142f;--navy:#0f1424;--ok:#1c9c6b;--warn:#c77d00;--bad:#c62828}
*{box-sizing:border-box}
body{margin:0;font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
a{color:#1b5bd8;text-decoration:none}a:hover{text-decoration:underline}
header.top{background:var(--navy);color:#fff;display:flex;align-items:center;gap:18px;padding:0 20px;min-height:52px;flex-wrap:wrap}
header.top a{color:#cfd5e6}.brand{font-weight:700;color:#fff!important;font-size:16px}
header.top nav{display:flex;gap:2px;flex:1;flex-wrap:wrap}
header.top nav a{padding:15px 11px;border-bottom:3px solid transparent}
header.top nav a.on,header.top nav a:hover{color:#fff;border-bottom-color:var(--accent);text-decoration:none}
.who{font-size:12px;color:#aeb6cc}.burger{display:none;background:none;border:0;color:#fff;font-size:22px}
main{max-width:1180px;margin:0 auto;padding:22px 16px 60px}
h1{font-size:22px;margin:0 0 4px}h2{font-size:16px;margin:22px 0 10px}
.sub{color:var(--mute);margin:0 0 16px}
.bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:16px}
.grid{display:grid;gap:14px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.stat b{display:block;font-size:22px;margin-top:2px}.stat span{color:var(--mute);font-size:12px;text-transform:uppercase;letter-spacing:.5px}
table.t{width:100%;border-collapse:collapse;background:var(--card)}
table.t th{background:#eef1f8;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#4a5164;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
table.t td{padding:9px 10px;border-bottom:1px solid #edf0f6;vertical-align:top}
table.t tr:hover td{background:#fafbfe}.r{text-align:right}.c{text-align:center}.nw{white-space:nowrap}
.wrapx{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:7px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer}
.btn:hover{filter:brightness(.93);text-decoration:none}.btn.sec{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn.sm{padding:4px 9px;font-size:12px}.btn.danger{background:var(--bad)}
label{display:block;font-weight:600;font-size:12px;margin:0 0 4px;color:#3a4256}
input[type=text],input[type=email],input[type=date],input[type=number],input[type=password],input[type=search],select,textarea{width:100%;padding:8px 9px;border:1px solid #c9cfdd;border-radius:7px;font:inherit;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid #9db8f2;border-color:#6d92e8}
input[readonly]{background:#f1f3f8}textarea{min-height:70px}
.f{margin-bottom:12px}.hint{color:var(--mute);font-size:12px;margin-top:3px}.err{color:var(--bad)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.row4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.flash{padding:10px 14px;border-radius:8px;margin-bottom:14px;border:1px solid}
.flash.ok{background:#e8f6ef;border-color:#a8dcc3;color:#0f6a47}.flash.err{background:#fdecec;border-color:#f3b3b3;color:#8e1b1b}
.badge{display:inline-block;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.b-draft{background:#e8eaf0;color:#4a5164}.b-sent{background:#e1ecff;color:#1b4fb0}.b-partial{background:#fff0d6;color:#8a5800}
.b-paid,.b-accepted,.b-converted{background:#dff3e8;color:#0f6a47}.b-overdue,.b-rejected,.b-expired{background:#fde1e1;color:#a61f1f}.b-cancelled{background:#e8eaf0;color:#777;text-decoration:line-through}
.gstbox{border-left:4px solid var(--ok);background:#f6fbf9}
.tot{width:100%;max-width:340px;margin-left:auto}.tot td{padding:5px 8px}.tot .gt td{font-weight:700;font-size:16px;border-top:2px solid var(--ink)}
.items input{padding:6px 7px}.items td{padding:6px 5px;border-bottom:1px solid #edf0f6}.items th{padding:7px 5px}
.pill{background:#e1ecff;color:#1b4fb0;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600}
.login{max-width:360px;margin:12vh auto}
/* ---- printed document ---- */
.doc{background:#fff;border:1px solid var(--line);border-radius:10px;padding:34px 36px;max-width:850px;margin:0 auto;font-size:12px}
.doc h1.title{font-size:22px;letter-spacing:1px;margin:0;color:var(--navy)}
.doc table{width:100%;border-collapse:collapse}.doc td,.doc th{padding:7px 8px;vertical-align:top}
.doc .hd th{background:var(--navy);color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.5px;text-align:left}
.doc .ac th{background:var(--accent);color:#fff;font-size:10px;text-align:left;text-transform:uppercase}
.doc .bx td,.doc .bx th{border:1px solid var(--line)}.doc .meta td{border:1px solid var(--line);background:#fff7f7;font-weight:700;font-size:12px}
.doc .gt td{background:var(--accent);color:#fff;font-weight:700;font-size:13px}.doc .soft td{background:#f4f6fb;border:1px solid var(--line)}.doc .soft .gt td{background:var(--accent);color:#fff;border-color:var(--accent)}.doc .inr td{background:#eef1f8;border:1px solid var(--line)}
.doc .muted{color:#5d6578;font-size:11px}.doc .seal{text-align:right;font-size:10px;letter-spacing:1px;color:var(--mute)}
@media(max-width:820px){.g2,.g3,.g4,.row2,.row3,.row4{grid-template-columns:1fr}.burger{display:block;margin-left:auto}
 header.top nav{display:none;flex-basis:100%}body.nav-open header.top nav{display:flex;flex-direction:column}header.top nav a{padding:10px 4px}
 .doc{padding:16px}}
@media print{body{background:#fff}.no-print{display:none!important}main{max-width:none;padding:0}.doc{border:0;border-radius:0;padding:0;max-width:none}
 @page{size:A4;margin:12mm}.doc *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* dashboard charts */
.g2dash{grid-template-columns:3fr 2fr}.g2dash+.g2dash{grid-template-columns:3fr 2fr}
.ct{margin:0 0 12px;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.lg{font-size:11px;font-weight:400;color:var(--mute)}.lg i,.row-s i{display:inline-block;width:9px;height:9px;border-radius:3px;margin:0 5px 0 8px;vertical-align:middle}.row-s i{margin-left:0}
.row-s{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #eef0f6}.row-s:last-child{border:0}
.hb{margin-bottom:11px}.hbl{display:flex;justify-content:space-between;gap:8px;font-size:13px;margin-bottom:4px}
.hbt{background:#eef0f6;border-radius:99px;height:8px;overflow:hidden}.hbt div{height:100%;background:linear-gradient(90deg,#e5142f,#ff6b7d);border-radius:99px}
.split{display:flex;height:14px;border-radius:99px;overflow:hidden;background:#eef0f6}
@media(max-width:820px){.g2dash,.g2dash+.g2dash{grid-template-columns:1fr}}
