/* Variables tema día/noche */
:root {
    --bg-body: #f8f9fa;
    --bg-surface: #ffffff;
    --bg-surface-alt: #F8FAFC;
    --text-body: #212529;
    --border-subtle: rgba(0, 0, 0, 0.08);
    --btn-primary-bg: #7f1211;
    --btn-primary-border: #7f1211;
    --btn-primary-color: #ffffff;
    --btn-primary-hover-bg: #862222;
    --btn-primary-hover-border: #862222;
    --btn-outline-color: #801211;
    --btn-outline-border: #801211;
}
.theme-dark {
    --bg-body: #020B1B;
    --bg-surface: #16213e;
    --bg-surface-alt: #020B1B;
    --bg-contenido: #1f2b4d;
    --bg-contenido1: rgba(37,37,54,1.00);
    --bg-item: #0a1425;
    --bg-input: #010b1a;
    --text-body: #e8e8e8;
    --border-subtle: rgba(255, 255, 255, 0.08);
    --btn-primary-bg: rgba(134, 34, 34, 0.9);
    --btn-primary-border: rgba(184, 84, 80, 0.8);
    --btn-primary-color: #ffffff;
    --btn-primary-hover-bg: #862222;
    --btn-primary-hover-border: #862222;
    --btn-outline-color: #e8b4b4;
    --btn-outline-border: rgba(232, 180, 180, 0.8);
    /* Borde luminoso reutilizado (Mi CIEC, listados, home, flip-cards, ítems) */
    --card-inner-fill: linear-gradient(var(--bg-body), var(--bg-body));
    --card-border-glow: radial-gradient(
        ellipse 100% 100% at 50% 50%,
        var(--bg-body) 10%,
        var(--bg-body) 28%,
        #0a1628 40%,
        #1f2d44 52%,
        #3d4b64 62%,
        #52688a 72%,
        #6d85a8 82%,
        #8fa3c9 92%,
        #a8bae0 100%
    );
    /* Formularios por pasos / demoInputBox (solo borde; el fondo sigue siendo --bg-input) */
    --border-input-soft: rgba(168, 194, 230, 0.42);
}


html, body, p, div, span, h1, h2, h3, h4, h5, h6, a, li, ul, ol, td, th, input, textarea, select, button, label {
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
}

body {
    background-color: var(--bg-body);
    color: var(--text-body);
    transition: background-color 0.3s ease, color 0.2s ease;
    font-size: 13px !important;
    font-weight: 400 !important;
    min-height: 100vh;
}

.app-navbar {
    background-color: #ffffff !important;
    position: sticky;
    top: 0;
    z-index: 1030;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.app-navbar .nav-link {
    color: #424969 !important;
    font-size: 13px !important;
}

.app-navbar .nav-link.active,
.app-navbar .nav-link:hover {
    color: #900614 !important;
}

.theme-dark .app-navbar .nav-link {
    color: #ffffff !important;
}

.theme-dark .app-navbar .nav-link.active,
.theme-dark .app-navbar .nav-link:hover {
    color: #f7f7f7 !important;
}

.app-navbar .navbar-toggler {
    border-color: rgba(66, 73, 105, 0.45) !important;
}

.theme-dark .app-navbar .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.5) !important;
}

.app-navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2866, 73, 105, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

.theme-dark .app-navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

.app-navbar #theme-toggle {
    color: #424969 !important;
    border: 1px solid rgba(66, 73, 105, 0.45) !important;
    border-radius: 50%;
    width: 40px;
    height: 40px;
}

.theme-dark .app-navbar #theme-toggle {
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
}

.app-navbar .nav-link-radio-ciec {
    display: flex !important;
    align-items: center;
    background-color: #801211 !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: 8px;
    padding: 8px 12px !important;
    color: #ffffff !important;
    margin-left: 10px !important;
}

.app-navbar .nav-link-radio-ciec__icon {
    font-size: 24px;
    color: #ffffff !important;
}

.app-navbar .nav-link-radio-ciec:hover,
.app-navbar .nav-link-radio-ciec:hover .nav-link-radio-ciec__icon {
    color: #ffffff !important;
}

.app-navbar .nav-link-radio-ciec__text {
    text-align: left;
}

.app-navbar .nav-link-radio-ciec__title {
    font-size: 11px;
    line-height: 1.2;
    font-weight: 600;
    color: inherit !important;
}

.app-navbar .nav-link-radio-ciec__freq {
    font-size: 10px;
    line-height: 1.2;
    color: inherit !important;
}

/* Tema + Radio: fuera del menú colapsable, mismo orden visual que el nav (enlaces primero; controles al final).
   Separación del botón hamburguesa en móvil con borde + ml-auto sobre la primera fila. */
.app-navbar .app-navbar-toolbar {
    display: flex !important;
    align-items: center;
    flex-shrink: 0;
    gap: 0.25rem;
    padding-left: 0.75rem;
    margin-left: 0.75rem;
    border-left: 1px solid rgba(66, 73, 105, 0.28);
}

.theme-dark .app-navbar .app-navbar-toolbar {
    border-left-color: rgba(255, 255, 255, 0.3);
}

.app-navbar .app-navbar-toolbar .nav-link-radio-ciec {
    margin-left: 0 !important;
}

@media (max-width: 991.98px) {
    .app-navbar > .container {
        flex-wrap: wrap;
        align-items: center;
    }

    .app-navbar > .container > .navbar-toggler {
        flex-shrink: 0;
        margin-right: 0 !important;
    }

    .app-navbar > .container > .app-navbar-toolbar {
        margin-left: auto !important;
    }

    .app-navbar > .container > .navbar-collapse {
        flex-basis: 100%;
        width: 100%;
    }
}

/* Breadcrumb - modo día */
.breadcrumb {
    background-color: transparent !important;
    padding: 0.5rem 0 !important;
    margin-bottom: 0 !important;
    font-size: 13px !important;
}
.breadcrumb-item,
.breadcrumb-item a {
    color: #6c757d !important;
    text-decoration: none !important;
}
.breadcrumb-item a:hover {
    color: #7f1211 !important;
}
.breadcrumb-item.active {
    color: #212529 !important;
    font-weight: 500;
}
.breadcrumb-item + .breadcrumb-item::before {
    color: #adb5bd !important;
}

.miciec-breadcrumb-wrap {
    gap: 0.5rem;
}
.miciec-breadcrumb-salir {
    flex-shrink: 0;
}
.miciec-breadcrumb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
    color: var(--btn-outline-color);
    background-color: transparent;
    border: 1px solid var(--btn-outline-border);
    border-radius: 9999px;
}
.miciec-breadcrumb-btn:hover {
    background-color: var(--btn-primary-hover-bg);
    border-color: var(--btn-primary-hover-border);
    color: var(--btn-primary-color) !important;
}

.site-title {
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 600;
    font-size: 16px !important;
    color: #7f1211 !important;
}
.site-title1 {
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 600;
    font-size: 14px !important;
    color: #7f1211 !important;
}

.header-institucional {
    border-top: 1px solid #e2e5ee !important;
    border-bottom: 1px solid #e2e5ee !important;
}

.bg-frase {
    background-color: #0F172A !important;
}

.subtitle-title {
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 600;
    font-size: 14px !important;
    color: #ffffff !important;
}

.ley-title {
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 400;
    font-size: 12px !important;
}
.seccion_pie {
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    color: #862222;
    font-weight: 500;
    font-size: 16px;
    margin-bottom: 20px;
    border-bottom: 2px solid #7F1211;
    display: table;
}

.seccion_texto {
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 400;
    font-size: 13px;
}

.hero {
    padding: 4rem 0;
}

.hero-cta {
    gap: 1rem;
}
a {
    color: #424969 !important;
    text-decoration: none !important;
}

a:hover {
    color: #900614 !important;
    text-decoration: none !important;
}

.seccion_texto a {
    color: #424969 !important;
    text-decoration: none !important;
}

.seccion_texto a:hover {
    color: #900614 !important;
    text-decoration: none !important;
}
.seccion_texto{
    font-size: 13px;
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 400;
    color: #8E9DB2 !important;
}   
.redes-sociales-footer {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.red-social-circulo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.15);
    color: #ffffff !important;
    text-decoration: none !important;
    transition: background-color 0.3s, transform 0.2s;
}
.red-social-circulo:hover {
    background-color: rgba(255, 255, 255, 0.3);
    color: #ffffff !important;
    transform: scale(1.05);
}
.red-social-circulo i {
    font-size: 1.1rem;
}
.red-social-circulo .red-social-svg {
    display: block;
    flex-shrink: 0;
}
.seccion_informacion {
    margin: 0;
    padding-top: 10px;
    background-color: #020b1b;
    border-top: 1px solid #223148;
}

html:not(.theme-dark) .seccion_informacion {
    background-color: #FEFEFE;
    border-top-color: #E5E7EF;
}

html:not(.theme-dark) .seccion_informacion .red-social-circulo {
    background-color: rgba(134, 34, 34, 0.14);
    color: #862222 !important;
}
html:not(.theme-dark) .seccion_informacion .red-social-circulo:hover {
    background-color: rgba(134, 34, 34, 0.24);
    color: #801211 !important;
}

.seccion_informacion .row > div {
    margin-bottom: 2rem;
}

@media (min-width: 768px) {
    .seccion_informacion .row > div {
        margin-bottom: 0;
    }
}
.pie {
    border-top: 1px solid #223148;
    margin-top: 10px;
    text-align: center;
    color: #8E9DB2;
   background-color: #020b1b;
    padding-top: 13px;
    padding-bottom: 13px;
    font-size: 13px;
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 400;
}

html:not(.theme-dark) .seccion_informacion .pie {
    background-color: #FEFEFE;
    border-top-color: #E5E7EF;
    color: #6c757d;
}

/* Pie: logo día (CIEC_DIG) / noche (CIEC_DIG1) */
.footer-logo-ciec--night {
    display: none !important;
}
html.theme-dark .footer-logo-ciec--dia {
    display: none !important;
}
html.theme-dark .footer-logo-ciec--night {
    display: inline-block !important;
}
.login {
    background: #801211;
    background: linear-gradient(134deg,rgba(128, 18, 17, 1) 19%, rgba(255, 255, 255, 1) 69%);
    color: #ffffff;
    padding: 16px;
    border-radius: 10px;
    border: 1px solid #801211;
    font-size: 13px;
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 400;
    display: flex;
    flex-direction: column;
}

/* En home: el login ocupa la altura de las noticias destacadas */
.login-altura-noticias .login {
    flex: 1;
    height: 100%;
}

.title-login {
    font-size: 14px;
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 600;
    color: #ffffff;
    margin-top: 10px;
    text-align: center;
    margin-bottom: 10px;
    border-bottom: 2px solid #ffffff;
    display: table;
    margin-left: auto;
    margin-right: auto;
}

.login .form-control {
    font-size: 12px !important;
}

.login .form-control-sm {
    font-size: 13px !important;
    padding: 0.25rem 0.5rem;
}

.login .input-group-text {
    font-size: 13px;
    padding: 0.25rem 0.5rem;
    background-color: #ffffff;
    border-right: none;
}

.login .input-group .form-control {
    border-left: none;
}

.login .input-group .form-control:focus {
    border-left: 1px solid #80bdff;
}

.login label {
    font-size: 12px !important;
    margin-bottom: 0.25rem;
}

.login .btn {
    font-size: 13px !important;
    padding: 0.25rem 0.5rem;
    border-radius: 5px;
    border: 1px solid #ffffff !important;
    background-color: #7f1211;
    color: #ffffff;
}

.login .btn:hover,
.login .btn-primary:hover,
.login .btn-danger:hover {
    background-color: #ffffff !important;
    color: #7f1211 !important;
    border: 1px solid #7f1211 !important;
    cursor: pointer;
}

.login a.login-link-accion {
    color: #801211 !important;
    border: 1px solid rgba(128, 18, 17, 0.5) !important;
    padding: 0.2rem 0.6rem !important;
    border-radius: 9999px !important;
    display: inline-block !important;
    text-decoration: none !important;
    background-color: rgba(255, 255, 255, 0.9) !important;
}
.login a.login-link-accion:hover,
.login a.login-link-accion:focus {
    color: #7f1211 !important;
    background-color: #ffffff !important;
    border: 1px solid #7f1211 !important;
    text-decoration: none !important;
}

.login a {
    color: #ffffff !important;
    text-decoration: none !important;
}

.login a:hover {
    color: #f0f0f0 !important;
    text-decoration: underline !important;
}

.usuario-info-box {
    background-color: transparent !important;
    border: 1px solid #ffffff !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: #ffffff !important;
    border-radius: 8px;
    padding: 15px;
    color: #ffffff !important;
    margin-bottom: 15px;
}

.usuario-info-box p,
.usuario-info-box strong,
.usuario-info-box small {
    color: #ffffff !important;
}

.usuario-info-box i {
    color: #ffffff !important;
}

.login-foto-container {
    min-height: 74px;
}
.login-foto-usuario {
    background-color: rgba(255,255,255,0.2) !important;
}

.instagram-widget {
    border-radius: 5px !important;
    overflow: hidden !important;
}

