﻿/* RepositorioModerno.css - Estilos modernos para ADA Cloud (Propuesta A) */

/* Header */
.repo-header h3 {
    font-weight: 400;
    color: #16213e;
    font-size: 1.6rem;
}

.repo-header h3 i {
    color: #0d6efd;
    margin-right: 8px;
}

.repo-subtitle {
    color: #6c757d;
    font-size: .9rem;
}

/* Toolbar */
.repo-toolbar {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.repo-view-btn {
    border: 1px solid #dee2e6;
    background: #fff;
    border-radius: 8px;
    padding: 6px 14px;
    cursor: pointer;
    font-size: .85rem;
    color: #495057;
    transition: all .15s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
}

.repo-view-btn.active,
.repo-view-btn:hover {
    background: #0d6efd;
    color: #fff;
    border-color: #0d6efd;
    text-decoration: none;
}

.repo-search {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 7px 14px;
    font-size: .85rem;
    width: 280px;
    outline: none;
    transition: border-color .15s, box-shadow .15s;
}

.repo-search:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 3px rgba(13, 110, 253, .12);
}

.repo-search-wrap {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Botones añadir (visibilidad controlada por JS) */
#divAnadirCosas[style*="block"] {
    display: flex !important;
}

/* Breadcrumb */
.repo-breadcrumb {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .85rem;
    color: #6c757d;
    margin-bottom: 24px;
}

.repo-breadcrumb a {
    color: #0d6efd;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 500;
}

.repo-breadcrumb a:hover {
    text-decoration: underline;
}

.repo-breadcrumb .sep {
    color: #adb5bd;
    font-size: .75rem;
    display: inline-flex;
    align-items: center;
}

/* Niveles intermedios colapsados: se despliegan en un panel vertical anclado al botón «…» */
.repo-crumb-colapso {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.repo-crumb-oculto {
    display: none;
}

.repo-crumb-oculto.visible {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 100;
    min-width: 200px;
    max-width: 320px;
    max-height: 260px;
    overflow-y: auto;
    padding: 6px;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .12);
}

.repo-crumb-nivel {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    border-radius: 6px;
    font-size: .85rem;
    font-weight: 500;
    color: #1a1a2e;
    text-decoration: none;
    white-space: nowrap;
}

.repo-crumb-nivel i {
    color: #ffc107;
    flex-shrink: 0;
}

/* Ramificación del árbol: un hueco por nivel de profundidad y un codo en el último */
.repo-crumb-guia,
.repo-crumb-codo {
    width: 14px;
    flex-shrink: 0;
    align-self: stretch;
}

.repo-crumb-codo {
    position: relative;
}

.repo-crumb-codo::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 50%;
    border-left: 1px solid #ced4da;
}

.repo-crumb-codo::after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 9px;
    border-top: 1px solid #ced4da;
}

.repo-crumb-nivel:hover {
    background: #f0f6ff;
    color: #0d6efd;
    text-decoration: none;
}

.repo-crumb-mas {
    color: #6c757d;
    font-weight: 600;
    letter-spacing: 1px;
    padding: 0 2px;
    text-decoration: none;
}

.repo-crumb-mas:hover {
    color: #0d6efd;
    text-decoration: none;
}

/* Los niveles se inyectan dentro de este div, que debe heredar la separación del breadcrumb */
#divRutaCarpetas,
#divRutaCarpetasTutoriales {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* El camino de carpetas trae el estilo antiguo de .enlaceCaminoRepositorio (borde y fondo en hover) */
.repo-breadcrumb .enlaceCaminoRepositorio,
.repo-breadcrumb .enlaceCaminoRepositorio:hover {
    border: none;
    background-color: transparent;
}

.repo-breadcrumb .enlaceCaminoRepositorio:hover {
    text-decoration: underline;
}

/* Tabla lista */
.repo-table-header {
    background: #f8f9fa;
    padding: 10px 16px;
    border-radius: 10px 10px 0 0;
    border-bottom: 2px solid #e9ecef;
}

