:root{
  --ink:#102326;--muted:#607275;--line:#d9e5e3;--paper:#f4f8f7;
  --teal:#087d79;--teal-dark:#075b58;--gold:#d8aa45;--white:#fff;
  --success:#157347;--danger:#b42318;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink)}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px max(24px,5vw);background:#fff;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-weight:900;letter-spacing:.04em}
.brand img{width:44px;height:44px;border-radius:50%;object-fit:contain}
.sandbox-badge{padding:8px 11px;border-radius:999px;background:#fff4d5;color:#6d5315;font-size:.75rem;font-weight:900}
.page{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:48px 0 90px}
.intro{max-width:760px;margin-bottom:30px}
.eyebrow,.step{color:var(--teal);font-weight:900;letter-spacing:.11em;font-size:.78rem}
h1{font-size:clamp(2.4rem,6vw,4.6rem);line-height:.96;margin:10px 0 18px}
h2,h3,p{margin-top:0}
.intro p:last-child{font-size:1.1rem;color:var(--muted);line-height:1.65}
.panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;margin-top:22px;box-shadow:0 12px 36px rgba(16,35,38,.06)}
.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px}
.step{margin-bottom:6px}.section-heading h2{margin-bottom:0}
.status{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:.8rem;font-weight:900;white-space:nowrap}
.status.neutral{background:#eef1f1;color:#516064}.status.ready{background:#e4f5ed;color:#12613c}.status.working{background:#fff4d5;color:#6d5315}.status.success{background:#e4f5ed;color:#12613c}.status.error{background:#fee9e7;color:#8f1f16}
.signed-out{display:flex;justify-content:space-between;align-items:center;gap:20px}.signed-out p{margin:0}
.account-card{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:18px;background:#f8fbfa}
.account-card img{width:68px;height:68px;border-radius:50%;object-fit:cover}.account-card strong{display:block;font-size:1.15rem}.account-card small{display:block;color:var(--muted);margin-top:6px}
.button{display:inline-flex;justify-content:center;align-items:center;border:1px solid transparent;border-radius:12px;padding:12px 17px;font-weight:900;text-decoration:none;cursor:pointer}
.button.primary{background:var(--teal);color:#fff}.button.primary:hover{background:var(--teal-dark)}.button.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.button:disabled{opacity:.48;cursor:not-allowed}.button.full{width:100%;padding:15px}
.review-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px}
video{width:100%;aspect-ratio:9/16;max-height:610px;background:#081416;border-radius:18px;object-fit:contain}
.video-meta{display:grid;gap:5px;margin-top:12px}.video-meta span{color:var(--muted)}
form{display:grid;gap:17px}
label,legend{font-weight:850}
textarea,select{width:100%;margin-top:8px;border:1px solid #bfcfcd;border-radius:12px;padding:12px;font:inherit;background:#fff}
textarea{min-height:112px;resize:vertical}
fieldset{display:grid;gap:10px;border:1px solid var(--line);border-radius:14px;padding:16px}
.check,.radio{display:flex;gap:10px;align-items:flex-start;font-weight:600;line-height:1.4}.check input,.radio input{margin-top:3px}
.consent{padding:14px;border-radius:12px;background:#fff8e7;border:1px solid #ecd699}
.progress{display:grid;gap:14px;padding-left:28px}.progress li{color:var(--muted)}.progress li.active{color:var(--ink);font-weight:900}.progress li.done{color:var(--success);font-weight:900}
.success-box,.error-box{margin-top:20px;padding:20px;border-radius:14px}.success-box{background:#eaf7f0;border:1px solid #bfe0ce}.error-box{background:#fff0ef;border:1px solid #efc5c1;color:var(--danger)}
.hidden{display:none!important}
@media(max-width:800px){
  .topbar,.signed-out{align-items:flex-start;flex-direction:column}
  .review-grid{grid-template-columns:1fr}
  .account-card{grid-template-columns:auto 1fr}.account-card .button{grid-column:1/-1}
  .sandbox-badge{align-self:flex-start}
}
