/* ATGeo — identidade provisória e componentes das telas.
   Cores: tinta (azul-petróleo escuro) para a marca, laranja de baliza para ação e destaque,
   ciano de curva de nível para detalhes. Todas as combinações de texto passam AA (4,5:1). */
:root{
  color-scheme:light dark;
  /* marca (iguais nos dois modos) */
  --tinta:#0B2233;--tinta-2:#14344D;--tinta-texto:#C9D6E0;
  --baliza:#F27A1A;--baliza-forte:#E06A0C;--baliza-tinta:#1C0D00;--curva:#3FB4C0;
  /* superfícies e texto */
  --bg:#F3F5F7;--surface:#FFFFFF;--surface-2:#F7F9FA;--fg:#0E1A24;--muted:#4F5E6B;
  --line:#DCE2E8;--line-forte:#BCC6D0;
  --link:#0A6E7A;--foco:#0A6E7A;
  /* estados */
  --ok:#17703F;--ok-soft:#E3F4EA;--warn:#8A5A00;--warn-soft:#FFF1D6;
  --err:#B42318;--err-soft:#FDE8E7;--info:#1F5FA8;--info-soft:#E5EEFA;--neutro-soft:#EDF0F3;
  /* tipografia */
  --f-d:"Barlow Semi Condensed","Arial Narrow",system-ui,sans-serif;
  --f-b:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-m:"JetBrains Mono",ui-monospace,"Cascadia Mono",monospace;
  /* espaço, raios, sombras */
  --e1:4px;--e2:8px;--e3:12px;--e4:16px;--e5:24px;--e6:32px;--e7:48px;
  --r-p:8px;--r:12px;--r-g:16px;--r-pill:999px;
  --sombra-1:0 1px 2px rgba(11,34,51,.06),0 1px 1px rgba(11,34,51,.04);
  --sombra-2:0 6px 20px -8px rgba(11,34,51,.18),0 2px 4px rgba(11,34,51,.05);
  --alvo:44px;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0A141C;--surface:#101D28;--surface-2:#152533;--fg:#E6EDF2;--muted:#9DB0BF;
  --line:#22364A;--line-forte:#335069;
  --link:#5CCBD6;--foco:#5CCBD6;--tinta:#071520;--tinta-2:#12324A;
  --ok:#5FD39A;--ok-soft:#0F2E20;--warn:#F7C55E;--warn-soft:#33270A;
  --err:#FF8F85;--err-soft:#3A1517;--info:#8AB8F5;--info-soft:#132A47;--neutro-soft:#182837;
  --sombra-1:0 1px 2px rgba(0,0,0,.35);--sombra-2:0 8px 24px -10px rgba(0,0,0,.6);
}}

