/* Layout exclusivo do dashboard comercial. */
#dashboardPage { max-width: 1800px; gap: 12px; padding-top: 16px; padding-bottom: 24px; }
#dashboardPage .portal-console-card { margin: 0; padding: 14px 16px; border-radius: 16px; }
#dashboardPage .portal-console-section-title { margin-bottom: 4px; font-size: .74rem; }
#dashboardPage .portal-dashboard-hero__content { gap: 12px; align-items: center; }
#dashboardPage .portal-dashboard-hero__title { font-size: 1.15rem; margin: 0 0 4px; }
.portal-dashboard-representative { display: block; color: #466179; font-size: .86rem; overflow-wrap: anywhere; }
#dashboardPage .portal-dashboard-hero__actions { width: auto; }
#dashboardPage .portal-dashboard-chip, #dashboardPage .portal-dashboard-refresh { min-height: 34px; font-size: .82rem; padding: 6px 12px; }
.portal-dashboard-representative-picker { display: grid; grid-template-columns: auto 84px 40px minmax(0, 1fr); gap: 8px; align-items: center; padding-top: 12px; }
.portal-dashboard-representative-picker label { margin: 0; font-size: .85rem; font-weight: 600; }
.portal-dashboard-controls { display: grid; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #15304d16; }
.portal-dashboard-choice-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.portal-dashboard-control-label { flex: 0 0 118px; color: #466179; font-size: .73rem; font-weight: 700; text-transform: uppercase; }
.portal-dashboard-choices { display: flex; flex-wrap: wrap; gap: 6px; width: auto; }
.portal-dashboard-choice { min-width: 48px; min-height: 32px; padding: 5px 10px; border: 1px solid #cbd7e3; border-radius: 8px; color: #284762; background: #fff; font-size: .82rem; font-weight: 600; }
.portal-dashboard-choice:hover { background: #e8f0f8; }
.portal-dashboard-choice[aria-pressed="true"] { color: #fff; background: #154a73; border-color: #154a73; }
.portal-dashboard-choice:focus-visible { outline: 3px solid #509bc9; outline-offset: 2px; }
#dashboardPage .portal-dashboard-segments { width: auto; gap: 6px; flex-wrap: wrap; }
#dashboardPage .portal-dashboard-segment { flex: 0 0 auto; min-height: 32px; padding: 5px 12px; font-size: .75rem; }
.portal-dashboard-year-fallback { display: flex; align-items: center; gap: 8px; font-size: .85rem; margin: 0; }
.portal-dashboard-year-fallback input { width: 100px; }
.portal-dashboard-period-status { color: #60758a; font-size: .8rem; }
#dashboardPage [hidden] { display: none !important; }
#dashboardPage .portal-dashboard-kpis, #dashboardPage .portal-dashboard-grid { gap: 12px; }
#dashboardPage .portal-dashboard-kpi__label { font-size: .75rem; }
#dashboardPage .portal-dashboard-kpi__value { font-size: clamp(1.15rem, 1.6vw, 1.6rem); }
#dashboardPage .portal-dashboard-kpi__hint { margin-top: 4px; font-size: .78rem; }
#dashboardPage .portal-dashboard-grid { grid-template-columns: minmax(0, 1.45fr) minmax(390px, 1fr); }
#dashboardPage .portal-dashboard-grid--lower { grid-template-columns: minmax(0, 1.45fr) minmax(390px, 1fr); }
#dashboardPage .portal-dashboard-panel__header { margin-bottom: 8px; gap: 12px; }
#dashboardPage .portal-dashboard-panel__title { font-size: .95rem; margin-top: 2px; }
#dashboardPage .portal-dashboard-legend { font-size: .75rem; gap: 10px; width: auto; }
#dashboardPage .portal-dashboard-chart { min-width: 0; max-height: 240px; display: block; }
#dashboardPage .portal-dashboard-chart-wrap { overflow: visible; }
#dashboardPage .portal-dashboard-panel--focus { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 8px 16px; align-items: center; }
#dashboardPage .portal-dashboard-panel--focus .portal-dashboard-panel__header { grid-column: 1 / -1; }
#dashboardPage .portal-dashboard-gauge { width: 190px; margin: 0; }
#dashboardPage .portal-dashboard-gauge__svg { display: block; width: 190px; height: 190px; }
#dashboardPage .portal-dashboard-gauge__center { inset: 0 0 auto; height: 190px; padding: 38px; }
#dashboardPage .portal-dashboard-gauge__center strong { font-size: 1.5rem; margin-top: 3px; }
#dashboardPage .portal-dashboard-gauge__label { font-size: .65rem; }
#dashboardPage .portal-dashboard-gauge__status { display: block; margin-top: 0; padding: 0 8px; text-align: center; font-size: .75rem; line-height: 1.35; overflow-wrap: anywhere; }
#dashboardPage .portal-dashboard-focus-metrics { display: flex; flex-wrap: wrap; gap: 6px; }
#dashboardPage .portal-dashboard-focus-metrics > div { flex: 1 1 calc(50% - 3px); min-width: 135px; padding: 8px; border-radius: 10px; }
#dashboardPage .portal-dashboard-focus-metrics__label { font-size: .65rem; letter-spacing: 0; }
#dashboardPage .portal-dashboard-focus-metrics strong { font-size: .85rem; }
#dashboardPage .portal-dashboard-table { font-size: .82rem; }
#dashboardPage .portal-dashboard-table th, #dashboardPage .portal-dashboard-table td { padding: 7px 9px; }
#dashboardPage .portal-dashboard-table-wrap { max-height: 310px; }
#dashboardPage .portal-dashboard-insights { gap: 8px; }
#dashboardPage .portal-dashboard-insight { padding: 9px 12px; border-radius: 10px; font-size: .82rem; }
#dashboardPage .portal-dashboard-insight__title { margin-bottom: 3px; }
@media (max-width: 1100px) {
    #dashboardPage .portal-dashboard-grid, #dashboardPage .portal-dashboard-grid--lower { grid-template-columns: minmax(0, 1fr); }
    #dashboardPage .portal-dashboard-panel--focus { grid-template-columns: 190px minmax(0, 1fr); }
}
@media (max-width: 767px) {
    #dashboardPage { padding: 12px; }
    #dashboardPage .portal-dashboard-hero__content { grid-template-columns: minmax(0, 1fr); }
    #dashboardPage .portal-dashboard-hero__actions { justify-content: flex-start; }
    .portal-dashboard-control-label { flex-basis: 100%; }
    .portal-dashboard-choices { gap: 5px; }
    .portal-dashboard-choice { min-width: 43px; padding: 5px 7px; }
    .portal-dashboard-representative-picker { grid-template-columns: minmax(0, 1fr) 44px; }
    .portal-dashboard-representative-picker label, #dashboardPage #nomeRepres { grid-column: 1 / -1; }
    #dashboardPage .portal-dashboard-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #dashboardPage .portal-dashboard-panel--focus { grid-template-columns: minmax(0, 1fr); }
    #dashboardPage .portal-dashboard-gauge { margin: 0 auto; }
    #dashboardPage .portal-dashboard-panel__header { flex-wrap: wrap; }
}

#dashboardPage .portal-dashboard-panel__header > div:first-child { width: auto; min-width: 0; }
#dashboardPage .portal-dashboard-legend { flex-shrink: 0; }
#dashboardPage .portal-dashboard-panel--focus { grid-template-rows: auto minmax(0, 1fr); }
