/* _content/FrontendSMR/Pages/Alertas.razor.rz.scp.css */
body[b-h9vly3hupi] {
}

/* Base (copiado de .estado-badge) */
.estado-alerta-badge[b-h9vly3hupi] {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

/* Pendiente (Estilo Naranja/Amarillo como 'roto') */
.estado-alerta-pendiente[b-h9vly3hupi] {
    background: #fff3e0;
    color: #ef6c00;
}

/* Completada (Estilo Verde como 'vacio') */
.estado-alerta-completada[b-h9vly3hupi] {
    background: #e8f5e8;
    color: #2e7d32;
}


/* Base común para ambos estados del botón */
.btn-completar-accion[b-h9vly3hupi],
.btn-completar-realizado[b-h9vly3hupi] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.8rem;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 500;
    border: 1px solid transparent;
    transition: all 0.3s ease;
    white-space: nowrap;
}

/* Botón "Completar" (Clickable, verde) */
.btn-completar-accion[b-h9vly3hupi] {
    background-color: #e8f5e8;
    color: #2e7d32;
    border-color: #a5d6a7;
    cursor: pointer;
}

    .btn-completar-accion:hover[b-h9vly3hupi] {
        background-color: #dceddc;
        border-color: #81c784;
        transform: translateY(-1px);
    }

/* "Botón" "Realizado" (Estilo badge, gris) */
.btn-completar-realizado[b-h9vly3hupi] {
    background: #f5f5f5;
    color: #757575;
    border-color: #eeeeee;
    cursor: default;
    opacity: 0.8;
}

/* Deshabilitado (cuando se hace clic en "Completar") */
.btn-completar-accion:disabled[b-h9vly3hupi] {
    background: #f5f5f5;
    color: #bdbdbd;
    cursor: not-allowed;
    opacity: 0.6;
}

/* Reset y configuración base */
*[b-h9vly3hupi] {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body[b-h9vly3hupi] {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    overflow-x: hidden;
}

/* Contenedor principal */
.panel-gestion-container[b-h9vly3hupi] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

/* Contenido principal */
.panel-content[b-h9vly3hupi] {
    flex: 1;
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    padding: 1rem;
    overflow-y: auto;
}

/* Barra de herramientas */
.content-toolbar[b-h9vly3hupi] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.3rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.filters[b-h9vly3hupi] {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    flex-wrap: wrap;
    align-items: flex-end;
}

.filter-group[b-h9vly3hupi] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

    .filter-group label[b-h9vly3hupi] {
        font-size: 0.85rem;
        font-weight: 600;
        color: #555;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .filter-group select[b-h9vly3hupi] {
        padding: 0.5rem 1rem;
        border: 1px solid #ddd;
        border-radius: 6px;
        background: white;
        font-size: 0.9rem;
        min-width: 150px;
        transition: border-color 0.3s ease;
        cursor: pointer;
    }

        .filter-group select:focus[b-h9vly3hupi] {
            outline: none;
            border-color: #4caf50;
            box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.1);
        }

/* Contenedor de tabla */
.table-container[b-h9vly3hupi] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.table-scroll-wrapper[b-h9vly3hupi] {
    overflow-x: auto;
    overflow-y: visible;
/*    max-height: calc(100vh - 280px);*/
}

/* Tabla */
.contenedores-table[b-h9vly3hupi] {
    width: 100%;
    border-collapse: collapse;
    min-width: 900px;
}

    .contenedores-table thead[b-h9vly3hupi] {
        position: sticky;
        top: 0;
        z-index: 10;
        background: #f8f9fa;
    }

    .contenedores-table th[b-h9vly3hupi] {
        background: #f8f9fa;
        padding: 1rem;
        text-align: center;
        font-weight: 600;
        color: #555;
        font-size: 0.85rem;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        border-bottom: 2px solid #e0e0e0;
        white-space: normal;
    }

    .contenedores-table td[b-h9vly3hupi] {
        padding: 1rem;
        border-bottom: 1px solid #f0f0f0;
        font-size: 0.9rem;
        text-align: center;
    }

    .contenedores-table tbody tr[b-h9vly3hupi] {
        transition: background-color 0.2s ease;
    }

        .contenedores-table tbody tr:hover[b-h9vly3hupi] {
            background-color: #f8f9fa;
        }

        .contenedores-table tbody tr:last-child td[b-h9vly3hupi] {
            border-bottom: none;
        }

/* Celdas especiales */
.cell-id[b-h9vly3hupi] {
    font-weight: 600;
    color: #2e7d32;
    font-family: 'Courier New', monospace;
}

.loading-cell[b-h9vly3hupi],
.no-results-cell[b-h9vly3hupi] {
    text-align: center;
    padding: 3rem !important;
    color: #666;
}

.loading-cell[b-h9vly3hupi],
.no-results-cell[b-h9vly3hupi] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

/* Badges de estado de contenedor */
.estado-badge[b-h9vly3hupi] {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.estado-lleno[b-h9vly3hupi] {
    background: #ffebee;
    color: #c62828;
}

.estado-vacio[b-h9vly3hupi] {
    background: #e8f5e8;
    color: #2e7d32;
}

.estado-roto[b-h9vly3hupi] {
    background: #fff3e0;
    color: #ef6c00;
}

.estado-cambioubicacion[b-h9vly3hupi] {
    background: #e3f2fd;
    color: #1565c0;
}

.estado-residuoinerte[b-h9vly3hupi] {
    background: #f3e5f5;
    color: #7b1fa2;
}

.estado-otros[b-h9vly3hupi] {
    background: #f5f5f5;
    color: #424242;
}

/* Badges de estado de alerta */
.estado-alerta-badge[b-h9vly3hupi] {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.estado-alerta-pendiente[b-h9vly3hupi] {
    background: #fff3e0;
    color: #ef6c00;
}

.estado-alerta-completada[b-h9vly3hupi] {
    background: #e8f5e8;
    color: #2e7d32;
}

/* Botones de completar/realizado */
.btn-completar-accion[b-h9vly3hupi],
.btn-completar-realizado[b-h9vly3hupi] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.8rem;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 500;
    border: 1px solid transparent;
    transition: all 0.3s ease;
    white-space: nowrap;
    cursor: pointer;
}

.btn-completar-accion[b-h9vly3hupi] {
    background-color: #e8f5e8;
    color: #2e7d32;
    border-color: #a5d6a7;
}

    .btn-completar-accion:hover:not(:disabled)[b-h9vly3hupi] {
        background-color: #dceddc;
        border-color: #81c784;
        transform: translateY(-1px);
    }

    .btn-completar-accion:active:not(:disabled)[b-h9vly3hupi] {
        transform: translateY(0);
    }

.btn-completar-realizado[b-h9vly3hupi] {
    background: #f5f5f5;
    color: #757575;
    border-color: #eeeeee;
    cursor: default;
    opacity: 0.8;
}

    .btn-completar-accion:disabled[b-h9vly3hupi],
    .btn-completar-realizado:disabled[b-h9vly3hupi] {
        background: #f5f5f5;
        color: #bdbdbd;
        cursor: not-allowed;
        opacity: 0.6;
    }

/* Spinner de carga */
.loading-spinner[b-h9vly3hupi] {
    width: 32px;
    height: 32px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #4caf50;
    border-radius: 50%;
    animation: spin-b-h9vly3hupi 1s linear infinite;
}

@keyframes spin-b-h9vly3hupi {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Scrollbar personalizada */
.table-scroll-wrapper[b-h9vly3hupi]::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.table-scroll-wrapper[b-h9vly3hupi]::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.table-scroll-wrapper[b-h9vly3hupi]::-webkit-scrollbar-thumb {
    background: #bdbdbd;
    border-radius: 4px;
}

    .table-scroll-wrapper[b-h9vly3hupi]::-webkit-scrollbar-thumb:hover {
        background: #9e9e9e;
    }

/* Responsive */
@media (max-width: 1024px) {
    .panel-content[b-h9vly3hupi] {
        max-width: 100%;
        padding: 1.5rem;
    }

    .table-scroll-wrapper[b-h9vly3hupi] {
/*        max-height: calc(100vh - 350px);*/
    }
}

@media (max-width: 768px) {
    .panel-content[b-h9vly3hupi] {
        padding: 1rem;
    }

    .content-toolbar[b-h9vly3hupi] {
        flex-direction: column;
        align-items: stretch;
    }

    .filters[b-h9vly3hupi] {
        flex-direction: row;
        gap: 1rem;
    }

    .filter-group select[b-h9vly3hupi] {
        min-width: auto;
        width: 100%;
    }

    .table-scroll-wrapper[b-h9vly3hupi] {
/*        max-height: calc(100vh - 450px);*/
    }

    .contenedores-table[b-h9vly3hupi] {
        font-size: 0.8rem;
    }

        .contenedores-table th[b-h9vly3hupi],
        .contenedores-table td[b-h9vly3hupi] {
            padding: 0.75rem 0.5rem;
        }
}

@media (max-width: 480px) {
    .contenedores-table th[b-h9vly3hupi] {
        font-size: 0.75rem;
    }

    .contenedores-table td[b-h9vly3hupi] {
        font-size: 0.8rem;
    }

    .estado-badge[b-h9vly3hupi],
    .estado-alerta-badge[b-h9vly3hupi] {
        font-size: 0.7rem;
        padding: 0.2rem 0.6rem;
    }

    .btn-completar-accion[b-h9vly3hupi],
    .btn-completar-realizado[b-h9vly3hupi] {
        font-size: 0.8rem;
        padding: 0.35rem 0.7rem;
    }
}

.filter-group input[type="date"][b-h9vly3hupi] {
    padding: 0.5rem 0.8rem; /* Ajuste de padding */
    border: 1px solid #ddd;
    border-radius: 6px;
    background: white;
    font-size: 0.9rem;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    min-width: 150px;
    height: 38px; /* Altura fija para alinear */
    transition: border-color 0.3s ease;
    cursor: text;
    line-height: 1.25; /* previene texto cortado */
}

    .filter-group input[type="date"]:focus[b-h9vly3hupi] {
        outline: none;
        border-color: #4caf50;
        box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.1);
    }

    /* Estilo del icono del calendario (WebKit) */
    .filter-group input[type="date"][b-h9vly3hupi]::-webkit-calendar-picker-indicator {
        cursor: pointer;
        opacity: 0.6;
        transition: opacity 0.3s ease;
    }

        .filter-group input[type="date"][b-h9vly3hupi]::-webkit-calendar-picker-indicator:hover {
            opacity: 1;
        }

/* Contenedor especial para el botón, para alinearlo */
.filter-group-button[b-h9vly3hupi] {
    justify-content: flex-end; /* Alinea el botón abajo */
    gap: 0;
}

/* Botón de "Aplicar Filtros" */
.apply-filters-button[b-h9vly3hupi] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.5rem 1.5rem;
    height: 38px; /* Misma altura que los inputs */
    background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
    color: white;
    border: none;
    border-radius: 6px; /* Mismo radio que los inputs */
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 123, 255, 0.3);
}

    .apply-filters-button:hover[b-h9vly3hupi] {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 123, 255, 0.4);
    }

    .apply-filters-button:active[b-h9vly3hupi] {
        transform: translateY(0);
    }
