/* Explain: Styles for the dashboard grid, filters, KPIs, and charts. */
/* Painel inicial (dashboard) — indicadores e gráficos */
.dash-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 1fr;
    margin-bottom: 2rem;
}

.dash-grid__main { display: grid; gap: 1.25rem; align-content: start; }

@media (min-width: 1024px) {
    .dash-grid { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); align-items: start; }
}

.dash-filters {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
    padding: 1rem 1.25rem;
    background: var(--surface-color);
    border: 1px solid var(--border-color);
    border-radius: 1rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

@media (min-width: 640px) {
    .dash-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.dash-filters__field { display: block; }

.kpi-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 1024px) {
    .kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.kpi-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 1.35rem 1rem;
    background: var(--surface-color);
    border: 1px solid var(--border-color);
    border-radius: 1rem;
    text-align: center;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.kpi-tile:hover { border-color: var(--primary-color); box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08); }

.kpi-tile__value {
    font-family: var(--font-heading);
    font-size: 2.1rem;
    font-weight: 800;
    line-height: 1;
    color: var(--primary-color);
}

.kpi-tile__label { font-size: 0.82rem; font-weight: 600; color: var(--text-muted); line-height: 1.4; }
.kpi-tile__icon { color: var(--primary-color); font-size: 1.05rem; margin-top: 0.35rem; }

.chart-grid { display: grid; gap: 1rem; grid-template-columns: 1fr; }

@media (min-width: 700px) {
    .chart-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1280px) {
    .chart-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.chart-card {
    display: flex;
    flex-direction: column;
    padding: 1rem;
    background: var(--surface-color);
    border: 1px solid var(--border-color);
    border-radius: 1rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.chart-card__title { font-size: 0.85rem; font-weight: 700; color: var(--secondary-color); margin-bottom: 0.85rem; }
.chart-card__body { position: relative; }
.chart-canvas-wrap { position: relative; height: 190px; }

.chart-empty {
    font-size: 0.78rem;
    color: var(--text-muted);
    text-align: center;
    line-height: 1.55;
    padding: 3rem 0.5rem;
}

.dash-agenda { display: grid; gap: 0.6rem; }
.dash-agenda__empty { font-size: 0.82rem; color: var(--text-muted); line-height: 1.55; }

.agenda-item {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--border-color);
    border-radius: 0.7rem;
    background: var(--surface-alt);
}

.agenda-item__time {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--primary-color);
}

.agenda-item strong { font-size: 0.85rem; }