.instagram-widget iframe,
.instagram-widget > div,
.elfsight-app-5b5fbc5e-0f31-4336-bd68-692fc2aecc93 iframe,
.elfsight-app-5b5fbc5e-0f31-4336-bd68-692fc2aecc93 > div {
    border-radius: 5px !important;
    display: block !important;
}

.instagram{
    background-image: url('../images/bg_instagram.png');
    background-position: left top;
    background-repeat: no-repeat;
    padding: 10px;
    height: 120px;
    color: white;
    border-radius: 8px;
}
.instagram_titulo{
	text-align: left;
	font-size: 16px;
    font-weight: 600;
    color: #ffffff;
}
.instagram_email{
    text-align: left;
    font-size: 13px;
    line-height: 7px;
    color: #ffffff;
}
.instagram_seguir a{
    color: rgb(0, 0, 0);
    text-decoration: none;
    background-color: #ffffff;
    width: 100px;
    margin-left: auto;
    margin-right: auto;
    display: table;
    text-align: center;
    padding-top: 3px;
    padding-bottom: 3px;
    border-radius: 5px;
}
.instagram_seguir a:hover{
    background-color: #862222 !important;
    color: #ffffff !important;
    text-decoration: none;
    transition-duration: 1s;
}
.matriculacion{
	background-color: #DDDDDD;
	padding: 10px;
    height: 120px;
    border-radius: 10px;
}
.ingeniero{
    border: 7px solid #862222;
    border-radius: 50%;
}
.m_seccion{
    font-size: 13px;
	color: #212121;
	text-align: center
}
.m_titulo{
    font-size: 14px;
	color: #862222;
    font-weight: 600;
    text-transform: uppercase;
	text-align: center
}
.m_btn a {
	padding: 8px 16px;
    width: 100%;
    display: block;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
    color: var(--btn-outline-color);
    border: 1px solid var(--btn-outline-border);
    border-radius: 9999px;
    font-size: 13px;
}
.m_btn a:hover{
    background-color: var(--btn-primary-hover-bg);
    border-color: var(--btn-primary-hover-border);
    color: var(--btn-primary-color) !important;
}
/* Botones PAGOS A REALIZAR: más cuadrados con bordes redondeados */
.m_btn_pagos a {
    border-radius: 8px !important;
}

