:root{--font-heading: "Segoe UI", "Trebuchet MS", "Helvetica Neue", Arial, sans-serif;--font-body: "Segoe UI", "Helvetica Neue", Arial, sans-serif;--bg: #f3f7f2;--surface: #ffffff;--surface-alt: #eaf2e8;--line: #c6d7c4;--text: #1f2a22;--muted: #5f6f63;--primary: #1f8a56;--primary-strong: #176741;--warn: #c97800;--danger: #b53a2d;--shadow: 0 16px 36px rgba(20, 40, 28, .08);--sidebar-bg: #1a2b1f;--sidebar-text: #e9f5ea;--sidebar-muted: #b8d8bc}.theme-dark{--bg: #101614;--surface: #18211d;--surface-alt: #202b26;--line: #33433a;--text: #f2f8f4;--muted: #c2d1c8;--primary: #3fcb84;--primary-strong: #2b9a63;--warn: #f1ba58;--danger: #f08a81;--shadow: 0 16px 36px rgba(0, 0, 0, .32);--sidebar-bg: #0d1411;--sidebar-text: #e7f1ea;--sidebar-muted: #95ac9c}*{box-sizing:border-box}html,body{margin:0;padding:0;background:radial-gradient(circle at top right,#d7ead6,var(--bg) 55%);color:var(--text);font-family:var(--font-body),sans-serif}h1,h2,h3{font-family:var(--font-heading),sans-serif;margin:0}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);padding:24px 20px;position:sticky;top:0;height:100vh}.brand{margin-bottom:22px}.brand p{margin:8px 0 0;color:var(--sidebar-muted);font-size:.9rem}.nav{display:grid;gap:8px}.nav a{border:1px solid transparent;background:#ffffff0d;border-radius:12px;padding:10px 12px;transition:.2s ease}.nav a:hover{border-color:#e9f5ea66;transform:translate(2px)}.main{padding:24px}.topbar{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:16px;display:flex;justify-content:space-between;gap:16px;align-items:center}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:var(--surface-alt);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:.8rem}.grid{display:flex;flex-direction:column;gap:14px;margin-top:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:16px;color:var(--text)}.card h1,.card h2,.card h3,.topbar h1,.topbar h2,.topbar h3{color:var(--text)}.kpi{width:100%}.kpi-row{display:grid}.kpi-row--revenue{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-row--ops{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi p{margin:6px 0 0;color:var(--muted)}.kpi h3{font-size:1.6rem;margin-top:12px}.span-8,.span-4,.span-6{width:100%}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px;font-size:.92rem;color:var(--text)}.table th{color:var(--muted);font-weight:600}.status{border-radius:999px;padding:5px 9px;font-size:.78rem;display:inline-block}.status.ok{background:#deeee3;color:var(--primary-strong)}.status.warn{background:#f7ecd7;color:var(--warn)}.status.danger{background:#f7dddb;color:var(--danger)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.input,.select,.button{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit}.button{background:var(--primary);color:#fff;font-weight:600;cursor:pointer}.button:hover{background:var(--primary-strong)}.button-small{width:auto;padding:6px 10px;font-size:.82rem}.button-danger{background:var(--danger)}.button-danger:hover{background:#8f2d23}.button:disabled{opacity:.6;cursor:not-allowed}.small{font-size:.86rem;color:var(--muted)}.theme-dark .status.ok{background:#1d3a2b;color:#97e7bf}.theme-dark .status.warn{background:#3d321d;color:#ffd27c}.theme-dark .status.danger{background:#402424;color:#ffb8b2}@media(max-width:980px){.shell{grid-template-columns:1fr}.sidebar{position:relative;top:auto;height:auto}.main{padding:14px}.topbar{flex-direction:column;justify-content:flex-start;align-items:flex-start}.form-grid,.kpi-row{grid-template-columns:1fr}.table{display:block;overflow-x:auto;white-space:nowrap}}.invoice-main{background:#f5f5f5}.invoice-paper{background:#fff;border:1px solid #1a1a1a;border-radius:4px;box-shadow:0 12px 28px #00000014;width:100%;max-width:900px;margin:0 auto;padding:32px;color:#0f0f0f;font-family:Trebuchet MS,Arial,sans-serif}.invoice-header{display:flex;justify-content:space-between;gap:24px;border-bottom:2px solid #111;padding-bottom:16px}.invoice-kicker{margin:0;letter-spacing:2px;font-size:12px}.invoice-number{margin:4px 0 0;font-size:34px;letter-spacing:1px}.invoice-meta p{margin:0 0 6px;font-size:13px;text-align:right}.invoice-block{margin-top:20px}.invoice-block h3{font-size:15px;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.block-title{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#444}.invoice-block p{margin:0 0 4px;font-size:14px}.invoice-block:first-of-type{display:grid;grid-template-columns:1fr 1fr;gap:20px}.invoice-table{width:100%;border-collapse:collapse;font-size:13px}.invoice-table th,.invoice-table td{border:1px solid #222;padding:9px 10px;text-align:left;vertical-align:top}.invoice-table th{background:#efefef;font-weight:700}.amount-col{width:180px;text-align:right!important;white-space:nowrap}.totals-box{margin-top:20px;margin-left:auto;width:320px;border:1px solid #111}.totals-box div{display:flex;justify-content:space-between;border-bottom:1px solid #111;padding:10px 12px;font-size:13px}.totals-box div:last-child{border-bottom:none}.balance-row{background:#111;color:#fff;font-size:14px!important}.payment-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}.invoice-footer{margin-top:24px;border-top:1px solid #111;padding-top:12px;font-size:12px;color:#333}@media(max-width:980px){.invoice-paper{padding:18px}.invoice-header{flex-direction:column}.invoice-meta p{text-align:left}.invoice-block:first-of-type{grid-template-columns:1fr}.payment-form{grid-template-columns:1fr}.totals-box{width:100%}}@media print{html,body{background:#fff!important}.no-print,.sidebar{display:none!important}.invoice-shell{display:block!important}.invoice-main{padding:0!important;background:#fff!important}.invoice-paper{max-width:none!important;width:auto!important;margin:0!important;border-radius:0!important;box-shadow:none!important;border:1px solid #111!important;page-break-inside:avoid}@page{size:A4;margin:12mm}}