.repo-table-header .row > div {
    font-size: .8rem;
    font-weight: 600;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.repo-list-row {
    padding: 12px 16px;
    border-bottom: 1px solid #f0f0f0;
    transition: background .15s;
    align-items: center;
}

.repo-list-row:hover {
    background: #f0f6ff;
}

/* Fila sobre la que esta actuando el menu de acciones. Va un punto por encima del hover, y con
   la barra lateral, para que no se confunda con la fila que tenga el raton encima */
.repo-list-row.repo-seleccionado {
    background: #e7f1ff;
    box-shadow: inset 3px 0 0 #0d6efd;
}

.repo-list-row .divEnlace {
    font-weight: 500;
    color: #1a1a2e;
    /* El nombre puede ser una URL larga y sin espacios: parte la palabra en lugar de salirse de
       su columna y montarse sobre la fecha o el tipo */
    overflow-wrap: anywhere;
    word-break: break-word;
}

.repo-list-row .divEnlace:hover {
    color: #0d6efd;
}

/* El listado de videotutoriales pinta su nombre con su propia clase */
.repo-list-row .divEnlaceTutoriales {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* Iconos de archivo con fondo coloreado */
.repo-file-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}

.repo-file-icon .colorIconoPDFRepositorio,
.repo-file-icon .colorIconoArchivoRepositorio {
    color: #dc3545;
}

.repo-file-icon-pdf {
    background: #fde8e8;
}

.repo-file-icon-excel {
    background: #d4edda;
}

.repo-file-icon-word {
    background: #d6e9f8;
}

.repo-file-icon-img {
    background: #d1ecf1;
}

.repo-file-icon-video {
    background: #e2e3e5;
}

.repo-file-icon-link {
    background: #cce5ff;
}

.repo-file-icon-folder {
    background: #fff3cd;
}

.repo-file-icon-zip {
    background: #fff3cd;
}

.repo-file-icon-default {
    background: #e9ecef;
}

/* Extension badge */
.repo-ext-badge {
    background: #f0f0f0;
    border-radius: 4px;
    padding: 2px 8px;
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    display: inline-block;
}

/* Paginacion */
.repo-pagination {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 20px;
    justify-content: center;
}

.repo-pagination a {
    border: 1px solid #dee2e6;
    background: #fff;
    border-radius: 6px;
    width: 34px;
    height: 34px;
    font-size: .85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all .15s;
    text-decoration: none;
    color: #495057;
}

.repo-pagination a:hover {
    background: #0d6efd;
    color: #fff;
    border-color: #0d6efd;
    text-decoration: none;
}

.repo-pagination span {
    font-size: .85rem;
    color: #6c757d;
    margin: 0 8px;
}

/* Vista iconos - cards */
.repo-icons-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 20px;
}

.repo-icon-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 20px 16px;
    text-align: center;
    cursor: pointer;
    transition: all .2s;
}

.repo-icon-card:hover {
    border-color: #0d6efd;
    box-shadow: 0 4px 16px rgba(13, 110, 253, .12);
    transform: translateY(-2px);
}

/* Tarjeta sobre la que esta actuando el menu de acciones. El padding baja 1px para compensar
   el borde de 2px, y asi la tarjeta no cambia de tamano al marcarse */
.repo-icon-card.repo-seleccionado {
    border: 2px solid #0d6efd;
    padding: 19px 15px;
    background: #f7fbff;
    box-shadow: 0 4px 16px rgba(13, 110, 253, .16);
    transform: translateY(-2px);
}

.repo-icon-card .repo-card-icon {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    margin: 0 auto 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
}

.repo-icon-card .repo-card-name {
    font-size: .85rem;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 4px;
    word-break: break-word;
}

.repo-icon-card .repo-card-meta {
    font-size: .75rem;
    color: #adb5bd;
}

/* Fecha y tamano en lista */
.repo-date {
    color: #6c757d;
    font-size: .88rem;
}

/* El panel de videotutoriales usa .postit, pero no es arrastrable */
#DIVDocumentacion {
    cursor: default;
}

/* Cargando */
.repo-cargando {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 40px 0;
    color: #adb5bd;
}

.repo-spinner {
    width: 18px;
    height: 18px;
    border: 2px solid #dee2e6;
    border-top-color: #0d6efd;
    border-radius: 50%;
    animation: repoGirar .7s linear infinite;
}

@keyframes repoGirar {
    to {
        transform: rotate(360deg);
    }
}

/* Sin registros */
#divSinRegistros,
#divSinRegistrosTutoriales {
    text-align: center;
    padding: 40px 0;
    color: #adb5bd;
}

/* ===== Modal Gestionar acceso ===== */
.repo-modal {
    width: 540px !important;
    max-width: 95vw;
    max-height: 90%;
    overflow-y: auto;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .15);
    padding: 24px 26px;
    white-space: normal !important;
    z-index: 1000 !important;
}

.repo-modal-header h3 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 700;
    color: #16213e;
}

.repo-modal-header h3 i {
    color: #0d6efd;
    margin-right: 6px;
}

.repo-modal-back {
    color: #475569;
    margin-right: 4px;
}

.repo-modal-close {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #f1f3f5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #475569;
    flex: none;
}

