.auth-btn-skeleton{width:80px;height:32px;border-radius:8px;background:var(--border);animation:pulse 1.5s infinite}.auth-sign-in-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;background:linear-gradient(135deg,var(--brand-blue),var(--brand-blue-hover));color:#fff;border:none;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .2s;white-space:nowrap}.auth-sign-in-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,145,255,.3)}.auth-sign-in-btn:disabled{opacity:.7;cursor:wait}.auth-user-container{position:relative}.auth-user-btn{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;background:var(--surface);border:1px solid var(--border);cursor:pointer;font-size:.8rem;color:var(--text-primary);transition:all .2s}.auth-user-btn:hover{background:var(--accent-light);border-color:var(--accent)}.auth-avatar{object-fit:cover}.auth-avatar,.auth-avatar-initials{width:26px;height:26px;border-radius:50%}.auth-avatar-initials{background:linear-gradient(135deg,var(--accent),#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700}.auth-user-name{font-weight:500;max-width:100px;overflow:hidden;text-overflow:ellipsis}.auth-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 32px rgba(0,0,0,.15);z-index:1000;overflow:hidden;animation:fadeInDown .15s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.auth-dropdown-header{padding:12px 16px}.auth-dropdown-name{display:block;font-weight:600;font-size:.85rem;color:var(--text-primary)}.auth-dropdown-email{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:2px}.auth-dropdown-divider{height:1px;background:var(--border)}.auth-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;border:none;background:none;cursor:pointer;font-size:.8rem;color:var(--text-primary);transition:background .15s}.auth-dropdown-item:hover{background:var(--accent-light)}.portfolio-tab-layout{display:flex;flex-direction:column;gap:2rem}.portfolio-empty,.watchlist-empty{text-align:center;padding:3rem 1.5rem;color:var(--text-secondary)}.portfolio-empty-icon,.watchlist-empty-icon{font-size:3rem;margin-bottom:.75rem}.portfolio-empty h3,.watchlist-empty h3{color:var(--text-primary);margin-bottom:.5rem}.portfolio-empty p,.watchlist-empty p{max-width:400px;margin:0 auto;font-size:.85rem;line-height:1.5}.portfolio-loading{display:flex;align-items:center;gap:8px;justify-content:center;padding:2rem;color:var(--text-secondary)}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.portfolio-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:1rem;gap:1rem}.pf-summary-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:4px}.pf-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.pf-value{font-size:1.2rem;font-weight:700;color:var(--text-primary)}.pf-sub{font-size:.7rem;color:var(--text-secondary)}.pf-pct{font-size:.8rem;font-weight:600}.pf-positive{color:#10b981}.pf-negative{color:#ef4444}.portfolio-currency-breakdown{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;margin-top:.5rem}.pf-currency-row{display:flex;align-items:center;gap:1rem;padding:6px 0;font-size:.8rem;flex-wrap:wrap}.pf-currency-label{font-weight:700;min-width:50px}.pf-rate-note{font-size:.7rem;color:var(--text-secondary);margin-top:4px;text-align:right}.pf-rate-info-bar{display:flex;justify-content:flex-end;font-size:.75rem;color:var(--text-secondary);margin:.5rem 0;opacity:.85}.portfolio-actions{margin-top:1rem}.pf-add-btn{padding:8px 20px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;border:none;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .2s}.pf-add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,145,255,.3)}.pf-tx-form{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-top:.75rem;gap:.75rem}.pf-tx-field,.pf-tx-form{display:flex;flex-direction:column}.pf-tx-field{gap:4px;position:relative}.pf-tx-field label{font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.pf-tx-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.75rem;gap:.75rem}.pf-input{padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--background);color:var(--text-primary);font-size:.85rem;transition:border-color .2s}.pf-input:focus{outline:none;border-color:var(--accent)}.pf-computed{font-size:1rem;font-weight:700;color:var(--text-primary);padding:8px 0}.pf-error{color:#ef4444;font-size:.8rem}.pf-fund-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:200px;overflow-y:auto;z-index:100}.pf-fund-option{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px 12px;border:none;background:none;cursor:pointer;font-size:.8rem;color:var(--text-primary);text-align:left;transition:background .15s}.pf-fund-option:hover{background:var(--accent-light)}.pf-fund-category{font-size:.7rem;color:var(--text-secondary)}.pf-selected-fund{font-size:.75rem;color:var(--accent);display:flex;align-items:center;gap:6px}.pf-clear-fund{background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:.8rem}.pf-submit-btn{padding:10px 24px;border-radius:8px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s}.pf-submit-btn:hover{transform:translateY(-1px)}.pf-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.pf-section-title{font-size:.9rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.pf-holdings-table{display:flex;flex-direction:column;gap:0}.pf-table-header{padding:8px 12px;font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.pf-table-header,.pf-table-row{display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr 1.2fr 1.5fr 1.5fr 1fr;border-bottom:1px solid var(--border)}.pf-table-row{padding:10px 12px;font-size:.8rem;align-items:center;transition:background .15s}.pf-table-row:hover{background:var(--accent-light)}.pf-action-cell{display:flex;justify-content:flex-end}.pf-sell-btn{padding:4px 10px;border-radius:6px;background:rgba(239,68,68,.1);color:#ef4444;border:1px solid rgba(239,68,68,.2);cursor:pointer;font-size:.7rem;font-weight:600;transition:all .2s}.pf-sell-btn:hover{background:#ef4444;color:#fff;border-color:#ef4444;box-shadow:0 2px 8px rgba(239,68,68,.25)}.pf-fund-cell{display:flex;flex-direction:column;gap:2px}.pf-fund-name{font-weight:600;font-size:.8rem}a.pf-fund-name{color:var(--text-primary);text-decoration:none;transition:color .15s}a.pf-fund-name:hover{color:var(--accent);text-decoration:underline}.pf-fund-meta{font-size:.65rem;color:var(--text-secondary)}.pf-pnl-cell{display:flex;flex-direction:column;gap:2px}.pf-pct-badge{font-size:.7rem;font-weight:600}.pf-projected-col{border-left:1px dashed rgba(139,92,246,.3);padding-left:8px}.pf-projected-nav{font-size:.65rem;color:var(--text-secondary)}.pf-projected-date{font-size:.6rem;color:var(--text-secondary);opacity:.75;font-weight:500}.pf-projected-loading-text{font-size:.7rem;color:var(--text-secondary);opacity:.7}.pf-projected-na{font-size:.7rem;color:var(--text-secondary);opacity:.5}.pf-projected-summary{margin-top:.75rem}.pf-projected-card{background:linear-gradient(135deg,rgba(139,92,246,.08),rgba(59,130,246,.08));border:1px solid rgba(139,92,246,.2);border-radius:12px;padding:16px 20px}.pf-projected-badge{display:inline-block;font-size:.7rem;font-weight:700;color:#8b5cf6;margin-bottom:8px}.pf-projected-row{display:flex;gap:2rem;flex-wrap:wrap}.pf-projected-row>div{display:flex;flex-direction:column;gap:2px}.pf-projected-note{display:block;font-size:.6rem;color:var(--text-secondary);margin-top:8px;font-style:italic;opacity:.7}.pf-projected-loading{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-secondary);margin-top:.5rem;opacity:.7}.pf-tx-history{display:flex;flex-direction:column;gap:0}.pf-tx-row-item{display:flex;align-items:center;gap:12px;padding:8px 12px;font-size:.8rem;border-bottom:1px solid var(--border)}.pf-tx-type{font-weight:700;font-size:.65rem;padding:2px 8px;border-radius:4px;text-transform:uppercase}.pf-tx-type.buy{background:rgba(16,185,129,.15);color:#10b981}.pf-tx-type.sell{background:rgba(239,68,68,.15);color:#ef4444}.pf-tx-fund{font-weight:500;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-tx-date{font-size:.7rem;color:var(--text-secondary)}.pf-tx-delete{background:none;border:none;cursor:pointer;font-size:.8rem;opacity:.5;transition:opacity .2s}.pf-tx-delete:hover{opacity:1}.portfolio-empty-holdings{text-align:center;padding:2rem;color:var(--text-secondary);font-size:.85rem}.pf-category-tabs{display:flex;gap:8px;margin-top:4px}.pf-cat-tab-btn{padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;font-size:.75rem;font-weight:600;transition:all .2s ease}.pf-cat-tab-btn:hover{background:var(--background-secondary);color:var(--text-primary);border-color:var(--text-secondary)}.pf-cat-tab-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.pf-cat-tab-btn.active:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.pf-badge{font-size:.65rem;padding:2px 6px;border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;display:inline-block}.pf-badge-bond{background:rgba(139,92,246,.15);color:#8b5cf6}.pf-badge-stock{background:rgba(59,130,246,.15);color:#3b82f6}.pf-badge-mutualfund{background:rgba(16,185,129,.15);color:#10b981}.pf-summary-card-clickable{cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.pf-summary-card-clickable:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 6px 16px rgba(139,92,246,.12)}.pf-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:99999;animation:fadeIn .2s ease-out}.pf-modal-container{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:90%;max-width:520px;max-height:90vh;overflow-y:auto;padding:1.5rem;box-shadow:0 12px 36px rgba(0,0,0,.25);animation:scaleIn .25s cubic-bezier(.34,1.56,.64,1)}.pf-modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding-bottom:.75rem}.pf-modal-close-btn{background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--text-secondary);font-weight:700;padding:4px 8px;border-radius:6px;transition:all .15s}.pf-modal-close-btn:hover{background:var(--accent-light);color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.pf-pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin-top:8px;font-size:.8rem;color:var(--text-secondary);border-top:1px solid var(--border);background:var(--background-secondary);border-bottom-left-radius:8px;border-bottom-right-radius:8px}.pf-pagination-buttons{display:flex;gap:8px}.pf-pagination-btn{padding:6px 12px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer;font-size:.75rem;font-weight:600;transition:all .2s ease}.pf-pagination-btn:hover:not(:disabled){background:var(--background-secondary);border-color:var(--accent)}.pf-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pf-pagination-info{font-weight:500}.pf-breadcrumb-menu{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.75rem;padding:8px 12px;background:var(--background-secondary);border-radius:8px;border:1px dashed var(--border);margin-bottom:.5rem}.pf-breadcrumb-link{color:var(--accent);cursor:pointer;transition:color .15s ease;text-decoration:underline}.pf-breadcrumb-link:hover{color:#a78bfa}.pf-breadcrumb-current{font-weight:600;color:var(--text-primary);max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-breadcrumb-separator{color:var(--text-secondary);opacity:.6;font-weight:500;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pf-profile-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px 12px;margin-bottom:1rem}.pf-profile-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.pf-profile-list::-webkit-scrollbar{display:none}.pf-profile-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;border:1px solid var(--border);background:var(--background);color:var(--text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease}.pf-profile-badge:hover{border-color:var(--profile-color);background:var(--surface);color:var(--text-primary)}.pf-profile-badge.active{background:var(--profile-color);border-color:var(--profile-color);color:#fff}.pf-profile-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;transition:transform .2s ease}.pf-profile-badge.active .pf-profile-dot{background:#fff!important;transform:scale(1.2)}.pf-profile-default-tag{font-size:.6rem;font-weight:500;text-transform:uppercase;background:rgba(0,0,0,.08);color:inherit;padding:1px 4px;border-radius:3px;opacity:.8;margin-left:2px}.pf-profile-badge.active .pf-profile-default-tag{background:hsla(0,0%,100%,.2)}.pf-profile-manage-btn{background:var(--background);border:1px solid var(--border);border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.pf-profile-manage-btn:hover{background:var(--background-secondary);border-color:var(--accent)}.pf-profile-manage-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--background-secondary);border:1px solid var(--border);border-radius:8px;min-height:48px}.pf-profile-action-btn{background:none;border:1px solid var(--border);border-radius:6px;cursor:pointer;padding:4px 8px;font-size:.8rem;transition:all .15s ease}.pf-profile-action-btn:hover{background:var(--background);border-color:var(--accent)}.pf-profile-action-btn.delete:hover{color:#ef4444;border-color:#ef4444}.pf-profile-action-btn.save{background:var(--accent);color:#fff;border-color:var(--accent)}.pf-profile-action-btn.save:hover{opacity:.9}.pf-profile-color-picker{display:flex;gap:4px;flex-wrap:wrap}.pf-color-swatch{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:all .15s ease}.pf-color-swatch:hover{transform:scale(1.1)}.pf-color-swatch.active{border-color:var(--text-primary);box-shadow:0 0 0 1px var(--background)}.pf-progress-bar-container{width:100%;height:4px;background:var(--background-secondary);border-radius:2px;overflow:hidden;position:relative;margin-top:12px}.pf-progress-bar-value{width:100%;height:100%;position:absolute;left:-100%;animation:indeterminateProgress 1.5s linear infinite}@keyframes indeterminateProgress{0%{left:-100%;width:30%}50%{width:40%}to{left:100%;width:30%}}.pf-profile-create-section{border-top:1px solid var(--border);padding-top:1rem;margin-top:1rem}.pf-schema-error-banner{display:flex;gap:16px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);border-radius:12px;padding:16px 20px;margin-bottom:1.5rem;align-items:flex-start}.pf-schema-error-icon{font-size:1.5rem;line-height:1;margin-top:2px}.pf-schema-error-content h4{margin:0 0 6px;color:#ef4444;font-size:.95rem;font-weight:700}.pf-schema-error-content p{margin:0 0 10px;font-size:.8rem;line-height:1.5;color:var(--text-primary)}.pf-schema-error-code{background:var(--background-secondary);border:1px solid var(--border);border-radius:8px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;color:var(--text-primary);max-height:160px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;margin:8px 0}.watchlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1rem;gap:1rem}.watchlist-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;transition:all .2s;text-decoration:none;display:block}.watchlist-card:hover{border-color:var(--accent);box-shadow:0 4px 16px rgba(0,145,255,.08);cursor:pointer}.wl-card-header{display:flex;justify-content:space-between;align-items:flex-start}.wl-fund-name{font-size:.85rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.3;flex:1 1}.wl-remove-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:.9rem;padding:0 4px;transition:color .2s}.wl-remove-btn:hover{color:#ef4444}.wl-card-meta{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}.wl-category{background:var(--accent-light);color:var(--accent);padding:2px 8px;font-weight:500}.wl-category,.wl-currency{font-size:.65rem;border-radius:4px}.wl-currency{background:var(--background);color:var(--text-secondary);padding:2px 6px;font-weight:600}.wl-stars{font-size:.65rem;color:#f59e0b}.wl-card-nav{margin-top:8px}.wl-nav-value{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.wl-nav-date{font-size:.65rem;color:var(--text-secondary);margin-left:6px}.wl-card-returns{display:flex;gap:8px;margin-top:6px}.wl-return{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:4px}.wl-return.positive{background:rgba(16,185,129,.1);color:#10b981}.wl-return.negative{background:rgba(239,68,68,.1);color:#ef4444}.tab-btn.tab-portfolio:hover{color:#7c3aed;background:rgba(124,58,237,.06);border-color:rgba(124,58,237,.2);border-bottom:none}.tab-btn.tab-portfolio.active{background:#7c3aed!important;border-color:#7c3aed!important;color:#fff!important}[data-theme=dark] .tab-btn.tab-portfolio:hover{color:#a78bfa;background:rgba(167,139,250,.12);border-color:rgba(167,139,250,.3);border-bottom:none}[data-theme=dark] .tab-btn.tab-portfolio.active{background:#a78bfa!important;border-color:#a78bfa!important;color:#101214!important}@media (max-width:768px){.portfolio-summary-grid{grid-template-columns:repeat(2,1fr)}.pf-table-header,.pf-table-row{grid-template-columns:2fr 1fr 1fr 1.5fr}.pf-table-header span:nth-child(3),.pf-table-header span:nth-child(4),.pf-table-header span:nth-child(7),.pf-table-header span:nth-child(8),.pf-table-row span:nth-child(3),.pf-table-row span:nth-child(4),.pf-table-row>.pf-action-cell,.pf-table-row>.pf-projected-col{display:none}.pf-tx-row{grid-template-columns:1fr 1fr}.pf-tx-row-item{flex-wrap:wrap}.watchlist-grid{grid-template-columns:1fr}.pf-currency-row{flex-direction:column;gap:4px}.pf-projected-row{flex-direction:column;gap:.75rem}}.tech-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;cursor:help;transition:transform .2s ease,box-shadow .2s ease}.tech-dot:hover{transform:scale(1.4)}.tech-dot-bullish{background:#10b981;box-shadow:0 0 6px rgba(16,185,129,.35)}.tech-dot-bearish{background:#ef4444;box-shadow:0 0 6px rgba(239,68,68,.35)}.tech-dot-overbought{background:#a855f7;box-shadow:0 0 6px rgba(168,85,247,.35)}.tech-dot-oversold{background:#f59e0b;box-shadow:0 0 6px rgba(245,158,11,.35)}.tech-dot-neutral{background:#94a3b8;box-shadow:none}.tech-legend-strip{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:6px 12px;margin-bottom:8px;background:var(--surface);border:1px solid var(--border-subtle);border-radius:8px;font-size:11px;color:var(--text-secondary)}.tech-legend-title{font-weight:700;color:var(--text-primary);margin-right:2px}.tech-legend-item{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.auth-spinner{animation:auth-spin 1s linear infinite}@keyframes auth-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.tech-legend-interactive .tech-legend-btn{all:unset;position:relative;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;cursor:pointer;font-size:11px;color:var(--text-secondary);white-space:nowrap;transition:all .15s ease;border:1px solid transparent}.tech-legend-btn:hover{background:rgba(var(--text-primary-rgb),.04)}.tech-legend-btn.tech-legend-active,.tech-legend-btn:hover{border-color:var(--border-subtle);color:var(--text-primary)}.tech-legend-btn.tech-legend-active{background:rgba(var(--text-primary-rgb),.06);font-weight:700}.tech-legend-btn.tech-legend-dimmed{opacity:.4}.tech-legend-clear{all:unset;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:10px;cursor:pointer;color:var(--text-secondary);background:rgba(var(--text-primary-rgb),.05);transition:all .15s ease;margin-left:2px}.tech-legend-clear:hover{background:rgba(239,68,68,.1);color:#ef4444}[data-tech-filter=bearish] [data-tech-signal]:not([data-tech-signal=bearish]),[data-tech-filter=bullish] [data-tech-signal]:not([data-tech-signal=bullish]),[data-tech-filter=neutral] [data-tech-signal]:not([data-tech-signal=neutral]),[data-tech-filter=overbought] [data-tech-signal]:not([data-tech-signal=overbought]),[data-tech-filter=oversold] [data-tech-signal]:not([data-tech-signal=oversold]){display:none!important}.id-stock-row-link,.us-stock-row-link{position:relative!important;overflow:visible!important}.sector-stock-list{overflow:visible!important}.tech-badge-container{position:relative;flex-shrink:0;margin:0 4px}.tech-badge,.tech-badge-container{display:inline-flex;align-items:center;justify-content:center}.tech-badge{font-size:9px;font-weight:700;padding:2px 6px;border-radius:9999px;text-transform:uppercase;letter-spacing:.04em;transition:all .25s cubic-bezier(.4,0,.2,1);border:1px solid transparent;cursor:help;white-space:nowrap;text-align:center}.tech-badge-bullish{color:#10b981;background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.25);box-shadow:0 0 8px rgba(16,185,129,.08)}.tech-badge-bullish:hover{background:rgba(16,185,129,.14);border-color:rgba(16,185,129,.45);box-shadow:0 0 12px rgba(16,185,129,.25);transform:translateY(-1px) scale(1.03)}.tech-badge-bearish{color:#ef4444;background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.25);box-shadow:0 0 8px rgba(239,68,68,.08)}.tech-badge-bearish:hover{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.45);box-shadow:0 0 12px rgba(239,68,68,.25);transform:translateY(-1px) scale(1.03)}.tech-badge-overbought{color:#a855f7;background:rgba(168,85,247,.08);border-color:rgba(168,85,247,.25);box-shadow:0 0 8px rgba(168,85,247,.08)}.tech-badge-overbought:hover{background:rgba(168,85,247,.14);border-color:rgba(168,85,247,.45);box-shadow:0 0 12px rgba(168,85,247,.25);transform:translateY(-1px) scale(1.03)}.tech-badge-oversold{color:#f59e0b;background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.25);box-shadow:0 0 8px rgba(245,158,11,.08)}.tech-badge-oversold:hover{background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.45);box-shadow:0 0 12px rgba(245,158,11,.25);transform:translateY(-1px) scale(1.03)}.tech-badge-neutral{color:var(--text-secondary);background:rgba(var(--text-primary-rgb),.04);border-color:var(--border-subtle)}.tech-badge-neutral:hover{background:rgba(var(--text-primary-rgb),.08);border-color:var(--border);transform:translateY(-1px) scale(1.03)}.tech-tooltip-popover{position:absolute;bottom:100%;right:0;margin-bottom:8px;width:250px;background:rgba(10,20,35,.95);backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:blur(14px) saturate(180%);border:1px solid hsla(0,0%,100%,.08);border-radius:12px;padding:14px;box-shadow:0 8px 32px rgba(0,0,0,.35),0 0 1px hsla(0,0%,100%,.15);z-index:100;opacity:0;visibility:hidden;pointer-events:none;transition:all .25s cubic-bezier(.16,1,.3,1);transform:translateY(4px);text-align:left;color:var(--text-primary)}.tech-badge-container:hover .tech-tooltip-popover{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.tech-popover-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.tech-popover-title{font-size:11px;font-weight:700;color:#f8fafc;letter-spacing:.02em}.tech-popover-status-badge{min-width:65px;font-size:8px;padding:2px 6px;flex-shrink:0}.tech-popover-divider{height:1px;background:hsla(0,0%,100%,.08);margin:8px 0}.tech-popover-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px 12px;gap:8px 12px}.tech-popover-item{display:flex;flex-direction:column;gap:2px}.tech-popover-label{font-size:9px;color:var(--text-secondary);font-weight:500}.tech-popover-value{font-size:11px;font-weight:700;color:var(--text-primary)}.tech-value-bullish{color:#10b981}.tech-value-bearish{color:#ef4444}.tech-value-overbought{color:#a855f7}.tech-value-oversold{color:#f59e0b}.tech-value-neutral{color:var(--text-secondary)}.tech-popover-desc{font-size:9.5px;color:#cbd5e1;line-height:1.4;margin:0}.header-controls{display:flex;align-items:center;gap:16px}.fund-actions-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:32px;align-items:center;width:100%}.fund-row-container{border-left:4px solid transparent;transition:all .15s ease}.fund-row-container:hover{background-color:var(--card-hover-bg);border-left-color:var(--accent)}.fund-row-container .fund-remove-btn{opacity:0;transition:opacity .2s ease}.fund-row-container:hover .fund-remove-btn{opacity:1}@media (max-width:768px){.fund-row-container .fund-remove-btn{opacity:1!important}}.term-tooltip{position:relative;display:inline-flex;align-items:center;cursor:help;border-bottom:1.5px dashed var(--text-secondary);transition:all .2s ease}.term-tooltip:hover{border-bottom-color:var(--accent);color:var(--accent);z-index:100}.term-tooltip:before{content:attr(data-definition);position:absolute;bottom:135%;left:50%;transform:translate(-50%,8px) scale(.95);width:250px;padding:10px 14px;background:rgba(15,17,23,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font-size:11px;font-weight:500;line-height:1.45;text-align:left;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.35);border:1px solid hsla(0,0%,100%,.12);opacity:0;pointer-events:none;transition:opacity .15s cubic-bezier(.16,1,.3,1),transform .15s cubic-bezier(.16,1,.3,1);z-index:99999;white-space:normal;text-transform:none;font-style:normal}[data-theme=dark] .term-tooltip:before{background:rgba(30,31,33,.96);border:1px solid hsla(0,0%,100%,.18);color:var(--text-primary)}.term-tooltip:after{content:"";position:absolute;bottom:118%;left:50%;transform:translate(-50%,8px) scale(.95);border:6px solid transparent;border-top-color:rgba(15,17,23,.95);opacity:0;pointer-events:none;transition:opacity .15s cubic-bezier(.16,1,.3,1),transform .15s cubic-bezier(.16,1,.3,1);z-index:99999}[data-theme=dark] .term-tooltip:after{border-color:rgba(30,31,33,.96) transparent transparent}.term-tooltip:hover:after,.term-tooltip:hover:before{opacity:1;transform:translate(-50%) scale(1)}.term-tooltip-bottom:before{bottom:auto;top:135%;transform:translate(-50%,-8px) scale(.95)}.term-tooltip-bottom:after{bottom:auto;top:118%;transform:translate(-50%,-8px) scale(.95);border-color:transparent transparent rgba(15,17,23,.95)}[data-theme=dark] .term-tooltip-bottom:after{border-color:transparent transparent rgba(30,31,33,.96)}.term-tooltip-bottom:hover:after,.term-tooltip-bottom:hover:before{opacity:1;transform:translate(-50%) scale(1)}.term-tooltip-left:before{left:0;transform:translateY(8px) scale(.95)}.term-tooltip-left:after{left:14px;transform:translateY(8px) scale(.95)}.term-tooltip-left:hover:after,.term-tooltip-left:hover:before{transform:translate(0) scale(1)}.term-tooltip-bottom.term-tooltip-left:after,.term-tooltip-bottom.term-tooltip-left:before{transform:translateY(-8px) scale(.95)}.term-tooltip-bottom.term-tooltip-left:hover:after,.term-tooltip-bottom.term-tooltip-left:hover:before{transform:translate(0) scale(1)}.term-tooltip-right:before{left:auto;right:0;transform:translateY(8px) scale(.95)}.term-tooltip-right:after{left:auto;right:14px;transform:translateY(8px) scale(.95)}.term-tooltip-right:hover:after,.term-tooltip-right:hover:before{transform:translate(0) scale(1)}.term-tooltip-bottom.term-tooltip-right:after,.term-tooltip-bottom.term-tooltip-right:before{transform:translateY(-8px) scale(.95)}.term-tooltip-bottom.term-tooltip-right:hover:after,.term-tooltip-bottom.term-tooltip-right:hover:before{transform:translate(0) scale(1)}@media print{:root,[data-theme=dark]{--background:#fff!important;--surface:#fff!important;--text-primary:#111827!important;--text-secondary:#4b5563!important;--border:#d1d5db!important;--border-light:#e5e7eb!important;--border-subtle:#e5e7eb!important;--card-shadow:none!important;--card-hover-bg:#fff!important;--stable-bg:#f3f4f6!important;--stable-text:#4b5563!important;--accent:#0091ff!important;--accent-primary:#0091ff!important;--brand-blue:#0091ff!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important;box-shadow:none!important;text-shadow:none!important}@page{margin:15mm 15mm}body,html{background:#fff!important;color:#111827!important;font-size:11pt!important;line-height:1.4!important}.container,body,html{width:100%!important;margin:0!important;padding:0!important}.container{max-width:100%!important}.auth-button,.channel-buttons,.footer,.header-controls,.news-scroll-btn,.no-print,.print-report-btn,.scroll-btn,.share-buttons,.site-footer,.tabs-container,.theme-toggle-btn,button,form,iframe,input,select,textarea{display:none!important}.dashboard-layout,.main-content,.sidebar{display:flex!important;flex-direction:column!important;gap:24px!important;width:100%!important}.main-content,.sidebar{max-width:100%!important}.two-column-desktop-grid{display:grid!important;grid-template-columns:1fr 1fr!important;grid-gap:16px!important;gap:16px!important;width:100%!important}.brief-card,.market-intelligence-brief,.section-card{page-break-inside:avoid!important;break-inside:avoid!important;border:1px solid #d1d5db!important;border-radius:6px!important;margin-bottom:16px!important;background:#fff!important;box-shadow:none!important}.section-header-row,.sidebar-header-row{border-bottom:2px solid #0091ff!important;padding-bottom:6px!important;margin-bottom:12px!important}.section-title,.sidebar-title{color:#111827!important;font-size:14pt!important;font-weight:700!important}h1,h2,h3,h4,h5,h6{color:#111827!important;page-break-after:avoid!important;break-after:avoid!important}table,td,th,tr{page-break-inside:avoid!important;break-inside:avoid!important}table{width:100%!important;border-collapse:collapse!important}th{background-color:#f3f4f6!important;color:#111827!important;font-weight:700!important;border-bottom:2px solid #d1d5db!important}td,th{padding:8px 12px!important;border-bottom:1px solid #e5e7eb!important}svg{max-width:100%!important}}.id-stocks-tabs-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.id-stocks-tabs-container{display:flex;background:var(--border-light);padding:4px;border-radius:24px;border:1px solid var(--border-subtle);width:auto;max-width:480px;gap:4px;box-shadow:inset 0 2px 4px rgba(0,0,0,.05);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.id-stocks-tabs-container::-webkit-scrollbar{display:none}.id-stocks-buy-cta{display:inline-flex;align-items:center;gap:5px;padding:8px 18px;background:#f97316;color:#fff;border-radius:20px;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;box-shadow:0 4px 14px rgba(249,115,22,.25);transition:all .2s cubic-bezier(.4,0,.2,1);letter-spacing:.01em;flex-shrink:0}.id-stocks-buy-cta:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 6px 20px rgba(249,115,22,.35)}.id-stocks-buy-cta:active{transform:translateY(0)}.id-stocks-tab-btn{flex:1 1 auto;border:none;background:transparent;color:var(--text-secondary);padding:8px 16px;border-radius:20px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;white-space:nowrap}.id-stocks-tab-btn:hover{color:var(--text-primary);background:rgba(0,145,255,.04)}.id-stocks-tab-btn.active{background:var(--surface);color:var(--accent);box-shadow:0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,145,255,.04);border:1px solid rgba(0,145,255,.08)}@media (max-width:640px){.id-stocks-tabs-row{gap:10px}.id-stocks-tabs-container{max-width:100%;flex:1 1}.id-stocks-buy-cta{padding:7px 14px;font-size:12px}}.print-report-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);margin-right:8px}.print-report-btn:hover{background:var(--card-hover-bg);box-shadow:var(--card-shadow);border-color:var(--accent)}@media (max-width:768px){.print-report-btn{width:36px!important;height:36px!important;min-width:36px!important;flex-shrink:0!important;margin-right:4px}.print-report-btn svg{width:18px!important;height:18px!important;flex-shrink:0!important}}.tech-legend-btn.term-tooltip{border-bottom:none!important;cursor:pointer!important;position:relative!important}.tech-legend-btn.term-tooltip:hover{border-bottom:none!important;color:var(--text-primary)!important}@media (max-width:768px){.share-buttons{gap:8px}.share-btn,.theme-toggle-btn{width:36px!important;height:36px!important;min-width:36px!important}.theme-toggle-btn,.theme-toggle-btn svg{flex-shrink:0!important}.theme-toggle-btn svg{width:18px!important;height:18px!important}.header-controls{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;gap:8px!important}.auth-sign-in-btn{padding:6px 12px!important;font-size:.75rem!important;border-radius:6px!important;height:36px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}}@media (max-width:500px){.cal-event-row.selectable{display:grid!important;grid-template-columns:auto auto 1fr!important;grid-template-areas:"day dot title" "day dot result"!important;align-items:center!important;grid-gap:4px 8px!important;gap:4px 8px!important;padding:12px 14px!important}.cal-event-day{font-size:14px!important;min-width:20px!important;text-align:right!important}.cal-event-day,.cal-event-dot{grid-row:1/span 2!important;align-self:center!important}.cal-event-dot{margin-top:0!important}.cal-event-title{grid-area:title!important;white-space:normal!important;font-size:13px!important;font-weight:700!important;color:var(--text-primary)!important;display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:4px 6px!important;overflow:visible!important;text-overflow:clip!important}.cal-event-ticker{font-size:8.5px!important;padding:1px 4px!important}.cal-event-result{grid-area:result!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;margin-top:2px!important;width:100%!important}.cal-consensus-pill,.cal-reaction-pill,.cal-result-pill,.catalyst-countdown{font-size:9px!important;padding:2px 6px!important;border-radius:12px!important;font-weight:700!important;white-space:nowrap!important}}.channels-container{position:relative}.channels-btn{padding:8px 16px;height:40px;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0;font-size:13px;font-weight:600}.channels-btn span{display:inline-block}.channels-btn.active,.channels-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-light);box-shadow:var(--card-shadow)}.animate-bell{animation:bellRing .6s ease}@keyframes bellRing{0%,to{transform:rotate(0)}20%,60%{transform:rotate(15deg)}40%,80%{transform:rotate(-15deg)}}.channels-dropdown{position:absolute;top:100%;margin-top:8px;right:0;width:260px;background:var(--surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:12px;padding:12px;z-index:1000;display:flex;flex-direction:column;gap:8px;box-shadow:var(--card-shadow),0 8px 30px rgba(0,0,0,.15)}.channels-dropdown-header h4{font-size:12px;font-weight:700;color:var(--text-primary);margin:0}.channels-dropdown-header p{font-size:10px;color:var(--text-secondary);margin-top:1px}.channels-dropdown-divider{height:1px;background:var(--border);opacity:.4}.channels-dropdown-list{display:flex;flex-direction:column;gap:4px}.channels-dropdown-item{display:flex;align-items:center;gap:8px;padding:6px;border-radius:6px;text-decoration:none;transition:all .2s ease}.channels-dropdown-item:hover{background:var(--card-hover-bg);transform:translateX(4px)}.channel-icon-wrapper{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700}.channel-details{display:flex;flex-direction:column;gap:0;min-width:0}.channel-name{font-size:11px;font-weight:600;color:var(--text-primary)}.channel-desc,.channel-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-desc{font-size:9px;color:var(--text-secondary)}.animate-slide-down{animation:slideDown .25s cubic-bezier(.16,1,.3,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.channels-btn{width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;border-radius:50%!important;justify-content:center!important}.channels-btn span{display:none!important}.channels-dropdown{right:auto!important;left:0!important;width:250px!important}}