: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:#fff}
html[data-tema="escuro"] .marca span{color:#5f716f}
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)}
