/* ============================================================
   ADS Incentivos — Painel de Valores
   Folha de estilos principal
   ============================================================ */

:root{
  --bg:#0a0a0b;
  --panel:#17181a;
  --panel-2:#1e2022;
  --border:#2a2c2f;
  --border-soft:#232527;
  --text:#f2f2f3;
  --text-dim:#a3a6ab;
  --text-mute:#6b6e73;
  /* Solo Network brand — extraído direto da logo oficial */
  --red:#d92230;
  --red-soft:#5c1319;
  --red-dim:#8f1c26;
  --gray-brand:#2f3031;
  /* Mantidos por compatibilidade — usados só pelas cores de dados dos gráficos (config.js) */
  --gold:#d9a94c;
  --gold-soft:#8a6d35;
  --azure:#3f6fd6;
  --teal:#33d1b8;
  --amber:#eab04a;
  --coral:#ef5f66;
  --violet:#9b8cf2;
  --font-display:'Sora',sans-serif;
  --font-body:'Inter',sans-serif;
  --font-mono:'IBM Plex Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:var(--font-body);
  background-color:var(--bg);
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,0.022) 0px, rgba(255,255,255,0.022) 1px, transparent 1px, transparent 27px),
    radial-gradient(ellipse 900px 500px at 50% -10%, rgba(217,34,48,0.07), transparent);
  color:var(--text);
  line-height:1.55;
  padding-bottom:0px;
  -webkit-font-smoothing:antialiased;
}
@media (prefers-reduced-motion: no-preference){
  .kpi-card, .chart-container, .table-container{
    animation: riseIn .5s ease backwards;
  }
  .kpi-grid .kpi-card:nth-child(1){animation-delay:.03s;}
  .kpi-grid .kpi-card:nth-child(2){animation-delay:.08s;}
  .kpi-grid .kpi-card:nth-child(3){animation-delay:.13s;}
  .kpi-grid .kpi-card:nth-child(4){animation-delay:.18s;}
  .kpi-grid .kpi-card:nth-child(5){animation-delay:.23s;}
}
@keyframes riseIn{
  from{ opacity:0; transform:translateY(8px); }
  to{ opacity:1; transform:translateY(0); }
}
.num{font-family:var(--font-mono);font-feature-settings:"tnum";letter-spacing:-0.2px;}
.container{max-width:1500px;
  margin:0 auto;
  /*padding:0 32px;*/
}
a{color:var(--red);}
:focus-visible{outline:2px solid var(--red);outline-offset:2px;}

/* ---------- Topbar (marca Solo Network + navegação) ---------- */
.topbar{
  background:#000;
  border-bottom:1px solid var(--gray-brand);
  position:relative;
  padding: 12px 0;
}
.topbar-logo-box{
  background: #fff;
  padding: 6px 16px;
  border-radius: 0 0 12px 12px;
  display: flex;
  align-items: center;
  box-shadow: 0 4px rgba(0,0,0,0.25);
}
.topbar-logo-box img{
  height: 54px;
  width: auto;
  display: block;
}
.topbar::after{
  content:'';position:absolute;bottom:-2px;left:0;right:0;height:2px;
  background:linear-gradient(90deg, var(--red), transparent 60%);
}
.topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 32px;
  padding:14px 0;
  flex-wrap:wrap;
}
.topbar-nav{
  display:flex;
  align-items:center;
  gap:32px;
  flex-wrap:wrap;
}
.topbar-nav a{
  color:var(--text-dim);
  text-decoration: none;
  font-size:13px;
  font-weight: 600;
  text-transform: uppercase;
  transition: .2s;

}
.topbar-link{
  color:var(--text-dim);font:600 13px var(--font-body);background:transparent;cursor:pointer;
  text-transform:uppercase;letter-spacing:0.5px;text-decoration:none;
  padding:0 0 3px;border:0;border-bottom:2px solid transparent;transition:all .15s;
}
.topbar-link:hover{color:#fff;}
.topbar-link.active{color:#fff;border-bottom:2px solid var(--red);}


/* ---------- Header ---------- */
.header{
  background:linear-gradient(180deg,#121314 0%, var(--bg) 100%);
  border-bottom:1px solid var(--border);
  padding:28px 0 0;
}
.header-content{
  display:grid;
  grid-template-columns: 1fr auto auto;
  align-items:center;
  gap: 40px;
}
.eyebrow{
  font-family:var(--font-mono);font-size:11px;letter-spacing:2px;
  color:var(--red);text-transform:uppercase;margin-bottom:6px;
  display:flex;align-items:center;gap:8px;
}
.eyebrow::before{
  content:'';width:14px;height:2px;background:var(--red);display:inline-block;
}
.header h1{
  font-family:var(--font-display);font-size:28px;font-weight:800;letter-spacing:-0.5px;
  color:var(--text);
}
.hero-stat{
  display:flex;flex-direction:column;align-items:flex-end;gap:2px;
  padding-right:2px;
}
.hero-stat-value{
  font-family:var(--font-mono);font-size: 32px;font-weight:700;color:var(--text);
  letter-spacing:-1px;line-height:1;
}
.hero-stat-label{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.6px;}
.icon{width:15px;height:15px;vertical-align:-2px;margin-right:4px;stroke-width:1.8;}
.header .subtitle{font-size:13.5px;color:var(--text-dim);margin-top:4px;}
.header-chips{display:flex;gap:10px;flex-wrap:wrap;}
.chip{
  background:var(--panel);border:1px solid var(--border);
  padding:10px 16px;border-radius:8px;font-size:13px;
  display:flex;flex-direction:column;gap:2px;min-width:130px;
}
.chip .chip-label{font-size:10px;color:var(--text-mute);text-transform:uppercase;letter-spacing:0.6px;}
.chip .chip-value{font-family:var(--font-mono);font-weight:600;font-size:14px;}
.chip.ptax .chip-value{color:var(--red);}
.chip.updated .chip-value{color:var(--text);}
.chip.ptax{position:relative;padding-right:33px;}
.ptax-help{position:absolute;top:9px;right:10px;display:grid;place-items:center;width:16px;height:16px;border:1px solid var(--text-mute);border-radius:50%;color:var(--text-dim);font:700 10px var(--font-mono);cursor:help;z-index:2;}
.ptax-help::after{content:attr(data-tooltip);position:absolute;top:calc(100% + 9px);right:-4px;width:250px;padding:10px 11px;border:1px solid var(--border);border-radius:7px;background:#151a24;color:var(--text);font:12px/1.45 var(--font-body);font-weight:400;text-align:left;box-shadow:0 10px 22px rgba(0,0,0,.38);opacity:0;pointer-events:none;transform:translateY(-3px);transition:opacity .15s,transform .15s;}
.ptax-help:hover::after{opacity:1;transform:translateY(0);}

/* ---------- Ledger bar (signature element) ---------- */
.ledger-title{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:1px;

    color:var(--text-mute);

    margin-bottom:8px;
}
.ledger{padding:18px 0 22px;}
.ledger-track{
  display:flex;
  width:100%;
  height:14px;
  border-radius:999px;
  overflow:hidden;
  background:var(--panel-2);
  border:1px solid var(--border-soft);
  box-shadow:inset 0 1px 3px rgba(255,255,255,.04), 0 2px 8px rgba(0,0,0,.25)
}
.ledger-seg{height:100%;transition:width .4s ease;}
.ledger-legend{
  display:flex;
  gap:28px;
  margin-top:14px;
  flex-wrap:wrap;
  font-size:13px
}
.ledger-legend .li{display:flex;align-items:center;gap:7px;}
.ledger-legend .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.ledger-legend .num{color:var(--text);font-weight:600;}

/* ---------- Data quality banner ---------- */
.dq-banner{
  background:linear-gradient(90deg, rgba(217,34,48,0.09), rgba(217,34,48,0.02));
  border:1px solid var(--red-dim);border-left:3px solid var(--red);
  border-radius:8px;padding:14px 18px;margin:20px 0;
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  font-size:13.5px;color:var(--text-dim);
}
.dq-banner strong{color:var(--text);}
.dq-banner button{
  background:transparent;border:1px solid var(--border);color:var(--text-dim);
  padding:5px 12px;border-radius:6px;font-size:12px;cursor:pointer;flex-shrink:0;
  font-family:var(--font-body);
}
.dq-banner button:hover{border-color:var(--red);color:var(--text);}
.dq-banner ul{margin:6px 0 0 0;padding-left:18px;}
.dq-banner li{margin-bottom:3px;}
.dq-actions{display:flex;gap:8px;flex-shrink:0;}
.dq-actions button:first-child{border-color:rgba(217,34,48,.7);color:#ffd2d6;}
.dq-banner.is-success{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(51,209,184,.14),rgba(51,209,184,.035));border-color:rgba(51,209,184,.46);border-left-color:var(--teal);color:#c7eee7;}.dq-banner.is-success strong{color:var(--teal);}.dq-banner.is-success::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--teal);transform-origin:left;animation:dq-success-countdown 5s linear forwards;}@keyframes dq-success-countdown{to{transform:scaleX(0);}}

/* ---------- Filters ---------- */
.filters{
  background:var(--panel);border:1px solid var(--border);border-radius:14px;
  padding:13px 18px 12px;margin-bottom:18px;position:sticky;top:10px;z-index:100;
  box-shadow:0 8px 30px rgba(0,0,0,0.35);
}
.filter-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;}
.filter-group{display:flex;flex-direction:column;gap:5px;position:relative;}
.filter-label{
  font-size:11px;font-weight:600;color:var(--text-mute);
  text-transform:uppercase;letter-spacing:0.6px;
  display:flex;align-items:center;gap:5px;
}
.filter-label .fl-icon{width:12px;height:12px;flex-shrink:0;opacity:0.75;}
.filter-group input[type="text"]{
  background:var(--bg);border:1px solid var(--border);color:var(--text);
  padding:9px 13px;border-radius:6px;font-size:13.5px;font-family:var(--font-body);
  cursor:pointer;min-width:170px;transition:border-color .15s;
}
.filter-group input:hover{border-color:var(--red-dim);}
.filter-group input:focus{
  outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(217,34,48,0.15);
}

/* ---------- Multiselect (Mês / Quarter / GC) ---------- */
.multiselect{position:relative;min-width:190px;}
.multiselect-trigger{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:var(--bg);border:1px solid var(--border);color:var(--text);
  padding:7px 11px 7px 12px;border-radius:8px;font-size:13px;font-family:var(--font-body);
  cursor:pointer;transition:border-color .15s, box-shadow .15s;
}
.multiselect-trigger:hover{border-color:var(--red-dim);}
.multiselect.open .multiselect-trigger{border-color:var(--red);box-shadow:0 0 0 3px rgba(217,34,48,0.15);}
.multiselect-trigger.has-value{border-color:var(--red);background:rgba(217,34,48,.10);box-shadow:0 0 0 2px rgba(217,34,48,.13);}
.multiselect-trigger.has-value .multiselect-trigger-text{color:#ff9ba5;font-weight:700;}
.filter-group:has(.multiselect-trigger.has-value) .filter-label{color:#ff9ba5;font-weight:700;}
.multiselect-trigger-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ms-chevron{width:14px;height:14px;flex-shrink:0;color:var(--text-mute);transition:transform .15s;}
.multiselect.open .ms-chevron{transform:rotate(180deg);color:var(--red);}
.multiselect-panel{
  display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:240px;max-width:320px;
  background:var(--panel-2);border:1px solid var(--border);border-radius:10px;
  box-shadow:0 16px 40px rgba(0,0,0,0.5);z-index:200;overflow:hidden;
}
.multiselect.open .multiselect-panel{display:block;animation:msIn .12s ease;}
@keyframes msIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}
.multiselect-search{padding:10px;border-bottom:1px solid var(--border-soft);}
.multiselect-search input{
  width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);
  padding:7px 10px;border-radius:6px;font-size:13px;font-family:var(--font-body);
}
.multiselect-search input:focus{outline:none;border-color:var(--red);}
.multiselect-actions{
  display:flex;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border-soft);
  background:var(--panel);
}
.multiselect-actions button{
  background:none;border:none;color:var(--red);font-size:11px;font-weight:700;cursor:pointer;
  text-transform:uppercase;letter-spacing:0.3px;padding:2px 4px;font-family:var(--font-body);
}
.multiselect-actions button:hover{text-decoration:underline;}
.multiselect-options{max-height:230px;overflow-y:auto;padding:6px;}
.multiselect-options::-webkit-scrollbar{width:7px;}
.multiselect-options::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;}
.multiselect-option{
  display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:6px;
  font-size:13px;color:var(--text-dim);cursor:pointer;transition:background .1s;
}
.multiselect-option:hover{background:rgba(255,255,255,0.05);color:var(--text);}
.multiselect-option input[type="checkbox"]{
  appearance:none;-webkit-appearance:none;width:15px;height:15px;flex-shrink:0;
  border:1.5px solid var(--border);border-radius:4px;background:var(--bg);cursor:pointer;
  position:relative;transition:all .12s;
}
.multiselect-option input[type="checkbox"]:checked{background:var(--red);border-color:var(--red);}
.multiselect-option input[type="checkbox"]:checked::after{
  content:'';position:absolute;left:4px;top:1px;width:4px;height:8px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);
}
.multiselect-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ms-empty{color:var(--text-mute);font-size:12.5px;padding:14px 8px;text-align:center;}

/* ---------- Chips de filtros ativos ---------- */
.active-filters{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  margin-top:10px;padding-top:10px;border-top:1px solid var(--border-soft);
}
.active-filters.empty{display:none;}
.active-filters:not(.empty){border-color:rgba(217,34,48,.38);background:linear-gradient(90deg,rgba(217,34,48,.08),transparent 62%);border-radius:9px;padding:7px 9px;margin-top:10px;}
.af-chip{
  display:flex;align-items:center;gap:5px;background:rgba(217,34,48,0.12);
  border:1px solid var(--red);color:#ffd2d6;padding:3px 6px 3px 8px;
  border-radius:999px;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.3px;
}
.af-chip button{
  background:rgba(255,255,255,0.08);border:none;color:var(--text);width:13px;height:13px;
  border-radius:50%;cursor:pointer;font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center;
  padding:0;flex-shrink:0;
}
.af-chip button:hover{background:var(--red);}
.af-clear-all{
  background:none;border:none;color:var(--text-mute);font-size:12px;cursor:pointer;
  text-decoration:underline;padding:4px 6px;font-family:var(--font-body);
}
.af-clear-all:hover{color:var(--red);}

.toggle-buttons{display:flex;gap:6px;flex-wrap:wrap;}
.toggle-btn{
  background:var(--bg);border:1px solid var(--border);color:var(--text-dim);
  padding:7px 11px;border-radius:6px;font-size:12px;font-weight:500;
  cursor:pointer;transition:all .15s;font-family:var(--font-body);
}
.toggle-btn:hover{border-color:var(--red-dim);color:var(--text);}
.toggle-btn.active{background:var(--red);border-color:var(--red);color:#fff;font-weight:700;box-shadow:0 0 0 2px rgba(217,34,48,.18);}
.action-buttons{display:flex;gap:8px;margin-left:auto;}
.btn-outline{
  background:transparent;border:1px solid var(--border);color:var(--text-dim);
  padding:7px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;
  font-family:var(--font-body);transition:all .15s;
}
.btn-outline:hover{border-color:var(--red);color:var(--text);}
.btn-clear{
  background:transparent;border:1px solid var(--coral);color:var(--coral);
  padding:9px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;
  font-family:var(--font-body);transition:all .15s;
}
.btn-clear:hover{background:rgba(239,95,102,0.1);}

/* ---------- KPI Cards ---------- */
.kpi-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;margin-bottom:28px;
}
.previsao-flow-overview{display:grid;grid-template-columns:minmax(300px,28%) 52px minmax(0,1fr);gap:12px;align-items:stretch;margin-bottom:16px;}
.previsao-hero-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;margin:0;padding:24px 26px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(145deg,rgba(63,111,214,.18),var(--panel) 64%,rgba(51,209,184,.1));text-align:center;}
.previsao-hero-label{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--text);}
.previsao-hero-sub{margin-top:5px;font-size:11.5px;line-height:1.45;color:var(--text-mute);}
.previsao-hero-total{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;white-space:nowrap;}
.previsao-hero-total strong{font-family:var(--font-mono);font-size:42px;line-height:1;color:var(--teal);}
.previsao-hero-total span{font-family:var(--font-mono);font-size:15px;font-weight:600;color:var(--text);}

