:root{--nav-2:var(--nav2);--text:var(--text-primary);--secondary:var(--text-secondary);--muted:var(--text-muted);--shadow:var(--shadow-3)}*{box-sizing:border-box}html{min-width:320px;background:var(--background)}body{min-height:100vh;margin:0;background:var(--background);color:var(--text);font:var(--text-md)/var(--leading-normal) var(--font-sans)}.skip-link{position:fixed;z-index:10;top:8px;left:8px;padding:9px 12px;border-radius:7px;background:var(--surface);color:var(--primary);font-weight:700;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0);outline:3px solid var(--focus)}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(430px,42%) minmax(0,1fr)}.identity{position:relative;isolation:isolate;display:flex;min-height:100vh;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(34px,5vw,70px);background:linear-gradient(145deg,var(--nav),var(--nav2));color:var(--navigation-text)}.identity::before{position:absolute;z-index:-1;content:"";width:520px;height:520px;right:-290px;top:17%;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}.identity::after{position:absolute;z-index:-1;content:"";inset:auto 0 0;height:38%;background:linear-gradient(0deg,rgba(4,15,29,.3),transparent)}.identity-top,.brand,.auth-heading{display:flex;align-items:center}.identity-top{justify-content:space-between;gap:24px}.brand{gap:14px}.brand>span,.auth-icon{display:grid;place-items:center;border-radius:13px;background:var(--accent);color:var(--nav);font-weight:900}.brand>span{width:48px;height:48px;font-size:24px}.brand b,.brand small{display:block}.brand b{font-size:18px;letter-spacing:.1em}.brand small{margin-top:1px;color:var(--navigation-text);font-size:11px}.environment{display:flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.07);color:var(--navigation-text);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.environment i{width:7px;height:7px;border-radius:50%;background:var(--primary-contrast);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 12%,transparent)}.identity-content{max-width:620px;margin:80px 0}.eyebrow{margin:0;color:var(--primary);font-size:10px;font-weight:850;letter-spacing:.16em}.eyebrow.light{color:var(--primary-contrast)}.identity h1{max-width:600px;margin:16px 0 22px;font-size:clamp(44px,5vw,70px);line-height:1.02;letter-spacing:-.055em}.identity-copy{max-width:530px;margin:0;color:var(--navigation-text);font-size:16px;line-height:1.7}.assurance-grid{display:grid;gap:12px;margin-top:38px}.assurance-grid>div{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;padding-top:13px;border-top:1px solid rgba(255,255,255,.13)}.assurance-grid>div>span{color:var(--primary-contrast);font:700 10px/1.5 "Cascadia Mono",Consolas,monospace}.assurance-grid p{display:grid;gap:2px;margin:0}.assurance-grid b{font-size:12px}.assurance-grid small{color:var(--primary-contrast)}.identity-foot{position:relative;display:flex;justify-content:space-between;gap:20px;color:var(--navigation-text);font-size:9px;font-weight:800;letter-spacing:.12em}.form-side{display:grid;place-items:center;min-width:0;padding:clamp(24px,6vw,84px);background:var(--background)}.auth-wrap{width:min(470px,100%)}.auth-heading{gap:12px;margin-bottom:26px}.auth-icon{width:40px;height:40px;border-radius:11px;font-size:18px}.auth-heading>div{display:grid;gap:2px}.auth-heading>div>span{color:var(--muted);font-size:11px}.auth-wrap form{padding:38px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.form-title{margin-bottom:28px}.form-title h2{margin:0;font-size:32px;line-height:1.2;letter-spacing:-.04em}.form-title p{margin:8px 0 0;color:var(--secondary)}label{display:grid;gap:8px;margin:18px 0;color:var(--secondary);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}input{width:100%;height:48px;padding:0 14px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;font-size:15px;font-weight:500;outline:none;transition:border-color 120ms,box-shadow 120ms,background 120ms}input:hover{border-color:var(--border-strong)}input:focus{border-color:var(--focus);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 14%,transparent)}button{display:flex;align-items:center;justify-content:space-between;width:100%;height:48px;margin-top:5px;padding:0 17px;border:0;border-radius:9px;background:var(--primary);color:var(--primary-contrast);font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:background 120ms,transform 120ms}button:hover{background:var(--primary-hover)}button:active{transform:translateY(1px)}button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button:disabled{cursor:wait;opacity:.72}.error{min-height:20px;margin:4px 0;color:var(--danger);font-size:11px}.safety{display:grid;grid-template-columns:30px 1fr;gap:10px;margin-top:22px;padding:14px;border:1px solid var(--success);border-radius:10px;background:var(--success-bg);color:var(--success)}.safety-mark{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;background:var(--surface);font-weight:900}.safety p{display:grid;gap:2px;margin:0}.safety b{font-size:11px}.safety small{color:var(--success);font-size:10px}.auth-wrap footer{max-width:410px;margin:20px auto 0;color:var(--muted);font-size:10px;line-height:1.6;text-align:center}@media(max-width:920px){.login-shell{grid-template-columns:minmax(340px,40%) minmax(0,1fr)}.identity{padding:32px}.environment{display:none}.identity h1{font-size:42px}.identity-copy{font-size:14px}.auth-wrap form{padding:30px}}@media(max-width:700px){.login-shell{display:block}.identity{min-height:auto;padding:24px}.identity-content{margin:52px 0 28px}.identity h1{margin-bottom:14px;font-size:36px}.identity-copy{font-size:13px}.assurance-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.assurance-grid>div{display:block}.assurance-grid>div>span{display:block;margin-bottom:6px}.assurance-grid small{display:none}.identity-foot{display:none}.form-side{padding:28px 20px 40px}.auth-heading{display:none}.auth-wrap form{padding:27px 22px}.form-title h2{font-size:28px}}@media(max-width:430px){.identity h1{font-size:31px}.identity-content{margin-top:40px}.assurance-grid{display:none}.form-side{padding:22px 14px 32px}.auth-wrap form{padding:24px 18px;border-radius:14px}.brand>span{width:42px;height:42px}.brand b{font-size:16px}}

