/* Aegis login. Color authority: aegis-theme.css; shared spacing/type primitives retained. */
.auth-shell{min-height:100dvh;display:flex;flex-direction:column}.auth-identity,.auth-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--p-space-4);padding:var(--p-space-5) var(--p-space-6)}.auth-identity{border-bottom:1px solid var(--p-line)}.auth-brand{font:600 var(--p-type-lg)/var(--p-leading-lg) var(--p-font-display);color:var(--p-text);text-decoration:none}.auth-identity>span,.auth-footer,.auth-context{font:var(--p-type-xs)/var(--p-leading-sm) var(--p-font-ui);color:var(--p-muted)}.auth-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--p-space-7) var(--p-space-4)}.auth-card{width:min(100%,27.5rem);padding:var(--p-card-pad);background:var(--p-surface);border:1px solid var(--p-line);border-radius:var(--p-radius-md)}.auth-heading h1{font:600 var(--p-type-xl)/var(--p-leading-xl) var(--p-font-display);margin:0 0 var(--p-space-2);color:var(--p-text)}.auth-heading p{font-size:var(--p-type-sm);color:var(--p-text-3);margin:0;line-height:var(--p-leading-md)}.auth-field{margin-bottom:var(--p-space-5)}.auth-field label{display:block;margin-bottom:var(--p-space-2);font:500 var(--p-type-sm)/var(--p-leading-sm) var(--p-font-ui);color:var(--p-text-2)}.auth-field input{width:100%;height:var(--p-input-h)}.password-wrap{position:relative}.password-wrap input{padding-right:var(--p-space-7)}#password-toggle{position:absolute;right:0;top:0;bottom:0;min-width:2.75rem;background:transparent;border:0;color:var(--p-text-3);cursor:pointer}#password-toggle svg{width:var(--p-space-5);height:var(--p-space-5);vertical-align:middle}.auth-submit{width:100%;min-height:var(--p-control-lg);flex-wrap:wrap;gap:0}.auth-submit:disabled{cursor:wait;opacity:.65}.auth-status{padding:var(--p-space-3);margin-bottom:var(--p-space-5);border:1px solid var(--p-danger);border-radius:var(--p-radius-sm);color:var(--p-danger);font-size:var(--p-type-sm);line-height:var(--p-leading-sm);background:var(--p-surface-2)}.auth-support{border-top:1px solid var(--p-line);padding-top:var(--p-space-5);margin:var(--p-space-5) 0 0;color:var(--p-text-3);font-size:var(--p-type-xs);line-height:var(--p-leading-sm)}.auth-context{text-align:center;max-width:27.5rem;margin:var(--p-space-5) 0 0}.auth-footer{border-top:1px solid var(--p-line)}[hidden]{display:none!important}@media(max-width:480px){.auth-identity,.auth-footer{padding:var(--p-space-4);flex-wrap:wrap;gap:var(--p-space-2)}.auth-brand{font-size:var(--p-type-md-plus)}.auth-identity>span{width:100%}.auth-main{padding:var(--p-space-5) var(--p-space-3)}.auth-card{padding:var(--p-space-5)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* Split Login Shell: city illustration left, authentication right. */
.auth-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.85fr);flex:1;min-height:0}.city-preview-panel{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:var(--p-space-7);background:var(--p-canvas);border-right:1px solid var(--p-line)}.city-preview-heading{max-width:34rem}.preview-kicker{font:var(--p-type-xs)/var(--p-leading-xs) var(--p-font-ui);letter-spacing:var(--p-tracking-wide);color:var(--p-text-3)}.city-preview-heading h2{font:600 var(--p-type-2xl)/var(--p-leading-2xl) var(--p-font-display);color:var(--p-text);margin:var(--p-space-4) 0}.city-preview-heading p{font:var(--p-type-md)/var(--p-leading-md) var(--p-font-body);color:var(--p-text-3);margin:0}.city-preview-stage{width:100%;height:clamp(240px,38vh,480px);margin:var(--p-space-5) 0;min-width:0}.city-preview-stage canvas{display:block;width:100%;height:100%;background:transparent}.city-preview-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--p-space-4);font:var(--p-type-xs)/var(--p-leading-sm) var(--p-font-ui);color:var(--p-muted)}.city-preview-footer .p-button{min-height:2.75rem;font-size:var(--p-type-xs)}.auth-split .auth-main{background:var(--p-surface);padding:var(--p-space-7) var(--p-space-5)}.auth-split .auth-card{border:0;padding:var(--p-space-5);box-shadow:none}.auth-context{padding-inline:var(--p-space-5)}@media(max-width:900px){.auth-split{grid-template-columns:1fr}.city-preview-panel{border-right:0;border-bottom:1px solid var(--p-line);padding:var(--p-space-5)}.city-preview-stage{height:220px;margin:var(--p-space-4) 0}.city-preview-heading h2{font-size:var(--p-type-xl);line-height:var(--p-leading-xl)}.auth-split .auth-main{padding:var(--p-space-6) var(--p-space-3)}.city-preview-footer{flex-wrap:wrap}.city-preview-heading p{font-size:var(--p-type-sm)}}

