:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-muted: #f1f5f9;--color-text: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-subtle: #94a3b8;--color-border: #e2e8f0;--color-border-input: #cbd5e1;--color-primary: #2563eb;--color-primary-strong: #1d4ed8;--color-primary-soft: #eff6ff;--color-on-primary: #ffffff;--color-danger: #b91c1c;--color-danger-soft: #fef2f2;--color-success: #15803d;--color-success-soft: #f0fdf4;--color-warning: #92400e;--color-warning-soft: #fef3c7;--shadow-menu: 0 8px 24px rgba(15, 23, 42, .08);--overlay: rgba(15, 23, 42, .45);color:var(--color-text);background:var(--color-bg)}[data-theme=dark]{color-scheme:dark;--color-bg: #0b1220;--color-surface: #111827;--color-surface-muted: #1e293b;--color-text: #e2e8f0;--color-text-secondary: #94a3b8;--color-text-muted: #94a3b8;--color-text-subtle: #64748b;--color-border: #334155;--color-border-input: #475569;--color-primary: #3b82f6;--color-primary-strong: #60a5fa;--color-primary-soft: #172554;--color-on-primary: #ffffff;--color-danger: #f87171;--color-danger-soft: #450a0a;--color-success: #4ade80;--color-success-soft: #052e16;--color-warning: #fbbf24;--color-warning-soft: #422006;--shadow-menu: 0 8px 24px rgba(0, 0, 0, .45);--overlay: rgba(0, 0, 0, .6)}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text)}a{color:inherit;text-decoration:none}.layout{min-height:100vh;background:var(--color-bg)}.header{display:flex;align-items:center;gap:24px;padding:16px 24px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.brand{font-weight:700}.nav{display:flex;align-items:center;gap:16px;flex:1;flex-wrap:wrap}.nav a.router-link-active{color:var(--color-primary);font-weight:600}.user{display:flex;align-items:center;gap:12px;color:var(--color-text-secondary);font-size:14px}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-muted);color:var(--color-text-secondary);cursor:pointer;padding:0}.theme-toggle-floating{position:fixed;top:16px;right:16px;z-index:60}.theme-toggle svg{width:18px;height:18px;display:block}.main{max-width:1080px;margin:0 auto;padding:24px}.page-title{margin:0 0 8px;font-size:28px}.page-subtitle{margin:0 0 24px;color:var(--color-text-muted)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;flex-wrap:wrap}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:20px;margin-bottom:16px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.btn{border:0;border-radius:8px;padding:10px 14px;font:inherit;cursor:pointer}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-secondary{background:var(--color-border);color:var(--color-text)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-danger{background:var(--color-danger-soft);color:var(--color-danger)}.btn:disabled{opacity:.55;cursor:not-allowed}.input{width:100%;border:1px solid var(--color-border-input);border-radius:8px;padding:10px 12px;font:inherit;background:var(--color-surface);color:var(--color-text)}.field{display:grid;gap:8px;margin-bottom:16px}.muted{color:var(--color-text-muted)}.error{color:var(--color-danger)}.success{color:var(--color-success)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary-strong);font-size:12px}.badge-draft{background:var(--color-surface-muted);color:var(--color-text-secondary)}.badge-sent{background:var(--color-primary-soft);color:var(--color-primary-strong)}.badge-paid{background:var(--color-success-soft);color:var(--color-success)}.badge-in_progress{background:var(--color-warning-soft);color:var(--color-warning)}.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid var(--color-border);padding:10px 8px;text-align:left;vertical-align:top}.center-card{max-width:420px;margin:80px auto}.back-link{display:inline-block;margin-bottom:12px;color:var(--color-text-muted)}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.option-check{display:flex;gap:10px;align-items:flex-start;padding:8px 0}.option-check input{margin-top:4px}.stat{font-size:32px;font-weight:700}
