/* ══════════════════════════════════════════════════════════════
   HOME DASHBOARD — MODO OSCURO EJECUTIVO
   Alcance: exclusivo de /index.html  (.home-dashboard-dark)
   NO afecta ningún otro módulo del portal.
   ══════════════════════════════════════════════════════════════ */

/* ─── Variables de color dark home ───────────────────────────── */
:root {
    --home-bg:      #0b0f17;
    --home-bg-soft: #101623;
    --home-card:    #121826;
    --home-card-2:  #161d2e;
    --home-border:  rgba(148, 163, 184, 0.18);
    --home-text:    #f8fafc;
    --home-muted:   #94a3b8;
    --home-muted-2: #64748b;
    --home-orange:  #ff6b1a;
    --home-yellow:  #facc15;
    --home-blue:    #3b82f6;
    --home-green:   #10b981;
    --home-red:     #ef4444;
}

/* ══════════════════════════════════════════════════════════════
   BASE
   ══════════════════════════════════════════════════════════════ */
.home-dashboard-dark {
    background:
        radial-gradient(ellipse at 15% 0%, rgba(59, 130, 246, 0.06) 0%, transparent 55%),
        radial-gradient(ellipse at 85% 0%, rgba(255, 107, 26, 0.06) 0%, transparent 55%),
        var(--home-bg);
    color: var(--home-text);
    min-height: 100vh;
}

/* app-content y page-content son transparentes para que se vea el fondo del body */
.home-dashboard-dark .app-content {
    background: transparent;
}

.home-dashboard-dark .page-content {
    background: transparent;
    padding-bottom: var(--space-12);
}

/* ══════════════════════════════════════════════════════════════
   TOPBAR / HEADER
   ══════════════════════════════════════════════════════════════ */
.home-dashboard-dark .topbar {
    background: transparent;
}

.home-dashboard-dark .welcome-block h1 {
    color: var(--home-text);
}

.home-dashboard-dark .welcome-block p:not(.eyebrow) {
    color: var(--home-muted);
}

.home-dashboard-dark .eyebrow {
    color: var(--home-orange);
    letter-spacing: 0.08em;
}

.home-dashboard-dark .status-pill {
    background: var(--home-card-2);
    border-color: var(--home-border);
    color: var(--home-muted);
}

.home-dashboard-dark .alerts-badge {
    background: rgba(239, 68, 68, 0.14);
    color: #f87171;
    border: 1px solid rgba(239, 68, 68, 0.35);
}

/* ── Brand stripe más sutil en oscuro ──────────────────────── */
.home-dashboard-dark .brand-stripe {
    background: linear-gradient(
        90deg,
        rgba(255, 107, 26, 0.55)  0    26%,
        var(--home-orange)         26%  68%,
        var(--home-yellow)         68%  100%
    );
    height: 3px;
    opacity: 0.75;
}

/* ── Botón hamburguesa móvil ──────────────────────────────── */
.home-dashboard-dark .mobile-menu-toggle {
    background: var(--home-card-2);
    border-color: var(--home-border);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
}

.home-dashboard-dark .mobile-menu-toggle::before {
    border-top-color:    var(--home-text);
    border-bottom-color: var(--home-text);
    box-shadow: 0 6px 0 var(--home-text);
}

/* ══════════════════════════════════════════════════════════════
   BASE PANEL (dashboard-panel)
   ══════════════════════════════════════════════════════════════ */
.home-dashboard-dark .dashboard-panel {
    background: linear-gradient(160deg, var(--home-card-2) 0%, var(--home-card) 100%);
    border-color: var(--home-border);
    color: var(--home-text);
    box-shadow:
        0 2px 0 rgba(255, 255, 255, 0.04) inset,
        0 14px 34px rgba(0, 0, 0, 0.40);
}

.home-dashboard-dark .dashboard-panel:hover {
    border-color: rgba(255, 107, 26, 0.30);
}

.home-dashboard-dark .panel-heading h2 {
    color: var(--home-text);
}

.home-dashboard-dark .panel-heading h3 {
    color: var(--home-text);
}

.home-dashboard-dark .panel-icon {
    color: var(--home-orange);
    opacity: 0.85;
}

/* ── Progress tracks ──────────────────────────────────────── */
.home-dashboard-dark .progress-track {
    background: rgba(255, 255, 255, 0.07);
}

.home-dashboard-dark .progress-track span {
    background: linear-gradient(90deg, var(--home-orange), var(--home-yellow));
}

/* ══════════════════════════════════════════════════════════════
   PULSO GLOBAL CARDS
   ══════════════════════════════════════════════════════════════ */