/* Card flip - OTRAS TAREAS A REALIZAR */
.flip-card {
    perspective: 1000px;
    height: 280px;
    cursor: pointer;
}
.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.6s;
    transform-style: preserve-3d;
    border-radius: 10px;
    background-color: var(--bg-surface-alt, #F8FAFC);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-subtle, rgba(0, 0, 0, 0.08));
}
.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}
.flip-card-front,
.flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border-radius: 10px;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.flip-card-front {
    background-color: var(--bg-surface-alt, #F8FAFC);
    color: var(--text-body);
}
.flip-card-back {
    transform: rotateY(180deg);
    background-color: var(--btn-primary-bg);
    color: #fff;
    justify-content: flex-start;
}
.flip-card-back .flip-desc {
    flex: 1;
    font-size: 13px;
    line-height: 1.4;
    margin-bottom: 1rem;
    text-align: left;
    overflow-y: auto;
    min-height: 0;
}
.flip-card-back .m_btn {
    width: 100%;
    align-self: stretch;
}
.flip-card-back .m_btn a {
    border-color: #fff;
    color: var(--btn-primary-bg, #7f1211) !important;
    background: #fff !important;
    padding: 10px 20px;
}
.flip-card-back .m_btn a:hover {
    background: rgba(255, 255, 255, 0.9) !important;
    color: var(--btn-primary-bg, #7f1211) !important;
    border-color: #fff !important;
}
.theme-dark .flip-card-back .m_btn a,
.theme-dark .flip-card-back .m_btn a:hover {
    background: #fff !important;
    color: #7f1211 !important;
    border-color: #fff !important;
}
.theme-dark .flip-card-front {
    background-color: var(--bg-surface-alt) !important;
}
/* Mismo borde degradado que .caja2 / tarjetas MI CIEC — el borde vive en .flip-card-inner */
.theme-dark .flip-card .flip-card-inner {
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
    border: 2px solid transparent !important;
    background-color: var(--bg-surface-alt) !important;
    background-image:
        var(--card-inner-fill), var(--card-border-glow);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
}
.theme-dark .flip-card-back {
    background-color: var(--btn-primary-bg) !important;
}

.dictamenes{
	padding: 10px;
    height: 120px;
    border-radius: 8px;
}
.dictamenes-peritos {
    background: linear-gradient(90deg, #ffffff 0%, #862222 100%);
    perspective: 600px;
}
.dictamenes-instructivo {
    /* Invertido: rojo a la izquierda, más claro a la derecha — se ve distinto a peritos */
    background: linear-gradient(270deg, #ffffff 0%, #6b1a1a 50%, #7f1211 100%);
    perspective: 600px;
}
.d_seccion{
    font-size: 13px;
	color: #fff;
	text-align: center
}
.d_titulo{
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
	color: #fff;
	text-align: center
}
/* Cápsula tipo badge — terracota + borde dorado (solo palabra destacada, p. ej. BENEFICIOS) */
.d_titulo_capsula {
    display: inline-block;
    vertical-align: middle;
    padding: 0.35rem 0.95rem;
    margin: 0.1rem 0.35rem 0.1rem 0;
    border-radius: 2px;
    background-color: #8f4a4a;
    border: 2px solid #c58c3e;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    color: #ffffff !important;
    font-weight: 800;
    letter-spacing: 0.04em;
}
.theme-dark .d_titulo_capsula {
    background-color: #7a3f42;
    border-color: #d4a04a;
    padding: 2px;
    color: #ffffff !important;
}
.d_btn a {
    padding: 8px 16px;
    width: 100%;
    display: block;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.3s, color 0.3s;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,0.9) !important;
    border-radius: 9999px;
}
.d_btn a:hover{
    background-color: rgba(255,255,255,0.95);
    color: #801211 !important;
    border-color: #fff !important;
}
.servicios{
    background-color: #1E293B;
    background-image: url('../images/s01.png');
	padding: 10px;
    height: 100%;
    border-radius: 8px;
    background-repeat: no-repeat;
    background-position: left top;
}
.buscador_exp{
    background-color: #fff;
    padding: 10px;
    border-radius: 8px;
    background-image: url(../images/carpeta.png);
    background-repeat: no-repeat;
    background-position: right top;
}
.input_buscadores{
	padding-top: 8px;
	padding-right: 8px;
	padding-bottom: 8px; 
	padding-left: 8px;	
	border-radius: 5px;	
	border: 1px solid #7F1714; 
	width: 200px; 
	font-size: 13px !important;
}
.titulo_busc{
    font-size: 16px;
    font-weight: 600;
    color: #862222;
    border-bottom: 3px solid #862222;
    display: table;
}
.btn_busc a{
    padding: 8px 16px;
    width: 100%;
    display: block;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
    color: var(--btn-outline-color);
    border: 1px solid var(--btn-outline-border);
    border-radius: 9999px;
}
.btn_busc a:hover{
    background-color: var(--btn-primary-hover-bg);
    border-color: var(--btn-primary-hover-border);
    color: var(--btn-primary-color) !important;
	background-color: #801211 !important;
}
/* Home: franja de los dos buscadores (expedientes / matriculados) */
.home-seccion-buscadores {
    background-color: #fff;
}
/* Home: tarjetas buscadores (claro: gris tarjeta / noche: borde luminoso, interior = body) */
.home-buscador-card {
    background-color: #f8fafc;
    border-radius: 10px;
    overflow: hidden;
    border: 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.mas{
    text-align: center;
    border-top: 1px dotted #862222;
	color: #862222
}
.icono_mat{
    margin-top: -60px;
	z-index: 2 !important;
	position: relative
}
.matriculados_busc{
    background-color: #DDDDDD;
    background-image: url(../images/bg_buscador.png);
    background-repeat: no-repeat;
    background-position: right top;
    padding-top: 45px;
    margin-top: -45px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    border-radius: 8px;
}
.titulo_mat{
    font-size: 16px;
    font-weight: 600;
    color: #862222;
	text-align: center
}
.seccion_mat{
    font-size: 14px;
    font-weight: 600;
    color: #862222;
    border-bottom: 3px solid #862222;
    display: table;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    line-height: 22px;
    margin-bottom: 0px;
}

.seccion_mat.text-left{
    margin-left: 0;
    margin-right: 0;
    text-align: left;
}

.circulo-seccion {
    width: 56px;
    height: 56px;
    min-width: 56px;
    min-height: 56px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.circulo-noticias {
    background-color: #862222 !important;
    color: #fff !important;
    border: 2px solid #862222;
    width: 70px;
    height: 70px;
}
.circulo-noticias i {
    font-size: 2rem !important;
}
.circulo-bolsa {
    background-color: #862222 !important;
    color: #fff !important;
    border: 2px solid #862222;
    width: 70px;
    height: 70px;
}
.circulo-bolsa i {
    font-size: 2rem !important;
}
.circulo-peritos,
.circulo-instructivo {
    background-color: rgba(255, 255, 255, 0.95) !important;
    width: 70px;
    height: 70px;
    color: #862222 !important;
    border: 2px solid rgba(255, 255, 255, 0.8);
    transition: transform 0.5s ease;
    transform-style: preserve-3d;
}
.circulo-peritos i,
.circulo-instructivo i {
    font-size: 2rem !important;
    transition: transform 0.35s ease;
}
.dictamenes-peritos:hover .circulo-peritos,
.dictamenes-instructivo:hover .circulo-instructivo {
    transform: rotateY(180deg);
}
.dictamenes-peritos:hover .circulo-peritos i,
.dictamenes-instructivo:hover .circulo-instructivo i {
    transform: scale(1.2) rotate(-5deg);
}

/* Sección servicios ofrecidos por matriculados */
.circulo-servicios-oferta {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(134, 34, 34, 0.95);
    color: #fff !important;
    border: 2px solid rgba(255, 255, 255, 0.4);
    font-size: 2rem;
}
.servicios-matriculados-oferta .d_seccion,
.servicios-matriculados-oferta .d_titulo {
    text-align: left;
}
.servicios-matriculados-oferta .btn-servicios-oferta {
    display: inline-block;
    padding: 10px 24px;
    background-color: #862222;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 9999px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 13px;
    text-decoration: none;
    transition: background-color 0.3s, transform 0.2s;
}
.servicios-matriculados-oferta .btn-servicios-oferta:hover {
    background-color: #a02a2a;
    color: #fff !important;
    transform: translateY(-1px);
}
.servicios-matriculados-oferta .btn-servicios-listado {
    display: inline-block;
    padding: 10px 24px;
    background-color: transparent;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 9999px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 13px;
    text-decoration: none;
    transition: background-color 0.3s, border-color 0.3s, transform 0.2s;
}
.servicios-matriculados-oferta .btn-servicios-listado:hover {
    background-color: rgba(255, 255, 255, 0.15);
    color: #fff !important;
    border-color: #fff;
    transform: translateY(-1px);
}
.servicios-matriculados-btns .d_btn a {
    width: auto;
}

.informacion{
    background-color: #DDDDDD;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 10px;
    margin-top: -53px;
    padding-top: 60px;
    padding-bottom: 20px;
	margin-bottom: 20px;
    height: 100%;
}
.fecha_n{
    font-size: 13px;
    color: #831313;
    border-bottom: 3px solid #831313;
    display: table;
}
.titulo_n{
	font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 18px !important;
}
.titulo_n strong{
    font-weight: 600 !important;
}
.titulo_n1{
    font-size: 25px !important;
    font-weight: 400 !important;
    line-height: 23px !important;
}
.copete_n{
    font-size: 16px !important;
    line-height: 18px !important;
}
.btn_entrar1 a{
    padding: 8px 16px;
    min-width: 120px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
    color: var(--btn-outline-color);
    border: 1px solid var(--btn-outline-border);
    border-radius: 9999px;
    font-size: 13px;
}
.btn_entrar1 a:hover{
    background-color: var(--btn-primary-hover-bg);
    border-color: var(--btn-primary-hover-border);
    color: var(--btn-primary-color) !important;
}
.item{
    padding: 10px;
    border-radius: 10px;
    margin-bottom: 4px;
    background-color: #F1F5F9    ;
}
.fecha_n1{
    font-size: 13px;
    color: #fff;
    border: 1px solid #7F1211;
    display: table;
    background-color: #7F1211;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 15px;
    border-radius: 5px;
    padding-right: 15px;
}
.empresa{
	font-size: 13px;
	font-weight: 600;
}
.btn_entrar2 a{
    padding: 8px 20px;
    min-width: 160px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
    color: var(--btn-outline-color);
    border: 1px solid var(--btn-outline-border);
    border-radius: 9999px;
    font-size: 13px;
}
.btn_entrar2 a:hover{
    background-color: var(--btn-primary-hover-bg);
    border-color: var(--btn-primary-hover-border);
    color: var(--btn-primary-color) !important;
}
.seccion{
	background-color: none;
}
.seccion_tit{
    font-size: 16px;
    font-weight: 600;
    color: #862222;
	text-align: center
}
.contenido{
	padding: 10px;
}
.m_btn1 a {
    padding: 10px 12px;
    width: 100%;
    display: block;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
    color: var(--btn-outline-color);
    border: 1px solid var(--btn-outline-border);
    border-radius: 9999px;
    font-size: 13px;
}
.m_btn1 a:hover{
    background-color: var(--btn-primary-hover-bg);
    border-color: var(--btn-primary-hover-border);
    color: var(--btn-primary-color) !important;
}
/* Ícono campana en círculo destacado - estado de perfil (dropdown) */
.perfil-alerta-icon {
    position: relative;
    display: flex;
    cursor: pointer;
    padding: 0;
    outline: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    border-radius: 50%;
    border: 1px solid currentColor;
    background-color: rgba(0, 0, 0, 0.04);
    color: #6c757d;
    text-decoration: none !important;
    transition: color 0.2s, background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}
.perfil-alerta-icon:hover {
    color: var(--btn-primary-bg) !important;
    background-color: rgba(127, 18, 17, 0.06);
    border-color: var(--btn-primary-bg);
    box-shadow: 0 2px 6px rgba(127, 18, 17, 0.2);
}
.perfil-alerta-icon.perfil-incompleto {
    color: #ffc107;
    border-color: #ffc107;
    background-color: rgba(255, 193, 7, 0.15);
}
.perfil-alerta-icon.perfil-incompleto:hover {
    color: #e0a800 !important;
    border-color: #e0a800;
    background-color: rgba(255, 193, 7, 0.25);
    box-shadow: 0 2px 6px rgba(255, 193, 7, 0.35);
}
.perfil-alerta-icon i {
    font-size: 1rem;
}
.perfil-alerta-menu {
    min-width: 260px;
    max-width: min(100vw - 24px, 320px);
    /* Evita heredar color tenue de .contenido (sobre todo en tema oscuro) */
    background-color: #ffffff !important;
    border: 1px solid rgba(127, 18, 17, 0.35) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14) !important;
    padding: 0.5rem 0 !important;
    margin-top: 0.5rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.perfil-alerta-menu .dropdown-header {
    color: #1a1a1a !important;
    font-size: 0.875rem;
    font-weight: 600;
    white-space: normal !important;
    line-height: 1.35;
}
.perfil-alerta-menu .dropdown-header strong {
    color: #1a1a1a !important;
    font-weight: 700;
}
.perfil-alerta-menu .dropdown-item-text {
    color: #2d2d2d !important;
    font-size: 0.8125rem;
    line-height: 1.45;
    white-space: normal !important;
    padding: 0.4rem 0.9rem !important;
}
.perfil-alerta-menu .dropdown-item-text .text-muted {
    color: #5c5c5c !important;
    opacity: 1 !important;
}
.perfil-alerta-menu .dropdown-item {
    color: #7f1211 !important;
    font-weight: 500;
    border-radius: 0.375rem !important;
    margin: 0.15rem 0.4rem !important;
    width: calc(100% - 0.8rem) !important;
}
.perfil-alerta-menu .dropdown-item:hover,
.perfil-alerta-menu .dropdown-item:focus {
    background-color: rgba(127, 18, 17, 0.1) !important;
    color: #5a0d0c !important;
}
.perfil-alerta-menu .dropdown-divider {
    border-top-color: rgba(0, 0, 0, 0.1) !important;
}

.theme-dark .pagina-miciec .perfil-alerta-menu.dropdown-menu {
    background-color: #1e2a45 !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.5) !important;
}
.theme-dark .pagina-miciec .perfil-alerta-menu .dropdown-header,
.theme-dark .pagina-miciec .perfil-alerta-menu .dropdown-header strong {
    color: rgba(255, 255, 255, 0.96) !important;
}
.theme-dark .pagina-miciec .perfil-alerta-menu .dropdown-item-text {
    color: rgba(255, 255, 255, 0.9) !important;
}
.theme-dark .pagina-miciec .perfil-alerta-menu .dropdown-item-text .text-muted {
    color: rgba(255, 255, 255, 0.55) !important;
}
.theme-dark .pagina-miciec .perfil-alerta-menu .dropdown-item {
    color: #f5d4d3 !important;
}
.theme-dark .pagina-miciec .perfil-alerta-menu .dropdown-item:hover,
.theme-dark .pagina-miciec .perfil-alerta-menu .dropdown-item:focus {
    background-color: rgba(127, 34, 34, 0.45) !important;
    color: #ffffff !important;
}
.theme-dark .pagina-miciec .perfil-alerta-menu .dropdown-divider {
    border-top-color: rgba(255, 255, 255, 0.12) !important;
}
.theme-dark .pagina-miciec .perfil-alerta-menu .dropdown-header .text-warning {
    color: #ffd666 !important;
}
.theme-dark .pagina-miciec .perfil-alerta-menu .dropdown-header .text-success {
    color: #7dffb3 !important;
}
/* Mi CIEC — barra campana + acciones (responsive) */
.miciec-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-bottom: 0.25rem;
    width: 100%;
}
.miciec-toolbar-campana {
    flex: 0 0 auto;
    z-index: 2;
}
.miciec-toolbar-btn {
    flex: 1 1 8.5rem;
    min-width: 0;
    max-width: 14rem;
}
@media (min-width: 576px) {
    .miciec-toolbar-btn {
        flex: 0 1 12rem;
    }
}
@media (max-width: 575.98px) {
    .pagina-miciec .miciec-toolbar {
        justify-content: flex-end;
    }
    .pagina-miciec .miciec-toolbar-campana {
        margin-right: auto;
    }
    .pagina-miciec .miciec-toolbar-campana .dropdown-menu {
        left: 0;
        right: auto;
    }
}

.perfil-alerta-icon .perfil-alerta-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 600;
    color: #212529;
    background-color: #ffc107;
    border-radius: 9px;
    line-height: 1;
}
.m_btn2 {
    padding: 12px 20px;
    width: 100%;
    display: block;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.3s, border-color 0.3s;
    background-color: var(--btn-primary-bg);
    color: var(--btn-primary-color);
    border: 1px solid var(--btn-primary-border);
    border-radius: 9999px;
}
.m_btn2:hover {
    background-color: var(--btn-primary-hover-bg);
    border-color: var(--btn-primary-hover-border);
}
.caja1{
    border-radius: 10px;
    background-color: #EEEEEE;
	padding: 10px;
	height: 100%;
    background-image: url(../images/perfil.png);
    background-position: right center;
    background-repeat: no-repeat;
}
.caja2{
    border-radius: 10px;
    background-color: #EEEEEE;
	padding: 10px;
}
.habilitada{
    font-size: 18px;
    color: green;
    font-weight: 500;
}
.inactivo{
    font-size: 18px;
    color: red;
    font-weight: 500;
}
.credencial{
    background-color: #7F1714;
    color: white;
    padding: 10px;
    border-radius: 10px;
    background-image: url(../images/btn_cred.png);
    background-position: right bottom;
    background-repeat: no-repeat;
}
.expedientes{
    border-radius: 10px;
    border: 1px solid #CC4A14;
    padding: 10px;
    background-image: url(../images/c1.png);
    background-position: right center;
    background-repeat: no-repeat;
}
.certificados{
    border-radius: 10px;
    border: 1px solid #F8522C;
	padding: 10px;
	background-image: url(../images/c2.png);
    background-position: right center;
    background-repeat: no-repeat;
}
.pericia{
    border-radius: 10px;
    border: 1px solid #A64D4A;
	padding: 10px;
	background-image: url(../images/c3.png);
    background-position: right center;
    background-repeat: no-repeat;
}

/* Mi CIEC — tarjetas de estadísticas: misma altura, ancho sin cambios */
.miciec-stat-card {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}
.miciec-stat-card__pendientes {
    min-height: 1.75rem;
    margin-top: auto;
    font-size: 14px;
    color: #ffc107;
}

/* Mi CIEC — popup novedad certificados 10k */
.miciec-novedad-10k-modal .modal-dialog {
    max-width: 640px;
}
.miciec-novedad-10k-modal .modal-content {
    border: none;
    border-radius: 18px;
    overflow: hidden;
    box-shadow:
        0 24px 60px rgba(15, 23, 42, 0.28),
        0 0 0 1px rgba(127, 18, 17, 0.08);
    transform: scale(0.94) translateY(12px);
    opacity: 0;
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
}
.miciec-novedad-10k-modal.is-visible .modal-content,
.miciec-novedad-10k-modal.show .modal-content {
    transform: scale(1) translateY(0);
    opacity: 1;
}
.modal-backdrop.miciec-novedad-10k-backdrop {
    backdrop-filter: blur(4px);
}
.miciec-novedad-10k-modal__hero {
    position: relative;
    height: 118px;
    overflow: hidden;
}
.miciec-novedad-10k-modal__hero-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 120%, rgba(255, 255, 255, 0.18) 0%, transparent 45%),
        radial-gradient(circle at 85% -20%, rgba(255, 210, 210, 0.35) 0%, transparent 50%),
        linear-gradient(135deg, #5a0d0d 0%, #7f1211 42%, #a01816 100%);
}
.miciec-novedad-10k-modal__hero-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0.12;
    background-image:
        linear-gradient(45deg, rgba(255, 255, 255, 0.4) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4) 75%, transparent 75%, transparent);
    background-size: 18px 18px;
}
.miciec-novedad-10k-modal__hero-icon {
    position: absolute;
    left: 50%;
    bottom: -34px;
    transform: translateX(-50%);
    width: 72px;
    height: 72px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #fff 0%, #f8ecec 100%);
    border: 4px solid #fff;
    box-shadow:
        0 10px 28px rgba(127, 18, 17, 0.28),
        0 0 0 6px rgba(127, 18, 17, 0.08);
    z-index: 2;
    animation: miciecNovedadPulse 2.8s ease-in-out infinite;
}
.miciec-novedad-10k-modal__hero-icon i {
    font-size: 1.65rem;
    color: #7f1211;
}
@keyframes miciecNovedadPulse {
    0%, 100% { box-shadow: 0 10px 28px rgba(127, 18, 17, 0.28), 0 0 0 6px rgba(127, 18, 17, 0.08); }
    50% { box-shadow: 0 12px 32px rgba(127, 18, 17, 0.38), 0 0 0 10px rgba(127, 18, 17, 0.12); }
}
.miciec-novedad-10k-modal__close {
    position: absolute;
    top: 10px;
    right: 14px;
    z-index: 3;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-size: 1.5rem;
    line-height: 1;
    opacity: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, transform 0.2s ease;
}
.miciec-novedad-10k-modal__close:hover {
    background: rgba(255, 255, 255, 0.28);
    color: #fff;
    transform: scale(1.05);
}
.miciec-novedad-10k-modal .modal-body {
    padding: 2.75rem 1.75rem 1.25rem;
    background:
        radial-gradient(ellipse 90% 60% at 50% 0%, rgba(127, 18, 17, 0.06) 0%, transparent 70%),
        linear-gradient(180deg, #fff 0%, #fffaf9 100%);
}
.miciec-novedad-10k-modal__content {
    text-align: center;
}
.miciec-novedad-10k-modal .highlight-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.9rem;
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
    background: rgba(127, 18, 17, 0.09);
    color: #7f1211;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border: 1px solid rgba(127, 18, 17, 0.14);
}
.miciec-novedad-10k-modal .highlight-title {
    font-size: clamp(1.15rem, 3.2vw, 1.45rem);
    font-weight: 800;
    color: #7f1211;
    text-transform: uppercase;
    line-height: 1.25;
    margin-bottom: 0.85rem;
    letter-spacing: 0.02em;
}
.miciec-novedad-10k-modal .highlight-text {
    font-size: 14px;
    line-height: 1.7;
    color: #4a5568;
    margin: 0 auto 1.35rem;
    max-width: 520px;
}
.miciec-novedad-10k-modal .highlight-points {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    text-align: left;
}
.miciec-novedad-10k-modal .highlight-points li {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.55rem;
    padding: 1rem 0.75rem 0.9rem;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(127, 18, 17, 0.1);
    box-shadow: 0 4px 14px rgba(127, 18, 17, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.miciec-novedad-10k-modal .highlight-points li:hover {
    transform: translateY(-2px);
    border-color: rgba(127, 18, 17, 0.22);
    box-shadow: 0 8px 22px rgba(127, 18, 17, 0.12);
}
.miciec-novedad-10k-modal .highlight-point-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, rgba(127, 18, 17, 0.12) 0%, rgba(127, 18, 17, 0.06) 100%);
    color: #7f1211;
    font-size: 1rem;
    flex-shrink: 0;
}
.miciec-novedad-10k-modal .highlight-point-text {
    font-size: 11px;
    font-weight: 700;
    line-height: 1.45;
    color: #2d3748;
    letter-spacing: 0.01em;
}
.miciec-novedad-10k-modal__footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.85rem;
    padding: 1rem 1.75rem 1.35rem;
    border-top: 1px solid rgba(127, 18, 17, 0.1);
    background: linear-gradient(180deg, #faf7f7 0%, #f3ecec 100%);
}
.miciec-novedad-10k-modal__omitir {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 12px;
    color: #64748b;
    cursor: pointer;
    user-select: none;
    margin: 0;
}
.miciec-novedad-10k-modal__omitir input {
    width: 15px;
    height: 15px;
    accent-color: #7f1211;
    cursor: pointer;
}
.miciec-novedad-10k-modal__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}
.miciec-novedad-10k-modal__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.miciec-novedad-10k-modal__btn:hover {
    text-decoration: none;
    transform: translateY(-1px);
}
.miciec-novedad-10k-modal__btn--outline {
    background: #fff;
    color: #7f1211;
    border: 1.5px solid rgba(127, 18, 17, 0.35);
    box-shadow: 0 2px 8px rgba(127, 18, 17, 0.08);
}
.miciec-novedad-10k-modal__btn--outline:hover {
    background: #7f1211;
    color: #fff;
    border-color: #7f1211;
    box-shadow: 0 6px 16px rgba(127, 18, 17, 0.22);
}
.miciec-novedad-10k-modal__btn--primary {
    background: linear-gradient(135deg, #7f1211 0%, #a01816 100%);
    color: #fff;
    box-shadow: 0 6px 18px rgba(127, 18, 17, 0.28);
}
.miciec-novedad-10k-modal__btn--primary:hover {
    background: linear-gradient(135deg, #5a0d0d 0%, #7f1211 100%);
    color: #fff;
    box-shadow: 0 8px 22px rgba(127, 18, 17, 0.34);
}
@media (max-width: 767px) {
    .miciec-novedad-10k-modal .modal-body {
        padding: 2.5rem 1.15rem 1rem;
    }
    .miciec-novedad-10k-modal .highlight-points {
        grid-template-columns: 1fr;
    }
    .miciec-novedad-10k-modal__footer {
        flex-direction: column;
        align-items: stretch;
        padding: 1rem 1.15rem 1.15rem;
    }
    .miciec-novedad-10k-modal__actions {
        flex-direction: column;
    }
    .miciec-novedad-10k-modal__btn {
        width: 100%;
    }
    .miciec-novedad-10k-modal .highlight-points li {
        flex-direction: row;
        text-align: left;
        align-items: center;
    }
}
.theme-dark .miciec-novedad-10k-modal .modal-content {
    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.55),
        0 0 0 1px rgba(166, 77, 74, 0.25);
}
.theme-dark .miciec-novedad-10k-modal .modal-body {
    background:
        radial-gradient(ellipse 90% 60% at 50% 0%, rgba(166, 77, 74, 0.15) 0%, transparent 70%),
        linear-gradient(180deg, #1f1f1f 0%, #181818 100%);
}
.theme-dark .miciec-novedad-10k-modal .highlight-text {
    color: rgba(255, 255, 255, 0.82);
}
.theme-dark .miciec-novedad-10k-modal .highlight-points li {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(166, 77, 74, 0.28);
    box-shadow: none;
}
.theme-dark .miciec-novedad-10k-modal .highlight-point-text {
    color: rgba(255, 255, 255, 0.9);
}
.theme-dark .miciec-novedad-10k-modal__footer {
    background: linear-gradient(180deg, #222 0%, #1a1a1a 100%);
    border-top-color: rgba(166, 77, 74, 0.22);
}
.theme-dark .miciec-novedad-10k-modal__omitir {
    color: rgba(255, 255, 255, 0.65);
}
.theme-dark .miciec-novedad-10k-modal__btn--outline {
    background: transparent;
    color: #e8a0a0;
    border-color: rgba(166, 77, 74, 0.45);
}
.theme-dark .miciec-novedad-10k-modal__btn--outline:hover {
    background: #7f1211;
    color: #fff;
}

/* Gestión de expedientes (listado) — mismo look modo día sin estilos en línea */
.pagina-gestion-expedientes .expedientes-card-buscador {
    border: 1px solid #7f1714;
    border-radius: 8px;
    overflow: hidden;
}
.pagina-gestion-expedientes .expedientes-card-buscador__header {
    background-color: #7f1211;
    color: #fff;
    font-weight: bold;
    padding: 10px 15px;
}
.pagina-gestion-expedientes .expedientes-card-buscador__body {
    padding: 20px;
}
.pagina-gestion-expedientes .expedientes-card-buscador__input {
    padding: 8px;
    border-radius: 5px;
    border: 1px solid #7f1714;
    font-size: 13px;
    max-width: 400px;
}
.pagina-gestion-expedientes .expedientes-card-buscador__btn-buscar {
    border: 1px solid #7f1211;
    color: #7f1211;
}
.pagina-gestion-expedientes .expedientes-card-item {
    border-left: 4px solid #7f1211;
}
.pagina-gestion-expedientes .expedientes-card-item--10k {
    border-left-color: #28a745;
}

.pagina-gestion-expedientes .expedientes-card-buscador__input[type="file"] {
    max-width: none;
}

/* Gestión de pericias — procedimiento / NUEVA PERICIA (modo día) */
.procedimiento-pericias {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: stretch;
}
.pagina-gestion-pericias .procedimiento-box {
    flex: 1 1 260px;
    border: 2px solid #dee2e6;
    border-radius: 10px;
    padding: 20px;
    background-color: #f8f9fa;
    box-sizing: border-box;
}
.pagina-gestion-pericias .procedimiento-box--accion {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
}
.pagina-gestion-pericias .procedimiento-pericias__btn-inline.m_btn {
    width: auto;
    display: inline-block;
}
.pagina-gestion-pericias .procedimiento-pericias__btn-inline.m_btn a {
    width: auto;
    display: inline-block;
    padding: 8px 20px;
}
.pagina-gestion-pericias .pericias-card-item {
    border-left: 4px solid #ff6b35;
}

.numero{
	font-size: 40px;
	font-weight: 400
}
.color{
	color: #862222;
    font-weight: 400;
}
.contenido1{
    background-color: var(--bg-contenido1, #E1E1E1); 
    padding: 10px
}
.seccion-2{
    background-color: var(--bg-contenido1, #E1E1E1); 
}
.text_cole{
	font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-size: 13px !important;
	font-weight: 300;
    color: #fff;
	text-align: center
}
.dropdown-menu{
    background-color: #a4a0a0 !important;
    border: 1px solid #7f1211 !important;
    border-radius: 5px !important;
    padding: 10px !important;
    margin-top: 10px !important;
    margin-left: 10px !important;
    margin-right: 10px !important;
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
}
.dropdown-item{
    color: #ffffff !important;
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    padding: 5px 10px !important;
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    border-radius: 5px !important;
    transition: background-color 0.3s ease !important;
}

/* Dropdown en modo oscuro */
.theme-dark .dropdown-menu {
    background-color: #1f2b4d !important;
    border-color: rgba(127, 34, 34, 0.8) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.theme-dark .dropdown-item {
    color: rgba(255, 255, 255, 0.95) !important;
}
.theme-dark .dropdown-item:hover,
.theme-dark .dropdown-item:focus {
    background-color: rgba(127, 34, 34, 0.6) !important;
    color: #ffffff !important;
}
.theme-dark .dropdown-divider {
    border-top-color: rgba(255, 255, 255, 0.15) !important;
}
.theme-dark .navbar .dropdown-menu .dropdown-item {
    color: rgba(255, 255, 255, 0.95) !important;
}
.carrito{
    background-color: #fff;
    padding: 10px;
    border-radius: 8px;
    border: 2px solid #7f1211 !important;
    background-image: url('../images/carrito_icon.png');
    background-repeat: no-repeat;
    background-position: right center;
}

.total-deuda{
    background-color: #fff8f8;
    padding: 10px;
    border-radius: 8px;
    border: 2px solid #b85450 !important;
    background-image: url('../images/deuda_icon.png');
    background-repeat: no-repeat;
    background-position: right center;
}

.total-deuda .numero{
    color: #8b3a3a;
}

.total-deuda strong{
    color: #6d2828;
}

#email-carrito {
    font-size: 13px !important;
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
}

.btn-carrito-entrar {
    padding: 8px 20px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    background-color: #7f1211;
    color: #ffffff !important;
    border: 1px solid #7f1211;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 500;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.btn-carrito-entrar:hover {
    background-color: #ffffff;
    color: #7f1211;
    border-color: #7f1211;
    text-decoration: none;
}
.debito-automatico{
    background-image: url('../images/chanchi.png');
    background-repeat: no-repeat;
    background-position: left center;
    color: #000000;
    padding: 10px 10px 10px 30px;
    border-radius: 8px;
    border: 2px solid #407c4e !important;
    font-size: 14px;
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 400;
}
.btn-debito-automatico{
    border: 1px solid #407c4e !important;
    color: #407c4e !important;
    padding: 10px;
    border-radius: 8px;
    font-size: 14px;
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 400;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.btn-debito-automatico:hover{
    background-color: #407c4e !important;
    color: #ffffff !important;
    text-decoration: none !important;
}
.debito-automatico-ya-adherido {
    background-image: url('../images/chanchi.png');
    background-repeat: no-repeat;
    background-position: left center;
    color: #000000;
    padding: 10px 10px 10px 30px;
    border-radius: 8px;
    border: 2px solid #407c4e !important;
    font-size: 14px;
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 400;
    box-sizing: border-box;
}
.debito-automatico-ya-adherido p,
.debito-automatico-ya-adherido b {
    color: inherit;
}
.pasos-pagotic{
    background-image: url('../images/billetera.png');
    background-repeat: no-repeat;
    background-position: left top;
    color: #000000;
    padding: 10px;
    border-radius: 8px;
    border: 2px solid #407c4e !important;
    font-size: 14px;
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 400;
}
.btn-pasos-pagotic{
    border: 1px solid #407c4e !important;
    color: #407c4e !important;
    padding: 10px;
    border-radius: 8px;
    font-size: 14px;
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 400;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.btn-pasos-pagotic:hover{
    background-color: #407c4e !important;
    color: #ffffff !important;
    text-decoration: none !important;
}
.recuadro{
    border: 1px solid #7F1714;
    border-radius: 8px;
    padding: 10px;
}
.paso {
    display: none;
  }
  .paso.activo {
      display: block;
  }
  
  /* Estilos para el indicador de pasos */
.indicador-pasos {
display: flex;
justify-content: space-between;
margin-bottom: 20px;
margin-top: 30px;
background-image: url(../images/linea.jpg);
background-repeat: no-repeat;
background-position: center center;
  }
  
  .paso-indicador {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background-color: #f0f0f0;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0;
      position: relative;
      color: white;
      font-weight: bold;
      font-size: 18px
  }
  
  .paso-indicador.activo {
      background-color: #7F1211;
      color: white;
  }
  
  .paso-indicador.completado {
      background-color: #7F1211;
      color: white;
  }
  
  /* LÃ­nea conectora entre cÃ­rculos */
  .paso-indicador:not(:last-child):after {
      content: '';
      position: absolute;
      width: 40px;
      height: 2px;
      background-color: #f0f0f0;
      right: -40px;
      top: 50%;
  }
  
  .paso-indicador.completado:after {
      background-color: none;
  }
  .demoInputBox{
    width: 100%;
    padding: 8px;
    border-radius: 5px;
    border: 1px solid #7F1714;
    font-size: 13px;
  }
  .noticias{

    background-position: right top;
    background-repeat: no-repeat;
  }
  .slider-noticias{
    background-color: #fefefe;
    border: 2px solid #E5E7EF;
    border-radius: 10px;
    box-shadow: 0 2px 14px rgba(15, 23, 42, 0.06);
    overflow: hidden;
  }

  /* Diagonal que divide texto e imagen en el slider de noticias destacadas */
  .slide-diagonal-row {
    overflow: hidden;
    min-height: 280px;
  }
  .slide-diagonal-texto {
    clip-path: polygon(0 0, 100% 0, 92% 100%, 0 100%);
    padding-right: 2rem;
    padding-left: 0.5rem;
  }
  .slide-diagonal-texto-inner {
    padding-right: 1rem;
  }
  .slide-diagonal-imagen {
    clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%);
    padding-left: 0;
  }
  .slide-diagonal-imagen .img-fluid {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .copete{
    font-size: 13px;
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
  }
  .titulo_nota{
    font-size: 14px;
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 600 !important;
  }
  .degrade{
    background: #f6f6f8;
    padding-top: 20px;
    padding-bottom: 20px;
  }
.instagramcard{
    background: #833AB4;
background: linear-gradient(150deg, rgba(131, 58, 180, 1) 0%, rgba(253, 29, 29, 1) 50%, rgba(252, 176, 69, 1) 100%);
    padding: 10px !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    perspective: 600px;
}
.instagramcard .card-body > div:first-child {
    display: inline-block;
    transition: transform 0.5s ease;
    transform-style: preserve-3d;
}
.instagramcard .card-body > div:first-child i {
    transition: transform 0.35s ease;
}
.instagramcard:hover .card-body > div:first-child {
    transform: rotateY(180deg);
}
.instagramcard:hover .card-body > div:first-child i {
    transform: scale(1.2) rotate(-5deg);
}
.matriculacioncard{
    background-color: #fff;
    padding: 10px !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    position: relative;
    overflow: hidden;
    perspective: 600px;
}
.matriculacioncard::before{
    content: "\f234";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 8rem;
    position: absolute;
    right: -1rem;
    bottom: -1rem;
    opacity: 0.12;
    color: #862222;
    pointer-events: none;
    z-index: 0;
}
.matriculacioncard > * {
    position: relative;
    z-index: 1;
}
.circulomatriculacion{
    background-color: #862222;
    padding: 10px;
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    width: 60px;
    height: 60px;
    transition: transform 0.5s ease;
    transform-style: preserve-3d;
}
.circulomatriculacion i {
    transition: transform 0.35s ease;
}
.matriculacioncard:hover .circulomatriculacion {
    transform: rotateY(180deg);
}
.matriculacioncard:hover .circulomatriculacion i {
    transform: scale(1.2) rotate(-5deg);
}
.circuloprematriculacion{
    background-color: #1467D4;
    padding: 10px;
    border-radius: 50%;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    width: 60px;
    height: 60px;
    transition: transform 0.5s ease;
    transform-style: preserve-3d;
}
.circuloprematriculacion i {
    transition: transform 0.35s ease;
}
.prematriculacioncard:hover .circuloprematriculacion {
    transform: rotateY(180deg);
}
.prematriculacioncard:hover .circuloprematriculacion i {
    transform: scale(1.2) rotate(-5deg);
}
.prematriculacioncard{
    background-color: #fff;
    padding: 10px !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    position: relative;
    overflow: hidden;
    perspective: 600px;
}
.prematriculacioncard::before{
    content: "\f501";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 8rem;
    position: absolute;
    right: -1rem;
    bottom: -1rem;
    opacity: 0.12;
    color: #1467D4;
    pointer-events: none;
    z-index: 0;
}
.prematriculacioncard > * {
    position: relative;
    z-index: 1;
}
.dictamenescard{
    background-color: #fff;
    padding: 10px !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    position: relative;
    overflow: hidden;
    perspective: 600px;
}
.dictamenescard::before{
    content: "\f4fc";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 8rem;
    position: absolute;
    right: -1rem;
    bottom: -1rem;
    opacity: 0.12;
    color: #056B64;
    pointer-events: none;
    z-index: 0;
}
.dictamenescard > * {
    position: relative;
    z-index: 1;
}
.circulodictamenes{
    background-color: #056B64;
    padding: 10px;
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    width: 60px;
    height: 60px;
    transition: transform 0.5s ease;
    transform-style: preserve-3d;
}
.circulodictamenes i {
    transition: transform 0.35s ease;
}
.dictamenescard:hover .circulodictamenes {
    transform: rotateY(180deg);
}
.dictamenescard:hover .circulodictamenes i {
    transform: scale(1.2) rotate(-5deg);
}
.destacados{
    font-size: 13px;
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    color: #084bd2;
    text-align: center;
    margin-top: 30px;
    margin-bottom: 10px;
    border: 1px solid #b8d3fb;
    padding: 1px 20px;
    display: table;
    border-radius: 9999px;
}

/* Cápsula en todos los botones */
button,
.btn,
.login .btn,
input[type="submit"],
input[type="button"],
.btn_busc a,
.btn_entrar1 a,
.btn_entrar2 a,
.m_btn1 a,
.m_btn2,
.m_btn2 a,
.miciec-breadcrumb-btn,
.d_btn a,
.instagram_seguir a,
.fecha_n1,
.dropdown-item,
.btn-carrito-entrar,
.btn-debito-automatico,
.btn-pasos-pagotic {
    border-radius: 9999px !important;
}
.seccion-1{
    background-color: var(--bg-body) !important;
	border-top: 1px solid rgba(180, 200, 255, 0.28);
    border-bottom: 1px solid rgba(180, 200, 255, 0.28);
}

/* Modo noche (tema oscuro) */
.theme-dark body { color: var(--text-body); }
.theme-dark a {
    color: var(--btn-outline-color) !important;
}
.theme-dark a:hover {
    color: #ffffff !important;
}
.theme-dark .login a {
    color: #ffffff !important;
}
.theme-dark .login a:hover {
    color: #f0f0f0 !important;
}
.theme-dark .bg-white,
.theme-dark [style*="background-color: #fff"],
.theme-dark [style*="background-color:#fff"] {
    background-color: var(--bg-surface) !important;
    color: var(--text-body);
}
/*
 * Tarjetas Bootstrap — borde degradado unificado salvo especiales (home, Instagram,
 * trio matriculación, formularios con .border-danger insertados dinámicamente).
 */
.theme-dark .card:not(.instagramcard):not(.home-buscador-card):not(.matriculacioncard):not(.prematriculacioncard):not(.dictamenescard):not(.border-danger) {
    border: 2px solid transparent !important;
    background-color: transparent !important;
    color: var(--text-body);
    background-image: var(--card-inner-fill), var(--card-border-glow);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.22);
}
.theme-dark .card:not(.instagramcard):not(.home-buscador-card):not(.matriculacioncard):not(.prematriculacioncard):not(.dictamenescard):not(.border-danger) .card-body {
    background-color: transparent !important;
    border-color: transparent !important;
    color: var(--text-body);
}
/* Formularios con alerta/error explícitos */
.theme-dark .card.border-danger .card-body {
    background-color: var(--bg-surface-alt) !important;
}
.theme-dark .instagramcard,
.theme-dark .instagramcard .card-body {
    background: linear-gradient(90deg, rgba(131, 58, 180, 1) 0%, rgba(253, 29, 29, 1) 50%, rgba(252, 176, 69, 1) 100%) !important;
    background-color: transparent !important;
    color: #ffffff;
    border-color: transparent;
}
.theme-dark .instagramcard .card-body {
    background: transparent !important;
}
.theme-dark .degrade {
    background: var(--bg-body) !important; 
}
.theme-dark .item {
    border: 2px solid transparent !important;
    color: var(--text-body);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
    background-color: transparent !important;
    background-image: var(--card-inner-fill), var(--card-border-glow);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
}
.theme-dark .btn_busc a {
    color: var(--btn-outline-color) !important;
    border-color: var(--btn-outline-border) !important;
}
.theme-dark .btn_entrar1 a,
.theme-dark .btn_entrar2 a {
    color: var(--btn-outline-color) !important;
    border: 1px solid #632D2C !important;
}
.theme-dark .btn_busc a:hover {
    background-color: var(--btn-primary-hover-bg) !important;
    border-color: var(--btn-primary-hover-border) !important;
    color: var(--btn-primary-color) !important;
}
.theme-dark .btn_entrar1 a:hover,
.theme-dark .btn_entrar2 a:hover {
    background-color: var(--btn-primary-hover-bg) !important;
    border-color: #632D2C !important;
    color: var(--btn-primary-color) !important;
}
/* ENTRAR solo en noticias (slider destacadas + card NOTICIAS): texto y borde #F0F0F0 */
.theme-dark .slider-noticias .btn_entrar1 a,
.theme-dark .card-body:has(.circulo-noticias) .btn_entrar1 a {
    color: #f0f0f0 !important;
    border: 1px solid #632D2C !important;
}
.theme-dark .slider-noticias .btn_entrar1 a:hover,
.theme-dark .card-body:has(.circulo-noticias) .btn_entrar1 a:hover {
    color: #ffffff !important;
    border-color: #632D2C !important;
}
.theme-dark .slider-noticias {
    border: 2px solid transparent !important;
    background-color: transparent !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.22);
    border-radius: 10px;
    overflow: hidden;
    background-image:
        var(--card-inner-fill), var(--card-border-glow);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
}
.theme-dark .slide-diagonal-row {
    background: var(--bg-body) !important; 
}
.theme-dark .seccion_mat {
    color: #ffffff !important;
    border-bottom-color: rgba(255, 255, 255, 0.5) !important;
}
.theme-dark .titulo_busc,
.theme-dark .titulo_n,
.theme-dark .titulo_n1,
.theme-dark .titulo_nota,
.theme-dark .copete,
.theme-dark .copete_n,
.theme-dark .desc_busc,
.theme-dark .fecha_n,
.theme-dark .empresa {
    color: var(--text-body) !important;
}
.theme-dark .home-seccion-buscadores {
    background-color: #020b1b !important;
    border-top: 1px solid #314b6b;
    border-bottom: 1px solid #314b6b;
}
/* Buscadores home: solo borde luminoso; interior = mismo fondo que la franja (sin panel #0a1931) */
.theme-dark .home-buscador-card {
    background-color: transparent !important;
    border: 2px solid transparent !important;
    box-shadow: none !important;
    background-image:
        var(--card-inner-fill), var(--card-border-glow);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
}
.theme-dark .home-buscador-card .card-body {
    background-color: transparent !important;
}
.theme-dark .informacion,
.theme-dark .matriculados_busc,
.theme-dark .caja2 {
    background-color: var(--bg-surface-alt) !important;
    color: var(--text-body);
    border: 2px solid transparent !important;
    background-image:
        var(--card-inner-fill), var(--card-border-glow);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
}
/* Misma tarjeta + borde degradado que .caja2; imagen de perfil como capa superior (no sustituir background-image) */
.theme-dark .caja1 {
    background-color: var(--bg-surface-alt) !important;
    color: var(--text-body);
    border: 2px solid transparent !important;
    background-image:
        url(../images/perfil1.png),
        var(--card-inner-fill), var(--card-border-glow);
    background-position: right center, 0 0, 0 0;
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-origin: padding-box, padding-box, border-box;
    background-clip: padding-box, padding-box, border-box;
}
.theme-dark input.input_buscadores,
.theme-dark .demoInputBox {
    background-color: var(--bg-input) !important;
    color: var(--text-body);
    border: 1px solid var(--border-input-soft) !important;
}
.theme-dark .text-muted { color: #b0b0b0 !important; }
.theme-dark main { background-color: var(--bg-body); }

/* Botonera (navbar principal) — modo oscuro */
.theme-dark .app-navbar {
    background-color: #020b1b !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}

/* Login — modo oscuro: degradado */
.theme-dark .login {
    background: #801211 !important;
    /* Degradado tipo referencia: rojo intenso en ~25% superior, casi vertical (165deg), mitad inferior #020B1B */
    background: linear-gradient(
        165deg,
        rgba(128, 18, 17, 1) 0%,
        rgba(128, 18, 17, 1) 26%,
        rgba(55, 16, 20, 1) 52%,
        rgba(2, 11, 27, 1) 78%,
        rgba(2, 11, 27, 1) 100%
    ) !important;
}

/* Usuario logueado: enlaces tipo .btn tienen .text-white (Bootstrap) y .theme-dark a:hover fuerza blanco;
   en hover el fondo pasa a blanco (.login .btn:hover) → el texto debe quedar borgoña sí o sí */
html.theme-dark .login a.btn.btn-danger:hover,
html.theme-dark .login a.btn.btn-danger:focus,
html.theme-dark .login button.btn.btn-danger:hover,
html.theme-dark .login button.btn.btn-danger:focus {
    background-color: #ffffff !important;
    color: #7f1211 !important;
    border-color: #7f1211 !important;
}

.theme-dark .login a.login-link-accion {
    color: var(--btn-outline-color) !important;
    border: 1px solid var(--btn-outline-border) !important;
    padding: 0.2rem 0.6rem !important;
    border-radius: 9999px !important;
    display: inline-block !important;
    text-decoration: none !important;
    background-color: transparent !important;
}
.theme-dark .login a.login-link-accion:hover,
.theme-dark .login a.login-link-accion:focus {
    color: #7f1211 !important;
    background-color: #ffffff !important;
    border: 1px solid #7f1211 !important;
    padding: 0.2rem 0.6rem !important;
    border-radius: 9999px !important;
    text-decoration: none !important;
}

/* NOTICIAS DESTACADAS — modo oscuro */
.theme-dark .destacados {
    color: #4dbddb !important;
    border-color: #4dbddb !important;
}

/* Header institucional — modo oscuro: fondo y marco superior e inferior */
.theme-dark .header-institucional {
    background-color: #020b1b !important;
    border-top: 1px solid #38476a !important;
    border-bottom: 1px solid #38476a !important;
}

/* Header institucional en modo noche: texto blanco */
html.theme-dark .header-institucional .site-title,
html.theme-dark .header-institucional .ley-title,
.theme-dark .header-institucional .site-title,
.theme-dark .header-institucional .site-title1,
.theme-dark .header-institucional .ley-title {
    color: #ffffff !important;
}

/* Cards Matriculación / Prematriculación / Dictámenes en modo noche — borde: centro casi igual al fondo del sitio, esquinas más luminosas */
.theme-dark .matriculacioncard,
.theme-dark .prematriculacioncard,
.theme-dark .dictamenescard {
    background-color: transparent !important;
    border: 2px solid transparent !important;
    background-image:
        var(--card-inner-fill), var(--card-border-glow);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
}

/* Banner con video (#servicios-track): mismo borde/fondo que .dictamenescard en modo noche */
.theme-dark .servicios#servicios-track {
    background-color: transparent !important;
    border: 2px solid transparent !important;
    background-image:
        var(--card-inner-fill), var(--card-border-glow);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
}

.theme-dark .circulomatriculacion {
    background-color: #701826 !important;
}
.theme-dark .circuloprematriculacion {
    background-color: #1d3b76 !important;
    color: #ffffff !important;
}
.theme-dark .circulodictamenes {
    background-color: #056B64 !important;
    color: #ffffff !important;
}
.theme-dark .matriculacioncard::before {
    color: rgba(200, 80, 80, 0.2);
    opacity: 1;
}
.theme-dark .prematriculacioncard::before {
    color: rgba(255, 165, 80, 0.1);
    opacity: 1;
}
.theme-dark .dictamenescard::before {
    color: rgba(80, 200, 190, 0.12);
    opacity: 1;
}
.theme-dark .m_seccion {
    color: var(--text-body) !important;
}
.theme-dark .m_titulo {
    color: #e8b4b4 !important;
}
.theme-dark .m_btn a {
    color: var(--btn-outline-color) !important;
    border-color: var(--btn-outline-border) !important;
}
.theme-dark .m_btn a:hover {
    background-color: var(--btn-primary-hover-bg) !important;
    color: var(--btn-primary-color) !important;
    border-color: var(--btn-primary-hover-border) !important;
}
.theme-dark .matriculacion {
    background-color: var(--bg-surface-alt) !important;
}
.theme-dark .dictamenes-peritos {
    background-color: transparent !important;
    border: 2px solid transparent !important;
    background-image:
        linear-gradient(90deg, rgba(2, 11, 27, 1) 0%, rgba(118, 19, 33, 1) 100%),
        var(--card-border-glow);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
}
.theme-dark .dictamenes-instructivo {
    background-color: transparent !important;
    border: 2px solid transparent !important;
    background-image:
        linear-gradient(90deg, rgba(2, 11, 27, 1) 0%, rgba(8, 26, 73, 1) 100%),
        var(--card-border-glow);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
}
.theme-dark .d_seccion,
.theme-dark .d_titulo {
    color: #fff !important;
}
.theme-dark .d_btn a {
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.8) !important;
    background-color: transparent !important;
}
.theme-dark .d_btn a:hover {
    background-color: rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
}

/* Mi CIEC - modo noche */
.theme-dark .seccion {
    background-color: var(--bg-surface-alt) !important;
}

/* Mi CIEC — cabecera logo + título (miciec/index, .miciec-cabecera) */
.theme-dark .pagina-miciec .miciec-cabecera,
.theme-dark .pagina-miciec .miciec-cabecera .seccion {
    background-color: var(--bg-surface-alt) !important;
}
.theme-dark .pagina-miciec .miciec-cabecera {
    border-top: 1px solid rgba(180, 200, 255, 0.28);
    border-bottom: 1px solid rgba(180, 200, 255, 0.28);
}
.theme-dark .seccion-1 {
    background-color: var(--bg-surface-alt) !important;
}
.theme-dark .seccion-2 {
    background-color: rgba(37,37,54,1.00) !important;
}

.theme-dark .pagina-miciec .seccion-2,
.theme-dark .pagina-interna .seccion-2 {
    background-color: none !important;
}
/* Páginas internas (Mi CIEC, Cuotas, Expedientes, Certificados, Pericias, Carrito): fondo unificado */
.theme-dark .pagina-miciec .contenido,
.theme-dark .pagina-interna .contenido,
.theme-dark .pagina-interna {
    background-color: var(--bg-body) !important;
    color: var(--text-body);
}
.theme-dark .contenido1 {
    color: var(--text-body);
    border-color: var(--border-subtle);
}
.theme-dark .seccion_pie {
    color: var(--text-body) !important;
    border-color: var(--border-subtle);
}
.theme-dark .seccion_informacion .seccion_texto a {
    color: rgba(232, 236, 243, 0.95) !important;
}
.theme-dark .seccion_informacion .seccion_texto a:hover {
    color: #e8b4b4 !important;
}
.theme-dark .expedientes,
.theme-dark .certificados,
.theme-dark .pericia {
    background-color: var(--bg-surface-alt) !important;
    color: var(--text-body);
    border: 2px solid transparent !important;
    background-position: right center, 0 0, 0 0;
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-origin: padding-box, padding-box, border-box;
    background-clip: padding-box, padding-box, border-box;
}
.theme-dark .expedientes {
    background-image:
        url(../images/c1.png),
        var(--card-inner-fill), var(--card-border-glow);
}
.theme-dark .certificados {
    background-image:
        url(../images/c2.png),
        var(--card-inner-fill), var(--card-border-glow);
}
.theme-dark .pericia {
    background-image:
        url(../images/c3.png),
        var(--card-inner-fill), var(--card-border-glow);
}
.theme-dark .expedientes .numero,
.theme-dark .certificados .numero,
.theme-dark .pericia .numero {
    color: var(--text-body) !important;
}
.theme-dark .expedientes div:first-child,
.theme-dark .certificados div:first-child,
.theme-dark .pericia div:first-child {
    color: var(--text-body) !important;
}
.theme-dark .color {
    color: #e8b4b4 !important;
}
.theme-dark .perfil-alerta-icon {
    color: #adb5bd;
    background-color: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.25);
}
.theme-dark .perfil-alerta-icon.perfil-incompleto {
    color: #ffc107;
    border-color: #ffc107;
    background-color: rgba(255, 193, 7, 0.12);
}
.theme-dark .m_btn1 a {
    color: var(--btn-outline-color) !important;
    border-color: var(--btn-outline-border) !important;
}
.theme-dark .m_btn1 a:hover {
    background-color: var(--btn-primary-hover-bg) !important;
    color: var(--btn-primary-color) !important;
    border-color: var(--btn-primary-hover-border) !important;
}
.theme-dark .m_btn2 {
    background-color: var(--btn-primary-bg) !important;
    border-color: var(--btn-primary-border) !important;
    color: var(--btn-primary-color) !important;
}
.theme-dark .m_btn2:hover {
    background-color: var(--btn-primary-hover-bg) !important;
    border-color: var(--btn-primary-hover-border) !important;
}
.theme-dark .miciec-breadcrumb-btn {
    color: var(--btn-outline-color) !important;
    border-color: var(--btn-outline-border) !important;
    background-color: transparent;
}
.theme-dark .miciec-breadcrumb-btn:hover {
    background-color: var(--btn-primary-hover-bg) !important;
    border-color: var(--btn-primary-hover-border) !important;
    color: var(--btn-primary-color) !important;
}
/* Breadcrumb - modo noche */
.theme-dark .breadcrumb {
    background-color: transparent !important;
}
.theme-dark .breadcrumb-item,
.theme-dark .breadcrumb-item a {
    color: rgba(255, 255, 255, 0.7) !important;
}
.theme-dark .breadcrumb-item a:hover {
    color: #e8b4b4 !important;
}
.theme-dark .breadcrumb-item.active {
    color: rgba(255, 255, 255, 0.95) !important;
}
.theme-dark .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255, 255, 255, 0.4) !important;
}
.theme-dark .credencial {
    background-color: rgba(127, 23, 20, 0.95) !important;
    box-shadow: 0 4px 22px rgba(0, 0, 0, 0.4), inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}
.theme-dark .habilitada { color: #7dd87d !important; }
.theme-dark .inactivo { color: #f08080 !important; }

/* Bolsa de trabajo - listado: título y botón legibles en modo oscuro */
.theme-dark .card .card-title,
.theme-dark .card .card-title a {
    color: var(--text-body) !important;
}
.theme-dark .card .card-title a:hover {
    color: #e8b4b4 !important;
}
.theme-dark .card .card-body a,
.theme-dark .noticia-contenido a {
    color: #fff !important;
}
.theme-dark .card .card-body a:hover,
.theme-dark .noticia-contenido a:hover {
    color: #e8b4b4 !important;
}
/* Botón Seguir en card Instagram - excepción: texto oscuro sobre fondo blanco */
.theme-dark .instagramcard .instagram_seguir a {
    color: #212529 !important;
    background-color: #ffffff !important;
}
.theme-dark .instagramcard .instagram_seguir a:hover {
    color: #ffffff !important;
    background-color: #862222 !important;
}
.theme-dark .card .card-text { color: rgba(255, 255, 255, 0.85) !important; }
.theme-dark .btn-outline-danger {
    color: #e8b4b4 !important;
    border-color: rgba(232, 180, 180, 0.8) !important;
    background-color: transparent !important;
}
.theme-dark .btn-outline-danger:hover {
    color: #fff !important;
    border-color: rgba(134, 34, 34, 0.9) !important;
    background-color: rgba(134, 34, 34, 0.9) !important;
}

/* Elementos comunes páginas internas - modo noche */
.theme-dark .alert {
    background-color: var(--bg-surface) !important;
    border-color: var(--border-subtle);
    color: var(--text-body);
}
.theme-dark .alert-info { border-left: 4px solid #4fc3f7; }
.theme-dark .alert-danger { border-left: 4px solid #f08080; }
.theme-dark .alert-warning { border-left: 4px solid #ffc107; }
.theme-dark .alert-light,
.theme-dark .alert-light[style*="background-color"] {
    background-color: var(--bg-surface-alt) !important;
    border-color: var(--border-subtle) !important;
    color: var(--text-body);
}
.theme-dark .alert-success { border-left: 4px solid #7dd87d; }
.theme-dark .nav-tabs {
    border-bottom-color: var(--border-subtle);
}
.theme-dark .nav-tabs .nav-link {
    color: rgba(255, 255, 255, 0.7) !important;
    border-color: transparent transparent var(--border-subtle);
    background-color: transparent;
}
.theme-dark .nav-tabs .nav-link:hover,
.theme-dark .nav-tabs .nav-link.active {
    color: var(--text-body) !important;
    border-color: var(--border-subtle) var(--border-subtle) var(--bg-body);
    background-color: var(--bg-body);
}

/* Paginación Bootstrap — modo día (sitio público; coherente con píldoras oscuras) */
html:not(.theme-dark) ul.pagination {
    flex-wrap: wrap;
    gap: 0.4rem;
    padding-left: 0;
}
html:not(.theme-dark) .pagination .page-item {
    margin-top: 0.15rem;
}
html:not(.theme-dark) .pagination .page-link {
    position: relative;
    padding: 0.45rem 0.85rem;
    margin-left: 0 !important;
    border-radius: 9999px !important;
    border: 1px solid #dee2e6 !important;
    background-color: var(--bg-surface) !important;
    color: var(--text-body) !important;
}
html:not(.theme-dark) .pagination .page-link:hover {
    z-index: 2;
    background-color: #fef6f6 !important;
    border-color: rgba(128, 18, 17, 0.4) !important;
    color: #801211 !important;
}
html:not(.theme-dark) .pagination .page-item.active .page-link {
    background-color: var(--btn-primary-bg) !important;
    border-color: var(--btn-primary-border) !important;
    color: var(--btn-primary-color) !important;
    box-shadow: 0 2px 10px rgba(127, 18, 17, 0.2);
}
html:not(.theme-dark) .pagination .page-item.disabled .page-link {
    pointer-events: none;
    background-color: #f1f3f5 !important;
    border-color: #e9ecef !important;
    color: #868e96 !important;
    opacity: 1;
}
html:not(.theme-dark) .pagination .page-link:focus {
    outline: none;
    box-shadow: 0 0 0 0.18rem rgba(127, 18, 17, 0.2);
}

/* Paginación Bootstrap — modo noche (sitio público; admin sigue usando .admin-dashboard-page más específico) */
.theme-dark ul.pagination {
    flex-wrap: wrap;
    gap: 0.4rem;
    padding-left: 0;
}
.theme-dark .pagination .page-item {
    margin-top: 0.15rem;
}
.theme-dark .pagination .page-link {
    position: relative;
    padding: 0.45rem 0.85rem;
    margin-left: 0 !important;
    border-radius: 9999px !important;
    border: 1px solid var(--border-input-soft) !important;
    background-color: var(--bg-surface-alt) !important;
    color: var(--text-body) !important;
}
.theme-dark .pagination .page-link:hover {
    z-index: 2;
    background-color: rgba(127, 34, 20, 0.45) !important;
    border-color: rgba(184, 84, 80, 0.75) !important;
    color: #ffffff !important;
}
.theme-dark .pagination .page-item.active .page-link {
    background-color: var(--btn-primary-bg) !important;
    border-color: var(--btn-primary-border) !important;
    color: var(--btn-primary-color) !important;
    box-shadow: 0 2px 10px rgba(127, 18, 17, 0.35);
}
.theme-dark .pagination .page-item.disabled .page-link {
    pointer-events: none;
    background-color: rgba(255, 255, 255, 0.04) !important;
    border-color: var(--border-subtle) !important;
    color: rgba(255, 255, 255, 0.38) !important;
    opacity: 1;
}
.theme-dark .pagination .page-link:focus {
    outline: none;
    box-shadow: 0 0 0 0.18rem rgba(127, 18, 17, 0.45);
}

/* Gestión de expedientes — modo noche (borde degradado como .caja2 / MI CIEC) */
.theme-dark .pagina-gestion-expedientes .expedientes-card-buscador.card {
    border: 2px solid transparent !important;
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
    background-color: var(--bg-surface-alt) !important;
    background-image:
        var(--card-inner-fill), var(--card-border-glow);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
}
.theme-dark .pagina-gestion-expedientes .expedientes-card-buscador.card .card-header.expedientes-card-buscador__header {
    background-color: rgba(127, 18, 17, 0.88) !important;
    color: #fff !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.theme-dark .pagina-gestion-expedientes .expedientes-card-buscador.card .card-body,
.theme-dark .pagina-gestion-expedientes .expedientes-card-buscador.card .expedientes-card-buscador__body {
    background-color: transparent !important;
}
.theme-dark .pagina-gestion-expedientes .expedientes-card-buscador__input {
    background-color: var(--bg-input) !important;
    color: var(--text-body);
    border-color: var(--border-subtle) !important;
}
.theme-dark .pagina-gestion-expedientes .expedientes-card-buscador__btn-buscar {
    background-color: rgba(255, 255, 255, 0.08) !important;
    color: rgba(255, 255, 255, 0.92) !important;
    border-color: rgba(232, 180, 180, 0.55) !important;
}
.theme-dark .pagina-gestion-expedientes .expedientes-card-buscador__btn-buscar:hover {
    background-color: rgba(255, 255, 255, 0.14) !important;
    color: #fff !important;
}
.theme-dark .pagina-gestion-expedientes .expedientes-card-item.card {
    border: 2px solid transparent !important;
    border-left: none !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.28) !important;
    background-color: var(--bg-surface-alt) !important;
    background-image:
        var(--card-inner-fill), var(--card-border-glow);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
}
.theme-dark .pagina-gestion-expedientes .expedientes-card-item.card .card-body {
    background-color: transparent !important;
}
.theme-dark .pagina-gestion-expedientes .expedientes-card-item:not(.expedientes-card-item--10k).card {
    box-shadow: inset 4px 0 0 rgba(127, 18, 17, 0.85), 0 2px 12px rgba(0, 0, 0, 0.28) !important;
}
.theme-dark .pagina-gestion-expedientes .expedientes-card-item--10k.card {
    box-shadow: inset 4px 0 0 rgba(40, 167, 69, 0.88), 0 2px 12px rgba(0, 0, 0, 0.28) !important;
}
.theme-dark .pagina-gestion-expedientes .expedientes-card-item .text-primary {
    color: #8ec5ff !important;
}

.theme-dark .table {
    color: var(--text-body);
}
.theme-dark .table tbody tr {
    background-color: var(--bg-surface-alt);
}
.theme-dark .table-striped tbody tr:nth-of-type(even) {
    background-color: rgba(255, 255, 255, 0.05);
}
.theme-dark .table-bordered {
    border-color: var(--border-subtle);
}
.theme-dark .table th,
.theme-dark .table td {
    border-color: var(--border-subtle);
}
.theme-dark .table-striped tbody tr:nth-of-type(odd) {
    background-color: var(--bg-surface-alt);
}
.theme-dark .table thead.thead-dark {
    background-color: var(--bg-surface-alt) !important;
    border-color: var(--border-subtle);
    color: var(--text-body);
}
.theme-dark .table thead.thead-dark th {
    border-color: var(--border-subtle);
    color: var(--text-body);
}
/* Cuotas vencidas/por vencer: fondos oscuros para texto blanco legible */
html.theme-dark .table .table-danger {
    background-color: #4a1a20 !important;
    border-left: 3px solid #8b3a42;
}
html.theme-dark .table .table-danger td,
html.theme-dark .table .table-danger td strong {
    color: #fff !important;
    background-color: #4a1a20 !important;
}
html.theme-dark .table .table-warning {
    background-color: #3d3420 !important;
    border-left: 3px solid #8b7a20;
}
html.theme-dark .table .table-warning td,
html.theme-dark .table .table-warning td strong {
    color: #fff !important;
    background-color: #3d3420 !important;
}
.theme-dark .table .table-success {
    background-color: rgba(40, 167, 69, 0.3) !important;
}
.theme-dark .table .table-success td { color: var(--text-body) !important; }
.theme-dark .table td,
.theme-dark .table td strong {
    color: var(--text-body) !important;
}
.theme-dark .form-control {
    background-color: var(--bg-input) !important;
    color: var(--text-body);
    border-color: var(--border-subtle);
}
.theme-dark .custom-select {
    background-color: var(--bg-input) !important;
    color: var(--text-body);
    border-color: var(--border-subtle);
}
.theme-dark .form-text.text-muted { color: rgba(255, 255, 255, 0.6) !important; }
.theme-dark .texto-intro-expediente { color: #fff !important; }
.theme-dark .texto-intro-expediente strong { color: #fff !important; }
/* Gestión de pericias — marcos procedimiento + tarjetas listado (mismo borde luminoso MI CIEC) */
.theme-dark .pagina-gestion-pericias .procedimiento-box {
    border: 2px solid transparent !important;
    background-color: transparent !important;
    color: var(--text-body);
    background-image: var(--card-inner-fill), var(--card-border-glow);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
}
.theme-dark .pagina-gestion-pericias .procedimiento-box--texto {
    box-shadow: inset 4px 0 0 rgba(255, 107, 53, 0.65), 0 2px 14px rgba(0, 0, 0, 0.3);
}
.theme-dark .pagina-gestion-pericias .procedimiento-box--accion {
    box-shadow: inset 4px 0 0 rgba(255, 107, 53, 0.9), 0 2px 14px rgba(0, 0, 0, 0.32);
}
.theme-dark .pagina-gestion-pericias .procedimiento-box strong {
    color: var(--text-body) !important;
}
.theme-dark .pagina-gestion-pericias .pericias-card-item.card {
    border: 2px solid transparent !important;
    border-left: none !important;
    box-shadow: inset 4px 0 0 rgba(255, 107, 53, 0.88), 0 2px 12px rgba(0, 0, 0, 0.28) !important;
    background-color: var(--bg-surface-alt) !important;
    background-image: var(--card-inner-fill), var(--card-border-glow);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
}
.theme-dark .pagina-gestion-pericias .pericias-card-item.card .card-body {
    background-color: transparent !important;
}
.theme-dark .pagina-gestion-pericias .pericias-card-item .text-danger {
    color: #ff9a88 !important;
}
/* Otros Pagos - Pago por diferencia (card roja) modo noche */
.theme-dark .card.border-danger .card-header.bg-danger {
    background-color: rgba(180, 50, 50, 0.9) !important;
    border-color: rgba(200, 80, 80, 0.8);
}
.theme-dark .card.border-danger {
    border-width: 1px !important;
    border-color: rgba(200, 80, 80, 0.6) !important;
    background-color: var(--bg-surface-alt) !important;
    background-image: none !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}
.theme-dark .card.border-danger .card-body input,
.theme-dark .card.border-danger .card-body strong { color: var(--text-body) !important; }
.theme-dark .input-group-text {
    background-color: var(--bg-input) !important;
    border-color: var(--border-subtle);
    color: var(--text-body);
}
/* Salvar observaciones - estilos base */
.input-readonly { background-color: #f5f5f5; }
.alert-obs { background-color: #f0f0f0; border: 1px solid #ddd; }
.alert-obs-warning { background-color: #fff3cd; border: 1px solid #ffc107; }
.texto-secundario { color: #666; }
.form-observaciones-exp .texto-intro-expediente--titulo { font-size: 16px; }
.form-observaciones-exp .texto-intro-expediente--sub { font-size: 13px; }
.form-observaciones-exp .texto-obs-parrafo { font-size: 13px; line-height: 1.6; }
.form-observaciones-exp .aviso-email-perfil { color: #c62828; font-size: 12px; margin-top: 5px; margin-bottom: 0; }
.form-observaciones-exp .texto-secundario--compacto { font-size: 12px; margin-bottom: 10px; }
.form-observaciones-exp .texto-file-size-info { margin-top: 5px; font-size: 12px; }
.form-observaciones-exp .checkbox-acepto-obs { display: flex; align-items: center; margin-bottom: 0; cursor: pointer; }
.form-observaciones-exp .checkbox-acepto-obs__input {
    width: 20px;
    height: 20px;
    margin-right: 10px;
    flex-shrink: 0;
}
.form-observaciones-exp .alert-obs--bloque { border-radius: 5px; padding: 15px; }
.form-observaciones-exp .texto-obs-nota-parrafo { margin: 0; font-size: 13px; line-height: 1.5; }
.form-observaciones-exp .error-mensaje {
    display: none;
    color: #c62828;
    font-size: 12px;
    margin-top: 5px;
}
.form-observaciones-exp .file-size-info--error { color: #c62828 !important; }
.form-observaciones-exp .observaciones-enviar-btn { width: 200px; min-height: 35px; font-size: 12px; }

/* Salvar observaciones - modo oscuro */
.theme-dark .form-observaciones-exp .texto-body,
.theme-dark .form-observaciones-exp .texto-intro-expediente { color: var(--text-body) !important; }
.theme-dark .form-observaciones-exp .texto-secundario { color: rgba(255, 255, 255, 0.75) !important; }
.theme-dark .form-observaciones-exp .input-readonly {
    background-color: var(--bg-input) !important;
    color: var(--text-body) !important;
    border-color: var(--border-subtle) !important;
}
.theme-dark .form-observaciones-exp .card:not(.expedientes-card-buscador) .card-body-obs {
    background-color: var(--bg-surface-alt) !important;
    color: var(--text-body) !important;
}
.theme-dark .form-observaciones-exp .card:not(.expedientes-card-buscador) { border-color: var(--border-subtle) !important; }
.theme-dark .form-observaciones-exp .aviso-email-perfil { color: #ff9a8b !important; }
.theme-dark .form-observaciones-exp .error-mensaje { color: #ff9a8b !important; }
.theme-dark .form-observaciones-exp #file-size-info:not(.file-size-info--error) { color: rgba(255, 255, 255, 0.72) !important; }
.theme-dark .form-observaciones-exp .alert-obs {
    background-color: var(--bg-surface) !important;
    border-color: var(--border-subtle) !important;
    color: var(--text-body) !important;
}
.theme-dark .form-observaciones-exp .alert-obs-warning {
    background-color: rgba(255, 193, 7, 0.2) !important;
    border-color: rgba(255, 193, 7, 0.5) !important;
    color: var(--text-body) !important;
}
.theme-dark .form-observaciones-exp label { color: var(--text-body) !important; }
.theme-dark .form-observaciones-exp .btn-light:not(.expedientes-card-buscador__btn-buscar) {
    background-color: var(--bg-surface-alt) !important;
    border-color: rgba(184, 84, 80, 0.8) !important;
    color: var(--text-body) !important;
}
.theme-dark .form-observaciones-exp .btn-light:not(.expedientes-card-buscador__btn-buscar):hover {
    background-color: rgba(127, 34, 20, 0.5) !important;
    color: #fff !important;
}
.theme-dark .form-observaciones-exp .progress { background-color: rgba(255, 255, 255, 0.12); }

/* Texto de ayuda en formularios (color #666) - certificados 10k, expedientes */
.theme-dark .contenido p[style*="color: #666"],
.theme-dark .contenido p[style*="color:#666"] { color: rgba(255, 255, 255, 0.75) !important; }
.theme-dark .contenido label { color: var(--text-body) !important; }
.theme-dark .contenido h6 { color: var(--text-body) !important; }
.theme-dark .contenido .btn-light {
    background-color: var(--bg-surface-alt) !important;
    border-color: rgba(184, 84, 80, 0.8) !important;
    color: var(--text-body) !important;
}
.theme-dark .contenido .btn-light:hover {
    background-color: rgba(127, 34, 20, 0.5) !important;
    color: #fff !important;
}
/* Indicador de pasos - Expediente Nuevo modo noche (misma estructura que modo día) */
.theme-dark .indicador-pasos {
    position: relative;
    background-image: none !important;
    background-color: transparent;
}
.theme-dark .indicador-pasos::before {
    content: '';
    position: absolute;
    left: 5%;
    right: 5%;
    top: 50%;
    height: 2px;
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-50%);
    z-index: 0;
}
.theme-dark .indicador-pasos .paso-indicador {
    position: relative;
    z-index: 1;
    background-color: rgba(255, 255, 255, 0.15) !important;
    color: #fff !important;
    border: none;
}
.theme-dark .indicador-pasos .paso-indicador.activo {
    background-color: #7F1211 !important;
    color: #fff !important;
}

/* Formularios por pasos: campos con borde rojo marca en HTML (#7F1714) → borde acorde al tema oscuro */
.theme-dark .paso .form-control:not(.is-invalid):not(.border-danger),
.theme-dark .paso textarea:not(.is-invalid),
.theme-dark .paso select.form-control:not(.is-invalid),
.theme-dark #formularioMultiPaso .form-control:not(.is-invalid):not(.border-danger),
.theme-dark #formularioMultiPaso textarea:not(.is-invalid),
.theme-dark #formularioMultiPaso select.form-control:not(.is-invalid),
.theme-dark #formInicioObra .form-control:not(.is-invalid):not(.border-danger),
.theme-dark #formInicioObra textarea:not(.is-invalid),
.theme-dark #formInicioObra select.form-control:not(.is-invalid),
.theme-dark #formCambioDtRt .form-control:not(.is-invalid):not(.border-danger),
.theme-dark #formCambioDtRt textarea:not(.is-invalid),
.theme-dark #formCambioDtRt select.form-control:not(.is-invalid),
.theme-dark #formExcepcion .form-control:not(.is-invalid):not(.border-danger),
.theme-dark #formExcepcion textarea:not(.is-invalid),
.theme-dark #formExcepcion select.form-control:not(.is-invalid),
.theme-dark #formAnulacionExpediente .form-control:not(.is-invalid):not(.border-danger),
.theme-dark #formAnulacionExpediente textarea:not(.is-invalid),
.theme-dark #formAnulacionExpediente select.form-control:not(.is-invalid),
.theme-dark #formNotasVarias .form-control:not(.is-invalid):not(.border-danger),
.theme-dark #formNotasVarias textarea:not(.is-invalid),
.theme-dark #formNotasVarias select.form-control:not(.is-invalid) {
    border: 1px solid var(--border-input-soft) !important;
}
.theme-dark .paso .form-control:focus:not(.is-invalid),
.theme-dark .paso textarea:focus:not(.is-invalid),
.theme-dark .paso select.form-control:focus:not(.is-invalid),
.theme-dark #formularioMultiPaso .form-control:focus:not(.is-invalid),
.theme-dark #formularioMultiPaso textarea:focus:not(.is-invalid),
.theme-dark #formularioMultiPaso select.form-control:focus:not(.is-invalid),
.theme-dark #formInicioObra .form-control:focus:not(.is-invalid),
.theme-dark #formInicioObra textarea:focus:not(.is-invalid),
.theme-dark #formInicioObra select.form-control:focus:not(.is-invalid),
.theme-dark #formCambioDtRt .form-control:focus:not(.is-invalid),
.theme-dark #formCambioDtRt textarea:focus:not(.is-invalid),
.theme-dark #formCambioDtRt select.form-control:focus:not(.is-invalid),
.theme-dark #formExcepcion .form-control:focus:not(.is-invalid),
.theme-dark #formExcepcion textarea:focus:not(.is-invalid),
.theme-dark #formExcepcion select.form-control:focus:not(.is-invalid),
.theme-dark #formAnulacionExpediente .form-control:focus:not(.is-invalid),
.theme-dark #formAnulacionExpediente textarea:focus:not(.is-invalid),
.theme-dark #formAnulacionExpediente select.form-control:focus:not(.is-invalid),
.theme-dark #formNotasVarias .form-control:focus:not(.is-invalid),
.theme-dark #formNotasVarias textarea:focus:not(.is-invalid),
.theme-dark #formNotasVarias select.form-control:focus:not(.is-invalid) {
    border-color: rgba(147, 186, 245, 0.65) !important;
    box-shadow: 0 0 0 0.2rem rgba(70, 120, 200, 0.22);
}
.theme-dark .paso .form-control.is-invalid,
.theme-dark .paso textarea.is-invalid,
.theme-dark .paso select.form-control.is-invalid,
.theme-dark #formularioMultiPaso .form-control.is-invalid,
.theme-dark #formInicioObra .form-control.is-invalid {
    border-color: rgba(240, 128, 128, 0.95) !important;
}

/* Contacto / Registrarse — mismo borde y focus que formularios por pasos (fondo: --bg-input) */
.theme-dark .form-consulta-contacto .form-control:not(.is-invalid):not(.border-danger),
.theme-dark .form-registro-cuenta .form-control:not(.is-invalid):not(.border-danger) {
    border: 1px solid var(--border-input-soft) !important;
}
.theme-dark .form-consulta-contacto .form-control:focus:not(.is-invalid),
.theme-dark .form-registro-cuenta .form-control:focus:not(.is-invalid) {
    border-color: rgba(147, 186, 245, 0.65) !important;
    box-shadow: 0 0 0 0.2rem rgba(70, 120, 200, 0.22);
}
.theme-dark .form-consulta-contacto .form-control.is-invalid,
.theme-dark .form-registro-cuenta .form-control.is-invalid {
    border-color: rgba(240, 128, 128, 0.95) !important;
}

.theme-dark .pasos-pagotic,
.theme-dark .debito-automatico,
.theme-dark .debito-automatico-ya-adherido {
    background-color: var(--bg-surface-alt) !important;
    color: var(--text-body);
    border: 2px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 8px !important;
    box-sizing: border-box;
}
.theme-dark .debito-automatico-ya-adherido {
    background-image: url('../images/chanchi.png');
    background-repeat: no-repeat;
    background-position: left center;
}
.theme-dark .debito-automatico-ya-adherido .text-success,
.theme-dark .debito-automatico-ya-adherido .text-success .fa-check-circle {
    color: #89e0a8 !important;
}
.theme-dark .btn-pasos-pagotic,
.theme-dark .btn-debito-automatico {
    border-color: rgba(127, 34, 20, 0.8) !important;
    color: #e8b4b4 !important;
}
/* Mini-carrito modo noche — sobrescribe border día (!important); borde perceptible sobre bg oscuro */
.theme-dark .carrito {
    background-color: var(--bg-surface-alt) !important;
    border: 2px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 8px !important;
    color: var(--text-body);
}
.theme-dark .carrito .numero,
.theme-dark .carrito strong { color: var(--text-body) !important; }
.theme-dark .total-deuda {
    background-color: var(--bg-surface-alt) !important;
    border: 2px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 8px !important;
    color: var(--text-body);
}
.theme-dark .total-deuda .numero { color: var(--text-body) !important; }
.theme-dark .total-deuda strong { color: var(--text-body) !important; }
/* Jumbotron / Confirmación de pago modo noche */
.theme-dark .jumbotron {
    background-color: var(--bg-surface-alt) !important;
    border: 1px solid var(--border-subtle);
    color: var(--text-body);
}
.theme-dark .jumbotron .display-4,
.theme-dark .jumbotron .lead,
.theme-dark .jumbotron h4 { color: var(--text-body) !important; }
.theme-dark .jumbotron hr { border-color: var(--border-subtle) !important; }
.theme-dark .jumbotron .btn-dark {
    background-color: rgba(127, 34, 20, 0.9) !important;
    border-color: rgba(184, 84, 80, 0.8) !important;
    color: #fff !important;
}
.theme-dark .jumbotron .btn-dark:hover {
    background-color: rgba(134, 34, 34, 0.95) !important;
    color: #fff !important;
}
.theme-dark .btn-carrito-entrar {
    background-color: rgba(127, 34, 20, 0.9) !important;
    border-color: rgba(184, 84, 80, 0.8) !important;
    color: #fff !important;
}
.theme-dark .btn-carrito-entrar:hover {
    background-color: rgba(134, 34, 34, 0.95) !important;
    color: #fff !important;
    border-color: rgba(184, 84, 80, 0.9) !important;
}
.theme-dark .btn-pasos-pagotic:hover,
.theme-dark .btn-debito-automatico:hover {
    background-color: rgba(134, 34, 34, 0.8) !important;
    color: #fff !important;
}
.theme-dark .btn-outline-info,
.theme-dark .btn-outline-secondary {
    border-color: var(--border-subtle) !important;
    color: var(--text-body) !important;
}
.theme-dark .btn-outline-info:hover,
.theme-dark .btn-outline-secondary:hover {
    background-color: var(--bg-surface-alt) !important;
    color: var(--text-body) !important;
    border-color: var(--border-subtle) !important;
}

/* Botones Bootstrap unificados (contenido, archivos, etc.) */
.contenido .btn-primary,
.noticia-contenido .btn-primary,
.file-actions .btn-primary {
    background-color: var(--btn-primary-bg) !important;
    border-color: var(--btn-primary-border) !important;
    color: var(--btn-primary-color) !important;
    border-radius: 9999px !important;
    padding: 6px 14px;
    font-size: 13px;
    transition: background-color 0.3s, border-color 0.3s;
}
.contenido .btn-primary:hover,
.noticia-contenido .btn-primary:hover,
.file-actions .btn-primary:hover {
    background-color: var(--btn-primary-hover-bg) !important;
    border-color: var(--btn-primary-hover-border) !important;
    color: var(--btn-primary-color) !important;
}
.contenido .btn-success,
.noticia-contenido .btn-success,
.file-actions .btn-success {
    background-color: #107c10 !important;
    border-color: #107c10 !important;
    color: #fff !important;
    border-radius: 9999px !important;
    padding: 6px 14px;
    font-size: 13px;
}
.contenido .btn-success:hover,
.noticia-contenido .btn-success:hover,
.file-actions .btn-success:hover {
    background-color: #0e6b0e !important;
    border-color: #0e6b0e !important;
    color: #fff !important;
}
.contenido .btn-outline-secondary,
.noticia-contenido .btn-outline-secondary {
    border-radius: 9999px !important;
}

.theme-dark .contenido .btn-success,
.theme-dark .noticia-contenido .btn-success,
.theme-dark .file-actions .btn-success {
    background-color: rgba(16, 124, 16, 0.85) !important;
    border-color: rgba(16, 124, 16, 0.9) !important;
}
.theme-dark .contenido .btn-success:hover,
.theme-dark .noticia-contenido .btn-success:hover,
.theme-dark .file-actions .btn-success:hover {
    background-color: #0e6b0e !important;
    border-color: #0e6b0e !important;
}

/* Servicios para Matriculados - lista con contador */
.colored-counter-list {
    counter-reset: servicios-counter;
    padding-left: 0;
}
.colored-counter-list .section-title {
    counter-increment: servicios-counter;
    font-weight: 600;
    font-size: 15px;
    color: #862222;
    border-bottom: 2px solid #862222;
    padding-bottom: 6px;
    margin-top: 1.25rem;
    margin-bottom: 0;
    list-style: none;
}
.colored-counter-list .section-title::before {
    content: counter(servicios-counter) ". ";
}
.colored-counter-list .section-title:first-child {
    margin-top: 0;
}
.colored-counter-list .section-content {
    list-style: none;
    padding-left: 0;
}
.theme-dark .colored-counter-list .section-title {
    color: #c77b7b;
    border-bottom-color: #c77b7b;
}
.colored-counter-list .icono {
    border-radius: 6px;
    overflow: hidden;
}
.colored-counter-list .icono img {
    max-width: 100%;
    height: auto;
}
/* banners  caja*/
.banner-caja{
    background-color: #1f2b4d !important;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.texto-caja{    
    font-size: 12px;
    font-family: 'Montserrat', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 400;
    color: #fff !important;
}
.btn-entrar-caja a{
    background-color: #FF9300;
    text-align: center;
    color: #fff;
    border-radius: 9999px !important;
    padding: 6px 25px;
    text-decoration: none;
    font-size: 13px;
    display: table;
    transition: background-color 0.3s, color 0.3s;
    color: #fff !important;
}
.btn-entrar-caja a:hover{
    background-color: #885205;
    color: #fff !important;
}
/* banner listado */
.banner-listado{
    background: #a82a2a;
    background: linear-gradient(90deg,rgba(168, 42, 42, 1) 50%, rgba(255, 210, 148, 1) 100%);
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.cuadrado-listado{
    background-color: #FF9300;
    border-radius: 10px;
    padding: 10px;
    color: #fff !important;
    width: 60px;
    height: 60px;
    font-size: 30px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
.servicios-matriculados-oferta{
    background-color: #1f2b4d !important;
    background-image: url('../images/banner.png');
    background-repeat: no-repeat;
    background-position: right top;
    background-size: cover;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.servicios-matriculados-oferta .d_seccion,
.servicios-matriculados-oferta .d_titulo {
    text-align: left;
}
.servicios-matriculados-oferta .d_btn {
    text-align: center;
}

/* Botón flotante WhatsApp */
.whatsapp-float {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    color: #fff !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    border: 3px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25), 0 0 0 0 rgba(37, 211, 102, 0.4);
    z-index: 9999;
    transition: transform 0.2s, box-shadow 0.2s;
    animation: whatsapp-pulse 2s ease-in-out infinite;
}
.whatsapp-float:hover {
    color: #fff !important;
    transform: scale(1.1);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.3), 0 0 0 12px rgba(37, 211, 102, 0);
    animation: none;
}
@keyframes whatsapp-pulse {
    0%, 100% { box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25), 0 0 0 0 rgba(37, 211, 102, 0.4); }
    50% { box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25), 0 0 0 10px rgba(37, 211, 102, 0); }
}
.theme-dark .pagina-miciec .miciec-cabecera{
    background-color: var(--bg-body) !important;
    border-top: 1px solid rgba(180, 200, 255, 0.28);
    border-bottom: 1px solid rgba(180, 200, 255, 0.28);
}
.theme-dark .pagina-miciec .miciec-cabecera .seccion{
    background-color: var(--bg-body) !important;
}