/* _content/FrontendSMR/Pages/Contenedores.razor.rz.scp.css */

/* Reset y configuración base */
*[b-1z3loeezeg] {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body[b-1z3loeezeg] {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    overflow-x: hidden;
}


.panel-gestion-container[b-1z3loeezeg] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}


.panel-content[b-1z3loeezeg] {
    flex: 1;
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    padding: 1rem;
    overflow-y: auto;
}

/* Barra de herramientas */
.content-toolbar[b-1z3loeezeg] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.3rem;
    /* padding: 1rem 0; */
    flex-wrap: wrap;
    gap: 1rem;
}

.filters[b-1z3loeezeg] {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    flex-wrap: wrap;
}

.filter-group[b-1z3loeezeg] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

    .filter-group label[b-1z3loeezeg] {
        font-size: 0.85rem;
        font-weight: 600;
        color: #555;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .filter-group select[b-1z3loeezeg] {
        padding: 0.5rem 1rem;
        border: 1px solid #ddd;
        border-radius: 6px;
        background: white;
        font-size: 0.9rem;
        min-width: 150px;
        transition: border-color 0.3s ease;
        cursor: pointer;
    }

        .filter-group select:focus[b-1z3loeezeg] {
            outline: none;
            border-color: #4caf50;
            box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.1);
        }

/* Botones */
.btn-primary-green[b-1z3loeezeg] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    /* background: linear-gradient(135deg, #4caf50 0%, #2e7d32 100%); */
    background: linear-gradient(135deg, #63a73f 0%, #8ec950 100%);
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(76, 175, 80, 0.3);
}

    .btn-primary-green:hover[b-1z3loeezeg] {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(76, 175, 80, 0.4);
    }

    .btn-primary-green:active[b-1z3loeezeg] {
        transform: translateY(0);
    }

.btn-secondary[b-1z3loeezeg] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #f8f9fa;
    color: #555;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
}

    .btn-secondary:hover:not(:disabled)[b-1z3loeezeg] {
        background: #e9ecef;
        border-color: #adb5bd;
        transform: translateY(-1px);
    }

    .btn-secondary:disabled[b-1z3loeezeg] {
        opacity: 0.5;
        cursor: not-allowed;
    }

/* Contenedor de tabla */
.table-container[b-1z3loeezeg] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    /* margin-bottom: 2rem; */
}

.table-scroll-wrapper[b-1z3loeezeg] {
    overflow-x: auto;
    overflow-y: visible;
    /*max-height: calc(100vh - 280px);*/ /* Permite scroll vertical si hay muchos registros */
}

/* Tabla */
.contenedores-table[b-1z3loeezeg] {
    width: 100%;
    border-collapse: collapse;
    min-width: 800px;
}

    .contenedores-table thead[b-1z3loeezeg] {
        position: sticky;
        top: 0;
        z-index: 10;
        background: #f8f9fa;
    }

    .contenedores-table th[b-1z3loeezeg] {
        background: #f8f9fa;
        padding: 1rem;
        text-align: left;
        font-weight: 600;
        color: #555;
        font-size: 0.85rem;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        border-bottom: 2px solid #e0e0e0;
        white-space: nowrap;
    }

    .contenedores-table td[b-1z3loeezeg] {
        padding: 1rem;
        border-bottom: 1px solid #f0f0f0;
        font-size: 0.9rem;
        place-items: anchor-center;
    }

    .contenedores-table tbody tr[b-1z3loeezeg] {
        transition: background-color 0.2s ease;
    }

        .contenedores-table tbody tr:hover[b-1z3loeezeg] {
            background-color: #f8f9fa;
        }

        .contenedores-table tbody tr:last-child td[b-1z3loeezeg] {
            border-bottom: none;
        }

/* Celdas especiales */
.cell-id[b-1z3loeezeg] {
    font-weight: 600;
    color: #2e7d32;
    font-family: 'Courier New', monospace;
}

