:root{
  --brand:#10b6c6; --brand-d:#0a93a1; --brand-l:#e7fafc;
  --ink:#0f172a; --muted:#64748b; --line:#e6eaf0; --bg:#f5f7fa; --card:#fff;
  --ok:#16a34a; --okbg:#e9f9ef; --bad:#dc2626; --badbg:#fdecec; --warn:#b45309; --warnbg:#fef6e7;
  --r:14px; --sh:0 1px 2px rgba(16,24,40,.06),0 8px 24px rgba(16,24,40,.05);
}
*{box-sizing:border-box} html,body{margin:0}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.5}
.hide{display:none!important}
a{color:var(--brand-d)}
/* topbar */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.topbar img.logo{height:20px;display:block}
.topbar .sub{color:var(--muted);font-weight:500;margin-left:6px}
.who{color:var(--muted);font-size:13px}
.wrap{max-width:1080px;margin:24px auto;padding:0 20px;display:flex;flex-direction:column;gap:20px}
/* cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:22px}
.card h2{font-size:16px;margin:0 0 16px}
.card h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 10px}
.muted{color:var(--muted)} .small{font-size:12px}
/* form */
label{display:block;font-size:12.5px;font-weight:600;color:#334155;margin:0 0 6px}
input,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;color:var(--ink);background:#fff;outline:none;transition:.15s}
input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-l)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{margin-bottom:14px}
/* buttons */
.btn{appearance:none;border:1px solid transparent;background:var(--brand);color:#fff;font-weight:600;font-size:14px;padding:11px 18px;border-radius:10px;cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:8px}
.btn:hover{background:var(--brand-d)} .btn:disabled{opacity:.5;cursor:not-allowed}
.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line)} .btn.ghost:hover{background:#f8fafc;border-color:#cbd5e1}
.btn.sm{padding:7px 12px;font-size:13px} .btn.block{width:100%;justify-content:center}
.btnrow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
/* chips / pills */
.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;font-size:13px;user-select:none;transition:.12s}
.pill:hover{border-color:var(--brand)} .pill.on{background:var(--brand);border-color:var(--brand);color:#fff}
.pillrow{display:flex;flex-wrap:wrap;gap:8px}
/* locais selector */
.loc-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.loc-search{flex:1;min-width:200px}
.acc{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:10px}
.acc-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fbfcfe;cursor:pointer}
.acc-head .cat{font-weight:700} .acc-head .conc{color:var(--muted)}
.acc-head .count{margin-left:auto;font-size:12px;color:var(--muted)}
.acc-body{padding:8px 14px 14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.loc-item{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:.12s}
.loc-item:hover{border-color:var(--brand);background:#fafdff}
.loc-item.on{border-color:var(--brand);background:var(--brand-l)}
.loc-item .chk{width:16px;height:16px;border-radius:5px;border:1.5px solid #cbd5e1;flex:none;display:grid;place-items:center;color:#fff;font-size:11px}
.loc-item.on .chk{background:var(--brand);border-color:var(--brand)}
.loc-item .nm{font-size:13px}
.selbar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--brand-l);border:1px solid #c5eef3;border-radius:10px;margin-bottom:12px;font-size:13px}
/* result */
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.metric{border:1px solid var(--line);border-radius:12px;padding:14px}
.metric .k{font-size:12px;color:var(--muted)} .metric .v{font-size:22px;font-weight:700;margin:4px 0}
.metric .s{font-size:12px;color:var(--muted)}
.metric.dual .v{font-size:18px}
.scn{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px}
.farol{width:12px;height:12px;border-radius:50%;flex:none}
.farol.on{background:var(--ok);box-shadow:0 0 0 3px var(--okbg)} .farol.off{background:var(--bad);box-shadow:0 0 0 3px var(--badbg)}
.scn .st{margin-left:auto;font-size:12px;font-weight:600}
.scn .st.on{color:var(--ok)} .scn .st.off{color:var(--bad)}
.bvcard{background:linear-gradient(135deg,var(--brand),var(--brand-d));color:#fff;border-radius:12px;padding:16px}
.bvcard .v{font-size:24px;font-weight:700;margin:4px 0}
.notice{background:var(--warnbg);color:var(--warn);border:1px solid #f5e2c2;border-radius:10px;padding:10px 12px;font-size:13px;margin:10px 0}
.err{color:var(--bad);font-size:13px;margin-top:8px}
/* table */
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}
th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;text-transform:capitalize}
.badge.r{background:#eef2f7;color:#475569} .badge.e{background:#e0f2fe;color:#0369a1}
.badge.f{background:var(--okbg);color:var(--ok)} .badge.p{background:var(--badbg);color:var(--bad)}
/* comparison */
.cmp{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.cmp-col{border:1px solid var(--line);border-radius:12px;padding:14px;position:relative}
.cmp-col h4{margin:0 0 10px;font-size:14px}
.cmp-col .x{position:absolute;top:8px;right:10px;cursor:pointer;color:var(--muted)}
.cmp-row{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:13px}
.cmp-row .lk{color:var(--muted)} .cmp-row .vv{font-weight:600;text-align:right}
/* login */
.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(1200px 500px at 50% -10%,var(--brand-l),var(--bg))}
.login .card{width:380px;text-align:center}
.login img.logo{height:30px;margin:4px auto 6px}
/* ====== seções recolhíveis ====== */
.sec{border:1px solid var(--line);border-radius:12px;margin:0 0 14px;overflow:hidden;background:#fff}
#secCampanha{overflow:visible}

.sec-head{display:flex;align-items:center;gap:10px;padding:13px 16px;font-weight:600;cursor:pointer;background:#fbfcfe;user-select:none}
.sec-head.static{cursor:default;background:#fff}
.sec-n{width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}
.sec-resumo{margin-left:8px;font-weight:500;font-size:12.5px;color:var(--brand-d)}
.sec .chev{margin-left:auto;color:var(--muted);transition:.2s}
.sec-body{padding:16px}
.sec.collapsed .sec-body{display:none}
.sec.collapsed .chev{transform:rotate(-90deg)}
/* ====== seleção por categoria (colunas lado a lado, estilo pricing) ====== */
.catcols{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.catcol{border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px;background:#fff;border-top:4px solid var(--brand);transition:.15s}
.catcol.cat-aero{border-top-color:#6366f1}.catcol.cat-rodo{border-top-color:#f59e0b}.catcol.cat-metro{border-top-color:var(--brand)}
.catcol.sel{box-shadow:0 0 0 2px var(--brand-l)}
.catcol-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.cc-name{font-weight:700;font-size:15px}
.cc-count{font-size:11.5px;color:var(--muted)}
.cc-all{appearance:none;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-weight:600;font-size:13px;padding:9px 12px;border-radius:10px;cursor:pointer;transition:.12s}
.cc-all:hover{border-color:var(--brand)}
.cc-all.on{background:var(--brand);border-color:var(--brand);color:#fff}
.cc-exp{appearance:none;border:none;background:none;color:var(--brand-d);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;text-align:left;padding:0}
.catcol-body{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow:auto;padding-top:4px;border-top:1px dashed var(--line)}
.loc-item .nm{display:flex;flex-direction:column;line-height:1.25}
.loc-item .nm .conc{font-size:11px;color:var(--muted);font-weight:500}
@media(max-width:820px){.catcols{grid-template-columns:1fr}}
/* ====== card de negociação especial (destacado) ====== */
.neg-card{border:1px solid #f5e2c2;background:linear-gradient(180deg,var(--warnbg),#fff 60%);padding:0;overflow:hidden}
.neg-head{display:flex;align-items:center;gap:12px;padding:16px 20px;cursor:pointer;user-select:none}
.neg-title{font-weight:700;font-size:15px;color:var(--warn)}
.neg-sub{font-size:12.5px;color:#9a6a1a;margin-top:2px}
.neg-head .chev{margin-left:auto;color:var(--warn)}
.neg-body{padding:0 20px 20px}
.neg-body textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}
/* ====== métrica destacada (desconto) ====== */
.metric.hl{background:var(--brand-l);border-color:#c5eef3}
.metric.hl .v{color:var(--brand-d)}
/* ====== histórico: links, checkbox, exclusão ====== */
.link{color:var(--brand-d);cursor:pointer;font-weight:600}
.link:hover{text-decoration:underline}
td.ck,th.ck{width:34px;text-align:center}
.icon-del{appearance:none;border:none;background:none;cursor:pointer;font-size:15px;opacity:.7;transition:.12s;border-radius:8px;padding:4px 6px}
.icon-del:hover{opacity:1;background:var(--badbg)}
.btn.danger{color:var(--bad);border-color:#f3c9c9}
.btn.danger:hover:not(:disabled){background:var(--badbg);border-color:var(--bad)}
/* ====== modal ====== */
.modal{position:fixed;inset:0;background:rgba(15,23,42,.45);display:grid;place-items:center;z-index:60;padding:20px}
.modal-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.25);width:480px;max-width:100%;max-height:85vh;overflow:auto;padding:24px;position:relative}
.modal-x{position:absolute;top:12px;right:14px;border:none;background:none;font-size:18px;cursor:pointer;color:var(--muted)}
.modal-rows .cmp-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:13.5px}
.modal-rows .lk{color:var(--muted)}.modal-rows .vv{font-weight:600;text-align:right}
.modal-locais{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.cmp-col{cursor:pointer;transition:.12s}
.cmp-col:hover{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-l)}
.cmp-hint{margin-top:8px;text-align:center}
/* responsivo */
@media(max-width:820px){.grid3,.grid2,.metrics{grid-template-columns:1fr 1fr}.wrap{padding:0 14px}}
@media(max-width:520px){.grid3,.grid2,.metrics{grid-template-columns:1fr}}
/* ===== investimento por mês ===== */
.inv-row{display:flex;gap:8px;align-items:center}
.inv-row #inv{flex:1}
#mesesBox{margin-top:12px;padding:14px;border:1px dashed var(--line);border-radius:12px;background:#fbfcfe}
.meses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px}
.mes-cell label{font-size:11px;color:var(--muted);margin-bottom:4px}
/* ===== concessionária ===== */
.cc-concs{display:flex;flex-wrap:wrap;gap:6px}
.cc-conc{appearance:none;border:1px solid var(--line);background:#fff;color:#334155;font:inherit;font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;cursor:pointer;transition:.12s}
.cc-conc:hover{border-color:var(--brand)}
.cc-conc.on{background:var(--brand);border-color:var(--brand);color:#fff}
/* ===== histórico extra ===== */
tr.rowclick{cursor:pointer;transition:background .12s}
tr.rowclick:hover td{background:#f5fcfd}
.sitcell{display:flex;gap:6px;align-items:center;flex-wrap:nowrap;white-space:nowrap}
.sitcell .btn{white-space:nowrap;flex:none}
.sitcell select{width:auto}
/* ===== tamanhos de modal ===== */
.modal-card.lg{width:760px}
.modal-card.sm{width:400px}
.danger-solid{background:var(--bad)!important;border-color:var(--bad)!important;color:#fff!important}
.danger-solid:hover{background:#b91c1c!important}
/* ===== toast ===== */
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:#0f172a;color:#fff;padding:11px 18px;border-radius:10px;font-size:13px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:80}
/* ===== spinner de carregamento ===== */
.spin{display:inline-block;width:13px;height:13px;border:2px solid rgba(16,182,198,.25);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;margin-left:4px}
.btn:not(.ghost) .spin{border-color:rgba(255,255,255,.45);border-top-color:#fff}
@keyframes spin{to{transform:rotate(360deg)}}
.field input.bad,input.bad{border-color:var(--bad);box-shadow:0 0 0 3px var(--badbg)}
/* ===== aviso de capacidade (vermelho) ===== */
.notice.bad{background:var(--badbg);color:var(--bad);border-color:#f3c9c9;font-weight:600}
/* ===== bloco de locais no popup/formalização ===== */
.col-locais{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line)}
.col-locais .lk{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}
/* ===== seleção de cenário na formalização ===== */
.cmp-col.selectable{cursor:pointer}
.cmp-col.selected{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand);background:var(--brand-l)}
.cmp-flag{margin-top:10px;text-align:center;font-size:11.5px;font-weight:700;color:var(--brand-d);background:#fff;border:1px solid var(--brand);border-radius:999px;padding:4px 8px}
/* ===== linha ver/ocultar + ordenação ===== */
.cc-exprow{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.cc-sort{font-size:11px;color:var(--muted)}
.cc-sort a{cursor:pointer;color:var(--muted);margin-left:6px}
.cc-sort a:hover{color:var(--brand-d)}
.cc-sort a.on{color:var(--brand-d);font-weight:700}
/* ===== menu hambúrguer ===== */
.menu-wrap{position:relative}
.menu-drop{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh);min-width:210px;padding:6px;z-index:40}
.menu-drop a{display:block;padding:9px 12px;border-radius:8px;cursor:pointer;color:var(--ink);font-size:14px}
.menu-drop a:hover{background:var(--brand-l);color:var(--brand-d)}
/* botão de destaque (paleta oposta ao ciano) */
.btn.accent{background:#f97316;border-color:#f97316;color:#fff}
.btn.accent:hover{background:#ea6a0c;border-color:#ea6a0c}
/* input bloqueado (ex.: CNPJ p/ gestor) */
input[readonly], input.ro{background:#f1f5f9;color:#64748b;cursor:not-allowed}
/* ordenação usuários */
.usrsort{cursor:pointer;color:var(--muted);margin-left:6px}
.usrsort:hover{color:var(--brand-d)}
.usrsort.on{color:var(--brand-d);font-weight:700}

/* ===== espaçamento entre cards dentro das views ===== */
#view-cotacao,#view-usuarios,#view-premissas,#view-conta{display:flex;flex-direction:column;gap:20px}
/* ===== markup checkbox (cotação) ===== */
.mk-check{display:flex;gap:8px;align-items:center;margin-top:10px;font-size:13px;color:var(--ink);cursor:pointer;background:var(--brand-l);border:1px solid #c5eef3;border-radius:10px;padding:9px 12px}
/* ===== cabeçalho ordenável ===== */
th.srt{cursor:pointer;user-select:none} th.srt:hover{color:var(--brand-d)}
/* ===== layout árvore ===== */
.tree-check{display:flex;gap:8px;align-items:center;margin:2px 0 12px;font-size:13px;cursor:pointer}
.tbranch{border:1px solid var(--line);border-radius:10px;margin:0 0 8px;background:#fff}
.tbranch>summary{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;font-weight:600;list-style:none}
.tbranch>summary::-webkit-details-marker{display:none}
.tbranch>summary::before{content:"▸";color:var(--muted);transition:.15s}
.tbranch[open]>summary::before{content:"▾"}
.tcli>summary{background:var(--brand-l)}
.tlabel{flex:1}
.tcount{background:var(--brand);color:#fff;border-radius:999px;font-size:11px;font-weight:700;padding:2px 9px}
.tchildren{padding:2px 10px 8px 26px}
.tperson{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px dashed var(--line)}
.tperson:last-child{border-bottom:none}
/* ===== chips de departamento ===== */
.dept-chip{display:inline-flex;align-items:center;gap:8px;background:var(--brand-l);border:1px solid #c5eef3;border-radius:999px;padding:5px 12px;margin:0 8px 8px 0;font-size:13px;font-weight:600}
.dept-chip a{cursor:pointer;color:var(--bad);font-weight:700}
/* ===== dashboard ===== */
.dash-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.dchart{display:flex;align-items:flex-end;gap:8px;height:170px;padding:10px 4px 0;border-bottom:2px solid var(--line);margin-top:8px}
.dbar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.dbar{width:70%;min-height:2px;background:linear-gradient(180deg,var(--brand),var(--brand-d));border-radius:6px 6px 0 0;transition:.2s}
.dbar-lbl{font-size:10px;color:var(--muted);margin-top:4px}
.dbar-val{font-size:10px;font-weight:800;color:var(--ink,#0f172a);line-height:1.05;text-align:center;margin-bottom:3px;white-space:nowrap}
.dbar-val .q{display:block;font-size:9px;font-weight:600;color:var(--muted)}
.scale-bar{height:18px;background:#eef2f7;border-radius:999px;overflow:hidden;margin-top:8px}
.scale-fill{height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-d))}
@media(max-width:820px){.dash-kpis{grid-template-columns:1fr}}
/* checkboxes/radios não devem esticar (regra global de input é p/ campos de texto) */
input[type=checkbox],input[type=radio]{width:auto;display:inline-block;margin:0}
.tree-check input,.mk-check input{flex:none}

/* ===== Árvore de usuários (estilo hierárquico conectado) ===== */
.vtree{font-size:13px;padding:2px 0}
.vnode{position:relative}
.vrow{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 8px;border-radius:8px}
.vrow:hover{background:var(--brand-l)}
.vtog{width:24px;height:24px;flex:none;border:1px solid var(--brand);border-radius:7px;background:#fff;color:var(--brand);font-size:11px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;user-select:none}
.vtog::before{content:"\25BE"}                 /* ▾ aberto */
.vnode.collapsed>.vrow .vtog::before{content:"\25B8"} /* ▸ fechado */
.vspacer{width:24px;flex:none}
.vava{width:30px;height:30px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;border:1px solid var(--line);background:#eef2f7;color:#475569}
.vava.cli{background:var(--brand-l);color:var(--brand-d);border-color:var(--brand)}
.vava.area{background:#fff;color:var(--muted)}
.vava.person{background:#f1f5f9;color:#475569}
.vmain{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.vmain b{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vtitle{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.vtitle b{white-space:normal}
.vunit{font-weight:600}
.vsub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vbadge{flex:none;background:#e8eefc;color:#2950d8;border-radius:6px;font-size:10px;font-weight:700;padding:3px 9px}
.vcount{flex:none;min-width:22px;height:20px;padding:0 7px;background:var(--brand);color:#fff;border-radius:999px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.vacts{flex:none;display:flex;align-items:center;gap:6px}
/* filhos: indentação + linhas conectoras */
.vchildren{margin-left:12px}
.vnode.collapsed>.vchildren{display:none}
.vchildren>.vnode{position:relative;padding-left:26px}
.vchildren>.vnode::before{content:"";position:absolute;left:0;top:0;bottom:0;border-left:1px solid var(--line)}
.vchildren>.vnode:last-child::before{bottom:auto;height:22px}
.vchildren>.vnode::after{content:"";position:absolute;left:0;top:22px;width:22px;border-top:1px solid var(--line)}

/* ===== Localidades ===== */
#tblLoc.loctbl th, #tblLoc.loctbl td{white-space:nowrap}
#tblLoc.loctbl th.srt{cursor:pointer;user-select:none}
.loc-tablewrap{max-height:520px;overflow:auto;border:1px solid var(--line);border-radius:10px}
.loc-tablewrap table{margin:0}
.loc-tablewrap thead th{position:sticky;top:0;background:#fff;z-index:2;box-shadow:inset 0 -1px 0 var(--line)}
.section-gap{height:18px}
input.ro,select.ro{background:#f1f5f9;color:#64748b;cursor:not-allowed}
.icon-del{color:#64748b}
.icon-del:hover{color:var(--bad)}
.icon-del svg{width:16px;height:16px;display:block;pointer-events:none}

/* Localidades — largura ampla só nesta tela + tabela compacta */
.wrap.wide{max-width:min(1480px, calc(100vw - 32px))}
#tblLoc.loctbl th, #tblLoc.loctbl td{white-space:nowrap;padding:7px 7px;font-size:12px}
#tblLoc.loctbl td.ck,#tblLoc.loctbl th.ck{width:30px;padding-left:4px;padding-right:4px}
.loc-tablewrap{overflow-x:auto;overflow-y:auto}
.vert-tag{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}

/* filtro multi + chevron deltas */
.filtro-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:30;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--sh);padding:8px;min-width:190px}
.filtro-panel label{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--ink);text-transform:none;letter-spacing:0}
.filtro-panel label:hover{background:var(--brand-l)}
.filtro-panel input[type=checkbox]{width:auto;margin:0}
.chev{color:var(--muted);transition:.15s;font-size:14px}
.chev.open{transform:rotate(90deg)}

/* Cotação mais larga + histórico sem quebra de linha */
.wrap.wide-cot{max-width:min(1360px, calc(100vw - 24px))}
.hist-wrap{overflow-x:auto}
#tbl{font-size:12.5px}
#tbl th, #tbl td{white-space:nowrap;padding:8px 9px}
#tbl th.ck,#tbl td.ck{padding-left:4px;padding-right:4px}
#tbl th.c-marca,#tbl td.c-marca,#tbl th.c-user,#tbl td.c-user,#tbl th.c-emp,#tbl td.c-emp{min-width:110px}
#tbl th.c-form,#tbl td.c-form{width:1%;text-align:center;padding-left:12px;padding-right:12px}
#tbl .c-form .btn{padding:6px 14px;font-size:11.5px;white-space:nowrap}
#tbl select.sm{padding:6px 8px;font-size:12px;width:auto}

/* ícone de informação + tooltip */
.info-ic{position:relative;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;border:1.5px solid var(--brand);color:var(--brand);font-size:11px;font-weight:700;font-style:italic;font-family:Georgia,serif;cursor:help;flex:none;line-height:1}
.info-ic .info-tip{position:absolute;top:calc(100% + 8px);left:0;right:auto;z-index:60;background:#0f172a;color:#fff;font-family:"Roboto",Arial,sans-serif;font-size:12.5px;font-weight:400;font-style:normal;padding:12px 14px;border-radius:8px;white-space:nowrap;box-shadow:0 10px 30px rgba(0,0,0,.20);opacity:0;visibility:hidden;transform:translateY(-4px);transition:.15s;text-transform:none;letter-spacing:0}
.info-ic .info-tip .ln{display:block;line-height:1.5;margin:6px 0}
.info-ic .info-tip .ln:first-child{margin-top:0}
.info-ic .info-tip .ln:last-child{margin-bottom:0}
.info-ic .info-tip b{font-weight:700}
.info-ic .info-tip::after{content:"";position:absolute;bottom:100%;left:6px;border:6px solid transparent;border-bottom-color:#0f172a}
.info-ic:hover .info-tip,.info-ic:focus .info-tip{opacity:1;visibility:visible;transform:translateY(0)}
