.ac-modal{
  position:relative;width:100%;max-width:460px;border:1px solid transparent;
  background:linear-gradient(165deg,var(--black-900) 0%,var(--black-850) 100%) padding-box, var(--grad-silver-border) border-box;
  border-radius:20px;box-shadow:0 1px 2px rgba(0,0,0,.5),0 28px 60px -20px rgba(0,0,0,.85);
  overflow:hidden;font-family:inherit;color:var(--text);
}
.ac-modal::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-red)}

.ac-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:28px 30px 18px}
.ac-brand-lockup{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.ac-brand-mark{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.ac-brand-mark svg{width:100%;height:100%;display:block}
.ac-brand-mark span{font:800 17px/1 inherit;color:#fff;transform:translate(-1px,1px)}
.ac-wordmark{font:800 18px/1 inherit;letter-spacing:.01em}

.ac-tabs{display:flex;background:var(--black-800);border-radius:999px;padding:4px;gap:2px}
.ac-tab{border:none;background:none;padding:8px 15px;border-radius:999px;font:700 12.5px inherit;
  color:var(--text-2);text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease;white-space:nowrap}
.ac-tab.on{background:var(--grad-red);color:var(--on-red)}
.ac-tab:not(.on):hover{color:var(--text)}

.ac-body{padding:4px 30px 0}
.ac-panel-title{font:800 25px/1.2 inherit;letter-spacing:-.01em;margin:0 0 6px}
.ac-panel-sub{font:500 14px/1.55 inherit;color:var(--text-2);margin:0 0 26px}

.ac-field{margin-bottom:20px}
.ac-field-label{display:block;font:700 11px inherit;letter-spacing:.07em;text-transform:uppercase;color:var(--text-2);margin-bottom:8px}
.ac-field-control{position:relative;display:flex;align-items:center;border-bottom:1.5px solid rgba(255,255,255,.16);transition:border-color .15s ease}
.ac-field-control:focus-within{border-bottom-color:var(--red-600)}
.ac-field.has-error .ac-field-control{border-bottom-color:var(--danger)}
.ac-field-control input{flex:1;min-width:0;border:none;background:transparent;padding:10px 2px;font:500 15px inherit;color:var(--text)}
.ac-field-control input:focus{outline:none}
.ac-field-control input::placeholder{color:rgba(255,255,255,.30)}
.ac-field-control .ac-prefix{color:var(--text-2);font:600 15px inherit;padding-right:1px}

.ac-pw-toggle{border:none;background:none;padding:6px;margin-right:-6px;cursor:pointer;color:var(--text-2);display:flex;border-radius:6px}
.ac-pw-toggle:hover{color:var(--text)}
.ac-pw-toggle svg{width:18px;height:18px}

.ac-field-error{display:flex;align-items:flex-start;gap:6px;margin-top:8px;font:600 12.5px/1.4 inherit;color:var(--danger)}
.ac-field-error svg{width:14px;height:14px;flex-shrink:0;margin-top:1px}
.ac-field-hint{margin-top:8px;font:500 12px/1.4 inherit;color:var(--text-2)}

.ac-row-end{display:flex;justify-content:flex-end;margin:-10px 0 22px}
.ac-link-muted{font:600 12.5px inherit;color:var(--text-2);text-decoration:none}
.ac-link-muted:hover{color:var(--red-500)}

.ac-checkbox-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;cursor:pointer}
.ac-checkbox-row input{width:17px;height:17px;margin-top:2px;accent-color:var(--red-600);flex-shrink:0;cursor:pointer}
.ac-checkbox-row span{font:500 13px/1.5 inherit;color:var(--text)}
.ac-checkbox-row a{color:var(--red-400);font-weight:700;text-decoration:none}
.ac-checkbox-row a:hover{text-decoration:underline}

.ac-btn-primary{width:100%;padding:14px 20px;border:none;border-radius:10px;background:var(--grad-red);
  color:var(--on-red);font:700 15px inherit;letter-spacing:.01em;cursor:pointer;
  box-shadow:0 8px 22px -8px rgba(224,50,44,.45);transition:background .15s ease,box-shadow .15s ease,transform .08s ease;margin-top:6px}
.ac-btn-primary:hover{background:var(--grad-red-hover);box-shadow:0 12px 26px -8px rgba(224,50,44,.55)}
.ac-btn-primary:active{transform:translateY(1px)}
.ac-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}

.ac-legal{font:500 12px/1.55 inherit;color:var(--text-2);text-align:center;margin:14px 0 0}
.ac-legal a{color:var(--red-400);font-weight:600;text-decoration:none}
.ac-legal a:hover{text-decoration:underline}

.ac-footer{margin-top:22px;padding:18px 30px 26px;border-top:1px solid rgba(255,255,255,.08);background:var(--black-800);text-align:center}
.ac-footer p{margin:0;font:600 13.5px inherit;color:var(--text-2)}
.ac-footer a{color:var(--red-400);font-weight:700;text-decoration:none}
.ac-footer a:hover{text-decoration:underline}

.ac-toast{margin:18px 30px 0;display:flex;align-items:flex-start;gap:10px;background:var(--black-900);
  border:1px solid rgba(255,255,255,.10);border-left:3px solid var(--danger);border-radius:10px;
  padding:13px 14px;box-shadow:0 10px 24px -14px rgba(0,0,0,.7)}
.ac-toast svg{width:18px;height:18px;flex-shrink:0;color:var(--danger);margin-top:1px}
.ac-toast strong{display:block;font:700 13.5px inherit;color:var(--text)}
.ac-toast p{margin:2px 0 0;font:500 12.5px/1.45 inherit;color:var(--text-2)}
.ac-toast-close{margin-left:auto;border:none;background:none;color:var(--text-2);cursor:pointer;padding:2px;border-radius:4px;flex-shrink:0}
.ac-toast-close svg{width:14px;height:14px;color:inherit}
.ac-tg-card{display:flex;align-items:center;gap:14px;width:100%;padding:14px 18px;border:none;border-radius:14px;
  background:linear-gradient(135deg,#2AABEE 0%,#229ED9 100%);cursor:pointer;text-align:left;
  transition:transform .12s ease,box-shadow .15s ease;box-shadow:0 6px 18px -8px rgba(34,158,217,.55)}
.ac-tg-card:hover{transform:translateY(-1px);box-shadow:0 10px 22px -8px rgba(34,158,217,.65)}
.ac-tg-card:active{transform:translateY(0)}
.ac-tg-icon{width:34px;height:34px;flex-shrink:0;color:#fff}
.ac-tg-text{display:flex;flex-direction:column;gap:1px}
.ac-tg-title{font:700 14.5px inherit}
.ac-tg-sub{font:500 12px inherit;color:rgba(255,255,255,.82)}
.ac-wordmark,.ac-panel-title,.ac-tg-title{
  background:linear-gradient(100deg,#ffffff 0%,#c7ccd6 16%,#0b0b0b 34%,var(--red-600) 50%,#0b0b0b 66%,#c7ccd6 84%,#ffffff 100%);
  background-size:220% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:kp-shimmer 6s linear infinite}

.ac-divider-row{display:flex;align-items:center;gap:12px;margin:20px 0 18px}
.ac-divider-row::before,.ac-divider-row::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.1)}
.ac-divider-row span{font:600 11px inherit;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}

.ac-tg-step-back{display:inline-flex;align-items:center;gap:4px;border:none;background:none;padding:0;
  margin-bottom:14px;font:600 12.5px inherit;color:var(--text-2);cursor:pointer}
.ac-tg-step-back:hover{color:var(--text)}
.ac-tg-step-back svg{width:15px;height:15px}
.ac-tg-code-input{width:100%;text-align:center;letter-spacing:.5em;font:700 22px inherit;padding:12px 0 12px .5em;
  border:none;background:transparent;color:var(--text)}
.ac-tg-code-input:focus{outline:none}
.ac-tg-resend{border:none;background:none;padding:0;font:600 12.5px inherit;color:var(--red-400);cursor:pointer}
.ac-tg-resend:hover{text-decoration:underline}
.ac-tg-resend:disabled{color:var(--text-2);cursor:not-allowed;text-decoration:none}
.ac-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--grad-app)}