.repo-modal-close:hover,
.repo-modal-back:hover {
    background: #e2e6ea;
    color: #16213e;
}

.repo-modal-subtitulo {
    color: #6c757d;
    font-size: 12px;
    margin-bottom: 18px;
}

.repo-modal-seccion {
    margin-bottom: 6px;
}

.repo-modal-titulo-seccion {
    font-weight: 700;
    font-size: 14px;
    color: #16213e;
}

.repo-modal-contador {
    font-weight: 400;
    font-size: 12px;
    color: #6c757d;
}

.repo-modal-accion {
    font-weight: 700;
    font-size: 14px;
    color: #0d6efd;
}

.repo-modal-accion i {
    margin-right: 4px;
}

/* Filas de usuarios con acceso */
.repo-modal-fila {
    border-bottom: 1px solid #e9ecef;
    padding: 8px 4px;
}

.repo-modal-fila-icono {
    width: 34px;
    text-align: center;
    font-size: 20px;
    color: #0d6efd;
}

.repo-modal-fila-datos {
    flex: 1;
    min-width: 0;
}

.repo-modal-fila-eliminar {
    color: #dc3545;
    font-size: 18px;
    padding: 4px 6px;
}

.repo-modal-vacio {
    text-align: center;
    padding: 24px 0;
    color: #adb5bd;
    font-size: 12px;
}

.repo-modal-vacio i {
    display: block;
    font-size: 28px;
    margin-bottom: 6px;
}

.repo-modal-restriccion {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #e9ecef;
}

/* Vista de añadir destinatarios */
.repo-modal-campo {
    margin-bottom: 12px;
}

.repo-modal-etiqueta {
    font-size: 12px;
    font-weight: 700;
    color: #16213e;
}

.repo-modal-destinatarios {
    border: 1px solid #e3e7ec;
    border-radius: 10px;
    padding: 12px 14px;
    margin: 16px 0;
}

.repo-modal-chip {
    background: #eef1f5;
    border-radius: 10px;
    padding: 4px 8px 4px 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}

.repo-modal-chip a {
    color: #64748b;
    line-height: 1;
}

.repo-modal-chip a:hover {
    color: #dc3545;
}

.repo-modal-pie {
    border-top: 1px solid #e9ecef;
    margin-top: 16px;
    padding-top: 14px;
}

.repo-modal-fila-opcion {
    font-size: 12px;
    margin-top: 2px;
}

.repo-modal-fila-opcion a {
    text-decoration: none;
}

.repo-modal-opcion-texto {
    color: #16213e;
}

.repo-modal-fila-eliminar,
.repo-modal-fila-eliminar:hover,
.repo-modal-fila-eliminar i {
    color: #dc3545 !important;
}

/* Iconos de ayuda del modal, en línea con el resto de iconos Bootstrap */
.repo-modal-info {
    color: #6c757d;
    font-size: 14px;
    vertical-align: baseline;
}

a:hover > .repo-modal-info {
    color: #0d6efd;
}

/* Botones y desplegables del modal */
.repo-modal .btn {
    margin-right: 0;
}

.repo-modal .formulariosTamControles {
    border-radius: 8px;
}

.repo-modal-nota {
    color: #6c757d;
    font-size: 12px;
    margin-top: 4px;
}

.repo-modal-nota i {
    margin-right: 4px;
}

/* Sugerencias del autocompletar de usuarios del modal */
.repo-modal-lista-sugerencias {
    margin-top: 2px;
    background: #fff;
    border: 1px solid #e3e7ec;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .10);
    overflow: auto;
    max-height: 150px;
    list-style: none;
    padding: 4px;
    cursor: pointer;
}

.repo-modal-sugerencia {
    padding: 6px 10px;
    border-radius: 8px;
    color: #16213e;
    font-size: 13px;
}

.repo-modal-sugerencia-activa {
    padding: 6px 10px;
    border-radius: 8px;
    background: #e7f1ff;
    color: #0d6efd;
    font-size: 13px;
}

/* Mensajes de aviso del modal */
.repo-modal .labelMensajePeq {
    font-size: 13px;
    border-radius: 8px;
}

/* ===== Menú de acciones del registro (los 3 puntos) ===== */
.repo-menu {
    position: absolute;
    width: 248px;
    background: #fff;
    border: 1px solid #e3e7ec;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .14);
    padding: 6px;
    z-index: 10000;
}

/* El menú de los videotutoriales cuelga de la ventana de documentación, que está posicionada:
   en fixed se coloca con las coordenadas de pantalla del registro, sin depender de ella. El
   z-index pasa del de la ventana (10000) para que no quede por debajo */
