/* Approved portal palette and original split layout. Authentication script unchanged. */
:root{--navy:#4680B2;--accent:#4680B2;--text-primary:#263747;--text-muted:#627b8e;--border:#dbe5ed;--bg:#f4f6f9}
body{background:var(--bg)}
.left-panel{width:420px;padding:40px 40px 32px;background:#4680B2}
.brand-text .sub{text-transform:none;letter-spacing:0;color:#e2edf6;font-size:12px}.brand-text .name{font-weight:750}
.left-tagline h2{font-size:32px;font-weight:700;line-height:1.3;letter-spacing:-.65px;margin-bottom:20px;max-width:11ch}.left-tagline p{font-size:14px;line-height:1.8;color:#e2edf6;max-width:33ch}
.portal-benefits{display:grid;gap:18px;margin-top:34px;padding-top:28px;border-top:1px solid #ffffff38}.portal-benefits>div{display:flex;align-items:center;gap:13px;font-size:13px;color:#fff}.portal-benefits svg{width:24px;height:24px;fill:none;stroke:#e2edf6;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.left-footer{font-size:11px;color:#d6e5f1;line-height:1.8}
.right-panel{padding:56px 40px}.login-card{max-width:440px;border:1px solid #dbe5ed;border-radius:16px;padding:36px;box-shadow:0 8px 30px #355e7e07}
.login-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#f0f5f9;border:1px solid #e2eaf1;color:#4680B2;margin-bottom:26px}.login-symbol svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.card-title{font-size:26px;line-height:1.3;font-weight:750;letter-spacing:-.6px;margin-bottom:10px}.card-sub{font-size:14px;line-height:1.7;margin-bottom:30px;max-width:32ch;color:#627b8e}.form-group{margin-bottom:20px}.form-label{font-size:13px;font-weight:600;text-transform:none;letter-spacing:0;color:#40596c;margin-bottom:9px}
input{min-height:52px;font-size:16px;border:1px solid #d6e1e9;border-radius:10px;padding:14px 15px;transition:border-color .15s,box-shadow .15s}input::placeholder{color:#8395a3}input:focus{border-color:#4680B2;box-shadow:0 0 0 3px #4680B218}.password-wrap input{padding-right:56px}
.password-toggle{width:44px;height:44px;right:4px;font-size:0;color:#627b8e}.password-toggle:after{content:'';width:23px;height:23px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M2 12s3-7 10-7 10 7 10 7-3 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}.password-toggle[aria-label="Скрыть пароль"]:before{content:'';position:absolute;width:26px;height:2px;background:currentColor;transform:rotate(-45deg);box-shadow:0 0 0 2px white;z-index:1}
.btn{margin-top:4px;min-height:52px;font-size:14px;font-weight:650;border-radius:10px;transition:background .15s,box-shadow .15s}.btn:hover{background:#3e75a5;box-shadow:0 4px 12px #4680B21a}.btn:active{background:#396d9b}.btn:disabled{background:#8aaac4;cursor:wait;box-shadow:none}
.error{font-size:13px;line-height:1.6;background:#fff5f4;color:#a43e35;border:1px solid #efd2ce;border-radius:9px;padding:12px 14px;margin-top:16px}
.help{text-align:left;border-top:1px solid #e6edf2;margin-top:28px;padding-top:22px;font-size:12px;color:#627b8e;line-height:1.9}.help a{font-weight:650;text-underline-offset:4px}.help a:hover{text-decoration:underline}
:where(button,a):focus-visible{outline:3px solid #4680B2;outline-offset:4px}.password-toggle:focus-visible{outline:2px solid #4680B2;outline-offset:1px}
@media(max-width:1000px){.left-panel{width:340px;padding:32px}.left-tagline h2{font-size:28px}.right-panel{padding:32px 24px}.login-card{padding:30px}}
@media(max-width:768px){.mobile-header{padding:20px;min-height:82px;gap:12px}.mobile-header .sub{text-transform:none;color:#e2edf6;font-size:11px;margin-top:3px}.mobile-header .name{font-weight:700}.right-panel{background:#f4f6f9;padding:28px 16px 40px;align-items:flex-start}.login-card{padding:28px 24px;border-radius:14px;max-width:440px}.login-symbol{width:42px;height:42px;margin-bottom:22px}.login-symbol svg{width:26px;height:26px}.card-title{font-size:24px}.card-sub{font-size:13px;margin-bottom:26px}.help{margin-top:24px;padding-top:20px}}
@media(max-width:360px){.login-card{padding:24px 20px}.right-panel{padding:20px 12px 32px}.card-title{font-size:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