/* Fluxo da previsão: visão principal e detalhe da entrega em dois níveis. */
.flow-overview-arrow{position:relative;display:block;align-self:start;height:24px;margin-top:42px;color:transparent;font-size:0;}
.flow-overview-arrow::before{content:'';position:absolute;top:11px;left:0;width:43px;height:1px;background:linear-gradient(90deg,var(--text-mute),var(--text));}
.flow-overview-arrow::after{content:'';position:absolute;top:6px;right:1px;width:9px;height:9px;border-top:1px solid var(--text);border-right:1px solid var(--text);transform:rotate(45deg);}
.flow-layout{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin:0;min-width:0;}
.flow-primary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:10px;}
.flow-delivery-cards{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;}
.flow-primary-row .kpi-card,.flow-delivery-cards .kpi-card{min-width:205px;flex:0 0 205px;min-height:102px;padding:13px 15px;}
.flow-primary-row .kpi-card{min-width:0;width:100%;}
.flow-primary-row .kpi-card:has(.flow-help){overflow:visible;}
.flow-primary-row .kpi-label,.flow-delivery-cards .kpi-label{margin-bottom:7px;font-size:12px;}
.flow-primary-row .kpi-value,.flow-delivery-cards .kpi-value{font-size:25px;margin-bottom:2px;}
.flow-primary-row .kpi-sub,.flow-delivery-cards .kpi-sub{font-size:11px;}
.flow-delivery-breakdown{position:relative;width:calc(66.667% - 4px);margin:8px auto 0;padding:7px 10px 8px;border:1px solid rgba(234,176,74,.76);border-radius:10px;background:linear-gradient(135deg,rgba(234,176,74,.1),rgba(234,176,74,.025));box-shadow:inset 0 1px 0 rgba(255,218,143,.12);}
.flow-delivery-breakdown::before{content:'↓';position:absolute;top:-21px;left:50%;transform:translateX(-50%);color:#f1bf68;font:18px/1 var(--font-mono);}
.flow-delivery-title{margin:0 0 7px;color:#f1bf68;font-size:10px;font-weight:700;letter-spacing:.65px;text-align:center;text-transform:uppercase;}
.flow-delivery-cards{gap:8px;flex-wrap:nowrap;}
.flow-delivery-cards .kpi-card{min-width:0;min-height:92px;padding:11px 14px;flex:1 1 0;}
.kpi-arrow{display:flex;align-items:center;justify-content:center;height:100%}
.kpi-arrow{color:var(--text-dim);font-size:22px;flex:0 0 28px;text-align:center}
.kpi-card{
  background:var(--panel);border:1px solid var(--border);border-radius:12px;
  min-height:132px;padding:20px;position:relative;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s, box-shadow .2s;
}
.kpi-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg, var(--accent-color), transparent);
}
.kpi-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,0,0,0.35);}
.kpi-card-clickable{cursor:pointer;}
.kpi-card-clickable::after{
  content:'Clique para filtrar';position:absolute;bottom:8px;right:12px;
  font-size:10px;color:var(--text-mute);opacity:0;transition:opacity .15s;
}
.kpi-card-clickable:hover::after{opacity:0.8;}
.kpi-card-clickable.flow-active{
  border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color) inset, 0 10px 26px rgba(0,0,0,0.35);
}
.kpi-card-clickable.flow-active::after{content:'Filtrando ✓';opacity:0.9;color:var(--accent-color);font-weight:600;}
.kpi-label{font-size:12.5px;color:var(--text-dim);margin-bottom:10px;font-weight:500;}
.kpi-sub{margin-top:auto;}
.flow-help{position:absolute;top:13px;right:13px;display:grid;place-items:center;width:17px;height:17px;border:1px solid var(--text-mute);border-radius:50%;color:var(--text-dim);font:700 11px var(--font-mono);cursor:help;z-index:2;}
.flow-help::after{content:attr(data-tooltip);position:absolute;top:calc(100% + 9px);right:-8px;width:245px;padding:10px 11px;border:1px solid var(--border);border-radius:7px;background:#151a24;color:var(--text);font:12px/1.45 var(--font-body);font-weight:400;text-align:left;box-shadow:0 10px 22px rgba(0,0,0,.38);opacity:0;pointer-events:none;transform:translateY(-3px);transition:opacity .15s,transform .15s;}
.flow-help:hover::after{opacity:1;transform:translateY(0);}
.kpi-value{font-family:var(--font-mono);font-size:28px;font-weight:600;color:var(--accent-color);margin-bottom:3px;}
.kpi-sub{font-size:12px;color:var(--text-mute);}

/* ---------- Charts ---------- */
.charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px;margin-bottom:20px;}
.chart-container{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:12px;
  padding:22px;
  overflow:hidden;
  }
