:root{--bg-primary: #000000;--bg-secondary: #111111;--bg-tertiary: #1a1a1a;--bg-card: #0d0d0d;--bg-input: #0a0a0a;--accent-orange: #ff6900;--accent-orange-dim: rgba(255, 105, 0, .15);--accent-blue: #3d9df2;--accent-green: #00d46a;--accent-red: #ff3b5c;--accent-purple: #a855f7;--accent-yellow: #fbbf24;--text-primary: #ffffff;--text-secondary: #888888;--text-muted: #555555;--border-primary: #2a2a2a;--border-hover: #3a3a3a;--border-focus: var(--accent-orange);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 12px rgba(0, 0, 0, .6);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .7);--shadow-glow: 0 0 20px rgba(255, 105, 0, .2);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "Fira Code", "Consolas", monospace;font-family:var(--font-sans);line-height:1.5;font-weight:400;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg-primary)}#root{width:100%;min-height:100vh}.app-container{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.navbar{position:sticky;top:0;z-index:100;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.nav-content{max-width:1600px;margin:0 auto;padding:0 var(--space-xl);height:48px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:var(--space-md)}.brand-icon{background:linear-gradient(135deg,var(--accent-orange) 0%,#ff8533 100%);padding:var(--space-sm);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-glow)}.brand-text{font-size:16px;font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}.sign-out-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#9ca3af;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.875rem;transition:all .2s;margin-left:auto;display:flex;align-items:center;gap:.5rem}.sign-out-btn:hover{border-color:#ef4444}.sign-out-text{display:inline}@media(max-width:768px){.brand-text{font-size:14px;max-width:200px;line-height:1.2}.sign-out-btn{padding:.5rem}.sign-out-text{display:none}}.main-content{flex:1;max-width:1600px;width:100%;margin:0 auto;padding:var(--space-xl)}@media(max-width:768px){.main-content{padding:var(--space-md)}.nav-content{padding:0 var(--space-md)}}.dashboard-grid{display:flex;flex-direction:column;gap:var(--space-xl)}@media(min-width:900px){.dashboard-grid{flex-direction:row}}.sidebar{width:100%}@media(min-width:900px){.sidebar{width:280px;min-width:280px;flex-shrink:0}}.chart-section{flex:1;min-width:0}.panel{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-xl)}.divider{margin:var(--space-xl) 0;border:0;border-top:1px solid var(--border-primary)}.control-group{display:flex;flex-direction:column;gap:var(--space-sm)}.control-group+.control-group{margin-top:var(--space-lg)}.control-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em}.icon-label{display:flex;align-items:center;gap:var(--space-sm)}.icon-label svg{color:var(--accent-orange)}.control-select,.control-input{background-color:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);font-size:14px;font-family:var(--font-sans);outline:none;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.control-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.control-select:hover,.control-input:hover{border-color:var(--border-hover)}.control-select:focus,.control-input:focus{border-color:var(--accent-orange);box-shadow:0 0 0 3px var(--accent-orange-dim)}.date-inputs{display:flex;flex-direction:column;gap:var(--space-md)}.date-field{display:flex;flex-direction:column;gap:var(--space-xs)}.date-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}input[type=date]{font-family:var(--font-mono);font-size:13px}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.5);cursor:pointer;opacity:.7;transition:opacity .15s ease}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.autosuggest-container{position:relative;width:100%}.autosuggest-input-wrapper{position:relative;display:flex;align-items:center}.autosuggest-input{background-color:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);padding-right:40px;font-size:14px;font-family:var(--font-sans);outline:none;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.autosuggest-input::placeholder{color:var(--text-muted)}.autosuggest-input:hover{border-color:var(--border-hover)}.autosuggest-input:focus{border-color:var(--accent-orange);box-shadow:0 0 0 3px var(--accent-orange-dim)}.autosuggest-clear{position:absolute;right:var(--space-md);background:none;border:none;padding:var(--space-xs);cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:color .15s ease;border-radius:var(--radius-sm)}.autosuggest-clear:hover{color:var(--text-primary);background:var(--bg-tertiary)}.autosuggest-dropdown{position:absolute;top:calc(100% + var(--space-xs));left:0;right:0;max-height:280px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50}.autosuggest-item{padding:var(--space-md) var(--space-lg);cursor:pointer;font-size:13px;color:var(--text-primary);transition:background-color .1s ease;border-bottom:1px solid var(--border-primary)}.autosuggest-item:last-child{border-bottom:none}.autosuggest-item:hover,.autosuggest-item.highlighted{background-color:var(--accent-orange-dim)}.autosuggest-item.selected{background-color:var(--accent-orange-dim);color:var(--accent-orange)}.autosuggest-match{color:var(--accent-orange);font-weight:600}.autosuggest-empty{padding:var(--space-lg);text-align:center;color:var(--text-muted);font-size:13px}.chart-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;flex-direction:column;min-height:500px}@media(max-width:768px){.chart-card{min-height:350px;padding:var(--space-lg)}}.chart-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border-primary)}@media(max-width:768px){.chart-header{flex-wrap:wrap;gap:var(--space-sm)}.chart-header h2,.chart-header span{white-space:normal;font-size:13px}}.chart-identifier{width:3px;height:20px;background:var(--accent-orange);border-radius:2px;flex-shrink:0}.chart-header h2,.chart-header{font-size:14px;font-weight:600;color:var(--text-secondary);margin:0;letter-spacing:-.01em}.highlight-text{color:var(--accent-orange);font-weight:600}.normalize-toggle{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.normalize-toggle input{display:none}.toggle-slider{position:relative;width:36px;height:20px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:10px;transition:background-color .15s ease,border-color .15s ease}.toggle-slider:before{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--text-muted);border-radius:50%;transition:transform .15s ease,background-color .15s ease}.normalize-toggle input:checked+.toggle-slider{background:var(--accent-orange-dim);border-color:var(--accent-orange)}.normalize-toggle input:checked+.toggle-slider:before{transform:translate(16px);background:var(--accent-orange)}.toggle-label{font-size:11px;font-weight:500;color:var(--text-muted);transition:color .15s ease}.normalize-toggle:hover .toggle-label{color:var(--text-secondary)}.normalize-toggle input:checked~.toggle-label{color:var(--accent-orange)}.normalize-control{display:flex;align-items:center;gap:var(--space-sm);margin-left:auto}.info-tooltip-wrapper{position:relative;display:flex;align-items:center}.info-icon{color:var(--text-muted);cursor:help;transition:color .15s ease}.info-tooltip-wrapper:hover .info-icon{color:var(--text-secondary)}.info-tooltip{position:absolute;top:calc(100% + 8px);right:0;width:240px;padding:var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:11px;font-weight:400;color:var(--text-secondary);line-height:1.5;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease;z-index:10}.info-tooltip:before{content:"";position:absolute;top:-5px;right:12px;width:8px;height:8px;background:var(--bg-secondary);border-left:1px solid var(--border-primary);border-top:1px solid var(--border-primary);transform:rotate(45deg)}.info-tooltip-wrapper:hover .info-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.chart-wrapper{flex:1;position:relative;min-height:400px}@media(max-width:768px){.chart-wrapper{min-height:250px}}.chart-placeholder,.loading-text{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px dashed var(--border-primary);color:var(--text-muted);font-size:14px}.loading-spinner{width:24px;height:24px;border:2px solid var(--border-primary);border-top-color:var(--accent-orange);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--space-lg)}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.text-mono{font-family:var(--font-mono)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}::selection{background:var(--accent-orange-dim);color:var(--text-primary)}.chart-type-toggle{display:flex;background:var(--bg-tertiary);border-radius:var(--radius-md);padding:2px;border:1px solid var(--border-primary)}.toggle-btn{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--text-muted);padding:4px 10px;font-size:11px;font-weight:500;font-family:var(--font-sans);cursor:pointer;border-radius:var(--radius-sm);transition:all .15s ease}.toggle-btn:hover{color:var(--text-primary)}.toggle-btn.active{background:var(--bg-card);color:var(--accent-orange);box-shadow:var(--shadow-sm)}.chart-controls{margin-left:auto;display:flex;align-items:center;gap:var(--space-lg)}.save-png-btn{display:flex;align-items:center;gap:6px;background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-muted);padding:4px 10px;font-size:11px;font-weight:500;font-family:var(--font-sans);cursor:pointer;border-radius:var(--radius-md);transition:all .15s ease}.save-png-btn:hover{background:var(--accent-orange-dim);border-color:var(--accent-orange);color:var(--accent-orange)}.save-png-btn:active{transform:scale(.97)}.overlay-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:9999;font-family:Inter,sans-serif}.overlay-card{background:#1e1e1ef2;border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 50px -12px #00000080;padding:3rem;border-radius:1rem;max-width:500px;width:90%;text-align:center;color:#fff;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.overlay-logo{max-width:150px;height:auto;margin-bottom:1rem;display:block;margin-left:auto;margin-right:auto}.overlay-title{font-size:1.5rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(90deg,#60a5fa,#a78bfa);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.overlay-text{color:#9ca3af;margin-bottom:2rem;line-height:1.6}.overlay-form{display:flex;flex-direction:column;gap:1rem}.overlay-input{padding:.75rem 1rem;border-radius:.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;font-size:1rem;transition:all .2s}.overlay-input:focus{outline:none;border-color:#60a5fa;background:#ffffff1a}.overlay-button{background:linear-gradient(90deg,#2563eb,#7c3aed);color:#fff;padding:.75rem;border-radius:.5rem;font-weight:600;border:none;cursor:pointer;transition:opacity .2s,transform .1s}.overlay-button:hover{opacity:.9}.overlay-button:active{transform:scale(.98)}.overlay-button:disabled{opacity:.5;cursor:not-allowed}.overlay-note{margin-top:1rem;font-size:.875rem;color:#6b7280}.status-message{padding:1rem;border-radius:.5rem;margin-bottom:1rem}.status-pending{background:#eab3081a;color:#fca5a5;border:1px solid rgba(234,179,8,.2)}.status-info{color:#60a5fa}
