@media (max-width: 1400px) {
    .filters-grid,
    .meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-contingencia-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-contingencia-modal-kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1180px) {
    .home-contingencia-primary-grid {
        grid-template-columns: 1fr;
    }

    .home-contingencia-rankings-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .filters-grid,
    .filters-grid--two-columns,
    .meta-grid {
        grid-template-columns: 1fr;
    }

    .action-row {
        align-items: stretch;
    }

    .action-button {
        width: 100%;
        justify-content: center;
    }

    .home-contingencia-page-header,
    .home-contingencia-page-heading {
        align-items: flex-start;
    }

    .home-contingencia-page-header {
        flex-direction: column;
    }

    .home-contingencia-refresh {
        width: auto;
    }

    .home-contingencia-secondary-grid,
    .home-contingencia-modal-kpis {
        grid-template-columns: 1fr;
    }

    .home-contingencia-modal {
        padding: 12px;
    }

    .home-contingencia-modal-card {
        width: calc(100vw - 24px);
        max-height: calc(100vh - 24px);
        padding: 16px;
    }
}

@media (max-width: 1300px) {
    .operational-grid {
        grid-template-columns: 1fr;
    }

    .page-title {
        font-size: 42px;
    }
}

@media (max-width: 1100px) {
    .quick-grid,
    .summary-row,
    .stats-panel {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .app-shell {
        position: relative;
        overflow-x: hidden;
    }

    .app-sidebar {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 1002;
        width: 270px;
        min-width: 270px;
        transform: translateX(-100%);
    }

    .app-shell.sidebar-collapsed .app-sidebar {
        width: 270px;
        min-width: 270px;
        padding: 24px 18px;
    }

    .app-shell.sidebar-collapsed .sidebar-brand {
        justify-content: flex-start;
        gap: 12px;
    }

    .app-shell.sidebar-collapsed .sidebar-brand-text-wrap,
    .app-shell.sidebar-collapsed .sidebar-section-title,
    .app-shell.sidebar-collapsed .sidebar-link-text,
    .app-shell.sidebar-collapsed .sidebar-logout-btn span {
        width: auto;
        overflow: visible;
        opacity: 1;
        visibility: visible;
    }

    .app-shell.sidebar-collapsed .sidebar-link {
        justify-content: flex-start;
        gap: 12px;
        padding: 13px 14px;
    }

    .app-shell.sidebar-collapsed .sidebar-logout-btn {
        gap: 10px;
        padding: 0;
    }

    .sidebar-backdrop {
        position: fixed;
        inset: 0;
        z-index: 1001;
        display: block;
        border: 0;
        padding: 0;
        background: rgba(7, 17, 42, 0.48);
        opacity: 0;
        visibility: hidden;
        cursor: pointer;
        transition: opacity 0.22s ease, visibility 0.22s ease;
    }

    .app-shell.sidebar-mobile-open .app-sidebar {
        transform: translateX(0);
    }

    .app-shell.sidebar-mobile-open .sidebar-backdrop {
        opacity: 1;
        visibility: visible;
    }

    .page-title {
        font-size: 34px;
    }

    .page-body {
        padding: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .app-sidebar,
    .sidebar-backdrop,
    .sidebar-brand-text-wrap,
    .sidebar-section-title,
    .sidebar-link-text,
    .sidebar-logout-btn span {
        transition-duration: 0.01ms;
    }
}

@media (max-width: 480px) {
    .login-content {
        padding: 22px 22px 24px 22px;
    }

    .login-title {
        font-size: 28px;
    }

    .home-contingencia-page-heading {
        gap: 12px;
    }

    .home-contingencia-page-heading .page-header-icon {
        width: 48px;
        height: 48px;
        flex: 0 0 48px;
        border-radius: 14px;
        font-size: 22px;
    }

    .home-contingencia-kpi-grid {
        grid-template-columns: 1fr;
    }

    .home-contingencia-kpi {
        min-height: 104px;
    }

    .home-contingencia-panel {
        padding: 14px;
    }

    .home-contingencia-updated {
        justify-content: flex-start;
    }
}

@media (max-width: 1200px) {
    .mcp-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mcp-payload-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .mcp-collection-badges {
        grid-column: 1 / -1;
    }

    .mcp-scalars-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .mcp-source-chip {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .mcp-overview-grid,
    .mcp-payload-summary,
    .mcp-scalars-grid {
        grid-template-columns: 1fr;
    }

    .mcp-log-card-header {
        flex-direction: column;
    }

    .mcp-status-badge {
        align-self: flex-start;
    }

    .mcp-log-card-meta {
        flex-direction: column;
        gap: 4px;
    }
}

@media (max-width: 1100px) {
    .sped-meta-value {
        font-size: 17px;
    }
}

@media (max-width: 900px) {
    .sped-upload-inner {
        min-height: 148px;
    }

    .sped-upload-title {
        font-size: 16px;
    }

    .app-loading-card {
        min-width: 240px;
        padding: 18px 20px;
    }
}

@media (max-width: 768px) {
    .home-contingencia-modal {
        padding: 8px;
    }

    .home-contingencia-modal-card {
        width: 100%;

        height: calc(100vh - 16px);
        height: calc(100dvh - 16px);

        max-height: calc(100vh - 16px);
        max-height: calc(100dvh - 16px);

        padding: 14px;
        border-radius: 14px;
    }

    .home-contingencia-modal-body {
        padding-right: 4px;
    }
}


/* =========================================================
   HOME — CENTRAL DE ALERTAS OPERACIONAIS
   ========================================================= */

@media (max-width: 700px) {
    .home-alerts-panel {
        top: 62px;
        right: 10px;
        left: 10px;

        width: auto;
        max-height: calc(100vh - 74px);
        max-height: calc(100dvh - 74px);
    }
}

@media (max-width: 480px) {
    .home-alerts-header {
        padding: 15px 14px 12px;
    }

    .home-alerts-list {
        padding: 10px;
    }

    .home-alerts-item {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 10px;
        padding: 12px;
    }

    .home-alerts-item-icon {
        width: 34px;
        height: 34px;
        font-size: 15px;
    }

    .home-alerts-item-heading {
        flex-direction: column;
        gap: 6px;
    }

    .home-alerts-action {
        width: 100%;
    }

    .home-alerts-generated-at {
        text-align: left;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-alerts-backdrop,
    .home-alerts-panel,
    .home-alerts-close,
    .home-alerts-action {
        transition-duration: 0.01ms;
    }
}

@media (max-width: 900px) {
    .home-dashboard-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .home-dashboard-toolbar .home-contingencia-refresh {
        width: fit-content;
    }
}

@media (max-width: 640px) {
    .home-dashboard-tabs-parent {
        overflow-x: auto;
        overflow-y: hidden;

        scrollbar-width: thin;
        scrollbar-color: #b8c7e6 transparent;
    }

    .home-dashboard-tabs {
        width: max-content;
        min-width: 100%;
    }

    .home-dashboard-tab {
        min-width: max-content;
        padding: 12px 15px !important;
    }

    .home-dashboard-toolbar {
        padding: 16px;
    }

    .home-dashboard-toolbar .home-contingencia-refresh {
        width: 100%;
    }

    .home-dashboard-placeholder {
        align-items: flex-start;
        flex-direction: column;

        min-height: 220px;
        padding: 22px;
    }
}

@media (max-width: 640px) {
    .home-versoes-kpi-value {
        font-size: 21px;
    }

    .home-versoes-footnote {
        padding: 11px 12px;
    }
}

/* =========================================================
   HOME — ATENDIMENTOS EM ABERTO
   ========================================================= */

@media (max-width: 1180px) {
    .home-open-tickets-filters-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 760px) {
    .home-open-tickets-filters-card {
        padding: 15px;
    }

    .home-open-tickets-filters-header {
        flex-direction: column;
        align-items: stretch;
    }

    .home-open-tickets-clear-button {
        width: 100%;
    }

    .home-open-tickets-filters-grid {
        grid-template-columns: 1fr;
    }

    .home-open-tickets-filter-summary {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 480px) {
    .home-open-tickets-filter-summary span {
        width: 100%;
        text-align: center;
    }
}
