/* Timetabled · página pública. Sem estilos inline (CSP style-src 'self'). */

@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-latin.woff2) format("woff2")}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-latin.woff2) format("woff2")}

:root{
  color-scheme:light dark;
  --sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  --papel:#F6F5F1;
  --superficie:#FFFFFF;
  --campo:#F3F2EE;
  --campo-hover:#ECEBE6;
  --tinta:#16161A;
  --tinta-2:#4E4E57;
  --tinta-3:#65656E;
  --linha:#E3E1DA;
  --linha-forte:#CBC8BE;

  --acento:#2B3CCF;
  --acento-hover:#2232B5;
  --acento-tinta:#2232B5;
  --acento-suave:#E8EBFC;
  --acento-sobre:#FFFFFF;

  --duvida:#7A4E00;
  --duvida-fundo:#FDF1D3;
  --duvida-linha:#D9A12B;
  --erro:#B42318;
  --erro-fundo:#FCEBE9;
  --ok:#1F7A45;

  --raio:10px;
  --raio-g:16px;
  --sombra:0 1px 2px rgb(22 22 26 / .05),0 8px 24px -12px rgb(22 22 26 / .12);
  --margem:20px;
}

@media (prefers-color-scheme:dark){
  :root{
    --papel:#101013;
    --superficie:#18181C;
    --campo:#1F1F24;
    --campo-hover:#26262C;
    --tinta:#EDEDEF;
    --tinta-2:#B6B6BE;
    --tinta-3:#9A9AA4;
    --linha:#27272D;
    --linha-forte:#3A3A42;

    --acento:#97A3FF;
    --acento-hover:#AEB8FF;
    --acento-tinta:#AEB8FF;
    --acento-suave:#1D2150;
    --acento-sobre:#0E0F1F;

    --duvida:#F2C35A;
    --duvida-fundo:#2A2211;
    --duvida-linha:#B98A25;
    --erro:#FF9A8F;
    --erro-fundo:#2C1513;
    --ok:#6FD39A;

    --sombra:0 1px 2px rgb(0 0 0 / .4),0 12px 32px -16px rgb(0 0 0 / .7);
  }
}