.home-dashboard-dark .pulso-card {
    background: linear-gradient(160deg, var(--home-card-2) 0%, var(--home-card) 100%);
    border-color: var(--home-border);
    color: var(--home-text);
    box-shadow:
        0 2px 0 rgba(255, 255, 255, 0.04) inset,
        0 14px 34px rgba(0, 0, 0, 0.40);
}

.home-dashboard-dark .pulso-card:hover {
    border-color: rgba(255, 107, 26, 0.40);
    box-shadow:
        0 2px 0 rgba(255, 255, 255, 0.04) inset,
        0 20px 48px rgba(0, 0, 0, 0.55);
    transform: translateY(-3px);
}

/* Tono de borde superior */
.home-dashboard-dark .pulso-card[data-tone="success"] { border-top-color: var(--home-green);  }
.home-dashboard-dark .pulso-card[data-tone="danger"]  { border-top-color: var(--home-red);    }
.home-dashboard-dark .pulso-card[data-tone="warning"] { border-top-color: var(--home-yellow); }
.home-dashboard-dark .pulso-card[data-tone="info"]    { border-top-color: var(--home-blue);   }

/* Eyebrow */
.home-dashboard-dark .pulso-eyebrow                              { color: var(--home-orange); }
.home-dashboard-dark .pulso-card[data-tone="success"] .pulso-eyebrow { color: var(--home-green);  }
.home-dashboard-dark .pulso-card[data-tone="danger"]  .pulso-eyebrow { color: var(--home-red);    }
.home-dashboard-dark .pulso-card[data-tone="warning"] .pulso-eyebrow { color: var(--home-yellow); }
.home-dashboard-dark .pulso-card[data-tone="info"]    .pulso-eyebrow { color: var(--home-blue);   }

/* Valor principal */
.home-dashboard-dark .pulso-value { color: var(--home-text); }

/* Stats internos */
.home-dashboard-dark .pulso-stat {
    background: rgba(255, 255, 255, 0.03);
    border-color: var(--home-border);
}
.home-dashboard-dark .pulso-stat strong { color: var(--home-text); }
.home-dashboard-dark .pulso-stat span   { color: var(--home-muted); }

.home-dashboard-dark .pulso-stat--success strong { color: var(--home-green);  }
.home-dashboard-dark .pulso-stat--warning strong { color: var(--home-yellow); }
.home-dashboard-dark .pulso-stat--danger  strong { color: var(--home-red);    }
.home-dashboard-dark .pulso-stat--info    strong { color: var(--home-blue);   }

/* Mini barras */
.home-dashboard-dark .pulso-mini-bar-track  { background: rgba(255, 255, 255, 0.07); }
.home-dashboard-dark .pulso-mini-bar-label  { color: var(--home-muted); }
.home-dashboard-dark .pulso-mini-bar-pct    { color: var(--home-muted-2); }
.home-dashboard-dark .pulso-note            { color: var(--home-muted-2); }

