/* ---------- Auth modals ---------- */
.modal-overlay{
  position:fixed; inset:0; z-index:100;
  background:rgba(0,0,0,.5); backdrop-filter:blur(4px);
  display:none; align-items:center; justify-content:center;
}
.modal-overlay.show{display:flex}

.modal{
  background:var(--panel); border:1px solid var(--panel-border);
  border-radius:16px; padding:28px 32px; width:400px; max-width:92vw;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
  position:relative;
}
.modal h2{
  margin:0 0 20px; font-size:20px; color:var(--text);
  font-family:var(--font-round); font-weight:800;
}
.modal .close-modal{
  position:absolute; top:12px; right:16px; font-size:22px;
  color:var(--muted); cursor:pointer; background:none; border:none; line-height:1;
}
.modal .close-modal:hover{color:var(--text)}

.form-group{margin-bottom:16px}
.form-group label{display:block; font-size:13px; font-weight:600; color:var(--text); margin-bottom:5px}
.form-group input, .form-group select{
  width:100%; padding:10px 12px; border:1px solid var(--panel-border);
  border-radius:8px; background:var(--bg); color:var(--text);
  font-size:14px; font-family:inherit;
}
.form-group input:focus, .form-group select:focus{
  outline:none; border-color:var(--accent);
}
.form-group .error{font-size:12px; color:#d44; margin-top:4px}

.form-btn{
  width:100%; padding:12px; border:none; border-radius:10px;
  background:linear-gradient(160deg,var(--queen-a),var(--queen-b));
  color:#3a2609; font-size:15px; font-weight:700; cursor:pointer;
  font-family:inherit; transition:filter .15s;
}
.form-btn:hover{filter:brightness(1.05)}
.form-btn:disabled{opacity:.6; cursor:not-allowed}

.form-footer{
  text-align:center; margin-top:14px; font-size:13px; color:var(--muted);
}
.form-footer a{color:var(--accent); cursor:pointer; text-decoration:none}
.form-footer a:hover{text-decoration:underline}

.form-error{
  background:rgba(220,60,60,.1); border:1px solid rgba(220,60,60,.3);
  border-radius:8px; padding:8px 12px; font-size:13px; color:#d44;
  margin-bottom:12px; display:none;
}
.form-error.show{display:block}

/* Questionnaire step */
.signup-step{display:none}
.signup-step.active{display:block}
.questionnaire-note{font-size:12px; color:var(--muted); margin-bottom:14px}
.skip-link{font-size:13px; color:var(--muted); cursor:pointer; text-decoration:underline; display:inline-block; margin-top:8px}
.skip-link:hover{color:var(--text)}

/* Migration prompt */
#migrationPrompt{
  position:fixed; top:50%; left:50%; transform:translate(-50%,-50%);
  z-index:110; background:var(--panel); border:1px solid var(--panel-border);
  border-radius:14px; padding:24px; width:360px; max-width:90vw;
  box-shadow:0 16px 48px rgba(0,0,0,.5); text-align:center; display:none;
}
#migrationPrompt.show{display:block}
#migrationPrompt h3{margin:0 0 12px; font-size:16px}
#migrationPrompt p{font-size:13px; color:var(--muted); margin:0 0 18px}
#migrationPrompt .btn-row{display:flex; gap:10px; justify-content:center}
#migrationPrompt .btn-row button{
  padding:10px 20px; border-radius:10px; border:1px solid var(--panel-border);
  cursor:pointer; font-size:14px; font-weight:600; font-family:inherit;
}
#migrationPrompt .btn-yes{
  background:linear-gradient(160deg,var(--queen-a),var(--queen-b)); color:#3a2609; border-color:transparent;
}
#migrationPrompt .btn-no{background:var(--panel); color:var(--text)}
