
/* Layout: coluna única de até 1000px. Topo com a marca SEER e cinco abas (Tabelas, Custos, Simulador, Comparar, Cadastros).
   Cada aba empilha cartões; listas viram tabela alinhada a partir de 760px; a matriz do comparativo rola de lado no próprio quadro. */
/* Base que a página do claude.ai recebia da plataforma e o app pressupõe. A regra do [hidden] é
   essencial: sem ela, barra, folha e avisos com display:flex apareceriam mesmo escondidos. */
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;padding:0}
img{max-width:100%}
[hidden]:not([hidden=until-found i]){display:none!important}
:root{
  --fundo:#F5F3F2;
  --superficie:#FCFBFA;
  --superficie-2:#EFEAE7;
  --borda:#DDD3CE;
  --texto:#2B1E1A;
  --texto-2:#6D5D57;
  --acento:#9C5847;
  --acento-texto:#FFFFFF;
  --acento-suave:#F4E4DE;
  --laranja:#D6702B;
  --ex:#4F5F80;
  --ex-suave:#E5E9F1;
  --ok:#2C7A4C;
  --ok-suave:#DCEFE2;
  --alerta:#875800;
  --alerta-suave:#F7EACB;
  --perigo:#B42318;
  --perigo-suave:#FBE2DF;
  --placa-logo:transparent;
  --veu:rgb(30 18 14 / .45);
  --sombra:0 1px 2px rgb(43 30 26 / .06), 0 8px 24px rgb(43 30 26 / .10);
  --sombra-p:0 1px 2px rgb(43 30 26 / .10);
  --f-titulo:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --f-texto:"Figtree","Segoe UI",system-ui,-apple-system,sans-serif;
  --raio:14px;
  --raio-p:9px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --fundo:#16110F;--superficie:#1F1815;--superficie-2:#2A201C;--borda:#3E302A;--texto:#F3EAE6;--texto-2:#BBA9A2;
    --acento:#E39C82;--acento-texto:#2A130C;--acento-suave:#3A251E;--laranja:#F08C48;--ex:#AEBEDF;--ex-suave:#263049;
    --ok:#7BCB9C;--ok-suave:#193326;--alerta:#E8C266;--alerta-suave:#372C13;--perigo:#F4928A;--perigo-suave:#43201C;
    --placa-logo:#F7F0EC;--veu:rgb(0 0 0 / .6);--sombra:0 1px 2px rgb(0 0 0 / .35), 0 10px 28px rgb(0 0 0 / .35);--sombra-p:0 1px 2px rgb(0 0 0 / .4);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --fundo:#16110F;--superficie:#1F1815;--superficie-2:#2A201C;--borda:#3E302A;--texto:#F3EAE6;--texto-2:#BBA9A2;
  --acento:#E39C82;--acento-texto:#2A130C;--acento-suave:#3A251E;--laranja:#F08C48;--ex:#AEBEDF;--ex-suave:#263049;
  --ok:#7BCB9C;--ok-suave:#193326;--alerta:#E8C266;--alerta-suave:#372C13;--perigo:#F4928A;--perigo-suave:#43201C;
  --placa-logo:#F7F0EC;--veu:rgb(0 0 0 / .6);--sombra:0 1px 2px rgb(0 0 0 / .35), 0 10px 28px rgb(0 0 0 / .35);--sombra-p:0 1px 2px rgb(0 0 0 / .4);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
body{background:var(--fundo);color:var(--texto);font-family:var(--f-texto);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top, 0px);z-index:10;background:var(--fundo)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--acento);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pagina{max-width:1000px;margin:0 auto;padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px));padding-block:20px 120px;display:flex;flex-direction:column;gap:18px}
.vista{display:flex;flex-direction:column;gap:18px}

.topo{display:flex;flex-direction:column;gap:8px}
.marca-linha{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}
.marca{display:inline-flex;align-items:center;gap:12px}
.marca-placa{display:inline-flex;padding:6px 10px;margin-left:-10px;border-radius:12px;background:var(--placa-logo)}
.marca img{display:block;height:34px;width:auto;max-width:100%}
.local{font-size:12.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--texto-2)}
h1{margin:0;font-family:var(--f-titulo);font-weight:700;font-size:clamp(26px, 6vw, 36px);line-height:1.08;letter-spacing:-.015em;text-wrap:balance}
.subtitulo{margin:0;color:var(--texto-2);max-width:62ch}
.atualizacao{margin:0;font-size:13px;color:var(--texto-2)}
.chip-modo{display:inline-flex;align-items:center;gap:7px;padding:4px 11px;border-radius:999px;font-size:12.5px;font-weight:600;border:1px solid var(--borda);color:var(--texto-2);background:var(--superficie)}
.chip-modo::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--texto-2)}
.chip-modo.edita{color:var(--acento);border-color:var(--acento)}
.chip-modo.edita::before{background:var(--acento)}

