*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0e1a;--bg-card: #111827;--bg-card2: #1a2235;--border: #1e2d45;--border-2: #253449;--text: #e2e8f0;--text-muted: #64748b;--text-dim: #94a3b8;--accent: #3b82f6;--accent-glow: rgba(59,130,246,.15);--green: #22c55e;--green-bg: rgba(34,197,94,.1);--red: #ef4444;--red-bg: rgba(239,68,68,.1);--amber: #f59e0b;--purple: #a855f7;--cyan: #06b6d4;--radius: 10px}html{font-size:14px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.app-layout{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--bg-card);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar-nav{padding:16px 12px;flex:1}.sidebar-nav-btn{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;border:none;width:100%;text-align:left;margin-bottom:2px;transition:all .12s}.main-area{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:60px;background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.dashboard-content{padding:24px 28px;flex:1;overflow-y:auto}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:24px}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.chart-grid-2-1{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:14px}.geo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.filter-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 16px;margin-bottom:24px}.filter-inputs{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filter-quick{display:flex;gap:4px;margin-left:4px}@media (max-width: 768px){.app-layout{flex-direction:column;overflow-x:hidden;width:100vw}.sidebar{position:fixed;left:-280px;top:0;bottom:0;width:260px;z-index:50;transition:left .3s ease;border-right:1px solid var(--border)}.sidebar.sidebar-open{left:0}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:40;opacity:0;pointer-events:none;transition:opacity .3s}.sidebar-overlay.open{opacity:1;pointer-events:auto}.mobile-menu-btn{display:flex!important;align-items:center;justify-content:center;background:none;border:none;color:var(--text);font-size:20px;cursor:pointer;margin-right:12px}.topbar-left{display:flex;align-items:center}.topbar{padding:0 16px}.dashboard-content{padding:16px}.kpi-grid{grid-template-columns:1fr 1fr}.chart-grid,.chart-grid-2-1{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}.filter-inputs{display:grid;grid-template-columns:auto 1fr}.filter-inputs input{width:100%}.filter-inputs button{grid-column:1 / -1}.filter-quick{margin-left:0;display:grid;grid-template-columns:repeat(4,1fr)}.filter-quick button{width:100%}}.mobile-menu-btn{display:none}.dash-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}@media (max-width: 768px){.dash-controls{flex-direction:column;align-items:stretch}.dash-controls input{width:100%!important}}.pie-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:16px}.chart-grid>*,.chart-grid-2-1>*,.kpi-grid>*,.geo-grid>*{min-width:0}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.table-wrapper::-webkit-scrollbar{height:6px}.table-wrapper::-webkit-scrollbar-track{background:var(--bg-card2);border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb{background:var(--text-dim);border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