@media (min-width:720px){:root{--margem:32px}}
@media (min-width:1200px){:root{--margem:48px}}
@media (min-width:1920px){:root{--margem:64px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:24px}
/* Na revisão há barras fixas em cima (seleção) e em baixo (saída): o foco e as âncoras param fora delas. */
html:has(body[data-fase="revisao"]){scroll-padding-top:136px;scroll-padding-bottom:150px}
@media (min-width:900px){html:has(body[data-fase="revisao"]){scroll-padding-top:84px;scroll-padding-bottom:110px}}
body{margin:0;background:var(--papel);color:var(--tinta);font:400 16px/1.55 var(--sans);font-feature-settings:"ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
h1,h2,h3,p,ol,ul,dl,dd{margin:0}
ol,ul{padding:0;list-style:none}
a{color:var(--acento-tinta);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
img,svg{display:block}
button,input,textarea,select{font:inherit;color:inherit}
[hidden]{display:none !important}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.sr{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.escondido{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}

:focus-visible{outline:2px solid var(--acento);outline-offset:2px}
input:focus-visible,textarea:focus-visible{outline-offset:0}

.cont{width:min(100% - 2 * var(--margem),2000px);margin-inline:auto}

.saltar{position:absolute;left:12px;top:-60px;z-index:50;padding:10px 14px;border-radius:var(--raio);background:var(--tinta);color:var(--papel);text-decoration:none}
.saltar:focus{top:12px}

/* ---------- Topo ---------- */
.topo{border-bottom:1px solid var(--linha)}
.topo-in{display:flex;align-items:center;justify-content:space-between;height:60px}
.marca{display:inline-flex;align-items:center;color:var(--tinta);text-decoration:none;padding:8px 0;border-radius:6px}
/* Logo inline (marca/svg/logo.svg): pontos e palavra em currentColor, o ponto do evento no acento.
   Largura mínima do logo completo: 96 px (marca/MARCA.md). Proporção do viewBox: 8,95. */
.logo{display:block;fill:currentColor}
.logo-ponto{fill:var(--acento)}
.logo-topo{height:19px;width:170px}
.logo-rodape{height:14px;width:125px}
@media (min-width:720px){.logo-topo{height:22px;width:197px}}
.topo-nav{display:flex;gap:22px}
.topo-nav a{color:var(--tinta-2);text-decoration:none;font-size:14px}
.topo-nav a:hover{color:var(--tinta)}

/* ---------- Herói e ferramenta ---------- */
.heroi{padding:24px 0 48px}
.heroi-in{display:grid;gap:40px}
h1{font-weight:400;font-size:clamp(2.4rem,1.6rem + 3.6vw,4.4rem);line-height:1;letter-spacing:-.045em}
.sub{margin-top:12px;color:var(--tinta-2);font-size:clamp(1rem,.95rem + .3vw,1.2rem);letter-spacing:-.01em;max-width:34em}

.ferramenta{margin-top:24px;outline:none}
.entrada,.processo{background:var(--superficie);border:1px solid var(--linha);border-radius:var(--raio-g);box-shadow:var(--sombra)}

.fontes{display:flex;gap:4px;padding:6px;border-bottom:1px solid var(--linha)}
.fonte{flex:1 1 0;min-height:44px;border:0;border-radius:8px;background:transparent;color:var(--tinta-2);font-size:15px;cursor:pointer;padding:0 6px;white-space:nowrap}
.fonte:hover{color:var(--tinta);background:var(--campo)}
.fonte[aria-selected="true"]{background:var(--campo);color:var(--tinta);font-weight:500}

.painel{padding:16px}
.largar{position:relative;display:grid;justify-items:center;text-align:center;gap:12px;padding:28px 16px 24px;border:1.5px dashed var(--linha-forte);border-radius:12px;transition:border-color .15s,background-color .15s}
.largar.por-cima{border-color:var(--acento);background:var(--acento-suave)}
.largar-ic{width:40px;height:40px;color:var(--tinta-3)}
.largar-t{font-size:18px;letter-spacing:-.015em}
.largar-acoes{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.largar-lim{font-size:13px;color:var(--tinta-3)}
.largar .so-toque{display:none}
@media (pointer:coarse){.largar .so-toque{display:inline-flex}.largar span.so-toque{display:inline}.largar .so-rato{display:none}}

.form-fonte{display:grid;gap:8px}
.rotulo{font-size:14px;font-weight:500;color:var(--tinta)}
.opcional{font-weight:400;color:var(--tinta-3)}
.ajuda{font-size:13px;color:var(--tinta-3)}
.erro-campo{font-size:14px;color:var(--erro)}
.form-pe{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.form-pe .ajuda{flex:1 1 220px}
#texto-conta{white-space:nowrap;margin-left:6px}

input[type="text"],input[type="url"],input[type="email"],input[type="date"],input[type="time"],textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--linha-forte);border-radius:var(--raio);background:var(--superficie);font-size:16px;line-height:1.35}
textarea{resize:vertical;min-height:132px;font-family:var(--mono);font-size:14px}
input::placeholder,textarea::placeholder{color:var(--tinta-3);opacity:.8}
input:focus,textarea:focus{border-color:var(--acento)}
[aria-invalid="true"]{border-color:var(--erro) !important}

.campo-botao{display:flex;gap:8px}
.campo-botao input{flex:1 1 auto;min-width:0}

/* Botões */
.botao{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--linha-forte);border-radius:var(--raio);background:var(--superficie);color:var(--tinta);font-size:15px;font-weight:500;letter-spacing:-.01em;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color .12s,border-color .12s,color .12s}
.botao:hover{background:var(--campo)}
.botao:disabled{opacity:.45;cursor:not-allowed}
.botao svg{width:16px;height:16px;flex:none}
.botao-primario{background:var(--acento);border-color:var(--acento);color:var(--acento-sobre)}
.botao-primario:hover{background:var(--acento-hover);border-color:var(--acento-hover)}
.botao-fantasma{background:transparent;border-color:transparent;color:var(--tinta-2)}
.botao-fantasma:hover{background:var(--campo);color:var(--tinta)}
.botao-pequeno{min-height:36px;padding:0 12px;font-size:14px}
.botao-grande{min-height:52px;padding:0 22px;font-size:16px}
.botao[aria-busy="true"]{cursor:progress}

.garantias{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;font-size:13px;color:var(--tinta-3)}
.garantias span{display:inline-flex;align-items:center;gap:6px}
.garantias span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--linha-forte)}

/* Avisos */
.aviso{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;margin-bottom:12px;font-size:15px}
.aviso svg{width:20px;height:20px;flex:none;margin-top:1px}
.aviso-rede{background:var(--campo);color:var(--tinta-2)}
.aviso-erro{flex-direction:column;background:var(--erro-fundo);border:1px solid color-mix(in srgb,var(--erro) 30%,transparent)}
.aviso-t{font-size:17px;font-weight:500;letter-spacing:-.01em;color:var(--tinta);outline:none}
.aviso-erro p{color:var(--tinta-2);margin-top:2px}
.aviso-acoes{display:flex;flex-wrap:wrap;gap:8px}
.aviso-duvida{background:var(--duvida-fundo);color:var(--tinta)}
.aviso-duvida svg{color:var(--duvida)}
.aviso-info{background:var(--campo);color:var(--tinta-2)}

/* Processo */
.processo{padding:24px 20px;display:grid;gap:16px}
.processo-fonte{font-size:13px;color:var(--tinta-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.processo-t{font-size:22px;font-weight:400;letter-spacing:-.02em;outline:none;margin-top:-8px}
.passos{display:grid;gap:12px}
.passo{display:flex;align-items:center;gap:12px;color:var(--tinta-3);font-size:16px}
.passo-marca{position:relative;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--linha-forte);flex:none}
.passo.ativo{color:var(--tinta)}
.passo.ativo .passo-marca{border-color:var(--acento);border-right-color:transparent;animation:rodar .9s linear infinite}
.passo.feito{color:var(--tinta-2)}
.passo.feito .passo-marca{border-color:var(--acento);background:var(--acento)}
.passo.feito .passo-marca::after{content:"";position:absolute;left:6px;top:3px;width:5px;height:9px;border:solid var(--acento-sobre);border-width:0 1.8px 1.8px 0;transform:rotate(45deg)}
@keyframes rodar{to{transform:rotate(360deg)}}
.processo-tempo{display:flex;gap:10px;align-items:baseline;font-size:14px;color:var(--tinta-3)}
.processo-tempo .mono{color:var(--tinta);font-size:15px;min-width:4ch}
.processo .botao{justify-self:start}

/* Amostra (a interface como imagem) */
.amostra{display:none}
@media (min-width:1024px){
  .heroi{padding:56px 0 80px}
  .heroi-in{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:start}
  .amostra{display:grid;gap:14px;margin-top:8px;padding:20px;border:1px solid var(--linha);border-radius:var(--raio-g);background:var(--superficie);box-shadow:var(--sombra)}
}
.amostra-fonte{display:grid;gap:4px;padding:14px 16px;border-radius:10px;background:var(--campo);font-family:var(--mono);font-size:12.5px;color:var(--tinta-2)}
.amostra-fonte p{display:grid;grid-template-columns:11ch 1fr auto;gap:12px}
.amostra-fonte .amostra-cab{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--tinta-3);margin-bottom:4px}
.cal-dias,.cal-grelha{display:grid;grid-template-columns:44px repeat(7,minmax(0,1fr))}
.cal-dias span{font-size:11.5px;color:var(--tinta-3);padding:0 0 8px 6px}
.cal-dias b{display:block;font-weight:400;font-size:17px;color:var(--tinta);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.cal-grelha{grid-template-rows:repeat(7,46px);position:relative}
.cal-h{grid-column:1 / -1;border-top:1px solid var(--linha);font-family:var(--mono);font-size:10.5px;color:var(--tinta-3);padding-top:3px}
.h1{grid-row:1}.h2{grid-row:2}.h3{grid-row:3}.h4{grid-row:4}.h5{grid-row:5}.h6{grid-row:6}.h7{grid-row:7}
.cal-ev{display:grid;align-content:start;gap:1px;margin:3px 3px 3px 4px;padding:4px 7px;line-height:1.25;border-radius:6px;background:var(--campo);border:1px solid var(--linha);font-family:var(--mono);font-size:10.5px;color:var(--tinta-2);overflow:hidden;z-index:1}
.cal-ev b{display:flex;align-items:center;gap:5px;min-width:0;font-family:var(--sans);font-weight:500;font-size:11.5px;color:var(--tinta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* O ponto da marca: cada evento tem o seu ponto; só o que a pessoa leva para o calendário fica no acento. */
.cal-ev b::before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:var(--tinta-3)}
.cal-escolhido{background:var(--acento-suave);border-color:color-mix(in srgb,var(--acento) 30%,transparent)}
.cal-escolhido b::before{background:var(--acento)}
.ev-a{grid-column:3;grid-row:6 / span 1}
.ev-b{grid-column:5;grid-row:6 / span 1}
.ev-c{grid-column:7;grid-row:2 / span 1}
.ev-d{grid-column:8;grid-row:3 / span 2}
.cal-duvida{background:var(--duvida-fundo);border:1px dashed var(--duvida-linha);color:var(--duvida)}
.cal-duvida b::before{background:var(--duvida-linha)}

/* ---------- Revisão ---------- */
body[data-fase="revisao"] .amostra,
body[data-fase="revisao"] .ferramenta{display:none}
body[data-fase="revisao"] .heroi{padding:20px 0 4px}
body[data-fase="revisao"] h1{font-size:clamp(1.25rem,1.1rem + .6vw,1.6rem);letter-spacing:-.03em;color:var(--tinta-2)}
body[data-fase="revisao"] .sub{display:none}
body[data-fase="revisao"] .heroi-in{grid-template-columns:1fr}
body[data-fase="processo"] .garantias{visibility:hidden}

.revisao{padding:8px 0 56px}
.rev-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:16px}
.rev-topo h2{font-size:clamp(1.5rem,1.3rem + 1vw,2rem);font-weight:400;letter-spacing:-.03em;outline:none}
.rev-resumo{margin-top:4px;color:var(--tinta-2);font-size:15px}
.rev-resumo .n-duvida{color:var(--duvida)}

.rev-campos{display:grid;gap:16px;padding:20px 0 8px;border-top:1px solid var(--linha)}
.campo{display:grid;gap:6px;align-content:start}
@media (min-width:900px){.rev-campos{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}}

.avisos{display:grid;gap:8px;margin:8px 0 4px}
.avisos:empty{display:none}
.avisos .aviso{margin:0}
.avisos .aviso-info{display:block;padding:12px 16px}
.avisos-lista{display:grid;gap:6px}
.avisos-lista li{position:relative;padding-left:18px;line-height:1.45}
.avisos-lista li::before{content:"";position:absolute;left:2px;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--tinta-3)}
.avisos-mais{margin-top:6px}
.avisos-mais summary{cursor:pointer;min-height:32px;display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--tinta-2);list-style:none}
.avisos-mais summary::-webkit-details-marker{display:none}
.avisos-mais summary::before{content:"";width:6px;height:6px;margin-left:2px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(-45deg);transition:transform .15s}
.avisos-mais[open] summary::before{transform:rotate(45deg)}
.avisos-mais summary:hover{color:var(--tinta)}
.avisos-mais .avisos-lista{margin-top:4px}