canvas#chartFunil{
    height:250px !important;
}

canvas#chartMesADS{
    height:330px !important;
}

/* Fix: explicit height for provisão mensal chart to avoid page growing infinitely */
canvas#chartProvisaoFiscal,
canvas#chartProvisaoEntrega{
    height:270px !important;
}
.chart-container.full-width{grid-column:1 / -1;}
.chart-title{
  font-family:var(--font-display);font-size:15.5px;font-weight:700;color:var(--text);
  margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;
}
.chart-toggle{display:flex;gap:6px;}
.chart-toggle button{
  background:var(--bg);border:1px solid var(--border);color:var(--text-dim);
  padding:5px 11px;border-radius:4px;font-size:11.5px;cursor:pointer;
  font-family:var(--font-body);transition:all .15s;
}
.chart-toggle button.active{background:var(--red);border-color:var(--red);color:#fff;}

/* ---------- Tables ---------- */
.table-container{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:22px;margin-bottom:22px;}
.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:14px;flex-wrap:wrap;}
.table-title{font-family:var(--font-display);font-size:15.5px;font-weight:700;color:var(--text);}
.table-meta{font-size:12px;color:var(--text-mute);margin-top:2px;}
th[data-provision-sort],th[data-received-sort],th[data-delivery-sort]{cursor:pointer;user-select:none;transition:color .15s;}
th[data-provision-sort]:hover,th[data-received-sort]:hover,th[data-delivery-sort]:hover{color:var(--text);}
th.is-sorted::after{content:attr(data-direction);margin-left:6px;color:var(--teal);font-size:10px;}
th.is-sorted[data-direction="1"]::after{content:'▲';}th.is-sorted[data-direction="-1"]::after{content:'▼';}
.table-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.provision-pivots{margin-top:22px;}
.provision-status-section{margin-bottom:14px;}
.provision-status-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 10px;}
.provision-status-heading h2{font-family:var(--font-display);font-size:15.5px;color:var(--text);}
.provision-status-heading h2 small{font:400 12px var(--font-body);color:var(--text-mute);}
.provision-status-heading span{color:var(--text-mute);font-size:12px;}
.provision-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.provision-card{position:relative;min-height:112px;padding:15px 20px;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s;}
.provision-card-breakdown{margin-top:5px;padding-top:5px;border-top:1px solid rgba(255,255,255,.08);color:var(--text-mute);font-size:10.5px;line-height:1.25;}
.provision-card:hover{transform:translateY(-2px);border-color:var(--accent-color);}
.provision-card.provision-card-active{border-color:var(--accent-color);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-color) 30%, transparent);background:rgba(255,255,255,0.035);}
.provision-chart-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:2px 0 12px;color:var(--text-mute);font-size:12px;}
.provision-exceptions{padding:13px 15px 15px;margin:0 0 14px;border:1px solid var(--border);border-radius:10px;background:linear-gradient(110deg,rgba(35,42,55,.48),rgba(18,19,22,.62));}
.provision-exceptions .provision-status-heading{margin-bottom:9px;}.provision-exceptions .provision-status-heading h2{font-size:14px;}.provision-exception-grid .provision-card{min-height:90px;padding:12px 16px;}.provision-exception-grid .kpi-label{margin-bottom:6px;}.provision-exception-grid .kpi-value{font-size:24px;}.provision-exception-grid .kpi-sub{font-size:11px;}.provision-exception-grid .provision-card-breakdown{display:none;}
.provision-help{top:14px;right:14px;}.provision-heading-help{position:relative;display:inline-grid;vertical-align:middle;top:auto;right:auto;margin-left:6px;width:15px;height:15px;font-size:10px;}.provision-filter-summary{margin-top:4px;color:var(--text-mute);font-size:12px;}.provision-filter-summary strong{color:var(--teal);font-weight:700;}.provision-filter-summary button{margin-left:8px;padding:0;border:0;background:transparent;color:var(--text-dim);text-decoration:underline;cursor:pointer;font:inherit;}.provision-filter-summary button:hover{color:var(--text);border-color:0;}
.provision-chart-row{margin-bottom:16px;}
.provision-base-table table{min-width:1710px;}
.provision-base-table{background:linear-gradient(145deg,var(--panel),rgba(35,42,55,0.86));}
.provision-table-filters{display:flex;align-items:end;gap:10px;padding:14px;margin:0 0 16px;border:1px solid var(--border);border-radius:9px;background:rgba(0,0,0,0.14);}
.provision-table-filters label{display:flex;flex-direction:column;gap:6px;min-width:160px;color:var(--text-mute);font-size:11px;font-weight:700;letter-spacing:.35px;text-transform:uppercase;}
.provision-table-filters .provision-filter-search{flex:1;min-width:250px;}
.provision-table-filters input,.provision-table-filters select{height:36px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font:13px var(--font-body);text-transform:none;letter-spacing:0;}
.provision-table-filters input:focus,.provision-table-filters select:focus{outline:none;border-color:var(--red);}
.provision-filter-clear{height:36px;padding:0 12px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-dim);font:12px var(--font-body);cursor:pointer;white-space:nowrap;}
.provision-filter-clear:hover{color:var(--text);border-color:var(--red);}
.provision-base-table .scroll-table{border-color:var(--border);background:rgba(0,0,0,.08);}
.provision-base-table thead{position:sticky;top:0;z-index:1;}
.provision-base-table th{font-size:10.5px;background:rgba(35,42,55,.98);}
.provision-base-table th small{font-size:9px;color:var(--text-mute);font-weight:500;text-transform:none;letter-spacing:0;}
.provision-base-table tbody tr{transition:background .15s;}
.provision-base-table tbody tr:hover{background:rgba(63,111,214,.11);}
.provision-item-name{display:block;max-width:260px;color:var(--text);line-height:1.35;}
.provision-company{display:block;max-width:220px;color:var(--text-dim);font-size:12px;line-height:1.35;}
.provision-type{display:inline-flex;align-items:center;padding:4px 7px;border:1px solid rgba(63,111,214,.45);border-radius:4px;background:rgba(63,111,214,.14);color:#a9c2ff;font:700 10px var(--font-body);white-space:nowrap;}
.provision-competence{color:var(--text);font-weight:600;white-space:nowrap;}
.provision-date{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);white-space:nowrap;}
.provision-tower{color:var(--text-dim);font-size:12px;}
.provision-badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.2px;text-transform:uppercase;white-space:nowrap;}
.provision-badge-danger{background:rgba(239,95,102,.16);color:#ff858b;}
.provision-badge-warning{background:rgba(234,176,74,.16);color:#f1bf68;}
.provision-badge-success{background:rgba(51,209,184,.15);color:#63e4cf;}
.provision-badge-delivered{background:rgba(155,140,242,.15);color:#b7adff;}
.provision-badge-progress{background:rgba(63,111,214,.15);color:#94b4ff;}
.provision-badge-stopped,.provision-badge-neutral{background:rgba(108,111,115,.2);color:#c1c4c9;}
.pivot-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:7px;}
.pivot-table{min-width:760px;}
.provision-summary-table{padding:0;overflow:hidden;background:linear-gradient(145deg,var(--panel),rgba(35,42,55,.86));}
.provision-summary-table .table-header{padding:20px 22px 16px;margin:0;border-bottom:1px solid var(--border);background:rgba(0,0,0,.1);}
.provision-summary-table .pivot-table-wrap{margin:16px 22px 22px;border-color:var(--border);background:rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.025);}
.provision-summary-table .pivot-table{min-width:1120px;}
.provision-summary-table .pivot-table th{background:rgba(35,42,55,.98);font-size:10.5px;}
.provision-summary-table .pivot-table td{font-family:var(--font-mono);font-size:12px;white-space:nowrap;}
.provision-summary-table .pivot-table td:first-child{font-family:var(--font-body);font-weight:700;color:var(--text);}
.provision-summary-table .pivot-table tbody tr:hover{background:rgba(63,111,214,.11);}
.provision-summary-table .pivot-table tfoot td{background:rgba(63,111,214,.13);color:var(--text);}
.provision-summary-table .pivot-total{color:#a9c2ff;background:rgba(63,111,214,.08)!important;}
.pivot-table th{cursor:default;background:var(--panel-2);}
.pivot-table th:hover{color:var(--text-mute);}
.pivot-table td,.pivot-table th{padding:9px 11px;}
.pivot-table .pivot-total{font-weight:700;background:rgba(255,255,255,0.025);}
.pivot-empty{padding:24px;color:var(--text-mute);text-align:center;}
.search-box{
  background:var(--bg);border:1px solid var(--border);color:var(--text);
  padding:8px 14px;border-radius:6px;font-size:13px;font-family:var(--font-body);width:260px;
}
.search-box:focus{outline:none;border-color:var(--red);}
table{width:100%;border-collapse:collapse;}
thead{background:var(--panel-2);}
th{
  text-align:left;padding:11px 12px;font-size:11px;font-weight:700;color:var(--text-mute);
  text-transform:uppercase;letter-spacing:0.5px;border-bottom:2px solid var(--border);
  cursor:pointer;user-select:none;white-space:nowrap;
}
th:hover{color:var(--red);}
th .sort-arrow{font-size:9px;margin-left:3px;opacity:0.5;}
td{padding:11px 12px;font-size:13.5px;border-bottom:1px solid var(--border-soft);}
tbody tr:nth-child(even){background:rgba(255,255,255,0.015);}
tbody tr:hover{background:rgba(217,169,76,0.06);}
tfoot td{
  padding:11px 12px;font-size:13px;font-weight:600;border-top:2px solid var(--border);
  color:var(--text);background:var(--panel-2);
}
.badge{
  display:inline-block;padding:3px 9px;border-radius:4px;font-size:10.5px;
  font-weight:600;text-transform:uppercase;letter-spacing:0.3px;
}
.badge-provisionado{background:var(--amber);color:#241a05;}
.badge-recebido{background:var(--teal);color:#04211d;}
.badge-nao-provisionado{background:var(--coral);color:#2a0a0c;}
.badge-vazio{background:var(--border);color:var(--text-mute);}
.badge-realizado{background:var(--teal);color:#04211d;}
.badge-andamento{background:var(--amber);color:#241a05;}
.badge-parado{background:#4a5163;color:#fff;}
.badge-azure{background:#3f6fd6;color:#fff;}
.badge-esteira{background:var(--violet);color:#1a1130;}
.badge-fasttrack{background:var(--gold);color:#1a1305;}
.dup-flag{
  display:inline-block;margin-left:6px;font-size:10px;padding:2px 6px;border-radius:4px;
  background:rgba(239,95,102,0.15);color:var(--coral);font-weight:600;cursor:help;
}
.value-zero{color:var(--text-mute);font-style:italic;}
.empty-state{
  padding:40px 20px;text-align:center;color:var(--text-mute);font-size:13.5px;
}

.loading-state{
  padding:40px 20px;text-align:center;color:var(--text-dim);font-size:13.5px;
  display:flex;align-items:center;justify-content:center;gap:10px;
}
.spinner{
  width:16px;height:16px;border-radius:50%;
  border:2px solid var(--border);border-top-color:var(--red);
  animation:spin .7s linear infinite;flex-shrink:0;
}
@keyframes spin{ to{ transform:rotate(360deg); } }

/* ---------- Top progress bar ISSO AQUI FOI OSSO) ---------- */
.top-progress-bar{
  position:absolute;left:0;right:0;bottom:0;height:6px;z-index:1200;display:flex;align-items:center;gap:12px;padding:0 0;
  background:transparent; /* bar sits on topbar background */
}
.top-progress-fill{
  position:absolute;left:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--red), rgba(234,176,74,0.95));
  box-shadow:0 6px 22px rgba(217,34,48,0.18);transition:width .35s ease;z-index:1210;border-radius:0 0 6px 6px;
}
.top-progress-text{position:absolute;left:50%;transform:translateX(-50%);bottom:8px;color:var(--text-dim);font-size:13px;z-index:1215;padding:0 12px;text-align:center;white-space:nowrap}

/* Position tweak for narrow screens */
@media (max-width:900px){ .top-progress-bar{height:8px;} .top-progress-text{left:50%;transform:translateX(-50%);} }

/* ---------- Skeletons / shimmer for loading states ---------- */
.skeleton{
  position:relative;overflow:hidden;background:linear-gradient(90deg, rgba(255,255,255,0.02), rgba(255,255,255,0.035) 50%, rgba(255,255,255,0.02));
}
.skeleton::after{
  content:'';position:absolute;left:-150px;top:0;height:100%;width:150px;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.04), transparent);
  animation:shimmer 1.1s linear infinite;
}
@keyframes shimmer{100%{transform:translateX(100%);}}

/* Apply skeletons when .is-loading is on the body */
body.is-loading .kpi-value, body.is-loading .kpi-sub{color:transparent;background:transparent}
body.is-loading .kpi-value::before{content:'';display:block;height:28px;width:60%;border-radius:6px;background:linear-gradient(90deg, rgba(255,255,255,0.02), rgba(255,255,255,0.035));}
body.is-loading .kpi-sub::before{content:'';display:block;height:14px;width:50%;border-radius:4px;margin-top:8px;background:linear-gradient(90deg, rgba(255,255,255,0.02), rgba(255,255,255,0.035));}

/* Charts: give canvas containers a skeleton background while loading */
body.is-loading canvas{opacity:0.06}
body.is-loading .chart-container::before{content:'';position:absolute;inset:22px;border-radius:8px;background:linear-gradient(90deg, rgba(255,255,255,0.02), rgba(255,255,255,0.03));z-index:1}
body.is-loading .chart-container{position:relative}

/* subtle text for loading state */
body.is-loading .loading-note{color:var(--text-dim);font-size:12px;margin-left:6px}

.pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:18px;}
.pagination button{
  background:var(--bg);border:1px solid var(--border);color:var(--text);
  padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s;
  font-family:var(--font-body);
}
.pagination button:hover:not(:disabled){border-color:var(--red);color:var(--red);}
.pagination button:disabled{opacity:0.4;cursor:not-allowed;}
.pagination span{color:var(--text-dim);font-size:13px;font-family:var(--font-mono);}
.scroll-table{max-height:560px;overflow-y:auto;}
.scroll-table > table > thead{position:sticky;top:0;z-index:2;}
.scroll-table > table > thead th{background:rgba(35,42,55,.98);}
.scroll-table::-webkit-scrollbar{width:8px;}
.scroll-table::-webkit-scrollbar-track{background:var(--bg);border-radius:4px;}
.scroll-table::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;}
.scroll-table::-webkit-scrollbar-thumb:hover{background:var(--gold-soft);}

/* ---------- Tab navigation ---------- */
.tab-nav{
  display:flex;gap:4px;padding:6px;margin:20px 0 24px;
  background:var(--panel);border:1px solid var(--border);border-radius:10px;
  overflow-x:auto;
}
.tab-btn{
  flex:1;white-space:nowrap;background:transparent;border:none;color:var(--text-dim);
  padding:10px 16px;border-radius:7px;font-size:13.5px;font-weight:600;cursor:pointer;
  font-family:var(--font-body);transition:all .15s;
}
.tab-btn:hover{color:var(--text);background:rgba(255,255,255,0.03);}
.tab-btn.active{background:var(--red);color:#fff;}
.tab-panel{display:none;}
.tab-panel.active{display:block;animation:riseIn .35s ease;}

/* ---------- Áreas: Relatórios, Configurações e Ajuda ---------- */
.workspace-panel{display:none;padding-top:30px;padding-bottom:34px;}
.workspace-panel.active{display:block;animation:riseIn .35s ease;}
.workspace-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px;padding:22px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(105deg,rgba(63,111,214,.13),var(--panel) 55%,rgba(51,209,184,.06));}
.workspace-heading h1{margin:5px 0 4px;font-family:var(--font-display);font-size:25px;color:var(--text);}
.workspace-heading p{color:var(--text-dim);font-size:13px;}
.workspace-note{padding:7px 10px;border:1px solid var(--border);border-radius:6px;color:var(--text-mute);font:12px var(--font-mono);white-space:nowrap;}
.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.report-card,.settings-card,.help-card{padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--panel);}
.report-card{min-height:148px;display:flex;flex-direction:column;}
.report-card>i{display:grid;place-items:center;width:28px;height:28px;margin-bottom:9px;border-radius:7px;background:rgba(63,111,214,.15);color:var(--azure);font:700 12px var(--font-mono);font-style:normal;}
.report-preview{display:block;margin-top:12px;color:var(--teal);font:600 12px var(--font-mono);}
.report-card h2,.settings-card h2,.help-card h2{font-family:var(--font-display);font-size:16px;color:var(--text);}
.report-card p,.settings-card p,.help-card p{margin-top:6px;color:var(--text-dim);font-size:12.5px;line-height:1.5;}
.report-actions{display:flex;gap:8px;margin-top:auto;padding-top:18px;}
.report-actions button,.settings-card button,.help-form button{padding:8px 12px;border:1px solid var(--azure);border-radius:6px;background:var(--azure);color:#fff;font:600 12px var(--font-body);cursor:pointer;}
.report-actions button.secondary{background:transparent;border-color:var(--border);color:var(--text-dim);}
.report-actions button.secondary{border-color:rgba(143,123,255,.5);color:#b9adff;}
.report-actions button:hover,.settings-card button:hover,.help-form button:hover{filter:brightness(1.12);}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.settings-card-wide{grid-column:1 / -1;}
.settings-card select{width:100%;margin:15px 0 8px;padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font:13px var(--font-body);}
.settings-card small{display:block;color:var(--text-mute);font-size:11px;line-height:1.45;}
.settings-monday-link{display:inline-flex;align-items:center;margin:15px 0 8px;padding:8px 12px;border:1px solid var(--azure);border-radius:6px;background:rgba(63,111,214,.14);color:#b9d1ff;font:600 12px var(--font-body);text-decoration:none;}.settings-monday-link:hover{background:rgba(63,111,214,.25);filter:brightness(1.08);}
.settings-card dl{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;margin:16px 0;color:var(--text-dim);font-size:13px;}
.settings-card dt{color:var(--text-mute);}.settings-card dd{margin:0;text-align:right;color:var(--text);font-family:var(--font-mono);}
.settings-health{display:grid;grid-template-columns:10px 1fr;gap:8px 10px;align-items:center;margin-top:17px;}.settings-health>span{width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(51,209,184,.13);}.settings-health strong{color:var(--text);font-size:13px;}.settings-health small{grid-column:2;}.settings-health.is-demo>span{background:var(--amber);box-shadow:0 0 0 4px rgba(243,182,62,.13);}
.data-quality-table-wrap{margin-top:15px;max-height:350px;overflow:auto;border:1px solid var(--border-soft);border-radius:8px;}.data-quality-table{width:100%;border-collapse:collapse;font-size:12px;}.data-quality-table th{position:sticky;top:0;padding:10px 12px;background:var(--panel-2);color:var(--text-mute);font-size:10px;letter-spacing:.55px;text-transform:uppercase;text-align:left;z-index:1;}.data-quality-table td{padding:11px 12px;border-top:1px solid var(--border-soft);color:var(--text);vertical-align:top;}.dq-pending-field{color:#ff6f7c;font-weight:800;}.dq-pending-separator{color:var(--text-mute);}.data-quality-table .dq-empty{text-align:center;color:var(--text-mute);}
.billing-check-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.billing-check-heading h2{margin:0}.billing-check-heading p{max-width:720px}.billing-check-heading .secondary{background:transparent;color:var(--text-dim);border-color:var(--border)}.billing-check-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.billing-check-stat{padding:12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--panel-2);color:var(--text);text-align:left;cursor:pointer;font:inherit}.billing-check-stat:hover,.billing-check-stat.active{border-color:var(--azure);background:rgba(63,111,214,.12)}.billing-check-stat b{display:block;font:700 19px var(--font-display);margin-bottom:3px}.billing-check-stat small{color:var(--text-mute)}.billing-check-stat.is-error b{color:var(--red)}.billing-check-stat.is-ok b{color:var(--green)}.billing-check-stat.is-wait b{color:var(--amber)}.billing-check-stat.is-attention b{color:var(--purple)}.billing-check-filters{display:flex;align-items:center;gap:14px;margin-top:16px}.billing-check-filters input{flex:1;min-width:220px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font:13px var(--font-body)}.billing-check-filters span{font-size:11px;color:var(--text-mute);white-space:nowrap}.billing-case-table tbody tr{cursor:pointer}.billing-case-table tbody tr:hover td,.billing-case-table tbody tr.active td{background:rgba(63,111,214,.11)}.billing-status{display:inline-flex;padding:4px 7px;border-radius:4px;font:700 10px var(--font-body);text-transform:uppercase;letter-spacing:.25px;white-space:nowrap}.billing-status.is-ok{color:#24d5b4;background:rgba(36,213,180,.15)}.billing-status.is-error{color:#ff7782;background:rgba(255,91,107,.14)}.billing-status.is-wait{color:#f3ba4b;background:rgba(243,186,75,.14)}.billing-status.is-attention{color:#a795ff;background:rgba(139,115,255,.15)}.billing-check-compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.billing-source-panel{border:1px solid var(--border-soft);border-radius:9px;overflow:hidden;background:var(--bg)}.billing-source-title{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border-bottom:1px solid var(--border-soft);background:var(--panel-2)}.billing-source-title span{font:700 13px var(--font-display);color:var(--text)}.billing-source-title small{color:var(--text-mute);font-size:10px}.billing-detail-list{margin:0;padding:4px 13px;list-style:none}.billing-detail-list li{display:grid;grid-template-columns:135px 1fr;gap:10px;min-height:37px;align-items:center;padding:9px 0;border-bottom:1px solid var(--border-soft);font-size:12px}.billing-detail-list li:last-child{border:0}.billing-detail-list b{color:var(--text-mute);font-size:10px;letter-spacing:.4px;text-transform:uppercase}.billing-detail-list span{color:var(--text);word-break:break-word}.billing-detail-empty{display:block;padding:20px 13px;color:var(--text-mute);font-size:12px}.billing-faturamento-rows{width:100%;border-collapse:collapse;font-size:11px}.billing-faturamento-rows th{padding:9px 11px;background:var(--bg);color:var(--text-mute);font-size:9px;text-align:left;text-transform:uppercase}.billing-faturamento-rows td{padding:9px 11px;border-top:1px solid var(--border-soft);color:var(--text)}
.billing-check-filterbar{display:flex;align-items:center;gap:9px;margin-top:10px}.billing-filter-menu{position:relative}.billing-filter-menu>button,.billing-filter-clear{padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text-dim);font:600 11px var(--font-body);cursor:pointer}.billing-filter-menu>button span{color:var(--text-mute);font-weight:400;margin-left:5px}.billing-filter-menu.open>button,.billing-filter-menu>button:hover{border-color:var(--azure);color:var(--text)}.billing-filter-options{display:none;position:absolute;z-index:12;top:calc(100% + 6px);left:0;width:260px;max-height:260px;overflow:auto;padding:7px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:0 14px 28px rgba(0,0,0,.35)}.billing-filter-menu.open .billing-filter-options{display:block}.billing-filter-option{display:flex;align-items:center;gap:8px;padding:7px 5px;color:var(--text-dim);font-size:12px;cursor:pointer}.billing-filter-option:hover{color:var(--text);background:var(--panel-2)}.billing-filter-option input{accent-color:var(--azure)}.billing-filter-clear{margin-left:auto;color:var(--text-mute)}.billing-case-table th[data-billing-sort]{cursor:pointer}.billing-case-table th[data-billing-sort]:hover{color:var(--text)}
.billing-check-filterbar .filter-group{min-width:180px}.billing-check-filterbar .billing-filter-menu>button.multiselect-trigger{width:100%;padding:9px 12px 9px 13px;border-radius:8px;color:var(--text);font:13.5px var(--font-body)}.billing-check-filterbar .billing-filter-menu>button .multiselect-trigger-text{margin:0;color:var(--text)}.billing-check-filterbar .billing-filter-menu.open>button.multiselect-trigger{border-color:var(--red);box-shadow:0 0 0 3px rgba(217,34,48,.15)}.billing-check-filterbar .billing-filter-menu.open .ms-chevron{transform:rotate(180deg);color:var(--red)}.billing-check-filterbar .billing-filter-options{z-index:200;top:calc(100% + 8px);width:100%;min-width:240px;padding:7px 10px;border-radius:10px;background:var(--panel-2);box-shadow:0 16px 40px rgba(0,0,0,.5)}.billing-check-filterbar .billing-filter-option{padding:8px 5px;font-size:13px}.billing-check-filterbar .billing-filter-clear{align-self:flex-end;height:38px}
.billing-check-summary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.billing-check-stat{width:100%;min-height:132px;padding:20px;text-align:left;cursor:pointer;font:inherit;--accent-color:var(--text-dim)}.billing-check-stat:hover{border-color:var(--accent-color);background:var(--panel)}.billing-check-stat .kpi-label{margin-bottom:14px}.billing-check-stat .kpi-value{font-size:28px}.billing-check-stat .kpi-sub{padding-right:72px;line-height:1.35}.billing-check-stat.is-info{--accent-color:var(--text-dim)}.billing-check-stat.is-ok{--accent-color:var(--teal)}.billing-check-stat.is-pending{--accent-color:var(--azure)}.billing-check-stat.is-notfound{--accent-color:var(--amber)}.billing-check-stat.is-error{--accent-color:var(--red)}.billing-check-stat.is-cancelled{--accent-color:var(--red-dim)}.billing-status.is-pending{color:#9bb7ff;background:rgba(63,111,214,.16)}.billing-status.is-notfound{color:#f3ba4b;background:rgba(243,186,75,.14)}
.billing-approval-action{display:grid;gap:7px;margin:10px 13px 14px;padding:12px;border:1px solid rgba(234,176,74,.38);border-radius:8px;background:rgba(234,176,74,.07)}.billing-approval-action button{justify-self:start;padding:8px 10px;border:1px solid var(--amber);border-radius:6px;background:var(--amber);color:#231a05;font:700 11px var(--font-body);cursor:pointer}.billing-approval-action button:disabled{opacity:.65;cursor:wait}.billing-approval-action small{color:var(--text-dim);font-size:10.5px;line-height:1.35}.billing-approval-action.is-approved{border-color:rgba(51,209,184,.36);background:rgba(51,209,184,.07)}.billing-approval-action.is-approved strong{color:var(--teal);font-size:12px}
.billing-check-card{padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.billing-check-stat.kpi-card{background:var(--panel)!important;color:var(--text);border-color:var(--border)}.billing-check-stat.kpi-card:hover{background:var(--panel)!important;border-color:var(--accent-color)}.billing-check-stat.kpi-card.flow-active{background:var(--panel)!important;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color) inset,0 10px 26px rgba(0,0,0,.35)}
#billingCheckRefresh{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:9px 13px;border:1px solid var(--border);border-radius:7px;background:transparent;color:var(--text-dim);font:600 12px var(--font-body);cursor:pointer;white-space:nowrap;transition:border-color .16s ease,color .16s ease,background .16s ease}#billingCheckRefresh span{font-size:16px;line-height:1;color:var(--azure)}#billingCheckRefresh:hover{border-color:var(--azure);background:rgba(63,111,214,.09);color:var(--text)}#billingCheckRefresh:hover span{transform:rotate(180deg);transition:transform .32s ease}#billingCheckRefresh:disabled{opacity:.6;cursor:wait}
.billing-health-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;padding:21px 22px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(105deg,rgba(63,111,214,.15),var(--panel) 54%,rgba(51,209,184,.07))}.billing-health-hero h2{margin:4px 0 0;font:700 21px var(--font-display)}.billing-health-hero p{margin:6px 0 0;color:var(--text-mute);font-size:12.5px}.billing-health-hero-action{display:grid;justify-items:end;gap:4px;text-align:right}.billing-health-hero-action strong{font:700 18px var(--font-display);color:var(--teal)}.billing-health-hero-action span{color:var(--text-mute);font-size:11px}.billing-health-hero-action .secondary{margin-top:7px}.billing-health-hero .secondary,.billing-health-table .secondary{padding:9px 12px;border:1px solid var(--border);border-radius:7px;background:transparent;color:var(--text-dim);font:600 12px var(--font-body);cursor:pointer;white-space:nowrap}.billing-health-hero .secondary:hover,.billing-health-table .secondary:hover{border-color:var(--azure);color:var(--text)}.billing-health-kpis{margin-bottom:20px}.billing-health-kpis .kpi-card{min-height:126px}.billing-health-chart{min-height:345px;margin-bottom:20px}.billing-health-chart canvas{max-height:285px}.billing-health-table tbody tr{cursor:pointer}.billing-health-table tbody tr:hover td{background:rgba(63,111,214,.1)}
.rules-dictionary{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:15px;}.rules-dictionary div{padding:12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--bg);}.rules-dictionary b{display:block;color:var(--teal);font-size:12px;}.rules-dictionary span{display:block;margin-top:5px;color:var(--text-dim);font-size:11.5px;line-height:1.4;}
.rules-list{margin:15px 0 0;padding-left:19px;color:var(--text-dim);font-size:13px;line-height:1.8;}.rules-list strong{color:var(--text);}
.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}.help-card-wide{grid-column:1 / -1;}
.documents-list{display:grid;gap:8px;margin-top:16px;}.document-link{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--text);text-decoration:none;}.document-link:hover{border-color:var(--azure);}.document-link>i{display:grid;place-items:center;width:31px;height:31px;border-radius:6px;background:rgba(242,94,108,.13);color:var(--coral);font:700 9px var(--font-mono);font-style:normal;}.document-link span{flex:1;}.document-link strong,.document-link small{display:block;}.document-link small{margin-top:3px;color:var(--text-mute);font-size:11px;}.document-link b{color:var(--teal);font-size:12px;}.documents-empty{color:var(--text-mute);font-size:13px;}
.faq-search{width:100%;margin-top:14px;padding:9px 11px;border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--text);font:12px var(--font-body);}.faq-search:focus{outline:none;border-color:var(--azure);}.help-contact{display:flex;align-items:center;gap:10px;margin:15px 0 3px;padding:10px;border:1px solid var(--border-soft);border-radius:8px;background:var(--bg);}.help-contact>b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(51,209,184,.16);color:var(--teal);font:700 11px var(--font-mono);}.help-contact strong,.help-contact small{display:block;}.help-contact strong{color:var(--text);font-size:12px;}.help-contact small{margin-top:2px;color:var(--text-mute);font-size:10.5px;}
.faq-list{margin-top:14px;}.faq-list details{border-bottom:1px solid var(--border-soft);padding:11px 0;}.faq-list summary{cursor:pointer;color:var(--text);font-size:13px;font-weight:600;}.faq-list p{padding-left:3px;}
.help-form{display:grid;gap:9px;margin-top:14px;}.help-form input,.help-form textarea{padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font:13px var(--font-body);}.help-form textarea{min-height:92px;resize:vertical;}.help-form button:disabled{cursor:wait;opacity:.7;}.help-form small{color:var(--teal);font-size:11px;line-height:1.4;}.help-form small[data-state="error"]{color:var(--red);}.help-form small[data-state="loading"]{color:var(--text-mute);}

/* ---------- Insight cards (aba Análise) ---------- */
.analysis-executive{display:grid;gap:16px;}.analysis-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:19px 22px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(105deg,rgba(63,111,214,.15),var(--panel) 54%,rgba(51,209,184,.06));}.analysis-heading h2{margin-top:4px;font:600 21px var(--font-display);color:var(--text);}.analysis-heading p{margin-top:5px;color:var(--text-mute);font-size:12.5px;}.analysis-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;}.analysis-month-nav{display:flex;align-items:center;gap:7px;padding:3px;border:1px solid var(--border);border-radius:7px;background:var(--bg);}.analysis-month-nav button{width:27px;height:27px;border:0;border-radius:5px;background:transparent;color:var(--text-dim);font:600 22px/1 var(--font-body);cursor:pointer;}.analysis-month-nav button:hover{background:var(--panel-2);color:var(--text);}.analysis-month-nav strong{min-width:82px;text-align:center;color:var(--text);font:600 11px var(--font-body);}.analysis-story-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}.analysis-story-card{min-height:136px;padding:17px 18px;border:1px solid var(--border);border-top:3px solid var(--analysis-accent);border-radius:10px;background:var(--panel);display:flex;flex-direction:column;}.analysis-story-card span{color:var(--text-mute);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.45px;}.analysis-story-card strong{margin:11px 0 8px;color:var(--text);font:600 16px/1.25 var(--font-display);overflow-wrap:anywhere;}.analysis-story-card small{margin-top:auto;color:var(--text-dim);font-size:11.5px;line-height:1.35;}.analysis-story-card.accent-blue{--analysis-accent:var(--azure);}.analysis-story-card.accent-teal{--analysis-accent:var(--teal);}.analysis-story-card.accent-violet{--analysis-accent:var(--violet);}.analysis-story-card.accent-amber{--analysis-accent:var(--amber);}.analysis-story-card.accent-amber strong{color:var(--amber);font-family:var(--font-mono);}.analysis-highlights{display:grid;grid-template-columns:245px 1fr;gap:20px;padding:17px 20px;border:1px solid rgba(51,209,184,.28);border-radius:10px;background:linear-gradient(105deg,rgba(51,209,184,.1),rgba(35,42,55,.54));}.analysis-highlights-title{display:flex;align-items:flex-start;gap:10px;}.analysis-highlights-title>span{color:var(--teal);font-size:18px;line-height:1;}.analysis-highlights h3{font:600 15px var(--font-display);color:var(--text);}.analysis-highlights p{margin-top:4px;color:var(--text-mute);font-size:11px;line-height:1.4;}.analysis-highlights ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0;padding:0;list-style:none;}.analysis-highlights li{padding-left:13px;position:relative;color:var(--text-dim);font-size:12px;line-height:1.45;}.analysis-highlights li::before{content:'•';position:absolute;left:0;color:var(--teal);}.analysis-highlights b{color:var(--text);font-family:var(--font-mono);font-weight:600;}.analysis-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}.analysis-table{padding:16px;background:linear-gradient(145deg,var(--panel),rgba(35,42,55,.86));}.analysis-table .table-header{margin-bottom:12px;}.analysis-table .scroll-table{max-height:440px;border:1px solid var(--border);border-radius:8px;}.analysis-table table{min-width:690px;}.analysis-table thead{position:sticky;top:0;z-index:1;}.analysis-table th{background:rgba(35,42,55,.98);font-size:10px;white-space:nowrap;}.analysis-table td{font-size:11.5px;}.analysis-table td strong{display:block;color:var(--text);font-size:12px;line-height:1.3;}.analysis-table td small{display:block;margin-top:3px;color:var(--text-mute);font-size:10px;}.analysis-table .is-positive{color:var(--teal);}.analysis-table .is-negative{color:var(--red);}.analysis-empty{text-align:center!important;padding:26px!important;color:var(--text-mute)!important;}
.insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-bottom:20px;}
.insight-list{list-style:none;counter-reset:rank;}
.insight-list li{
  counter-increment:rank;display:flex;justify-content:space-between;align-items:center;
  padding:10px 4px;border-bottom:1px solid var(--border-soft);font-size:13.5px;gap:10px;
}
.analysis-note{margin:0 0 16px;padding:11px 14px;border:1px solid rgba(63,111,214,.28);border-radius:9px;background:rgba(63,111,214,.08);color:var(--text-dim);font-size:12px;}
.insight-list li.ranking-item{position:relative;isolation:isolate;overflow:hidden;border-radius:7px;padding:10px 8px;}
.ranking-bar{position:absolute;z-index:-1;inset:4px auto 4px 0;width:var(--rank-width);border-radius:5px;background:linear-gradient(90deg,rgba(63,111,214,.17),rgba(51,209,184,.04));}
.insight-list li:last-child{border-bottom:none;}
.insight-list li::before{
  content:counter(rank);flex-shrink:0;width:20px;height:20px;border-radius:50%;
  background:var(--panel-2);border:1px solid var(--border);color:var(--text-mute);
  font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);
}
.insight-list li .insight-name{flex:1;color:var(--text);}
.insight-list li .insight-value{font-family:var(--font-mono);font-weight:600;color:var(--red);}
.insight-list li .insight-sub{font-size:11.5px;color:var(--text-mute);}

