/* ============================================================
   Estilos del módulo Contabilidad — look moderno y consistente.
   Se aplican con mayor especificidad (.ItruCard ...) para
   sobrescribir los <style> inline de las pantallas nuevas.
   ============================================================ */

/* Tablas (Diario, Mayor, Sumas y Saldos, Ejercicios, Asiento) */
.ItruCard table.diario-table,
.ItruCard table.asiento-table,
.ItruCard table.cfg-table,
.ItruCard table.fa-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #e6ebf2;
    border-radius: 12px;
    overflow: hidden;
    font-size: .9rem;
    box-shadow: 0 1px 3px rgba(16, 24, 40, .04);
}

.ItruCard table.diario-table thead th,
.ItruCard table.asiento-table thead th,
.ItruCard table.cfg-table thead th,
.ItruCard table.fa-table thead th {
    background: #f7f9fc;
    color: #56657a;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: .7rem;
    padding: 12px 14px;
    border-bottom: 1px solid #e6ebf2;
    text-align: left;
}

.ItruCard table.diario-table tbody td,
.ItruCard table.asiento-table tbody td,
.ItruCard table.cfg-table tbody td,
.ItruCard table.fa-table tbody td {
    padding: 11px 14px;
    border-bottom: 1px solid #f0f3f7;
    color: #2c3e50;
    vertical-align: middle;
}

.ItruCard table.diario-table tbody tr:hover td,
.ItruCard table.cfg-table tbody tr:hover td,
.ItruCard table.fa-table tbody tr:hover td {
    background: #f9fbfe;
}

/* Filas de cabecera de asiento / sección (resaltado suave, sin barra negra) */
.ItruCard .diario-head td,
.ItruCard .cfg-section td {
    background: #eef3fb !important;
    color: #1f3552 !important;
    font-weight: 600;
    border-top: 1px solid #dbe5f1;
    border-bottom: 1px solid #dbe5f1 !important;
}

.ItruCard table.asiento-table tfoot td {
    background: #eef3fb;
    border-top: 2px solid #cdd9e8;
    font-weight: 700;
}

/* Cabecera del asiento (Consulta de Asiento) */
.ItruCard .asiento-header {
    background: linear-gradient(180deg, #f7f9fc, #eef3fb);
    border: 1px solid #e6ebf2;
    border-radius: 12px;
    padding: 16px 20px;
    gap: 36px;
}

/* Tarjetas (Bienes de inversión, secciones) */
.ItruCard .fa-card {
    border: 1px solid #e6ebf2;
    border-radius: 12px;
    padding: 18px;
    margin-bottom: 16px;
    box-shadow: 0 1px 3px rgba(16, 24, 40, .04);
    background: #fff;
}

/* Avisos / hint */
.ItruCard .cfg-hint {
    background: #eef6ff;
    border: 1px solid #d6e6fb;
    border-radius: 10px;
    color: #345;
}

/* Cajas de subtotales del balance */
.ItruCard .bal-sub {
    background: #f7f9fc !important;
    color: #56657a !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    border-radius: 8px 8px 0 0;
}

.ItruCard .bal-total {
    background: #eef3fb !important;
    border-top: 1px solid #cdd9e8 !important;
}

/* Inputs/dropdowns del módulo un poco más redondeados */
.ItruCard .rz-dropdown,
.ItruCard .rz-textbox,
.ItruCard .rz-numeric,
.ItruCard .rz-datepicker {
    border-radius: 8px;
}

/* ============================================================
   FILTROS / FORMULARIOS MODERNOS (solo páginas .cont-page)
   ============================================================ */

/* Barra de filtros: tarjeta clara y redondeada */
.cont-page .cont-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: flex-end;
    padding: 16px 18px;
    background: #f7f9fc;
    border: 1px solid #e6ebf2;
    border-radius: 14px;
    margin-bottom: 16px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .03);
}

/* Campo: etiqueta arriba + control */
.cont-page .cont-field {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

/* Etiquetas modernas (también las que ya usan rz-text-caption) */
.cont-page .cont-field>label,
.cont-page label.rz-text-caption {
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #8a97a8;
    margin: 0;
}

.cont-page label.rz-text-caption b {
    font-weight: 700;
}

/* Controles Radzen modernos: solo borde/redondeo/fondo, respetando el layout interno de Radzen */
.cont-page .rz-datepicker,
.cont-page .rz-dropdown,
.cont-page .rz-textbox,
.cont-page .rz-numeric,
.cont-page .rz-textarea {
    border: 1px solid #d8e0ea !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: hidden;
    /* recorta esquinas internas al radio */
    transition: border-color .15s ease, box-shadow .15s ease;
}

/* Dropdown: respeta el layout nativo de Radzen (chevron a la derecha),
   solo forzamos el texto a la IZQUIERDA y un alto/relleno consistente */
.cont-page .rz-dropdown {
    min-height: 40px;
    position: relative;
    display: flex;
    align-items: center;
    /* centra verticalmente el texto seleccionado */
}

.cont-page .rz-dropdown .rz-dropdown-label,
.cont-page .rz-dropdown .rz-inputtext {
    text-align: left !important;
    justify-content: flex-start !important;
    flex: 1 1 auto;
    /* el label ocupa el ancho disponible */
    display: flex;
    align-items: center;
    /* centra el texto dentro del label */

}

/* Texto de fecha / numérico */
.cont-page .rz-datepicker .rz-inputtext,
.cont-page .rz-textbox,
.cont-page .rz-numeric .rz-inputtext {
    font-size: .92rem;
    color: #2c3e50;
    min-height: 38px;
    padding: 4px 12px;
}

/* Foco: borde y halo azul suave */
.cont-page .rz-datepicker:focus-within,
.cont-page .rz-dropdown:focus-within,
.cont-page .rz-textbox:focus,
.cont-page .rz-numeric:focus-within,
.cont-page .rz-textarea:focus {
    border-color: #4a90e2 !important;
    box-shadow: 0 0 0 3px rgba(74, 144, 226, .14) !important;
    outline: none !important;
}

/* Botón de búsqueda redondo consistente con la barra */
.cont-page .cont-toolbar .round-button-gold {
    height: 40px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 16px;
}

/* ============================================================
   CHECKBOX MODERNO REDONDO (selección de filas)  .cont-check
   ============================================================ */
label.cont-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin: 0;
    position: relative;
    user-select: none;
}

label.cont-check input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
}

label.cont-check .cont-check-box {
    width: 20px;
    height: 20px;
    border: 2px solid #c4ccd6;
    border-radius: 50%;
    /* redondo */
    background: #fff;
    transition: all .15s ease;
    position: relative;
    box-sizing: border-box;
    display: inline-block;
}

label.cont-check:hover .cont-check-box {
    border-color: #4a90e2;
    box-shadow: 0 0 0 3px rgba(74, 144, 226, .12);
}

/* Marca (check) */
label.cont-check .cont-check-box::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 2.5px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 0;
    transition: opacity .12s ease;
}

/* Estado marcado */
label.cont-check input[type="checkbox"]:checked+.cont-check-box {
    background: #1e9e5a;
    border-color: #1e9e5a;
}

label.cont-check input[type="checkbox"]:checked+.cont-check-box::after {
    opacity: 1;
}