:root{
  --bg:#0b0d12;
  --panel:#121620;
  --panel-2:#171c28;
  --text:#f5f7fb;
  --muted:#9da8ba;
  --line:#2a3140;
  --accent:#7c5cff;
  --accent-2:#a48fff;
  --danger:#ff6b7a;
  --success:#51d39b;
  --shadow:0 22px 60px rgba(0,0,0,.28);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:
  radial-gradient(circle at 85% 0%,rgba(124,92,255,.14),transparent 30rem),
  radial-gradient(circle at 0% 30%,rgba(83,211,155,.06),transparent 28rem),
  var(--bg);
  color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.55;
}
a{color:var(--accent-2);text-decoration:none}
a:hover{text-decoration:underline}
.shell{width:min(1160px,calc(100% - 32px));margin:auto}
.shell.narrow{width:min(700px,calc(100% - 32px))}
.site-header{border-bottom:1px solid var(--line);background:rgba(11,13,18,.78);backdrop-filter:blur(18px);position:sticky;top:0;z-index:30}
.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.04em}
.brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#5dd6c0);font-size:.8rem}
.header-label,.muted{color:var(--muted)}
.small,small{font-size:.82rem;color:var(--muted)}
.hero{padding:72px 0 36px;max-width:860px}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:800;color:var(--accent-2);margin:0 0 10px}
h1,h2{line-height:1.12;margin:0 0 16px}
h1{font-size:clamp(2.2rem,5vw,4.2rem);letter-spacing:-.04em}
h2{font-size:clamp(1.55rem,3vw,2.2rem);letter-spacing:-.025em}
.lead{font-size:1.15rem;color:#c7cfdb;max-width:760px}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}
.summary-grid div{padding:18px;border:1px solid var(--line);background:rgba(18,22,32,.68);border-radius:16px}
.summary-grid strong,.summary-grid span{display:block}
.summary-grid span{font-size:.85rem;color:var(--muted);margin-top:4px}
.interview-layout{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start;padding-bottom:80px}
.card,.progress-card,.table-card{
  border:1px solid var(--line);background:linear-gradient(180deg,rgba(23,28,40,.96),rgba(18,22,32,.96));
  border-radius:var(--radius);box-shadow:var(--shadow)
}
.card{padding:30px}
.progress-card{padding:24px;position:sticky;top:96px;text-align:center}
.progress-ring-wrap{display:grid;place-items:center;margin:4px 0 16px}
.progress-ring{
  --progress:40deg;width:120px;height:120px;border-radius:50%;
  display:grid;place-items:center;
  background:conic-gradient(var(--accent) var(--progress),#252b39 0);
  position:relative
}
.progress-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--panel)}
.progress-ring span{position:relative;z-index:1;font-size:1.25rem;font-weight:800}
.form-step{display:none;animation:fade .25s ease}
.form-step.active{display:block}
@keyframes fade{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}
label,legend{font-weight:650}
label{display:block;margin:18px 0}
input,textarea,select{
  width:100%;margin-top:8px;border:1px solid #343c4c;background:#0f131c;color:var(--text);
  border-radius:12px;padding:13px 14px;font:inherit;outline:none;transition:.18s border-color,.18s box-shadow
}
textarea{resize:vertical;min-height:120px}
input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(124,92,255,.14)}
fieldset{border:0;padding:0;margin:22px 0}
legend{margin-bottom:10px}
.choice{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;margin:9px 0;background:#10141d;font-weight:500}
.choice input{width:auto;margin:4px 0 0;accent-color:var(--accent)}
.choice span{flex:1}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.notice,.scenario,.quote,.alert{padding:16px 18px;border-radius:14px;margin:18px 0}
.notice{background:rgba(124,92,255,.10);border:1px solid rgba(124,92,255,.3)}
.notice.subtle{background:#111722;border-color:var(--line);color:#c8d0dc}
.scenario{background:#0f151f;border-left:3px solid var(--accent-2)}
.quote{background:#0e141d;border:1px solid var(--line);font-size:1.08rem;font-weight:700}
.alert.error{background:rgba(255,107,122,.11);border:1px solid rgba(255,107,122,.35);color:#ffc7cd}
.alert.success{background:rgba(81,211,155,.10);border:1px solid rgba(81,211,155,.35);color:#baf3dc}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.form-nav{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:22px;margin-top:28px}
.button{
  display:inline-flex;justify-content:center;align-items:center;gap:8px;border:0;cursor:pointer;
  padding:12px 18px;border-radius:12px;background:linear-gradient(135deg,var(--accent),#6d56da);
  color:white;font-weight:800;font:inherit;text-decoration:none;box-shadow:0 8px 24px rgba(124,92,255,.22)
}
.button:hover{text-decoration:none;filter:brightness(1.06)}
.button:disabled{opacity:.55;cursor:not-allowed}
.button.secondary{background:#161c27;border:1px solid var(--line);box-shadow:none}
.hidden,.hp{display:none!important}
.form-errors{color:#ffb9c1;margin-top:12px}
footer{border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:.9rem}
.footer-inner{display:flex;justify-content:space-between;gap:20px}
.thankyou,.setup-page .shell{padding:80px 0}
.center{text-align:center}
.success-icon{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;background:rgba(81,211,155,.12);border:1px solid rgba(81,211,155,.35);color:var(--success);font-size:2rem;font-weight:900}
.stack>*+*{margin-top:14px}
hr{border:0;border-top:1px solid var(--line);margin:26px 0}
.actions{display:flex;gap:12px;flex-wrap:wrap}

/* Admin */
.admin-page{min-height:100vh}
.admin-nav{display:flex;gap:18px;align-items:center}
.admin-main{padding:44px 0 80px}
.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}
.page-heading h1{font-size:2.4rem}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:20px 0}
.stat{border:1px solid var(--line);background:var(--panel);padding:16px;border-radius:14px;color:var(--text)}
.stat:hover{text-decoration:none;border-color:#4b566c}
.stat.selected{border-color:var(--accent)}
.stat strong,.stat span{display:block}
.stat strong{font-size:1.7rem}
.stat span{font-size:.8rem;color:var(--muted)}
.table-card{overflow:auto}
table{width:100%;border-collapse:collapse;min-width:760px}
th,td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
tr:last-child td{border-bottom:0}
.candidate-link{color:var(--text);font-weight:800}
.status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.75rem;border:1px solid var(--line)}
.status-shortlisted,.status-hired{color:#baf3dc;border-color:rgba(81,211,155,.35);background:rgba(81,211,155,.08)}
.status-rejected{color:#ffc7cd;border-color:rgba(255,107,122,.35);background:rgba(255,107,122,.08)}
.empty{text-align:center;color:var(--muted);padding:40px}
.applicant-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.applicant-header h1{font-size:2.3rem}
.score-badge{width:100px;height:100px;border-radius:20px;background:#0f141d;border:1px solid var(--line);display:grid;place-items:center;align-content:center}
.score-badge strong{font-size:2.1rem}
.score-badge span{font-size:.8rem;color:var(--muted)}
.admin-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px}
.answers{display:grid;gap:16px}
.answer-card{padding:24px}
.answer-text{white-space:normal;color:#dfe5ee}
.sticky-review{position:sticky;top:96px}
.sticky-review select{margin-top:7px}

@media (max-width:900px){
  .interview-layout{grid-template-columns:1fr}
  .progress-card{position:static;display:flex;align-items:center;text-align:left;gap:16px}
  .progress-ring{width:72px;height:72px;flex:none}
  .admin-grid{grid-template-columns:1fr}
  .sticky-review{position:static}
  .stats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .shell{width:min(100% - 20px,1160px)}
  .hero{padding-top:42px}
  .summary-grid,.two-col,.choice-grid{grid-template-columns:1fr}
  .card{padding:20px}
  .header-label{display:none}
  .footer-inner,.page-heading,.applicant-header{align-items:flex-start;flex-direction:column}
  .admin-nav{gap:10px;font-size:.86rem}
}
