:root{--bg:#0f172a;--panel:#ffffff;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--accent:#0f766e;--accent2:#1d4ed8;--warn:#b45309;--bad:#b91c1c;--good:#15803d;--chip:#eef2ff}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f3f4f6;color:var(--ink)}
header{background:var(--bg);color:#fff;padding:20px 24px}header h1{margin:0 0 4px;font-size:26px}header p{margin:2px 0;color:#cbd5e1;font-size:14px}
.badge{display:inline-block;background:#f59e0b;color:#111827;font-weight:700;font-size:12px;padding:2px 8px;border-radius:999px;margin-right:6px}
.fence{background:#fef3c7;border:1px solid #f59e0b;padding:10px 14px;border-radius:8px;margin:16px 24px 0;font-size:14px}
nav{display:flex;flex-wrap:wrap;gap:8px;padding:16px 24px 0}nav button{border:1px solid var(--line);background:#fff;padding:9px 14px;border-radius:999px;cursor:pointer;font-weight:600}nav button.active{background:var(--accent);color:#fff;border-color:var(--accent)}
main{padding:16px 24px 32px;max-width:1180px;margin:0 auto}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.card{border:1px solid var(--line);border-radius:10px;padding:14px;background:#f9fafb}.card b{font-size:22px;display:block}.card span{color:var(--muted);font-size:13px}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.num{text-align:right;font-variant-numeric:tabular-nums}input,select,textarea{padding:8px;border:1px solid #d1d5db;border-radius:8px;font:inherit;max-width:100%}label{font-size:13px;color:var(--muted);display:grid;gap:4px}
form.grid{align-items:end}.btn{background:var(--accent);color:#fff;border:0;padding:9px 14px;border-radius:8px;cursor:pointer;font-weight:700}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.blue{background:var(--accent2)}.btn.small{padding:5px 9px;font-size:13px}
.status{font-weight:700;text-transform:capitalize}.st-paid{color:var(--good)}.st-overdue{color:var(--bad)}.st-sent{color:var(--accent2)}.st-draft{color:var(--muted)}
.pill{display:inline-block;background:var(--chip);padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700}
.hidden{display:none!important}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.muted{color:var(--muted);font-size:13px}h2{margin:0 0 10px}h3{margin:16px 0 8px}
@media(max-width:700px){header,nav{padding-left:14px;padding-right:14px}main{padding:12px 14px}.fence{margin:12px 14px 0}table{font-size:13px}}
