/* Esqueleto visual. A paridade com o wizard do Admin é a Fase 3 do plano —
   até lá isto é o suficiente para exercitar o fluxo de ponta a ponta. */
:root { --fg:#1a1a1a; --bg:#fff; --primaria:#e63946; --borda:#e0e0e0; --suave:#6b6b6b; }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; color:var(--fg); background:var(--bg); }
.wizard { max-width:32rem; margin:0 auto; padding:1.5rem 1.25rem 3rem; }
.wizard__progresso { height:4px; background:var(--borda); border-radius:2px; overflow:hidden; }
.wizard__progresso-barra { height:100%; background:var(--primaria); transition:width .3s ease; }
.wizard__contador { margin:.5rem 0 0; font-size:.8rem; color:var(--suave); }
.wizard__titulo { font-size:1.5rem; margin:1.5rem 0 1rem; }
.wizard__erro { background:#fdecea; color:#b3261e; padding:.75rem 1rem; border-radius:8px; }
.wizard__acoes { display:flex; gap:.75rem; margin-top:2rem; }
.campo { display:block; margin-bottom:1rem; }
.campo__rotulo { display:block; font-weight:600; margin-bottom:.35rem; }
.campo__entrada { width:100%; padding:.7rem .9rem; border:1px solid var(--borda); border-radius:8px; font-size:1rem; }
.campo__entrada:focus { outline:2px solid var(--primaria); outline-offset:1px; }
.campo__entrada--hora { width:auto; }
.campo--curto { display:inline-block; width:auto; margin-right:1rem; }
.campo__ajuda { font-size:.85rem; color:var(--suave); margin:.25rem 0 1rem; }
.opcoes { display:grid; gap:.5rem; }
.opcoes--cards { grid-template-columns:repeat(auto-fill,minmax(9rem,1fr)); }
.opcao { display:flex; align-items:center; gap:.5rem; padding:.7rem .9rem; border:1px solid var(--borda); border-radius:8px; cursor:pointer; }
.grupo { border:1px solid var(--borda); border-radius:8px; padding:1rem; margin-bottom:1rem; }
.grupo__titulo { font-weight:600; padding:0 .35rem; }
.linha-dia { display:flex; align-items:center; gap:.5rem; margin-bottom:.5rem; }
.linha-dia__nome { flex:0 0 5.5rem; font-size:.9rem; }
.linha-dia__ate { color:var(--suave); font-size:.85rem; }
.resumo { display:grid; grid-template-columns:auto 1fr; gap:.5rem 1rem; }
.resumo dt { font-weight:600; color:var(--suave); }
.resumo dd { margin:0; }
.btn { padding:.8rem 1.4rem; border-radius:8px; border:1px solid transparent; font-size:1rem; cursor:pointer; text-decoration:none; display:inline-block; }
.btn--primario { background:var(--primaria); color:#fff; flex:1; }
.btn--fantasma { background:transparent; border-color:var(--borda); color:var(--fg); }
