:root{--bg:#0b0d10;--panel:#15181d;--border:#262b33;--text:#e7eaee;--muted:#8b93a1;--accent:#4f8cff;--danger:#ff5c5c}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;max-width:400px;margin:12vh auto 0;padding:2rem}.auth-card h1{margin:0 0 1.25rem;font-size:1.2rem}.auth-card label{color:var(--muted);margin:.75rem 0 .25rem;font-size:.85rem;display:block}.auth-card input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:6px;padding:.55rem .7rem;font-size:.95rem}.auth-card input:focus{border-color:var(--accent);outline:none}.auth-card button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;margin-top:1.25rem;padding:.6rem;font-size:.95rem;font-weight:600}.auth-card button:disabled{opacity:.6;cursor:default}.auth-error{color:var(--danger);margin-top:.9rem;font-size:.85rem}.auth-hint{color:var(--muted);margin-top:.9rem;font-size:.82rem}.totp-secret{background:var(--bg);border:1px dashed var(--border);word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:6px;margin:.75rem 0;padding:.6rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;display:block}.portal-shell{max-width:1100px;margin:0 auto;padding:1.5rem}.portal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.portal-header .who{color:var(--muted);font-size:.85rem}.portal-header form button{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .8rem}.badge{background:var(--panel);border:1px solid var(--border);color:var(--muted);border-radius:999px;margin-left:.5rem;padding:.1rem .5rem;font-size:.72rem;display:inline-block}.portal-nav{align-items:center;gap:1.25rem;display:flex}.portal-nav a{color:var(--muted);font-size:.92rem}.portal-nav a:first-child,.portal-nav a:hover{color:var(--text)}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.kpi-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem}.kpi-card .kpi-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.kpi-card .kpi-value{margin-top:.3rem;font-size:1.5rem;font-weight:650}.kpi-card .kpi-sub{color:var(--muted);margin-top:.15rem;font-size:.8rem}.data-table{border-collapse:collapse;width:100%;font-size:.88rem}.data-table th{border-bottom:1px solid var(--border);color:var(--muted);text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:.5rem .75rem;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:.55rem .75rem}.data-table tbody tr:hover{background:var(--panel)}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.section-title{margin:2rem 0 .75rem;font-size:1.05rem}.muted{color:var(--muted)}.pill{border:1px solid var(--border);border-radius:999px;padding:.08rem .5rem;font-size:.75rem;display:inline-block}.pill.plan-pro{border-color:var(--accent);color:var(--accent)}.pill.plan-starter{color:#39b06a;border-color:#39b06a}.pill.gifted{color:#c08a3e;border-color:#c08a3e}.search-form{margin-bottom:1rem}.search-form input{background:var(--panel);border:1px solid var(--border);width:320px;color:var(--text);border-radius:6px;padding:.5rem .7rem}.detail-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.actions-panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin:1.5rem 0;padding:1.25rem}.actions-panel .section-title{margin-top:0}.actions-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.action-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1rem}.action-card h3{margin:0 0 .5rem;font-size:.95rem}.action-card label{color:var(--muted);margin:.6rem 0 .2rem;font-size:.82rem;display:block}.action-card input[type=text],.action-card input[type=number],.action-card input[type=email],.action-card input[type=date],.action-card select{background:var(--panel);border:1px solid var(--border);width:100%;color:var(--text);border-radius:6px;padding:.45rem .6rem;font-size:.9rem}.action-card input:focus,.action-card select:focus{border-color:var(--accent);outline:none}.action-card button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:.9rem;padding:.45rem 1rem;font-size:.85rem;font-weight:600}.action-card button:disabled{opacity:.5;cursor:default}.action-card.danger{border-color:var(--danger)}.action-card.danger button{background:var(--danger)}.guardrail{border:1px solid var(--danger);color:var(--text);background:#ff5c5c14;border-radius:8px;margin:.75rem 0;padding:.6rem .8rem;font-size:.84rem;display:block}.action-ok{color:#39b06a;margin-top:.75rem;font-size:.85rem}.action-error{color:var(--danger);margin-top:.75rem;font-size:.85rem}.row-actions{align-items:center;gap:.4rem;display:inline-flex}.row-actions select,.row-actions button{background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:.25rem .55rem;font-size:.78rem}.row-actions button:disabled{opacity:.5;cursor:default}.search-form{flex-wrap:wrap;gap:.5rem;display:flex}.search-form button{background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:.5rem 1rem}.json-cell{max-width:220px;max-height:7.5rem;color:var(--muted);white-space:pre-wrap;word-break:break-word;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;overflow:auto}.token-box{border:1px solid var(--border);color:var(--text);word-break:break-all;white-space:pre-wrap;background:#0b0e14;border-radius:6px;padding:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;overflow-x:auto}.wizard-steps{flex-wrap:wrap;gap:.3rem;margin-top:.35rem;display:flex}.pill.step-done{color:#39b06a;background:#39b06a26}.pill.step-todo{color:var(--muted);background:#ffffff0f}.pill.expiring{color:#e6a03c;background:#e6a03c2e}.pill.revoked{color:var(--danger);background:#dc505026}.pill.status-active{color:#39b06a;background:#39b06a26}.pill.status-onboarding{color:#5a96f0;background:#5a96f026}.pill.status-churned{color:var(--danger);background:#dc505026}.email-vars{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.6rem;margin:.75rem 0;display:grid}.email-preview{border:1px solid var(--border);background:#fff;border-radius:6px;margin-top:1rem;padding:1rem}.email-preview h4{color:#222;margin:0 0 .75rem}.email-preview-html{color:#222}.email-preview details summary{color:#555;cursor:pointer;margin-top:.75rem}.email-preview .token-box{color:#222;background:#f4f4f4;border-color:#ddd}.action-card details{margin:.5rem 0}.action-card details summary{cursor:pointer;color:var(--muted);font-size:.85rem}.action-card textarea{background:var(--panel-2,var(--panel));border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;border-radius:6px;padding:.5rem .6rem;font-family:inherit;font-size:.85rem}.confirm-dialog{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:10px;width:min(440px,100vw - 2rem);padding:0;box-shadow:0 20px 60px #0000008c}.confirm-dialog::backdrop{background:#0009}.confirm-dialog-box{padding:1.25rem 1.4rem 1.1rem}.confirm-dialog-box h3{margin:0 0 .5rem;font-size:1.05rem}.confirm-dialog-description{color:var(--muted);margin:0 0 1rem;font-size:.88rem;line-height:1.5}.confirm-dialog-reason{color:var(--muted);margin:0 0 1rem;font-size:.8rem;display:block}.confirm-dialog-reason input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:6px;margin-top:.35rem;padding:.5rem .65rem;font-family:inherit;font-size:.9rem;display:block}.confirm-dialog-reason input:focus{border-color:var(--accent);outline:none}.confirm-dialog-actions{justify-content:flex-end;gap:.5rem;display:flex}.confirm-dialog-actions button{background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:.45rem 1rem;font-size:.85rem;font-weight:600}.confirm-dialog-actions button[type=submit]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.confirm-dialog-actions button.danger{background:var(--danger);border-color:var(--danger);color:var(--bg)}.confirm-dialog-actions button:disabled{opacity:.5;cursor:default}
