:root{--background:#f5f7fb;--surface:#fff;--surface-muted:#eef2f8;--text:#1d2432;--text-muted:#596279;--border:#d6dce8;--brand:#0f4cb8;--brand-dark:#0c3a8b;--danger:#b32020;--success:#0f8044;--warning:#a87409}*{box-sizing:border-box}html,body{background:var(--background);color:var(--text);margin:0;padding:0;font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:inherit;text-decoration:none}input,select,textarea,button{font:inherit}.app-shell{min-height:100vh}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:flex-end;gap:1.5rem;padding:1.25rem 2rem;display:flex;position:sticky;top:0}.brand-name{text-transform:uppercase;letter-spacing:.08em;color:var(--brand);margin:0;font-size:.85rem;font-weight:700}.topbar h1{margin:.25rem 0;font-size:1.5rem}.tagline{color:var(--text-muted);margin:0;font-size:.9rem}.topbar ul{gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.topbar a{color:var(--text-muted);border-radius:.5rem;padding:.5rem .75rem;font-weight:600}.topbar a.active,.topbar a:hover{background:var(--surface-muted);color:var(--text)}.main-content{width:min(1100px,100% - 2rem);margin:1.5rem auto 2.5rem}.stack{flex-direction:column;gap:1rem;display:flex}.grid{gap:1rem;display:grid}.cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1rem}.kpi{margin:.25rem 0 0;font-size:1.5rem;font-weight:700}.prototype-banner{color:#233d71;background:#ebf1ff;border:1px solid #c7d6fb;border-radius:.75rem;margin:0;padding:.75rem 1rem;font-size:.92rem}.section-title{justify-content:space-between;align-items:center;gap:1rem;display:flex}.table{border-collapse:collapse;width:100%;margin-top:.75rem}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.65rem}.table th{color:var(--text-muted);font-size:.85rem;font-weight:600}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}label{flex-direction:column;gap:.4rem;font-size:.92rem;font-weight:600;display:flex}input,select,textarea{border:1px solid var(--border);background:#fff;border-radius:.55rem;padding:.55rem .65rem}textarea{resize:vertical}.full-width{grid-column:1/-1}.actions{flex-wrap:wrap;gap:.6rem;margin-top:.85rem;display:flex}.button{border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;border-radius:.55rem;padding:.5rem .85rem;font-weight:600}.button:hover{background:var(--brand-dark)}.button.secondary{background:var(--surface);color:var(--brand)}.status{border-radius:999px;padding:.15rem .55rem;font-size:.78rem;font-weight:700;display:inline-block}.status.draft{color:var(--warning);background:#fff2d8}.status.sent{color:#2454b7;background:#e6f0ff}.status.paid{color:var(--success);background:#e6f6ee}.error{color:var(--danger);font-weight:600}.invoice-header{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.invoice-total{margin:1rem 0 0;font-size:1.05rem;font-weight:700}.address-text{white-space:pre-line}@media (max-width:860px){.topbar{flex-direction:column;align-items:flex-start}.topbar ul{flex-wrap:wrap}.main-content{width:calc(100% - 1rem)}}@media print{.no-print,.topbar,.prototype-banner{display:none!important}body,.main-content,.card{box-shadow:none;background:#fff;border:0;margin:0;padding:0}.printable-invoice{page-break-inside:avoid}}
