:root{--bg: #f6f7f9;--surface: #ffffff;--border: #e2e5ea;--text: #1c2024;--muted: #6b7280;--accent: #2563eb;--danger: #dc2626;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}.topbar{display:flex;align-items:center;gap:2rem;padding:.75rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.brand{font-weight:700;font-size:1.1rem}.topbar nav{display:flex;gap:.5rem}.topbar nav button.active{background:var(--accent);color:#fff;border-color:var(--accent)}main{max-width:1000px;margin:0 auto;padding:1.5rem}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}h1{font-size:1.4rem;display:flex;align-items:center;gap:.75rem}button{padding:.4rem .8rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);cursor:pointer;font:inherit}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.filters{display:flex;gap:.5rem;margin:1rem 0}.chip.active{background:var(--text);color:#fff;border-color:var(--text)}table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-top:1rem}th,td{padding:.6rem .8rem;text-align:left;border-bottom:1px solid var(--border);font-size:.9rem}th{background:#fafbfc;font-weight:600}tbody tr:last-child td{border-bottom:none}.right{text-align:right}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-top:1rem}label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--muted)}input,select,textarea{padding:.4rem .5rem;border:1px solid var(--border);border-radius:6px;font:inherit;color:var(--text);background:var(--surface)}.lines input{width:100%}.notes{margin-top:1rem}.notes textarea{min-height:4rem}.totals{display:flex;justify-content:flex-end;gap:2rem;margin:1rem 0;font-size:.9rem}.totals .ttc{font-size:1.05rem}.actions{display:flex;gap:.5rem;margin-top:1rem}.badge{padding:.15rem .5rem;border-radius:999px;font-size:.75rem;background:var(--border)}.badge.issued{background:#dbeafe;color:#1e40af}.badge.paid{background:#dcfce7;color:#166534}.badge.cancelled{background:#fee2e2;color:#991b1b}.muted{color:var(--muted)}.error{color:var(--danger);font-size:.9rem}
