/* Migrado de keepedu-theme.css — theme/_shell.css */

/* Unifica o espaçamento removendo as margens inferiores de todos os cards para o Painel e Bernoulli usarem as mesmas distâncias */
.keepedu-app-page .card {
    margin-bottom: 0 !important;
}

.keepedu-app-page .home-grid-col-main,
.keepedu-app-page .home-grid-col-side {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.keepedu-app-page .hero-shell,
.keepedu-app-page .card,
.keepedu-app-page .event-log-panel,
.keepedu-app-page .sidebar,
.keepedu-app-page .viewer,
.keepedu-app-page .table-wrapper,
.keepedu-app-page .home-hero-main,
.keepedu-app-page .home-hero-panel,
.keepedu-app-page .home-ops-card,
.keepedu-app-page .home-history-card,
.keepedu-app-page .upload-command-card,
.keepedu-app-page .bernoulli-hero,
.keepedu-app-page .bernoulli-form-card,
.keepedu-app-page .bernoulli-log-card,
.keepedu-app-page .bernoulli-help-card,
.keepedu-app-page .bernoulli-track-card {
    background: #ffffff !important;
    border: 1px solid #d7dce3 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.keepedu-app-page .section-kicker,
.keepedu-app-page .eyebrow,
.keepedu-app-page .panel-kicker {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    color: #8b95a4 !important;
    font-size: 12px !important;
    letter-spacing: 0 !important;
    text-transform: uppercase;

}

.keepedu-app-page .hero h1,
.keepedu-app-page .home-hero-main h1,
.keepedu-app-page .bernoulli-hero h1,
.keepedu-app-page .home-hero-panel h2,
.keepedu-app-page .section-head h2,
.keepedu-app-page .card h2 {
    color: #49566a !important;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.keepedu-app-page .hero p,
.keepedu-app-page .card-description,
.keepedu-app-page .home-hero-main p,
.keepedu-app-page .bernoulli-hero p,
.keepedu-app-page .sidebar-description,
.keepedu-app-page .viewer-help,
.keepedu-app-page .muted {
    color: #788394 !important;
}

.keepedu-app-page .btn-primary,
.keepedu-app-page .btn-secondary,
.keepedu-app-page .btn-light,
.keepedu-app-page .link-btn,
.keepedu-app-page .sidebar-filter-btn,
.keepedu-app-page .bernoulli-day-btn {
    min-height: 36px;
    border-radius: 3px !important;
    font-size: 14px;
    font-weight: 700;
    box-shadow: none !important;
}

.keepedu-app-page .btn-primary {
    background: #2a8cdb !important;
    border: 1px solid #2a8cdb !important;
    color: #ffffff !important;
}

.keepedu-app-page .btn-primary:hover {
    background: #227cc3 !important;
}

.keepedu-app-page .btn-secondary,
.keepedu-app-page .btn-light,
.keepedu-app-page .sidebar-filter-btn,
.keepedu-app-page .bernoulli-day-btn {
    background: #f9fbfd !important;
    border: 1px solid #cfd7e2 !important;
    color: #516071 !important;
}

.keepedu-app-page .btn-secondary:hover,
.keepedu-app-page .btn-light:hover,
.keepedu-app-page .sidebar-filter-btn:hover,
.keepedu-app-page .bernoulli-day-btn:hover {
    background: #eef3f8 !important;
}

.keepedu-app-page .sidebar-filter-btn.ativo,
.keepedu-app-page .bernoulli-day-btn.active,
.keepedu-app-page .corner-btn.ativo {
    background: #2a8cdb !important;
    color: #ffffff !important;
    border-color: #2a8cdb !important;
}

.keepedu-app-page .validacao-table-wrapper .manual-form {
    min-width: 0;
    margin-left: 0;
    justify-content: flex-start;
}

.keepedu-app-page .validacao-table-wrapper .manual-form input {
    width: 92px !important;
    min-width: 0 !important;
    max-width: 110px !important;
    padding: 0 8px !important;
    text-align: center;
}

.keepedu-app-page .input-text,
.keepedu-app-page .manual-form input,
.keepedu-app-page .corner-toolbar select,
.keepedu-app-page .field-block input[type="file"] {
    background: #ffffff !important;
    border: 1px solid #cfd7e2 !important;
    border-radius: 3px !important;
    box-shadow: none !important;
}

.keepedu-app-page .input-text:focus,
.keepedu-app-page .manual-form input:focus,
.keepedu-app-page .corner-toolbar select:focus,
.keepedu-app-page .field-block input[type="file"]:focus {
    border-color: #2a8cdb !important;
    box-shadow: 0 0 0 3px rgba(42, 140, 219, 0.12) !important;
}

.keepedu-app-page .home-hero {
    display: grid;
    align-items: start;
    grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.7fr);
}

.keepedu-app-page .home-dashboard {
    grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.7fr);
}

.keepedu-app-page .home-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.7fr);
    gap: 20px;
    align-items: start;
}