.abas{display:inline-flex;flex-wrap:wrap;align-self:flex-start;max-width:100%;gap:4px;padding:4px;border-radius:12px;background:var(--superficie-2);border:1px solid var(--borda)}
.aba{min-height:40px;padding:0 14px;border:0;border-radius:9px;background:transparent;font-weight:600;font-size:15px;color:var(--texto-2);cursor:pointer}
.aba[aria-selected="true"]{background:var(--superficie);color:var(--texto);box-shadow:var(--sombra-p)}

.avisos{display:flex;flex-direction:column;gap:10px}
.avisos:empty{display:none}
.aviso{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:12px 14px;border-radius:var(--raio-p);font-size:14px;background:var(--superficie-2)}
.aviso p{margin:0;flex:1 1 260px;min-width:0}
.aviso.ex{background:var(--ex-suave)}
.aviso.alerta{background:var(--alerta-suave)}
.aviso.perigo{background:var(--perigo-suave)}
.aviso-lista{border-radius:var(--raio-p);background:var(--alerta-suave);font-size:14px}
.aviso-lista>summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:11px 14px;cursor:pointer;font-weight:600;list-style:none}
.aviso-lista>summary::-webkit-details-marker{display:none}
.aviso-lista>summary::after{content:"";width:8px;height:8px;margin-left:auto;border-right:2px solid var(--texto-2);border-bottom:2px solid var(--texto-2);transform:translateY(-2px) rotate(45deg)}
.aviso-lista[open]>summary::after{transform:translateY(2px) rotate(-135deg)}
.aviso-lista ul{margin:0;padding:0 14px 12px 30px;display:flex;flex-direction:column;gap:6px}
.aviso-lista li.perigo{color:var(--perigo);font-weight:600}
.aviso-lista li.info{color:var(--texto-2)}
.acoes{display:flex;flex-wrap:wrap;align-items:center;gap:8px}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:34px;padding:0 13px;border-radius:999px;border:1px solid var(--borda);background:var(--superficie);color:var(--texto-2);font-size:13.5px;font-weight:600;cursor:pointer}
.chip:hover{background:var(--superficie-2)}
.chip[aria-pressed="true"]{background:var(--acento);border-color:var(--acento);color:var(--acento-texto)}
.chip.problema[aria-pressed="true"]{background:var(--perigo);border-color:var(--perigo);color:var(--superficie)}
.chips-tabela .chip{min-height:40px;padding:0 16px;font-size:14.5px}
.chip.nova{border-style:dashed;color:var(--acento)}