/* ---------- base ---------- */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{margin:0;background:var(--bg);color:var(--fg)}
body{font:15px/1.55 var(--f-b);min-height:100vh;display:flex;flex-direction:column;overflow-wrap:anywhere}
main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:var(--e5) 20px var(--e7)}
a{color:var(--link);text-underline-offset:2px}
h1,h2,h3{font-family:var(--f-d);font-weight:700;letter-spacing:.005em;line-height:1.15;margin:0 0 .45em;overflow-wrap:anywhere}
h1{font-size:30px}h2{font-size:22px}h3{font-size:18px}
p{margin:0 0 .8em}
:focus{outline:none}
:focus-visible{outline:3px solid var(--foco);outline-offset:2px;border-radius:6px}
::selection{background:color-mix(in srgb,var(--baliza) 35%,transparent)}
code,.mono{font-family:var(--f-m);font-size:13px}
pre{white-space:pre-wrap;word-break:break-word;font:12px/1.5 var(--f-m);background:var(--surface-2);border:1px solid var(--line);padding:var(--e3);border-radius:var(--r-p);max-height:260px;overflow:auto;margin:var(--e2) 0 0}
.muted{color:var(--muted)}
.peq{font-size:13px}
.esp{flex:1;min-width:0}
.linha{display:flex;gap:var(--e3);align-items:center;flex-wrap:wrap}
.so-leitor{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- cabeçalho e rodapé ---------- */
.topo{background:var(--tinta);color:var(--tinta-texto);display:flex;align-items:center;gap:var(--e4);padding:0 20px;min-height:60px;position:sticky;top:0;z-index:5;
  border-bottom:1px solid color-mix(in srgb,var(--curva) 25%,transparent)}
.marca{display:inline-flex;align-items:center;gap:10px;font:800 25px/1 var(--f-d);color:#fff;text-decoration:none;letter-spacing:.02em;min-height:var(--alvo)}
.marca img{width:32px;height:32px;display:block}
.marca em{font-style:normal;color:var(--baliza)}
.topo nav{display:flex;gap:2px;margin-left:auto;align-items:center;min-width:0}
.topo nav a,.topo nav button{color:var(--tinta-texto);text-decoration:none;font:500 14px var(--f-b);padding:0 12px;min-height:var(--alvo);display:inline-flex;align-items:center;border-radius:var(--r-p);background:none;border:0;cursor:pointer;white-space:nowrap}
.topo nav a:hover,.topo nav button:hover{background:var(--tinta-2);color:#fff}
.topo nav a[aria-current=page]{color:#fff;box-shadow:inset 0 -3px 0 var(--baliza);border-radius:var(--r-p) var(--r-p) 0 0}
.topo :focus-visible{outline-color:var(--curva)}
.topo .quem{font-size:13px;color:#93A8B8;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 8px 0 12px;border-left:1px solid var(--tinta-2);margin-left:6px}
.faixa{padding:10px 20px;font-size:14px;text-align:center;background:var(--err-soft);color:var(--err);border-bottom:1px solid var(--line)}
.rodape{text-align:center;font-size:13px;color:var(--muted);padding:var(--e5) 20px;border-top:1px solid var(--line)}
.rodape a{color:var(--muted);display:inline-block;padding:10px 4px}

/* ---------- títulos de página ---------- */
.titulo-pag{display:flex;gap:var(--e3);align-items:flex-end;flex-wrap:wrap;margin-bottom:var(--e5)}
.titulo-pag h1{margin:0;flex:1;min-width:200px}
.sobretitulo{font:600 12px/1 var(--f-b);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 var(--e2)}
.voltar{display:inline-flex;align-items:center;gap:6px;min-height:var(--alvo);color:var(--muted);text-decoration:none;font-size:14px;font-weight:500;margin:-10px 0 0 -4px;padding:0 4px}
.voltar:hover{color:var(--fg)}

/* ---------- cartões ---------- */
.cartao{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-g);padding:var(--e5);margin-bottom:var(--e4);box-shadow:var(--sombra-1)}
.cartao>h3:first-child,.cartao>h2:first-child{margin-top:0}
.cartao-cab{display:flex;gap:var(--e3);align-items:center;flex-wrap:wrap;margin-bottom:var(--e3)}
.cartao-cab h3{margin:0;flex:1 0 auto}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--e4)}

/* ---------- botões e campos ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 14px/1.2 var(--f-b);min-height:var(--alvo);padding:10px 18px;border-radius:10px;
  border:1px solid var(--line-forte);background:var(--surface);color:var(--fg);cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s}
.btn:hover{border-color:var(--muted);background:var(--surface-2)}
.btn.pri{background:var(--baliza);color:var(--baliza-tinta);border-color:var(--baliza);box-shadow:0 1px 0 rgba(0,0,0,.08)}
.btn.pri:hover{background:var(--baliza-forte);border-color:var(--baliza-forte)}
.btn.perigo{color:var(--err);border-color:color-mix(in srgb,var(--err) 35%,var(--line))}
.btn.perigo:hover{background:var(--err-soft);border-color:var(--err)}
.btn.discreto{border-color:transparent;background:none}
.btn:disabled,.btn[aria-busy=true]{opacity:.6;cursor:not-allowed}
.btn.largo{width:100%}
.btn svg{width:18px;height:18px;flex:none}
.acoes{display:flex;gap:var(--e3);flex-wrap:wrap;align-items:center;margin-top:var(--e4)}
.acoes .esp{flex:1}
input,select,textarea{font:15px/1.3 var(--f-b);min-height:var(--alvo);padding:10px 12px;border:1px solid var(--line-forte);border-radius:10px;background:var(--surface);color:var(--fg);width:100%;transition:border-color .15s,box-shadow .15s}
input::placeholder{color:color-mix(in srgb,var(--muted) 80%,transparent)}
input:hover,select:hover{border-color:var(--muted)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--foco);box-shadow:0 0 0 3px color-mix(in srgb,var(--foco) 30%,transparent)}
label{display:block;font-weight:600;font-size:14px;margin:var(--e4) 0 6px}
.campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:0 var(--e4)}

/* ---------- selos de status ---------- */
.selo{display:inline-flex;align-items:center;gap:6px;font:600 12.5px/1 var(--f-b);padding:6px 10px;border-radius:var(--r-pill);background:var(--neutro-soft);color:var(--muted);white-space:nowrap}
.selo::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.selo.pronto,.selo.aprovado{background:var(--ok-soft);color:var(--ok)}
.selo.erro,.selo.reprovado{background:var(--err-soft);color:var(--err)}
.selo.ressalva,.selo.aguardando_escolha{background:var(--warn-soft);color:var(--warn)}
.selo.na_fila,.selo.processando{background:var(--info-soft);color:var(--info)}
.selo.processando::before,.selo.na_fila::before{animation:pulso 1.4s ease-in-out infinite}
.selos{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@keyframes pulso{50%{opacity:.25}}

/* ---------- lista de trabalhos ---------- */
.lista{list-style:none;margin:0;padding:0}
.lista li{border-top:1px solid var(--line)}
.lista li:first-child{border-top:0}
.lista a.item{display:grid;grid-template-columns:auto 1fr auto;gap:var(--e2) var(--e4);align-items:center;padding:var(--e4) var(--e5);text-decoration:none;color:var(--fg);min-height:72px}
.lista a.item:hover{background:var(--surface-2)}
.lista a.item:hover .titulo{text-decoration:underline;text-underline-offset:3px}
.lista a.item:focus-visible{outline-offset:-3px;border-radius:var(--r)}
.lista .titulo{font-weight:600;display:block}
.cartao.lista-cartao{padding:0;overflow:hidden}
.tipo{display:inline-grid;place-items:center;gap:2px;font:700 11px/1 var(--f-d);letter-spacing:.08em;text-transform:uppercase;color:var(--fg);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;width:56px;height:48px}
.tipo svg{width:20px;height:20px;color:var(--link)}

/* ---------- estados: vazio, carregando, erro ---------- */
.vazio,.estado{text-align:center;padding:var(--e7) var(--e4);color:var(--muted)}
.estado svg{width:48px;height:48px;color:var(--curva);margin-bottom:var(--e3)}
.estado h2,.estado h3{color:var(--fg)}
.estado p{max-width:480px;margin:0 auto var(--e4)}
.carregando{display:flex;align-items:center;justify-content:center;gap:var(--e3);padding:var(--e7) var(--e4);color:var(--muted)}
.carregando::before,.girando{content:"";width:20px;height:20px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--baliza);animation:gira .8s linear infinite;flex:none}
.girando{display:inline-block;width:16px;height:16px;border-width:2px}
@keyframes gira{to{transform:rotate(360deg)}}
.esqueleto{display:block;height:14px;border-radius:6px;background:linear-gradient(90deg,var(--neutro-soft),var(--surface-2),var(--neutro-soft));background-size:200% 100%;animation:brilho 1.3s linear infinite}
@keyframes brilho{to{background-position:-200% 0}}

/* ---------- avisos ---------- */
.aviso{position:relative;padding:12px 14px 12px 44px;border-radius:10px;--av:var(--warn);background:var(--warn-soft);color:var(--av);margin:var(--e3) 0;font-size:14px;border:1px solid color-mix(in srgb,currentColor 22%,transparent)}
.aviso::before{content:"!";position:absolute;left:14px;top:12px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--av);color:var(--surface);font:700 13px/1 var(--f-b)}
.aviso.erro{--av:var(--err);background:var(--err-soft)}
.aviso.ok{--av:var(--ok);background:var(--ok-soft)}
.aviso.ok::before{content:"✓"}
.aviso.info{--av:var(--info);background:var(--info-soft)}
.aviso.info::before{content:"i"}
.aviso b{font-weight:700}

.aviso.cota{font-size:15px;padding:16px 16px 16px 48px;border-width:2px;border-color:var(--err)}
.aviso.cota::before{left:16px;top:17px}
.aviso.cota b{display:block;font:700 17px/1.2 var(--f-d);margin-bottom:4px;letter-spacing:.01em}
.aviso.cota span{display:block;color:var(--fg)}

/* ---------- plano e uso ---------- */
.plano{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;font-size:13px;color:var(--muted);padding:10px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin:-8px 0 var(--e4)}
.plano-nome{font-weight:600;color:var(--fg);display:inline-flex;align-items:center;gap:8px}
.plano-nome::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--curva);transform:rotate(45deg)}
.plano-item{display:inline-flex;flex-direction:column;gap:4px;min-width:120px;font-variant-numeric:tabular-nums}
.plano-item .medidor{margin:0;height:5px;width:100%}

