:root{--bg:#f4f6f9;--card:#fff;--tx:#1d2733;--mut:#6b7785;--pri:#1f4e78;--pri2:#2e6da4;--ok:#1e7b46;--err:#b42318;--warn:#b25e09;--bd:#dde3ea;--hl:#eaf1f8}
*{box-sizing:border-box}body{margin:0;font:14px/1.45 "Segoe UI",system-ui,Arial,sans-serif;background:var(--bg);color:var(--tx)}
a{color:var(--pri2);text-decoration:none}a:hover{text-decoration:underline}
header{background:var(--pri);color:#fff;display:flex;align-items:center;gap:18px;padding:0 20px;height:52px;position:sticky;top:0;z-index:5}
header .marca{font-weight:700;font-size:16px;white-space:nowrap}header nav{display:flex;gap:4px;flex-wrap:wrap;flex:1}
header nav a,header .user a{color:#dce8f4;padding:6px 10px;border-radius:6px}header nav a:hover,header nav a.on{background:rgba(255,255,255,.14);color:#fff;text-decoration:none}
header .user{font-size:13px;color:#b9cde2;white-space:nowrap}
.menu{position:relative}.menu>span{color:#dce8f4;padding:6px 10px;cursor:pointer;display:inline-block}
.menu .sub{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--bd);border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.12);min-width:210px;padding:6px}
.menu:hover .sub{display:block}.menu .sub a{display:block;color:var(--tx);padding:7px 10px}.menu .sub a:hover{background:var(--hl)}
main{padding:20px;max-width:1500px;margin:0 auto}
h1{font-size:20px;margin:4px 0 16px}h2{font-size:16px;margin:0 0 10px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:16px;margin-bottom:16px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.row>div{display:flex;flex-direction:column;gap:3px}
label{font-size:12px;color:var(--mut);font-weight:600}
input,select,textarea{font:inherit;padding:6px 8px;border:1px solid #c5ced8;border-radius:6px;background:#fff;min-width:0}
input:focus,select:focus{outline:2px solid #9cc0e6;border-color:var(--pri2)}
.btn,button{font:inherit;background:var(--pri2);color:#fff;border:0;border-radius:6px;padding:7px 14px;cursor:pointer;display:inline-block}
.btn:hover,button:hover{background:var(--pri);text-decoration:none}.btn.sec,button.sec{background:#e7edf3;color:var(--tx)}.btn.sec:hover,button.sec:hover{background:#d6e0ea}
button.danger{background:var(--err)}button.link{background:none;color:var(--pri2);padding:0}
table{border-collapse:collapse;width:100%;background:#fff}th,td{padding:6px 8px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:top}
th{background:#f0f4f8;font-size:12px;color:#44515e;position:sticky;top:52px}td.n,th.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
tr.sintetica td{font-weight:600}tr.titulo td{font-weight:700;background:var(--hl)}tr.total td{font-weight:700;background:#dde9f5;border-top:2px solid #b5cbe0}
tr.pct td{font-style:italic;color:var(--mut)}tbody tr:hover td{background:#f8fbfe}
.tabwrap{overflow:auto;max-height:75vh;border:1px solid var(--bd);border-radius:8px}
.msgs{list-style:none;padding:0;margin:0 0 14px}.msgs li{padding:9px 12px;border-radius:6px;margin-bottom:6px;background:#e8f3ec;color:var(--ok)}
.msgs li.error{background:#fdecea;color:var(--err)}.msgs li.warning{background:#fff4e5;color:var(--warn)}.msgs li.info{background:var(--hl);color:var(--pri)}
.mut{color:var(--mut)}.ok{color:var(--ok)}.err{color:var(--err)}.warn{color:var(--warn)}.tag{font-size:11px;padding:1px 7px;border-radius:10px;background:#e7edf3}
.kpi{font-size:22px;font-weight:700}.flex{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.right{margin-left:auto}
.totais{display:flex;gap:24px;padding:10px 0;font-weight:600}.errorlist{color:var(--err);margin:2px 0;padding-left:16px;font-size:12px}
.checks ul,.checks div{list-style:none;padding:0;margin:0;display:flex;gap:12px;flex-wrap:wrap}.checks label{color:var(--tx);font-weight:400;font-size:14px}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:1000px){.cols2{grid-template-columns:1fr}}
tr.sel td{background:#fff7d6!important}.login{max-width:360px;margin:12vh auto}
@media print{header,.noprint,form.filtro{display:none!important}main{padding:0}.tabwrap{max-height:none;overflow:visible;border:0}th{position:static}}
.tabwrap th{top:0;z-index:1}

/* Logomarca no cabeçalho */
header .marca{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none}
header .marca:hover{text-decoration:none}
header .marca img{height:28px;width:auto;max-width:120px;object-fit:contain;display:block}
.login-marca{display:flex;align-items:center;gap:10px}.login-marca img{height:36px;width:auto;max-width:160px;object-fit:contain}


/* Relatórios: largura total, 1ª coluna fixa, colunas AV % estreitas ao lado dos valores */
main.largo{max-width:none}
table.rel td.rotulo,table.rel th.rotulo{position:sticky;left:0;z-index:2;background:#fff;min-width:210px;max-width:320px;white-space:normal}
table.rel thead th.rotulo{z-index:3;background:#f0f4f8}
table.rel tr.titulo td.rotulo{background:var(--hl)}table.rel tr.total td.rotulo{background:#dde9f5}
table.rel td.av,table.rel th.av{color:var(--mut);font-style:italic;font-size:11px;background:rgba(240,244,248,.55);padding-left:3px;padding-right:6px;border-right:1px solid var(--bd)}
table.rel th.av{font-weight:600}
table.rel.compacto{font-size:12.5px}table.rel.compacto td,table.rel.compacto th{padding:4px 5px}
table.rel.mcompacto{font-size:11.5px}table.rel.mcompacto td,table.rel.mcompacto th{padding:3px 3px}
table.rel.mcompacto td.rotulo,table.rel.mcompacto th.rotulo{min-width:170px;max-width:240px;font-size:11px}
table.rel.mcompacto td.av,table.rel.mcompacto th.av{font-size:9.5px;padding-left:1px;padding-right:4px}
@media print{@page{size:A4 landscape;margin:8mm}table.rel{font-size:8.5px}table.rel td,table.rel th{padding:2px 3px}
  table.rel td.av{font-size:7.5px}table.rel td.rotulo{position:static;min-width:0}}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.kpi-card{display:flex;flex-direction:column;gap:2px}
td.drill{cursor:zoom-in}td.drill:hover{background:#fff7d6!important}

/* Listas pesquisáveis (app.js) */
.cb-wrap{position:relative;display:inline-block;min-width:180px;vertical-align:middle}
.row>div>.cb-wrap,td>.cb-wrap{display:block;width:100%}
select.cb-nativo{display:none!important}
.cb-input{width:100%;padding-right:22px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b7785'/%3E%3C/svg%3E") no-repeat right 8px center;text-overflow:ellipsis}
.cb-lista{position:absolute;z-index:50;left:0;top:100%;min-width:100%;width:max-content;max-width:min(560px,92vw);max-height:300px;overflow:auto;background:#fff;border:1px solid #c5ced8;border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.14);margin-top:2px;font-size:13px}
.cb-item{padding:5px 9px;cursor:pointer;white-space:nowrap}.cb-item.cb-ativo{background:var(--hl)}.cb-item.cb-sel{font-weight:600}
.cb-item.cb-off{color:#aab4bf;cursor:not-allowed}.cb-vazio{padding:6px 9px;color:var(--mut);font-style:italic}