/* Large-screen balance: keep the authentication task as prominent as the identity panel. */
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 9999s ease-out 0s}
.auth-wrap footer{max-width:470px;color:var(--text-secondary);font-size:11px}
@media(min-width:921px){.login-shell{grid-template-columns:minmax(520px,46%) minmax(600px,54%)}.identity{padding:clamp(42px,4.5vw,76px)}.identity-content{max-width:650px;margin:62px 0}.identity h1{font-size:clamp(46px,4.2vw,68px)}.assurance-grid{gap:7px;margin-top:30px}.assurance-grid>div{grid-template-columns:30px 1fr;gap:10px;padding-top:10px}.form-side{padding:clamp(40px,5vw,96px)}.auth-wrap{width:min(550px,100%)}.auth-heading{margin-bottom:22px}.auth-icon{width:44px;height:44px}.auth-wrap form{padding:44px;border-radius:20px}.form-title{margin-bottom:30px}.form-title h2{font-size:36px}.form-title p{font-size:15px}label{gap:9px;margin:20px 0;font-size:12px}input{height:54px;padding:0 16px;border-color:var(--border-strong);background:var(--surface);font-size:16px}button{height:54px;padding:0 19px;font-size:14px}.safety{margin-top:18px;padding:15px}.safety small{font-size:11px}}

