/* Etapas e grupos da simulação. Identidade e tokens já usados no CAD. */
@media screen {
  .rv-sim-root *{box-sizing:border-box}
  .rv-sim-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line-strong);border-radius:14px;background:var(--card);padding:7px;margin:0 0 24px;gap:7px}
  .rv-sim-steps button{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;text-align:left;column-gap:10px;border:0;border-radius:9px;padding:14px;background:transparent;color:var(--ink-2);position:relative;overflow:hidden;cursor:pointer;font:inherit;min-height:74px}
  .rv-sim-steps button span{grid-row:span 2;border:1px solid var(--line-strong);border-radius:50%;width:33px;height:33px;display:grid;place-items:center;font-size:10px;font-weight:700}
  .rv-sim-steps button strong{font-size:13px;color:var(--ink)}
  .rv-sim-steps button small{font-size:10px;line-height:1.45;margin-top:4px}
  .rv-sim-steps button:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}
  .rv-sim-steps button[aria-current=step]{background:var(--paper)}
  .rv-sim-steps button[aria-current=step]:after{transform:scaleX(1)}
  .rv-sim-steps button[aria-current=step] span{background:var(--accent);color:var(--accent-on,#fff);border-color:var(--accent)}
  .rv-sim-steps button:hover{background:var(--paper)}
  .rv-sim-layout-period{display:block}
  .rv-sim-period-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);align-items:start;gap:30px}
  .rv-sim-period-layout .rv-sim-toolbar{align-items:flex-end}
  .rv-sim-period-layout .rv-sim-field{flex:1 1 180px;min-width:0}
  .rv-sim-step-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line-strong);margin-top:25px;padding:20px 0 4px}
  .rv-sim-step-actions>div{display:flex;gap:10px;flex-wrap:wrap}
  .rv-sim-step-actions .rv-sim-button{min-height:44px}
  .rv-sim-group-days th:nth-child(1){width:60px}
  .rv-sim-group-days th:nth-child(2){width:35%}
  .rv-sim-group-days .rv-sim-field{min-width:80px;max-width:180px;font-size:10px;gap:5px}
  .rv-sim-group-days input[type=number]{min-height:40px}
  .rv-sim-subtle{display:block;font-size:10px;margin-top:5px;color:var(--ink-3)}
  .rv-sim-add-weekday{margin-top:15px;align-items:flex-end}
  .rv-sim-slot-details{margin-top:18px;border-top:1px solid var(--line);padding-top:10px;font-size:12px;color:var(--ink-2)}
  .rv-sim-slot-details summary{cursor:pointer;min-height:44px;padding:10px 0;line-height:1.6;font-weight:600}
  .rv-sim-slot-details p{margin-bottom:14px}
  .rv-sim-result-details,.rv-sim-period-totals{margin-top:28px}
  .rv-sim-result-details>h2{font:650 26px var(--font-display);margin:0 0 15px}
  .rv-sim-result-patient{padding:20px;background:var(--card);border:1px solid var(--line);border-radius:12px}
  .rv-sim-result-patient>h3{margin:0 0 16px;font-size:15px;line-height:1.5}
  .rv-sim-result-tabs{display:flex;gap:5px;padding:5px;border:1px solid var(--line-strong);border-radius:10px;background:var(--paper);width:fit-content;max-width:100%}
  .rv-sim-result-tabs button{min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:7px;background:transparent;font:600 12px var(--font-sans);color:var(--ink-2);cursor:pointer}
  .rv-sim-result-tabs button[aria-pressed=true]{background:var(--card);border-color:var(--accent);color:var(--ink)}
  .rv-sim-result-patient .rv-sim-breakdown{padding-top:0;margin-top:18px;border-top:0}
  .rv-sim-result-patient .rv-sim-table td:first-child{min-width:200px}
  .rv-sim-result-patient details summary{cursor:pointer;min-height:36px;white-space:nowrap}
  .rv-sim-result-patient details li{white-space:nowrap}
}
@media screen and (max-width:1000px){
  .rv-sim-steps button{padding:12px 8px;grid-template-columns:30px 1fr;gap:8px}
  .rv-sim-steps button small{display:none}
  .rv-sim-steps button span{grid-row:auto;width:28px;height:28px}
  .rv-sim-period-layout{grid-template-columns:minmax(0,1fr) minmax(310px,1fr);gap:20px}
}
@media screen and (max-width:700px){
  .rv-sim-period-layout{grid-template-columns:1fr}
  .rv-sim-steps{gap:3px;padding:4px}
  .rv-sim-steps button{display:flex;flex-direction:column;justify-content:center;text-align:center;gap:8px;padding:12px 3px;min-width:0}
  .rv-sim-steps button strong{font-size:11px}
  .rv-sim-step-actions{align-items:flex-start;flex-wrap:wrap}
  .rv-sim-step-actions>div:last-child{margin-left:auto}
  .rv-sim-result-patient{padding:13px}
  .rv-sim-result-tabs button{padding:9px;font-size:11px}
  .rv-sim-group-days .rv-sim-field{min-width:120px}
}
@media(prefers-reduced-motion:reduce){.rv-sim-steps button:after{transition:none}}
@media screen and (max-width:1150px){
  .rv-sim-step-3 .rv-sim-layout{grid-template-columns:minmax(0,1fr)}
  .rv-sim-step-3 .rv-sim-summary{position:static;order:-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px;padding:18px}
  .rv-sim-step-3 .rv-sim-summary h2,.rv-sim-step-3 .rv-sim-summary>p{grid-column:1/-1}
  .rv-sim-step-3 .rv-sim-summary>p:last-child{display:none}
  .rv-sim-step-3 .rv-sim-summary .rv-sim-metric dd{font-size:22px}
}
@media screen and (max-width:550px){
  .rv-sim-step-3 .rv-sim-summary{grid-template-columns:minmax(0,1fr)}
  .rv-sim-step-3 .rv-sim-summary .rv-sim-metric{display:flex;justify-content:space-between;gap:10px;align-items:center}
  .rv-sim-step-3 .rv-sim-summary .rv-sim-metric dd{margin:0;font-size:21px}
}
