/* Identidade Falthec (cores do site/logo): azul-petróleo #0b5675, verde #2e9d4f (escurecido p/ contraste: #1d7a3b),
   escuro #0d2633, claro #f3f8fa; logo: verde #00ff19 e azul #00aff0 (só sobre fundo escuro). Contraste AA verificado. */
:root{--azul:#0b5675;--azul2:#0a4a65;--verde:#1d7a3b;--escuro:#0d2633;--claro:#f3f8fa;--vermelho:#a8001d;--texto:#0d2633;--borda:#0b5675;--cinza:#e3edf1}
*{box-sizing:border-box}
html{font-size:20px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--texto);background:var(--claro);line-height:1.45;padding-bottom:6.4rem}
.topo{background:var(--escuro);color:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.7rem 1rem;border-bottom:5px solid #00ff19}
.marca{height:2.1rem;width:auto;max-width:100%}
.local{font-size:.95rem;color:#dff3fb;min-height:1.2rem}
.progresso{max-width:34rem;margin:0 auto;padding:.8rem 1rem 0}
.progresso p{margin:0 0 .35rem;font-size:1rem;font-weight:700;color:var(--azul)}
.barra{display:flex;gap:.35rem}.barra i{flex:1;height:.55rem;border-radius:.3rem;background:#c5d7de}.barra i.feito{background:var(--verde)}.barra i.atual{background:var(--azul)}
main{max-width:34rem;margin:0 auto;padding:1rem}
h1{font-size:1.6rem;line-height:1.2;margin:.3rem 0 .7rem;color:var(--escuro)}
h2{font-size:1.2rem;margin:0 0 .3rem}
p,li{font-size:1.05rem}
.sub{font-size:1.05rem;margin:0 0 1rem;color:#27414f}
.svg{display:block;flex:none}
button,.btn{display:flex;align-items:center;gap:.85rem;width:100%;min-height:3.8rem;margin:.65rem 0;padding:.7rem .9rem;font:inherit;font-size:1.2rem;font-weight:700;text-align:left;color:#fff;background:var(--azul);border:3px solid var(--azul2);border-radius:1rem;cursor:pointer;text-decoration:none;box-shadow:0 2px 0 rgba(13,38,51,.25)}
.ic{display:grid;place-items:center;flex:none;width:2.7rem;height:2.7rem;border-radius:50%;background:rgba(255,255,255,.2)}
button.claro .ic,.btn.claro .ic{background:#dcecf2;color:var(--azul)}
button.claro,.btn.claro{background:#fff;color:var(--escuro);border-color:var(--azul)}
button.verde,.btn.verde{background:var(--verde);border-color:#145a2a}
button.vermelho,.btn.vermelho{background:var(--vermelho);border-color:#7a0015}
button.pequeno{min-height:3.5rem;font-size:1.05rem}
button:focus-visible,.btn:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible,select:focus-visible{outline:4px solid #ff9f00;outline-offset:3px}
button:active,.btn:active{transform:translateY(1px)}
button:disabled{background:#e5e9ec;color:#4a5a63;border:3px dashed #8a9aa3;box-shadow:none;cursor:not-allowed}
button:disabled .ic{background:#d3dadf}
button .tx{display:block}button small,.btn small{display:block;font-weight:400;font-size:.92rem;opacity:.95}
label{display:block;font-size:1.15rem;font-weight:700;margin:1rem 0 .3rem}
input,textarea,select{width:100%;font:inherit;font-size:1.25rem;padding:.8rem;min-height:3.5rem;border:3px solid var(--azul);border-radius:.8rem;background:#fff;color:#111}
textarea{min-height:6rem}
.erro{background:#fff1f1;border:3px solid var(--vermelho);color:#5e0013;padding:.8rem;border-radius:.8rem;font-weight:700;margin:.8rem 0}
.aviso{background:#fff7d6;border:3px solid #7a5d00;color:#3b2d00;padding:.8rem;border-radius:.8rem;margin:.8rem 0}
.ok{background:#e7f6ec;border:3px solid var(--verde);color:#0e3a1b;padding:.8rem;border-radius:.8rem;margin:.8rem 0}
.caixa{background:#fff;border:2px solid var(--azul);border-radius:.8rem;padding:.8rem;white-space:pre-wrap;font-size:1rem}
.lgpd{font-size:.98rem;background:#e6f3f8;border:2px solid var(--azul);border-radius:.8rem;padding:.7rem;margin:.8rem 0;display:flex;gap:.6rem}
.lgpd .svg{color:var(--azul);margin-top:.15rem}
.resumo{list-style:none;padding:0;margin:0 0 1rem;background:#fff;border:2px solid var(--cinza);border-radius:.8rem}
.resumo li{padding:.55rem .8rem;border-bottom:2px solid var(--cinza);font-size:1.1rem}.resumo li:last-child{border-bottom:0}
.resumo b{display:block;font-size:.88rem;color:#3b5360;text-transform:uppercase;letter-spacing:.03em}
.cartao{background:#fff;border:3px solid var(--azul);border-radius:1rem;padding:.8rem;margin:.8rem 0}
.status{display:inline-block;background:var(--cinza);border:2px solid #52717f;border-radius:2rem;padding:.2rem .7rem;font-size:.95rem;font-weight:700;color:var(--escuro)}
.dupla{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.dupla button{justify-content:center;text-align:center;font-size:1.1rem}
.dupla .tx{text-align:center}
img.previa{max-width:100%;border:3px solid var(--azul);border-radius:.8rem;margin:.6rem 0}
.escondido{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#rodape{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:4px solid var(--azul);padding:.5rem .6rem calc(.5rem + env(safe-area-inset-bottom));display:flex;gap:.5rem;justify-content:center;z-index:5}
#rodape>*{margin:0;min-height:3.5rem;font-size:1.05rem;justify-content:center;text-align:center;width:auto;flex:1;max-width:17rem;padding:.4rem .6rem;gap:.5rem;box-shadow:none}
#rodape .ic{width:2rem;height:2rem;background:transparent}
.privacidade{font-size:.92rem;text-align:center;margin:1.2rem 0 0;color:#27414f}
.privacidade a{color:var(--azul);font-weight:700}
.carregando{font-size:1.2rem;text-align:center;padding:2rem}
.tabela{width:100%;border-collapse:collapse;background:#fff}.tabela th,.tabela td{border:2px solid var(--cinza);padding:.5rem;text-align:left;font-size:1rem}
.linha-un{display:grid;grid-template-columns:1fr;gap:.4rem;background:#fff;border:2px solid var(--cinza);border-radius:.8rem;padding:.6rem;margin:.5rem 0}
.checks label{display:flex;align-items:center;gap:.6rem;font-weight:600;margin:.3rem 0}.checks input{width:1.6rem;height:1.6rem;min-height:0}
.taxa{background:#fff3e0;border:4px solid #b34700;border-radius:1rem;padding:.8rem;margin:.8rem 0;color:#3a1a00}
.taxa b{font-size:1.15rem;display:flex;gap:.5rem;align-items:center}.taxa p{margin:.4rem 0;font-size:1.05rem}
.aceite{display:flex;align-items:center;gap:.7rem;background:#fff;border:3px solid #b34700;border-radius:.8rem;padding:.6rem .8rem;margin:.5rem 0 0;font-size:1.25rem;min-height:3.5rem}
.aceite input{width:2rem;height:2rem;min-height:0;flex:none;accent-color:#b34700}
@media (min-width:600px){body{padding-bottom:6rem}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.regra-prazo{background:#fff;border:2px dashed #b34700;border-radius:.6rem;padding:.5rem}
.faixa-condo{display:flex;align-items:center;gap:.6rem;color:#fff;font-weight:800;font-size:1.25rem;padding:.7rem .9rem;border-radius:.9rem;margin:0 0 .8rem}
