
.public-auth-fullscreen{min-height:100vh;background:#fff}
.public-auth-fullscreen .public-main-fullscreen{min-height:100vh;padding:0!important}
.auth-stage{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(520px,.95fr);background:#fff}
.auth-visual{min-height:100vh;position:relative;overflow:hidden;padding:42px 48px;display:flex;flex-direction:column;justify-content:space-between;background-position:center;background-size:cover;color:#fff}
.auth-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,18,38,.13),rgba(7,15,32,.12) 44%,rgba(4,10,24,.82));pointer-events:none}
.auth-visual:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.22),transparent 34%);pointer-events:none}
.auth-visual-login{background-image:url('/assets/site/auth-login-visual.svg')}
.auth-visual-register{background-image:url('/assets/site/auth-register-visual.svg')}
.auth-visual-brand{position:relative;z-index:2;display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;width:max-content}
.auth-visual-brand img,.auth-visual-brand>span{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.34);border-radius:11px;background:rgba(255,255,255,.16);object-fit:contain;backdrop-filter:blur(8px);font-size:16px;font-weight:900}
.auth-visual-brand strong{font-size:17px;letter-spacing:-.02em}
.auth-visual-copy{position:relative;z-index:2;max-width:590px}
.auth-visual-kicker{display:inline-flex;margin-bottom:12px;padding:7px 10px;border:1px solid rgba(255,255,255,.26);border-radius:999px;background:rgba(5,14,30,.23);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(10px)}
.auth-visual-copy h2{max-width:560px;margin:0 0 13px;font-size:clamp(30px,3.1vw,54px);line-height:1.02;letter-spacing:-.055em}
.auth-visual-copy p{max-width:560px;margin:0;color:rgba(255,255,255,.83);font-size:14px;line-height:1.72}
.auth-form-side{min-height:100vh;position:relative;padding:60px 46px;display:grid;place-items:center;background:#fff}
.auth-home-link{width:42px;height:42px;position:absolute;right:28px;top:26px;display:grid;place-items:center;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#111827;text-decoration:none;font-size:20px;box-shadow:0 7px 20px rgba(15,23,42,.06);transition:.2s}
.auth-home-link:hover{transform:translateX(-2px);border-color:#cbd5e1;background:#f8fafc}
.auth-form-wrap{width:min(100%,430px)}
.auth-form-wrap-register{width:min(100%,520px)}
.auth-form-heading{margin-bottom:25px;text-align:center}
.auth-mobile-brand{display:none}
.auth-form-heading h1{margin:0 0 8px;color:#0f172a;font-size:29px;line-height:1.15;letter-spacing:-.045em}
.auth-form-heading p{margin:0;color:#64748b;font-size:12px;line-height:1.55}
.auth-form-heading a{color:#111827;font-weight:900;text-decoration:none}
.auth-form-heading a:hover{text-decoration:underline}
.auth-alert{margin-bottom:14px;padding:11px 12px;border:1px solid;border-radius:10px;font-size:11px;line-height:1.5}
.auth-alert.danger{border-color:#fecdd3;background:#fff1f2;color:#9f1239}
.auth-alert div+div{margin-top:3px}
.auth-form{display:flex;flex-direction:column;gap:13px}
.auth-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.auth-field{display:flex;flex-direction:column;gap:6px}
.auth-field>span,.auth-field-row>span{color:#1e293b;font-size:10px;font-weight:900}
.auth-field-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.auth-field-row a{color:#64748b;font-size:9px;font-weight:700;text-decoration:none}
.auth-field-row a:hover{color:#111827}
.auth-field input{width:100%;height:43px;padding:0 12px;border:1px solid #dbe3ed;border-radius:8px;background:#f8fafc;color:#0f172a;font:inherit;font-size:12px;outline:none;transition:.18s}
.auth-field input::placeholder{color:#a3afbf}
.auth-field input:focus{border-color:#64748b;background:#fff;box-shadow:0 0 0 3px rgba(15,23,42,.06)}
.auth-password{position:relative;display:block}
.auth-password input{padding-right:44px}
.auth-password button{width:36px;height:36px;position:absolute;right:4px;top:4px;border:0;border-radius:7px;background:transparent;color:#64748b;font-size:13px;cursor:pointer}
.auth-password button:hover{background:#eef2f7;color:#111827}
.auth-check{display:flex;align-items:flex-start;gap:8px;color:#475569;font-size:10px;line-height:1.5;cursor:pointer}
.auth-check input{width:15px;height:15px;margin:1px 0 0;accent-color:#111827;flex:0 0 auto}
.auth-submit{height:44px;margin-top:2px;border:0;border-radius:8px;background:#111;box-shadow:0 8px 16px rgba(15,23,42,.12);color:#fff;font:inherit;font-size:11px;font-weight:900;cursor:pointer;transition:.2s}
.auth-submit:hover{background:#1f2937;transform:translateY(-1px)}
.auth-submit:disabled{opacity:.55;cursor:not-allowed;transform:none}
.auth-submit.is-loading span:after{content:"...";animation:authDots 1.1s infinite steps(4,end)}
@keyframes authDots{0%{content:""}25%{content:"."}50%{content:".."}75%,100%{content:"..."}}
.auth-recaptcha{min-height:78px;padding:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}
.auth-security-note{margin-top:18px;padding-top:16px;display:flex;align-items:center;justify-content:center;gap:7px;border-top:1px solid #eef2f7;color:#94a3b8}
.auth-security-note>span{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#ecfdf5;color:#059669;font-size:10px;font-weight:900}
.auth-security-note p{margin:0;font-size:9px;line-height:1.5;text-align:center}
@media(max-width:1050px){
  .auth-stage{grid-template-columns:minmax(340px,.8fr) minmax(500px,1.2fr)}
  .auth-visual{padding:34px}
}
@media(max-width:820px){
  .auth-stage{display:block}
  .auth-visual{min-height:250px;padding:26px}
  .auth-visual-copy h2{font-size:34px}
  .auth-visual-copy p{max-width:520px;font-size:12px}
  .auth-form-side{min-height:auto;padding:42px 22px 54px}
  .auth-home-link{top:18px;right:18px}
  .auth-mobile-brand{display:inline-flex;margin-bottom:10px;color:#2563eb;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
}
@media(max-width:560px){
  .auth-visual{min-height:210px;padding:22px}
  .auth-visual-brand strong{font-size:15px}
  .auth-visual-copy h2{font-size:28px}
  .auth-visual-copy p{display:none}
  .auth-form-side{padding:36px 16px 46px}
  .auth-form-wrap,.auth-form-wrap-register{width:100%}
  .auth-form-heading h1{font-size:25px}
  .auth-form-grid{grid-template-columns:1fr}
  .auth-recaptcha{justify-content:flex-start}
  .auth-recaptcha .g-recaptcha{transform:scale(.88);transform-origin:left center}
}