.repo-menu-tutoriales {
    position: fixed;
    z-index: 10001;
}

.repo-menu-cabecera {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 10px 10px;
    border-bottom: 1px solid #eef1f5;
    margin-bottom: 6px;
}

.repo-menu-cabecera-datos {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.repo-menu-cabecera-datos i {
    font-size: 18px;
}

.repo-menu-nombre {
    font-size: 12px;
    font-weight: 700;
    color: #16213e;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.repo-menu-cerrar {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #f1f3f5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #475569;
    flex: none;
    font-size: 12px;
}

.repo-menu-cerrar:hover {
    background: #e2e6ea;
    color: #16213e;
}

.repo-menu-grupo {
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #8a94a6;
    padding: 8px 10px 2px;
}

.repo-menu-opcion {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 8px;
    color: #16213e;
    font-size: 13px;
}

.repo-menu-opcion i {
    font-size: 16px;
    color: #0d6efd;
    width: 18px;
    text-align: center;
}

.repo-menu-opcion:hover {
    background: #eef4ff;
    color: #0d6efd;
}

.repo-menu-separador {
    height: 1px;
    background: #eef1f5;
    margin: 6px 4px;
}

.repo-menu-opcion-peligro,
.repo-menu-opcion-peligro i {
    color: #dc3545;
}

.repo-menu-opcion-peligro:hover {
    background: #fdeced;
    color: #b02a37;
}

/* ===== Modal de edición de registro ===== */
.repo-modal-edicion {
    width: 580px !important;
}

/* Mantiene la maqueta antigua (ancho50/enLinea) pero sin su relleno irregular */
.repo-modal-edicion .contenedorControlFormulario {
    padding: 4px 0;
}

/* Los separadores de sección, en gris suave */
.repo-modal-edicion hr {
    border: 0;
    border-top: 1px solid #eef1f5;
    margin: 14px 0 10px;
}

/* Titulos de las secciones del modal (Fichero, Enlace, Color de la carpeta...): son los que
   ordenan el formulario, asi que van al tamano de un h5 y no al del texto de los campos */
.repo-modal-edicion .repo-modal-titulo-seccion {
    display: block;
    margin: 6px 0 8px;
    font-size: 18px;
}

.repo-modal-edicion .repo-modal-titulo-seccion i {
    color: #0d6efd;
    margin-right: 6px;
    font-size: 20px;
    vertical-align: -2px;
}

/* Campos: mismo aspecto que en el modal de acceso */
.repo-modal-edicion .formulariosTamControles {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 6px 10px;
}

.repo-modal-edicion .btn {
    margin-right: 0;
}

/* Zona de arrastre del Uploader. Site.css la marca con un outline discontinuo desplazado
   -10px hacia dentro: si se le anade un borde salen dos marcos, asi que se anula el outline
   y el discontinuo pasa a ser el propio borde */
.repo-modal-edicion .dropZone {
    outline: 0;
    border: 2px dashed #cfd6de;
    border-radius: 12px;
    background: #f8fafc;
    color: #8a94a6;
    /* El contenido se centra en vertical, en vez de depender de un alto fijo y un <br> */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 18px 16px;
    font-size: 13px;
    /* El boton de seleccionar documentos del Uploader va justo encima, y sin margen queda pegado */
    margin-top: 10px;
}

.repo-modal-edicion .dropZone:hover {
    border-color: #0d6efd;
    background: #f4f9ff;
}

.repo-modal-edicion .iconoDropZone {
    fill: #b9c2cc;
    /* El svg trae width y height fijos en el markup, y a 50px se come la zona */
    width: 32px;
    height: 28px;
}

/* URL nueva: el campo ocupa el ancho libre y el boton queda a su altura */
.repo-modal-edicion .repo-modal-fila-url {
    display: flex;
    align-items: center;
    gap: 8px;
    clear: left;
}

.repo-modal-edicion .repo-modal-fila-url .formulariosTamControles {
    flex: 1;
    min-width: 0;
}

.repo-modal-edicion .repo-modal-fila-url .btn {
    flex-shrink: 0;
}

/* Lista de colegios de la maqueta antigua, la que sigue usando el repositorio */
.repo-modal-edicion .colegioMenuItem {
    font-size: 13px;
}

/* ===== Reparto entre colegios: formulario y lista, en dos columnas ===== */
/* Con la lista de colegios al lado cabe el modal ancho; la clase la pone el servidor al
   renderizar el panel, según se muestre o no la columna */
.repo-modal-edicion-ancho {
    width: 960px !important;
}

.repo-modal-edicion .repo-modal-doble {
    display: flex;
    align-items: stretch;
    gap: 0;
}

.repo-modal-edicion .repo-modal-principal {
    flex: 1;
    min-width: 0;
}

.repo-modal-edicion .repo-modal-lateral {
    /* Da de sí para que quepan en una línea el contador de la cabecera y el texto del
       marcar todos, que crece al buscar ("Marcar los colegios encontrados (N)") */
    width: 360px;
    flex-shrink: 0;
    /* Los margenes negativos compensan el padding del modal (24px 26px), para que la columna
       llegue al borde y se lea como un panel propio */
    margin: -24px -26px -24px 20px;
    padding: 20px 18px;
    border-left: 1px solid #eef1f5;
    background: #fbfcfe;
}

.repo-modal-edicion .repo-modal-lateral-cabecera {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: nowrap;
}

/* El contador no se parte ni se cae debajo del título: si falta sitio, cede el título */
.repo-modal-edicion .repo-modal-lateral .repo-modal-contador {
    white-space: nowrap;
    flex-shrink: 0;
}

.repo-modal-edicion .repo-modal-lateral .repo-modal-titulo-seccion {
    margin: 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Marcar todos: el texto cambia al buscar y es largo, así que se deja al lado del check y
   con salto de línea si hiciera falta, sin empujar nada */
.repo-modal-edicion .repo-modal-lateral .form-check label {
    font-size: 13px;
    line-height: 1.35;
}

/* Buscador de colegios: la lupa dentro del campo */
.repo-modal-edicion .repo-modal-buscador-colegios {
    position: relative;
    margin: 10px 0;
}

.repo-modal-edicion .repo-modal-buscador-colegios i {
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    color: #adb5bd;
    font-size: 13px;
}

.repo-modal-edicion .repo-modal-buscador-colegios .formulariosTamControles {
    width: 100%;
    padding-left: 30px;
}

.repo-modal-edicion .repo-modal-lista-colegios {
    max-height: 400px;
    overflow-y: auto;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    background: #fff;
}

.repo-modal-edicion .repo-colegio-fila {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border-bottom: 1px solid #f4f6f8;
    font-size: 13px;
}

.repo-modal-edicion .repo-colegio-fila:last-child {
    border-bottom: 0;
}

.repo-modal-edicion .repo-colegio-codigo {
    font-weight: 700;
    color: #16213e;
}

.repo-modal-edicion .repo-colegio-nombre {
    color: #6c757d;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* El color dice de un vistazo quién recibe el registro: verde los repartidos, rojo los que no.
   Las clases las pone ItemDataBound al pintar y el JS al marcar, porque los checks de la lista
   no hacen postback */
.repo-modal-edicion .repo-colegio-fila-marcado {
    background: #f0f9f4;
    box-shadow: inset 3px 0 0 #198754;
}

.repo-modal-edicion .repo-colegio-fila-sinmarcar {
    background: #fdf2f3;
    box-shadow: inset 3px 0 0 #dc3545;
}

/* Colegio con base de datos propia: el registro se copia en su base al guardar, así que es donde
   el reparto puede fallar */
.repo-modal-edicion .repo-colegio-bd {
    color: #6f42c1;
    font-size: 12px;
    flex-shrink: 0;
}

/* Si la copia falló, el mismo icono lo avisa y su tooltip dice el motivo */
.repo-modal-edicion .repo-colegio-bd-error {
    color: #dc3545;
    font-size: 14px;
}

.repo-modal-edicion .repo-colegio-fila-incidencia {
    background: #fff4e5;
    box-shadow: inset 3px 0 0 #fd7e14;
}

/* Marca del colegio propio, el que no debería quedarse fuera del reparto */
.repo-modal-edicion .repo-colegio-propio {
    margin-left: auto;
    color: #198754;
}

.repo-modal-edicion .repo-colegio-fila-sinmarcar .repo-colegio-propio {
    color: #dc3545;
}

.repo-modal-edicion .repo-colegio-fila-marcado .repo-colegio-codigo {
    color: #0f5132;
}

.repo-modal-edicion .repo-colegio-fila-sinmarcar .repo-colegio-codigo {
    color: #842029;
}

/* Pantalla estrecha: la misma columna, debajo del formulario */
@media (max-width: 992px) {
    .repo-modal-edicion-ancho {
        width: 580px !important;
    }

    .repo-modal-edicion .repo-modal-doble {
        display: block;
    }

    .repo-modal-edicion .repo-modal-lateral {
        width: auto;
        margin: 12px 0 0;
        border-left: 0;
        border: 1px solid #e9ecef;
        border-radius: 12px;
    }
}

.repo-modal-edicion .error {
    font-size: 13px;
}
