/* Ajustes responsivos finais.
   Este arquivo fica por ultimo para neutralizar larguras fixas herdadas. */

.keepedu-app-page,
.keepedu-app-page * {
    min-width: 0;
}

.keepedu-app-page {
    overflow-x: hidden;
}

.keepedu-app-page .ke-shell,
.keepedu-app-page .ke-main,
.keepedu-app-page .ke-page-content,
.keepedu-app-page .page,
.keepedu-app-page .card,
.keepedu-app-page .panel,
.keepedu-app-page .viewer,
.keepedu-app-page .sidebar {
    max-width: 100%;
    box-sizing: border-box;
}

.keepedu-app-page .ke-main {
    overflow-x: hidden !important;
}

.keepedu-app-page .ke-page-content {
    width: 100%;
}

.keepedu-app-page img,
.keepedu-app-page canvas,
.keepedu-app-page svg {
    max-width: 100%;
}

.keepedu-app-page .page-correcao .image-area img,
.keepedu-app-page .page-correcao .image-area canvas,
.keepedu-app-page .page-correcao #imagem-principal {
    max-width: none;
}

.keepedu-app-page .ke-action-bar,
.keepedu-app-page .table-toolbar,
.keepedu-app-page .validacao-table-toolbar,
.keepedu-app-page .historico-lista-toolbar,
.keepedu-app-page .historico-table-toolbar,
.keepedu-app-page .validacao-table-head,
.keepedu-app-page .validacao-table-head-actions,
.keepedu-app-page .processamento-action-row,
.keepedu-app-page .bernoulli-actions {
    flex-wrap: wrap;
    min-width: 0;
}

.keepedu-app-page .ke-action-btn,
.keepedu-app-page .btn-primary,
.keepedu-app-page .btn-secondary,
.keepedu-app-page .btn-light,
.keepedu-app-page .btn-success,
.keepedu-app-page .btn-info,
.keepedu-app-page .btn-warm,
.keepedu-app-page .btn-danger,
.keepedu-app-page .btn-accent {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    text-align: center;
}

.keepedu-app-page .input-text,
.keepedu-app-page input,
.keepedu-app-page select,
.keepedu-app-page textarea {
    max-width: 100%;
    box-sizing: border-box;
}

section.toolbar-modern {
    overflow: visible !important;
}

section.toolbar-modern > .toolbar-main {
    display: grid !important;
    grid-template-columns: minmax(220px, 1fr) minmax(150px, 180px) auto minmax(220px, 0.8fr);
    align-items: end !important;
}