/* (A regra home-grid > * que causava o "espremido" foi removida) */

.keepedu-app-page .home-hero-main,
.keepedu-app-page .upload-command-card,
.keepedu-app-page .home-ops-card,
.keepedu-app-page .home-history-card,
.keepedu-app-page .home-hero-panel,
.keepedu-app-page .hero-shell,
.keepedu-app-page .card {
    padding: 22px;
}

.keepedu-app-page .home-hero-panel {
    background: #ffffff !important;
}

.keepedu-app-page .home-hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 24px;
}

.keepedu-app-page .home-flow-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.keepedu-app-page .home-flow-item,
.keepedu-app-page .home-metric-card,
.keepedu-app-page .home-ops-item,
.keepedu-app-page .event-log-item,
.keepedu-app-page .summary-card,
.keepedu-app-page .stat-card,
.keepedu-app-page .sidebar-stat,
.keepedu-app-page .bernoulli-mini-card,
.keepedu-app-page .bernoulli-meta-item,
.keepedu-app-page .bernoulli-rule-item,
.keepedu-app-page .bernoulli-log-stat,
.keepedu-app-page .log-summary-item,
.keepedu-app-page .item-imagem {
    background: #f8fafc !important;
    border: 1px solid #d9e0e8 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
}

.keepedu-app-page .home-flow-item {
    padding: 16px;
}

.keepedu-app-page .home-metric-card {
    padding: 16px;
}

.keepedu-app-page .home-flow-item strong,
.keepedu-app-page .home-metric-card strong,
.keepedu-app-page .home-ops-item strong,
.keepedu-app-page .item-imagem-title,
.keepedu-app-page .bernoulli-mini-card strong {
    color: #4c596d !important;
}

.keepedu-app-page .home-flow-item span,
.keepedu-app-page .home-metric-card p,
.keepedu-app-page .home-ops-item p,
.keepedu-app-page .item-imagem-subtitle,
.keepedu-app-page .item-imagem-detail,
.keepedu-app-page .bernoulli-mini-card span {
    color: #7a8493 !important;
}
.upload-lista-scroll {
    max-height: 220px;
    overflow-y: auto;
    padding-right: 4px;
}

.upload-lista-scroll::-webkit-scrollbar {
    width: 8px;
}

.upload-lista-scroll::-webkit-scrollbar-thumb {
    background: rgba(15, 42, 92, 0.25);
    border-radius: 8px;
}

.event-log-list-modal {
    overflow-y: auto;
    overflow-x: hidden;
}

.app-modal-process-dialog {
    width: min(580px, 94vw);
    min-height: 0;
    max-height: 94vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.app-modal-process-dialog .app-modal-header {
    flex-shrink: 0;
}

.app-modal-process-dialog .log-processamento {
    flex-shrink: 0;
}

.app-modal-process-dialog .event-log-head {
    flex-shrink: 0;
    margin-bottom: 8px;
}

.app-modal-process-dialog .event-log-list.event-log-list-modal {
    flex: 0 1 auto;
    min-height: 0;
    max-height: calc(3 * 5.875rem + 2 * 10px + 24px) !important;
    height: auto;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px;
    border: 1px solid #d9e0e8;
    border-radius: 4px;
    background: #f8fafc;
}

.app-modal-process-dialog .event-log-list-modal .event-log-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 0;
    min-height: 5.875rem;
}

.app-modal-process-dialog .app-modal-actions {
    flex-shrink: 0;
    margin-top: 12px;
}

