.auth-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:300;
  display:none;align-items:center;justify-content:center;
}
.auth-overlay.open{display:flex}
.auth-modal{
  background:var(--bg-card);border-radius:12px;padding:32px;
  width:100%;max-width:420px;position:relative;
  border:1px solid var(--border);box-shadow:var(--shadow);
}
.auth-close{
  position:absolute;top:12px;right:12px;font-size:1.4rem;
  width:32px;height:32px;display:flex;align-items:center;justify-content:center;
  border-radius:6px;transition:background .2s;
}
.auth-close:hover{background:var(--hover-bg)}
.auth-title{font-size:1.3rem;font-weight:700;margin-bottom:6px}
.auth-subtitle{font-size:.88rem;color:var(--text2);margin-bottom:24px}
.auth-form{display:flex;flex-direction:column;gap:16px}
.auth-field{display:flex;flex-direction:column;gap:4px}
.auth-field label{font-size:.82rem;font-weight:600;color:var(--text2)}
.auth-field input{
  padding:10px 14px;border:1px solid var(--border);border-radius:8px;
  background:var(--input-bg);font-size:.9rem;outline:none;transition:border .2s;
}
.auth-field input:focus{border-color:var(--accent)}
.auth-submit{
  padding:12px;border-radius:8px;background:var(--accent);color:#fff;
  font-size:.95rem;font-weight:600;border:none;cursor:pointer;
  transition:opacity .2s;margin-top:8px;
}
.auth-submit:hover{opacity:.85}
.auth-submit:disabled{opacity:.5;cursor:not-allowed}
.auth-error{
  padding:8px 12px;border-radius:6px;background:#EF444420;
  color:#EF4444;font-size:.82rem;display:none;
}
.auth-error.show{display:block}
.auth-switch{
  text-align:center;font-size:.85rem;color:var(--text2);margin-top:16px;
}
.auth-switch a{color:var(--accent);cursor:pointer;font-weight:500}

/* Confirmation popup */
.confirm-popup-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:600;
  display:flex;align-items:center;justify-content:center;
  animation:fadeIn .2s ease;
}
.confirm-popup{
  background:var(--bg-card);border-radius:14px;padding:28px 32px;
  width:100%;max-width:440px;border:1px solid var(--border);
  box-shadow:0 20px 60px rgba(0,0,0,.3);
}
.confirm-popup h3{
  font-size:1.15rem;font-weight:700;margin-bottom:12px;color:var(--text);
}
.confirm-popup p{
  font-size:.88rem;color:var(--text2);line-height:1.5;margin-bottom:10px;
}
.confirm-popup p strong{color:var(--text)}
.confirm-popup-actions{
  display:flex;gap:10px;margin-top:20px;justify-content:flex-end;
}
.confirm-popup-btn{
  padding:10px 20px;border-radius:8px;font-size:.88rem;font-weight:600;
  border:none;cursor:pointer;transition:opacity .2s;
}
.confirm-popup-cancel{
  background:var(--hover-bg);color:var(--text2);
}
.confirm-popup-cancel:hover{opacity:.7}
.confirm-popup-ok{
  background:var(--accent);color:#fff;
}
.confirm-popup-ok:hover{opacity:.85}
.confirm-popup-ok:disabled{opacity:.5;cursor:not-allowed}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
