:root{--sc-bg: #0E1116;--sc-surface: #171B22;--sc-surface-2: #1E2430;--sc-border: #232A33;--sc-text: #E6E9EF;--sc-text-muted: #97A1AF;--sc-accent: #3D7EA6;--sc-accent-bright: #5EA9CE;--sc-radius: 14px;--sc-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--sc-font-mono: ui-monospace, "JetBrains Mono", "SF Mono", "Cascadia Code", "Roboto Mono", Menlo, Consolas, monospace;--bg-primary: var(--sc-bg);--bg-secondary: var(--sc-surface);--bg-panel: var(--sc-surface-2);--bg-hover: #242c38;--text-primary: var(--sc-text);--text-secondary: var(--sc-text-muted);--accent: var(--sc-accent);--accent-hover: var(--sc-accent-bright);--danger: #ff3b5c;--success: #2ecc71;--warning: #f39c12;--border: var(--sc-border);--radius: var(--sc-radius);--font: var(--sc-font-sans);--mono: var(--sc-font-mono);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1200px 600px at 80% -10%,rgba(94,169,206,.1),transparent 60%),var(--bg-primary);color:var(--text-primary);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent-hover);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-weight:600;letter-spacing:-.01em}.portal-brand{font-weight:700;font-size:1.1rem;letter-spacing:-.02em}.portal-brand-dot{color:var(--accent-hover)}.portal-brand-lg{font-size:2rem}.portal-shell{display:flex;flex-direction:column;min-height:100%}.portal-topbar{display:flex;align-items:center;gap:24px;padding:0 24px;height:56px;background:#0e1116d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.portal-nav{display:flex;gap:4px;flex:1}.portal-navlink{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius);color:var(--text-secondary);font-weight:500;transition:background .15s,color .15s}.portal-navlink:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.portal-navlink.active{background:#3d7ea62e;color:var(--accent-hover)}.portal-topbar-right{display:flex;align-items:center;gap:12px}.portal-user{color:var(--text-secondary);font-size:.9rem}.portal-main{flex:1;padding:32px 24px;max-width:980px;width:100%;margin:0 auto}.portal-page{display:flex;flex-direction:column;gap:20px}.portal-page-header h1{display:flex;align-items:center;gap:10px;margin:0;font-size:1.5rem}.portal-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.portal-card-title{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:1rem;color:var(--text-primary)}.portal-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);color:var(--text-primary);font-family:inherit;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.portal-btn:hover{background:var(--bg-hover)}.portal-btn:disabled{opacity:.5;cursor:not-allowed}.portal-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.portal-btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.portal-btn-ghost{background:transparent}.portal-btn-danger-subtle{color:var(--danger);border-color:transparent;background:transparent}.portal-btn-danger-subtle:hover{background:#ff3b5c1f}.portal-btn-sm{padding:6px 10px;font-size:.82rem}.portal-btn-block{width:100%;justify-content:center}.portal-field{display:flex;flex-direction:column;gap:6px}.portal-field>span{font-size:.82rem;color:var(--text-secondary)}.portal-field-grow{flex:1}input,.portal-input-grow{padding:9px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:inherit;font-size:.92rem;transition:border-color .15s}input:focus,.portal-input-grow:focus{outline:none;border-color:var(--accent)}.portal-input-grow{flex:1}.portal-inline-form{display:flex;gap:12px;align-items:flex-end}.portal-hint{margin:8px 0 0;font-size:.8rem;color:var(--text-secondary)}.portal-invite{display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}.portal-code{font-family:var(--mono);font-size:1.1rem;letter-spacing:.15em;padding:6px 12px;background:var(--bg-primary);border:1px dashed var(--accent);border-radius:var(--radius);color:var(--accent-hover)}.portal-table{width:100%;border-collapse:collapse}.portal-table th{text-align:left;padding:10px 12px;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border)}.portal-table td{padding:12px;border-bottom:1px solid var(--border);font-size:.92rem}.portal-table tr:last-child td{border-bottom:none}.portal-row-actions{text-align:right}.portal-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.76rem;font-weight:600;background:var(--bg-hover);color:var(--text-secondary)}.portal-badge-active{background:#2ecc7126;color:var(--success)}.portal-badge-invited{background:#3d7ea62e;color:var(--accent-hover)}.portal-badge-paused{background:#f39c1226;color:var(--warning)}.portal-badge-revoked,.portal-badge-expired,.portal-badge-refunded{background:#ff3b5c1f;color:var(--danger)}.portal-loading,.portal-empty{padding:32px;text-align:center;color:var(--text-secondary)}.portal-error{padding:12px 16px;border-radius:var(--radius);background:#ff3b5c1a;border:1px solid rgba(255,59,92,.3);color:var(--danger);font-size:.9rem}.portal-deflist{display:grid;grid-template-columns:160px 1fr;gap:12px 16px;margin:0}.portal-deflist dt{color:var(--text-secondary);font-size:.9rem}.portal-deflist dd{margin:0}.portal-auth{min-height:100vh;display:grid;place-items:center;padding:24px}.portal-auth-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:16px;padding:36px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 24px 60px #0006}.portal-auth-sub{margin:-8px 0 4px;color:var(--text-secondary)}.portal-auth-alt{text-align:center;font-size:.9rem;margin-top:4px}.portal-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.portal-tile{display:flex;flex-direction:column;gap:10px;padding:18px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s}.portal-tile:hover{border-color:var(--accent)}.portal-tile-locked{opacity:.7}.portal-tile-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.portal-tile-name{font-weight:600;font-size:1.05rem}.portal-tile-desc{margin:0;color:var(--text-secondary);font-size:.88rem;flex:1}.portal-tile .portal-btn{align-self:flex-start}.portal-badge-beta{background:#5ea9ce2e;color:var(--accent-hover)}.portal-badge-demo{background:#2ecc7126;color:var(--success)}.portal-badge-comingsoon{background:var(--bg-hover);color:var(--text-secondary)}select{padding:9px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:inherit;font-size:.92rem}select:focus{outline:none;border-color:var(--accent)}.portal-subnav{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--border)}.portal-subnav-link{padding:8px 12px;color:var(--text-secondary);font-size:.88rem;font-weight:500;border-bottom:2px solid transparent}.portal-subnav-link:hover{color:var(--text-primary);text-decoration:none}.portal-subnav-link.active{color:var(--accent-hover);border-bottom-color:var(--accent)}.portal-subnav-soon{color:var(--warning);margin-left:5px}.portal-admin-split{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}@media(min-width:980px){.portal-admin-split:has(.portal-admin-detail){grid-template-columns:1.5fr 1fr}}.portal-admin-detail{display:flex;flex-direction:column;gap:12px}.portal-admin-actions{display:flex;gap:8px;flex-wrap:wrap}.portal-admin-invite{border-top:1px solid var(--border);padding-top:14px}textarea{padding:9px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:inherit;font-size:.92rem;resize:vertical}textarea:focus{outline:none;border-color:var(--accent)}.portal-token-reveal{display:flex;flex-direction:column;gap:10px;padding:14px 16px;margin-bottom:16px;background:#5ea9ce1a;border:1px solid var(--accent);border-radius:var(--radius)}.portal-token-reveal code{word-break:break-all;font-size:.9rem;color:var(--text-primary)}@media(max-width:720px){.portal-topbar{gap:12px;padding:0 14px}.portal-navlink span,.portal-user{display:none}.portal-main{padding:20px 14px}.portal-inline-form{flex-direction:column;align-items:stretch}.portal-deflist{grid-template-columns:1fr;gap:4px 0}.portal-deflist dd{margin-bottom:10px}}