.ficha{display:flex;flex-direction:column;gap:12px;padding:14px 16px;background:var(--superficie);border:1px solid var(--borda);border-radius:var(--raio)}
.ficha-texto{display:flex;flex-direction:column;gap:2px;min-width:0}
.ficha-titulo{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.ficha h2{margin:0;font-family:var(--f-titulo);font-size:22px;font-weight:700;line-height:1.15}
.ficha p{margin:0;font-size:14px;color:var(--texto-2)}
.ficha .nota{color:var(--alerta);font-weight:600}
.ficha .obs-tabela{color:var(--texto);max-width:70ch;margin-top:4px}

.resumo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.stat{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:var(--superficie);border:1px solid var(--borda);border-radius:var(--raio);cursor:help}
.stat-valor{font-family:var(--f-titulo);font-weight:700;font-size:28px;line-height:1.1;font-variant-numeric:tabular-nums}
.stat-rotulo{font-size:12.5px;color:var(--texto-2);line-height:1.3}
.stat.alerta .stat-valor{color:var(--alerta)}
.stat.perigo .stat-valor{color:var(--perigo)}

.cartao{display:flex;flex-direction:column;gap:12px;padding:14px 16px;background:var(--superficie);border:1px solid var(--borda);border-radius:var(--raio)}
.cartao-cab{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}
.cartao-titulo{margin:0;font-family:var(--f-titulo);font-size:19px;font-weight:700;line-height:1.2;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.secao-cab{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}
.secao-titulo{margin:0;font-family:var(--f-titulo);font-size:18px;font-weight:700}
.param-grade{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px 20px;width:100%}
.param-grade div{display:flex;flex-direction:column;gap:1px;padding-top:10px;border-top:1px solid var(--borda);min-width:0}
.param-grade dt{font-size:12.5px;color:var(--texto-2)}
.param-grade dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.formula{margin:0;font-size:13.5px;color:var(--texto-2);max-width:72ch}
.formula b{color:var(--texto)}
.tag{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.02em;vertical-align:1px;white-space:nowrap}
.tag.ex{background:var(--ex-suave);color:var(--ex)}
.reg-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.reg-lista li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;padding:10px 0;border-top:1px solid var(--borda);font-size:14px}
.reg-lista li:first-child{border-top:0}
.reg-info{display:flex;flex-direction:column;gap:1px;min-width:0}
.reg-nome{font-weight:600;overflow-wrap:anywhere}
.reg-meta{color:var(--texto-2);font-size:13px;font-variant-numeric:tabular-nums}

.ferramentas{display:flex;flex-direction:column;gap:10px}
.busca input{width:100%;min-height:44px;padding:10px 14px;border:1px solid var(--borda);border-radius:var(--raio-p);background:var(--superficie);font-size:16px}
.busca input::placeholder{color:var(--texto-2)}

.lista{background:var(--superficie);border:1px solid var(--borda);border-radius:var(--raio);overflow:hidden}
.cab-tabela,.cab-sim{display:none}
.linha + .linha,.sim-linha + .sim-linha,.custo-linha + .custo-linha{border-top:1px solid var(--borda)}
.linha-botao{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"nome status" "nums nums";gap:12px;width:100%;padding:14px 16px;border:0;background:none;text-align:left;cursor:pointer}
.linha-botao:hover,.linha-botao[aria-expanded="true"]{background:var(--superficie-2)}
.c-nome{grid-area:nome;display:flex;flex-direction:column;gap:2px;min-width:0}
.nome{font-weight:600;font-size:15.5px;line-height:1.3;overflow-wrap:anywhere}
.meta{font-size:13px;color:var(--texto-2)}
.c-status{grid-area:status;justify-self:end;align-self:start}
.c-nums{grid-area:nums;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.n{display:flex;flex-direction:column;gap:1px;min-width:0}
.n small{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--texto-2)}
.n b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.n.destaque b{font-family:var(--f-titulo);font-size:17px;color:var(--acento)}
.desde{font-style:normal;font-size:11.5px;font-weight:500;color:var(--texto-2);white-space:nowrap}
.n .desde{display:block;font-size:11px}
.pilula{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.pilula.ok{background:var(--ok-suave);color:var(--ok)}
.pilula.alerta{background:var(--alerta-suave);color:var(--alerta)}
.pilula.perigo{background:var(--perigo-suave);color:var(--perigo)}
.pilula.neutra{background:var(--superficie-2);color:var(--texto-2)}

/* Linha de serviço da aba Tabelas: nome · custo rápido | custo detalhado · valor · lucro ou prejuízo.
   No celular: nome em cima, as duas células de custo lado a lado, valor e resultado embaixo. Uma linha só a partir de 900px. */
.lp{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"nome nome" "custos custos" "valor res";gap:10px 12px;padding:12px 16px 14px}
.linha.aberta>.lp{background:var(--superficie-2)}
@media (hover:hover){.lp:hover{background:var(--superficie-2)}}
.lp-nome{grid-area:nome;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;width:100%;min-width:0;padding:0;border:0;background:none;text-align:left;cursor:pointer}
.seta{flex:none;width:18px;height:18px;margin-top:2px;color:var(--texto-2);transition:transform .15s ease}
.lp-nome[aria-expanded="true"] .seta{transform:rotate(180deg)}
.lp-custos{grid-area:custos;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cc{display:flex;flex-direction:column;gap:1px;min-width:0;padding:5px 7px 3px;border:1px solid var(--borda);border-radius:var(--raio-p);background:var(--superficie)}
.cc.sem{border-style:dashed}
.cc.ativo{border-color:var(--acento);background:var(--acento-suave)}
.cc-escolha{display:flex;align-items:center;gap:5px;min-height:24px;font-size:10.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--texto-2);cursor:pointer}
.cc-escolha input{flex:none;width:16px;height:16px;margin:0;accent-color:var(--acento);cursor:pointer}
.cc-escolha input:disabled{cursor:default}
.cc-valor{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;min-width:0;min-height:34px;padding:0;border:0;background:none;color:var(--texto);text-align:left;cursor:pointer}
.cc-valor b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:15.5px;font-variant-numeric:tabular-nums}
.cc-valor svg{flex:none;width:16px;height:16px;color:var(--acento)}
.cc-vazio{font-weight:600;font-size:14px;color:var(--acento)}
.cc-valor[data-acao="custo-detalhado"] .cc-vazio{font-weight:500;color:var(--texto-2)}
.lp-valor{grid-area:valor;align-self:center;min-width:0}
.lp-res{grid-area:res;display:flex;flex-direction:column;align-items:flex-end;gap:3px;justify-self:end;align-self:center;text-align:right;cursor:help}
.lp-res .pilula{white-space:normal}
.lp-sub{font-size:11.5px;color:var(--texto-2);font-variant-numeric:tabular-nums}

/* Mini tabela do custo rápido (e o resumo do detalhado), aberta embaixo da linha. */
.painel-custo{display:flex;flex-direction:column;gap:10px;margin:0 12px 12px;padding:12px;border:1px solid var(--acento);border-radius:var(--raio-p);background:var(--superficie);box-shadow:var(--sombra-p)}
.pc-cab{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px}
.pc-cab h4{margin:0;font-family:var(--f-titulo);font-size:16.5px;font-weight:700;line-height:1.2}
.rap-linhas{display:flex;flex-direction:column;gap:6px}
.rap-linha{display:grid;grid-template-columns:minmax(0,1fr) 100px 40px;gap:6px;align-items:center}
.rap-linha.cab{font-size:12px;font-weight:600;color:var(--texto-2)}
.rap-linha.cab span:nth-child(2){text-align:right}
.rap-linha input{width:100%;min-height:40px;padding:6px 10px;border:1px solid var(--borda);border-radius:var(--raio-p);background:var(--fundo);color:var(--texto);font-size:16px}
.rap-valor{text-align:right;font-variant-numeric:tabular-nums}
.rap-linha .comp-del{grid-area:auto}
.pc-rodape{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.pc-total{font-size:14px;color:var(--texto-2)}
.pc-total b{margin-left:6px;font-family:var(--f-titulo);font-size:19px;color:var(--texto);font-variant-numeric:tabular-nums}
.pc-res{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13.5px;color:var(--texto-2)}
.pc-res b{color:var(--texto);font-variant-numeric:tabular-nums}
.pc-acoes{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.painel-custo .conta{max-width:none}
.cl-rap{display:block;margin-top:2px}
.detalhe{padding:4px 16px 18px;background:var(--superficie-2);display:flex;flex-direction:column;gap:12px}
.conta{margin:0;max-width:640px;width:100%;display:flex;flex-direction:column;background:var(--superficie);border:1px solid var(--borda);border-radius:var(--raio-p);overflow:hidden}
.conta div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:9px 12px}
.conta div + div{border-top:1px solid var(--borda)}
.conta dt{font-weight:600;font-size:14px}
.conta dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600;text-align:right;white-space:nowrap}
.conta dd.explica{grid-column:1 / -1;text-align:left;white-space:normal;font-weight:400;font-size:12.5px;color:var(--texto-2)}
.conta .total{background:var(--superficie-2)}
.conta .destaque dd:not(.explica){color:var(--acento);font-family:var(--f-titulo);font-size:17px}
.conta .positivo dd:not(.explica){color:var(--ok)}
.conta .negativo dd:not(.explica){color:var(--perigo)}
.obs{margin:0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;max-width:68ch}
.detalhe-rodape{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.quem{font-size:12.5px;color:var(--texto-2)}
.vazio{padding:32px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.vazio strong{font-family:var(--f-titulo);font-size:18px}
.vazio p{margin:0;color:var(--texto-2);max-width:44ch}
.vazio-p{margin:0;color:var(--texto-2);font-size:13.5px}
.contagem{font-weight:500;color:var(--texto-2);font-size:13px;font-family:var(--f-texto)}
.rodape{margin:0;font-size:12.5px;color:var(--texto-2);max-width:74ch}

.painel{display:flex;flex-direction:column;gap:14px;padding:14px 16px;background:var(--superficie);border:1px solid var(--borda);border-radius:var(--raio)}
.controle{display:flex;flex-direction:column;gap:6px;min-width:0}
.rotulo{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--texto-2)}
.controle-linha{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.campo-data{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--texto-2)}
.campo-data input,.sel{min-height:40px;padding:6px 10px;border:1px solid var(--borda);border-radius:var(--raio-p);background:var(--fundo);font-size:15px;max-width:100%}
.check{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}
.check input{width:18px;height:18px;accent-color:var(--acento)}
.dias{font-size:14px;color:var(--texto-2)}
.dias b{color:var(--texto);font-variant-numeric:tabular-nums}
.curto{width:96px;min-height:40px;padding:6px 10px;border:1px solid var(--borda);border-radius:var(--raio-p);background:var(--fundo);font-size:16px;font-variant-numeric:tabular-nums}
.curto.largo{width:150px}

.resultado{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:6px 18px}
.resultado-bloco{display:flex;flex-direction:column;gap:2px}
.resultado-valor{font-family:var(--f-titulo);font-weight:700;font-size:clamp(30px, 8vw, 42px);line-height:1.05;font-variant-numeric:tabular-nums}
.resultado-valor.positivo{color:var(--ok)}
.resultado-valor.negativo{color:var(--perigo)}
.resultado-lado{font-size:14px;color:var(--texto-2)}
.resultado-lado b{color:var(--texto);font-variant-numeric:tabular-nums}
.ocupacao{display:flex;flex-direction:column;gap:6px}
.ocupacao-texto{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:14px}
.ocupacao-texto b{font-variant-numeric:tabular-nums}
.medidor{height:10px;border-radius:999px;background:var(--superficie-2);overflow:hidden}
.medidor span{display:block;height:100%;border-radius:999px;background:var(--laranja)}
.medidor.acima span{background:var(--perigo)}
.nota-sim{margin:0;font-size:13px;color:var(--texto-2)}
.nota-sim.alerta{color:var(--alerta);font-weight:600}
.meta-lista{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px;font-size:13.5px;font-variant-numeric:tabular-nums}
.sim-fixo{position:sticky;top:env(safe-area-inset-top, 0px);z-index:5;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 14px;padding:10px 14px;background:var(--superficie);border:1px solid var(--borda);border-radius:var(--raio-p);box-shadow:var(--sombra-p);font-size:14px;color:var(--texto-2)}
.sim-fixo b{font-family:var(--f-titulo);font-size:19px;font-variant-numeric:tabular-nums;color:var(--ok)}
.sim-fixo b.negativo{color:var(--perigo)}

.sim-linha{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"nome qtd" "res res";gap:10px 12px;padding:12px 16px}
.sim-linha.sem-preco .sim-res{opacity:.6}
.sim-nome{grid-area:nome;display:flex;flex-direction:column;gap:2px;min-width:0}
.qtd{grid-area:qtd;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.qtd input{width:86px;min-height:42px;text-align:right;padding:6px 10px;border:1px solid var(--borda);border-radius:var(--raio-p);background:var(--fundo);font-size:16px;font-variant-numeric:tabular-nums}
.qtd small{font-size:11.5px;color:var(--texto-2)}
.sim-res{grid-area:res;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr) minmax(0,1.1fr);gap:8px}
.sim-res .n.destaque b{font-size:15px}

.custo-linha{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"nome pct" "campos campos" "res res" "acoes acoes" "comp comp";gap:8px 12px;padding:14px 16px}
.cl-nome{grid-area:nome;display:flex;flex-direction:column;gap:2px;min-width:0}
.cl-pct{grid-area:pct;justify-self:end;align-self:start}
.cl-campos{grid-area:campos;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mini{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--texto-2)}
.mini input,.comp-linha input,.comp-linha select{width:100%;min-height:40px;padding:6px 10px;border:1px solid var(--borda);border-radius:var(--raio-p);background:var(--fundo);color:var(--texto);font-size:16px;font-variant-numeric:tabular-nums}
.mini input[readonly]{background:var(--superficie-2)}
.mini input:disabled{opacity:.45}
input[aria-invalid="true"]{border-color:var(--perigo)}
.cl-res{grid-area:res;font-size:13px;color:var(--texto-2)}
.cl-res b{color:var(--texto);font-variant-numeric:tabular-nums}
.cl-res b.negativo{color:var(--perigo)}
.cl-acoes{grid-area:acoes}
.link{border:0;background:none;padding:2px 0;color:var(--acento);font-weight:600;font-size:13.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cl-comp{grid-area:comp;display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:var(--raio-p);background:var(--superficie-2)}
.comp-linha{display:grid;grid-template-columns:minmax(0,1fr) 104px 40px;grid-template-areas:"tipo valor del" "desc desc desc";gap:6px}
.comp-tipo{grid-area:tipo}
.comp-desc,.comp-insumo{grid-area:desc}
.comp-valor{grid-area:valor}
.comp-del{grid-area:del;min-height:40px;border:1px solid var(--borda);border-radius:var(--raio-p);background:var(--superficie);color:var(--perigo);font-size:18px;line-height:1;cursor:pointer}
.comp-rodape{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;font-size:14px}
.comp-rodape b{font-variant-numeric:tabular-nums}
.aplicar-em{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding-top:8px;border-top:1px solid var(--borda);font-size:14px}
.pct{display:inline-flex;padding:4px 11px;border-radius:999px;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
.pct.lucro{background:var(--ok-suave);color:var(--ok)}
.pct.abaixo{background:var(--alerta-suave);color:var(--alerta)}
.pct.prejuizo{background:var(--perigo-suave);color:var(--perigo)}
.pct.neutro{background:var(--superficie-2);color:var(--texto-2);font-weight:600}
.contagens{margin:0;font-size:14px;color:var(--texto-2)}
.contagens b{font-variant-numeric:tabular-nums;color:var(--texto)}
.ok-t{color:var(--ok)}
.alerta-t{color:var(--alerta)}
.perigo-t{color:var(--perigo)}
.barra-salvar{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom, 0px));z-index:6;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:10px 14px;background:var(--superficie);border:1px solid var(--acento);border-radius:var(--raio);box-shadow:var(--sombra);font-weight:600;font-size:14px}

.rolagem{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--borda);border-radius:var(--raio);background:var(--superficie)}
.matriz{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}
.matriz th:first-child{position:sticky;left:0;z-index:1;background:var(--superficie);box-shadow:1px 0 0 var(--borda)}
.matriz thead th:first-child{background:var(--superficie-2)}
.matriz th,.matriz td{padding:10px 12px;border-bottom:1px solid var(--borda);text-align:left;vertical-align:top}
.matriz thead th{font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--texto-2);background:var(--superficie-2);white-space:nowrap}
.matriz tbody th{font-weight:600;min-width:150px;max-width:190px}
.matriz tbody tr:last-child th,.matriz tbody tr:last-child td{border-bottom:0}
.matriz td{font-variant-numeric:tabular-nums;white-space:nowrap}
.matriz td.melhor{background:var(--ok-suave)}
.matriz small{display:block;font-size:11.5px;font-weight:600}
.matriz .sub{display:block;font-size:11.5px;font-weight:500;color:var(--texto-2)}
.tabela-simples{width:100%;border-collapse:collapse;font-size:13.5px}
.tabela-simples th,.tabela-simples td{padding:7px 8px;border-bottom:1px solid var(--borda);text-align:left;vertical-align:top}
.tabela-simples th{font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--texto-2);white-space:nowrap}
.tabela-simples td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.acao-tag{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap}
.acao-tag.atualizar{background:var(--alerta-suave);color:var(--alerta)}
.acao-tag.incluir,.acao-tag.novo{background:var(--acento-suave);color:var(--acento)}
.acao-tag.igual{background:var(--superficie-2);color:var(--texto-2)}
.acao-tag.erro{background:var(--perigo-suave);color:var(--perigo)}

