@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--color-primary: #2563eb;--color-primary-light: #60a5fa;--color-primary-dark: #1d4ed8;--color-accent: #06b6d4;--color-accent-light: #22d3ee;--color-bg-darker: #020817;--color-bg-dark: #071428;--color-surface: #0f2341;--color-surface-light: #1a3254;--color-bg-grad-end: #0a1e3a;--color-text-primary: #e8f0fe;--color-text-secondary: #8bafd6;--color-text-muted: #4d6a84;--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-muted: var(--color-text-muted);--color-positive: #10b981;--color-negative: #ef4444;--color-warning: #f59e0b;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .5);--shadow-primary: 0 8px 24px -8px rgba(37, 99, 235, .5);--z-dropdown: 900;--z-navbar: 1000;--z-modal: 1100;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--navbar-height: 72px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(160deg,var(--color-bg-darker) 0%,var(--color-bg-dark) 60%,var(--color-bg-grad-end) 100%);color:var(--color-text-primary);overflow-x:hidden}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:700}a{color:var(--color-primary-light);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-accent-light)}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all var(--transition-base)}.page-header{text-align:center;animation:fadeInUp .6s ease-out}.page-header h1{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-primary-light) 55%,var(--color-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-header .subtitle{color:var(--color-text-secondary);font-size:1.05rem}.demo-notice{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.5rem auto 1.25rem;max-width:1200px;padding:.6rem 1.25rem;background:#ef444414;color:#fca5a5;border-radius:var(--radius-md);text-align:center;font-size:.875rem;border:1px solid rgba(239,68,68,.2)}.demo-notice strong{color:#ef4444;margin-right:.25rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-darker)}::-webkit-scrollbar-thumb{background:var(--color-surface-light);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}::-webkit-scrollbar-corner{background:transparent}.page-toolbar{display:flex;gap:.75rem;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:1.25rem}.page-toolbar .btn{padding:.55rem 1.1rem;font-size:.875rem;display:inline-flex;align-items:center;gap:.4rem}.page-toolbar .last-updated{font-size:.825rem;color:var(--color-text-muted);font-style:italic}.page-controls{display:flex;justify-content:center;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:.75rem}.btn-heatmap{background:linear-gradient(135deg,#0f2a45,#1e3a5f);color:#fff;box-shadow:0 4px 14px -4px #0ea5e966;border:none;padding:.55rem 1.1rem;border-radius:var(--radius-sm);font-size:.875rem;display:inline-flex;align-items:center;gap:.4rem}.btn-heatmap:hover{transform:translateY(-1px);box-shadow:0 6px 18px -4px #0ea5e980}.btn-analytics{background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;box-shadow:0 4px 14px -4px #2563eb80;border:none;padding:.55rem 1.1rem;border-radius:var(--radius-sm);font-size:.875rem;display:inline-flex;align-items:center;gap:.4rem}.btn-analytics:hover{transform:translateY(-1px);box-shadow:0 6px 18px -4px #2563eb99}[data-theme=light]{--color-bg-darker: #f8fafc;--color-bg-dark: #f1f5f9;--color-surface: #ffffff;--color-surface-light: #e2e8f0;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-bg-grad-end: #cbd5e1;--color-primary-light: #2563eb}[data-theme=light] .summary-card,[data-theme=light] .navigation-panel,[data-theme=light] .sector-card,[data-theme=light] .news-card,[data-theme=light] .watchlist-card,[data-theme=light] .modal-content,[data-theme=light] .info-card,[data-theme=light] .news-panel,[data-theme=light] .insights-card,[data-theme=light] .autocomplete-dropdown,[data-theme=light] .search-suggestions,[data-theme=light] .index-card,[data-theme=light] .chart-section,[data-theme=light] .news-section,[data-theme=light] .news-article,[data-theme=light] .market-chart-container,[data-theme=light] .news-article-card,[data-theme=light] .realized-summary-banner{background:var(--color-surface)!important;border-color:#0f172a14!important;box-shadow:0 4px 20px -2px #0f172a0d,0 2px 4px -1px #0f172a08!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-theme=light] .summary-card:hover,[data-theme=light] .navigation-panel:hover,[data-theme=light] .sector-card:hover,[data-theme=light] .news-card:hover,[data-theme=light] .news-article:hover,[data-theme=light] .index-card:hover,[data-theme=light] .news-article-card:hover,[data-theme=light] .autocomplete-dropdown li:hover{background:var(--color-surface-light)!important;border-color:var(--color-primary-light)!important;box-shadow:0 10px 30px -10px #2563eb26!important}[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea{background:var(--color-surface)!important;border-color:#0f172a26!important;color:var(--color-text-primary)!important}[data-theme=light] input:focus,[data-theme=light] select:focus,[data-theme=light] textarea:focus{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px #2563eb1f!important}[data-theme=light] th,[data-theme=light] .investments-table th{background:#0f172a08!important;color:var(--color-text-primary)!important}[data-theme=light] .investments-table thead{border-bottom-color:#0f172a1f!important}[data-theme=light] tr,[data-theme=light] td{border-bottom-color:#0f172a0f!important}[data-theme=light] tr:hover{background:#0f172a04!important}[data-theme=light] .navbar{background:#f8fafccc!important;border-bottom-color:#0f172a0f!important}[data-theme=light] .nav-links{background:#0f172a08!important;border-color:#0f172a14!important}[data-theme=light] .nav-link{color:var(--color-text-secondary)!important}[data-theme=light] .nav-link:hover{color:var(--color-primary)!important;background:#0f172a0d!important}[data-theme=light] .nav-link.active{color:#fff!important;background:var(--color-primary)!important}[data-theme=light] .nav-cash-display{background:#0f172a08!important;border-color:#0f172a14!important}[data-theme=light] .nav-add-cash-btn{border-color:#0f172a26!important;color:var(--color-text-secondary)!important}[data-theme=light] .nav-add-cash-btn:hover{background:#0f172a0d!important;color:var(--color-text-primary)!important}[data-theme=light] .modal-overlay{background:#0f172a66!important}[data-theme=light] .modal-header{border-bottom-color:#0f172a0f!important}[data-theme=light] .modal-close{color:var(--color-text-secondary)!important}[data-theme=light] .modal-close:hover{background:#0f172a0d!important;color:var(--color-text-primary)!important}[data-theme=light] .form-actions{border-top-color:#0f172a0f!important}[data-theme=light] .empty-state,[data-theme=light] .auth-empty-state{border-color:#0f172a14!important;background:var(--color-surface)!important}[data-theme=light] .period-selector{background:#0f172a08!important}[data-theme=light] .period-selector-btn{color:var(--color-text-secondary)!important}[data-theme=light] .period-selector-btn.active{background:var(--color-surface)!important;color:var(--color-primary)!important;box-shadow:0 1px 3px #0000001a!important}[data-theme=light] .period-selector-btn:not(.active){background-color:#0f172a08!important;color:var(--color-text-secondary)!important;border-color:#0f172a14!important}[data-theme=light] .period-selector-btn:not(.active):hover{background-color:#0f172a0f!important}[data-theme=light] .panel-title,[data-theme=light] .index-name,[data-theme=light] .market-chart-title,[data-theme=light] .section-header h2,[data-theme=light] .news-content h3,[data-theme=light] .news-section h3,[data-theme=light] .sector-name,[data-theme=light] .news-article h4,[data-theme=light] .news-date,[data-theme=light] .loading-state,[data-theme=light] .empty-state,[data-theme=light] .empty-state-unauth-msg,[data-theme=light] .news-panel-title,[data-theme=light] .news-article-title{color:var(--color-text-primary)!important}[data-theme=light] .panel-description,[data-theme=light] .news-meta,[data-theme=light] .market-chart-message,[data-theme=light] .news-article-meta,[data-theme=light] .news-article-publisher,[data-theme=light] .news-article-time,[data-theme=light] .news-panel-actions .last-updated{color:var(--color-text-secondary)!important}[data-theme=light] .news-panel-header{border-bottom-color:#0f172a14!important}[data-theme=light] .realized-stat-label{color:var(--color-text-muted)!important}[data-theme=light] .app-footer{background:#f8fafc66!important;border-top-color:#0f172a0f!important}[data-theme=light] .logo-panel{background:transparent!important;border:none!important;box-shadow:none!important}.nav-theme-toggle{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);transition:all var(--transition-fast);margin-right:.5rem}.nav-theme-toggle:hover{background:#ffffff14;color:var(--color-text-primary)}[data-theme=light] .nav-theme-toggle:hover{background:#0f172a0d}.auth-modal{max-width:450px;width:95%}.auth-mode-toggle{display:flex;gap:.5rem;background-color:var(--color-bg-darker);padding:.25rem;border-radius:var(--radius-sm);border:1px solid var(--color-surface-light);margin-bottom:1.5rem}.auth-mode-toggle .mode-btn{flex:1;padding:.75rem;font-size:.9rem;font-weight:600;background-color:transparent;color:var(--color-text-muted);border:none;border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;transition:all .2s ease}.auth-mode-toggle .mode-btn.active{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff}.auth-mode-toggle .mode-btn:hover:not(.active){color:var(--color-text-secondary)}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form .form-row{display:flex;gap:1rem}.auth-form .form-row .form-group{flex:1}.auth-form .form-group{display:flex;flex-direction:column;gap:.5rem}.auth-form label{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.auth-form input{padding:.75rem 1rem;font-size:1rem;border-radius:var(--radius-sm);border:1px solid var(--color-surface-light);background-color:var(--color-surface);color:var(--color-text-primary);transition:border-color .2s ease,box-shadow .2s ease}.auth-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb33}.auth-form input::placeholder{color:var(--color-text-muted)}.form-error{padding:.75rem 1rem;background-color:#ef44441a;border-left:4px solid var(--color-negative);border-radius:var(--radius-sm);color:var(--color-negative);font-size:.9rem}.auth-submit{margin-top:.5rem;padding:.875rem;font-size:1rem;font-weight:600}.auth-footer{margin-top:1.5rem;text-align:center;color:var(--color-text-secondary);font-size:.9rem}.auth-footer .link-btn{background:none;border:none;color:var(--color-primary-light);cursor:pointer;font-size:.9rem;text-decoration:underline}.auth-footer .link-btn:hover{color:var(--color-accent-light)}.app-footer{width:100%;padding:1.25rem var(--spacing-lg);background:#02081766;border-top:1px solid rgba(255,255,255,.04);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);margin-top:auto;position:relative;z-index:10}.footer-container{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);font-size:.8rem;color:var(--color-text-secondary);opacity:.85}.footer-left{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.footer-right{display:flex;align-items:center}.footer-disclaimer{color:var(--color-text-muted);font-size:.75rem;text-align:right}@media(max-width:768px){.app-footer{padding:1.5rem var(--spacing-sm)}.footer-container{flex-direction:column;text-align:center;gap:.75rem}.footer-left{flex-direction:column;align-items:center;gap:.25rem}.footer-disclaimer{text-align:center}}.home-page{min-height:100vh;padding:0 var(--spacing-xl) var(--spacing-xl);max-width:1200px;margin:0 auto;position:relative;z-index:1}.welcome-section{text-align:center;margin-bottom:var(--spacing-md);animation:fadeInUp .6s ease-out}.welcome-message{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;margin-bottom:var(--spacing-xs);background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.current-date{font-size:1.1rem;color:var(--color-text-secondary);font-weight:500;letter-spacing:.5px}.navigation-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);animation:fadeInUp .6s ease-out .2s backwards;max-width:100%;margin:0 auto}.home-logo-container{display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-xs)}.home-logo-emblem{width:clamp(140px,16vw,200px);height:clamp(140px,16vw,200px);object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.35));transition:transform .4s cubic-bezier(.16,1,.3,1)}.navigation-panel{background:#ffffff0f;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:var(--spacing-xl);display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;transition:all var(--transition-slow);text-align:left;width:100%}.navigation-panel:hover{transform:translateY(-4px);border-color:var(--color-primary-light);box-shadow:0 12px 40px -10px #2563eb59;background:#ffffff17}.navigation-panel:active{transform:translateY(-2px)}.panel-icon-frame{min-width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px -4px #00000059;flex-shrink:0}.panel-content{flex:1;min-width:0}.panel-title{font-size:1.5rem;font-weight:600;color:#fff;margin:0 0 var(--spacing-xs) 0}.panel-description{font-size:.95rem;color:#ffffffd9;margin:0;line-height:1.5}.panel-arrow{display:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1200px){.navigation-panels{grid-template-columns:repeat(2,1fr)}}@media(max-width:1024px){.navigation-panels{grid-template-columns:1fr}}@media(max-width:768px){.home-page{padding:0 var(--spacing-md) var(--spacing-lg)}.welcome-section{margin-bottom:var(--spacing-xl)}.welcome-message{font-size:2rem}.current-date{font-size:1rem}.navigation-panel{padding:var(--spacing-lg);flex-direction:column;text-align:center}.panel-icon-wrapper{min-width:70px;height:70px}.panel-icon{font-size:2rem}.panel-title{font-size:1.3rem}.panel-description{font-size:.9rem}.panel-arrow{display:none}}.market-insights-container{max-width:100%!important;width:95%}.market-insights-container h1{font-size:2.5rem}.market-insights-container .subtitle{margin-bottom:var(--spacing-sm)}.market-insights-layout{display:grid;grid-template-columns:160px 1fr 400px;gap:var(--spacing-lg);margin-top:var(--spacing-sm);align-items:stretch}.market-indices-section,.market-chart-section,.market-sectors-section{display:flex;flex-direction:column;height:100%}.market-indices-section .indices-grid{flex-direction:column;gap:var(--spacing-md);padding:0}.market-indices-section .index-card{width:100%;min-width:unset;padding:.75rem 1rem}.market-indices-section .index-name{font-size:.75rem}.market-indices-section .index-price{font-size:1.25rem}.market-indices-section .index-change{font-size:.75rem}@media(max-width:1200px){.market-insights-layout{grid-template-columns:1fr;gap:var(--spacing-xl)}.market-indices-section .indices-grid{flex-direction:row;flex-wrap:wrap;justify-content:center}.market-indices-section .index-card{min-width:180px;width:auto}}@media(max-width:768px){.market-insights-container{max-width:100%}.market-chart-section{min-height:400px}}.market-chart-container{width:100%;height:100%;display:flex;flex-direction:column;margin-top:0;padding:1rem 1.5rem;background:#ffffff08;border-radius:16px;border:1px solid rgba(255,255,255,.1)}.market-chart-centered{height:280px;display:flex;align-items:center;justify-content:center}.market-chart-title{color:#ffffffe6;margin:0;font-size:1.1rem;font-weight:600}.market-chart-toggles{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem}.market-chart-toggle-btn{border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:opacity .2s}.market-chart-toggle-btn:hover{filter:brightness(1.1)}.market-chart-message{color:#ffffffb3}.market-chart-message.market-chart-error{color:#ff6464e6}.period-selector{margin-top:2rem;text-align:center}.period-selector-label{color:#fff9;font-size:.875rem;margin-bottom:.5rem;font-weight:500}.period-selector-buttons{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap}.period-selector-btn{padding:.4rem .8rem;border-radius:8px;cursor:pointer;font-size:.875rem;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.market-indices-container .period-selector-buttons{gap:.25rem}.market-indices-container .period-selector-btn{padding:.25rem .4rem;font-size:.7rem}.period-selector-btn.active{background-color:#2563ebcc;color:#fff;border:1px solid rgba(37,99,235,.9);font-weight:600}.period-selector-btn:not(.active){background-color:#ffffff0d;color:#ffffffb3;border:1px solid rgba(255,255,255,.1);font-weight:500}.period-selector-btn:not(.active):hover{background-color:#ffffff14}.market-insights-bottom-layout{display:grid;grid-template-columns:1fr;margin-top:1rem;width:100%}.sector-performance-container,.market-news-container{width:100%;height:100%;display:flex;flex-direction:column;padding:1rem;background:#ffffff05;border-radius:16px;border:1px solid rgba(255,255,255,.05)}.section-header{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1rem;text-align:center}.section-header h2{font-size:1.1rem;color:#ffffffe6;margin:0}.section-header .period-selector{margin-top:0;width:100%}.sectors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.5rem}.sector-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.6rem .8rem;display:flex;flex-direction:column;gap:.15rem;transition:transform .2s,box-shadow .2s}.sector-card:hover{transform:translateY(-2px)}.sector-card.positive-glow:hover{box-shadow:0 4px 20px #10b98126;border-color:#10b9814d}.sector-card.negative-glow:hover{box-shadow:0 4px 20px #ef444426;border-color:#ef44444d}.sector-name{font-size:.85rem;font-weight:500;color:#ffffffe6}.sector-change{font-size:1.15rem;font-weight:600}.sector-change.positive{color:#10b981}.sector-change.negative{color:#ef4444}.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;max-height:400px;overflow-y:auto;padding-right:.5rem}.news-grid::-webkit-scrollbar{width:6px}.news-grid::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.news-grid::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.news-grid::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.news-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.25rem;text-decoration:none;transition:transform .2s,background-color .2s;display:flex;flex-direction:column;justify-content:space-between;height:100%}.news-card:hover{transform:translateY(-2px);background:#ffffff0d}.news-content h3{font-size:1rem;color:#ffffffe6;margin-bottom:.75rem;line-height:1.4}.news-meta{display:flex;gap:.5rem;font-size:.85rem;color:#ffffff80}.news-publisher{font-weight:500;color:var(--color-primary-light)}.loading-state,.error-state,.empty-state{text-align:center;padding:3rem;color:#fff9;font-size:1.1rem}.error-state{color:#ef4444}.investments-page{min-height:100vh;padding:var(--spacing-xl) var(--spacing-lg);max-width:100%;margin:0 auto;position:relative}.investments-header{margin-bottom:var(--spacing-xl);text-align:center;animation:fadeInUp .6s ease-out}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-primary-light);font-weight:500;margin-bottom:var(--spacing-sm);transition:color var(--transition-base)}.header-title-row{display:flex;justify-content:space-between;align-items:flex-end;width:100%}.header-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-md);align-items:center}.last-updated{color:var(--color-text-muted);font-size:.9rem;margin-right:var(--spacing-sm);font-style:italic}.refresh-icon{display:inline-block;margin-right:.5rem;font-size:1.1rem}.spinning{animation:spin 1s linear infinite}.investments-header h1{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.investments-header .subtitle{color:var(--color-text-secondary);font-size:1.1rem}.portfolio-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl);animation:fadeInUp .6s ease-out .2s backwards}.summary-card{background:#ffffff08;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:var(--spacing-lg);transition:all var(--transition-slow)}.summary-card:hover{transform:translateY(-4px);border-color:var(--color-primary-light);box-shadow:0 10px 40px -10px #2563eb4d}.summary-label{color:var(--color-text-muted);font-size:.9rem;margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.05em}.summary-value{font-size:2rem;font-weight:700;color:var(--color-text-primary)}.summary-value.positive{color:var(--color-positive)}.summary-value.negative{color:var(--color-negative)}.summary-value .percentage{font-size:1rem;margin-left:.5rem;opacity:.8}.summary-card-icon{display:inline-flex;align-items:center;margin-right:.35rem;opacity:.7;vertical-align:middle}.summary-sublabel{font-size:.8rem;color:var(--color-text-muted);margin-top:.25rem}.investments-container{background:#ffffff08;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:var(--spacing-lg);animation:fadeInUp .6s ease-out .4s backwards}.transactions-tabs{display:flex;gap:0;margin-bottom:var(--spacing-lg);border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:0;width:100%}.tab-btn{flex:1;background:none;border:none;padding:.9rem 1.4rem 1rem;font-size:1rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;position:relative;transition:color var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:0;letter-spacing:.01em;text-align:center}.tab-btn:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:transparent;border-radius:2px 2px 0 0;transition:background var(--transition-base)}.tab-btn:hover{color:var(--color-text-secondary)}.tab-btn.active{color:var(--color-primary-light)}.tab-btn.active:after{background:var(--color-primary-light)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;background:#2563eb33;border:1px solid rgba(37,99,235,.3);color:var(--color-primary-light);font-size:.75rem;font-weight:700;border-radius:20px;padding:.1rem .55rem;min-width:1.4rem;line-height:1.4}.realized-summary-banner{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md);background:#ffffff05;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-lg);animation:fadeInUp .5s ease-out}.realized-stat{display:flex;flex-direction:column;gap:.3rem;padding:.25rem 0}.realized-stat-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.realized-stat-value{font-size:1.3rem;font-weight:700;color:var(--color-text-primary)}.realized-stat-value.positive{color:#10b981}.realized-stat-value.negative{color:#ef4444}@media(max-width:768px){.realized-summary-banner{grid-template-columns:1fr 1fr}.transactions-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}}.table-responsive{overflow-x:auto}.investments-table{width:100%;border-collapse:collapse;font-size:.875rem;table-layout:auto}.investments-table thead{border-bottom:2px solid rgba(255,255,255,.1)}.investments-table th{padding:var(--spacing-sm) var(--spacing-xs);text-align:left;color:var(--color-text-secondary);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;white-space:nowrap}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--transition-base);position:relative}.sortable-header:hover{color:var(--color-primary-light);background:#6366f10d}.sort-indicator{font-size:.75rem;margin-left:.25rem;color:var(--color-primary-light)}.investments-table tbody tr{border-bottom:1px solid rgba(255,255,255,.05);transition:all var(--transition-base)}.investments-table tbody tr:hover{background:#6366f10d}.investments-table tbody tr.selected-row{background:#396bff1a}.investments-table tbody tr.selected-row:hover{background:#396bff26}.checkbox-input{cursor:pointer;width:16px;height:16px}.clickable-symbol{cursor:pointer}.investments-table td{padding:var(--spacing-sm) var(--spacing-xs);color:var(--color-text-primary);white-space:nowrap}.symbol-cell .symbol{font-weight:700;color:var(--color-primary-light);font-size:1rem}.name-cell{color:var(--color-text-secondary);max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.type-badge.stock{background:#6366f133;color:var(--color-primary-light);border:1px solid rgba(99,102,241,.3)}.type-badge.etf{background:#ec489933;color:var(--color-accent-light);border:1px solid rgba(236,72,153,.3)}.positive{color:var(--color-positive);font-weight:600}.negative{color:var(--color-negative);font-weight:600}.percentage-small{font-size:.85rem;margin-left:.25rem;opacity:.8}@media(max-width:1200px){.investments-table{font-size:.85rem}.investments-table th,.investments-table td{padding:var(--spacing-sm)}}@media(max-width:768px){.investments-page{padding:var(--spacing-md)}.portfolio-summary{grid-template-columns:1fr}.summary-value{font-size:1.5rem}.table-responsive{border-radius:12px;box-shadow:inset 0 0 10px #0003}.investments-table{font-size:.75rem;min-width:900px}.investments-table th,.investments-table td{padding:var(--spacing-xs) var(--spacing-sm)}}.loading-message,.error-message{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary);animation:fadeInUp .6s ease-out}.loading-message p{font-size:1.2rem;color:var(--color-primary-light)}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:16px;max-width:600px;margin:var(--spacing-xl) auto}.error-message p{color:#ef4444;margin-bottom:var(--spacing-md);font-size:1.1rem}.empty-state{background:#ffffff08;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:20px;max-width:600px;width:100%;margin:var(--spacing-xl) auto;padding:var(--spacing-2xl);color:var(--color-text-secondary);animation:fadeInUp .6s ease-out;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-sizing:border-box}.empty-state p{font-size:1.1rem;margin-bottom:var(--spacing-lg)}.empty-state-actions{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);flex-wrap:wrap}.empty-state-divider{color:var(--color-text-muted);font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em}.pagination-controls{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid rgba(255,255,255,.1);gap:var(--spacing-md)}.pagination-left,.pagination-right{flex:1;display:flex}.pagination-left{justify-content:flex-start}.pagination-right{justify-content:flex-end}.pagination-center,.pagination-pages{display:flex;align-items:center;gap:.35rem}.pagination-btn{padding:.5rem 1rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);color:var(--color-text-secondary);border-radius:8px;font-weight:500;cursor:pointer;transition:all var(--transition-base);font-size:.9rem;display:inline-flex;align-items:center;justify-content:center}.pagination-nav-btn{min-width:2.2rem;height:2.2rem;padding:0;font-size:1.1rem}.pagination-page-btn{min-width:2.2rem;height:2.2rem;padding:0}.pagination-btn:hover:not(:disabled){background:#2563eb1a;border-color:#2563eb66;color:var(--color-primary-light);transform:translateY(-1px)}.pagination-btn:disabled{opacity:.3;cursor:not-allowed}.pagination-page-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:700;box-shadow:0 0 12px #2563eb66}.pagination-ellipsis{color:var(--color-text-muted);padding:0 .25rem;font-weight:500;-webkit-user-select:none;user-select:none}.highlight-text{color:var(--color-primary-light);font-weight:600}.page-numbers{font-weight:500;font-size:.9rem;color:var(--color-text-secondary)}.item-count{font-size:.9rem;color:var(--color-text-secondary)}@media(max-width:768px){.pagination-controls{flex-direction:column;gap:var(--spacing-md)}.pagination-left,.pagination-right{justify-content:center;text-align:center;width:100%;flex:none}}.gl-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:var(--radius-sm);font-size:.82rem;font-weight:600;white-space:nowrap;background:#ffffff0a}.gl-badge--positive{color:var(--color-positive);background:#10b9811a;border:1px solid rgba(16,185,129,.2)}.gl-badge--negative{color:var(--color-negative);background:#ef44441a;border:1px solid rgba(239,68,68,.2)}.gl-pct{font-size:.75rem;opacity:.75}.value-cell{font-weight:700}.empty-state-cta{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:.5rem}.empty-state-cta .empty-state-divider{color:#fff6;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin:.25rem 0}.empty-state-unauth-msg{margin-bottom:1.5rem}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:center;z-index:1100;padding:var(--spacing-xl) var(--spacing-md);overflow-y:auto;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#14141ef2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:var(--spacing-xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h2{font-size:1.75rem;color:var(--color-text-primary);margin:0}.modal-close{background:none;border:none;font-size:2rem;color:var(--color-text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all var(--transition-base)}.modal-close:hover{background:#ffffff1a;color:var(--color-text-primary)}.investment-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:var(--spacing-sm) var(--spacing-md);border-radius:8px;font-size:.9rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:var(--color-text-secondary);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group select{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.75rem;color:var(--color-text-primary);font-size:1rem;transition:all var(--transition-base)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary-light);background:#ffffff14;box-shadow:0 0 0 3px #6366f11a}.form-group input::placeholder{color:var(--color-text-muted)}.form-group select{cursor:pointer}.form-group select option{background-color:#1e293b;color:#fff}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.1)}.form-actions button{min-width:120px}@media(max-width:768px){.modal-content{padding:var(--spacing-lg);max-height:85vh}.modal-header h2{font-size:1.5rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.tp-modal{max-width:100%;width:96%;padding:var(--spacing-xl);max-height:90vh;overflow-y:auto;overflow-x:hidden}.tp-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}@media(max-width:900px){.tp-summary-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.tp-summary-grid{grid-template-columns:1fr 1fr}.tp-modal{padding:var(--spacing-lg)}}.tp-card{background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:var(--spacing-md);display:flex;flex-direction:column;gap:.3rem;transition:border-color var(--transition-base)}.tp-card.positive-card{border-color:#10b9812e;background:#10b9810a}.tp-card.negative-card{border-color:#ef44442e;background:#ef44440a}.tp-card-total{grid-column:span 1;border-width:1.5px}.tp-card-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted)}.tp-card-value{font-size:1.15rem;font-weight:700;color:var(--color-text-primary);line-height:1.2}.tp-total-value{font-size:1.35rem}.tp-card-sub{font-size:.75rem;color:var(--color-text-muted);margin-top:.1rem}.tp-divider{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);color:var(--color-text-muted);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em}.tp-divider:before,.tp-divider:after{content:"";flex:1;height:1px;background:#ffffff14}.csv-import-description{padding:0 0 1.25rem}.csv-import-description p{color:var(--color-text-secondary);font-size:.9rem;line-height:1.6;margin:0}.csv-template-download{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;margin-bottom:1.25rem}.csv-format-hint{display:flex;flex-wrap:wrap;gap:.4rem}.csv-col-tag{font-family:JetBrains Mono,Fira Code,monospace;font-size:.72rem;background:#2563eb26;color:var(--color-primary-light);border:1px solid rgba(37,99,235,.25);border-radius:4px;padding:.2rem .5rem;white-space:nowrap}.csv-col-tag--optional{background:#ffffff0a;color:var(--color-text-muted);border-color:#ffffff1a}.csv-col-tag--optional:after{content:" (opt)";font-size:.65rem;opacity:.7}.csv-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:1.75rem 1rem;border:2px dashed rgba(255,255,255,.15);border-radius:12px;cursor:pointer;transition:border-color var(--transition-base),background var(--transition-base);margin-bottom:1.25rem;text-align:center}.csv-upload-area:hover{border-color:var(--color-primary-light);background:#2563eb0d}.csv-upload-icon{font-size:2rem;line-height:1}.csv-upload-label{font-size:.95rem;font-weight:600;color:var(--color-text-primary)}.csv-upload-filename{font-size:.95rem;font-weight:600;color:var(--color-primary-light)}.csv-upload-hint{font-size:.8rem;color:var(--color-text-muted)}.csv-feedback{padding:.75rem 1rem;border-radius:8px;font-size:.875rem;line-height:1.6;white-space:pre-wrap;margin-bottom:1.25rem}.csv-feedback--error{background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:#fca5a5}.csv-feedback--success{background:#10b9811a;border:1px solid rgba(16,185,129,.25);color:#6ee7b7}.toggle-switch{position:relative;display:inline-block;width:50px;height:28px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#64748b;transition:.3s;border-radius:28px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.toggle-slider{background-color:#10b981}input:checked+.toggle-slider:before{transform:translate(22px)}input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.toggle-switch-container{display:inline-flex;align-items:center;gap:.75rem}.toggle-switch-label{position:relative;display:inline-block;width:48px;height:26px;cursor:pointer}.toggle-switch-input{opacity:0;width:0;height:0}.toggle-switch-slider{position:absolute;inset:0;background-color:#475569;border-radius:26px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px #0000001a}.toggle-switch-slider:before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0003}.toggle-switch-input:checked+.toggle-switch-slider{background:linear-gradient(135deg,#10b981,#059669);box-shadow:inset 0 2px 4px #0000001a,0 0 8px #10b9814d}.toggle-switch-input:focus+.toggle-switch-slider{outline:2px solid var(--color-primary);outline-offset:2px}.toggle-switch-input:checked+.toggle-switch-slider:before{transform:translate(22px)}.toggle-switch-input:disabled+.toggle-switch-slider{opacity:.5;cursor:not-allowed}.toggle-switch-text{color:var(--color-text-secondary);font-size:.9rem;-webkit-user-select:none;user-select:none;cursor:pointer}.toggle-switch-label:hover .toggle-switch-slider{box-shadow:inset 0 2px 4px #00000026,0 0 0 3px #4755691a}.toggle-switch-input:checked+.toggle-switch-slider:hover{box-shadow:inset 0 2px 4px #0000001a,0 0 12px #10b98166}.privacy-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#6366f126;border:1px solid rgba(99,102,241,.3);border-radius:8px;color:var(--color-primary-light, #a5b4fc);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.privacy-toggle:hover{background:#6366f140;border-color:#6366f180;transform:translateY(-1px);box-shadow:0 4px 12px #6366f133}.privacy-toggle:active{transform:translateY(0)}.privacy-toggle:focus{outline:2px solid var(--color-primary, #6366f1);outline-offset:2px}.privacy-toggle svg{flex-shrink:0}.portfolio-chart-container{width:100%;height:500px}.portfolio-chart-empty{height:300px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.portfolio-chart-toggles{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem}.chart-toggle-btn{border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:opacity .2s,filter .2s}.chart-toggle-btn:hover{filter:brightness(1.1)}.distribution-chart-container{width:100%;height:400px}.distribution-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1rem}.distribution-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary)}.distribution-legend-color{width:12px;height:12px;border-radius:2px}.portfolio-actions{margin-top:1.5rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.portfolio-action-btn{padding:.6rem 1.2rem;font-size:.9rem;display:inline-flex;align-items:center;gap:.5rem}.portfolio-toggles{margin-top:1rem;display:flex;justify-content:center;align-items:center;gap:1.5rem;flex-wrap:wrap}.portfolio-last-updated{align-self:center;margin-right:1rem;color:#94a3b8;font-size:.9rem}.portfolio-news-page{padding:var(--spacing-xl);max-width:100%;margin:0 auto}.news-header{margin-bottom:var(--spacing-xl);text-align:center;animation:fadeInUp .6s ease-out}.news-header h1{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.news-header .subtitle{color:var(--color-text-secondary);font-size:1.1rem}.news-panels-container{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl)}.news-panel{background:#ffffff08;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:var(--spacing-xl);height:100%;display:flex;flex-direction:column;box-shadow:0 4px 6px -1px #0000001a}.news-panel-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:var(--spacing-lg);margin-bottom:var(--spacing-lg);border-bottom:1px solid rgba(255,255,255,.08);gap:var(--spacing-md)}.news-panel-title{font-size:2rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.2}.news-panel-actions{display:flex;align-items:center;gap:var(--spacing-md)}.news-panel-actions .last-updated{font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.news-articles-list{overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-md);padding-right:var(--spacing-xs);max-height:calc(100vh - 400px)}.news-articles-list::-webkit-scrollbar{width:6px}.news-articles-list::-webkit-scrollbar-track{background:#ffffff08;border-radius:3px}.news-articles-list::-webkit-scrollbar-thumb{background:#6366f14d;border-radius:3px}.news-articles-list::-webkit-scrollbar-thumb:hover{background:#6366f180}.news-article-card{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:var(--spacing-lg);transition:all var(--transition-base);cursor:pointer}.news-article-card:hover{background:#ffffff0a;border-color:#6366f14d;transform:translateY(-2px);box-shadow:0 4px 12px #6366f126}.news-article-title{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-article-title:hover{color:var(--color-primary-light)}.news-article-meta{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);font-size:.85rem;color:var(--text-secondary);flex-wrap:wrap}.news-article-publisher{font-weight:500;color:var(--text-secondary)}.news-article-time{color:var(--text-muted)}.news-article-symbols{display:flex;gap:.375rem;flex-wrap:wrap;margin-top:var(--spacing-sm)}.symbol-badge{display:inline-block;padding:.25rem .625rem;background:#6366f126;border:1px solid rgba(99,102,241,.3);border-radius:6px;font-size:.75rem;font-weight:600;color:var(--color-primary-light);letter-spacing:.02em}.news-loading{display:flex;flex-direction:column;gap:var(--spacing-md)}.skeleton-card{background:linear-gradient(90deg,#ffffff05 25%,#ffffff0a,#ffffff05 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;height:120px;border-radius:12px;border:1px solid rgba(255,255,255,.06)}.news-empty{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.news-empty p{margin:var(--spacing-sm) 0;font-size:1.05rem}.news-empty-hint{font-size:.9rem;font-style:italic;color:var(--text-muted)}.news-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;padding:var(--spacing-md);color:#ef4444;margin-bottom:var(--spacing-md)}.news-panel .refresh-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:.5rem 1rem;font-size:.875rem}.refresh-icon{display:inline-block;font-size:1.2rem;transition:transform .3s ease}.refresh-icon.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1024px){.news-panels-container{grid-template-columns:1fr}.news-panel{min-height:auto}.news-articles-list{max-height:500px}}@media(max-width:768px){.portfolio-news-page{padding:var(--spacing-md)}.news-panel{padding:var(--spacing-lg)}.news-panel-header{flex-direction:column;align-items:flex-start}.news-panel-title{font-size:1.3rem;margin-bottom:var(--spacing-md)}.news-panel-actions{width:100%;flex-direction:column;align-items:flex-start}.news-articles-list{max-height:400px}}.research-page{min-height:100vh;position:relative}.research-container{max-width:100%!important;width:100%}.search-container{margin:var(--spacing-md) 0;max-width:500px;margin-left:auto;margin-right:auto}.search-input-wrapper{position:relative}.search-input{width:100%;padding:.75rem 1.25rem;font-size:1rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:50px;color:var(--color-text-primary);transition:all var(--transition-base)}.search-input:focus{outline:none;border-color:var(--color-primary);background:#ffffff14;box-shadow:0 0 20px #6366f133}.search-input::placeholder{color:var(--color-text-secondary)}.search-loading{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);color:var(--color-primary);font-size:.9rem}.search-suggestions{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#1e293bf2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:0;margin:0;list-style:none;z-index:1000;box-shadow:0 10px 40px #0000004d;overflow:hidden}.suggestion-item{padding:.875rem 1.25rem;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.05);color:var(--color-text-primary);transition:all var(--transition-base);display:flex;align-items:center;gap:.5rem}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:#2563eb1a;padding-left:1.5rem}.suggestion-item strong{color:var(--color-primary-light);min-width:80px}.suggestion-type{margin-left:auto;font-size:.8rem;color:var(--color-text-secondary);background:#ffffff0d;padding:.25rem .75rem;border-radius:12px}.recent-searches{margin:1.5rem auto 0;max-width:600px;text-align:center}.recent-searches-label{color:var(--color-text-secondary);font-size:.85rem;margin-bottom:.75rem;font-weight:500}.recent-searches-list{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;overflow-x:auto;padding:.25rem}.recent-search-button{padding:.5rem 1.25rem;background:#2563eb26;border:1px solid rgba(37,99,235,.3);border-radius:24px;color:var(--color-primary-light);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.recent-search-button:hover{background:#2563eb40;border-color:#2563eb80;transform:translateY(-2px);box-shadow:0 4px 12px #2563eb33}.recent-search-button:active{transform:translateY(0)}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-lg);align-items:start}.chart-section{background:#ffffff08;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:var(--spacing-md)}.chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.08);flex-wrap:wrap}.price-section{flex:1;min-width:200px}.current-price{font-size:2rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.25rem;font-family:Inter,sans-serif}.symbol-name{color:var(--color-text-secondary);font-size:.9rem}.hover-underline:hover{text-decoration:underline;text-underline-offset:2px}.shares-owned{color:var(--color-text-secondary);font-size:.85rem;font-weight:500;margin-top:.25rem}.change-section{flex:1;min-width:180px;text-align:center}.change-label{color:var(--color-text-secondary);font-size:.75rem;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.change-value{font-size:1.25rem;font-weight:600}.change-value.positive{color:#10b981}.change-value.negative{color:#ef4444}.high-low-section{display:flex;gap:1rem;margin-top:.5rem;font-size:.85rem;color:var(--color-text-secondary);justify-content:center}.high-value,.low-value{font-weight:500}.period-selector-wrapper{flex:1;min-width:280px;display:flex;justify-content:center}.period-selector-wrapper .period-selector-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.chart-content{margin-top:var(--spacing-md)}.chart-placeholder,.chart-error{height:320px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:1rem}.chart-error{color:#ef4444}.news-section{background:#ffffff08;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:var(--spacing-md);display:flex;flex-direction:column}.news-section h3{margin-bottom:var(--spacing-md);color:var(--color-text-primary);font-size:1.15rem;padding-bottom:var(--spacing-sm);border-bottom:1px solid rgba(255,255,255,.08)}.news-loading,.news-error,.news-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-secondary)}.news-error{color:#ef4444}.news-list{display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;max-height:360px;padding-right:.5rem}.news-list::-webkit-scrollbar{width:6px}.news-list::-webkit-scrollbar-track{background:#ffffff08;border-radius:10px}.news-list::-webkit-scrollbar-thumb{background:#2563eb4d;border-radius:10px}.news-list::-webkit-scrollbar-thumb:hover{background:#2563eb80}.news-article{padding:.75rem;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:12px;transition:all var(--transition-base);text-decoration:none;color:inherit;display:block}.news-article:hover{background:#ffffff0f;border-color:var(--color-primary-light);transform:translateY(-2px);box-shadow:0 8px 24px #0003}.research-news-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.news-article h4{margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-primary);line-height:1.3}.news-date{font-size:.8rem;color:var(--color-text-secondary);white-space:nowrap}.news-meta{display:flex;gap:1rem;align-items:center}.news-publisher{font-size:.85rem;color:var(--color-primary-light)}.empty-state{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);color:var(--color-text-secondary)}.empty-icon{font-size:4rem;margin-bottom:var(--spacing-md);opacity:.5}.empty-state p{font-size:1.1rem;max-width:500px;margin:0 auto}@media(max-width:768px){.research-container{max-width:100%;padding:var(--spacing-md)}.search-container{max-width:100%}.content-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.news-list{max-height:400px}.chart-header{flex-direction:column;align-items:flex-start;gap:1rem}.price-section,.change-section{min-width:100%;text-align:left}.period-selector-wrapper{width:100%;justify-content:flex-start}.current-price{font-size:1.75rem}.research-news-header{flex-direction:column;gap:.5rem}.news-date{align-self:flex-start}}.profile-page{padding:var(--spacing-xl);max-width:780px;margin:0 auto}.profile-header{text-align:center;margin-bottom:var(--spacing-xl);animation:fadeInUp .6s ease-out}.profile-header h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:var(--spacing-xs);background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.profile-header .subtitle{color:var(--color-text-secondary);font-size:1rem}.profile-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#fff;margin:0 auto var(--spacing-md);box-shadow:0 8px 24px -8px #2563eb80;letter-spacing:.02em}.profile-card{background:#ffffff08;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);animation:fadeInUp .6s ease-out}.profile-card-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.06)}.profile-card-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-card-icon.blue{background:linear-gradient(135deg,#1d4ed8,#2563eb)}.profile-card-icon.purple{background:linear-gradient(135deg,#6d28d9,#7c3aed)}.profile-card-title{font-size:1.15rem;font-weight:600;color:var(--color-text-primary);margin:0}.profile-card-subtitle{font-size:.825rem;color:var(--color-text-muted);margin:.15rem 0 0}.profile-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.profile-form .form-group{margin-bottom:var(--spacing-md)}.profile-form .form-group:last-of-type{margin-bottom:0}.profile-form label{display:block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.4rem}.profile-form input{width:100%;padding:.65rem .9rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.925rem;font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.profile-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb26}.profile-form input[readonly]{opacity:.5;cursor:not-allowed}.profile-username-row{display:flex;align-items:center;gap:var(--spacing-xs);padding:.65rem .9rem;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);font-size:.925rem;color:var(--color-text-secondary)}.profile-username-badge{font-size:.72rem;padding:.15rem .5rem;background:#6366f11f;border:1px solid rgba(99,102,241,.25);border-radius:99px;color:var(--color-primary-light);font-weight:600;letter-spacing:.03em;margin-left:auto}.profile-error{display:flex;align-items:center;gap:.4rem;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-sm);padding:.6rem .9rem;color:#f87171;font-size:.875rem;margin-bottom:var(--spacing-md)}.profile-success{display:flex;align-items:center;gap:.4rem;background:#10b98114;border:1px solid rgba(16,185,129,.25);border-radius:var(--radius-sm);padding:.6rem .9rem;color:#34d399;font-size:.875rem;margin-bottom:var(--spacing-md)}.profile-actions{display:flex;justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.06)}.password-hint{font-size:.775rem;color:var(--color-text-muted);margin-top:.35rem;line-height:1.5}@media(max-width:600px){.profile-page{padding:var(--spacing-md)}.profile-form-row{grid-template-columns:1fr}.profile-card{padding:var(--spacing-lg)}}[data-theme=light] .profile-card{background:var(--color-surface)!important;border-color:#0f172a14!important;box-shadow:0 4px 20px -2px #0f172a0d!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-theme=light] .profile-card-header{border-bottom-color:#0f172a14!important}[data-theme=light] .profile-actions{border-top-color:#0f172a14!important}[data-theme=light] .profile-form input{background:var(--color-surface)!important;border-color:#0f172a26!important;color:var(--color-text-primary)!important}[data-theme=light] .profile-username-row{background:#0f172a05!important;border-color:#0f172a14!important}[data-theme=light] .profile-card-title{color:var(--color-text-primary)!important}.watchlist-page{padding:var(--spacing-xl);max-width:1200px;margin:0 auto}.watchlist-header{text-align:center;margin-bottom:var(--spacing-xl);animation:fadeInUp .6s ease-out}.watchlist-header h1{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:var(--spacing-xs);background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.watchlist-header .subtitle{color:var(--color-text-secondary);font-size:1.05rem}.watchlist-search-container{position:relative;max-width:520px;margin:0 auto var(--spacing-xl);animation:fadeInUp .6s ease-out .1s backwards}.watchlist-search-bar{display:flex;align-items:center;gap:var(--spacing-xs);background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:.75rem 1rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.watchlist-search-bar:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb26}.watchlist-search-icon{color:var(--color-text-muted);flex-shrink:0}.watchlist-search-input{flex:1;background:transparent;border:none;outline:none;color:var(--color-text-primary);font-size:.95rem;font-family:inherit}.watchlist-search-input::placeholder{color:var(--color-text-muted)}.watchlist-suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--color-surface);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);overflow:hidden;max-height:280px;overflow-y:auto}.watchlist-suggestion-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);padding:.7rem 1rem;cursor:pointer;transition:background var(--transition-fast);border:none;width:100%;background:transparent;text-align:left;color:var(--color-text-primary);font-family:inherit;font-size:.9rem}.watchlist-suggestion-item:hover{background:#ffffff0f}.watchlist-suggestion-symbol{font-weight:700;color:var(--color-primary-light);min-width:56px}.watchlist-suggestion-name{flex:1;color:var(--color-text-secondary);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watchlist-suggestion-type{font-size:.72rem;padding:.15rem .5rem;border-radius:99px;font-weight:600;flex-shrink:0}.watchlist-suggestion-type.stock{background:#10b9811f;color:#34d399;border:1px solid rgba(16,185,129,.2)}.watchlist-suggestion-type.etf{background:#6366f11f;color:var(--color-primary-light);border:1px solid rgba(99,102,241,.2)}.watchlist-suggestion-item.already-added{opacity:.45;cursor:not-allowed}.watchlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-lg);animation:fadeInUp .5s ease-out .15s backwards}.watchlist-card{background:#ffffff08;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:.6rem;transition:all var(--transition-base);position:relative}.watchlist-card:hover{transform:translateY(-3px);border-color:#6366f14d;box-shadow:0 8px 28px -8px #2563eb33}.watchlist-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-xs)}.watchlist-card-symbol{font-size:1.4rem;font-weight:800;color:var(--color-text-primary);letter-spacing:-.02em;line-height:1}.watchlist-card-symbol.clickable-symbol{cursor:pointer;transition:color var(--transition-fast)}.watchlist-card-symbol.clickable-symbol:hover{color:var(--color-primary-light)}.watchlist-card-type{font-size:.7rem;font-weight:600;padding:.2rem .55rem;border-radius:99px;letter-spacing:.04em}.watchlist-card-type.stock{background:#10b9811f;color:#34d399;border:1px solid rgba(16,185,129,.2)}.watchlist-card-type.etf{background:#6366f11f;color:var(--color-primary-light);border:1px solid rgba(99,102,241,.2)}.watchlist-card-name{font-size:.825rem;color:var(--color-text-secondary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.watchlist-card-price-row{display:flex;align-items:baseline;gap:.5rem;margin-top:.25rem}.watchlist-card-price{font-size:1.6rem;font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em;line-height:1}.watchlist-card-change{font-size:.875rem;font-weight:600;padding:.15rem .45rem;border-radius:6px}.watchlist-card-change.positive{color:var(--color-positive);background:#10b9811a}.watchlist-card-change.negative{color:var(--color-negative);background:#ef44441a}.watchlist-card-change.neutral{color:var(--color-text-muted);background:#ffffff0d}.watchlist-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.05)}.watchlist-card-added{font-size:.75rem;color:var(--color-text-muted)}.watchlist-remove-btn{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:.3rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.watchlist-remove-btn:hover{background:#ef44441a;color:#f87171}.watchlist-skeleton{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-lg)}.watchlist-skeleton-card{height:175px;border-radius:16px;background:linear-gradient(90deg,#ffffff05 25%,#ffffff0d,#ffffff05 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border:1px solid rgba(255,255,255,.06)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.watchlist-price-loading{display:inline-block;width:80px;height:1.6rem;border-radius:6px;background:#ffffff0d;animation:skeleton-loading 1.5s infinite;background-size:200% 100%}.watchlist-empty{text-align:center;padding:var(--spacing-2xl) var(--spacing-xl);color:var(--color-text-secondary)}.watchlist-empty-icon{font-size:3.5rem;margin-bottom:var(--spacing-md);opacity:.5}.watchlist-empty h3{font-size:1.3rem;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.watchlist-empty p{font-size:.95rem;max-width:380px;margin:0 auto}.watchlist-add-error{max-width:520px;margin:-.75rem auto var(--spacing-md);display:flex;align-items:center;gap:.4rem;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-sm);padding:.55rem .9rem;color:#f87171;font-size:.875rem}@media(max-width:768px){.watchlist-page{padding:var(--spacing-md)}.watchlist-grid,.watchlist-skeleton{grid-template-columns:1fr 1fr}}@media(max-width:480px){.watchlist-grid,.watchlist-skeleton{grid-template-columns:1fr}}[data-theme=light] .watchlist-search-bar{background:var(--color-surface)!important;border-color:#0f172a26!important}[data-theme=light] .watchlist-suggestions{background:var(--color-surface)!important;border-color:#0f172a1a!important}[data-theme=light] .watchlist-suggestion-item:hover{background:#0f172a0a!important}[data-theme=light] .watchlist-card{background:var(--color-surface)!important;border-color:#0f172a14!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:0 4px 20px -2px #0f172a0d!important}[data-theme=light] .watchlist-card:hover{box-shadow:0 8px 28px -8px #2563eb1f!important}[data-theme=light] .watchlist-card-footer{border-top-color:#0f172a0f!important}[data-theme=light] .watchlist-card-change.neutral{background:#0f172a0d!important}[data-theme=light] .watchlist-skeleton-card{background:linear-gradient(90deg,#0f172a08 25%,#0f172a0f,#0f172a08 75%)!important;border-color:#0f172a0f!important}.app{min-height:100vh;position:relative;overflow:hidden}.hero{position:relative;min-height:75vh;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--spacing-lg);text-align:center}.hero-content{max-width:100%;animation:fadeInUp 1s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.greeting{font-size:1.25rem;color:var(--color-primary-light);margin-bottom:var(--spacing-sm);font-weight:500;letter-spacing:.05em;text-transform:uppercase;animation:fadeInUp 1s ease-out .2s backwards}.hero h1{font-size:clamp(2.5rem,8vw,3.5rem);background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-primary-light) 50%,var(--color-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fadeInUp 1s ease-out .4s backwards;line-height:1.2}.hero-subtitle{font-size:clamp(1.1rem,3vw,1.5rem);color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);line-height:1.6;animation:fadeInUp 1s ease-out .6s backwards;font-weight:400}.current-datetime{display:inline-block;padding:.5rem 1.5rem;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:50px;color:var(--color-primary-light);font-size:1.1rem;font-weight:500;letter-spacing:.05em;margin:var(--spacing-md) 0 var(--spacing-md);box-shadow:0 4px 15px #0000001a;animation:fadeInUp 1s ease-out .3s backwards;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important}.cta-buttons{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap;animation:fadeInUp 1s ease-out .8s backwards}.btn{padding:1rem 2rem;border-radius:12px;font-size:1.1rem;font-weight:600;transition:all var(--transition-base);position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:.5rem}.btn:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 100%);opacity:0;transition:opacity var(--transition-base)}.btn:hover:before{opacity:1}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;box-shadow:0 10px 30px -10px var(--color-primary)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 15px 40px -10px var(--color-primary)}.btn-secondary{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);color:var(--color-text-primary)}.btn-secondary:hover{background:#ffffff1a;border-color:var(--color-primary-light);transform:translateY(-2px)}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-primary-light);font-weight:500;margin-bottom:var(--spacing-sm);transition:all var(--transition-base);text-decoration:none}.back-link:hover{color:var(--color-primary);transform:translate(-4px)}.features{position:relative;z-index:1;padding:var(--spacing-2xl) var(--spacing-lg);max-width:100%;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.feature-card{background:#ffffff08;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:var(--spacing-xl);transition:all var(--transition-slow);position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);opacity:0;transition:opacity var(--transition-slow);z-index:-1}.feature-card:hover{transform:translateY(-8px);border-color:var(--color-primary-light);box-shadow:0 20px 60px -10px #2563eb4d}.feature-card:hover:before{opacity:.1}.feature-icon{font-size:3rem;margin-bottom:var(--spacing-md);display:inline-block;transition:transform var(--transition-base)}.feature-card:hover .feature-icon{transform:scale(1.1) rotate(5deg)}.feature-card h3{font-size:1.5rem;margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.feature-card p{color:var(--color-text-secondary);line-height:1.6}.market-indices{margin-top:var(--spacing-2xl);width:100%;animation:fadeInUp 1s ease-out 1s backwards}.indices-loading,.indices-error{color:var(--color-text-secondary);font-size:.95rem;opacity:.7;margin-top:var(--spacing-lg)}.indices-grid{display:flex;gap:var(--spacing-lg);justify-content:center;flex-wrap:wrap;padding:0 var(--spacing-md)}.index-card{background:#ffffff08;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.25rem 2rem;min-width:180px;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.index-card:hover{transform:translateY(-5px);background:#ffffff0f;border-color:#ffffff26;box-shadow:0 15px 30px -10px #0000004d}.index-card:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 100%);opacity:0;transition:opacity .3s ease}.index-card:hover:after{opacity:1}.index-name{color:var(--color-text-secondary);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}.index-price{color:var(--color-text-primary);font-size:1.5rem;font-weight:700;font-family:Inter,sans-serif;font-feature-settings:"tnum";margin-bottom:.25rem;text-shadow:0 2px 10px rgba(0,0,0,.2)}.index-change{font-size:.9rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:4px}.index-change.positive{color:#34d399;text-shadow:0 0 20px rgba(52,211,153,.2)}.index-change.negative{color:#f87171;text-shadow:0 0 20px rgba(248,113,113,.2)}@media(max-width:768px){.hero{padding:var(--spacing-md)}.cta-buttons{flex-direction:column;width:100%}.btn{width:100%;justify-content:center}.features{padding:var(--spacing-xl) var(--spacing-md)}}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke-opacity:.2}.recharts-legend-item{padding-top:20px!important}.navbar{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:var(--spacing-md) 0;background:#0f172a99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.05);transition:all .3s ease}.navbar-container{max-width:100%;margin:0 auto;padding:0 var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;width:100%}.nav-brand{flex:1;display:flex;align-items:center}.nav-spacer{flex:1;min-width:200px}.nav-links{display:flex;gap:var(--spacing-md);background:#ffffff08;padding:.5rem;border-radius:50px;border:1px solid rgba(255,255,255,.08)}.nav-link{color:var(--color-text-secondary);text-decoration:none;font-weight:500;padding:.5rem 1.5rem;border-radius:25px;transition:all .3s ease;font-size:.95rem;position:relative}.nav-link:hover{color:var(--color-text-primary);background:#ffffff0d}.nav-link.active{color:#fff;background:var(--color-primary);box-shadow:0 4px 12px #2563eb4d}.nav-auth-section{flex:1;min-width:200px;display:flex;align-items:center;justify-content:flex-end;gap:1rem}.nav-cash-display{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:#ffffff08;border-radius:.5rem;border:1px solid rgba(255,255,255,.08)}.nav-cash-label{font-size:.7rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.nav-cash-value{font-size:.9rem;font-weight:600;color:var(--color-text-primary)}.nav-add-cash-btn{padding:.2rem .5rem;font-size:.8rem;background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--color-text-secondary);border-radius:.25rem;cursor:pointer;transition:all .2s ease}.nav-add-cash-btn:hover{background:#ffffff0d;border-color:var(--color-primary-light);color:var(--color-text-primary)}.nav-user-name{color:var(--color-text-primary);font-weight:500;font-size:.9rem}.nav-user-profile-link{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;border-radius:var(--radius-sm);padding:.2rem .4rem;transition:background var(--transition-fast)}.nav-user-profile-link:hover{background:#ffffff0f}.nav-user-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.01em;flex-shrink:0}[data-theme=light] .nav-user-profile-link:hover{background:#0f172a0d}.nav-sign-out-btn{padding:.4rem .75rem;font-size:.8rem;background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.35rem}.nav-sign-out-btn:hover{border-color:var(--color-negative);color:var(--color-negative)}.nav-brand-link{display:flex;align-items:center;text-decoration:none;gap:.625rem;margin-right:1.5rem}.nav-logo{height:32px;width:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.nav-brand-name{font-size:1rem;font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em;white-space:nowrap}.nav-sign-in-btn{padding:.5rem 1.1rem;font-size:.875rem;font-weight:600;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);border:none;color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.4rem}.nav-sign-in-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #2563eb73}.nav-hamburger{display:none;align-items:center;justify-content:center;background:none;border:1px solid rgba(255,255,255,.12);color:var(--color-text-secondary);border-radius:var(--radius-sm);padding:.4rem .5rem;cursor:pointer;transition:all var(--transition-fast);margin-left:.5rem}.nav-hamburger:hover{background:#ffffff0f;border-color:var(--color-primary-light);color:var(--color-text-primary)}.nav-mobile-menu{display:flex;flex-direction:column;padding:.5rem var(--spacing-md) var(--spacing-sm);border-top:1px solid rgba(255,255,255,.05);gap:.25rem;animation:fadeInUp .15s ease-out}.nav-mobile-menu .nav-link{border-radius:var(--radius-sm);padding:.7rem 1rem;font-size:.95rem}@media(max-width:1300px){.nav-link{padding:.4rem .75rem;font-size:.85rem}.nav-links{gap:.2rem}.nav-cash-display{padding:.3rem .5rem}.nav-cash-value,.nav-user-name{font-size:.82rem}.nav-brand-name{font-size:.9rem}}@media(max-width:1024px){.nav-link{padding:.35rem .6rem;font-size:.8rem}.nav-links{gap:.15rem}}@media(max-width:768px){.nav-links{display:none}.nav-hamburger{display:flex}.nav-brand-name,.nav-cash-display{display:none}.nav-auth-section{min-width:auto}}.app{padding-top:var(--navbar-height)}.heatmap-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.1);border-top-color:#818cf8;border-radius:50%;animation:heatmap-spin .8s linear infinite}@keyframes heatmap-spin{to{transform:rotate(360deg)}}.demo-banner{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;background:linear-gradient(135deg,#f59e0b26,#d977061a);border:1px solid rgba(245,158,11,.35);border-radius:12px;padding:.75rem 1.25rem;margin:0 0 1.25rem;animation:fadeInUp .4s ease-out}.demo-banner-icon{font-size:1.1rem;flex-shrink:0}.demo-banner-text{flex:1;font-size:.9rem;color:#ffffffd9}.demo-banner-text strong{color:#fbbf24}.demo-banner-actions{display:flex;gap:.5rem;flex-shrink:0;flex-wrap:wrap}.demo-banner-btn{padding:.35rem .85rem;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.demo-banner-signin{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff}.demo-banner-signin:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2563eb66}.demo-banner-exit{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffffb3}.demo-banner-exit:hover{background:#ffffff1a;color:#ffffffe6}