/* ---------- novo trabalho ---------- */
.escolha{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--e3)}
.escolha button{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:start;text-align:left;padding:18px;border-radius:var(--r);border:2px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer;font:14px/1.5 var(--f-b);transition:border-color .15s,background .15s}
.escolha button:hover{border-color:var(--line-forte);background:var(--surface-2)}
.escolha button svg{grid-row:span 2;width:40px;height:40px;padding:8px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);color:var(--link)}
.escolha button[aria-pressed=true]{border-color:var(--baliza);background:color-mix(in srgb,var(--baliza) 7%,var(--surface))}
.escolha button[aria-pressed=true] svg{background:var(--baliza);border-color:var(--baliza);color:var(--baliza-tinta)}
.escolha b{display:block;font:700 18px/1.2 var(--f-d)}

/* ---------- envio de arquivos ---------- */
.soltar{display:flex;flex-direction:column;align-items:center;gap:6px;border:2px dashed var(--line-forte);border-radius:var(--r);padding:26px 16px;text-align:center;cursor:pointer;color:var(--muted);background:var(--surface-2);margin:var(--e3) 0 0;font-weight:500;transition:border-color .15s,background .15s}
.soltar:hover{border-color:var(--link)}
.soltar:focus-within{outline:3px solid var(--foco);outline-offset:2px}
.soltar svg{width:32px;height:32px;color:var(--link)}
.soltar u{color:var(--link);text-decoration-thickness:1px}
.soltar.sobre{border-color:var(--baliza);background:color-mix(in srgb,var(--baliza) 10%,var(--surface))}
.arqs{margin-top:var(--e3)}
.arq{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px 12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.arqs .arq:first-child,.cartao>h3+.arq{border-top:0}
.arq .nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--f-m);font-size:13px}
.arq .nome .muted{font-size:12px}
.arq .btn{min-width:88px}
.barra{height:8px;background:var(--neutro-soft);border-radius:var(--r-pill);overflow:hidden;grid-column:1/-1}
.barra i{display:block;height:100%;background:linear-gradient(90deg,var(--baliza),var(--baliza-forte));width:0;border-radius:inherit;transition:width .25s}

