:root{--red:#e51b26;--red-dark:#bb111b;--ink:#131b29;--muted:#758093;--border:#dde3eb}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink)}
body{background:#f7f8fb}
.login-shell{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(480px,.92fr)}
.login-story{position:relative;isolation:isolate;overflow:hidden;background:#18070c url('./hero-stage.jpg') center center/cover no-repeat;color:#fff;display:flex;flex-direction:column;min-height:680px;padding:43px clamp(36px,5.5vw,100px) 33px}
.login-story:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(112deg,rgba(7,9,17,.96),rgba(26,7,13,.86) 45%,rgba(123,5,16,.30)),linear-gradient(0deg,rgba(5,6,14,.88),transparent 45%)}
.login-story:after{content:"";position:absolute;z-index:-1;width:80vw;height:80vw;max-width:850px;max-height:850px;top:-62%;left:-40%;border:1px solid rgba(255,255,255,.10);border-radius:50%;box-shadow:0 0 0 130px rgba(255,255,255,.018),0 0 0 260px rgba(255,255,255,.012);pointer-events:none}
.story-top{display:flex;align-items:center;gap:11px;font-size:12px;font-weight:620;letter-spacing:.03em;color:rgba(255,255,255,.80)}
.story-dot{width:8px;height:8px;background:var(--red);border-radius:100%;box-shadow:0 0 0 5px rgba(229,27,38,.18)}
.story-content{margin:auto 0;max-width:670px;padding:80px 0 60px}
.story-logo{width:min(520px,95%);max-height:110px;object-fit:contain;object-position:left}
.story-line{width:58px;height:3px;background:var(--red);margin:48px 0 31px}
.story-eyebrow{letter-spacing:.24em;font-size:12px;font-weight:750;color:#ffa1a7;margin:0 0 24px}
.story-content h1{font-size:clamp(44px,5vw,77px);line-height:1.08;letter-spacing:-.065em;margin:0;font-weight:780}
.story-content h1 em{font-style:normal;color:#ff5861}
.story-description{max-width:490px;font-size:16px;line-height:1.8;color:rgba(255,255,255,.73);margin:23px 0 35px}
.story-features{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:rgba(255,255,255,.84);font-size:12px;font-weight:580}
.story-features i{height:4px;width:4px;border-radius:50%;background:#ff4654}
.story-bottom{display:flex;justify-content:space-between;gap:14px;color:rgba(255,255,255,.49);font-size:10px;letter-spacing:.11em;font-weight:680}
.login-right{min-height:100svh;position:relative;display:flex;flex-direction:column;background:radial-gradient(circle at 98% 0%,#fff2f3,transparent 28%),#fafbfd;padding:35px clamp(36px,6vw,115px) 29px}
.login-right-top{display:flex;justify-content:flex-end;color:#7f8a99;font-size:12px}
.login-status{display:inline-flex;align-items:center;gap:9px}.login-status>span{background:#24b871;width:7px;height:7px;border-radius:50%}
.login-form-wrap{width:100%;max-width:460px;margin:auto;animation:login-rise .55s both}
.form-logo{display:none}
.form-eyebrow{font-size:11px;font-weight:760;letter-spacing:.22em;color:#db1724;margin:0 0 11px}
.login-form-wrap h2{font-size:clamp(36px,3.7vw,49px);font-weight:780;letter-spacing:-.06em;margin:0;line-height:1.14}
.form-subtitle{font-size:15px;color:#7a8596;margin:13px 0 40px;line-height:1.6}
.login-field{margin-bottom:22px}
.login-field label{display:block;margin:0 0 10px;font-size:13px;font-weight:730;color:#303849}
.login-control{position:relative;display:flex;align-items:center;border:1px solid #dce2e9;background:#fff;border-radius:13px;min-height:58px;box-shadow:0 3px 9px rgba(23,33,50,.02);transition:border-color .18s,box-shadow .18s,background .18s,transform .18s}
.login-control:hover{border-color:#aeb9c7;box-shadow:0 4px 17px rgba(23,33,50,.05)}
.login-control:focus-within{background:#fff;border-color:#e51b26;box-shadow:0 0 0 4px rgba(229,27,38,.11),0 6px 20px rgba(18,23,31,.04)}
.login-control>svg{flex:none;width:20px;height:20px;margin-left:19px;fill:none;stroke:#97a0ae;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-control:focus-within>svg{stroke:#dd1b27}
.login-control input{min-width:0;width:100%;border:0;outline:0;padding:0 16px;height:55px;font:inherit;font-size:14px;color:#1d2733;background:transparent}
.login-control input::placeholder{color:#a4adba}
.password-toggle{flex:none;display:grid;place-items:center;margin-right:8px;width:40px;height:40px;padding:0;background:transparent;border:0;border-radius:9px;color:#8d97a5;cursor:pointer;transition:background .15s,color .15s}
.password-toggle:hover,.password-toggle:focus-visible{background:#fff0f1;color:#cf1220}
.password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.password-toggle[aria-pressed="true"]{color:#dd1521}
.caps-warning{font-size:12px;color:#aa6b0d;display:block;padding:7px 0 0}
.caps-warning[hidden]{display:none}
.remember-label{display:flex;align-items:flex-start;gap:12px;margin:7px 0 28px;cursor:pointer;width:max-content;max-width:100%;font-size:13px;font-weight:670;color:#3c4655;line-height:1.45}
.remember-label input{position:absolute;opacity:0;width:21px;height:21px}
.remember-check{width:21px;height:21px;flex:none;margin-top:1px;border:1.5px solid #c9d1db;border-radius:6px;background:#fff;display:grid;place-items:center;transition:.15s}
.remember-check svg{height:13px;width:13px;stroke:#fff;stroke-width:2.6;fill:none;opacity:0}
.remember-label input:checked+.remember-check{background:#e51b26;border-color:#e51b26}
.remember-label input:checked+.remember-check svg{opacity:1}
.remember-label:hover .remember-check{border-color:#e51b26}
.remember-label input:focus-visible+.remember-check{outline:3px solid rgba(229,27,38,.24);outline-offset:3px}
.remember-label small{font-size:12px;color:#919aaa;display:block;font-weight:450;margin-top:1px}
.submit-button{border:0;border-radius:12px;background:linear-gradient(110deg,#f01929,#ca101d);box-shadow:0 15px 28px rgba(216,22,34,.22);color:#fff;width:100%;height:57px;padding:0 20px;font:inherit;font-weight:750;display:flex;justify-content:center;align-items:center;gap:11px;cursor:pointer;transition:transform .17s,box-shadow .17s,filter .17s}
.submit-button svg{height:19px;width:19px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;transition:transform .17s}
.submit-button:hover{transform:translateY(-2px);box-shadow:0 20px 37px rgba(216,22,34,.27);filter:saturate(1.07)}
.submit-button:hover svg{transform:translateX(4px)}
.submit-button:active{transform:translateY(0)}
.submit-button:disabled{opacity:.78;cursor:wait}
.submit-button:focus-visible,.password-toggle:focus-visible{outline:3px solid rgba(229,27,38,.28);outline-offset:3px}
.security-note{display:flex;justify-content:center;gap:8px;align-items:center;color:#a0a9b7;font-size:12px;margin-top:25px}
.security-note svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5}
.login-copyright{font-size:11px;color:#a3adba;text-align:center}.login-copyright span{margin:0 4px}
.login-notice{border-radius:10px;padding:13px 15px;font-size:13px;line-height:1.5;margin:-15px 0 23px}
.login-notice.error{border:1px solid #f4b8bd;background:#fff0f2;color:#ae1f29}
.login-notice.success{border:1px solid #bce5cb;background:#edf9f2;color:#257748}
@keyframes login-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1150px){.login-shell{grid-template-columns:minmax(0,1fr) minmax(430px,1fr)}.login-story{padding-inline:45px}.login-right{padding-inline:46px}.story-content h1{font-size:52px}}
@media(max-width:850px){.login-shell{grid-template-columns:1fr}.login-story{min-height:auto;padding:25px 30px;background-position:center 48%}.story-top,.story-content h1,.story-description,.story-features,.story-line,.story-eyebrow,.story-bottom{display:none}.story-content{padding:14px 0 0;margin:0}.story-logo{width:210px;max-height:55px}.login-right{min-height:calc(100svh - 119px);padding:34px 24px}.login-right-top{display:none}.login-form-wrap{max-width:480px}.form-subtitle{margin-bottom:28px}}
@media(max-width:480px){.login-story{padding:19px 24px}.story-content{padding:8px 0}.story-logo{width:183px}.login-right{padding:38px 23px 25px}.login-form-wrap h2{font-size:36px}.form-subtitle{font-size:14px}.login-control{min-height:54px}.login-control input{height:52px}.login-field{margin-bottom:19px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
