:root{--ink:#101418;--muted:#5c6b7a;--hairline:#d8dee5;--focus:#0e6e5e;--error:#a32d2d;--paper:#ffffff;--radius:10px;--bg:#f4f6f8;--info:#1d4ed8}@media (prefers-color-scheme:dark){:root{--ink:#f2f4f6;--muted:#9aa7b4;--hairline:#3a424b;--focus:#2fa08c;--error:#e2777a;--paper:#14181c;--bg:#0e1215;--info:#6ea8fe}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:860px;margin:0 auto;padding:32px 20px 64px;display:grid;grid-gap:20px;gap:20px}.topbar h1{margin:0;font-size:22px;letter-spacing:-.01em}.card{background:var(--paper);border:1px solid var(--hairline);border-radius:14px;padding:20px}.form{display:grid;grid-gap:14px;gap:14px;max-width:460px}.form h2{margin:0 0 4px;font-size:16px}.form label{display:grid;grid-gap:6px;gap:6px;font-size:13px;color:var(--muted)}.form input[type=number],.form input[type=text]{width:100%;height:44px;padding:0 12px;border:1px solid var(--hairline);border-radius:var(--radius);background:var(--paper);color:var(--ink);font:inherit;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.01em}.form input::placeholder{color:var(--muted);opacity:.6}.form input:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus)}button{height:44px;padding:0 18px;border:0;border-radius:var(--radius);background:var(--focus);color:#ffffff;font:inherit;font-weight:600;cursor:pointer;justify-self:start}button:disabled{opacity:.6;cursor:default}.error{color:var(--error);margin:4px 0 0}.success{margin:4px 0 0;word-break:break-all}.success,.success a,td a{color:var(--focus)}.muted{color:var(--muted)}table{width:100%;border-collapse:collapse;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td,th{text-align:left;padding:11px 8px;border-bottom:1px solid var(--hairline)}tr:last-child td{border-bottom:0}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.status,th{font-size:12px}.status{display:inline-block;padding:2px 10px;border:1px solid var(--hairline);border-radius:999px;text-transform:capitalize}.status--active{color:var(--focus);border-color:color-mix(in srgb,var(--focus) 40%,var(--hairline))}.status--paid{color:var(--info);border-color:color-mix(in srgb,var(--info) 40%,var(--hairline))}.status--cancelled,.status--expired{color:var(--muted)}