:root{--bg-primary:#0f1117;--bg-secondary:#161922;--bg-card:#161b2dbf;--bg-card-hover:#1e243ad9;--bg-elevated:#232a4499;--accent-start:#14b8a6;--accent-end:#6366f1;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-accent:#14b8a6;--border-subtle:#94a3b81f;--border-accent:#14b8a64d;--badge-service:#10b981;--badge-service-bg:#10b98126;--badge-product:#3b82f6;--badge-product-bg:#3b82f626;--badge-money:#f59e0b;--badge-money-bg:#f59e0b26;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-error-bg:#ef44441a;--shadow-card:0 4px 24px #00000040;--shadow-elevated:0 8px 40px #00000059;--shadow-glow:0 0 20px #14b8a626;--glass-bg:#161b2d99;--glass-border:#94a3b81a;--glass-blur:16px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px}body{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:700;line-height:1.3}h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.1rem}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-base), border-color var(--transition-base)}.glass-card:hover{box-shadow:var(--shadow-elevated);border-color:var(--border-accent)}.kpi-card{padding:var(--space-lg);gap:var(--space-sm);flex-direction:column;display:flex;position:relative;overflow:hidden}.kpi-card:before{content:"";background:var(--accent-gradient);opacity:0;height:3px;transition:opacity var(--transition-base);position:absolute;top:0;left:0;right:0}.kpi-card:hover:before{opacity:1}.kpi-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:500}.kpi-value{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.6rem;font-weight:800}.kpi-sub{color:var(--text-muted);font-size:.78rem}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton{background:var(--bg-elevated);border-radius:var(--radius-sm);animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-text{width:60%;height:1em}.skeleton-value{width:80%;height:2rem}.skeleton-chart{width:100%;height:300px;position:relative;overflow:hidden}.skeleton-chart:after{content:"";background:linear-gradient(90deg,#0000,#ffffff0a,#0000);animation:2s infinite shimmer;position:absolute;inset:0}.data-table-wrapper{border-radius:var(--radius-lg);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.92rem}.data-table thead{z-index:2;position:sticky;top:0}.data-table th{background:var(--bg-secondary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-md) var(--space-md);text-align:left;white-space:nowrap;border-bottom:1px solid var(--border-subtle);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast);font-size:.78rem;font-weight:600}.data-table th:hover{color:var(--text-accent)}.data-table th.align-right,.data-table td.align-right{text-align:right}.data-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-subtle);color:var(--text-primary);transition:background var(--transition-fast)}.data-table tbody tr{cursor:pointer;transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--bg-card-hover)}.data-table .sort-icon{opacity:.4;transition:opacity var(--transition-fast);margin-left:4px;display:inline-block}.data-table th:hover .sort-icon,.data-table th.sorted .sort-icon{opacity:1}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-service{color:var(--badge-service);background:var(--badge-service-bg)}.badge-product{color:var(--badge-product);background:var(--badge-product-bg)}.badge-money{color:var(--badge-money);background:var(--badge-money-bg)}.tab-nav{background:var(--bg-secondary);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.tab-btn{padding:var(--space-sm) var(--space-lg);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;flex:1;font-family:inherit;font-size:.85rem;font-weight:600}.tab-btn:hover{color:var(--text-primary);background:#ffffff0a}.tab-btn.active{color:var(--text-primary);background:var(--bg-card);box-shadow:0 2px 8px #0003}.btn{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);font-family:inherit;font-size:.85rem;font-weight:500;display:inline-flex}.btn:hover{color:var(--text-primary);border-color:var(--border-accent);background:var(--bg-card-hover)}.btn-accent{background:var(--accent-gradient);color:#fff;border:none;font-weight:600}.btn-accent:hover{opacity:.9;box-shadow:var(--shadow-glow)}.btn-sm{padding:4px 10px;font-size:.78rem}.date-picker-group{align-items:center;gap:var(--space-sm);display:flex}.date-input{background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:var(--radius-sm);transition:border-color var(--transition-fast);outline:none;padding:6px 12px;font-family:inherit;font-size:.85rem}.date-input:focus{border-color:var(--accent-start)}.date-separator{color:var(--text-muted);font-size:.85rem}.error-banner{background:var(--color-error-bg);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);align-items:center;gap:var(--space-md);color:#fca5a5;border:1px solid #ef444433;font-size:.85rem;display:flex}.error-banner .retry-btn{color:#fca5a5;border-radius:var(--radius-sm);cursor:pointer;background:#ef444433;border:1px solid #ef44444d;margin-left:auto;padding:4px 12px;font-family:inherit;font-size:.78rem}.empty-state{padding:var(--space-2xl);color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:200px;font-size:.92rem;display:flex}.app-header{z-index:50;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);padding:0 var(--space-xl);background:#0f1117d9;justify-content:space-between;align-items:center;height:60px;display:flex;position:sticky;top:0}.app-logo{align-items:center;gap:var(--space-sm);letter-spacing:-.02em;font-size:1.15rem;font-weight:800;display:flex}.app-logo .logo-icon{background:var(--accent-gradient);border-radius:var(--radius-sm);color:#fff;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:800;display:flex}.app-content{max-width:1440px;padding:var(--space-xl);flex:1;width:100%;margin:0 auto}.toolbar{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.toolbar-left{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.kpi-grid{gap:var(--space-md);margin-bottom:var(--space-xl);grid-template-columns:repeat(4,1fr);display:grid}.charts-grid{gap:var(--space-md);margin-bottom:var(--space-xl);grid-template-columns:2fr 1fr;display:grid}.chart-container{min-height:380px;padding:var(--space-lg)}.chart-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.chart-title{color:var(--text-secondary);font-size:.92rem;font-weight:600}.chart-area{width:100%;height:320px}.drill-nav{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.toggle-group{background:var(--bg-secondary);border-radius:var(--radius-sm);gap:2px;padding:2px;display:flex}.toggle-btn{color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:4px;padding:4px 14px;font-family:inherit;font-size:.78rem;font-weight:600}.toggle-btn.active{background:var(--accent-start);color:#fff}@media (width<=1024px){.charts-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.app-content{padding:var(--space-md)}.kpi-grid{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:stretch}.tab-nav{overflow-x:auto}}
