body.auth{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;color:#fff;background:radial-gradient(640px 460px at 80% 48%,rgba(193,22,40,.34),transparent 70%),linear-gradient(135deg,var(--navy) 0%,#0A2C42 55%,var(--navy-deep) 100%);background-attachment:fixed}
.auth::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:92px 92px;-webkit-mask-image:linear-gradient(100deg,transparent 15%,#000 75%);mask-image:linear-gradient(100deg,transparent 15%,#000 75%)}
.auth .hero-icons{position:fixed}
.auth-wrap{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;padding:40px 16px}
.card-auth{width:100%;max-width:560px;background:var(--white);color:var(--ink);border-radius:var(--pane);padding:38px 38px 34px;box-shadow:0 40px 70px -28px rgba(0,0,0,.55);animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.card-auth.wide{max-width:740px}
.logos{display:flex;align-items:center;gap:16px;padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.logos img{display:block;width:auto;max-width:none}
.logos .l1{height:34px}.logos .l2{height:20px}.logos .l3{height:18px}
.logos .vr{width:1px;height:26px;background:#D5DEE5}
.card-auth h1{font-family:var(--serif);font-weight:700;font-size:clamp(1.8rem,4.2vw,2.35rem);line-height:1.12;color:var(--navy);letter-spacing:-.01em}
.card-auth .rule{display:block;width:64px;height:5px;margin:16px 0 14px;background:var(--red);border-radius:6px 0 6px 0}
.sub{color:var(--muted);font-size:.95rem;margin-bottom:22px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.grid .full{grid-column:1/-1}
.fld label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.03em;color:var(--navy);margin-bottom:6px}
.fld input,.fld select{width:100%;height:50px;padding:0 16px;font:500 .95rem var(--sans);color:var(--navy);background:var(--mist);border:1.5px solid transparent;border-radius:14px 0 14px 0;outline:none;transition:border-color .2s,background .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.fld select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230D324A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px}
.fld input:focus,.fld select:focus{background:#fff;border-color:var(--red);box-shadow:0 0 0 4px rgba(193,22,40,.12)}
.fld input::placeholder{color:#8DA0AE;font-weight:400}
.pw{position:relative}
.pw input{padding-right:56px}
.pw button{position:absolute;right:6px;top:6px;width:38px;height:38px;border:0;background:transparent;color:var(--muted);cursor:pointer;border-radius:10px;display:grid;place-items:center}
.pw button:hover{color:var(--red)}
.pw svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hint{font-size:.74rem;color:var(--muted);margin-top:6px}
.btn{width:100%;height:54px;margin-top:22px;border:0;cursor:pointer;font:700 .98rem var(--sans);letter-spacing:.02em;color:#fff;background:var(--red);border-radius:16px 0 16px 0;transition:background .25s,transform .25s,box-shadow .25s}
.btn:hover{background:var(--red-deep);transform:translateY(-2px);box-shadow:0 14px 26px -14px rgba(193,22,40,.8)}
.alt{margin-top:22px;text-align:center;font-size:.9rem;color:var(--muted)}
.alt a{color:var(--red);font-weight:700}
.alt a:hover{text-decoration:underline}
.msg{border-radius:14px 0 14px 0;padding:12px 16px;font-size:.88rem;margin-bottom:18px}
.msg.err{background:#FDECEE;color:#8F1020;border:1px solid #F3C3C9}
.msg.ok{background:#E8F4EC;color:#1E6B3A;border:1px solid #BFE0CB}
.msg ul{margin:0;padding-left:18px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.auth-foot{position:relative;z-index:1;text-align:center;padding:0 16px 26px;font-size:.78rem;color:var(--on-dark)}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.card-auth{animation:none}}
@media(max-width:640px){
.auth-wrap{padding:24px 14px;align-items:flex-start}
.card-auth{padding:26px 20px 24px}
.grid{grid-template-columns:1fr;gap:14px}
.logos{gap:12px;justify-content:center}
.logos .l1{height:28px}.logos .l2{height:16px}.logos .l3{height:15px}
.logos .vr{display:none}
.fld input,.fld select{font-size:16px}
}