.cell-description[b-1z3loeezeg] {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.loading-cell[b-1z3loeezeg],
.no-results-cell[b-1z3loeezeg] {
    text-align: center;
    padding: 3rem !important;
    color: #666;
}

.loading-cell[b-1z3loeezeg],
.no-results-cell[b-1z3loeezeg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

/* Estados */
.estado-badge[b-1z3loeezeg] {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.estado-lleno[b-1z3loeezeg] {
    background: #ffebee;
    color: #c62828;
}

.estado-vacio[b-1z3loeezeg] {
    background: #e8f5e8;
    color: #2e7d32;
}

.estado-roto[b-1z3loeezeg] {
    background: #fff3e0;
    color: #ef6c00;
}

.estado-cambioubicacion[b-1z3loeezeg] {
    background: #e3f2fd;
    color: #1565c0;
}

.estado-residuoinerte[b-1z3loeezeg] {
    background: #f3e5f5;
    color: #7b1fa2;
}

.estado-pendientedealta[b-1z3loeezeg] {
    background: #f7f7a4;
    color: #514e1e;
}
.estado-otros[b-1z3loeezeg] {
    background: #f5f5f5;
    color: #424242;
}

/* Enlace de ubicación */
.location-link[b-1z3loeezeg] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #1976d2;
    text-decoration: none;
    font-size: 0.85rem;
    transition: color 0.3s ease;
    white-space: nowrap;
}

    .location-link:hover[b-1z3loeezeg] {
        color: #1565c0;
        text-decoration: underline;
    }

.no-data[b-1z3loeezeg] {
    color: #999;
    font-style: italic;
}

/* Placeholder content */
.placeholder-content[b-1z3loeezeg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    text-align: center;
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    color: #666;
    min-height: 400px;
}

    .placeholder-content svg[b-1z3loeezeg] {
        margin-bottom: 1rem;
        color: #bdbdbd;
    }

    .placeholder-content h3[b-1z3loeezeg] {
        margin: 0 0 0.5rem 0;
        color: #424242;
        font-size: 1.5rem;
    }

    .placeholder-content p[b-1z3loeezeg] {
        margin: 0;
        font-size: 1rem;
        line-height: 1.5;
    }

/* Spinner de carga */
.loading-spinner[b-1z3loeezeg] {
    width: 32px;
    height: 32px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #4caf50;
    border-radius: 50%;
    animation: spin-b-1z3loeezeg 1s linear infinite;
}

@keyframes spin-b-1z3loeezeg {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Scrollbar personalizada */
.table-scroll-wrapper[b-1z3loeezeg]::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.table-scroll-wrapper[b-1z3loeezeg]::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.table-scroll-wrapper[b-1z3loeezeg]::-webkit-scrollbar-thumb {
    background: #bdbdbd;
    border-radius: 4px;
}

    .table-scroll-wrapper[b-1z3loeezeg]::-webkit-scrollbar-thumb:hover {
        background: #9e9e9e;
    }

/* Responsive */
@media (max-width: 1024px) {
    .panel-content[b-1z3loeezeg] {
        max-width: 100%;
        padding: 1.5rem;
    }

    .table-scroll-wrapper[b-1z3loeezeg] {
/*        max-height: calc(100vh - 350px);*/
    }
}

@media (max-width: 768px) {
    .panel-header[b-1z3loeezeg] {
        padding: 1rem;
    }

    .header-content[b-1z3loeezeg] {
        flex-direction: column;
        text-align: center;
        gap: 1rem;
    }

    .header-titles h1[b-1z3loeezeg] {
        font-size: 1.5rem;
    }

    .header-titles h2[b-1z3loeezeg] {
        font-size: 1rem;
    }

    .header-logo[b-1z3loeezeg] {
        height: 50px;
    }

    .panel-tabs[b-1z3loeezeg] {
        padding: 0 1rem;
        overflow-x: auto;
        top: 120px; /* Ajuste para header más alto en móvil */
    }

        .panel-tabs[b-1z3loeezeg]::-webkit-scrollbar {
            height: 4px;
        }

        .panel-tabs button[b-1z3loeezeg] {
            padding: 0.75rem 1rem;
            white-space: nowrap;
            font-size: 0.85rem;
        }

    .panel-content[b-1z3loeezeg] {
        padding: 1rem;
    }

    .content-toolbar[b-1z3loeezeg] {
        flex-direction: column;
        align-items: stretch;
    }

    .filters[b-1z3loeezeg] {
        flex-direction: column;
        gap: 1rem;
    }

    .filter-group select[b-1z3loeezeg] {
        min-width: auto;
        width: 100%;
    }

    .btn-primary-green[b-1z3loeezeg] {
        width: 100%;
        justify-content: center;
    }

    .table-scroll-wrapper[b-1z3loeezeg] {
/*        max-height: calc(100vh - 450px);*/
    }

    .contenedores-table[b-1z3loeezeg] {
        font-size: 0.8rem;
    }

        .contenedores-table th[b-1z3loeezeg],
        .contenedores-table td[b-1z3loeezeg] {
            padding: 0.75rem 0.5rem;
        }
}

@media (max-width: 480px) {
    .header-logo[b-1z3loeezeg] {
        height: 40px;
    }

    .panel-tabs button[b-1z3loeezeg] {
        font-size: 0.8rem;
        padding: 0.6rem 0.75rem;
    }

    .btn-primary-green[b-1z3loeezeg],
    .btn-secondary[b-1z3loeezeg] {
        font-size: 0.8rem;
        padding: 0.6rem 1rem;
    }

    .contenedores-table th[b-1z3loeezeg] {
        font-size: 0.75rem;
    }

    .contenedores-table td[b-1z3loeezeg] {
        font-size: 0.8rem;
    }
}



.modal-overlay[b-1z3loeezeg] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.4));
    backdrop-filter: blur(4px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    animation: fadeIn-b-1z3loeezeg 0.2s ease-out;
}

@keyframes fadeIn-b-1z3loeezeg {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp-b-1z3loeezeg {
    from {
        transform: translateY(20px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.modal-container[b-1z3loeezeg] {
    background: white;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    width: 90%;
    max-width: 480px;
    overflow: hidden;
    animation: slideUp-b-1z3loeezeg 0.3s ease-out;
}

.modal-header[b-1z3loeezeg] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px;
    border-bottom: 1px solid #f1f3f5;
    background: linear-gradient(135deg, #1c8403 0%, #5cc74d 100%);
}

.modal-title-wrapper[b-1z3loeezeg] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.modal-icon[b-1z3loeezeg] {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.modal-header h2[b-1z3loeezeg] {
    margin: 0;
    font-size: 1.375rem;
    font-weight: 600;
    color: white;
    letter-spacing: -0.02em;
}

.modal-close[b-1z3loeezeg] {
    background: rgba(255, 255, 255, 0.15);
    border: none;
    cursor: pointer;
    padding: 8px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    transition: all 0.2s ease;
}

    .modal-close:hover[b-1z3loeezeg] {
        background: rgba(255, 255, 255, 0.25);
        transform: rotate(90deg);
    }

.modal-content[b-1z3loeezeg] {
    padding: 32px 24px;
}

.form-group[b-1z3loeezeg] {
    position: relative;
    margin-bottom: 0;
}

.barrio-dropdown-list[b-1z3loeezeg] {
    position: absolute;
    top: 100%; /* Justo debajo del input */
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #d1d5db; /* Coincide con el borde del input */
    border-top: none;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    max-height: 200px;
    overflow-y: ;
    z-index: 1010; /* Encima de otros elementos del modal */
}

.barrio-dropdown-item[b-1z3loeezeg] {
    padding: 10px 12px;
    cursor: pointer;
    font-size: 14px;
}

    .barrio-dropdown-item:hover[b-1z3loeezeg] {
        background-color: #f0f4f8; /* Un color suave al pasar el mouse */
    }
.form-group[b-1z3loeezeg] {
    margin-bottom: 0;
}

    .form-group label[b-1z3loeezeg] {
        display: block;
        margin-bottom: 10px;
        font-weight: 600;
        color: #1f2937;
        font-size: 0.9375rem;
    }

.select-wrapper[b-1z3loeezeg] {
    position: relative;
}

.form-select[b-1z3loeezeg] {
    width: 100%;
    padding: 12px 40px 12px 16px;
    border: 2px solid #e5e7eb;
    border-radius: 10px;
    font-size: 15px;
    background-color: #fafbfc;
    color: #1f2937;
    transition: all 0.2s ease;
    appearance: none;
    cursor: pointer;
}

    .form-select:hover[b-1z3loeezeg] {
        border-color: #cbd5e1;
        background-color: white;
    }

    .form-select:focus[b-1z3loeezeg] {
        outline: none;
        border-color: #667eea;
        background-color: white;
        box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1);
    }

.select-icon[b-1z3loeezeg] {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #6b7280;
    pointer-events: none;
    transition: color 0.2s ease;
}

.form-select:focus ~ .select-icon[b-1z3loeezeg] {
    color: #667eea;
}

.modal-footer[b-1z3loeezeg] {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 20px 24px;
    border-top: 1px solid #f1f3f5;
    background-color: #fafbfc;
}

.btn-cancelar[b-1z3loeezeg] {
    padding: 8px 16px;
    background-color: #6c757d;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s;
}

    .btn-cancelar:hover[b-1z3loeezeg] {
        background-color: #5a6268;
    }

.btn-guardar[b-1z3loeezeg] {
    padding: 8px 16px;
    background-color: #28a745;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s;
}

    .btn-guardar:hover:not(:disabled)[b-1z3loeezeg] {
        background-color: #218838;
    }

    .btn-guardar:disabled[b-1z3loeezeg] {
        background-color: #94d3a2;
        cursor: not-allowed;
    }

.btn[b-1z3loeezeg] {
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.content-toolbar .button-group[b-1z3loeezeg] {
    display: flex;
    gap: 1rem; /* Espacio entre botones */
    flex-wrap: wrap; /* Para que se ajusten en móviles */
}

/* Estilo para el nuevo botón azul */
.btn-primary-blue[b-1z3loeezeg] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
}

    .btn-primary-blue:hover[b-1z3loeezeg] {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
    }

    .btn-primary-blue:active[b-1z3loeezeg] {
        transform: translateY(0);
    }

/* Estilos para validación visual */
.form-select.valid-barrio[b-1z3loeezeg] {
    border-color: #198754;
    background-color: #f8fff9;
}

.form-select.invalid-barrio[b-1z3loeezeg] {
    border-color: #dc3545;
    background-color: #fff8f8;
}

.validation-icon[b-1z3loeezeg] {
    position: absolute;
    right: 10px;
    top: 38px; /* Ajustar según tu layout */
    font-weight: bold;
}

    .validation-icon.valid[b-1z3loeezeg] {
        color: #198754;
    }

    .validation-icon.invalid[b-1z3loeezeg] {
        color: #dc3545;
    }

/* Asegura que el dropdown flote correctamente */
.barrio-dropdown-list[b-1z3loeezeg] {
    position: absolute;
    background: white;
    border: 1px solid #ccc;
    width: 100%;
    max-height: 200px;
    overflow-y: auto;
    z-index: 1000;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.barrio-dropdown-item[b-1z3loeezeg] {
    padding: 8px 12px;
    cursor: pointer;
}

    .barrio-dropdown-item:hover[b-1z3loeezeg] {
        background-color: #f0f0f0;
    }


/* Estilos genéricos de validación (puedes reutilizar los del barrio) */
.form-select.valid-input[b-1z3loeezeg] {
    border-color: #198754; /* Verde */
    background-color: #f8fff9;
    padding-right: 30px; /* Espacio para el icono */
}

.form-select.invalid-input[b-1z3loeezeg] {
    border-color: #dc3545; /* Rojo */
    background-color: #fff8f8;
    padding-right: 30px;
}

/* Posicionamiento de los iconos dentro del input */
.form-group[b-1z3loeezeg] {
    position: relative; /* Necesario para posicionar el icono absoluto */
}

.validation-icon[b-1z3loeezeg] {
    position: absolute;
    right: 10px;
    top: 38px; /* Ajusta según la altura de tu label */
    font-weight: bold;
    pointer-events: none; /* Para que no bloquee el click en el input */
}

    .validation-icon.valid[b-1z3loeezeg] {
        color: #198754;
    }

    .validation-icon.invalid[b-1z3loeezeg] {
        color: #dc3545;
    }
/* _content/FrontendSMR/Pages/Formulario.razor.rz.scp.css */
bodbody[b-bov39oyw5u], html[b-bov39oyw5u] {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f4f4f4;
}

.form-container[b-bov39oyw5u] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* --- Imágenes de Fondo --- */
.background-images[b-bov39oyw5u] {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
}

.top-background[b-bov39oyw5u] {
    position: absolute;
    top: 60px; /* Ajuste para que se vea bien el corte */
    left: 0;
    width: 100%;
    height: 50%;
    object-fit: cover;
    background-size: cover;
    background-position: center;
    clip-path: polygon(0 0, 100% 0, 100% 80%, 0 calc(100% - 140px)); /* Ángulo de corte */
}

.bottom-background[b-bov39oyw5u] {
    position: absolute;
    bottom: -30px; /* Ajuste para que se vea bien el corte */
    left: 0;
    width: 100%;
    height: 50%;
    object-fit: cover;
    background-size: cover;
    background-position: center;
    clip-path: polygon(0 30px, 100% 100px, 100% 100%, 0 100%); /* Ángulo de corte */
}



/* --- Barra de Navegación --- */
.top-nav[b-bov39oyw5u] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background: linear-gradient(135deg, #5c981c0 %, #ADE472 100%);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    position: relative;
    z-index: 10;
}

.nav-title[b-bov39oyw5u] {
    font-size: 1.4rem;
    font-weight: 600;
    color: white;
}

.nav-icons[b-bov39oyw5u] {
    display: flex;
    align-items: center;
    gap: 15px;
}

.nav-logo[b-bov39oyw5u] {
    height: 40px;
}

.nav-icon[b-bov39oyw5u] {
    color: white;
    cursor: pointer;
}


/* --- Contenido Principal y Tarjeta --- */
.main-content[b-bov39oyw5u] {
    display: flex;
    flex-direction: column;
    align-items: center; 
    padding: 20px;
    height: calc(100vh - 70px); /* Resta la altura de la nav */
    overflow-y: auto;
}

.logo-area[b-bov39oyw5u] {
    width: 100%;
    display: flex;
    justify-content: end;
    margin-bottom: 20px; /* Espacio entre el logo y el formulario */
}

.content-logo[b-bov39oyw5u] {
    height: 90px;
    width: auto;
}

.form-card[b-bov39oyw5u] {
    background-color: white;
    border-radius: 15px;
    padding: 25px;
    width: 100%;
    max-width: 450px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
    .form-card:hover[b-bov39oyw5u] {
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25); /* Sombra más pronunciada y elevada */
        /*transform: translateY(-5px);*/ /* Mueve el elemento 5px hacia arriba */
    }
   

.form-title[b-bov39oyw5u] {
    margin: 0 0 5px 0;
    color: #333;
    font-weight: 600;
}

.container-id[b-bov39oyw5u] {
    margin: 0 0 20px 0;
    color: #666;
    font-size: 1rem;
    font-weight: 500;
}

/* --- Carga de Imagen --- */
.image-upload-container[b-bov39oyw5u] {
    background-color: #f0f2f5;
    border: 2px dashed #d9d9d9;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 180px;
}

.preview-container[b-bov39oyw5u] {
    position: relative;
    margin-bottom: 15px;
}

.delete-photo-button[b-bov39oyw5u] {
    position: absolute;
    top: 8px;
    right: 8px;
    background-color: rgba(0, 0, 0, 0.6);
    color: white;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    transition: background-color 0.2s;
}

    .delete-photo-button:hover[b-bov39oyw5u] {
        background-color: rgba(239, 68, 68, 1);
    }

    .delete-photo-button svg[b-bov39oyw5u] {
        width: 18px;
        height: 18px;
    }

.camera-input[b-bov39oyw5u] {
    display: none; /* Ocultamos el input real */
}

.preview-image[b-bov39oyw5u] {
    max-width: 100%;
    max-height: 200px;
    border-radius: 8px;
}

.camera-button[b-bov39oyw5u] {
    background-color: #91E637;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 12px 20px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

    .camera-button:hover[b-bov39oyw5u] {
        background-color: #A8F357;
    }
/* --- Campos del Formulario --- */
.form-group[b-bov39oyw5u] {
    margin-bottom: 20px;
    text-align: left;
}

.form-label[b-bov39oyw5u] {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #333;
}

.form-control[b-bov39oyw5u] {
    width: 100%;
    padding: 10px 15px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 14px;
    box-sizing: border-box;
    min-height: 100px;
}

/* --- Botón de Enviar --- */
.submit-button[b-bov39oyw5u] {
    width: 100%;
    padding: 12px;
    background-color: #333;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

    .submit-button:disabled[b-bov39oyw5u] {
        background-color: #888;
        cursor: not-allowed;
    }

    .submit-button:hover:not(:disabled)[b-bov39oyw5u] {
        background-color: #555;
    }

.alert[b-bov39oyw5u] {
    padding: 1rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: .25rem;
}

.alert-danger[b-bov39oyw5u] {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}

.alert-success[b-bov39oyw5u] {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
}

/* Apunta específicamente al InputSelect dentro de tu form-group */
.form-group select.form-control[b-bov39oyw5u] {
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 8px 10px;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    padding: .375rem 1.75rem .375rem .75rem; /*Más padding a la derecha para no tapar la flecha */
    font-size: 1rem;
    color: #495057;
    cursor: pointer;
}

/*     Estilo cuando el selector está enfocado (haces clic) */
    .form-group select.form-control:focus[b-bov39oyw5u] {
        border-color: #80bdff;
        outline: 0;
        box-shadow: 0 0 0 .2rem rgba(0,123,255,.25);
    }

.success-container[b-bov39oyw5u] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 0;
}

.success-icon[b-bov39oyw5u] {
    background-color: #22c55e; /* green-500 */
    border-radius: 50%;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    color: white;
}

.success-title[b-bov39oyw5u] {
    font-size: 1.4rem;
    font-weight: 600;
    color: #333;
    margin: 0 0 10px 0;
}

.success-text[b-bov39oyw5u] {
    color: #666;
    margin: 0 0 10px 0;
    max-width: 300px;
}

    .success-text.small-text[b-bov39oyw5u] {
        font-size: 0.9rem;
        margin-bottom: 25px;
    }

.success-action-button[b-bov39oyw5u] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 25px;
    border-radius: 8px;
    border: none;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    background-color: #e5e7eb; /* gray-200 */
    color: #374151; /* gray-700 */
}

    .success-action-button:hover[b-bov39oyw5u] {
        transform: translateY(-2px);
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    }

    .success-action-button.btn-pendientes[b-bov39oyw5u] {
        background-color: #ef4444; /* red-500 */
        color: white;
    }

.camera-container[b-bov39oyw5u] {
    background-color: #f0f2f5; /* Mismo fondo que la previsualización */
    border: 2px dashed #d9d9d9; /* Mismo borde */
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 250px; /* Misma altura mínima */
    position: relative;
    overflow: hidden; /* Muy importante para contener el video */
}

.video-wrapper[b-bov39oyw5u] {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 230px; /* Altura del contenedor menos el padding */
    border-radius: 8px;
    overflow: hidden; /* Asegura que el video no se salga de los bordes redondeados */
}

    .video-wrapper video[b-bov39oyw5u] {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        height: 100%;
        object-fit: cover; /* La propiedad mágica: cubre el área sin distorsionar */
        transform: translate(-50%, -50%);
    }

/* Estilos para el menú de notificaciones */
.notification-container[b-bov39oyw5u] {
    position: relative;
    display: inline-block;
}

.notification-icon[b-bov39oyw5u] {
    position: relative;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    border-radius: 50%;
    transition: background-color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .notification-icon:hover[b-bov39oyw5u] {
        background-color: #333;
    }

.notification-badge[b-bov39oyw5u] {
    position: absolute;
    top: 2px;
    right: 2px;
    background-color: #ef4444;
    color: white;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    font-size: 0.7rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.notification-dropdown[b-bov39oyw5u] {
    position: absolute;
    top: 100%;
    right: 0;
    width: 350px;
    background: white;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    margin-top: 8px;
    animation: slideDown-b-bov39oyw5u 0.2s ease-out;
}

@keyframes slideDown-b-bov39oyw5u {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.dropdown-header[b-bov39oyw5u] {
    padding: 16px;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

    .dropdown-header h3[b-bov39oyw5u] {
        margin: 0;
        font-size: 1.1rem;
        font-weight: 600;
        color: #374151;
    }

.mark-all-read[b-bov39oyw5u] {
    background: none;
    border: none;
    color: #3b82f6;
    font-size: 0.8rem;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
    transition: background-color 0.2s;
}

    .mark-all-read:hover[b-bov39oyw5u] {
        background-color: #f3f4f6;
    }

.notification-list[b-bov39oyw5u] {
    max-height: 300px;
    overflow-y: auto;
}

.notification-item[b-bov39oyw5u] {
    display: flex;
    align-items: flex-start;
    padding: 12px 16px;
    border-bottom: 1px solid #f3f4f6;
    transition: background-color 0.2s;
    gap: 12px;
}

    .notification-item:hover[b-bov39oyw5u] {
        background-color: #f9fafb;
    }

    .notification-item.unread[b-bov39oyw5u] {
        background-color: #f0f9ff;
    }

        .notification-item.unread:hover[b-bov39oyw5u] {
            background-color: #e0f2fe;
        }

.notification-content[b-bov39oyw5u] {
    flex: 1;
}

.notification-text[b-bov39oyw5u] {
    margin: 0 0 4px 0;
    font-size: 0.9rem;
    color: #374151;
    line-height: 1.4;
}

.notification-item.unread .notification-text[b-bov39oyw5u] {
    font-weight: 500;
}

.notification-time[b-bov39oyw5u] {
    font-size: 0.75rem;
    color: #6b7280;
}

.mark-read-btn[b-bov39oyw5u] {
    background: none;
    border: none;
    color: #10b981;
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
    opacity: 0;
    transition: all 0.2s;
}

.notification-item:hover .mark-read-btn[b-bov39oyw5u] {
    opacity: 1;
}

.mark-read-btn:hover[b-bov39oyw5u] {
    background-color: #f0fdf4;
}

.no-notifications[b-bov39oyw5u] {
    padding: 32px 16px;
    text-align: center;
    color: #6b7280;
}

    .no-notifications p[b-bov39oyw5u] {
        margin: 0;
    }

.dropdown-footer[b-bov39oyw5u] {
    padding: 12px 16px;
    border-top: 1px solid #e5e7eb;
    text-align: center;
}

.view-all-btn[b-bov39oyw5u] {
    background: none;
    border: none;
    color: #3b82f6;
    font-size: 0.9rem;
    cursor: pointer;
    padding: 8px 16px;
    border-radius: 6px;
    transition: background-color 0.2s;
    width: 100%;
}

    .view-all-btn:hover[b-bov39oyw5u] {
        background-color: #f3f4f6;
    }

/* Overlay para cerrar el menú */
.overlay[b-bov39oyw5u] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
}

/* Scrollbar personalizado para la lista de notificaciones */
.notification-list[b-bov39oyw5u]::-webkit-scrollbar {
    width: 6px;
}

.notification-list[b-bov39oyw5u]::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.notification-list[b-bov39oyw5u]::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

    .notification-list[b-bov39oyw5u]::-webkit-scrollbar-thumb:hover {
        background: #a8a8a8;
    }

.top-nav[b-bov39oyw5u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 25px;
    background: linear-gradient(135deg, #ADE472 0%, #5c981c 100%);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    position: relative;
    z-index: 10;
    flex-wrap: wrap;
}

/* Secciones principales */
.nav-left[b-bov39oyw5u],
.nav-center[b-bov39oyw5u],
.nav-right[b-bov39oyw5u] {
    flex: 1;
    display: flex;
    align-items: center;
}

.nav-left[b-bov39oyw5u] {
    justify-content: flex-start;
}

.nav-center[b-bov39oyw5u] {
    justify-content: center;
}

.nav-right[b-bov39oyw5u] {
    justify-content: flex-end;
}

/* Estilos visuales */
.nav-title[b-bov39oyw5u] {
    font-size: 1.4rem;
    font-weight: 600;
    color: white;
    white-space: nowrap;
}

.nav-logo[b-bov39oyw5u] {
    height: 65px;
    width: auto;
    max-width: 260px;
    transition: all 0.3s ease;
}

.notification-icon[b-bov39oyw5u] {
    background: none;
    border: none;
    cursor: pointer;
}

.nav-icon[b-bov39oyw5u] {
    color: white;
    width: 28px;
    height: 28px;
}

/* --- 🔹 Ajustes responsivos --- */
@media (max-width: 768px) {
    .nav-title[b-bov39oyw5u] {
        font-size: 1.1rem;
    }

    .nav-logo[b-bov39oyw5u] {
        max-width: 160px;
    }

    .nav-icon[b-bov39oyw5u] {
        width: 24px;
        height: 24px;
    }

    .top-nav[b-bov39oyw5u] {
        padding: 8px 15px;
    }
}

@media (max-width: 480px) {
    .nav-title[b-bov39oyw5u] {
        display: none; /* se oculta el texto para dar espacio */
    }

    .nav-logo[b-bov39oyw5u] {
        max-width: 100px;
    }
}
/* _content/FrontendSMR/Pages/HistorialContenedor.razor.rz.scp.css */
body[b-04k0kk3f1z] {
}

/* Ajuste en la barra de herramientas para dar espacio a la cabecera */
.content-toolbar[b-04k0kk3f1z] {
    align-items: flex-start; /* Alinear al inicio para que el título y filtros se vean bien */
}

.historial-header[b-04k0kk3f1z] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex-grow: 1; /* Permite que ocupe el espacio sobrante */
    flex-wrap:wrap;
    align-content:center;
    align-items:center;
}

    .historial-header h3[b-04k0kk3f1z] {
        margin: 0;
        font-size: 1.75rem;
        font-weight: 600;
        color: #333;
        line-height: 1.2;
    }

    .historial-header .subtitulo[b-04k0kk3f1z],
    .historial-header .subtitulo-cargando[b-04k0kk3f1z] {
        font-size: 1rem;
        color: #555;
        font-weight: 400;
    }

    .historial-header .subtitulo-cargando[b-04k0kk3f1z] {
        color: #888;
        font-style: italic;
    }


/* --- Adaptación de Filtros para Inputs --- */

/* Estilo base para inputs de texto y fecha, a juego con los 'select' */
.filter-group input[type="text"][b-04k0kk3f1z],
.filter-group input[type="date"][b-04k0kk3f1z] {
    padding: 0.5rem 1rem;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: white;
    font-size: 0.9rem;
    min-width: 150px;
    transition: border-color 0.3s ease;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.4; /* Asegura altura consistente */
}

    /* Estilo de foco a juego con el verde de la app */
    .filter-group input[type="text"]:focus[b-04k0kk3f1z],
    .filter-group input[type="date"]:focus[b-04k0kk3f1z] {
        outline: none;
        border-color: #4caf50;
        box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.1);
    }

    /* Placeholder para el input de patente */
    .filter-group input[type="text"][b-04k0kk3f1z]::placeholder {
        color: #aaa;
        font-style: italic;
    }

/* Cursor para el input de fecha */
.filter-group input[type="date"][b-04k0kk3f1z] {
    cursor: pointer;
    min-width: 160px; /* Espacio extra para el icono de calendario */
}


/* --- Pie de Página de Acciones --- */

.footer-actions[b-04k0kk3f1z] {
    margin-top: 0.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e0e0e0;
    display: flex;
    justify-content: flex-start;
}

/* Botón de Volver (Nuevo) */
.btn-volver[b-04k0kk3f1z] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: #72d68b; /* Gris neutral, similar al 'Cancelar' del modal */
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

    .btn-volver:hover[b-04k0kk3f1z] {
        background: #16b23d;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }


.obs-modal-content[b-04k0kk3f1z] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem; /* Espacio entre foto y observaciones */
}

    .obs-modal-content img[b-04k0kk3f1z] {
        width: 100%;
        max-height: 400px; /* Evita que la imagen sea gigante */
        object-fit: contain; /* Muestra la foto completa sin deformar */
        border-radius: 8px;
        background: #f8f9fa; /* Fondo por si la imagen tiene transparencias */
        border: 1px solid #e0e0e0;
    }

    .obs-modal-content .no-foto[b-04k0kk3f1z] {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 200px;
        background: #f8f9fa;
        border: 2px dashed #ddd;
        border-radius: 8px;
        color: #888;
        font-style: italic;
        font-size: 1rem;
    }

    .obs-modal-content .observaciones[b-04k0kk3f1z] {
        padding: 1rem;
        background: #f8f9fa;
        border-radius: 8px;
        border: 1px solid #e0e0e0;
    }

        .obs-modal-content .observaciones strong[b-04k0kk3f1z] {
            display: block;
            margin-bottom: 0.5rem;
            color: #333;
            font-weight: 600;
            font-size: 1rem;
        }

        .obs-modal-content .observaciones p[b-04k0kk3f1z] {
            margin: 0;
            color: #555;
            line-height: 1.6;
            white-space: pre-wrap; /* Respeta saltos de línea en las observaciones */
            word-break: break-word;
        }

/* =================================================================== */
/* ESTILOS GENERALES (COPIADOS DE TU CSS PARA CONTEXTO)                */
/* =================================================================== */

/* Asegúrate de tener estos estilos base de tu otro archivo */

.panel-gestion-container[b-04k0kk3f1z] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.panel-content[b-04k0kk3f1z] {
    flex: 1;
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    padding: 1rem;
    overflow-y: auto;
}

.content-toolbar[b-04k0kk3f1z] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.3rem;
    flex-wrap: wrap;
    gap: 1.5rem; /* Aumentado para mejor espaciado en wrap */
}

.filters[b-04k0kk3f1z] {
    display: flex;
    gap: 1.5rem;
    align-items: flex-end;
    flex-wrap: wrap;
}

.filter-group[b-04k0kk3f1z] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

    .filter-group label[b-04k0kk3f1z] {
        font-size: 0.85rem;
        font-weight: 600;
        color: #555;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

/* --- Botones --- */
.btn-secondary[b-04k0kk3f1z] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #49b765;
    color: #555;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
}

    .btn-secondary:hover:not(:disabled)[b-04k0kk3f1z] {
        background: #15ee4b;
        border-color: #adb5bd;
        transform: translateY(-1px);
    }

    .btn-secondary:disabled[b-04k0kk3f1z] {
        opacity: 0.5;
        cursor: not-allowed;
    }

/* --- Tabla --- */
.table-container[b-04k0kk3f1z] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.table-scroll-wrapper[b-04k0kk3f1z] {
    overflow-x: auto;
    overflow-y: visible;
    max-height: calc(100vh - 220px);
}

.contenedores-table[b-04k0kk3f1z] {
    width: 100%;
    border-collapse: collapse;
    min-width: 800px;
}

    .contenedores-table thead[b-04k0kk3f1z] {
        position: sticky;
        top: 0;
        z-index: 10;
        background: #f8f9fa;
    }

    .contenedores-table th[b-04k0kk3f1z] {
        background: #f8f9fa;
        padding: 1rem;
        text-align: left;
        font-weight: 600;
        color: #555;
        font-size: 0.85rem;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        border-bottom: 2px solid #e0e0e0;
        white-space: nowrap;
    }

    .contenedores-table td[b-04k0kk3f1z] {
        padding: 1rem;
        border-bottom: 1px solid #f0f0f0;
        font-size: 0.9rem;
        vertical-align: middle; /* Centra verticalmente botones */
    }

    .contenedores-table tbody tr:hover[b-04k0kk3f1z] {
        background-color: #f8f9fa;
    }

    .contenedores-table tbody tr:last-child td[b-04k0kk3f1z] {
        border-bottom: none;
    }

/* Celdas especiales */
.cell-id[b-04k0kk3f1z] {
    font-weight: 600;
    color: #2e7d32;
    font-family: 'Courier New', monospace;
}

/* Celdas de Carga / Sin Resultados */
.loading-cell[b-04k0kk3f1z],
.no-results-cell[b-04k0kk3f1z] {
    text-align: center;
    padding: 3rem 1rem !important;
    color: #666;
}

    .loading-cell span[b-04k0kk3f1z],
    .no-results-cell span[b-04k0kk3f1z] {
        display: block;
        margin-top: 1rem;
    }

    .no-results-cell svg[b-04k0kk3f1z] {
        width: 32px;
        height: 32px;
        color: #999;
    }

.loading-spinner[b-04k0kk3f1z] {
    width: 32px;
    height: 32px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #4caf50;
    border-radius: 50%;
    animation: spin-b-04k0kk3f1z 1s linear infinite;
    margin: 0 auto; /* Centra el spinner en la celda */
}

@keyframes spin-b-04k0kk3f1z {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* --- Modal Base --- */
.modal-overlay[b-04k0kk3f1z] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.4));
    backdrop-filter: blur(4px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    animation: fadeIn-b-04k0kk3f1z 0.2s ease-out;
}

.modal-body[b-04k0kk3f1z]{
    overflow:auto;
}

@keyframes fadeIn-b-04k0kk3f1z {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp-b-04k0kk3f1z {
    from {
        transform: translateY(20px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.modal-container[b-04k0kk3f1z] {
    background: white;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    width: 90%;
    max-width: 400px;
    overflow: auto;
    animation: slideUp-b-04k0kk3f1z 0.3s ease-out;
    scroll-behavior: smooth;
    scrollbar-width: none;
    max-height:550px;
}

.modal-header[b-04k0kk3f1z] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px;
    border-bottom: 1px solid #f1f3f5;
    background: linear-gradient(135deg, #1c8403 0%, #5cc74d 100%);
}

    .modal-header h2[b-04k0kk3f1z] {
        margin: 0;
        font-size: 1.375rem;
        font-weight: 600;
        color: white;
        letter-spacing: -0.02em;
    }

.modal-close[b-04k0kk3f1z] {
    background: rgba(255, 255, 255, 0.15);
    border: none;
    cursor: pointer;
    padding: 8px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    transition: all 0.2s ease;
}

    .modal-close:hover[b-04k0kk3f1z] {
        background: rgba(255, 255, 255, 0.25);
        transform: rotate(90deg);
    }

.modal-content[b-04k0kk3f1z] {
    padding: 32px 24px;
}

.modal-footer[b-04k0kk3f1z] {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 20px 24px;
    border-top: 1px solid #f1f3f5;
    background-color: #fafbfc;
}

.btn-cancelar[b-04k0kk3f1z] {
    padding: 8px 16px;
    background-color: #6c757d;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s;
}

    .btn-cancelar:hover[b-04k0kk3f1z] {
        background-color: #5a6268;
    }

/* --- Responsive (Asegúrate de tenerlo) --- */
@media (max-width: 768px) {
    .panel-content[b-04k0kk3f1z] {
        padding: 1rem;
    }

    .content-toolbar[b-04k0kk3f1z] {
        flex-direction: column;
        align-items: stretch;
    }

    .historial-header[b-04k0kk3f1z] {
        text-align: center;
        margin-bottom: 1rem;
    }

    .filters[b-04k0kk3f1z] {
        flex-direction: row;
        gap: 1rem;
    }

    .filter-group input[type="text"][b-04k0kk3f1z],
    .filter-group input[type="date"][b-04k0kk3f1z] {
        min-width: auto;
        width: 100%;
    }

    .footer-actions[b-04k0kk3f1z] {
        justify-content: center;
    }

    .btn-volver[b-04k0kk3f1z] {
        width: 100%;
        justify-content: center;
    }
}

/* Estilo base para inputs de texto */
.filter-group input[type="text"][b-04k0kk3f1z] {
    padding: 0.5rem 1rem;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: white;
    font-size: 0.9rem;
    min-width: 150px;
    transition: border-color 0.3s ease;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.4; /* Asegura altura consistente */
    height: 38px; /* --- ALTURA AÑADIDA --- */
}

    /* Estilo de foco a juego con el verde de la app */
    .filter-group input[type="text"]:focus[b-04k0kk3f1z] {
        outline: none;
        border-color: #4caf50;
        box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.1);
    }

    /* Placeholder para el input de patente */
    .filter-group input[type="text"][b-04k0kk3f1z]::placeholder {
        color: #aaa;
        font-style: italic;
    }


.filter-group input[type="date"][b-04k0kk3f1z] {
    padding: 0.5rem 0.8rem; /* Ajuste de padding */
    border: 1px solid #ddd;
    border-radius: 6px;
    background: white;
    font-size: 0.9rem;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    min-width: 150px;
    height: 38px; /* Altura fija para alinear */
    transition: border-color 0.3s ease;
    cursor: text;
    line-height: 1.25; /* previene texto cortado */
}

    .filter-group input[type="date"]:focus[b-04k0kk3f1z] {
        outline: none;
        border-color: #4caf50;
        box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.1);
    }

    /* Estilo del icono del calendario (WebKit) */
    .filter-group input[type="date"][b-04k0kk3f1z]::-webkit-calendar-picker-indicator {
        cursor: pointer;
        opacity: 0.6;
        transition: opacity 0.3s ease;
    }

        .filter-group input[type="date"][b-04k0kk3f1z]::-webkit-calendar-picker-indicator:hover {
            opacity: 1;
        }

/* Contenedor especial para el botón, para alinearlo */
.filter-group-button[b-04k0kk3f1z] {
    justify-content: flex-end; /* Alinea el botón abajo */
    gap: 0;
}

/* Botón de "Aplicar Filtros" */
.apply-filters-button[b-04k0kk3f1z] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.5rem 1.5rem;
    height: 38px; /* Misma altura que los inputs */
    background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
    color: white;
    border: none;
    border-radius: 6px; /* Mismo radio que los inputs */
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 123, 255, 0.3);
}

    .apply-filters-button:hover[b-04k0kk3f1z] {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 123, 255, 0.4);
    }

    .apply-filters-button:active[b-04k0kk3f1z] {
        transform: translateY(0);
    }
/* _content/FrontendSMR/Pages/Index.razor.rz.scp.css */
body[b-yfwpwj0iiz] {
}
.loading-container[b-yfwpwj0iiz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    text-align: center;
    font-family: 'Segoe UI', sans-serif;
    background: #f4f7f6;
}

.recolector-message-container[b-yfwpwj0iiz] {
    padding: 2.5rem;
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    max-width: 400px;
}

    .recolector-message-container h3[b-yfwpwj0iiz] {
        font-weight: 600;
        margin-bottom: 0.5rem;
    }

    .recolector-message-container p[b-yfwpwj0iiz] {
        font-size: 1.1rem;
        color: #555;
    }

/* (Spinner - ya debes tenerlo de tu página Redirigir) */
.spinner[b-yfwpwj0iiz] {
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #4caf50; /* Color principal */
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 1rem;
}

@@keyframes spin {
    0%[b-yfwpwj0iiz] {
        transform: rotate(0deg);
    }

    100%[b-yfwpwj0iiz] {
        transform: rotate(360deg);
    }
}
/* _content/FrontendSMR/Pages/loading.razor.rz.scp.css */
.popup-loading-backdrop[b-ulo4tazxmi] {
    position: fixed;
    inset: 0;
    background: rgba(250, 250, 250, 0.85);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: fadeInBackdrop-b-ulo4tazxmi 0.3s;
}

@keyframes fadeInBackdrop-b-ulo4tazxmi {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.popup-loading-modal[b-ulo4tazxmi] {
    background: #fff;
    border-radius: 1.2rem;
    box-shadow: 0 8px 32px rgba(70, 110, 200, 0.18), 0 1.5px 18px 0 #1d4ed8;
    padding: 2.2rem 2.5rem 2rem 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 340px;
    animation: popupUp-b-ulo4tazxmi 0.4s cubic-bezier(.36,1.34,.64,1) both;
}

@keyframes popupUp-b-ulo4tazxmi {
    from {
        transform: translateY(60px) scale(.98);
        opacity: 0;
    }

    to {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
}

.target-loader[b-ulo4tazxmi] {
    position: relative;
    width: 64px;
    height: 64px;
    margin-bottom: 22px;
}

.wave[b-ulo4tazxmi] {
    position: absolute;
    border: 2.5px solid #3b82f6;
    border-radius: 50%;
    opacity: 0.5;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%) scale(0.4);
    animation: waveAnimation-b-ulo4tazxmi 1.8s infinite cubic-bezier(.35,.9,.65,1.1);
}

.wave1[b-ulo4tazxmi] {
    animation-delay: 0s;
    width: 64px;
    height: 64px;
}

.wave2[b-ulo4tazxmi] {
    animation-delay: 0.45s;
    width: 48px;
    height: 48px;
    border-color: #60a5fa;
}

.wave3[b-ulo4tazxmi] {
    animation-delay: 0.9s;
    width: 32px;
    height: 32px;
    border-color: #a5b4fc;
}

@keyframes waveAnimation-b-ulo4tazxmi {
    0% {
        transform: translate(-50%,-50%) scale(0.5);
        opacity: 0.8;
    }

    70% {
        opacity: 0.15;
    }

    100% {
        transform: translate(-50%,-50%) scale(1.45);
        opacity: 0;
    }
}

.loader-dot[b-ulo4tazxmi] {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 18px;
    height: 18px;
    background: #2563eb;
    border-radius: 50%;
    box-shadow: 0 1px 8px #60a5fa80;
    z-index: 2;
    animation: loaderDotPulse-b-ulo4tazxmi 1.2s infinite alternate;
}

@keyframes loaderDotPulse-b-ulo4tazxmi {
    from {
        box-shadow: 0 1px 8px #60a5fa80;
    }

    to {
        box-shadow: 0 1px 16px #2563eb80;
    }
}

.popup-loading-text[b-ulo4tazxmi] {
    margin-top: 0.7rem;
    color: #1e293b;
    font-size: 1.15rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-align: center;
    user-select: none;
}
/* _content/FrontendSMR/Pages/Login.razor.rz.scp.css */
body[b-po7panpbi9] {
}
    
.login-container[b-po7panpbi9]{
    position: absolute; /* Cambiado a absolute */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.logo-container[b-po7panpbi9] {
    position: static;
    top: 20px;
    right: 20px;
    z-index: 10;
}

.logo[b-po7panpbi9] {
    height: 130px;
    width: auto;
}

.background-images[b-po7panpbi9] {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.top-background[b-po7panpbi9] {
    position: absolute;
    top: 0;
    left: auto;
    height: 50%;
    object-fit: cover;
    background-size: cover;
    background-position: center;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 160px));
}

.bottom-background[b-po7panpbi9] {
    position: absolute;
    bottom: 0;
    left: auto;
    height: 75%;
    object-fit: cover;
    background-size: cover;
    background-position: center;
    clip-path: polygon(0 45%, 100% 70%, 100% 100%, 0 100%);
}

.login-form-container[b-po7panpbi9] {
    display: flex;
    flex-direction: column; /* Apila los elementos verticalmente */
    align-items: center; /* Centra los elementos horizontalmente */
    justify-content: center;
    padding: 20px;
    height: calc(100vh - 70px); /* Resta la altura de la nav */
    overflow-y: auto;
    z-index: 5;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.login-form[b-po7panpbi9][b-po7panpbi9] {
    transition: all 0.3s ease-in-out;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-radius: 18px;
    padding: 30px;
    width: 400px;
    background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 5;
}

    /* Estilos al pasar el cursor (Efecto de Elevación) */
    .login-form[b-po7panpbi9]:hover[b-po7panpbi9] {
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25); /* Sombra más pronunciada y elevada */
        transform: translateY(-5px); /* Mueve el elemento 5px hacia arriba */
    }

/* --- Título Principal: Mayor Impacto --- */
.login-title[b-po7panpbi9] {
    text-align: center;
    font-size: 28px; /* Aumentar el tamaño */
    font-weight: 700; /* Hacerlo más negrita para destacarlo */
    color: #2c3e50; /* Color oscuro más profesional que el #333 */
    margin-bottom: 8px;
}

/* --- Subtítulo: Soporte y Claridad --- */
.login-subtitle[b-po7panpbi9] {
    text-align: center;
    font-size: 15px;
    font-weight: 400; /* Menos negrita para distinguirlo del título */
    color: #7f8c8d; /* Color gris suave para que no compita con el título */
    margin-bottom: 40px;
}

/* --- Grupo de Formulario (Espaciado) --- */
.form-group[b-po7panpbi9] {
    margin-bottom: 25px;
}

/* --- Etiquetas (Labels) --- */
.form-label[b-po7panpbi9] {
    display: block;
    margin-bottom: 4px;
    font-weight: 600; /* Un poco más de negrita que 500 para destacarse */
    color: #34495e; /* Gris oscuro profesional */
    font-size: 14px; /* Asegurar un buen tamaño de fuente */
}

/* --- Campos de Entrada (Inputs) --- */
.form-input[b-po7panpbi9] {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #e0e0e0; /* Borde más claro y sutil */
    border-radius: 8px; /* Bordes más redondeados para coincidir con el formulario */
    background-color: #fcfcfc; /* Fondo ligeramente fuera del blanco para profundidad */
    font-size: 15px;
    color: #34495e;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
}

    /* --- Retroalimentación al Enfocar (:focus) --- */
    .form-input:focus[b-po7panpbi9] {
        outline: none;
        border-color: #91E637;
        box-shadow: 0 0 0 3px rgba(145, 230, 55, 0.4); /* Verde con transparencia */
    }
    /* --- 1. Estilos para los campos de entrada en estado de ERROR --- */
    .form-input.error[b-po7panpbi9] {
        border-color: #e74c3c; /* Un rojo de error estándar y claro */
        box-shadow: none !important;
        box-shadow: 0 0 0 1px rgba(231, 76, 60, 0.5);
    }

        /* --- 2. Neutralizar el efecto de FOCUS cuando hay ERROR --- */
        .form-input.error:focus[b-po7panpbi9] {
            outline: none;
            border-color: #c0392b;
            box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.4);
        }

/* Estilos Base del Botón */
.login-button[b-po7panpbi9] {
    width: 100%;
    padding: 12px;
    background-color: #91E637;
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease-out;
    margin-top: 20px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
}

     /*--- Estado HOVER (Al pasar el cursor) ---*/ 
    .login-button:hover[b-po7panpbi9] {
        background-color: #A8F357;
        box-shadow: 0 6px 10px rgba(0, 0, 0, 0.25);
        transform: translateY(-2px);
    }

     /*--- Estado ACTIVE (Al hacer click) ---*/ 
    .login-button:active[b-po7panpbi9] {
        background-color: #84E022;
        box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
        transform: translateY(1px);
    }

/* --- Estilos del Botón de Carga (is-loading) --- */
.login-button.is-loading[b-po7panpbi9] {
    /* Desactivar el cursor y la interacción del mouse */
    cursor: not-allowed;
    pointer-events: none;
    /* Usar la posición relativa para que la pseudo-barra se posicione dentro */
    position: relative;
    /* Aseguramos que el botón no se "eleve" mientras carga */
    transform: none;
    box-shadow: none;
    /* Oscurecer el color de fondo para indicar que está inactivo/procesando */
    background-color: #84E022;
    /* Ocultar cualquier texto que pudiera desbordarse por la barra de progreso */
    overflow: hidden;
}

    /* --- Animación de Barra de Progreso (UX) --- */
    .login-button.is-loading[b-po7panpbi9]::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        /* Fondo: Usamos un gradiente transparente y animado para el efecto de movimiento */
        background: linear-gradient( 90deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.1) 100% );
        background-size: 200% 100%; /* Hacemos el fondo el doble de ancho para el movimiento */
        /* Iniciar la animación */
        animation: progress-pulse-b-po7panpbi9 1.5s linear infinite;
        /* Aseguramos que el texto esté por encima de esta barra de progreso */
        z-index: 1;
    }

    /* Mantenemos el texto visible y por encima de la barra animada */
    .login-button.is-loading > span[b-po7panpbi9] {
        position: relative;
        z-index: 2; /* Mayor que el z-index de la barra */
    }


/* --- Definición de la Animación (Movimiento de la Barra) --- */
@keyframes progress-pulse-b-po7panpbi9 {
    0% {
        background-position: 200% 0; /* Empieza la barra animada fuera del botón a la derecha */
    }

    100% {
        background-position: -200% 0; /* Termina la barra animada fuera del botón a la izquierda */
    }
}
/* _content/FrontendSMR/Pages/Notificaciones.razor.rz.scp.css */

*[b-1zlq4lywup] {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body[b-1zlq4lywup] {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    overflow-x: hidden;
}

/* Contenedor principal de notificaciones */
.notificaciones-container[b-1zlq4lywup] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

/* Barra superior */
.top-bar[b-1zlq4lywup] {
    background: white;
    padding: 1.5rem 2rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    position: sticky;
    top: 0;
    z-index: 100;
}

    .top-bar h1[b-1zlq4lywup] {
        font-size: 1.75rem;
        color: #2e7d32;
        font-weight: 600;
        margin: 0;
    }

/* Lista de alertas */
.alertas-list[b-1zlq4lywup] {
    flex: 1;
/*    max-width: 800px;*/
    width: 100%;
    margin: 0 auto;
    padding: 2rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Tarjeta de alerta */
.alerta-card[b-1zlq4lywup] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    transition: all 0.3s ease;
    border-left: 4px solid #ef6c00;
}

    .alerta-card:hover[b-1zlq4lywup] {
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
    }

/* Header de la alerta */
.alerta-header[b-1zlq4lywup] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    background: linear-gradient(135deg, #fff5f5 0%, #de4d4d 100%);
    border-bottom: 1px solid #ffcc80;
}

.contenedor-id[b-1zlq4lywup] {
    font-weight: 600;
    color: #e65100;
    font-size: 0.95rem;
    letter-spacing: 0.3px;
}

.warning-icon[b-1zlq4lywup] {
    font-size: 1.5rem;
    animation: pulse-b-1zlq4lywup 2s ease-in-out infinite;
}

@keyframes pulse-b-1zlq4lywup {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.1);
        opacity: 0.8;
    }
}

/* Cuerpo de la alerta */
.alerta-body[b-1zlq4lywup] {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

    .alerta-body p[b-1zlq4lywup] {
        margin: 0;
        color: #555;
        font-size: 0.95rem;
        line-height: 1.6;
    }

        .alerta-body p:first-child[b-1zlq4lywup] {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            flex-wrap: wrap;
        }

    /* Enlace al mapa */
    .alerta-body a[b-1zlq4lywup] {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        color: #1976d2;
        text-decoration: none;
        font-weight: 500;
        padding: 0.4rem 0.8rem;
        border-radius: 6px;
        background: #e3f2fd;
        transition: all 0.3s ease;
        font-size: 0.9rem;
    }

        .alerta-body a:hover[b-1zlq4lywup] {
            background: #bbdefb;
            color: #1565c0;
            transform: translateX(2px);
        }

        .alerta-body a[b-1zlq4lywup]::before {
            content: "📍";
            font-size: 1rem;
        }

/* Mensajes de estado */
.status-message[b-1zlq4lywup] {
    max-width: 800px;
    width: 100%;
    margin: 3rem auto;
    padding: 2rem;
    text-align: center;
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    color: #666;
    font-size: 1rem;
    line-height: 1.6;
}

    .status-message.error[b-1zlq4lywup] {
        color: #c62828;
        background: #ffebee;
    }

    /* Estado de carga con spinner */
    .status-message:not(.error)[b-1zlq4lywup]::before {
        content: "";
        display: block;
        width: 40px;
        height: 40px;
        margin: 0 auto 1rem;
        border-top: 3px solid #4caf50;
        border-radius: 50%;
        animation: spin-b-1zlq4lywup 1s linear infinite;
    }

    .status-message.error[b-1zlq4lywup]::before {
        content: "⚠️";
        display: block;
        font-size: 3rem;
        margin-bottom: 1rem;
    }

@keyframes spin-b-1zlq4lywup {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Badge decorativo para información adicional */
.alerta-body p:last-child[b-1zlq4lywup] {
    padding: 1rem;
    background: #f8f9fa;
    border-radius: 8px;
    border-left: 3px solid #4caf50;
    font-weight: 500;
}

/* Responsive */
@media (max-width: 768px) {
    .top-bar[b-1zlq4lywup] {
        padding: 1rem 1.5rem;
    }

        .top-bar h1[b-1zlq4lywup] {
            font-size: 1.5rem;
        }

    .alertas-list[b-1zlq4lywup] {
        padding: 1.5rem 1rem;
        gap: 1rem;
    }

    .alerta-header[b-1zlq4lywup] {
        padding: 1rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .warning-icon[b-1zlq4lywup] {
        position: absolute;
        top: 1rem;
        right: 1rem;
    }

    .alerta-body[b-1zlq4lywup] {
        padding: 1rem;
    }

        .alerta-body p:first-child[b-1zlq4lywup] {
            flex-direction: column;
            align-items: flex-start;
        }

    .status-message[b-1zlq4lywup] {
        margin: 2rem 1rem;
        padding: 1.5rem;
    }
}

@media (max-width: 480px) {
    .top-bar h1[b-1zlq4lywup] {
        font-size: 1.25rem;
    }

    .contenedor-id[b-1zlq4lywup] {
        font-size: 0.85rem;
    }

    .alerta-body[b-1zlq4lywup] {
        font-size: 0.9rem;
    }

    .alerta-card[b-1zlq4lywup] {
        border-left-width: 3px;
    }
}
/* _content/FrontendSMR/Pages/Recolectores.razor.rz.scp.css */


/* Estilo para el input de filtro (nuevo) */
.filter-group input[type="text"].filter-input[b-dfxwnt7vql] {
    padding: 0.5rem 1rem;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: white;
    font-size: 0.9rem;
    min-width: 180px; /* Ancho similar al select */
    transition: border-color 0.3s ease;
}

    .filter-group input[type="text"].filter-input:focus[b-dfxwnt7vql] {
        outline: none;
        border-color: #4caf50;
        box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.1);
    }


*[b-dfxwnt7vql] {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body[b-dfxwnt7vql] {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    overflow-x: hidden;
}

/* Contenedor principal */
.panel-gestion-container[b-dfxwnt7vql] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

/* Contenido principal */
.panel-content[b-dfxwnt7vql] {
    flex: 1;
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    padding: 1rem;
    overflow-y: auto;
}

/* Barra de herramientas */
.content-toolbar[b-dfxwnt7vql] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.3rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.filters[b-dfxwnt7vql] {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    flex-wrap: wrap;
}

.filter-group[b-dfxwnt7vql] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

    .filter-group label[b-dfxwnt7vql] {
        font-size: 0.85rem;
        font-weight: 600;
        color: #555;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .filter-group select[b-dfxwnt7vql] {
        padding: 0.5rem 1rem;
        border: 1px solid #ddd;
        border-radius: 6px;
        background: white;
        font-size: 0.9rem;
        min-width: 150px;
        transition: border-color 0.3s ease;
        cursor: pointer;
    }

        .filter-group select:focus[b-dfxwnt7vql] {
            outline: none;
            border-color: #4caf50;
            box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.1);
        }

    /* Estilo para el input de filtro */
    .filter-group input[type="text"].filter-input[b-dfxwnt7vql] {
        padding: 0.5rem 1rem;
        border: 1px solid #ddd;
        border-radius: 6px;
        background: white;
        font-size: 0.9rem;
        min-width: 180px;
        transition: all 0.3s ease;
    }

        .filter-group input[type="text"].filter-input:focus[b-dfxwnt7vql] {
            outline: none;
            border-color: #4caf50;
            box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.1);
        }

        .filter-group input[type="text"].filter-input[b-dfxwnt7vql]::placeholder {
            color: #999;
            font-style: italic;
        }
.button-group[b-dfxwnt7vql]{
    display:flex;
    gap: 1.5rem;
}

/* 1. Contenedor de la celda */
.cell-password-container[b-dfxwnt7vql] {
    display: flex;
    align-items: center;
    justify-content:center;
/*    justify-content: space-between;  Empuja el botón a la derecha */
    gap: 8px;  /*Espacio entre texto y botón */
}

/* 2. Estilo para la contraseña OCULTA */
.password-hidden[b-dfxwnt7vql] {
    -webkit-text-security: disc; /* Tu ofuscación original */
    font-family: 'Courier New', monospace; /* Ayuda a que los * se vean uniformes */
    /* Mantenemos el texto seleccionable por si quieren copiar y pegar */
    user-select: all;
}

/* 3. Estilo para la contraseña VISIBLE */
.password-visible[b-dfxwnt7vql] {
    font-family: 'Courier New', monospace;
    color: #c0392b; /* Un color rojo para indicar que es sensible */
    font-weight: 600;
    user-select: all;
}

/* 4. Estilo del botón de "ojo" */
.btn-show-password[b-dfxwnt7vql] {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
}

    .btn-show-password:hover[b-dfxwnt7vql] {
        background-color: #f0f0f0;
    }

    .btn-show-password svg[b-dfxwnt7vql] {
        stroke: #777; /* Color del icono */
    }
/* Botones */
.btn-primary-green[b-dfxwnt7vql] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: linear-gradient(135deg, #63a73f 0%, #8ec950 100%);
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(76, 175, 80, 0.3);
}

    .btn-primary-green:hover[b-dfxwnt7vql] {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(76, 175, 80, 0.4);
    }

    .btn-primary-green:active[b-dfxwnt7vql] {
        transform: translateY(0);
    }

.btn-secondary[b-dfxwnt7vql] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #f8f9fa;
    color: #555;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
}

    .btn-secondary:hover:not(:disabled)[b-dfxwnt7vql] {
        background: #e9ecef;
        border-color: #adb5bd;
        transform: translateY(-1px);
    }

    .btn-secondary:active:not(:disabled)[b-dfxwnt7vql] {
        transform: translateY(0);
    }

    .btn-secondary:disabled[b-dfxwnt7vql] {
        opacity: 0.5;
        cursor: not-allowed;
    }

/* Contenedor de tabla */
.table-container[b-dfxwnt7vql] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.table-scroll-wrapper[b-dfxwnt7vql] {
    overflow-x: auto;
    overflow-y: visible;
/*    max-height: calc(100vh - 280px);*/
}

/* Tabla */
.contenedores-table[b-dfxwnt7vql] {
    width: 100%;
    border-collapse: collapse;
    min-width: 800px;
}

    .contenedores-table thead[b-dfxwnt7vql] {
        position: sticky;
        top: 0;
        z-index: 10;
        background: #f8f9fa;
    }

    .contenedores-table th[b-dfxwnt7vql] {
        background: #f8f9fa;
        padding: 1rem;
        text-align: center;
        font-weight: 600;
        color: #555;
        font-size: 0.85rem;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        border-bottom: 2px solid #e0e0e0;
        white-space: nowrap;
    }

    .contenedores-table td[b-dfxwnt7vql] {
        padding: 1rem;
/*        border-bottom: 1px solid #f0f0f0;*/
        font-size: 0.9rem;
        text-align: -webkit-center;
    }

    .contenedores-table tbody tr[b-dfxwnt7vql] {
        transition: background-color 0.2s ease;
    }

        .contenedores-table tbody tr:hover[b-dfxwnt7vql] {
            background-color: #f8f9fa;
        }

        .contenedores-table tbody tr:last-child td[b-dfxwnt7vql] {
            border-bottom: none;
        }

/* Celdas especiales */
.cell-id[b-dfxwnt7vql] {
    font-weight: 600;
    color: #2e7d32;
    font-family: 'Courier New', monospace;
}


.loading-cell[b-dfxwnt7vql],
.no-results-cell[b-dfxwnt7vql] {
    text-align: center;
    padding: 3rem !important;
    color: #666;
}

.loading-cell[b-dfxwnt7vql],
.no-results-cell[b-dfxwnt7vql] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

/* Spinner de carga */
.loading-spinner[b-dfxwnt7vql] {
    width: 32px;
    height: 32px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #4caf50;
    border-radius: 50%;
    animation: spin-b-dfxwnt7vql 1s linear infinite;
}

@keyframes spin-b-dfxwnt7vql {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Scrollbar personalizada */
.table-scroll-wrapper[b-dfxwnt7vql]::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.table-scroll-wrapper[b-dfxwnt7vql]::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.table-scroll-wrapper[b-dfxwnt7vql]::-webkit-scrollbar-thumb {
    background: #bdbdbd;
    border-radius: 4px;
}

    .table-scroll-wrapper[b-dfxwnt7vql]::-webkit-scrollbar-thumb:hover {
        background: #9e9e9e;
    }

/* Responsive */
@media (max-width: 1024px) {
    .panel-content[b-dfxwnt7vql] {
        max-width: 100%;
        padding: 1.5rem;
    }

    .table-scroll-wrapper[b-dfxwnt7vql] {
/*        max-height: calc(100vh - 350px);*/
    }
}

@media (max-width: 768px) {
    .panel-content[b-dfxwnt7vql] {
        padding: 1rem;
    }

    .content-toolbar[b-dfxwnt7vql] {
        flex-direction: column;
        align-items: stretch;
    }

    .filters[b-dfxwnt7vql] {
        flex-direction: column;
        gap: 1rem;
    }

    .filter-group select[b-dfxwnt7vql],
    .filter-group input[type="text"].filter-input[b-dfxwnt7vql] {
        min-width: auto;
        width: 100%;
    }

    .btn-primary-green[b-dfxwnt7vql] {
        width: 100%;
        justify-content: center;
    }

    .table-scroll-wrapper[b-dfxwnt7vql] {
/*        max-height: calc(100vh - 450px);*/
    }

    .contenedores-table[b-dfxwnt7vql] {
        font-size: 0.8rem;
    }

        .contenedores-table th[b-dfxwnt7vql],
        .contenedores-table td[b-dfxwnt7vql] {
            padding: 0.75rem 0.5rem;
        }
}

@media (max-width: 480px) {
    .contenedores-table th[b-dfxwnt7vql] {
        font-size: 0.75rem;
    }

    .contenedores-table td[b-dfxwnt7vql] {
        font-size: 0.8rem;
    }

    .btn-primary-green[b-dfxwnt7vql],
    .btn-secondary[b-dfxwnt7vql] {
        font-size: 0.8rem;
        padding: 0.6rem 1rem;
    }

    .cell-password[b-dfxwnt7vql] {
        font-size: 0.75rem;
    }
}


/* Estilos para el modal */
.modal-overlay[b-dfxwnt7vql] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.modal-container[b-dfxwnt7vql] {
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    width: 90%;
    max-width: 450px; /* Un poco más ancho para los 3 campos */
    overflow: hidden;
    z-index: 1001; /* Asegura que esté sobre el overlay */
}

.modal-header[b-dfxwnt7vql] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #e5e5e5;
    background-color: #f8f9fa;
}

    .modal-header h2[b-dfxwnt7vql] {
        margin: 0;
        font-size: 1.25rem;
        font-weight: 600;
        color: #333;
    }

.modal-close[b-dfxwnt7vql] {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
}

    .modal-close:hover[b-dfxwnt7vql] {
        background-color: #e9ecef;
        color: #333;
    }

.modal-content[b-dfxwnt7vql] {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px; /* Espacio entre los form-groups */
}

.form-group[b-dfxwnt7vql] {
    margin-bottom: 0;
}

    .form-group label[b-dfxwnt7vql] {
        display: block;
        margin-bottom: 8px;
        font-weight: 500;
        color: #333;
    }

/* Clase genérica para inputs, similar a tu form-select */
.form-select[b-dfxwnt7vql],
.modal-content input[b-dfxwnt7vql] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 14px;
    background-color: white;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box; /* Importante para que el padding no rompa el ancho */
}

    .form-select:focus[b-dfxwnt7vql],
    .modal-content input:focus[b-dfxwnt7vql] {
        outline: none;
        border-color: #3b82f6;
        box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
    }

.modal-footer[b-dfxwnt7vql] {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 16px 20px;
    border-top: 1px solid #e5e5e5;
    background-color: #f8f9fa;
}

.btn-cancelar[b-dfxwnt7vql] {
    padding: 8px 16px;
    background-color: #6c757d;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s;
}

    .btn-cancelar:hover[b-dfxwnt7vql] {
        background-color: #5a6268;
    }

.btn-guardar[b-dfxwnt7vql] {
    padding: 8px 16px;
    background-color: #28a745;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s;
}

    .btn-guardar:hover:not(:disabled)[b-dfxwnt7vql] {
        background-color: #218838;
    }

    .btn-guardar:disabled[b-dfxwnt7vql] {
        background-color: #94d3a2;
        cursor: not-allowed;
    }


.form-group[b-dfxwnt7vql] {
    position: relative; /* CRUCIAL: El icono se posiciona respecto a esto */
    margin-bottom: 1rem;
}

/* 2. Estados del Input */

/* Estado Válido (Verde) */
.form-select.valid-input[b-dfxwnt7vql] {
    border-color: #198754; /* Verde éxito */
    background-color: #f8fff9; /* Fondo verde muy pálido */
    box-shadow: 0 0 0 3px rgba(25, 135, 84, 0.1); /* Resplandor sutil */
    padding-right: 40px; /* Espacio extra a la derecha para que el texto no tape el icono */
}

/* Estado Inválido (Rojo) */
.form-select.invalid-input[b-dfxwnt7vql] {
    border-color: #dc3545; /* Rojo error */
    background-color: #fff8f8; /* Fondo rojo muy pálido */
    padding-right: 40px; /* Espacio extra a la derecha */
    animation: shake-b-dfxwnt7vql 0.3s ease-in-out; /* Pequeña vibración al cargar si hay error */
}

    /* Eliminar el outline azul por defecto del navegador al enfocar si tiene estado */
    .form-select.valid-input:focus[b-dfxwnt7vql],
    .form-select.invalid-input:focus[b-dfxwnt7vql] {
        outline: none;
    }

/* 3. Iconos de Validación (El check o la cruz) */
.validation-icon[b-dfxwnt7vql] {
    position: absolute;
    right: 12px;
    /* Ajusta este 'top' según la altura de tu label. 
       Si el label mide aprox 24px + margen, 38px suele centrarlo en el input */
    top: 36px;
    font-size: 1.1rem;
    font-weight: bold;
    pointer-events: none; /* IMPORTANTE: Permite hacer clic en el input a través del icono */
    z-index: 2;
    animation: popIn-b-dfxwnt7vql 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Efecto "pop" */
}

    .validation-icon.valid[b-dfxwnt7vql] {
        color: #198754;
    }

    .validation-icon.invalid[b-dfxwnt7vql] {
        color: #dc3545;
    }

/* 4. Mensajes de Ayuda (Texto pequeño debajo del input) */
.form-group small.text-danger[b-dfxwnt7vql] {
    display: block;
    margin-top: 4px;
    font-size: 0.8rem;
    color: #dc3545;
    font-weight: 500;
    animation: slideDown-b-dfxwnt7vql 0.2s ease-out;
}

/* 5. Contenedor de Error de API (Caja rosada al final) */
.api-error-alert[b-dfxwnt7vql] {
    margin-top: 15px;
    padding: 10px 12px;
    background-color: #fff5f5;
    border-left: 4px solid #dc3545;
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 8px;
    animation: fadeIn 0.3s;
}

.api-error-text[b-dfxwnt7vql] {
    color: #c53030;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.4;
}

/* =========================================
   ANIMACIONES
   ========================================= */

/* Entrada del icono */
@keyframes popIn-b-dfxwnt7vql {
    0% {
        transform: scale(0);
        opacity: 0;
    }

    80% {
        transform: scale(1.2);
        opacity: 1;
    }

    100% {
        transform: scale(1);
    }
}

/* Deslizamiento del texto de error */
@keyframes slideDown-b-dfxwnt7vql {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Vibración sutil para errores (opcional) */
@keyframes shake-b-dfxwnt7vql {
    0%, 100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-2px);
    }

    75% {
        transform: translateX(2px);
    }
}
/* _content/FrontendSMR/Pages/Redirect.razor.rz.scp.css */
body[b-4yci1c1qkf] {
}


