.shell:has(.login-page){display:block;min-height:100dvh;background:#f1f6f4}
.login-page{min-height:100dvh;display:grid;grid-template-columns:minmax(430px,1fr) minmax(430px,560px);background:#f1f6f4}
.login-visual{position:relative;display:flex;flex-direction:column;min-height:100dvh;padding:44px 7vw 38px;background:#103739;color:#e9f6f1;overflow:hidden}
.login-visual:before,.login-visual:after{content:"";position:absolute;pointer-events:none;border:1px solid #5cc4a044}.login-visual:before{width:420px;height:420px;right:-160px;top:17%;border-radius:50%}.login-visual:after{width:610px;height:610px;right:-260px;top:10%;border-radius:50%}
.login-visual-brand{display:flex;align-items:center;gap:12px}.login-visual-brand .brand-mark{width:38px;height:38px;background:#55c5a1;color:#103739;border-radius:10px;font-size:12px}.login-visual-brand b{display:block;font-size:16px;letter-spacing:.2px}.login-visual-brand small{display:block;margin-top:4px;color:#94c2b5;font-size:11px}
.visual-copy{position:relative;z-index:1;margin:auto 0;max-width:470px}.visual-kicker{display:block;color:#7bd7bb;font-size:11px;font-weight:700;letter-spacing:2px}.visual-copy h2{margin:18px 0 18px;font-size:clamp(38px,4vw,62px);line-height:1.14;letter-spacing:0;font-weight:500}.visual-copy h2 strong{color:#7bd7bb;font-weight:650}.visual-copy p{max-width:355px;color:#b2d2c8;font-size:15px;line-height:1.85}.visual-lines{display:grid;gap:9px;width:240px;margin-top:38px}.visual-lines i{display:block;height:2px;background:#4e9d8a}.visual-lines i:nth-child(2){width:74%;background:#367568}.visual-lines i:nth-child(3){width:48%;background:#285b5b}
.visual-foot{display:flex;gap:24px;color:#9fc7bc;font-size:12px}.visual-foot span{display:inline-flex;align-items:center;gap:6px}.visual-foot svg{color:#73d2b2}
.login-panel{display:flex;flex-direction:column;justify-content:center;align-self:stretch;width:100%;max-width:560px;margin:0;padding:clamp(38px,7vw,96px) clamp(34px,7vw,96px);background:#fff;border:0;border-radius:0;box-shadow:-12px 0 28px #18383d08}.login-panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:46px}.panel-kicker{color:#173f40;font-size:13px;font-weight:700}.secure-state{display:inline-flex;align-items:center;gap:5px;color:#6d8582;font-size:11px}.secure-state svg{color:#167c68}.login-panel h1{margin:0;color:#123234;font-size:34px;line-height:1.2;letter-spacing:0}.login-intro{margin:12px 0 34px;color:#718582;font-size:14px;line-height:1.7}.login-panel .field{margin-top:18px}.login-panel .field label{font-size:12px;font-weight:600;color:#496461}.login-panel .field input{height:48px;padding:0 14px;font-size:14px}.login-panel .password-field input{padding-right:50px}.login-panel .password-field .icon-btn{right:6px;bottom:7px;color:#5e8079}.login-submit{display:flex;align-items:center;justify-content:center;gap:10px;height:50px;margin-top:28px;border-radius:8px;font-weight:700}.login-submit svg{transition:transform .2s ease}.login-submit:hover svg{transform:translateX(3px)}.login-help{display:flex;justify-content:center;gap:5px;margin-top:26px;color:#839490;font-size:12px}.login-help a{color:#167c68;font-weight:600;text-decoration:none}.login-help a:hover{text-decoration:underline;text-underline-offset:3px}.login-legal{margin:44px 0 0;text-align:center;color:#a4b0ad;font-size:11px}.error{margin:9px 0 0;min-height:17px}
@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-visual{min-height:300px;padding:28px 30px 30px}.visual-copy{margin:52px 0 20px}.visual-copy h2{font-size:38px}.visual-copy p{display:none}.visual-lines{display:none}.visual-foot{margin-top:auto}.login-visual:before{width:300px;height:300px;right:-120px;top:18%}.login-visual:after{width:420px;height:420px;right:-190px;top:5%}.login-panel{max-width:none;padding:44px 30px 52px;box-shadow:0 -10px 24px #18383d0c}.login-panel-head{margin-bottom:34px}}
@media(max-width:560px){.login-visual{min-height:248px;padding:22px 21px 23px}.login-visual-brand .brand-mark{width:34px;height:34px}.visual-copy{margin:35px 0 15px}.visual-kicker{font-size:10px}.visual-copy h2{margin:11px 0 0;font-size:32px}.visual-foot{gap:14px;font-size:11px}.login-panel{padding:34px 21px 42px}.login-panel h1{font-size:28px}.login-panel-head{margin-bottom:30px}.login-intro{margin-bottom:26px}}
.login-contact{color:#167c68;font-weight:600}
.login-page{padding:0;place-items:stretch;align-items:stretch;justify-items:stretch;width:100%}.login-panel{justify-self:center;align-self:center}@media(max-width:900px){.login-page{padding:0;place-items:stretch}}

/* Soften the hard split between brand and form while keeping a clear focus. */
.login-page{grid-template-columns:minmax(520px,1.08fr) minmax(500px,.92fr);gap:0;background:#edf4f1}
.login-panel{align-self:center;justify-self:center;max-width:500px;min-height:0;margin:32px;padding:54px 58px;border:1px solid #dce9e4;border-radius:18px;box-shadow:0 18px 48px #18383d18}
.login-panel-head{margin-bottom:38px}.login-panel h1{font-size:32px}.login-legal{margin-top:34px}
@media(max-width:900px){.login-page{display:block;background:#edf4f1}.login-panel{max-width:none;margin:0;border-radius:0;border-left:0;border-right:0;padding:44px 30px 52px;box-shadow:0 -10px 24px #18383d0c}}
@media(max-width:560px){.login-panel{padding:34px 21px 42px}.login-panel h1{font-size:28px}}