/* ---------- Financeiro placeholder ---------- */
.placeholder-card{
  background:var(--panel);border:1px dashed var(--border);border-radius:12px;
  padding:44px 32px;text-align:center;
}
.placeholder-card .placeholder-icon{
  width:40px;height:40px;margin:0 auto 16px;color:var(--red);opacity:0.85;
}
.placeholder-card h3{
  font-family:var(--font-display);font-size:17px;color:var(--text);margin-bottom:8px;
}
.placeholder-card p{
  font-size:13.5px;color:var(--text-dim);max-width:520px;margin:0 auto 6px;line-height:1.6;
}
.placeholder-card ul{
  text-align:left;max-width:480px;margin:16px auto 0;font-size:13px;color:var(--text-dim);
  padding-left:20px;
}
.placeholder-card li{margin-bottom:6px;}

.maintenance-card{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px;border:1px dashed var(--border);border-radius:12px;background:var(--panel);}
.maintenance-icon{display:grid;place-items:center;width:46px;height:46px;margin-bottom:14px;border-radius:50%;background:rgba(63,111,214,.14);color:var(--azure);font:26px var(--font-mono);}
.maintenance-card h2{font-family:var(--font-display);font-size:18px;color:var(--text);}
.maintenance-card p{max-width:470px;margin-top:8px;color:var(--text-dim);font-size:13.5px;line-height:1.6;}
.maintenance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;}.maintenance-summary article,.roadmap-card{padding:17px;border:1px solid var(--border);border-radius:10px;background:var(--panel);}.maintenance-summary span{display:block;color:var(--text-mute);font-size:11.5px;}.maintenance-summary strong{display:block;margin-top:8px;color:var(--teal);font:600 19px var(--font-mono);}.roadmap-card{margin-top:16px;}.roadmap-card h3{color:var(--text);font:600 15px var(--font-display);}.roadmap-card ol{display:flex;gap:18px;margin:13px 0 0;padding-left:19px;color:var(--text-dim);font-size:12px;line-height:1.5;}.roadmap-card li{flex:1;}

