.app-card[data-v-3d394272]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:border-color var(--transition-speed), background-color var(--transition-speed);margin-bottom:20px}.app-card.hoverable[data-v-3d394272]:hover{border-color:var(--border-color-hover);background:var(--bg-card-hover)}.padding-none[data-v-3d394272]{padding:0}.padding-sm[data-v-3d394272]{padding:12px}.padding-md[data-v-3d394272]{padding:16px}.padding-lg[data-v-3d394272]{padding:24px}.app-card-header[data-v-3d394272]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.header-main[data-v-3d394272]{align-items:center;gap:10px;min-width:0;display:flex}.card-header-icon[data-v-3d394272]{width:18px;height:18px;color:var(--accent-primary);flex-shrink:0}.card-title-text[data-v-3d394272]{color:var(--text-primary);letter-spacing:-.01em;font-size:1.05rem;font-weight:600}.card-subtitle-text[data-v-3d394272]{color:var(--text-muted);margin-top:2px;font-size:.82rem}.header-actions[data-v-3d394272]{flex-shrink:0;align-items:center;gap:8px;display:flex}.app-card-footer[data-v-3d394272]{border-top:1px solid var(--border-color);margin-top:16px;padding-top:12px}.empty-state[data-v-92d19421]{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:240px;padding:40px 20px;display:flex}.empty-icon-wrapper[data-v-92d19421]{border-radius:var(--radius-full);background:var(--accent-secondary);border:1px solid var(--border-color);width:48px;height:48px;color:var(--text-muted);justify-content:center;align-items:center;margin-bottom:14px;display:inline-flex}.empty-icon[data-v-92d19421]{width:22px;height:22px}.empty-title[data-v-92d19421]{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:6px;font-size:1.1rem;font-weight:600}.empty-description[data-v-92d19421]{color:var(--text-secondary);max-width:420px;font-size:.88rem;line-height:1.5}.empty-body[data-v-92d19421]{color:var(--text-muted);margin-top:10px;font-size:.82rem}.empty-actions[data-v-92d19421]{gap:10px;margin-top:16px;display:flex}.date-selector[data-v-1a3bb745]{background:var(--accent-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);min-height:var(--touch-target-min);transition:border-color var(--transition-speed);align-items:center;gap:6px;max-width:100%;padding:4px 10px;display:flex}.date-selector[data-v-1a3bb745]:hover{border-color:var(--border-color-hover)}.picker-icon[data-v-1a3bb745]{width:15px;height:15px;color:var(--accent-primary);flex-shrink:0}.date-select[data-v-1a3bb745]{color:var(--text-primary);font-size:.82rem;font-weight:500;font-family:var(--font-mono);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;outline:none;max-width:170px;min-height:32px;overflow:hidden}.date-select option[data-v-1a3bb745]{background:var(--bg-main);color:var(--text-primary);font-family:var(--font-mono)}@media (width<=768px){.date-selector[data-v-1a3bb745]{gap:4px;padding:2px 8px}.date-select[data-v-1a3bb745]{max-width:130px;font-size:.78rem}}@media (width<=375px){.date-selector[data-v-1a3bb745]{gap:4px;padding:2px 6px}.date-select[data-v-1a3bb745]{max-width:110px;font-size:.72rem}}@media (width<=320px){.date-selector[data-v-1a3bb745]{gap:3px;padding:2px 4px}.date-select[data-v-1a3bb745]{max-width:95px;font-size:.68rem}}.app-header[data-v-71323bbc]{height:var(--top-bar-height);background:var(--bg-topbar);border-bottom:1px solid var(--border-color);z-index:1000;justify-content:space-between;align-items:center;gap:16px;padding:0 20px;display:flex;position:fixed;top:0;left:0;right:0}.header-left[data-v-71323bbc]{flex:1;align-items:center;gap:20px;min-width:0;display:flex}.brand[data-v-71323bbc]{color:var(--text-primary);letter-spacing:-.01em;flex-shrink:0;align-items:center;gap:8px;font-size:1rem;font-weight:700;display:flex}.brand-icon[data-v-71323bbc]{width:18px;height:18px;color:var(--accent-primary)}.nav-tabs[data-v-71323bbc]{align-items:center;gap:4px;min-width:0;display:flex}.nav-tab-btn[data-v-71323bbc]{border-radius:var(--radius-md);min-height:36px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-speed);background:0 0;border:1px solid #0000;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-tab-btn[data-v-71323bbc]:hover{color:var(--text-primary);background:var(--accent-highlight)}.nav-tab-btn.active[data-v-71323bbc]{color:var(--accent-primary);background:var(--accent-secondary);border-color:var(--border-color)}.tab-icon[data-v-71323bbc]{width:15px;height:15px}.data-dot[data-v-71323bbc]{border-radius:var(--radius-full);background:var(--status-success);width:5px;height:5px}.header-controls[data-v-71323bbc]{flex-shrink:0;align-items:center;gap:10px;display:flex}.auth-btn[data-v-71323bbc]{min-height:var(--touch-target-min);background:var(--accent-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:all var(--transition-speed);align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:500;display:flex}.auth-btn[data-v-71323bbc]:hover{background:var(--accent-highlight);border-color:var(--border-color-hover)}.user-icon[data-v-71323bbc]{width:15px;height:15px;color:var(--accent-primary);flex-shrink:0}@media (width<=1024px){.nav-tab-btn span[data-v-71323bbc]:not(.data-dot){display:none}}@media (width<=768px){.app-header[data-v-71323bbc]{gap:8px;padding:0 12px}.header-left[data-v-71323bbc]{gap:8px}.nav-tabs[data-v-71323bbc],.brand-name[data-v-71323bbc],.auth-label[data-v-71323bbc]{display:none}.auth-btn[data-v-71323bbc]{min-width:var(--touch-target-min);min-height:var(--touch-target-min);justify-content:center;padding:6px 10px}}@media (width<=375px){.app-header[data-v-71323bbc]{gap:6px;padding:0 8px}.header-controls[data-v-71323bbc]{gap:6px}.auth-btn[data-v-71323bbc]{min-width:38px;padding:6px 8px}}@media (width<=320px){.app-header[data-v-71323bbc]{gap:4px;padding:0 6px}.header-controls[data-v-71323bbc]{gap:4px}}.bottom-nav[data-v-e03cbfab]{display:none}@media (width<=768px){.bottom-nav[data-v-e03cbfab]{height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bg-topbar);border-top:1px solid var(--border-color);z-index:1000;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -1px 3px #0006}}.bottom-nav-item[data-v-e03cbfab]{min-height:var(--touch-target-min);min-width:var(--touch-target-min);color:var(--text-muted);cursor:pointer;transition:color var(--transition-speed);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 2px;font-family:inherit;text-decoration:none;display:flex;position:relative}.bottom-nav-item[data-v-e03cbfab]:hover{color:var(--text-secondary)}.bottom-nav-item.active[data-v-e03cbfab]{color:var(--accent-primary)}.icon-wrapper[data-v-e03cbfab]{justify-content:center;align-items:center;display:flex;position:relative}.nav-icon[data-v-e03cbfab]{width:18px;height:18px}.data-dot[data-v-e03cbfab]{border-radius:var(--radius-full);background:var(--status-success);width:5px;height:5px;position:absolute;top:-2px;right:-4px}.nav-label[data-v-e03cbfab]{letter-spacing:.2px;text-align:center;white-space:nowrap;font-size:.68rem;font-weight:500;line-height:1}.bottom-nav-item.active .nav-label[data-v-e03cbfab]{font-weight:600}@media (width<=320px){.nav-label[data-v-e03cbfab]{font-size:.62rem}.nav-icon[data-v-e03cbfab]{width:16px;height:16px}}.modal-overlay[data-v-2ea56c0f]{z-index:2000;background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card[data-v-2ea56c0f]{width:90%;max-width:440px;margin:0}.modal-header[data-v-2ea56c0f]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-title[data-v-2ea56c0f]{color:var(--text-primary);align-items:center;gap:10px;font-size:1.1rem;display:flex}.header-icon[data-v-2ea56c0f]{width:20px;height:20px;color:var(--accent-primary)}.close-btn[data-v-2ea56c0f]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:1.5rem}.dev-mode-card[data-v-2ea56c0f]{border-radius:var(--radius-md);background:#f59e0b14;border:1px solid #f59e0b40;margin-bottom:16px;padding:14px}.dev-mode-header[data-v-2ea56c0f]{margin-bottom:6px}.dev-mode-badge[data-v-2ea56c0f]{text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-xs);color:var(--accent-primary);background:#f59e0b33;padding:2px 6px;font-size:.68rem;font-weight:700;display:inline-block}.dev-mode-text[data-v-2ea56c0f]{color:var(--text-secondary);margin-bottom:12px;font-size:.84rem;line-height:1.45}.dev-mode-actions[data-v-2ea56c0f]{flex-direction:column;gap:8px;display:flex}.btn-guest[data-v-2ea56c0f]{background:var(--accent-primary);color:#09090b;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:background var(--transition-speed);text-align:center;border:none;padding:10px 14px;font-size:.88rem;font-weight:600}.btn-guest[data-v-2ea56c0f]:hover{background:#d97706}.btn-dev-token[data-v-2ea56c0f]{background:var(--accent-secondary);width:100%;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-speed);text-align:center;padding:8px 14px;font-size:.82rem;font-weight:500}.btn-dev-token[data-v-2ea56c0f]:hover{color:var(--text-primary);background:var(--accent-highlight);border-color:var(--border-color-hover)}.error-alert[data-v-2ea56c0f]{border-radius:var(--radius-sm);color:var(--status-danger);background:#f43f5e14;border:1px solid #f43f5e40;align-items:flex-start;gap:10px;margin-bottom:16px;padding:10px 12px;font-size:.82rem;line-height:1.4;display:flex}.error-icon[data-v-2ea56c0f]{flex-shrink:0;width:16px;height:16px;margin-top:2px}.error-text[data-v-2ea56c0f]{word-break:break-word;flex:1}.error-dismiss-btn[data-v-2ea56c0f]{color:var(--status-danger);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:1.1rem;line-height:1}.auth-desc[data-v-2ea56c0f]{color:var(--text-secondary);margin-bottom:20px;font-size:.88rem;line-height:1.5}.user-status-card[data-v-2ea56c0f]{border-radius:var(--radius-md);background:#10b98114;border:1px solid #10b98140;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;display:flex}.user-info[data-v-2ea56c0f]{flex-direction:column;gap:2px;display:flex}.user-label[data-v-2ea56c0f]{color:var(--text-muted);font-size:.75rem}.user-email[data-v-2ea56c0f]{color:var(--success-color);font-size:.88rem}.oauth-section[data-v-2ea56c0f]{flex-direction:column;align-items:center;gap:12px;margin-bottom:16px;display:flex}.btn-google[data-v-2ea56c0f]{color:#3c4043;cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:8px;justify-content:center;align-items:center;gap:12px;width:100%;padding:12px 20px;font-size:.95rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000001a}.btn-google[data-v-2ea56c0f]:hover:not(:disabled){background:#f8f9fa;box-shadow:0 2px 6px #00000026}.btn-google[data-v-2ea56c0f]:disabled{opacity:.7;cursor:not-allowed}.google-logo[data-v-2ea56c0f]{width:20px;height:20px}.advanced-details[data-v-2ea56c0f]{border-top:1px dashed var(--border-color);margin-top:16px;padding-top:12px}.advanced-summary[data-v-2ea56c0f]{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.8rem}.advanced-summary[data-v-2ea56c0f]:hover{color:var(--text-secondary)}.form-group[data-v-2ea56c0f]{flex-direction:column;gap:8px;display:flex}.form-label[data-v-2ea56c0f]{color:var(--text-secondary);font-size:.8rem;font-weight:500}.token-input[data-v-2ea56c0f]{border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);resize:vertical;background:#0006;outline:none;padding:10px;font-family:JetBrains Mono,monospace;font-size:.8rem}.token-input[data-v-2ea56c0f]:focus{border-color:var(--accent-primary)}.btn[data-v-2ea56c0f]{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-speed);border:none;font-size:.88rem;font-weight:500}.btn-sm[data-v-2ea56c0f]{padding:6px 12px;font-size:.8rem}.btn-secondary[data-v-2ea56c0f]{background:var(--accent-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary[data-v-2ea56c0f]:hover{background:var(--accent-highlight);border-color:var(--border-color-hover)}.drawer-overlay[data-v-488c5d3b]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1500;background:#000000a6;flex-direction:column;justify-content:flex-end;animation:.2s cubic-bezier(.16,1,.3,1) fadeIn-488c5d3b;display:flex;position:fixed;inset:0}.drawer-sheet[data-v-488c5d3b]{background:var(--bg-topbar);border-top:1px solid var(--border-color);padding:12px 16px;padding-bottom:max(20px, calc(16px + env(safe-area-inset-bottom)));border-radius:16px 16px 0 0;max-height:80vh;animation:.25s cubic-bezier(.16,1,.3,1) slideUp-488c5d3b;overflow-y:auto;box-shadow:0 -4px 16px #00000059}.drawer-header[data-v-488c5d3b]{flex-direction:column;align-items:center;margin-bottom:12px;display:flex}.drawer-pill[data-v-488c5d3b]{background:var(--border-color-hover);border-radius:var(--radius-full);width:36px;height:4px;margin-bottom:12px}.drawer-title-row[data-v-488c5d3b]{justify-content:space-between;align-items:center;width:100%;display:flex}.drawer-title-group[data-v-488c5d3b]{align-items:center;gap:8px;display:flex}.drawer-title-icon[data-v-488c5d3b]{width:18px;height:18px;color:var(--accent-primary)}.drawer-title[data-v-488c5d3b]{color:var(--text-primary);font-size:1rem;font-weight:600}.drawer-close-btn[data-v-488c5d3b]{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;width:36px;height:36px;transition:all var(--transition-speed);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.drawer-close-btn[data-v-488c5d3b]:hover{color:var(--text-primary);background:var(--accent-secondary)}.close-icon[data-v-488c5d3b]{width:18px;height:18px}.drawer-body[data-v-488c5d3b]{flex-direction:column;gap:8px;display:flex}.drawer-item[data-v-488c5d3b]{min-height:var(--touch-target-min);background:var(--accent-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition-speed);-webkit-tap-highlight-color:transparent;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.drawer-item[data-v-488c5d3b]:hover{background:var(--accent-highlight);border-color:var(--border-color-hover)}.drawer-item.active[data-v-488c5d3b]{background:var(--accent-secondary);border-color:var(--accent-primary);color:var(--text-primary)}.drawer-item-icon-wrapper[data-v-488c5d3b]{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--accent-primary);background:#f59e0b1a;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.drawer-item-icon[data-v-488c5d3b]{width:20px;height:20px}.data-dot[data-v-488c5d3b]{border-radius:var(--radius-full);background:var(--status-success);width:6px;height:6px;position:absolute;top:4px;right:4px}.drawer-item-text[data-v-488c5d3b]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.drawer-item-label[data-v-488c5d3b]{color:var(--text-primary);font-size:.92rem;font-weight:600}.drawer-item-desc[data-v-488c5d3b]{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.drawer-item-arrow[data-v-488c5d3b]{width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.drawer-item.active .drawer-item-arrow[data-v-488c5d3b]{color:var(--accent-primary)}@keyframes fadeIn-488c5d3b{0%{opacity:0}to{opacity:1}}@keyframes slideUp-488c5d3b{0%{transform:translateY(100%)}to{transform:translateY(0)}}:root{--top-bar-height:56px;--bottom-bar-height:56px;--bg-main:#09090b;--bg-topbar:#0e0e11;--bg-card:#121215;--bg-card-hover:#18181c;--border-color:#27272a;--border-color-hover:#3f3f46;--accent-primary:#f59e0b;--accent-secondary:#2a2215;--accent-highlight:#3d2e14;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-muted:#71717a;--status-success:#10b981;--status-danger:#f43f5e;--status-warning:#f59e0b;--status-info:#f59e0b;--status-neutral:#71717a;--success-color:#10b981;--danger-color:#f43f5e;--warning-color:#f59e0b;--info-color:#f59e0b;--neutral-color:#71717a;--radius-xs:4px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px;--shadow-card:0 1px 2px #00000080;--shadow-card-hover:0 2px 4px -1px #0009;--shadow-focus:0 0 0 2px #09090b, 0 0 0 4px #f59e0b;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Roboto Mono", "SF Mono", Consolas, Menlo, monospace;--transition-speed:.15s ease;--touch-target-min:44px}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-gutter:stable;width:100%;min-height:100%}body{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-feature-settings:"tnum";background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;min-height:100vh;position:relative;overflow-x:hidden}#app{width:100%;min-height:100vh}#finbot-app{width:100%;min-height:100vh;display:block}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;box-shadow:var(--shadow-focus)}.bottom-nav-item,.auth-btn,.nav-tab-btn,.date-selector,.drawer-item{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#27272a}::-webkit-scrollbar-thumb:hover{background:#3f3f46}.main-container{box-sizing:border-box;width:100%;padding-top:calc(var(--top-bar-height) + 24px);flex:auto;max-width:1400px;margin:0 auto;padding-bottom:40px;padding-left:24px;padding-right:24px}@media (width<=768px){.main-container{padding-top:calc(var(--top-bar-height) + 12px);padding-bottom:calc(var(--bottom-bar-height) + env(safe-area-inset-bottom) + 24px);padding-left:14px;padding-right:14px}.card{margin-bottom:16px;padding:16px}}@media (width<=430px){.main-container{padding-top:calc(var(--top-bar-height) + 8px);padding-bottom:calc(var(--bottom-bar-height) + env(safe-area-inset-bottom) + 20px);padding-left:12px;padding-right:12px}.card{border-radius:var(--radius-md);margin-bottom:12px;padding:12px}.card-title{margin-bottom:12px;font-size:1rem}}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-card);transition:border-color var(--transition-speed);margin-bottom:20px;padding:20px}.card:hover{border-color:var(--border-color-hover)}.card-title{color:var(--text-primary);align-items:center;gap:10px;margin-bottom:16px;font-size:1.1rem;font-weight:600;display:flex}.badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:4px;padding:2px 6px;font-size:.72rem;font-weight:600;line-height:1.2;display:inline-flex}.badge-success{color:var(--status-success);background:#10b9811a;border:1px solid #10b98133}.badge-danger{color:var(--status-danger);background:#f43f5e1a;border:1px solid #f43f5e33}.badge-warning{color:var(--status-warning);background:#f59e0b1a;border:1px solid #f59e0b33}.badge-info{color:var(--status-info);background:#f59e0b1a;border:1px solid #f59e0b33}.badge-neutral{color:var(--status-neutral);background:#71717a1a;border:1px solid #71717a33}.tabular-nums,.metric-value,.ticker-price,.data-cell{font-variant-numeric:tabular-nums;font-family:var(--font-mono)}