.keepedu-app-page .event-log-list-modal .event-log-item {
    display: grid !important;
    grid-template-columns: 34px 1fr !important;
    flex-direction: unset !important;
    flex-shrink: 0;
    height: auto !important;
    align-items: start;
}

.keepedu-app-page .event-log-list-modal .event-log-item.warning {
    border-left: 4px solid #d97706 !important;
    background: linear-gradient(180deg, #fffdf7, #fff7e8) !important;
}

.keepedu-app-page .event-log-list-modal .event-log-item.error {
    border-left: 4px solid #b42318 !important;
    background: linear-gradient(180deg, #fff8f8, #fff1f1) !important;
}

.keepedu-app-page .event-log-list-modal .event-log-item.success {
    border-left: 4px solid #067647 !important;
    background: linear-gradient(180deg, #f6fffa, #effcf4) !important;
}

.keepedu-app-page .event-log-list-modal .event-log-item.info {
    border-left: 4px solid #d97706 !important;
    background: linear-gradient(180deg, #fffdf7, #fff7e8) !important;
}

.keepedu-app-page .event-log-list-modal .event-log-item.warning .event-log-icon,
.keepedu-app-page .event-log-list-modal .event-log-item.info .event-log-icon {
    background: rgba(217, 119, 6, 0.12) !important;
    color: #9a6700 !important;
}

.keepedu-app-page .event-log-list-modal .event-log-item.error .event-log-icon {
    background: rgba(180, 35, 24, 0.12) !important;
    color: #b42318 !important;
}

.keepedu-app-page .event-log-list-modal .event-log-item.success .event-log-icon {
    background: rgba(6, 118, 71, 0.12) !important;
    color: #067647 !important;
}

.keepedu-app-page .event-log-list-modal .event-log-body strong {
    color: #2f3a4a !important;
}

.keepedu-app-page .event-log-list-modal .event-log-file {
    color: #1d4f91 !important;
}

.app-modal-bernoulli-dialog {
    width: min(1040px, 96vw);
    max-height: 92vh;
    overflow-y: auto;
}

.keepedu-app-page .bernoulli-modal-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 16px;
    align-items: start;
}

.keepedu-app-page .bernoulli-modal-panel {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 14px;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    background: #ffffff;
    min-height: 100%;
}

.keepedu-app-page .bernoulli-modal-panel h2 {
    margin: 4px 0 0;
    font-size: 18px;
    color: #2f3a4a;
}

.keepedu-app-page .bernoulli-modal-panel .bernoulli-log-summary {
    margin: 0;
}

.keepedu-app-page .bernoulli-modal-panel .bernoulli-log-list {
    max-height: 220px;
}

@media (max-width: 900px) {
    .keepedu-app-page .bernoulli-modal-grid {
        grid-template-columns: 1fr;
    }
}

.processamento-stats-inline {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.processamento-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.ke-action-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
}

.keepedu-app-page .ke-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    min-width: 168px;
    padding: 0 16px;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    box-sizing: border-box;
}

.keepedu-app-page .ke-action-btn-compact {
    min-width: auto;
    min-height: 34px;
    padding: 0 12px;
    font-size: 13px;
}

.validacao-direct-buttons.ke-action-bar {
    margin-top: 4px;
}

.validacao-direct-buttons .ke-action-btn {
    flex: 1 1 220px;
}

.validacao-table-head {
    flex-wrap: wrap;
    gap: 12px;
}

.validacao-table-head-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.validacao-image-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.keepedu-app-page .validacao-image-cell .validacao-correcao-link {
    text-decoration: none;
}

.keepedu-app-page .page-home .home-grid {
    gap: 14px;
    align-items: start;
}

.keepedu-app-page .page-home .home-grid-col-main,
.keepedu-app-page .page-home .home-grid-col-side {
    gap: 14px;
}

.keepedu-app-page .home-hero-main,
.keepedu-app-page .home-hero-panel,
.keepedu-app-page .upload-command-card,
.keepedu-app-page .home-checklist-card {
    padding: 18px !important;
}

.keepedu-app-page .home-hero-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.keepedu-app-page .home-metric-card {
    padding: 14px 16px !important;
    min-height: 0 !important;
}

.keepedu-app-page .home-flow-item {
    padding: 12px 14px !important;
}

.grid-imagem-btn {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0;
    border: 1px solid var(--border, #d8e0ef);
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    overflow: hidden;
    text-align: left;
}

.grid-imagem-btn img {
    width: 100%;
    height: 140px;
    object-fit: contain;
    object-position: center;
    display: block;
    background: #eef2f7;
}

.grid-imagem-btn span {
    padding: 8px 10px 10px;
    font-size: 12px;
    font-weight: 600;
    word-break: break-all;
}

.processamento-gallery-card .grid-imagem-btn.galeria-lote-oculto {
    display: none !important;
}

.ke-nav-item-disabled {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

.validacao-direct-actions {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.validacao-id-aval-topo .input-text {
    max-width: 320px;
}

.validacao-direct-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.keepedu-app-page .upload-lista,
.keepedu-app-page .summary-grid,
.keepedu-app-page .stats-grid,
.keepedu-app-page .log-summary,
.keepedu-app-page .sidebar-summary {
    gap: 12px;
}

.keepedu-app-page .section-badge,
.keepedu-app-page .highlight-pill,
.keepedu-app-page .item-imagem-chip,
.keepedu-app-page .item-imagem-pill,
.keepedu-app-page .status-badge {
    background: #edf3f8 !important;
    color: #5f6e80 !important;
    border: 1px solid #d7e0ea !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    /* Ajuste para que o badge não force a largura do contêiner pai. */
    white-space: normal !important; /* Permite quebra de linha se o texto for longo. */
    text-align: center; /* Centraliza o texto caso ele quebre a linha. */
}

.keepedu-app-page .status-validado,
.keepedu-app-page .status-badge.ok {
    background: #e3f7e8 !important;
    border-color: #c5ebd1 !important;
    color: #2a7e44 !important;
}

.keepedu-app-page .status-pendente,
.keepedu-app-page .status-badge.erro,
.keepedu-app-page .status-badge.pendencia {
    background: #fdeceb !important;
    border-color: #f5d4d0 !important;
    color: #b65248 !important;
}

.keepedu-app-page .status-enviado-keepedu {
    background: #e8f2fb !important;
    border-color: #c5d9f0 !important;
    color: #2f5f8f !important;
}

.keepedu-app-page .status-enviado-keepedu--completo {
    background: #dceaf8 !important;
    border-color: #a8c8e8 !important;
    color: #1f4f7a !important;
    font-weight: 600 !important;
}

.keepedu-app-page .validacao-status-cell {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 6px;
}

.keepedu-app-page .historico-vis-legenda {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin: 0 0 12px;
    padding: 10px 12px;
    background: #f7f9fb;
    border: 1px solid #d7dce3;
    border-radius: 4px;
}

.keepedu-app-page .historico-vis-chip {
    font-size: 12.5px;
    color: #334155;
    line-height: 1.35;
}

.keepedu-app-page .historico-vis-chip strong {
    font-weight: 600;
    color: #64748b;
}

.keepedu-app-page .historico-vis-chip--destaque {
    padding: 2px 8px;
    background: #fff4e5;
    border: 1px solid #f2d2a0;
    border-radius: 999px;
    color: #8a5a12;
}

.keepedu-app-page .table-toolbar,
.keepedu-app-page .corner-toolbar {
    background: #f7f9fb !important;
    border: 1px solid #d7dce3 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.keepedu-app-page .table-wrapper {
    overflow: auto;
}

.keepedu-app-page .data-table {
    min-width: 980px;
    background: #ffffff;
}

.keepedu-app-page .data-table th {
    background: #eff3f7 !important;
    color: #59677b !important;
    border-bottom: 1px solid #d6dce4 !important;
    text-transform: none !important;
}

.keepedu-app-page .data-table td {
    border-bottom: 1px solid #e6ebf1 !important;
    color: #59677b !important;
}

.keepedu-app-page .data-table tbody tr:hover td {
    background: #f8fbfe !important;
}

.keepedu-app-page .linha-pendente td {
    background: #fff8f7 !important;
}

.keepedu-app-page .linha-validada td {
    background: #fbfdfc !important;
}

.keepedu-app-page .grid-imagens {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.keepedu-app-page .grid-imagens a {
    border-radius: 4px !important;
    padding: 10px;
    background: #f8fafc !important;
    border: 1px solid #d9e0e8 !important;
}

.keepedu-app-page .grid-imagens .grid-imagem-btn img,
.keepedu-app-page .grid-imagens img {
    height: 180px;
    background: #ffffff;
    border-radius: 2px !important;
}

.keepedu-app-page .page-processando,
.keepedu-app-page .page-processamento,
.keepedu-app-page .page-validacao,
.keepedu-app-page .page-correcao {
    max-width: none;
    margin: 0;
}

.keepedu-app-page .image-area img,
.keepedu-app-page .image-area canvas {
    max-width: none;
    display: block;
}

.keepedu-app-page .sidebar,
.keepedu-app-page .viewer {
    height: calc(100vh - 190px);
    min-height: 0;
}

.keepedu-app-page .sidebar {
    overflow: auto;
}

.keepedu-app-page .viewer {
    /* A rolagem foi movida para o .image-area para que a barra de ferramentas não role junto. */
    /* O viewer agora organiza os elementos internos verticalmente. */
    overflow: hidden; /* Garante que o viewer não cresça indefinidamente, corrigindo a rolagem infinita. */
    display: flex;
    flex-direction: column;
    gap: 12px; /* Espaçamento entre a barra de ferramentas e a área da imagem */
    padding: 16px;
}

.keepedu-app-page .image-area {
    background: #eceff4 !important;
    border: 1px solid #d7dde5 !important;
    border-radius: 4px !important;
    position: relative;
    overflow: auto;
    flex-grow: 1;
    min-height: 0;
    justify-content: flex-start !important;
    align-items: flex-start !important;
}

.keepedu-app-page .event-log-empty,
.keepedu-app-page .sidebar-empty {
    background: #f7f9fb !important;
    border: 1px dashed #d0d7e2 !important;
    border-radius: 4px !important;
}

.keepedu-app-page .progress-card,
.keepedu-app-page .log-processamento {
    background: #ffffff !important;
    border: 1px solid #d7dce3 !important;
    border-radius: 4px !important;
}

.keepedu-app-page .progress-bar,
.keepedu-app-page .log-processamento .progress-bar {
    height: 12px;
    background: #e5ebf2 !important;
    border: 1px solid #d4dce6 !important;
    border-radius: 999px !important;
}

.keepedu-app-page .progress-fill,
.keepedu-app-page .log-processamento .progress-fill {
    background: linear-gradient(90deg, #2a8cdb, #5db6fb) !important;
}

.keepedu-app-page .erro-box {
    border-radius: 4px !important;
    background: #fff5f4 !important;
    border: 1px solid #f1c7c2 !important;
    color: #b65248 !important;
}

.keepedu-app-page .app-modal-dialog {
    border-radius: 8px !important;
    z-index: 2 !important;
    pointer-events: auto !important;
}

.keepedu-app-page .app-modal-backdrop {
    z-index: 1;
}

.keepedu-app-page .app-modal--stack {
    z-index: 1300;
}

.keepedu-app-page .app-modal-image-toolbar .btn-light,
.keepedu-app-page .app-modal-close {
    position: relative;
    z-index: 3;
    pointer-events: auto;
    cursor: pointer;
}

.keepedu-app-page .app-modal-image-stage {
    background: #f4f7fb;
    border-radius: 4px;
}

.keepedu-app-page .app-modal-image-preview {
    border-radius: 4px !important;
}

.keepedu-auth-page .topbar {
    display: none;
}

.keepedu-auth-page {
    background:
        radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.22) 0 3px, transparent 4px),
        radial-gradient(circle at 84% 18%, rgba(255, 255, 255, 0.22) 0 3px, transparent 4px),
        radial-gradient(circle at 12% 82%, rgba(255, 255, 255, 0.22) 0 3px, transparent 4px),
        radial-gradient(circle at 84% 82%, rgba(255, 255, 255, 0.22) 0 3px, transparent 4px),
        linear-gradient(180deg, #8d47ce 0%, #6d27ae 100%);
    background-size: 40px 40px, 40px 40px, 40px 40px, 40px 40px, auto;
}

.ke-auth-header {
    min-height: 76px;
    padding: 0 34px;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.ke-auth-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #4152d8;
    font-size: 28px;
    font-weight: 800;
    text-decoration: none;
}

.ke-auth-brand .ke-logo-mark {
    border-color: #4152d8;
}

.ke-auth-brand .ke-logo-mark::before,
.ke-auth-brand .ke-logo-mark::after {
    background: #4152d8;
}

.ke-auth-brand .ke-logo-word {
    color: #4152d8;
    font-size: 24px;
}

.ke-auth-header img {
    height: 44px;
    width: auto;
}

.ke-auth-main {
    min-height: calc(100vh - 76px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 38px 20px;
}

.ke-auth-card {
    width: min(100%, 470px);
    background: #ffffff;
    border-radius: 18px;
    padding: 28px 30px 24px;
    box-shadow: 0 28px 80px rgba(49, 13, 93, 0.28);
}

.ke-auth-card img {
    height: 56px;
    width: auto;
    display: block;
    margin: 0 auto 12px;
}

.ke-auth-card h1 {
    margin: 0;
    text-align: center;
    color: #2f68d2;
    font-size: 28px;
    font-weight: 800;
}

.ke-auth-card p {
    margin: 8px 0 0;
    text-align: center;
    color: #5a6880;
    line-height: 1.6;
}

.ke-auth-form {
    display: grid;
    gap: 16px;
    margin-top: 24px;
}

.ke-auth-field label {
    display: block;
    margin-bottom: 8px;
    color: #2f3a4c;
    font-weight: 700;
}

.ke-auth-input {
    position: relative;
}

.ke-auth-input > span,
.ke-auth-input > .ke-btn-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #64748b;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.ke-auth-input > .ke-btn-icon svg {
    display: block;
}

.ke-password-toggle .ke-btn-icon {
    position: static;
    transform: none;
    pointer-events: auto;
    color: #64748b;
}

.ke-auth-input input {
    width: 100%;
    height: 46px;
    padding: 0 14px 0 38px;
    border: 1px solid #d4dbe6;
    border-radius: 12px;
    background: #f8fbff;
    font-size: 14px;
}

.ke-auth-input input:focus {
    outline: none;
    border-color: #4b7de6;
    box-shadow: 0 0 0 4px rgba(75, 125, 230, 0.12);
}

.ke-auth-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: -2px;
    color: #5d6980;
    font-size: 13px;
}

.ke-auth-row a {
    color: #2f68d2;
    text-decoration: none;
    font-weight: 700;
}

.ke-auth-submit {
    width: 100%;
    height: 46px;
    border: 0;
    border-radius: 12px;
    background: #21b967;
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
}

.ke-auth-submit:hover {
    background: #1da45c;
}

.ke-auth-alert {
    margin-top: 16px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #fff4f2;
    border: 1px solid #f3d0cc;
    color: #b45248;
    font-size: 14px;
    line-height: 1.5;
}

.ke-auth-meta {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #edf1f6;
    display: grid;
    gap: 10px;
}

.ke-auth-meta-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #66758a;
    font-size: 13px;
}

.ke-auth-meta-item strong {
    color: #38455a;
}

@media (max-width: 1100px) {
    .ke-shell {
        grid-template-columns: 1fr;
    }

    .ke-sidebar {
        border-right: 0;
        border-bottom: 1px solid #d6d9dd;
        padding-bottom: 14px;
    }

    .ke-nav {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        padding-inline: 10px;
    }

    .ke-sidebar-panel {
        margin-top: 0;
    }

    .keepedu-app-page .home-hero,
    .keepedu-app-page .home-dashboard,
    .keepedu-app-page .home-grid,
    .keepedu-app-page .bernoulli-layout {
        grid-template-columns: 1fr !important;
    }

    .keepedu-app-page .sidebar,
    .keepedu-app-page .viewer {
        height: auto;
    }
}

@media (max-width: 780px) {
    .ke-header,
    .ke-auth-header {
        padding-inline: 16px;
    }

    .ke-user-name {
        max-width: 180px;
    }

    .ke-page-bar {
        flex-direction: column;
        align-items: flex-start;
    }

    .ke-breadcrumbs {
        text-align: left;
    }

    .keepedu-app-page .hero-stats-row,
    .keepedu-app-page .summary-grid,
    .keepedu-app-page .stats-grid,
    .keepedu-app-page .home-hero-metrics {
        grid-template-columns: 1fr !important;
    }
}