/* ---------- Entregas de incentivos ---------- */
.delivery-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;padding:20px 22px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(105deg,rgba(155,140,242,.13),var(--panel) 52%,rgba(63,111,214,.06));}.delivery-heading h2{margin-top:3px;font:600 20px var(--font-display);color:var(--text);}.delivery-heading p{margin-top:5px;color:var(--text-mute);font-size:12.5px;}.delivery-view-toggle{display:flex;gap:5px;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--bg);}.delivery-view-toggle button{padding:7px 11px;border:0;border-radius:5px;background:transparent;color:var(--text-mute);font:600 12px var(--font-body);cursor:pointer;}.delivery-view-toggle button.active{background:var(--azure);color:#fff;}.delivery-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px;}.delivery-kpi-grid article{min-height:105px;padding:18px 19px;border:1px solid var(--border);border-radius:10px;background:var(--panel);}.delivery-kpi-grid article:nth-child(1){border-top:2px solid var(--teal);}.delivery-kpi-grid article:nth-child(2){border-top:2px solid var(--amber);}.delivery-kpi-grid article:nth-child(3){border-top:2px solid var(--gray);}.delivery-kpi-grid span{display:block;color:var(--text-dim);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.35px;}.delivery-kpi-grid strong{display:block;margin:14px 0 5px;font:600 22px var(--font-mono);color:var(--text);}.delivery-kpi-grid article:nth-child(1) strong{color:var(--teal);}.delivery-kpi-grid article:nth-child(2) strong{color:var(--amber);}.delivery-kpi-grid article:nth-child(3) strong{color:var(--gray);}.delivery-kpi-grid small{color:var(--text-mute);font-size:11px;}.delivery-charts-row .chart-container{min-height:360px;}.delivery-charts-row canvas{height:290px!important;}.delivery-table{background:linear-gradient(145deg,var(--panel),rgba(35,42,55,.86));}.delivery-table .scroll-table{max-height:460px;border:1px solid var(--border);border-radius:8px;}.delivery-table table{min-width:1050px;}.delivery-table thead{position:sticky;top:0;z-index:1;}.delivery-table th{background:rgba(35,42,55,.98);font-size:10.5px;}.delivery-table tbody tr:hover{background:rgba(63,111,214,.1);}.delivery-status-ads,.delivery-type{display:inline-flex;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 7px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.2px;text-transform:uppercase;}.delivery-status-ads{background:rgba(155,140,242,.15);color:#b9adff;}.delivery-type{border:1px solid rgba(63,111,214,.45);background:rgba(63,111,214,.14);color:#a9c2ff;}.delivery-table-empty{padding:28px!important;text-align:center;color:var(--text-mute);}

/* ---------- Metas de recebimento ---------- */
.received-goal-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px;padding:24px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(105deg,rgba(51,209,184,.14),var(--panel) 55%,rgba(63,111,214,.07));}
.received-goal-eyebrow{color:var(--teal);font-size:11px;font-weight:700;letter-spacing:.65px;text-transform:uppercase;}
.received-goal-values{display:flex;align-items:baseline;gap:8px;margin:8px 0;}.received-goal-values strong{font:600 29px var(--font-mono);color:var(--text);}.received-goal-values span{font-size:13px;color:var(--text-mute);}.received-goal-values b{font-family:var(--font-mono);color:var(--text-dim);}
.received-goal-progress{display:flex;height:10px;max-width:620px;border-radius:999px;background:rgba(255,255,255,.13);overflow:hidden;}.received-goal-progress span{display:block;height:100%;transition:width .3s ease;}.received-progress-received{background:linear-gradient(90deg,var(--teal),#54e1cc);}.received-progress-delivered{background:linear-gradient(90deg,#e7ad37,var(--amber));}.received-goal-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:9px;color:var(--text-mute);font-size:10.5px;}.received-goal-legend span{display:flex;align-items:center;gap:5px;}.received-goal-legend i{width:8px;height:8px;border-radius:50%;}.legend-received{background:var(--teal);}.legend-delivered{background:var(--amber);}.legend-remaining{background:rgba(255,255,255,.25);}.received-goal-main p{margin-top:8px;color:var(--text-mute);font-size:12px;}
.received-goal-actions{display:flex;align-items:flex-end;gap:20px;}.received-delivery-toggle{padding:9px 12px;border:1px solid rgba(243,182,62,.62);border-radius:7px;background:rgba(243,182,62,.08);color:var(--amber);font:700 11px var(--font-body);cursor:pointer;white-space:nowrap;transition:.18s ease;}.received-delivery-toggle:hover,.received-delivery-toggle.is-active{background:rgba(243,182,62,.18);border-color:var(--amber);color:#ffd476;}.received-goal-percent{text-align:right;}.received-goal-percent strong{display:block;font:600 36px var(--font-mono);color:var(--teal);}.received-goal-percent span{color:var(--text-mute);font-size:12px;text-transform:uppercase;letter-spacing:.5px;}
.received-goal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;}.received-goal-card{min-height:106px;padding:18px 19px;border:1px solid var(--border);border-radius:10px;background:var(--panel);display:flex;flex-direction:column;justify-content:space-between;}.received-goal-card span{color:var(--text-dim);font-size:12.5px;font-weight:600;}.received-goal-card strong{font:600 22px var(--font-mono);color:var(--text);}.received-goal-card small{color:var(--text-mute);font-size:11px;}.received-goal-chart{margin-bottom:22px;}.received-goal-chart canvas{height:300px!important;}.chart-note{color:var(--text-mute);font-size:11px;font-family:var(--font-body);font-weight:400;}
.received-month-table{background:linear-gradient(145deg,var(--panel),rgba(35,42,55,.86));}.received-month-table .scroll-table{max-height:420px;border:1px solid var(--border);border-radius:8px;}.received-month-table table{min-width:880px;}.received-month-table thead{position:sticky;top:0;z-index:1;}.received-month-table th{background:rgba(35,42,55,.98);font-size:10.5px;}.received-month-table tbody tr:hover{background:rgba(63,111,214,.1);}.received-status-ads,.received-type{display:inline-flex;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 7px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.2px;text-transform:uppercase;}.received-status-ads{background:rgba(155,140,242,.15);color:#b9adff;}.received-status-ads.is-received{background:rgba(51,209,184,.16);color:#63e4cf;}.received-type{border:1px solid rgba(63,111,214,.45);background:rgba(63,111,214,.14);color:#a9c2ff;}.received-table-empty{padding:28px!important;text-align:center;color:var(--text-mute);}

/* ---------- Financeiro ---------- */
.financial-intro{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:0 0 24px;padding:20px 22px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(105deg,rgba(63,111,214,.14),var(--panel) 50%,rgba(51,209,184,.06));}
.financial-intro h2{font-family:var(--font-display);font-size:19px;color:var(--text);}
.financial-intro p{margin-top:5px;color:var(--text-mute);font-size:12.5px;}
.financial-filter-note{color:var(--text-dim);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;}
.financial-section{margin-bottom:22px;}
.financial-section h3{margin:0 0 10px;color:var(--text-dim);font-size:12px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;}
.financial-card-grid{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);gap:12px;align-items:center;}
.financial-arrow{color:var(--text-mute);font:20px var(--font-mono);text-align:center;}
.financial-card{min-height:126px;padding:19px 20px;border:1px solid var(--border);border-radius:11px;background:var(--panel);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;}
.financial-card::before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:var(--finance-accent);}
.financial-card span{padding-left:6px;color:var(--text-dim);font-size:12.5px;font-weight:600;}
.financial-card strong{padding-left:6px;font-family:var(--font-mono);font-size:25px;font-weight:600;color:var(--finance-accent);white-space:nowrap;}
.financial-card small{padding-left:6px;color:var(--text-mute);font-size:11px;}
.financial-card-forecast{--finance-accent:var(--azure);}
.financial-card-received{--finance-accent:var(--teal);}
.financial-card-pending{--finance-accent:var(--coral);}
.financial-card-delivered{--finance-accent:var(--violet);}
.financial-card-provisioned{--finance-accent:var(--amber);}
.financial-card-warning{--finance-accent:var(--gold);}
.financial-card-execution{--finance-accent:var(--gray);}
.financial-tower-section{margin-top:28px}.financial-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}.financial-section-heading h3{margin-bottom:4px}.financial-section-heading p{margin:0;color:var(--text-mute);font-size:12px}.financial-section-heading>span{color:var(--text-mute);font-size:10px;font-weight:700;letter-spacing:.45px;text-transform:uppercase;white-space:nowrap}.financial-tower-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.financial-tower-matrix{background:linear-gradient(145deg,var(--panel),rgba(35,42,55,.86))}.financial-tower-matrix .scroll-table{max-height:420px;border:1px solid var(--border);border-radius:8px}.financial-tower-matrix table{min-width:1020px}.financial-tower-matrix thead{position:sticky;top:0;z-index:1}.financial-tower-matrix th{background:rgba(35,42,55,.98);font-size:10.5px}.financial-tower-matrix tbody tr:hover{background:rgba(63,111,214,.1)}.financial-tower-matrix td:first-child{font-weight:700}.financial-tower-matrix tfoot td{font-weight:800;background:rgba(63,111,214,.1)}.financial-tower-matrix .pivot-total{color:var(--teal);font-weight:800}.financial-metric-toggle{display:flex;gap:6px;padding:3px;border:1px solid var(--border);border-radius:7px;background:var(--bg)}.financial-metric-toggle button{padding:7px 9px;border:0;border-radius:5px;background:transparent;color:var(--text-mute);font:600 11px var(--font-body);cursor:pointer;white-space:nowrap}.financial-metric-toggle button:hover{color:var(--text)}.financial-metric-toggle button.active{background:var(--azure);color:#fff}.financial-tower-empty{text-align:center!important;padding:28px!important;color:var(--text-mute)!important}

/* Acabamento comum dos indicadores: título, valor e contexto na mesma cadência visual. */
.financial-card,.received-goal-card,.delivery-kpi-grid article{min-height:132px;}
.financial-card small,.received-goal-card small,.delivery-kpi-grid small{margin-top:auto;}
.delivery-kpi-grid article{display:flex;flex-direction:column;}

@media (max-width:900px){
  .previsao-flow-overview{grid-template-columns:1fr;}
  .flow-overview-arrow{display:none;}
  .charts-row{grid-template-columns:1fr;}
  .chart-container{padding:16px;}
  .kpi-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}
  .provision-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .provision-table-filters{flex-wrap:wrap;}
  .insight-grid{grid-template-columns:1fr;}
  .analysis-story-grid{grid-template-columns:1fr 1fr;}.analysis-data-grid{grid-template-columns:1fr;}.analysis-highlights{grid-template-columns:1fr;}.analysis-heading{align-items:flex-start;flex-direction:column;}.analysis-controls{justify-content:flex-start;}
  .financial-card-grid{grid-template-columns:1fr 1fr;}
  .financial-tower-summary{grid-template-columns:repeat(3,minmax(0,1fr));}
  .financial-section-heading{align-items:flex-start;flex-direction:column;}
  .financial-arrow{display:none;}
  .received-goal-grid{grid-template-columns:1fr 1fr;}
  .maintenance-summary{grid-template-columns:1fr 1fr;}
  .delivery-heading{align-items:flex-start;flex-direction:column;}.delivery-kpi-grid{grid-template-columns:1fr 1fr;}
  .report-grid{grid-template-columns:1fr 1fr;}
}

