:root{--bg: #f7f6f3;--panel: #ffffff;--panel-2: #f3f1f7;--border: #e9e5df;--text: #1a1726;--muted: #6b6577;--accent: #7c3aed;--accent-ink: #6d28d9;--accent-2: #0a8b5b;--danger: #b3362b;--warn: #b5791f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14.5px/1.55 Quicksand,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:var(--accent-ink)}::selection{background:#a855f747}.app{max-width:1100px;margin:0 auto;padding:24px}.header{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--border)}.brand{font-family:Righteous,Quicksand,sans-serif;font-weight:400;font-size:19px;letter-spacing:.03em}.brand small{color:var(--muted);font-family:Quicksand,sans-serif;font-weight:500;font-size:12.5px;margin-left:8px}.tabs{display:flex;gap:4px;margin-bottom:20px;flex-wrap:wrap}.tab{padding:8px 14px;border-radius:9px;cursor:pointer;color:var(--muted);background:transparent;border:1px solid transparent;font-weight:600}.tab.active{color:var(--accent-ink);background:#f3eefe;border-color:#e7ddfb}.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:18px;box-shadow:0 18px 44px -32px #3c286e59}.panel h2{margin:0 0 14px;font-size:16px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.5px}td.mono,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.badge{padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border)}.badge.active{color:var(--accent-2);background:#e6f7ef;border-color:#bfe8d4}.badge.cancelled{color:var(--danger);background:#fdeeec;border-color:#f0c4be}.badge.past_due,.badge.pending{color:var(--warn);background:#fef3e2;border-color:#f0ddb8}input,select{background:var(--panel);color:var(--text);border:1px solid #ddd7ce;border-radius:9px;padding:9px 11px;font:inherit;outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7c3aed1f}button{background:linear-gradient(135deg,var(--accent),var(--accent-ink));color:#fff;border:0;border-radius:9px;padding:9px 15px;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 8px 22px -10px #7c3aed8c}button:hover{transform:translateY(-1px)}button.ghost{background:transparent;color:var(--text);border:1px solid #ddd7ce;box-shadow:none}button.ghost:hover{border-color:var(--accent);color:var(--accent-ink)}button.danger{background:transparent;color:var(--danger);border:1px solid #e2b0aa;box-shadow:none}button:disabled{opacity:.5;cursor:default;transform:none}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}.err{color:var(--danger);margin:8px 0}.keybox{background:#e9f8f0;border:1px solid #bfe8d4;border-radius:10px;padding:14px;margin-top:12px;word-break:break-all;font-family:ui-monospace,Consolas,monospace}.login{max-width:380px;margin:12vh auto}.login .panel{padding:26px}.login input{width:100%;margin-bottom:10px}.login button{width:100%}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.plan-card .lim{display:flex;justify-content:space-between;gap:8px;margin:6px 0}.plan-card .lim input{width:110px}.techdoc h2{margin:22px 0 10px;font-size:20px}.techdoc h3{margin:18px 0 8px;font-size:15px;color:var(--accent-ink)}.techdoc p,.techdoc li{color:var(--muted);font-size:14.5px;line-height:1.65}.techdoc ul,.techdoc ol{padding-left:20px;display:grid;gap:6px}.techdoc pre{font:12px/1.5 ui-monospace,Consolas,monospace;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:14px;overflow-x:auto}.techdoc code{font:12.5px ui-monospace,Consolas,monospace;background:var(--panel-2);border-radius:5px;padding:1px 5px}.techdoc table{width:100%;border-collapse:collapse;font-size:13.5px;margin:10px 0}.techdoc th,.techdoc td{text-align:left;padding:8px;border-bottom:1px solid var(--border)}.techdoc td b{color:var(--accent-ink)}.techdoc .priv{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--danger);border:1px solid #e2b0aa;border-radius:999px;padding:4px 10px;margin-bottom:10px}
