:root{color-scheme:dark;--bg: #0d1218;--bg-accent: #121a22;--panel: rgba(18, 26, 34, .92);--panel-soft: rgba(20, 30, 40, .72);--panel-border: rgba(153, 182, 197, .16);--text: #edf4f7;--muted: #8ca2ae;--accent: #5cd1b2;--accent-deep: #1e7f75;--accent-warm: #f3b66d;--danger: #ff7c7c;--success: #8be0c8;--warning: #f3cb7a;--shadow: 0 30px 80px rgba(0, 0, 0, .35);--radius-xl: 28px;--radius-lg: 20px;--radius-md: 14px;--radius-sm: 10px;font-family:Avenir Next,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--text);background:radial-gradient(circle at top left,rgba(92,209,178,.12),transparent 32%),radial-gradient(circle at 85% 12%,rgba(243,182,109,.15),transparent 24%),linear-gradient(180deg,#0b1015,#111821)}button,input,textarea,select{font:inherit}button{cursor:pointer}.screen-center{min-height:100vh;display:grid;place-items:center;padding:24px}.loader-panel{display:grid;gap:18px;justify-items:center;padding:32px;min-width:280px;border:1px solid var(--panel-border);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow)}.loader-orb{width:52px;height:52px;border-radius:999px;background:radial-gradient(circle at 30% 30%,#bff4e7,var(--accent));box-shadow:0 0 0 12px #5cd1b21a;animation:pulse 1.6s ease-in-out infinite}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr}.auth-visual,.auth-panel{padding:56px}.auth-visual{display:grid;align-content:space-between;gap:32px;background:radial-gradient(circle at 30% 20%,rgba(92,209,178,.18),transparent 28%),radial-gradient(circle at 70% 30%,rgba(243,182,109,.16),transparent 24%),linear-gradient(180deg,#0c1218f5,#121a22f5);border-right:1px solid var(--panel-border)}.auth-visual h1{margin:0;font-size:clamp(2.8rem,5vw,5.6rem);line-height:.94;letter-spacing:-.05em;max-width:12ch}.auth-visual p{margin:0;color:#c0d2db;font-size:1.08rem;line-height:1.7;max-width:40ch}.auth-note{display:inline-grid;gap:8px;padding:18px 20px;width:fit-content;border-radius:var(--radius-lg);background:#ffffff0a;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.auth-note span{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.auth-note strong{font-weight:600;letter-spacing:.02em}.auth-panel{display:grid;align-content:center;gap:28px}.auth-panel h2{margin:10px 0 0;font-size:2rem}.eyebrow{color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.muted{color:var(--muted)}.form-stack{display:grid;gap:18px}.field{display:grid;gap:8px}.field span{color:#d7e5eb;font-size:.92rem}.field small{margin-top:4px}.input{width:100%;border:1px solid rgba(150,175,189,.18);border-radius:var(--radius-md);background:#0c1318d1;color:var(--text);padding:14px 16px;transition:border-color .16s ease,transform .16s ease,background .16s ease}.textarea{min-height:108px;resize:vertical}.input:focus{outline:none;border-color:#5cd1b2ad;background:#0b1116f5;transform:translateY(-1px)}.button{border:0;border-radius:999px;padding:13px 18px;font-weight:700;color:#032019;background:linear-gradient(135deg,#78ebc5,var(--accent));box-shadow:0 18px 42px #5cd1b22e}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.7}.button-secondary,.button-ghost,.button-danger{color:var(--text);box-shadow:none}.button-secondary{background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.button-ghost{background:transparent;border:1px solid rgba(255,255,255,.1)}.button-danger{background:#ff7c7c1f;border:1px solid rgba(255,124,124,.24);color:#ffd8d8}.feedback{padding:12px 14px;border-radius:var(--radius-md);font-size:.95rem}.feedback.error{background:#ff7c7c1f;border:1px solid rgba(255,124,124,.18);color:#ffc7c7}.feedback.success{background:#8be0c81f;border:1px solid rgba(139,224,200,.18);color:#c8f3e6}.shell{min-height:100vh;display:grid;grid-template-columns:320px 1fr}.sidebar{position:sticky;top:0;display:grid;gap:26px;align-content:start;min-height:100vh;padding:28px 22px;background:#0a0e13eb;border-right:1px solid var(--panel-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-lockup{display:flex;gap:16px;align-items:center}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#5cd1b23d,#f3b66d47);font-size:1.2rem;font-weight:800}.brand-title{margin:4px 0 0;font-size:1.3rem}.sidebar-copy{margin:0;color:var(--muted);line-height:1.7}.sidebar-nav{display:grid;gap:10px}.nav-button{display:grid;gap:6px;text-align:left;padding:16px;border-radius:18px;color:var(--text);background:transparent;border:1px solid transparent}.nav-button[data-active=true]{background:linear-gradient(180deg,#5cd1b21f,#5cd1b20a);border-color:#5cd1b238}.nav-label{font-weight:700}.nav-blurb{color:var(--muted);font-size:.9rem;line-height:1.45}.sidebar-footer{margin-top:auto}.session-card{padding:16px;border-radius:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.session-api{margin-top:8px;font-family:SF Mono,Menlo,monospace;color:#dce8ed;word-break:break-word}.main{padding:24px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.page-title{margin:6px 0 0;font-size:clamp(2rem,3vw,2.6rem)}.topbar-actions{display:flex;align-items:center;gap:12px}.identity-pill{padding:12px 16px;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.identity-name{font-weight:700}.identity-role{color:var(--muted);font-size:.84rem}.page-frame{display:grid;gap:18px}.panel-stack{display:grid;gap:16px}.metric-grid,.split-layout,.two-column-grid{display:grid;gap:18px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.split-layout,.two-column-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.85fr)}.panel,.metric-card,.role-card,.banner-row{border-radius:var(--radius-xl);border:1px solid var(--panel-border);background:var(--panel);box-shadow:var(--shadow)}.panel{padding:22px}.metric-card{display:grid;gap:10px;padding:22px}.metric-card span,.metric-card small{color:var(--muted)}.metric-card strong{font-size:2rem;letter-spacing:-.04em}.panel-header,.role-card-top{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:18px}.table-shell{overflow:auto}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:.78rem;color:var(--muted);font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:0 0 14px}.table td{padding:16px 0;border-top:1px solid rgba(255,255,255,.08);vertical-align:top}.table-primary{font-weight:700}.table-secondary{margin-top:5px;color:var(--muted);font-size:.9rem;line-height:1.5}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;font-size:.82rem;font-weight:700;text-transform:capitalize;background:#ffffff0f}.status-pill[data-tone=positive]{color:var(--success);background:#8be0c81f}.status-pill[data-tone=warning]{color:var(--warning);background:#f3cb7a1f}.status-pill[data-tone=danger]{color:#ffbaba;background:#ff7c7c1f}.role-list,.banner-list{display:grid;gap:14px}.role-card,.banner-row{padding:18px}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.tag{padding:6px 10px;border-radius:999px;background:#5cd1b21f;color:#bfeee0;font-size:.86rem}.banner-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--muted);font-size:.9rem}.two-field-grid,.three-field-grid{display:grid;gap:14px}.two-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.three-field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.checkbox-chip{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.08);background:#ffffff08}.checkbox-chip[data-checked=true]{border-color:#5cd1b23d;background:#5cd1b214}.form-footer{display:grid;gap:14px}code{font-family:SF Mono,Menlo,monospace}@keyframes pulse{0%,to{transform:scale(.94)}50%{transform:scale(1)}}@media (max-width: 1180px){.metric-grid,.split-layout,.two-column-grid,.shell{grid-template-columns:1fr}.sidebar{position:static;min-height:auto}}@media (max-width: 820px){.auth-shell{grid-template-columns:1fr}.auth-visual,.auth-panel,.main{padding:24px}.topbar,.panel-header,.role-card-top{flex-direction:column}.topbar-actions,.banner-meta,.inline-actions{width:100%}.checkbox-grid,.two-field-grid,.three-field-grid{grid-template-columns:1fr}}
