diff --git a/src/dashboard.js b/src/dashboard.js index 1681def..d8954ff 100644 --- a/src/dashboard.js +++ b/src/dashboard.js @@ -87,9 +87,17 @@ function buildHTML(data, agente, isAgentDashboard = true, diasPeriodo = null, as .filters { background: var(--card); border-bottom: 1px solid var(--border); - padding: 14px 40px; display: flex; gap: 24px; align-items: center; flex-wrap: wrap; box-shadow: 0 1px 2px rgba(0,0,0,0.04); } + .filters-inner { + max-width: 1600px; + margin: 0 auto; + padding: 14px 40px; + display: flex; + gap: 24px; + align-items: center; + flex-wrap: wrap; + } .filter-group { display: flex; align-items: center; gap: 8px; } .filter-group label { font-size: 12px; font-weight: 600; color: var(--text-secondary); @@ -233,149 +241,6 @@ function buildHTML(data, agente, isAgentDashboard = true, diasPeriodo = null, as .netting-kpi .value.neutral { color: var(--blue); } .netting-kpi .sub { font-size: 11px; color: var(--text-muted); margin-top: 4px; } - /* Alerts Section */ - .alerts-section { - background: var(--card); - border-radius: 12px; - border: 1px solid var(--border); - box-shadow: 0 1px 3px rgba(0,0,0,0.06); - margin-bottom: 28px; - overflow: hidden; - } - .alerts-header { - display: flex; - justify-content: space-between; - align-items: center; - padding: 16px 22px; - border-bottom: 1px solid var(--border); - background: #FAFBFC; - } - .alerts-header h3 { - font-size: 15px; - font-weight: 700; - color: var(--text); - display: flex; - align-items: center; - gap: 10px; - } - .alerts-header .alert-count { - background: var(--primary); - color: white; - font-size: 11px; - font-weight: 600; - padding: 2px 8px; - border-radius: 12px; - min-width: 22px; - text-align: center; - } - .alerts-header .alert-count.zero { - background: var(--green); - } - .alerts-toggle { - background: none; - border: 1px solid var(--border); - padding: 6px 14px; - border-radius: 6px; - font-size: 12px; - font-weight: 600; - color: var(--text-secondary); - cursor: pointer; - font-family: inherit; - transition: all 0.15s; - display: flex; - align-items: center; - gap: 6px; - } - .alerts-toggle:hover { - background: var(--bg); - border-color: var(--primary); - color: var(--primary); - } - .alerts-body { - padding: 20px 22px; - transition: max-height 0.3s ease, padding 0.3s ease, opacity 0.3s ease; - overflow: hidden; - } - .alerts-body.collapsed { - max-height: 0 !important; - padding: 0 22px; - opacity: 0; - } - .alerts-grid { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); - gap: 14px; - } - .alert-card { - border-radius: 10px; - padding: 14px 16px; - display: flex; - gap: 12px; - align-items: flex-start; - } - .alert-card.critical { - background: #FEE2E2; - border: 1px solid #FECACA; - } - .alert-card.warning { - background: #FEF3C7; - border: 1px solid #FDE68A; - } - .alert-card.info { - background: var(--blue-bg); - border: 1px solid #BFDBFE; - } - .alert-icon { - width: 36px; - height: 36px; - border-radius: 8px; - display: flex; - align-items: center; - justify-content: center; - font-size: 16px; - flex-shrink: 0; - } - .alert-card.critical .alert-icon { - background: #DC2626; - color: white; - } - .alert-card.warning .alert-icon { - background: #F59E0B; - color: white; - } - .alert-card.info .alert-icon { - background: var(--blue); - color: white; - } - .alert-content { - flex: 1; - min-width: 0; - } - .alert-title { - font-size: 13px; - font-weight: 700; - margin-bottom: 4px; - } - .alert-card.critical .alert-title { color: #DC2626; } - .alert-card.warning .alert-title { color: #B45309; } - .alert-card.info .alert-title { color: var(--blue); } - .alert-desc { - font-size: 12px; - color: var(--text-secondary); - line-height: 1.4; - } - .no-alerts { - text-align: center; - padding: 30px; - color: var(--text-muted); - font-size: 13px; - } - .no-alerts .check-icon { - font-size: 32px; - margin-bottom: 8px; - color: var(--green); - } - /* Additional Charts Grid */ .charts-grid-3 { display: grid; @@ -430,7 +295,7 @@ function buildHTML(data, agente, isAgentDashboard = true, diasPeriodo = null, as .chart-card.full-width { grid-column: span 1; } .chart-card { min-height: 320px; } .container { padding: 20px; } - .filters { padding: 12px 20px; flex-wrap: wrap; } + .filters-inner { padding: 12px 20px; } .header-inner { padding: 16px 20px; flex-direction: column; gap: 12px; } } @media (max-width: 600px) { @@ -478,49 +343,37 @@ ${isEmulating ? `