
/*
 * HPI+ Solutions — Simulador V2 V28.3
 * Este arquivo é carregado somente em simulador.html.
 * A identidade visual global permanece exatamente na base V27.8.
 */
/* =========================================================
   V28.3 — ETAPA 2 CORRIGIDA: SIMULADOR V2
   Base visual preservada da V27.9
   ========================================================= */
.simulator-section .container{max-width:1240px}
.simulator-shell{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 290px;
  gap:22px;
  align-items:start;
}
.simulator-progress{grid-column:1/-1}
.smart-simulator{
  min-width:0;
  border:1px solid rgba(19,82,112,.12);
  box-shadow:0 24px 70px rgba(3,29,51,.10);
}
.sim-save-state{
  display:block;
  margin-top:4px;
  color:#557286;
  font-size:.75rem;
  font-weight:600;
}
.sim-save-state.is-saving{color:#087f86}
.sim-save-state.is-saved{color:#176b4d}
.sim-live-summary{
  position:sticky;
  top:118px;
  padding:22px;
  border-radius:24px;
  background:linear-gradient(155deg,#082d4e,#0b4165);
  color:#fff;
  box-shadow:0 22px 60px rgba(3,29,51,.20);
}
.sim-live-summary-head{padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.14)}
.sim-live-summary-head span{display:block;font-weight:800}
.sim-live-summary-head small{color:rgba(255,255,255,.67)}
.sim-live-summary dl{display:grid;gap:0;margin:10px 0 0}
.sim-live-summary dl div{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.10)}
.sim-live-summary dl div:last-child{border-bottom:0}
.sim-live-summary dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#7ee8e6}
.sim-live-summary dd{margin:4px 0 0;font-weight:750;line-height:1.3}
.sim-review-heading{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}
.sim-review-heading p{margin:6px 0 0;color:#63788a}
.sim-review-icon{
  display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:15px;
  background:#d8f9f5;color:#087f86;font-weight:900;font-size:1.2rem
}
.sim-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sim-review-item{
  padding:17px 18px;border-radius:17px;background:#f6fafc;border:1px solid #dde8ed
}
.sim-review-item span{display:block;font-size:.74rem;color:#667d8f;text-transform:uppercase;letter-spacing:.06em}
.sim-review-item strong{display:block;margin-top:5px;color:#082d4e}
.sim-review-note{
  margin-top:18px;padding:14px 16px;border-radius:14px;
  background:#fff8e8;border:1px solid #f5d995;color:#73530e;font-size:.88rem
}
.result-protocol{
  display:inline-flex;align-items:center;gap:10px;margin:12px 0 4px;padding:9px 13px;
  border-radius:999px;background:#edf9f8;border:1px solid #bce8e4;color:#315f68
}
.result-protocol span{font-size:.76rem}
.result-protocol strong{color:#087f86;letter-spacing:.05em}
.sim-step{animation:simV2Enter .28s ease both}
@keyframes simV2Enter{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.choice-card:has(input:checked){
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(3,77,100,.12);
}
@media(max-width:900px){
  .simulator-shell{grid-template-columns:1fr}
  .sim-live-summary{position:relative;top:auto;order:-1;padding:18px}
  .sim-live-summary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
}
@media(max-width:620px){
  .sim-live-summary{display:none}
  .sim-review-grid{grid-template-columns:1fr}
  .simulator-progress-copy{padding-right:0}
  .sim-save-state{font-size:.7rem}
}
@media print{
  body *{visibility:hidden!important}
  #simResult,#simResult *{visibility:visible!important}
  #simResult{position:absolute;inset:0;width:100%;box-shadow:none!important}
  .result-actions,.site-header,.site-footer,#hpiCopilot{display:none!important}
}


/* =========================================================
   V28.5 — SIMULADOR V2 FINAL
   Todas as regras permanecem isoladas em simulador.html.
   ========================================================= */

.sim-top-tools{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin:-4px 0 18px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(8,45,78,.09);
  color:#6a7d8d;
  font-size:.78rem;
}

.sim-top-tools button,
.sim-resume-notice button{
  appearance:none;
  border:0;
  background:transparent;
  color:#087f86;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  padding:5px 0;
}

.sim-top-tools button:hover,
.sim-resume-notice button:hover{
  text-decoration:underline;
}

.sim-resume-notice{
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-top:-8px;
  padding:15px 18px;
  border:1px solid #bce8e4;
  border-radius:17px;
  background:#eefbf9;
  color:#315f68;
}

.sim-resume-notice[hidden]{
  display:none!important;
}

.sim-resume-notice strong,
.sim-resume-notice span{
  display:block;
}

.sim-resume-notice span{
  margin-top:2px;
  font-size:.82rem;
  color:#5f7782;
}

.sim-security-note{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin:0 0 20px;
  padding:14px 15px;
  border:1px solid #d9e9ee;
  border-radius:15px;
  background:#f6fafc;
  color:#506979;
}

.sim-security-note>span{
  display:grid;
  place-items:center;
  flex:0 0 27px;
  height:27px;
  border-radius:50%;
  background:#d8f9f5;
  color:#087f86;
  font-weight:900;
}

.sim-security-note p{
  margin:0;
  font-size:.84rem;
  line-height:1.48;
}

.sim-review-item{
  position:relative;
}

.sim-review-item button{
  position:absolute;
  top:10px;
  right:11px;
  border:0;
  border-radius:9px;
  padding:5px 8px;
  background:#e9f5f5;
  color:#087f86;
  font-size:.69rem;
  font-weight:800;
  cursor:pointer;
}

.sim-review-item button:hover{
  background:#d5efed;
}

.sim-next-steps{
  margin:24px 0;
  padding:22px;
  border-radius:22px;
  border:1px solid #dce8ed;
  background:#f8fbfc;
}

.sim-next-steps h3{
  margin:0 0 16px;
  color:#082d4e;
  font-size:1.05rem;
}

.sim-next-steps-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.sim-next-steps article{
  display:flex;
  gap:11px;
  align-items:flex-start;
  min-width:0;
}

.sim-next-steps article>span{
  display:grid;
  place-items:center;
  flex:0 0 31px;
  height:31px;
  border-radius:10px;
  background:#082d4e;
  color:#fff;
  font-size:.78rem;
  font-weight:900;
}

.sim-next-steps strong{
  display:block;
  color:#082d4e;
  font-size:.86rem;
}

.sim-next-steps p{
  margin:4px 0 0;
  color:#63788a;
  font-size:.78rem;
  line-height:1.42;
}

.simulator-shell.is-submitting{
  pointer-events:none;
}

.simulator-shell.is-submitting .smart-simulator{
  opacity:.74;
}

@media(max-width:700px){
  .sim-top-tools{
    align-items:flex-start;
  }

  #simKeyboardHint{
    display:none;
  }

  .sim-resume-notice{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }

  .sim-next-steps-grid{
    grid-template-columns:1fr;
  }
}
