/* ═════════════════════ DASHBOARD EXECUTIVO v3.8 ═════════════════════ */
.dashboard-header {
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:18px; margin-bottom:18px; flex-wrap:wrap;
}
.dashboard-toolbar { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; min-width:0; max-width:100%; }
.dashboard-quick-actions { display:flex; align-items:center; gap:7px; flex-wrap:wrap; min-width:0; max-width:100%; }
.dashboard-action-btn {
  display:inline-flex; align-items:center; gap:6px; min-height:34px;
  padding:7px 11px; border:1px solid var(--border2); border-radius:9px;
  background:var(--surface); color:var(--text2); font-size:11px; font-weight:600;
  transition:background .15s,border-color .15s,color .15s,transform .1s;
}
.dashboard-action-btn:hover { background:var(--blue-bg); border-color:var(--blue-border); color:var(--blue); }
.dashboard-action-btn:active { transform:scale(.98); }
.dashboard-period-control {
  display:flex; align-items:center; gap:7px; min-height:36px;
  padding:4px 6px 4px 10px; border:1px solid var(--border);
  border-radius:10px; background:var(--surface);
}
.dashboard-period-control label { font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--text3); }
.dashboard-period-control select { border:none; outline:none; background:transparent; color:var(--text); font-size:12px; font-weight:700; padding:3px 4px; cursor:pointer; }
.dashboard-period-current { padding:5px 9px; border-radius:7px; background:var(--surface2); color:var(--text2); font-size:10px; font-weight:700; }
.dashboard-period-current:hover { background:var(--navy); color:#fff; }
.dashboard-sync-pill { font-size:11px; color:var(--text3); background:var(--surface); border:1px solid var(--border); padding:7px 11px; border-radius:9px; white-space:nowrap; }
 .dashboard-privacy-btn {
  min-height:36px; display:inline-flex; align-items:center; gap:7px;
  padding:7px 11px; border:1px solid var(--border2); border-radius:9px;
  background:var(--surface); color:var(--text2); font-size:11px; font-weight:700;
  white-space:nowrap; transition:background .15s,border-color .15s,color .15s;
}
.dashboard-privacy-btn:hover { background:var(--blue-bg); border-color:var(--blue-border); color:var(--blue); }
.dashboard-privacy-btn[aria-pressed="true"] { background:var(--navy); border-color:var(--navy); color:#fff; }
.dashboard-privacy-icon { width:17px; height:17px; display:inline-flex; align-items:center; justify-content:center; }
.dashboard-privacy-icon svg { width:17px; height:17px; display:block; }
.dashboard-chart-body,.dashboard-chart-private-zone { position:relative; }
.dashboard-values-hidden [data-dashboard-sensitive] { font-size:0 !important; color:transparent !important; text-shadow:none !important; user-select:none; }
.dashboard-values-hidden [data-dashboard-sensitive]::after { content:'••••'; display:inline-block; font-size:13px; line-height:1.25; letter-spacing:2px; color:var(--text3); }
.dashboard-values-hidden .dashboard-hero-card [data-dashboard-sensitive]::after { color:rgba(255,255,255,.88); }
.dashboard-values-hidden canvas { visibility:hidden !important; }
.dashboard-values-hidden .dashboard-chart-legend { visibility:hidden !important; }
.dashboard-values-hidden .dashboard-chart-body::after,
.dashboard-values-hidden .dashboard-chart-private-zone::after {
  content:'Dados ocultos'; position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  color:var(--text3); font-size:11px; font-weight:700; letter-spacing:.04em;
  background:linear-gradient(135deg,rgba(247,248,250,.96),rgba(255,255,255,.96));
  border-radius:10px;
}
.dashboard-section { margin-bottom:20px; }
.dashboard-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:10px; }
.dashboard-section-kicker { font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:var(--text3); }
.dashboard-section-caption { font-size:11px; color:var(--text3); }
.dashboard-executive-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(420px,1fr); gap:14px; margin-bottom:14px; }
.dashboard-hero-card {
  position:relative; overflow:hidden; min-height:204px; min-width:0;
  border-radius:16px; padding:22px 24px;
  background:linear-gradient(135deg,#1A2766 0%,#132057 62%,#0d1b44 100%);
  color:#fff; box-shadow:0 12px 30px rgba(19,32,87,.18);
}
.dashboard-hero-card::after {
  content:''; position:absolute; width:240px; height:240px; border-radius:50%;
  right:-80px; top:-100px; background:rgba(255,255,255,.06);
}
.dashboard-hero-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; position:relative; z-index:1; flex-wrap:wrap; }
.dashboard-hero-label { font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.62); }
.dashboard-hero-value { margin-top:7px; font-family:'Sora',sans-serif; font-size:34px; line-height:1.15; font-weight:700; letter-spacing:-.055em; }
.dashboard-comparison { display:inline-flex; align-items:center; gap:5px; padding:5px 9px; border-radius:99px; font-size:10px; font-weight:700; white-space:nowrap; }
.dashboard-comparison.positive { background:rgba(16,185,129,.17); color:#d1fae5; border:1px solid rgba(167,243,208,.26); }
.dashboard-comparison.negative { background:rgba(239,68,68,.17); color:#fee2e2; border:1px solid rgba(254,202,202,.24); }
.dashboard-comparison.neutral { background:rgba(255,255,255,.09); color:rgba(255,255,255,.75); border:1px solid rgba(255,255,255,.12); }
.dashboard-hero-sub { position:relative; z-index:1; margin-top:8px; font-size:11px; color:rgba(255,255,255,.55); }
.dashboard-hero-breakdown { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:22px; }
.dashboard-hero-mini { padding:10px 12px; border-radius:10px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); }
.dashboard-hero-mini span { display:block; font-size:9px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:rgba(255,255,255,.48); margin-bottom:3px; }
.dashboard-hero-mini strong { font-family:'Sora',sans-serif; font-size:13px; color:#fff; }
.dashboard-period-metrics { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.dashboard-metric-card { background:var(--surface); border:1px solid var(--border); border-radius:13px; padding:15px 16px; box-shadow:var(--shadow); min-width:0; }
.dashboard-metric-label { font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--text3); margin-bottom:7px; }
.dashboard-metric-value { font-family:'Sora',sans-serif; font-size:19px; font-weight:700; letter-spacing:-.04em; overflow:hidden; text-overflow:ellipsis; }
.dashboard-metric-sub { font-size:10px; color:var(--text3); margin-top:4px; }
.dashboard-charts-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr); gap:14px; }
.dashboard-chart-body { padding:12px 16px 16px; min-height:260px; }
.dashboard-operation-grid { display:grid; grid-template-columns:repeat(6,minmax(150px,1fr)); gap:12px; }
.dashboard-operation-card { background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:14px 15px; box-shadow:0 1px 3px rgba(0,0,0,.05); min-width:0; }
.dashboard-operation-card .dashboard-metric-value { font-size:18px; }
.dashboard-focus-grid { display:grid; grid-template-columns:minmax(300px,.82fr) minmax(0,1.6fr); gap:14px; }
.dashboard-attention-list { display:flex; flex-direction:column; }
.dashboard-attention-item { width:100%; display:grid; grid-template-columns:30px 1fr auto; gap:10px; align-items:center; padding:11px 16px; border-bottom:1px solid var(--border); text-align:left; transition:background .12s; }
.dashboard-attention-item:last-child { border-bottom:none; }
.dashboard-attention-item:hover { background:var(--surface2); }
.dashboard-attention-icon { width:28px; height:28px; display:flex; align-items:center; justify-content:center; border-radius:8px; background:var(--surface2); font-size:13px; }
.dashboard-attention-title { font-size:12px; font-weight:650; color:var(--text); }
.dashboard-attention-sub { font-size:10px; color:var(--text3); margin-top:2px; }
.dashboard-attention-count { min-width:26px; height:24px; padding:0 7px; display:flex; align-items:center; justify-content:center; border-radius:99px; background:var(--surface2); color:var(--text2); font-size:10px; font-weight:800; }
.dashboard-attention-count.danger { background:var(--red-bg); color:var(--red); }
.dashboard-attention-count.warn { background:var(--amber-bg); color:var(--amber); }
.dashboard-attention-count.info { background:var(--blue-bg); color:var(--blue); }
.dashboard-commitments { padding:12px; }
.dashboard-support-grid { display:grid; grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr); gap:14px; margin-bottom:16px; }
.dashboard-empty-inline { padding:28px 16px; text-align:center; color:var(--text3); font-size:12px; }
@media(max-width:1400px){ .dashboard-operation-grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:1100px){
  .dashboard-executive-grid,.dashboard-charts-grid,.dashboard-focus-grid,.dashboard-support-grid{grid-template-columns:1fr;}
  .dashboard-period-metrics{grid-template-columns:repeat(4,1fr);}
}
@media(max-width:768px){
  .dashboard-header{align-items:stretch;}.dashboard-toolbar{justify-content:flex-start;width:100%;min-width:0;}
  .dashboard-quick-actions{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;padding-bottom:2px;}
  .dashboard-period-control{width:100%;max-width:100%;min-width:0;flex:0 1 100%;}
  .dashboard-period-control select{min-width:0;flex:1;}
  .dashboard-action-btn{white-space:nowrap;}.dashboard-period-control{flex:1;}
  .dashboard-executive-grid{grid-template-columns:1fr;}.dashboard-period-metrics{grid-template-columns:1fr 1fr;}
  .dashboard-operation-grid{grid-template-columns:1fr 1fr;}.dashboard-hero-value{font-size:28px;}
  .dashboard-hero-breakdown{grid-template-columns:1fr 1fr;}.dashboard-hero-mini:last-child{grid-column:1/-1;}
}
@media(max-width:480px){
  .dashboard-period-metrics,.dashboard-operation-grid{grid-template-columns:1fr;}
  .dashboard-hero-breakdown{grid-template-columns:1fr;}.dashboard-hero-mini:last-child{grid-column:auto;}
  .dashboard-sync-pill{display:none;}
  .dashboard-privacy-btn span:last-child { display:none; }
  .dashboard-privacy-btn { width:36px; padding:7px; justify-content:center; }
}



