*{box-sizing:border-box}
:root{
  --navy:#0a315f;
  --blue:#1777be;
  --aqua:#18b7bd;
  --mint:#eaf9f6;
  --ink:#123452;
  --muted:#75899c;
  --line:#dbe8ef;
  --bg:#f6fafc;
  --green:#18a77e;
  --shadow:0 18px 50px rgba(24,71,105,.08)
}
html,body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
body{min-height:100vh}

/* HEADER CLIENTE */
.client-top{
  height:84px;background:#fff;border-bottom:1px solid var(--line);
  display:flex;align-items:center;padding:0 max(24px,5vw);gap:15px
}
.client-top img{width:70px}
.client-top div{display:flex;flex-direction:column}
.client-top span{font-size:.72rem;color:var(--muted)}
.client-top>a{margin-left:auto;color:var(--muted);font-size:.78rem}

/* DASHBOARD */
.client-main{width:min(1150px,calc(100% - 40px));margin:50px auto}
.welcome>span,.contest-hero-map>div>span{
  color:var(--aqua);font-size:.72rem;font-weight:900;letter-spacing:.12em
}
.welcome h1{
  font-size:clamp(2rem,4vw,3.5rem);margin:8px 0;color:var(--navy);letter-spacing:-.04em
}
.welcome p{color:var(--muted);max-width:760px}
.contest-grid{display:grid;gap:18px;margin-top:35px}
.contest-card{
  display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:24px;
  padding:25px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)
}
.contest-card small{color:var(--aqua);font-weight:800}
.contest-card h2{margin:5px 0}
.contest-card p{color:var(--muted);font-size:.78rem;line-height:1.45}
.resume-line{font-weight:600;color:#5f7487}
.contest-card>a{
  padding:13px 17px;background:var(--navy);color:#fff;border-radius:12px;
  font-weight:800;font-size:.8rem;text-align:center
}
.contest-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.contest-meta span{font-size:.66rem;background:#f0f5f8;padding:5px 8px;border-radius:999px;color:#688096}
.micro-progress{
  max-width:460px;height:6px;background:#edf3f6;border-radius:99px;overflow:hidden;margin:11px 0
}
.micro-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--aqua))}
.mini-spiral{
  width:78px;height:78px;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(var(--aqua) calc(var(--p)*1%),#e9f0f4 0);position:relative
}
.mini-spiral:before{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}
.mini-spiral span{position:relative;font-weight:850}
.empty{padding:30px;background:#fff;border:1px solid var(--line);border-radius:20px;color:var(--muted)}

/* TOP WIZARD */
.wizard-top{
  height:70px;background:#fff;border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;padding:0 4vw;gap:15px;font-size:.78rem
}
.wizard-top strong{font-size:.9rem}
.wizard-top span{color:var(--muted)}

/* MAPA DEL CONCURSO */
.contest-map{width:min(1180px,calc(100% - 40px));margin:34px auto 70px}
.save-banner{
  margin-bottom:18px;padding:16px 18px;border-radius:16px;font-size:.85rem;font-weight:700
}
.save-banner.ok,.save-banner.small{background:#e8f8f2;border:1px solid #bce6d5;color:#197652}
.save-banner.small{margin-bottom:20px}
.contest-hero-map{
  display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:30px;
  padding:34px 38px;background:linear-gradient(135deg,#fff,#f2fbfc);
  border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)
}
.contest-hero-map h1{
  margin:10px 0 8px;font-size:clamp(2.2rem,4.5vw,4.2rem);
  color:var(--navy);letter-spacing:-.055em;line-height:1
}
.contest-hero-map p{color:var(--muted)}
.where-left{margin-top:14px;padding:14px 16px;background:#f5fbfd;border:1px solid var(--line);border-radius:14px}
.where-left strong{display:block;font-size:.75rem;color:var(--blue);margin-bottom:5px}
.where-left span{font-weight:800}
.where-left em{font-style:normal;color:var(--muted)}
.hero-progress{display:flex;justify-content:center}
.map-spiral{width:160px!important;height:160px!important}
.map-spiral:before{inset:14px!important;background:#fff!important}
.map-spiral .spiral-core strong{color:var(--navy)!important;font-size:1.8rem!important}
.map-spiral .spiral-core span{color:var(--muted)!important}

.map-intro{
  margin:30px 0 18px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px
}
.map-intro small,.module-page-head>small{
  color:var(--aqua);font-size:.68rem;font-weight:900;letter-spacing:.1em
}
.map-intro h2,.module-page-head h2{
  margin:5px 0 8px;color:var(--navy);font-size:1.7rem;letter-spacing:-.03em
}
.map-intro p,.module-page-head p{color:var(--muted);max-width:760px}
.resume-cta{
  white-space:nowrap;padding:13px 18px;border-radius:14px;background:linear-gradient(90deg,var(--blue),var(--aqua));
  color:#fff;font-weight:800;font-size:.8rem
}

.module-grid{display:grid;gap:14px}
.module-card{
  display:grid;grid-template-columns:55px 56px minmax(0,1fr) auto;align-items:center;gap:18px;
  padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:20px;transition:.18s
}
.module-card:hover{transform:translateY(-2px);box-shadow:0 15px 38px rgba(20,72,108,.07)}
.module-card.complete{border-color:#bae7dc;background:linear-gradient(90deg,#fff,#f3fcf9)}
.module-card.current{border-color:#93d8df;background:linear-gradient(90deg,#fff,#f4fcfd)}
.module-number{font:800 1rem Manrope;color:#9fb0be}
.module-icon{
  width:46px;height:46px;border-radius:15px;background:#eef8fa;color:var(--aqua);
  display:grid;place-items:center;font-weight:900;font-size:1.2rem
}
.module-card.complete .module-icon{background:#e5f8f1;color:var(--green)}
.module-card.current .module-icon{background:#dff6f7;color:var(--blue)}
.module-copy small{color:var(--aqua);font-size:.62rem;font-weight:850;letter-spacing:.08em}
.module-copy h3{margin:3px 0 5px;font-size:1.15rem;color:var(--navy)}
.module-copy p{margin:0;color:var(--muted);font-size:.78rem}
.module-copy>span{display:block;margin-top:6px;color:#8b9aa8;font-size:.65rem}
.module-card>a{
  padding:10px 13px;border-radius:11px;background:#edf7fb;color:var(--blue);
  font-size:.73rem;font-weight:850;white-space:nowrap
}
.module-progress-row{display:grid;grid-template-columns:minmax(100px,300px) 42px;gap:9px;align-items:center;margin-top:11px}
.module-progress,.block-progress{
  height:6px;background:#ebf2f5;border-radius:999px;overflow:hidden
}
.module-progress i,.block-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--aqua))}
.module-progress-row strong{font-size:.7rem;color:#547187}

.module-page-head{
  margin:32px 0 22px;padding:28px 30px;background:#fff;border:1px solid var(--line);border-radius:22px
}
.module-page-head>a{display:inline-block;margin-bottom:18px;color:var(--blue);font-size:.72rem;font-weight:750}
.module-summary{display:flex;align-items:center;gap:12px;margin-top:20px}
.module-summary .module-progress.big{width:min(500px,80%);height:8px}
.module-summary strong{color:var(--aqua)}
.block-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.block-card{
  display:grid;grid-template-columns:52px 1fr;gap:14px;
  padding:20px;background:#fff;border:1px solid var(--line);border-radius:18px
}
.block-card.complete{border-color:#c7e9e0}
.block-card.current{border-color:#91d8df;background:#fbfeff}
.block-status{
  width:44px;height:44px;border-radius:14px;background:#eef7f9;color:var(--blue);
  display:grid;place-items:center;font-weight:850
}
.block-card.complete .block-status{background:#e6f8f1;color:var(--green)}
.block-card small{font-size:.6rem;color:var(--aqua);font-weight:850;letter-spacing:.07em}
.block-card h3{margin:3px 0;font-size:1rem}
.block-card p{margin:0;color:var(--muted);font-size:.7rem}
.block-progress{grid-column:1/-1}
.block-card>a{
  grid-column:1/-1;justify-self:start;margin-top:3px;color:var(--blue);font-size:.72rem;font-weight:850
}

/* WIZARD DENTRO DEL BLOQUE */
.wizard-layout{min-height:calc(100vh - 70px);display:grid;grid-template-columns:340px 1fr}
.progress-side{
  padding:42px 30px;background:linear-gradient(160deg,#0b5688,#159ab0);color:#fff
}
.progress-side .crumb{font-size:.62rem;font-weight:850;letter-spacing:.1em;opacity:.78}
.progress-side h2{margin:7px 0 4px;font-size:1.45rem}
.progress-side>p{margin:0 0 30px;opacity:.72}
.spiral-progress{
  --p:0;width:190px;height:190px;margin:0 auto;border-radius:50%;
  display:grid;place-items:center;background:conic-gradient(#62dfd0 calc(var(--p)*1%),rgba(255,255,255,.16) 0);
  position:relative
}
.spiral-progress:before{content:"";position:absolute;inset:17px;border-radius:50%;background:#0d7195}
.spiral-core{position:relative;display:flex;flex-direction:column;align-items:center}
.spiral-core strong{font-size:2.1rem}
.spiral-core span{font-size:.68rem;opacity:.75}
.side-meters{display:grid;gap:15px;margin-top:30px}
.side-meters>div{display:grid;grid-template-columns:1fr auto;gap:6px}
.side-meters span,.side-meters strong{font-size:.68rem}
.side-meters i{
  grid-column:1/-1;height:5px;background:rgba(255,255,255,.17);border-radius:99px;overflow:hidden
}
.side-meters b{display:block;height:100%;background:#6be2d3}
.side-save-state{
  margin-top:20px;padding:14px;border-radius:14px;background:rgba(255,255,255,.1)
}
.side-save-state strong{display:block;font-size:.72rem}
.side-save-state span{font-size:.72rem;opacity:.9}
.side-map-link{
  display:block;margin-top:20px;padding:11px;border:1px solid rgba(255,255,255,.25);
  border-radius:12px;text-align:center;font-size:.72rem
}
.question-stage{padding:6vh 7vw;max-width:1100px}
.question-path{display:flex;gap:8px;align-items:center;color:#8b9aa7;font-size:.7rem}
.question-path b{color:#c1ccd4}
.question-counter{margin-top:20px;color:var(--muted);font-size:.74rem}
.question-code{
  display:inline-block;margin-top:20px;color:var(--aqua);font-weight:900;letter-spacing:.08em
}
.question-stage h1{
  font-size:clamp(2rem,4vw,3.05rem);line-height:1.12;margin:11px 0 22px;letter-spacing:-.035em
}
.helper{
  padding:16px 18px;background:#eef9f8;border-radius:14px;color:#56778a;font-size:.8rem;line-height:1.55
}
.save-caption{
  margin-top:16px;color:#6f8697;font-size:.78rem;line-height:1.5
}
.answer-form{margin-top:24px}
.option-cards{display:grid;gap:11px}
.option-cards label{position:relative;cursor:pointer}
.option-cards input{position:absolute;opacity:0}
.option-cards span{
  display:block;padding:16px 18px;background:#fff;border:1.5px solid var(--line);
  border-radius:15px;transition:.15s
}
.option-cards span:hover{border-color:#b7d8e4}
.option-cards input:checked+span{
  border-color:var(--aqua);background:#ecfbf8;box-shadow:0 8px 24px rgba(24,183,189,.08)
}
.origin-note{display:block;margin-top:12px;color:#8797a4;line-height:1.45}
.answer-form textarea,.big-input{
  width:100%;border:1.5px solid var(--line);border-radius:16px;padding:17px;background:#fff;outline:none
}
.answer-form textarea:focus,.big-input:focus{border-color:var(--aqua)}
.char-info{margin-top:7px;color:#8998a5;font-size:.7rem}
.special-box{
  padding:24px;background:#fff8e9;border:1px dashed #e8c66e;border-radius:16px;color:#795f25
}
.special-box p{margin-bottom:0}
.wizard-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:28px}
.wizard-actions .back{color:var(--muted);font-size:.8rem}
.answer-form button{
  border:0;border-radius:14px;padding:14px 18px;color:#fff;
  background:linear-gradient(90deg,var(--blue),#27a6c8);font-weight:800;cursor:pointer
}

@media(max-width:900px){
  .contest-hero-map{grid-template-columns:1fr}
  .hero-progress{justify-content:flex-start}
  .block-grid{grid-template-columns:1fr}
  .wizard-layout{grid-template-columns:1fr}
  .progress-side{
    padding:22px;display:grid;grid-template-columns:100px 1fr;align-items:center;gap:14px
  }
  .progress-side .crumb,.progress-side h2,.progress-side>p{grid-column:2}
  .progress-side h2{margin:0}
  .progress-side>p{margin:0}
  .progress-side .spiral-progress{grid-column:1;grid-row:1/4}
  .spiral-progress{width:92px;height:92px}
  .spiral-progress:before{inset:9px}
  .spiral-core strong{font-size:1.3rem}
  .side-meters,.side-map-link,.side-save-state{display:none}
  .question-stage{padding:35px 20px}
  .map-intro{flex-direction:column;align-items:flex-start}
}
@media(max-width:760px){
  .contest-card{grid-template-columns:75px 1fr}
  .contest-card>a{grid-column:1/-1}
  .module-card{grid-template-columns:40px 44px 1fr}
  .module-card>a{grid-column:1/-1;text-align:center}
  .module-number{font-size:.8rem}
  .wizard-top span{display:none}
}
@media(max-width:560px){
  .contest-map,.client-main{width:calc(100% - 24px);margin-top:22px}
  .contest-hero-map{padding:24px 20px;border-radius:20px}
  .map-spiral{width:120px!important;height:120px!important}
  .module-card{padding:17px;gap:11px}
  .module-copy p{font-size:.72rem}
  .module-progress-row{grid-template-columns:1fr 36px}
  .wizard-actions{align-items:stretch;flex-direction:column-reverse}
  .wizard-actions .back,.answer-form button{width:100%;text-align:center}
}


/* =========================================================
   LOGIN ZONA CLIENTES
   Restaurado para index.php del portal cliente
   ========================================================= */
.login{
  min-height:100vh;
  background:linear-gradient(120deg,#eff9fb,#fff);
}
.login-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:1.05fr .95fr;
}
.login-copy{
  padding:8vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.login-copy .logo{
  width:98px;
  height:auto;
  object-fit:contain;
  display:block;
  margin-bottom:24px;
}
.login-copy>span{
  color:var(--aqua);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
}
.login-copy h1{
  font-size:clamp(3rem,6vw,5.5rem);
  line-height:.96;
  margin:25px 0;
  color:var(--navy);
  letter-spacing:-.055em;
}
.login-copy h1 em{
  font-style:normal;
  background:linear-gradient(90deg,var(--blue),var(--aqua));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.login-copy p{
  max-width:650px;
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.7;
}
.trust{
  margin-top:28px;
  font-size:.8rem;
  color:#668197;
}
.login-card{
  align-self:center;
  width:min(460px,calc(100% - 40px));
  padding:38px;
  background:white;
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:0 30px 80px rgba(20,66,100,.1);
}
.login-card h2{
  font-size:1.8rem;
  margin:0;
}
.login-card>p{
  color:var(--muted);
}
.login-card form{
  display:grid;
  gap:15px;
  margin-top:25px;
}
.login-card label{
  font-size:.78rem;
  font-weight:700;
}
.login-card input{
  width:100%;
  margin-top:7px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.login-card input:focus{
  outline:none;
  border-color:var(--aqua);
  box-shadow:0 0 0 3px rgba(24,183,189,.08);
}
.login-card button{
  border:0;
  border-radius:12px;
  padding:13px;
  background:linear-gradient(90deg,var(--blue),#26a7c6);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.first-contact{
  margin-top:25px;
  padding:18px;
  background:#f4fafc;
  border-radius:15px;
}
.first-contact strong,
.first-contact span{
  display:block;
}
.first-contact span{
  margin:5px 0 10px;
  color:var(--muted);
  font-size:.75rem;
}
.first-contact a{
  color:var(--blue);
  font-size:.78rem;
  font-weight:800;
}
.error{
  padding:10px;
  background:#fff0f0;
  color:#a34248;
  border-radius:10px;
}

@media(max-width:900px){
  .login-shell{
    grid-template-columns:1fr;
  }
  .login-copy{
    padding:55px 30px 20px;
  }
  .login-card{
    margin:20px auto 50px;
  }
}
@media(max-width:560px){
  .login-copy{
    padding:42px 22px 18px;
  }
  .login-copy .logo{
    width:82px;
  }
  .login-copy h1{
    font-size:3rem;
  }
  .login-card{
    width:calc(100% - 28px);
    padding:26px 22px;
    border-radius:22px;
  }
}


/* =========================================================
   BUFO CLIENTES — COMPATIBILIDAD CON concurso.php v5/v6
   Corrige el layout interno observado en producción.
   ========================================================= */

.wizard-top.simplified{
  position:sticky;
  top:0;
  z-index:30;
  height:72px;
  background:#fff;
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:180px minmax(0,1fr) 280px;
  align-items:center;
  gap:20px;
  padding:0 4vw;
}
.wizard-top.simplified>a{
  color:#456a84;
  font-size:.78rem;
  font-weight:700;
}
.wizard-top.simplified>strong{
  text-align:center;
  color:var(--navy);
  font-size:.92rem;
}
.top-progress{
  display:grid;
  grid-template-columns:auto minmax(100px,1fr) auto;
  align-items:center;
  gap:9px;
}
.top-progress>span{
  color:var(--blue);
  font-size:.78rem;
  font-weight:900;
}
.top-progress>i{
  display:block;
  height:7px;
  border-radius:99px;
  overflow:hidden;
  background:#eaf1f5;
}
.top-progress>i>b{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--blue),var(--aqua));
}
.top-progress>em{
  font-style:normal;
  color:#75899c;
  font-size:.72rem;
}

.simple-wizard-layout{
  min-height:calc(100vh - 72px);
  display:grid;
  grid-template-columns:290px minmax(0,1fr);
  background:var(--bg);
}
.simple-nav{
  align-self:stretch;
  padding:28px 20px 34px;
  background:#fff;
  border-right:1px solid var(--line);
}
.nav-head{
  padding:17px 18px;
  border-radius:16px;
  background:linear-gradient(135deg,#f2fbfc,#f7fbfd);
  border:1px solid #dcecf1;
  margin-bottom:18px;
}
.nav-head small{
  display:block;
  color:#7390a3;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.08em;
}
.nav-head strong{
  display:inline-block;
  margin-top:5px;
  color:var(--navy);
  font-size:1.55rem;
}
.nav-head span{
  margin-left:6px;
  color:#7f93a2;
  font-size:.7rem;
}

.stage-nav{
  display:grid;
  gap:7px;
}
.stage-nav>a{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:12px 11px;
  border:1px solid transparent;
  border-radius:14px;
  transition:.15s ease;
}
.stage-nav>a:hover{
  background:#f7fbfd;
  border-color:#e3edf2;
}
.stage-nav>a.active{
  background:#eaf8fa;
  border-color:#bde4e7;
  box-shadow:0 8px 22px rgba(24,120,150,.06);
}
.stage-nav>a>span{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#f0f5f8;
  color:#7890a1;
  font-size:.72rem;
  font-weight:900;
}
.stage-nav>a.active>span{
  background:linear-gradient(135deg,var(--blue),var(--aqua));
  color:#fff;
}
.stage-nav>a div{
  min-width:0;
}
.stage-nav>a strong{
  display:block;
  color:var(--ink);
  font-size:.78rem;
  line-height:1.25;
}
.stage-nav>a small{
  display:block;
  margin-top:3px;
  color:#8b9ba8;
  font-size:.63rem;
}

.nav-current{
  margin-top:20px;
  padding:15px 16px;
  border-left:3px solid var(--aqua);
  border-radius:0 13px 13px 0;
  background:#f8fcfd;
}
.nav-current small{
  display:block;
  color:var(--aqua);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.09em;
}
.nav-current strong{
  display:block;
  margin:5px 0 3px;
  color:var(--navy);
  font-size:.82rem;
}
.nav-current span{
  color:#7e91a0;
  font-size:.67rem;
}
.review-pending{
  display:block;
  margin-top:14px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  color:#52748b;
  text-align:center;
  font-size:.7rem;
  font-weight:800;
  background:#fff;
}

.question-stage.simple{
  width:min(100%,1080px);
  padding:48px clamp(28px,6vw,78px) 70px;
}
.question-context{
  display:flex;
  align-items:center;
  gap:8px;
  color:#7890a1;
  font-size:.7rem;
}
.question-context>span:first-child{
  color:var(--blue);
  font-weight:800;
}
.question-context>b{
  color:#b2c0ca;
}
.screen-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:26px;
  margin:18px 0 8px;
}
.screen-heading small{
  color:var(--aqua);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
}
.screen-heading h1{
  margin:6px 0 0;
  color:var(--navy);
  font-size:clamp(2.2rem,4vw,3.5rem);
  line-height:1;
  letter-spacing:-.045em;
}
.screen-count{
  min-width:150px;
  padding:14px 16px;
  border-radius:15px;
  background:#fff;
  border:1px solid var(--line);
  text-align:right;
}
.screen-count strong{
  display:block;
  color:var(--navy);
  font-size:1.15rem;
}
.screen-count span{
  color:#8396a5;
  font-size:.63rem;
}
.screen-intro{
  margin:18px 0 24px;
  color:#687f90;
  font-size:.83rem;
  line-height:1.55;
}

.answer-form.multi{
  margin-top:18px;
}
.question-group{
  display:grid;
  gap:16px;
}
.question-group.short{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.question-group.binary{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.question-card{
  min-width:0;
  padding:20px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 10px 28px rgba(28,70,99,.035);
}
.question-card.answered{
  border-color:#bde5da;
}
.question-card.pending{
  border-color:#dbe8ef;
}
.q-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}
.q-code{
  color:var(--blue);
  font-size:.7rem;
  font-weight:900;
}
.q-state{
  padding:4px 8px;
  border-radius:999px;
  background:#f2f5f7;
  color:#8496a4;
  font-size:.61rem;
  font-weight:800;
}
.question-card.answered .q-state{
  background:#e7f8f1;
  color:#18805f;
}
.question-card h2{
  margin:0 0 14px;
  color:var(--ink);
  font-size:1.1rem;
  line-height:1.35;
}
.question-card .helper{
  margin:0 0 14px;
}
.question-card textarea,
.question-card .big-input{
  width:100%;
  min-height:54px;
  padding:14px 15px;
  border:1.5px solid #d7e5ec;
  border-radius:14px;
  background:#fff;
  color:var(--ink);
  outline:none;
}
.question-card textarea{
  resize:vertical;
  min-height:170px;
}
.question-card textarea:focus,
.question-card .big-input:focus{
  border-color:var(--aqua);
  box-shadow:0 0 0 3px rgba(24,183,189,.08);
}

.question-card .option-cards{
  display:grid;
  gap:9px;
}
.question-card .option-cards.compact-binary{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.question-card .option-cards label{
  position:relative;
  cursor:pointer;
}
.question-card .option-cards input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.question-card .option-cards span{
  display:block;
  min-height:48px;
  padding:13px 14px;
  border:1.5px solid #d7e5ec;
  border-radius:13px;
  background:#fff;
  color:#45677f;
  transition:.15s ease;
}
.question-card .option-cards input:checked + span{
  border-color:var(--aqua);
  background:#eaf9f6;
  color:var(--navy);
  box-shadow:0 7px 20px rgba(24,183,189,.08);
}

.pending-note{
  margin-top:18px;
  padding:14px 16px;
  border-radius:14px;
  background:#f3f8fa;
  border:1px solid #e0ebf0;
  color:#6b8191;
  font-size:.74rem;
  line-height:1.5;
}
.pending-note strong{
  color:var(--navy);
}
.wizard-actions.simplified{
  margin-top:23px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.wizard-actions.simplified button{
  min-height:46px;
  padding:0 18px;
  border:0;
  border-radius:13px;
  cursor:pointer;
  font-weight:850;
  font-size:.78rem;
}
.wizard-actions.simplified .ghost-btn{
  background:#fff;
  border:1px solid var(--line);
  color:#658096;
}
.right-actions{
  margin-left:auto;
  display:flex;
  gap:10px;
}
.right-actions button{
  background:linear-gradient(90deg,var(--blue),#24a9c4);
  color:#fff;
}
.exit-row{
  margin-top:12px;
  text-align:right;
}
.link-btn{
  border:0!important;
  background:transparent!important;
  color:#7890a1!important;
  padding:5px!important;
  min-height:auto!important;
  font-size:.72rem!important;
  font-weight:750!important;
  cursor:pointer;
}
.link-btn:hover{
  color:var(--blue)!important;
}

@media(max-width:980px){
  .wizard-top.simplified{
    grid-template-columns:120px 1fr 190px;
  }
  .simple-wizard-layout{
    grid-template-columns:240px minmax(0,1fr);
  }
  .question-stage.simple{
    padding:38px 28px 60px;
  }
  .question-group.short,
  .question-group.binary{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .wizard-top.simplified{
    height:auto;
    min-height:68px;
    grid-template-columns:auto 1fr;
    padding:14px 18px;
  }
  .wizard-top.simplified>strong{
    text-align:right;
  }
  .top-progress{
    grid-column:1/-1;
    grid-template-columns:auto 1fr auto;
  }
  .simple-wizard-layout{
    display:block;
  }
  .simple-nav{
    border-right:0;
    border-bottom:1px solid var(--line);
    padding:16px 14px;
  }
  .nav-head{
    margin-bottom:10px;
  }
  .stage-nav{
    display:flex;
    overflow-x:auto;
    gap:8px;
    padding-bottom:4px;
  }
  .stage-nav>a{
    flex:0 0 180px;
  }
  .nav-current{
    margin-top:11px;
  }
  .review-pending{
    margin-top:10px;
  }
  .question-stage.simple{
    width:100%;
    padding:30px 16px 50px;
  }
  .screen-heading{
    display:block;
  }
  .screen-count{
    margin-top:14px;
    width:max-content;
    min-width:0;
    text-align:left;
  }
  .question-group.short,
  .question-group.binary{
    grid-template-columns:1fr;
  }
  .wizard-actions.simplified{
    flex-direction:column-reverse;
    align-items:stretch;
  }
  .right-actions,
  .right-actions button,
  .wizard-actions.simplified .ghost-btn{
    width:100%;
  }
  .exit-row{
    text-align:center;
  }
}