.hist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.hist>li{padding:10px 0;border-top:1px solid var(--borda);display:flex;flex-direction:column;gap:6px;font-size:13.5px}
.hist>li:first-child{border-top:0}
.hist-cab{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}
.hist-data{color:var(--texto-2);font-variant-numeric:tabular-nums;min-width:140px}
.hist-det summary{cursor:pointer;color:var(--texto-2);font-size:13px}
.hist-det ul{margin:6px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px}

.botao{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 15px;border-radius:10px;border:1px solid var(--borda);background:var(--superficie);color:var(--texto);font-weight:600;font-size:14px;cursor:pointer}
.botao:hover{background:var(--superficie-2)}
.botao.primario{background:var(--acento);border-color:var(--acento);color:var(--acento-texto)}
.botao.primario:hover{background:var(--acento);filter:brightness(1.07)}
.botao.perigo{background:var(--perigo-suave);border-color:transparent;color:var(--perigo)}
.botao:disabled{opacity:.55;cursor:progress}
.fab{position:fixed;right:calc(16px + env(safe-area-inset-right, 0px));bottom:calc(18px + env(safe-area-inset-bottom, 0px));z-index:30;min-height:52px;padding:0 20px 0 16px;border-radius:999px;border:0;background:var(--acento);color:var(--acento-texto);font-weight:700;font-size:15px;box-shadow:var(--sombra);cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.fab svg{width:20px;height:20px}

.folha-fundo{position:fixed;inset:0;z-index:40;background:var(--veu);display:flex;align-items:flex-end;justify-content:center}
.folha{width:100%;max-width:600px;max-height:calc(100% - 20px - env(safe-area-inset-top, 0px));overflow:auto;background:var(--superficie);border-radius:20px 20px 0 0;box-shadow:var(--sombra);padding-top:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom, 0px));padding-left:max(18px, env(safe-area-inset-left, 0px));padding-right:max(18px, env(safe-area-inset-right, 0px));display:flex;flex-direction:column;gap:14px}
.folha.larga{max-width:820px}
.folha h2{margin:0;font-family:var(--f-titulo);font-size:22px;font-weight:700}
.folha .sub{margin:-8px 0 0;font-size:14px;color:var(--texto-2)}
.folha .nota{margin:0;font-size:13px;padding:10px 12px;border-radius:var(--raio-p);background:var(--alerta-suave)}
.campo{display:flex;flex-direction:column;gap:5px;min-width:0;border:0;padding:0;margin:0}
.campo label,.campo legend,.rotulo-campo{font-weight:600;font-size:14px;padding:0}
.opcional{font-weight:500;color:var(--texto-2);font-size:12.5px}
.campo input:not([type="checkbox"]):not([type="radio"]),.campo select,.campo textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--borda);border-radius:var(--raio-p);background:var(--fundo);font-size:16px}
.campo textarea{min-height:64px;resize:vertical}
.campo textarea.colar{min-height:150px;font-family:ui-monospace,Consolas,monospace;font-size:14px}
.campo small{font-size:12.5px;color:var(--texto-2);line-height:1.35}
.campos-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.linhas-edit{display:flex;flex-direction:column;gap:8px}
.linha-edit{display:grid;grid-template-columns:minmax(0,1fr) 84px 84px 40px;gap:6px;align-items:center}
.linha-edit.dupla{grid-template-columns:minmax(0,1fr) 96px 40px}
.linha-edit .comp-del{grid-area:auto}
.linha-edit.cab{font-size:12px;font-weight:600;color:var(--texto-2)}
.linha-edit input{width:100%;min-height:40px;padding:6px 10px;border:1px solid var(--borda);border-radius:var(--raio-p);background:var(--fundo);font-size:16px}
.uso-linha,.pac-serv{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:8px;align-items:center}
.lista-marcar{display:flex;flex-direction:column;max-height:300px;overflow:auto;padding:0 12px;border:1px solid var(--borda);border-radius:var(--raio-p);background:var(--fundo)}
.lista-marcar .check{align-items:flex-start;padding:9px 0}
.lista-marcar .check + .check{border-top:1px solid var(--borda)}
.lista-marcar .check input{flex:none;margin-top:2px}
.lista-marcar .check>span{display:flex;flex-direction:column;min-width:0}
.nome-curto{font-weight:600;overflow-wrap:anywhere}
.radios{display:flex;flex-wrap:wrap;gap:8px 16px}
.previa{display:flex;flex-wrap:wrap;gap:6px 18px;padding:12px 14px;border-radius:var(--raio-p);background:var(--acento-suave);font-size:14px}
.previa b{font-variant-numeric:tabular-nums}
.previa.bloco{display:block}
.erro{margin:0;color:var(--perigo);font-weight:600;font-size:14px}
.folha-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.folha-acoes .espaco{flex:1}
.texto-copia{width:100%;min-height:150px;padding:10px;border:1px solid var(--borda);border-radius:var(--raio-p);background:var(--fundo);color:var(--texto);font:13px/1.45 ui-monospace,Consolas,monospace;resize:vertical}

