:root{--bg: var(--color-bg);--card: var(--color-surface);--border: var(--color-border);--text: var(--color-text);--muted: var(--color-muted);--accent: var(--color-accent);--ok: var(--color-ok);--err: var(--color-err);font-family:var(--font-sans)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.app{max-width:760px;margin:0 auto;padding:28px 22px 60px}.hdr h1{margin:0 0 2px;font-size:24px}.sub{color:var(--muted);font-size:13px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px 20px;margin-top:18px}ds-card{display:block;margin-top:18px}ds-button{margin-right:8px}.card h2{margin:0 0 6px;font-size:17px}.muted{color:var(--muted);font-size:14px}code{background:#eef1f6;padding:1px 5px;border-radius:4px;font-size:12px}.row{display:flex;gap:10px;margin-top:12px;align-items:center}.row.wrap{flex-wrap:wrap}input{flex:1;padding:9px 12px;border:1px solid var(--border);border-radius:8px;font:inherit}button{font:inherit;cursor:pointer;border-radius:8px;padding:9px 14px;border:1px solid var(--border);background:#fff;color:var(--text)}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.primary:disabled{opacity:.6;cursor:default}button.ghost:hover{border-color:var(--accent);color:var(--accent)}button.link{background:none;border:none;color:var(--accent);padding:0 0 8px}.results{list-style:none;padding:0;margin:14px 0 0}.results li{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid var(--border)}.error{margin-top:12px;color:var(--err);font-size:13px;font-family:ui-monospace,monospace}.token{margin-top:12px;background:#0f1216;color:#8fe3a6;padding:10px 12px;border-radius:8px;font-size:12px;overflow-x:auto}.standalone{max-width:520px;margin:80px auto;text-align:center;font-family:system-ui}.standalone .err{color:var(--err);font-family:ui-monospace,monospace;font-size:12px}.credit-header{margin:10px 0;font-size:14px}.credit-pill{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--accent);color:#fff;font-size:12px;font-weight:600}.surface{padding:12px 14px}.surface .invoice-row{gap:12px}.surface .invoice-meta{display:flex;align-items:center;gap:10px}.surface .pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase}.surface .pill-paid{background:#28aa5a26;color:var(--ok)}.surface .pill-due{background:#7878c826;color:var(--accent)}.surface .pill-overdue{background:#dc464626;color:var(--err)}
