:root{--gv-bg:#f6f8fb;--gv-card:#ffffff;--gv-text:#0f172a;--gv-muted:#64748b;--gv-line:#e2e8f0;--gv-green:#16a34a;--gv-red:#dc2626;--gv-amber:#f59e0b;--gv-blue:#2563eb;--gv-purple:#7c3aed}.dashShell{display:grid;gap:18px}.dashHeader{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:linear-gradient(135deg,#0f172a,#1e3a8a);color:#fff;border-radius:24px;padding:22px;box-shadow:0 18px 50px rgba(15,23,42,.2)}.dashHeader h2{font-size:30px;margin:0 0 6px}.dashHeader p{opacity:.85;margin:0}.dashFilters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dashFilters label{font-size:12px;color:#dbeafe}.dashFilters select{display:block;margin-top:4px;padding:9px 10px;border:0;border-radius:12px}.dashFilters button{align-self:end;border-radius:12px;padding:10px 14px}.dashKpis{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px}.dashCard{background:var(--gv-card);border:1px solid var(--gv-line);border-radius:22px;padding:18px;box-shadow:0 12px 34px rgba(15,23,42,.06)}.dashCard .label{color:var(--gv-muted);font-size:13px}.dashCard .value{font-size:30px;font-weight:800;margin:8px 0;color:var(--gv-text)}.dashCard .delta{font-size:12px;color:var(--gv-muted)}.dashCard.green{border-left:6px solid var(--gv-green)}.dashCard.red{border-left:6px solid var(--gv-red)}.dashCard.amber{border-left:6px solid var(--gv-amber)}.dashCard.blue{border-left:6px solid var(--gv-blue)}.dashGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.vizGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ring{--p:50;--c:var(--gv-blue);width:170px;height:170px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p)*1%),#e5e7eb 0);display:grid;place-items:center;margin:8px auto 14px}.ring>div{width:116px;height:116px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;font-weight:800}.sparkBars{display:flex;align-items:flex-end;gap:7px;height:190px;border-bottom:1px solid var(--gv-line);padding-top:10px}.sparkBars .barGroup{flex:1;display:flex;gap:3px;align-items:flex-end;height:100%;position:relative}.sparkBars i{display:block;width:50%;border-radius:8px 8px 0 0;min-height:3px}.sparkBars .income{background:linear-gradient(#22c55e,#15803d)}.sparkBars .expense{background:linear-gradient(#f87171,#dc2626)}.legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--gv-muted);font-size:12px;margin-top:12px}.legend b{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px}.progressList{display:grid;gap:14px}.progressRow{display:grid;gap:6px}.progressMeta{display:flex;justify-content:space-between;font-size:13px;color:var(--gv-muted)}.progress{height:12px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress i{height:100%;display:block;border-radius:999px}.alertList{display:grid;gap:10px}.alertItem{padding:12px;border:1px solid var(--gv-line);border-radius:16px;display:flex;justify-content:space-between;gap:12px}.alertItem strong{display:block}.alertItem span{color:var(--gv-muted);font-size:12px}.quickActions{display:flex;gap:10px;flex-wrap:wrap}.quickActions .btn{border-radius:14px;padding:10px 12px}@media(max-width:1100px){.dashGrid,.vizGrid{grid-template-columns:1fr}.dashKpis{grid-template-columns:repeat(2,1fr)}.dashHeader{display:block}.dashFilters{justify-content:flex-start;margin-top:16px}}@media(max-width:760px){.dashKpis{grid-template-columns:1fr}.sparkBars{height:150px}.dashHeader h2{font-size:24px}}