.login-page{min-height:100dvh;background:var(--white)}
.login-layout{min-height:100dvh;display:grid;grid-template-columns:minmax(380px,44%) minmax(0,1fr)}
.brand-story{background:var(--navy);color:var(--white);display:flex;flex-direction:column;padding:46px 56px;min-height:100dvh;overflow:hidden}
.brand-story .brand{font-size:36px;gap:12px;align-self:flex-start}
.brand-story .brand-mark{stroke:var(--white);width:40px;height:42px}
.brand-story .brand-subtitle{color:#d4d8e7;font-size:12px}
.brand-story-content{margin:auto 0;max-width:420px;padding:55px 0}
.conversation-art{max-width:340px;margin-bottom:38px}
.conversation-art>svg{width:100%;height:auto;stroke:#b8bfd4;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.conversation-art .art-gold{stroke:var(--gold)}
.conversation-art .art-route{stroke:#6f789c;stroke-dasharray:4 6}
.brand-story h2{font-size:32px;line-height:1.3;font-weight:500;letter-spacing:-.6px;max-width:340px}
.brand-story-content>p{font-size:16px;line-height:1.8;color:#d4d8e7;max-width:335px;margin-top:22px}
.brand-principles{display:flex;align-items:center;gap:10px;margin-top:30px;font-size:13px;color:#e4d0ba;white-space:nowrap}
.principle-dot{width:3px;height:3px;border-radius:50%;background:var(--gold)}
.brand-story-footer{font-size:13px;color:#d4d8e7;line-height:1.7}
.login-main{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;padding:72px 44px}
.login-form-container{width:100%;max-width:370px;margin:auto 0}
.login-accent{display:block;width:32px;height:3px;background:var(--gold);margin-bottom:26px}
.login-form-container h1{font-size:28px;font-weight:500;line-height:1.3;letter-spacing:-.5px}
.login-description{font-size:15px;line-height:1.75;color:var(--muted);margin-top:13px;max-width:340px}
#login-form{margin-top:35px}
.login-field{margin-bottom:21px}
.login-field label{font-size:14px;font-weight:500;margin-bottom:9px}
.login-field input{height:48px;padding:12px 14px;font-size:14px;border-color:var(--control);border-radius:8px}
.password-field{position:relative}
.password-field>input{padding-right:48px}
.password-field>.icon-button{position:absolute;right:3px;top:3px;width:42px;height:42px}
.login-submit{width:100%;min-height:48px;font-size:14px;justify-content:space-between;padding:12px 16px;margin-top:8px}
.login-submit .icon{width:17px;height:17px}
.access-help{font-size:13px;color:var(--muted);line-height:1.8;margin-top:24px;text-align:center}
.access-help>span{display:block;color:var(--ink)}
.login-footer{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;line-height:1.7;color:var(--muted);position:absolute;bottom:30px;left:20px;right:20px;text-align:center}
.login-footer .icon{width:14px;height:14px}
.login-errors{padding:13px 15px;border:1px solid #e8c4c7;border-radius:8px;background:var(--error-soft);color:var(--error);font-size:13px;line-height:1.7;margin-bottom:22px}
.login-errors strong{font-weight:500}
.login-errors .errorlist,.field-error .errorlist{list-style:none;padding:0;margin:5px 0 0}
.field-error{color:var(--error);font-size:12px;line-height:1.6;margin-top:6px}
.login-mobile-brand{display:none}
@media(max-width:1000px){.brand-story{padding:36px}.brand-story h2{font-size:29px}.brand-story-content{padding:45px 0}.conversation-art{margin-bottom:28px}.login-layout{grid-template-columns:minmax(310px,41%) minmax(0,1fr)}.login-main{padding:60px 35px}.brand-principles{gap:7px;font-size:11px}}
@media(max-width:740px){.login-layout{display:block}.brand-story{display:none}.login-main{padding:30px 24px 75px;justify-content:flex-start;min-height:100dvh}.login-mobile-brand{display:flex;align-self:flex-start;margin-bottom:50px}.login-mobile-brand.brand{font-size:31px}.login-form-container{max-width:390px;margin:auto 0}.login-form-container h1{font-size:27px}.login-description{font-size:15px}.login-field input{font-size:16px;height:50px}.login-submit{min-height:50px}.password-field>.icon-button{height:44px;top:3px}.login-footer{bottom:22px}.access-help{font-size:13px}.login-accent{margin-bottom:22px}.login-form-container{padding:12px 0 30px}}
@media(max-height:650px){.brand-story{padding-top:28px;padding-bottom:28px}.brand-story-content{padding:26px 0}.conversation-art{max-width:230px;margin-bottom:15px}.brand-story h2{font-size:27px}.brand-story-content>p{font-size:14px;margin-top:14px}.brand-principles{margin-top:15px}.login-main{padding-top:30px;padding-bottom:65px}.login-mobile-brand{margin-bottom:24px}.login-accent{margin-bottom:14px}#login-form{margin-top:22px}.login-field{margin-bottom:14px}}
