.auth-shell{--auth-ink:#172b38;--auth-muted:#61737c;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);max-width:1080px;min-height:540px;margin:48px auto 65px;border:1px solid #e0e9e7;border-radius:24px;background:#fff;box-shadow:0 20px 70px rgba(21,51,61,.08);overflow:hidden}
.auth-shell *{box-sizing:border-box}.auth-shell-compact{min-height:450px}
.auth-story{display:flex;flex-direction:column;justify-content:center;padding:clamp(35px,5vw,64px);color:#fff;background:radial-gradient(circle at 90% 2%,rgba(148,230,198,.2),transparent 42%),linear-gradient(155deg,#142a3c,#125b55)}
.auth-eyebrow,.auth-kicker{font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.auth-eyebrow{color:#a5edd0}.auth-story h1{font-size:clamp(2.15rem,3.3vw,3.5rem);line-height:1.09;letter-spacing:-.045em;margin:20px 0}.auth-story p{font-size:1rem;line-height:1.65;color:#d2e4e2;max-width:350px;margin:0}.auth-story-steps{display:grid;gap:14px;margin-top:48px}.auth-story-steps span{display:flex;gap:15px;color:#9ee6c9;font-size:.74rem;font-weight:800;letter-spacing:.09em}.auth-story-steps b{color:#e6f4f0;font-size:.83rem;letter-spacing:0}
.auth-card{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,5vw,65px);color:var(--auth-ink)}.auth-kicker{color:#338671}.auth-card h2{font-size:clamp(1.8rem,2.5vw,2.55rem);line-height:1.15;letter-spacing:-.04em;margin:12px 0 8px}.auth-subtitle{margin:0 0 26px;color:var(--auth-muted);line-height:1.55}.auth-alert{border-radius:10px;padding:12px 14px;margin:0 0 20px;font-size:.88rem;line-height:1.5}.auth-alert-error{background:#fff0ed;border:1px solid #f2cbc2;color:#933e35}.auth-alert-info{background:#eaf6ef;border:1px solid #badfca;color:#205c43}
.auth-form{display:flex;flex-direction:column;gap:9px}.auth-form label{font-size:.82rem;font-weight:800;margin-top:8px}.auth-form input{display:block;width:100%;height:47px;border:1px solid #cddbdc;border-radius:10px;padding:0 14px;background:#fbfdfc;color:var(--auth-ink);font:inherit;font-size:.94rem;outline:none}.auth-form input::placeholder{color:#8d9da3}.auth-form input:focus{border-color:#368c75;box-shadow:0 0 0 3px rgba(54,140,117,.14);background:#fff}.auth-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:10px}.auth-label-row label{margin:0}.auth-label-row a,.auth-switch a,.auth-resend button{color:#157260;font-size:.82rem;font-weight:800;text-decoration:none}.auth-label-row a:hover,.auth-switch a:hover,.auth-resend button:hover{text-decoration:underline}.auth-password-field{position:relative}.auth-password-field input{padding-right:70px}.auth-password-field button{position:absolute;right:7px;top:5px;height:37px;min-width:53px;border:0;border-radius:7px;background:transparent;color:#246c5e;font-size:.78rem;font-weight:800;cursor:pointer}.auth-password-field button:hover{background:#eaf5ef}.auth-password-field button:focus-visible,.auth-submit:focus-visible,.auth-resend button:focus-visible{outline:2px solid #268b70;outline-offset:2px}.auth-caps-hint{color:#9a523e;font-size:.78rem;margin:0}.auth-submit{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:12px 17px;margin-top:19px;border:0;border-radius:10px;background:#176b58;color:#fff;font:inherit;font-size:.91rem;font-weight:800;cursor:pointer;text-decoration:none;transition:background .16s,transform .16s}.auth-submit:hover{background:#125743;transform:translateY(-1px)}.auth-submit-link{margin-top:22px}.auth-switch{border-top:1px solid #e7eeee;margin:28px 0 0;padding-top:20px;text-align:center;color:var(--auth-muted);font-size:.87rem}.auth-resend{margin-top:16px;text-align:center}.auth-resend button{background:none;border:0;cursor:pointer;font:inherit;font-size:.83rem}
.auth-field-hint{float:right;color:#687e80;font-size:.75rem;font-weight:600}
@media(max-width:760px){.auth-shell{display:flex;flex-direction:column;margin:22px auto 45px;max-width:580px;min-height:0}.auth-card{order:1;padding:32px 28px}.auth-story{order:2;padding:28px;background:linear-gradient(110deg,#142a3c,#15594f)}.auth-story h1{font-size:1.65rem;margin:10px 0}.auth-story p{font-size:.86rem}.auth-story-steps{display:none}}
@media(max-width:480px){.auth-shell{border-radius:16px;margin:13px auto 35px}.auth-card{padding:27px 20px}.auth-card h2{font-size:1.8rem}.auth-story{padding:22px}.auth-label-row a{font-size:.76rem}}
@media(prefers-reduced-motion:reduce){.auth-submit{transition:none}}