section.toolbar-modern .search-group,
section.toolbar-modern .zoom-group,
section.toolbar-modern .action-group,
section.toolbar-modern .toolbar-info {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

section.toolbar-modern .zoom-group {
    flex-basis: auto !important;
}

section.toolbar-modern .action-group {
    flex-basis: auto !important;
}

section.toolbar-modern .toolbar-info {
    padding-top: 0 !important;
    line-height: 1.45;
}

section.toolbar-modern .btn-success,
section.toolbar-modern .btn-primary,
section.toolbar-modern .btn-accent {
    width: 100% !important;
    min-height: 46px;
    height: auto !important;
}

/* Correção: em telas de notebook, prioriza o visualizador e evita sobreposicao. */
@media (max-width: 1400px) {
    .keepedu-app-page .page-correcao {
        overflow: visible !important;
    }

    .keepedu-app-page .page-correcao .layout-correcao {
        grid-template-columns: 1fr !important;
        align-items: start !important;
        height: auto !important;
    }

    .keepedu-app-page .page-correcao .correcao-sidebar,
    .keepedu-app-page .page-correcao .correcao-viewer {
        height: auto !important;
        max-height: none !important;
    }

    .keepedu-app-page .page-correcao .correcao-sidebar {
        padding: 18px !important;
    }

    .keepedu-app-page .page-correcao .correcao-sidebar .sidebar-summary {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .keepedu-app-page .page-correcao .lista-imagens {
        max-height: 260px;
    }

    .keepedu-app-page .page-correcao .correcao-viewer {
        min-height: min(760px, calc(100vh - 120px));
    }

    .keepedu-app-page .correcao-viewer-header {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "intro"
            "tools"
            "actions" !important;
    }

    .keepedu-app-page .correcao-corner-toolbar,
    .keepedu-app-page .correcao-viewer-actions {
        justify-self: stretch;
        width: 100%;
    }

    .keepedu-app-page .correcao-viewer-actions {
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
    }

    .keepedu-app-page .correcao-viewer-actions > button {
        flex: 1 1 132px;
    }
}

@media (max-width: 1180px) {
    .keepedu-app-page .ke-shell {
        grid-template-columns: 1fr !important;
    }

    .keepedu-app-page .ke-sidebar {
        position: static !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        border-right: 0;
        border-bottom: 1px solid #d6d9dd;
        padding: 12px 0 !important;
        gap: 10px;
    }

    .keepedu-app-page .ke-nav {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 4px;
        padding: 0 10px;
    }

    .keepedu-app-page .ke-nav-lote {
        display: contents;
    }

    .keepedu-app-page .ke-nav-item {
        min-height: 42px;
        padding: 0 12px;
    }

    section.toolbar-modern > .toolbar-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    section.toolbar-modern .toolbar-info {
        grid-column: 1 / -1;
    }

    .keepedu-app-page .home-hero,
    .keepedu-app-page .home-dashboard,
    .keepedu-app-page .home-grid,
    .keepedu-app-page .bernoulli-layout,
    .keepedu-app-page .processamento-stats-inline,
    .keepedu-app-page .validacao-direct-buttons {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 900px) {
    .keepedu-app-page .ke-header {
        min-height: auto;
        gap: 12px;
        padding: 14px 16px !important;
    }

    .keepedu-app-page .ke-header-left,
    .keepedu-app-page .ke-header-right {
        min-width: 0;
    }

    .keepedu-app-page .ke-logo-brand {
        max-width: min(150px, 38vw);
    }

    .keepedu-app-page .ke-user-name {
        max-width: 32vw;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .keepedu-app-page .ke-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .keepedu-app-page .ke-main {
        padding: 10px 12px 22px !important;
    }

    .keepedu-app-page .ke-page-bar {
        padding-inline: 0;
    }

    section.toolbar-modern > .toolbar-main {
        grid-template-columns: 1fr;
        padding: 14px !important;
    }

    .keepedu-app-page .page-correcao .correcao-sidebar .sidebar-summary,
    .keepedu-app-page .hero-stats-row,
    .keepedu-app-page .summary-grid,
    .keepedu-app-page .stats-grid,
    .keepedu-app-page .home-hero-metrics,
    .keepedu-app-page .bernoulli-mini-grid,
    .keepedu-app-page .bernoulli-log-summary,
    .keepedu-app-page .processamento-stats-inline {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .keepedu-app-page .validacao-table-wrapper,
    .keepedu-app-page .historico-table-wrapper,
    .keepedu-app-page .table-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 640px) {
    body.sidebar-collapsed .ke-header {
        display: flex;
        grid-template-columns: none;
        padding: 14px 16px !important;
        min-height: auto;
    }

    body.sidebar-collapsed .ke-header-left {
        width: auto;
        justify-content: flex-start;
        padding: 0;
    }

    body.sidebar-collapsed .ke-logo-brand {
        max-width: min(150px, 38vw);
        opacity: 1;
    }

    body.sidebar-collapsed .ke-header-right {
        padding: 0;
    }

    .keepedu-app-page .ke-header {
        flex-wrap: wrap;
    }

    .keepedu-app-page .ke-header-right {
        width: 100%;
        justify-content: space-between;
    }

    .keepedu-app-page .ke-user-name {
        max-width: 52vw;
    }

    .keepedu-app-page .ke-nav {
        grid-template-columns: 1fr;
    }

    .keepedu-app-page .ke-sidebar {
        display: none !important;
    }

    .keepedu-app-page.sidebar-mobile-open .ke-sidebar,
    body.sidebar-mobile-open .ke-sidebar {
        display: flex !important;
    }

    .keepedu-app-page .page-correcao .correcao-sidebar .sidebar-summary,
    .keepedu-app-page .hero-stats-row,
    .keepedu-app-page .summary-grid,
    .keepedu-app-page .stats-grid,
    .keepedu-app-page .home-hero-metrics,
    .keepedu-app-page .bernoulli-mini-grid,
    .keepedu-app-page .bernoulli-log-summary,
    .keepedu-app-page .processamento-stats-inline {
        grid-template-columns: 1fr !important;
    }

    .keepedu-app-page .correcao-viewer-actions > button,
    .keepedu-app-page .ke-action-btn,
    .keepedu-app-page .btn-primary,
    .keepedu-app-page .btn-secondary,
    .keepedu-app-page .btn-light,
    .keepedu-app-page .btn-success,
    .keepedu-app-page .btn-info,
    .keepedu-app-page .btn-warm,
    .keepedu-app-page .btn-danger,
    .keepedu-app-page .btn-accent {
        width: 100%;
        flex-basis: 100%;
    }

    .keepedu-app-page .correcao-corner-toolbar {
        width: 100%;
    }

    .keepedu-app-page .correcao-corner-toolbar .corner-toolbar-group,
    .keepedu-app-page .correcao-corner-toolbar select {
        width: 100%;
    }
}