/* ---------- etapas do trabalho ---------- */
.etapas{display:flex;list-style:none;margin:0 0 var(--e5);padding:0;gap:4px;counter-reset:et}
.etapas li{flex:1;min-width:0;position:relative;padding-top:14px;font-size:12.5px;color:var(--muted);font-weight:500;counter-increment:et}
.etapas li::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;border-radius:var(--r-pill);background:var(--line)}
.etapas li.feita{color:var(--fg)}
.etapas li.feita::before{background:var(--link)}
.etapas li.atual{color:var(--fg);font-weight:700}
.etapas li.atual::before{background:var(--baliza)}
.etapas li.falhou{color:var(--err);font-weight:700}
.etapas li.falhou::before{background:var(--err)}
.etapas .rot{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.etapa-legenda{display:none}

/* ---------- resultado ---------- */
dl.dados{display:grid;grid-template-columns:minmax(120px,40%) 1fr;gap:0;margin:0;font-size:14px}
dl.dados dt,dl.dados dd{padding:8px 0;border-top:1px solid var(--line)}
dl.dados dt:first-of-type,dl.dados dt:first-of-type+dd{border-top:0}
dl.dados dt{color:var(--muted);padding-right:12px}
dl.dados dd{margin:0;font-weight:500;word-break:break-word;font-variant-numeric:tabular-nums}
.tabela{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.tabela th,.tabela td{text-align:left;padding:10px 8px;border-top:1px solid var(--line);vertical-align:top}
.tabela th{color:var(--muted);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;border-top:0;background:var(--surface-2);white-space:nowrap}
.tabela th:first-child{border-radius:8px 0 0 8px}.tabela th:last-child{border-radius:0 8px 8px 0}
.tabela tr:hover td{background:color-mix(in srgb,var(--surface-2) 60%,transparent)}
.rolar{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.conf{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.conf .selo{min-width:96px;justify-content:flex-start}
.cartao>h3+.conf,.conf:first-child{border-top:0}
.resultado{display:flex;gap:var(--e4);align-items:center;flex-wrap:wrap}
.resultado .esp h2{margin:0}
.situacao{display:inline-flex;align-items:center;gap:10px;font:700 20px/1 var(--f-d);padding:12px 18px;border-radius:var(--r-pill);letter-spacing:.01em}
.situacao::before{content:"";width:10px;height:10px;border-radius:50%;background:currentColor}
.nota{font-size:13px;color:var(--muted);margin:var(--e3) 0 var(--e4)}

/* ---------- painel ---------- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:var(--e3);margin-bottom:var(--e5)}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--e4);box-shadow:var(--sombra-1);border-top:3px solid var(--curva)}
.kpi b{display:block;font:700 30px/1.1 var(--f-d);font-variant-numeric:tabular-nums;margin-bottom:4px}
.kpi span{color:var(--muted);font-size:13px;display:block}
.kpi.alerta{border-top-color:var(--baliza)}
.secao{font:600 13px/1 var(--f-b);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:var(--e5) 0 var(--e3)}
.medidor{height:8px;border-radius:var(--r-pill);background:var(--neutro-soft);overflow:hidden;margin-top:8px}
.medidor i{display:block;height:100%;background:var(--curva)}
.medidor.alto i{background:var(--baliza)}
details.erro-item{border-top:1px solid var(--line);padding:0}
details.erro-item:first-of-type{border-top:0}
details.erro-item summary{cursor:pointer;padding:12px 0;min-height:var(--alvo);font-size:14px}

/* ---------- cartão recolhível (dados do relatório técnico) ---------- */
details.recolhivel{padding:0}
details.recolhivel>summary{display:flex;align-items:center;gap:12px;padding:var(--e4) var(--e5);min-height:var(--alvo);cursor:pointer;list-style:none;border-radius:var(--r-g)}
details.recolhivel>summary::-webkit-details-marker{display:none}
details.recolhivel>summary b{font:700 18px/1.2 var(--f-d)}
details.recolhivel>summary .peq{display:block;margin-top:2px}
details.recolhivel>summary::after{content:"";flex:none;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);margin:0 6px 4px 0;transition:transform .15s}
details[open].recolhivel>summary::after{transform:rotate(-135deg);margin:4px 6px 0 0}
details.recolhivel>summary:hover{background:var(--surface-2)}
details.recolhivel>:not(summary){margin-left:var(--e5);margin-right:var(--e5)}
details.recolhivel>:last-child{padding-bottom:var(--e5)}
details.recolhivel .campos{border-top:1px solid var(--line)}
.largo-campo{grid-column:1/-1}

/* ---------- admin: clientes ---------- */
.busca{display:flex;gap:8px;margin-bottom:var(--e3)}
.busca input{flex:1}
.tabela.clientes td{vertical-align:middle}
.tabela.clientes select{min-width:140px}
.tabela.clientes input[type=date]{min-width:150px}
.cred{display:flex;align-items:center;gap:8px}
.cred-atual{font:700 18px/1 var(--f-d);min-width:2ch;text-align:right;font-variant-numeric:tabular-nums}
.cred input{width:110px}
[data-msg]{margin-top:4px;min-height:1em}
@media (max-width:760px){
  .tabela.clientes thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tabela.clientes,.tabela.clientes tbody,.tabela.clientes tr,.tabela.clientes td{display:block;width:100%}
  .tabela.clientes tr{border:1px solid var(--line);border-radius:var(--r);padding:4px 12px;margin-bottom:12px}
  .tabela.clientes td{border-top:1px solid var(--line);padding:8px 0}
  .tabela.clientes td:first-child{border-top:0}
  .tabela.clientes td[data-rotulo]:not([data-rotulo=""])::before{content:attr(data-rotulo);display:block;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
  .tabela.clientes tr:hover td{background:none}
  .tabela.clientes select,.tabela.clientes input[type=date]{width:100%}
  .cred input{flex:1;width:auto}
  .tabela.clientes [data-salvar]{width:100%}
}

/* ---------- configuração avançada ---------- */
details.avancada{margin-top:var(--e4);border-top:1px solid var(--line)}
details.avancada summary,details.registro summary{cursor:pointer;font-weight:600;padding:12px 0;min-height:var(--alvo);display:flex;align-items:center;gap:8px;list-style:none;color:var(--fg)}
details.avancada summary::-webkit-details-marker,details.registro summary::-webkit-details-marker{display:none}
details.avancada summary::before,details.registro summary::before{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s;margin:0 4px}
details[open].avancada summary::before,details[open].registro summary::before{transform:rotate(45deg)}
.param{padding:12px 0;border-top:1px solid var(--line)}
.param .linha label{margin:0}
.param label{margin:0 0 6px}
.param small{display:block;color:var(--muted);font-size:13px;margin-top:6px}
.param.mudou{box-shadow:inset 3px 0 0 var(--baliza);padding-left:12px}
.param.mudou label::after{content:" · alterado";color:var(--warn);font-weight:600}

/* ---------- entrar ---------- */
.entrar-pag{display:grid;place-items:center;min-height:calc(100vh - 140px);padding-top:var(--e6)}
.entrar{width:100%;max-width:400px;margin:0}
.entrar .logo{display:block;width:180px;height:auto;margin:0 0 var(--e5)}
.entrar h1{font-size:26px}

/* ---------- contas: cadastro, senha ---------- */
.entrar.largo-form{max-width:560px}
.rotulo-linha{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.rotulo-linha label{margin-bottom:6px}
.rotulo-linha a{display:inline-flex;align-items:center;min-height:var(--alvo);margin:-10px 0 -6px}
.separa{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;margin:var(--e4) 0}
.separa::before,.separa::after{content:"";flex:1;height:1px;background:var(--line)}
.beneficios{list-style:none;padding:0;margin:var(--e3) 0 var(--e2);display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;font-size:14px}
.beneficios li{display:flex;gap:8px;align-items:flex-start}
.beneficios li::before{content:"";flex:none;width:8px;height:8px;margin-top:7px;border-radius:2px;background:var(--curva);transform:rotate(45deg)}
.caixa-marcar{display:flex;gap:12px;align-items:flex-start;font-weight:500;font-size:14px;margin:var(--e5) 0 0;cursor:pointer;min-height:var(--alvo)}
.caixa-marcar input{flex:none;width:22px;height:22px;min-height:0;margin:1px 0 0;padding:0;accent-color:var(--baliza);cursor:pointer}
input[aria-invalid=true]{border-color:var(--err);box-shadow:0 0 0 3px color-mix(in srgb,var(--err) 22%,transparent)}
.estado .btn{margin-top:var(--e2)}

/* ---------- licenças / verificar ---------- */
.prosa{max-width:760px}
.prosa p{line-height:1.65}
.hash{font-family:var(--f-m);font-size:12px;word-break:break-all;color:var(--muted);margin-top:var(--e3)}

@media (max-width:640px){
  main{padding:var(--e4) 16px var(--e6)}
  .topo{padding:0 8px 0 16px;gap:var(--e2)}
  .topo .quem,.topo .so-largo{display:none}
  .topo nav a,.topo nav button{padding:0 10px}
  .marca{font-size:23px}
  .marca img{width:28px;height:28px}
  h1{font-size:25px}
  .cartao{padding:var(--e4);border-radius:var(--r)}
  .escolha{grid-template-columns:1fr}
  .lista a.item{grid-template-columns:auto 1fr;padding:var(--e4)}
  .lista .selos{grid-column:2;justify-content:flex-start}
  .tipo{width:48px;height:44px}
  dl.dados{grid-template-columns:1fr}
  dl.dados dt{border-top:1px solid var(--line);padding:8px 0 0}
  dl.dados dd{border-top:0;padding:2px 0 8px}
  .arq{grid-template-columns:minmax(0,1fr) auto}
  .arq>.muted{grid-column:1;grid-row:2}
  .arq>.btn,.arq>span:last-child:empty{grid-column:2;grid-row:1/span 2}
  .acoes .btn{flex:1 1 auto}
  .acoes .esp{display:none}
  .beneficios{grid-template-columns:1fr}
  .plano{gap:10px 16px}
  .plano-nome{flex-basis:100%}
  .plano-item{flex:1}
  .conf{flex-direction:column;gap:6px}
  .titulo-pag .btn{width:100%}
  .situacao{font-size:18px}
  details.recolhivel>summary{padding:var(--e4)}
  details.recolhivel>:not(summary){margin-left:var(--e4);margin-right:var(--e4)}
  details.recolhivel>:last-child{padding-bottom:var(--e4)}
  .etapas{margin-bottom:6px}
  .etapas li{padding-top:0;min-height:5px}
  .etapas .rot{display:none}
  .etapa-legenda{display:block;font-size:13px;font-weight:600;margin:0 0 var(--e4)}
  .resultado .esp{flex-basis:100%}
  .resultado .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.topo,.rodape,.acoes,.btn{display:none!important}body{background:#fff}.cartao{box-shadow:none}}
details.recolhivel>.cartao{box-shadow:none;background:var(--surface-2);margin-bottom:var(--e4)}
details.recolhivel>.cartao:last-child{padding-bottom:var(--e5);margin-bottom:var(--e5)}
details.lista-fotos>summary{cursor:pointer;padding:10px 0;min-height:var(--alvo)}
