.portal-login{--bg-canvas:#070b12;--bg-card:#0b111e;--text-primary:#fff;--text-muted:#8a99ad;--border-color:#1e293b;--font-sans:var(--font-ibm-plex-sans), -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:var(--font-ibm-plex-mono), monospace;--login-bg:var(--bg-canvas);--login-surface:var(--bg-card);--login-border:var(--border-color);--login-divider:#334155;--login-text:var(--text-primary);--login-wordmark:#f8fafc;--login-secondary:#b6c4d7;--login-muted:var(--text-muted);--login-label:#a6b6ca;--login-input:#0e1727;--login-input-border:#64748b;--login-placeholder:#94a3b8;--login-accent:var(--signal);--login-accent-hover:var(--signal-hover);--login-link:#ff7a4d;--login-focus:#f15b2a33;font-family:var(--font-sans);background-image:linear-gradient(90deg,#0000 96%,#ffffff04 96%),linear-gradient(#0000 96%,#ffffff04 96%);background-size:72px 72px}.portal-login[data-login-theme=light]{--bg-canvas:#f8fafc;--bg-card:#fff;--text-primary:#0f172a;--text-muted:#64748b;--border-color:#e2e8f0;--login-bg:var(--bg-canvas);--login-surface:var(--bg-card);--login-border:var(--border-color);--login-divider:#dce4ed;--login-text:var(--text-primary);--login-wordmark:#0f172a;--login-secondary:#475569;--login-muted:var(--text-muted);--login-label:#475569;--login-input:#fff;--login-input-border:#94a3b8;--login-placeholder:#64748b;--login-link:#c2410c;--login-focus:#f15b2a2b;background-image:none}.portal-login{transition:background-color .2s,color .2s}.portal-login>div>section{transition:background-color .2s,border-color .2s}@media (prefers-reduced-motion:reduce){.portal-login,.portal-login>div>section{transition:none}}.portal-login .font-mono{font-family:var(--font-ibm-plex-mono), monospace}.portal-login>div>section{border-top:3px solid var(--signal);border-radius:0;box-shadow:0 24px 60px #00000030}.portal-login [role=group]{border-radius:0}.portal-login [role=group] button[data-active=true]{color:#fff;background:#1e293b}.portal-login [role=group] button[data-active=false]{color:#64748b}.portal-login[data-login-theme=light] [role=group] button[data-active=true]{color:#0f172a;background:#e2e8f0}.login-brand{font-family:var(--font-ibm-plex-sans), sans-serif;letter-spacing:-.03em;white-space:nowrap;align-items:center;gap:5px;font-size:14px;font-weight:800;display:inline-flex}.login-brand-mark{background:var(--signal);flex:none;width:11px;height:11px;margin-right:5px;display:inline-block}.login-brand-accent{color:var(--signal)}.portal-login input,.portal-login button[type=submit]{border-radius:0}.portal-login button[type=submit]:focus-visible,.portal-login [role=group] button:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.portal-login input:focus{border:2px solid var(--signal);box-shadow:none;outline:none}.portal-login .sso-divider{color:#64748b;font-family:var(--font-ibm-plex-mono), monospace;align-items:center;gap:12px;margin:24px 0;font-size:12px;display:flex}.portal-login .sso-divider span{background:var(--login-divider);flex:1;height:1px}.portal-login .microsoft-sso-button{color:#fff;cursor:pointer;background:#161f30;border:1px solid #334155;justify-content:center;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.portal-login .microsoft-sso-button:hover{background:#1e293b;border-color:#64748b}.portal-login .microsoft-sso-button:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.portal-login .microsoft-sso-icon{flex:none;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:2px;width:16px;height:16px;display:grid}.portal-login .microsoft-sso-icon span:first-child{background:#f25022}.portal-login .microsoft-sso-icon span:nth-child(2){background:#7fba00}.portal-login .microsoft-sso-icon span:nth-child(3){background:#00a4ef}.portal-login .microsoft-sso-icon span:nth-child(4){background:#ffb900}.portal-login .login-security-note{border-top:1px solid var(--login-divider);align-items:flex-start;gap:12px;margin-top:24px;padding-top:16px;display:flex}.portal-login .login-security-rule{background:var(--signal);flex:none;width:2px;height:40px}.portal-login .login-security-title{color:#fff;font-family:var(--font-ibm-plex-sans), sans-serif;font-size:12px;font-weight:700;line-height:1.4}.portal-login .login-security-copy{color:#cbd5e1;font-family:var(--font-ibm-plex-sans), sans-serif;margin-top:2px;font-size:11px;line-height:1.6}.portal-login[data-login-theme=light] .login-security-title{color:#0f172a}.portal-login[data-login-theme=light] .login-security-copy{color:#475569}@media (prefers-reduced-motion:reduce){.portal-login>div{animation:none}}
