/* ANALÍTICA VENTAS — Sanfer Volvo v2 */
.kpi-banner{display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:linear-gradient(135deg,#0d3b6e 0%,#005691 60%,#1a7fd4 100%);border-radius:16px;overflow:hidden;margin-bottom:24px;box-shadow:0 8px 32px rgba(0,86,145,.25)}
.kpi-banner-item{padding:22px 28px;border-right:1px solid rgba(255,255,255,.12);position:relative}
.kpi-banner-item:last-child{border-right:none}
.kpi-label{font-size:.67rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:6px}
.kpi-val{font-size:1.6rem;font-weight:800;color:#fff;line-height:1.1}
.kpi-sub{font-size:.73rem;color:rgba(255,255,255,.55);margin-top:4px}
.kpi-badge{display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.15);color:#fff;font-size:.7rem;font-weight:700;padding:2px 9px;border-radius:20px;margin-top:6px}
.kpi-badge.green{background:rgba(22,163,74,.35);color:#86efac}
.kpi-badge.yellow{background:rgba(234,179,8,.3);color:#fde68a}
.kpi-badge.red{background:rgba(220,38,38,.35);color:#fca5a5}
.charts-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-bottom:20px}
.charts-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}
.charts-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px}
.chart-card{background:#fff;border-radius:14px;padding:22px 24px;box-shadow:0 2px 12px rgba(0,0,0,.06);border:1px solid var(--border)}
.chart-card-title{font-size:.84rem;font-weight:700;color:var(--text);margin-bottom:4px}
.chart-card-sub{font-size:.73rem;color:var(--text-light);margin-bottom:18px}
.section-title{font-size:.77rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);margin:28px 0 14px;display:flex;align-items:center;gap:8px}
.section-title::after{content:'';flex:1;height:1px;background:var(--border)}
.amort-table{width:100%;border-collapse:collapse;font-size:.82rem}
.amort-table th{padding:9px 12px;text-align:left;font-size:.68rem;font-weight:700;letter-spacing:.07em;color:var(--text-light);text-transform:uppercase;background:var(--bg);border-bottom:2px solid var(--border);white-space:nowrap}
.amort-table td{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:middle}
.amort-table tr:last-child td{border-bottom:none}
.amort-table tr:hover td{background:#f7f9fc}
.prog-wrap{display:flex;align-items:center;gap:10px}
.prog-bar{flex:1;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;min-width:80px}
.prog-fill{height:100%;border-radius:4px;transition:width .6s ease}
.prog-fill.low{background:linear-gradient(90deg,#ef4444,#f87171)}
.prog-fill.mid{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
.prog-fill.high{background:linear-gradient(90deg,#16a34a,#22c55e)}
.prog-pct{font-size:.78rem;font-weight:700;min-width:36px;text-align:right}
.trend-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:10px;font-size:.72rem;font-weight:700}
.trend-up{background:#dcfce7;color:#16a34a}.trend-down{background:#fee2e2;color:#dc2626}.trend-flat{background:#f1f5f9;color:#64748b}
.dc{padding:2px 8px;border-radius:8px;font-size:.71rem;font-weight:700;display:inline-block}
.dc.ok{background:#d1fae5;color:#065f46}.dc.warn{background:#fef3c7;color:#92400e}.dc.danger{background:#fee2e2;color:#991b1b}
.empty-st{text-align:center;padding:60px 20px;color:var(--text-light)}.empty-st i{font-size:2.5rem;margin-bottom:12px;opacity:.25;display:block}
.loading-overlay{display:flex;align-items:center;justify-content:center;padding:60px;color:var(--volvo-accent);font-weight:700;gap:10px}
.empresa-tabs{display:flex;gap:8px;margin-bottom:24px}
.empresa-tab{padding:8px 20px;border-radius:30px;border:2px solid var(--border);background:#fff;font-family:'Montserrat',sans-serif;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .2s;color:var(--text-mid)}
.empresa-tab.active{background:var(--volvo-blue);border-color:var(--volvo-blue);color:#fff}
.empresa-tab:not(.active):hover{border-color:var(--volvo-accent);color:var(--volvo-accent)}
@media(max-width:1200px){.charts-grid,.charts-grid-3,.charts-grid-2{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.charts-grid,.charts-grid-3,.charts-grid-2{grid-template-columns:1fr}.kpi-banner{grid-template-columns:1fr 1fr}}
