:root{--verde:#365F51;--fundo:#FBFAF7;--creme:#F4F1EC;--texto:#1F2B27;--suave:#5F6B66;--borda:#DCE1DD;--erro:#A63D2F}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--fundo);color:var(--texto)}
.topo{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;border-bottom:1px solid var(--borda);background:#fff}
.marca{font-weight:700;color:var(--verde)}.topo .marca{display:flex;align-items:center;gap:12px}.topo .marca img{height:44px;max-width:160px;object-fit:contain}
nav a,nav button{margin-left:16px;color:var(--verde);background:none;border:0;font:inherit;cursor:pointer;text-decoration:none}
main{max-width:1080px;margin:32px auto;padding:0 16px}
.cartao{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:28px;max-width:420px;margin:0 auto}
.largo{max-width:none}
h1{font-size:24px;margin:0 0 16px}
label{display:block;margin:14px 0 6px;font-size:14px;color:var(--suave)}
input,select{width:100%;padding:10px 12px;border:1px solid var(--borda);border-radius:8px;font:inherit}
input[type=checkbox]{width:auto;margin-right:8px}
button.principal{margin-top:20px;width:100%;padding:12px;border:0;border-radius:8px;background:var(--verde);color:#fff;font:inherit;font-weight:600;cursor:pointer}
button.pequeno{padding:6px 10px;border:1px solid var(--borda);border-radius:6px;background:#fff;cursor:pointer;margin:2px}
.erro{color:var(--erro);margin-top:12px;min-height:1em}
.nota{color:var(--suave);font-size:14px}
.qr{display:block;width:200px;height:200px;margin:16px auto}
code{background:var(--creme);padding:2px 6px;border-radius:4px;word-break:break-all}
table{width:100%;border-collapse:collapse;margin-top:16px}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--borda);font-size:14px}
.linha{display:flex;gap:12px;flex-wrap:wrap}.linha>*{flex:1;min-width:160px}
@media (max-width:600px){main{margin:16px auto}.cartao{padding:20px}}
h2{font-size:17px;margin:24px 0 4px}
.codigos{columns:2;list-style:none;padding:0;margin:16px 0}.codigos li{margin:6px 0}
button:not(.principal):not(.pequeno),a.botao{display:inline-block;margin:8px 8px 0 0;padding:8px 12px;border:1px solid var(--borda);border-radius:8px;background:#fff;color:var(--texto);font:inherit;font-size:14px;cursor:pointer;text-decoration:none}
nav button:not(.principal):not(.pequeno){margin:0 0 0 16px;padding:0;border:0;background:none;color:var(--verde);font-size:inherit}
.tabela{overflow-x:auto;margin-top:16px}.tabela table{margin-top:0}
@media (max-width:600px){.topo{flex-wrap:wrap;gap:8px;padding:12px 16px}nav{display:flex;flex-wrap:wrap;gap:4px 14px}nav a,nav button:not(.principal):not(.pequeno){margin:0}}
.destaque,a.botao.destaque,button.destaque:not(.principal):not(.pequeno){background:var(--verde);color:#fff;border-color:var(--verde);font-weight:600}
.dados{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:8px 0;font-size:14px}.dados dt{color:var(--suave)}.dados dd{margin:0}
.avisos{font-size:14px;color:var(--suave);padding-left:18px}.andamento{color:var(--verde);font-weight:600}
td a{color:var(--verde)}
:root{--verde-claro:#E6EFEA;--atencao:#9A6B12;--atencao-fundo:#FBF3E2;--erro-fundo:#F8E7E4}
h3{font-size:14px;margin:22px 0 8px;color:var(--suave);text-transform:uppercase;letter-spacing:.04em}
.cabeca{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:8px}.cabeca h1{margin:0 0 4px}.cabeca p{margin:0 0 4px}
.etapas{display:flex;list-style:none;padding:0;margin:16px 0 20px;border:1px solid var(--borda);border-radius:10px;overflow-x:auto;background:#fff}
.etapas li{flex:1 0 auto;border-right:1px solid var(--borda)}.etapas li:last-child{border-right:0}
button.etapa:not(.principal):not(.pequeno){display:flex;gap:10px;align-items:center;width:100%;margin:0;padding:10px 14px;border:0;border-radius:0;background:none;text-align:left;min-width:150px}
.etapa .n{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--borda);display:grid;place-items:center;font-size:12px;font-weight:600;flex:none}
.etapa b{display:block;font-size:14px}.etapa small{color:var(--suave);font-size:12px}
.etapa.atual{background:var(--verde-claro)}.etapa.atual .n{background:var(--verde);border-color:var(--verde);color:#fff}
.etapa.feita .n{border-color:var(--verde);color:var(--verde)}.etapa[disabled]{opacity:.5;cursor:default}
.soltar{display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 16px;margin:0 0 8px;border:2px dashed var(--borda);border-radius:12px;background:var(--creme);text-align:center;cursor:pointer}
.soltar.sobre{border-color:var(--verde);background:var(--verde-claro)}.soltar .grande{font-size:18px;font-weight:600;color:var(--texto)}
.soltar .botao{pointer-events:none}.oculto{position:absolute;width:1px;height:1px;opacity:0}
.painel{border:1px solid var(--borda);border-radius:10px;padding:16px;margin-top:8px}
.painel-c{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.painel-c h2{margin:0}
.barra{height:6px;border-radius:3px;background:var(--creme);overflow:hidden;margin-bottom:12px}.barra i{display:block;height:100%;width:0;background:var(--verde)}
.barra.correndo i{width:35%;animation:correr 1.2s ease-in-out infinite}@keyframes correr{0%{margin-left:-35%}100%{margin-left:100%}}
.checklist{list-style:none;padding:0;margin:0 0 12px;font-size:14px}.checklist li{display:flex;gap:10px;padding:5px 0}
.checklist .marca{width:18px;text-align:center;font-weight:700;color:var(--verde)}.checklist .espera{color:var(--suave)}
.checklist .atencao .marca{color:var(--atencao)}
.selo{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--creme);color:var(--suave);white-space:nowrap}
.selo.ok{background:var(--verde-claro);color:var(--verde)}.selo.atencao{background:var(--atencao-fundo);color:var(--atencao)}.selo.ruim{background:var(--erro-fundo);color:var(--erro)}
.painel:has(.abas){padding:0}.abas{display:flex;overflow-x:auto;border-bottom:1px solid var(--borda)}
.abas button:not(.principal):not(.pequeno){margin:0;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;padding:12px 16px;white-space:nowrap}
.abas button[aria-selected=true]{border-bottom-color:var(--verde);font-weight:600}
.painel-corpo{padding:16px}.rodape{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--borda);font-size:14px}
.rodape button:not(.link){margin-top:0}
button.link:not(.principal):not(.pequeno){margin:0;padding:0;border:0;background:none;color:var(--verde);text-decoration:underline;font-size:14px}
.campos{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px 16px}
.campo{margin:8px 0 0}.campo .rotulo{display:flex;justify-content:space-between;gap:6px;margin-bottom:6px}
.origem{font-size:11px;color:var(--suave)}.origem.travado{color:var(--atencao)}
input.falta{border-color:var(--erro);background:var(--erro-fundo)}input[readonly]{background:var(--creme);color:var(--suave)}
.aviso{list-style:none;padding:10px 12px;margin:10px 0;border-radius:8px;background:var(--creme);font-size:14px}
.aviso.atencao{background:var(--atencao-fundo)}.aviso.ruim{background:var(--erro-fundo);color:var(--erro)}ul.avisos{padding:0}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.kpi{border:1px solid var(--borda);border-radius:8px;padding:10px}.kpi b{display:block;font-size:17px}.kpi span{font-size:12.5px;color:var(--suave)}
.cor{display:inline-flex;align-items:center;gap:8px}.amostra{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid rgba(0,0,0,.25);flex:none}.amostra.grande{width:24px;height:24px}
th.num,td.num{text-align:right}td.pequeno{font-size:12.5px;color:var(--suave)}
td select,td input.celula{padding:6px 8px;min-width:150px}input.celula.curta{min-width:0;width:80px}
td input[type=color]{width:44px;height:32px;padding:2px}
tr.fora td{color:var(--suave)}tr.fora input.celula{text-decoration:line-through}
.marcar{display:flex;align-items:center;gap:4px;margin:14px 0 4px;color:var(--texto)}
.arquivo{display:flex;align-items:center;gap:12px;border:1px solid var(--borda);border-radius:8px;padding:12px}
.arquivo>div{flex:1;min-width:0}.arquivo b{display:block;word-break:break-all}.arquivo button{margin:0}
.ext{font-size:11px;font-weight:700;padding:6px 8px;border-radius:6px;background:var(--verde-claro);color:var(--verde)}
button[disabled]{opacity:.5;cursor:default}
td.pequeno{min-width:190px}
.soltar .botao{padding:8px 14px;border-radius:8px;margin-top:4px}
td code{word-break:normal;white-space:nowrap}
.duas{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:16px;align-items:start}
@media (max-width:800px){.duas{grid-template-columns:1fr}}
img.folha{display:block;width:100%;border:1px solid var(--borda);border-radius:6px;margin-bottom:12px}
.opcoes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
button.opcao:not(.principal):not(.pequeno){display:flex;flex-direction:column;gap:6px;margin:0;padding:6px;border:2px solid var(--borda);border-radius:8px;background:#fff;text-align:left;font-size:12.5px}
button.opcao:not(.principal):not(.pequeno){position:relative}button.opcao[aria-pressed=true]{border:3px solid var(--verde);background:#EEF3F0;box-shadow:0 0 0 3px rgba(54,95,81,.2)}
.opcao .escolhida{position:absolute;top:10px;left:10px;background:var(--verde);color:#fff;font-weight:600;font-size:12px;padding:3px 9px;border-radius:12px}.opcao img{width:100%;border-radius:4px}
.rotulo-solto{display:block;margin:14px 0 6px;font-size:14px;color:var(--suave)}
.miniaturas{display:flex;flex-wrap:wrap;gap:8px}
button.miniatura:not(.principal):not(.pequeno){width:92px;height:64px;margin:0;padding:0;border:2px solid var(--borda);border-radius:6px;overflow:hidden;background:var(--creme)}
button.miniatura[aria-pressed=true]{border-color:var(--verde)}.miniatura img{width:100%;height:100%;object-fit:cover}
.miniatura.sem span{display:block;padding:4px;font-size:11px;color:var(--suave);line-height:1.2}
label.botao.pequeno-envio{display:inline-block;margin:10px 0 4px;padding:6px 10px;border:1px solid var(--borda);border-radius:8px;font-size:13px;color:var(--texto);cursor:pointer}
.segmentos{display:inline-flex;border:1px solid var(--borda);border-radius:8px;overflow:hidden}
.segmentos button:not(.principal):not(.pequeno){margin:0;border:0;border-radius:0;border-right:1px solid var(--borda);padding:6px 12px;font-size:13px}
.segmentos button:last-child{border-right:0}.segmentos button[aria-pressed=true]{background:var(--verde-claro);color:var(--verde);font-weight:600}
.rodape.solto{border:1px solid var(--borda);border-radius:10px;margin-top:12px}
#envioImagem{display:block;font-size:12.5px}
.arquivos{display:flex;flex-direction:column;gap:8px}
.chat{margin-top:12px}.chat h2{margin:0}
.conversa{list-style:none;padding:0;margin:12px 0;max-height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}
.msg{max-width:85%;padding:8px 12px;border-radius:10px;font-size:14px;white-space:pre-wrap}.msg small{display:block;margin-top:4px;font-size:11.5px;color:var(--suave)}
.msg.pessoa{align-self:flex-end;background:var(--verde-claro)}.msg.ia{align-self:flex-start;background:var(--creme)}
.exemplos{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0}
.enviar-chat{display:flex;gap:8px;align-items:flex-end;margin-top:8px}.enviar-chat button{margin:0}
textarea{width:100%;padding:10px 12px;border:1px solid var(--borda);border-radius:8px;font:inherit;resize:vertical}
/* editor de folhas */
.editor{display:grid;grid-template-columns:170px minmax(0,1fr) minmax(280px,340px);gap:16px;align-items:start;margin-top:8px}
@media (max-width:1100px){.editor{grid-template-columns:150px minmax(0,1fr)}.editor .ajustes{grid-column:1 / -1}}
.lista-folhas{display:flex;flex-direction:column;gap:8px;max-height:78vh;overflow-y:auto;padding-right:4px}
button.ficha-folha:not(.principal):not(.pequeno){display:flex;flex-direction:column;gap:4px;margin:0;padding:4px;border:2px solid var(--borda);border-radius:6px;background:#fff;text-align:left}
button.ficha-folha[aria-pressed=true]{border-color:var(--verde)}button.ficha-folha.mudou{box-shadow:inset 0 0 0 2px var(--verde-claro)}
.ficha-folha img{width:100%;border-radius:3px;display:block}.ficha-folha .legenda{font-size:12px;line-height:1.25;color:var(--suave)}
.ficha-folha .legenda b{color:var(--texto)}.sem-previa{display:flex;align-items:center;justify-content:center;aspect-ratio:1.414;background:var(--creme);font-size:11px;color:var(--suave);border-radius:3px}
.folha-atual .ferramentas{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;font-size:14px}
.folha-atual .ferramentas .segmentos{margin-right:6px;vertical-align:middle}
.folha.vazia{display:flex;align-items:center;justify-content:center;aspect-ratio:1.414;background:var(--creme);border:1px dashed var(--borda);border-radius:6px;color:var(--suave);padding:16px;text-align:center;margin-bottom:12px}
.linha-form{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.linha-form label{flex:1;min-width:200px;margin:0}.linha-form button{margin:0 0 2px}
.ajustes{margin-top:0}.ajustes .chat{margin-top:12px;border:0;padding:0}.abas-ajuste{display:flex;width:100%}.abas-ajuste button:not(.principal):not(.pequeno){flex:1}
.form-estilo{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:12px}.form-estilo .rotulo-solto{margin-top:8px}
.form-estilo .segmentos{flex-wrap:wrap}
.cores-uso{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;width:100%}.cores-uso label{display:flex;align-items:center;gap:6px;margin:0;font-size:13px}
.cores-uso input[type=color]{width:32px;height:24px;padding:0;border:1px solid var(--borda);border-radius:4px}
.versoes{list-style:none;margin:12px 0 0;padding:0;max-height:60vh;overflow-y:auto}
.versoes li{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--borda);font-size:13.5px}
.versoes li.atual{font-weight:600}.versoes .v{font-family:monospace;color:var(--suave)}.versoes small{display:block;color:var(--suave);font-weight:400}
.rotulo-solto{display:block;font-size:14px;color:var(--suave)}
@media (max-width:700px){.editor{grid-template-columns:1fr}.lista-folhas{flex-direction:row;overflow-x:auto;max-height:none}button.ficha-folha:not(.principal):not(.pequeno){flex:0 0 150px}}
.duas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.simulacao{margin-top:16px}.simulacao h2{margin-top:0}.simulacao .campos{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.valor{display:flex;align-items:center;gap:6px}.valor span{color:var(--suave);font-size:13px}.valor input.celula.curta{width:112px}
tfoot th,tfoot td{border-bottom:0}tr.detalhe>td{background:var(--creme)}tr.detalhe .tabela{margin-top:0}
@media (max-width:900px){.duas{grid-template-columns:1fr}}
/* Escritório e Biblioteca: menu lateral, seções, cartões de opção, galerias e folha padrão */
nav a[aria-current=page]{font-weight:700;text-decoration:underline;text-underline-offset:6px}
.lado{display:grid;grid-template-columns:200px 1fr;gap:24px;margin-top:16px;align-items:start}
.lado-menu{display:flex;flex-direction:column;gap:2px;position:sticky;top:12px}
.lado-menu a{margin:0;padding:9px 12px;border-radius:8px;color:var(--texto);text-decoration:none;font-size:15px}
.lado-menu a:hover{background:var(--creme)}
.lado-menu a[aria-current=page]{background:var(--verde-claro);color:var(--verde);font-weight:600;text-decoration:none}
.lado-corpo{min-width:0}
.lado-corpo .cartao{border:0;padding:0;border-radius:0}
.lado-corpo .cartao h1{font-size:19px}
@media (max-width:760px){.lado{grid-template-columns:1fr;gap:12px}
.lado-menu{flex-direction:row;overflow-x:auto;position:static;border-bottom:1px solid var(--borda);padding-bottom:6px}
.lado-menu a{white-space:nowrap}}
.sec{border-top:1px solid var(--borda);padding:18px 0 6px}
form>.sec:first-child,.lado-corpo>.sec:first-child,form>.aviso+.sec{border-top:0;padding-top:4px}
.sec-c{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.sec-c h2{margin:0}
.sec-c .botao{margin:0}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 14px}
.ops{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:10px 0}
.op{display:flex;flex-direction:column;gap:4px;margin:0;padding:12px 14px;border:1.5px solid var(--borda);border-radius:10px;background:#fff;cursor:pointer;color:var(--texto)}
.op:has(input:checked){border-color:var(--verde);background:var(--verde-claro);box-shadow:0 0 0 2px rgba(54,95,81,.15)}
.op.desligada{opacity:.55;cursor:not-allowed}
.op-t{display:flex;align-items:center;gap:8px}
.op-t input{width:auto;margin:0;accent-color:var(--verde)}
.op .nota{font-size:13px}
.ops.mini{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.ops.mini .rotulo-solto{grid-column:1/-1;margin:0}
.oculta{display:none}
.esquema{width:100%;height:auto;border:1px solid var(--borda);border-radius:4px;background:#fff}
.marcas{display:flex;flex-wrap:wrap;gap:6px 18px;margin:4px 0 10px}
.marcas label{display:flex;align-items:center;margin:0;color:var(--texto)}
.passo{display:flex;align-items:center;gap:10px;font-size:19px;margin:28px 0 4px;padding-top:16px;border-top:2px solid var(--borda)}
.passo span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--verde);color:#fff;font-size:14px}
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin:12px 0}
.ladrilho{border:1px solid var(--borda);border-radius:10px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.ladrilho .arte{height:120px;display:grid;place-items:center;background:var(--creme);border-bottom:1px solid var(--borda)}
.ladrilho .arte img{max-width:100%;max-height:100%;object-fit:contain}
.ladrilho .arte.textura img{width:100%;height:100%;object-fit:cover}
.ladrilho .arte svg{width:80%;height:auto}
.ladrilho .arte.vazia,.ladrilho.novo .arte{padding:12px;text-align:center;color:var(--suave);font-size:13px}
.ladrilho.novo{border-style:dashed}
.galeria.capas .ladrilho .arte{height:auto;padding:12px}
.galeria.capas .ladrilho .arte svg{width:100%}
.ladrilho .meta{display:flex;flex-direction:column;gap:6px;padding:10px 12px;font-size:14px}
.ladrilho .meta .botao,.ladrilho .meta button{margin:0;align-self:flex-start}
.ladrilho .meta input:not([type=radio]),.ladrilho .meta select{padding:6px 8px}
.pequeno-r{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;color:var(--texto)}
.pequeno-r input[type=radio]{width:auto;margin:0;accent-color:var(--verde)}
.pequeno-r select{flex:1}
.linha.curta>*{max-width:240px}
.folha-previa{position:relative;aspect-ratio:420/297;border:1px solid var(--borda);background:#fff;margin:12px 0;overflow:hidden}
.folha-previa img{position:absolute;inset:0;width:100%;height:100%}
.folha-previa .moldura{position:absolute;inset:2%;border:1.5px solid #888}
.marca-folha{position:absolute;display:grid;place-items:center;border:1.5px dashed var(--verde);background:rgba(54,95,81,.07);color:var(--verde);font-size:12px;font-weight:700;letter-spacing:.05em}
.ponto-folha{position:absolute;transform:translate(-4px,-50%);padding:1px 6px;border-radius:4px;background:var(--verde);color:#fff;font-size:10px;font-weight:700;white-space:nowrap}
.ponto-folha::before{content:"";position:absolute;left:-4px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--erro)}
.ponto-folha.norte{transform:translate(calc(-100% + 4px),-50%)}
.ponto-folha.norte::before{left:auto;right:-4px}
label.botao:not(.pequeno-envio){display:inline-block;margin:0;padding:8px 12px;border:1px solid var(--borda);border-radius:8px;background:#fff;color:var(--texto);font-size:14px;cursor:pointer;white-space:nowrap}
label.botao:not(.pequeno-envio):hover{border-color:var(--verde)}
.ladrilho .arte{position:relative;overflow:hidden}
.ladrilho .arte.textura img{position:absolute;inset:0}
input[type=range]{accent-color:var(--verde);padding:0}
.mini-textura{width:64px;height:30px;object-fit:cover;border-radius:4px;border:1px solid var(--borda);flex:none}
label.botao.pequeno{display:inline-block;margin:0;padding:6px 10px;border:1px solid var(--borda);border-radius:8px;background:#fff;font-size:13px;color:var(--texto);cursor:pointer}
[data-so-cor]{white-space:nowrap}