@media (max-width:640px){
  .topbar-inner{flex-direction:row;flex-wrap:wrap;gap:12px 10px;}
  .topbar-nav{gap:16px;order:2;flex-basis:100%;}
  .topbar-logo{order:1;margin-left:auto;}
  .filters{position:static;}
  .action-buttons{margin-left:0;width:100%;}
  .header-content{flex-direction:column;}
  .header-chips{width:100%;}
  .tab-nav{gap:2px;}
  .tab-btn{padding:9px 12px;font-size:12.5px;}
  .chip{flex:1;min-width:0;}
  .container{padding:0 14px;}
  .filter-group input[type="text"]{min-width:0;width:100%;}
  .multiselect{width:100%;min-width:0;}
  .multiselect-panel{left:0;right:0;min-width:0;max-width:none;}
  .filter-row{flex-direction:column;align-items:stretch;}
  .toggle-buttons{width:100%;}
  .action-buttons{flex-direction:column;}
  .kpi-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .previsao-hero-card{align-items:flex-start;flex-direction:column;padding:16px;}
  .previsao-hero-total{align-items:flex-start;flex-direction:column;gap:3px;text-align:left;}
  .provision-card-grid{grid-template-columns:1fr;}
  .financial-tower-summary{grid-template-columns:1fr;}
  .financial-metric-toggle{width:100%;overflow-x:auto;}
  .provision-status-heading,.provision-chart-toolbar{align-items:flex-start;flex-direction:column;}
  .provision-table-filters{align-items:stretch;flex-direction:column;}
  .provision-table-filters label,.provision-table-filters .provision-filter-search{min-width:0;width:100%;}
  .financial-intro{align-items:flex-start;flex-direction:column;padding:17px;}
  .billing-health-hero{align-items:flex-start;flex-direction:column;padding:18px;}.billing-health-hero-action{justify-items:start;text-align:left;}
  .financial-filter-note{white-space:normal;}
  .financial-card-grid{grid-template-columns:1fr;}
  .received-goal-hero{align-items:flex-start;flex-direction:column;padding:18px;}.received-goal-actions{align-items:flex-start;flex-direction:column;gap:12px;}.received-goal-percent{text-align:left;}.received-goal-grid{grid-template-columns:1fr;}
  .maintenance-summary{grid-template-columns:1fr;}.roadmap-card ol{display:block;}.roadmap-card li{margin-bottom:8px;}
  .delivery-view-toggle{width:100%;}.delivery-view-toggle button{flex:1;padding:7px 4px;font-size:11px;}.delivery-kpi-grid{grid-template-columns:1fr;}
  .workspace-heading{align-items:flex-start;flex-direction:column;padding:18px;}
  .workspace-note{white-space:normal;}
  .report-grid,.settings-grid,.help-grid{grid-template-columns:1fr;}
  .analysis-story-grid,.analysis-highlights ul{grid-template-columns:1fr;}.analysis-controls{align-items:flex-start;flex-direction:column;}
  .billing-check-summary,.billing-check-compare{grid-template-columns:1fr;}
  .billing-check-heading,.billing-check-filters{align-items:stretch;flex-direction:column;}
  .billing-check-filterbar{align-items:stretch;flex-wrap:wrap;}.billing-filter-clear{margin-left:0}.billing-filter-menu{flex:1 1 160px;}.billing-filter-menu>button{width:100%;text-align:left}.billing-filter-options{width:100%;}
  .settings-card-wide,.help-card-wide{grid-column:auto;}
  .kpi-value{font-size:22px;}
  .table-header{flex-direction:column;align-items:stretch;}
  .search-box{width:100%;}
  table{font-size:12px;}
  th, td{padding:8px 6px;}
  .scroll-table{max-height:420px;}
}

