:root{--font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--bg-color: #f8fafc;--bg-color-alt: #f1f5f9;--card-bg: rgba(255, 255, 255, .95);--card-border: rgba(255, 255, 255, .8);--accent-blue: #0ea5e9;--accent-blue-alpha-5: rgba(14, 165, 233, .05);--accent-blue-alpha-10: rgba(14, 165, 233, .1);--accent-blue-alpha-20: rgba(14, 165, 233, .2);--accent-blue-alpha-40: rgba(14, 165, 233, .4);--accent-blue-alpha-50: rgba(14, 165, 233, .5);--accent-cyan: #06b6d4;--accent-gradient: linear-gradient(135deg, var(--accent-blue) 0%, var(--accent-cyan) 100%);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--danger-alpha-10: rgba(220, 38, 38, .1);--success: #059669;--warning: #d97706;--danger: #dc2626;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--shadow-glow: 0 0 20px var(--accent-blue-alpha-10);--shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg-color: #0b1120;--bg-color-alt: #101827;--card-bg: rgba(16, 24, 39, .95);--card-border: rgba(56, 189, 248, .15);--accent-blue: #38bdf8;--accent-blue-alpha-5: rgba(56, 189, 248, .05);--accent-blue-alpha-10: rgba(56, 189, 248, .1);--accent-blue-alpha-20: rgba(56, 189, 248, .2);--accent-blue-alpha-40: rgba(56, 189, 248, .4);--accent-blue-alpha-50: rgba(56, 189, 248, .5);--accent-cyan: #22d3ee;--accent-gradient: linear-gradient(135deg, var(--accent-blue) 0%, var(--accent-cyan) 100%);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--danger-alpha-10: rgba(239, 68, 68, .1);--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--shadow-glow: 0 0 20px var(--accent-blue-alpha-10);--shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .2)}}:root[data-theme=dark]{--bg-color: #0b1120;--bg-color-alt: #101827;--card-bg: rgba(16, 24, 39, .95);--card-border: rgba(56, 189, 248, .15);--accent-blue: #38bdf8;--accent-blue-alpha-5: rgba(56, 189, 248, .05);--accent-blue-alpha-10: rgba(56, 189, 248, .1);--accent-blue-alpha-20: rgba(56, 189, 248, .2);--accent-blue-alpha-40: rgba(56, 189, 248, .4);--accent-blue-alpha-50: rgba(56, 189, 248, .5);--accent-cyan: #22d3ee;--accent-gradient: linear-gradient(135deg, var(--accent-blue) 0%, var(--accent-cyan) 100%);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--danger-alpha-10: rgba(239, 68, 68, .1);--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--shadow-glow: 0 0 20px var(--accent-blue-alpha-10);--shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .2)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--bg-color-alt);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-blue)}.glass-card{background:var(--card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.glass-card:hover{box-shadow:var(--shadow-glow)}.text-gradient{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .5s ease forwards}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}.app-container{display:flex;flex-direction:column;min-height:100vh}.header{border-bottom:1px solid var(--card-border);background:var(--bg-color-alt);padding:1rem 2rem;position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:var(--card-bg)}.header-content{max-width:1400px;margin:0 auto}.logo-section{display:flex;align-items:center;gap:.75rem}.logo-icon{color:var(--accent-blue);filter:drop-shadow(0 0 8px var(--accent-blue-alpha-50))}.logo-text{font-size:1.25rem;font-weight:700;letter-spacing:.5px}.main-content{flex:1;padding:2rem;max-width:1400px;margin:0 auto;width:100%}.header-actions{display:flex;align-items:center;gap:1rem}.dashboard-label{color:var(--text-muted);font-size:.9rem}.theme-toggle,.menu-toggle{display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:var(--radius-sm);color:var(--text-primary);background:var(--card-bg);border:1px solid var(--card-border);transition:all .2s ease;cursor:pointer}.theme-toggle{border-radius:50%}.theme-toggle:hover,.menu-toggle:hover{color:var(--accent-blue);transform:scale(1.05);background:var(--accent-blue-alpha-10)}.menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:150;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .2s ease-out forwards}.mobile-menu{position:fixed;top:0;left:0;bottom:0;width:100vw;max-width:400px;background:var(--bg-color);border:none;border-right:1px solid var(--card-border);border-radius:0;padding:0;box-shadow:4px 0 15px #0000001a;backdrop-filter:none;-webkit-backdrop-filter:none;animation:slideInLeft .3s ease-out forwards;z-index:200;display:flex;flex-direction:column}.slide-header{display:flex;align-items:center;justify-content:flex-start;padding:1.25rem 1.5rem;border-bottom:1px solid var(--card-border)}.menu-content-scroll{flex:1;overflow-y:auto}.mobile-nav{display:flex;flex-direction:column;padding:0}.mobile-nav-link{display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:var(--text-primary);font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-weight:600;font-size:1.1rem;padding:1.25rem 1.5rem;border-radius:0;border-bottom:1px solid var(--card-border);transition:background .2s,color .2s;background:transparent}.mobile-nav-link:hover{background:var(--accent-blue-alpha-5);color:var(--text-primary)}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@media (max-width: 768px){.hide-on-mobile{display:none}.main-content{padding:1rem .5rem}.header{padding:1rem}}.app-footer{border-top:1px solid var(--card-border);padding:3rem 2rem 2rem;margin-top:auto;background:var(--bg-color-alt);text-align:center}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-bottom:1.5rem}.footer-links a{color:var(--text-secondary);text-decoration:none;font-size:.95rem;font-weight:500;transition:color .2s}.footer-links a:hover{color:var(--accent-blue)}.footer-copyright{color:var(--text-muted);font-size:.85rem}.dashboard-header-flex{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.filters-container{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.filter-group{display:flex;align-items:center;gap:.5rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:.5rem .75rem}.filter-group label{font-size:.85rem;color:var(--text-secondary);display:flex;align-items:center;gap:.25rem}.filter-select{background:transparent;color:var(--text-primary);border:none;outline:none;font-family:inherit;font-size:.9rem;cursor:pointer;max-width:150px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.filter-select option{background-color:var(--bg-color);color:var(--text-primary)}.dashboard-header{margin-bottom:0}.dashboard-title{font-size:2rem;font-weight:700;margin-bottom:.5rem}.dashboard-subtitle{color:var(--text-secondary);font-size:1rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.metric-card{padding:1.5rem;display:flex;flex-direction:column;gap:.5rem}.metric-header{display:flex;align-items:center;gap:.75rem;color:var(--text-secondary);font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.metric-icon{color:var(--accent-blue)}.metric-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.metric-trend{font-size:.85rem;display:flex;align-items:center;gap:.25rem}.trend-up{color:var(--success)}.trend-down{color:var(--danger)}.dashboard-content{display:grid;grid-template-columns:1fr;gap:2rem}.section-title{font-size:1.25rem;font-weight:600;margin-bottom:1.25rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.loader-container{min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--accent-blue)}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container{padding:2rem;background:var(--danger-alpha-10);border:1px solid var(--danger);border-radius:var(--radius-md);color:var(--danger);display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}.chart-section,.table-section{padding:2rem;min-width:0;max-width:100%;overflow:hidden}.chart-scroll-container{width:100%;overflow-x:auto}@media (max-width: 768px){.chart-section,.table-section{padding:1rem}}.table-wrapper{width:100%;overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--card-border);background:var(--bg-color)}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}.data-table th{background:var(--bg-color-alt);padding:1rem;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--card-border);white-space:nowrap;letter-spacing:.5px}.data-table td{padding:1rem;border-bottom:1px solid var(--accent-blue-alpha-5);color:var(--text-primary);white-space:nowrap}.data-table tbody tr:hover{background:var(--accent-blue-alpha-5)}.data-table tbody tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;background:var(--accent-blue-alpha-10);color:var(--accent-blue);border:1px solid var(--accent-blue-alpha-20)}.badge-outline{background:transparent;border-color:var(--text-muted);color:var(--text-secondary)}.price-high{color:var(--success)}.price-low{color:var(--danger)}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.sortable-th:hover{background:var(--accent-blue-alpha-10)!important}.th-content{display:flex;align-items:center;gap:.5rem}.sort-icon-idle{opacity:.3}@media (max-width: 768px){.data-table thead{display:none}.data-table tbody tr{display:flex;flex-direction:column;margin-bottom:1rem;border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:.5rem}.data-table td{display:flex;justify-content:space-between;align-items:center;padding:.75rem .5rem;border-bottom:1px solid var(--card-border);text-align:right;white-space:normal;gap:1rem;word-wrap:break-word;overflow-wrap:break-word}.data-table td:before{content:attr(data-label);font-weight:500;color:var(--text-secondary);text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;flex-shrink:0}.data-table tbody tr:last-child{margin-bottom:0}.data-table td:last-child{border-bottom:none}}.chart-wrapper{width:100%;height:400px;position:relative;font-family:var(--font-family)}.custom-tooltip{background:var(--bg-color-alt);border:1px solid var(--card-border);padding:1rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.custom-tooltip .label{color:var(--text-secondary);font-size:.85rem;margin-bottom:.5rem;font-weight:500;text-transform:uppercase}@media (max-width: 768px){.chart-wrapper{min-width:500px}}.about-container{padding:2rem;max-width:800px;margin:0 auto;min-height:calc(100vh - 200px)}.about-content{padding:2.5rem;border-radius:1rem}.about-title{font-size:2rem;font-weight:700;margin-bottom:1.5rem;color:var(--text-color)}.about-body{font-size:1.1rem;line-height:1.6;color:var(--text-color)}.about-body p{margin-bottom:1.5rem}.info-box,.disclaimer-box{padding:1.5rem;border-radius:.5rem;margin-top:2rem;background-color:var(--surface-bg-hover);border-left:4px solid var(--primary-color)}.disclaimer-box{border-left-color:var(--danger-color, #ef4444);margin-top:1rem}.info-box p:last-child,.disclaimer-box p:last-child{margin-bottom:0}.info-title,.disclaimer-title{font-size:1.25rem;margin-bottom:.75rem;font-weight:600}.external-link{color:var(--primary-color);text-decoration:none;font-weight:500;transition:color .2s ease}.external-link:hover{text-decoration:underline;color:var(--primary-hover)}
