:root{--brand:#0957ff;--gold:#ffcc22;--dark:#07111f;--bg:#f4f7fb;--line:#e2e8f0;--muted:#64748b;--green:#16a34a;--red:#dc2626}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:#0f172a}
a{text-decoration:none;color:inherit}.layout{display:grid;grid-template-columns:270px 1fr;min-height:100vh}
.side{background:linear-gradient(180deg,#07111f,#08265f);color:#fff;padding:20px;position:sticky;top:0;height:100vh}
.logo{display:flex;gap:12px;align-items:center;margin-bottom:24px}.logo i{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,var(--gold),#18d7ff);color:#07111f;display:grid;place-items:center;font-size:24px}
.nav a{display:flex;gap:10px;align-items:center;padding:13px 14px;border-radius:16px;color:#dbeafe;margin-bottom:6px;font-weight:800}.nav a:hover,.nav a.active{background:rgba(255,255,255,.12);color:#fff}.nav i{color:var(--gold)}
.main{padding:22px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}
.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 12px 35px rgba(15,23,42,.06);margin-bottom:16px}
.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}
.stat small{color:var(--muted);font-weight:800}.stat strong{display:block;font-size:25px;margin-top:6px}
.btn{border:0;border-radius:14px;padding:11px 14px;background:var(--brand);color:#fff;font-weight:850;cursor:pointer;display:inline-flex;gap:7px;align-items:center}.btn.light{background:#e2e8f0;color:#0f172a}.btn.green{background:var(--green)}.btn.red{background:var(--red)}.btn.gold{background:var(--gold);color:#07111f}
.form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.full{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:850;color:#475569;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px}.field textarea{min-height:85px}
.table{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{background:#f8fafc;color:#475569;text-transform:uppercase;font-size:12px}
.badge{border-radius:999px;padding:6px 10px;font-weight:850;font-size:12px;background:#e2e8f0}.paid{background:#dcfce7;color:#166534}.due{background:#fee2e2;color:#991b1b}.open{background:#fef3c7;color:#92400e}
.flash{background:#dcfce7;color:#166534;border:1px solid #86efac;padding:12px 14px;border-radius:16px;margin-bottom:14px;font-weight:800}
.doc{background:#fff;padding:28px;border-radius:24px;border:1px solid var(--line)}.doc-head{display:flex;justify-content:space-between;border-bottom:3px solid var(--brand);padding-bottom:16px;margin-bottom:18px}.doc-logo{font-size:24px;color:var(--brand);font-weight:950}.total{font-size:30px;font-weight:950}
@media(max-width:900px){.layout{grid-template-columns:1fr}.side{position:relative;height:auto}.grid-4,.grid-2,.form{grid-template-columns:1fr}.top{align-items:flex-start;flex-direction:column}}
@media print{.side,.top,.no-print,.btn{display:none!important}.layout{display:block}.main{padding:0}.doc{border:0;border-radius:0}}
