/* Painel DGL: gráficos ampliados e experiência móvel. */
.chart-panel{overflow:hidden;position:relative;padding-bottom:62px}
.chart-panel .panel-heading{align-items:flex-end}
.panel-note{display:grid;gap:4px;text-align:right}
.panel-note small{display:none;color:var(--blue);font-size:12px;font-weight:800}
.bar-chart{min-height:380px;height:380px;gap:16px;padding:48px 18px 12px;scrollbar-color:#a7bacb transparent;scrollbar-width:thin;scroll-snap-type:x proximity;overscroll-behavior-inline:contain}
.chart-month{min-width:118px;height:300px;display:flex;flex-direction:column;scroll-snap-align:start}
.bars{height:260px;display:flex;align-items:flex-end;justify-content:center;gap:11px;order:1}
.bar-item{height:100%;display:flex;align-items:flex-end}
.bar-track{width:35px;height:100%;display:flex;align-items:flex-end}
.bar{width:100%;min-width:35px;height:var(--bar-size);min-height:0;border-radius:9px 9px 2px 2px}
.month-name{order:2;margin-top:10px;text-align:center;font-size:13px;font-weight:800;color:var(--muted)}
.series-name,.bar-value{display:none}
.chart-legend{position:absolute;left:24px;bottom:14px;display:flex;align-items:center;gap:12px;background:#fff;padding:10px 14px;border:1px solid var(--line);border-radius:12px;box-shadow:0 5px 18px #071d3514;font-size:13px}
.chart-legend span{display:flex;align-items:center;gap:7px;color:var(--ink);font-weight:700;white-space:nowrap}
.chart-legend b{font-size:11px;letter-spacing:.04em}
.chart-legend .legend-swatch{display:inline-block;width:28px;height:16px;margin:0;border-radius:5px}
.chart-legend .legend-in{background:var(--gold)}
.chart-legend .legend-out{background:var(--blue)}
.executive-metrics strong,.status-card strong{font-size:22px}

@media(max-width:850px){
  .portal-topbar{display:none}
  .portal-sidebar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;box-shadow:0 8px 24px #071d3526}
  .sidebar-section{gap:6px;padding:7px 4px}
  .sidebar-section button{min-height:46px;padding:11px 14px;font-size:13px}
  .sidebar-logout{position:static;width:auto!important;min-height:44px;margin:0 4px!important;background:#ffffff12!important}
  .portal-content{padding:22px 14px 96px}
  .portal-title{gap:15px}
  .portal-title select{width:100%;font-weight:800}
  .portal-tabs{position:sticky;top:67px;z-index:18;box-shadow:0 8px 22px #071d3514;scrollbar-width:none}
  .portal-tabs::-webkit-scrollbar{display:none}
  .panel,.executive-panel{border-radius:18px}
  .panel{padding:18px}
  .panel-heading{align-items:flex-start;gap:12px}
  .panel-heading h2{font-size:21px}
  .panel-note{text-align:left}
  .panel-note small{display:block}
  .chart-panel{margin-inline:-2px;padding:18px}
  .chart-panel .panel-heading{padding-inline:18px;flex-direction:column;align-items:flex-start}
  .bar-chart{min-height:0;height:auto;display:grid;gap:12px;padding:4px 0 0;border-bottom:0;overflow:visible}
  .chart-month{min-width:0;width:100%;height:auto;display:grid;gap:11px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#f8fafc}
  .month-name{order:0;margin:0;text-align:left;color:var(--navy);font-size:15px}
  .bars{order:1;height:auto;display:grid;gap:10px;border:0}
  .bar-item{height:auto;display:grid;grid-template-columns:70px minmax(80px,1fr) 96px;align-items:center;gap:9px}
  .series-name{display:block;font-size:12px;font-weight:800;color:var(--muted)}
  .bar-track{width:100%;height:30px;display:block;border-radius:7px;background:#e5ebf1;overflow:hidden}
  .bar{display:block;width:var(--bar-size);min-width:7px;height:100%;border-radius:7px}
  .bar::after{display:none}
  .bar-value{display:block;text-align:right;font-size:12px;color:var(--ink);white-space:nowrap}
  .chart-legend{position:static;order:-1;left:auto;right:auto;bottom:auto;justify-content:center;gap:10px;padding:10px 8px;margin-bottom:4px}
  .chart-legend span{gap:5px;font-size:12px}
  .chart-legend .legend-swatch{width:25px;height:16px}
  .table-wrap{margin-inline:-18px;padding-inline:18px;-webkit-overflow-scrolling:touch}
  .simulator-warning{padding-inline:20px}
  .document-item{align-items:flex-start}
  .document-download{min-height:44px;display:flex;align-items:center}
  .insights-toggle{min-width:48px;min-height:48px;place-content:center}
}

@media(max-width:600px){
  .portal-title h1{font-size:28px;line-height:1.12}
  .portal-title p{font-size:14px;line-height:1.55}
  .executive-panel>header{padding:18px;align-items:flex-start;gap:12px}
  .executive-panel header h2{font-size:19px}
  .executive-panel header small{font-size:11px;text-align:right}
  .executive-metrics,.company-status{grid-template-columns:repeat(2,minmax(0,1fr))}
  .executive-metrics article,.status-card{padding:16px}
  .executive-metrics strong,.status-card strong{font-size:17px;overflow-wrap:anywhere}
  .executive-actions{padding:14px;gap:10px}
  .executive-actions article{padding:13px}
  .annual-heading,.management-heading{margin:-18px -18px 20px;padding:21px 18px}
  .annual-summary{grid-template-columns:1fr}
  .comparison,.tax-summary{display:grid;grid-template-columns:1fr}
  .data-block strong{font-size:19px}
  .chart-month{min-width:0}
  .document-item{flex-direction:column}
  .document-download{width:100%;justify-content:center}
  .simulator-result{min-height:300px}
  .simulator-result>span{margin-top:10px}
  .simulator-result>p{font-size:14px}
  .insights-card{max-height:calc(100vh - 100px)}
}

@media(max-width:380px){
  .executive-metrics,.company-status{grid-template-columns:1fr}
  .portal-content{padding-inline:10px}
  .sidebar-section button{padding-inline:11px}
  .chart-month{min-width:0}
  .chart-legend b{display:none}
  .bar-item{grid-template-columns:62px minmax(72px,1fr) 88px;gap:7px}
  .bar-value{font-size:11px}
}