/* Requested borderless, full-height split. Scene sizing is an illustration exception. */
.auth-shell,.auth-split{min-height:100dvh}.auth-split{grid-template-columns:minmax(0,1.55fr) minmax(360px,.8fr)}.city-preview-panel{padding:var(--p-space-7) var(--p-space-5);border:0;justify-content:center;overflow:hidden}.city-preview-heading{position:relative;z-index:1;padding-inline:var(--p-space-5);max-width:40rem}.city-preview-heading h2{font-size:var(--p-type-3xl);line-height:var(--p-leading-3xl);letter-spacing:-.03em}.city-preview-stage{height:clamp(400px,64dvh,800px);width:calc(100% + 48px);margin:0 -24px}.auth-split .auth-main{position:relative;justify-content:center;border:0;padding-top:var(--p-space-8)}.auth-language{position:absolute;right:var(--p-space-6);top:var(--p-space-5)}
@media(max-width:900px){.auth-split{grid-template-columns:1fr}.city-preview-panel{padding:var(--p-space-6) var(--p-space-4) 0}.city-preview-heading{padding:0}.city-preview-heading h2{font-size:var(--p-type-2xl);line-height:var(--p-leading-2xl)}.city-preview-stage{height:360px;width:100%;margin:0}.auth-split .auth-main{padding-top:var(--p-space-8)}}

.auth-powered{margin:24px 0 0;color:var(--aegis-muted);font:12px/1.5 var(--p-font-ui);letter-spacing:.03em}.auth-powered strong{font-weight:600;color:var(--aegis-text-3)}.city-preview-stage{position:relative}#preview-fallback{position:absolute;inset:45% 0 auto;text-align:center;color:var(--aegis-text-3);font:14px var(--p-font-ui)}

/* Larger rotating diorama; form is a distinct raised Aegis surface. */
.auth-split{grid-template-columns:minmax(0,1.65fr) minmax(370px,.8fr)}
.city-preview-panel{padding:32px 0 0;justify-content:space-between}
.city-preview-heading{padding:16px 40px 0}
.city-preview-stage{height:clamp(480px,78dvh,980px);width:calc(100% + 100px);margin:-28px -50px -24px}
@media(max-width:900px){.auth-split{grid-template-columns:1fr}.city-preview-panel{padding:24px 0 0}.city-preview-heading{padding:0 24px}.city-preview-stage{height:400px;width:100%;margin:-12px 0 0}.auth-split .auth-main{padding-block:72px 36px}}

#login-form{margin-top:var(--p-space-6)}

/* Close framing prioritizes the holographic scene; the table rim may bleed at the edges. */
@media(min-width:901px){.auth-split{grid-template-columns:minmax(0,1.9fr) minmax(370px,.8fr)}.city-preview-stage{height:clamp(560px,84dvh,1100px);width:calc(100% + 140px);margin:-44px -70px -32px}}
@media(max-width:900px){.city-preview-stage{height:clamp(380px,60dvh,560px)}}
