*,*:before,*:after{box-sizing:border-box}:root{--bg: #ffffff;--fg: #111111;--bg-subtle: #f5f5f5;--border: #e5e7eb;--accent: #3b82f6;--danger: #ef4444;--muted: #6b7280;--card-bg: #ffffff}[data-theme=dark]{--bg: #111111;--fg: #eeeeee;--bg-subtle: #1a1a1a;--border: #2a2a2a;--accent: #60a5fa;--danger: #f87171;--muted: #9ca3af;--card-bg: #1c1c1c}body{margin:0;padding:24px;font-family:system-ui,-apple-system,sans-serif;font-size:14px;background:var(--bg);color:var(--fg);transition:background .2s,color .2s}h1{margin-top:0;font-size:20px;font-weight:600}h2{font-size:15px;font-weight:600;margin:0 0 12px}nav{display:flex;gap:16px;margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid var(--border)}nav a{color:var(--accent);text-decoration:none;font-weight:500}nav a:hover{text-decoration:underline}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:32px}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:16px}.card-value{font-size:24px;font-weight:700}.card-label{color:var(--muted);margin-top:4px}.section{margin-bottom:32px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border)}th{font-weight:600;color:var(--muted)}td a{color:var(--accent);text-decoration:none}td a:hover{text-decoration:underline}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge-paid{background:#dcfce7;color:#166534}.badge-pending{background:#fef9c3;color:#854d0e}.badge-overdue{background:#fee2e2;color:#991b1b}[data-theme=dark] .badge-paid{background:#14532d;color:#86efac}[data-theme=dark] .badge-pending{background:#422006;color:#fde68a}[data-theme=dark] .badge-overdue{background:#450a0a;color:#fca5a5}.actions{display:flex;gap:8px;flex-wrap:wrap}button{padding:6px 14px;border:1px solid var(--border);border-radius:6px;background:var(--bg-subtle);color:var(--fg);cursor:pointer;font-size:13px;font-family:inherit}button:hover{background:var(--border)}button.danger{color:var(--danger);border-color:var(--danger)}#loading{color:var(--muted);padding:8px 0}#error{color:var(--danger);padding:8px 0}pre{background:var(--bg-subtle);border:1px solid var(--border);border-radius:6px;padding:12px;overflow:auto;font-size:12px;margin:0}
