*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body.login-body{background:radial-gradient(circle at 15% 12%,#eaf4ff 0,transparent 31%),radial-gradient(circle at 88% 88%,#eeeaff 0,transparent 30%),#f7f9fc;color:#15213b;font-family:Arial,"Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased}
.auth-shell{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:32px 18px}
.auth-card{width:min(100%,470px);padding:42px 46px 36px;border:1px solid #dce4ef;border-radius:16px;background:#fff;box-shadow:0 18px 55px rgba(34,58,92,.12)}
.auth-card-register{width:min(100%,720px)}
.auth-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto 32px;color:#465875;font-size:25px;font-weight:700;text-decoration:none}
.auth-brand strong{color:#1680ee}
.auth-brand-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1}
.auth-brand-copy>span{display:block;line-height:1.05}
.auth-brand small{display:block;margin-top:5px;color:#8a98ab;font-size:8px;font-weight:600;letter-spacing:1.25px;line-height:1;text-transform:uppercase;white-space:nowrap}
.auth-brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:linear-gradient(145deg,#a87845,#76502e);box-shadow:0 6px 16px rgba(107,72,39,.24);color:#ffe6a9}
.auth-brand-mark svg{width:25px;height:25px}
.auth-card h1{margin:0;text-align:center;color:#15213b;font-size:22px;line-height:1.25}
.auth-subtitle{max-width:390px;margin:9px auto 27px;color:#7a899e;font-size:13px;line-height:1.45;text-align:center}
.login_form{display:block;margin:0}
.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px}
.auth-field{display:block;margin:0 0 17px}
.auth-grid .auth-field{margin:0}
.auth-field>span:first-child{display:block;margin-bottom:7px;color:#34445e;font-size:12px;font-weight:700}
.auth-field input{display:block;width:100%;height:48px;padding:0 14px;border:1px solid #d4dce7;border-radius:8px;outline:none;background:#fff;color:#17223b;font:14px Arial,"Helvetica Neue",sans-serif;transition:border-color .18s,box-shadow .18s}
.auth-field input::placeholder{color:#9ca8b8}
.auth-field input:focus{border-color:#4c88e8;box-shadow:0 0 0 3px rgba(64,126,226,.12)}
.rec_link{display:block;width:max-content;margin:-5px 0 22px auto;color:#3972ca;font-size:12px;text-decoration:none}
.rec_link:hover,.auth-back:hover{text-decoration:underline}
.login-button{display:flex;align-items:center;justify-content:center;width:100%;height:48px;margin:22px 0 0;padding:0 20px;border:0;border-radius:8px;background:#4c7fe3;box-shadow:0 8px 18px rgba(48,105,210,.2);color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:background .18s,transform .18s}
.login-button:hover{background:#386ed6;transform:translateY(-1px)}
.login-button:active{transform:translateY(0)}
.auth-divider{display:flex;align-items:center;gap:12px;margin:25px 0 16px;color:#9aa6b5;font-size:11px}
.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#e6ebf2}
a.reg_button{display:flex;align-items:center;justify-content:center;width:100%;height:46px;border:1px solid #cfd9e7;border-radius:8px;background:#fff;color:#376ab7;font-size:13px;font-weight:700;text-decoration:none;transition:border-color .18s,background .18s}
a.reg_button:hover{border-color:#93b8ea;background:#f5f9ff}
.auth-back{display:block;margin:22px auto 0;color:#3972ca;font-size:12px;text-align:center;text-decoration:none}
.auth-card footer{margin-top:30px;color:#a0aab7;font-size:11px;text-align:center}
.error,.mess{margin-top:14px;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.4;text-align:center}
.error{border:1px solid #ffd1d5;background:#fff1f2;color:#c52e37}
.mess{border:1px solid #bde4c9;background:#effcf3;color:#168541}
.field-error{display:block;margin-top:6px;color:#d13b43;font-size:10px;line-height:1.3}
.auth-captcha{margin-top:20px}
.captcha-row{display:grid!important;grid-template-columns:150px 1fr;align-items:center;gap:14px}
.captcha-row img{display:block;max-width:150px;height:48px;border:1px solid #dce3ec;border-radius:7px;object-fit:contain;background:#f7f9fc}
.auth-card-register .login-button{margin-top:22px}
@media(max-width:620px){
  .auth-shell{align-items:flex-start;padding:18px 12px}
  .auth-card{padding:31px 22px 27px;border-radius:14px}
  .auth-brand{margin-bottom:29px}
  .auth-grid{grid-template-columns:1fr;gap:15px}
  .captcha-row{grid-template-columns:1fr}
  .captcha-row img{width:150px}
}