.home-dashboard-dark .pulso-mini-bar-fill                                 { background: linear-gradient(90deg, var(--home-orange), var(--home-yellow)); }
.home-dashboard-dark .pulso-mini-bar-fill[data-tone="success"] { background: linear-gradient(90deg, var(--home-green),  #34d399); }
.home-dashboard-dark .pulso-mini-bar-fill[data-tone="warning"] { background: linear-gradient(90deg, var(--home-yellow), #fde047); }
.home-dashboard-dark .pulso-mini-bar-fill[data-tone="danger"]  { background: linear-gradient(90deg, var(--home-red),    #f87171); }

/* ══════════════════════════════════════════════════════════════
   MÓDULO PRINCIPAL SGI
   ══════════════════════════════════════════════════════════════ */
.home-dashboard-dark .modulo-cols {
    border-color: var(--home-border);
    background: transparent;
}

.home-dashboard-dark .modulo-col {
    border-right-color: var(--home-border);
    background: transparent;
}

.home-dashboard-dark .modulo-col-title  { color: var(--home-text);   }
.home-dashboard-dark .modulo-col-icon   { color: var(--home-orange); }

.home-dashboard-dark .modulo-stat {
    background: rgba(255, 255, 255, 0.03);
    border-color: var(--home-border);
}
.home-dashboard-dark .modulo-stat-label  { color: var(--home-muted); }
.home-dashboard-dark .modulo-stat strong { color: var(--home-text);  }

.home-dashboard-dark .modulo-stat--success strong { color: var(--home-green);  }
.home-dashboard-dark .modulo-stat--warning strong { color: var(--home-yellow); }
.home-dashboard-dark .modulo-stat--danger  strong { color: var(--home-red);    }

.home-dashboard-dark .modulo-alerta {
    background: rgba(250, 204, 21, 0.08);
    color: var(--home-yellow);
}

.home-dashboard-dark .modulo-progress-wrap small { color: var(--home-muted-2); }

.home-dashboard-dark .modulo-btn {
    background: rgba(255, 107, 26, 0.10);
    border-color: rgba(255, 107, 26, 0.45);
    color: #fb923c;
}
.home-dashboard-dark .modulo-btn:hover {
    background: var(--home-orange);
    color: #ffffff;
}

/* ══════════════════════════════════════════════════════════════
   SISTEMAS NORMATIVOS
   ══════════════════════════════════════════════════════════════ */
.home-dashboard-dark .sistema-card-head h3 { color: var(--home-text);  }
.home-dashboard-dark .sistema-desc         { color: var(--home-muted); }

.home-dashboard-dark .sistema-alert-badge {
    background: rgba(239, 68, 68, 0.14);
    color: #f87171;
}

.home-dashboard-dark .sistema-avance-row         { color: var(--home-muted); }
.home-dashboard-dark .sistema-avance-row strong  { color: var(--home-text);  }

.home-dashboard-dark .sistema-avance-row strong[data-tone="success"] { color: var(--home-green);  }
.home-dashboard-dark .sistema-avance-row strong[data-tone="warning"] { color: var(--home-yellow); }
.home-dashboard-dark .sistema-avance-row strong[data-tone="danger"]  { color: var(--home-red);    }

.home-dashboard-dark .sistema-sin-datos {
    background: rgba(255, 255, 255, 0.03);
    color: var(--home-muted);
}

/* Tags de submódulos */
.home-dashboard-dark .sistema-tag--ok      { background: rgba(16,  185, 129, 0.12); color: #34d399; border: 1px solid rgba(16,185,129,0.20); }
.home-dashboard-dark .sistema-tag--info    { background: rgba(59,  130, 246, 0.12); color: #60a5fa; border: 1px solid rgba(59,130,246,0.20); }
.home-dashboard-dark .sistema-tag--warning { background: rgba(250, 204,  21, 0.12); color: #facc15; border: 1px solid rgba(250,204,21,0.20); }
.home-dashboard-dark .sistema-tag--danger  { background: rgba(239,  68,  68, 0.12); color: #f87171; border: 1px solid rgba(239,68,68,0.20);  }

.home-dashboard-dark .sistema-btn {
    background: rgba(255, 107, 26, 0.10);
    border-color: rgba(255, 107, 26, 0.45);
    color: #fb923c;
}
.home-dashboard-dark .sistema-btn:hover {
    background: var(--home-orange);
    color: #ffffff;
}

/* ══════════════════════════════════════════════════════════════
   AGENDA SGI — TABLA
   ══════════════════════════════════════════════════════════════ */
.home-dashboard-dark .agenda-subtitle { color: var(--home-muted); }
.home-dashboard-dark .agenda-empty    { color: var(--home-muted-2); }

.home-dashboard-dark .plan-table-wrap {
    background: transparent;
    border-color: var(--home-border);
}

.home-dashboard-dark .plan-table {
    background: transparent;
}

.home-dashboard-dark .plan-table th {
    background: rgba(22, 29, 46, 0.90);
    color: var(--home-muted);
    border-bottom-color: var(--home-border);
    letter-spacing: 0.06em;
}

.home-dashboard-dark .plan-table td {
    color: var(--home-text);
    border-bottom-color: rgba(148, 163, 184, 0.10);
}

.home-dashboard-dark .plan-table td strong { color: var(--home-text);  }
.home-dashboard-dark .plan-table td small  { color: var(--home-muted); }

.home-dashboard-dark .plan-table tbody tr:hover {
    background: rgba(255, 107, 26, 0.04);
}

.home-dashboard-dark .agenda-action {
    background: rgba(255, 107, 26, 0.08);
    border-color: rgba(255, 107, 26, 0.40);
    color: #fb923c;
}
.home-dashboard-dark .agenda-action:hover {
    background: var(--home-orange);
    color: #ffffff;
}

/* ══════════════════════════════════════════════════════════════
   TAGS / BADGES
   ══════════════════════════════════════════════════════════════ */
/* Sistema */
.home-dashboard-dark .tag-system {
    background: rgba(255, 255, 255, 0.08);
    color: var(--home-muted);
}

/* Estado */
.home-dashboard-dark .tag-ejecutada    { background: rgba(16,  185, 129, 0.15); color: #34d399; }
.home-dashboard-dark .tag-pendiente    { background: rgba(255, 107,  26, 0.15); color: #fb923c; }
.home-dashboard-dark .tag-gestion      { background: rgba(59,  130, 246, 0.15); color: #60a5fa; }
.home-dashboard-dark .tag-reprogramada { background: rgba(250, 204,  21, 0.15); color: #facc15; }
.home-dashboard-dark .tag-vencida      { background: rgba(239,  68,  68, 0.15); color: #f87171; }
.home-dashboard-dark .tag-cancelada    { background: rgba(100, 116, 139, 0.14); color: #94a3b8; }

/* Prioridad (usados en alertas) */
.home-dashboard-dark .tag-alta   { background: rgba(239,  68,  68, 0.15); color: #f87171; }
.home-dashboard-dark .tag-media  { background: rgba(250, 204,  21, 0.15); color: #facc15; }
.home-dashboard-dark .tag-baja   { background: rgba(59,  130, 246, 0.15); color: #60a5fa; }
.home-dashboard-dark .tag-critica { background: rgba(239, 68, 68, 0.18); color: #f87171; }
.home-dashboard-dark .tag-proxima { background: rgba(250, 204, 21, 0.15); color: #facc15; }

/* Tipo */
.home-dashboard-dark .tag-tipo-plan { background: rgba(59,  130, 246, 0.15); color: #60a5fa; }
.home-dashboard-dark .tag-tipo-cap  { background: rgba(255, 107,  26, 0.15); color: #fb923c; }

/* Nota de vencimientos en módulo principal */
.home-dashboard-dark .modulo-venc-note .tag-reprogramada {
    background: rgba(250, 204, 21, 0.12);
    color: #facc15;
}

/* ══════════════════════════════════════════════════════════════
   ALERTAS PRIORITARIAS
   ══════════════════════════════════════════════════════════════ */
.home-dashboard-dark .alert-item {
    background: rgba(15, 23, 42, 0.60);
    border-color: rgba(148, 163, 184, 0.14);
}

.home-dashboard-dark .alert-item:hover {
    background: rgba(15, 23, 42, 0.85);
    border-color: rgba(255, 107, 26, 0.30);
}

.home-dashboard-dark .alert-icon           { color: var(--home-orange); }
.home-dashboard-dark .alert-item strong    { color: var(--home-text);   }
.home-dashboard-dark .alert-item > div > span { color: var(--home-muted); }
.home-dashboard-dark .alert-item small     { color: var(--home-orange); font-weight: 700; }

/* ══════════════════════════════════════════════════════════════
   CUMPLIMIENTO POR SISTEMA — BARRAS HORIZONTALES
   ══════════════════════════════════════════════════════════════ */
.home-dashboard-dark .compliance-panel--bars {
    max-width: none;
}

.home-dashboard-dark .compliance-bar-label { color: var(--home-muted); }
.home-dashboard-dark .compliance-bar-track { background: rgba(255, 255, 255, 0.07); }
.home-dashboard-dark .compliance-bar-pct   { color: var(--home-muted);              }

.home-dashboard-dark .compliance-bar-fill                                { background: linear-gradient(90deg, var(--home-orange), var(--home-yellow)); }
.home-dashboard-dark .compliance-bar-fill[data-tone="success"] { background: linear-gradient(90deg, var(--home-green),  #34d399); }
.home-dashboard-dark .compliance-bar-fill[data-tone="warning"] { background: linear-gradient(90deg, var(--home-yellow), #fde047); }
.home-dashboard-dark .compliance-bar-fill[data-tone="danger"]  { background: linear-gradient(90deg, var(--home-red),    #f87171); }

.home-dashboard-dark .compliance-bar-pct[data-tone="success"] { color: var(--home-green);  }
.home-dashboard-dark .compliance-bar-pct[data-tone="warning"] { color: var(--home-yellow); }
.home-dashboard-dark .compliance-bar-pct[data-tone="danger"]  { color: var(--home-red);    }

/* ══════════════════════════════════════════════════════════════
   INPUTS / SELECTS (si existen filtros en el inicio)
   ══════════════════════════════════════════════════════════════ */
.home-dashboard-dark select,
.home-dashboard-dark input[type="text"],
.home-dashboard-dark input[type="search"] {
    background: #0f1929;
    color: var(--home-text);
    border: 1px solid var(--home-border);
    border-radius: 10px;
}

.home-dashboard-dark select:focus,
.home-dashboard-dark input[type="text"]:focus,
.home-dashboard-dark input[type="search"]:focus {
    outline: none;
    border-color: var(--home-orange);
    box-shadow: 0 0 0 3px rgba(255, 107, 26, 0.12);
}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE — ajustes específicos del modo oscuro
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 760px) {
    /* Labels de tabla en modo card-stack */
    .home-dashboard-dark .plan-table td::before {
        color: var(--home-muted);
    }

    /* Fila de card en modo apilado */
    .home-dashboard-dark .plan-table tr {
        border-bottom-color: var(--home-border);
    }

    /* Modulo col border-bottom en stacked */
    .home-dashboard-dark .modulo-col {
        border-bottom-color: var(--home-border);
    }
}
