/* Shared additions preserve the existing blue/white portal components. */
.startup-layout{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px;background:var(--bg,#f5f7fb)}
.startup-spinner{width:24px;height:24px;border:2px solid #dbe3f1;border-top-color:var(--accent,#2f54a0);border-radius:50%;animation:startup-spin .8s linear infinite}
.startup-label{font-size:13px;color:var(--muted,#64748b)}
@keyframes startup-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.startup-spinner{animation:none}}
.language-select{width:auto;min-width:112px;padding:6px 10px;font-size:13px;background:#fff;color:var(--ink,#111c33)}
.login-language{align-self:flex-end}
.docs-link{display:flex;align-items:center;gap:12px}
.sidebar-bottom{display:grid;gap:8px;padding:16px 0 0;margin-top:auto}
.sidebar-bottom .sidebar-tool{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:11px 14px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.045);color:#dce6f6;text-decoration:none;font-family:inherit;font-weight:500;font-size:13px;line-height:1.4;text-align:left;box-shadow:none;transition:background .16s ease,border-color .16s ease}
.sidebar-bottom .sidebar-tool:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
.sidebar-tool svg{width:18px;height:18px;flex:none;opacity:.8}.sidebar-tool .external{margin-left:auto;opacity:.6}
.mfa-layout{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg,#f5f7fb)}
.mfa-card{width:min(100%,440px)}
.mfa-card .brand{margin-bottom:24px}.mfa-card h2{font-size:23px}
.mfa-qr{display:block;width:240px;height:240px;margin:18px auto;background:#fff;border-radius:12px}
.mfa-manual summary{cursor:pointer;margin:12px 0;color:var(--muted,#64748b)}
.mfa-manual .secret{word-break:break-all}.mfa-card input[name=code]{text-align:center;letter-spacing:.3em;font-size:20px}
.onboarding-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.mfa-card .onboarding-actions{align-items:center}
.mfa-card .onboarding-actions .language-select,.mfa-card .onboarding-actions #mfa-logout{height:40px;margin:0;font-size:13px;border-radius:var(--r-sm)}
.mfa-card .onboarding-actions #mfa-logout{display:inline-flex;align-items:center;justify-content:center;padding:0 14px}
.copy-preview{width:100%;min-height:220px;resize:vertical;font:13px/1.7 system-ui;background:#f8fafc}
.onboarding-details .detail-list{grid-template-columns:140px minmax(0,1fr)}
.onboarding-details .detail-list dt,.onboarding-details .detail-list dd{padding:12px 0;min-width:0;align-content:center}
.onboarding-details .onboarding-secret{margin:0;padding:12px 14px;line-height:1.6;user-select:all}
.onboarding-details .copy-preview{display:block;padding:14px 16px;line-height:1.8}
.terms-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.docs-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:32px}
.docs-heading .language-select{width:124px;min-width:124px;flex:0 0 124px;height:38px;margin-left:auto}
.docs-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px}
.docs-index{position:sticky;top:24px;align-self:start;display:grid;gap:6px}
.docs-index a{padding:8px 12px;border-radius:6px;text-decoration:none;color:#2f54a0}.docs-index a:hover{background:#edf2fc}
.docs-layout section{scroll-margin-top:24px;margin-bottom:28px}.docs .login-card{max-width:440px;margin:40px auto}
@media(max-width:760px){.docs-layout{grid-template-columns:1fr}.docs-index{position:static;display:flex;flex-wrap:wrap;gap:4px}.terms-grid{grid-template-columns:1fr}.topbar-right{gap:8px}.language-select{min-width:96px}}
@media(max-width:480px){.onboarding-details .detail-list{grid-template-columns:1fr}.onboarding-details .detail-list dt{padding:12px 0 4px;border-bottom:0}.onboarding-details .detail-list dd{padding:0 0 12px}.docs-heading{gap:8px}.docs-heading .brand img{width:142px;height:auto}.docs-heading .language-select{width:112px;min-width:112px;flex-basis:112px}}