@keyframes login-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes login-drift{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
.identity-top,.identity-content,.identity-foot{animation:login-drift 420ms cubic-bezier(.16,1,.3,1) both}.identity-content{animation-delay:70ms}.identity-foot{animation-delay:140ms}.auth-heading,.auth-wrap form,.auth-wrap footer{animation:login-rise 380ms cubic-bezier(.16,1,.3,1) both}.auth-wrap form{animation-delay:55ms}.auth-wrap footer{animation-delay:110ms}.identity::before{transition:transform 700ms cubic-bezier(.16,1,.3,1)}.identity:hover::before{transform:scale(1.025)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.environment{background:rgba(255,255,255,.09);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-wrap form{background:var(--glass-elevated);-webkit-backdrop-filter:blur(20px) saturate(1.08);backdrop-filter:blur(20px) saturate(1.08)}.safety{background:color-mix(in srgb,var(--success-bg) 86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}
@media(max-width:700px){@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.auth-wrap form{-webkit-backdrop-filter:blur(10px) saturate(1.04);backdrop-filter:blur(10px) saturate(1.04)}}}

/* Branded boot and authenticated workspace handoff. */
@keyframes transition-orbit{to{transform:rotate(360deg)}}
@keyframes transition-progress{0%{transform:translateX(-105%)}55%{transform:translateX(-18%)}100%{transform:translateX(105%)}}
@keyframes button-spin{to{transform:rotate(360deg)}}
@keyframes form-reject{0%,100%{transform:translateX(0)}30%{transform:translateX(-7px)}65%{transform:translateX(5px)}}
.login-transition{position:fixed;z-index:100;inset:0;display:grid;align-content:center;justify-items:center;padding:24px;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--primary) 19%,transparent),transparent 24rem),color-mix(in srgb,var(--background) 88%,transparent);color:var(--text);opacity:1;visibility:visible;transition:opacity 320ms cubic-bezier(.2,0,0,1),visibility 320ms}.login-transition.is-dismissed{pointer-events:none;opacity:0;visibility:hidden}.transition-mark{position:relative;display:grid;width:74px;height:74px;margin-bottom:22px;place-items:center}.transition-mark>span{position:relative;z-index:2;display:grid;width:48px;height:48px;place-items:center;border-radius:14px;background:var(--accent);color:var(--nav);font-size:22px;font-weight:900;box-shadow:0 10px 28px color-mix(in srgb,var(--nav) 17%,transparent)}.transition-mark>i{position:absolute;inset:1px;border:1px solid color-mix(in srgb,var(--primary) 34%,transparent);border-top-color:var(--primary);border-radius:50%;animation:transition-orbit 1.15s linear infinite}.transition-mark>i:last-child{inset:-7px;border-color:transparent;border-right-color:color-mix(in srgb,var(--accent) 70%,transparent);animation-duration:1.8s;animation-direction:reverse}.login-transition p{margin:0;color:var(--text);font-size:17px;font-weight:800;letter-spacing:-.01em}.login-transition small{margin-top:5px;color:var(--secondary);font-size:11px}.transition-progress{width:190px;height:3px;margin-top:20px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,transparent)}.transition-progress i{display:block;width:54%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--accent),var(--accent));animation:transition-progress 1.15s cubic-bezier(.65,0,.35,1) infinite}.login-transition[data-phase=success] .transition-mark>span{background:var(--success-bg);color:var(--success)}.login-transition[data-phase=success] .transition-progress i{background:linear-gradient(90deg,var(--success),var(--success),var(--primary))}body[data-login-state=authenticating] .login-shell{transform:scale(.992);filter:saturate(.88);opacity:.72;transition:transform 320ms cubic-bezier(.2,0,0,1),filter 320ms,opacity 320ms}body[data-login-state=leaving] .login-shell{transform:scale(.985);filter:blur(5px);opacity:0}.auth-wrap form.auth-error{animation:form-reject 280ms ease-out}.auth-wrap button.is-loading .button-indicator{width:16px;height:16px;border:2px solid #ffffff70;border-top-color:var(--primary-contrast);border-radius:50%;font-size:0;animation:button-spin 650ms linear infinite}
@media(max-width:700px){.login-transition{background:color-mix(in srgb,var(--background) 94%,transparent)}.transition-mark{transform:scale(.9)}}
@media(prefers-reduced-motion:reduce){.login-transition,.login-shell{transition:none!important}.transition-mark>i,.transition-progress i,.auth-wrap button.is-loading .button-indicator{animation:none!important}.auth-wrap form.auth-error{animation:none!important}}

main.login-shell{margin:0;max-width:none}body :is(button,a,input):focus-visible{outline:3px solid var(--focus);outline-offset:3px}

.identity :is(small,.eyebrow,.identity-copy,.environment,.assurance-grid>div>span,.identity-foot){color:var(--navigation-text)}.brand>span,.auth-icon{background:var(--primary);color:var(--primary-contrast)}

.identity{background-color:var(--nav)}