.toast{position:fixed;left:50%;bottom:calc(86px + env(safe-area-inset-bottom, 0px));transform:translateX(-50%);z-index:50;width:max-content;max-width:min(420px, calc(100% - 32px));padding:11px 16px;border-radius:12px;background:var(--texto);color:var(--fundo);font-size:14px;font-weight:500;box-shadow:var(--sombra)}

@media (max-width:519px){
  .resumo{grid-template-columns:repeat(2,minmax(0,1fr))}
  .linha-edit{grid-template-columns:minmax(0,1fr) 70px 70px 40px}
  .abas{display:flex;flex-wrap:nowrap;width:100%;gap:2px;padding:3px;overflow-x:auto;scrollbar-width:none}
  .abas::-webkit-scrollbar{display:none}
  .aba{flex:1 0 auto;padding:0 5px;font-size:13px;white-space:nowrap}
}
@media (max-width:350px){
  .aba{padding:0 3px;font-size:12px}
}
@media (min-width:760px){
  .cab-tabela,.cab-sim{gap:12px;padding:10px 16px;font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--texto-2);border-bottom:1px solid var(--borda)}
  .cab-sim{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(0,3fr) 96px}
  .cab-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .direita{text-align:right}
  .lp-valor .n small{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}
  .painel-custo{margin:0 16px 14px;max-width:640px}
  .rap-linha{grid-template-columns:minmax(0,1fr) 130px 40px}
  .linha-botao{grid-template-columns:minmax(0,2.3fr) minmax(0,3fr) minmax(0,1.5fr);grid-template-areas:"nome nums status";align-items:center}
  .c-status{align-self:center}
  .sim-linha{grid-template-columns:minmax(0,2.3fr) minmax(0,3fr) 96px;grid-template-areas:"nome res qtd";align-items:center}
  .custo-linha{grid-template-columns:minmax(0,2fr) minmax(0,3fr) minmax(0,1.2fr);grid-template-areas:"nome campos pct" "res res acoes" "comp comp comp";align-items:center}
  .cl-pct{align-self:center}
  .cl-acoes{justify-self:end}
  .comp-linha{grid-template-columns:150px minmax(0,1fr) 110px 40px;grid-template-areas:"tipo desc valor del"}
  .n small{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .folha-fundo{align-items:center;padding:24px}
  .folha{border-radius:18px;max-height:100%}
}
@media (min-width:900px){
  .cab-tabela{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,2.7fr) minmax(0,1fr) minmax(0,1.6fr)}
  .cab-custos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .lp{grid-template-columns:minmax(0,1.7fr) minmax(0,2.7fr) minmax(0,1fr) minmax(0,1.6fr);grid-template-areas:"nome custos valor res";align-items:center;padding:10px 16px}
  .lp-valor .n small,.cc-escolha span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .cc{flex-direction:row;align-items:center;gap:8px;padding:2px 10px}
  .cc-escolha{min-height:36px}
  .cc-valor b{font-size:15px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Login, primeiro acesso e troca de senha (páginas do servidor, sem JavaScript). */
.entrada{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.entrada-cartao{width:100%;max-width:420px;display:flex;flex-direction:column;gap:12px;padding:22px 20px;background:var(--superficie);border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra)}
.entrada-cartao h1{font-size:clamp(24px, 6vw, 30px)}
.entrada-form{display:flex;flex-direction:column;gap:12px}
.entrada-form .botao{min-height:46px;font-size:15.5px}
.entrada-form a,.nota-sim a{color:var(--acento);font-weight:600}
.entrada-sair{display:flex;justify-content:flex-end}

/* Quem está usando, trocar senha e sair, no topo do app. */
.usuario-linha{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.usuario-nome{font-size:13.5px;font-weight:600;color:var(--texto-2)}
.sair-form{display:inline;margin:0}
a.botao{text-decoration:none}

/* Senha provisória recém-gerada: aparece uma vez, para o responsável passar à pessoa. */
.senha-nova p{margin:0 0 8px}
.senha-codigo{font:700 22px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.06em;color:var(--texto);user-select:all}