/* ═════════════════════ RESUMO FINANCEIRO EXECUTIVO v3.8.3 ═════════════════════ */
.rec-header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:16px; }
.rec-header-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.rec-executive-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(430px,1fr); gap:14px; margin-bottom:14px; }
.rec-hero-card { position:relative; overflow:hidden; min-height:218px; border-radius:16px; padding:22px; color:#fff; background:linear-gradient(135deg,#1A2766 0%,#132057 58%,#0d1b44 100%); box-shadow:var(--shadow-lg); }
.rec-hero-card::after { content:''; position:absolute; width:240px; height:240px; right:-80px; bottom:-125px; border-radius:50%; background:rgba(255,255,255,.07); }
.rec-hero-label { position:relative; z-index:1; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.62); }
.rec-hero-value { position:relative; z-index:1; margin-top:7px; font-family:'Sora',sans-serif; font-size:34px; line-height:1.15; font-weight:700; letter-spacing:-.055em; }
.rec-hero-sub { position:relative; z-index:1; margin-top:6px; font-size:11px; color:rgba(255,255,255,.56); }
.rec-progress-track { position:relative; z-index:1; height:7px; margin-top:20px; border-radius:99px; background:rgba(255,255,255,.13); overflow:hidden; }
.rec-progress-fill { height:100%; border-radius:99px; background:linear-gradient(90deg,#86efac,#34d399); }
.rec-hero-breakdown { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:13px; }
.rec-hero-mini { min-width:0; padding:10px 12px; border-radius:10px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); }
.rec-hero-mini span { display:block; font-size:9px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:rgba(255,255,255,.48); margin-bottom:3px; }
.rec-hero-mini strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:'Sora',sans-serif; font-size:13px; color:#fff; }
.rec-kpi-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; min-width:0; }
.rec-kpi-card { min-width:0; background:var(--surface); border:1px solid var(--border); border-radius:13px; padding:16px 17px; box-shadow:var(--shadow); }
.rec-kpi-label { font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--text3); margin-bottom:7px; }
.rec-kpi-value { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:'Sora',sans-serif; font-size:20px; font-weight:700; letter-spacing:-.04em; }
.rec-kpi-sub { font-size:10px; color:var(--text3); margin-top:4px; }
.rec-insights-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:14px; margin-bottom:16px; }
.rec-panel-body { padding:16px 18px; }
.rec-forecast-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.rec-forecast-item { min-width:0; border-radius:12px; padding:16px; border:1px solid; }
.rec-forecast-item.teal { background:var(--teal-bg); border-color:var(--teal-border); }
.rec-forecast-item.amber { background:var(--amber-bg); border-color:var(--amber-border); }
.rec-forecast-label { font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.rec-forecast-item.teal .rec-forecast-label,.rec-forecast-item.teal .rec-forecast-value { color:var(--teal); }
.rec-forecast-item.amber .rec-forecast-label,.rec-forecast-item.amber .rec-forecast-value { color:var(--amber); }
.rec-forecast-value { margin-top:6px; font-family:'Sora',sans-serif; font-size:24px; font-weight:700; letter-spacing:-.045em; }
.rec-forecast-sub { margin-top:4px; font-size:10px; color:var(--text3); }
.rec-composition-list { display:flex; flex-direction:column; gap:14px; }
.rec-composition-head { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:6px; }
.rec-composition-name { font-size:11px; font-weight:650; color:var(--text2); }
.rec-composition-value { font-family:'Sora',sans-serif; font-size:11px; font-weight:700; color:var(--text); white-space:nowrap; }
.rec-composition-track { height:6px; border-radius:99px; background:var(--surface3); overflow:hidden; }
.rec-composition-fill { height:100%; border-radius:99px; }
.rec-table-toolbar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.rec-table-toolbar input,.rec-table-toolbar select { min-width:0; padding:8px 11px; border:1px solid var(--border2); border-radius:8px; background:var(--surface); color:var(--text); font-size:12px; outline:none; }
.rec-table-toolbar input { width:230px; }
.rec-table-toolbar select { width:170px; }
.rec-table-toolbar input:focus,.rec-table-toolbar select:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(26,86,219,.08); }
.rec-table-summary { display:flex; gap:14px; flex-wrap:wrap; margin-top:5px; font-size:10px; color:var(--text3); }
.rec-table-summary strong { color:var(--text2); }
@media(max-width:1100px){
  .rec-executive-grid,.rec-insights-grid{grid-template-columns:1fr;}
  .rec-kpi-grid{grid-template-columns:repeat(4,1fr);}
}
@media(max-width:768px){
  .rec-header{align-items:stretch;flex-direction:column;}
  .rec-header-actions{justify-content:flex-start;}
  .rec-kpi-grid{grid-template-columns:1fr 1fr;}
  .rec-forecast-grid{grid-template-columns:1fr;}
  .rec-hero-value{font-size:29px;}
  .rec-hero-breakdown{grid-template-columns:1fr 1fr;}
  .rec-hero-mini:last-child{grid-column:1/-1;}
  .rec-table-toolbar{width:100%;}
  .rec-table-toolbar input,.rec-table-toolbar select{width:100%;}
}
@media(max-width:480px){
  .rec-kpi-grid,.rec-hero-breakdown{grid-template-columns:1fr;}
  .rec-hero-mini:last-child{grid-column:auto;}
}

