[data-auth-actions]{display:contents}

.auth-modal-overlay{
  position:fixed;inset:0;background:rgba(14,30,22,.55);
  display:flex;align-items:center;justify-content:center;
  padding:20px;z-index:400;
  opacity:0;visibility:hidden;
  transition:opacity .25s ease, visibility .25s ease;
}
.auth-modal-overlay.is-open{opacity:1;visibility:visible}

.auth-modal-box{
  background:#fff;border-radius:var(--radius-l);padding:36px;max-width:400px;width:100%;
  box-shadow:var(--shadow-card);
  transform:translateY(18px) scale(.96);opacity:0;
  transition:transform .3s cubic-bezier(.2,.8,.2,1), opacity .3s ease;
  max-height:88vh;overflow-y:auto;position:relative;
}
.auth-modal-overlay.is-open .auth-modal-box{transform:translateY(0) scale(1);opacity:1}

.auth-modal-close{
  position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:var(--mint-50);
  border-radius:999px;color:var(--muted-500);display:flex;align-items:center;justify-content:center;
  font-size:16px;transition:background .15s ease;
}
.auth-modal-close:hover{background:var(--green-100);color:var(--green-700)}

.auth-modal-box h2{font-size:22px;margin-bottom:6px}
.auth-modal-box .auth-modal-sub{font-size:13.5px;margin-bottom:20px}

.auth-modal-tabs{display:flex;gap:10px;margin-bottom:22px}
.auth-modal-tab{
  flex:1;padding:11px;border-radius:10px;border:1px solid var(--line-200);background:#fff;
  font-size:13.5px;font-weight:600;color:var(--ink-700);transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.auth-modal-tab.is-active{background:var(--green-700);border-color:var(--green-700);color:#fff}

.auth-modal-panel{display:flex;flex-direction:column;gap:16px}
.auth-modal-panel[hidden]{display:none}

.auth-modal-panel .field{margin-bottom:0}

@keyframes authModalShake{
  10%,90%{transform:translateX(-1px)}
  20%,80%{transform:translateX(2px)}
  30%,50%,70%{transform:translateX(-4px)}
  40%,60%{transform:translateX(4px)}
}
.auth-modal-box.is-shaking{animation:authModalShake .5s}

@media (max-width:480px){
  .auth-modal-box{padding:28px 22px}
}
