.dashboard-section{margin-bottom:40px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}.card{background:#fff;border-radius:14px;padding:24px;box-shadow:0 8px 20px #0000000d;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-3px)}.chart-card{padding:20px}.chart-title{margin-bottom:12px;font-weight:600}.portfolio-table-wrapper{width:100%;overflow-x:auto}.portfolio-table{width:100%;min-width:1100px;border-collapse:collapse}.dashboard-table-card{overflow:hidden;padding:24px}.dashboard-table-card .table-card{width:100%;margin-top:16px;margin-bottom:0;padding:0;background:transparent;border:0;box-shadow:none}.dashboard-table-card .table-wrap,.dashboard-table-card .portfolio-table-wrapper{width:100%;max-width:100%}.dashboard-table-card .table-total{margin-top:16px}.ml-analysis-table-card{overflow:hidden;padding:24px}.ml-analysis-table-card .section-head{margin-bottom:16px}.ml-analysis-table-card .table-wrap,.ml-analysis-table-card .portfolio-table-wrapper{width:100%;max-width:100%}.ml-analysis-table-card .portfolio-table{min-width:980px}.growth-section{padding:24px}.growth-head{margin-bottom:18px}.growth-chart-shell{border:1px solid #e2e8f0;border-radius:18px;padding:18px 18px 10px;background:linear-gradient(180deg,#fbfdff,#f8fafc)}.growth-stats-grid{margin-top:24px;gap:20px}.growth-stats-grid .stat-card{min-height:148px;display:flex;flex-direction:column;justify-content:space-between}.growth-stats-grid .stat-card h3{margin-top:10px;line-height:1.15}.bitcoin-stats-grid{gap:20px}.bitcoin-stats-grid .stat-card{min-height:0;padding:18px 20px}.bitcoin-stats-grid .stat-card h3{margin-top:8px;line-height:1.15;overflow-wrap:anywhere}@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.dashboard-table-card,.ml-analysis-table-card,.growth-section{padding:18px}.growth-chart-shell{padding:14px 14px 8px}}:root{--bg: #f4f6f8;--surface: #ffffff;--surface-soft: #f8fafc;--text: #0f172a;--muted: #64748b;--border: #dbe3ee;--primary: #1d4ed8;--primary-strong: #1e40af;--positive: #0f766e;--negative: #dc2626;--warning: #d97706;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}#root{min-height:100vh}.app-shell{width:min(1280px,calc(100% - 2rem));margin:0 auto;padding:0 0 2rem}.tv-card,.panel,.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:0 10px 30px #0f172a0f}.navbar{position:sticky;top:.75rem;z-index:40;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.85rem 1rem;margin-bottom:1.25rem;background:#fffffff0;border:1px solid var(--border);border-radius:18px;box-shadow:0 12px 24px #0f172a14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.navbar-brand{font-size:1.15rem;font-weight:700;letter-spacing:.02em;color:var(--primary-strong)}.navbar-links{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;align-items:center}.navbar-link{position:relative;display:inline-flex;justify-content:center;padding:.55rem .4rem;color:var(--muted);font-size:.95rem;font-weight:600}.navbar-link:after{content:"";position:absolute;left:18%;right:18%;bottom:.15rem;height:2px;border-radius:999px;background:var(--primary);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}.navbar-link:hover,.navbar-link.is-active{color:var(--primary-strong)}.navbar-link:hover:after,.navbar-link.is-active:after{transform:scaleX(1)}.navbar-actions{display:flex;justify-content:flex-end;gap:.75rem;align-items:center}.navbar-user{padding:.5rem .8rem;border-radius:999px;background:#eff6ff;color:var(--primary);font-size:.9rem;font-weight:600}.navbar-logout,.navbar-login,.primary-button{border:1px solid var(--primary);border-radius:14px;padding:.7rem 1rem;background:var(--primary);color:#fff;transition:transform .2s ease,background-color .2s ease,border-color .2s ease}.navbar-logout:hover,.navbar-login:hover,.primary-button:hover{background:var(--primary-strong);border-color:var(--primary-strong);transform:translateY(-1px)}.landing-shell{padding-top:1rem}.landing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:stretch}.landing-hero-banner{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1.5rem 1.8rem;margin-bottom:1.25rem}.landing-hero-banner .hero-copy{margin-top:.5rem}.landing-hero-button{margin-top:1rem}.ticker-panel,.market-card,.hero-panel,.builder-card,.summary-stack,.table-card,.chart-shell,.page-header,.auth-card{padding:1.4rem}.hero-panel{display:flex;flex-direction:column;justify-content:center;min-height:480px}.landing-middle-card{min-height:100%}.landing-middle-card h2{margin-bottom:.6rem}.market-overview-list,.market-signals-list{display:grid;gap:.75rem;margin-top:1rem}.market-overview-row,.market-signal-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem .95rem;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.market-overview-values{display:grid;justify-items:end;gap:.15rem}.hero-panel h1,.page-header h1,.auth-card h1{margin:0;font-size:clamp(2.2rem,5vw,4rem);line-height:1.05}.hero-copy{margin:.85rem 0 0;font-size:1.25rem;font-weight:600;color:#1e293b}.eyebrow,.stat-label,.card-label{margin:0 0 .35rem;color:var(--muted);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.section-copy,.subtitle,.hint-text,.empty-state{color:var(--muted);line-height:1.6}.section-head,.panel-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.pill,.currency-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.45rem .8rem;background:#e8f0ff;color:var(--primary);font-size:.82rem;font-weight:700}.ticker-list{display:grid;gap:.65rem;margin-top:1rem}.ticker-row{display:grid;grid-template-columns:1fr auto auto;gap:.8rem;align-items:center;padding:.8rem .9rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft);color:var(--text);transition:transform .2s ease,box-shadow .2s ease}.ticker-row:hover,.portfolio-card:hover,.feature-card:hover,.stat-card:hover,.home-feature-card:hover,.home-stat-card:hover,.compare-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #0f172a1a}.ticker-symbol{font-weight:700}.selected-stock-section{margin-top:1.25rem;padding:1.5rem}.selected-stock-panel{width:100%;text-align:left}.selected-stock-meta{display:grid;justify-items:end;gap:.2rem}.selected-stock-copy{max-width:640px;margin:.35rem 0 0}.selected-stock-price{font-size:1.25rem;font-weight:700}.landing-range-switch{margin-top:1rem}.landing-box-grid{align-items:stretch}.equal-height-card{height:100%;min-height:510px}.ticker-price{color:#1e293b}.ticker-change.positive,.profit{color:var(--positive)}.ticker-change.negative,.loss{color:var(--negative)}.page-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.5rem}.portfolio-hero-simple{position:relative;display:grid;gap:.8rem;margin-bottom:1.25rem;padding:.35rem 0 .2rem}.portfolio-hero-badge{justify-self:start;background:#dbeafe;color:#1d4ed8}.portfolio-hero-meta{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;color:#52667f;font-weight:600}.portfolio-hero-meta span{display:inline-flex;align-items:center;gap:.35rem}.portfolio-hero-meta span:before{content:"";width:6px;height:6px;border-radius:999px;background:#93c5fd}.portfolio-hero-copy{max-width:720px;margin:0;color:#52667f;font-size:1.05rem;line-height:1.7}.back-link.hero-back-link{display:inline-flex;align-items:center;justify-content:center;justify-self:start;padding:.78rem 1rem;border:1px solid #c9d8ef;border-radius:14px;background:#ffffffe6;color:#0f172a;font-weight:600;transition:transform .2s ease,background-color .2s ease,border-color .2s ease}.back-link.hero-back-link:hover{background:#fff;border-color:#9db8ea;transform:translateY(-1px)}.header-stats{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:.9rem}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.25rem;margin-bottom:1.25rem}.builder-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.builder-form-centered{grid-template-columns:minmax(0,520px);justify-content:center}.builder-form label,.auth-form label,.compact-select{display:grid;gap:.45rem}.builder-form span,.auth-form span,.compact-select span{color:#334155;font-size:.9rem;font-weight:600}input,select{width:100%;border:1px solid var(--border);border-radius:14px;padding:.82rem .9rem;background:#f8fafc;color:var(--text)}input:focus,select:focus{outline:none;border-color:#94a3b8;background:#fff}.sector-add-row{display:flex;align-items:center;gap:.6rem}.sector-add-row input{flex:1 1 auto;min-width:0}.stock-search-field,.search-wrap{position:relative}.suggestion-list{margin:.75rem 0 0;padding:0;list-style:none;display:grid;gap:.55rem}.suggestion-item{width:100%;display:grid;justify-items:start;gap:.2rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,#fbfdff,#fff);color:var(--text);text-align:left;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.suggestion-item span{font-weight:700}.suggestion-item small{color:var(--muted);font-size:.88rem}.suggestion-item:hover{transform:translateY(-1px);border-color:#bfd3f8;box-shadow:0 10px 22px #0f172a14}.suggestion-panel{position:absolute;left:0;right:0;top:calc(100% + .35rem);z-index:10;display:grid;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 18px 32px #0f172a1f}.suggestion-row{display:grid;justify-items:start;gap:.1rem;padding:.75rem .9rem;border:0;border-bottom:1px solid #eef2f7;background:#fff;color:var(--text)}.suggestion-row:last-child{border-bottom:0}.suggestion-row:hover{background:#eff6ff}.builder-actions{grid-column:1 / -1;display:flex;justify-content:space-between;gap:1rem;align-items:center}.builder-form-centered .builder-actions{justify-content:center}.summary-stack,.stats-grid{display:grid;gap:1rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1.25rem}.stat-card{padding:1.1rem 1.2rem;transition:transform .2s ease,box-shadow .2s ease}.stat-card h3{margin:0;font-size:1.45rem}.stat-hint{color:var(--muted);font-size:.88rem}.tone-positive{background:linear-gradient(180deg,#fff,#f0fdf7)}.tone-negative{background:linear-gradient(180deg,#fff,#fff1f2)}.table-card{margin-bottom:1.25rem}.table-wrap{overflow-x:auto}.portfolio-detail-table-wrap{margin-top:1rem;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#fbfdff,#fff);box-shadow:inset 0 1px #fffc}.portfolio-table{width:100%;border-collapse:collapse}.detail-table{min-width:980px}.portfolio-table th,.portfolio-table td{padding:.85rem .7rem;border-bottom:1px solid #eef2f7;text-align:left;white-space:nowrap}.portfolio-table th{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.portfolio-table tbody tr:hover,.is-selected{background:#f8fbff}.detail-table th{padding:1rem 1rem .9rem;background:#f8fbff;color:#48607d;font-size:.78rem;letter-spacing:.08em}.detail-table td{padding:1rem;vertical-align:middle}.detail-table tbody tr{transition:background-color .2s ease}.detail-table tbody tr:last-child td{border-bottom:0}.stock-primary-cell,.ticker-cell{font-weight:700;color:#0f172a}.remove-chip,.range-btn{border:1px solid var(--border);border-radius:12px;padding:.5rem .75rem;background:#fff;color:var(--text)}.remove-chip:hover,.range-btn:hover{background:#eff6ff;border-color:#bfd3f8}.table-actions{display:flex;gap:.5rem;align-items:center}.table-total{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;margin-top:1rem;border-top:1px solid #eef2f7;font-size:1rem}.portfolio-detail-card{padding:1.5rem;border-radius:24px;background:linear-gradient(180deg,#fff,#fcfdff)}.portfolio-detail-card .panel-head{align-items:center}.stocks-card,.risk-card{overflow:hidden}.risk-badge{display:inline-flex;align-items:center;padding:.38rem .7rem;border-radius:999px;font-size:.82rem;font-weight:700;white-space:nowrap}.risk-badge-low{background:#ecfdf5;color:#0f766e}.risk-badge-high{background:#fff1f2;color:#be123c}.risk-plot-wrap{margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#fbfdff,#f8fafc)}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-bottom:1.25rem}.chart-shell h3,.panel h2{margin:0}.chart-inner{margin-top:1rem;min-height:280px;height:auto}.sector-chart-wrapper{display:flex;flex-direction:column}.sector-legend{margin-top:.85rem;display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;width:100%}.sector-legend-item{display:flex;align-items:center;gap:.65rem;flex:1 1 180px;min-width:0;max-width:100%}.sector-legend-dot{width:12px;height:12px;border-radius:999px;flex-shrink:0}.sector-legend-name{flex:1 1 auto;min-width:0;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sector-legend-value{margin-left:auto;flex-shrink:0;font-weight:600;color:var(--muted)}.empty-state-card{border:1px dashed var(--border);border-radius:18px;padding:1.2rem;color:var(--muted);text-align:center;background:#fafcff}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.auth-card{width:min(440px,100%)}.auth-form{display:grid;gap:1rem;margin:1rem 0 .75rem}.compare-selectors{display:flex;gap:1rem;flex-wrap:wrap}.compact-select select{min-width:180px}.panel{padding:1.25rem;margin-bottom:1.25rem}.hero,.home-hero{margin-bottom:1.25rem}.kicker{margin:0 0 .35rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:700}h1{margin:0 0 .5rem;font-size:clamp(1.8rem,4vw,3.4rem)}h2{margin:0 0 .75rem;font-size:1.4rem}.summary-grid,.chart-grid,.card-grid,.metric-grid{display:grid;gap:1rem}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.portfolio-card{border:1px solid var(--border);border-radius:18px;padding:1rem;background:#fff;transition:transform .2s ease,box-shadow .2s ease}.metric-card{border:1px solid var(--border);border-radius:18px;padding:1rem;background:#fff}.metric-card p{margin:0;color:var(--muted)}.metric-card h3{margin:.4rem 0 0}.range-switch{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.range-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.chart-wrap{border:1px solid var(--border);border-radius:20px;padding:1.1rem 1rem .9rem;background:linear-gradient(180deg,#fbfdff,#f8fafc)}.price-chart{width:100%;height:340px}.price-chart-line{fill:none;stroke-width:3;stroke-linejoin:miter;stroke-linecap:butt}.chart-grid-line{stroke:#d5e1f0;stroke-dasharray:0}.chart-price-label,.chart-axis,.scatter-axis,.chart-time-label{fill:var(--muted);color:var(--muted);font-size:.82rem}.chart-time-label{font-size:.78rem}.chart-axis,.scatter-axis{display:flex;justify-content:space-between;margin-top:.85rem}.chart-latest-dot,.chart-hover-dot{fill:#f8fafc;stroke:var(--primary);stroke-width:2}.chart-axis-line{stroke:#cbd5e1;stroke-width:1.2}.chart-hover-line{stroke:#94a3b8;stroke-dasharray:5 4}.chart-tooltip-box{fill:#0f172a;fill-opacity:.95}.chart-tooltip-title{fill:#cbd5e1;font-size:11px}.chart-tooltip-value{fill:#f8fafc;font-size:12px;font-weight:700}.scatter-bg{fill:#f8fafc;stroke:#dbe3ee}.scatter-axis-line{stroke:#cbd5e1}.trend-line{stroke:var(--primary);stroke-width:2.2;stroke-dasharray:7 5}.risk-plot{width:100%;display:block;border-radius:16px}.error-text{color:var(--negative)}.success-text{color:var(--positive)}@media(max-width:1180px){.navbar-links{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-layout,.landing-grid,.analytics-grid{grid-template-columns:1fr}}@media(max-width:860px){.navbar{grid-template-columns:1fr}.navbar-links{grid-template-columns:repeat(2,minmax(0,1fr))}.navbar-actions{justify-content:center}.page-header,.section-head,.panel-head,.builder-actions{flex-direction:column;align-items:stretch}.selected-stock-meta{justify-items:start}.selected-stock-section{padding:1rem}.builder-form,.header-stats,.stats-grid{grid-template-columns:1fr}}@media(max-width:640px){.app-shell{width:min(100% - 1rem,1280px)}.ticker-panel,.hero-panel,.builder-card,.summary-stack,.table-card,.chart-shell,.page-header,.auth-card,.panel{padding:1rem}.navbar-links{grid-template-columns:1fr}.portfolio-hero-meta{flex-direction:column;align-items:flex-start}}
