/* User-reference composition: one stage, a complete transparent scene, real HTML form. */
.login-page{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) clamp(360px,25vw,420px);gap:clamp(28px,3vw,52px);min-height:100dvh;padding:36px clamp(32px,4.7vw,80px) 80px;background:#081521;color:#eaf4f7;overflow-x:clip}
.login-ambient{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}
.login-brand-panel{position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;min-height:calc(100dvh - 116px);background:transparent}
.login-brand{position:relative;z-index:3;display:flex;align-items:center;gap:11px;align-self:flex-start;color:#eff9fc;text-decoration:none}
.login-brand strong,.login-mobile-brand strong{font-size:27px;letter-spacing:-.025em;font-weight:700}
.login-brand-mark{width:34px;height:34px;display:inline-grid;place-items:center;color:#52d2c9;flex:none}
.login-brand-mark svg{width:100%;height:100%}
.login-brand-story{position:relative;z-index:3;padding-top:37px;pointer-events:none;max-width:720px}
.login-brand-story h1{font-size:clamp(40px,3.6vw,62px);line-height:1.28;letter-spacing:-.025em;font-weight:650;margin:0 0 24px;color:#f2f8fa;text-wrap:balance}
.login-slogan-accent{color:#8ceee5}
.login-art{position:absolute;z-index:1;bottom:12%;left:6.5%;width:84%;aspect-ratio:1672/941;margin:0;pointer-events:none}
.login-art img{display:block;width:100%;height:100%;object-fit:contain;animation:login-image-settle 1.2s cubic-bezier(.16,1,.3,1) both}
.login-art figcaption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.login-scene-labels{position:absolute;inset:0}
.scene-label{position:absolute;display:inline-flex;align-items:center;gap:8px;color:#effcff;font-size:clamp(12px,1.15vw,18px);font-weight:550;line-height:1.4;transform:rotate(-8deg);white-space:nowrap}
.scene-label svg{width:23px;height:23px;flex:none}
.scene-label--one{left:17%;top:46%}.scene-label--two{left:37%;top:37%}.scene-label--three{left:57%;top:27%}.scene-label--four{left:77%;top:17%}
.login-workflow{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-evenly;gap:14px;margin: auto 12% 0;padding-top:24px;min-height:45px;color:#d5e9ef;font-size:13px;line-height:1.6}
.login-workflow>span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.login-workflow svg{width:20px;height:20px;color:#a5e5e5;flex:none}
.login-workflow>svg{width:17px;height:17px;color:#90c5ca}
.login-access{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;align-self:stretch;min-width:0;padding:0;margin:0;background:transparent;color:#243c42}
.login-form-wrap{position:relative;isolation:isolate;width:100%;margin:0;translate:-36px 22px;padding:38px 36px 34px;background:#f8fbfc;background-image:radial-gradient(ellipse at 106% -5%,#dbf5ee 0,transparent 48%);border-radius:20px;box-shadow:0 24px 75px #00000030;animation:login-form-enter .7s cubic-bezier(.16,1,.3,1) both}
.login-form-header{margin-bottom:29px}
.login-form-header h2{font-size:33px;font-weight:650;letter-spacing:-.025em;line-height:1.4;margin:0 0 9px;color:#123342}
.login-form-header p{margin:0;font-size:15px;line-height:1.8;color:#556e79}
.login-field{margin-bottom:21px}
.login-field label{display:block;font-size:14px;font-weight:550;margin-bottom:9px;color:#2c454d}
.login-page .login-field input{width:100%;height:49px;padding:0 42px;border:1px solid #cbd8df;border-radius:9px;background:#ffffffc9;color:#243c42;font-size:15px;transition:border-color .16s}
.login-field input::placeholder{color:#637984;opacity:1}
.login-field input:focus{border-color:#358d86;outline:2px solid #79bdb1;outline-offset:2px}
.login-username,.login-password{position:relative}
.login-input-icon{position:absolute;left:13px;top:15px;width:18px;height:18px;color:#617d88;pointer-events:none}
.login-page .login-password input{padding-right:49px}
.login-reveal{position:absolute;right:4px;top:4px;width:41px;height:41px;padding:11px;border:0;border-radius:6px;background:transparent;color:#596e76}
.login-reveal:hover{background:#edf3f3;color:#155f54}
.login-reveal svg{width:20px;height:20px}
.login-error{margin:0;min-height:0;color:#a33d38;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.login-error:not(:empty){margin-bottom:17px}
.login-submit{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:50px;padding:0 44px;border-radius:10px;border:0;background:#006957;color:#fff;font-size:16px;font-weight:600;letter-spacing:.12em;transition:background .18s,transform .18s}
.login-submit:hover:not(:disabled){background:#00594c}
.login-submit svg{position:absolute;right:16px;width:21px;height:21px;transition:transform .18s}
.login-submit:hover:not(:disabled) svg{transform:translateX(3px)}
.login-submit:active:not(:disabled){transform:translateY(1px)}
.login-submit:disabled{opacity:.75}
.login-footer{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:0;padding:0 4px;color:#b5cbd6;font-size:10px;line-height:1.8}
.login-mobile-brand{display:none}
@keyframes login-image-settle{from{transform:translateY(9px);opacity:.65}to{transform:translateY(0);opacity:1}}
@keyframes login-form-enter{from{transform:translateY(10px);opacity:.7}to{transform:translateY(0);opacity:1}}
@media(min-width:1750px){.login-page{padding-top:45px;padding-bottom:80px}.login-brand-panel{min-height:calc(100dvh - 125px)}.login-brand-story{padding-top:58px}.login-art{bottom:12%}.login-form-wrap{translate:-36px 17.5px}}
@media(max-width:1100px){.login-page{grid-template-columns:minmax(0,1fr) 340px;gap:25px;padding:30px 30px 48px}.login-brand-panel{min-height:calc(100dvh - 78px)}.login-brand-story{padding-top:35px}.login-brand-story h1{font-size:39px;margin-bottom:18px}.login-brand-story p{font-size:13px;line-height:1.8;max-width:38ch}.login-art{bottom:14%;left:3.5%;width:90%}.login-workflow{gap:10px;font-size:12px;margin-inline:6%}.login-workflow>span{gap:6px}.login-workflow svg{width:18px;height:18px}.login-form-wrap{margin:0;translate:-24px 9px;padding:30px 27px 25px;border-radius:16px}.login-form-header h2{font-size:27px}.login-form-header p{font-size:12px}.login-permission{font-size:10px}.scene-label{font-size:12px;gap:5px}.scene-label svg{width:17px;height:17px}.login-footer{font-size:9px;gap:8px}}
@media(max-width:760px){.login-page{display:flex;flex-direction:column;gap:20px;padding:23px 16px 28px}.login-brand-panel{min-height:0;display:flex;flex-direction:column}.login-brand{gap:7px;padding-left:7px}.login-brand strong{font-size:22px}.login-brand-mark{width:27px;height:27px}.login-brand-story{padding:24px 7px 0;max-width:none}.login-brand-story h1{font-size:28px;line-height:1.35;margin-bottom:13px}.login-brand-story p{font-size:12px;line-height:1.8;max-width:none;padding-left:12px}.login-brand-story p::before{left:0}.login-art{position:relative;inset:auto;z-index:1;width:auto;aspect-ratio:auto;margin:-3px -5px -7px;height:130px;flex:none}.login-art figcaption,.login-scene-labels{display:none}.login-workflow{margin:0 3px;padding-top:7px;min-height:33px;gap:8px;font-size:11px}.login-workflow>span{gap:5px}.login-workflow svg{width:17px;height:17px}.login-workflow>svg{width:13px;height:13px}.login-access{width:100%;max-width:430px;align-self:center}.login-form-wrap{margin:0;translate:none;padding:25px 24px 22px;border-radius:14px}.login-form-header{margin-bottom:23px}.login-form-header h2{font-size:26px}.login-field{margin-bottom:18px}.login-field input,.login-submit{height:47px}.login-reveal{height:39px}.login-input-icon{top:14px}.login-help{margin-top:23px;padding-top:15px}.login-footer{position:static;padding:23px 4px 0;font-size:10px;gap:10px}.login-mobile-brand{display:none}}
@media(prefers-reduced-motion:reduce){.login-art img,.login-form-wrap{animation:none}.login-submit,.login-submit svg{transition:none}}
/* Tolerate a previously loaded login module while the updated assets revalidate. */
.login-page .login-permission,.login-page .login-help,.login-page .login-brand-story>p,.login-page .login-footer>span:nth-child(2){display:none}
.login-page .login-permission svg,.login-page .login-help svg{width:18px;height:18px;flex:none}