.rev-barra{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 0;margin-top:8px;background:var(--papel);border-bottom:1px solid var(--linha)}
.rev-barra-acoes{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}
.n-marcados{font-size:13px;color:var(--tinta-3)}
.botao-duvida{border-color:var(--duvida-linha);color:var(--tinta)}
.botao-duvida:hover{background:var(--duvida-fundo)}

.caixa{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:15px;min-height:44px}
.caixa input,.l-caixa{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:0;border:1.5px solid var(--linha-forte);border-radius:5px;background:var(--superficie);display:grid;place-items:center;cursor:pointer;flex:none}
.caixa input:checked,.l-caixa:checked{background:var(--acento);border-color:var(--acento)}
.caixa input:checked::after,.l-caixa:checked::after{content:"";width:5px;height:10px;border:solid var(--acento-sobre);border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.caixa input:indeterminate{background:var(--acento);border-color:var(--acento)}
.caixa input:indeterminate::after{content:"";width:10px;height:2px;background:var(--acento-sobre)}
.caixa-texto{align-items:flex-start;font-size:14px;color:var(--tinta-2);line-height:1.45}
.caixa-texto input{margin-top:1px}

/* Linhas: lista de cartões no telemóvel, tabela a partir de 900 px */
.tabela-cab{display:none}
.linhas{display:grid;gap:12px;margin-top:12px}
.linha{position:relative;padding:14px;border:1px solid var(--linha);border-radius:12px;background:var(--superficie)}
/* Linha atual: o ponto da marca, no acento, onde está o foco. */
.linha:focus-within::after{content:"";position:absolute;top:17px;right:16px;width:7px;height:7px;border-radius:50%;background:var(--acento)}
.linha.marcada{background:var(--acento-suave);border-color:color-mix(in srgb,var(--acento) 40%,var(--linha))}
.linha.duvidosa{background:color-mix(in srgb,var(--duvida-fundo) 40%,var(--superficie));border-color:color-mix(in srgb,var(--duvida-linha) 35%,var(--linha))}
.linha.nova{animation:surgir .5s ease-out}
@keyframes surgir{from{background:var(--acento-suave)}}

.l-grelha{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 8px;grid-template-areas:"title title" "date date" "start end" "location location" "acoes acoes"}
.l-marcar{grid-area:acoes;justify-self:start;align-self:center;display:flex;align-items:center;min-height:44px;z-index:1}
.c-title{grid-area:title}.c-date{grid-area:date}.c-start{grid-area:start}.c-end{grid-area:end}.c-location{grid-area:location}
.l-acoes{grid-area:acoes;display:flex;justify-content:flex-end;gap:2px}
.c{display:grid;gap:3px;min-width:0}
.c input,.c textarea{min-width:0;max-width:100%}
.rot{font-size:12px;color:var(--tinta-3)}
.linha input[type="text"],.linha input[type="date"],.linha input[type="time"],.linha textarea{min-height:44px;padding:8px 10px;border-color:transparent;background:var(--campo)}
.linha input:hover,.linha textarea:hover{background:var(--campo-hover)}
.linha input:focus,.linha textarea:focus{border-color:var(--acento);background:var(--superficie)}
.linha input[name="title"]{font-weight:500}
.linha input[type="date"],.linha input[type="time"]{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:15px;letter-spacing:-.02em}
.linha textarea{min-height:64px;font-family:var(--sans);font-size:15px}
.linha.marcada input:not(:focus),.linha.marcada textarea:not(:focus){background:color-mix(in srgb,var(--superficie) 70%,transparent)}

.icone{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--tinta-2);font-size:14px;cursor:pointer;text-decoration:none}
.icone:hover{background:var(--campo);color:var(--tinta)}
.icone svg{width:16px;height:16px;flex:none}
.l-mais[aria-expanded="true"] svg{transform:rotate(180deg)}
.l-apagar:hover{color:var(--erro)}

