/* Login-only presentation; authentication and the remaining portal stay shared. */
.login-page{--login-dark:#100f0e}
.login-page .p-topbar{height:84px;padding:0 clamp(24px,4vw,64px);gap:28px}
.login-page .p-topbar>.p-logo{font-size:32px}
.login-page .p-site-link{font-size:13px}
.login-page .p-languages{border-left:1px solid var(--line);padding-left:28px;gap:22px}
.login-page .p-languages a{font-size:12px;min-height:44px;display:flex;align-items:center;position:relative;border:0}
.login-page .p-languages a[aria-current]::after{content:'';position:absolute;bottom:8px;left:0;right:0;height:1px;background:var(--brand-orange)}
.login-page .p-main{width:100%;max-width:1440px;margin:0 auto;padding:24px clamp(24px,4vw,64px);flex:1;display:grid;align-items:center}
.login-layout{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);min-width:0}
.login-art{background:var(--login-dark);position:relative;isolation:isolate;overflow:hidden;min-height:620px;color:var(--paper)}
.login-art-copy{position:relative;z-index:1;padding:36px clamp(28px,3vw,48px) 0}
.login-art .p-eyebrow{color:#d6d3cd;font-size:10px;letter-spacing:.19em;margin-bottom:20px}
.login-art-title{font:500 clamp(38px,4.3vw,64px)/1.04 Signature,Georgia,serif;letter-spacing:-.025em}
.login-art-title em{display:block;color:#ff784a;font-style:normal}
.login-art-description{font-size:17px;line-height:1.6;max-width:31ch;margin-top:18px;color:#d6d3cd}
.login-art img{position:absolute;z-index:-1;bottom:0;left:0;width:100%;height:auto;mask-image:linear-gradient(transparent,#000 16%)}
.login-art-caption{position:absolute;bottom:25px;left:clamp(28px,3vw,48px);font-size:12px;color:#f7f5f0;text-shadow:0 1px 8px #000;background:#100f0e80;padding:10px 12px;border-top:1px solid #aaa69c}
.login-form-panel{display:flex;align-items:center;justify-content:center;min-width:0;padding:28px 0}
.login-form-content{width:100%;max-width:400px;min-width:0}
.login-welcome{color:var(--brand-muted);letter-spacing:.2em;font-size:10px;margin-bottom:12px}
.login-page h1{font:500 clamp(42px,4.7vw,64px)/1.1 Signature,Georgia,serif;letter-spacing:-.025em;overflow-wrap:anywhere}
.login-intro,.login-mobile-intro{color:var(--brand-muted);font-size:16px;line-height:1.6;margin-top:12px}
.login-mobile-intro{display:none}
.login-form{margin-top:30px}
.login-field{display:flex;flex-direction:column;gap:8px;margin-top:20px;min-width:0}
.login-field label{font-size:14px;font-weight:500}
.login-field input{width:100%;min-width:0;min-height:52px;border:1px solid #a9a79f;border-radius:0;padding:12px 15px;background:#fbfaf7;color:var(--ink);font-size:16px;line-height:1.5}
.login-field input::placeholder{color:#777b80;opacity:1}
.login-field input[aria-invalid=true]{border-color:#a03920}
.login-password{position:relative}
.login-password input{padding-right:54px}
.login-password-toggle{position:absolute;right:3px;top:4px;width:44px;height:44px;padding:11px;border:0;background:transparent;color:var(--ink);display:grid;place-items:center}
.login-password-toggle[hidden]{display:none}
.login-password-toggle svg{width:22px;height:22px}
.login-eye-slash{display:none}
.login-password-toggle[aria-pressed=true] .login-eye-slash{display:block}
.login-forgot{display:flex;align-items:center;justify-content:flex-end;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:3px;color:var(--brand-muted);margin:2px 0 14px}
.login-page .login-submit{width:100%;min-height:52px;border-radius:0;font-size:15px;display:flex;align-items:center;justify-content:center;gap:20px;margin-top:0}
.login-submit .p-icon{width:20px;height:20px;--icon-accent:currentColor}
.login-register{border-top:1px solid var(--line);margin-top:28px;padding-top:22px;text-align:center;font-size:14px}
.login-register>a{color:var(--brand-accent-text);text-decoration:underline;text-underline-offset:5px;display:inline-flex;align-items:center;min-height:40px}
.login-help{color:var(--brand-muted);text-align:center;font-size:12px;margin-top:20px;overflow-wrap:anywhere}
.login-help a{text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:36px}
.login-page .p-feedback{margin:22px 0 0;font-size:13px;border-radius:0}
.login-page .p-footer{max-width:1312px;width:calc(100% - clamp(48px,8vw,128px));margin:0 auto;padding:18px 0;border-top:1px solid var(--line);font-size:11px}
.login-page :focus-visible{outline:2px solid var(--brand-accent-text);outline-offset:4px}
html[lang=ru] .login-art-title{font-size:clamp(34px,3.7vw,54px)}
@media(min-width:761px) and (max-width:1000px){.login-layout{gap:30px}.login-art{min-height:600px}.login-art-copy{padding:32px 24px 0}.login-art-description{font-size:15px}.login-form-panel{padding-right:0}.login-page .p-main{padding-inline:24px}}
@media(max-width:760px){
 .login-page .p-topbar{height:auto;min-height:102px;padding:20px 22px 10px;display:flex;flex-wrap:wrap;gap:12px 20px}
 .login-page .p-topbar>.p-logo{font-size:29px}
 .login-page .p-languages{border:0;padding:0;gap:16px;margin-left:auto}
 .login-page .p-site-link{order:3;width:100%;margin:0;font-size:12px;min-height:24px;display:flex;align-items:center}
 .login-page .p-main{padding:0;display:block}
 .login-layout{display:flex;flex-direction:column;gap:0}
 .login-art{min-height:0;height:154px}
 .login-art img{position:static;width:100%;height:100%;object-fit:cover;object-position:center 35%;mask-image:none}
 .login-art-copy,.login-art-caption{display:none}
 .login-form-panel{padding:28px 22px 20px;display:block}
 .login-form-content{max-width:440px;margin:auto}
 .login-page h1{font-size:42px;line-height:1.1}
 .login-welcome{margin-bottom:10px;font-size:9px}
 .login-intro{display:none}.login-mobile-intro{display:block;font-size:14px;margin-top:10px}
 .login-form{margin-top:22px}.login-field{margin-top:18px}
 .login-register{margin-top:24px;padding-top:18px}
 .login-help{margin-top:14px;font-size:11px}
 .login-page .p-footer{width:calc(100% - 44px);padding:16px 0;gap:16px;flex-wrap:wrap;font-size:10px}
 .login-page .p-skip{left:12px}
}
@media(max-width:360px){.login-page .p-topbar{padding-inline:18px}.login-page .p-languages{gap:12px}.login-page .p-topbar>.p-logo{font-size:26px}.login-art{height:125px}.login-form-panel{padding-inline:18px}.login-page h1{font-size:38px}}
/* Registration and recovery use the same authentication shell and fields. */
.auth-register-page .login-form-content{max-width:430px}
.auth-register-page h1,.auth-reset-page h1{font-size:clamp(36px,3.4vw,50px);line-height:1.15;overflow-wrap:normal}
.auth-recovery-page h1{font-size:clamp(40px,4vw,58px);line-height:1.12;overflow-wrap:normal}
.auth-register-page .login-art,.auth-reset-page .login-art{min-height:680px}
.auth-register-page .login-art img,.auth-reset-page .login-art img{height:62%;object-fit:cover}
.auth-register-page .login-form{margin-top:22px}
.auth-register-page .login-field{margin-top:15px}
.auth-field-hint{font-size:11px;color:var(--brand-muted);line-height:1.5;margin:0}
.auth-register-page .login-submit,.auth-recovery-page .login-submit,.auth-reset-page .login-submit{margin-top:22px;white-space:normal;line-height:1.5;padding:12px 18px}
.auth-register-page .login-register{margin-top:22px;padding-top:18px}
.auth-register-page .login-help{margin-top:12px}
.auth-recovery-note{font-size:12px;line-height:1.65;color:var(--brand-muted);margin-top:14px}
.auth-back{display:inline-flex;align-items:center;gap:16px;min-height:44px;margin-top:26px;text-decoration:underline;text-underline-offset:4px;font-size:14px}
.auth-recovery-page .login-help,.auth-reset-page .login-help{padding-top:22px;border-top:1px solid var(--line);margin-top:20px}
.auth-mail-notice{font-size:12px;color:#6a411f;background:#f0e8da;border-left:2px solid #9c6d36;padding:12px 15px;margin-top:22px;line-height:1.6}
html[lang=ru] .auth-register-page .login-art-title,html[lang=ru] .auth-recovery-page .login-art-title,html[lang=ru] .auth-reset-page .login-art-title{font-size:clamp(32px,3.3vw,48px)}
@media(max-width:760px){
 .auth-register-page .login-art,.auth-reset-page .login-art{height:112px;min-height:0}
 .auth-register-page .login-art img,.auth-reset-page .login-art img{height:100%}
 .auth-recovery-page .login-art{height:132px;min-height:0}
 .auth-register-page h1,.auth-recovery-page h1,.auth-reset-page h1{font-size:36px;line-height:1.15}
 .auth-register-page .login-form-panel{padding-top:24px}
 .auth-field-hint{font-size:11px}
 .auth-mail-notice{margin-top:18px}
 .auth-back{margin-top:20px;font-size:13px}
}
@media(max-width:360px){.auth-register-page h1,.auth-recovery-page h1,.auth-reset-page h1{font-size:32px}}