@media (max-width:420px){
  .kpi-grid{grid-template-columns:1fr;}
  .header h1{font-size:22px;}
}

/* Footer cVAI TOMANDO TROXA */


.site-footer{
    margin-top:40px;
    border-top:1px solid var(--border);
    background:rgba(23 ,24 ,26);
    backdrop-filter:blur(10px);
}

.footer-content{
    max-width:1500px;
    margin:0 auto;
    padding:14px 24px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.footer-brand{
    display:flex;
    align-items:center;
    gap:10px;
}


.footer-brand span{
    color:var(--text-dim);
    font-size:13px;
    font-weight:600;
    letter-spacing:.5px;
}

.footer-author{
    color:var(--text-mute);
    font-size:12px;
}

.footer-author strong{
    color:var(--text);
    font-weight:600;
}

@media (max-width: 768px){
    .footer-content{
        flex-direction:column;
        gap:10px;
        text-align:center;
    }
}

@media (min-width: 901px){
  .analysis-story-grid{grid-template-columns:repeat(5,minmax(0,1fr));}
}

.analysis-comparison{min-height:330px;padding:18px 20px;background:linear-gradient(145deg,var(--panel),rgba(35,42,55,.86));}
.analysis-comparison .chart-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px;}
.analysis-comparison .chart-title{margin:0;color:var(--text);font:600 16px var(--font-display);}
.analysis-comparison .table-meta{margin-top:4px;}
.analysis-comparison-canvas{height:245px;}
.analysis-chart-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;}
.analysis-chart-actions .chart-toggle button{padding:6px 9px;font-size:11px;}
.analysis-chart-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:var(--text-dim);font-size:11px;}
.analysis-chart-legend span{display:inline-flex;align-items:center;gap:6px;}
.analysis-chart-legend i{display:block;width:9px;height:9px;border-radius:2px;background:var(--azure);}
.analysis-chart-legend .previous i{background:var(--gray);}
.analysis-story-card{align-items:center;text-align:center;}
.analysis-story-card strong{width:100%;}
@media (max-width: 700px){
  .analysis-comparison .chart-header{flex-direction:column;}
  .analysis-comparison{min-height:300px;}
  .analysis-comparison-canvas{height:220px;}
}