.l-duvida{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:10px;padding:8px 10px;border-radius:8px;background:var(--duvida-fundo);color:var(--tinta);font-size:14px}
.l-duvida svg{width:16px;height:16px;color:var(--duvida);flex:none}
.l-razao{flex:1 1 180px}
.l-certo{background:var(--superficie)}
.l-erros{margin-top:8px;font-size:14px;color:var(--erro)}
.l-detalhe{display:grid;gap:10px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--linha)}

.vazio{padding:32px 16px;text-align:center;color:var(--tinta-2);border:1.5px dashed var(--linha-forte);border-radius:12px;margin-top:12px}
.acrescentar{margin-top:12px}

@media (min-width:900px){
  .tabela-cab,.l-grelha{display:grid;grid-template-columns:36px minmax(0,2.3fr) 158px 108px 108px minmax(0,1.5fr) 152px;gap:6px;align-items:center}
  .l-grelha{grid-template-areas:none}
  .l-marcar,.c-title,.c-date,.c-start,.c-end,.c-location,.l-acoes{grid-area:auto}
  .tabela-cab{padding:10px 12px 8px;font-size:12px;color:var(--tinta-3);letter-spacing:.02em;border-bottom:1px solid var(--linha)}
  .linhas{gap:0;margin-top:0}
  .linha{padding:6px 12px;border:0;border-bottom:1px solid var(--linha);border-radius:0;background:transparent}
  .linha:focus-within::after{top:23px;right:auto;left:-16px}
  .linha.duvidosa{background:color-mix(in srgb,var(--duvida-fundo) 45%,transparent);border-color:var(--linha)}
  .linha.marcada{background:var(--acento-suave)}
  .l-marcar{justify-content:center}
  .c .rot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .c-notes .rot,.c-endDate .rot,.c-timezone .rot{position:static;width:auto;height:auto;clip:auto}
  .linha input[type="text"],.linha input[type="date"],.linha input[type="time"]{min-height:40px;background:transparent}
  .linha:hover input:not(:focus){background:var(--campo)}
  .l-acoes{gap:0}
  .icone-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .icone{min-width:40px;min-height:40px;padding:0}
  .l-duvida,.l-erros,.l-detalhe{margin-left:42px}
  .l-duvida{margin-top:4px;margin-bottom:6px}
  .l-detalhe{grid-template-columns:minmax(0,2fr) 180px minmax(0,1.2fr);margin-bottom:8px;border-top:0;padding-top:4px;margin-top:4px}
  .vazio{border-radius:0;border-width:0 0 1px;border-style:solid;border-color:var(--linha);margin:0}
}