.loading-container[b-4yci1c1qkf] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 80vh; /* Ocupa casi toda la altura de la pantalla */
    text-align: center;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.spinner[b-4yci1c1qkf] {
    border: 4px solid rgba(0, 0, 0, 0.1);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border-left-color: #0d6efd; /* Un color azul atractivo */

    animation: spin 1s linear infinite;
    margin-bottom: 25px;
}



.loading-container p[b-4yci1c1qkf] {
    font-size: 1.1rem;
    color: #555;
}
/* _content/FrontendSMR/Shared/MainLayout.razor.rz.scp.css */
html[b-wg25plh1xe], body[b-wg25plh1xe] {
    margin: 0;
    padding: 0;
    overflow: hidden;
    width: 100%;
    height: 100%;
}
.page[b-wg25plh1xe] {
    position: fixed; /* Cambiado de relative a fixed */
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow: hidden; /* Agregado para prevenir scroll */
    margin: 0;
    padding: 0;

}

.main[b-wg25plh1xe] {
    width: 100%;
    height: 100%;
    overflow: overlay; /* Agregado para prevenir scroll */

}

.sidebar[b-wg25plh1xe] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-wg25plh1xe] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-wg25plh1xe]  a, .top-row .btn-link[b-wg25plh1xe] {
        white-space: nowrap;
        margin-left: 1.5rem;
    }

    .top-row a:first-child[b-wg25plh1xe] {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row:not(.auth)[b-wg25plh1xe] {
        display: none;
    }

    .top-row.auth[b-wg25plh1xe] {
        justify-content: space-between;
    }

    .top-row a[b-wg25plh1xe], .top-row .btn-link[b-wg25plh1xe] {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-wg25plh1xe] {
        flex-direction: row;
    }

    .sidebar[b-wg25plh1xe] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-wg25plh1xe] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .main > div[b-wg25plh1xe] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
