:root{
  --au-glass-top:rgba(255,255,255,.055);
  --au-glass-bot:rgba(255,255,255,.014);
  --au-line:rgba(255,255,255,.09);
  --au-primary-press:#C2152A;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body.au-page{
  min-height:100vh;min-height:100dvh;
  display:flex;
  padding:48px 20px;
  background:linear-gradient(180deg,#0B0B0E 0%,#060607 100%);
  color:var(--text);
  font-family:var(--font-body,"Inter",system-ui,sans-serif);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.au-page::before{
  content:"";position:fixed;left:50%;top:42%;
  width:min(880px,150vw);height:min(880px,150vw);
  transform:translate(-50%,-50%);z-index:0;pointer-events:none;
  background:
    radial-gradient(36% 40% at 30% 28%,rgba(229,26,46,.30),transparent 62%),
    radial-gradient(32% 36% at 72% 24%,rgba(255,51,71,.20),transparent 64%),
    radial-gradient(44% 48% at 60% 80%,rgba(255,184,0,.10),transparent 66%);
  animation:auAurora 24s ease-in-out infinite alternate;
}
@keyframes auAurora{0%{transform:translate(-52%,-50%) scale(1);}100%{transform:translate(-48%,-45%) scale(1.14);}}

.au-card{
  position:relative;z-index:1;margin:auto;width:100%;max-width:432px;
  background:linear-gradient(180deg,var(--au-glass-top),var(--au-glass-bot));
  border:1px solid var(--au-line);border-radius:22px;
  padding:36px 32px 26px;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 40px 110px -40px rgba(0,0,0,.9),0 20px 80px -52px rgba(229,26,46,.55),inset 0 1px 0 rgba(255,255,255,.04);
  animation:auCardIn .6s cubic-bezier(.16,1,.3,1) both;
}
@keyframes auCardIn{from{opacity:0;transform:translateY(18px) scale(.99);}to{opacity:1;transform:none;}}

.au-head{text-align:center;margin-bottom:24px;}
.au-logo{
  width:80px;height:80px;margin:0 auto 16px;border-radius:22px;
  display:grid;place-items:center;overflow:hidden;
  background:#0A0A0C;border:1px solid rgba(255,255,255,.10);
  box-shadow:0 16px 44px -16px rgba(229,26,46,.75),inset 0 1px 0 rgba(255,255,255,.06);
  animation:auLogoGlow 3.6s ease-in-out infinite;
}
@keyframes auLogoGlow{
  0%,100%{box-shadow:0 16px 44px -18px rgba(229,26,46,.6),inset 0 1px 0 rgba(255,255,255,.06);}
  50%{box-shadow:0 18px 52px -14px rgba(229,26,46,.95),inset 0 1px 0 rgba(255,255,255,.06);}
}
.au-logo img{width:100%;height:100%;object-fit:cover;display:block;}
.au-brand{display:block;font-family:var(--font-display,"Space Grotesk",sans-serif);font-weight:700;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin-bottom:12px;}
.au-title{font-family:var(--font-display,"Space Grotesk",sans-serif);font-weight:700;font-size:26px;letter-spacing:-.02em;margin:0 0 6px;color:var(--text);}
.au-sub{color:var(--text-dim);font-size:14.5px;line-height:1.5;margin:0;}

.au-panels{position:relative;}
.au-panel{display:none;}
.au-card[data-auth-mode="login"] .au-panel-login{display:block;animation:auPanelIn .42s cubic-bezier(.16,1,.3,1);}
.au-card[data-auth-mode="register"] .au-panel-register{display:block;animation:auPanelIn .42s cubic-bezier(.16,1,.3,1);}
@keyframes auPanelIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

.au-form{display:flex;flex-direction:column;gap:16px;}
.au-field{display:flex;flex-direction:column;gap:7px;}
.au-label{font-size:13px;color:var(--text-dim);font-weight:500;}
.au-input{
  width:100%;height:48px;padding:0 14px;font-size:16px;
  color:var(--text);font-family:inherit;
  background:rgba(8,8,9,.72);border:1px solid var(--outline);border-radius:12px;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.au-input::placeholder{color:#5a5a5a;}
.au-input:focus{outline:none;border-color:var(--primary);background:rgba(8,8,9,.95);box-shadow:0 0 0 3px rgba(229,26,46,.18);}
.au-input.au-shake{animation:auShake .32s ease;}
@keyframes auShake{0%,100%{transform:translateX(0);}25%{transform:translateX(-5px);}75%{transform:translateX(5px);}}

.au-msg{
  font-size:12.5px;color:#fca5a5;line-height:1.4;
  max-height:0;opacity:0;overflow:hidden;
  transition:max-height .25s ease,opacity .2s ease,margin-top .25s ease;
}
.au-msg.show{max-height:40px;opacity:1;margin-top:1px;}

.au-pass{position:relative;}
.au-pass .au-input{padding-right:48px;}
.au-pass-toggle{
  position:absolute;right:6px;top:6px;width:36px;height:36px;
  display:grid;place-items:center;background:transparent;border:0;color:var(--text-muted);
  cursor:pointer;border-radius:9px;transition:color .15s ease,background .15s ease;
}
.au-pass-toggle:hover{color:var(--text);background:rgba(255,255,255,.05);}
.au-pass-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
.au-pass-toggle svg{width:19px;height:19px;}
.au-pass-toggle .ic-off{display:none;}
.au-pass-toggle.is-on .ic-on{display:none;}
.au-pass-toggle.is-on .ic-off{display:block;}

.au-remember{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none;margin-top:-2px;}
.au-remember-input{position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none;}
.au-remember-box{
  flex:0 0 auto;width:20px;height:20px;border-radius:6px;display:grid;place-items:center;
  background:rgba(8,8,9,.72);border:1px solid var(--outline);
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.au-remember-box svg{width:13px;height:13px;color:#fff;opacity:0;transform:scale(.6);transition:opacity .16s ease,transform .16s ease;}
.au-remember:hover .au-remember-box{border-color:var(--primary);}
.au-remember-input:checked + .au-remember-box{background:var(--primary);border-color:var(--primary);box-shadow:0 4px 14px -4px rgba(229,26,46,.8);}
.au-remember-input:checked + .au-remember-box svg{opacity:1;transform:none;}
.au-remember-input:focus-visible + .au-remember-box{outline:2px solid var(--primary);outline-offset:2px;}
.au-remember-text{font-size:13.5px;color:var(--text-dim);line-height:1.3;}
.au-remember-hint{color:var(--text-muted);}

.au-card .btn{height:48px;width:100%;font-size:15px;margin-top:2px;}
.au-card .btn-primary{box-shadow:0 12px 36px -12px rgba(229,26,46,.7);transition:transform .16s ease,background .16s ease,box-shadow .25s ease;}
.au-card .btn-primary:hover:not(:disabled){background:var(--au-primary-press);transform:translateY(-2px);box-shadow:0 18px 48px -12px rgba(229,26,46,.92);}
.au-card .btn-primary:active:not(:disabled){transform:translateY(0) scale(.985);}

.au-alert{padding:11px 14px;border-radius:12px;font-size:13.5px;line-height:1.45;border:1px solid transparent;margin-bottom:18px;}
.au-alert-error{background:rgba(239,68,68,.10);border-color:rgba(239,68,68,.42);color:#fca5a5;}
.au-alert-ok{background:rgba(16,185,129,.10);border-color:rgba(16,185,129,.42);color:#6ee7b7;}
.au-alert-info{background:rgba(245,197,66,.10);border-color:rgba(245,197,66,.40);color:#f4d58d;}

.au-foot{margin-top:22px;text-align:center;font-size:14px;color:var(--text-muted);}
.au-foot a{color:var(--text);font-weight:600;text-decoration:none;transition:color .15s ease;}
.au-foot a:hover{color:var(--primary-glow);}
.au-foot-register{display:none;}
.au-card[data-auth-mode="register"] .au-foot-login{display:none;}
.au-card[data-auth-mode="register"] .au-foot-register{display:inline;}

.au-secure{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:18px;color:var(--text-muted);font-size:12px;}
.au-secure svg{width:14px;height:14px;flex:0 0 auto;}
.au-back{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;color:var(--text-muted);font-size:13px;text-decoration:none;transition:color .15s ease;}
.au-back:hover{color:var(--text);}

.au-code{letter-spacing:.42em;text-align:center;font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;}

@media (max-width:480px){
  body.au-page{padding:28px 16px;}
  .au-card{padding:28px 20px 22px;border-radius:18px;}
  .au-title{font-size:23px;}
}
@media (prefers-reduced-motion:reduce){
  body.au-page::before,.au-card,.au-logo,
  .au-card[data-auth-mode="login"] .au-panel-login,
  .au-card[data-auth-mode="register"] .au-panel-register,
  .au-input.au-shake{animation:none !important;}
}

.au-sso-link{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:2px;padding:10px 12px;border-radius:12px;font-size:13.5px;color:var(--au-muted,#a7a7b4);text-decoration:none;border:1px solid transparent;transition:color .18s ease,border-color .18s ease,background .18s ease;}
.au-sso-link svg{width:16px;height:16px;flex-shrink:0;}
.au-sso-link:hover{color:#f4f4f7;border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.04);}
.au-otp{text-align:center;font-size:22px;letter-spacing:10px;font-variant-numeric:tabular-nums;}
.au-otp::placeholder{letter-spacing:6px;}
.au-row{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap;margin-top:-2px;}
.au-row .au-remember{margin-top:0;}
.au-forgot{font-size:13px;color:var(--text-muted);text-decoration:none;white-space:nowrap;transition:color .15s ease;}
.au-forgot:hover{color:var(--primary);}
.au-forgot:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px;}
.au-btn-link{display:flex;align-items:center;justify-content:center;text-decoration:none;}
.au-done-ic{display:block;width:46px;height:46px;margin:4px auto 12px;color:#6ee7b7;}
.au-resend{margin-top:12px;}
