/* Caravel Sites — conta do cliente. Mesma família visual do formulário de recolha; sem recursos externos. */
:root{--fg:#15191f;--muted:#566070;--line:#dfe3ea;--bg:#f6f7f9;--card:#fff;--p:#14406b;--p2:#1d5a96;--a:#f59e0b;--ok:#166534;--okbg:#ecfdf3;--av:#8a4b00;--avbg:#fff7e6;--er:#9b1c1c;--erbg:#fdf0f0}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;display:flex;flex-direction:column;min-height:100vh}
a{color:var(--p2)}
.wrap{max-width:960px;margin:0 auto;padding:0 20px;width:100%}
main.wrap{flex:1;padding-top:28px;padding-bottom:48px}
.topo{background:var(--p);color:#fff}
.topo>.wrap:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px}
.marca{color:#fff;text-decoration:none;font-weight:700;font-size:1.08rem;display:flex;align-items:center;gap:10px}
.logo{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#f59e0b 0 45%,#fff 45% 55%,#7fb2e5 55%);display:inline-block}
.voltar{color:#fff;margin-left:auto;font-size:.95rem}
.linguas{display:flex;gap:4px}.linguas a{color:#dbe7f5;text-decoration:none;font-size:.85rem;font-weight:600;padding:6px 8px;border-radius:8px}
.linguas a[aria-current]{background:#ffffff22;color:#fff}
.menu{display:flex;gap:4px;flex-wrap:wrap;align-items:center;padding:0 0 10px;margin-top:-4px}
.menu a,.menu .ligacao{color:#dbe7f5;text-decoration:none;font-weight:600;font-size:.95rem;padding:8px 12px;border-radius:10px;background:none;border:0;min-height:0;cursor:pointer;font-family:inherit}
.menu a[aria-current]{background:#fff;color:var(--p)}
.menu a:hover,.menu .ligacao:hover{background:#ffffff1f}
.sair{margin:0 0 0 auto}
h1{font-size:clamp(1.6rem,4vw,2.2rem);margin:6px 0 6px;letter-spacing:-.02em;line-height:1.2}
h2{font-size:1.15rem;margin:0 0 10px}
.lead{color:var(--muted);font-size:1.05rem;margin:0 0 20px;max-width:46em}
.nota,small{color:var(--muted);font-size:.92rem}
.cartao{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;margin:0 0 18px}
.cartao.estreito{max-width:480px;margin:12px auto 0;padding:28px}
.cartao.destaque{border:2px solid var(--p);box-shadow:0 6px 24px #14406b14}
.cartao.discreto{background:#fbfbfc}
.cartao>p:last-child{margin-bottom:0}
.acao{margin-top:14px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.grelha{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.duas{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.duas>form{margin:0}
.grande{font-size:1.2rem;font-weight:700;margin:4px 0 6px;overflow-wrap:anywhere}
label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.95rem;margin-bottom:16px}
label small{font-weight:400}
input,select,textarea{font:inherit;font-weight:400;border:1.5px solid #c9d0da;border-radius:10px;padding:10px 12px;min-height:46px;background:#fff;color:var(--fg);width:100%}
textarea{min-height:90px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 3px #14406b22}
input[type=file]{border-style:dashed;padding:9px}
.ck{flex-direction:row;align-items:flex-start;font-weight:500;gap:10px}
.ck input{width:20px;height:20px;min-height:0;margin:2px 0 0;flex:none}
button,.pri,.sec{font:inherit;font-weight:600;border-radius:10px;min-height:46px;padding:0 20px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;gap:6px}
.pri{background:var(--p);color:#fff;border:0}.pri:hover{background:var(--p2)}
.sec{background:#fff;color:var(--p);border:1.5px solid var(--p)}.sec:hover{background:#14406b0d}
.pequeno{min-height:38px;padding:0 14px;font-size:.92rem}
.largo{width:100%}
.perigo{color:var(--er);border-color:var(--er)}
:focus-visible{outline:3px solid var(--a);outline-offset:2px}
.sob{text-align:center;margin:14px 0 0;color:var(--muted)}
.isco{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.alerta{border-radius:12px;padding:12px 16px;margin:0 0 18px;border:1px solid}
.alerta p{margin:0}.alerta ul{margin:6px 0 0;padding-left:20px}
.alerta.ok{background:var(--okbg);border-color:#a7e3bf;color:var(--ok)}
.alerta.aviso{background:var(--avbg);border-color:#f5cf8a;color:var(--av)}
.alerta.erro{background:var(--erbg);border-color:#f0b8b8;color:var(--er)}
.alerta.info{background:#eef5fc;border-color:#bcd6f0;color:var(--p)}
.alerta form{margin-top:10px}
.icone-grande{font-size:2.4rem;line-height:1;color:var(--p)}
/* etapas */
.etapas{list-style:none;padding:0;margin:8px 0 24px;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;counter-reset:e}
.etapas li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;font-size:.88rem;color:var(--muted);font-weight:600}
.etapas li::before{content:"";position:absolute;top:17px;left:-50%;width:100%;height:3px;background:var(--line);z-index:0}
.etapas li:first-child::before{display:none}
.etapas li.feito::before,.etapas li.atual::before{background:var(--p)}
.bola{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--line);color:var(--muted);font-weight:700}
.etapas .feito .bola{background:var(--p);border-color:var(--p);color:#fff}
.etapas .atual .bola{border-color:var(--p);color:var(--p);box-shadow:0 0 0 5px #14406b1f}
.etapas .atual{color:var(--fg)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* planos */
fieldset{border:0;padding:0;margin:0 0 16px;min-width:0}
legend{font-weight:700;margin-bottom:10px;padding:0}
.planos{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:6px}
.plano{border:1.5px solid var(--line);border-radius:14px;padding:18px;margin:0;cursor:pointer;font-weight:400;position:relative;gap:4px}
.plano:has(input:checked){border-color:var(--p);background:#14406b08;box-shadow:0 0 0 2px var(--p) inset}
.plano input{position:absolute;top:18px;right:18px;width:20px;height:20px;min-height:0}
.plano .nome{font-weight:700;font-size:1.15rem}
.plano ul{margin:8px 0 0;padding-left:20px;color:var(--fg)}
.preco{margin:2px 0 0;display:flex;flex-direction:column}.preco strong{font-size:1.35rem;color:var(--p)}.preco span{color:var(--muted);font-size:.92rem}
.ciclos{display:flex;gap:20px;flex-wrap:wrap}.ciclos legend{width:100%}
.ciclos .ck{margin:0}
.pares{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 12px}.pares dt{color:var(--muted)}.pares dd{margin:0;overflow-wrap:anywhere}
.selo{display:inline-block;font-size:.82rem;font-weight:700;padding:3px 10px;border-radius:999px;background:#eef1f5;color:#3b4552}
.selo.ok{background:var(--okbg);color:var(--ok)}.selo.aviso{background:var(--avbg);color:var(--av)}
.tabela{width:100%;border-collapse:collapse;font-size:.95rem}
.tabela th{text-align:left;color:var(--muted);font-weight:600;border-bottom:1.5px solid var(--line);padding:8px 10px 8px 0}
.tabela td{border-bottom:1px solid var(--line);padding:10px 10px 10px 0;vertical-align:top;overflow-wrap:anywhere}
.compacta td{font-size:.88rem;padding:6px 8px 6px 0}
details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}
details>summary h2{display:inline-flex;align-items:center;gap:8px;margin:0}details>summary h2::before{content:"▸";color:var(--p)}
details[open]>summary h2::before{content:"▾"}details[open]>summary{margin-bottom:12px}
details.alterar>summary{display:inline-flex}details.alterar[open]{flex-basis:100%}details.alterar form{margin-top:12px}
.pedidos{list-style:none;margin:0;padding:0}.pedidos li{border-bottom:1px solid var(--line);padding:12px 0}.pedidos li:last-child{border:0}
.pedidos p{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.linha{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.em-linha{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.em-linha label{margin:0;flex:1 1 220px}
pre.json{background:#0f1720;color:#e6edf5;padding:14px;border-radius:12px;overflow:auto;max-height:360px;font-size:.82rem}
.rodape{border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:.9rem}.rodape p{margin:10px 0}.rodape .wrap{padding-top:8px;padding-bottom:8px}
@media(max-width:700px){
  .grelha,.planos{grid-template-columns:1fr}
  .etapas{grid-template-columns:1fr;gap:0;margin-left:4px}
  .etapas li{flex-direction:row;text-align:left;gap:12px;padding:5px 0}
  .etapas li::before{top:-50%;left:17px;width:3px;height:100%}
  .cartao{padding:18px}.cartao.estreito{padding:22px}
  .menu{gap:2px}.menu a,.menu .ligacao{padding:7px 9px;font-size:.9rem}
  .sair{margin-left:0}
  .tabela thead{display:none}.tabela tr{display:block;border-bottom:1px solid var(--line);padding:8px 0}
  .tabela td{display:flex;justify-content:space-between;gap:12px;border:0;padding:3px 0}
  .tabela td[data-r]::before{content:attr(data-r);color:var(--muted);font-weight:600}
  .duas>form,.duas .pri,.acao .pri{width:100%}
}
.cartao form+form{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
