:root{
  --rosa:#ff5a8a; --rosa-claro:#ffe6ef; --verde:#27c499; --cinza:#6b6b76;
  --borda:#ececf2; --fundo:#fbf7f9; --texto:#22222a;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:var(--fundo);color:var(--texto);min-height:100vh}
.tela{display:none;min-height:100vh;flex-direction:column}
.tela.ativa{display:flex}

/* login / intro / final */
.login-box,.intro-box,.final-box{margin:auto;max-width:380px;width:100%;padding:32px 24px;text-align:center}
.logo{font-size:56px;margin-bottom:8px}
h1{font-size:26px;margin-bottom:12px}
p{color:var(--cinza);line-height:1.5;margin-bottom:14px}
.dica{font-size:14px;background:var(--rosa-claro);padding:12px;border-radius:12px}
#pin{font-size:34px;text-align:center;letter-spacing:14px;width:180px;padding:14px;border:2px solid var(--borda);border-radius:14px;margin:10px 0}
#pin:focus{outline:none;border-color:var(--rosa)}
button{background:var(--rosa);color:#fff;border:none;font-size:17px;font-weight:600;padding:15px 24px;border-radius:14px;width:100%;cursor:pointer}
button:active{transform:scale(.98)}
.erro{color:#e23;font-size:14px;min-height:18px}

/* topo / progresso */
.topo{display:flex;align-items:center;gap:12px;padding:14px 18px}
.progresso{flex:1;height:8px;background:var(--borda);border-radius:8px;overflow:hidden}
.barra{height:100%;width:0;background:var(--verde);transition:width .3s}
#contador{font-size:13px;color:var(--cinza);font-weight:600}

/* card */
.card{flex:1;overflow-y:auto;padding:0 18px 18px}
.foto-wrap{position:relative;border-radius:18px;overflow:hidden;background:#eee;aspect-ratio:1;margin-bottom:14px}
.foto-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.foto-acoes{position:absolute;bottom:8px;right:8px;display:flex;gap:6px}
.foto-acoes button{width:auto;padding:8px 12px;font-size:13px;background:rgba(0,0,0,.55);border-radius:10px}
.sem-foto{display:flex;align-items:center;justify-content:center;height:100%;color:#aaa;font-size:14px}

.campo{margin-bottom:14px;text-align:left}
.campo label{display:block;font-size:13px;font-weight:600;color:var(--cinza);margin-bottom:5px}
.campo input,.campo textarea{width:100%;font-size:16px;padding:12px;border:1.5px solid var(--borda);border-radius:12px;font-family:inherit}
.campo input:focus,.campo textarea:focus{outline:none;border-color:var(--rosa)}
textarea{resize:vertical;min-height:70px}

/* select estilizado (cor / >3 opções) */
.sel-box{width:100%;font-size:16px;padding:12px;border:1.5px solid var(--borda);border-radius:12px;background:#fff;font-family:inherit;color:var(--texto);
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6b76' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:40px}
.sel-box:focus{outline:none;border-color:var(--rosa)}

/* botões segmentados (tamanho / <=3 opções) */
.seg{display:flex;gap:8px;flex-wrap:wrap}
.seg-btn{flex:1 1 auto;min-width:56px;width:auto;padding:11px 10px;font-size:15px;font-weight:600;
  background:#f3f3f7;color:var(--cinza);border:1.5px solid var(--borda);border-radius:12px;opacity:.75}
.seg-btn.sel{background:var(--rosa);color:#fff;border-color:var(--rosa);opacity:1}

/* toggle ativo */
.toggle-row{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1.5px solid var(--borda);border-radius:14px;padding:14px;margin-bottom:14px}
.toggle-row b{font-size:16px}
.switch{position:relative;width:54px;height:30px;flex-shrink:0}
.switch input{opacity:0;width:0;height:0}
.slider{position:absolute;inset:0;background:#ccc;border-radius:30px;transition:.2s;cursor:pointer}
.slider:before{content:"";position:absolute;height:24px;width:24px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.switch input:checked+.slider{background:var(--verde)}
.switch input:checked+.slider:before{transform:translateX(24px)}

/* variações */
.variacao{background:#fff;border:1.5px solid var(--borda);border-radius:14px;padding:12px;margin-bottom:10px}
.vhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.variacao .vtitulo{font-size:14px;font-weight:700;color:var(--rosa)}
.rmv{width:auto;padding:6px 12px;font-size:13px;background:#fff;color:#e23;border:1.5px solid #f3c2cc}
.rmv:disabled{opacity:.35;color:#bbb;border-color:var(--borda)}
.add-var{background:var(--rosa-claro);color:var(--rosa);border:1.5px dashed var(--rosa);margin-top:4px}
.linha2{display:flex;gap:10px}
.linha2 .campo{flex:1;margin-bottom:0}
.stepper{display:flex;align-items:center;gap:8px}
.stepper button{width:38px;height:38px;font-size:20px;padding:0;background:var(--rosa-claro);color:var(--rosa);border-radius:10px;flex-shrink:0}
.stepper button[data-step="1"]{background:#dff7ef;color:var(--verde)}
.stepper input{text-align:center}
.secao-titulo{font-size:13px;font-weight:700;color:var(--cinza);text-transform:uppercase;letter-spacing:.5px;margin:18px 0 8px}

/* navegação */
.navegacao{display:flex;gap:10px;align-items:center;padding:14px 18px;border-top:1px solid var(--borda);background:#fff}
.nav-btn{flex:1;background:#fff;color:var(--texto);border:1.5px solid var(--borda)}
.nav-btn.primario{background:var(--rosa);color:#fff;border:none}
.salvo{font-size:12px;color:var(--verde);min-width:54px;text-align:center}
