
:root{--bg-dark:#0b0f19;--sidebar-bg:#111827;--card-bg:#fff;--text-main:#1f2937;--text-muted:#6b7280;--text-light:#f3f4f6;--accent-green:#00e676;--accent-hover:#00c853;--border-color:#e5e7eb;--shadow:0 4px 14px rgba(15,23,42,.08);--danger:#ef4444;--warning:#f59e0b}
*{margin:0;padding:0;box-sizing:border-box;font-family:'Segoe UI',system-ui,-apple-system,sans-serif}
body{background:#f3f4f6;color:var(--text-main)}
.app-container{display:flex;min-height:100vh}
.sidebar{width:260px;background:var(--sidebar-bg);color:var(--text-light);display:flex;flex-direction:column;position:fixed;height:100vh;z-index:100}
.brand{padding:24px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.1)}
.brand-logo{background:var(--accent-green);color:var(--bg-dark);font-weight:800;font-size:20px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px}
.brand-name{font-size:1.25rem;font-weight:600;color:#fff}.brand-name span{color:var(--accent-green);font-weight:400}
.sidebar-nav{flex:1;padding:24px 12px;display:flex;flex-direction:column;gap:8px}
.nav-link{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#9ca3af;text-decoration:none;border-radius:8px;transition:.2s;font-weight:500;font-size:14px}
.nav-link svg{width:20px;height:20px;flex:0 0 20px}.nav-link:hover,.nav-link.active{background:rgba(0,230,118,.1);color:var(--accent-green)}
.sidebar-footer{padding:24px 12px;border-top:1px solid rgba(255,255,255,.1)}.logout:hover{color:#f87171;background:rgba(239,68,68,.1)}
.main-content{margin-left:260px;padding:32px;width:calc(100% - 260px)}
.top-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.header-title h2{font-size:1.8rem;margin-bottom:4px}.header-title p{color:var(--text-muted)}.header-actions{display:flex;gap:12px}
.btn{padding:10px 18px;border:none;border-radius:7px;font-weight:650;cursor:pointer}.btn-primary{background:var(--accent-green);color:var(--bg-dark)}.btn-secondary{background:#1f2937;color:#fff}.btn-outline{background:#fff;border:1px solid var(--border-color)}
.filters-section{background:#fff;padding:20px;border-radius:12px;box-shadow:var(--shadow);display:flex;align-items:flex-end;gap:20px;margin-bottom:20px}.filter-group{flex:1;min-width:230px}.filter-group label{display:block;font-size:.85rem;font-weight:650;color:var(--text-muted);margin-bottom:7px}.form-control{width:100%;padding:11px;border:1px solid var(--border-color);border-radius:7px;background:#fff}
.selected-unit{margin-left:auto;padding:10px 16px;border-left:3px solid var(--accent-green)}.selected-unit span{display:block;color:var(--text-muted);font-size:12px}.selected-unit strong{display:block;margin-top:3px}
.status-strip{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:14px 18px;border-radius:12px;box-shadow:var(--shadow);margin-bottom:20px}.status-strip>div{display:flex;align-items:center;gap:12px}.status-strip>span{font-size:13px;color:var(--text-muted)}
.status-badge,.badge{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:750}.neutral{background:#eef2f7;color:#4b5563}.good{background:rgba(0,230,118,.15);color:#08753e}.warning{background:rgba(245,158,11,.16);color:#9a5b00}.danger{background:rgba(239,68,68,.14);color:#b42318}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.kpi-card,.panel{background:#fff;border-radius:12px;box-shadow:var(--shadow)}.kpi-card{padding:20px;border-left:4px solid var(--border-color)}.kpi-title{font-size:.82rem;color:var(--text-muted);font-weight:650;text-transform:uppercase}.kpi-value{font-size:1.8rem;font-weight:750;margin:9px 0}.unit,.kpi-detail{font-size:.8rem;color:var(--text-muted)}.success{color:#059669}
.analysis-grid,.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:20px}.panel{padding:22px}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.panel-kicker{font-size:11px;color:#059669;text-transform:uppercase;letter-spacing:.11em;font-weight:800}.panel h3{margin-top:5px}.executive-panel{background:linear-gradient(145deg,#0b0f19,#172033);color:#fff}.executive-panel p{line-height:1.75;color:#dbe2ea}.ai-badge,.counter{display:grid;place-items:center;min-width:42px;min-height:42px;border-radius:10px;background:#0f172a;color:var(--accent-green);font-weight:850}.ai-badge{padding:8px 12px;font-size:12px;line-height:1.2;text-align:center;white-space:nowrap}.ai-pending{color:#cbd5e1}.ai-working{color:#fbbf24}.ai-connected{color:var(--accent-green);box-shadow:0 0 0 1px rgba(0,230,118,.35) inset}.ai-local{color:#fca5a5;box-shadow:0 0 0 1px rgba(239,68,68,.28) inset}.score-wrap{display:flex;align-items:center;gap:20px}.score-circle{width:110px;height:110px;border:9px solid #e8edf1;border-radius:50%;display:grid;place-content:center;text-align:center}.score-circle strong{font-size:36px}.score-circle span,.score-wrap p{color:var(--text-muted)}.score-wrap p{margin-top:7px}
.chart-container{height:300px}.insight-list{display:grid;gap:11px}.insight{display:grid;grid-template-columns:34px 1fr;gap:11px;padding:13px;border:1px solid var(--border-color);border-radius:10px}.insight-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:rgba(0,230,118,.13)}.insight p{font-size:13px;color:var(--text-muted);line-height:1.5;margin-top:4px}
.table-responsive{overflow:auto}table{width:100%;border-collapse:collapse;min-width:780px}th,td{padding:13px 11px;border-bottom:1px solid var(--border-color);text-align:left;font-size:13px}th{color:var(--text-muted);font-size:11px;text-transform:uppercase}.empty{text-align:center;color:var(--text-muted);padding:28px!important}
.toast{position:fixed;right:25px;bottom:25px;background:#111827;color:#fff;padding:14px 18px;border-radius:10px}.hidden{display:none}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.analysis-grid,.charts-grid{grid-template-columns:1fr}.filters-section{flex-wrap:wrap}.selected-unit{margin-left:0}}
@media(max-width:760px){.sidebar{position:static;width:100%;height:auto}.app-container{display:block}.main-content{margin-left:0;width:100%;padding:18px}.sidebar-nav{display:grid;grid-template-columns:1fr 1fr}.top-header,.status-strip{align-items:flex-start;flex-direction:column;gap:12px}.kpi-grid{grid-template-columns:1fr}.header-actions{width:100%;flex-wrap:wrap}}

/* Mejora de lectura del análisis completo generado por Gemini */
.executive-panel{min-height:360px}
.executive-panel #resumenEjecutivo{
  white-space:pre-wrap;
  overflow-y:auto;
  max-height:520px;
  min-height:245px;
  padding-right:10px;
  margin-top:4px;
  line-height:1.7;
  overflow-wrap:anywhere;
  scrollbar-width:thin;
}

/* CATALUX DARK THEME — solo presentación visual */
:root { --card-bg:#111720; --text-main:#f1f5f9; --text-muted:#aeb8c6; --border-color:#34404d; --shadow:0 8px 24px rgba(0,0,0,.28); }
body,.main-content { background:#070a0f; color:var(--text-main); }
.filters-section,.status-strip,.kpi-card,.panel { background:#111720; border:1px solid #34404d; }
.header-title h2,.kpi-value,.panel h3,.insight strong { color:#f1f5f9; }
.form-control,.btn-outline { background:#0b1119; color:#f1f5f9; border-color:#465463; color-scheme:dark; }
.insight { background:#0c121a; border-color:#34404d; }
.neutral { background:#28323e; color:#d5dde7; }
.executive-panel #resumenEjecutivo::-webkit-scrollbar{width:7px}
.executive-panel #resumenEjecutivo::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:999px}
.executive-panel #resumenEjecutivo::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:999px}
@media(max-width:760px){
  .executive-panel{min-height:330px}
  .executive-panel #resumenEjecutivo{max-height:440px;min-height:220px}
  .executive-panel .panel-header{gap:12px;flex-wrap:wrap}
  .executive-panel .ai-badge{white-space:normal}
}
