.v2-login-page{background:var(--v2-bg,#071625);color:var(--v2-text,#edf7ff)}
.login-shell{width:min(1050px,calc(100% - 32px));margin:0 auto;padding:72px 0 96px}
.login-hero{max-width:760px;margin-bottom:28px}.login-eyebrow{display:inline-block;margin-bottom:10px;color:#65dda4;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.login-hero h1{font-size:clamp(36px,5vw,56px);line-height:1.04;margin:0 0 14px}.login-hero p{color:#9db7c9;line-height:1.65;margin:0;font-size:17px}
.login-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.login-card{border:1px solid #244b65;border-radius:20px;background:#0c2337;padding:24px;display:grid;gap:18px;min-height:360px}.browser-login-card{align-content:start}.login-card-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;border:1px solid #26739a;background:#0a3047;color:#60cef2;font-weight:900;letter-spacing:.04em}.login-kicker{display:block;color:#65dda4;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;margin-bottom:6px}.login-card h2{margin:0 0 8px;font-size:26px}.login-card p{margin:0;color:#9db7c9;line-height:1.6}.browser-identity{padding:10px 12px;border-radius:10px;background:#091d2f;border:1px solid #244b65;color:#bcd2df;font-size:12px;overflow-wrap:anywhere}
.login-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid #244b65;border-radius:12px;padding:4px;background:#091d2f}.login-tab{border:0;border-radius:9px;padding:10px 12px;background:transparent;color:#9db7c9;font:inherit;font-weight:800;cursor:pointer}.login-tab.is-active{background:#12344c;color:#fff}.login-form{display:grid;gap:14px}.login-form label{display:grid;gap:7px}.login-form label span{font-size:13px;color:#b8cad6;font-weight:700}.login-form input{width:100%;box-sizing:border-box;border:1px solid #2a526b;border-radius:11px;background:#071a2a;color:#edf7ff;padding:12px 13px;font:inherit;outline:none}.login-form input:focus{border-color:#39a8e0;box-shadow:0 0 0 3px rgba(57,168,224,.14)}.login-wide-button{width:100%;justify-content:center}.login-note{font-size:12px!important}.login-message{margin-top:18px;padding:14px 16px;border:1px solid #2b6384;border-radius:12px;background:#0a263b;color:#cde8f7}.login-message.is-error{border-color:#80424a;background:#341d25;color:#ffb3bc}.v2-login-page [hidden]{display:none!important}
@media(max-width:800px){.login-shell{padding-top:44px}.login-grid{grid-template-columns:1fr}.login-card{min-height:0}}

/* Interactive states */
.v2-login-page .v2-button{cursor:pointer;user-select:none;position:relative;transition:transform .12s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,filter .16s ease,opacity .16s ease}
.v2-login-page .v2-button:not(:disabled):not([aria-busy="true"]):hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 8px 20px rgba(0,0,0,.22)}
.v2-login-page .v2-button:not(:disabled):not([aria-busy="true"]):active{transform:translateY(1px) scale(.995);filter:brightness(.96);box-shadow:0 2px 7px rgba(0,0,0,.16)}
.v2-login-page .v2-button:focus-visible{outline:2px solid #67d6f4;outline-offset:3px}
.v2-login-page .v2-button:disabled,.v2-login-page .v2-button[aria-disabled="true"]{cursor:not-allowed;opacity:.43;filter:saturate(.5);box-shadow:none;transform:none}
.v2-login-page .v2-button[aria-busy="true"]{cursor:wait!important;opacity:.82;pointer-events:none}
.v2-login-page .v2-button[aria-busy="true"]::before{content:"";display:inline-block;width:14px;height:14px;margin-inline-end:9px;vertical-align:-2px;border:2px solid rgba(255,255,255,.38);border-top-color:#fff;border-radius:50%;animation:login-spin .7s linear infinite}
@keyframes login-spin{to{transform:rotate(360deg)}}
.browser-login-card{transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}
.browser-login-card[data-browser-state="ready"]{border-color:#2f7d68;box-shadow:0 0 0 1px rgba(101,221,164,.08)}
.browser-login-card[data-browser-state="waiting"],.browser-login-card[data-browser-state="checking"]{border-color:#315f7b}
.browser-login-card[data-browser-state="unavailable"],.browser-login-card[data-browser-state="error"]{border-color:#3d5261}
.login-form input:disabled{cursor:not-allowed;opacity:.6}
@media(prefers-reduced-motion:reduce){.v2-login-page .v2-button,.browser-login-card{transition:none!important}.v2-login-page .v2-button[aria-busy="true"]::before{animation-duration:1.4s}}