/* Desfazer */
.desfazer{position:fixed;left:50%;bottom:calc(132px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:30;display:flex;align-items:center;gap:14px;max-width:calc(100% - 32px);padding:8px 8px 8px 16px;border-radius:12px;background:var(--tinta);color:var(--papel);box-shadow:var(--sombra);font-size:15px}
.desfazer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.desfazer .botao{background:transparent;border-color:color-mix(in srgb,var(--papel) 35%,transparent);color:var(--papel)}
.desfazer .botao:hover{background:color-mix(in srgb,var(--papel) 12%,transparent)}
@media (min-width:900px){.desfazer{bottom:112px}}

/* Saída */
.saida{position:sticky;bottom:0;z-index:6;margin:20px calc(-1 * var(--margem)) 0;padding:12px var(--margem) calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--papel) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--linha)}
.saida-in{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.saida-in .botao{width:100%;padding:0 12px}
.botao-manter{border-color:var(--acento);color:var(--acento-tinta);background:var(--superficie)}
.botao-manter:hover{background:var(--acento-suave)}
.selo{font-family:var(--mono);font-size:11px;font-weight:400;padding:2px 6px;border-radius:999px;background:var(--acento-suave);color:var(--acento-tinta);letter-spacing:0}
.saida-msg:empty,.restantes:empty{display:none}
.saida-msg{margin-top:8px;font-size:14px;color:var(--tinta-2)}
.saida-msg.e-erro{color:var(--erro)}
.restantes{margin-top:6px;font-size:13px;color:var(--tinta-3);font-variant-numeric:tabular-nums}
@media (max-width:420px){.selo{display:none}}
@media (min-width:900px){
  .saida{margin:24px 0 0;padding:16px 0 16px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
  .saida-in{display:flex;gap:10px}
  .saida-in .botao{width:auto;padding:0 22px}
  .saida-msg,.restantes{margin:0}
  .restantes{margin-left:auto}
}

.importar{margin-top:24px;border-top:1px solid var(--linha);padding-top:16px}
.importar summary{cursor:pointer;color:var(--tinta-2);font-size:15px;min-height:44px;display:flex;align-items:center}
.importar dl{display:grid;gap:4px 24px;padding:8px 0 4px;font-size:15px}
.importar dt{font-weight:500}
.importar dd{color:var(--tinta-2);margin-bottom:10px}
@media (min-width:900px){.importar dl{grid-template-columns:180px 1fr}.importar dd{margin:0 0 8px}}

/* ---------- Secções ---------- */
.secao{padding:56px 0;border-top:1px solid var(--linha)}
.secao-t{font-size:clamp(1.4rem,1.2rem + .9vw,2rem);font-weight:400;letter-spacing:-.03em;margin-bottom:28px}
.como{display:grid;gap:24px;counter-reset:passo}
.como li{display:grid;gap:6px;padding-top:16px;border-top:1px solid var(--linha-forte)}
.como-n{display:flex;gap:6px;margin-bottom:6px}
.como-n i{width:8px;height:8px;border-radius:50%;background:var(--linha-forte)}
.como li:nth-child(1) .como-n i:nth-child(1),.como li:nth-child(2) .como-n i:nth-child(2),.como li:nth-child(3) .como-n i:nth-child(3){background:var(--acento)}
.como h3{font-size:19px;font-weight:500;letter-spacing:-.015em}
.como p{color:var(--tinta-2);max-width:30em}
@media (min-width:900px){.secao{padding:88px 0}.como{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}}

.le{display:grid}
.le li{display:grid;gap:4px;padding:14px 0;border-bottom:1px solid var(--linha)}
.le li:first-child{border-top:1px solid var(--linha)}
.le-n{font-size:17px;letter-spacing:-.01em}
.le-ex{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13.5px;color:var(--tinta-2)}
.le-ex span:first-child{color:var(--acento-tinta)}
@media (min-width:720px){.le li{grid-template-columns:minmax(200px,1fr) minmax(0,1.6fr);align-items:baseline}}
@media (min-width:1200px){.le{grid-template-columns:1fr 1fr;column-gap:56px}.le li:nth-child(2){border-top:1px solid var(--linha)}}

.faq-in{display:grid;gap:8px}
.faq details{border-bottom:1px solid var(--linha)}
.faq details:first-child{border-top:1px solid var(--linha)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:12px 0;cursor:pointer;list-style:none;font-size:17px;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:9px;height:9px;border:solid var(--tinta-3);border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translate(-2px,-2px);transition:transform .15s}
.faq details[open] summary::after{transform:rotate(225deg)}
.faq p{padding:0 0 18px;color:var(--tinta-2);max-width:44em}
@media (min-width:900px){.faq-in{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:56px}.faq-in .secao-t{margin:0}}

/* ---------- Rodapé ---------- */
.rodape{border-top:1px solid var(--linha);padding:28px 0 40px;font-size:14px;color:var(--tinta-3)}
.rodape-in{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center}
.rodape-marca{color:var(--tinta);display:inline-flex}
.rodape nav{display:flex;flex-wrap:wrap;gap:6px 20px}
.rodape a{color:var(--tinta-2);text-decoration:none}
.rodape a:hover{color:var(--tinta);text-decoration:underline}
.rodape-legal{flex-basis:100%}

/* ---------- Diálogo ---------- */
.dialogo{width:min(100% - 32px,460px);max-height:calc(100dvh - 32px);padding:28px 24px 24px;border:1px solid var(--linha);border-radius:var(--raio-g);background:var(--superficie);color:var(--tinta);box-shadow:0 24px 64px -24px rgb(0 0 0 / .45)}
.dialogo::backdrop{background:rgb(16 16 19 / .45);backdrop-filter:blur(2px)}
.dialogo form{display:grid;gap:10px}
.dialogo h2{font-size:26px;font-weight:400;letter-spacing:-.03em;outline:none}
.dialogo-selo{font-size:12px;color:var(--acento-tinta)}
.dialogo-txt{font-size:16px;color:var(--tinta)}
.dialogo-nota{font-size:14px;color:var(--tinta-2);margin-bottom:6px}
.dialogo-acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
#manter-obrigado{display:grid;gap:10px}
@media (max-width:520px){.dialogo{margin:auto 0 0;width:100%;max-width:100%;border-radius:var(--raio-g) var(--raio-g) 0 0;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.dialogo-acoes .botao{flex:1 1 auto}}

/* ---------- Páginas legais e 404 ---------- */
.legal{display:grid;gap:32px;padding:40px 0 72px}
.legal-lado .kicker{font-size:13px;color:var(--tinta-3);font-family:var(--mono)}
.legal-lado h1{font-size:clamp(2rem,1.6rem + 2vw,3rem);margin-top:8px}
.legal-lado .numa{margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--campo);font-size:15px}
.legal-lado .numa b{display:block;font-weight:500;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--tinta-3);margin-bottom:4px}
.indice{display:grid;gap:2px;margin-top:20px;font-size:14px}
.indice a{color:var(--tinta-2);text-decoration:none;padding:4px 0}
.indice a:hover{color:var(--tinta)}
.legal-corpo{display:grid;gap:36px;max-width:44em}
.legal-corpo h2{font-size:21px;font-weight:500;letter-spacing:-.02em;margin-bottom:10px}
.legal-corpo p,.legal-corpo li{color:var(--tinta-2);margin-bottom:8px}
.legal-corpo ul{list-style:disc;padding-left:20px}
.legal-corpo strong{color:var(--tinta);font-weight:500}
@media (min-width:1024px){.legal{grid-template-columns:minmax(260px,1fr) minmax(0,2.2fr);gap:72px;padding-top:64px}.legal-lado{position:sticky;top:24px;align-self:start}}

.nao-encontrada{padding:96px 0 120px;display:grid;gap:16px;justify-items:start}
.nao-encontrada .mono{color:var(--acento-tinta);font-size:14px}
.nao-encontrada p{color:var(--tinta-2);max-width:32em}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition:none !important}
  .passo.ativo .passo-marca{border-right-color:var(--acento)}
}