.analysis-story-card[data-analysis-focus]{cursor:pointer;transition:border-color .18s ease,transform .18s ease,background .18s ease;}
.analysis-story-card[data-analysis-focus]:hover{transform:translateY(-2px);background:var(--panel-2);}
.analysis-story-card.is-focused{border-color:var(--teal);box-shadow:0 0 0 1px rgba(51,209,184,.25),0 10px 25px rgba(0,0,0,.2);}
.analysis-story-card.accent-result{--analysis-accent:var(--teal);}
.analysis-story-card.accent-result strong{color:var(--teal);font-family:var(--font-mono);}
.analysis-story-card[hidden],.analysis-focus-bar[hidden]{display:none;}
.analysis-focus-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 13px;border:1px solid rgba(51,209,184,.34);border-radius:8px;background:rgba(51,209,184,.08);color:var(--teal);font-size:12px;font-weight:700;}
.analysis-focus-bar button{padding:5px 9px;border:1px solid rgba(51,209,184,.45);border-radius:5px;background:transparent;color:var(--text);font:600 11px var(--font-body);cursor:pointer;}
.analysis-focus-bar button:hover{background:rgba(51,209,184,.14);}
.analysis-financial-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.analysis-financial-summary article{min-height:94px;padding:15px 17px;border:1px solid var(--border);border-left:3px solid var(--azure);border-radius:9px;background:linear-gradient(145deg,var(--panel),rgba(35,42,55,.86));}
.analysis-financial-summary article:nth-child(1) strong{color:var(--azure);}
.analysis-financial-summary span{display:block;color:var(--text-mute);font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;}
.analysis-financial-summary strong{display:block;margin:9px 0 5px;color:var(--text);font:600 18px var(--font-mono);}
.analysis-financial-summary small{display:block;color:var(--text-dim);font-size:11px;line-height:1.35;}
.analysis-financial-summary .is-success{border-left-color:var(--teal);background:linear-gradient(110deg,rgba(51,209,184,.1),var(--panel));}
.analysis-financial-summary .is-success strong{color:var(--teal);}
.analysis-financial-summary .is-pending{border-left-color:var(--amber);background:linear-gradient(110deg,rgba(234,176,74,.08),var(--panel));}
.analysis-financial-summary .is-pending strong{color:var(--amber);}
.analysis-financial-summary .is-not-met{border-left-color:var(--coral);background:linear-gradient(110deg,rgba(239,91,100,.1),var(--panel));}
.analysis-financial-summary .is-not-met strong{color:var(--coral);}
@media (min-width:1200px){.analysis-story-grid{grid-template-columns:repeat(6,minmax(0,1fr));}}
@media (min-width:901px) and (max-width:1199px){.analysis-story-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:700px){.analysis-financial-summary{grid-template-columns:1fr;}}
