/* AQcredix — the class-interest poll.
 * Colours come from the palette tokens only, so this follows light, dark and neon without
 * a second definition anywhere.
 */

.aqi{margin:0;}
.aqi-card{border:1px solid var(--border);border-radius:var(--r-lg);
  background:var(--bg-elevated);padding:clamp(24px,3.4vw,44px);
  max-width:760px;margin:0 auto;text-align:center;box-shadow:var(--shadow-1);}

.aqi-q{margin:10px 0 12px;font-size:clamp(20px,2.6vw,30px);line-height:1.28;
  letter-spacing:-.015em;}
.aqi-sub{margin:0 auto 26px;max-width:56ch;font-size:clamp(13.5px,1.4vw,15.5px);
  line-height:1.65;color:var(--fg-muted);}

.aqi-step{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.aqi-step[hidden]{display:none;}

/* The email step is a form, so it stacks rather than sitting in a row. */
form.aqi-step{flex-direction:column;align-items:center;}
form.aqi-step label{font-size:13.5px;font-weight:650;color:var(--fg);margin-bottom:4px;}
.aqi-row{display:flex;gap:10px;width:100%;max-width:460px;flex-wrap:wrap;
  justify-content:center;}
.aqi-row input{flex:1 1 220px;min-width:0;background:var(--bg);
  border:1px solid var(--border);border-radius:var(--r-sm);padding:12px 14px;
  color:var(--fg);font:inherit;font-size:15px;}
.aqi-row input:focus{outline:2px solid var(--accent-bright);outline-offset:1px;
  border-color:transparent;}

/* Off-screen rather than display:none — some bots skip hidden fields but fill this one. */
.aqi-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}

.aqi-note{margin:12px 0 0;font-size:12.5px;color:var(--fg-faint);max-width:46ch;
  line-height:1.55;}
.aqi-msg{margin:10px 0 0;font-size:14px;line-height:1.55;min-height:0;}
.aqi-msg.bad{color:var(--nc);}

.aqi-done{flex-direction:column;align-items:center;gap:10px;}
.aqi-done p{margin:0;font-size:clamp(14.5px,1.5vw,17px);color:var(--fg);line-height:1.6;}
.aqi-tick{display:flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:50%;
  background:var(--ok-tint,rgba(46,160,120,.16));color:var(--ok);font-size:22px;}

@media (max-width:560px){
  .aqi-step .btn{flex:1 1 auto;}
  .aqi-row .btn{flex:1 1 100%;}
}

/* ---------- owner-only readout ----------
 * Rendered on the profile page and only when the API has confirmed who is asking. It is
 * never on a public page, and the endpoint answers 404 to anyone else, so this styling
 * is for an audience of one. */
.aqi-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;}
.aqi-stat{flex:1 1 120px;border:1px solid var(--border);border-radius:var(--r-md);
  padding:14px 16px;background:var(--bg);}
.aqi-stat b{display:block;font-size:26px;line-height:1.15;color:var(--fg);
  font-family:var(--font-mono);}
.aqi-stat span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--fg-faint);}

/* ---------- owner-only: the respondent list ---------- */
.aqi-actions{margin-top:18px;}
.aqi-bcc{font-size:12.5px;line-height:1.6;color:var(--fg-faint);margin:10px 0 0;max-width:70ch;}
.aqi-bcc b{color:var(--fg-muted);}

.aqi-tablewrap{overflow-x:auto;margin-top:20px;}
.aqi-table{width:100%;border-collapse:collapse;font-size:14px;min-width:520px;}
.aqi-table th,.aqi-table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);}
.aqi-table th{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--fg-faint);font-weight:650;}
.aqi-table td{color:var(--fg-muted);}
.aqi-mail{font-family:var(--font-mono);font-size:12.5px;color:var(--fg);}

.aqi-tag{display:inline-block;font-size:11.5px;font-weight:700;padding:2px 9px;
  border-radius:999px;letter-spacing:.03em;}
.aqi-tag.yes{background:var(--ok-tint,rgba(46,160,120,.16));color:var(--ok);}
.aqi-tag.no{background:var(--bg);color:var(--fg-faint);border:1px solid var(--border);}

.aqi-reply{font-size:13px;font-weight:650;color:var(--accent-text);text-decoration:none;}
.aqi-reply:hover{text-decoration:underline;}
