﻿.geo-cabecera {
    width: 100%;
    height: 54px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding-left: 18px;
    margin-bottom: 6px;
    background: linear-gradient(to bottom, #0b3f88, #1f5dbd);
    border-bottom: 1px solid #8fa1bd;
}

.geo-cabecera-icon-box {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: rgba(255,255,255,0.16);
    display: flex;
    align-items: center;
    justify-content: center;
}

.geo-cabecera-icon {
    color: white !important;
    font-size: 20px !important;
}

.geo-cabecera-titulo {
    color: white !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    font-family: "Segoe UI", Calibri, Arial, sans-serif;
    letter-spacing: 0.2px;
}

/* ============================================================
   GEONEG - Toolbar
   ============================================================ */

.geo-toolbar {
    width: 100%;
    height: 24px;
    min-height: 24px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 10px;
    margin-bottom: 10px;
    background-image: url('../imagenes/toolbar/barra.gif') !important;
    background-repeat: repeat-x !important;
    background-position: left top !important;
    border-left: 1px solid #a1a3b9;
    border-right: 1px solid #a1a3b9;
    border-bottom: none !important;
}

    .geo-toolbar button,
    .geo-toolbar .geo-tool-button,
    .geo-toolbar .mud-button-root {
        pointer-events: auto;
        cursor: pointer;
        position: relative;
        z-index: 10;
    }

.geo-tool-button {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    border: 0;
    background: transparent;
    padding: 1px 5px;
    margin-right: 2px;
    cursor: pointer;
    font-size: 11px;
    font-weight: 700;
    color: #1f1f1f;
    min-height: 20px;
    height: 20px;
    line-height: 18px;
    border-radius: 2px;
}

    .geo-tool-button:hover {
        background: rgba(255,255,255,0.35);
    }

    .geo-tool-button .mud-icon-root {
        font-size: 14px !important;
        color: #0b3f88 !important;
    }

.geo-mud-tool-button {
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 7px !important;
    display: inline-flex !important;
    align-items: center !important;
    line-height: 24px !important;
    text-transform: none !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #1f1f1f !important;
    background: transparent !important;
    box-shadow: none !important;
}

    .geo-mud-tool-button:hover {
        background: rgba(255,255,255,0.35) !important;
    }

    .geo-mud-tool-button .mud-icon-root {
        color: #0b3f88 !important;
        font-size: 14px !important;
    }

.geo-toolbar .mud-button-root {
    height: 20px !important;
    min-height: 20px !important;
    padding: 0 4px !important;
    margin: 0 !important;
    line-height: 20px !important;
    transform: translateY(-1px);
}

.geo-toolbar .mud-button-label {
    line-height: 20px !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    text-transform: none !important;
}

.geo-toolbar .mud-button-start-icon {
    margin-right: 4px !important;
    margin-top: 0 !important;
}

.geo-toolbar .mud-icon-root {
    font-size: 14px !important;
}

/* ============================================================
   GEONEG - Panel de filtros
   ============================================================ */

.geo-panel-filtros {
    border: 1px solid #cfd8e3;
    background: #f9fbfd;
    padding: 10px 14px !important;
    margin-bottom: 12px;
    border-radius: 4px;
}

    .geo-panel-filtros label,
    .form-label {
        font-size: 13px;
        font-weight: 600;
        color: #3b3b3b;
        margin-bottom: 3px !important;
    }

    .geo-panel-filtros .form-control,
    .geo-panel-filtros .form-select {
        height: 34px !important;
        min-height: 34px !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
        font-size: 14px;
    }

    .geo-panel-filtros .mud-input-control {
        margin-top: 0 !important;
    }

    .geo-panel-filtros .mud-input-root,
    .geo-panel-filtros .mud-input,
    /* Respetar el display que MudBlazor asigna a cada slot. */
    .geo-panel-filtros .mud-input-slot,
    .geo-panel-filtros .mud-input-adornment {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    /* La alineación flex corresponde al contenedor del icono. */
    .geo-panel-filtros .mud-input-adornment {
        display: flex !important;
        align-items: center !important;
    }

/* ============================================================
   GEONEG - Controles uniformes
   ============================================================ */

.form-control,
.mud-input-control,
.mud-input-slot,
.mud-select,
.mud-autocomplete {
    min-height: 38px !important;
}

    .mud-input-slot input {
        height: 38px !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }

.mud-select-input {
    min-height: 38px !important;
    display: flex;
    align-items: center;
    font-size: 13px !important;
    line-height: 18px !important;
}

.mud-autocomplete .mud-input-slot {
    min-height: 38px !important;
    align-items: center !important;
}

.form-control {
    height: 38px !important;
}

.mud-input-placeholder {
    font-size: 13px !important;
    opacity: 0.85 !important;
}

.geoneg-date {
    width: 100% !important;
}

    .geoneg-date .mud-input-root,
    /* Mantener oculto el slot auxiliar del selector de fecha. */
    .geoneg-date .mud-input-slot {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .geoneg-date .mud-input-slot {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        display: flex !important;
        align-items: center !important;
    }

/* ============================================================
   GEONEG - Botones generales
   ============================================================ */

.geo-btn-principal {
    background-color: #0b3f88 !important;
    color: white !important;
    border-radius: 4px !important;
    min-height: 32px !important;
    height: 32px !important;
    text-transform: none !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.geo-btn-secundario {
    color: #0b3f88 !important;
    border-color: #0b3f88 !important;
    border-radius: 4px !important;
    min-height: 32px !important;
    height: 32px !important;
    text-transform: none !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

/* ============================================================
   GEONEG - Mensajes
   ============================================================ */

.geo-mensaje-ok {
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
    padding: 10px;
    border-radius: 4px;
    margin-bottom: 10px;
}

.geo-mensaje-error {
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
    padding: 10px;
    border-radius: 4px;
    margin-bottom: 10px;
}

/* ============================================================
   GEONEG - Grid HTML clásico
   ============================================================ */

.geo-grid-container {
    width: 100%;
    max-width: 100%;
    min-height: 420px;
    overflow-x: auto !important;
    overflow-y: visible;
    border: 1px solid #cfd8e3;
    background: white;
}

.geo-grid {
    min-width: 1800px;
    width: max-content;
    border-collapse: collapse;
    font-size: 13px;
    font-family: "Segoe UI", Calibri, Arial, sans-serif;
}

    .geo-grid thead th {
        background: linear-gradient(to bottom, #0b3f88, #1f5dbd);
        color: white;
        font-weight: 600;
        padding: 6px 6px;
        border-right: 1px solid #4e6fa3;
        vertical-align: middle;
        white-space: nowrap;
        text-align: left;
    }

    .geo-grid tbody td {
        padding: 4px 6px;
        border-right: 1px solid #c8d0da;
        border-bottom: 1px solid #c8d0da;
        vertical-align: middle;
    }

    .geo-grid tbody tr:nth-child(odd) {
        background: #f3f3f3;
    }

    .geo-grid tbody tr:nth-child(even) {
        background: #e7e7e7;
    }

    .geo-grid tbody tr:hover {
        background: #dbe9ff;
        transition: 0.15s;
    }

.geo-grid-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f7f9fc;
    border: 1px solid #cfd8e3;
    border-top: none;
    padding: 6px 8px;
    font-size: 13px;
}

.geo-grid-pager {
    display: flex;
    align-items: center;
    gap: 6px;
}

.geo-page-size {
    width: 75px;
}

.geo-grid-totales {
    display: flex;
    gap: 22px;
    flex-wrap: wrap;
    background: #fff8d6;
    border: 1px solid #d8c45a;
    padding: 8px 10px;
    margin-top: 8px;
    font-size: 13px;
    color: #3f3a16;
}

.geo-grid-total-row {
    background: #fff3bf;
    font-weight: bold;
}

    .geo-grid-total-row td {
        border-top: 2px solid #d6b800;
        padding-top: 6px;
        padding-bottom: 6px;
    }

.geo-sin-datos {
    min-height: 54px;
    padding: 18px;
    text-align: center;
    color: #64748b;
    font-size: 13px;
}

/* ============================================================
   GEONEG - Reportes genéricos MudBlazor
   ============================================================ */

.geo-reporte-area,
.geo-zona-consulta {
    position: relative;
    min-height: 480px;
}

.geo-reporte-page {
    padding: 10px;
    min-height: calc(100vh - 80px);
    background: #f5f7fb;
}

.geo-reporte-header {
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    margin-bottom: 6px;
    background: linear-gradient(to bottom, #0b3f88, #1f5dbd);
    border-bottom: 1px solid #8fa1bd;
    color: white;
}

.geo-reporte-titulo {
    color: white !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    font-family: "Segoe UI", Calibri, Arial, sans-serif;
    letter-spacing: 0.2px;
}

.geo-reporte-subtitulo {
    color: rgba(255,255,255,0.88);
    font-size: 12px;
    margin-top: 2px;
}

.geo-reporte-panel-filtros {
    border: 1px solid #cfd8e3;
    background: #f9fbfd;
    padding: 10px 14px !important;
    margin-bottom: 10px;
    border-radius: 4px;
}

.geo-reporte-botones {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.geo-reporte-resumen {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    background: #fff8d6;
    border: 1px solid #d8c45a;
    padding: 8px 10px;
    margin-bottom: 10px;
    font-size: 13px;
    color: #3f3a16;
}

.geo-reporte-resumen-item {
    background: rgba(255,255,255,0.55);
    border: 1px solid #eadb8a;
    border-radius: 4px;
    padding: 6px 8px;
}

    .geo-reporte-resumen-item span {
        display: block;
        font-size: 11px;
        color: #5f5a2a;
        margin-bottom: 2px;
    }

    .geo-reporte-resumen-item strong {
        color: #003b71;
        font-size: 17px;
    }

.geo-reporte-tabla-panel {
    background: white;
    border: 1px solid #cfd8e3;
    overflow-x: auto;
}

.geo-reporte-tabla-header {
    padding: 8px 10px;
    background: #fff8d6;
    border-bottom: 1px solid #d8c45a;
}

.geo-reporte-tabla-titulo {
    font-size: 14px;
    font-weight: 700;
    color: #003b71;
}

.geo-reporte-tabla-subtitulo {
    font-size: 12px;
    color: #5b6777;
    margin-top: 2px;
}

.geo-reporte-tabla {
    font-size: 12px;
}

    .geo-reporte-tabla th {
        background: linear-gradient(to bottom, #0b3f88, #1f5dbd) !important;
        color: white !important;
        font-weight: 600 !important;
        font-size: 12px !important;
        white-space: nowrap !important;
        padding: 6px !important;
    }

    .geo-reporte-tabla td {
        font-size: 12px !important;
        padding: 4px 6px !important;
        vertical-align: middle !important;
    }

.geo-codigo {
    font-weight: 700;
    color: #0b3f88;
    white-space: nowrap;
}

.geo-texto-corto {
    max-width: 360px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.geo-observacion {
    display: block;
    max-width: 330px;
    color: #475569;
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.geo-destino-ok,
.geo-destino-alerta,
.geo-destino-warning,
.geo-accion-transferir,
.geo-accion-alerta,
.geo-accion-warning {
    display: inline-block;
    border-radius: 999px;
    padding: 3px 8px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.geo-destino-ok {
    color: #0f5132;
    background: #d1e7dd;
}

.geo-destino-alerta {
    color: #842029;
    background: #f8d7da;
}

.geo-destino-warning {
    color: #664d03;
    background: #fff3cd;
}

.geo-accion-transferir {
    color: #ffffff;
    background: #0b3f88;
}

.geo-accion-alerta {
    color: #ffffff;
    background: #b42318;
}

.geo-accion-warning {
    color: #3f2e00;
    background: #f2c94c;
}

/* ============================================================
   GEONEG - Loading simple
   ============================================================ */

.geo-loading {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    margin-bottom: 10px;
    background: #f7f9fc;
    border: 1px solid #d5dce8;
    color: #294b7a;
    font-size: 14px;
    border-radius: 4px;
}

.geo-loading-spinner {
    color: #1f5dbd !important;
}

.geo-loading-overlay {
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.65);
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: #003f88;
}

/* ============================================================
   GEONEG - Autocomplete MudBlazor
   ============================================================ */

.geoneg-autocomplete {
    --mud-palette-primary: #0b3f88 !important;
    --mud-palette-primary-rgb: 11,63,136 !important;
    width: 100% !important;
}

    .geoneg-autocomplete .mud-input-root {
        width: 100% !important;
    }

        .geoneg-autocomplete .mud-input-root.mud-input-root-outlined.mud-input-root-focused .mud-input-outlined-border {
            border-color: #0b3f88 !important;
        }

    .geoneg-autocomplete .mud-input-outlined-border {
        border-color: #cfd8e3 !important;
    }

    .geoneg-autocomplete .mud-input-label.mud-input-label-focused {
        color: #0b3f88 !important;
    }

    .geoneg-autocomplete .mud-input-slot input {
        text-overflow: unset !important;
        overflow: visible !important;
        white-space: nowrap !important;
        font-size: 13px !important;
    }

    .geoneg-autocomplete .mud-input-adornment {
        min-width: 22px !important;
        width: 22px !important;
    }

    .geoneg-autocomplete .mud-input-adornment-end {
        margin-left: 2px !important;
    }

    .geoneg-autocomplete .mud-input-slot {
        padding-right: 2px !important;
    }

    .geoneg-autocomplete input {
        width: 100% !important;
        max-width: none !important;
        text-overflow: clip !important;
    }

/* ============================================================
   GEONEG - Popover MudBlazor
   ============================================================ */

.mud-popover-paper {
    border-radius: 4px !important;
}

.mud-popover .mud-list-item {
    background: #f4f1c9 !important;
    color: #1f1f1f !important;
    font-weight: 500 !important;
    border-bottom: 1px solid #d8d19a !important;
    min-height: 30px !important;
    padding: 3px 10px !important;
    font-size: 12px !important;
}

    .mud-popover .mud-list-item:hover {
        background: #ffe082 !important;
        color: #1f1f1f !important;
    }

    .mud-popover .mud-list-item.mud-selected-item,
    .mud-popover .mud-list-item.mud-selected,
    .mud-popover .mud-list-item-selected {
        background: linear-gradient(to bottom, #355f9d, #244b85) !important;
        color: white !important;
        font-weight: 700 !important;
    }

.mud-popover .mud-list-item-text {
    font-size: 13px !important;
    line-height: 18px !important;
}

    .mud-popover .mud-list-item-text,
    .mud-popover .mud-list-item-text span,
    .mud-popover .mud-list-item-text div {
        width: 100% !important;
    }

/* ============================================================
   GEONEG - Autocomplete cliente
   ============================================================ */

.geo-auto-item {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 16px;
    align-items: center;
}

.geo-auto-nombre {
    min-width: 0;
    color: #1f1f1f !important;
    font-weight: 600;
    white-space: nowrap;
    overflow: visible !important;
    text-overflow: clip !important;
}

.geo-auto-identificacion {
    color: #0b3f88 !important;
    font-weight: 700;
    white-space: nowrap;
}

.mud-list-item.mud-selected {
    color: white !important;
}

    .mud-list-item.mud-selected .geo-auto-nombre,
    .mud-popover .mud-list-item:hover .geo-auto-nombre,
    .mud-popover .mud-list-item.mud-selected .geo-auto-nombre,
    .mud-popover .mud-list-item.mud-selected-item .geo-auto-nombre,
    .mud-popover .mud-list-item.mud-selected-item .mud-list-item-text .geo-auto-nombre {
        color: white !important;
    }

    .mud-list-item.mud-selected .geo-auto-identificacion,
    .mud-popover .mud-list-item:hover .geo-auto-identificacion,
    .mud-popover .mud-list-item.mud-selected .geo-auto-identificacion,
    .mud-popover .mud-list-item.mud-selected-item .geo-auto-identificacion,
    .mud-popover .mud-list-item.mud-selected-item .mud-list-item-text .geo-auto-identificacion {
        color: #dbe7ff !important;
    }

/* ============================================================
   GEONEG - Selector cliente propio
   ============================================================ */

.geo-cliente-selector {
    position: relative;
    width: 100% !important;
    display: block !important;
}

.geo-cliente-input {
    width: 100% !important;
    height: 34px !important;
    min-height: 34px !important;
    padding-right: 28px !important;
    font-size: 13px !important;
    display: block !important;
}

.geo-cliente-lista {
    position: absolute;
    top: 37px;
    left: 0;
    right: 0;
    z-index: 99999;
    border: 1px solid #9aa7bd;
    background: #fff9df;
    box-shadow: 0 4px 12px rgba(0,0,0,0.22);
    max-height: 260px;
    overflow-y: auto;
}

.geo-cliente-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 130px;
    gap: 12px;
    padding: 4px 8px;
    border-bottom: 1px solid #d8d19a;
    cursor: pointer;
    font-size: 12px;
}

    .geo-cliente-item:hover,
    .geo-cliente-item-activo {
        background: #40689f !important;
    }

        .geo-cliente-item:hover .geo-cliente-nombre,
        .geo-cliente-item:hover .geo-cliente-identificacion,
        .geo-cliente-item-activo .geo-cliente-nombre,
        .geo-cliente-item-activo .geo-cliente-identificacion {
            color: white !important;
        }

.geo-cliente-nombre {
    color: #1f1f1f;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.geo-cliente-identificacion {
    color: #244b85;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
}

.geo-cliente-clear {
    position: absolute;
    right: 7px;
    top: 5px;
    border: none;
    background: transparent;
    color: #777;
    font-size: 18px;
    line-height: 20px;
    cursor: pointer;
    padding: 0;
}

    .geo-cliente-clear:hover {
        color: #0b3f88;
    }

/* ============================================================
   GEONEG - Alertas globales del sistema
   ============================================================ */

.geoneg-alert-success.mud-alert,
.geoneg-alert-success {
    border-radius: 10px !important;
    background-color: #eef8e8 !important;
    color: #2f6b1f !important;
    border: 1px solid #bfe3b4 !important;
    font-size: 13px !important;
}

    .geoneg-alert-success .mud-alert-icon {
        color: #4f8f2f !important;
    }

.geoneg-alert-info.mud-alert,
.geoneg-alert-info {
    border-radius: 10px !important;
    background-color: #eef5fb !important;
    color: #08294f !important;
    border: 1px solid #c8d9ea !important;
    font-size: 13px !important;
}

    .geoneg-alert-info .mud-alert-icon {
        color: #0b3b75 !important;
    }

.geoneg-alert-warning.mud-alert,
.geoneg-alert-warning {
    border-radius: 10px !important;
    background-color: #fff8e1 !important;
    color: #7a5200 !important;
    border: 1px solid #ffe08a !important;
    font-size: 13px !important;
}

    .geoneg-alert-warning .mud-alert-icon {
        color: #d89b00 !important;
    }

.geoneg-alert-error.mud-alert,
.geoneg-alert-error {
    border-radius: 10px !important;
    background-color: #fdecec !important;
    color: #9b1c1c !important;
    border: 1px solid #f3b8b8 !important;
    font-size: 13px !important;
}

    .geoneg-alert-error .mud-alert-icon {
        color: #b91c1c !important;
    }

.geoneg-alert-compact {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    font-size: 12px !important;
}

.geoneg-alert-strong {
    font-weight: 700 !important;
}

/* ============================================================
   GEONEG - CheckBox MudBlazor
   ============================================================ */

.mud-checkbox .mud-primary-text {
    color: #003b71 !important;
}

.mud-checkbox .mud-icon-root {
    color: #003b71 !important;
}

.mud-checkbox .mud-typography {
    color: #003b71 !important;
    font-size: 13px;
    font-weight: 500;
}

/* ============================================================
   GEONEG - Overlay de procesamiento elegante
   Bloquea solo la zona de consulta
   ============================================================ */

.geo-procesando-backdrop-local {
    position: absolute;
    inset: 0;
    background: rgba(15, 25, 40, 0.28);
    z-index: 50;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 75px;
    border-radius: 4px;
    backdrop-filter: blur(1px);
}

.geo-procesando-modal {
    width: 420px;
    max-width: calc(100vw - 32px);
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.24);
    overflow: hidden;
    border: 1px solid #c8d4e3;
    border-top: 5px solid #f3d41f;
}

.geo-procesando-header {
    padding: 12px 18px 10px 18px;
    font-size: 18px;
    font-weight: 700;
    color: #003b71;
    background: #ffffff;
    border-bottom: 1px solid #e4e9f0;
}

.geo-procesando-body {
    padding: 22px 26px 18px 26px;
    text-align: center;
}

.geo-procesando-spinner {
    width: 44px;
    height: 44px;
    margin: 0 auto 14px auto;
    border-radius: 50%;
    border: 5px solid #e4ebf5;
    border-top-color: #0b4f9c;
    animation: geo-spin 0.9s linear infinite;
}

.geo-procesando-mensaje {
    font-size: 14px;
    font-weight: 700;
    color: #003b71;
    margin-bottom: 8px;
}

.geo-procesando-submensaje {
    font-size: 13px;
    color: #5b6777;
    margin-bottom: 14px;
}

.geo-procesando-barra {
    width: 100%;
    height: 10px;
    border-radius: 8px;
    background: #eef3f9;
    border: 1px solid #c4d0df;
    overflow: hidden;
    margin-bottom: 12px;
}

.geo-procesando-barra-interna {
    height: 100%;
    width: 38%;
    border-radius: 8px;
    background: linear-gradient(to right, #0b4f9c, #2f75b5, #0b4f9c);
    animation: geo-barra-progreso 1.35s ease-in-out infinite;
}

.geo-procesando-tiempo {
    font-size: 12px;
    color: #333;
    margin-bottom: 8px;
}

    .geo-procesando-tiempo strong {
        color: #003b71;
        font-size: 13px;
    }

.geo-procesando-nota {
    font-size: 11px;
    color: #6c7480;
}

@keyframes geo-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes geo-barra-progreso {
    0% {
        transform: translateX(-105%);
    }

    50% {
        transform: translateX(80%);
    }

    100% {
        transform: translateX(250%);
    }
}

/* ============================================================
   Responsive
   ============================================================ */

@media (max-width: 900px) {
    .geo-reporte-resumen {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .geo-reporte-botones {
        justify-content: flex-start;
    }

    .geo-texto-corto,
    .geo-observacion {
        max-width: 220px;
    }
}

@media (max-width: 768px) {
    .geo-cabecera-titulo {
        font-size: 18px;
    }

    .geo-toolbar {
        flex-wrap: wrap;
    }
}

@media (max-width: 600px) {
    .geo-reporte-resumen {
        grid-template-columns: 1fr;
    }
}

/* =====================================================
   GEONEG - PANTALLAS DE PROCESOS COMPACTAS
   Descarga, Facturación, Compras, Proformas, Pedidos
   ===================================================== */

.geo-proceso-compacto {
    font-size: 12.5px;
}

    /* Paneles compactos pero no apretados */
    .geo-proceso-compacto .geo-panel-filtros {
        padding: 6px 10px !important;
        margin-bottom: 6px !important;
        border: 1px solid #cfd8e3;
        background: #f9fbfd;
        border-radius: 4px;
    }

    /* Filas Bootstrap con separación moderada */
    .geo-proceso-compacto .row {
        --bs-gutter-x: 0.45rem !important;
        --bs-gutter-y: 0.18rem !important;
    }

    /* Etiquetas */
    .geo-proceso-compacto .form-label {
        display: block;
        width: 100%;
        font-size: 12px !important;
        font-weight: 600 !important;
        color: #003b71 !important;
        margin-bottom: 2px !important;
        line-height: 1.1 !important;
        background: #eef3f8;
        border: none !important;
        border-radius: 3px;
        padding: 2px 6px;
        box-sizing: border-box;
    }

    /* Inputs y selects Bootstrap */
    .geo-proceso-compacto .form-control,
    .geo-proceso-compacto .form-select,
    .geo-proceso-compacto .form-control-sm,
    .geo-proceso-compacto .form-select-sm {
        color: #111827 !important;
        font-weight: 400 !important;
    }

    /* Campo fecha HTML */
    .geo-proceso-compacto input[type="date"].form-control,
    .geo-proceso-compacto input[type="date"].form-control-sm {
        height: 30px !important;
        min-height: 30px !important;
        padding-top: 3px !important;
        padding-bottom: 3px !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
    }

    /* Textarea compacto moderado */
    .geo-proceso-compacto textarea.form-control,
    .geo-proceso-compacto textarea.form-control-sm {
        min-height: 40px !important;
        height: 40px !important;
        padding: 3px 7px !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
        resize: vertical;
    }

    /* Toolbar dentro de procesos */
    .geo-proceso-compacto .geo-toolbar {
        height: 24px !important;
        min-height: 24px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-bottom: 5px !important;
    }

    /* Botones del toolbar en procesos */
    .geo-proceso-compacto .geo-mud-tool-button {
        height: 22px !important;
        min-height: 22px !important;
        padding: 0 7px !important;
        font-size: 12px !important;
        line-height: 22px !important;
    }

    /* Botones Bootstrap compactos */
    .geo-proceso-compacto .btn-sm {
        height: 30px !important;
        min-height: 30px !important;
        padding-top: 3px !important;
        padding-bottom: 3px !important;
        font-size: 12px !important;
        line-height: 1.25 !important;
    }

    /* Botones MudBlazor compactos */
    .geo-proceso-compacto .mud-button-root {
        min-height: 28px !important;
        height: 28px !important;
        font-size: 12px !important;
        text-transform: none !important;
    }

    /* Icon buttons compactos */
    .geo-proceso-compacto .mud-icon-button {
        width: 30px !important;
        height: 30px !important;
        padding: 2px !important;
    }

/* Barra de sección estilo WebForms */
.geo-barra-seccion-proceso {
    background: linear-gradient(#d7dcec, #aab4cf);
    border: 1px solid #9aa6bd;
    color: #000;
    font-size: 13px;
    font-weight: 600;
    height: 26px;
    min-height: 26px;
    display: flex;
    align-items: center;
    padding: 0 6px;
    line-height: 26px;
    margin: -6px -10px 6px -10px;
    box-sizing: border-box;
}

/* Tabla temporal compacta */
.geo-proceso-compacto .table {
    font-size: 12px !important;
}

    .geo-proceso-compacto .table th,
    .geo-proceso-compacto .table td {
        padding: 4px 6px !important;
        vertical-align: middle !important;
    }

/* Total */
.geo-proceso-compacto .geo-total-label {
    font-size: 14px;
    font-weight: 700;
    text-align: right;
    padding-top: 5px;
}

/* Responsive procesos */
.geo-proceso-compacto .geo-panel-filtros {
    padding: 6px 10px !important;
    margin-bottom: 7px !important;
}

/* =====================================================
   GEONEG - Etiquetas de campos procesos - suave
   ===================================================== */
.geo-proceso-compacto label.form-label {
    display: block !important;
    width: 100% !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #333333 !important;
    background: #f3f5f8 !important;
    border: none !important;
    border-radius: 3px !important;
    padding: 2px 6px !important;
    margin-bottom: 2px !important;
    line-height: 1.15 !important;
    box-sizing: border-box !important;
}
/* Pestañas de procesos */
.geo-tabs-proceso-panel {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    margin-bottom: 6px;
    border: 1px solid #cfd8e3;
    background: #f9fbfd;
    border-radius: 4px;
}

.geo-tab-proceso {
    min-width: 160px;
    height: 30px;
    border: 1px solid #9aa6bd;
    border-radius: 4px;
    background: linear-gradient(#ffffff, #edf1f6);
    color: #1f2933;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.geo-tab-proceso-activo {
    background: linear-gradient(#1f5dbd, #0b3f88);
    color: #ffffff;
    border-color: #0b3f88;
    border-bottom: 3px solid #f3d41f;
}

/* Archivo Excel en toolbar */
.geo-toolbar-spacer {
    flex: 1 1 auto;
}

.geo-toolbar-archivo {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #1f2933;
    white-space: nowrap;
}

.geo-file-input-proceso {
    max-width: 230px;
    font-size: 11px;
    height: 21px;
}
/* Archivo Excel como botón */
.geo-toolbar-archivo {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #1f2933;
    white-space: nowrap;
}

.geo-input-archivo-oculto {
    display: none !important;
}

.geo-boton-archivo-proceso {
    height: 21px;
    min-height: 21px;
    padding: 2px 10px;
    margin: 0;
    border: 1px solid #0b3f88;
    border-radius: 3px;
    background: linear-gradient(#ffffff, #e8eef8);
    color: #0b3f88;
    font-size: 12px;
    font-weight: 600;
    line-height: 16px;
    cursor: pointer;
}

    .geo-boton-archivo-proceso:hover {
        background: linear-gradient(#eaf2ff, #d8e6f8);
        border-color: #003b71;
        color: #003b71;
    }


/* Acciones dentro de la barra Detalle de productos */
.geo-barra-detalle-productos {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    height: 26px;
    min-height: 26px;
}

.geo-detalle-acciones {
    display: flex;
    align-items: center;
    gap: 14px;
    height: 100%;
    margin-left: auto;
}

/* Acciones transparentes, con misma letra */
.geo-boton-detalle-excel,
.geo-boton-detalle-refrescar {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 20px;
    min-height: 20px;
    padding: 0 4px;
    margin: 0;
    border: none !important;
    background: transparent !important;
    font-family: "Segoe UI", Calibri, Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 20px !important;
    color: #1f1f1f !important;
    text-decoration: none !important;
    white-space: nowrap;
    cursor: pointer;
}

    .geo-boton-detalle-excel:hover,
    .geo-boton-detalle-refrescar:hover {
        color: #003b71 !important;
        text-decoration: underline !important;
    }

/* Input file oculto */
.geo-input-archivo-oculto {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}
/* Botones agregar / cancelar producto */
.geo-detalle-botones-producto {
    display: flex;
    align-items: center !important;
    justify-content: center;
    gap: 6px;
    padding-bottom: 1px;
}

.geo-proceso-compacto .geo-icono-producto.mud-icon-button {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    padding: 2px !important;
}

.geo-proceso-compacto .geo-icono-producto .mud-icon-root {
    font-size: 26px !important;
}
/* Botones del bloque cliente - versión compacta */
.geo-botones-cliente-proceso {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    flex-wrap: wrap;
}

.geo-btn-cliente-proceso {
    min-width: 78px;
    height: 26px;
    min-height: 26px;
    padding: 2px 8px;
    border: 1px solid #9fb0c6;
    border-radius: 4px;
    background: linear-gradient(#ffffff, #edf2f8);
    color: #1f2933;
    font-family: "Segoe UI", Calibri, Arial, sans-serif;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.1;
    cursor: pointer;
    text-align: center;
    text-transform: uppercase;
}

    .geo-btn-cliente-proceso:hover {
        background: linear-gradient(#eaf2ff, #dce8f7);
        border-color: #0b3f88;
        color: #003b71;
    }

    .geo-btn-cliente-proceso:active {
        background: linear-gradient(#d8e6f8, #c9dbf2);
    }

.geo-btn-cliente-proceso-suave {
    color: #5b6470;
    border-color: #b8c2cf;
    background: linear-gradient(#ffffff, #f0f2f5);
}
/* Observaciones ocupa el alto disponible en Información Contable */
.geo-contable-proceso {
    display: flex;
    flex-direction: column;
}

.geo-observaciones-contenedor {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.geo-proceso-compacto .geo-observaciones-proceso {
    flex: 1 1 auto;
    height: 100% !important;
    min-height: 62px !important;
    resize: none;
}
/* =====================================================
   GEONEG - Grilla de procesos
   Descarga, compras, facturación, proformas
   ===================================================== */

.geo-grid-proceso-container {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid #cfd8e3;
    background: white;
}

.geo-grid-proceso {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
    font-size: 12px;
    font-family: "Segoe UI", Calibri, Arial, sans-serif;
}

    .geo-grid-proceso thead th {
        background: linear-gradient(to bottom, #0b3f88, #1f5dbd);
        color: white;
        font-weight: 600;
        padding: 5px 6px;
        border-right: 1px solid #4e6fa3;
        vertical-align: middle;
        white-space: nowrap;
        text-align: left;
    }

    .geo-grid-proceso tbody td {
        padding: 4px 6px;
        border-right: 1px solid #c8d0da;
        border-bottom: 1px solid #c8d0da;
        vertical-align: middle;
        white-space: nowrap;
    }

    .geo-grid-proceso tbody tr:nth-child(odd) {
        background: #f7f7f7;
    }

    .geo-grid-proceso tbody tr:nth-child(even) {
        background: #eeeeee;
    }

    .geo-grid-proceso tbody tr:hover {
        background: #dbe9ff;
    }

    .geo-grid-proceso .geo-grid-total-row td {
        background: #fff3bf;
        font-weight: 700;
        border-top: 2px solid #d6b800;
    }

.geo-link-grid {
    color: #0b3f88;
    font-weight: 600;
    text-decoration: underline;
    font-size: 12px;
}

.geo-link-grid-eliminar {
    color: #b42318;
}

.geo-btn-grid-series {
    height: 22px;
    min-height: 22px;
    padding: 1px 8px;
    border: 1px solid #9fb0c6;
    border-radius: 3px;
    background: linear-gradient(#ffffff, #edf2f8);
    color: #1f2933;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
}

    .geo-btn-grid-series:hover {
        background: linear-gradient(#eaf2ff, #dce8f7);
        border-color: #0b3f88;
        color: #003b71;
    }

.geo-grid-footer-proceso {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f7f9fc;
    border: 1px solid #cfd8e3;
    border-top: none;
    padding: 5px 8px;
    font-size: 12px;
}

/* ============================================================
   ESTANDARIZACION FABRICASOFT - ESTILO GEONEG
   ============================================================ */

.geo-estandarizacion-contenedor {
    background: #ffffff !important;
    color: #263746 !important;
}

    .geo-estandarizacion-contenedor .geoneg-reporte-cabecera h3 {
        color: #263746 !important;
        font-size: 28px !important;
        font-weight: 500 !important;
        margin-bottom: 4px !important;
    }

    .geo-estandarizacion-contenedor .geoneg-reporte-cabecera p {
        color: #334155 !important;
        font-size: 14px !important;
        margin-bottom: 10px !important;
    }

/* Panel de filtros: no usar display:grid aquí */
.geo-est-filtros-panel {
    background: #ffffff !important;
    border: 1px solid #d8e3ea !important;
    border-radius: 5px !important;
    padding: 10px 12px 8px 12px !important;
    margin-bottom: 8px !important;
}

.geo-est-filtros-grid {
    width: 100% !important;
    margin: 0 !important;
}

.geo-est-control {
    width: 100% !important;
}

.geo-est-filtros-panel .mud-input-control {
    width: 100% !important;
    min-width: 100% !important;
}

.geo-est-filtros-panel .mud-input-outlined-border {
    border-color: #cfdbe3 !important;
}

.geo-est-filtros-panel .mud-input-control:focus-within .mud-input-outlined-border {
    border-color: #0077a3 !important;
}

.geo-est-filtros-panel .mud-input-label {
    color: #64748b !important;
}

.geo-est-filtros-panel .mud-input-adornment .mud-icon-root {
    color: #64748b !important;
}

/* Toolbar */
.geo-est-toolbar {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}

/* Botones estándar GeoNeg */
.geo-btn-principal {
    background-color: #0077a3 !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    min-height: 31px !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18) !important;
}

    .geo-btn-principal:hover {
        background-color: #005e86 !important;
    }

    .geo-btn-principal .mud-icon-root {
        color: #ffffff !important;
    }

.geo-btn-texto {
    color: #005e86 !important;
    font-weight: 500 !important;
    min-height: 31px !important;
}

    .geo-btn-texto:hover {
        background-color: #e8f4fa !important;
    }

    .geo-btn-texto .mud-icon-root {
        color: #005e86 !important;
    }

/* Cargando */
.geo-estandarizacion-cargando {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 10px !important;
    margin-bottom: 8px !important;
    background: #f8fafc !important;
    border: 1px solid #d8e3ea !important;
    color: #334155 !important;
    border-radius: 4px !important;
}

.geo-est-progress svg {
    color: #0077a3 !important;
}

/* Contenido */
.geo-est-contenido {
    margin-top: 0 !important;
}

.geo-estandarizacion-listado,
.geo-estandarizacion-documento {
    background: #ffffff !important;
    border: 1px solid #d8e3ea !important;
    border-radius: 5px !important;
    overflow: hidden !important;
}

.geo-estandarizacion-listado {
    height: calc(100vh - 250px) !important;
    min-height: 500px !important;
    overflow: auto !important;
}

.geo-estandarizacion-documento {
    height: calc(100vh - 250px) !important;
    min-height: 500px !important;
    overflow: auto !important;
    padding: 10px 12px !important;
}

.geo-estandarizacion-seccion-titulo {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 7px 10px !important;
    background: #f1f5f9 !important;
    border-bottom: 1px solid #d8e3ea !important;
    color: #263746 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

    .geo-estandarizacion-seccion-titulo strong {
        color: #64748b !important;
        font-size: 12px !important;
        font-weight: 500 !important;
    }

/* Tabla */
.geo-estandarizacion-tabla {
    border: none !important;
}

    .geo-estandarizacion-tabla .mud-table-head {
        background: #ffffff !important;
    }

        .geo-estandarizacion-tabla .mud-table-head .mud-table-cell {
            color: #263746 !important;
            font-weight: 600 !important;
            border-bottom: 1px solid #d8e3ea !important;
            font-size: 13px !important;
        }

    .geo-estandarizacion-tabla .mud-table-row {
        cursor: pointer !important;
    }

        .geo-estandarizacion-tabla .mud-table-row:hover {
            background: #f8fafc !important;
        }

    .geo-estandarizacion-tabla .mud-table-cell {
        border-bottom: 1px solid #e5edf3 !important;
        color: #334155 !important;
        vertical-align: top !important;
        padding: 8px 10px !important;
    }

.geo-est-fila-seleccionada {
    background: #e8f4fa !important;
}

    .geo-est-fila-seleccionada .mud-table-cell:first-child {
        border-left: 4px solid #0077a3 !important;
        padding-left: 6px !important;
    }

/* Código y datos de documentos */
.geo-est-codigo-documento {
    color: #263746 !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    line-height: 16px !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.geo-est-version {
    color: #64748b !important;
    font-size: 12px !important;
    margin-top: 2px !important;
}

.geo-est-doc-nombre {
    color: #263746 !important;
    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 500 !important;
}

.geo-est-doc-meta {
    color: #64748b !important;
    font-size: 12px !important;
    margin-top: 3px !important;
}

/* Chip tipo documento: siempre GeoNeg */
.geo-est-chip-documento {
    border-color: #0077a3 !important;
    color: #0077a3 !important;
    background-color: #ffffff !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

    .geo-est-chip-documento .mud-chip-content {
        color: #0077a3 !important;
    }

/* Esto pisa cualquier color de MudBlazor dentro del chip */
.geo-estandarizacion-contenedor .geo-est-chip-documento.mud-chip-outlined {
    border-color: #0077a3 !important;
    color: #0077a3 !important;
}

/* Documento detalle */
.geo-estandarizacion-documento-header {
    color: #263746 !important;
}

.geo-estandarizacion-codigo {
    font-size: 14px !important;
    color: #005e86 !important;
    font-weight: 600 !important;
    margin-bottom: 2px !important;
}

.geo-estandarizacion-documento-header h4 {
    color: #263746 !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    margin: 0 0 6px 0 !important;
    line-height: 1.2 !important;
}

.geo-estandarizacion-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    color: #64748b !important;
    font-size: 13px !important;
}

    .geo-estandarizacion-meta span {
        background: #f1f5f9 !important;
        border: 1px solid #d8e3ea !important;
        color: #334155 !important;
        border-radius: 12px !important;
        padding: 2px 8px !important;
    }

.geo-estandarizacion-resumen {
    color: #334155 !important;
    font-size: 13px !important;
    margin-bottom: 10px !important;
}

    .geo-estandarizacion-resumen strong {
        color: #263746 !important;
    }

/* Estado vacío */
.geo-estandarizacion-vacio {
    height: 100% !important;
    min-height: 380px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    color: #64748b !important;
    background: #ffffff !important;
}

    .geo-estandarizacion-vacio h4 {
        color: #263746 !important;
        font-size: 22px !important;
        font-weight: 500 !important;
        margin: 8px 0 4px 0 !important;
    }

    .geo-estandarizacion-vacio p {
        color: #64748b !important;
        font-size: 14px !important;
    }

.geo-est-icono-vacio {
    color: #64748b !important;
}

/* Markdown */
.geo-markdown {
    color: #334155 !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    padding-bottom: 30px !important;
}

    .geo-markdown h1 {
        color: #263746 !important;
        font-size: 26px !important;
        font-weight: 500 !important;
        margin: 12px 0 10px 0 !important;
        line-height: 1.25 !important;
    }

    .geo-markdown h2 {
        color: #005e86 !important;
        font-size: 20px !important;
        font-weight: 600 !important;
        margin: 18px 0 8px 0 !important;
    }

    .geo-markdown h3 {
        color: #263746 !important;
        font-size: 17px !important;
        font-weight: 600 !important;
        margin: 14px 0 6px 0 !important;
    }

    .geo-markdown p {
        margin-bottom: 8px !important;
    }

    .geo-markdown ul,
    .geo-markdown ol {
        margin-top: 6px !important;
        margin-bottom: 10px !important;
        padding-left: 26px !important;
    }

    .geo-markdown li {
        margin-bottom: 4px !important;
    }

/* Responsive */
@media (max-width: 960px) {
    .geo-estandarizacion-listado,
    .geo-estandarizacion-documento {
        height: auto !important;
        min-height: 360px !important;
    }

    .geo-est-toolbar {
        flex-wrap: wrap !important;
    }
}
/* ============================================================
   ESTANDARIZACION - MANTENIMIENTO
   ============================================================ */

.geo-est-mantenimiento-panel {
    padding: 0 !important;
}

.geo-est-tabs .mud-tabs-toolbar {
    background: #f1f5f9 !important;
    border-bottom: 1px solid #d8e3ea !important;
}

.geo-est-tabs .mud-tab {
    color: #334155 !important;
    font-size: 13px !important;
    text-transform: none !important;
    min-height: 38px !important;
}

    .geo-est-tabs .mud-tab.mud-tab-active {
        color: #005e86 !important;
        font-weight: 600 !important;
    }

.geo-est-tabs .mud-tabs-panels {
    padding: 10px 12px !important;
}

.geo-est-editor-markdown textarea {
    font-family: Consolas, 'Courier New', monospace !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.geo-est-preview {
    padding: 10px !important;
    border: 1px solid #d8e3ea !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    min-height: 420px !important;
}
.geo-estandarizacion-descripcion {
    color: #334155 !important;
    font-size: 14px !important;
    margin: 8px 0 10px 0 !important;
}
/* ============================================================
   TOOLBAR COMPACTO - ESTANDARIZACION
   ============================================================ */

.geo-estandarizacion-contenedor .geo-toolbar {
    gap: 4px !important;
    padding: 0 6px !important;
    margin-bottom: 8px !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
}

.geo-estandarizacion-contenedor .geo-mud-tool-button {
    font-size: 11px !important;
    min-height: 22px !important;
    height: 22px !important;
    padding: 0 5px !important;
    min-width: auto !important;
    text-transform: none !important;
    white-space: nowrap !important;
}

    .geo-estandarizacion-contenedor .geo-mud-tool-button .mud-icon-root {
        font-size: 15px !important;
        margin-right: 2px !important;
    }

    .geo-estandarizacion-contenedor .geo-mud-tool-button.mud-button-root {
        line-height: 20px !important;
    }

/* ============================================================
   DASHBOARD GEONEG
   Estilos específicos para tarjetas e indicadores.
   La cabecera y toolbar siguen usando el estándar general.
   ============================================================ */

.geo-dashboard-card {
    width: 100%;
    background: #ffffff;
    border: 1px solid #d7e0e8;
    border-radius: 5px;
    padding: 12px 14px;
    box-sizing: border-box;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}


/* ============================================================
   CABECERA DE CADA GRÁFICO
   ============================================================ */

.geo-dashboard-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 8px;
    margin-bottom: 10px;
    border-bottom: 1px solid #e5ebf0;
}


.geo-dashboard-card-titulo {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    color: #123d68;
    font-size: 17px;
    font-weight: 700;
}


.geo-dashboard-card-icon {
    color: #1f5fae;
}


/* ============================================================
   RESUMEN EJECUTIVO
   ============================================================ */

.geo-dashboard-resumen {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}


/* Tarjeta KPI */

.geo-dashboard-kpi {
    position: relative;
    min-height: 76px;
    padding: 8px 12px;
    background: #f8fafc;
    border: 1px solid #dce4eb;
    border-radius: 4px;
    box-sizing: border-box;
}


    /* Línea azul GEONEG */

    .geo-dashboard-kpi::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 4px;
        background: #1f5fae;
        border-radius: 4px 0 0 4px;
    }


.geo-dashboard-kpi-titulo {
    color: #526577;
    font-size: 12px;
    font-weight: 600;
}


.geo-dashboard-kpi-periodo {
    color: #8795a3;
    font-size: 11px;
    margin-top: 1px;
}


.geo-dashboard-kpi-valor {
    margin-top: 5px;
    color: #163c63;
    font-size: 20px;
    line-height: 22px;
    font-weight: 700;
    white-space: nowrap;
}


/* ============================================================
   VARIACIÓN
   ============================================================ */

.geo-dashboard-kpi-positivo {
    color: #3d8c24 !important;
}


.geo-dashboard-kpi-negativo {
    color: #c62828 !important;
}


.geo-dashboard-kpi-neutro {
    color: #5f6f7f !important;
}


/* ============================================================
   CONTENEDOR DEL GRÁFICO
   ============================================================ */

.geo-dashboard-chart-body {
    width: 100%;
    min-height: 0;
    overflow: hidden;
}


.geo-dashboard-chart {
    width: 100%;
    min-width: 0;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 900px) {

    .geo-dashboard-resumen {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


@media (max-width: 600px) {

    .geo-dashboard-resumen {
        grid-template-columns: 1fr;
    }


    .geo-dashboard-card {
        padding: 10px;
    }


    .geo-dashboard-card-header {
        align-items: flex-start;
    }


    .geo-dashboard-kpi-valor {
        font-size: 18px;
    }


    .geo-dashboard-chart-body {
        overflow-x: auto;
    }
}

/* ============================================================
   DASHBOARD GEONEG
   DIFERENCIA EN INDICADORES
   ============================================================ */

.geo-dashboard-kpi-diferencia {
    margin-top: 3px;
    font-size: 12px;
    font-weight: 700;
}


/* ============================================================
   DASHBOARD GEONEG
   VALORES MENSUALES
   ============================================================ */

.geo-chart-valores {
    width: 100%;
    overflow-x: auto;
    margin-top: 4px;
    border: 1px solid #dce4eb;
    border-radius: 4px;
    background: #ffffff;
}


.geo-chart-valores-tabla {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    font-size: 11px;
    font-family: "Segoe UI", Calibri, Arial, sans-serif;
}


    /* CABECERA MESES */

    .geo-chart-valores-tabla thead th {
        padding: 5px 6px;
        text-align: right;
        color: #475569;
        font-weight: 600;
        background: #f1f5f9;
        border-right: 1px solid #e0e6ec;
        border-bottom: 1px solid #d6dee6;
    }


        .geo-chart-valores-tabla thead th:first-child {
            text-align: left;
        }


    /* CELDAS */

    .geo-chart-valores-tabla tbody td {
        padding: 5px 6px;
        text-align: right;
        white-space: nowrap;
        color: #334155;
        border-right: 1px solid #edf1f5;
        border-bottom: 1px solid #edf1f5;
    }


        /* AÑO */

        .geo-chart-valores-tabla tbody td:first-child {
            text-align: left;
            font-weight: 700;
            white-space: nowrap;
        }


/* ============================================================
   AÑO ANTERIOR - AZUL
   ============================================================ */

.geo-chart-serie-anterior {
    background: #ffffff;
}


    .geo-chart-serie-anterior td {
        color: #334155 !important;
    }


    .geo-chart-serie-anterior .geo-chart-anio {
        color: #075a8c !important;
    }


/* ============================================================
   AÑO ACTUAL - VERDE
   FONDO MUY SUAVE + TEXTO OSCURO
   ============================================================ */

.geo-chart-serie-actual {
    background: #f1f8ed;
}


    .geo-chart-serie-actual td {
        color: #285f19 !important;
        font-weight: 700;
    }


    .geo-chart-serie-actual .geo-chart-anio {
        color: #285f19 !important;
    }


/* CUADRITOS DE COLOR */

.geo-chart-serie-color {
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-right: 5px;
    border-radius: 2px;
    vertical-align: middle;
}


.geo-chart-serie-azul {
    background: #075a8c;
}


.geo-chart-serie-verde {
    background: #3f8d22;
}


.geo-chart-sin-valor {
    color: #a0aab5 !important;
    font-weight: 400;
}


/* ============================================================
   MENOS ESPACIO ENTRE KPI Y GRAFICO
   ============================================================ */

.geo-dashboard-resumen {
    margin-bottom: 6px;
}

/* ============================================================
   GEONEG - DASHBOARD
   TABLA DE VALORES MENSUALES
   ============================================================ */

.geo-chart-valores {
    width: 100%;
    overflow-x: auto;
    margin-top: 8px;
    border: 1px solid #d7e0e8;
    border-radius: 4px;
    background: #ffffff;
}


/* TABLA */

.geo-chart-valores-tabla {
    width: 100%;
    min-width: 850px;
    border-collapse: collapse;
    table-layout: fixed;
    font-family: "Segoe UI", Calibri, Arial, sans-serif;
    font-size: 11px;
}


    /* CABECERA MESES */

    .geo-chart-valores-tabla thead th {
        height: 28px;
        padding: 4px 5px;
        background: #f1f5f9;
        color: #475569;
        border-right: 1px solid #dce4eb;
        border-bottom: 1px solid #cfd8e3;
        font-weight: 600;
        text-align: right;
        white-space: nowrap;
    }


        .geo-chart-valores-tabla thead th:first-child {
            width: 64px;
            text-align: left;
        }


    /* CELDAS */

    .geo-chart-valores-tabla tbody td {
        height: 28px;
        padding: 4px 5px;
        border-right: 1px solid #e5ebf0;
        border-bottom: 1px solid #e5ebf0;
        text-align: right;
        white-space: nowrap;
        color: #334155;
    }


        /* COLUMNA AÑO */

        .geo-chart-valores-tabla tbody td:first-child {
            text-align: left;
            font-weight: 700;
        }


/* ============================================================
   2025 - AZUL
   ============================================================ */

.geo-chart-serie-anterior {
    background: #ffffff;
}


    .geo-chart-serie-anterior td {
        color: #334155 !important;
    }


    .geo-chart-serie-anterior .geo-chart-anio {
        color: #075a8c !important;
    }


/* ============================================================
   2026 - VERDE SUAVE
   NO usamos verde fuerte con letras blancas.
   ============================================================ */

.geo-chart-serie-actual {
    background: #eef7e9;
}


    .geo-chart-serie-actual td {
        color: #245c18 !important;
        font-weight: 700;
    }


    .geo-chart-serie-actual .geo-chart-anio {
        color: #245c18 !important;
    }


/* INDICADOR DE COLOR DEL AÑO */

.geo-chart-serie-color {
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-right: 5px;
    border-radius: 2px;
    vertical-align: middle;
}


.geo-chart-serie-azul {
    background: #075a8c;
}


.geo-chart-serie-verde {
    background: #3f8d22;
}


.geo-chart-sin-valor {
    color: #a0aab5 !important;
    font-weight: 400 !important;
}

/* ============================================================
   DASHBOARD - DETALLE MENSUAL
   Separación visual entre gráfico y tabla
   ============================================================ */

.geo-chart-detalle {
    width: 100%;
    margin-top: 16px;
}


/* CABECERA AMARILLA */

.geo-chart-detalle-titulo {
    height: 27px;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 9px;
    background: #fff8d6;
    border: 1px solid #d8c45a;
    border-bottom: none;
    color: #3f3a16;
    font-family: "Segoe UI", Calibri, Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
}


    /* ICONO */

    .geo-chart-detalle-titulo .mud-icon-root {
        color: #0b3f88 !important;
        font-size: 16px !important;
    }


/* TABLA */

.geo-chart-valores {
    width: 100%;
    overflow-x: auto;
    margin-top: 0 !important;
    border: 1px solid #d7e0e8;
    border-radius: 0 0 4px 4px;
    background: #ffffff;
}


/* SEPARACIÓN ENTRE MESES */

.geo-chart-valores-tabla th,
.geo-chart-valores-tabla td {
    border-right: 1px solid #cbd5df !important;
}


    /* COLUMNA AÑO MÁS MARCADA */

    .geo-chart-valores-tabla th:first-child,
    .geo-chart-valores-tabla td:first-child {
        border-right: 2px solid #9fb0c6 !important;
    }


    /* ÚLTIMA COLUMNA */

    .geo-chart-valores-tabla th:last-child,
    .geo-chart-valores-tabla td:last-child {
        border-right: none !important;
    }

/* ============================================================
   DASHBOARD - CONTENEDOR CENTRADO
   ============================================================ */

.geo-dashboard-contenedor {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding: 4px 0 10px 0;
    box-sizing: border-box;
}


.geo-dashboard-grid {
    width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
}


/*
   La tarjeta siempre ocupa todo el ancho
   asignado por MudItem.
*/
.geo-dashboard-card {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* ============================================================
   DASHBOARD - ESTADO SIN GRAFICOS
   ============================================================ */

.geo-dashboard-vacio {
    width: 100%;
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 30px;
    margin-top: 10px;
    background: #ffffff;
    border: 1px solid #d7e0e8;
    border-radius: 5px;
    box-sizing: border-box;
}


.geo-dashboard-vacio-icono {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #eef5fb;
    color: #075a8c;
}


    .geo-dashboard-vacio-icono .mud-icon-root {
        color: #075a8c !important;
        font-size: 32px !important;
    }


.geo-dashboard-vacio-contenido {
    max-width: 460px;
}


.geo-dashboard-vacio-titulo {
    color: #123d68;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 4px;
}


.geo-dashboard-vacio-mensaje {
    color: #334155;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 3px;
}


.geo-dashboard-vacio-ayuda {
    color: #718096;
    font-size: 12px;
    margin-bottom: 12px;
}


.geo-dashboard-vacio-boton {
    margin-top: 4px;
}


@media (max-width: 600px) {

    .geo-dashboard-vacio {
        flex-direction: column;
        text-align: center;
        padding: 24px 16px;
    }
}
/* ============================================================
   DASHBOARD - SIN INDICADORES CONFIGURADOS
   ============================================================ */

.geo-dashboard-vacio {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px 16px;
    box-sizing: border-box;
}


/* TARJETA CENTRAL */

.geo-dashboard-vacio-card {
    width: 100%;
    max-width: 520px;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 20px 24px;
    background: #f7fafc;
    border: 1px solid #d7e0e8;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    box-sizing: border-box;
}


/* ICONO */

.geo-dashboard-vacio-icono {
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: #eaf3fb;
    border: 1px solid #cbdceb;
    border-radius: 50%;
}


    .geo-dashboard-vacio-icono .mud-icon-root {
        color: #075a8c !important;
        font-size: 30px !important;
    }


/* CONTENIDO */

.geo-dashboard-vacio-contenido {
    min-width: 0;
}


/* TITULO */

.geo-dashboard-vacio-titulo {
    color: #123d68;
    font-family: "Segoe UI", Calibri, Arial, sans-serif;
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 5px;
}


/* MENSAJE PRINCIPAL */

.geo-dashboard-vacio-mensaje {
    color: #334155;
    font-family: "Segoe UI", Calibri, Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    margin-bottom: 3px;
}


/* TEXTO DE AYUDA */

.geo-dashboard-vacio-ayuda {
    color: #718096;
    font-family: "Segoe UI", Calibri, Arial, sans-serif;
    font-size: 12px;
    line-height: 18px;
}


/* RESPONSIVE */

@media (max-width: 600px) {

    .geo-dashboard-vacio {
        padding: 18px 10px;
    }

    .geo-dashboard-vacio-card {
        flex-direction: column;
        text-align: center;
        padding: 20px 16px;
        max-width: 420px;
    }
}
/* ============================================================
   RECONEXION GEONEG
   ============================================================ */

#components-reconnect-modal {
    display: none;
}


    /* ============================================================
   CONTENEDOR GENERAL
   ============================================================ */

    #components-reconnect-modal.components-reconnect-show,
    #components-reconnect-modal.components-reconnect-failed,
    #components-reconnect-modal.components-reconnect-rejected {
        position: fixed;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 16px;
        box-sizing: border-box;
        z-index: 99999;
        /*
     * No bloqueamos toda la pantalla.
     * Si WebForms todavía funciona detrás,
     * el usuario puede guardar su trabajo.
     */
        pointer-events: none;
    }


/* ============================================================
   TARJETA COMUN
   ============================================================ */

.geoneg-reconexion-intentando,
.geoneg-reconexion-fallida,
.geoneg-reconexion-rechazada {
    display: none;
    width: min(430px, calc(100vw - 32px));
    padding: 20px 22px;
    box-sizing: border-box;
    background: #ffffff;
    border: 1px solid #d8e1e8;
    border-radius: 9px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.20);
    font-family: Calibri, Arial, sans-serif;
    color: #374151;
    pointer-events: auto;
}


/* ============================================================
   ESTADO: INTENTANDO RECONECTAR
   ============================================================ */

#components-reconnect-modal.components-reconnect-show
.geoneg-reconexion-intentando {
    display: block;
}


/* ============================================================
   ESTADO: RECONEXION FALLIDA
   ============================================================ */

#components-reconnect-modal.components-reconnect-failed
.geoneg-reconexion-fallida {
    display: block;
}


/* ============================================================
   ESTADO: CIRCUITO FINALIZADO
   ============================================================ */

#components-reconnect-modal.components-reconnect-rejected
.geoneg-reconexion-rechazada {
    display: block;
}


/* ============================================================
   TEXTOS
   ============================================================ */

.geoneg-reconexion-titulo {
    color: #164b7a;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
}


.geoneg-reconexion-mensaje {
    color: #374151;
    font-size: 14px;
    line-height: 1.45;
}


.geoneg-reconexion-submensaje {
    margin-top: 6px;
    color: #6b7280;
    font-size: 12px;
    line-height: 1.45;
}


/* ============================================================
   ACCIONES
   ============================================================ */

.geoneg-reconexion-acciones {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 20px;
}


/* ============================================================
   BOTON PRINCIPAL
   ============================================================ */

.geoneg-reconexion-boton {
    min-height: 38px;
    padding: 8px 18px;
    border: 1px solid #075b91 !important;
    border-radius: 5px;
    background-color: #075b91 !important;
    /*
     * IMPORTANTE:
     * Forzamos blanco porque existe algún estilo general
     * que estaba pisando el color del botón.
     */
    color: #ffffff !important;
    font-family: Calibri, Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 3px 8px rgba(7, 91, 145, 0.22);
    transition: background-color .15s ease, box-shadow .15s ease;
}


    .geoneg-reconexion-boton:hover {
        background-color: #064b77 !important;
        color: #ffffff !important;
        box-shadow: 0 4px 10px rgba(7, 91, 145, 0.28);
    }


    .geoneg-reconexion-boton:focus {
        color: #ffffff !important;
        outline: 2px solid rgba(7, 91, 145, 0.25);
        outline-offset: 2px;
    }


    .geoneg-reconexion-boton:disabled {
        opacity: .65;
        color: #ffffff !important;
        cursor: default;
    }


/* ============================================================
   BOTON SECUNDARIO
   ============================================================ */

.geoneg-reconexion-boton-secundario {
    min-height: 38px;
    padding: 8px 18px;
    border: 1px solid #aab7c2 !important;
    border-radius: 5px;
    background: #ffffff !important;
    color: #164b7a !important;
    font-family: Calibri, Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}


    .geoneg-reconexion-boton-secundario:hover {
        background: #f2f6f9 !important;
        color: #164b7a !important;
    }


/* ============================================================
   RECONEXION EXITOSA
   ============================================================ */

.geoneg-reconexion-ok {
    display: none;
    position: fixed;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    width: auto;
    max-width: calc(100vw - 30px);
    padding: 10px 16px;
    background: #ffffff;
    border: 1px solid #d8e1e8;
    border-radius: 7px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
    color: #164b7a;
    font-family: Calibri, Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    z-index: 100000;
    pointer-events: none;
}


    .geoneg-reconexion-ok.visible {
        display: block;
    }


/* ============================================================
   CELULAR
   ============================================================ */

@media (max-width: 600px) {

    .geoneg-reconexion-intentando,
    .geoneg-reconexion-fallida,
    .geoneg-reconexion-rechazada {
        width: calc(100vw - 30px);
        padding: 18px;
    }


    .geoneg-reconexion-acciones {
        flex-direction: column;
        gap: 8px;
    }


    .geoneg-reconexion-boton,
    .geoneg-reconexion-boton-secundario {
        width: 100%;
        min-height: 42px;
        white-space: normal;
    }


    .geoneg-reconexion-titulo {
        font-size: 17px;
    }
}

/* ============================================================
   GEONEG - CAMPO FECHA NATIVO
   ============================================================ */

.geo-campo-fecha {
    width: 100%;
    position: relative;
}

.geo-campo-fecha-label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #3b3b3b;
    margin: 0 0 3px 2px;
}

.geo-campo-fecha-input {
    width: 100%;
    height: 34px;
    min-height: 34px;
    padding: 4px 10px;
    border: 1px solid #cfd8e3;
    border-radius: 4px;
    background-color: #ffffff;
    color: #111827;
    font-family: inherit;
    font-size: 13px;
    box-sizing: border-box;
    outline: none;
}

    .geo-campo-fecha-input:focus {
        border-color: #0b3f88;
    }

    .geo-campo-fecha-input:disabled {
        background-color: #f3f5f8;
        color: #6b7280;
        cursor: not-allowed;
    }

/* ============================================================
   GEONEG - Cabecera suave y compacta de los calendarios

   Pegar este bloque UNA VEZ al final de:
   GeoNeg.Blazor/wwwroot/css/geoneg.css

   Aplica a los calendarios MudBlazor de todas las pantallas,
   incluidos los que se abren en un popover o diálogo.
   El día seleccionado conserva el azul definido en TemaGeoNeg.
   ============================================================ */

.mud-picker-toolbar.mud-picker-datepicker-toolbar {
    background-color: #eef3f8 !important;
    background-image: none !important;
    color: #334155 !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 8px 16px !important;
    border-bottom: 1px solid #d7e0ea;
}

    /* Año: legible y con espacio suficiente para seleccionarlo. */
    .mud-picker-toolbar.mud-picker-datepicker-toolbar .mud-button-year {
        color: #64748b !important;
        font-size: 13px !important;
        font-weight: 600;
        line-height: 1.4 !important;
        height: auto !important;
        min-height: 24px !important;
        padding: 0 !important;
        opacity: 1 !important;
    }

    /* Fecha: tamaño proporcionado a los filtros de GEONEG. */
    .mud-picker-toolbar.mud-picker-datepicker-toolbar .mud-button-date {
        color: #334155 !important;
        font-size: 20px !important;
        font-weight: 500;
        line-height: 1.3 !important;
        height: auto !important;
        min-height: 28px !important;
        padding: 0 !important;
        opacity: 1 !important;
    }

/*
   Después de guardar, recargar la pantalla con Ctrl+F5.
   Al publicar, incrementar el parámetro v de css/geoneg.css
   en Components/App.razor para renovar la caché del navegador.
*/