/* SAÚDE DOS DADOS · ORIENTAÇÕES v3.8.2 */
.diagnostic-item { border-radius:10px; overflow:visible; }
.diagnostic-item-main { display:grid; grid-template-columns:86px minmax(0,1fr) auto auto; gap:12px; align-items:start; padding:12px 14px; }
.diagnostic-info-btn { width:28px; height:28px; border-radius:50%; border:1px solid currentColor; display:inline-flex; align-items:center; justify-content:center; font-family:'Sora',sans-serif; font-size:12px; font-weight:700; background:rgba(255,255,255,.72); cursor:pointer; transition:.15s; }
.diagnostic-info-btn:hover, .diagnostic-info-btn[aria-expanded="true"] { transform:translateY(-1px); background:#fff; box-shadow:0 4px 12px rgba(0,0,0,.08); }
.diagnostic-guide { display:none; margin:0 14px 14px 112px; padding:14px 16px; background:#fff; border:1px solid var(--border2); border-radius:10px; box-shadow:var(--shadow); position:relative; }
.diagnostic-guide::before { content:''; position:absolute; top:-7px; right:48px; width:12px; height:12px; background:#fff; border-left:1px solid var(--border2); border-top:1px solid var(--border2); transform:rotate(45deg); }
.diagnostic-guide.open { display:block; animation:modal-in .16s ease; }
.diagnostic-guide-title { font-size:13px; font-weight:700; margin-bottom:6px; }
.diagnostic-guide-intro { font-size:12px; color:var(--text2); line-height:1.55; margin-bottom:9px; }
.diagnostic-guide ol { margin:0 0 10px 18px; padding:0; color:var(--text2); font-size:12px; line-height:1.55; }
.diagnostic-guide li + li { margin-top:5px; }
.diagnostic-guide-note { font-size:11px; color:var(--text3); background:var(--surface2); border-radius:8px; padding:8px 10px; margin-top:8px; }
.diagnostic-guide-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
@media(max-width:700px){
  .diagnostic-item-main{grid-template-columns:70px minmax(0,1fr) auto;}
  .diagnostic-item-main .badge{grid-column:2;justify-self:start;}
  .diagnostic-info-btn{grid-column:3;grid-row:1;}
  .diagnostic-guide{margin:0 10px 10px;}
}



