/* Tema Semantica: ajustes de estilo sobre SmartAdmin.
   Se carga despues de general.css y tema-colores.css.
   Para volver al estilo anterior basta con quitar el <link> en las plantillas base. */

:root {
    --sem-azul-oscuro: #0d2547;
    --sem-azul: #1976c6;
    --sem-azul-hover: #145e9f;
    --sem-acento: #5ab0f0;
    --sem-fondo: #f4f6fa;
    --sem-texto: #2b2f38;
    --sem-borde: #d7dde8;
    --sem-encabezado-tabla: #eef2f8;
    --sem-fila-hover: #e8f0fb;
    --sem-tabla-letra: 11px;
}

/* ---------- General ---------- */
body,
.page-content-wrapper {
    background-color: var(--sem-fondo);
    color: var(--sem-texto);
}

a {
    color: var(--sem-azul);
}

a:hover {
    color: var(--sem-azul-hover);
}

/* ---------- Logo del menu ---------- */
.page-logo-link img.logo-semantica {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.page-logo-text {
    font-weight: 600;
    letter-spacing: 0.3px;
}

/* Titulo de seccion del menu: mas claro para que se lea sobre el fondo azul */
.nav-title {
    color: #8fa9d4;
}

/* ---------- Paneles ---------- */
.panel {
    border-color: var(--sem-borde);
    box-shadow: 0 1px 3px rgba(30, 51, 81, 0.06);
}

.panel-hdr {
    border-bottom-color: var(--sem-borde);
}

.panel-hdr h2 {
    color: var(--sem-azul-oscuro);
    font-weight: 600;
}

/* ---------- Tablas de datos ---------- */
.tabla-datos,
.tabla-datos-v2,
.tabla-informacion {
    border: 1px solid var(--sem-borde) !important;
    border-radius: 4px;
}

.tabla-datos > thead > tr > td, .tabla-datos > thead > tr > th,
.tabla-datos-v2 > thead > tr > td, .tabla-datos-v2 > thead > tr > th,
.tabla-informacion > thead > tr > td, .tabla-informacion > thead > tr > th {
    background-color: var(--sem-encabezado-tabla);
    color: var(--sem-azul-oscuro);
    font-weight: 600;
    font-size: var(--sem-tabla-letra) !important;
    padding: 6px 5px !important;
    border-color: var(--sem-borde);
    vertical-align: middle;
}

.tabla-datos > tbody > tr > td, .tabla-datos > tbody > tr > th,
.tabla-datos > tfoot > tr > td, .tabla-datos > tfoot > tr > th,
.tabla-datos-v2 > tbody > tr > td, .tabla-datos-v2 > tbody > tr > th,
.tabla-datos-v2 > tfoot > tr > td, .tabla-datos-v2 > tfoot > tr > th,
.tabla-informacion > tbody > tr > td, .tabla-informacion > tbody > tr > th,
.tabla-informacion > tfoot > tr > td, .tabla-informacion > tfoot > tr > th {
    font-size: var(--sem-tabla-letra) !important;
    padding: 3px 5px !important;
    border-color: var(--sem-borde);
    vertical-align: middle;
}

.tabla-datos > tbody > tr:nth-child(even),
.tabla-datos-v2 > tbody > tr:nth-child(even) {
    background-color: #fafbfd;
}

.tabla-datos > tbody > tr:hover,
.tabla-datos-v2 > tbody > tr:hover {
    background-color: var(--sem-fila-hover) !important;
    color: var(--sem-azul-oscuro);
}

.tabla-informacion .titulo {
    background-color: var(--sem-encabezado-tabla) !important;
    color: var(--sem-azul-oscuro);
}

/* ---------- Formularios ---------- */
.form-control {
    border-color: var(--sem-borde);
}

.form-control:focus {
    border-color: var(--sem-azul);
    box-shadow: 0 0 0 0.15rem rgba(25, 118, 198, 0.2);
}

.panel-content > .form-group > .row > label,
.form-label,
.control-label {
    color: #4a5263;
    font-weight: 500;
}

.form-text.text-muted {
    color: #6b7385 !important;
}

/* ---------- Botones ---------- */
.btn-primary {
    background-color: var(--sem-azul);
    border-color: var(--sem-azul);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--sem-azul-hover);
    border-color: var(--sem-azul-hover);
}
