:root{--navy:#0D0D0D;--blue:#1A1A1A;--cyan:#737373;--orange:#E40B18;--ink:#1A1A1A;--muted:#727272;--line:#E2E2E2;--bg:#F2F2F2;--card:#fff;--green:#79060E}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Plus Jakarta Sans',Segoe UI,Arial,sans-serif;font-size:16px}.topbar{background:linear-gradient(120deg,#000000,#1A1A1A);color:#fff;padding:24px clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;box-shadow:0 6px 20px #21212124}.eyebrow{margin:0 0 4px;color:#E40B18;font-size:.75rem;font-weight:800;letter-spacing:.16em}.topbar h1{font-size:clamp(1.65rem,3vw,2.35rem);margin:0;letter-spacing:-.035em}.period{margin:7px 0 0;color:#BFBFBF;font-size:.92rem}.status{display:flex;align-items:center;gap:8px;background:#ffffff12;border:1px solid #ffffff2b;padding:9px 13px;border-radius:999px;font-size:.82rem;font-weight:700}.status span{width:8px;height:8px;background:#E40B18;border-radius:50%;box-shadow:0 0 0 4px #E40B1820}main{max-width:1500px;margin:auto;padding:22px clamp(14px,3vw,40px) 44px}.filters{display:grid;grid-template-columns:.75fr 1.15fr 1.55fr 1.55fr 1fr auto;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 2px 8px #2C2C2C0a}.filter{min-width:0}.filter label{display:block;color:var(--muted);font-size:.77rem;font-weight:750;margin:0 0 6px;text-transform:uppercase;letter-spacing:.04em}.filter select{width:100%;height:42px;border:1px solid #D2D2D2;border-radius:8px;background:#FFFFFF;color:var(--ink);padding:0 34px 0 11px;font-size:.9rem;outline:none}.filter select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #7373731e}#clear{align-self:end;height:42px;border:1px solid #CFCFCF;background:#fff;color:var(--navy);font-weight:750;border-radius:8px;padding:0 16px;cursor:pointer}#clear:hover{background:#F2F2F2}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:16px 0}.kpi{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:17px 18px;min-height:120px;box-shadow:0 2px 8px #2C2C2C0a}.kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#A2A2A2}.kpi.primary:before{background:var(--orange)}.kpi p{margin:0 0 12px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;font-weight:750}.kpi strong{display:block;color:var(--navy);font-size:clamp(1.45rem,2.2vw,2.05rem);line-height:1.05;letter-spacing:-.035em}.kpi.primary strong{color:var(--orange)}.kpi small{display:block;color:#8E8E8E;font-size:.75rem;margin-top:9px}.insight{background:#FDE7E8;border:1px solid #F4A3A8;border-left:4px solid var(--blue);border-radius:10px;padding:14px 17px;display:flex;gap:13px;align-items:center;margin-bottom:16px}.insight-mark{width:28px;height:28px;display:grid;place-items:center;background:var(--blue);color:#fff;border-radius:50%;font-weight:800}.insight p{margin:0 0 3px;font-size:.75rem;text-transform:uppercase;color:var(--blue);font-weight:800;letter-spacing:.06em}.insight strong{font-size:.92rem;font-weight:650;line-height:1.4}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 2px 8px #2C2C2C0a;min-width:0}.span2{grid-column:span 2}.panel-head{display:flex;align-items:center;gap:8px;margin-bottom:14px}.panel-head>div:first-child{margin-right:auto}.panel h2{font-size:1rem;margin:0;color:var(--navy)}.panel-head p{font-size:.78rem;color:var(--muted);margin:4px 0 0}.legend{font-size:.75rem;color:var(--muted)}.legend span{display:inline-block;width:9px;height:9px;border-radius:2px;background:var(--blue);margin-right:5px}.chart-wrap{height:270px}canvas{width:100%;height:100%}.bars{display:flex;flex-direction:column;gap:12px;min-height:270px}.bar-row{display:grid;grid-template-columns:minmax(95px,1.25fr) 2.2fr 78px;gap:10px;align-items:center}.wide-bars .bar-row{grid-template-columns:minmax(190px,1.6fr) 3fr 92px}.bar-label{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#424242}.bar-track{height:9px;background:#EDEDED;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:999px;min-width:2px}.bar-value{text-align:right;font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:750;color:var(--navy)}.metric{border:1px solid #D4D4D4;background:#fff;color:#727272;padding:6px 9px;border-radius:7px;font-size:.75rem;cursor:pointer}.metric.active{background:var(--navy);border-color:var(--navy);color:#fff}.table-panel{margin-top:16px}.pill{font-size:.75rem;background:#F2F2F2;color:var(--blue);font-weight:750;padding:6px 10px;border-radius:999px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.84rem}th{color:#707070;text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.045em;border-bottom:2px solid #DDDDDD;padding:10px 12px}td{border-bottom:1px solid #F0F0F0;padding:11px 12px}th:not(:nth-child(2)),td:not(:nth-child(2)){text-align:right}th:first-child,td:first-child{text-align:center;color:#969696;width:42px}tbody tr:hover{background:#FAFAFA}footer{padding:20px;text-align:center;color:#878787;font-size:.76rem}.empty{color:var(--muted);font-size:.85rem;padding:40px;text-align:center}@media(max-width:1100px){.filters{grid-template-columns:repeat(3,1fr)}.kpis{grid-template-columns:repeat(3,1fr)}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.topbar{align-items:flex-start;gap:20px}.status{display:none}main{padding:14px}.filters{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.span2{grid-column:span 1}.wide-bars .bar-row,.bar-row{grid-template-columns:minmax(90px,1.1fr) 1.8fr 72px}.panel{padding:14px}.chart-wrap{height:230px}.kpi{min-height:105px}.kpi strong{font-size:1.45rem}}@media(max-width:430px){.kpis{grid-template-columns:1fr}.topbar{padding:20px}.panel-head{flex-wrap:wrap}}

.filters { grid-template-columns: .7fr 1.05fr 1.5fr 1fr .9fr auto; }
.topbar { padding:16px clamp(20px,4vw,64px); }
.topbar h1 { font-size:clamp(1.45rem,2.4vw,2rem); }
.period { margin-top:4px; }
main { padding-top:12px; }
.kpis { grid-template-columns: repeat(4, 1fr); }
.kpis { gap:10px; margin:0 0 10px; }
.kpi { min-height:96px; padding:13px 15px; }
.kpi p { margin-bottom:8px; }
.kpi small { margin-top:6px; }
.kpi strong { font-size:clamp(1.35rem,1.8vw,1.85rem); white-space:nowrap; }
.kpi.annual { grid-column:span 2; background:#FAFAFA; }
.kpi.annual strong { font-size:clamp(1.45rem,2vw,1.95rem); }
.all-segments { min-height: 390px; }
.filters { margin-bottom:12px; padding:13px 14px; }
.grid { gap:12px; }
.panel { padding:16px; }
.panel-head { margin-bottom:10px; }
.span4 { grid-column:span 4; }
.revenue-panel { background: #FFFFFF; box-shadow: none; }
.billing-chart-wrap{position:relative}
.compact-chart { height: 270px; }
.trend-chart-wrap { height:380px; }
.segment-trend-wrap { height:330px; position:relative; }
.segment-trend-panel .segment-trend-wrap { height:390px; }
.monthly-total-wrap { height:330px; }
.avg-cost-wrap { height:280px; }
.line-legend { display:flex; flex-wrap:wrap; gap:6px 12px; margin-top:9px; color:#5F5F5F; font-size:.7rem; line-height:1.25; }
.line-legend span { display:inline-flex; align-items:center; gap:5px; }
.line-legend i { width:14px; height:3px; display:inline-block; border-radius:2px; }
.chart-tooltip { position:absolute; z-index:3; pointer-events:none; max-width:220px; padding:8px 10px; border-radius:7px; background:#0D0D0D; color:#fff; box-shadow:0 5px 16px #14141445; font-size:12px; line-height:1.4; }
.table-actions { display:flex; align-items:center; gap:8px; margin-left:auto; color:#727272; font-size:.76rem; }
.table-actions label { font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.table-actions select { height:34px; border:1px solid #D2D2D2; border-radius:7px; background:#FFFFFF; color:#1A1A1A; padding:0 8px; }
.chart-total { margin: 2px 18px 14px; padding: 12px 14px; border-top: 1px solid #E1E1E1; background:#F2F2F2; color: #0D0D0D; font-size: 15px; font-weight: 800; text-align: right; border-radius:8px; }

@media (max-width: 1200px) {
  .kpis { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 1100px) {
  .filters { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
  .filters, .kpis { grid-template-columns: 1fr; }
  .kpi.annual { grid-column:span 1; }
  .kpi strong,.kpi.annual strong { font-size:1.45rem; }
  .trend-chart-wrap { height:420px; }
  .span4 { grid-column:span 2; }
  .segment-trend-wrap { height:340px; }
  .table-actions { width:100%; margin-left:0; }
}

.itax-logo{display:block;width:158px;height:auto;max-height:72px;object-fit:contain}
@media(max-width:720px){.itax-logo{width:126px;max-height:58px}}

/* Filtros multisseleção */
.filters{grid-template-columns:repeat(4,minmax(180px,1fr));align-items:end;position:relative;z-index:20}
.filter{position:relative}
.multi-trigger{width:100%;height:42px;border:1px solid #D2D2D2;border-radius:8px;background:#FFFFFF;color:var(--ink);padding:0 11px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.88rem;cursor:pointer;text-align:left}
.multi-trigger:hover{border-color:#AFAFAF}.multi-trigger:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px #7373731e}
.multi-trigger .selection-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.multi-trigger .chevron{color:#737373;font-size:.72rem}
.multi-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:260px;max-height:340px;background:#fff;border:1px solid #D4D4D4;border-radius:10px;box-shadow:0 12px 30px #0D0D0D2b;overflow:hidden;z-index:100}
.multi-menu[hidden]{display:none}.multi-tools{display:grid;grid-template-columns:1fr auto auto;gap:6px;padding:9px;border-bottom:1px solid #E9E9E9;background:#FAFAFA}
.multi-search{min-width:0;height:32px;border:1px solid #D4D4D4;border-radius:6px;padding:0 9px;color:var(--ink)}
.multi-action{border:0;background:transparent;color:var(--blue);font-size:.72rem;font-weight:800;cursor:pointer;padding:0 4px}
.multi-options{max-height:278px;overflow:auto;padding:6px}.multi-option{display:flex;align-items:flex-start;gap:8px;padding:7px 8px;border-radius:6px;font-size:.79rem;line-height:1.25;color:#424242;cursor:pointer}
.multi-option:hover{background:#FDE7E8}.multi-option input{margin:2px 0 0;accent-color:var(--blue);flex:0 0 auto}.multi-empty{padding:18px;text-align:center;color:var(--muted);font-size:.8rem}
#clear{grid-column:auto}.filters-active{font-size:.71rem;color:var(--blue);font-weight:800;margin-top:4px;min-height:14px}
.table-scroll table{min-width:1120px}th:nth-child(2),td:nth-child(2),th:nth-child(3),td:nth-child(3),th:nth-child(4),td:nth-child(4){text-align:left}
@media(max-width:1200px){.filters{grid-template-columns:repeat(3,minmax(180px,1fr))}}
@media(max-width:850px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.multi-menu{min-width:240px}}
@media(max-width:560px){.filters{grid-template-columns:1fr}.multi-menu{position:fixed;left:14px;right:14px;top:20%;max-height:60vh}}


/* Indicadores executivos */
.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.kpis{grid-template-columns:1fr}}

/* Filtros pesquisáveis e alinhados */
.filters{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px 14px;padding:16px 18px}
.filter{display:grid;grid-template-rows:28px 42px 16px;min-width:0}
.filter label{height:28px;margin:0;display:flex;align-items:center;line-height:1.15}
.multi-trigger{padding:0 10px;background:#fff;cursor:text;transition:border-color .18s,box-shadow .18s}
.multi-trigger:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px #7373731e}
.multi-input{width:100%;min-width:0;height:38px;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:.86rem;text-overflow:ellipsis}
.multi-input::placeholder{color:#8E8E8E}
.multi-trigger .chevron{flex:0 0 auto;cursor:pointer}
.multi-menu{top:70px;min-width:100%;max-height:350px}
.multi-tools{grid-template-columns:1fr auto auto;align-items:center}
.multi-hint{font-size:.71rem;color:#878787;padding-left:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.multi-options{max-height:296px}
.filters-active{margin-top:2px;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#clear{align-self:start;margin-top:28px;height:42px;width:100%}
@media(max-width:1150px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.filters{grid-template-columns:1fr}.multi-menu{position:fixed;left:14px;right:14px;top:20%;min-width:0;max-height:60vh}#clear{margin-top:0}}


/* Classificação final e organização refinada dos filtros */
.filters{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
.filters-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 2px 12px;border-bottom:1px solid #EAEAEA;margin-bottom:2px}
.filters-head h2{margin:0;color:var(--navy);font-size:.98rem}.filters-head p{margin:3px 0 0;color:var(--muted);font-size:.75rem}
.filters-head #clear{align-self:auto;margin:0;width:auto;min-width:132px;height:38px;background:#FAFAFA}
.classification-final-wrap,.equipment-count-wrap{height:330px;position:relative}
.classification-final-panel{background:linear-gradient(180deg,#fff,#FFFFFF)}
@media(max-width:1150px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.filters{grid-template-columns:1fr}.filters-head{align-items:flex-start}.filters-head #clear{min-width:112px}}

/* Sugestões visíveis durante a digitação */
.filters,.filter{overflow:visible}
.multi-menu{z-index:1000}
.multi-option.is-filtered-out{display:none!important}
.multi-option.matching-option{background:#FDE7E8}
.multi-option.matching-option:hover{background:#FDE7E8}
.multi-hint{color:#5F5F5F;font-weight:650}

/* Coluna final de média */
.billing-legend{justify-content:center;margin:8px 0 2px;font-size:.76rem}

/* Exportação da base tratada */
.filters-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
#exportXlsx{height:38px;border:1px solid var(--navy);background:var(--navy);color:#fff;font-weight:750;border-radius:8px;padding:0 14px;cursor:pointer}
#exportXlsx:hover{background:#1A1A1A}#exportXlsx:disabled{opacity:.6;cursor:wait}
@media(max-width:560px){.filters-head{flex-wrap:wrap}.filters-actions{width:100%;justify-content:stretch}.filters-actions button{flex:1}}

/* Identidade visual Grupo ITAX (ITAX-ID-001): preto na marca e no topo, vermelho #E40B18 em ações
   e destaques, bordô #79060E de apoio, área de trabalho neutra, Plus Jakarta Sans, cantos de 14px */
:root{--navy:#0D0D0D;--blue:#1A1A1A;--cyan:#737373;--orange:#E40B18;--ink:#1A1A1A;--muted:#737373;--line:#E6E6E6;--bg:#F2F2F2;--green:#79060E;--itax-red:#E40B18;--itax-bordo:#79060E}
.topbar{background:#000;box-shadow:none;border-bottom:3px solid var(--itax-red)}
.topbar h1{font-weight:700;letter-spacing:-.03em}
.panel,.kpi,.filters{border-radius:14px}
.panel h2,.filters-head h2{font-weight:650;letter-spacing:-.01em}
.kpi:before{background:#BFBFBF}.kpi.primary:before{background:var(--itax-red)}
.kpi.primary strong{color:var(--itax-red)}
.bar-fill{background:linear-gradient(90deg,var(--itax-bordo),var(--itax-red))}
.metric.active{background:#000;border-color:#000}
.pill{background:#FDE7E8;color:#C20914}
.insight{background:#FDE7E8;border-color:#F4A3A8;border-left-color:var(--itax-red)}
.insight-mark{background:var(--itax-red)}.insight p{color:#C20914}
.multi-trigger:focus-within,.filter select:focus{border-color:var(--itax-red);box-shadow:0 0 0 3px #E40B181e}
.multi-action{color:#C20914}.multi-option input{accent-color:var(--itax-red)}
.multi-option.matching-option{background:#FAFAFA}.multi-option:hover,.multi-option.matching-option:hover{background:#FDE7E8}
.filters-active{color:#C20914}
.chart-tooltip{background:#000}
#exportXlsx{background:var(--itax-red);border-color:var(--itax-red)}#exportXlsx:hover{background:var(--itax-bordo);border-color:var(--itax-bordo)}
#clear{color:#0D0D0D}
/* Filtro de ano */
.filter-year{display:grid;grid-template-rows:28px 42px 16px;min-width:0}
.year-select{width:100%;height:42px;border:1px solid #D4D4D4;border-radius:8px;background:#fff;color:var(--ink);padding:0 10px;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}
.year-select:focus{outline:none;border-color:var(--itax-red);box-shadow:0 0 0 3px #E40B181e}
