/* ============================================
   ALEGA — ADMIN CSS
   ============================================ */

/* ---- HERO ADMIN ---- */
.admin-hero { background: #F5F5F5; overflow: hidden; }

.admin-hero-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
    padding-top: 24px;
    padding-bottom: 24px;
    width: 100%;
}

.admin-hero-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(28px, 3.5vw, 44px);
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 8px;
}

.admin-hero-sub { font-size: 17px; color: var(--text-mid); font-weight: 300; }
.admin-hero-name { color: var(--crimson); font-weight: 600; }
.admin-hero-img { height: 180px; object-position: center 30%; border-radius: var(--radius-lg); }

/* ---- LAYOUT — sidebar fijo + contenido ---- */
.admin-layout {
    display: grid;
    grid-template-columns: 220px 1fr;
    width: 100%;
    background: linear-gradient(to right, #0f1f3d 0%, #2a4a7f 40%, #6b8fc4 75%, #c5d5ec 100%);
    min-height: auto;
}

.admin-body .admin-layout {
    min-height: calc(100vh - 124px);
    overflow: visible;
}

.admin-body .admin-sidebar {
    height: 100%;
    min-height: 100vh;
}

.admin-body .admin-main {
    height: 100%;
    overflow-y: auto;
    max-height: calc(100vh - 124px); /* añade esto */
}

.admin-sidebar {
    display: flex;
    flex-direction: column;
    background: transparent;
    width: 220px;
    flex-shrink: 0;
    overflow-y: auto;
    padding-top: 60px;
    box-sizing: border-box;
}

/* ── Sidebar transparente — texto oscuro sobre fondo crema ── */
.admin-layout:has(main.pagina-general) .admin-sidebar {
    background: transparent !important;
}

.admin-layout:has(main.pagina-general) .admin-sidebar-link {
    color: rgba(28,25,23,0.70) !important;
}
.admin-layout:has(main.pagina-general) .admin-sidebar-link:hover {
    background: rgba(28,25,23,0.06) !important;
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .admin-sidebar-link.active {
    background: rgba(28,25,23,0.08) !important;
    color: #1C1917 !important;
    border-left-color: #8B1A2F !important;
}
.admin-layout:has(main.pagina-general) .admin-sidebar-group-btn {
    color: rgba(28,25,23,0.70) !important;
}
.admin-layout:has(main.pagina-general) .admin-sidebar-group-btn:hover {
    color: #1C1917 !important;
    background: rgba(28,25,23,0.06) !important;
}
.admin-layout:has(main.pagina-general) .admin-sidebar-sublink {
    color: rgba(28,25,23,0.60) !important;
}
.admin-layout:has(main.pagina-general) .admin-sidebar-sublink:hover {
    color: #1C1917 !important;
    background: rgba(28,25,23,0.05) !important;
}
.admin-layout:has(main.pagina-general) .admin-sidebar-sublink.active {
    color: #8B1A2F !important;
    border-left-color: #8B1A2F !important;
    background: rgba(139,26,47,0.06) !important;
}
.admin-layout:has(main.pagina-general) .admin-sidebar-divider {
    background: rgba(28,25,23,0.10) !important;
}
.admin-layout:has(main.pagina-general) .admin-sidebar-link--logout {
    color: rgba(139,26,47,0.70) !important;
}

.admin-main {
    flex: 1;
    padding: 60px 32px 32px 32px;
    display: flex;
    flex-direction: column;
    gap: 32px;
    min-width: 0;
    box-sizing: border-box;
    width: 100%;
    scrollbar-width: none;
}

.admin-main::-webkit-scrollbar {
    display: none; /* Chrome, Safari */
}

/* para que el body no scrollee cuando estás en el panel admin */
.admin-body {
    overflow: hidden;
    min-height: 100vh;
    height: 100%;
}

.admin-navbar {
    background: rgba(247,244,239,0.95) !important;
    position: sticky;
    top: 0;
    z-index: 300;
    box-shadow: 0 1px 12px rgba(28,25,23,0.06);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
/* ---- NAVBAR Y SUBNAV ADMIN COLORES FONDO ---- */
/*
.admin-navbar.navbar {
    background: linear-gradient(to right, #f0e6d0, #faf6ee) !important;
}
.admin-navbar .subnav {
    background: linear-gradient(to right, #e8dcc0, #f5eed8) !important;
}
    */

/* ---- SIDEBAR LINKS ---- */
.admin-sidebar-nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.admin-sidebar-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 20px;
    color: rgba(255,255,255,0.85) !important;
    font-size: 14px;
    font-weight: 400;
    transition: var(--transition);
    position: relative;
    white-space: nowrap;
}

.admin-sidebar-link:hover {
    background: rgba(255,255,255,0.10);
    color: white !important;
}

.admin-sidebar-link.active {
    background: var(--navy-main);
    color: white !important;
    font-weight: 600;
    border-left: 3px solid var(--crimson);
}

.admin-sidebar-link--logout { color: rgba(255,100,100,0.8) !important; margin-top: 4px; }
.admin-sidebar-link--logout:hover { background: rgba(255,50,50,0.1); color: #ff6b6b !important; }

.admin-badge {
    background: var(--crimson);
    color: white;
    font-size: 10px;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 10px;
    margin-left: auto;
}

.admin-sidebar-divider {
    height: 1px;
    background: rgba(255,255,255,0.1);
    margin: 12px 16px;
}

/* ---- TARJETAS ESTADÍSTICAS ---- */
.admin-stats-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}

.admin-stat-card {
    background: rgba(255, 255, 255, 0.75);
    border-radius: var(--radius-lg);
    backdrop-filter: blur(6px);
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
    box-shadow: 0 2px 12px rgba(15,31,61,0.06);
    border: 1px solid var(--border);
    transition: var(--transition);   
    
}

.admin-stat-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(15,31,61,0.10);
}

.admin-stat-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.admin-stat-card--yellow .admin-stat-icon { background: rgba(234,179,8,0.12);  color: #CA8A04; }
.admin-stat-card--blue   .admin-stat-icon { background: rgba(59,130,246,0.12);  color: #2563EB; }
.admin-stat-card--orange .admin-stat-icon { background: rgba(234,88,12,0.12);   color: #EA580C; }
.admin-stat-card--purple .admin-stat-icon { background: rgba(30,58,110,0.10);   color: var(--navy-main); }
.admin-stat-card--green  .admin-stat-icon { background: rgba(22,163,74,0.12);   color: #16A34A; }

.admin-stat-label {
    font-size: 12px;
    color: var(--text-mid);
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
}

.admin-stat-num {
    font-family: 'Playfair Display', serif;
    font-size: 32px;
    font-weight: 700;
    color: var(--text-dark);
    line-height: 1;
}

.admin-stat-card--yellow .admin-stat-num { color: #CA8A04; }
.admin-stat-card--blue   .admin-stat-num { color: #2563EB; }
.admin-stat-card--orange .admin-stat-num { color: #EA580C; }
.admin-stat-card--purple .admin-stat-num { color: var(--navy-main); }
.admin-stat-card--green  .admin-stat-num { color: #16A34A; }

/* ---- SECCIONES ADMIN ---- */
.admin-section {
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(6px);
    border-radius: var(--radius-lg);
    padding: 28px;
    box-shadow: 0 2px 12px rgba(15,31,61,0.06);
    border: 1px solid var(--border);
}

.admin-section-title {
    font-family: 'DM Sans', sans-serif;
    font-size: 17px;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.admin-table-subtitle {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-mid);
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
}

/* ---- TABLA ---- */
.admin-table-wrap {
    overflow-x: auto;
    border-radius: 10px;
    border: 1px solid var(--border);
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    min-width: 600px;
}

.admin-table thead tr { background: #F5F5F5; }

.admin-table th {
    padding: 12px 14px;
    text-align: left;
    font-weight: 600;
    color: var(--text-mid);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    border-bottom: 1.5px solid var(--border);
}

.admin-table td {
    padding: 13px 14px;
    color: var(--text-dark);
    border-bottom: 1px solid var(--border);
    vertical-align: middle;
}

.admin-table tbody tr:last-child td { border-bottom: none; }
.admin-table tbody tr:hover { background: #F5F5F5; }

.admin-table-empty {
    text-align: center;
    padding: 40px 20px !important;
    color: var(--text-light);
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.sort-icon { font-size: 11px; color: var(--text-light); margin-left: 4px; }

.admin-td-id {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 500;
    color: var(--text-mid);
    white-space: nowrap;
}

/* ---- BADGES DE ESTADO ---- */
.admin-badge-estado {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    text-align: center;
}

.admin-badge-estado--analisis  { background: #FEF3C7; color: #92400E; }
.admin-badge-estado--esperando { background: #FED7AA; color: #9A3412; }
.admin-badge-estado--redaccion { background: #DBEAFE; color: #1E40AF; }
.admin-badge-estado--enviado   { background: #D1FAE5; color: #065F46; }
.admin-badge-estado--cerrado   { background: #F3F4F6; color: #4B5563; border: 1px solid #D1D5DB; }

/* ---- BOTONES DE ACCIÓN ---- */
.admin-acciones { display: flex; align-items: center; gap: 4px; }
.admin-acciones--full { gap: 3px; }

.admin-accion-btn {
    width: 28px; height: 28px;
    border: 1.5px solid var(--border);
    border-radius: 6px;
    background: white;
    color: var(--text-mid);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    transition: var(--transition);
    flex-shrink: 0;
}

.admin-accion-btn:hover {
    border-color: var(--navy-light);
    color: var(--navy-main);
    background: #EAEFF8;
}

.mi-cuenta-dropdown.open {
    display: block !important;
}
/* ---- FOOTER ADMIN ---- */
.admin-footer-badges { background: var(--navy-main); }
.admin-footer-badges .servicios-badges-inner span { color: rgba(255,255,255,0.8); }
.admin-footer { padding: 24px 0; }

/* ---- RESPONSIVE ---- */
@media (max-width: 900px) {
    .admin-sidebar { display: none; }
    .admin-main { padding: 20px; }
    .admin-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .admin-hero-inner { grid-template-columns: 1fr; padding: 32px 0; }
    .admin-hero-img { display: none; }
}

@media (max-width: 600px) {
    .admin-stats-grid { grid-template-columns: 1fr 1fr; }
}

/* Páginas públicas vistas por admin — main ocupa todo el ancho restante */
.admin-layout .pagina-general {
    min-width: 0;
    overflow-y: auto;
    max-height: none;
    padding: 0;
}

/* ── Barra admin/perito — igual que empresa/abogados ── */
.admin-layout:has(main.pagina-general) .ci-part-cta-bar,
body.logged-in:has(main.pagina-general) .ci-part-cta-bar {
    background: transparent !important;
    border-bottom: 3px solid #C9A227 !important;
}

.admin-layout:has(main.pagina-general) .ci-part-cta-tag,
body.logged-in:has(main.pagina-general) .ci-part-cta-tag {
    background: rgba(201,162,39,0.15) !important;
    color: #C9A227 !important;
    border-color: rgba(201,162,39,0.35) !important;
}

.admin-layout:has(main.pagina-general) .ci-part-cta-desc,
body.logged-in:has(main.pagina-general) .ci-part-cta-desc {
    color: #6B7280 !important;
}

.admin-layout:has(main.pagina-general) .ci-part-cta-btn,
body.logged-in:has(main.pagina-general) .ci-part-cta-btn {
    background: linear-gradient(to right, #C9A227, #E8D07A) !important;
    color: #1C1917 !important;
    box-shadow: 0 4px 20px rgba(201,162,39,0.30) !important;
    min-width: 260px !important;
    justify-content: center !important;
}

.admin-layout:has(main.pagina-general) .ci-part-cta-btn-email,
body.logged-in:has(main.pagina-general) .ci-part-cta-btn-email {
    background: transparent !important;
    color: #C9A227 !important;
    border-color: rgba(201,162,39,0.40) !important;
    min-width: 260px !important;
    justify-content: center !important;
}

/* Páginas públicas vistas por admin — sin fondo del layout */
.admin-layout:has(.pagina-general) {
    background: transparent !important;
}

.admin-layout .pagina-general {
    min-width: 0;
    flex: 1;
    padding: 0;
    max-height: none;
    overflow-y: auto;
}

/* Admin viendo páginas públicas */
.admin-body:has(.pagina-general) {
    overflow: auto !important;
    height: auto !important;
}

.admin-layout:has(.pagina-general) {
    background: transparent !important;
    min-height: 100vh;
    align-items: start;
}

.admin-layout .pagina-general {
    min-width: 0;
    flex: 1;
    padding: 0;
    max-height: none !important;
    overflow-y: visible !important;
    height: auto !important;
}

.admin-body .admin-layout:has(.pagina-general) .admin-main,
.admin-body:has(.pagina-general) .admin-main {
    max-height: none !important;
    overflow-y: visible !important;
    height: auto !important;
}

/* ── Grupo colapsable sidebar ── */
.admin-sidebar-group { display: flex; flex-direction: column; }
 
.admin-sidebar-group-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px 16px;
    border-radius: 8px;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: rgba(255,255,255,0.70);
    text-align: left;
    transition: background 0.2s, color 0.2s;
}
.admin-sidebar-group-btn:hover {
    background: rgba(255,255,255,0.07);
    color: #FFFFFF;
}
.admin-sidebar-group.open .admin-sidebar-group-btn {
    color: #C9A84C;
    background: rgba(201,168,76,0.08);
}
 
.admin-sidebar-group-icon { flex-shrink: 0; }
 
.admin-sidebar-chevron {
    margin-left: auto;
    transition: transform 0.25s ease;
    flex-shrink: 0;
}
.admin-sidebar-group.open .admin-sidebar-chevron {
    transform: rotate(180deg);
}
 
.admin-sidebar-group-items {
    display: none;
    flex-direction: column;
    padding: 4px 0 4px 14px;
    gap: 2px;
}
.admin-sidebar-group.open .admin-sidebar-group-items {
    display: flex;
}
 
.admin-sidebar-sublink {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 7px;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: rgba(255,255,255,0.55);
    text-decoration: none;
    transition: all 0.2s;
    border-left: 2px solid transparent;
}
.admin-sidebar-sublink:hover {
    color: #FFFFFF;
    background: rgba(255,255,255,0.05);
    border-left-color: rgba(255,255,255,0.20);
}
.admin-sidebar-sublink.active {
    color: #C9A84C;
    background: rgba(201,168,76,0.08);
    border-left-color: #C9A84C;
}

.nv2-logo-text {
    display: flex !important;
    flex-direction: column !important;
    line-height: 1 !important;
}
.nv2-logo-name {
    font-family: 'Playfair Display', serif !important;
    font-size: 40px !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    line-height: 1 !important;
    background: linear-gradient(
        135deg,
        #C9A96E 0%, #E8C547 18%, #D4845A 36%,
        #A0522D 50%, #C0392B 64%, #8B1A6B 82%, #4A1080 100%
    ) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}
.nv2-logo-sub {
    font-family: 'DM Mono', monospace !important;
    font-size: 12px !important;
    color: #6B7280 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    margin-top: 4px !important;
    font-weight: 400 !important;
}
.logo-img {
    height: 95px !important;
    width: auto !important;
    mix-blend-mode: multiply !important;
    opacity: 0.85 !important;
}

/* Dentro del <style> del admin.php — reemplaza o añade */

.navbar-inner {
    padding-left: 160px !important;  /* igual que default */
}

/* Logo — bajar un poco */
.navbar-logo {
    position: absolute !important;
    top: -15px !important;    /* antes -30px, súbelo menos */
    left: -70px !important;
    z-index: 150 !important;
    margin: 0 !important;
}

/* Línea — empieza donde "Particular" */
.navbar-inner::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 340px;    /* ajusta este valor: sube o baja de 10 en 10 */
    right: 32px;
    height: 1px;
    background: #E5E0D8;
}

/* Subnav alineado con "Particular" */
.subnav-inner {
    justify-content: flex-start !important;
    padding-left: 340px !important;   /* mismo valor que el left del ::after */
}

/* ── NAVBAR ADMIN — logo + línea + subnav ── */

.admin-navbar .navbar-inner {
    padding-left: 160px !important;
    position: relative !important;
    border-bottom: none !important;
}

.admin-navbar .navbar-logo {
    position: absolute !important;
    top: 28px !important;
    left: -70px !important;
    z-index: 150 !important;
    margin: 0 !important;
    align-items: center !important;
}

/* Línea separadora que empieza tras el logo */
.admin-navbar .navbar-inner::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 160px !important;
    right: 0 !important;
    height: 1px !important;
    background: #E5E0D8 !important;
}

/* Subnav alineado con los nav-links. LÍNEA GRANDIENTE QUE DIVIDE EL SUBNAV DEL HERO*/
.admin-navbar .subnav {
    position: relative !important;
    border-bottom: 5px solid transparent !important;
    border-image: linear-gradient(
        to right,
        #dfcbad 0%,
        #f0dab4 25%,        
        #a8c4e0 70%,
        #6b8fc4 100%
    ) 1 !important;
}

.admin-navbar .subnav-inner {
    justify-content: flex-start !important;
    padding-left: 160px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* ── Home y páginas v2 vistas por admin — sin restricciones de admin-main ── */
.admin-main.pagina-home-v2,
.admin-main.pagina-general {
    padding: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    height: auto !important;
}

/* El layout admin tampoco recorta el ancho */
.admin-layout:has(.pagina-home-v2),
.admin-layout:has(.pagina-general) {
    grid-template-columns: 220px 1fr !important;
    background: transparent !important;
}

/* La barra flotante se desplaza para no tapar el sidebar */
.admin-main.pagina-home-v2 .inf-float-left,
.admin-main.pagina-general .inf-float-left {
    left: 224px !important;
}


/* ── Admin layout con páginas públicas ── */
.admin-layout:has(main.pagina-general),
.admin-layout:has(main.pagina-home-v2) {
    background: transparent !important;
    align-items: start !important;
    min-height: 100vh !important;
}

/* El sidebar mantiene su fondo oscuro pero solo su altura */
.admin-layout:has(main.pagina-general) .admin-sidebar,
.admin-layout:has(main.pagina-home-v2) .admin-sidebar {
    min-height: 100vh !important;
    height: auto !important;
}

/* El contenido público fluye libremente */
.admin-layout:has(main.pagina-general) main,
.admin-layout:has(main.pagina-home-v2) main {
    overflow-y: auto !important;
    height: auto !important;
    max-height: none !important;
    min-width: 0 !important;
}

/* El body puede scrollear */
body.logged-in:has(main.pagina-general),
body.logged-in:has(main.pagina-home-v2) {
    overflow-y: auto !important;
    height: auto !important;
}

/* Barra flotante para HOME, CONSULTA y SERVICIOS */
body.logged-in:has(main.pagina-home-v2) .inf-float-left,
body.logged-in:has(main.pagina-general) .inf-float-left {
    top: 310px !important;
    left: 210px !important;
}

body.logged-in:has(main.pagina-home-v2) .inf-float-left,
body.logged-in:has(main.pagina-general) .inf-float-left,
body.logged-in:has(main.pagina-consulta) .inf-float-left,
body.logged-in:has(main.pagina-informe) .inf-float-left,
body.logged-in:has(main.pagina-quienes) .inf-float-left,
body.logged-in:has(main.pagina-home) .inf-float-left,
body.logged-in:has(main.pagina-crema) .inf-float-left {
    top: 130px !important;
    left: 224px !important;
    width: 155px !important;
    position: fixed !important;
}

body.logged-in:has(main.pagina-home-v2) .hv2-cta-box {
    background: #1C1917 !important;
    color: #ffffff !important;
}

/* ── Footer pegado al contenido en páginas públicas ── */
body.logged-in:has(main.pagina-home-v2) .admin-layout,
body.logged-in:has(main.pagina-general) .admin-layout {
    min-height: auto !important;
    height: auto !important;
}

body.logged-in:has(main.pagina-home-v2),
body.logged-in:has(main.pagina-general) {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
    height: auto !important;
    overflow-y: auto !important;
}

body.logged-in:has(main.pagina-home-v2),
body.logged-in:has(main.pagina-consulta),
body.logged-in:has(main.pagina-informe),
body.logged-in:has(main.pagina-quienes),
body.logged-in:has(main.pagina-home),
body.logged-in:has(main.pagina-crema) {
    overflow-y: auto !important;
    height: auto !important;
}

/* ── pagina-general vista por admin ── */
.admin-layout:has(main.pagina-general) {
    background: #F7F4EF !important;
}

/* Nav links oscuros en pagina-general */
.admin-layout:has(main.pagina-general) ~ * .nav-link,
body.logged-in:has(main.pagina-general) .nav-link {
    color: #6B7280 !important;
}
body.logged-in:has(main.pagina-general) .nav-link:hover,
body.logged-in:has(main.pagina-general) .nav-link.active {
    color: #1C1917 !important;
}

/* Float bar — debajo del navbar+subnav, a la derecha del sidebar */
body.logged-in:has(main.pagina-general) .inf-float-left {
    top: 320px !important;
    left: 228px !important;
    width: 160px !important;
}

/* Body scrolleable */
body.logged-in:has(main.pagina-general) {
    overflow-y: auto !important;
    height: auto !important;
}

.admin-layout:has(main.pagina-general) .admin-sidebar {
    min-height: 100vh !important;
    position: sticky !important;
    top: 0 !important;
    height: 100vh !important;
}

.admin-layout:has(main.pagina-general) main {
    overflow-y: auto !important;
    height: auto !important;
    max-height: none !important;
}

/* ── informe.php y pagina-general vistas por admin ── */

/* Hero crema */
.admin-layout:has(main.pagina-general) .alega-hero {
    background: #F7F4EF !important;
}

/* Fondo crema solo en contenedores específicos */
.admin-layout:has(main.pagina-general) .inf-outer,
.admin-layout:has(main.pagina-general) .faq-outer,
.admin-layout:has(main.pagina-general) .qs-outer,
.admin-layout:has(main.pagina-general) .norm-outer,
.admin-layout:has(main.pagina-general) .ct-outer,
.admin-layout:has(main.pagina-general) .blog-outer {
    background: #F7F4EF !important;
}

/* Sidebar — mantiene navy */
.admin-layout:has(main.pagina-general) .admin-sidebar {
    background: var(--navy-deep) !important;
}

/* Float bar — botones rojos */
.admin-layout:has(main.pagina-general) .inf-float-card-btn,
.admin-layout:has(main.pagina-general) .inf-float-card-btn * {
    background: #8B1A2F !important;
    color: white !important;
}

/* Excepciones — elementos que necesitan su propio fondo */
.admin-layout:has(main.pagina-general) .inf-accordion-card,
.admin-layout:has(main.pagina-general) .inf-tipo-card,
.admin-layout:has(main.pagina-general) .inf-test-card {
    background: #FFFFFF !important;
}

.admin-layout:has(main.pagina-general) .inf-tipo-card {
    background: #F7F4EF !important;
}

/* Float bar posición correcta */
.admin-layout:has(main.pagina-general) .inf-float-left {
    position: fixed !important;
    top: 130px !important;
    left: 228px !important;
    width: 160px !important;
    z-index: 100 !important;
}

/* ── Contenido pagina-general con sidebar admin ── */
.admin-layout:has(main.pagina-general) .alega-hero-inner,
.admin-layout:has(main.pagina-general) .alega-trust-inner,
.admin-layout:has(main.pagina-general) .inf-layout,
.admin-layout:has(main.pagina-general) .faq-layout,
.admin-layout:has(main.pagina-general) .qs-layout,
.admin-layout:has(main.pagina-general) .norm-layout,
.admin-layout:has(main.pagina-general) .ct-layout,
.admin-layout:has(main.pagina-general) .blog-layout,
.admin-layout:has(main.pagina-general) .ctc-hero-inner,
.admin-layout:has(main.pagina-general) .ctc-wrap,
.admin-layout:has(main.pagina-general) .container {
    padding-left: 190px !important;
}

/* Float bar pegada al sidebar */
.admin-layout:has(main.pagina-general) .inf-float-left {
    position: fixed !important;
    top: 130px !important;
    left: 228px !important;
    width: 150px !important;
    z-index: 100 !important;
}

/* ── Menú Usuarios — texto visible ── */
.admin-sidebar-group-btn {
    color: rgba(255,255,255,0.85) !important;
}

.admin-sidebar-sublink {
    color: rgba(255,255,255,0.70) !important;
    padding: 8px 12px 8px 20px !important;
}

.admin-sidebar-sublink:hover {
    color: white !important;
    background: rgba(255,255,255,0.08) !important;
}

.admin-sidebar-sublink.active {
    color: #C9A84C !important;
    border-left-color: #C9A84C !important;
}

.admin-sidebar-group-items {
    padding-left: 8px !important;
}

/* ── Secciones internas de pagina-general ── */
.admin-layout:has(main.pagina-general) .inf-outer,
.admin-layout:has(main.pagina-general) .inf-layout,
.admin-layout:has(main.pagina-general) .inf-section,
.admin-layout:has(main.pagina-general) .inf-main,
.admin-layout:has(main.pagina-general) .alega-trust-bar,
.admin-layout:has(main.pagina-general) .servicios-badges {
    background: #F7F4EF !important;
}

/* Padding suficiente para no tapar float bar */
.admin-layout:has(main.pagina-general) .alega-hero-inner {
    padding-left: 200px !important;
}
.admin-layout:has(main.pagina-general) .inf-layout,
.admin-layout:has(main.pagina-general) .container {
    padding-left: 200px !important;
}

/* ── Float bar — fondo transparente en pagina-general ── */
.admin-layout:has(main.pagina-general) .inf-float-card {
    background: transparent !important;
    border-color: rgba(28,25,23,0.12) !important;
}

/* ── Footer — fondo crema en pagina-general ── */
.admin-layout:has(main.pagina-general) ~ .footer-main,
body.logged-in:has(main.pagina-general) .footer-main {
    background: rgba(247,244,239,0.96) !important;
    border-top: 1px solid #E5E0D8 !important;
}
body.logged-in:has(main.pagina-general) .footer-main .footer-brand-desc,
body.logged-in:has(main.pagina-general) .footer-main .footer-contact-item {
    color: #6B7280 !important;
}
body.logged-in:has(main.pagina-general) .footer-bottom {
    background: #F0EDE8 !important;
    border-top: 1px solid #E5E0D8 !important;
}
body.logged-in:has(main.pagina-general) .footer-bottom-inner span {
    color: #9CA3AF !important;
}
body.logged-in:has(main.pagina-general) .footer-bottom-inner span svg {
    color: #A8896A !important;
}

/* ── Float bar — completamente transparente ── */
.admin-layout:has(main.pagina-general) .inf-float-left,
body.logged-in:has(main.pagina-general) .inf-float-left {
    background: transparent !important;
}

.admin-layout:has(main.pagina-general) .inf-float-card,
body.logged-in:has(main.pagina-general) .inf-float-card {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

/* ══════════════════════════════════════════
   CÓMO TRABAJAMOS — vista admin (paleta crema)
   ══════════════════════════════════════════ */

/* Hero eyebrow */
.admin-layout:has(main.pagina-general) .ct-hero-eyebrow {
    background: rgba(168,137,106,0.10) !important;
    border: 1px solid rgba(168,137,106,0.25) !important;
    color: #A8896A !important;
}

/* Datos del hero (15 años, 48h, etc.) */
.admin-layout:has(main.pagina-general) .ct-hero-datos {
    border: 1px solid #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .ct-hero-dato {
    border-right-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .ct-hero-dato strong {
    color: #A8896A !important;
}
.admin-layout:has(main.pagina-general) .ct-hero-dato span {
    color: #6B7280 !important;
}

/* Hero título y subtítulo */
.admin-layout:has(main.pagina-general) .alega-hero-title {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .alega-hero-title em {
    color: #A8896A !important;
}
.admin-layout:has(main.pagina-general) .alega-hero-subtitle {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .alega-hero-nota {
    color: #6B7280 !important;
}

/* Trust bar */
.admin-layout:has(main.pagina-general) .alega-trust-item {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .alega-trust-item svg {
    color: #A8896A !important;
}
.admin-layout:has(main.pagina-general) .alega-trust-sep {
    background: #C8C0B4 !important;
}

/* Hero fondo crema */
.admin-layout:has(main.pagina-general) .alega-hero {
    background: #F7F4EF !important;
}

/* Secciones ct-* */
.admin-layout:has(main.pagina-general) .ct-outer,
.admin-layout:has(main.pagina-general) .ct-layout,
.admin-layout:has(main.pagina-general) .ct-main {
    background: #F7F4EF !important;
}

/* Cabeceras de sección */
.admin-layout:has(main.pagina-general) .ct-sec-hd {
    border-bottom-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .ct-sec-num {
    color: #A8896A !important;
    background: rgba(168,137,106,0.08) !important;
    border-color: rgba(168,137,106,0.20) !important;
}
.admin-layout:has(main.pagina-general) .ct-sec-hd h2 {
    color: #1C1917 !important;
}

/* Párrafos */
.admin-layout:has(main.pagina-general) .ct-p {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .ct-p strong {
    color: #1C1917 !important;
}

/* Principios */
.admin-layout:has(main.pagina-general) .ct-principio {
    background: #FFFFFF !important;
    border-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .ct-principio:hover {
    border-color: #C8C0B4 !important;
    background: #F7F4EF !important;
}
.admin-layout:has(main.pagina-general) .ct-principio-title {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .ct-principio-desc {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .ct-principio-desc strong {
    color: #1C1917 !important;
}

/* Perfiles equipo */
.admin-layout:has(main.pagina-general) .ct-perfil-card {
    background: #FFFFFF !important;
    border-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .ct-perfil-card:hover {
    border-color: #C8C0B4 !important;
    background: #F7F4EF !important;
}
.admin-layout:has(main.pagina-general) .ct-perfil-title {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .ct-perfil-desc {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .ct-perfil-lista li {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .ct-perfil-lista li::before {
    color: #A8896A !important;
}
.admin-layout:has(main.pagina-general) .ct-perfil-badge--tec {
    background: rgba(55,138,221,0.10) !important;
    color: #185FA5 !important;
    border-color: rgba(55,138,221,0.22) !important;
}
.admin-layout:has(main.pagina-general) .ct-perfil-badge--jur {
    background: rgba(168,137,106,0.12) !important;
    color: #633806 !important;
    border-color: rgba(168,137,106,0.25) !important;
}

/* Proceso pasos */
.admin-layout:has(main.pagina-general) .ct-proceso-steps {
    border-top-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .ct-paso {
    border-bottom-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .ct-paso:hover {
    background: rgba(168,137,106,0.03) !important;
}
.admin-layout:has(main.pagic-general) .ct-paso-num {
    border-right-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .ct-paso-num {
    border-right-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .ct-paso-num-val {
    color: #C8C0B4 !important;
}
.admin-layout:has(main.pagina-general) .ct-paso-title {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .ct-paso-desc {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .ct-paso-desc strong {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .ct-paso-detail-item {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .ct-paso-detail-item::before {
    color: #A8896A !important;
}
.admin-layout:has(main.pagina-general) .ct-paso-badge--cliente {
    background: rgba(55,138,221,0.10) !important;
    color: #185FA5 !important;
    border-color: rgba(55,138,221,0.22) !important;
}
.admin-layout:has(main.pagina-general) .ct-paso-badge--alega {
    background: rgba(168,137,106,0.12) !important;
    color: #633806 !important;
    border-color: rgba(168,137,106,0.25) !important;
}
.admin-layout:has(main.pagina-general) .ct-paso-badge--conjunto {
    background: rgba(107,114,128,0.08) !important;
    color: #6B7280 !important;
    border-color: rgba(107,114,128,0.15) !important;
}
.admin-layout:has(main.pagina-general) .ct-paso-precio {
    background: rgba(55,138,221,0.08) !important;
    border-color: rgba(55,138,221,0.18) !important;
    color: #185FA5 !important;
}

/* Garantías */
.admin-layout:has(main.pagina-general) .ct-garantias-grid {
    border-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .ct-garantia-item {
    border-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .ct-garantia-num {
    color: #A8896A !important;
}
.admin-layout:has(main.pagina-general) .ct-garantia-label {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .ct-garantia-desc {
    color: #6B7280 !important;
}

/* Highlights */
.admin-layout:has(main.pagina-general) .ct-highlight {
    background: rgba(55,138,221,0.05) !important;
    border-color: rgba(55,138,221,0.18) !important;
    border-left-color: #378ADD !important;
    color: #3C3489 !important;
}
.admin-layout:has(main.pagina-general) .ct-highlight strong {
    color: #185FA5 !important;
}
.admin-layout:has(main.pagina-general) .ct-highlight--gold {
    background: rgba(168,137,106,0.06) !important;
    border-color: rgba(168,137,106,0.20) !important;
    border-left-color: #A8896A !important;
    color: #633806 !important;
}
.admin-layout:has(main.pagina-general) .ct-highlight--gold strong {
    color: #633806 !important;
}
.admin-layout:has(main.pagina-general) .ct-highlight--crimson {
    background: rgba(139,26,47,0.05) !important;
    border-color: rgba(139,26,47,0.18) !important;
    border-left-color: #8B1A2F !important;
    color: #4A1B0C !important;
}
.admin-layout:has(main.pagina-general) .ct-highlight--crimson strong {
    color: #8B1A2F !important;
}

/* Bottom CTA */
.admin-layout:has(main.pagina-general) .ct-bottom-cta {
    background: rgba(168,137,106,0.06) !important;
    border-color: rgba(168,137,106,0.20) !important;
}
.admin-layout:has(main.pagina-general) .ct-bottom-cta h3 {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .ct-bottom-cta p {
    color: #6B7280 !important;
}

/* ══════════════════════════════════════════
   QUIÉNES SOMOS — vista admin (paleta crema)
   ══════════════════════════════════════════ */

/* Hero eyebrow */
.admin-layout:has(main.pagina-general) .qs-hero-eyebrow {
    background: rgba(168,137,106,0.10) !important;
    border: 1px solid rgba(168,137,106,0.25) !important;
    color: #A8896A !important;
}

/* Datos del hero */
.admin-layout:has(main.pagina-general) .qs-hero-datos {
    border: 1px solid #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .qs-hero-dato {
    border-right-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .qs-hero-dato strong {
    color: #A8896A !important;
}
.admin-layout:has(main.pagina-general) .qs-hero-dato span {
    color: #6B7280 !important;
}

/* Fondo general */
.admin-layout:has(main.pagina-general) .qs-outer,
.admin-layout:has(main.pagina-general) .qs-layout,
.admin-layout:has(main.pagina-general) .qs-main {
    background: #F7F4EF !important;
}

/* Cabeceras de sección */
.admin-layout:has(main.pagina-general) .qs-sec-hd {
    border-bottom-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .qs-sec-num {
    color: #A8896A !important;
    background: rgba(168,137,106,0.08) !important;
    border-color: rgba(168,137,106,0.20) !important;
}
.admin-layout:has(main.pagina-general) .qs-sec-hd h2 {
    color: #1C1917 !important;
}

/* Párrafos */
.admin-layout:has(main.pagina-general) .qs-p {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .qs-p strong {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .qs-link {
    color: #A8896A !important;
}
.admin-layout:has(main.pagina-general) .qs-p strong a {
    color: #A8896A !important;
}

/* Highlights */
.admin-layout:has(main.pagina-general) .qs-highlight {
    background: rgba(55,138,221,0.05) !important;
    border-color: rgba(55,138,221,0.18) !important;
    border-left-color: #378ADD !important;
    color: #3C3489 !important;
}
.admin-layout:has(main.pagina-general) .qs-highlight strong {
    color: #185FA5 !important;
}
.admin-layout:has(main.pagina-general) .qs-highlight--gold {
    background: rgba(168,137,106,0.06) !important;
    border-color: rgba(168,137,106,0.20) !important;
    border-left-color: #A8896A !important;
    color: #633806 !important;
}
.admin-layout:has(main.pagina-general) .qs-highlight--gold strong {
    color: #633806 !important;
}

/* Imágenes duo §2 */
.admin-layout:has(main.pagina-general) .qs-duo-img-caption {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .qs-duo-img-caption .check-icon {
    color: #A8896A !important;
}
.admin-layout:has(main.pagina-general) .qs-duo-img-caption strong {
    color: #1C1917 !important;
}

/* Diferenciadores §3 */
.admin-layout:has(main.pagina-general) .qs-diffs {
    border-top-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .qs-diff-item {
    border-bottom-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .qs-diff-item:hover {
    background: rgba(168,137,106,0.03) !important;
}
.admin-layout:has(main.pagina-general) .qs-diff-num {
    color: #C8C0B4 !important;
    border-right-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .qs-diff-title {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .qs-diff-desc {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .qs-diff-desc strong {
    color: #1C1917 !important;
}

/* Equipo §4 */
.admin-layout:has(main.pagina-general) .qs-equipo-card {
    background: #FFFFFF !important;
    border-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .qs-equipo-card:hover {
    border-color: #C8C0B4 !important;
    background: #F7F4EF !important;
}
.admin-layout:has(main.pagina-general) .qs-equipo-card--gold {
    background: rgba(168,137,106,0.06) !important;
    border-color: rgba(168,137,106,0.20) !important;
}
.admin-layout:has(main.pagina-general) .qs-equipo-card--gold:hover {
    border-color: rgba(168,137,106,0.35) !important;
    background: rgba(168,137,106,0.09) !important;
}
.admin-layout:has(main.pagina-general) .qs-equipo-badge--tec {
    background: rgba(55,138,221,0.10) !important;
    color: #185FA5 !important;
    border-color: rgba(55,138,221,0.22) !important;
}
.admin-layout:has(main.pagina-general) .qs-equipo-badge--jur {
    background: rgba(168,137,106,0.12) !important;
    color: #633806 !important;
    border-color: rgba(168,137,106,0.25) !important;
}
.admin-layout:has(main.pagina-general) .qs-equipo-badge--adm {
    background: rgba(107,114,128,0.08) !important;
    color: #6B7280 !important;
    border-color: rgba(107,114,128,0.15) !important;
}
.admin-layout:has(main.pagina-general) .qs-equipo-card h3 {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .qs-equipo-card p {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .qs-equipo-card ul li {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .qs-equipo-card ul li::before {
    color: #A8896A !important;
}

/* Pilares §5 y §7 */
.admin-layout:has(main.pagina-general) .qs-pilar {
    background: #FFFFFF !important;
    border-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .qs-pilar:hover {
    border-color: #C8C0B4 !important;
    background: #F7F4EF !important;
}
.admin-layout:has(main.pagina-general) .qs-pilar-icon--code {
    color: #A8896A !important;
}
.admin-layout:has(main.pagina-general) .qs-pilar-title {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .qs-pilar-desc {
    color: #6B7280 !important;
}

/* IA block §8 */
.admin-layout:has(main.pagina-general) .qs-ia-block {
    background: rgba(168,137,106,0.06) !important;
    border-color: rgba(168,137,106,0.20) !important;
    border-left-color: #A8896A !important;
}
.admin-layout:has(main.pagina-general) .qs-ia-block h3 {
    color: #633806 !important;
}
.admin-layout:has(main.pagina-general) .qs-ia-block p {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .qs-ia-fact {
    border-top-color: rgba(168,137,106,0.20) !important;
}
.admin-layout:has(main.pagina-general) .qs-ia-fact strong {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .qs-ia-fact span {
    color: #6B7280 !important;
}

/* Testimonios §9 */
.admin-layout:has(main.pagina-general) .qs-test-card {
    background: #FFFFFF !important;
    border-color: #E5E0D8 !important;
    border-top-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .qs-test-card:hover {
    border-top-color: #A8896A !important;
}
.admin-layout:has(main.pagina-general) .qs-test-stars {
    color: #A8896A !important;
}
.admin-layout:has(main.pagina-general) .qs-test-texto {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .qs-test-autor {
    border-top-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .qs-test-nombre {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .qs-test-detalle {
    color: #9CA3AF !important;
}

/* Bottom CTA */
.admin-layout:has(main.pagina-general) .qs-bottom-cta {
    background: rgba(168,137,106,0.06) !important;
    border-color: rgba(168,137,106,0.20) !important;
}
.admin-layout:has(main.pagina-general) .qs-bottom-cta h3 {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .qs-bottom-cta p {
    color: #6B7280 !important;
}

/* Badges inferiores */
.admin-layout:has(main.pagina-general) .qs-badges {
    background: rgba(247,244,239,0.97) !important;
    border-top: 1px solid #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .qs-badges .servicios-badges-inner span {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .qs-badges .servicios-badges-inner svg {
    color: #A8896A !important;
}

/* ══════════════════════════════════════════
   NORMATIVA — vista admin (paleta crema)
   ══════════════════════════════════════════ */

/* Hero eyebrow */
.admin-layout:has(main.pagina-general) .norm-hero-eyebrow {
    background: rgba(168,137,106,0.10) !important;
    border: 1px solid rgba(168,137,106,0.25) !important;
    color: #A8896A !important;
}

/* Hero facts */
.admin-layout:has(main.pagina-general) .norm-hero-facts {
    border: 1px solid #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .norm-hero-fact {
    border-right-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .norm-hero-fact strong {
    color: #A8896A !important;
}
.admin-layout:has(main.pagina-general) .norm-hero-fact span {
    color: #6B7280 !important;
}

/* Fondo general */
.admin-layout:has(main.pagina-general) .norm-outer,
.admin-layout:has(main.pagina-general) .norm-layout,
.admin-layout:has(main.pagina-general) .norm-main {
    background: #F7F4EF !important;
}

/* Intro card */
.admin-layout:has(main.pagina-general) .norm-intro-card {
    background: rgba(55,138,221,0.05) !important;
    border-color: rgba(55,138,221,0.18) !important;
    border-left-color: #378ADD !important;
}
.admin-layout:has(main.pagina-general) .norm-intro-card p {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .norm-intro-card strong {
    color: #1C1917 !important;
}

/* Cabeceras de sección */
.admin-layout:has(main.pagina-general) .norm-section-hd {
    border-bottom-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .norm-section-num {
    color: #A8896A !important;
    background: rgba(168,137,106,0.08) !important;
    border-color: rgba(168,137,106,0.20) !important;
}
.admin-layout:has(main.pagina-general) .norm-section-title {
    color: #1C1917 !important;
}

/* Párrafos y listas */
.admin-layout:has(main.pagina-general) .norm-p {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .norm-p strong {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .norm-lista li {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .norm-lista li::before {
    color: #A8896A !important;
}
.admin-layout:has(main.pagina-general) .norm-lista li strong {
    color: #1C1917 !important;
}

/* Cards de leyes */
.admin-layout:has(main.pagina-general) .norm-ley-card {
    background: #FFFFFF !important;
    border-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .norm-ley-card:hover {
    border-color: #C8C0B4 !important;
    background: #F7F4EF !important;
}
.admin-layout:has(main.pagina-general) .norm-ley-card--featured {
    background: rgba(168,137,106,0.06) !important;
    border-color: rgba(168,137,106,0.20) !important;
}
.admin-layout:has(main.pagina-general) .norm-ley-card--featured:hover {
    border-color: rgba(168,137,106,0.35) !important;
}
.admin-layout:has(main.pagina-general) .norm-ley-code-badge {
    color: #185FA5 !important;
}
.admin-layout:has(main.pagina-general) .norm-ley-card--featured .norm-ley-code-badge {
    color: #633806 !important;
}
.admin-layout:has(main.pagina-general) .norm-ley-dot {
    background: #185FA5 !important;
}
.admin-layout:has(main.pagina-general) .norm-ley-card--featured .norm-ley-dot {
    background: #A8896A !important;
}
.admin-layout:has(main.pagina-general) .norm-ley-card h3 {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .norm-ley-card p {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .norm-ley-card--featured p {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .norm-rgpd-label {
    color: #9CA3AF !important;
}

/* Roles §3 */
.admin-layout:has(main.pagina-general) .norm-role-card {
    background: #FFFFFF !important;
    border-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .norm-role-title {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .norm-role-desc {
    color: #6B7280 !important;
}

/* Disclaimer */
.admin-layout:has(main.pagina-general) .norm-disclaimer {
    background: rgba(168,137,106,0.06) !important;
    border-color: rgba(168,137,106,0.20) !important;
    border-left-color: #A8896A !important;
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .norm-disclaimer strong {
    color: #633806 !important;
}

/* Fases §6 */
.admin-layout:has(main.pagina-general) .norm-fases-list {
    border-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .norm-fase-item {
    border-bottom-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .norm-fase-num {
    color: #C8C0B4 !important;
    border-right-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .norm-fase-title {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .norm-fase-desc {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .norm-fase-tag {
    background: rgba(55,138,221,0.08) !important;
    border-color: rgba(55,138,221,0.18) !important;
    color: #185FA5 !important;
}

/* Tabla comparativa §7 */
.admin-layout:has(main.pagina-general) .norm-section table thead tr {
    background: rgba(168,137,106,0.06) !important;
}
.admin-layout:has(main.pagina-general) .norm-section table th {
    color: #9CA3AF !important;
    border-bottom-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .norm-section table td {
    border-bottom-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .norm-section div[style*="border:1px solid rgba(255,255,255,0.07)"] {
    border-color: #E5E0D8 !important;
}

/* Compromisos §10 */
.admin-layout:has(main.pagina-general) .norm-compromiso-card {
    background: #FFFFFF !important;
    border-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .norm-compromiso-card:hover {
    border-color: #C8C0B4 !important;
}
.admin-layout:has(main.pagina-general) .norm-compromiso-title {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .norm-compromiso-desc {
    color: #6B7280 !important;
}

/* Bottom CTA */
.admin-layout:has(main.pagina-general) .norm-bottom-cta {
    background: rgba(168,137,106,0.06) !important;
    border-color: rgba(168,137,106,0.20) !important;
}
.admin-layout:has(main.pagina-general) .norm-bottom-cta h3 {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .norm-bottom-cta p {
    color: #6B7280 !important;
}

/* Badges inferiores */
.admin-layout:has(main.pagina-general) .norm-outer ~ .qs-badges,
.admin-layout:has(main.pagina-general) .servicios-badges.qs-badges {
    background: rgba(247,244,239,0.97) !important;
    border-top: 1px solid #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .servicios-badges.qs-badges .servicios-badges-inner span {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .servicios-badges.qs-badges .servicios-badges-inner svg {
    color: #A8896A !important;
}

/* ── Tabla comparativa normativa — override estilos inline ── */
.admin-layout:has(main.pagina-general) .norm-section table {
    background: #FFFFFF !important;
}
.admin-layout:has(main.pagina-general) .norm-section table thead tr {
    background: rgba(168,137,106,0.08) !important;
}
.admin-layout:has(main.pagina-general) .norm-section table th {
    color: #9CA3AF !important;
    border-bottom: 1px solid #E5E0D8 !important;
}
/* Columna Aspecto — era rgba(200,218,232,0.75) sobre oscuro, ilegible sobre crema */
.admin-layout:has(main.pagina-general) .norm-section table td:nth-child(1) {
    color: #1C1917 !important;
    font-weight: 500 !important;
}
/* Columna Visita presencial — era #5BA8C4, demasiado claro sobre crema */
.admin-layout:has(main.pagina-general) .norm-section table td:nth-child(2) {
    color: #185FA5 !important;
}
/* Columna Videoperitaje — era #C9A84C, mantiene contraste pero lo oscurecemos */
.admin-layout:has(main.pagina-general) .norm-section table td:nth-child(3) {
    color: #7A5C1E !important;
}
/* Filas alternas */
.admin-layout:has(main.pagina-general) .norm-section table tr:nth-child(even) {
    background: rgba(168,137,106,0.04) !important;
}
.admin-layout:has(main.pagina-general) .norm-section table tr {
    border-bottom: 1px solid #E5E0D8 !important;
}
/* Contenedor de la tabla */
.admin-layout:has(main.pagina-general) .norm-section div[style*="border:1px solid rgba(255,255,255,0.07)"],
.admin-layout:has(main.pagina-general) .norm-section div[style*="border: 1px solid rgba(255,255,255,0.07)"] {
    border: 1px solid #E5E0D8 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #FFFFFF !important;
}

/* ══════════════════════════════════════════
   FAQ — vista admin (paleta crema)
   ══════════════════════════════════════════ */

/* Hero eyebrow */
.admin-layout:has(main.pagina-general) .hero-eyebrow {
    background: rgba(168,137,106,0.10) !important;
    border: 1px solid rgba(168,137,106,0.25) !important;
    color: #A8896A !important;
}

/* Buscador */
.admin-layout:has(main.pagina-general) .faq-search-input {
    background: rgba(28,25,23,0.06) !important;
    border-color: #E5E0D8 !important;
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .faq-search-input::placeholder {
    color: #9CA3AF !important;
}
.admin-layout:has(main.pagina-general) .faq-search-input:focus {
    border-color: #C8C0B4 !important;
}

/* Fondo general */
.admin-layout:has(main.pagina-general) .faq-outer,
.admin-layout:has(main.pagina-general) .faq-layout,
.admin-layout:has(main.pagina-general) .faq-main {
    background: #F7F4EF !important;
}

/* Cabeceras de sección */
.admin-layout:has(main.pagina-general) .faq-section-header {
    border-bottom-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .faq-section-icon {
    background: rgba(139,26,47,0.06) !important;
    border-color: rgba(139,26,47,0.12) !important;
}
.admin-layout:has(main.pagina-general) .faq-section-titulo {
    color: #1C1917 !important;
}

/* Acordeón — items */
.admin-layout:has(main.pagina-general) .faq-item {
    border-bottom-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .faq-question {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .faq-question:hover {
    color: #8B1A2F !important;
}
.admin-layout:has(main.pagina-general) .faq-question.open {
    color: #8B1A2F !important;
}
.admin-layout:has(main.pagina-general) .faq-toggle {
    border-color: #E5E0D8 !important;
    color: #9CA3AF !important;
}
.admin-layout:has(main.pagina-general) .faq-question.open .faq-toggle {
    background: #8B1A2F !important;
    border-color: #8B1A2F !important;
    color: white !important;
}

/* Respuestas */
.admin-layout:has(main.pagina-general) .faq-answer-inner {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .faq-answer-inner strong {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .faq-answer-inner a {
    color: #8B1A2F !important;
}

/* Highlight boxes */
.admin-layout:has(main.pagina-general) .faq-highlight {
    background: rgba(139,26,47,0.04) !important;
    border-left-color: #8B1A2F !important;
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .faq-highlight--gold {
    background: rgba(168,137,106,0.06) !important;
    border-left-color: #A8896A !important;
}

/* Price tags */
.admin-layout:has(main.pagina-general) .faq-price-tag {
    background: rgba(139,26,47,0.06) !important;
    color: #8B1A2F !important;
    border-color: rgba(139,26,47,0.15) !important;
}

/* CTA final — cuando-informe-section */
.admin-layout:has(main.pagina-general) .cuando-informe-section {
    background: #F7F4EF !important;
}
.admin-layout:has(main.pagina-general) .evaluamos-cta-nueva {
    background: #FFFFFF !important;
    border-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .evaluamos-cta-nueva-titulo {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .evaluamos-cta-nueva-sub {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .evaluamos-cta-nueva-puntos li {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .evaluamos-cta-nueva-puntos svg {
    color: #8B1A2F !important;
}
.admin-layout:has(main.pagina-general) .evaluamos-cta-nueva-nota {
    color: #9CA3AF !important;
}
.admin-layout:has(main.pagina-general) .evaluamos-cta-nueva-tel {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .accent-granate {
    color: #8B1A2F !important;
}

/* ══════════════════════════════════════════
   BLOG — vista admin (paleta crema)
   ══════════════════════════════════════════ */

.admin-layout:has(main.pagina-general) .blog-filters-outer {
    background: #F0EDE8 !important;
    border-bottom-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .blog-filter-btn {
    background: #FFFFFF !important;
    border-color: #E5E0D8 !important;
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .blog-filter-btn:hover {
    border-color: #8B1A2F !important;
    color: #8B1A2F !important;
}
.admin-layout:has(main.pagina-general) .blog-filter-btn.active {
    background: #8B1A2F !important;
    border-color: #8B1A2F !important;
    color: #FFFFFF !important;
}

.admin-layout:has(main.pagina-general) .blog-outer {
    background: #F7F4EF !important;
}

/* Artículo destacado */
.admin-layout:has(main.pagina-general) .blog-featured {
    background: #FFFFFF !important;
    border-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .blog-featured-badge {
    background: rgba(139,26,47,0.08) !important;
    color: #8B1A2F !important;
}
.admin-layout:has(main.pagina-general) .blog-featured-titulo {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .blog-featured-excerpt {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .blog-featured-meta strong {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .blog-featured-meta span {
    color: #9CA3AF !important;
}
.admin-layout:has(main.pagina-general) .blog-read-link {
    color: #8B1A2F !important;
}
.admin-layout:has(main.pagina-general) .blog-featured-visual {
    background: linear-gradient(135deg, rgba(139,26,47,0.06) 0%, rgba(139,26,47,0.02) 100%) !important;
}
.admin-layout:has(main.pagina-general) .blog-feat-tag {
    color: #8B1A2F !important;
}
.admin-layout:has(main.pagina-general) .blog-feat-num {
    color: #8B1A2F !important;
}
.admin-layout:has(main.pagina-general) .blog-feat-desc {
    color: #6B7280 !important;
}

/* Section label */
.admin-layout:has(main.pagina-general) .blog-section-label {
    color: #9CA3AF !important;
    border-bottom-color: #E5E0D8 !important;
}

/* Cards */
.admin-layout:has(main.pagina-general) .blog-card {
    background: #FFFFFF !important;
    border-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .blog-card-visual {
    background: linear-gradient(135deg, rgba(139,26,47,0.06) 0%, rgba(139,26,47,0.02) 100%) !important;
}
.admin-layout:has(main.pagina-general) .blog-card-num {
    color: #8B1A2F !important;
}
.admin-layout:has(main.pagina-general) .blog-card-cat {
    color: #8B1A2F !important;
    background: rgba(139,26,47,0.08) !important;
}
.admin-layout:has(main.pagina-general) .blog-card-visual--dark .blog-card-num {
    color: #FFFFFF !important;
}
.admin-layout:has(main.pagina-general) .blog-card-visual--dark .blog-card-cat {
    color: #FFFFFF !important;
    background: rgba(255,255,255,0.15) !important;
}
.admin-layout:has(main.pagina-general) .blog-card-body h3 {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .blog-card-body p {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .blog-card-footer {
    color: #9CA3AF !important;
}
.admin-layout:has(main.pagina-general) .blog-card-footer a {
    color: #8B1A2F !important;
}

/* Bloque IA */
.admin-layout:has(main.pagina-general) .blog-ia-block {
    background: rgba(28,25,23,0.04) !important;
    border-color: rgba(168,137,106,0.25) !important;
    border-left-color: #A8896A !important;
}
.admin-layout:has(main.pagina-general) .blog-ia-header {
    border-bottom-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .blog-ia-header h3 {
    color: #633806 !important;
}
.admin-layout:has(main.pagina-general) .blog-ia-header p {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .blog-ia-fact {
    border-top-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .blog-ia-fact strong {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .blog-ia-fact span {
    color: #6B7280 !important;
}

/* Lista */
.admin-layout:has(main.pagina-general) .blog-list-item {
    border-bottom-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .blog-list-num {
    color: rgba(139,26,47,0.18) !important;
}
.admin-layout:has(main.pagina-general) .blog-list-titulo {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .blog-list-desc {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .blog-list-tag {
    color: #8B1A2F !important;
    background: rgba(139,26,47,0.08) !important;
}
.admin-layout:has(main.pagina-general) .blog-list-date {
    color: #9CA3AF !important;
}

/* Newsletter */
.admin-layout:has(main.pagina-general) .blog-newsletter {
    background: #F0EDE8 !important;
    border-color: #E5E0D8 !important;
}
.admin-layout:has(main.pagina-general) .blog-newsletter-titulo {
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-general) .blog-newsletter-desc {
    color: #6B7280 !important;
}
.admin-layout:has(main.pagina-general) .blog-newsletter-input {
    background: #FFFFFF !important;
    border-color: #E5E0D8 !important;
    color: #1C1917 !important;
}

/* Hero eyebrow y stats (compartidos con FAQ) */
.admin-layout:has(main.pagina-general) .hero-stat strong {
    color: #A8896A !important;
}
.admin-layout:has(main.pagina-general) .hero-stat span {
    color: #6B7280 !important;
}

/* ── Planes empresa — mantener fondo oscuro en vista admin ── */
.admin-layout:has(main.pagina-general) .emp-plan-card {
    background: #0D1B2A !important;
    border-color: rgba(91,168,196,0.20) !important;
}
.admin-layout:has(main.pagina-general) .emp-plan-card--recomendado {
    background: #0E2638 !important;
    border-color: rgba(201,168,76,0.30) !important;
}
.admin-layout:has(main.pagina-general) .emp-plan-card--custom {
    background: #0D1B2A !important;
    border-color: rgba(255,255,255,0.10) !important;
}
.admin-layout:has(main.pagina-general) .emp-plan-nombre { color: #FFFFFF !important; }
.admin-layout:has(main.pagina-general) .emp-plan-sub { color: rgba(200,218,232,0.50) !important; }
.admin-layout:has(main.pagina-general) .emp-plan-precio { color: #5BA8C4 !important; }
.admin-layout:has(main.pagina-general) .emp-plan-precio span { color: rgba(200,218,232,0.50) !important; }
.admin-layout:has(main.pagina-general) .emp-plan-precio--custom { color: #C9A84C !important; }
.admin-layout:has(main.pagina-general) .emp-plan-lista li { color: rgba(200,218,232,0.65) !important; }
.admin-layout:has(main.pagina-general) .emp-plan-lista li::before { color: rgba(200,218,232,0.30) !important; }
.admin-layout:has(main.pagina-general) .emp-plan-item--dest { color: rgba(200,218,232,0.90) !important; }
.admin-layout:has(main.pagina-general) .emp-plan-item--dest::before { color: #5BA8C4 !important; }
.admin-layout:has(main.pagina-general) .emp-plan-item--note { color: rgba(200,218,232,0.30) !important; }
.admin-layout:has(main.pagina-general) .emp-plan-badge { background: rgba(91,168,196,0.15) !important; color: #5BA8C4 !important; }
.admin-layout:has(main.pagina-general) .emp-plan-badge--rec { background: rgba(201,168,76,0.15) !important; color: #C9A84C !important; }
.admin-layout:has(main.pagina-general) .emp-planes-grupo-label { color: rgba(200,218,232,0.50) !important; }
.admin-layout:has(main.pagina-general) .emp-planes-nota { color: rgba(200,218,232,0.35) !important; }
.admin-layout:has(main.pagina-general) .emp-planes-nota strong { color: #5BA8C4 !important; }

.admin-layout:has(main.pagina-home-v2) .admin-sidebar {
    background: transparent !important;
}
.admin-layout:has(main.pagina-home-v2) .admin-sidebar-link {
    color: rgba(28,25,23,0.70) !important;
}
.admin-layout:has(main.pagina-home-v2) .admin-sidebar-link:hover {
    background: rgba(28,25,23,0.06) !important;
    color: #1C1917 !important;
}
.admin-layout:has(main.pagina-home-v2) .admin-sidebar-link.active {
    background: rgba(28,25,23,0.08) !important;
    color: #1C1917 !important;
    border-left-color: #8B1A2F !important;
}
.admin-layout:has(main.pagina-home-v2) .admin-sidebar-group-btn {
    color: rgba(28,25,23,0.70) !important;
}
.admin-layout:has(main.pagina-home-v2) .admin-sidebar-sublink {
    color: rgba(28,25,23,0.60) !important;
}
.admin-layout:has(main.pagina-home-v2) .admin-sidebar-divider {
    background: rgba(28,25,23,0.10) !important;
}
.admin-layout:has(main.pagina-home-v2) .admin-sidebar-link--logout {
    color: rgba(139,26,47,0.70) !important;
}

/* ── Sidebar transparente en pagina-general vista por admin ── */
.admin-layout:has(main.pagina-general) .admin-sidebar {
    background: transparent !important;
}

body.logged-in:has(main.pagina-general) .admin-sidebar {
    background: transparent !important;
    min-height: 100vh !important;
}

/* ── Proteger modales de email — siempre fondo oscuro ── */
[id^="modal"] h3,
[id^="modal"] p,
[id$="Overlay"] + [id^="modal"] h3,
[id$="Overlay"] + [id^="modal"] p {
    all: revert;
}

[id^="modal"] div[style*="linear-gradient"] h3 {
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

[id^="modal"] div[style*="linear-gradient"] p {
    color: rgba(255,255,255,0.6) !important;
    font-size: 12px !important;
    margin: 0 !important;
}

/* ══════════════════════════════════════════
   BARRAS ADMIN — botones unificados en todas las páginas
   ══════════════════════════════════════════ */
/* Tags de rol */
body.logged-in .ci-part-cta-tag,

/* ── Barra particular — quitar margin-top extra ── */
body.logged-in .ci-part-cta-bar {
    margin-top: 0 !important;
}

/* ── Barra admin — alinear al margen izquierdo ── */
body.logged-in .ci-fincas-cta-bar .container {
    padding-left: 16px !important;
    max-width: none !important;
}

body.logged-in .ci-fincas-cta-bar {
    margin-top: 0 !important;
}

/* ══════════════════════════════════════════
   BARRA ADMIN/PERITO — estilos globales ci-fincas-cta
   ══════════════════════════════════════════ */
.ci-fincas-cta-bar {
    background: linear-gradient(135deg, #0f1f3d 0%, #1a2e5a 100%);
    border-bottom: 3px solid #C9A227;
    padding: 20px 0;
    margin-top: 0;
}
.ci-fincas-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
.ci-fincas-cta-tag {
    display: inline-block;
    background: rgba(201,162,39,0.2);
    color: #C9A227;
    font-size: 10px;
    font-weight: 800;
    padding: 3px 10px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    border: 1px solid rgba(201,162,39,0.4);
    margin-bottom: 6px;
}
.ci-fincas-cta-desc {
    font-size: 13px;
    color: rgba(255,255,255,0.7);
    margin: 0;
    line-height: 1.5;
    max-width: 520px;
}
.ci-fincas-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 13px 26px;
    background: linear-gradient(to right, #C9A227, #e8c45a);
    color: white;
    border-radius: 10px;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
    white-space: nowrap;
    flex-shrink: 0;
    box-shadow: 0 4px 20px rgba(201,162,39,0.35);
    min-width: 260px;
    justify-content: center;
    box-sizing: border-box;
}
.ci-fincas-cta-btn:hover {
    background: linear-gradient(to right, #a8871f, #C9A227);
    transform: translateY(-1px);
}
.ci-fincas-cta-btn-email {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 26px;
    background: rgba(255,255,255,0.1);
    color: #C9A227;
    border-radius: 10px;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
    white-space: nowrap;
    border: 1px solid rgba(201,162,39,0.4);
    cursor: pointer;
    min-width: 260px;
    justify-content: center;
    box-sizing: border-box;
}
.ci-fincas-cta-btn-email:hover {
    background: rgba(255,255,255,0.18);
    transform: translateY(-1px);
}
.ci-fincas-cta-inner > div:last-child {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex-shrink: 0;
    width: 280px;
}
@media (max-width: 700px) {
    .ci-fincas-cta-inner { flex-direction: column; align-items: flex-start; }
    .ci-fincas-cta-btn, .ci-fincas-cta-btn-email { width: 100%; justify-content: center; }
}

body.logged-in .ci-fincas-cta-bar .container {
    padding-left: 16px !important;
    max-width: none !important;
}

/* ══════════════════════════════════════════════════════════════════════
   FIX DEFINITIVO — Admin viendo páginas públicas
   
   El body tiene clase "logged-in" (no "admin-body") cuando un admin
   usa el layout default.php (páginas públicas).
   "admin-body" solo existe en admin.php (panel de gestión).
   
   AÑADIR AL FINAL DE admin.css
   SUSTITUYE todos los bloques body.admin-body:has(main.pagina-X)
   anteriores para páginas públicas.
   ══════════════════════════════════════════════════════════════════════ */

/* ── 1. BODY: scroll libre ── */
body.logged-in:has(main.pagina-consulta),
body.logged-in:has(main.pagina-informe),
body.logged-in:has(main.pagina-quienes),
body.logged-in:has(main.pagina-home),
body.logged-in:has(main.pagina-crema),
body.logged-in:has(main.pagina-como-trabajamos),
body.logged-in:has(main.pagina-contacto),
body.logged-in:has(main.pagina-casos),
body.logged-in:has(main.pagina-presupuesto),
body.logged-in:has(main.pagina-equipo),
body.logged-in:has(main.pagina-particular) {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: auto !important;
}

/* ── 2. LAYOUT: grid 220px sidebar + resto ── */
body.logged-in:has(main.pagina-consulta) .admin-layout,
body.logged-in:has(main.pagina-informe) .admin-layout,
body.logged-in:has(main.pagina-quienes) .admin-layout,
body.logged-in:has(main.pagina-home) .admin-layout,
body.logged-in:has(main.pagina-crema) .admin-layout,
body.logged-in:has(main.pagina-como-trabajamos) .admin-layout,
body.logged-in:has(main.pagina-contacto) .admin-layout,
body.logged-in:has(main.pagina-casos) .admin-layout,
body.logged-in:has(main.pagina-presupuesto) .admin-layout,
body.logged-in:has(main.pagina-equipo) .admin-layout,
body.logged-in:has(main.pagina-particular) .admin-layout {
    display: grid !important;
    grid-template-columns: 220px 1fr !important;
    align-items: start !important;
    background: transparent !important;
    min-height: 100vh !important;
    height: auto !important;
    overflow: visible !important;
}

/* ── 3. SIDEBAR: sticky, transparente, texto oscuro ── */
body.logged-in:has(main.pagina-consulta) .admin-sidebar,
body.logged-in:has(main.pagina-informe) .admin-sidebar,
body.logged-in:has(main.pagina-quienes) .admin-sidebar,
body.logged-in:has(main.pagina-home) .admin-sidebar,
body.logged-in:has(main.pagina-crema) .admin-sidebar,
body.logged-in:has(main.pagina-como-trabajamos) .admin-sidebar,
body.logged-in:has(main.pagina-contacto) .admin-sidebar,
body.logged-in:has(main.pagina-casos) .admin-sidebar,
body.logged-in:has(main.pagina-presupuesto) .admin-sidebar,
body.logged-in:has(main.pagina-equipo) .admin-sidebar,
body.logged-in:has(main.pagina-particular) .admin-sidebar {
    position: sticky !important;
    top: 0 !important;
    height: 100vh !important;
    overflow-y: auto !important;
    background: transparent !important;
    width: 220px !important;
    flex-shrink: 0 !important;
}

/* Texto del sidebar oscuro sobre fondo crema */
body.logged-in:has(main.pagina-consulta) .admin-sidebar .admin-sidebar-link,
body.logged-in:has(main.pagina-informe) .admin-sidebar .admin-sidebar-link,
body.logged-in:has(main.pagina-quienes) .admin-sidebar .admin-sidebar-link,
body.logged-in:has(main.pagina-home) .admin-sidebar .admin-sidebar-link,
body.logged-in:has(main.pagina-crema) .admin-sidebar .admin-sidebar-link,
body.logged-in:has(main.pagina-como-trabajamos) .admin-sidebar .admin-sidebar-link,
body.logged-in:has(main.pagina-contacto) .admin-sidebar .admin-sidebar-link,
body.logged-in:has(main.pagina-casos) .admin-sidebar .admin-sidebar-link,
body.logged-in:has(main.pagina-presupuesto) .admin-sidebar .admin-sidebar-link,
body.logged-in:has(main.pagina-equipo) .admin-sidebar .admin-sidebar-link,
body.logged-in:has(main.pagina-particular) .admin-sidebar .admin-sidebar-link {
    color: rgba(28,25,23,0.65) !important;
}
body.logged-in:has(main.pagina-consulta) .admin-sidebar .admin-sidebar-link:hover,
body.logged-in:has(main.pagina-informe) .admin-sidebar .admin-sidebar-link:hover,
body.logged-in:has(main.pagina-quienes) .admin-sidebar .admin-sidebar-link:hover,
body.logged-in:has(main.pagina-home) .admin-sidebar .admin-sidebar-link:hover,
body.logged-in:has(main.pagina-crema) .admin-sidebar .admin-sidebar-link:hover,
body.logged-in:has(main.pagina-como-trabajamos) .admin-sidebar .admin-sidebar-link:hover,
body.logged-in:has(main.pagina-contacto) .admin-sidebar .admin-sidebar-link:hover,
body.logged-in:has(main.pagina-casos) .admin-sidebar .admin-sidebar-link:hover,
body.logged-in:has(main.pagina-presupuesto) .admin-sidebar .admin-sidebar-link:hover,
body.logged-in:has(main.pagina-equipo) .admin-sidebar .admin-sidebar-link:hover,
body.logged-in:has(main.pagina-particular) .admin-sidebar .admin-sidebar-link:hover {
    color: #1C1917 !important;
    background: rgba(28,25,23,0.06) !important;
}
body.logged-in:has(main.pagina-consulta) .admin-sidebar .admin-sidebar-link.active,
body.logged-in:has(main.pagina-informe) .admin-sidebar .admin-sidebar-link.active,
body.logged-in:has(main.pagina-quienes) .admin-sidebar .admin-sidebar-link.active,
body.logged-in:has(main.pagina-home) .admin-sidebar .admin-sidebar-link.active,
body.logged-in:has(main.pagina-crema) .admin-sidebar .admin-sidebar-link.active,
body.logged-in:has(main.pagina-como-trabajamos) .admin-sidebar .admin-sidebar-link.active,
body.logged-in:has(main.pagina-contacto) .admin-sidebar .admin-sidebar-link.active,
body.logged-in:has(main.pagina-casos) .admin-sidebar .admin-sidebar-link.active,
body.logged-in:has(main.pagina-presupuesto) .admin-sidebar .admin-sidebar-link.active,
body.logged-in:has(main.pagina-equipo) .admin-sidebar .admin-sidebar-link.active,
body.logged-in:has(main.pagina-particular) .admin-sidebar .admin-sidebar-link.active {
    color: #1C1917 !important;
    background: rgba(28,25,23,0.08) !important;
    border-left-color: #8B1A2F !important;
}
body.logged-in:has(main.pagina-consulta) .admin-sidebar .admin-sidebar-group-btn,
body.logged-in:has(main.pagina-informe) .admin-sidebar .admin-sidebar-group-btn,
body.logged-in:has(main.pagina-quienes) .admin-sidebar .admin-sidebar-group-btn,
body.logged-in:has(main.pagina-home) .admin-sidebar .admin-sidebar-group-btn,
body.logged-in:has(main.pagina-crema) .admin-sidebar .admin-sidebar-group-btn,
body.logged-in:has(main.pagina-como-trabajamos) .admin-sidebar .admin-sidebar-group-btn,
body.logged-in:has(main.pagina-contacto) .admin-sidebar .admin-sidebar-group-btn,
body.logged-in:has(main.pagina-casos) .admin-sidebar .admin-sidebar-group-btn,
body.logged-in:has(main.pagina-presupuesto) .admin-sidebar .admin-sidebar-group-btn,
body.logged-in:has(main.pagina-equipo) .admin-sidebar .admin-sidebar-group-btn,
body.logged-in:has(main.pagina-particular) .admin-sidebar .admin-sidebar-group-btn {
    color: rgba(28,25,23,0.65) !important;
}
body.logged-in:has(main.pagina-consulta) .admin-sidebar .admin-sidebar-sublink,
body.logged-in:has(main.pagina-informe) .admin-sidebar .admin-sidebar-sublink,
body.logged-in:has(main.pagina-quienes) .admin-sidebar .admin-sidebar-sublink,
body.logged-in:has(main.pagina-home) .admin-sidebar .admin-sidebar-sublink,
body.logged-in:has(main.pagina-crema) .admin-sidebar .admin-sidebar-sublink,
body.logged-in:has(main.pagina-como-trabajamos) .admin-sidebar .admin-sidebar-sublink,
body.logged-in:has(main.pagina-contacto) .admin-sidebar .admin-sidebar-sublink,
body.logged-in:has(main.pagina-casos) .admin-sidebar .admin-sidebar-sublink,
body.logged-in:has(main.pagina-presupuesto) .admin-sidebar .admin-sidebar-sublink,
body.logged-in:has(main.pagina-equipo) .admin-sidebar .admin-sidebar-sublink,
body.logged-in:has(main.pagina-particular) .admin-sidebar .admin-sidebar-sublink {
    color: rgba(28,25,23,0.55) !important;
}
body.logged-in:has(main.pagina-consulta) .admin-sidebar .admin-sidebar-divider,
body.logged-in:has(main.pagina-informe) .admin-sidebar .admin-sidebar-divider,
body.logged-in:has(main.pagina-quienes) .admin-sidebar .admin-sidebar-divider,
body.logged-in:has(main.pagina-home) .admin-sidebar .admin-sidebar-divider,
body.logged-in:has(main.pagina-crema) .admin-sidebar .admin-sidebar-divider,
body.logged-in:has(main.pagina-como-trabajamos) .admin-sidebar .admin-sidebar-divider,
body.logged-in:has(main.pagina-contacto) .admin-sidebar .admin-sidebar-divider,
body.logged-in:has(main.pagina-casos) .admin-sidebar .admin-sidebar-divider,
body.logged-in:has(main.pagina-presupuesto) .admin-sidebar .admin-sidebar-divider,
body.logged-in:has(main.pagina-equipo) .admin-sidebar .admin-sidebar-divider,
body.logged-in:has(main.pagina-particular) .admin-sidebar .admin-sidebar-divider {
    background: rgba(28,25,23,0.10) !important;
}
body.logged-in:has(main.pagina-consulta) .admin-sidebar .admin-sidebar-link--logout,
body.logged-in:has(main.pagina-informe) .admin-sidebar .admin-sidebar-link--logout,
body.logged-in:has(main.pagina-quienes) .admin-sidebar .admin-sidebar-link--logout,
body.logged-in:has(main.pagina-home) .admin-sidebar .admin-sidebar-link--logout,
body.logged-in:has(main.pagina-crema) .admin-sidebar .admin-sidebar-link--logout,
body.logged-in:has(main.pagina-como-trabajamos) .admin-sidebar .admin-sidebar-link--logout,
body.logged-in:has(main.pagina-contacto) .admin-sidebar .admin-sidebar-link--logout,
body.logged-in:has(main.pagina-casos) .admin-sidebar .admin-sidebar-link--logout,
body.logged-in:has(main.pagina-presupuesto) .admin-sidebar .admin-sidebar-link--logout,
body.logged-in:has(main.pagina-equipo) .admin-sidebar .admin-sidebar-link--logout,
body.logged-in:has(main.pagina-particular) .admin-sidebar .admin-sidebar-link--logout {
    color: rgba(139,26,47,0.65) !important;
}

/* ── 4. MAIN: sin restricciones de altura ni padding ── */
body.logged-in:has(main.pagina-consulta) .admin-layout > main,
body.logged-in:has(main.pagina-informe) .admin-layout > main,
body.logged-in:has(main.pagina-quienes) .admin-layout > main,
body.logged-in:has(main.pagina-home) .admin-layout > main,
body.logged-in:has(main.pagina-crema) .admin-layout > main,
body.logged-in:has(main.pagina-como-trabajamos) .admin-layout > main,
body.logged-in:has(main.pagina-contacto) .admin-layout > main,
body.logged-in:has(main.pagina-casos) .admin-layout > main,
body.logged-in:has(main.pagina-presupuesto) .admin-layout > main,
body.logged-in:has(main.pagina-equipo) .admin-layout > main,
body.logged-in:has(main.pagina-particular) .admin-layout > main {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
    /* La página define su propio padding con sus clases internas */
}

/* ── 5. FLOAT BAR: después del sidebar ── */
body.logged-in:has(main.pagina-consulta) .inf-float-left,
body.logged-in:has(main.pagina-informe) .inf-float-left,
body.logged-in:has(main.pagina-quienes) .inf-float-left,
body.logged-in:has(main.pagina-home) .inf-float-left,
body.logged-in:has(main.pagina-crema) .inf-float-left,
body.logged-in:has(main.pagina-como-trabajamos) .inf-float-left,
body.logged-in:has(main.pagina-contacto) .inf-float-left,
body.logged-in:has(main.pagina-casos) .inf-float-left,
body.logged-in:has(main.pagina-presupuesto) .inf-float-left,
body.logged-in:has(main.pagina-equipo) .inf-float-left,
body.logged-in:has(main.pagina-particular) .inf-float-left {
    position: fixed !important;
    left: 224px !important;
    top: 130px !important;
    width: 155px !important;
    z-index: 200 !important;
}

/* ── 6. admin-main: no debe tener padding ni altura fija en páginas públicas ── */
body.logged-in:has(main.pagina-consulta) .admin-main,
body.logged-in:has(main.pagina-informe) .admin-main,
body.logged-in:has(main.pagina-quienes) .admin-main,
body.logged-in:has(main.pagina-home) .admin-main,
body.logged-in:has(main.pagina-crema) .admin-main,
body.logged-in:has(main.pagina-como-trabajamos) .admin-main,
body.logged-in:has(main.pagina-contacto) .admin-main,
body.logged-in:has(main.pagina-casos) .admin-main,
body.logged-in:has(main.pagina-presupuesto) .admin-main,
body.logged-in:has(main.pagina-equipo) .admin-main,
body.logged-in:has(main.pagina-particular) .admin-main {
    padding: 0 !important;
    max-height: none !important;
    overflow-y: visible !important;
    height: auto !important;
    gap: 0 !important;
}

/* ── consulta.php vista por admin ── */
body.logged-in:has(main.pagina-consulta) .cq-hero-grid {
    padding-left: 0 !important;
}

body.logged-in:has(main.pagina-consulta) .inf-float-left {
    position: fixed !important;
    left: 224px !important;
    top: 130px !important;
    width: 155px !important;
    z-index: 200 !important;
}

body.logged-in:has(main.pagina-consulta) .admin-layout > main {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
}

body.logged-in:has(main.pagina-consulta) {
    overflow-y: auto !important;
    height: auto !important;
}

body.logged-in:has(main.pagina-consulta) .admin-sidebar {
    position: sticky !important;
    top: 0 !important;
    height: 100vh !important;
    background: transparent !important;
}

body.logged-in:has(main.pagina-consulta) .admin-sidebar .admin-sidebar-link {
    color: rgba(28,25,23,0.65) !important;
}
body.logged-in:has(main.pagina-consulta) .admin-sidebar .admin-sidebar-link:hover {
    color: #1C1917 !important;
    background: rgba(28,25,23,0.06) !important;
}

body.logged-in:has(main.pagina-consulta) .cq-hero-grid {
    padding-left: 0 !important;
}

body.logged-in:has(main.pagina-consulta) .inf-float-left {
    left: 224px !important;
    top: 130px !important;
    width: 155px !important;
}

/* ════════════════════════════════════════════
   RESPONSIVE MÓVIL — Admin y Cliente
   Breakpoints: 900px (tablet) · 600px (móvil)
════════════════════════════════════════════ */

/* ── NAVBAR: ocultar links, mostrar hamburguesa ── */
@media (max-width: 900px) {

    /* Navbar */
    .navbar-nav,
    .navbar-phone,
    .btn-contactar { display: none !important; }

    .hamburger { display: flex !important; }

    .navbar-inner {
        padding: 0 16px;
        height: 56px;
    }

    .navbar-logo .logo-img { height: 44px !important; }

    .nv2-logo-name { font-size: 26px !important; }
    .nv2-logo-sub  { font-size: 10px !important; }

    /* Subnav: scroll horizontal en móvil */
    .subnav-inner {
        overflow-x: auto;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        padding: 0 16px !important;
        gap: 4px !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .subnav-inner::-webkit-scrollbar { display: none; }

    .subnav-link {
        white-space: nowrap;
        font-size: 12px !important;
        padding: 8px 10px !important;
    }

    /* Layout admin: sidebar oculto, main ocupa todo */
    .admin-layout {
        grid-template-columns: 1fr !important;
        background: linear-gradient(180deg, #0f1f3d 0%, #2a4a7f 50%, #6b8fc4 100%);
    }

    .admin-sidebar { display: none !important; }

    .admin-main {
        padding: 16px !important;
        max-height: none !important;
        overflow-y: visible !important;
        height: auto !important;
    }

    /* Sidebar de cliente también oculto */
    .cliente-layout {
        display: block !important;
        background: linear-gradient(180deg, #0f1f3d 0%, #2a4a7f 50%, #6b8fc4 100%);
    }
    .cliente-sidebar { display: none !important; }
    .cliente-main {
        padding: 16px !important;
        max-width: 100% !important;
    }

    /* Stats grid: 2 columnas en tablet */
    .admin-stats-grid { grid-template-columns: repeat(2, 1fr) !important; }

    /* Tabla: scroll horizontal */
    .admin-table-wrap { overflow-x: auto !important; }
    .admin-table { min-width: 540px; }

    /* Topbar admin: el botón de cuenta siempre visible */
    .admin-topbar {
        height: 48px;
        padding: 0 12px;
    }

    /* Body admin: permitir scroll en móvil */
    .admin-body {
        overflow-y: auto !important;
        overflow-x: hidden !important;
        height: auto !important;
    }
}

/* ── MÓVIL REAL ── */
@media (max-width: 600px) {

    /* Stats: 1 columna */
    .admin-stats-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
    .admin-stat-card  { padding: 16px 12px !important; }
    .admin-stat-num   { font-size: 24px !important; }

    /* Secciones */
    .admin-section { padding: 16px !important; }
    .admin-section-title { font-size: 15px !important; }

    /* Tabla */
    .admin-table th,
    .admin-table td { padding: 10px 10px !important; font-size: 12px !important; }

    /* Cliente dashboard: datos en 1 columna */
    .cliente-datos-grid    { grid-template-columns: 1fr !important; }
    .cliente-badges-bar    { grid-template-columns: 1fr 1fr !important; }
    .doc-tipos-grid        { grid-template-columns: repeat(2, 1fr) !important; }

    /* Formularios */
    .edicion-grid          { grid-template-columns: 1fr !important; }
    .honorarios-input-row  { flex-direction: column !important; align-items: flex-start !important; }
    .servicios-selector    { grid-template-columns: 1fr 1fr !important; }

    /* Hero admin */
    .admin-hero-inner      { grid-template-columns: 1fr !important; padding: 20px 0 !important; }
    .admin-hero-img        { display: none !important; }
    .admin-hero-title      { font-size: 22px !important; }

    /* Mi cuenta: texto recortado */
    .mi-cuenta-btn {
        font-size: 13px !important;
        padding: 6px 10px !important;
        max-width: 160px;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Main más compacto */
    .admin-main,
    .cliente-main { padding: 12px !important; gap: 16px !important; }

    /* Navbar logo más pequeño */
    .navbar-logo { left: 60px !important; }
    .nv2-logo-name { font-size: 22px !important; }
}

@media (max-width: 900px) {
    .admin-topbar {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        left: 0 !important;
        z-index: 9999 !important;
        background: rgba(15, 31, 61, 0.95) !important;
        backdrop-filter: blur(8px) !important;
        height: 48px !important;
        padding: 0 16px !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
    }

    /* Empuja el contenido para que no quede tapado por el topbar */
    .admin-layout {
        padding-top: 48px !important;
    }
}