/* Conexión Chiapas: paleta oficial sobre Bracket (Bootstrap 4). Cargar DESPUÉS de bracket.css. */
:root {
    --cc-primary: #205FAF;
    --cc-primary-dark: #164785;
    --cc-primary-light: #E6EEF8;
    --cc-secondary: #EF6C24;
    --cc-amber: #FEAF1E;
    --cc-lime: #9CC136;
    --cc-green: #4E953E;
    --cc-cyan: #39D1D6;
    --cc-teal: #2AA1A4;
    --cc-danger: #D64545;
    --cc-surface: #F7F7F7;
    --cc-ink: #14284B;
}

body {
    color: var(--cc-ink);
    background-color: var(--cc-surface);
}

a { color: var(--cc-primary); }
a:hover { color: var(--cc-primary-dark); }

/* Botones: primary/info → azul, secondary → naranja, success → verde, warning → ámbar, danger → rojo */
.btn-primary, .btn-info {
    color: #fff;
    background-color: var(--cc-primary);
    border-color: var(--cc-primary);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
.btn-info:hover, .btn-info:focus, .btn-info:active {
    color: #fff;
    background-color: var(--cc-primary-dark);
    border-color: var(--cc-primary-dark);
}
.btn-secondary { color: #fff; background-color: var(--cc-secondary); border-color: var(--cc-secondary); }
.btn-secondary:hover { color: #fff; background-color: #d45a17; border-color: #d45a17; }
.btn-success { background-color: var(--cc-green); border-color: var(--cc-green); }
.btn-warning { color: var(--cc-ink); background-color: var(--cc-amber); border-color: var(--cc-amber); }
.btn-danger { background-color: var(--cc-danger); border-color: var(--cc-danger); }

.bg-primary, .bg-info { background-color: var(--cc-primary) !important; }
.bg-secondary { background-color: var(--cc-secondary) !important; }
.bg-success { background-color: var(--cc-green) !important; }
.bg-warning { background-color: var(--cc-amber) !important; }
.bg-danger { background-color: var(--cc-danger) !important; }
.bg-br-primary { background-color: var(--cc-primary-dark); }
.bd-br-primary { border-color: var(--cc-primary-dark); }

.tx-primary, .tx-info, .tx-br-primary { color: var(--cc-primary); }
.tx-success { color: var(--cc-green); }
.tx-danger { color: var(--cc-danger); }
.tx-inverse, .tx-gray-800 { color: var(--cc-ink); }

.form-control:focus {
    border-color: var(--cc-primary);
    box-shadow: 0 0 0 .15rem rgba(32, 95, 175, .2);
}
.custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--cc-primary);
    border-color: var(--cc-primary);
}
.alert-danger {
    color: var(--cc-danger);
    background-color: #fbeaea;
    border-color: #f2c4c4;
}

/* Sidebar, logo y encabezado */
/* El fondo del menú izquierdo conserva el color original de Bracket (#1D2939, hover #18222F); solo el acento usa la paleta. */
.br-logo { background-color: #fff; border-right-color: var(--cc-primary-light); }
.br-logo a {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 15px;
    font-size: 20px;
    font-weight: 700;
    color: var(--cc-primary);
    white-space: nowrap;
}
.br-logo a:hover { color: var(--cc-primary-dark); }
.br-menu-link.active { background-color: var(--cc-secondary); color: #fff; }
.br-menu-sub .nav-link:hover, .br-menu-sub .nav-link:focus,
.br-menu-sub .nav-link.active { color: var(--cc-amber); }
.br-menu-sub .nav-link:hover::before, .br-menu-sub .nav-link:focus::before,
.br-menu-sub .nav-link.active::before { background-color: var(--cc-amber); }
.br-pageheader { background-color: #fff; }

/* Login */
/* Fondo de pantalla completa; la tarjeta va centrada y lleva el logo arriba. */
.login-fondo {
    position: relative;
    isolation: isolate;
    min-height: 100vh;
    padding: 40px 15px;
    background-color: var(--cc-surface);
}
.login-fondo::before {
    content: '';
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background: url('../img/eb4af237-f41b-4add-83d0-e278ba6052b8.png') center / cover no-repeat;
}
.login-logo { display: block; width: 100%; max-width: 200px; height: auto; margin: 0 auto 15px; }
.login-wrapper { width: 100%; max-width: 480px; background-color: rgba(255, 255, 255, .92); }
.sr-only-titulo { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

/* Botones con borde, insignias, tablas, paginación y modales: la paleta oficial sobre los de Bracket */
.btn-outline-primary { color: var(--cc-primary); border-color: var(--cc-primary); }
.btn-outline-primary:hover, .btn-outline-primary:focus { color: #fff; background-color: var(--cc-primary); border-color: var(--cc-primary); }
.btn-outline-secondary { color: var(--cc-secondary); border-color: var(--cc-secondary); }
.btn-outline-secondary:hover, .btn-outline-secondary:focus { color: #fff; background-color: var(--cc-secondary); border-color: var(--cc-secondary); }
.btn-outline-danger { color: var(--cc-danger); border-color: var(--cc-danger); }
.btn-outline-danger:hover, .btn-outline-danger:focus { color: #fff; background-color: var(--cc-danger); border-color: var(--cc-danger); }
.btn-link { color: var(--cc-primary); }

.badge-primary, .badge-info { color: #fff; background-color: var(--cc-primary); }
.badge-secondary { color: #fff; background-color: var(--cc-secondary); }
.badge-success { color: #fff; background-color: var(--cc-green); }
.badge-warning { color: var(--cc-ink); background-color: var(--cc-amber); }
.badge-danger { color: #fff; background-color: var(--cc-danger); }

.table thead th { color: var(--cc-ink); background-color: var(--cc-primary-light); border-bottom-color: var(--cc-primary-light); }
.table-hover tbody tr:hover { background-color: var(--cc-primary-light); }
.table td, .table th { vertical-align: middle; }

.pagination .page-link { color: var(--cc-primary); }
.pagination .page-link:hover { color: var(--cc-primary-dark); background-color: var(--cc-primary-light); }
.pagination .page-item.active .page-link { color: #fff; background-color: var(--cc-primary); border-color: var(--cc-primary); }
.pagination .page-item.disabled .page-link { color: var(--cc-ink); opacity: .5; }

.modal-header { background-color: var(--cc-primary-light); border-bottom-color: var(--cc-primary-light); }
.modal-header .modal-title, .modal-header h6 { color: var(--cc-primary-dark); }
.modal-footer { background-color: var(--cc-surface); }

.form-control.is-invalid, .custom-select.is-invalid { border-color: var(--cc-danger); }
.invalid-feedback { color: var(--cc-danger); }
.form-control-label { color: var(--cc-ink); }

/* Select2 (selector con búsqueda): las dimensiones las define Bracket; aquí solo la paleta.
   Requiere cargar select2.min.css ANTES que bracket.css (ver layouts/app.blade.php). */
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--cc-ink); }
.select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--cc-ink); opacity: .55; }
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single { border-color: var(--cc-primary); }
.select2-container--default .select2-results__option[aria-selected=true] { background-color: var(--cc-primary-light); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { color: #fff; background-color: var(--cc-primary); }
.select2-container--default .select2-search--dropdown .select2-search__field:focus { border-color: var(--cc-primary); outline: none; }
.is-invalid + .select2-container--default .select2-selection--single { border-color: var(--cc-danger); }
.select2-container { width: 100% !important; }

/* Texto secundario con el azul tinta de la paleta (en lugar de los grises de Bracket) */
.texto-suave { color: var(--cc-ink); opacity: .7; }

/* Alertas de éxito y advertencia con la paleta */
.alert-success { color: var(--cc-green); background-color: #fff; border-color: var(--cc-green); }
.alert-warning { color: var(--cc-ink); background-color: #fff; border-color: var(--cc-amber); }
