@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{
  --verde:#007970;--verde-esc:#005e57;--verde-claro:#e3f2f0;--amarelo:#ffb902;--amarelo-claro:#fff5d6;
  --bg:#f5f7f7;--card:#fff;--text:#1c2b2a;--muted:#5f716f;--line:#dbe4e3;--erro:#c62828;--ok:#0a7d4b;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 "Segoe UI",system-ui,Arial,sans-serif}
.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
aside{background:var(--verde);border-right:8px solid var(--amarelo);color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.marca{background:#fff;display:flex;align-items:center;gap:10px;padding:16px 14px}
.marca img{height:46px}
.marca b{color:var(--verde);font-size:22px;font-weight:800;letter-spacing:-.3px;line-height:1}
.marca span{display:block;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;margin-top:4px}
aside nav{padding:14px 0;flex:1}
aside nav button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-left:4px solid transparent;background:none;color:#d9efec;font:inherit;font-weight:600;text-align:left;padding:11px 16px;cursor:pointer}
aside nav button:hover{background:var(--verde-esc)}
aside nav button.on{background:var(--verde-esc);border-left-color:var(--amarelo);color:#fff}
aside nav a.nv2{display:block;color:#d9efec;font-weight:600;text-decoration:none;padding:11px 16px 11px 28px;border-left:4px solid transparent}
aside nav a.nv2:hover{background:var(--verde-esc)}
.topo{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--card);border-bottom:8px solid var(--amarelo);box-shadow:inset 0 -4px 0 var(--verde);padding:0 18px 4px}
main.solo{max-width:1320px;margin:0 auto;padding:20px 18px 60px}
.solta{display:block;border:2px dashed #9fc9c5;border-radius:10px;padding:18px;text-align:center;cursor:pointer;background:var(--verde-claro);margin:0}
.solta b{display:block;color:var(--verde-esc);font-size:15px}
.solta span{font-size:12px;font-weight:400;color:var(--muted)}
.solta:hover,.solta.sobre{background:#d2ebe8;border-color:var(--verde)}
.subtabs .badge{margin-left:4px}
.modos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:16px}
.modos button{border:1px solid var(--line);border-bottom:4px solid var(--line);background:var(--card);border-radius:10px;padding:12px 14px;text-align:left;font:inherit;font-weight:700;font-size:15px;color:var(--muted);cursor:pointer}
.modos button small{display:block;font-weight:400;font-size:12px;margin-top:2px}
.modos button.on{border-color:var(--verde);border-bottom-color:var(--amarelo);color:var(--verde-esc);background:var(--verde-claro)}
.busca-prog{margin-top:12px}
.busca-prog .prog-barra{height:12px;display:block}
.busca-prog .prog-barra>span{display:block;height:100%;width:0;border-radius:6px;transition:width .4s}
.busca-prog small{display:block;margin-top:4px;color:var(--muted);font-size:12.5px}
.aq-lista{list-style:none;margin:0;padding:0}
.aq-lista li{padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}
.progresso{margin:6px 0 14px}
.prog-topo{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;margin-bottom:6px}
.prog-topo b{font-size:16px;color:var(--text)}
.prog-barra{display:flex;gap:2px;height:22px;border-radius:6px;overflow:hidden;background:#eef1f1}
.prog-barra>span{min-width:3px;transition:flex-grow .3s}
.prog-legenda{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--text);margin-top:6px}
.prog-legenda i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
#sv-tabela td{white-space:normal;vertical-align:middle}
#sv-tabela tr.sel td{background:var(--amarelo-claro);color:inherit}
#av-tabela td{white-space:normal;vertical-align:middle}
#av-tabela td.num,#av-tabela th{white-space:nowrap}
#av-tabela input{min-width:150px;padding:5px 8px}
#av-tabela tr.sel td{background:var(--amarelo-claro);color:inherit}
.cesta-topo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.cesta{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-bottom:14px}
.cesta>div{border:1px solid var(--line);border-top:4px solid var(--amarelo);border-radius:8px;padding:12px;font-size:13px;position:relative;background:var(--card)}
.cesta>div.resumo{border-top-color:var(--verde);background:var(--verde-claro)}
.cesta b.vu{display:block;font-size:22px;color:var(--verde-esc)}
.cesta small{display:block;color:var(--muted)}
.cesta .tira{position:absolute;top:6px;right:8px;border:0;background:none;font-size:18px;cursor:pointer;color:var(--muted)}
.ata{border:1px solid var(--line);border-left:5px solid var(--verde);border-radius:8px;padding:12px 14px;margin-bottom:12px;background:var(--card)}
.ata-h{font-size:14px;position:relative}
.ata-h[data-abrir]{cursor:pointer;border-radius:6px;padding:4px 300px 4px 4px;margin:-4px}
@media (max-width:820px){.ata-h[data-abrir]{padding-right:4px}.ata-acoes{position:static;margin-top:6px}}
.ata-h[data-abrir]:hover{background:var(--verde-claro)}
.ata-acoes{position:absolute;top:6px;right:8px;display:flex;gap:6px;align-items:center}
.ata-h .abrir{font-size:12px;font-weight:700;color:var(--verde);border:1px solid var(--verde);border-radius:6px;padding:3px 8px;background:var(--card);white-space:nowrap}
#dlg-ata{width:min(1100px,96vw);height:92vh;max-height:92vh}
#dlg-ata[open]{display:flex;flex-direction:column}
.va-topo{display:flex;align-items:center;gap:10px}
.va-corpo{flex:1;display:flex;flex-direction:column;padding:10px 14px 14px;min-height:0}
#va-pdf{flex:1;width:100%;border:1px solid var(--line);border-radius:6px}
.ata-n{display:inline-block;min-width:24px;text-align:center;background:var(--verde);color:#fff;border-radius:12px;font-size:12px;font-weight:700;padding:1px 6px;margin-right:4px}
.ata-h small,.ata-f small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.ata-f{font-size:13px;background:var(--bg);border-radius:6px;padding:8px 10px;margin:8px 0}
.contato{display:block;color:var(--verde-esc);font-size:12.5px;margin-top:2px}
.ata table td{border-bottom:1px dashed var(--line)}
.faixa{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px;margin-top:4px}
.faixa label{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;color:var(--text);font-weight:400}
.faixa input{width:120px}
.achar{display:flex;gap:6px;align-items:center;margin:4px 0 12px;position:sticky;top:0;z-index:4;background:var(--card);padding:8px 0;border-bottom:1px solid var(--line)}
.achar input{flex:1;border:2px solid var(--amarelo)}
mark{background:#ffe27a;color:inherit;border-radius:3px;padding:0 1px}
tr.foco td{background:var(--amarelo-claro);box-shadow:inset 0 2px 0 var(--amarelo),inset 0 -2px 0 var(--amarelo)}
.estrela{border:0;background:none;font-size:17px;cursor:pointer;color:var(--muted);padding:0 2px}
.estrela.on{color:#e0a100}
body.entrada{display:grid;place-items:center;min-height:100vh;background:linear-gradient(90deg,var(--verde) 0 56px,var(--amarelo) 56px 110px,var(--bg) 110px)}
.caixa-login{width:min(380px,92vw);padding:22px}
.caixa-login .marca{padding:0 0 14px}
.caixa-login input[type=text]{width:100%}
button.link{display:block;border:0;background:none;color:var(--verde);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;padding:6px 0 0}
.caixa-login label{margin-top:10px}
.caixa-login .btn{width:100%;margin:16px 0 8px}
.caixa-login input[type=password]{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:7px;font:inherit}
input[type=password]{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--text);font:inherit}
aside footer.quem{font-size:12px;color:#d9efec;line-height:1.7}
aside footer.quem b{display:block;font-size:13px;color:#fff}
aside footer.quem button{border:0;background:none;color:#ffd866;font:inherit;cursor:pointer;padding:0;text-decoration:underline}
.quem-topo{display:flex;align-items:center;gap:8px;font-size:13px}
body.so-leitura :is(#m-go,#m-rem,#m-menu,#k-novo,#k-exp,#k-imp,[data-ed],[data-del],[data-mon],[data-fav],#g-ver,#g-des,#g-imp,#g-atu,#g-emp,#g-obs-ok,#al-lidos,#al-limpar,.chip button,[data-chk],#m-todos){display:none}
body.so-leitura :is(#g-obs,#g-pal input){pointer-events:none}
.q-topo{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.q-colunas{display:flex;gap:10px;align-items:flex-start;overflow-x:auto;padding-bottom:16px;min-height:60vh}
.coluna{flex:0 0 280px;background:#e9eeee;border-radius:10px;display:flex;flex-direction:column;max-height:78vh}
.col-topo{position:relative}
.menu-lista{position:absolute;top:100%;right:6px;z-index:6;background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.18);padding:4px;min-width:170px}
.menu-lista button{display:block;width:100%;border:0;background:none;color:var(--text)!important;font:inherit;font-size:13px!important;text-align:left;padding:7px 10px!important;cursor:pointer;border-radius:4px}
.menu-lista button:hover{background:var(--verde-claro)}
.q-arq{padding:10px 14px}
.q-arq>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}
.q-arq i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}
.q-arq small{color:var(--muted)}
.ct-modelo{margin:10px 18px 0}
body.so-leitura :is([data-captar],#ct-usar-modelo,#q-arquivadas){display:none}
.coluna.alvo{outline:3px solid var(--amarelo)}
.col-topo{display:flex;align-items:center;gap:6px;color:#fff;border-radius:10px 10px 0 0;padding:9px 10px;font-size:13px}
.col-topo b{flex:1}
.col-topo .qtd,.coluna.fechada .qtd{background:rgba(255,255,255,.25);border-radius:10px;padding:0 7px;font-size:12px;font-weight:700}
.col-topo button{border:0;background:none;color:#fff;cursor:pointer;font-size:15px;padding:0 3px}
.col-corpo{padding:8px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;min-height:12px}
.col-novo{border:0;background:none;text-align:left;padding:9px 12px;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;border-radius:0 0 10px 10px}
.col-novo:hover{background:#dbe4e3}
.coluna.fechada{flex:0 0 40px;color:#fff;cursor:pointer;align-items:center;padding:10px 0;gap:8px;min-height:220px}
.coluna.fechada .nome{writing-mode:vertical-rl;font-weight:700;font-size:13px;white-space:nowrap}
.coluna.nova{flex:0 0 220px;border:2px dashed #b6c2c1;background:none;color:var(--muted);font:inherit;font-weight:600;padding:12px;cursor:pointer;text-align:left}
.cartao{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:9px 10px;font-size:13px;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.cartao:hover{border-color:var(--verde)}
.cartao small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.cartao .selos{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px}
#dlg-cartao{width:min(1080px,96vw)}
.ct-titulo{flex:1;font-size:18px;font-weight:700;border:1px solid transparent!important;background:none!important;padding:4px 6px!important}
.ct-titulo:focus{border-color:var(--line)!important;background:var(--card)!important}
.ct-corpo{display:grid;grid-template-columns:3fr 2fr;gap:18px;max-height:76vh}
.ct-campos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 12px}
.ct-campos input[type=text],.ct-campos input[type=date],.ct-campos input[type=datetime-local]{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:13px}
.ct-campos .marca-campo input{width:18px;height:18px;display:block;margin-top:6px}
.ct-check,.ct-atividade{list-style:none;margin:0;padding:0}
.ct-check li{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:13px}
.ct-check label{margin:0;font-size:13px;font-weight:400;color:var(--text)}
.ct-check .feito{text-decoration:line-through;color:var(--muted)}
.ct-check button{border:0;background:none;color:var(--muted);cursor:pointer;font-size:16px}
.ct-dir{border-left:1px solid var(--line);padding-left:16px;overflow:auto}
.ct-atividade li{font-size:13px;padding:7px 0;border-bottom:1px solid var(--line)}
.ct-atividade small{display:block;color:var(--muted);font-size:11.5px}
.ct-atividade p{margin:4px 0 0;background:var(--bg);border-radius:6px;padding:6px 8px;white-space:pre-wrap}
body.so-leitura :is(#q-trazer,#q-nova-lista,.col-novo,[data-menu-lista],#ct-excluir,#ct-check-add,#ct-check-novo,[data-ck-x],[data-quadro-editar]){display:none}
body.so-leitura #dlg-cartao :is(input,select,textarea){pointer-events:none}
@media (max-width:820px){.ct-corpo{grid-template-columns:1fr}.ct-dir{border-left:0;padding-left:0}.ct-campos{grid-template-columns:repeat(2,1fr)}}
.nav-grupo{padding:16px 16px 4px;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#9fd3cd}
aside nav button.nv2{padding-left:28px}
#nav-clientes button{padding:7px 14px 7px 44px;font-size:13px;font-weight:400;gap:8px}
#nav-clientes button>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#nav-clientes button>span:first-child::before{content:"\2022  ";color:var(--amarelo)}
#nav-clientes button>span:last-child{white-space:nowrap}
#nav-clientes small{opacity:.75}
.badge{background:var(--amarelo);color:#3a2b00;border-radius:10px;font-size:11px;font-weight:800;padding:1px 7px}
aside footer{padding:12px 16px;font-size:11px;color:#b9dcd8}
main{padding:22px 26px 60px;min-width:0}
main>section{display:none}
main>section.on{display:block}
h2{margin:0 0 4px;font-size:22px;color:var(--verde-esc)}
h2+p{margin:0 0 16px;color:var(--muted);font-size:13px}
h3{margin:0 0 10px;font-size:15px;color:var(--verde-esc)}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}
label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:4px}
input[type=text],input[type=date],select{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--text);font:inherit}
input:focus,select:focus{outline:2px solid var(--verde);outline-offset:-1px}
.wide{grid-column:1/-1}
.ufs{display:flex;flex-wrap:wrap;gap:5px}
.ufs label{margin:0;font-size:12px;color:var(--text);border:1px solid var(--line);border-radius:6px;padding:4px 8px;cursor:pointer;user-select:none}
.ufs input{display:none}
.ufs label:has(input:checked){background:var(--verde);color:#fff;border-color:var(--verde)}
.hint{font-size:12px;color:var(--muted);font-weight:400}
.acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}
.btn{border:1px solid var(--verde);background:var(--verde);color:#fff;font:inherit;font-weight:600;padding:9px 16px;border-radius:7px;cursor:pointer}
.btn:hover{background:var(--verde-esc)}
.btn.sec{background:var(--card);color:var(--verde)}
.btn.sec:hover{background:var(--verde-claro)}
.btn.mini{padding:4px 10px;font-size:12px;white-space:nowrap}
.btn.ouro{background:var(--amarelo);border-color:var(--amarelo);color:#3a2b00}
.btn:disabled{opacity:.5;cursor:default}
.msg{font-size:13px;color:var(--muted)}
.msg.err{color:var(--erro)}
.note{background:var(--amarelo-claro);color:#6b4e00;border-left:4px solid var(--amarelo);border-radius:6px;padding:8px 12px;font-size:13px;margin-bottom:12px}
progress{width:200px;height:10px;accent-color:var(--verde)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.stat{background:var(--verde-claro);border-radius:8px;padding:12px 14px;border-left:4px solid var(--verde)}
.stat.ouro{background:var(--amarelo-claro);border-left-color:var(--amarelo)}
.stat b{display:block;font-size:21px;color:var(--verde-esc)}
.stat span{font-size:12px;color:var(--muted)}
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:12px;color:var(--muted);white-space:nowrap}
td.num,th.num{text-align:right;white-space:nowrap}
td small{color:var(--muted);display:block}
tr.off td{opacity:.45}
a{color:var(--verde);font-weight:600}
.price{font-weight:700;color:var(--ok)}
.obj{max-width:420px}
.tag{display:inline-block;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:700;background:var(--verde-claro);color:var(--verde-esc)}
.tag.ouro{background:var(--amarelo-claro);color:#6b4e00}
.subtabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px;flex-wrap:wrap}
.subtabs button{border:0;background:none;font:inherit;font-weight:600;color:var(--muted);padding:9px 14px;cursor:pointer;border-bottom:3px solid transparent}
.subtabs button.on{color:var(--verde);border-bottom-color:var(--amarelo)}
.sub{display:none}.sub.on{display:block}
.feed{list-style:none;margin:0;padding:0}
.feed li{padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}
.feed li.novo{border-left:4px solid var(--amarelo);padding-left:10px;background:var(--amarelo-claro)}
.feed small{color:var(--muted);display:block}
.hist td{background:var(--bg);font-size:12px}
.vazio{color:var(--muted);font-size:13px;padding:6px 0}
.chips{display:flex;flex-wrap:wrap;gap:5px;align-items:center;border:1px solid var(--line);border-radius:7px;padding:5px 8px;background:var(--card);min-height:38px;cursor:text}
.chips input{border:0;outline:0;flex:1;min-width:150px;width:auto;padding:3px 0}
.chips input:focus{outline:0}
.chip,.pal{background:#5c636a;color:#fff;border-radius:10px;padding:1px 9px;font-size:12px;font-weight:700;white-space:nowrap}
.chip button{border:0;background:none;color:#fff;cursor:pointer;margin-left:5px;font-size:14px;line-height:1;padding:0}
.pal.emp{background:var(--amarelo);color:#3a2b00}
.sug{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px}
.sug button{border:1px dashed #b6c2c1;background:var(--card);border-radius:10px;font-size:11px;padding:1px 8px;cursor:pointer;color:var(--muted)}
.sug button:hover{background:var(--verde-claro);color:var(--verde-esc)}
.ult{padding:10px 16px;font-size:13px}
.ult-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.ult-chips:empty{display:none}
.ult-chips button{border:0;background:#6c757d;color:#fff;font:inherit;font-size:12px;font-weight:700;padding:4px 14px;cursor:pointer}
.ult-chips button:hover{background:var(--verde-esc)}
.duplo{display:grid;grid-template-columns:minmax(520px,2fr) 3fr;gap:16px;align-items:start}
.duplo #m-head,.duplo #m-body{font-size:12px}
.duplo .lista:not(.msgs){table-layout:fixed;width:100%}
.duplo #m-head th{overflow:hidden;text-overflow:ellipsis;font-size:12px;padding:8px 4px}
.duplo #m-head th:first-child{width:24px}
.duplo #m-head th:last-child{width:82px}
.duplo #m-body td{padding:8px 4px}
.duplo>.card{min-width:0}
.duplo .barra input{max-width:none;flex:1;min-width:140px}
.duplo #m-body td{max-width:130px;overflow:hidden;text-overflow:ellipsis;font-size:12px;cursor:pointer}
.lista tr.sel td,.lista tr.sel td a,.lista tr.sel .sit,.lista tr.sel .acoes button{background:#6c757d;color:#fff}
#msgs .dlg-h{padding:0 0 10px;border-bottom:0}
#msgs .barra .grp{flex-wrap:wrap;row-gap:4px}
#msgs .barra .btn{white-space:nowrap;padding:7px 12px;font-size:13px}
#msgs .dlg-b{padding:0;max-height:none;overflow:visible}
#msgs .tw{max-height:68vh;overflow:auto}
#msgs .msgs thead th{position:sticky;top:0;background:#e9ecef}
@media (max-width:1150px){.duplo{grid-template-columns:1fr}}
.campos{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.campo{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:5px;overflow:hidden;font-size:13px;flex:1 1 230px;min-width:0}
.campo>b{padding:7px 10px;border-right:1px solid var(--line);white-space:nowrap}
.campo>span{padding:7px 10px;background:#eceff0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.campo input{border:0;border-radius:0;flex:1;min-width:0}
.campo .btn{border:0;border-left:1px solid var(--line);border-radius:0}
.campo .chips{border:0;border-radius:0;flex:1}
.campo.larg{flex-basis:100%;margin-bottom:6px}
a.btn{display:inline-block;text-decoration:none}
.btn.escuro{background:#1b2a4e;border-color:#1b2a4e}
.lista.msgs th{cursor:default}
.lista.msgs td{white-space:normal;vertical-align:top;line-height:1.6}
.lista.msgs td:nth-child(-n+2){white-space:nowrap}
.lista.msgs tr.gnv td{background:#dc3545;color:#fff;font-weight:700}
.lista.msgs tr.gv td{background:#1e7e34;color:#fff;font-weight:700}
.barra{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.barra .grp{display:flex}
.barra .grp>*{border-radius:0}
.barra .grp>:first-child,.barra .grp>:first-child summary{border-radius:6px 0 0 6px}
.barra .grp>:last-child{border-radius:0 6px 6px 0}
.barra input{max-width:420px}
.btn.perigo{background:#d9534f;border-color:#d9534f}
.btn.perigo:hover{background:#c13d39}
.btn.sec.on{background:var(--amarelo);border-color:var(--amarelo);color:#3a2b00}
.menu{position:relative}
.menu summary{list-style:none;border-radius:0;display:block}
.menu summary::-webkit-details-marker{display:none}
.menu>div{position:absolute;z-index:5;top:100%;left:0;min-width:220px;background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.15);padding:4px}
.menu>div button{display:block;width:100%;border:0;background:none;font:inherit;text-align:left;padding:8px 10px;cursor:pointer;border-radius:4px}
.menu>div button:hover{background:var(--verde-claro)}
.lista{font-size:12.5px}
.lista th{cursor:pointer;color:var(--text);font-size:13px;user-select:none}
.lista td{vertical-align:middle;white-space:nowrap}
.lista a{font-weight:400}
.lista .corta{max-width:240px;overflow:hidden;text-overflow:ellipsis}
.lista tr.grupo td{background:#6c757d;color:#fff;font-weight:700;font-size:13px;cursor:pointer}
.lista .sit{color:var(--verde)}
.lista .hist td{white-space:normal;line-height:1.6}
.acoes button{border:0;background:none;font-size:16px;cursor:pointer;padding:2px 5px;color:var(--text);position:relative}
.acoes .badge{position:absolute;top:-4px;right:-6px;font-size:9px;padding:0 4px}
dialog{border:0;border-radius:8px;padding:0;width:min(640px,94vw);color:var(--text);box-shadow:0 12px 40px rgba(0,0,0,.3)}
dialog::backdrop{background:rgba(0,0,0,.5)}
.dlg-h{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);font-size:16px;font-weight:600}
.dlg-x{border:0;background:none;font-size:24px;line-height:1;color:var(--muted);cursor:pointer}
.dlg-b{padding:16px 18px 6px;max-height:70vh;overflow:auto}
.dlg-f{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid var(--line)}
.dlg-f .msg{margin-right:auto}
.lin{display:grid;grid-template-columns:130px 1fr;gap:10px;margin-bottom:12px}
.lin>label{font-size:14px;font-weight:700;color:var(--text);padding-top:8px;margin:0}
.cod{display:grid;grid-template-columns:1fr 1.3fr;gap:10px}
.cod input{background:#f3f5f5}
.busca{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
.busca .grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:7px;font:inherit;color:var(--text);resize:vertical}
.achado{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line);font-size:13px}
@media (max-width:560px){.lin{grid-template-columns:1fr;gap:2px}.cod{grid-template-columns:1fr}}
@media (max-width:820px){
  .app{grid-template-columns:1fr}
  aside{position:static;height:auto;border-right:0;border-bottom:8px solid var(--amarelo)}
  aside nav{display:flex;flex-wrap:wrap;padding:4px}
  aside nav button{width:auto;border-left:0}
  aside footer{display:none}
  main{padding:16px}
}

/* pesquisa avançada: a tela da avulsa fica escondida e o resultado aparece nas listas suspensas dos itens */
body.so-itens #s-card,body.so-itens #s-out{display:none!important}
.av-onde{border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin-bottom:12px}
.av-onde>summary{cursor:pointer;font-weight:700;color:var(--verde-esc);font-size:13.5px}
.av-item{border:1px solid var(--line);border-left:5px solid var(--verde);border-radius:8px;margin-bottom:8px;background:var(--card)}
.av-item>summary{list-style:none;cursor:pointer;padding:10px 14px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13.5px}
.av-item>summary::-webkit-details-marker{display:none}
.av-item>summary::before{content:"\25B8";color:var(--verde);font-size:16px;width:14px}
.av-item[open]>summary::before{content:"\25BE"}
.av-item>summary:hover,.av-item[open]>summary{background:var(--verde-claro)}
.av-item[open]>summary{border-bottom:1px solid var(--line)}
.av-desc{font-weight:700;flex:1 1 320px;min-width:0}
.av-ref{margin-left:auto;color:var(--verde-esc);white-space:nowrap}
.av-ferr{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:10px 14px}
.av-ferr input{flex:1 1 280px;max-width:520px}
.av-lista{max-height:600px;overflow:auto;padding:0 14px 6px}
.av-lista .ata{border-left-width:3px;padding:10px 12px;margin-bottom:10px}
.av-lista .contato{margin:6px 0}
.av-p{display:flex;gap:10px;align-items:flex-start;padding:7px 6px;margin:0;border-top:1px dashed var(--line);cursor:pointer;font-size:13px;font-weight:400;color:var(--text)}
.av-p:hover{background:var(--bg)}
.av-p.on{background:var(--amarelo-claro)}
.av-p input{width:auto;margin-top:3px;flex:none}
.av-p>span{flex:1;min-width:0}
.av-p small{display:block;color:var(--muted);font-size:12px}
.av-p .vu{white-space:nowrap;color:var(--verde-esc);font-size:14px}
@media (max-width:900px){.av-lista .ata-h[data-abrir]{padding-right:4px}.av-lista .ata-acoes{position:static;margin-top:6px}}

.av-sel{padding:0 14px}
.av-sel:not(:empty){padding:12px 14px;background:var(--bg);border-bottom:1px solid var(--line)}
.av-sel-topo{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13.5px;margin-bottom:6px}
.av-sel .stats{margin:8px 0}
.av-sel-tab{width:100%;font-size:12.5px;background:var(--card);border:1px solid var(--line);border-radius:6px}
.av-sel-tab td{padding:6px 8px;border-bottom:1px dashed var(--line);vertical-align:top}
.av-sel-tab small{display:block;color:var(--muted)}
.av-ferr select{width:auto;flex:none}
.av-usar{display:flex;gap:8px;align-items:center;margin:8px 0 4px;padding:6px 8px;border:1px solid var(--verde);border-radius:6px;font-size:13px;font-weight:700;color:var(--verde-esc);cursor:pointer;width:fit-content}
.av-usar.on{background:var(--verde);color:#fff}
.av-usar input{width:auto;flex:none}
.av-usar small{font-weight:400;display:inline;color:inherit;opacity:.85}
.av-faixa{display:flex;gap:6px;align-items:center;margin:0;font-size:12.5px;color:var(--text);white-space:nowrap}
.av-ferr .av-faixa input{flex:none;width:100px}
.av-fim{margin-top:14px;padding:14px;border:1px solid var(--verde);border-radius:8px;background:var(--verde-claro)}
.av-salvar-item{margin-left:auto}
.tag.salvo{background:var(--verde);color:#fff}
#sv-detalhe .av-sel-tab td{vertical-align:top}
#sv-detalhe .av-sel-tab a{white-space:nowrap}

/* o login do cliente só consulta o quadro, mas comenta e avalia o edital */
body.so-leitura #dlg-cartao #ct-coment{pointer-events:auto}
.ct-aval{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.ct-aval p{margin:4px 0}
.ct-aval small{color:var(--muted)}

/* ---------- modo escuro (escolhido pelo usuário no menu; fica guardado no navegador) ---------- */
html[data-tema="escuro"]{
  color-scheme:dark;
  --bg:#0d1413;--card:#172220;--text:#e3edeb;--muted:#9aaeab;--line:#2b3a38;
  --verde-claro:#12332f;--amarelo-claro:#3a3010;--erro:#ff8a80;--ok:#5fd699;
  --realce:#7fd8cd;
}
html[data-tema="escuro"] aside{background:#0a3a36}
html[data-tema="escuro"] .marca{background:#0b2523}
html[data-tema="escuro"] .marca b{color:#fff}
html[data-tema="escuro"] .marca span{color:#fff}
html[data-tema="escuro"] :is(input,select,textarea){background:#0f1917;color:var(--text)}
html[data-tema="escuro"] :is(input,select,textarea){border-color:#344543}
html[data-tema="escuro"] :is(input,textarea)::placeholder{color:#6f8481}
html[data-tema="escuro"] dialog{background:var(--card)}
html[data-tema="escuro"] :is(h1,h2,h3,h4,.price,.av-ref,.vu,.av-onde>summary){color:var(--realce)}
html[data-tema="escuro"] a:not(.btn){color:var(--realce)}
html[data-tema="escuro"] aside :is(a,button,h3){color:#fff}
html[data-tema="escuro"] .btn.sec{background:transparent;color:var(--realce);border-color:#2f6f69}
html[data-tema="escuro"] .btn.sec:hover{background:var(--verde-claro)}
html[data-tema="escuro"] .btn.sec.on{background:var(--amarelo);border-color:var(--amarelo);color:#3a2b00}
html[data-tema="escuro"] .tag{color:#a6e6de}
html[data-tema="escuro"] .tag.ouro{color:#ffd76a}
html[data-tema="escuro"] .tag.salvo{color:#fff}
html[data-tema="escuro"] mark{background:#7a5c00;color:#fff}
html[data-tema="escuro"] .coluna{background:#101a18}
html[data-tema="escuro"] .prog-barra{background:#23302e}
html[data-tema="escuro"] #msgs .msgs thead th{background:#1f2c2a}
html[data-tema="escuro"] .campo>span{background:#1f2c2a}
html[data-tema="escuro"] .cod input{background:#101a18}
html[data-tema="escuro"] :is(.solta:hover,.solta.sobre){background:#16403b}
html[data-tema="escuro"] .modos button{color:var(--muted)}
html[data-tema="escuro"] .modos button.on{color:var(--realce)}
html[data-tema="escuro"] :is(.av-usar,.ata-h .abrir){color:var(--realce);border-color:#2f6f69;background:transparent}
html[data-tema="escuro"] .av-usar.on{background:var(--verde);color:#fff}
html[data-tema="escuro"] :is(.av-p.on,.note){color:var(--text)}
html[data-tema="escuro"] .av-fim{border-color:#2f6f69}
html[data-tema="escuro"] .contato{color:#a6e6de}
html[data-tema="escuro"] .ata-n{color:#fff}
.tema-bt{background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0;text-decoration:underline}.av-ferr input[data-nao]{flex:1 1 100%;max-width:none;border-color:var(--amarelo)}

/* consulta fornecedor: painel de barras (uma cor só; o valor vai escrito ao lado de cada barra) */
.f-graficos{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:22px 28px}
.f-graf h4{margin:0 0 10px;font-size:14px;color:var(--text)}
.f-linha{display:grid;grid-template-columns:minmax(90px,38%) 1fr auto;gap:10px;align-items:center;font-size:12.5px;padding:3px 0}
.f-rot{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.f-trilho{height:14px;background:var(--bg);border-radius:4px;overflow:hidden}
.f-trilho i{display:block;height:100%;background:var(--verde);border-radius:4px}
.f-linha b{font-variant-numeric:tabular-nums;white-space:nowrap}
.f-tabela td.f-obj,.lista td.f-obj{white-space:normal;min-width:220px;max-width:360px;line-height:1.35}
.f-tabela td small{display:block;color:var(--muted)}
html[data-tema="escuro"] .f-graf h4{color:var(--text)}
@media (max-width:520px){.f-graficos{grid-template-columns:1fr}}html[data-tema="escuro"] .topo .marca{background:transparent}
.ufs.travado label{cursor:default;opacity:.55}
.ufs.travado label:has(input:checked){opacity:1}
.lin[hidden]{display:none}

/* barra lateral também nas páginas públicas (Pesquisa de preços e Consulta fornecedor): mesmos itens, só os permitidos aparecem */
aside nav a.nv2.raiz{padding-left:16px}
aside nav a.nv2.on{background:var(--verde-esc);border-left-color:var(--amarelo);color:#fff}
.app>main.solo{margin:0;max-width:none;width:100%}
aside nav [hidden],aside footer [hidden]{display:none!important}

/* ---------- análise de mercado ---------- */
.mz-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;border:1px solid var(--line);border-radius:7px;background:var(--card);padding:5px 8px;cursor:text}
.mz-chips:focus-within{outline:2px solid var(--verde);outline-offset:-1px}
.mz-chips input{flex:1 1 180px;border:0!important;outline:0!important;background:transparent!important;padding:4px 2px;width:auto;min-width:120px}
.mz-chips span{display:inline-flex;align-items:center;gap:4px;background:var(--verde-claro);color:var(--verde-esc);border-radius:14px;padding:2px 4px 2px 10px;font-size:12.5px;font-weight:600}
.mz-chips.nao span{background:#fde3e1;color:#a12820}
.mz-chips span button{border:0;background:none;color:inherit;font:inherit;font-size:15px;line-height:1;cursor:pointer;padding:0 4px}
.mz-chave{display:flex;gap:8px;align-items:center;margin:0;font-weight:600;cursor:pointer}
.mz-chave input{width:auto}
.mz-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:16px}
.mz-duo>.card{margin:0 0 16px}
.mz-colunas{display:flex;align-items:flex-end;gap:4px;height:230px;border-bottom:1px solid var(--line);padding-top:8px}
.mz-col{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative;cursor:default}
.mz-col i{display:block;width:100%;max-width:44px;background:var(--verde);border-radius:4px 4px 0 0}
.mz-col:hover i{background:var(--verde-esc)}
.mz-col small{position:absolute;top:100%;margin-top:4px;font-size:11px;color:var(--muted);white-space:nowrap}
#mz-meses .hint{display:block;margin-top:26px}
.mz-linha{display:grid;grid-template-columns:minmax(120px,42%) 1fr 92px;gap:10px;align-items:center;font-size:12.5px;padding:4px 6px;border-radius:6px}
.mz-linha.clicavel{cursor:pointer}
.mz-linha:hover{background:var(--bg)}
.mz-linha.sel{background:var(--verde-claro)}
.mz-linha.eu .mz-rot{font-weight:700}
.mz-linha.eu .mz-trilho i{background:var(--amarelo)}
.mz-rot{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mz-trilho{height:14px;background:var(--bg);border-radius:4px;overflow:hidden}
.mz-trilho i{display:block;height:100%;background:var(--verde);border-radius:4px}
.mz-linha b{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.mz-eu{border:1px solid var(--amarelo);border-left:5px solid var(--amarelo);border-radius:8px;padding:12px 14px}
.mz-dica{position:fixed;z-index:90;pointer-events:none;background:#10201e;color:#fff;border-radius:8px;padding:8px 11px;font-size:12.5px;line-height:1.5;max-width:340px;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.mz-tabela td small{display:block;color:var(--muted)}
html[data-tema="escuro"] .mz-chips.nao span{background:#4a1f1c;color:#ffb3ac}
html[data-tema="escuro"] .mz-chips span{color:#a6e6de}
html[data-tema="escuro"] .mz-col i,html[data-tema="escuro"] .mz-trilho i{background:#19a394}
html[data-tema="escuro"] .mz-linha.eu .mz-trilho i{background:var(--amarelo)}
@media (max-width:560px){.mz-duo{grid-template-columns:1fr}}

/* adesões */
.ad-ata.aceita{border-left-color:var(--verde)}
.ad-ata.nao,.ad-ata.ni{border-left-color:var(--amarelo)}
.ad-itens{font-size:12.5px;margin-top:8px}
.ad-itens td small{display:block;color:var(--muted)}
.ad-itens tr.off td{opacity:.6}
.ad-itens td.f-obj{min-width:300px}
.ad-itens th{white-space:nowrap}

/* ata do fornecedor em destaque entre as atas da licitação */
.ata-certa{display:inline-block;background:var(--verde);color:#fff;border-radius:6px;padding:1px 8px;font-size:12px;font-weight:700;white-space:nowrap}
.ata-certa a{color:#fff!important;text-decoration:underline}
a.ata-outra{opacity:.6;font-weight:400}

/* cartão: link do portal com botão de abrir; nome do cliente clicável */
.ct-link{display:flex;gap:6px;align-items:center}
.ct-link input{flex:1;min-width:0}
.ct-link .btn{flex:none}
a.k-nome{color:inherit;text-decoration:none}
a.k-nome:hover b{text-decoration:underline;color:var(--verde)}

/* quadro com plano de fundo */
#tab-quadro.com-fundo{background-size:cover;background-position:center;background-attachment:local;border-radius:14px;padding:14px;min-height:82vh}
#tab-quadro.com-fundo .q-topo{background:var(--card,#fff);border-radius:10px;padding:8px 12px;box-shadow:0 1px 4px rgba(0,0,0,.18)}
#tab-quadro.com-fundo .coluna{box-shadow:0 2px 8px rgba(0,0,0,.22)}
#tab-quadro.com-fundo .coluna.nova{background:rgba(255,255,255,.82);border-color:transparent;color:#33403e;box-shadow:none}
.q-fundo{padding:12px 14px}
.q-fundos{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.q-fundos button{border:2px solid transparent;background:none;padding:3px;border-radius:9px;cursor:pointer;font:inherit;font-size:11px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:3px}
.q-fundos button.on{border-color:var(--amarelo)}
.q-fundos i{display:block;width:74px;height:44px;border-radius:6px;background-size:cover;background-position:center;border:1px solid var(--line)}
.q-fundos i.nenhum{background:repeating-linear-gradient(45deg,#e9eeee,#e9eeee 6px,#fff 6px,#fff 12px)}.ct-link-lin{grid-column:1/-1}

/* Dashboard: pizzas e avisos */
.pz-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:16px}
.pz-grade>.card{margin:0}
.pz{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.pz svg{width:150px;height:150px;flex:none}
.pz svg text{text-anchor:middle;fill:var(--text)}
.pz-total{font-size:8px;font-weight:700}
.pz-rot{font-size:2.6px;fill:var(--muted)!important}
.pz ul{list-style:none;margin:0;padding:0;flex:1;min-width:150px;font-size:13px}
.pz li{display:flex;align-items:center;gap:7px;padding:3px 0}
.pz li i{width:11px;height:11px;border-radius:3px;flex:none}
.pz li span{flex:1}
.pz li small{color:var(--muted);width:34px;text-align:right}
.pz-t{margin:10px 0 8px;font-size:13px;color:var(--muted);font-weight:600}
.avisos{display:flex;flex-direction:column}
.aviso{display:flex;align-items:center;gap:12px;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;font:inherit;font-size:13px;color:var(--text);padding:9px 4px;cursor:pointer}
.aviso:hover{background:var(--verde-claro)}
.aviso small{display:block;color:var(--muted)}
.aviso .prazo{flex:0 0 108px;text-align:center;font-weight:700;border-radius:14px;padding:4px 8px;background:var(--verde-claro);color:var(--verde-esc)}
.aviso.perto .prazo{background:var(--amarelo-claro);color:#8a5a00}
.aviso.urgente .prazo{background:#fde2e2;color:#a61b1b}
.aviso .prazo.neutro{background:var(--amarelo-claro);color:#8a5a00}
.pp-lin{display:block;padding:9px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text);font-size:13px}
.pp-lin:hover{background:var(--verde-claro)}
.pp-lin small{display:block;color:var(--muted);margin:2px 0 6px}a.btn[hidden]{display:none!important}

/* monitor do PNCP no menu lateral */
.pncp{position:relative;margin:0 14px 10px}
#pncp-selo{display:flex;align-items:center;gap:8px;width:100%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:7px 12px;font:inherit;font-size:12px;cursor:pointer;transition:background .2s}
#pncp-selo:hover{background:rgba(255,255,255,.16)}
#pncp-selo b{flex:1;text-align:left;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pncp-selo small{opacity:.75;font-variant-numeric:tabular-nums}
.pncp i{--c:#9aa8a6;display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c);flex:none}
.pncp [data-estado="online"]>i,.pncp i[data-estado="online"]{--c:#3ddc84}
.pncp [data-estado="lento"]>i,.pncp i[data-estado="lento"]{--c:#ffb902}
.pncp [data-estado="parcial"]>i,.pncp i[data-estado="parcial"]{--c:#ff8a3d}
.pncp [data-estado="fora"]>i,.pncp i[data-estado="fora"],.pncp [data-estado="semnet"]>i,.pncp i[data-estado="semnet"]{--c:#ff5252}
#pncp-selo>i,.pncp-topo>i{box-shadow:0 0 0 0 var(--c);animation:pncp-pulso 2s infinite}
#pncp-selo.vendo>i{animation-duration:.7s}
@keyframes pncp-pulso{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--c) 70%,transparent)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
#pncp-painel{position:absolute;left:0;bottom:calc(100% + 8px);width:268px;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.28);padding:14px;z-index:50;font-size:13px}
#pncp-painel[hidden]{display:none}
.pncp-topo{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.pncp-topo>i{width:12px;height:12px}
.pncp-topo b{display:block;font-size:14px}
.pncp-topo small,.pncp-pe small{color:var(--muted);font-size:11px}
.pncp-lin{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--line)}
.pncp-lin span{flex:1}
.pncp-lin small{color:var(--muted);font-variant-numeric:tabular-nums}
.pncp-hist{display:flex;gap:2px;margin:10px 0 8px}
.pncp-hist i{flex:1;width:auto;height:22px;border-radius:2px;background:var(--line)}
.pncp-hist i[data-estado]{background:var(--c)}
.pncp-pe{display:flex;flex-direction:column;gap:4px}
.pncp-pe span{font-size:12px;color:var(--muted)}
.pncp-pe button{border:0;background:none;padding:0;font:inherit;font-size:12px;color:var(--verde);cursor:pointer;font-weight:600}
.pncp-pe a{color:var(--verde);font-weight:600;text-decoration:none}
/* menu: "Monitorar" embaixo do nome de cada cliente */
#nav-clientes button.cli-mon{padding:4px 14px 6px 62px;font-size:12px;opacity:.9}
#nav-clientes button.cli-mon>span:first-child::before{content:"\21B3  ";color:inherit;opacity:.7}

/* ============ DESIGN MODERNO (out/2026) ============
   Só aparência: mesma estrutura de telas. Para voltar ao visual antigo, basta apagar deste ponto até o fim do arquivo. */
:root{--bg:#f2f5f5;--line:#e2e9e8;--sombra:0 1px 2px rgba(16,40,38,.05),0 8px 24px rgba(16,40,38,.06);--sombra-alta:0 4px 10px rgba(16,40,38,.08),0 18px 40px rgba(16,40,38,.12)}
body{font-family:"Inter","Segoe UI Variable Text","Segoe UI",system-ui,Arial,sans-serif;font-size:14.5px;line-height:1.5;-webkit-font-smoothing:antialiased;letter-spacing:-.003em}
*{scrollbar-width:thin;scrollbar-color:#b9c7c5 transparent}
::selection{background:#bfe6e1}
/* menu lateral */
aside{background:linear-gradient(180deg,#00867c 0%,#006a62 55%,#00524c 100%);border-right:0;box-shadow:inset -3px 0 0 var(--amarelo)}
.marca{padding:18px 16px}
.marca b{font-weight:800;letter-spacing:-.6px}
aside nav{padding:12px 0}
aside nav button,aside nav a.nv2{border-left:0;border-radius:10px;margin:2px 12px 2px 10px;padding:9px 12px;font-weight:500;transition:background .15s,color .15s}
aside nav button{width:calc(100% - 22px)}
aside nav button.nv2,aside nav a.nv2{padding-left:20px}
aside nav a.nv2.raiz{padding-left:12px}
aside nav button:hover,aside nav a.nv2:hover{background:rgba(255,255,255,.09)}
aside nav button.on,aside nav a.nv2.on{background:rgba(255,255,255,.16);box-shadow:inset 3px 0 0 var(--amarelo);color:#fff;font-weight:600}
#nav-clientes button{padding:6px 12px 6px 34px;margin-top:1px;margin-bottom:1px}
#nav-clientes button.cli-mon{padding:3px 12px 5px 52px}
.nav-grupo{padding:18px 22px 6px;font-size:10.5px;letter-spacing:1.8px;color:rgba(255,255,255,.55)}
aside footer{padding:12px 18px 16px}
/* títulos e cartões */
h2{font-size:24px;font-weight:700;letter-spacing:-.025em}
h3{font-size:15px;font-weight:650;letter-spacing:-.01em}
.card{border:1px solid rgba(16,40,38,.05);border-radius:16px;padding:20px;box-shadow:var(--sombra)}
.stat{background:var(--card);border:1px solid var(--line);border-left:1px solid var(--line);border-radius:14px;padding:14px 16px;transition:transform .15s,box-shadow .15s}
.stat:hover{transform:translateY(-1px);box-shadow:var(--sombra)}
.stat b{font-size:26px;font-weight:700;letter-spacing:-.03em;color:var(--verde)}
.stat.ouro{background:var(--amarelo-claro);border-color:#f3d98a}
.stat.ouro b{color:#8a5a00}
.note{border-radius:10px}
/* botões e campos */
.btn{border-radius:10px;font-weight:600;transition:background .15s,transform .1s,box-shadow .15s,border-color .15s;box-shadow:0 1px 2px rgba(0,94,87,.25)}
.btn:hover{box-shadow:0 3px 10px rgba(0,94,87,.22)}
.btn:active{transform:translateY(1px)}
.btn.sec{border-color:var(--line);color:var(--verde-esc);box-shadow:0 1px 2px rgba(16,40,38,.05)}
.btn.sec:hover{border-color:var(--verde);box-shadow:0 2px 8px rgba(16,40,38,.08)}
.btn.mini{border-radius:8px;padding:5px 11px}
.btn:disabled{box-shadow:none;transform:none}
input[type=text],input[type=date],input[type=password],input[type=datetime-local],input[type=number],select,textarea{border-radius:10px;padding:9px 12px;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--verde);box-shadow:0 0 0 3px rgba(0,121,112,.16)}
label{font-weight:600;letter-spacing:.01em}
.tag{border-radius:999px;padding:2px 9px;font-weight:600}
.badge{border-radius:999px}
.ufs label{border-radius:999px;padding:5px 11px;transition:background .15s,border-color .15s}
.ufs label:hover{border-color:var(--verde)}
/* abas e seletores */
.subtabs{border-bottom:0;gap:6px;background:rgba(16,40,38,.05);padding:4px;border-radius:12px;width:fit-content;max-width:100%}
.subtabs button{border-bottom:0;border-radius:9px;padding:7px 14px;transition:background .15s,color .15s}
.subtabs button.on{background:var(--card);color:var(--verde-esc);box-shadow:0 1px 3px rgba(16,40,38,.12)}
.modos button{border:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--sombra);transition:border-color .15s,box-shadow .15s,transform .15s}
.modos button:hover{transform:translateY(-1px)}
.modos button.on{border-color:var(--verde);border-bottom-color:var(--verde);box-shadow:0 0 0 3px rgba(0,121,112,.14)}
.solta{border-radius:14px}
/* quadro, listas e janelas */
.coluna{border-radius:14px}
.col-topo{border-radius:14px 14px 0 0;padding:10px 12px}
.cartao{border-radius:12px;padding:10px 12px;transition:transform .12s,box-shadow .15s,border-color .15s}
.cartao:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(16,40,38,.12)}
.ata,.cesta>div{border-radius:12px}
dialog{border-radius:18px;box-shadow:var(--sombra-alta)}
dialog::backdrop{background:rgba(8,28,26,.55)}   /* sem desfoque: o blur atrás das janelas (cartão, proposta) deixava a tela lenta para digitar e rolar */
.prog-barra{border-radius:999px}
.aviso{border-radius:10px;border-bottom-color:transparent;padding:9px 8px}
.aviso .prazo{border-radius:999px}
.pp-lin{border-radius:10px;padding:10px 8px}
/* tela de entrada */
body.entrada{background:radial-gradient(900px 500px at 12% 8%,rgba(0,121,112,.20),transparent 60%),radial-gradient(700px 480px at 92% 96%,rgba(255,185,2,.20),transparent 60%),var(--bg)}
.caixa-login{border-radius:20px;padding:28px;box-shadow:var(--sombra-alta)}
/* modo escuro */
html[data-tema="escuro"]{--sombra:0 1px 2px rgba(0,0,0,.3);--sombra-alta:0 18px 40px rgba(0,0,0,.5)}
html[data-tema="escuro"] aside{background:linear-gradient(180deg,#0c3f3a,#082a27)}
html[data-tema="escuro"] .card{border-color:rgba(255,255,255,.06)}
html[data-tema="escuro"] .subtabs{background:rgba(255,255,255,.06)}
html[data-tema="escuro"] .stat b{color:#5fd3c8}
html[data-tema="escuro"] .stat.ouro{border-color:#6b5512}
html[data-tema="escuro"] .stat.ouro b{color:#ffd866}
html[data-tema="escuro"] .btn.sec{color:#bfe6e1}

aside nav :is([data-tab="painel"],a[href="index.html"],a[href="painel.html"]){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1.5'/%3E%3C/svg%3E")}
aside nav :is(a[href="pesquisa.html"]){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E")}
aside nav :is(a[href="fornecedor.html"]){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cpath d='M3 13h18'/%3E%3C/svg%3E")}
aside nav :is(a[href="adesoes.html"]){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M9 14l2 2 4-4'/%3E%3C/svg%3E")}
aside nav :is([data-tab="editais"],a[href="index.html#editais"]){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3C/svg%3E")}
aside nav :is(a[href="mercado.html"]){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20h18'/%3E%3Cpath d='M6 20V11'/%3E%3Cpath d='M12 20V5'/%3E%3Cpath d='M18 20v-7'/%3E%3C/svg%3E")}
aside nav :is([data-tab="clientes"],a[href="index.html#clientes"]){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20a6.5 6.5 0 0 1 13 0'/%3E%3Cpath d='M16 4.6a3.5 3.5 0 0 1 0 6.8'/%3E%3Cpath d='M18 14.5a6.5 6.5 0 0 1 3.5 5.5'/%3E%3C/svg%3E")}
aside nav :is([data-tab="monitor"],a[href="index.html#monitor"]){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9a6 6 0 0 1 12 0c0 6 2.5 7.5 2.5 7.5h-17S6 15 6 9'/%3E%3Cpath d='M10 20a2 2 0 0 0 4 0'/%3E%3C/svg%3E")}
aside nav :is([data-tab="usuarios"],a[href="index.html#usuarios"]){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E")}
:root{--bg:#eff1f6;--card:#fff;--line:#e9ebf2;--text:#171a26;--muted:#8a90a2;--sombra:0 1px 2px rgba(23,26,38,.03),0 10px 30px rgba(23,26,38,.05);--sombra-alta:0 20px 50px rgba(23,26,38,.16)}
html aside{background:var(--pn-menu);box-shadow:var(--sombra);color:var(--text);margin:14px 0 14px 14px;height:calc(100vh - 28px);top:14px;border-radius:24px;overflow:hidden}
html .marca{padding:20px 18px 12px}
html .marca b{color:var(--text);font-size:20px}
html .nav-grupo{color:#a3a9b8;font-size:10px;letter-spacing:1.6px;padding:16px 24px 6px}
html aside nav button,html aside nav a.nv2{color:var(--pn-menu-txt);border-radius:12px;margin:2px 14px;padding:10px 12px;font-weight:500;font-size:14px;justify-content:flex-start}
html aside nav button{width:calc(100% - 28px)}
html aside nav a.nv2{display:flex;align-items:center}
html aside nav button .badge{margin-left:auto}
html aside nav button:hover,html aside nav a.nv2:hover{background:var(--pn-hover);color:var(--text)}
html aside nav button.on,html aside nav a.nv2.on{background:var(--verde);color:#fff;font-weight:600;box-shadow:0 8px 18px color-mix(in srgb,var(--verde) 35%,transparent)}
html aside nav :is([data-tab],a.nv2)::before{content:"";flex:none;width:18px;height:18px;margin-right:11px;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
html #nav-clientes button{color:var(--pn-menu-txt);padding:6px 12px 6px 41px;font-size:13px;justify-content:space-between}
html #nav-clientes button.cli-mon{padding:3px 12px 5px 58px}
html #nav-clientes button.on{background:var(--verde-claro);color:var(--verde-esc);box-shadow:none}
html aside footer.quem{color:var(--muted);border-top:1px solid var(--line);margin:0 14px;padding:12px 4px 16px}
html aside footer.quem b{color:var(--text)}
html aside footer.quem button{color:var(--verde)}
html .pncp{margin:0 14px 12px}
html #pncp-selo{background:var(--pn-selo);border-color:var(--pn-selo);color:#fff;border-radius:16px;padding:12px 14px}
html #pncp-selo:hover{filter:brightness(1.25)}
html main{padding:26px 28px 60px}
html h2{color:var(--text);font-size:24px;font-weight:700}
html h3{color:var(--text);font-size:16px;font-weight:650}
html .card{border:0;border-radius:22px;padding:22px;box-shadow:var(--sombra)}
html .stats{gap:14px}
html .stat{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:10px;min-height:96px;border:0;border-radius:20px;padding:18px 20px;background:var(--card);box-shadow:var(--sombra)}
html .stat span{font-size:12.5px;color:var(--muted);font-weight:500}
html .stat b{font-size:28px;font-weight:700;color:var(--text);letter-spacing:-.03em}
html .card .stat{background:var(--pn-campo);box-shadow:none}
html .stats .stat:first-child{background:var(--verde);box-shadow:0 14px 28px color-mix(in srgb,var(--verde) 32%,transparent)}
html .stats .stat:first-child b,html .stats .stat:first-child span{color:#fff}
html .stats .stat:first-child span{opacity:.85}
html .stat.ouro{background:var(--amarelo-claro)}
html .stat.ouro b{color:#8a5a00}
html .btn{border-radius:12px;padding:10px 18px;box-shadow:0 6px 14px color-mix(in srgb,var(--verde) 26%,transparent)}
html .btn.sec{background:var(--card);border-color:var(--line);color:var(--text);box-shadow:none}
html .btn.sec:hover{background:var(--pn-campo);border-color:var(--verde)}
html .btn.ouro{box-shadow:0 6px 14px rgba(255,185,2,.3)}
html .btn.mini{border-radius:10px;padding:6px 12px;box-shadow:none}
html input[type=text],html input[type=date],html input[type=password],html select,html textarea{background:var(--pn-campo);border-color:transparent;border-radius:12px;padding:10px 14px}
html input:focus,html select:focus,html textarea:focus{background:var(--card);border-color:var(--verde);box-shadow:0 0 0 3px color-mix(in srgb,var(--verde) 16%,transparent)}
html label{color:var(--pn-menu-txt)}
html .tag{background:var(--pn-tag);color:var(--pn-tag-txt);border-radius:999px;padding:3px 10px}
html .tag.ouro{background:var(--pn-alerta);color:var(--pn-alerta-txt)}
html .ufs label{background:var(--pn-campo);border-color:transparent}
html .subtabs{background:var(--pn-sub)}
html .modos button{border:0;border-radius:20px;box-shadow:var(--sombra)}
html .modos button.on{background:var(--verde);color:#fff;box-shadow:0 14px 28px color-mix(in srgb,var(--verde) 30%,transparent)}
html .modos button.on small{color:rgba(255,255,255,.85)}
html .solta{border-radius:18px}
html .coluna{background:var(--pn-sub);border-radius:18px}
html .col-topo{border-radius:18px 18px 0 0}
html .cartao{border:0;border-radius:14px;box-shadow:0 2px 6px rgba(23,26,38,.06)}
html .aviso:hover,html .pp-lin:hover{background:var(--pn-campo)}
html .pz svg{width:168px;height:168px}
html dialog{border-radius:24px}
html .note{border-left:0;border-radius:14px}

/* arquivos do cartão */
.ct-solta{border:2px dashed #9fc9c5;border-radius:12px;padding:14px;text-align:center;font-size:13px;background:var(--verde-claro);transition:background .15s,border-color .15s}
.ct-solta small{display:block;color:var(--muted);margin-top:6px}
.ct-solta.sobre{border-color:var(--verde);background:#cfeae6}
.ct-solta[hidden]{display:none}
.ct-anexos{list-style:none;margin:8px 0 4px;padding:0}
.ct-anexos li{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}
.ct-anexos .nome{flex:1;min-width:0}
.ct-anexos .nome b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.ct-anexos small{color:var(--muted);font-size:11.5px}
.ct-anexos a.btn{text-decoration:none}
.cartao.recebe{outline:3px dashed var(--verde);outline-offset:1px;background:var(--verde-claro)}
html[data-tema="escuro"] .ct-solta.sobre{background:#1b4a44}
/* ============ Avisos personalizados ============ */
.tag.verm{background:#fde2e2;color:#a61b1b}
.tag.cinza{background:#eceff0;color:#56615f}
html[data-tema="escuro"] .tag.verm{background:#4a1d1d;color:#ffb3b3}
html[data-tema="escuro"] .tag.cinza{background:#22302e;color:#b5c4c1}
.av-status{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.av-status small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.av-status small.erro{color:var(--erro)}
.av-filtros{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:12px;align-items:end}
.av-filtros .wide{grid-column:auto}
.av-filtros-acoes{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:1000px){.av-filtros{grid-template-columns:1fr 1fr}.av-filtros .wide{grid-column:1/-1}}
.av-multi{position:relative}
.av-multi summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:var(--card);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.av-multi summary::-webkit-details-marker{display:none}
.av-multi[open] summary{border-color:var(--verde)}
.av-multi .ufs{position:absolute;z-index:20;top:calc(100% + 6px);left:0;width:330px;max-width:80vw;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.av-abas{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.av-abas button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:7px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.av-abas button.on{background:var(--verde);border-color:var(--verde);color:#fff}
.av-abas button.sem{color:var(--muted);font-weight:500}
.av-abas button.sem.on{background:#8b9896;border-color:#8b9896;color:#fff}
.av-abas .tag{margin-left:4px}
.av-cartao h3{margin:8px 0 6px;font-size:16px}
.av-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.av-tags{display:flex;flex-wrap:wrap;gap:5px}
.av-obj{margin:0 0 12px;font-size:13.5px;color:var(--text)}
.av-dados{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 16px;font-size:13px;margin-bottom:12px}
.av-dados small,.av-cab-dados small{display:block;color:var(--muted);font-size:11.5px}
.av-bloco{background:var(--verde-claro);border-radius:10px;padding:10px 12px;margin-bottom:8px;font-size:13px}
.av-bloco ul,.av-previa ul{margin:6px 0 0;padding:0;list-style:none}
.av-bloco li{padding:5px 0;border-top:1px solid rgba(0,0,0,.07)}
.av-bloco small{display:block;color:var(--muted);font-size:12px}
.av-sem{margin:4px 2px 0}
.av-prodbar{display:flex;align-items:center;gap:8px}
.av-prods{flex:1;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;padding:2px}
.av-prods::-webkit-scrollbar{display:none}
.av-prods button{flex:none;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:7px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.av-prods button.on{background:var(--verde);border-color:var(--verde);color:#fff}
.av-prods button.off{opacity:.55;text-decoration:line-through}
.av-config{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;align-items:start}
.av-config[hidden]{display:none}
@media (max-width:1100px){.av-config{grid-template-columns:1fr}}
.av-cab{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.av-cab small{color:var(--muted)}
.av-cab-dados{display:flex;gap:18px;flex-wrap:wrap;font-size:13px}
.av-editor label{margin-top:12px}
.av-editor .duas{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.av-editor .duas label{margin-top:0}
.av-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:6px 8px;background:var(--card);min-height:42px;cursor:text}
.av-chips:focus-within{border-color:var(--verde);box-shadow:0 0 0 3px rgba(0,121,112,.16)}
.av-chips input[type=text]{border:0;outline:0;box-shadow:none;flex:1;min-width:160px;width:auto;padding:4px 2px;background:none}
.av-chips .chip{background:var(--verde);color:#fff;border-radius:999px;padding:3px 6px 3px 11px;font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:2px}
.av-chips.nao .chip{background:#c0392b}
.av-chips .chip button{margin-left:3px;font-size:15px;opacity:.85}
.av-ativo{display:flex!important;align-items:center;gap:8px;font-size:13.5px!important;color:var(--text)!important;font-weight:500!important;margin-top:14px!important}
.av-ativo input{width:17px;height:17px}
.dica{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--verde-claro);color:var(--verde-esc);font-size:11px;font-weight:700;cursor:help;margin-left:4px}
.dica:hover::after,.dica:focus::after{content:attr(data-dica);position:absolute;z-index:30;left:50%;bottom:calc(100% + 8px);transform:translateX(-30%);width:280px;background:#1c2b2a;color:#fff;font-weight:400;font-size:12px;line-height:1.45;letter-spacing:0;text-transform:none;border-radius:10px;padding:9px 11px;box-shadow:0 10px 26px rgba(0,0,0,.28);white-space:normal;text-align:left}
.av-previa{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.av-previa a{color:var(--verde-esc);text-decoration:none}
.av-previa a:hover{text-decoration:underline}
.av-previa small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.av-previa p{margin:6px 0 4px}
.av-previa li{padding:3px 0;color:var(--text)}
.av-arqs{list-style:none;margin:0;padding:0}
.av-arqs li{padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.av-arqs a{color:var(--verde-esc);font-weight:600;text-decoration:none}
.av-arqs small{display:block;color:var(--muted)}
.av-tab td{vertical-align:top}
aside nav :is(a[href="avisos.html"]){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10v4h3l6 4V6L7 10z'/%3E%3Cpath d='M16.5 9a4 4 0 0 1 0 6'/%3E%3Cpath d='M19 6.5a8 8 0 0 1 0 11'/%3E%3C/svg%3E")}
.av-cli{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:4px}
.av-cli>div{display:flex;align-items:center;gap:8px}
.av-cli+p{margin:0 0 16px;color:var(--muted);font-size:13px}

/* observação do item na pesquisa avançada */
.av-obs{display:block;margin:10px 0 12px}
.av-obs textarea{margin-top:4px;font-weight:400}
.av-obs-ver{margin:10px 0 0;font-size:13px;background:var(--amarelo-claro);border-radius:8px;padding:8px 10px;white-space:pre-wrap}

/* central do administrador */
.ce-on{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.ce-on small,.ce-tab small{display:block;color:var(--muted);font-size:12px}
.ce-on>i,.ce-ponto.on{background:#2ecc71;box-shadow:0 0 0 0 rgba(46,204,113,.6);animation:ce-pulso 2s infinite}
.ce-on>i{width:10px;height:10px;border-radius:50%;flex:none}
.ce-ponto{display:inline-block;width:9px;height:9px;border-radius:50%;background:#c3ccca;vertical-align:1px;margin-right:2px}
@keyframes ce-pulso{0%{box-shadow:0 0 0 0 rgba(46,204,113,.6)}70%{box-shadow:0 0 0 7px rgba(46,204,113,0)}100%{box-shadow:0 0 0 0 rgba(46,204,113,0)}}
.ce-barras{display:flex;align-items:flex-end;gap:4px;height:170px;padding-top:18px}
.ce-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.ce-col b{font-size:10.5px;color:var(--muted);font-weight:600;line-height:1.3}
.ce-col i{display:block;width:100%;max-width:26px;min-height:2px;background:var(--verde);border-radius:5px 5px 0 0;transition:height .3s}
.ce-col small{height:16px;font-size:10px;color:var(--muted);white-space:nowrap}
.ce-tab td{white-space:normal;vertical-align:middle}
.ce-tab tr.off td{opacity:.55}
aside nav :is([data-tab="central"],a[href="index.html#central"]){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h4l3-8 4 16 3-8h4'/%3E%3C/svg%3E")}
/* escolher à mão a ata do fornecedor */
.ata-escolha{display:block;width:auto!important;max-width:240px;margin-top:6px;padding:4px 8px!important;font-size:12px;border-radius:8px!important}

/* Reportar: bolinha no canto esquerdo da área de trabalho e painel de envio */
.rep{position:fixed;left:284px;bottom:18px;z-index:60;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.rep.some{visibility:hidden}
.rep-bola{width:52px;height:52px;border-radius:50%;border:0;background:var(--verde);color:#fff;cursor:pointer;display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,60,55,.35);transition:transform .15s,background .15s}
.rep-bola:hover{transform:scale(1.07);background:var(--verde-esc)}
.rep-bola span{display:none;font-size:26px;line-height:1}
.rep.aberto .rep-bola svg{display:none}
.rep.aberto .rep-bola span{display:block}
.rep-painel{width:min(400px,calc(100vw - 290px));max-height:calc(100vh - 110px);overflow:auto;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.28);padding:18px}
.rep-painel[hidden]{display:none}
.rep-painel h3{margin:0 0 4px;font-size:17px}
.rep-painel label{margin-top:10px}
.rep-painel .rep-op{display:flex;align-items:center;gap:7px;margin:5px 0 0;font-size:14px;font-weight:400;color:var(--text);cursor:pointer}
.rep-painel .rep-op input{width:16px;height:16px}
.rep-painel .hint{margin:4px 0 0;display:block}
.rep-acoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.rep-imgs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.rep-imgs span{position:relative}
.rep-imgs img{width:92px;height:62px;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:block}
.rep-imgs button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:0;background:#c0392b;color:#fff;cursor:pointer;font-size:13px;line-height:1}
.rep-enviar{width:100%;margin:6px 0}
/* central de chamados */
.ch-dados{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 16px;font-size:13px;margin-bottom:14px}
.ch-dados small{display:block;color:var(--muted);font-size:11.5px}
.ch-desc{white-space:pre-wrap;background:var(--bg);border-radius:10px;padding:10px 12px;margin:0 0 14px;font-size:14px}
.ch-imgs{display:flex;gap:10px;flex-wrap:wrap}
.ch-imgs img{max-width:100%;width:260px;border-radius:10px;border:1px solid var(--line);display:block}
#dlg-reporte{width:min(880px,96vw)}
aside nav :is([data-tab="chamados"],a[href="index.html#chamados"]){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-8 8H4l2.2-3.3A8 8 0 1 1 21 12z'/%3E%3Cpath d='M12 8v4'/%3E%3Cpath d='M12 15.5v.01'/%3E%3C/svg%3E")}

/* ============ TEMA DO SISTEMA: "Painel verde" (fixo, nos modos claro e escuro) ============
   As regras "html ..." acima são o tema; aqui ficam as cores que mudam de um modo para o outro. */
html{--pn-menu:#fff;--pn-menu-txt:#6b7285;--pn-hover:#f3f4f9;--pn-campo:#f6f7fb;--pn-sub:#e7e9f1;--pn-selo:#171a26;--pn-tag:#dcf7e6;--pn-tag-txt:#17803f;--pn-alerta:#ffe9e7;--pn-alerta-txt:#c0392b}
html[data-tema="escuro"]{--pn-menu:#0f1f1d;--pn-menu-txt:#b7c9c6;--pn-hover:rgba(255,255,255,.07);--pn-campo:rgba(255,255,255,.055);--pn-sub:rgba(255,255,255,.06);--pn-selo:rgba(255,255,255,.09);
  --pn-tag:rgba(46,204,113,.16);--pn-tag-txt:#86e3ad;--pn-alerta:rgba(231,76,60,.2);--pn-alerta-txt:#ffa79c;--sombra:0 1px 2px rgba(0,0,0,.35),0 10px 30px rgba(0,0,0,.28);--sombra-alta:0 20px 50px rgba(0,0,0,.55)}
html[data-tema="escuro"] aside{background:var(--pn-menu);box-shadow:0 0 0 1px rgba(255,255,255,.05),var(--sombra)}
html[data-tema="escuro"] .marca{background:transparent}
html[data-tema="escuro"] aside nav button,html[data-tema="escuro"] aside nav a.nv2{color:var(--pn-menu-txt)}
html[data-tema="escuro"] aside nav button:hover,html[data-tema="escuro"] aside nav a.nv2:hover{color:#fff}
html[data-tema="escuro"] aside nav button.on,html[data-tema="escuro"] aside nav a.nv2.on{color:#fff}
html[data-tema="escuro"] #nav-clientes button{color:var(--pn-menu-txt)}
html[data-tema="escuro"] #nav-clientes button.on{background:rgba(255,255,255,.1);color:#fff}
html[data-tema="escuro"] aside footer.quem{color:var(--pn-menu-txt);border-top-color:rgba(255,255,255,.08)}
html[data-tema="escuro"] aside footer.quem b{color:#fff}
html[data-tema="escuro"] aside footer.quem button{color:#7fd6cc}
html[data-tema="escuro"] #pncp-selo{color:#fff}
html[data-tema="escuro"] .stat{background:var(--card)}
html[data-tema="escuro"] .card .stat{background:var(--pn-campo)}
html[data-tema="escuro"] .stat b{color:#fff}
html[data-tema="escuro"] .stats .stat:first-child{background:var(--verde)}
html[data-tema="escuro"] .stat.ouro{background:var(--amarelo-claro)}
html[data-tema="escuro"] .stat.ouro b{color:#ffd866}
html[data-tema="escuro"] .btn.sec{background:var(--pn-campo);border-color:rgba(255,255,255,.1);color:#e6efed}
html[data-tema="escuro"] .btn.sec:hover{background:rgba(255,255,255,.1);border-color:#7fd6cc}
html[data-tema="escuro"] .btn{box-shadow:none}
html[data-tema="escuro"] input[type=text],html[data-tema="escuro"] input[type=date],html[data-tema="escuro"] input[type=password],html[data-tema="escuro"] select,html[data-tema="escuro"] textarea{background:var(--pn-campo);color:var(--text)}
html[data-tema="escuro"] select option{background:#14211f;color:#e6efed}
html[data-tema="escuro"] .ufs label{background:var(--pn-campo);color:var(--text)}
html[data-tema="escuro"] .modos button{background:var(--card);color:var(--muted)}
html[data-tema="escuro"] .modos button.on{background:var(--verde);color:#fff}
html[data-tema="escuro"] .cartao{background:var(--card)}
html[data-tema="escuro"] .rep-bola{box-shadow:0 8px 22px rgba(0,0,0,.5)}
/* menu: todos os itens alinhados; com muitos itens, a lista rola e o rodapé (PNCP, usuário) fica sempre à vista */
html aside{overflow:visible}
html aside .marca{border-radius:24px 24px 0 0}
html aside nav{overflow-y:auto;min-height:0;scrollbar-width:thin}
html aside nav button.nv2,html aside nav a.nv2,html aside nav a.nv2.raiz{padding-left:12px}

/* engrenagem no canto superior direito: modo claro/escuro, alterar senha e sair */
.eng{position:fixed;top:14px;right:18px;z-index:55}
.eng-bt{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--muted);cursor:pointer;display:grid;place-items:center;opacity:.8;transition:opacity .15s,color .15s,transform .25s;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.eng-bt:hover,.eng-bt[aria-expanded="true"]{opacity:1;color:var(--verde);transform:rotate(40deg)}
.eng-menu{position:absolute;top:46px;right:0;min-width:210px;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 36px rgba(0,0,0,.2);padding:8px}
.eng-menu[hidden]{display:none}
.eng-quem{padding:8px 12px 10px;border-bottom:1px solid var(--line);margin-bottom:6px}
.eng-quem b{display:block;font-size:14px}
.eng-quem small{color:var(--muted);font-size:12px}
.eng-menu button{display:block;width:100%;text-align:left;border:0;background:none;padding:9px 12px;border-radius:9px;font:inherit;font-size:14px;color:var(--text);cursor:pointer;text-decoration:none}
.eng-menu button:hover{background:var(--pn-hover)}
.eng-menu #u-sair{color:var(--erro)}
html main,html main.solo{padding-right:68px}
html aside footer.quem{padding-bottom:14px}

/* LC Lances (painel do robô de lances) */
body.lances{background:var(--bg)}
main.lc-lances{max-width:760px;padding:18px 16px 60px}
.la-topo{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.la-topo img{height:40px}
.la-topo small{color:var(--muted);font-size:12px}
.la-topo .tag{margin-left:auto}
.la-alvo{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;margin:0 0 6px;cursor:pointer;font-weight:400;color:var(--text)}
.la-alvo.on{border-color:var(--verde);background:var(--verde-claro)}
.la-alvo small,.la-est small{display:block;color:var(--muted);font-size:12px;font-weight:400}
.la-alvo input{width:16px;height:16px;flex:none}
.la-grupo{border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:8px}
.la-grupo-t{display:block;font-size:13px;margin-bottom:8px}
.la-est{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0 0 8px;cursor:pointer;color:var(--text);font-size:13.5px;font-weight:400}
.la-est:last-child{margin-bottom:0}
.la-est>span:not(.la-n){flex:1}
.la-est:has(input[type=checkbox]:checked){border-color:var(--verde);box-shadow:0 0 0 2px color-mix(in srgb,var(--verde) 18%,transparent)}
.la-est input[type=checkbox],.la-est input[type=radio]{width:18px;height:18px;flex:none;accent-color:var(--verde)}
.la-est:has(input[type=radio]:checked){border-color:var(--verde);box-shadow:0 0 0 2px color-mix(in srgb,var(--verde) 18%,transparent)}
.la-achados{border:1px solid var(--line);border-radius:14px;padding:10px;max-height:42vh;overflow:auto}
.la-achados .la-alvo input{width:17px;height:17px}
.lc-lances .ce-tab small{display:block;color:var(--muted);font-size:12px}
.la-lista{margin:10px 0 0;padding-left:18px;font-size:12.5px;color:var(--muted)}
.la-lista li{margin:3px 0}
.la-n{flex:none;width:22px;height:22px;border:2px solid var(--text);border-radius:5px;display:grid;place-items:center;font-size:12px;font-weight:700}
.la-num{width:86px!important;flex:none;text-align:center}
.la-campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
html main.lc-lances{padding-right:16px}

/* Robô de lances dentro do sistema */
html main.lc-lances{max-width:1180px;padding-right:68px}
.la-campos[hidden]{display:none}
.lc-lances>.av-cli>div:first-child{display:block}
.la-relogio{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-variant-numeric:tabular-nums}
.la-relogio b{font-size:13px;color:var(--muted)}
.la-chips{display:flex;flex-wrap:wrap;gap:8px}
.la-chips button{border:1px solid var(--line);background:var(--pn-campo);color:var(--text);border-radius:10px;padding:8px 16px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.la-chips button.encerrado{opacity:.6}
.la-chips button.on{background:var(--verde);border-color:var(--verde);color:#fff;opacity:1}
.la-ping{font-size:12.5px;color:var(--muted);white-space:nowrap}
.la-itens{border:1px solid var(--line);border-radius:14px;padding:8px 14px;min-height:120px}
.la-item{display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.la-item:last-child{border-bottom:0}
.la-item small{color:var(--muted)}
.la-quadro{display:block;width:100%;height:78vh;border:1px solid var(--line);border-radius:14px;background:#fff}
.la-quadro[hidden]{display:none}
.la-passos{margin:0;padding-left:20px;font-size:13.5px}
.la-passos li{margin:0 0 10px}
.lc-lances code{background:var(--pn-campo);border-radius:6px;padding:2px 6px;font-size:12.5px}
aside nav :is(a[href="lances.html"]){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2L4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E")}

/* relatório de pesquisa de preços */
.rl-corpo{display:grid;grid-template-columns:minmax(320px,1fr) minmax(0,1.25fr);gap:16px;height:74vh}
.rl-esq{display:flex;flex-direction:column;min-height:0;overflow:auto;padding-right:4px}
.rl-esq textarea{flex:1;min-height:240px;font-size:13px;line-height:1.5;resize:none}
.rl-campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.rl-dir{min-height:0}
#rl-previa{width:100%;height:100%;border:1px solid var(--line);border-radius:12px;background:#8a8f93}
@media (max-width:1000px){.rl-corpo{grid-template-columns:1fr;height:auto}#rl-previa{height:70vh}}

.busca-prog .prog-dica{display:block;margin-top:4px;opacity:.8}

/* barra de andamento da pesquisa de preços, canto inferior direito, em todas as telas */
.pp-barra{position:fixed;right:18px;bottom:18px;z-index:58;width:min(320px,calc(100vw - 32px));background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.25);padding:12px 14px 10px;font-size:13px}
.pp-barra[hidden]{display:none}
.pp-topo{display:flex;align-items:center;gap:8px}
.pp-tit{flex:1;font-size:13.5px;line-height:1.3}
.pp-fechar{border:0;background:none;color:inherit;opacity:.55;font-size:18px;line-height:1;cursor:pointer;padding:0 2px}
.pp-fechar:hover{opacity:1}
.pp-trilho{height:7px;border-radius:99px;background:var(--verde-claro);overflow:hidden;margin:9px 0 7px;position:relative}
.pp-cheio{display:block;height:100%;width:3%;background:var(--verde);border-radius:99px;transition:width .6s ease}
.pp-indef .pp-cheio{width:35%!important;position:absolute;animation:pp-vai 1.4s ease-in-out infinite}
@keyframes pp-vai{0%{left:-35%}100%{left:100%}}
.pp-fim .pp-cheio{background:var(--ok,#2e9e5b)}
.pp-pe{display:flex;align-items:center;gap:8px}
.pp-txt{flex:1;opacity:.8}
.pp-ver{border:1px solid var(--verde);background:none;color:var(--verde);border-radius:8px;padding:3px 12px;font-size:12.5px;font-weight:600;cursor:pointer}
.pp-ver:hover{background:var(--verde);color:#fff}
/* itens da pesquisa por arquivo: palavras de busca com botão de nova pesquisa; item sem preço em vermelho */
.av-q{display:flex;gap:6px;align-items:center;min-width:220px}
.av-q input{flex:1;min-width:0}
.av-q .btn{flex:none;min-width:34px}
html .tag.verm{background:rgba(198,40,40,.14);color:#c62828}
html[data-tema="escuro"] .tag.verm{background:rgba(255,99,99,.2);color:#ff9c9c}
#av-body tr.av-semp td{background:rgba(198,40,40,.07)}
#av-body tr.av-semp td:first-child{box-shadow:inset 3px 0 0 #c62828}
#av-body tr.av-semp input[data-q]{border-color:rgba(198,40,40,.55)}
html[data-tema="escuro"] #av-body tr.av-semp td{background:rgba(255,99,99,.09)}
.stat span small{display:block;font-size:11px;opacity:.85;margin-top:2px}

/* menu: clientes em listas suspensas por tipo (Públicos / Privados) */
#nav-clientes .nav-grupo{margin:1px 0}
#nav-clientes .nav-grupo>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:5px 12px 5px 34px;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--pn-menu-txt,inherit);opacity:.75;user-select:none}
#nav-clientes .nav-grupo>summary::-webkit-details-marker{display:none}
#nav-clientes .nav-grupo>summary::before{content:"\25B8";font-size:10px;transition:transform .15s}
#nav-clientes .nav-grupo[open]>summary::before{transform:rotate(90deg)}
#nav-clientes .nav-grupo>summary small{margin-left:auto;font-weight:600}
#nav-clientes .nav-grupo>summary:hover{opacity:1}
/* pesquisa de preços: órgão público vinculado */
.av-orgao-campo select{min-width:260px}
.av-orgao-campo.falta select{border-color:#c62828;box-shadow:0 0 0 3px rgba(198,40,40,.12)}
.av-orgao-campo small{display:block;margin-top:3px}
/* verificação automática de velocidade: mesmo visual do selo do PNCP */
#vel-selo{display:flex;align-items:center;gap:8px;width:100%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:7px 12px;font:inherit;font-size:12px;cursor:pointer;transition:background .2s}
#vel-selo:hover{background:rgba(255,255,255,.16)}
#vel-selo b{flex:1;text-align:left;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#vel-selo small{opacity:.75;font-variant-numeric:tabular-nums}
#vel-selo>i,.pncp-topo>i{box-shadow:0 0 0 0 var(--c);animation:pncp-pulso 2s infinite}
#vel-selo.vendo>i{animation-duration:.7s}
#vel-painel{position:absolute;left:0;bottom:calc(100% + 8px);width:268px;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.28);padding:14px;z-index:50;font-size:13px}
#vel-painel[hidden]{display:none}
html #vel-selo{background:var(--pn-selo);border-color:var(--pn-selo);color:#fff;border-radius:16px;padding:12px 14px}
html #vel-selo:hover{filter:brightness(1.25)}
html[data-tema="escuro"] #vel-selo{color:#fff}
.pncp.vel{margin-bottom:6px}
#vel-selo{padding-top:9px!important;padding-bottom:9px!important}

/* ---------- Caixa de entrada (barra lateral direita) ---------- */
.cx{--cx-larg:340px;--cx-fundo:linear-gradient(180deg,#0b6e66,#075049);--cx-cartao:#ffffff;--cx-cartao-txt:#172b4d;--cx-meta:#44546f}
html[data-tema="escuro"] .cx,html[data-tema="escuro"] .cx-dlg{--cx-cartao:#22272b;--cx-cartao-txt:#dee4ea;--cx-meta:#9fadbc}
.cx-alca{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:56;display:flex;flex-direction:column;align-items:center;gap:8px;border:0;border-radius:12px 0 0 12px;padding:14px 8px;background:#0b6e66;color:#fff;cursor:pointer;box-shadow:-4px 6px 18px rgba(0,0,0,.25);font:inherit}
.cx-alca span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12.5px;font-weight:700;letter-spacing:.02em}
.cx-alca b{min-width:20px;height:20px;border-radius:99px;background:rgba(255,255,255,.22);font-size:11.5px;display:grid;place-items:center;padding:0 5px}
.cx-alca b.atraso{background:#e5484d}
.cx-alca:hover{background:#085a53}
html.cx-aberta .cx-alca{display:none}
.cx-painel{position:fixed;top:0;right:0;bottom:0;width:var(--cx-larg);max-width:100vw;z-index:57;background:var(--cx-fundo);color:#fff;display:flex;flex-direction:column;padding:12px 10px 10px;box-shadow:-10px 0 34px rgba(0,0,0,.28);transform:translateX(105%);transition:transform .22s ease;border-radius:16px 0 0 16px}
html.cx-aberta .cx-painel{transform:none}
html.cx-fixa .cx-painel{box-shadow:none;border-radius:0}
html.cx-fixa body{padding-right:var(--cx-larg,340px)}
html.cx-fixa{--cx-larg:340px}
html.cx-aberta .eng{right:calc(340px + 18px)}
html.cx-aberta .pp-barra{right:calc(340px + 18px)}
.cx-topo{display:flex;align-items:center;gap:8px;padding:2px 4px 10px}
.cx-topo b{flex:1;font-size:15px}
.cx-ic{border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:8px;min-width:30px;height:28px;padding:0 8px;cursor:pointer;font:inherit;font-size:12px;font-weight:600}
.cx-ic:hover{background:rgba(255,255,255,.24)}
#cx-fechar{font-size:18px;line-height:1}
.cx-add{width:100%;text-align:left;border:0;border-radius:10px;padding:10px 12px;background:rgba(0,0,0,.22);color:rgba(255,255,255,.9);cursor:pointer;font:inherit;font-size:14px}
.cx-add:hover{background:rgba(0,0,0,.32)}
.cx-form{background:var(--cx-cartao);border-radius:10px;padding:8px}
.cx-form textarea{width:100%;border:0;resize:none;background:transparent;color:var(--cx-cartao-txt);font:inherit;font-size:14px;outline:0}
.cx-form>div{display:flex;align-items:center;gap:6px;margin-top:6px}
.cx-form .cx-ic{background:none;color:var(--cx-meta);font-size:18px}
.cx-lista{flex:1;overflow-y:auto;margin-top:10px;padding:0 2px 6px;display:flex;flex-direction:column;gap:8px}
.cx-cartao{background:var(--cx-cartao);color:var(--cx-cartao-txt);border-radius:10px;padding:9px 11px;box-shadow:0 1px 1px rgba(9,30,66,.25);cursor:pointer;transition:box-shadow .12s,transform .12s;border:2px solid transparent}
.cx-cartao:hover{border-color:#5fd3c8}
.cx-cartao.arrastando{opacity:.45}
.cx-cartao.feito b{text-decoration:line-through;opacity:.6}
.cx-etqs{display:flex;gap:4px;margin-bottom:6px}
.cx-etqs i{width:38px;height:8px;border-radius:4px}
.cx-linha{display:flex;align-items:flex-start;gap:8px}
.cx-linha b{font-size:14px;font-weight:600;line-height:1.35;word-break:break-word}
.cx-ok{flex:none;width:18px;height:18px;border-radius:50%;border:2px solid var(--cx-meta);background:transparent;color:#fff;font-size:11px;line-height:1;display:grid;place-items:center;cursor:pointer;padding:0;margin-top:1px}
.cx-ok:hover{border-color:#1f845a}
.feito .cx-ok,.cx-ok:not(:empty){background:#1f845a;border-color:#1f845a}
.cx-ok.grande{width:22px;height:22px;margin-top:6px}
.cx-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:12px;color:var(--cx-meta)}
.cx-meta:empty{display:none}
.cx-meta .ok{color:#1f845a;font-weight:700}
.cx-prazo{border-radius:4px;padding:1px 6px;font-weight:600;font-size:12px}
.cx-prazo.atraso{background:#c9372c;color:#fff}
.cx-prazo.logo{background:#f5cd47;color:#533f04}
.cx-prazo.feito{background:#1f845a;color:#fff}
.cx-vazio{color:rgba(255,255,255,.85);font-size:13px;padding:14px 6px;text-align:center;line-height:1.5}
.cx-msg{color:#ffd2cc;font-size:12px;padding:2px 4px}
.cx-msg:empty{display:none}
/* cartão aberto */
.cx-dlg{width:min(860px,calc(100vw - 24px));max-height:calc(100vh - 40px);border:0;border-radius:16px;padding:0;background:var(--card);color:var(--text);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.cx-dlg::backdrop{background:rgba(0,0,0,.55)}
.cx-det{display:grid;grid-template-columns:1.5fr 1fr;min-height:420px}
.cx-det-esq{padding:22px 24px;display:flex;flex-direction:column;gap:14px;min-width:0}
.cx-det-dir{padding:22px 20px;background:var(--bg);border-radius:0 16px 16px 0;display:flex;flex-direction:column;gap:8px;min-width:0;overflow-y:auto;max-height:calc(100vh - 40px)}
.cx-det-dir h4,.cx-sec h4{margin:0;font-size:14px}
.cx-det-dir textarea,.cx-sec textarea{width:100%;font:inherit;font-size:14px;border-radius:10px;padding:8px 10px}
.cx-det-dir .btn{align-self:flex-start}
.cx-chip{align-self:flex-start;font-size:11.5px;font-weight:700;border:1px solid var(--line);border-radius:6px;padding:2px 8px;color:var(--muted)}
.cx-det-tit{display:flex;gap:10px;align-items:flex-start}
.cx-det-tit textarea{flex:1;border:0;background:transparent;color:inherit;font:inherit;font-size:21px;font-weight:700;resize:none;overflow:hidden;padding:2px 4px;border-radius:8px}
.cx-det-tit textarea:focus{background:var(--bg);outline:2px solid var(--verde)}
.cx-det-acoes{display:flex;flex-wrap:wrap;gap:8px}
.cx-bt{border:1px solid var(--line);background:transparent;color:inherit;border-radius:8px;padding:6px 12px;cursor:pointer;font:inherit;font-size:13px;font-weight:600}
.cx-bt:hover{background:var(--bg)}
.cx-blocos{display:flex;flex-wrap:wrap;gap:18px}
.cx-bloco[hidden]{display:none}
.cx-bloco small{display:block;color:var(--muted);font-size:12px;font-weight:600;margin-bottom:5px}
.cx-data{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cx-data input{width:auto}
.cx-link{border:0;background:none;color:var(--verde);cursor:pointer;font:inherit;font-size:12px;padding:0;text-decoration:underline}
.cx-etq-lista{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.cx-etq{display:inline-flex;align-items:center;gap:4px;color:#fff;border-radius:4px;padding:3px 4px 3px 8px;font-size:12.5px;font-weight:600;min-height:24px;min-width:40px}
.cx-etq button{border:0;background:none;color:#fff;opacity:.75;cursor:pointer;font-size:14px;line-height:1}
.cx-etq-nova{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}
.cx-etq-nova input{width:130px;font-size:12.5px;padding:4px 8px}
.cx-cor{width:22px;height:22px;border-radius:4px;border:0;cursor:pointer}
.cx-cor:hover{outline:2px solid var(--text)}
.cx-sec{display:flex;flex-direction:column;gap:8px}
.cx-sec[hidden]{display:none}
.cx-prog{height:8px;background:var(--line);border-radius:99px;overflow:hidden}
.cx-prog i{display:block;height:100%;background:#1f845a}
.cx-chk{display:flex;align-items:center;gap:8px;font-weight:400;font-size:14px;margin:0;color:var(--text);cursor:pointer}
.cx-chk input{width:16px;height:16px;accent-color:#1f845a}
.cx-chk span{flex:1}
.cx-chk.ok span{text-decoration:line-through;color:var(--muted)}
.cx-chk button{border:0;background:none;color:var(--muted);cursor:pointer;font-size:16px;visibility:hidden}
.cx-chk:hover button{visibility:visible}
.cx-chk-novo{display:flex;gap:6px}
.cx-chk-novo input{flex:1}
.cx-det-pe{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.cx-det-pe .btn:last-child{margin-left:auto}
.cx-hist{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.cx-hist li{display:flex;gap:10px;font-size:13px}
.cx-av{flex:none;width:30px;height:30px;border-radius:50%;background:#0b6e66;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700}
.cx-hist p{margin:4px 0;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:7px 10px;white-space:pre-wrap;word-break:break-word}
.cx-hist small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
@media (max-width:760px){.cx-det{grid-template-columns:1fr}.cx-det-dir{border-radius:0 0 16px 16px;max-height:none}html.cx-fixa body{padding-right:0}.cx{--cx-larg:100vw}}
/* Consulta fornecedor: relatório de situação (sanções e cadastros) */
.fs-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.fs-topo h3{font-size:20px}
.fs-acoes{display:flex;gap:8px;flex-wrap:wrap}
.fs-dados{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 22px;margin:14px 0 6px}
.fs-dados small{display:block;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.fs-dados b{font-weight:600;font-size:13.5px}
.fs-verde{color:#1f845a}
html[data-tema="escuro"] .fs-verde{color:#5fd699}
.fs-tit{margin:18px 0 8px}
.fs-resumo{border-radius:12px;padding:11px 14px;font-size:13.5px;background:var(--verde-claro);border:1px solid color-mix(in srgb,var(--verde) 30%,transparent)}
.fs-resumo.erro{background:rgba(201,55,44,.1);border-color:rgba(201,55,44,.4)}
.fs-resumo.atencao{background:var(--amarelo-claro);border-color:rgba(255,185,2,.5)}
.fs-tab td{vertical-align:top}
.fs-tab td small{display:block;color:var(--muted);font-size:11.5px}
.fs-tab tr.fs-manual td{opacity:.8}
.fs-tab a{white-space:nowrap}
.fs-socios{margin-top:12px}
.fs-socios summary{cursor:pointer;font-weight:600;font-size:13.5px}
.fs-socio{padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.fs-socio small{display:block;color:var(--muted);font-size:12px}
html .tag.cinza{background:rgba(120,130,140,.16);color:var(--muted)}
.cx-alca b[hidden]{display:none}
.fs-tab td,.fs-tab th{white-space:normal}
.fs-tab td:nth-child(3){min-width:220px}
.fs-tab td:nth-child(4){min-width:180px}
.fs-tab td:first-child,.fs-tab td:last-child{white-space:nowrap}

.f-tabela td.f-ata{white-space:normal;min-width:200px}
.f-tabela td.f-ata small{display:block;color:var(--muted);font-size:12px}
.f-tabela td small{display:block}

/* Consulta fornecedor: cada ata com os itens ganhos */
.f-tabela td.f-grupo{white-space:normal;padding:6px 0}
.f-ata-bloco{border:1px solid var(--line);border-radius:12px;background:var(--card)}
.f-ata-bloco>summary{list-style:none;cursor:pointer;display:flex;gap:14px;align-items:flex-start;padding:12px 14px}
.f-ata-bloco>summary::-webkit-details-marker{display:none}
.f-ata-bloco>summary::before{content:"\25B8";color:var(--muted);transition:transform .15s;margin-top:2px}
.f-ata-bloco[open]>summary::before{transform:rotate(90deg)}
.f-ata-cab{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.f-ata-cab small{color:var(--muted);font-size:12px}
.f-ata-tot{text-align:right;white-space:nowrap}
.f-ata-tot b{display:block;font-size:15px}
.f-ata-tot small{color:var(--muted);font-size:12px}
.f-ata-itens{width:100%;border-collapse:collapse;font-size:13px}
.f-ata-itens th{font-size:11px;text-transform:uppercase;color:var(--muted);text-align:left;padding:6px 10px;border-top:1px solid var(--line)}
.f-ata-itens td{padding:8px 10px;border-top:1px solid var(--line);vertical-align:top;white-space:normal}
.f-ata-itens td small{display:block;color:var(--muted);font-size:11.5px}
.f-ata-itens .num{text-align:right;white-space:nowrap}.f-ata-cab>.tag{align-self:flex-start}

/* Análise de mercado: modo "Contratações anteriores de um órgão" */
#mz-modos{margin-bottom:16px}
body.modo-orgao #mz-card,body.modo-orgao #mz-out{display:none!important}
.ho-filtravel{cursor:pointer;border-radius:8px}
.ho-filtravel:hover,.ho-filtravel.on{background:var(--verde-claro)}
.f-rot small{display:block;color:var(--muted);font-size:11px}.la-ext-nova{color:#c25100}
html[data-tema="escuro"] .la-ext-nova{color:#ffb74d}

/* ---------- Minhas propostas ---------- */
.la-menu{position:relative;display:inline-block}
.la-menu-lista{position:absolute;z-index:30;top:calc(100% + 4px);left:0;min-width:300px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.15);padding:6px}
.la-menu-lista[hidden]{display:none}
.la-menu-lista button{display:block;width:100%;text-align:left;border:0;background:none;font:inherit;font-size:13px;color:var(--text);padding:7px 10px;border-radius:6px;cursor:pointer}
.la-menu-lista button:hover{background:var(--verde-claro)}
.la-menu-lista hr{border:0;border-top:1px solid var(--line);margin:4px 0}
.pr-barra{flex-wrap:wrap;gap:6px}
.pr-tab td,.pr-tab th{font-size:12.5px;white-space:nowrap}
.pr-tab tr.on td{background:var(--verde-claro)}
.pr-tab tbody tr{cursor:pointer}
.pr-sim{color:var(--ok);font-weight:700}.pr-nao{color:var(--erro);font-weight:700}
.pr-itens-cx{max-height:46vh;overflow:auto;border:1px solid var(--line);border-radius:10px}
.pr-itens th{position:sticky;top:0;background:var(--card);z-index:1;font-size:12px}
.pr-itens td{padding:3px 4px;vertical-align:top}
.pr-itens input,.pr-itens textarea{font-size:12.5px;padding:4px 6px;min-width:0}
.pr-itens .n{width:56px}.pr-itens .q{width:76px}.pr-itens .u{width:64px}.pr-itens .v{width:108px}.pr-itens .m{width:120px}
.pr-itens textarea{width:260px;min-height:32px;resize:vertical}
.pr-itens .tot{white-space:nowrap;font-variant-numeric:tabular-nums;padding-top:9px}
.pr-itens .x{border:0;background:none;color:var(--muted);font-size:18px;cursor:pointer}
/* Proposta comercial no cartão */
.ct-prop{margin:14px 0 0}
.ct-prop-cx{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-left:4px solid var(--verde);border-radius:12px;padding:10px 12px;background:var(--card)}
.ct-prop-cx>div{flex:1}.ct-prop-cx small{display:block;color:var(--muted);font-size:12px}
.dlg-prop{width:min(1280px,calc(100vw - 24px));max-width:none;height:calc(100vh - 40px)}
.dlg-prop[open]{display:flex;flex-direction:column}
.pr-corpo{flex:1;min-height:0;display:grid;grid-template-columns:minmax(380px,1fr) minmax(360px,.9fr);gap:14px;padding:12px 16px;overflow:hidden}
.pr-form{overflow-y:auto;padding-right:6px}
.pr-form details{border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin-bottom:10px;background:var(--card)}
.pr-form summary{cursor:pointer;font-weight:700;padding:4px 0}
.pr-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:8px 0 4px}
.pr-grid label{font-size:12px;margin:0 0 3px}
.pr-l2{grid-column:span 2}
.pr-grid textarea{width:100%}
.pr-grid input[type=color]{height:36px;padding:2px;width:100%}
.pr-logo{display:flex;gap:12px;align-items:center}.pr-logo img{max-height:56px;max-width:140px;object-fit:contain;border:1px solid var(--line);border-radius:8px;padding:4px;background:#fff}
.pr-logo img[hidden]{display:none}
.pr-itens{width:100%;border-collapse:collapse;font-size:12.5px}
.pr-itens th{font-size:11px;color:var(--muted);text-align:left;padding:4px}
.pr-itens td{padding:3px;vertical-align:top}
.pr-itens input,.pr-itens textarea{width:100%;font-size:12.5px;padding:5px 6px}
.pr-itens textarea{min-width:200px}
.pr-itens td.num{white-space:nowrap;padding-top:9px;font-weight:600}
.pr-previa{border:1px solid var(--line);border-radius:12px;background:#e9edec;overflow:hidden;display:flex}
.pr-previa iframe{flex:1;border:0;background:#fff;width:100%}
@media (max-width:900px){.pr-corpo{grid-template-columns:1fr;overflow-y:auto}.pr-previa{min-height:600px}}
/* cadastro do cliente: dados para propostas e identidade visual */
.k-prop{border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin:10px 0}
.k-prop summary{cursor:pointer;font-weight:700;padding:4px 0}
.k-logo{display:flex;gap:14px;align-items:center;margin:8px 0}
.k-logo img{max-height:64px;max-width:160px;object-fit:contain;border:1px solid var(--line);border-radius:8px;padding:4px;background:#fff}
.k-logo img[hidden]{display:none}
.k-cores{display:flex;gap:16px;align-items:center}.k-cores span{display:flex;gap:6px;align-items:center;font-size:13px}.k-cores input{width:56px;height:34px;padding:2px}
.k-com-bt{display:flex;gap:6px;align-items:center}.k-com-bt input{flex:1}
.k-banco{display:grid;grid-template-columns:1.3fr .7fr 1fr 1.3fr;gap:6px}
/* proposta: resumo da empresa (só leitura) */
.pr-emp-cab{display:flex;align-items:center;gap:10px}
.pr-emp-cab img{max-height:44px;max-width:120px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:6px;padding:3px}
.pr-emp-cab>div{flex:1}.pr-emp-cab small,.pr-emp small{display:block;color:var(--muted);font-size:12px}
.pr-emp-semlogo{font-size:11px;color:var(--muted);border:1px dashed var(--line);border-radius:6px;padding:8px}
.pr-cor{width:22px;height:22px;border-radius:6px;border:1px solid var(--line)}
.pr-falta{margin:6px 0 0;color:#946f00;font-size:12.5px}
/* proposta: detalhamento de cada item (foto, catálogo, descrição detalhada) */
.pr-det td{background:var(--bg);border-radius:8px}
.pr-det[hidden]{display:none}
.pr-det-cx{display:flex;gap:12px;padding:6px}
.pr-foto{display:flex;flex-direction:column;gap:6px;align-items:center;width:140px;flex:none}
.pr-foto img{width:130px;height:130px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px}
.pr-foto>span{width:130px;height:130px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:12px}
.pr-foto label.btn{cursor:pointer;margin:0}
.pr-det-campos{flex:1;display:flex;flex-direction:column;gap:6px}
.pr-det-campos label{font-size:12px;margin:0}
.pr-det-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}
.pr-det-grid .pr-l2{grid-column:span 2}
.pr-itens .btn.on{background:var(--verde-claro);border-color:var(--verde);color:var(--verde-esc)}
/* Central: gráficos de desempenho (picos e quedas) */
.ce-vel-graf h4{margin:14px 0 2px;font-size:13.5px}
.ce-vel-svg svg{width:100%;height:auto;display:block}
.ce-vel-svg .g{stroke:#e1e0d9;stroke-width:1}
html[data-tema="escuro"] .ce-vel-svg .g{stroke:#2c2c2a}
.ce-vel-svg .tk{fill:#898781;font-size:11px}
.ce-vel-svg .ln{fill:none;stroke:#2a78d6;stroke-width:1.6;stroke-linejoin:round;opacity:.75}
.ce-vel-svg .lm{stroke:#898781;stroke-width:1.2;stroke-dasharray:5 4}
.ce-vel-svg .pt circle:not(.alvo){fill:#2a78d6;stroke:var(--card);stroke-width:1.5}
.ce-vel-svg .pc rect{fill:#d03b3b;stroke:var(--card);stroke-width:1.5}
.ce-vel-svg .alvo{fill:transparent;stroke:none;cursor:pointer}
.ce-vel-svg g:hover circle:not(.alvo),.ce-vel-svg g:hover rect{stroke:var(--text);stroke-width:2}
.ce-vel-pico{color:#d03b3b;font-weight:600}
.ce-vel-leg{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-left:auto}
.ce-vel-leg i{display:inline-block;width:9px;height:9px}
.ce-vel-leg .pt{background:#2a78d6;border-radius:50%}.ce-vel-leg .pc{background:#d03b3b;transform:rotate(45deg)}.ce-vel-leg .lm{width:14px;height:0;border-top:2px dashed #898781}
/* selo Sistema: mini-gráfico das últimas medições */
.vel-mini{display:flex;align-items:flex-end;gap:2px;height:34px;margin:10px 0 8px;padding:0 1px}
.vel-mini i{flex:1;min-width:3px;border-radius:2px 2px 0 0;background:var(--c,#3ddc84);--c:#3ddc84}
.vel-mini i[data-estado="lento"]{--c:#ffb902}.vel-mini i[data-estado="fora"]{--c:#ff5252}

/* pesquisas salvas: abas discretas Em andamento / Finalizadas */
.sv-abas{display:flex;gap:14px;margin:0 0 8px;border-bottom:1px solid var(--line)}
.sv-abas button{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:4px 2px 6px;font:inherit;font-size:13px;color:var(--muted);cursor:pointer}
.sv-abas button span{font-size:11.5px;opacity:.8;margin-left:2px}
.sv-abas button[aria-selected="true"]{color:var(--text);border-bottom-color:var(--verde);font-weight:600}
.sv-fin{background:none;border:0;padding:2px 4px;margin-left:4px;font:inherit;font-size:12px;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.sv-fin:hover{color:var(--verde)}
.sv-fin:disabled{opacity:.5;cursor:wait}
/* proposta: o quadro da foto recebe foco para colar com Ctrl+V */
.pr-foto:focus-visible{outline:2px solid var(--verde);outline-offset:3px;border-radius:8px}
.pr-foto>span small{font-size:10.5px;opacity:.8}
/* cartão: imagens coladas no comentário (Ctrl+V) */
.ct-fotos{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.ct-fotos img{max-width:160px;max-height:120px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:zoom-in;display:block}
.ct-fotos span{position:relative}
.ct-fotos span button{position:absolute;top:-7px;right:-7px;width:20px;height:20px;border-radius:50%;border:0;background:var(--erro);color:#fff;font-size:13px;line-height:20px;padding:0;cursor:pointer}
/* precificação (dentro do cartão) */
.ct-prop-cx.prec{border-left-color:var(--amarelo)}
.dlg-prec .pc-corpo{flex:1;min-height:0;overflow-y:auto;padding:12px 18px;display:flex;flex-direction:column;gap:16px}
.pc-corpo h3{margin:0 0 8px;font-size:15px}
.pc-taxas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.pc-taxas-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);font-weight:600}
.pc-taxas-grid label span{display:flex;align-items:center;gap:4px;color:var(--text);font-weight:400}
.pc-taxas-grid input{width:100%;text-align:right}
.pc-aviso{color:var(--erro);font-size:13px;margin:8px 0 0}
.pc-itens-topo{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-bottom:8px}
.pc-itens-topo h3{margin:0}.pc-acoes{margin-left:auto;display:flex;gap:6px}
.pc-item{border:1px solid var(--line);border-left:4px solid var(--verde);border-radius:12px;padding:10px 12px;margin-bottom:12px;background:var(--card)}
.pc-item-cab{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.pc-item-cab .pc-n{width:50px}.pc-item-cab .pc-desc{flex:1;min-width:120px}.pc-item-cab .pc-qtd{width:80px;text-align:right}.pc-item-cab .pc-un{width:90px}
.pc-item-cab label{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}
.pc-custos{width:100%;border-collapse:collapse;font-size:13px}
.pc-custos td{padding:3px 4px}.pc-custos td:first-child{width:42%}.pc-custos input,.pc-custos select{width:100%}
.pc-custos .pc-rs{white-space:nowrap;width:150px}.pc-custos .pc-rs input{width:105px;text-align:right}
.pc-custos [data-sub]{color:var(--muted);font-size:12px;white-space:nowrap;width:110px}
.pc-x{border:0;background:none;color:var(--muted);font-size:17px;cursor:pointer}.pc-x:hover{color:var(--erro)}
.pc-add-custo{border:0;background:none;color:var(--verde);font:inherit;font-size:12.5px;cursor:pointer;padding:4px}
.pc-res{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-top:8px}
.pc-res>div{background:var(--bg);border-radius:10px;padding:8px 10px}
.pc-res small{display:block;color:var(--muted);font-size:11.5px}.pc-res b{display:block;font-size:17px}
.pc-res .pc-prop{background:var(--verde-claro)}.pc-res .pc-prop b{color:var(--verde-esc)}
.pc-res .pc-min{background:var(--amarelo-claro)}
.pc-res .pc-lance input{width:110px;text-align:right}.pc-res .pos{color:var(--ok)}.pc-res .neg{color:var(--erro)}
.pc-res>div.neg{background:#fdecea}.pc-res>div.pos{background:var(--verde-claro)}
.pc-total{border-top:2px solid var(--line);padding-top:12px}
/* abas Precificação / Exequibilidade */
.pc-abas{padding:10px 18px 0}
.pc-abas .q-modo button{padding:8px 16px;font-size:14px}
.pc-abas .q-modo small{display:block;font-size:11px;font-weight:500;opacity:.8}
table.pc-lances{width:100%;border-collapse:collapse;font-size:13px}
table.pc-lances th{text-align:left;font-size:12px;color:var(--muted);padding:6px;border-bottom:1px solid var(--line)}
table.pc-lances td{padding:6px;border-bottom:1px solid var(--line);vertical-align:middle}
table.pc-lances .num{text-align:right;white-space:nowrap}
table.pc-lances small{display:block;color:var(--muted);font-size:11.5px}
table.pc-lances .pos{color:var(--ok)}table.pc-lances .neg{color:var(--erro)}
.pc-lance-in{white-space:nowrap}.pc-lance-in input{width:120px;text-align:right}
.pc-lances-tot{margin:10px 0 0;font-size:14px}.pc-lances-tot .pos{color:var(--ok)}.pc-lances-tot .neg{color:var(--erro)}
.pc-degraus{width:100%;max-width:640px;border-collapse:collapse;margin-top:12px;font-size:13px}
.pc-degraus th,.pc-degraus td{padding:5px 8px;border-bottom:1px solid var(--line);text-align:left}.pc-degraus .num{text-align:right}
.pc-degraus .pc-piso td{font-weight:700;background:var(--amarelo-claro)}
/* precificação: caixa de seleção dos parâmetros */
.pc-params{border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:var(--bg)}
.pc-params summary{cursor:pointer;font-size:14px}
.pc-params-grupo{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:8px}
.pc-params-grupo small{flex-basis:100%;color:var(--muted);font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em}
.pc-params-grupo label{display:flex;align-items:center;gap:5px;font-size:13px;cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.pc-params-grupo label:has(input:checked){border-color:var(--verde);background:var(--verde-claro)}
.pc-params-grupo input{margin:0}
/* precificação: quantidade do insumo por unidade do item */
.pc-custos .pc-q{white-space:nowrap;width:78px;color:var(--muted);font-size:12px}
.pc-custos .pc-q input{width:52px;text-align:right}
.pc-custos .pc-rs input{width:115px}
.pc-add-custo+.pc-add-custo{margin-left:10px}
/* precificação: regime tributário e DIFAL */
.pc-taxas-grid .pc-regime select,.pc-taxas-grid .pc-difal select{width:100%}
.pc-taxas-grid .pc-difal span{gap:6px}.pc-taxas-grid .pc-difal select{width:auto;flex:1}
.pc-taxas-grid .pc-difal small{font-weight:400;color:var(--muted);font-size:11px}
.pc-regime-dica{margin:8px 0 0;font-size:12px}
/* precificação: composição de insumos de uma linha */
.pc-compor{border:1px dashed var(--verde);background:none;color:var(--verde);border-radius:999px;padding:2px 9px;font:inherit;font-size:11.5px;cursor:pointer;white-space:nowrap}
.pc-compor.on{border-style:solid;background:var(--verde-claro)}
.pc-custos input[readonly]{background:var(--verde-claro);font-weight:600}
.pc-comp>td{padding:0 4px 6px 24px!important}
.pc-comp-cx{border-left:3px solid var(--verde);background:var(--bg);border-radius:0 10px 10px 0;padding:6px 8px}
.pc-comp-cx table{width:100%;border-collapse:collapse}.pc-comp-cx td{padding:2px 4px}.pc-comp-cx td:first-child{width:45%}
.pc-comp-cx input{width:100%}.pc-comp-cx .pc-q input{width:52px}.pc-comp-cx .pc-rs input{width:105px;text-align:right}
.pc-comp-cx [data-csub]{color:var(--muted);font-size:12px;white-space:nowrap}
.pc-comp-pe{display:flex;justify-content:space-between;align-items:center;margin-top:4px;font-size:12.5px}
/* precificação: lance final da disputa */
.pc-res .pc-final{border:1px dashed #5b7fb8;background:rgba(91,127,184,.12)}
.pc-res .pc-final input{width:110px;text-align:right}
.pc-res .pc-final.pos{border-style:solid;border-color:var(--ok)}.pc-res .pc-final.neg{border-style:solid;border-color:var(--erro)}
/* precificação: texto explicativo da carta de exequibilidade */
.pc-exeq textarea{width:100%;min-height:110px;resize:vertical;font:inherit;font-size:13.5px;line-height:1.5}
/* documentos do cartão (respostas, ofícios…) */
.ct-prop-cx.docs{border-left-color:#5b7fb8;align-items:flex-start}
.ct-docs-lista{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:3px}
.ct-docs-lista li{display:flex;gap:8px;align-items:baseline;font-size:13px}.ct-docs-lista li small{display:inline;color:var(--muted);font-size:11.5px}
.ct-docs-lista a{color:var(--verde);text-decoration:none}.ct-docs-lista a:hover{text-decoration:underline}
.dlg-doc{width:min(900px,calc(100vw - 24px))}
.dc-corpo{flex:1;min-height:0;overflow-y:auto;padding:12px 18px;display:flex;flex-direction:column;gap:12px}
.dc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dc-grid .dc-l2{grid-column:1/-1}
.dc-grid label,.dc-texto{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;color:var(--muted)}
.dc-grid input,.dc-grid select,.dc-grid textarea,.dc-texto textarea{font-weight:400;color:var(--text)}
.dc-texto textarea{min-height:300px;resize:vertical;font:inherit;font-weight:400;font-size:14px;line-height:1.55}
/* local e data da carta de exequibilidade */
.pc-exeq-local{display:flex;gap:12px;margin:0 0 8px}
.pc-exeq-local label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600;color:var(--muted)}
.pc-exeq-local input{font-weight:400}
/* proposta: imagens (fotos, amostras, catálogo) */
.pr-imgs-zona{border:1px dashed var(--line);border-radius:10px;padding:8px}
.pr-imgs-zona:focus{outline:2px solid var(--verde);outline-offset:2px}
.pr-imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.pr-img{position:relative;display:flex;flex-direction:column;gap:4px}
.pr-img img{width:100%;height:110px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px}
.pr-img input{font-size:12px}
.pr-img-x{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:0;background:var(--erro);color:#fff;cursor:pointer;line-height:20px;padding:0}
.pr-img select{font-size:12px;width:100%}
.imgs figcaption b{color:inherit}
/* marcações com @ no comentário do cartão e sino de notificações (abaixo da engrenagem) */
.mc-lista{display:flex;flex-direction:column;gap:2px;margin:4px 0 0;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:4px;box-shadow:0 10px 26px rgba(0,0,0,.22);max-height:240px;overflow:auto}
.mc-lista[hidden]{display:none}
.mc-lista button{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border:0;background:none;color:var(--text);font:inherit;font-size:13px;text-align:left;padding:7px 10px;border-radius:7px;cursor:pointer}
.mc-lista button small{color:var(--muted);font-size:11px}
.mc-lista button.on,.mc-lista button:hover{background:var(--pn-hover)}
.ct-atividade .mc{color:var(--verde);font-weight:600}
.nt{position:fixed;top:60px;right:18px;z-index:55}
.nt[hidden]{display:none}
.nt-bt{position:relative}
.nt-bt:hover,.nt-bt[aria-expanded="true"]{transform:none}
.nt-n{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#d4442f;color:#fff;font:700 10.5px/18px system-ui,sans-serif;font-style:normal;text-align:center}
.nt-n[hidden]{display:none}
.nt-painel{position:absolute;top:0;right:46px;width:min(380px,calc(100vw - 90px));max-height:70vh;overflow:auto;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 36px rgba(0,0,0,.25);padding:8px}
.nt-painel[hidden]{display:none}
.nt-cab{display:flex;justify-content:space-between;align-items:center;padding:4px 6px 8px;border-bottom:1px solid var(--line);margin-bottom:4px}
.nt-cab button{border:0;background:none;color:var(--verde);font:inherit;font-size:12px;cursor:pointer}
#nt-lista{list-style:none;margin:0;padding:0}
#nt-lista li{display:flex;gap:10px;padding:9px 8px;border-radius:10px;cursor:pointer;font-size:13px;line-height:1.4}
#nt-lista li:hover{background:var(--pn-hover)}
#nt-lista li.nova{background:color-mix(in srgb,var(--verde) 12%,transparent)}
#nt-lista li.vazio{cursor:default;color:var(--muted)}
#nt-lista li p{margin:3px 0;color:var(--muted);font-size:12.5px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
#nt-lista li small{color:var(--muted);font-size:11px}
.nt-ic{flex:0 0 34px;width:34px;height:34px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#fff;border:1px solid var(--line);font-style:normal}
.nt-ic.lc{background:#0b6e66}
.nt-ic img{width:100%;height:100%;object-fit:contain;padding:3px}
.nt-ic span{font:700 12px system-ui,sans-serif;color:#0b6e66}

/* filtros do Dashboard */
.p-filtros{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin:0 0 14px}
.p-filtros[hidden],.p-filtros label[hidden]{display:none}
.p-filtros label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);margin:0}
.p-filtros select{min-width:190px}

/* Gestão de atas (aba ao lado do quadro do cliente) */
.q-modo{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card)}
.q-modo button{border:0;background:none;color:var(--muted);font:inherit;font-size:13px;font-weight:600;padding:6px 14px;cursor:pointer}
.q-modo button.on{background:var(--verde);color:#fff}
.ga[hidden]{display:none}
.ga{display:flex;flex-direction:column;gap:12px;max-width:1300px}
.ga .stats{margin:0}
.ga-topo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.ga-topo small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.ga-topo .err,.ga-topo .err *{color:var(--erro)}
.ga-novas-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.ga-novas ul,.ga-pend{list-style:none;margin:0;padding:0}
.ga-novas li{font-size:13px;padding:4px 0;border-bottom:1px dashed var(--line)}
.ga-novas li small{color:var(--muted);margin-right:6px}
.ga-pend li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.ga-pend li small{display:block;color:var(--muted);font-size:12px}
.ga-filtro{display:flex;gap:6px;flex-wrap:wrap}
.ga-filtro button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:5px 12px;font:inherit;font-size:12.5px;cursor:pointer}
.ga-filtro button.on{background:var(--verde);border-color:var(--verde);color:#fff}
.ga-ata-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.ga-ata-h small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.ga-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.ga-barra{height:8px;border-radius:5px;background:var(--line);overflow:hidden;margin:10px 0 4px}
.ga-barra i{display:block;height:100%;background:linear-gradient(90deg,var(--verde),#ffb902)}
.ga-itens td,.ga-itens th,.ga-emps td,.ga-emps th{font-size:12.5px}
.ga-itens tr.off td{opacity:.55}
.ga-baixo{color:#c0392b}
.ga-emps{margin-top:8px}
.ga-emps summary{cursor:pointer;font-size:13px;color:var(--verde);font-weight:600}
.ga-form{padding:4px 2px}
.ga-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}
.ga-grid label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;margin:0}
.ga-l2{grid-column:span 2}.ga-l3{grid-column:1/-1}
.ga-ed input{width:100%}
.ga-ed select{width:100%;max-width:420px}
.ga-pdf{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border:1px dashed var(--line);border-radius:10px}
.ga-pdf .btn{margin:0;cursor:pointer}
.ga-pdf .hint,.ga-pdf .msg{font-size:12.5px;flex:1;min-width:200px}
.ga-topo .ga-dica{flex-basis:100%;margin:0}
/* arrastando um PDF: realça onde ele vai cair */
.ga-pdf.ga-solta{border:2px dashed var(--verde);background:var(--verde-claro)}
#ga.ga-solta{outline:2px dashed var(--verde);outline-offset:6px;border-radius:12px}
.ga-ata.ga-solta{outline:2px dashed var(--verde);outline-offset:2px;position:relative}
.ga-ata.ga-solta::after{content:"Solte para lançar o empenho nesta ata";position:absolute;top:-13px;left:50%;transform:translateX(-50%);white-space:nowrap;z-index:2;background:var(--verde);color:#fff;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:8px;pointer-events:none}
#ga.ga-solta::before{content:"Solte o PDF da ata para ler";position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:50;background:var(--verde);color:#fff;font-size:14px;font-weight:600;padding:10px 18px;border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.25);pointer-events:none}
@media (max-width:700px){.ga-grid{grid-template-columns:1fr}.ga-l2,.ga-l3{grid-column:auto}.ga-ata-h{flex-direction:column}}

/* ---------- celular e app Android (html.cel, ligado pelo js/celular.js em tela de até 760px) ---------- */
.cel-topo,.cel-abas,.cel-folha{display:none}
html.cel .app{display:block}
html.cel aside{display:none!important}
html.cel main,html.cel .app>main.solo{padding:66px 12px calc(84px + env(safe-area-inset-bottom))}
html.cel .cel-topo{display:flex;align-items:center;gap:10px;position:fixed;top:0;left:0;right:0;z-index:54;height:56px;padding:0 100px 0 14px;background:var(--card);border-bottom:1px solid var(--line);box-shadow:0 2px 10px rgba(0,0,0,.06)}
html.cel .cel-topo img{height:26px;width:auto}
html.cel .cel-topo b{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* engrenagem (usuário, tema, sair) e sininho ficam no topo, à direita */
html.cel .eng{top:9px;right:10px;z-index:56}
html.cel .nt{top:9px;right:54px;z-index:56}
html.cel .cel-abas{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:54;background:var(--card);border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(0,0,0,.08);padding:4px 4px calc(4px + env(safe-area-inset-bottom))}
html.cel .cel-abas button{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:none;color:var(--muted);font:inherit;font-size:11px;font-weight:600;padding:6px 2px;border-radius:12px;cursor:pointer;-webkit-tap-highlight-color:transparent}
html.cel .cel-abas button.on{color:var(--verde)}
html.cel .cel-abas button.on svg{background:var(--verde-claro);border-radius:999px;padding:2px 14px;box-sizing:content-box}
.cel-badge{position:absolute;top:2px;left:calc(50% + 8px);min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--erro);color:#fff;font-size:10.5px;font-style:normal;font-weight:700;line-height:17px;text-align:center}
.cel-badge[hidden]{display:none}
/* folha do "Mais", que sobe de baixo */
html.cel .cel-folha:not([hidden]){display:block;position:fixed;inset:0;z-index:70}
.cel-fundo{position:absolute;inset:0;background:rgba(0,0,0,.4)}
.cel-mais{position:absolute;left:0;right:0;bottom:0;max-height:82vh;overflow-y:auto;background:var(--card);color:var(--text);border-radius:20px 20px 0 0;padding:6px 10px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(0,0,0,.25);animation:cel-sobe .2s ease}
@keyframes cel-sobe{from{transform:translateY(40px);opacity:.5}to{transform:none;opacity:1}}
.cel-alca{width:40px;height:4px;border-radius:2px;background:var(--line);margin:4px auto 8px}
.cel-grupo{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:12px 10px 4px}
.cel-item{position:relative;display:flex;align-items:center;width:100%;border:0;background:none;color:var(--text);font:inherit;font-size:15px;text-align:left;padding:13px 12px;border-radius:12px;cursor:pointer}
.cel-item.sub{padding-left:22px;font-weight:600}
.cel-item.sub2{padding:9px 12px 9px 38px;font-size:14px;color:var(--muted)}
.cel-item.on{background:var(--verde-claro);color:var(--verde-esc);font-weight:600}
.cel-item .cel-badge{position:static;margin-left:auto}
html.cel-travado,html.cel-travado body{overflow:hidden}
/* o que flutuava no canto: a caixa de entrada e o reportar vão para o "Mais"; a barra de progresso sobe acima das abas */
html.cel .cx-alca,html.cel .rep-bola{display:none}
html.cel .rep{left:10px;right:10px;bottom:calc(76px + env(safe-area-inset-bottom))}
html.cel .pp-barra{bottom:calc(76px + env(safe-area-inset-bottom));right:10px}
html.cel #ga.ga-solta::before{bottom:90px}/* nada passa da largura do celular: a página nunca fica maior que a tela (era o que fazia o app reduzir o zoom) */
html.cel,html.cel body{max-width:100%;overflow-x:hidden}
html.cel main{max-width:100vw;overflow-x:clip;overflow-wrap:anywhere}
html.cel main img,html.cel main video,html.cel main canvas,html.cel main iframe{max-width:100%;height:auto}
html.cel main :is(input,select,textarea){max-width:100%}
/* tabela larga rola dentro do próprio quadro, não a página inteira */
html.cel main table{max-width:100%}
html.cel main :not(.tw)>table:not(.cel-fixa){display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
html.cel main pre{white-space:pre-wrap}
/* menus suspensos e janelas: dentro da tela */
html.cel .grp .menu>div{left:auto;right:0;max-width:calc(100vw - 24px)}
html.cel dialog{max-width:calc(100vw - 16px);margin-left:auto;margin-right:auto}
/* gestão de comissões */
aside nav :is([data-tab="comissoes"],a[href="index.html#comissoes"]){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M15 9.5c0-1.4-1.3-2.2-3-2.2s-3 .8-3 2.2 1.3 2 3 2.5 3 1.1 3 2.5-1.3 2.2-3 2.2-3-.8-3-2.2'/%3E%3Cpath d='M12 5.5v13'/%3E%3C/svg%3E")}
.cm-mei{border-left:4px solid var(--amarelo);font-weight:600}.cm-mei.alto{border-left-color:var(--erro);color:var(--erro)}
#tab-comissoes td small{display:block;color:var(--muted);font-size:12px}#tab-comissoes td small.err{color:var(--erro)}
.cm-in{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.cm-in input{width:70px;text-align:right}
.cm-acoes{white-space:nowrap}.cm-acoes .btn{margin:0 4px 0 0}
.cm-dlg{width:min(680px,calc(100vw - 16px))}
.cm-form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 12px;padding:12px 18px}.cm-form label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600;color:var(--muted);margin:0}.cm-form input,.cm-form select{font-weight:400}.cm-form output{font-size:17px;font-weight:700;color:var(--text);padding-top:6px}.cm-form .cm-l2{grid-column:span 3}
@media (max-width:560px){.cm-form{grid-template-columns:1fr 1fr}.cm-form .cm-l2{grid-column:span 2}}#cm-aba-desp td small{display:block;color:var(--muted);font-size:12px}

/* painel financeiro */
#cm-aba-pain td small{display:block;color:var(--muted);font-size:12px}
.fp-leg{display:flex;gap:16px;font-size:12.5px;color:var(--muted);margin:0 0 10px}.fp-leg span{display:flex;align-items:center;gap:6px}.fp-leg i{width:10px;height:10px;border-radius:3px}
.fp-leg .ent,.fp-barras .ent{background:#008a7e}.fp-leg .sai,.fp-barras .sai{background:#b3590a}
html[data-tema="escuro"] .fp-leg .ent,html[data-tema="escuro"] .fp-barras .ent{background:#1f9a8d}html[data-tema="escuro"] .fp-leg .sai,html[data-tema="escuro"] .fp-barras .sai{background:#cf7b2f}
.fp-graf{display:flex;gap:8px;height:190px;margin:0 0 14px}
.fp-eixo{display:flex;flex-direction:column;justify-content:space-between;font-size:11px;color:var(--muted);text-align:right;padding-bottom:22px;white-space:nowrap}
.fp-area{flex:1;display:flex;min-width:0;background:linear-gradient(var(--line),var(--line)) 0 0/100% 1px no-repeat,linear-gradient(var(--line),var(--line)) 0 calc((100% - 22px)/2)/100% 1px no-repeat}
.fp-mes{flex:1;position:relative;display:flex;flex-direction:column;min-width:0;outline:0}.fp-mes:hover,.fp-mes:focus{background:var(--bg)}
.fp-barras{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:2px;border-bottom:1px solid var(--muted)}.fp-barras i{width:min(16px,34%);border-radius:4px 4px 0 0}
.fp-mes>span{height:22px;line-height:22px;text-align:center;font-size:11.5px;color:var(--muted);white-space:nowrap}
.fp-dica{display:none;position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:5;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 20px rgba(0,0,0,.18);padding:7px 10px;font-size:12px;line-height:1.5;white-space:nowrap}.fp-mes:hover .fp-dica,.fp-mes:focus .fp-dica{display:block}
.fp-mes:first-child .fp-dica{left:0;transform:none}.fp-mes:last-child .fp-dica{left:auto;right:0;transform:none}
/* entradas e despesas */
aside nav :is([data-tab="financeiro"],a[href="index.html#financeiro"]){--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4v14'/%3E%3Cpath d='M3 14l4 4 4-4'/%3E%3Cpath d='M17 20V6'/%3E%3Cpath d='M13 10l4-4 4 4'/%3E%3C/svg%3E")}
#tab-financeiro td small{display:block;color:var(--muted);font-size:12px}#fi-acoes[hidden]{display:none}

.fi-barra{align-items:center}.fi-mes{display:inline-flex;align-items:center;gap:4px}.fi-mes input{width:auto}.fi-mes .btn{margin:0;font-size:16px;line-height:1}
.fi-filtros{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.fi-filtros[hidden]{display:none}.fi-filtros select{width:auto}.fi-filtros .btn{margin:0}
#fp-meses tr{cursor:pointer}#fp-meses tr:hover{background:var(--bg)}#fp-meses tr.fp-sel{background:var(--verde-claro);font-weight:600}
/* pop-up de mensagem nova do Monitorar */
.mon-pops{position:fixed;top:14px;right:66px;z-index:65;display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100vw - 20px));max-height:calc(100vh - 28px);overflow-y:auto}
.mon-pop{position:relative;background:var(--card);color:var(--text);border:1px solid var(--line);border-left:5px solid var(--verde);border-radius:12px;box-shadow:0 14px 36px rgba(0,0,0,.25);padding:12px 34px 12px 14px;font-size:13.5px;animation:mon-pop-entra .2s ease}
.mon-pop.forte{border-left-color:var(--amarelo)}
.mon-pop b{display:block}.mon-pop small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.mon-pop p{margin:6px 0 8px;overflow-wrap:anywhere}.mon-pop p span{font-weight:600;color:var(--muted)}.mon-pop .btn{margin:0}
.mon-pop-x{position:absolute;top:6px;right:8px;border:0;background:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:2px 6px}
@keyframes mon-pop-entra{from{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}
html.cel .mon-pops{top:64px;left:10px;right:10px;width:auto;max-height:calc(100vh - 150px)}