:root{--primary-evergreen: #176A3A;--secondary-hop-green: #4CAF50;--accent-yellow: #F5C518;--background-dark: #121212;--neutral-dark: #2C2C2C;--neutral-gray: #B0B0B0;--text-light: #FFFFFF;--text-muted: #E0E0E0;--color-success: #4CAF50;--color-danger: #EF5350;--color-warning: #F5C518;--color-info: #4fc3f7;--color-founding: #a78bfa;--color-founding-hover: #8b5cf6;--background-color: #121212;--text-color: #FFFFFF;--app-header-color: #1a1a1a;--app-header-text-color: #FFFFFF;--banner-color: #176A3A;--banner-text-color: #FFFFFF;--stale-banner-bg: color-mix(in srgb, var(--color-warning) 15%, transparent);--stale-banner-border: var(--color-warning);--stale-banner-text: var(--color-warning);--card-background: #1E1E1E;--card-hover: #2C2C2C;--table-hover: #252525;--border-color: #333333;--surface-canvas: color-mix(in srgb, var(--background-color) 86%, var(--primary-evergreen) 14%);--surface-panel: color-mix(in srgb, var(--card-background) 92%, var(--primary-evergreen) 8%);--surface-panel-border: color-mix(in srgb, var(--border-color) 78%, var(--secondary-hop-green) 22%);--surface-panel-accent: var(--primary-evergreen);--surface-inset: color-mix(in srgb, var(--text-light) 5%, transparent);--projection-chart-main: var(--secondary-hop-green);--projection-chart-main-fill: color-mix(in srgb, var(--secondary-hop-green) 24%, transparent);--projection-chart-contrib: var(--accent-yellow);--projection-chart-contrib-fill: color-mix(in srgb, var(--accent-yellow) 18%, transparent);--space-1: .5rem;--space-2: .75rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--text-xs: .8rem;--text-sm: .9rem;--text-md: 1rem;--text-lg: 1.2rem;--text-xl: 1.5rem;--background-image: url(/assets/Botanical_background_dark-BBaXtFN5.png);--bg-image-opacity: .3;--card-shadow: none;--btn-active-text: #ffffff;--card-bg: #1E1E1E;--text-primary: #FFFFFF;--surface-elevated: #1E1E1E;--print-border: #000000;--heatmap-scale-gradient: linear-gradient(90deg, hsl(4, 76%, 40%), hsl(18, 70%, 45%), hsl(215, 14%, 38%), hsl(115, 58%, 42%), hsl(128, 72%, 34%));--surface-border-subtle: rgba(255, 255, 255, .04);--surface-border: rgba(255, 255, 255, .08);--surface-border-medium: rgba(255, 255, 255, .12);--surface-border-strong: rgba(255, 255, 255, .2);--surface-highlight: rgba(255, 255, 255, .05);--surface-highlight-hover: rgba(255, 255, 255, .06);--shadow-xs: rgba(0, 0, 0, .14);--shadow-sm: rgba(0, 0, 0, .2);--shadow-md: rgba(0, 0, 0, .35);--shadow-lg: rgba(0, 0, 0, .5);--shadow-xl: rgba(0, 0, 0, .75);--overlay-bg: rgba(0, 0, 0, .62);--danger-hover: #d32f2f;--success-hover: #45a049;--accent-hover: #e6b800;--auth-page-bg: radial-gradient(circle at top, #1b2735, #090a0f);--auth-card-bg: rgba(18, 18, 26, .96);--auth-input-bg: #020617;--auth-input-border: rgba(148, 163, 184, .5);--auth-text-primary: #e5e7eb;--auth-text-secondary: #9ca3af;--auth-text-hint: #6b7280;--auth-tab-inactive-text: #b0b0c3;--auth-tab-inactive-bg: #f5f5f5;--auth-tab-active-text: #f9fafb;--auth-password-toggle-bg: rgba(31, 41, 55, .9);--auth-error-text: #f97316;--auth-server-error-text: #f97373}[data-theme=light]{--background-color: #f5f1eb;--text-color: #1c1814;--text-primary: #1c1814;--text-light: #1c1814;--text-muted: #6b5f52;--neutral-gray: #9a8c7e;--neutral-dark: #ede8e1;--background-dark: #f5f1eb;--app-header-color: #faf8f4;--app-header-text-color: #1c1814;--stale-banner-bg: #efe0ad;--stale-banner-border: #c49000;--stale-banner-text: #8a6200;--card-background: #faf8f4;--card-bg: #faf8f4;--surface-elevated: #faf8f4;--card-hover: #f3ede4;--table-hover: #ede8e0;--border-color: #e4ddd4;--surface-canvas: color-mix(in srgb, var(--background-color) 90%, var(--primary-evergreen) 10%);--surface-panel: color-mix(in srgb, var(--card-background) 94%, var(--primary-evergreen) 6%);--surface-panel-border: color-mix(in srgb, var(--border-color) 84%, var(--primary-evergreen) 16%);--surface-panel-accent: var(--primary-evergreen);--surface-inset: color-mix(in srgb, var(--primary-evergreen) 7%, transparent);--background-image: url(/assets/Botanical_background_light-DNe1LJZz.png);--bg-image-opacity: .2;--card-shadow: 0 2px 12px rgba(90, 65, 40, .07), 0 1px 3px rgba(90, 65, 40, .05);--surface-border-subtle: rgba(80, 60, 40, .04);--surface-border: rgba(80, 60, 40, .08);--surface-border-medium: rgba(80, 60, 40, .12);--surface-border-strong: rgba(80, 60, 40, .18);--surface-highlight: rgba(80, 60, 40, .04);--surface-highlight-hover: rgba(80, 60, 40, .06);--shadow-xs: rgba(90, 65, 40, .05);--shadow-sm: rgba(90, 65, 40, .08);--shadow-md: rgba(90, 65, 40, .12);--shadow-lg: rgba(90, 65, 40, .18);--shadow-xl: rgba(90, 65, 40, .28);--overlay-bg: rgba(30, 20, 10, .45);--auth-page-bg: linear-gradient(135deg, #ece8df 0%, #f0ede6 100%);--auth-card-bg: rgba(250, 248, 244, .97);--auth-input-bg: #f3f0ea;--auth-input-border: rgba(100, 80, 60, .25);--auth-text-primary: #1c1814;--auth-text-secondary: #6b5f52;--auth-text-hint: #9a8c7e;--auth-tab-inactive-text: #9a8c7e;--auth-tab-inactive-bg: #ede8e1;--auth-tab-active-text: #ffffff;--auth-password-toggle-bg: rgba(245, 241, 235, .95);--auth-error-text: #c0392b;--auth-server-error-text: #c0392b}*{box-sizing:border-box}html,body,#root{width:100%;max-width:100%}body{position:relative;background-color:var(--background-color);color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0;overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-image:var(--background-image);background-size:cover;background-repeat:no-repeat;background-position:center;opacity:var(--bg-image-opacity, .3);z-index:-1;pointer-events:none}@media (max-width: 768px){body:before{opacity:.15}}.stock-list-table td.right,.positive,.negative,[data-numeric=true]{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}body .positive{color:var(--color-success, var(--secondary-hop-green))}body .negative{color:var(--color-danger)}input,select,textarea{padding:.75rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;transition:all .2s ease;background:var(--neutral-dark);color:var(--text-color)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--secondary-hop-green);box-shadow:0 0 0 3px color-mix(in srgb,var(--secondary-hop-green) 20%,transparent)}input::placeholder{color:var(--neutral-gray)}a:focus-visible,button:focus-visible{outline:3px solid var(--secondary-hop-green);outline-offset:2px}button{padding:.75rem 1.5rem;background:var(--primary-evergreen);color:var(--text-light);border:none;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}button:hover:not(:disabled){background:var(--secondary-hop-green);transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb,var(--secondary-hop-green) 40%,transparent)}button:active:not(:disabled){transform:translateY(0)}button:disabled{background:var(--neutral-dark);color:var(--neutral-gray);cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.75rem 1.5rem;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-color);font-size:.95rem;font-weight:600;line-height:1.15;white-space:nowrap;text-decoration:none;cursor:pointer;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.btn:hover:not(:disabled){transform:translateY(-1px);text-decoration:none}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled,.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn--primary{background:var(--secondary-hop-green);border-color:var(--secondary-hop-green);color:var(--text-light)}.btn--primary:hover:not(:disabled){background:var(--primary-evergreen);border-color:var(--primary-evergreen);box-shadow:0 6px 18px color-mix(in srgb,var(--secondary-hop-green) 35%,transparent)}.btn--secondary{background:var(--neutral-dark);color:var(--text-color);border-color:var(--border-color)}.btn--secondary:hover:not(:disabled){background:var(--card-hover);border-color:var(--secondary-hop-green)}.btn--secondary.is-active{background:linear-gradient(135deg,color-mix(in srgb,var(--secondary-hop-green) 28%,transparent),color-mix(in srgb,var(--primary-evergreen) 28%,transparent));border-color:var(--secondary-hop-green);color:var(--text-light);box-shadow:0 0 0 1px color-mix(in srgb,var(--secondary-hop-green) 18%,transparent) inset}.btn--subtle{background:transparent;color:var(--text-muted);border-color:var(--border-color)}.btn--subtle:hover:not(:disabled){background:var(--neutral-dark);border-color:var(--secondary-hop-green);color:var(--text-color)}.btn--ghost{background:transparent;color:var(--text-color);border-color:var(--border-color)}.btn--ghost:hover:not(:disabled){background:var(--neutral-dark);border-color:var(--secondary-hop-green);color:var(--secondary-hop-green)}.btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--text-light)}.btn--danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover);box-shadow:0 6px 18px color-mix(in srgb,var(--color-danger) 28%,transparent)}.btn--founding{background:var(--color-founding);border-color:var(--color-founding);color:var(--background-dark)}.btn--founding:hover:not(:disabled){background:var(--color-founding-hover);border-color:var(--color-founding-hover)}.btn--sm{min-height:36px;padding:.45rem .9rem;font-size:.82rem}.btn--pill{border-radius:999px;text-transform:uppercase;letter-spacing:.06em}.btn--full{width:100%}.btn--text{min-height:auto;padding:0;border:0;background:transparent;color:var(--secondary-hop-green);text-decoration:underline}.btn--text:hover:not(:disabled){background:transparent;color:var(--accent-yellow);box-shadow:none}.toggle-group,.agenda-view-toggle,.analytics-range-picker,.analytics-mode-toggle,.billing-period-toggle,.portfolio-tabs,.portfolio-metric-switch,.portfolio-compare-switch,.portfolio-chart-type-switch{display:inline-flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--border-color);border-radius:999px;background:var(--neutral-dark);flex-wrap:wrap}.toggle-chip,.agenda-toggle-btn,.analytics-toggle-btn,.billing-period-toggle .toggle-chip,.portfolio-tabs .toggle-chip,.portfolio-metric-switch button,.portfolio-compare-switch button,.portfolio-chart-type-switch button{border:0;background:transparent;color:var(--text-muted);padding:.45rem .85rem;border-radius:999px;font-weight:600;cursor:pointer;font-size:.85rem;transition:all .2s ease}.toggle-chip:hover,.agenda-toggle-btn:hover,.analytics-toggle-btn:hover,.portfolio-metric-switch button:not(.active):hover,.portfolio-compare-switch button:not(.active):hover,.portfolio-chart-type-switch button:not(.active):hover{color:var(--text-color);background:var(--surface-highlight-hover)}.toggle-chip.is-active,.agenda-toggle-btn.active,.analytics-toggle-btn.active,.portfolio-metric-switch button.active,.portfolio-compare-switch button.active,.portfolio-chart-type-switch button.active{color:var(--btn-active-text);background:linear-gradient(135deg,var(--secondary-hop-green),var(--primary-evergreen));box-shadow:0 6px 16px var(--shadow-sm)}.analytics-benchmark-selector{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.analytics-benchmark-chip{border:1px solid var(--border-color);background:transparent;color:var(--text-muted);padding:.3rem .7rem;border-radius:999px;font-weight:500;cursor:pointer;font-size:.78rem;transition:all .2s ease;white-space:nowrap}.analytics-benchmark-chip:hover:not(:disabled){color:var(--text-color);border-color:var(--text-muted)}.analytics-benchmark-chip.active{color:var(--btn-active-text);background:linear-gradient(135deg,var(--secondary-hop-green),var(--primary-evergreen));border-color:transparent;box-shadow:0 4px 10px var(--shadow-sm)}.analytics-benchmark-chip.disabled,.analytics-benchmark-chip:disabled{opacity:.4;cursor:not-allowed}.chip,.agenda-filter-chip,.dividends-chip{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--border-color);background:var(--neutral-dark);color:var(--text-muted);border-radius:999px;padding:.45rem .8rem;font-size:.85rem;font-weight:600}button.chip,.agenda-filter-chip,.dividends-chip{cursor:pointer}button.chip:hover:not(:disabled),.agenda-filter-chip:hover,.dividends-chip:hover{color:var(--text-color);border-color:var(--secondary-hop-green)}.chip--active,.agenda-filter-chip.active,.dividends-chip.active{color:var(--text-color);border-color:color-mix(in srgb,var(--secondary-hop-green) 45%,transparent);background:color-mix(in srgb,var(--secondary-hop-green) 12%,transparent)}.status-pill{display:inline-flex;align-items:center;padding:.4rem .7rem;border-radius:999px;border:1px solid var(--border-color);background:var(--surface-highlight);color:var(--text-muted);font-size:.78rem;font-weight:600}.status-pill--warning{background:color-mix(in srgb,var(--color-warning) 12%,transparent);border-color:color-mix(in srgb,var(--color-warning) 50%,var(--border-color));color:var(--color-warning)}.meta-text{color:var(--text-muted);font-size:.9rem;font-weight:600}.meta-text--subtle{color:var(--neutral-gray);font-size:.75rem;font-weight:400}.helper-text,.form-helper,.account-muted{font-size:var(--text-sm, .8rem);color:var(--text-muted);margin:0}.form-helper{font-size:var(--text-sm);color:var(--neutral-gray);margin-top:.35rem}.helper-text--danger,.account-error{font-size:.8rem;color:var(--color-danger);margin:0}.helper-text--success,.account-success{font-size:.8rem;color:var(--secondary-hop-green);margin:0}.app-header{background-color:var(--app-header-color);color:var(--app-header-text-color);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:15px 30px;box-shadow:0 2px 8px var(--shadow-lg);position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--border-color)}.logo{display:flex;align-items:center;gap:12px;color:inherit}.logo:focus{outline:none}.logo:focus-visible{outline:2px solid var(--primary-evergreen);outline-offset:4px;border-radius:4px}.logo h1{font-size:1.8rem;font-weight:700;margin:0;color:var(--secondary-hop-green);letter-spacing:-.5px}.title-short{display:none}.title-long{display:inline}.logo-icon{width:36px;height:36px;filter:brightness(1.2)}.header-left{display:flex;align-items:center;gap:10px;min-width:0}.header-portfolio-box{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--neutral-dark);min-width:170px}.header-portfolio-label{font-size:.7rem;color:var(--text-muted);line-height:1.1;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-portfolio-value{font-size:.95rem;color:var(--secondary-hop-green);line-height:1.2}.nav-links{display:flex;gap:2px;align-items:center}.nav-links--measure{position:fixed;top:0;left:-9999px;visibility:hidden;pointer-events:none;white-space:nowrap;flex-wrap:nowrap}.nav-toggle{display:none;align-items:center;gap:6px;background:var(--neutral-dark);border:1px solid var(--border-color);color:var(--text-color);padding:6px 12px;border-radius:8px;font-size:.85rem;cursor:pointer}.nav-links>.nav-link{color:var(--text-muted);text-decoration:none;font-size:.9rem;font-weight:500;padding:8px 10px;border-radius:8px;transition:all .2s ease;white-space:nowrap}.nav-links>.nav-link:hover,.nav-links>.nav-link.is-active{background-color:var(--neutral-dark);color:var(--secondary-hop-green)}.nav-links>.nav-action{margin-left:8px;padding:8px 16px;font-size:.9rem}.app-header.is-compact .nav-toggle{display:inline-flex;margin-left:auto}.app-header.is-compact .nav-links:not(.nav-links--measure){width:100%;display:none;flex-direction:column;align-items:stretch;gap:6px;padding:8px 0 0;border-top:1px solid var(--border-color)}.app-header.is-compact .nav-links.open:not(.nav-links--measure){display:flex}.app-header.is-compact .nav-links:not(.nav-links--measure)>.nav-link,.app-header.is-compact .nav-links:not(.nav-links--measure)>.nav-action,.app-header.is-compact .nav-links:not(.nav-links--measure)>.nav-control,.app-header.is-compact .nav-links:not(.nav-links--measure)>.language-switcher,.app-header.is-compact .nav-links:not(.nav-links--measure) .language-switcher__trigger{width:100%;white-space:normal}.app-header.is-compact .nav-links:not(.nav-links--measure)>.nav-action,.app-header.is-compact .nav-links:not(.nav-links--measure)>.nav-control{margin-left:0}.theme-toggle{background:transparent;border:1px solid var(--border-color);color:var(--text-muted);padding:6px 10px;border-radius:8px;font-size:1rem;line-height:1;cursor:pointer;transition:all .2s ease;margin-left:4px;transform:none}.theme-toggle:hover:not(:disabled){background:var(--neutral-dark);color:var(--secondary-hop-green);border-color:var(--secondary-hop-green);transform:none;box-shadow:none}.subscription-banner{width:100%;background:var(--banner-color);color:var(--banner-text-color);padding:12px 30px;display:flex;justify-content:center;align-items:center;text-align:center;gap:12px;font-size:.9rem;position:sticky;top:60px;left:0;right:0;z-index:999;border-bottom:1px solid color-mix(in srgb,var(--secondary-hop-green) 30%,transparent)}@media (max-width: 1200px){.title-long{display:none}.title-short{display:inline}.logo h1{font-size:1.4rem}.header-portfolio-box{min-width:140px;padding:6px 10px}.nav-links>.nav-link{padding:6px 10px;font-size:.85rem}.nav-links>.nav-action{padding:6px 10px;font-size:.85rem;margin-left:4px}.app-header{padding:12px 20px}}@media (max-width: 768px){.header-left{width:100%;justify-content:space-between;gap:8px}.header-portfolio-box{min-width:0;flex:1 1 auto;padding:6px 10px}.header-portfolio-label{font-size:.62rem}.header-portfolio-value{font-size:.85rem}.app-header{padding:12px 16px}.app-header.is-compact .nav-links>.nav-link{font-size:.9rem;padding:8px 12px}.logo h1{font-size:1.5rem;white-space:nowrap}.logo-icon{width:28px;height:28px}.subscription-banner{font-size:.85rem;padding:10px 20px}}.loading{text-align:center;padding:2rem;color:var(--text-muted);font-size:1rem}.loading:after{content:"...";animation:dots 1.5s steps(4,end) infinite}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.spinner{display:inline-block;width:40px;height:40px;border:4px solid color-mix(in srgb,var(--secondary-hop-green) 20%,transparent);border-top-color:var(--secondary-hop-green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;color:var(--text-muted)}.loading-spinner-text{font-size:.9rem;color:var(--neutral-gray);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.message{padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.5rem;font-weight:500;border-left:4px solid;display:flex;align-items:center;gap:8px}.message.success{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--secondary-hop-green);border-left-color:var(--secondary-hop-green)}.message.success:before{content:"✅";font-size:1rem}.message.error{background:color-mix(in srgb,var(--color-danger) 15%,transparent);color:var(--color-danger);border-left-color:var(--color-danger)}.message.error:before{content:"❌";font-size:1rem}.message.info{background:color-mix(in srgb,var(--color-info) 15%,transparent);color:var(--color-info);border-left-color:var(--color-info)}.message.info:before{content:"ℹ️";font-size:1rem}.stale-banner{background:var(--stale-banner-bg);border:1px solid var(--stale-banner-border);border-radius:6px;color:var(--stale-banner-text);font-size:.85rem;padding:.5rem 1rem;margin-bottom:1rem}@media (max-width: 768px){.card,.card-tech{padding:1.25rem}}.app-content{padding:20px;animation:pageSlideIn .3s ease-out;width:min(1600px,100%);max-width:1600px;margin:0 auto}.app-content:has(.portfolio-container){max-width:100%;width:100%;margin:0}@media (max-width: 1200px){.app-content{width:100%;max-width:none}.app-content:has(.portfolio-container){max-width:100%}}@media (max-width: 768px){.app-content{width:100%;max-width:100%;padding:120px 12px 12px}.app-content:has(.portfolio-container){width:100%;margin:0}}@keyframes pageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-root{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--auth-page-bg);padding:2rem}.auth-card{width:100%;max-width:420px;background:var(--auth-card-bg);border-radius:16px;padding:2.5rem 2.25rem;box-shadow:0 18px 40px var(--shadow-lg);border:1px solid var(--surface-border-subtle)}.auth-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.auth-tab{flex:1;padding:.6rem .75rem;border-radius:999px;border:none;font-weight:500;cursor:pointer;background:linear-gradient(135deg,var(--primary-evergreen),var(--secondary-hop-green));color:var(--auth-tab-active-text)}.auth-tab--inactive{background:transparent;border:1px solid var(--surface-border-medium);color:var(--auth-tab-inactive-text)}.auth-title{margin:0;font-size:1.5rem;font-weight:600;color:var(--auth-tab-active-text)}.auth-subtitle{margin:.4rem 0 1.6rem;font-size:.9rem;color:var(--auth-text-secondary)}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-label{display:flex;flex-direction:column;font-size:.85rem;color:var(--auth-text-primary);gap:.3rem}.auth-input{border-radius:10px;border:1px solid var(--auth-input-border);padding:.6rem .75rem;background:var(--auth-input-bg);color:var(--auth-text-primary);outline:none}.auth-input:focus{border-color:var(--secondary-hop-green);box-shadow:0 0 0 1px color-mix(in srgb,var(--secondary-hop-green) 40%,transparent)}.auth-button{margin-top:.6rem;width:100%;padding:.7rem .75rem;border-radius:999px;border:none;background:linear-gradient(135deg,var(--secondary-hop-green),var(--primary-evergreen));color:var(--auth-tab-active-text);font-weight:600;cursor:pointer}.auth-button:disabled{opacity:.6;cursor:default}.auth-error{font-size:.8rem;margin:0}.auth-error--field{color:var(--auth-error-text)}.auth-error--server{color:var(--auth-server-error-text)}.auth-switch{margin-top:1.5rem;font-size:.85rem;color:var(--auth-text-secondary);text-align:center}.auth-switch-link{background:none;border:none;padding:0;margin-left:.2rem;color:var(--secondary-hop-green);cursor:pointer;font-weight:500}.auth-footnote{margin-top:1rem;font-size:.7rem;color:var(--auth-text-hint);text-align:center}.auth-password-wrapper{display:flex;align-items:center;gap:.5rem}.auth-input--password{flex:1}.auth-show-toggle{border:none;background:var(--auth-password-toggle-bg);color:var(--auth-text-primary);font-size:.75rem;padding:.35rem .7rem;border-radius:999px;cursor:pointer}.auth-password-hint{margin-top:.35rem;display:block;font-size:.75rem;color:var(--auth-text-secondary)}.auth-checkbox{display:flex;align-items:flex-start;gap:.5rem;font-size:.8rem;color:var(--auth-text-secondary)}@media (max-width: 640px){.auth-root{padding:1rem}.auth-card{max-width:100%;padding:1.6rem 1rem}}.calendar-page{display:flex;flex-direction:column;gap:1.5rem}.calendar-wrapper{background:var(--card-background);border-radius:12px;border:1px solid var(--border-color);padding:1rem;box-shadow:var(--shadow-soft)}.agenda-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.agenda-toolbar-meta{display:flex;flex-direction:column;gap:.25rem}.agenda-event-count{font-weight:700;color:var(--text-color)}.agenda-event-range{color:var(--text-muted);font-size:.9rem}.agenda-filter-bar{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.agenda-filter-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.agenda-filter-title{font-weight:700;color:var(--text-color)}.agenda-filter-reset{border:0;background:transparent;color:var(--secondary-hop-green);font-weight:600;cursor:pointer;padding:0}.agenda-filter-reset:hover{color:var(--text-color)}.agenda-filter-chips{display:flex;flex-wrap:wrap;gap:.6rem}.agenda-filter-chip-dot{width:10px;height:10px;border-radius:999px;flex:0 0 auto}.agenda-list{background:var(--card-background);border-radius:12px;border:1px solid var(--border-color);padding:1rem 1.25rem;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:1.5rem}.agenda-month-group{display:flex;flex-direction:column;gap:0}.agenda-month-group--past{opacity:.55}.agenda-month-heading{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--secondary-hop-green);padding-bottom:.4rem;margin:0 0 .1rem;border-bottom:1px solid var(--border-color)}.agenda-month-group--past .agenda-month-heading{color:var(--text-muted)}.agenda-month-rows{display:flex;flex-direction:column}.agenda-row{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:.75rem;padding:.35rem .4rem;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:background .1s,border-color .1s}.agenda-row:hover,.agenda-row:focus-visible{background:var(--surface-highlight);border-color:var(--border-color);outline:none}.agenda-row-date{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;min-height:2rem;justify-content:center}.agenda-row-day{font-size:.95rem;font-weight:700;color:var(--text-color)}.agenda-row-weekday{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.agenda-row-main{display:flex;align-items:center;gap:.5rem;min-width:0}.agenda-row-company{font-size:.9rem;font-weight:600;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}.agenda-row-type-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.15em .55em;border-radius:999px;font-size:.7rem;font-weight:700;color:#fff;white-space:nowrap;flex-shrink:0}.agenda-row-period{opacity:.75;font-size:.65rem}.agenda-row-snippet{font-size:.78rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0;margin-left:auto}.agenda-row-logo{width:20px;height:20px;border-radius:5px;flex-shrink:0}.agenda-empty-filtered{padding:2rem 1rem;text-align:center;color:var(--text-muted);font-size:.95rem}.agenda-list-period{display:inline-block;margin-left:.45rem;padding:.1em .45em;border-radius:4px;font-size:.72rem;font-weight:700;letter-spacing:.04em;background:var(--surface-border-medium);color:var(--text-muted);vertical-align:middle}.event-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;padding:1rem;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.event-modal{background:var(--card-background);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 24px 60px var(--shadow-lg);width:100%;max-width:440px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;outline:none}.event-modal-header{padding:1.25rem 1.25rem 1rem;border-top:4px solid var(--secondary-hop-green);border-radius:16px 16px 0 0;display:flex;flex-direction:column;gap:.85rem;position:relative}.event-modal-identity{display:flex;align-items:center;gap:.85rem;padding-right:2rem}.event-modal-avatar-wrap{flex:0 0 auto}.event-modal-logo{width:44px;height:44px;border-radius:10px;object-fit:contain;background:var(--surface-border-subtle)}.event-modal-avatar{width:44px;height:44px;border-radius:10px;background:var(--primary-evergreen);color:#fff;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center}.event-modal-identity-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.event-modal-company{margin:0;font-size:1.05rem;font-weight:700;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-modal-symbol{font-size:.8rem;color:var(--text-muted);font-weight:500}.event-modal-badges{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.event-modal-type-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3em .75em;border-radius:999px;font-size:.8rem;font-weight:700;color:#fff}.event-modal-period-badge{display:inline-block;padding:.1em .4em;border-radius:4px;background:var(--surface-border-strong);font-size:.72rem;font-weight:800;letter-spacing:.04em}.event-modal-status-badge{padding:.25em .6em;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--surface-border);color:var(--text-muted)}.event-modal-status-scheduled{color:var(--color-info)}.event-modal-status-reported,.event-modal-status-executed{color:var(--color-success)}.event-modal-status-priced{color:var(--color-warning)}.event-modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--text-muted);font-size:1rem;cursor:pointer;line-height:1;padding:.25rem;border-radius:4px}.event-modal-close:hover{color:var(--text-color)}.event-modal-body{padding:1rem 1.25rem 1.5rem;display:flex;flex-direction:column;gap:.6rem;border-top:1px solid var(--border-color)}.event-modal-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.92rem}.event-modal-label{color:var(--text-muted);flex:0 0 auto}.event-modal-value{color:var(--text-color);font-weight:600;text-align:right}.fc .fc-toolbar-title,.fc .fc-daygrid-day-number{color:var(--text-light)}.fc .fc-event{border:none;border-radius:6px;font-size:.8rem;cursor:pointer}.fc .fc-event:hover{filter:brightness(1.15)}.fc-event-custom{display:flex;align-items:center;gap:5px;padding:2px 5px;overflow:hidden}.fc-event-logo{width:16px;height:16px;border-radius:3px;object-fit:contain;flex-shrink:0;background:var(--surface-border);padding:1px}.fc-event-logo-fallback{width:16px;height:16px;border-radius:3px;font-size:.55rem;font-weight:700;flex-shrink:0;background:var(--surface-border-medium);color:#fff;display:inline-flex;align-items:center;justify-content:center}.fc-event-name{font-size:.75rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.fc-event-period{font-size:.65rem;font-weight:700;color:#ffffffd9;background:#0000002e;border-radius:3px;padding:0 3px;flex-shrink:0}@media (max-width: 768px){.agenda-filter-header{align-items:flex-start;flex-direction:column}.agenda-row-company{font-size:.85rem}}.networth-container{background:transparent;color:var(--text-color);min-height:100vh;padding:20px;display:flex;flex-direction:column;align-items:center}.networth-title{font-size:2.5rem;font-weight:700;color:var(--text-color);margin-bottom:30px;text-align:center;letter-spacing:-1px}.add-item-launch-row{width:100%;display:flex;justify-content:flex-end;margin-bottom:16px}.nw-stat-strip{display:flex;align-items:center;gap:0;padding:1.25rem 1.5rem;margin-bottom:1.5rem}.nw-stat-item{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.networth-container .nw-stat-strip .nw-stat-item{border:0;border-radius:0;background:transparent;box-shadow:none;padding:0}.networth-container .nw-stat-strip .nw-stat-item:before{content:none}.nw-stat-label{font-size:var(--text-sm, .8rem);color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.nw-stat-value{font-size:1.6rem;font-weight:700;font-family:ui-monospace,SF Mono,Menlo,monospace;white-space:nowrap}.nw-stat-divider{width:1px;height:2.5rem;background:var(--border-color);margin:0 1.5rem;flex-shrink:0}.nw-stat-actions{display:flex;justify-content:flex-end;align-items:center;flex-shrink:0}.table-group-header td{background:var(--neutral-dark);color:var(--text-muted);font-size:var(--text-sm, .8rem);font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:8px 12px;border-bottom:1px solid var(--border-color)}.table-group-header:hover{background:var(--neutral-dark)!important}.nw-advanced-toggle{background:none;border:none;color:var(--text-muted);font-size:var(--text-sm, .8rem);cursor:pointer;padding:.5rem 0;margin-top:.75rem;display:block;text-align:left}.nw-advanced-toggle:hover{color:var(--text-light)}.balance-sheet-container{display:flex;gap:20px;width:100%;max-width:100%}.balance-sheet-column{flex:1;background:var(--card-background);border-radius:12px;padding:24px;border:1px solid var(--border-color)}.balance-sheet-column h2{color:var(--secondary-hop-green);margin-bottom:20px;text-align:center;font-weight:700;font-size:1.4rem}.balance-sheet-table{width:100%;border-collapse:collapse;color:var(--text-color)}.balance-sheet-table th{text-align:left;padding:12px;background:var(--neutral-dark);color:var(--text-muted);font-size:.9rem;font-weight:700;border-bottom:2px solid var(--border-color);position:sticky;top:0;z-index:1}.balance-sheet-table td{padding:12px;border-bottom:1px solid var(--border-color);font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace}.balance-sheet-table tr:hover{background:var(--table-hover)}.balance-sheet-table td.positive{color:var(--secondary-hop-green);font-weight:600}.balance-sheet-table td.negative{color:var(--color-danger);font-weight:600}.balance-sheet-table tfoot td{font-size:1.1rem;font-weight:700;background:var(--neutral-dark);padding:16px 12px}.networth-summary{margin-top:30px;text-align:center;padding:20px;background:var(--card-background);border-radius:12px;border:1px solid var(--border-color)}.networth-summary h2{font-size:1.5rem;font-weight:700;margin-bottom:10px}.networth-summary .positive{color:var(--secondary-hop-green)}.networth-summary .negative{color:var(--color-danger)}@media (max-width: 768px){.networth-container{padding:15px}.networth-title{font-size:2rem}.nw-stat-strip{flex-direction:column;align-items:flex-start;gap:1rem}.nw-stat-divider{width:100%;height:1px;margin:0}.nw-stat-actions{width:100%}.nw-stat-actions .btn{width:100%;justify-content:center}.nw-stat-value{font-size:1.3rem}.balance-sheet-container{flex-direction:column}.balance-sheet-column{margin-bottom:20px}}.dividends-container{background:transparent;color:var(--text-color);min-height:100vh;padding:20px;display:flex;flex-direction:column;align-items:center}.dividends-title{font-size:2.5rem;font-weight:700;color:var(--text-color);margin-bottom:20px;letter-spacing:-1px}.dividends-toolbar{width:100%;display:grid;grid-template-columns:minmax(260px,1fr) 2fr auto;gap:10px;margin-bottom:10px}.dividends-search,.dividends-sort{background:var(--card-background);color:var(--text-color);border:1px solid var(--border-color);border-radius:10px;padding:10px 12px}.dividends-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.dividends-context-strip{width:100%;display:flex;gap:14px;flex-wrap:wrap;color:var(--text-muted);margin-bottom:12px}.dividends-income-summary{background:var(--card-background);border:1px solid var(--border-color);border-radius:10px;padding:14px 16px;margin-bottom:16px}.dividends-income-notice{font-size:.82rem;color:var(--text-muted);margin:0 0 10px}.dividends-income-rows{display:flex;flex-direction:column;gap:6px}.dividends-income-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.dividends-income-row--muted{color:var(--text-muted);font-size:.83rem}.dividends-income-label{color:var(--text-secondary)}.dividends-income-value{font-variant-numeric:tabular-nums}.dividend-source-badge{display:inline-block;font-size:.72rem;padding:1px 6px;border-radius:4px;margin-top:2px;font-weight:500;letter-spacing:.01em}.dividend-source-badge--actual_uploaded{background:#22c55e1f;color:#16a34a}.dividend-source-badge--actual_manual{background:#3b82f61f;color:#2563eb}.dividend-source-badge--provider_projected{background:#a855f71f;color:#7c3aed}.dividend-source-badge--provider_historical{background:#94a3b81f;color:var(--text-muted)}.dividends-empty{color:var(--text-muted);text-align:center;padding:16px}.dividends-table-container{width:100%;max-width:100%;overflow-x:auto}.dividends-table{width:100%;border-collapse:collapse;background:var(--card-background);border-radius:12px;border:1px solid var(--border-color);color:var(--text-color)}.dividends-table th{text-align:left;padding:14px;background:var(--neutral-dark);color:var(--text-muted);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color);position:sticky;top:0;z-index:1}.dividends-table td{padding:14px;border-bottom:1px solid var(--border-color)}.dividends-table .amount-col{text-align:right;font-variant-numeric:tabular-nums}.dividends-table tr:hover{background:var(--table-hover)}.company-logo{width:32px;height:32px;margin-right:10px;border-radius:50%;vertical-align:middle;flex-shrink:0;object-fit:contain;background:var(--surface-border);padding:2px}.dividends-table tfoot td{font-size:1.1rem;font-weight:700;background:var(--neutral-dark);text-align:right;padding:16px}.stock-cell{display:flex;align-items:center;gap:10px}.stock-meta{display:flex;flex-direction:column;min-width:0}.stock-name{font-weight:600;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}.stock-symbol{font-size:.78rem;color:var(--text-muted)}.dividends-group-row td{background:var(--surface-border-subtle);padding:8px 10px}.dividends-group-row:hover{background:transparent}.dividends-group-toggle{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:var(--text-muted);cursor:pointer;padding:2px 0;text-align:left}.dividends-group-count{margin-left:auto;border:1px solid var(--border-color);border-radius:999px;font-size:.75rem;padding:1px 8px}@media (max-width: 1100px){.dividends-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.dividends-chips{grid-column:1 / -1}}@media (max-width: 768px){.dividends-container{padding:15px}.dividends-title{font-size:2rem}.dividends-table{font-size:.85rem}.dividends-table td img.company-logo{width:24px;height:24px}.dividends-table th,.dividends-table td{padding:10px}}.landing-data-scale{position:relative;padding-bottom:30px}.landing-data-grid{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:16px}.landing-data-grid:before{content:"";position:absolute;left:8%;right:8%;top:30px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--secondary-hop-green) 40%,var(--border-color)),transparent);z-index:0}.landing-data-card{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;text-align:center}.landing-data-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:color-mix(in srgb,var(--secondary-hop-green) 12%,transparent);color:var(--secondary-hop-green)}.landing-data-icon svg{width:16px;height:16px}.landing-data-value{font-size:1.15rem;font-weight:700;color:var(--text-color);letter-spacing:-.01em}.landing-data-label{font-size:.78rem;color:var(--text-muted);line-height:1.35}.landing-data-note{margin:14px auto 0;max-width:720px;font-size:.85rem;color:var(--text-muted);line-height:1.55}.landing-data-freshness{margin:10px auto 0;max-width:720px;display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--secondary-hop-green)}.landing-data-freshness-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px}.landing-data-freshness-icon svg{width:14px;height:14px}@media (max-width: 960px){.landing-data-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-data-grid:before{display:none}}@media (max-width: 540px){.landing-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.pricing-card-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--secondary-hop-green);color:var(--text-light);font-size:.7rem;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:.04em;white-space:nowrap;box-shadow:0 6px 16px color-mix(in srgb,var(--secondary-hop-green) 45%,transparent)}.pricing-card-highlight:before{display:none}.pricing-price-note{margin:2px 0 0;font-size:.78rem;color:var(--neutral-gray)}.pricing-trial-line{margin:10px 0 0;font-size:.78rem;color:var(--secondary-hop-green);font-weight:600}.pricing-cta-note{margin:4px 0 0;font-size:.72rem;color:var(--neutral-gray)}.pricing-list-item .pricing-check{width:18px;height:18px}.pricing-list-item .pricing-check svg{width:11px;height:11px}.pricing-matrix{margin-top:28px;border:1px solid var(--border-color);border-radius:14px;background:var(--card-bg);overflow:hidden}.pricing-matrix-title{margin:0;padding:12px 16px;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--neutral-gray);border-bottom:1px solid var(--border-color);background:color-mix(in srgb,var(--secondary-hop-green) 4%,transparent)}.pricing-matrix-table{display:flex;flex-direction:column}.pricing-matrix-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);align-items:center;padding:10px 16px;border-bottom:1px solid var(--border-color);font-size:.88rem}.pricing-matrix-row:last-child{border-bottom:none}.pricing-matrix-row-head{font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--neutral-gray);background:color-mix(in srgb,var(--secondary-hop-green) 4%,transparent)}.pricing-matrix-row>span:nth-child(2),.pricing-matrix-row>span:nth-child(3){display:flex;justify-content:center}.pricing-matrix-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px}.pricing-matrix-icon svg{width:14px;height:14px}.pricing-matrix-icon-yes{background:color-mix(in srgb,var(--secondary-hop-green) 16%,transparent);color:var(--secondary-hop-green)}.pricing-matrix-icon-no{background:color-mix(in srgb,var(--neutral-gray) 14%,transparent);color:var(--neutral-gray)}.pricing-matrix-icon-na{background:transparent;color:var(--neutral-gray)}.pricing-matrix-text{font-size:.76rem;line-height:1.35;color:var(--text-muted);text-align:center}@media (max-width: 540px){.pricing-matrix-row{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);padding:10px 12px;font-size:.82rem}}.landing-feature-icon-badge svg{width:18px;height:18px}@media (max-width: 768px){.landing-flow-scenario{margin-top:16px}}.landing-broker-row-head>span:nth-child(2),.landing-broker-row-head>span:nth-child(3),.pricing-matrix-row-head>span:nth-child(2),.pricing-matrix-row-head>span:nth-child(3){text-align:center}.pricing-grid-2{grid-template-columns:minmax(0,360px) minmax(0,360px);justify-content:center}@media (max-width: 880px){.pricing-grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (max-width: 640px){.pricing-grid-2{grid-template-columns:minmax(0,1fr)}}.pricing-card{align-self:stretch}.pricing-card-highlight{overflow:visible}.landing-trust-strip{padding:22px 32px}.landing-trust-row{gap:14px 32px}.landing-preview-card{display:flex;flex-direction:column}.landing-preview-body,.landing-preview-state{flex:1;display:flex;flex-direction:column}@media (min-width: 961px){.landing-preview-chart{height:130px}}@media (max-width: 380px){.landing-data-grid{grid-template-columns:minmax(0,1fr)}}.landing-feature-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.landing-feature-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--secondary-hop-green) 35%,var(--border-color));box-shadow:0 14px 28px color-mix(in srgb,var(--secondary-hop-green) 12%,transparent)}.landing-spreadsheet-card,.landing-data-card{transition:transform .18s ease,border-color .18s ease}.landing-spreadsheet-card:hover,.landing-data-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--secondary-hop-green) 35%,var(--border-color))}.pricing-trial-line,.pricing-cta-note{text-align:center}.landing-cta-note{margin:-8px 0 16px;font-size:.78rem;color:var(--neutral-gray);letter-spacing:.02em}.landing-preview-tabs{display:flex;gap:6px;margin-bottom:10px}.landing-preview-tab{flex:1;border:1px solid var(--border-color);background:transparent;color:var(--text-muted);padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:600;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.landing-preview-tab:hover{color:var(--text-color);border-color:color-mix(in srgb,var(--secondary-hop-green) 38%,var(--border-color))}.landing-preview-tab-active{background:color-mix(in srgb,var(--secondary-hop-green) 16%,transparent);border-color:color-mix(in srgb,var(--secondary-hop-green) 55%,var(--border-color));color:var(--text-color)}.landing-preview-chart-line{stroke:var(--secondary-hop-green)}.landing-preview-chart-bench{stroke:var(--neutral-gray);opacity:.7}.landing-preview-networth-rows{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin-top:8px;font-size:.85rem}.landing-preview-networth-row{display:flex;justify-content:space-between;padding:5px 8px;border-radius:8px;background:color-mix(in srgb,var(--secondary-hop-green) 8%,transparent)}.landing-preview-networth-row-liab{background:color-mix(in srgb,var(--color-danger, #d8584b) 10%,transparent)}.landing-preview-chip-port{background:color-mix(in srgb,var(--secondary-hop-green) 14%,transparent);border-color:color-mix(in srgb,var(--secondary-hop-green) 50%,var(--border-color))}.landing-preview-dots{display:flex;justify-content:center;gap:6px;margin-top:10px}.landing-preview-dot{width:6px;height:6px;border-radius:999px;background:var(--border-color);transition:background .2s ease,transform .2s ease}.landing-preview-dot-active{background:var(--secondary-hop-green);transform:scale(1.2)}.landing-feature-icon-control{background:color-mix(in srgb,var(--secondary-hop-green) 14%,transparent);border-color:color-mix(in srgb,var(--secondary-hop-green) 45%,var(--border-color));color:var(--secondary-hop-green)}.landing-feature-icon-analytics{background:color-mix(in srgb,#6c8aff 14%,transparent);border-color:color-mix(in srgb,#6c8aff 45%,var(--border-color));color:#6c8aff}.landing-feature-icon-networth{background:color-mix(in srgb,#f0a85c 14%,transparent);border-color:color-mix(in srgb,#f0a85c 45%,var(--border-color));color:#f0a85c}.landing-feature-icon svg{display:block}.landing-feature-proof{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.5}.landing-feature-bullets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.landing-feature-bullets li{display:flex;align-items:flex-start;gap:8px;font-size:.85rem;color:var(--text-color);line-height:1.4}.landing-feature-bullet-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;background:color-mix(in srgb,var(--secondary-hop-green) 18%,transparent);color:var(--secondary-hop-green);flex-shrink:0;margin-top:2px}.landing-feature-bullet-icon svg{width:11px;height:11px}.landing-feature-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;padding-top:10px;border-top:1px dashed var(--border-color)}.landing-feature-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:.72rem;color:var(--text-muted);background:color-mix(in srgb,var(--surface-highlight) 60%,transparent);border:1px solid var(--border-color)}.landing-spreadsheet-header{margin-bottom:14px}.landing-spreadsheet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.landing-spreadsheet-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,var(--secondary-hop-green) 12%,transparent);color:var(--secondary-hop-green);flex-shrink:0}.landing-flow-card-head,.landing-flow-hub-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.landing-flow-hub-head .landing-flow-column-title{margin:0}.landing-flow-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--secondary-hop-green) 12%,transparent);color:var(--secondary-hop-green);flex-shrink:0}.landing-flow-output .landing-flow-icon{margin-bottom:8px}.landing-flow-broker-support{margin-top:10px;display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--secondary-hop-green);background:color-mix(in srgb,var(--secondary-hop-green) 10%,transparent);border:1px solid color-mix(in srgb,var(--secondary-hop-green) 35%,var(--border-color));padding:4px 10px;border-radius:999px}.landing-flow-broker-icon{width:14px;height:14px}.landing-flow-broker-icon svg{width:12px;height:12px}.landing-flow-scenario-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--secondary-hop-green);font-weight:700}.landing-broker-table{margin-top:14px;border:1px solid var(--border-color);border-radius:12px;overflow:hidden;background:var(--card-bg)}.landing-broker-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color);font-size:.9rem}.landing-broker-row:last-child{border-bottom:none}.landing-broker-cell{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;margin-left:auto;margin-right:auto}.landing-broker-cell.is-yes{color:var(--secondary-hop-green);background:color-mix(in srgb,var(--secondary-hop-green) 14%,transparent)}.landing-broker-cell.is-no{color:var(--neutral-gray);background:color-mix(in srgb,var(--neutral-gray) 14%,transparent)}.landing-broker-cell svg{width:16px;height:16px}.landing-competitor-table-wrap{margin-top:14px;overflow-x:auto;-webkit-overflow-scrolling:touch}.landing-competitor-table{min-width:820px;border:1px solid var(--border-color);border-radius:12px;overflow:hidden;background:var(--card-bg)}.landing-competitor-row{display:grid;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(120px,1fr));align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color);font-size:.89rem}.landing-competitor-row:last-child{border-bottom:none}.landing-competitor-row-head{background:color-mix(in srgb,var(--secondary-hop-green) 6%,transparent);font-weight:600;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--neutral-gray)}.landing-competitor-row>span:not(:first-child){display:flex;justify-content:center}.landing-competitor-note{margin:10px 0 0;font-size:.78rem;color:var(--text-muted)}.landing-trust-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:color-mix(in srgb,var(--secondary-hop-green) 12%,transparent);color:var(--secondary-hop-green);flex-shrink:0}.landing-trust-icon svg{width:14px;height:14px}.landing-trust-privacy{margin:6px 0 0;font-size:.82rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:8px}@media (max-width: 960px){.landing-spreadsheet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 540px){.landing-spreadsheet-grid{grid-template-columns:minmax(0,1fr)}.landing-broker-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);padding:10px;font-size:.8rem}.landing-competitor-table{min-width:740px}.landing-competitor-row{padding:10px 12px;font-size:.83rem}.landing-competitor-row-head{font-size:.65rem;letter-spacing:.04em}}.landing-feature-card h4{margin:0;font-size:1rem}.landing-trust-strip{flex-direction:column;align-items:center;gap:10px}.landing-trust-item{display:inline-flex;align-items:center;gap:8px}.landing-preview-state{animation:landing-preview-fade .36s ease-out}.landing-preview-chart{width:100%;height:110px;margin:10px 0 4px;color:var(--secondary-hop-green)}.landing-feature-card{display:flex;flex-direction:column;gap:10px;padding:18px;position:relative;overflow:hidden}.landing-feature-icon-badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--border-color);background:color-mix(in srgb,var(--secondary-hop-green) 12%,transparent);color:var(--secondary-hop-green);margin-bottom:2px}.landing-spreadsheet-card{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;font-size:.88rem;color:var(--text-color)}.landing-flow-scenario{margin-top:22px;padding:14px 18px;border-radius:12px;background:color-mix(in srgb,var(--secondary-hop-green) 7%,transparent);border:1px solid color-mix(in srgb,var(--secondary-hop-green) 28%,var(--border-color));display:flex;flex-direction:column;gap:4px}.landing-flow-scenario p{margin:0;font-size:.92rem;color:var(--text-color);line-height:1.5}.landing-broker-row-head{background:color-mix(in srgb,var(--secondary-hop-green) 6%,transparent);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--neutral-gray)}.landing-trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;width:100%}@media (max-width: 540px){.landing-broker-row-head{font-size:.66rem;letter-spacing:.04em}}@keyframes landing-preview-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.portfolio-readiness-banner{display:flex;gap:.75rem;align-items:center;justify-content:space-between;border:1px solid var(--border-color);background:color-mix(in srgb,var(--color-warning) 16%,transparent);border-left:4px solid var(--color-warning);border-radius:6px;padding:.75rem .9rem;margin-bottom:1rem}.portfolio-readiness-banner-copy{display:flex;flex-direction:column;gap:.2rem}.portfolio-readiness-banner-metrics{display:flex;gap:.75rem;flex-wrap:wrap;font-size:var(--text-sm);color:var(--text-muted)}.portfolio-readiness-modal{width:min(640px,94vw)}.portfolio-readiness-modal-metrics{display:flex;gap:.75rem;flex-wrap:wrap;color:var(--text-muted);margin:.75rem 0;font-size:var(--text-sm)}.portfolio-readiness-modal-actions{display:flex;gap:.5rem;flex-wrap:wrap}.portfolio-readiness-modal-progress{display:flex;align-items:center;gap:.6rem;margin:.75rem 0;font-size:var(--text-sm);color:var(--text-muted)}.portfolio-readiness-spinner{width:1rem;height:1rem;border:2px solid var(--border, rgba(127, 127, 127, .3));border-top-color:var(--accent, #4f8cff);border-radius:50%;animation:spin .8s linear infinite;flex:0 0 auto}.muted{color:var(--text-muted)}.portfolio-repair-page{display:grid;gap:1rem}.portfolio-repair-header p{color:var(--text-muted)}.portfolio-repair-summary{display:flex;gap:1rem;flex-wrap:wrap}.portfolio-repair-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.portfolio-repair-list{display:grid;gap:.9rem}.portfolio-repair-item{border:1px solid var(--border-color);border-radius:6px;padding:.85rem;display:grid;gap:.55rem}.portfolio-repair-item-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.portfolio-repair-subtitle{color:var(--text-muted);margin:0}.portfolio-repair-item-meta{display:flex;gap:.75rem;flex-wrap:wrap;color:var(--text-muted);font-size:var(--text-sm)}.portfolio-repair-identity{display:flex;gap:.75rem;flex-wrap:wrap;margin:.25rem 0 .5rem;font-size:var(--text-sm);font-variant-numeric:tabular-nums;letter-spacing:.01em}.portfolio-repair-identity span{color:var(--text-secondary, var(--text-muted));font-weight:600}.portfolio-repair-item-actions{display:flex;gap:.5rem;flex-wrap:wrap}.portfolio-repair-support{display:grid;gap:.45rem}.portfolio-repair-ambiguity{border:1px solid var(--border-color);border-radius:6px;padding:.65rem;display:grid;gap:.5rem}.portfolio-repair-candidates{display:grid;gap:.4rem}.portfolio-repair-candidate-option{display:flex;align-items:flex-start;gap:.45rem;padding:.4rem .5rem;border-radius:4px}.portfolio-repair-candidate-option--recommended{background:var(--surface-highlight, rgba(var(--accent-rgb, 99, 102, 241), .06))}.portfolio-repair-candidate-info{display:grid;gap:.15rem}.portfolio-repair-candidate-name{font-weight:500}.portfolio-repair-candidate-symbol{font-size:var(--text-sm);color:var(--text-muted);display:flex;align-items:center;gap:.4rem}.portfolio-repair-candidate-badge{background:var(--accent-color, #6366f1);color:#fff;border-radius:3px;padding:0 .35rem;font-size:.7rem;font-weight:600;letter-spacing:.02em;line-height:1.6}.portfolio-repair-candidate-rationale{font-size:var(--text-sm);color:var(--text-muted)}.portfolio-repair-candidate-score{font-size:var(--text-xs, .75rem)}.portfolio-repair-manual-symbol{width:100%;margin:.25rem 0 .5rem;padding:.65rem .75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--surface-elevated, rgba(255, 255, 255, .06));color:var(--text-primary)}.portfolio-repair-severity{font-size:var(--text-xs, .75rem);font-weight:600;padding:.15rem .5rem;border-radius:3px;letter-spacing:.03em;white-space:nowrap}.portfolio-repair-severity--blocking{background:#fee2e2;color:#991b1b}.portfolio-repair-severity--high{background:#ffedd5;color:#9a3412}.portfolio-repair-severity--medium{background:#fef9c3;color:#854d0e}.portfolio-repair-severity--low{background:var(--surface-secondary, #f4f4f5);color:var(--text-muted)}.portfolio-repair-footer-actions{margin-top:.85rem}.chart-section{width:100%;max-width:100%;background:var(--card-background);border-radius:12px;padding:30px;border:1px solid var(--border-color);margin-bottom:40px}@media (max-width: 768px){.chart-section{padding:20px}}.analytics-section{width:100%;max-width:100%;margin:0 auto 40px}.analytics-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;width:100%}@media (min-width: 1600px){.analytics-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 600px){.analytics-metric-grid{grid-template-columns:1fr}}.analytics-metric-card{background:var(--card-background);border:1px solid var(--border-color);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:10px}.analytics-metric-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.analytics-metric-label{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);display:flex;align-items:center;gap:5px}.metric-info-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:var(--border-color);color:var(--text-muted);font-size:.65rem;font-weight:700;text-transform:none;letter-spacing:0;cursor:default;flex-shrink:0}.metric-info-box{display:flex;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);width:240px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:10px 12px;box-shadow:0 6px 20px var(--shadow-md);z-index:100;text-transform:none;letter-spacing:0;font-weight:400;font-size:.78rem;line-height:1.45;color:var(--text-primary);flex-direction:column;gap:7px;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease}.metric-info-box:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--border-color)}.metric-info-box:before{content:"";position:absolute;top:calc(100% - 1px);left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--card-bg);z-index:1}.metric-info-trigger:hover .metric-info-box{opacity:1;visibility:visible}.metric-info-trigger:focus-within .metric-info-box{opacity:1;visibility:visible}.metric-info-what{color:var(--text-muted);font-style:italic}.metric-info-good,.metric-info-bad{display:flex;align-items:flex-start;gap:6px}.metric-info-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:3px}.metric-info-dot-good{background:var(--primary-evergreen)}.metric-info-dot-bad{background:var(--color-danger)}.analytics-metric-score{font-size:1.8rem;font-weight:700;font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace;line-height:1}.analytics-score-bar{height:6px;background:var(--border-color);border-radius:3px;overflow:hidden}.analytics-score-fill{height:100%;border-radius:3px;transition:width .4s ease}.analytics-metric-desc{font-size:.8rem;color:var(--neutral-gray);margin:0;line-height:1.4}.analytics-stacked-bar{display:flex;height:10px;border-radius:5px;overflow:hidden}.analytics-stacked-segment{height:100%;transition:width .4s ease}.analytics-stacked-legend{display:flex;flex-wrap:wrap;gap:6px 12px}.analytics-legend-item{display:flex;align-items:center;gap:5px;font-size:.78rem;color:var(--text-muted)}.analytics-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.analytics-metric-footer{font-size:.78rem;color:var(--neutral-gray);margin-top:auto;padding-top:8px;border-top:1px solid var(--border-color)}.analytics-metric-nodata{color:var(--neutral-gray)}.analytics-score-sub{margin-top:6px;font-size:.8rem;color:var(--neutral-gray)}.chart-section h2{font-size:1.5rem;font-weight:700;color:var(--text-color);text-align:center;margin-bottom:20px}.admin-shell{width:min(1440px,calc(100vw - 40px));margin:0 auto;padding:24px 0 48px}.admin-narrow{width:min(640px,calc(100vw - 40px))}.admin-layout{display:grid;grid-template-columns:200px 1fr;gap:0;width:min(1600px,calc(100vw - 24px));margin:0 auto}.admin-nav{display:flex;flex-direction:column;gap:8px;padding:24px 12px;border-right:1px solid rgba(255,255,255,.08);position:sticky;top:0;align-self:start}.admin-nav-group{display:grid;gap:3px}.admin-nav a{display:block;padding:8px 12px;border-radius:8px;color:inherit;text-decoration:none;font-size:14px;opacity:.75}.admin-nav a:hover{background:#ffffff0f;opacity:1}.admin-nav a.active{background:#6366f12e;opacity:1;font-weight:600}.admin-nav-sub{display:grid;gap:2px;padding-left:10px}.admin-nav-sub a{padding:6px 10px;font-size:12px;border-radius:6px}.admin-nav-sub a.active{background:#49b17024}.admin-content{min-width:0;padding:0 24px}.admin-content .admin-shell{width:100%}@media (max-width: 860px){.admin-layout{grid-template-columns:1fr}.admin-nav{flex-direction:row;flex-wrap:wrap;position:static;border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}.admin-nav-sub{padding-left:0}}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.admin-heading-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.admin-shell h1{margin:0;font-size:28px}.admin-shell h2{margin:0 0 12px;font-size:18px}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.admin-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0 0 18px}.admin-status-card{display:grid;grid-template-columns:1fr auto;align-items:start;gap:8px 12px;min-height:112px;border:1px solid var(--border-color, rgba(255,255,255,.12));border-radius:8px;padding:14px;background:var(--surface-color, rgba(255,255,255,.04));color:inherit;text-align:left;cursor:pointer}.admin-status-card:hover{background:#ffffff12}.admin-status-card strong{font-size:28px;line-height:1}.admin-status-card small{grid-column:1 / -1;opacity:.72;line-height:1.35}.admin-panel{border:1px solid var(--border-color, rgba(255,255,255,.12));border-radius:8px;padding:16px;margin-bottom:16px;background:var(--surface-color, rgba(255,255,255,.04))}.admin-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px}.admin-metrics>div{min-height:74px;border:1px solid var(--border-color, rgba(255,255,255,.12));border-radius:8px;padding:12px;background:var(--surface-color, rgba(255,255,255,.04))}.admin-metrics span{display:block;font-size:20px;font-weight:800;line-height:1.15;overflow-wrap:anywhere}.admin-metrics small{display:block;margin-top:6px;opacity:.72}.admin-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) 180px 180px max-content max-content;align-items:end;gap:12px;margin-bottom:12px}.admin-toolbar label,.admin-inline-form{font-size:13px;font-weight:700}.admin-toolbar input,.admin-toolbar select,.admin-inline-form input,.admin-inline-form select{width:100%;min-height:38px;border:1px solid var(--border-color, rgba(255,255,255,.18));border-radius:6px;padding:8px 10px;margin-top:5px;background:var(--input-bg, rgba(255,255,255,.06));color:inherit}.admin-check{display:flex;align-items:center;gap:8px;min-height:38px}.admin-check input{width:auto;min-height:auto;margin:0}.admin-status-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.admin-status-strip button{border:1px solid var(--border-color, rgba(255,255,255,.12));border-radius:999px;padding:7px 10px;background:var(--surface-color, rgba(255,255,255,.04));color:inherit;cursor:pointer}.admin-status-strip button.active{border-color:#49b1708c;background:#49b17024}.admin-attention-queue{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:16px;align-items:center;border:1px solid rgba(212,98,74,.25);border-radius:8px;padding:12px;margin-bottom:14px;background:#d4624a0f}.admin-attention-queue span{display:block;margin-top:3px;opacity:.72;font-size:13px}.admin-attention-list{display:flex;flex-wrap:wrap;gap:8px}.admin-attention-list button{display:flex;align-items:center;gap:8px;border:1px solid var(--border-color, rgba(255,255,255,.12));border-radius:8px;padding:8px 10px;background:#ffffff0a;color:inherit;cursor:pointer}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th,.admin-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border-color, rgba(255,255,255,.12));vertical-align:top}.admin-table th{font-weight:700}.admin-clickable-row{cursor:pointer}.admin-clickable-row:hover{background:#ffffff0d}.admin-panel-attention{border-color:#d4624a59;background:#d4624a14}.admin-status-link{border:0;padding:0;background:transparent;color:inherit;cursor:pointer}.admin-link-button{display:block;border:0;padding:4px 0 0;background:transparent;color:inherit;cursor:pointer;font-size:12px;text-decoration:underline;opacity:.75}.admin-link-button:hover{opacity:1}.admin-status{display:inline-block;padding:2px 7px;border-radius:999px;background:#8294a62e;white-space:nowrap}.admin-status-OK{background:#49b1702e}.admin-status-UNKNOWN,.admin-status-HISTORY_GAPS,.admin-status-NEEDS_REVIEW{background:#deae4e2e}.admin-status-SUSPICIOUS_MAPPING,.admin-status-UNVALUED_POSITIONS,.admin-status-UPLOAD_FAILED{background:#d4624a33}.admin-inline-warning{display:inline-block;margin-left:8px;padding:1px 6px;border-radius:999px;background:#deae4e2e;font-size:12px}.admin-form{display:grid;gap:14px}.admin-form label{display:grid;gap:6px;font-weight:600}.admin-form input,.admin-form textarea{width:100%;border:1px solid var(--border-color, rgba(255,255,255,.18));border-radius:6px;padding:10px 12px;background:var(--input-bg, rgba(255,255,255,.06));color:inherit}.admin-form button,.admin-actions button,.admin-heading button,.admin-inline-form button,.admin-table button{border:0;border-radius:6px;padding:10px 12px;background:#4f8cff;color:#fff;cursor:pointer}.admin-form button:disabled,.admin-actions button:disabled,.admin-heading button:disabled,.admin-inline-form button:disabled,.admin-table button:disabled{cursor:not-allowed;opacity:.55}.admin-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-inline-form{display:grid;grid-template-columns:minmax(140px,1fr) 110px max-content;gap:10px;align-items:end;margin-top:12px}.admin-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.admin-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-color, rgba(255,255,255,.12));border-radius:999px;padding:5px 9px;background:#ffffff0a;font-size:12px}.admin-error{border:1px solid rgba(212,98,74,.4);border-radius:8px;padding:12px;margin-bottom:14px;background:#d4624a1f}.admin-muted{margin:4px 0 0;opacity:.72;line-height:1.45}.admin-kpis{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px}.admin-kpis dt{opacity:.72}.admin-kpis dd{margin:0;font-weight:700}.admin-kpis-spaced{margin-top:12px}.admin-insight-card{min-height:160px}.admin-insight-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.admin-insight-card__header strong{display:block;font-size:32px;line-height:1.1;margin:4px 0}.admin-sparkline{width:140px;height:34px;flex:0 0 auto;overflow:visible}.admin-sparkline--empty{display:inline-block;background:#ffffff0d;border-radius:999px}.admin-ticket-form textarea,.admin-panel textarea{width:100%;border:1px solid var(--border-color, rgba(255,255,255,.18));border-radius:6px;padding:10px 12px;margin-top:12px;background:var(--input-bg, rgba(255,255,255,.06));color:inherit}.admin-note-list{display:grid;gap:12px}.admin-note{border:1px solid var(--border-color, rgba(255,255,255,.12));border-radius:8px;padding:12px;background:#ffffff0a}.admin-note-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;opacity:.72;margin-bottom:8px}@media (max-width: 820px){.admin-grid,.admin-metrics,.admin-toolbar,.admin-attention-queue{grid-template-columns:1fr}.admin-heading{align-items:flex-start;flex-direction:column}.admin-inline-form{grid-template-columns:1fr}}.card,.card-tech{background:var(--card-background);border-radius:12px;padding:2rem;margin-bottom:2rem;border:1px solid var(--border-color);box-shadow:var(--card-shadow);transition:transform .3s,box-shadow .3s,border-color .3s;animation:fadeIn .5s ease-in-out}.table-container,.stock-list-container,.dividends-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.card:hover,.card-tech:hover,.chart-section:hover,.stock-list-container:hover,.balance-sheet-column:hover,.networth-summary:hover,.dividends-table:hover,.instructions-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px color-mix(in srgb,var(--secondary-hop-green) 15%,transparent);border-color:var(--secondary-hop-green)}.card-tech h3{font-size:1.5rem;font-weight:700;color:var(--secondary-hop-green);margin-top:0}.hops-workspace{position:relative;isolation:isolate;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-canvas) 42%,transparent),transparent 380px),transparent}.hops-workspace:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--secondary-hop-green) 4%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in srgb,var(--secondary-hop-green) 3%,transparent) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.38),transparent 64%);mask-image:linear-gradient(180deg,rgba(0,0,0,.38),transparent 64%);opacity:.42}.hops-panel{position:relative;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-panel) 95%,var(--primary-evergreen) 5%),var(--surface-panel));border:1px solid var(--surface-panel-border);border-radius:14px;box-shadow:inset 0 1px 0 var(--surface-inset),var(--card-shadow);transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.hops-panel:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--surface-panel-accent),color-mix(in srgb,var(--secondary-hop-green) 62%,transparent),transparent);opacity:.82;pointer-events:none}.hops-panel:hover{border-color:color-mix(in srgb,var(--secondary-hop-green) 42%,var(--surface-panel-border))}.hops-panel-header{position:relative;z-index:1}.hops-chart-well{position:relative;z-index:1;min-height:260px;border:1px solid var(--surface-border);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--background-color) 34%,transparent),transparent),color-mix(in srgb,var(--card-background) 72%,transparent);box-shadow:inset 0 1px 0 var(--surface-inset)}.hops-metric-cell{position:relative;border-color:var(--surface-border-medium);background:linear-gradient(135deg,color-mix(in srgb,var(--card-background) 72%,transparent),color-mix(in srgb,var(--surface-highlight) 70%,transparent));box-shadow:inset 0 1px 0 var(--surface-inset)}.hops-metric-cell:before{content:"";position:absolute;left:12px;right:12px;top:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--secondary-hop-green) 34%,transparent),transparent);opacity:.75}.hops-data-row{border-radius:10px;border:1px solid transparent;transition:background-color .16s ease,border-color .16s ease}.hops-data-row:hover,.hops-data-row:focus-within{background:color-mix(in srgb,var(--surface-highlight) 76%,transparent);border-color:var(--surface-border)}.hops-legend-row{background:color-mix(in srgb,var(--card-background) 32%,transparent)}.hops-tooltip{background:color-mix(in srgb,var(--neutral-dark) 92%,var(--primary-evergreen) 8%);border-color:var(--surface-panel-border);box-shadow:0 12px 28px var(--shadow-md)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard-container{background:transparent;color:var(--text-color);min-height:100vh;padding:20px;display:flex;flex-direction:column;align-items:stretch}.dashboard-title{font-size:2.5rem;font-weight:700;color:var(--text-color);margin-bottom:8px;text-align:left;letter-spacing:-1px}.dashboard-heading{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.dashboard-subtitle{margin:0;color:var(--text-muted);max-width:760px;line-height:1.6}.dashboard-heading-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.dashboard-inline-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:.65rem .9rem;border:1px solid var(--border-color);border-radius:999px;color:var(--text-color);text-decoration:none;font-size:.9rem;font-weight:600;background:var(--surface-highlight);transition:border-color .2s ease,transform .2s ease,background .2s ease}.dashboard-inline-link:hover{border-color:var(--secondary-hop-green);background:var(--card-hover);transform:translateY(-1px)}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;width:100%;max-width:100%;margin-bottom:40px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.95fr);gap:20px;width:100%;max-width:100%;align-items:stretch}.dashboard-left,.dashboard-right{display:flex;flex-direction:column;gap:20px}.dashboard-page-block{display:flex;flex-direction:column;gap:18px}.dashboard-page-block .chart-section{margin-bottom:0}.dashboard-summary-card{margin-bottom:0;min-height:184px;display:flex;flex-direction:column;justify-content:space-between}.dashboard-kicker{color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.dashboard-summary-note{margin:10px 0 0;color:var(--text-muted);line-height:1.5;font-size:.92rem}.dashboard-inline-error{margin-top:10px;color:var(--color-danger);font-size:.85rem}.dashboard-panel{margin-bottom:0;padding:1.5rem;min-width:0}.dashboard-page-panel,.dashboard-left .chart-section,.dashboard-right .chart-section{margin-bottom:0}.dashboard-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.dashboard-section-header h2{margin:0 0 6px;font-size:1.2rem;color:var(--text-color)}.dashboard-section-header p{margin:0;color:var(--text-muted);line-height:1.5;font-size:.92rem}.dashboard-mini-stat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.dashboard-mini-stat-row-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.dashboard-preview-columns{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:14px}.dashboard-preview-subsection{display:flex;flex-direction:column;gap:12px}.dashboard-preview-subsection h3{margin:0;font-size:1rem;color:var(--text-color)}.dashboard-preview-subsection .dashboard-mini-stat-row:last-child{margin-bottom:0}.dashboard-mini-stat{padding:14px 16px;border-radius:12px;border:1px solid var(--border-color);background:var(--surface-highlight);display:flex;flex-direction:column;gap:6px}.dashboard-mini-stat span,.dashboard-mini-stat small{color:var(--text-muted)}.dashboard-mini-stat strong{font-size:1.05rem;color:var(--text-color);overflow-wrap:anywhere}.dashboard-mini-stat strong.positive,.dashboard-score-card strong.positive{color:var(--color-success, var(--secondary-hop-green))}.dashboard-mini-stat strong.negative,.dashboard-score-card strong.negative{color:var(--color-danger)}.dashboard-chip-list{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.dashboard-chip{display:inline-flex;align-items:center;padding:.5rem .75rem;border-radius:999px;background:var(--surface-highlight);color:var(--text-color);border:1px solid var(--secondary-hop-green);font-size:.85rem;line-height:1.4}.dashboard-holdings-list{display:flex;flex-direction:column;gap:10px}.dashboard-list-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;border:1px solid var(--border-color);border-radius:12px;background:var(--surface-highlight)}.dashboard-list-item div{min-width:0}.dashboard-list-item strong{display:block;color:var(--text-color)}.dashboard-list-item span{display:block;color:var(--text-muted);margin-top:4px;font-size:.85rem;line-height:1.4}.dashboard-list-item .stock-cell{min-width:0}.stock-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--card-hover);color:var(--secondary-hop-green);font-size:.72rem;font-weight:700;flex-shrink:0;box-sizing:border-box}.dashboard-movers-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dashboard-performer-list h3{margin:0 0 12px;font-size:1rem;color:var(--text-color)}.dashboard-performer-list{display:flex;flex-direction:column;gap:10px}.dashboard-empty-copy{margin:0;color:var(--text-muted);line-height:1.6}.dashboard-panel-note{margin-bottom:1rem;padding:.65rem .9rem;border:1px solid var(--surface-border-medium);border-radius:10px;background:var(--surface-highlight);color:var(--text-muted);font-size:.85rem}.dashboard-income-highlight{padding:14px 16px 16px;border:1px solid var(--secondary-hop-green);border-left-width:3px;border-radius:12px;background:var(--surface-highlight);margin-bottom:14px}.dashboard-income-highlight h3{margin:6px 0 8px}.dashboard-networth-highlight{padding:14px 16px 16px;border:1px solid var(--accent-yellow);border-left-width:3px;border-radius:12px;background:var(--surface-highlight);margin-bottom:14px}.dashboard-networth-highlight h3{margin:6px 0 8px}.dashboard-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-score-card{padding:14px 16px;border-radius:12px;border:1px solid var(--border-color);background:var(--surface-highlight);display:flex;flex-direction:column;gap:6px}.dashboard-score-card span,.dashboard-score-card small{color:var(--text-muted)}.dashboard-score-card strong{font-size:1.05rem;color:var(--text-color)}.dashboard-footer-note{margin:14px 0 0;color:var(--text-muted);line-height:1.5;font-size:.9rem}.dashboard-chart-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--space-4);margin-bottom:var(--space-4)}.dashboard-doughnut-wrap{height:260px;position:relative;padding:14px;display:flex;align-items:center;justify-content:center}.dashboard-doughnut-legend{margin-top:var(--space-3);max-height:200px;overflow-y:auto;padding-right:4px}.dashboard-doughnut-center{position:absolute;left:50%;top:50%;width:min(58%,180px);transform:translate(-50%,-50%);pointer-events:none;text-align:center}.dashboard-doughnut-center-value{color:var(--text-color);font-size:clamp(.95rem,1.5vw,1.25rem);font-weight:800;line-height:1.05;font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace;overflow-wrap:anywhere}.dashboard-doughnut-center-label{margin-top:4px;color:var(--text-muted);font-size:.66rem;line-height:1.2;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.portfolio-history-chart{width:100%;padding:14px}.portfolio-history-chart-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:.5rem}.portfolio-history-chart-actions{display:flex;align-items:center;gap:.75rem;min-width:0}.portfolio-history-chart-canvas{height:330px;position:relative}.dashboard-agenda-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-4)}.dashboard-agenda-list{display:flex;flex-direction:column;gap:var(--space-1)}.dashboard-agenda-group{display:flex;flex-direction:column}.dashboard-agenda-date{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) 0 var(--space-1);color:var(--text-muted);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.dashboard-agenda-dot{width:8px;height:8px;min-width:8px;border-radius:50%;flex-shrink:0}.dashboard-agenda-dot--dividend{background:var(--secondary-hop-green)}.dashboard-agenda-entries{border-left:2px solid var(--border-color);margin-left:3px;padding-left:var(--space-3);margin-bottom:var(--space-2)}.dashboard-agenda-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-1) var(--space-2)}.dashboard-agenda-item:last-child{padding-bottom:var(--space-1)}.dashboard-agenda-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.dashboard-agenda-copy{min-width:0}.dashboard-agenda-logo{width:28px;height:28px;border-radius:8px;object-fit:contain;background:var(--surface-border-subtle);flex-shrink:0}.dashboard-agenda-name{font-size:var(--text-sm);color:var(--text-color);font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-agenda-symbol{font-size:.75rem;color:var(--text-muted);margin-top:3px;line-height:1.3}.dashboard-agenda-meta{font-size:var(--text-xs);color:var(--text-muted);margin-top:3px;line-height:1.4}.dashboard-agenda-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;text-align:right}.dashboard-agenda-amount{font-size:var(--text-sm);font-weight:600;color:var(--color-success);flex-shrink:0;white-space:nowrap}.dashboard-agenda-badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:999px;font-size:.72rem;font-weight:700;flex-shrink:0;white-space:nowrap;letter-spacing:.04em}@media (max-width: 1200px){.dashboard-grid{grid-template-columns:1fr 320px;max-width:100%}.dashboard-heading{flex-direction:column;align-items:stretch}.dashboard-heading-actions{justify-content:flex-start}}@media (max-width: 1024px){.dashboard-grid{grid-template-columns:1fr}.dashboard-left{order:1}.dashboard-right{order:2}.dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.dashboard-movers-grid,.dashboard-mini-stat-row,.dashboard-preview-columns,.dashboard-score-grid{grid-template-columns:1fr}.dashboard-mini-stat-row-stack,.dashboard-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.dashboard-container{padding:15px}.dashboard-title{font-size:2rem}.dashboard-cards{grid-template-columns:1fr;gap:15px}.dashboard-panel{padding:1.2rem}.dashboard-section-header{flex-direction:column}.dashboard-inline-link{width:100%}.dashboard-chart-row,.dashboard-agenda-grid{grid-template-columns:1fr}.dashboard-doughnut-wrap{height:220px}.portfolio-history-chart-canvas{height:300px}}@media (max-width: 640px){.dashboard-stat-strip,.dashboard-mini-stat-row,.dashboard-mini-stat-row-stack{grid-template-columns:1fr}.dashboard-agenda-item{align-items:flex-start;flex-direction:column}.dashboard-agenda-logo{width:24px;height:24px;border-radius:7px}.dashboard-agenda-side{width:100%;max-width:none;align-items:flex-start;text-align:left;padding-left:34px}.dashboard-doughnut-center{width:min(62%,155px)}.portfolio-history-chart{padding:10px}.portfolio-history-chart-head{align-items:stretch}.portfolio-history-chart-actions,.portfolio-history-chart-actions .analytics-range-picker{width:100%}.portfolio-history-chart-actions .analytics-range-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.portfolio-history-chart-actions .analytics-toggle-btn{min-width:0;padding-left:.35rem;padding-right:.35rem}}.portfolio-chart-and-legend{width:100%;display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:3rem}.compare-charts-grid{width:100%;display:grid;grid-template-columns:1fr;gap:14px}.compare-charts-grid.enabled{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-card-title{font-size:.8rem;color:var(--text-muted);margin-bottom:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}@media (max-width: 1400px){.portfolio-chart-and-legend,.compare-charts-grid.enabled{grid-template-columns:1fr}}.doughnut-chart-container{width:100%;max-width:100%;min-height:500px;background:var(--auth-card-bg);border-radius:14px;border:1px solid var(--surface-border);padding:24px;display:flex;flex-direction:column;position:relative;box-shadow:0 8px 18px var(--shadow-sm);margin:0}.doughnut-chart-wrapper{position:relative;width:min(680px,100%);height:450px;z-index:1}.portfolio-bar-chart-wrapper{width:100%;height:450px}.stocks-logo-bar-list{display:flex;flex-direction:column;gap:10px;height:450px;overflow:auto;padding-right:6px}.stocks-logo-bar-row{display:flex;flex-direction:column;gap:6px}.stocks-logo-bar-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.stocks-logo-bar-actions{display:inline-flex;gap:4px}.stocks-logo-bar-identity{display:flex;align-items:center;gap:8px;min-width:0}.stocks-logo-bar-logo{width:20px;height:20px;border-radius:6px;flex-shrink:0;object-fit:contain;background:var(--surface-border);padding:2px}.stocks-logo-bar-name{font-size:.82rem;font-weight:600;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stocks-logo-bar-meta{font-size:.75rem;color:var(--text-muted);font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace;white-space:nowrap}.stocks-logo-bar-track{width:100%;height:9px;border-radius:999px;background:var(--surface-border);overflow:hidden}.stocks-logo-bar-fill{height:100%;border-radius:999px}.stocks-treemap,.distribution-treemap{width:100%;height:450px;position:relative;overflow:hidden}.stocks-treemap-tile,.distribution-treemap-tile{position:absolute;border-radius:10px;padding:7px;display:flex;align-items:stretch;border:1px solid var(--surface-border);overflow:hidden;box-sizing:border-box}.stocks-treemap-inner{display:flex;flex-direction:column;justify-content:flex-end;gap:4px;min-width:0;width:100%}.stocks-treemap-tile.performance-mode .stocks-treemap-inner{justify-content:flex-start;gap:3px}.stocks-treemap-logo{width:22px;height:22px;min-width:22px;min-height:22px;border-radius:6px;margin-bottom:2px;display:block;flex:0 0 auto;align-self:flex-start;object-fit:contain;object-position:center;background:color-mix(in srgb,var(--text-light) 16%,transparent);padding:2px;box-sizing:border-box}.stocks-treemap-name,.distribution-treemap-label{font-size:.8rem;font-weight:700;color:var(--text-light);white-space:normal;overflow:hidden;text-overflow:ellipsis;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.stocks-treemap-name--single{display:block;white-space:nowrap;text-overflow:ellipsis;-webkit-line-clamp:unset}.stocks-treemap-meta,.distribution-treemap-value{font-size:.74rem;color:color-mix(in srgb,var(--text-light) 90%,transparent)}.stocks-treemap-submeta{font-size:.68rem;color:color-mix(in srgb,var(--text-light) 72%,transparent)}.stocks-treemap-name--compact{font-size:.62rem;font-weight:600;color:color-mix(in srgb,var(--text-light) 76%,transparent);-webkit-line-clamp:1}.stocks-treemap-tile.small .stocks-treemap-logo{width:16px;height:16px;min-width:16px;min-height:16px;border-radius:4px}.stocks-treemap-tile.tiny{padding:4px}.stocks-treemap-tile.tiny .stocks-treemap-inner{align-items:center;justify-content:center}.stocks-treemap-tile.tiny .stocks-treemap-logo{width:12px;height:12px;min-width:12px;min-height:12px;border-radius:3px;margin:0}.stocks-treemap-hoverbox{position:absolute;transform:translate(-50%,-50%);background:var(--auth-card-bg);border:1px solid var(--surface-border-strong);border-radius:10px;padding:8px 10px;min-width:190px;max-width:260px;z-index:5;pointer-events:none;box-shadow:0 8px 20px var(--shadow-md)}.stocks-treemap-hover-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.stocks-treemap-hover-logo{width:16px;height:16px;border-radius:4px;flex-shrink:0;object-fit:contain;background:var(--surface-border);padding:2px}.stocks-treemap-hover-name{font-size:.8rem;font-weight:700;color:var(--text-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stocks-treemap-hover-meta{font-size:.74rem;color:color-mix(in srgb,var(--text-light) 88%,transparent)}.portfolio-stock-drawer{position:fixed;right:16px;bottom:16px;width:min(420px,calc(100vw - 32px));background:var(--auth-card-bg);border:1px solid var(--border-color);border-radius:12px;padding:12px;z-index:1002;box-shadow:0 12px 28px var(--shadow-md)}.portfolio-stock-drawer-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.portfolio-stock-drawer-title{display:inline-flex;align-items:center;gap:8px;min-width:0}.portfolio-stock-drawer-grid{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:.82rem}.portfolio-stock-drawer-grid span{color:var(--text-muted)}.portfolio-chart-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1003;display:flex;align-items:center;justify-content:center}.portfolio-chart-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg)}.portfolio-chart-modal-card{position:relative;width:min(1200px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;background:var(--background-dark);border:1px solid var(--border-color);border-radius:14px;padding:14px}.portfolio-chart-modal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.doughnut-chart-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,280px);justify-content:flex-start;gap:20px;align-items:flex-start;min-height:450px}.doughnut-chart-legend{width:280px;max-height:450px;overflow-y:auto;padding-right:8px;position:relative;z-index:1;flex-shrink:0}@media (min-width: 1920px){.doughnut-chart-legend{width:320px}}.doughnut-legend-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid transparent;transition:background-color .18s ease,border-color .18s ease}.doughnut-legend-actions{margin-left:auto;display:inline-flex;gap:4px;opacity:0;transform:translate(4px);transition:opacity .18s ease,transform .18s ease}.legend-mini-btn{border:1px solid var(--border-color);border-radius:999px;background:var(--shadow-xs);color:var(--text-muted);font-size:.7rem;padding:2px 7px}.doughnut-legend-index{min-width:20px;text-align:center;font-size:.7rem;color:var(--text-muted);font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace}.doughnut-legend-item:hover{background:var(--surface-border-subtle);border-color:var(--surface-border)}.doughnut-legend-item:hover .doughnut-legend-actions,.doughnut-legend-item:focus-within .doughnut-legend-actions{opacity:1;transform:translate(0)}.doughnut-legend-logo{width:22px;height:22px;border-radius:6px;object-fit:contain;background:var(--surface-border);padding:2px}.doughnut-legend-text{display:flex;flex-direction:column;gap:2px}.doughnut-legend-name{font-size:.85rem;color:var(--text-color);max-width:180px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.doughnut-legend-sub{font-size:.75rem;color:var(--text-muted)}.chart-tooltip{position:absolute;pointer-events:none;opacity:0;background:var(--neutral-dark);border:1px solid var(--secondary-hop-green);border-radius:8px;padding:10px 12px;color:var(--text-light);z-index:10;max-width:min(320px,calc(100% - 24px));white-space:normal;word-break:break-word}.chart-tooltip-inner{display:flex;align-items:center;gap:10px}.chart-tooltip-text{display:flex;flex-direction:column;gap:2px;min-width:0}.chart-tooltip-logo{width:20px;height:20px;border-radius:6px;object-fit:contain;background:var(--surface-border);padding:2px}.chart-tooltip-title{font-size:.8rem;font-weight:600}.chart-tooltip-value{font-size:.85rem;color:var(--text-muted)}@media (max-width: 900px){.doughnut-chart-body{grid-template-columns:1fr;gap:16px}.doughnut-chart-legend{width:100%;max-height:220px}.doughnut-chart-wrapper{width:100%}}.doughnut-chart-container:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(135deg,var(--primary-evergreen),var(--secondary-hop-green));border-radius:14px;opacity:.03;z-index:0;pointer-events:none}.chart-center-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;z-index:2;width:55%;max-width:210px}.chart-center-value{font-size:clamp(1rem,1.4vw,1.7rem);font-weight:700;font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace;color:var(--text-light);line-height:1;margin-bottom:.18rem}.chart-center-label{font-size:.68rem;color:color-mix(in srgb,var(--text-light) 78%,transparent);font-weight:600;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}@media (max-width: 1200px){.doughnut-chart-container{height:400px;padding:20px}.doughnut-chart-wrapper{height:300px}.chart-center-value{font-size:2rem}.chart-center-label{font-size:.8rem}}@media (max-width: 768px){.portfolio-stock-drawer{left:10px;right:10px;bottom:10px;width:auto}.portfolio-chart-modal-card{width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:10px}.stocks-logo-bar-list,.stocks-treemap,.distribution-treemap,.portfolio-bar-chart-wrapper{height:380px}.stocks-logo-bar-head{flex-direction:column;align-items:flex-start;gap:4px}}.portfolio-container{background:transparent;color:var(--text-color);min-height:100vh;padding:20px;display:flex;flex-direction:column;align-items:stretch;width:100%}.portfolio-title{font-size:2.5rem;font-weight:700;color:var(--text-color);margin-bottom:0;text-align:left;letter-spacing:-1px}.portfolio-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.25rem;margin-bottom:1rem}.portfolio-header-copy{display:flex;flex-direction:column;gap:.35rem}.portfolio-header-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;text-align:right}.portfolio-tabs{margin-bottom:24px;flex-wrap:wrap;justify-content:flex-start;max-width:100%;overflow-x:auto;scrollbar-width:thin;border-radius:16px}.portfolio-toolbar{width:100%;display:grid;gap:.9rem;margin-bottom:1.2rem;padding:0 0 1rem;border-bottom:1px solid var(--border-color)}.portfolio-primary-controls,.portfolio-compare-controls,.portfolio-timeframe-group{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.portfolio-toolbar-cluster{display:inline-flex;align-items:center;gap:.55rem;flex-wrap:wrap}.portfolio-control-stack{display:flex;flex-direction:column;gap:.35rem;color:var(--text-muted);font-size:.75rem;font-weight:600}.portfolio-toolbar-label{font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.portfolio-period-summary{display:flex;flex-direction:column;gap:.18rem;min-width:220px;padding-right:.25rem}.portfolio-period-summary strong{font-size:.82rem;color:var(--text-light)}.portfolio-period-summary span{font-size:.8rem;color:var(--text-muted)}.portfolio-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.portfolio-panel-heading{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.portfolio-panel-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-light)}.portfolio-panel-info{margin-top:.08rem}.portfolio-panel-copy{margin-top:.3rem;color:var(--text-muted);font-size:.86rem}.portfolio-panel-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.portfolio-date-input{padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border-color);background:var(--neutral-dark);color:var(--text-color)}.portfolio-heatmap-banner{margin-bottom:.9rem;padding:.9rem 1rem;border:1px solid var(--surface-border);border-radius:12px;background:linear-gradient(135deg,var(--surface-highlight),var(--surface-border-subtle));display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.portfolio-heatmap-title{font-size:.9rem;font-weight:700;color:var(--text-light)}.portfolio-heatmap-copy{margin-top:.2rem;font-size:.82rem;color:var(--text-muted)}.portfolio-heatmap-legend{display:inline-flex;align-items:center;gap:.55rem;color:var(--text-muted);font-size:.76rem;white-space:nowrap}.portfolio-heatmap-scale{width:130px;height:10px;border-radius:999px;background:var(--heatmap-scale-gradient);border:1px solid var(--surface-border)}.portfolio-primary-controls button,.portfolio-compare-controls button,.portfolio-timeframe-group button{padding:4px 10px;font-size:.8rem;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.portfolio-primary-controls button:hover,.portfolio-compare-controls button:hover,.portfolio-timeframe-group button:hover{color:var(--text-color);border-color:var(--neutral-gray);background:var(--surface-highlight)}.portfolio-overflow-menu{position:relative;margin-left:auto}.portfolio-overflow-trigger{background:var(--surface-highlight);border:1px solid var(--border-color);border-radius:999px;padding:8px 14px;font-size:.82rem;line-height:1.2;color:var(--text-color);cursor:pointer;font-weight:600;transition:color .15s,border-color .15s,background .15s}.portfolio-overflow-trigger:hover{color:var(--text-color);border-color:var(--neutral-gray);background:var(--surface-highlight-hover)}.portfolio-overflow-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--card-background);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 24px var(--shadow-md);min-width:240px;z-index:100;overflow:hidden;display:flex;flex-direction:column}.portfolio-overflow-section{padding:12px 16px;display:grid;gap:12px;border-bottom:1px solid var(--border-color)}.portfolio-dropdown-field{display:grid;gap:6px;color:var(--text-muted);font-size:.78rem;font-weight:600}.portfolio-dropdown-field select{border-radius:8px;border:1px solid var(--border-color);background:var(--neutral-dark);color:var(--text-color);padding:.45rem .55rem;font-size:.83rem}.portfolio-dropdown-check{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-color);font-size:.82rem}.portfolio-overflow-dropdown button{background:transparent;border:none;text-align:left;padding:10px 16px;font-size:.875rem;color:var(--text-color);cursor:pointer;transition:background .12s}.portfolio-overflow-dropdown button:hover{background:var(--surface-highlight-hover)}.portfolio-overflow-dropdown button+button{border-top:1px solid var(--border-color)}.portfolio-loading-skeleton{width:100%;max-width:1100px;display:flex;flex-direction:column;gap:14px}.skeleton-row,.skeleton-card,.skeleton-table{border-radius:10px;border:1px solid var(--surface-highlight);background:linear-gradient(90deg,var(--surface-border-subtle),var(--surface-border),var(--surface-border-subtle));background-size:200% 100%;animation:shimmer 1.2s linear infinite}.skeleton-row{height:52px}.skeleton-grid{display:grid;grid-template-columns:2fr 1fr;gap:14px}.skeleton-card{height:300px}.skeleton-table{height:280px}@keyframes shimmer{0%{background-position:180% 0}to{background-position:-20% 0}}.portfolio-tab-panel{width:100%;display:flex;flex-direction:column;align-items:stretch}@media (max-width: 768px){.portfolio-container{padding:15px}.portfolio-title{font-size:2rem}.portfolio-header,.portfolio-panel-header{flex-direction:column}.portfolio-header-meta,.portfolio-panel-actions{width:100%;align-items:flex-start;text-align:left;justify-content:flex-start}.portfolio-compare-controls,.portfolio-timeframe-group,.portfolio-period-summary{width:100%}.portfolio-heatmap-banner{align-items:flex-start}.portfolio-heatmap-legend{width:100%}.portfolio-heatmap-scale{flex:1}.skeleton-grid{grid-template-columns:1fr}}.stock-list-container{width:100%;max-width:100%;margin-top:20px;background:var(--card-background);border-radius:12px;border:1px solid var(--border-color);padding:20px;overflow-x:auto;position:relative}.table-color-indicator{width:12px;height:12px;border-radius:3px;box-shadow:0 2px 4px var(--shadow-sm);margin:0 auto}.stock-symbol-cell{font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace;font-weight:600;color:var(--secondary-hop-green)}.stock-name-cell{max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stock-name-wrap{display:inline-flex;align-items:center;gap:10px}.stock-logo{width:22px;height:22px;border-radius:6px;object-fit:contain;background:var(--surface-border);padding:2px}.stock-list-container:after{content:"← Scroll →";position:absolute;bottom:10px;right:10px;font-size:.7rem;color:var(--neutral-gray);display:none;padding:4px 8px;background:var(--neutral-dark);border-radius:4px}.section-title{font-size:1.6rem;font-weight:700;color:var(--text-color);margin-bottom:1rem}.stock-list-table{width:100%;border-collapse:collapse;color:var(--text-color);font-size:.9rem}.stock-list-table th{text-align:left;padding:12px;border-bottom:2px solid var(--border-color);font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;background:var(--neutral-dark);position:sticky;top:0;z-index:1}.stock-list-table th:hover{color:var(--secondary-hop-green)}.stock-list-table td{padding:14px 12px;border-bottom:1px solid var(--border-color);text-align:left}.stock-list-table td img{vertical-align:middle;margin-right:10px;width:32px;height:32px;border-radius:50%}.stock-list-table tr:hover{background:var(--table-hover)}.stock-list-table th.right,.stock-list-table td.right{text-align:right;font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace}.stock-list-table th.kpi,.stock-list-table td.kpi{color:var(--text-color);font-weight:700}.stock-list-table td.positive{color:var(--secondary-hop-green);font-weight:600}.stock-list-table td.negative{color:var(--color-danger);font-weight:600}@media (max-width: 768px){.stock-list-table{font-size:.85rem}.stock-list-table td img{width:24px;height:24px}.stock-list-container:after{display:block}}.analytics-subpage-shell{width:100%;display:flex;flex-direction:column;gap:.75rem}.analytics-subpage-nav{display:inline-flex;align-items:center;gap:6px;padding:4px;margin:1rem 20px 0;border:1px solid var(--border-color);border-radius:999px;background:var(--neutral-dark);align-self:flex-start}.analytics-subpage-nav .toggle-chip{text-decoration:none}.analytics-container{background:transparent;color:var(--text-color);min-height:100vh;padding:20px;display:flex;flex-direction:column;align-items:center}.analytics-title{font-size:2.5rem;font-weight:700;color:var(--text-color);margin-bottom:30px;text-align:center;letter-spacing:-1px}@media (max-width: 768px){.analytics-subpage-nav{margin:.8rem 15px 0;width:calc(100% - 30px);flex-wrap:wrap;justify-content:flex-start}.analytics-container{padding:15px}.analytics-title{font-size:2rem}}.analytics-chart-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.analytics-chart-header-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.analytics-custom-range{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .6rem;border:1px solid var(--border-color);border-radius:10px;background:var(--neutral-dark)}.analytics-date-input{border:1px solid var(--surface-border);border-radius:8px;background:var(--surface-elevated);color:var(--text-color);padding:.45rem .6rem;font:inherit}.analytics-date-input::-webkit-calendar-picker-indicator{cursor:pointer}.analytics-custom-range-separator{color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.analytics-cagr-card{min-width:140px;padding:.6rem .8rem;border:1px solid var(--border-color);border-radius:10px;background:var(--neutral-dark);text-align:right}.analytics-cagr-label{color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.analytics-cagr-value{margin-top:.2rem;color:var(--secondary-hop-green);font-weight:700;font-size:1.1rem;font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace}.analytics-updated-text{font-style:italic;color:var(--neutral-gray);font-size:.75rem}@media (max-width: 1200px){.analytics-chart-header{flex-direction:column;align-items:stretch}.analytics-chart-header-right{justify-content:flex-start}.analytics-cagr-card{text-align:left}}@media (max-width: 700px){.analytics-range-picker,.analytics-mode-toggle,.analytics-custom-range{width:100%;border-radius:10px;flex-wrap:wrap}.analytics-date-input{width:100%}}.analytics-projection-container{align-items:stretch;gap:.8rem}.analytics-projection-scenarios{width:100%}.analytics-projection-title{margin:0;font-size:1.55rem;letter-spacing:-.02em}.analytics-projection-heading{display:inline-flex;align-items:flex-start;gap:.45rem}.analytics-projection-info{margin-top:0;transform:translateY(-.18rem)}.analytics-projection-subtitle{margin:0;color:var(--text-muted);max-width:65ch;font-size:.95rem}.analytics-projection-starting-value{margin:.4rem 0 0;color:var(--text-muted);font-size:.85rem}.analytics-projection-control-grid{margin-top:.65rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.analytics-projection-slider-field{display:flex;flex-direction:column;gap:.3rem;padding:.55rem .6rem;border:1px solid var(--surface-border);border-radius:10px;background:var(--surface-highlight)}.analytics-projection-slider-label{font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.analytics-projection-input-row{display:flex;align-items:center;gap:.5rem}.analytics-projection-value-input{width:100%;min-height:40px;padding:.5rem .65rem;border:1px solid var(--surface-border-medium);border-radius:8px;background:var(--surface-elevated);color:var(--text-color);font-size:1rem;font-weight:600}.analytics-projection-value-input:focus{outline:none;border-color:var(--secondary-hop-green);box-shadow:0 0 0 2px color-mix(in srgb,var(--secondary-hop-green) 16%,transparent)}.analytics-projection-input-unit{color:var(--text-muted);font-size:.9rem;font-weight:700;min-width:14px;text-align:center}.analytics-projection-block-title{margin:0}.analytics-projection-kpis{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem}.analytics-projection-kpi-card{border:1px solid var(--border-color);border-radius:12px;background:var(--neutral-dark);padding:.85rem;display:flex;flex-direction:column;gap:.35rem}.analytics-projection-kpi-card span{color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.analytics-projection-kpi-card strong{font-size:1.45rem}.analytics-projection-chart-wrap{margin-top:1rem;height:400px;position:relative}.analytics-projection-scenario-grid{margin-top:.9rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}.analytics-projection-scenario-card{border:1px solid var(--border-color);border-radius:12px;background:var(--neutral-dark);padding:.85rem}.analytics-projection-scenario-label{margin:0;color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.analytics-projection-scenario-value{margin-top:.35rem;display:block;font-size:1.45rem}.analytics-projection-scenario-meta{margin:.5rem 0 0;color:var(--text-muted);font-size:.84rem}.analytics-attribution-title{margin:0}.analytics-attribution-heading{display:inline-flex;align-items:flex-start;gap:.45rem}.analytics-attribution-info{margin-top:0;transform:translateY(-.18rem)}.analytics-attribution-kpis{margin-top:.9rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem}.analytics-attribution-kpi-card{border:1px solid var(--border-color);border-radius:12px;background:var(--neutral-dark);padding:.85rem;display:flex;flex-direction:column;gap:.35rem}.analytics-attribution-kpi-card span{color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.analytics-attribution-kpi-card strong{font-size:1.3rem}.analytics-attribution-kpi-card small{color:var(--text-muted);font-size:.8rem}.analytics-attribution-chart-title{margin-top:1rem;color:var(--text-muted);font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.analytics-attribution-chart-wrap{margin-top:1rem;width:100%;height:400px;position:relative}.analytics-attribution-label-tooltip{position:absolute;z-index:10;max-width:min(360px,calc(100vw - 48px));transform:translate(12px,-50%);pointer-events:none;padding:.45rem .6rem;border:1px solid var(--border-color);border-radius:8px;background:var(--neutral-dark);color:var(--text-color);box-shadow:0 10px 24px var(--shadow-sm);font-size:.85rem;line-height:1.25;white-space:normal}.analytics-attribution-header-controls{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.analytics-attribution-view-toggle{justify-content:flex-end}.analytics-attribution-metric-toggle .analytics-toggle-btn{min-width:42px}.analytics-attribution-stock-strip{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.6rem}.analytics-attribution-stock-pill{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.55rem;padding:.55rem .65rem;border:1px solid var(--surface-border-subtle);border-radius:999px;background:var(--neutral-dark)}.analytics-attribution-stock-logo{width:26px;height:26px;border-radius:999px;object-fit:contain;background:var(--card-background)}.analytics-attribution-stock-logo-fallback{display:inline-flex;align-items:center;justify-content:center;color:var(--btn-active-text);background:linear-gradient(135deg,var(--secondary-hop-green),var(--primary-evergreen));font-size:.78rem;font-weight:700}.analytics-attribution-stock-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.analytics-attribution-stock-symbol{color:var(--text-muted);font-size:.78rem;font-weight:700}@media (max-width: 900px){.analytics-projection-control-grid{grid-template-columns:minmax(0,1fr)}.analytics-projection-kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.analytics-projection-chart-wrap,.analytics-attribution-chart-wrap{height:320px}.analytics-attribution-stock-pill{grid-template-columns:auto minmax(0,1fr) auto}.analytics-attribution-stock-symbol{display:none}}.transactions-page{max-width:100%;margin:0 auto;padding:2rem}@media (max-width: 768px){.transactions-page{padding:1rem}}.page-title{font-size:2rem;font-weight:700;margin-bottom:2rem;color:var(--text-color)}.page-subtitle{margin:0 0 1.5rem;color:var(--text-muted);max-width:68ch;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.language-switcher{position:relative;display:inline-flex}.language-switcher__trigger,.language-switcher__option{display:inline-flex;align-items:center;color:var(--text-color);transition:transform .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.language-switcher__trigger{min-width:7.8rem;height:2.7rem;padding:0 .85rem;justify-content:flex-start;gap:.55rem;border-radius:14px;border:1px solid var(--surface-border-medium);background:color-mix(in srgb,var(--card-background) 78%,transparent);color:var(--text-color);box-shadow:0 10px 24px var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer}.language-switcher__trigger:hover:not(:disabled),.language-switcher__option:hover:not(:disabled){transform:translateY(-1px);background:var(--surface-highlight);border-color:var(--surface-border-medium)}.language-switcher__trigger.is-open{border-color:color-mix(in srgb,var(--secondary-hop-green) 55%,var(--surface-border-strong))}.language-switcher__trigger:disabled,.language-switcher__option:disabled{cursor:wait;opacity:.72}.language-switcher__menu{position:absolute;top:calc(100% + .45rem);right:0;min-width:10.5rem;padding:.3rem;display:grid;gap:.2rem;border-radius:14px;background:color-mix(in srgb,var(--card-background) 88%,transparent);border:1px solid var(--surface-border-medium);box-shadow:0 18px 40px var(--shadow-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:30}.language-switcher__option{width:100%;min-height:2.6rem;padding:.55rem .75rem;justify-content:flex-start;gap:.65rem;border-radius:11px;border:1px solid transparent;background:transparent;cursor:pointer}.language-switcher__option.is-active{background:color-mix(in srgb,var(--primary-evergreen) 26%,var(--card-background));border-color:color-mix(in srgb,var(--secondary-hop-green) 50%,var(--surface-border-strong));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--secondary-hop-green) 30%,transparent)}.language-switcher__flag{font-size:1.2rem;line-height:1;filter:saturate(1.05)}.language-switcher__caret{margin-left:auto;font-size:.8rem;opacity:.72}.language-switcher__label{font-size:.95rem;font-weight:600}[data-theme=light] .language-switcher,[data-theme=light] .language-switcher__trigger,[data-theme=light] .language-switcher__menu{background:#faf8f4db}.nav-links .language-switcher__trigger{min-width:auto;padding:0 .6rem;gap:.3rem}.nav-links .language-switcher__trigger .language-switcher__label{display:none}.nav-links .language-switcher__menu .language-switcher__label{display:inline}@media (max-width: 768px){.language-switcher__trigger{min-width:auto;height:2.5rem;padding:0 .65rem;gap:.4rem}.language-switcher__label{font-size:.9rem}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.transaction-actions{display:flex;gap:1rem;align-items:center;animation:slideInFromRight .3s ease-out}.transactions-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.transactions-card-header h3{margin:0}.upload-section{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:1rem 0}.file-input{flex:1;min-width:250px;padding:12px;border:2px dashed var(--border-color);border-radius:8px;background:var(--neutral-dark);color:var(--text-color);cursor:pointer;transition:all .3s ease;font-size:.95rem}.file-input:hover{border-color:var(--secondary-hop-green);background:var(--card-hover)}.file-input:focus{outline:none;border-color:var(--secondary-hop-green);box-shadow:0 0 0 3px color-mix(in srgb,var(--secondary-hop-green) 20%,transparent)}.file-info{margin-top:1rem;padding:.75rem 1rem;background:color-mix(in srgb,var(--color-success) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-success) 30%,transparent);border-radius:6px;color:var(--secondary-hop-green);font-size:.9rem;font-weight:500}.import-card-description{margin:0 0 1rem;color:var(--text-muted)}.retain-upload-copy{margin-top:.9rem}.retain-upload-copy__label{display:flex;align-items:flex-start;gap:.65rem;color:var(--text-color);font-size:var(--text-md);font-weight:600;line-height:1.45;cursor:pointer}.retain-upload-copy__checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;place-content:center;flex:0 0 auto;width:1.15rem;height:1.15rem;min-width:1.15rem;margin:.13rem 0 0;padding:0;border:1.5px solid var(--surface-panel-border);border-radius:4px;background:color-mix(in srgb,var(--surface-highlight) 72%,transparent);cursor:pointer;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.retain-upload-copy__checkbox:before{content:"";width:.58rem;height:.34rem;border-left:2px solid var(--text-light);border-bottom:2px solid var(--text-light);transform:rotate(-45deg) scale(0);transform-origin:center;transition:transform .16s ease}.retain-upload-copy__checkbox:checked{background:var(--secondary-hop-green);border-color:var(--secondary-hop-green)}.retain-upload-copy__checkbox:checked:before{transform:rotate(-45deg) scale(1)}.retain-upload-copy__checkbox:focus-visible{outline:3px solid color-mix(in srgb,var(--secondary-hop-green) 38%,transparent);outline-offset:2px;box-shadow:none}.retain-upload-copy__message,.retain-upload-copy__boundary{margin-left:calc(1.15rem + .65rem);color:var(--text-muted);line-height:1.6}.retain-upload-copy__message{margin-top:.45rem;margin-bottom:0;font-size:var(--text-sm)}.retain-upload-copy__boundary{margin-top:.45rem;margin-bottom:0;font-size:var(--text-xs)}.instructions-card{margin-top:2rem;background:linear-gradient(135deg,var(--card-background) 0%,color-mix(in srgb,var(--secondary-hop-green) 5%,transparent) 100%)}.instruction-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:1rem}.instruction-item h4{color:var(--secondary-hop-green);margin-bottom:.5rem;font-size:1.1rem;display:flex;align-items:center;gap:8px}.instruction-item p{color:var(--text-muted);line-height:1.6;margin:0;font-size:.95rem}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start}.transactions-card-header{flex-direction:column;align-items:stretch}.transaction-actions{width:100%;justify-content:center}.upload-section{flex-direction:column;align-items:stretch}.file-input{min-width:auto}.transaction-actions .btn,.upload-section .btn{width:100%;justify-content:center}.retain-upload-copy__message,.retain-upload-copy__boundary{margin-left:0}.upload-guide{padding:.75rem}.instruction-grid{grid-template-columns:1fr;gap:1.5rem}.results-grid{grid-template-columns:1fr}}.result-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--neutral-dark);border-radius:8px;border-left:4px solid var(--secondary-hop-green)}.result-label{font-size:.9rem;color:var(--text-muted)}.result-value{font-weight:700;font-size:1.1rem;color:var(--secondary-hop-green);font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace}.errors-section{margin-top:1.5rem;padding:1rem;background:color-mix(in srgb,var(--color-danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-danger) 30%,transparent);border-radius:8px}.errors-section h4{color:var(--color-danger);margin-bottom:.5rem;font-size:1rem}.errors-section ul{margin:0;padding-left:1.5rem}.error-item{color:var(--color-danger);font-size:.9rem;line-height:1.4;margin-bottom:.25rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem;margin-bottom:1.5rem}.form-grid label{display:flex;flex-direction:column;gap:.5rem;font-weight:500;color:var(--text-muted);font-size:.9rem}.account-page{max-width:760px;margin:0 auto;padding:2rem 1rem 4rem}.account-page-title{font-size:1.8rem;font-weight:700;color:var(--text-color);margin:0 0 2rem}.account-section{background:var(--card-background);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;margin-bottom:1.25rem;transition:border-color .2s ease}.account-section:hover{border-color:var(--secondary-hop-green)}.account-section--danger{border-color:color-mix(in srgb,var(--color-danger) 40%,transparent)}.account-section--danger:hover{border-color:var(--color-danger)}.account-section-title{font-size:.8rem;font-weight:600;color:var(--text-muted);margin:0 0 1.25rem;text-transform:uppercase;letter-spacing:.04em}.account-section-header-row{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:1.25rem}.account-section-header-row .account-section-title{margin-bottom:0}.account-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 2rem}.account-field{display:flex;flex-direction:column;gap:4px}.account-field-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.account-field-value{font-size:.95rem;color:var(--text-color);font-weight:500}.account-field-value--muted{color:var(--text-muted);font-weight:400}.account-field-value-row{display:flex;align-items:center;gap:10px}.account-field-edit-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-subsection{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border-color)}.account-subsection-header{display:flex;align-items:center;justify-content:space-between}.account-subsection-title{font-size:.85rem;font-weight:500;color:var(--text-color)}.account-inline-form{display:flex;flex-direction:column;gap:10px;margin-top:12px;max-width:400px}.account-password-row{display:flex;align-items:center;gap:8px}.account-password-row .account-input{flex:1}.account-input{background:var(--neutral-dark);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);font-size:.9rem;padding:8px 12px;width:100%;box-sizing:border-box;transition:border-color .2s ease}.account-input:focus{outline:none;border-color:var(--secondary-hop-green)}.account-stats-row{display:flex;gap:16px;flex-wrap:wrap}.account-stat{font-size:.8rem;color:var(--text-muted)}.account-stat strong{color:var(--text-color)}.account-upload-list{display:flex;flex-direction:column;gap:8px}.account-upload-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--neutral-dark);border:1px solid var(--border-color);border-radius:8px;flex-wrap:wrap}.account-upload-info{display:flex;flex-direction:column;gap:2px;min-width:0}.account-upload-name{font-size:.875rem;font-weight:500;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.account-upload-meta{font-size:.75rem;color:var(--text-muted)}.account-upload-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap}.account-upload-confirm-text{font-size:.8rem;color:var(--text-muted)}.account-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.account-badge--success{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.account-badge--running{background:color-mix(in srgb,var(--color-info) 15%,transparent);color:var(--color-info)}.account-badge--pending{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning)}.account-badge--error{background:color-mix(in srgb,var(--color-danger) 15%,transparent);color:var(--color-danger)}.account-danger-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:none;color:var(--color-danger);font-size:.875rem;font-weight:600;cursor:pointer;padding:0;text-transform:uppercase;letter-spacing:.04em}.account-danger-toggle-icon{font-size:.7rem;color:var(--text-muted)}.account-danger-body{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid color-mix(in srgb,var(--color-danger) 30%,transparent)}.account-danger-title{font-size:1rem;font-weight:600;color:var(--color-danger);margin:0 0 8px}.account-danger-desc{font-size:.875rem;color:var(--text-muted);margin-bottom:12px;line-height:1.5}.billing-current-plan{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:1.5rem;padding:12px 16px;background:var(--neutral-dark);border:1px solid var(--border-color);border-radius:10px}.billing-plan-badge{font-size:1rem;font-weight:700;letter-spacing:-.3px}.billing-plan-meta{flex:1;font-size:.8rem}.billing-period-toggle{display:flex;gap:6px;margin-bottom:1rem}.billing-save-tag{display:inline-flex;align-items:center;margin-left:6px;background:color-mix(in srgb,var(--secondary-hop-green) 18%,transparent);color:var(--secondary-hop-green);border:1px solid color-mix(in srgb,var(--secondary-hop-green) 42%,transparent);font-size:.78rem;line-height:1.1;padding:2px 8px;border-radius:999px;font-weight:700;letter-spacing:.01em}.billing-period-toggle .toggle-chip.is-active .billing-save-tag{color:var(--btn-active-text);background:color-mix(in srgb,var(--text-light) 24%,transparent);border-color:color-mix(in srgb,var(--text-light) 42%,transparent)}.billing-upgrade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.billing-upgrade-card{background:var(--neutral-dark);border:1px solid var(--border-color);border-radius:10px;padding:1.25rem;display:flex;flex-direction:column;gap:12px;transition:border-color .2s ease}.billing-upgrade-card:hover{border-color:var(--secondary-hop-green)}.billing-upgrade-card--founding{border-color:color-mix(in srgb,var(--color-founding) 40%,transparent)}.billing-upgrade-card--founding:hover{border-color:var(--color-founding)}.billing-upgrade-header{display:flex;justify-content:space-between;align-items:baseline}.billing-upgrade-plan-name{font-size:.95rem;font-weight:700;color:var(--text-color)}.billing-upgrade-price{font-size:1.1rem;font-weight:700;color:var(--secondary-hop-green)}.billing-upgrade-card--founding .billing-upgrade-price{color:var(--color-founding)}.billing-upgrade-period{font-size:.75rem;font-weight:400;color:var(--text-muted)}.billing-upgrade-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;flex:1}.billing-upgrade-features li{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-muted)}.billing-check{color:var(--secondary-hop-green);font-size:.7rem;flex-shrink:0}@media (max-width: 600px){.account-field-grid{grid-template-columns:1fr}.account-section-header-row{flex-direction:column;align-items:flex-start}.account-upload-name{max-width:200px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--shadow-xl);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.manual-transaction-form{background:var(--card-background);border-radius:12px;box-shadow:0 8px 32px var(--shadow-sm);max-width:700px;width:100%;max-height:90vh;overflow-y:auto;border:1px solid var(--border-color)}.form-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;margin-bottom:24px;border-bottom:1px solid var(--border-color)}.form-header h3{margin:0;color:var(--secondary-hop-green);font-size:1.5rem;font-weight:700}.close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:var(--text-muted);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-btn:hover{background:var(--neutral-dark);color:var(--text-color)}.transaction-form{padding:0 24px 24px;display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:600;color:var(--text-color);font-size:.9rem;margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{padding:12px;border:2px solid var(--border-color);border-radius:8px;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;transition:all .2s ease;background:var(--neutral-dark);color:var(--text-color)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--secondary-hop-green);box-shadow:0 0 0 3px color-mix(in srgb,var(--secondary-hop-green) 20%,transparent)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--neutral-gray)}.form-group input.price-input-warning{border-color:color-mix(in srgb,var(--color-warning) 70%,transparent)}.form-group input.price-input-warning:focus{border-color:var(--accent-yellow);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-warning) 20%,transparent)}.stock-search,.search-container{position:relative}.stock-search-input{width:100%}.search-spinner{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--text-muted);font-weight:500}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--card-background);border:2px solid var(--secondary-hop-green);border-top:none;border-radius:0 0 8px 8px;max-height:250px;overflow-y:auto;z-index:1001;box-shadow:0 8px 16px var(--shadow-sm)}@media (max-width: 768px){.modal-overlay{padding:10px}.manual-transaction-form{max-height:95vh;margin:0}.form-header{padding:16px 16px 12px;margin-bottom:16px}.transaction-form{padding:16px;gap:16px}.form-row{grid-template-columns:1fr;gap:16px}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.suggestions-dropdown{max-height:200px}}.suggestion-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--border-color);transition:background-color .2s ease}.suggestion-item:hover{background-color:var(--table-hover)}.suggestion-item:last-child{border-bottom:none}.suggestion-item.no-results{color:var(--text-muted);font-style:italic;cursor:default}.suggestion-item.no-results:hover{background-color:transparent}.suggestion-item:focus{outline:3px solid var(--secondary-hop-green);outline-offset:-2px;background-color:var(--table-hover)}.suggestion-main{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:4px}.symbol{color:var(--secondary-hop-green);font-size:.95rem}.exchange{color:var(--text-muted);font-size:.85rem;font-weight:400}.suggestion-name{font-size:.9rem;color:var(--text-color);margin-bottom:2px;line-height:1.3}.suggestion-meta{font-size:.8rem;color:var(--neutral-gray);line-height:1.2}.manual-entry-notice{background:color-mix(in srgb,var(--color-warning) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-warning) 30%,transparent);border-radius:8px;padding:12px;margin:-8px 0 8px}.manual-entry-notice p{margin:0;color:var(--accent-yellow);font-size:.9rem;font-weight:500}.selected-stock-info{background:color-mix(in srgb,var(--color-success) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-success) 30%,transparent);border-radius:8px;padding:16px;margin:8px 0}.selected-stock-info h4{margin:0 0 8px;color:var(--secondary-hop-green);font-size:1.1rem}.selected-stock-info p{margin:0;font-size:.9rem;color:var(--text-muted);line-height:1.4}.transaction-summary{background:var(--neutral-dark);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin:8px 0}.transaction-summary h4{margin:0 0 12px;color:var(--text-color);font-size:1rem;font-weight:600}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:.9rem}.summary-row span:first-child{color:var(--text-muted)}.summary-row span:last-child{color:var(--text-color);font-weight:600;font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace}.summary-row.total{border-top:1px solid var(--border-color);margin-top:8px;padding-top:8px;font-weight:600}.summary-row.total span:last-child{color:var(--secondary-hop-green);font-size:1rem}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.form-group.loading input{background-image:linear-gradient(90deg,transparent,var(--surface-border-medium),transparent);animation:loading 1.5s infinite}@keyframes loading{0%{background-position:-200px 0}to{background-position:200px 0}}.form-group.error input,.form-group.error select{border-color:var(--color-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 20%,transparent)}.error-message{color:var(--color-danger);font-size:.8rem;margin-top:4px}.form-group.success input{border-color:var(--secondary-hop-green)}.ai-card{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.ai-form{display:flex;flex-direction:column;gap:1rem}.ai-textarea{width:100%;font-size:1rem;padding:.8rem;border-radius:8px;border:1px solid var(--border-color);background:var(--input-background, var(--background-color));color:var(--text-light);resize:vertical}.ai-controls{display:flex;justify-content:space-between;align-items:center}.ai-toggle{display:flex;align-items:center;gap:.4rem;color:var(--muted-text)}.ai-response{margin-top:1.2rem;padding:1rem;background:var(--card-background);border-radius:10px;border:1px solid var(--border-color)}.closed-positions-section{width:100%;max-width:100%;margin-top:20px;background:var(--card-background);border-radius:12px;border:1px solid var(--border-color);padding:20px;overflow-x:auto;position:relative}.closed-positions-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:0}.closed-positions-header:hover .closed-positions-toggle{color:var(--text-light)}.closed-positions-title{display:flex;align-items:baseline;gap:.75rem;font-size:1rem;font-weight:700;color:var(--text-light);flex-wrap:wrap;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.closed-positions-stats{font-size:.82rem;font-weight:400;color:var(--neutral-gray);display:flex;flex-wrap:wrap;gap:0}.closed-positions-toggle{font-size:1.2rem;color:var(--neutral-gray);line-height:1;flex-shrink:0;transition:color .15s}.closed-positions-body{margin-top:1rem}.portfolio-container,.networth-container,.dividends-container,.analytics-container,.transactions-page,.account-page,.calendar-page,.page-container{position:relative;isolation:isolate}.portfolio-container:before,.networth-container:before,.dividends-container:before,.analytics-container:before,.transactions-page:before,.account-page:before,.calendar-page:before,.page-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--secondary-hop-green) 3%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in srgb,var(--secondary-hop-green) 2%,transparent) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.28),transparent 62%);mask-image:linear-gradient(180deg,rgba(0,0,0,.28),transparent 62%);opacity:.35}.chart-section,.doughnut-chart-container,.stock-list-container,.closed-positions-section,.balance-sheet-column,.networth-summary,.calendar-wrapper,.agenda-filter-bar,.agenda-list,.agenda-empty-filtered,.account-section,.transactions-page .card,.transactions-page .card-tech,.ai-card,.ai-response,.nw-stat-strip,.analytics-projection-scenarios{position:relative;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-panel) 95%,var(--primary-evergreen) 5%),var(--surface-panel));border:1px solid var(--surface-panel-border);border-radius:14px;box-shadow:inset 0 1px 0 var(--surface-inset),var(--card-shadow)}.chart-section:before,.doughnut-chart-container:before,.stock-list-container:before,.closed-positions-section:before,.balance-sheet-column:before,.networth-summary:before,.calendar-wrapper:before,.agenda-filter-bar:before,.agenda-list:before,.agenda-empty-filtered:before,.account-section:before,.transactions-page .card:before,.transactions-page .card-tech:before,.ai-card:before,.ai-response:before,.nw-stat-strip:before,.analytics-projection-scenarios:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--surface-panel-accent),color-mix(in srgb,var(--secondary-hop-green) 55%,transparent),transparent);opacity:.72;pointer-events:none}.chart-section:hover,.doughnut-chart-container:hover,.stock-list-container:hover,.closed-positions-section:hover,.balance-sheet-column:hover,.networth-summary:hover,.calendar-wrapper:hover,.agenda-filter-bar:hover,.agenda-list:hover,.account-section:hover,.transactions-page .card:hover,.transactions-page .card-tech:hover,.ai-card:hover,.ai-response:hover,.nw-stat-strip:hover,.analytics-projection-scenarios:hover{transform:none;border-color:color-mix(in srgb,var(--secondary-hop-green) 42%,var(--surface-panel-border));box-shadow:inset 0 1px 0 var(--surface-inset),var(--card-shadow)}.chart-section>*,.doughnut-chart-container>*,.stock-list-container>*,.closed-positions-section>*,.balance-sheet-column>*,.networth-summary>*,.calendar-wrapper>*,.agenda-filter-bar>*,.agenda-list>*,.agenda-empty-filtered>*,.account-section>*,.transactions-page .card>*,.transactions-page .card-tech>*,.ai-card>*,.ai-response>*,.nw-stat-strip>*,.analytics-projection-scenarios>*{position:relative;z-index:1}.analytics-metric-card,.analytics-cagr-card,.analytics-projection-kpi-card,.analytics-projection-scenario-card,.analytics-attribution-kpi-card,.nw-stat-item,.result-item,.billing-current-plan{position:relative;border:1px solid var(--surface-border-medium);border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--card-background) 72%,transparent),color-mix(in srgb,var(--surface-highlight) 70%,transparent));box-shadow:inset 0 1px 0 var(--surface-inset)}.analytics-metric-card:before,.analytics-cagr-card:before,.analytics-projection-kpi-card:before,.analytics-projection-scenario-card:before,.analytics-attribution-kpi-card:before,.nw-stat-item:before,.result-item:before,.billing-current-plan:before{content:"";position:absolute;left:12px;right:12px;top:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--secondary-hop-green) 30%,transparent),transparent);opacity:.7}.analytics-projection-chart-wrap,.analytics-attribution-chart-wrap,.portfolio-bar-chart-wrapper,.stocks-treemap,.distribution-treemap{border:1px solid var(--surface-border);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--background-color) 34%,transparent),transparent),color-mix(in srgb,var(--card-background) 72%,transparent);box-shadow:inset 0 1px 0 var(--surface-inset);padding:12px}.portfolio-bar-chart-wrapper canvas,.analytics-projection-chart-wrap canvas,.analytics-attribution-chart-wrap canvas{max-width:100%}.agenda-row,.account-upload-row,.dividends-table tbody tr,.stock-list-table tbody tr,.balance-sheet-table tbody tr{transition:background-color .16s ease,border-color .16s ease}.agenda-row:hover,.agenda-row:focus-visible,.account-upload-row:hover,.dividends-table tbody tr:hover,.stock-list-table tbody tr:hover,.balance-sheet-table tbody tr:hover{background:color-mix(in srgb,var(--surface-highlight) 76%,transparent)}.stock-list-table th,.balance-sheet-table th,.dividends-table th,.table-group-header td,.balance-sheet-table tfoot td,.dividends-table tfoot td{background:color-mix(in srgb,var(--neutral-dark) 84%,var(--primary-evergreen) 16%)}.dividends-table-container{width:100%;max-width:100%;overflow-x:auto;padding:12px;border:1px solid var(--surface-panel-border);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-panel) 95%,var(--primary-evergreen) 5%),var(--surface-panel));box-shadow:inset 0 1px 0 var(--surface-inset),var(--card-shadow)}.dividends-table{border:0;border-radius:10px;overflow:hidden}.analytics-subpage-nav,.portfolio-tabs,.portfolio-toolbar,.dividends-toolbar,.dividends-context-strip{border-color:var(--surface-panel-border)}.analytics-subpage-nav,.portfolio-tabs{background:color-mix(in srgb,var(--card-background) 76%,transparent);box-shadow:inset 0 1px 0 var(--surface-inset)}.chart-section h2,.card-tech h3,.balance-sheet-column h2,.portfolio-panel-title,.closed-positions-title,.account-section-title{color:var(--text-color)}.chart-tooltip,.analytics-attribution-label-tooltip,.metric-info-box{background:color-mix(in srgb,var(--neutral-dark) 92%,var(--primary-evergreen) 8%);border-color:var(--surface-panel-border);box-shadow:0 12px 28px var(--shadow-md)}.account-section--danger:before{background:linear-gradient(180deg,var(--color-danger),transparent)}.account-section--danger,.account-section--danger:hover{border-color:color-mix(in srgb,var(--color-danger) 45%,var(--surface-panel-border))}.dividends-table:hover{transform:none;border-color:transparent;box-shadow:none}@media (max-width: 768px){.chart-section,.doughnut-chart-container,.stock-list-container,.closed-positions-section,.balance-sheet-column,.networth-summary,.calendar-wrapper,.agenda-filter-bar,.agenda-list,.agenda-empty-filtered,.account-section,.transactions-page .card,.transactions-page .card-tech,.ai-card,.ai-response,.nw-stat-strip,.analytics-projection-scenarios,.dividends-table-container{border-radius:12px}.analytics-projection-chart-wrap,.analytics-attribution-chart-wrap,.portfolio-bar-chart-wrapper,.stocks-treemap,.distribution-treemap{padding:8px}.dividends-toolbar{grid-template-columns:1fr}.dividends-chips{grid-column:auto}.account-field-grid{grid-template-columns:1fr}.account-upload-actions,.account-upload-actions .btn{width:100%}}.landing-root{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}.landing-main,.landing-section,.landing-footer{max-width:100%;margin:0 auto}.landing-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:18px 30px 12px}.landing-header-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:10px;min-width:0}.landing-header-link{color:var(--text-muted);font-size:.9rem;text-decoration:none}.landing-header-link:hover{color:var(--secondary-hop-green)}.landing-main{flex:1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;padding:10px 30px 30px}@media (min-width: 1920px){.landing-main,.landing-section,.landing-footer{max-width:1600px}}.landing-hero-card,.landing-preview-card{align-self:center}.landing-hero-card{max-width:700px}.landing-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid var(--border-color);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--neutral-gray);margin-bottom:10px;background:var(--auth-card-bg)}.landing-title{font-size:2.3rem;margin:0 0 10px;letter-spacing:-.5px}.landing-title span{display:block;color:var(--secondary-hop-green)}.landing-subtitle{font-size:.98rem;color:var(--text-muted);max-width:520px;margin-bottom:18px}.landing-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.landing-cta-row .btn--primary{box-shadow:0 8px 22px color-mix(in srgb,var(--secondary-hop-green) 45%,transparent)}.landing-cta-row .btn--primary:hover:not(:disabled){box-shadow:0 12px 30px color-mix(in srgb,var(--secondary-hop-green) 55%,transparent)}.landing-cta-row .btn--subtle{font-weight:500}.landing-metrics-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:4px}.landing-metric{display:flex;flex-direction:column}.landing-metric-label{font-size:.75rem;text-transform:uppercase;color:var(--neutral-gray);letter-spacing:.1em}.landing-metric-value{font-size:.9rem;font-weight:600}.landing-metric-divider{width:1px;height:32px;background:var(--border-color)}.landing-preview-card{max-width:420px}.landing-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.8rem;color:var(--text-muted)}.landing-preview-tag{border-radius:999px;padding:3px 8px;border:1px solid var(--border-color);font-size:.7rem}.landing-preview-body{border-radius:8px;background:var(--background-dark);padding:12px}.landing-preview-label{font-size:.8rem;color:var(--neutral-gray);margin-bottom:2px}.landing-preview-value{font-size:1.5rem;font-weight:700;margin:0}.landing-preview-change{font-size:.8rem;color:var(--color-success)}.landing-preview-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.landing-preview-chip{flex:1 1 30%;min-width:0;border-radius:10px;padding:8px 10px;background:var(--card-background);border:1px solid var(--border-color)}.chip-label{display:block;font-size:.75rem;color:var(--neutral-gray)}.chip-value{font-size:.9rem;font-weight:600}.landing-mini-table{margin-top:4px;font-size:.8rem}.landing-mini-table-header,.landing-mini-table-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:6px;padding:4px 0}.landing-mini-table-header{color:var(--neutral-gray);border-bottom:1px solid var(--border-color);margin-bottom:2px}.landing-mini-table-row{border-bottom:1px dashed var(--border-color)}.landing-mini-table-row:last-child{border-bottom:none}.landing-preview-footer{margin-top:8px;font-size:.78rem;color:var(--neutral-gray)}.landing-section{padding:10px 30px 24px}.landing-section-title{font-size:1.4rem;margin-bottom:4px}.landing-section-subtitle{font-size:.95rem;color:var(--text-muted);max-width:520px;margin-bottom:18px}.landing-features-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.landing-feature-card h4{margin-top:0;margin-bottom:6px}.demo-banner{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 20px;background:var(--secondary-hop-green);color:var(--text-light);font-size:.875rem;flex-wrap:wrap}.demo-banner-text{opacity:.95}.demo-banner-cta{background:var(--surface-border-medium);color:var(--text-light);border:1px solid var(--surface-border-strong);border-radius:6px;padding:4px 14px;font-size:.85rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s}.demo-banner-cta:hover{background:var(--surface-border-strong)}.demo-exit-nav-btn{color:var(--secondary-hop-green)!important;font-weight:600}.demo-readonly-note{display:flex;align-items:center;gap:8px;padding:14px 18px;font-size:.875rem;color:var(--text-muted);border-left:3px solid var(--secondary-hop-green)}.demo-account-cta{display:flex;flex-direction:column;gap:14px;align-items:flex-start}.demo-account-cta p{font-size:.9rem;color:var(--text-muted);margin:0}.landing-flowchart{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) auto minmax(260px,.9fr) auto minmax(0,1.2fr);gap:14px;align-items:center;margin-top:22px}.landing-flowchart:before{content:"";position:absolute;left:20%;right:20%;top:50%;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--secondary-hop-green) 48%,var(--border-color)),transparent);z-index:0}.landing-flow-column,.landing-flow-hub{position:relative;z-index:1}.landing-flow-column-title{margin:0 0 8px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--neutral-gray);font-weight:700}.landing-flow-input-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.landing-flow-output-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.landing-flow-card,.landing-flow-output,.landing-flow-hub{background:color-mix(in srgb,var(--card-bg) 84%,transparent);border:1px solid var(--surface-border-medium);border-radius:14px}.landing-flow-card,.landing-flow-output{padding:14px}.landing-flow-card h4,.landing-flow-output h4,.landing-flow-hub h4{margin:0 0 6px;font-size:.95rem}.landing-flow-card p,.landing-flow-output p,.landing-flow-hub p{margin:0;color:var(--text-muted);font-size:.86rem;line-height:1.5}.landing-flow-badge{display:inline-flex;align-items:center;justify-content:center;margin-bottom:10px;padding:3px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--secondary-hop-green) 42%,var(--border-color));color:var(--secondary-hop-green);background:color-mix(in srgb,var(--secondary-hop-green) 12%,transparent);font-size:.72rem;font-weight:700;letter-spacing:.04em}.landing-flow-hub{padding:16px;border-color:color-mix(in srgb,var(--secondary-hop-green) 46%,var(--border-color));box-shadow:0 14px 28px color-mix(in srgb,var(--secondary-hop-green) 20%,transparent)}.landing-flow-chip-row{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.landing-flow-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:8px;font-size:.74rem;color:var(--text-color);border:1px solid var(--surface-border-medium);background:color-mix(in srgb,var(--surface-highlight) 70%,transparent)}.landing-flow-connector{position:relative;z-index:1;width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:700;color:var(--secondary-hop-green);border:1px solid color-mix(in srgb,var(--secondary-hop-green) 42%,var(--border-color));background:color-mix(in srgb,var(--card-bg) 92%,transparent)}.landing-steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:start;gap:12px;margin-top:24px}.landing-step{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:20px}.landing-step-number{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--secondary-hop-green);color:var(--text-light);font-weight:700;font-size:.9rem;margin-bottom:10px}.landing-step h4{margin:0 0 6px;font-size:.95rem}.landing-step p{margin:0;font-size:.875rem;color:var(--text-muted);line-height:1.5}.landing-step-arrow{font-size:1.4rem;color:var(--text-muted);padding-top:20px;opacity:.5}.landing-trust-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:20px 40px;padding:20px 32px;background:var(--card-bg);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.landing-trust-item{font-size:.875rem;color:var(--text-muted)}.landing-faq{margin-top:24px;display:flex;flex-direction:column;gap:2px;max-width:720px}.faq-item{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.faq-question{width:100%;background:var(--card-bg);border:none;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--text-primary);text-align:left;gap:12px}.faq-question:hover{background:var(--card-hover)}.faq-chevron{font-size:1.1rem;color:var(--secondary-hop-green);flex-shrink:0}.faq-answer{padding:0 18px 14px;font-size:.875rem;color:var(--text-muted);line-height:1.6;background:var(--card-bg)}.faq-answer a{color:var(--secondary-hop-green);text-decoration:none}.faq-answer a:hover{text-decoration:underline}@media (max-width: 768px){.landing-flowchart{grid-template-columns:minmax(0,1fr);gap:12px}.landing-flowchart:before{display:none}.landing-flow-output-grid{grid-template-columns:minmax(0,1fr)}.landing-flow-connector{margin:0 auto;transform:rotate(90deg)}.landing-steps{grid-template-columns:1fr}.landing-step-arrow{display:none}}.landing-footer{padding:8px 30px 18px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;color:var(--neutral-gray)}.landing-footer-secondary{opacity:.85}.landing-footer-legal{display:flex;align-items:center;gap:.4rem}.landing-footer-legal-link{color:var(--neutral-gray);text-decoration:none;font-size:.8rem;opacity:.75;transition:opacity .15s}.landing-footer-legal-link:hover{opacity:1}.landing-footer-legal-sep{color:var(--neutral-gray);opacity:.4}@media (max-width: 960px){.landing-main{grid-template-columns:minmax(0,1fr);gap:20px}.landing-preview-card{max-width:100%}.landing-header-actions{width:100%;justify-content:flex-start}.landing-header-actions .language-switcher__menu{left:0;right:auto}}@media (max-width: 640px){.landing-header,.landing-main,.landing-section,.landing-footer{padding-inline:16px}.landing-features-grid{grid-template-columns:minmax(0,1fr)}.landing-header-link,.landing-header-actions .language-switcher__trigger .language-switcher__label{display:none}.landing-header-actions .language-switcher__menu .language-switcher__label{display:inline}.landing-footer{flex-direction:column;align-items:flex-start;gap:4px}}@media (max-width: 640px){.dividends-toolbar{grid-template-columns:1fr}.dividends-context-strip{flex-direction:column;gap:6px}.stock-list-table thead,.dividends-table thead,.balance-sheet-table thead{display:none}.stock-list-table,.dividends-table,.balance-sheet-table,.stock-list-table tbody,.dividends-table tbody,.balance-sheet-table tbody,.stock-list-table tfoot,.dividends-table tfoot,.balance-sheet-table tfoot{display:block;width:100%}.stock-list-table tr,.dividends-table tr,.balance-sheet-table tr{display:block;margin-bottom:var(--space-3);border:1px solid var(--border-color);border-radius:12px;padding:var(--space-2);background:var(--card-background)}.stock-list-table td,.dividends-table td,.balance-sheet-table td{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;border:none}.stock-list-table td:before,.dividends-table td:before,.balance-sheet-table td:before{content:attr(data-label);font-size:var(--text-xs);color:var(--neutral-gray);text-transform:uppercase;letter-spacing:.04em;padding-right:12px}.dividends-group-row td{display:block;padding:8px}.dividends-group-row td:before{display:none;content:none}.mobile-hide{display:none!important}}.pricing-section{margin-top:8px}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:16px}.pricing-card{display:flex;flex-direction:column;justify-content:space-between;min-height:260px;position:relative}.pricing-header h4{margin:0 0 4px;font-size:1.1rem}.pricing-tagline{margin:0;font-size:.85rem;color:var(--text-muted)}.pricing-price{margin-top:10px;display:flex;align-items:baseline;gap:4px}.pricing-price-main{font-size:1.6rem;font-weight:700}.pricing-price-sub{font-size:.85rem;color:var(--neutral-gray)}.pricing-list{list-style:none;padding:0;margin:14px 0 16px;font-size:.85rem;color:var(--text-muted);display:flex;flex-direction:column;gap:6px}.pricing-list-item{display:flex;align-items:flex-start;gap:6px}.pricing-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-top:1px;border-radius:999px;font-size:.7rem;background:color-mix(in srgb,var(--color-success) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-success) 70%,transparent);color:var(--color-success)}.pricing-button{margin-top:auto;align-self:flex-start;padding:8px 16px;color:var(--text-light);font-size:.85rem;font-weight:500}.pricing-button:hover{background:var(--card-hover);border-color:var(--secondary-hop-green);transform:translateY(-1px);box-shadow:0 8px 20px var(--shadow-lg)}.pricing-button-primary{box-shadow:0 10px 24px color-mix(in srgb,var(--secondary-hop-green) 55%,transparent)}.pricing-button-primary:hover{background:var(--primary-evergreen)}.pricing-card-highlight{border-color:var(--secondary-hop-green);box-shadow:0 14px 32px color-mix(in srgb,var(--secondary-hop-green) 35%,transparent);position:relative}.pricing-card-highlight:before{content:"Most popular";position:absolute;top:-10px;right:12px;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;padding:3px 8px;border-radius:999px;background:var(--secondary-hop-green);color:var(--text-light)}@media (max-width: 960px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.pricing-grid{grid-template-columns:minmax(0,1fr)}.pricing-card-highlight:before{right:10px}}.pricing-toggle{display:inline-flex;align-items:center;gap:10px;margin:10px 0 22px;padding:6px 10px;border-radius:999px;background:var(--shadow-md);border:1px solid var(--border-color)}.toggle-label{font-size:.85rem;color:var(--text-muted);transition:color .2s ease}.toggle-label-active{color:var(--text-light);font-weight:600}.toggle-save{font-size:.75rem;color:var(--secondary-hop-green);font-weight:600;margin-left:4px}.switch{position:relative;display:inline-block;width:46px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;background-color:var(--border-color);border-radius:34px;top:0;left:0;right:0;bottom:0;transition:.3s}.slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background-color:var(--text-light);border-radius:50%;transition:.3s}.switch input:checked+.slider{background-color:var(--secondary-hop-green)}.switch input:checked+.slider:before{transform:translate(20px)}.text-success{color:var(--secondary-hop-green)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--accent-yellow)}.text-muted{color:var(--text-muted)}.mobile-hide{display:table-cell}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state-title{font-size:1.5rem;font-weight:600;color:var(--text-color);margin-bottom:.5rem}.empty-state-description{font-size:1rem;margin-bottom:1.5rem;max-width:400px;margin-left:auto;margin-right:auto;line-height:1.5}.empty-state-cta{display:inline-block;padding:.55rem 1.4rem;border-radius:6px;background:var(--primary-evergreen);color:var(--text-light);font-size:.875rem;font-weight:600;text-decoration:none;transition:opacity .15s}.empty-state-cta:hover{opacity:.82}.upload-guide{margin-top:1.25rem;padding:.85rem;border:1px solid color-mix(in srgb,var(--secondary-hop-green) 42%,var(--border-color));border-radius:8px;background:color-mix(in srgb,var(--secondary-hop-green) 9%,transparent)}.upload-guide-toggle{width:100%;min-height:44px;background:transparent;border:0;cursor:pointer;color:var(--text-color);font-size:var(--text-md);font-weight:700;padding:0;display:flex;align-items:center;justify-content:flex-start;gap:.65rem;text-align:left;box-shadow:none}.upload-guide-toggle:hover{background:transparent;color:var(--secondary-hop-green);box-shadow:none;transform:none}.upload-guide-toggle__chevron{display:inline-grid;place-items:center;flex:0 0 auto;width:1.6rem;height:1.6rem;border:1px solid color-mix(in srgb,var(--secondary-hop-green) 46%,var(--border-color));border-radius:6px;background:color-mix(in srgb,var(--secondary-hop-green) 14%,transparent);color:var(--secondary-hop-green);font-size:.85rem;line-height:1}.upload-guide-toggle__text{min-width:0}.upload-guide-body{margin-top:.9rem;padding-top:.9rem;border-top:1px solid color-mix(in srgb,var(--secondary-hop-green) 28%,var(--border-color))}.upload-guide-body ol{margin:0 0 .75rem 1.2rem;padding:0;color:var(--text-muted);font-size:var(--text-sm);line-height:1.8}.upload-guide-note{font-size:var(--text-sm);color:var(--text-muted);background:var(--surface-border-subtle);border-left:3px solid var(--primary-evergreen);padding:.5rem .75rem;border-radius:0 4px 4px 0;margin-top:.5rem}.legal-page{min-height:100vh;background:var(--background-color);padding:2rem 1rem 4rem}.legal-container{max-width:760px;margin:0 auto;color:var(--text-light);font-size:.95rem;line-height:1.7}.legal-back{margin-bottom:1.5rem}.legal-back a{color:var(--text-muted);text-decoration:none;font-size:.875rem}.legal-back a:hover{color:var(--text-light)}.legal-container h1{font-size:2rem;font-weight:700;margin-bottom:.25rem;color:var(--text-light)}.legal-updated{color:var(--text-muted);font-size:.85rem;margin-bottom:2rem}.legal-container h2{font-size:1.2rem;font-weight:600;margin-top:2rem;margin-bottom:.5rem;color:var(--text-light);border-bottom:1px solid var(--border-color);padding-bottom:.35rem}.legal-container h3{font-size:1rem;font-weight:600;margin-top:1.25rem;margin-bottom:.35rem;color:var(--text-muted)}.legal-container p{margin-bottom:.9rem;color:var(--text-muted)}.legal-container ul,.legal-container ol{margin:.5rem 0 1rem 1.4rem;color:var(--text-muted)}.legal-container li{margin-bottom:.4rem}.legal-container a{color:var(--secondary-hop-green);text-decoration:underline}.legal-container a:hover{opacity:.8}.legal-container strong{color:var(--text-light)}.legal-container code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85em;background:var(--surface-highlight-hover);padding:.1em .4em;border-radius:3px}.legal-table{width:100%;border-collapse:collapse;margin:1rem 0 1.5rem;font-size:.875rem}.legal-table th,.legal-table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--border-color);color:var(--text-muted)}.legal-table th{color:var(--text-light);font-weight:600;background:var(--surface-border-subtle)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--neutral-dark);border-radius:5px}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:5px;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:var(--secondary-hop-green)}*{scrollbar-width:thin;scrollbar-color:var(--border-color) var(--neutral-dark)}@media print{body:before,body:after{display:none}.app-header,.subscription-banner,.nav-links button,button{display:none}.app-content{padding-top:0}.card,.card-tech{page-break-inside:avoid;border:1px solid var(--print-border)}}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}*:focus-visible{outline:3px solid var(--secondary-hop-green);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){:root{--border-color: #FFFFFF;--text-color: #FFFFFF;--text-muted: #CCCCCC}button{border:2px solid currentColor}.form-group input,.form-group select,.form-group textarea,.btn{border-width:3px}}@media (prefers-color-scheme: dark){.suggestions-dropdown{box-shadow:0 8px 16px var(--shadow-md)}}
