body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-evergreen:#176a3a;--secondary-hop-green:#4caf50;--accent-yellow:#f5c518;--background-dark:#121212;--neutral-dark:#2c2c2c;--neutral-gray:#b0b0b0;--text-light:#fff;--text-muted:#e0e0e0;--color-success:#4caf50;--color-danger:#ef5350;--color-warning:#f5c518;--background-color:#121212;--text-color:#fff;--app-header-color:#1a1a1a;--app-header-text-color:#fff;--banner-color:#176a3a;--banner-text-color:#fff;--card-background:#1e1e1e;--card-hover:#2c2c2c;--table-hover:#252525;--border-color:#333;--space-1:0.5rem;--space-2:0.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--text-xs:0.8rem;--text-sm:0.9rem;--text-md:1rem;--text-lg:1.2rem;--text-xl:1.5rem;--background-image:url(/static/media/hops_background_geometric.cfaef9c1f22b90f2bc8c.png)}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#121212;background-color:var(--background-color);color:#fff;color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;margin:0;overflow-x:hidden;position:relative}.negative,.positive,.stock-list-table td.right,[data-numeric=true]{font-feature-settings:"tnum" 1,"tnum";font-variant-numeric:tabular-nums}body:before{background-image:url(/static/media/hops_background_geometric.cfaef9c1f22b90f2bc8c.png);background-image:var(--background-image);background-position:50%;background-repeat:no-repeat;background-size:cover;content:"";height:100vh;left:0;opacity:.3;pointer-events:none;position:fixed;top:0;width:100vw;z-index:-1}input,select,textarea{background:#2c2c2c;background:var(--neutral-dark);border:2px solid #333;border:2px solid var(--border-color);border-radius:8px;color:#fff;color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;padding:.75rem;transition:all .2s ease}input:focus,select:focus,textarea:focus{border-color:#4caf50;border-color:var(--secondary-hop-green);box-shadow:0 0 0 3px #4caf5033;outline:none}input::placeholder{color:#b0b0b0;color:var(--neutral-gray)}a:focus,button:focus{outline:3px solid #4caf50;outline:3px solid var(--secondary-hop-green);outline-offset:2px}button{background:#176a3a;background:var(--primary-evergreen);border:none;border-radius:10px;color:#fff;color:var(--text-light);cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}button:hover:not(:disabled){background:#4caf50;background:var(--secondary-hop-green);box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{color:#b0b0b0;color:var(--neutral-gray);cursor:not-allowed}button.secondary,button:disabled{background:#2c2c2c;background:var(--neutral-dark)}button.secondary{border:1px solid #333;border:1px solid var(--border-color);color:#fff;color:var(--text-color)}button.secondary:hover:not(:disabled){background:#2c2c2c;background:var(--card-hover);border-color:#4caf50;border-color:var(--secondary-hop-green)}button.danger{background:#ef5350;background:var(--color-danger)}button.danger:hover:not(:disabled){background:#d32f2f;box-shadow:0 4px 12px #ef535066}button.success{background:#4caf50;background:var(--secondary-hop-green)}button.success:hover:not(:disabled){background:#45a049;box-shadow:0 4px 12px #4caf5066}button.accent{background:#f5c518;background:var(--accent-yellow);color:#121212;color:var(--background-dark)}button.accent:hover:not(:disabled){background:#e6b800}.link-btn{background:#0000;border:none;color:#4caf50;color:var(--secondary-hop-green);cursor:pointer;font-size:.9rem;padding:0;text-decoration:underline}.link-btn:hover{background:#0000;box-shadow:none;color:#f5c518;color:var(--accent-yellow);transform:none}.app-header{background-color:#1a1a1a;background-color:var(--app-header-color);border-bottom:1px solid #333;border-bottom:1px solid var(--border-color);box-shadow:0 2px 8px #00000080;color:#fff;color:var(--app-header-text-color);justify-content:space-between;padding:15px 30px;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.app-header,.logo{align-items:center;display:flex}.logo{color:inherit;gap:12px}.logo:focus{outline:none}.logo:focus-visible{border-radius:4px;outline:2px solid #176a3a;outline:2px solid var(--primary-evergreen,#4caf50);outline-offset:4px}.logo h1{color:#4caf50;color:var(--secondary-hop-green);font-size:1.8rem;font-weight:700;letter-spacing:-.5px;margin:0}.title-short{display:none}.title-long{display:inline}.logo-icon{filter:brightness(1.2);height:36px;width:36px}.header-left{align-items:center;display:flex;gap:10px;min-width:0}.header-portfolio-box{background:#2c2c2c;background:var(--neutral-dark);border:1px solid #333;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:2px;justify-content:center;min-width:170px;padding:8px 12px}.header-portfolio-label{color:#e0e0e0;color:var(--text-muted);font-size:.7rem;letter-spacing:.04em;line-height:1.1;text-transform:uppercase}.header-portfolio-value{color:#4caf50;color:var(--secondary-hop-green);font-size:.95rem;line-height:1.2}.nav-links{align-items:center;display:flex;gap:8px}.nav-toggle{background:#2c2c2c;background:var(--neutral-dark);border:1px solid #333;border:1px solid var(--border-color);border-radius:8px;color:#fff;color:var(--text-color);display:none;font-size:.85rem;padding:6px 12px}.nav-links a{border-radius:8px;color:#e0e0e0;color:var(--text-muted);font-size:.95rem;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .2s ease}.nav-links a:hover{background-color:#2c2c2c;background-color:var(--neutral-dark);color:#4caf50;color:var(--secondary-hop-green)}.nav-links button{font-size:.9rem;margin-left:8px;padding:8px 16px}.subscription-banner{align-items:center;background:#176a3a;background:var(--banner-color);border-bottom:1px solid #4caf504d;color:#fff;color:var(--banner-text-color);display:flex;font-size:.9rem;gap:12px;justify-content:center;left:0;padding:12px 30px;position:-webkit-sticky;position:sticky;right:0;text-align:center;top:60px;width:100%;z-index:999}.subscribe-button{background-color:#f5c518;background-color:var(--accent-yellow);border:none;border-radius:8px;color:#121212;color:var(--background-dark);cursor:pointer;font-size:.85rem;font-weight:700;padding:6px 16px;transition:all .2s ease}.subscribe-button:hover{background-color:#e6b800;transform:translateY(-1px)}.app-content{animation:pageSlideIn .3s ease-out;margin:0 auto;max-width:1600px;padding:20px;width:min(1600px,calc(100vw - 40px))}.app-content:has(.portfolio-container){margin:0;max-width:100%;width:100%}@media (max-width:1200px){.app-content{max-width:none;width:calc(100vw - 32px)}.app-content:has(.portfolio-container){max-width:100%}}@media (max-width:768px){.app-content{max-width:100%;padding:15px;width:100%}.app-content:has(.portfolio-container){margin:0;width:100%}}@keyframes pageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card,.card-tech{animation:fadeIn .5s ease-in-out;background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;margin-bottom:2rem;padding:2rem;transition:transform .3s,box-shadow .3s,border-color .3s}.dividends-container,.stock-list-container,.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.balance-sheet-column:hover,.card-tech:hover,.card:hover,.chart-section:hover,.comparison-metrics:hover,.dividends-table:hover,.events-title-card:hover,.instructions-card:hover,.networth-summary:hover,.news-title-card:hover,.portfolio-legend-card:hover,.stock-list-container:hover{border-color:#4caf50;border-color:var(--secondary-hop-green);box-shadow:0 8px 24px #4caf5026;transform:translateY(-2px)}.card-tech h3{color:#4caf50;color:var(--secondary-hop-green);font-size:1.5rem;font-weight:700;margin-top:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loading{color:#e0e0e0;color:var(--text-muted);font-size:1rem;padding:2rem;text-align:center}.loading:after{animation:dots 1.5s steps(4) infinite;content:"..."}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.spinner{animation:spin .8s linear infinite;border:4px solid #4caf5033;border-radius:50%;border-top:4px solid var(--secondary-hop-green);display:inline-block;height:40px;width:40px}.spinner-small{border-width:3px;height:20px;width:20px}.spinner-large{border-width:5px;height:60px;width:60px}.loading-spinner{align-items:center;color:#e0e0e0;color:var(--text-muted);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:2rem}.loading-spinner-text{color:#b0b0b0;color:var(--neutral-gray);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:.9rem}.message{align-items:center;border-left:4px solid;border-radius:8px;display:flex;font-weight:500;gap:8px;margin-bottom:1.5rem;padding:1rem 1.25rem}.message.success{background:#4caf5026;border-left-color:#4caf50;border-left-color:var(--secondary-hop-green);color:#4caf50;color:var(--secondary-hop-green)}.message.success:before{content:"✅";font-size:1rem}.message.error{background:#ef535026;border-left-color:#ef5350;border-left-color:var(--color-danger);color:#ef5350;color:var(--color-danger)}.message.error:before{content:"❌";font-size:1rem}.message.info{background:#4fc3f726;border-left-color:#4fc3f7;color:#81d4fa}.message.info:before{content:"ℹ️";font-size:1rem}.form-helper{color:#b0b0b0;color:var(--neutral-gray);font-size:.9rem;font-size:var(--text-sm);margin-top:.35rem}.auth-root{align-items:center;background:radial-gradient(circle at top,#1b2735,#090a0f);display:flex;justify-content:center;min-height:100vh;padding:2rem}.auth-card{background:#12121af5;border:1px solid #ffffff0a;border-radius:16px;box-shadow:0 18px 40px #0009;max-width:420px;padding:2.5rem 2.25rem;width:100%}.auth-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.auth-tab{background:linear-gradient(135deg,#2e7d32,#43a047);border:none;border-radius:999px;color:#f5f5f5;cursor:pointer;flex:1 1;font-weight:500;padding:.6rem .75rem}.auth-tab--inactive{background:#0000;border:1px solid #ffffff1a;color:#b0b0c3}.auth-title{color:#f5f5ff;font-size:1.5rem;font-weight:600;margin:0}.auth-subtitle{color:#9ca3af;font-size:.9rem;margin:.4rem 0 1.6rem}.auth-form{gap:1rem}.auth-form,.auth-label{display:flex;flex-direction:column}.auth-label{color:#e5e7eb;font-size:.85rem;gap:.3rem}.auth-input{background:#020617;border:1px solid #94a3b880;border-radius:10px;color:#e5e7eb;outline:none;padding:.6rem .75rem}.auth-input:focus{border-color:#4ade80;box-shadow:0 0 0 1px #4ade8066}.auth-button{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:999px;color:#f9fafb;cursor:pointer;font-weight:600;margin-top:.6rem;padding:.7rem .75rem;width:100%}.auth-button:disabled{cursor:default;opacity:.6}.auth-error{font-size:.8rem;margin:0}.auth-error--field{color:#f97316}.auth-error--server{color:#f97373}.auth-switch{color:#9ca3af;font-size:.85rem;margin-top:1.5rem;text-align:center}.auth-switch-link{background:none;border:none;color:#4ade80;cursor:pointer;font-weight:500;margin-left:.2rem;padding:0}.auth-footnote{color:#6b7280;font-size:.7rem;margin-top:1rem;text-align:center}.auth-password-wrapper{align-items:center;display:flex;gap:.5rem}.auth-input--password{flex:1 1}.auth-show-toggle{background:#1f2937e6;border:none;border-radius:999px;color:#e5e7eb;cursor:pointer;font-size:.75rem;padding:.35rem .7rem}.auth-password-hint{color:#9ca3af;display:block;font-size:.75rem;margin-top:.35rem}.auth-checkbox{align-items:flex-start;color:#9ca3af;display:flex;font-size:.8rem;gap:.5rem}.dashboard-container{align-items:center;background:#0000;color:#fff;color:var(--text-color);display:flex;flex-direction:column;min-height:100vh;padding:20px}.dashboard-title{color:#fff;color:var(--text-color);font-size:2.5rem;font-weight:700;letter-spacing:-1px;margin-bottom:30px;text-align:center}.dashboard-cards{grid-gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px}.dashboard-cards,.dashboard-grid{display:grid;gap:20px;max-width:100%;width:100%}.dashboard-grid{grid-gap:20px;align-items:stretch;grid-template-columns:1fr 1fr}.dashboard-left,.dashboard-right{display:flex;flex-direction:column;gap:20px}.events-container{display:flex;flex:1 1;flex-direction:column}.events-title-card{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;margin-bottom:15px;padding:15px 20px}.events-title-card h2{color:#fff;color:var(--text-color);font-size:1.3rem;font-weight:700;margin:0}.events-list{display:flex;flex:1 1;flex-direction:column;gap:10px;max-height:calc(100vh - 250px);overflow-y:auto}.event-card{animation:fadeIn .5s ease-in-out;background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:10px;color:#fff;color:var(--text-color);padding:12px 16px;transition:transform .2s ease,border-color .2s ease}.event-card:hover{border-color:#4caf50;border-color:var(--secondary-hop-green);transform:translateX(4px)}.event-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.event-date{color:#e0e0e0;color:var(--text-muted);font-size:.85rem;font-weight:600}.event-type-badge{background:#f5c518;background:var(--accent-yellow);border-radius:12px;color:#121212;color:var(--background-dark);font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase}.event-company{display:flex;flex-direction:column;gap:2px}.event-ticker{color:#4caf50;color:var(--secondary-hop-green);font-size:.95rem;font-weight:700}.event-name{color:#e0e0e0;color:var(--text-muted);font-size:.8rem;line-height:1.3}.no-events{background:#1e1e1e;background:var(--card-background);border:2px dashed #333;border:2px dashed var(--border-color);border-radius:12px;padding:30px;text-align:center}.no-events p{color:#e0e0e0;color:var(--text-muted);font-weight:500;margin:0 0 5px}.no-events small{color:#b0b0b0;color:var(--neutral-gray);font-size:.85rem}.news-feed{margin-bottom:40px;max-width:100%;width:100%}.news-feed-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.news-title-card{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;grid-column:1/-1;margin-bottom:0;padding:20px;text-align:center}.news-title-card h2{color:#fff;color:var(--text-color);font-size:1.8rem;font-weight:700;margin:0}.news-card{animation:fadeIn .5s ease-in-out;background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;padding:20px;transition:transform .3s,border-color .3s}.news-card:hover{border-color:#4caf50;border-color:var(--secondary-hop-green);transform:translateY(-4px)}.news-card h3{color:#fff;color:var(--text-color);font-size:1.2rem;font-weight:600;margin-bottom:10px}.news-card p{color:#e0e0e0;color:var(--text-muted);font-size:.9rem;line-height:1.5;margin:5px 0}.chart-section{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;margin-bottom:40px;max-width:100%;padding:30px;width:100%}@media (max-width:768px){.chart-section{padding:20px}}.analytics-section{margin:0 auto 40px;max-width:100%;width:100%}.analytics-metric-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));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:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;gap:10px;padding:18px}.analytics-metric-header{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.analytics-metric-label{color:#e0e0e0;color:var(--text-muted);font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.analytics-metric-score{font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace;font-size:1.8rem;font-weight:700;line-height:1}.analytics-score-bar{background:#333;background:var(--border-color);border-radius:3px;height:6px;overflow:hidden}.analytics-score-fill{border-radius:3px;height:100%;transition:width .4s ease}.analytics-metric-desc{color:#b0b0b0;color:var(--neutral-gray);font-size:.8rem;line-height:1.4;margin:0}.analytics-stacked-bar{border-radius:5px;display:flex;height:10px;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{align-items:center;color:#e0e0e0;color:var(--text-muted);display:flex;font-size:.78rem;gap:5px}.analytics-legend-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.analytics-metric-footer{border-top:1px solid #333;border-top:1px solid var(--border-color);color:#b0b0b0;color:var(--neutral-gray);font-size:.78rem;margin-top:auto;padding-top:8px}.analytics-metric-nodata{color:#7f8c8d}.analytics-score-sub{color:#b0b0b0;color:var(--neutral-gray);font-size:.8rem;margin-top:6px}.chart-section h2{color:#fff;color:var(--text-color);font-size:1.5rem;font-weight:700;margin-bottom:20px;text-align:center}.portfolio-chart-and-legend{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr;margin-bottom:3rem;width:100%}.compare-charts-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr;width:100%}.compare-charts-grid.enabled{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-card-title{color:#e0e0e0;color:var(--text-muted);font-size:.8rem;font-weight:600;letter-spacing:.04em;margin-bottom:.6rem;text-transform:uppercase}@media (max-width:1400px){.compare-charts-grid.enabled,.portfolio-chart-and-legend{grid-template-columns:1fr}}.doughnut-chart-container{background:#0c131ae0;border:1px solid #ffffff14;border-radius:14px;box-shadow:0 8px 18px #0000003d;display:flex;flex-direction:column;margin:0;max-width:100%;min-height:500px;padding:24px;position:relative;width:100%}.doughnut-chart-wrapper{height:450px;position:relative;width:min(680px,100%);z-index:1}.portfolio-bar-chart-wrapper{height:450px;width:100%}.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{align-items:center;display:flex;gap:12px;justify-content:space-between}.stocks-logo-bar-actions{display:inline-flex;gap:4px}.stocks-logo-bar-identity{align-items:center;display:flex;gap:8px;min-width:0}.stocks-logo-bar-fallback,.stocks-logo-bar-logo{border-radius:6px;flex-shrink:0;height:20px;width:20px}.stocks-logo-bar-name{color:#fff;color:var(--text-color);font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stocks-logo-bar-meta{color:#e0e0e0;color:var(--text-muted);font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace;font-size:.75rem;white-space:nowrap}.stocks-logo-bar-track{background:#ffffff14;border-radius:999px;height:9px;overflow:hidden;width:100%}.stocks-logo-bar-fill{border-radius:999px;height:100%}.distribution-treemap,.stocks-treemap{height:450px;overflow:hidden;position:relative;width:100%}.distribution-treemap-tile,.stocks-treemap-tile{align-items:stretch;border:1px solid #ffffff14;border-radius:10px;box-sizing:border-box;display:flex;overflow:hidden;padding:7px;position:absolute}.stocks-treemap-inner{display:flex;flex-direction:column;gap:4px;justify-content:flex-end;min-width:0;width:100%}.stocks-treemap-logo{border-radius:6px;height:22px;margin-bottom:2px;width:22px}.stocks-treemap-fallback-dot{background:#ffffffe6;border-radius:50%;height:8px;width:8px}.distribution-treemap-label,.stocks-treemap-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#fff;display:-webkit-box;font-size:.8rem;font-weight:700;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-word}.distribution-treemap-value,.stocks-treemap-meta{color:#ffffffe6;font-size:.74rem}.stocks-treemap-tile.small .stocks-treemap-fallback-dot,.stocks-treemap-tile.small .stocks-treemap-logo{border-radius:4px;height:16px;width:16px}.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-fallback-dot,.stocks-treemap-tile.tiny .stocks-treemap-logo{border-radius:3px;height:12px;margin:0;width:12px}.stocks-treemap-hoverbox{background:#060c12f5;border:1px solid #fff3;border-radius:10px;box-shadow:0 8px 20px #00000059;max-width:260px;min-width:190px;padding:8px 10px;pointer-events:none;position:absolute;transform:translate(-50%,-50%);z-index:5}.stocks-treemap-hover-head{align-items:center;display:flex;gap:8px;margin-bottom:4px}.stocks-treemap-hover-fallback,.stocks-treemap-hover-logo{border-radius:4px;flex-shrink:0;height:16px;width:16px}.stocks-treemap-hover-fallback{background:#ffffffd9}.stocks-treemap-hover-name{color:#fff;font-size:.8rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stocks-treemap-hover-meta{color:#ffffffe0;font-size:.74rem}.portfolio-stock-drawer{background:#0b1117f7;border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;bottom:16px;box-shadow:0 12px 28px #00000059;padding:12px;position:fixed;right:16px;width:min(420px,calc(100vw - 32px));z-index:1002}.portfolio-stock-drawer-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.portfolio-stock-drawer-title{align-items:center;display:inline-flex;gap:8px;min-width:0}.portfolio-stock-drawer-grid{grid-gap:6px 12px;display:grid;font-size:.82rem;gap:6px 12px;grid-template-columns:1fr auto}.portfolio-stock-drawer-grid span{color:#e0e0e0;color:var(--text-muted)}.portfolio-chart-modal{align-items:center;display:flex;inset:0;justify-content:center;position:fixed;z-index:1003}.portfolio-chart-modal-backdrop{background:#0000009e;inset:0;position:absolute}.portfolio-chart-modal-card{background:#121212;background:var(--background-dark);border:1px solid #333;border:1px solid var(--border-color);border-radius:14px;max-height:calc(100vh - 40px);overflow:auto;padding:14px;position:relative;width:min(1200px,calc(100vw - 32px))}.portfolio-chart-modal-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.doughnut-chart-body{grid-gap:20px;align-items:flex-start;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) minmax(240px,280px);justify-content:flex-start;min-height:450px}.doughnut-chart-legend{flex-shrink:0;max-height:450px;overflow-y:auto;padding-right:8px;position:relative;width:280px;z-index:1}@media (min-width:1920px){.doughnut-chart-legend{width:320px}}.doughnut-legend-item{align-items:center;border:1px solid #0000;border-radius:10px;display:flex;gap:10px;padding:8px 10px;transition:background-color .18s ease,border-color .18s ease}.doughnut-legend-actions{display:inline-flex;gap:4px;margin-left:auto;opacity:0;transform:translateX(4px);transition:opacity .18s ease,transform .18s ease}.legend-mini-btn{background:#00000024;border:1px solid #333;border:1px solid var(--border-color);border-radius:999px;padding:2px 7px}.doughnut-legend-index,.legend-mini-btn{color:#e0e0e0;color:var(--text-muted);font-size:.7rem}.doughnut-legend-index{font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace;min-width:20px;text-align:center}.doughnut-legend-item:hover{background:hsla(0,0%,100%,.045);border-color:#ffffff14}.doughnut-legend-item:focus-within .doughnut-legend-actions,.doughnut-legend-item:hover .doughnut-legend-actions{opacity:1;transform:translateX(0)}.doughnut-legend-logo{background:#ffffff14;border-radius:6px;height:22px;object-fit:contain;padding:2px;width:22px}.doughnut-legend-dot{border-radius:50%;height:12px;width:12px}.doughnut-legend-text{display:flex;flex-direction:column;gap:2px}.doughnut-legend-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#fff;color:var(--text-color);display:-webkit-box;font-size:.85rem;max-width:180px;overflow:hidden;text-overflow:ellipsis}.doughnut-legend-sub{color:#e0e0e0;color:var(--text-muted);font-size:.75rem}.chart-tooltip{background:#2c2c2c;border:1px solid #4caf50;border-radius:8px;color:#fff;opacity:0;padding:10px 12px;pointer-events:none;position:absolute;transform:translate(-50%,-110%);white-space:nowrap;z-index:10}.chart-tooltip-inner{align-items:center;display:flex;gap:10px}.chart-tooltip-logo{background:#ffffff14;border-radius:6px;height:20px;object-fit:contain;padding:2px;width:20px}.chart-tooltip-title{font-size:.8rem;font-weight:600}.chart-tooltip-value{color:#e0e0e0;font-size:.85rem}@media (max-width:900px){.doughnut-chart-body{gap:16px;grid-template-columns:1fr}.doughnut-chart-legend{max-height:220px;width:100%}.doughnut-chart-wrapper{width:100%}}.doughnut-chart-container:before{background:linear-gradient(135deg,#176a3a,#4caf50);background:linear-gradient(135deg,var(--primary-evergreen),var(--secondary-hop-green));border-radius:14px;content:"";inset:-2px;opacity:.03;pointer-events:none;position:absolute;z-index:0}.chart-center-text{left:50%;max-width:210px;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);width:55%;z-index:2}.chart-center-value{color:#eef3f8;font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace;font-size:clamp(1rem,1.4vw,1.7rem);font-weight:700;line-height:1;margin-bottom:.18rem}.chart-center-label{color:#d8e0e8c7;font-size:.68rem;font-weight:600;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.doughnut-chart-title{color:#fff;color:var(--text-color);font-size:1.3rem;font-weight:700;margin-bottom:20px;text-align:center;z-index:1}.chart-legend{border-top:1px solid #333;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:20px;padding-top:20px;z-index:1}.chart-legend-item{align-items:center;color:#e0e0e0;color:var(--text-muted);display:flex;font-size:.85rem;gap:8px}.chart-legend-color{border-radius:3px;height:12px;width:12px}.chart-legend-label{font-weight:500}.chart-legend-value{color:#fff;color:var(--text-color);font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace;font-weight:600;margin-left:4px}.portfolio-container{align-items:stretch;background:#0000;color:#fff;color:var(--text-color);display:flex;flex-direction:column;min-height:100vh;padding:20px;width:100%}.portfolio-title{color:#fff;color:var(--text-color);font-size:2.5rem;font-weight:700;letter-spacing:-1px;margin-bottom:30px;text-align:left}.portfolio-tabs{background:#ffffff0a;border:1px solid #333;border:1px solid var(--border-color);border-radius:999px;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;margin-bottom:24px;max-width:100%;overflow-x:auto;padding:6px;scrollbar-width:thin}.portfolio-tab{background:#0000;border:0;border-radius:999px;color:#e0e0e0;color:var(--text-muted);cursor:pointer;font-weight:600;letter-spacing:.2px;padding:8px 18px;transition:all .2s ease}.portfolio-tab:hover{background:#ffffff0f;color:#fff;color:var(--text-color)}.portfolio-tab.active{background:linear-gradient(135deg,#4caf50,#176a3a);background:linear-gradient(135deg,var(--secondary-hop-green),var(--primary-evergreen));box-shadow:0 6px 16px #0003;color:#0b1510}.portfolio-toolbar{align-items:center;background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 16px #0003;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;padding:14px 16px;width:100%}.portfolio-export-group,.portfolio-timeframe-group,.portfolio-visual-controls{align-items:center;display:inline-flex;flex-wrap:wrap;gap:.4rem}.portfolio-inline-label{align-items:center;color:#e0e0e0;color:var(--text-muted);display:inline-flex;font-size:.8rem;gap:.35rem}.portfolio-inline-label select{background:#2c2c2c;background:var(--neutral-dark);border:1px solid #333;border:1px solid var(--border-color);border-radius:8px;color:#fff;color:var(--text-color);font-size:.8rem;padding:.25rem .45rem}.portfolio-inline-check{align-items:center;color:#e0e0e0;color:var(--text-muted);display:inline-flex;font-size:.8rem;gap:.3rem}.portfolio-date-input{background:#2c2c2c;background:var(--neutral-dark);border:1px solid #333;border:1px solid var(--border-color);border-radius:8px;color:#fff;color:var(--text-color);padding:.5rem .75rem}.portfolio-toolbar-meta{display:flex;flex-direction:column;gap:.25rem;margin-left:1rem}.portfolio-chart-type-switch{background:#2c2c2c;background:var(--neutral-dark);border:1px solid #333;border:1px solid var(--border-color);border-radius:999px;display:inline-flex;gap:6px;margin-left:auto;padding:4px}.portfolio-chart-type-switch button{background:#0000;border:0;border-radius:999px;color:#e0e0e0;color:var(--text-muted);font-size:.8rem;font-weight:600;padding:6px 12px}.portfolio-chart-type-switch button.active{background:linear-gradient(135deg,#4caf50,#176a3a);background:linear-gradient(135deg,var(--secondary-hop-green),var(--primary-evergreen));color:#0b1510}.portfolio-chart-type-switch button:not(.active):hover{background:#ffffff0f;color:#fff;color:var(--text-color)}.portfolio-toolbar-snapshot{color:#e0e0e0;color:var(--text-muted);font-size:.9rem;font-style:italic}.portfolio-toolbar-updated{color:#b0b0b0;color:var(--neutral-gray);font-size:.75rem;font-style:italic}.portfolio-loading-skeleton{display:flex;flex-direction:column;gap:14px;max-width:1100px;width:100%}.skeleton-card,.skeleton-row,.skeleton-table{animation:shimmer 1.2s linear infinite;background:linear-gradient(90deg,#ffffff0a,#ffffff14,#ffffff0a);background-size:200% 100%;border:1px solid #ffffff0d;border-radius:10px}.skeleton-row{height:52px}.skeleton-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:2fr 1fr}.skeleton-card{height:300px}.skeleton-table{height:280px}@keyframes shimmer{0%{background-position:180% 0}to{background-position:-20% 0}}.portfolio-tab-panel{align-items:stretch;display:flex;flex-direction:column;width:100%}.doughnut-grid{grid-gap:24px;align-items:stretch;display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}@media (max-width:900px){.doughnut-grid{grid-template-columns:1fr}}.stock-map{border-radius:12px;display:flex;flex-wrap:wrap;height:500px;overflow:hidden;width:100%}.stock-tile{align-items:center;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;justify-content:center;margin:2px;min-height:80px;min-width:80px;position:relative;text-align:center;transition:opacity .2s ease}.stock-tile:hover{opacity:.8}.stock-tile-label{align-items:center;display:flex;flex-direction:column}.portfolio-legend-card{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;margin:0;max-width:100%;padding:24px;width:100%}.portfolio-legend-card.compact .portfolio-legend-grid{max-height:320px}@media (max-width:1400px){.portfolio-legend-card{margin:2rem auto}}.portfolio-legend-grid{display:flex;flex-direction:column;gap:10px;margin-top:16px;max-height:550px;overflow-y:auto;padding-right:8px}@media (max-width:1400px){.portfolio-legend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));max-height:none;overflow-y:visible}}@media (max-width:1400px) and (min-width:768px){.portfolio-legend-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}.portfolio-legend-item{align-items:center;background:#2c2c2c;background:var(--neutral-dark);border:1px solid #333;border:1px solid var(--border-color);border-radius:8px;display:flex;gap:12px;padding:12px;transition:all .2s ease}.portfolio-legend-index{color:#e0e0e0;color:var(--text-muted);font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace;font-size:.7rem;min-width:20px;text-align:center}.portfolio-legend-item:hover{border-color:#4caf50;border-color:var(--secondary-hop-green);box-shadow:0 2px 8px #4caf5033;transform:translateX(4px)}.portfolio-legend-color{border-radius:4px;box-shadow:0 2px 4px #0000004d;flex-shrink:0;height:16px;width:16px}.portfolio-legend-content{flex:1 1;min-width:0}.portfolio-legend-name{color:#fff;color:var(--text-color);font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-legend-details{color:#e0e0e0;color:var(--text-muted);font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace;font-size:.8rem;margin-top:2px}.stock-list-container{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;margin-top:20px;max-width:100%;overflow-x:auto;padding:20px;position:relative;width:100%}.table-color-indicator{border-radius:3px;box-shadow:0 2px 4px #0000004d;height:12px;margin:0 auto;width:12px}.stock-symbol-cell{color:#4caf50;color:var(--secondary-hop-green);font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace;font-weight:600}.stock-name-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-name-wrap{align-items:center;display:inline-flex;gap:10px}.stock-logo{background:#ffffff14;border-radius:6px;height:22px;object-fit:contain;padding:2px;width:22px}.stock-list-container:after{background:#2c2c2c;background:var(--neutral-dark);border-radius:4px;bottom:10px;color:#b0b0b0;color:var(--neutral-gray);content:"← Scroll →";display:none;font-size:.7rem;padding:4px 8px;position:absolute;right:10px}.section-title{font-size:1.6rem;font-weight:700;margin-bottom:1rem}.section-title,.stock-list-table{color:#fff;color:var(--text-color)}.stock-list-table{border-collapse:collapse;font-size:.9rem;width:100%}.stock-list-table th{background:#2c2c2c;background:var(--neutral-dark);border-bottom:2px solid #333;border-bottom:2px solid var(--border-color);color:#e0e0e0;color:var(--text-muted);cursor:pointer;font-size:.8rem;font-weight:700;letter-spacing:.5px;padding:12px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:1}.stock-list-table th:hover{color:#4caf50;color:var(--secondary-hop-green)}.stock-list-table td{border-bottom:1px solid #333;border-bottom:1px solid var(--border-color);padding:14px 12px;text-align:left}.stock-list-table td img{border-radius:50%;height:32px;margin-right:10px;vertical-align:middle;width:32px}.stock-list-table tr:hover{background:#252525;background:var(--table-hover)}.stock-list-table td.right,.stock-list-table th.right{font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace;text-align:right}.stock-list-table td.kpi,.stock-list-table th.kpi{color:#fff;color:var(--text-color);font-weight:700}.stock-list-table td.positive{color:#4caf50;color:var(--secondary-hop-green);font-weight:600}.stock-list-table td.negative{color:#ef5350;color:var(--color-danger);font-weight:600}.action-badge,.type-badge{border-radius:6px;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase}.action-badge{color:#121212;color:var(--background-dark)}.action-badge.buy{background:#4caf50;background:var(--secondary-hop-green)}.action-badge.sell{background:#ef5350;background:var(--color-danger)}.action-badge.dividend{background:#29b6f6}.action-badge.fee,.action-badge.tax{background:#b0b0b0;background:var(--neutral-gray)}.action-badge.other{background:#ab47bc}.type-badge{background:#2c2c2c;background:var(--neutral-dark);color:#e0e0e0;color:var(--text-muted);font-weight:500}.refresh-btn{background:#176a3a;background:var(--primary-evergreen);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s ease}.refresh-btn:hover{background:#4caf50;background:var(--secondary-hop-green);transform:translateY(-2px)}.networth-container{align-items:center;background:#0000;color:#fff;color:var(--text-color);display:flex;flex-direction:column;min-height:100vh;padding:20px}.networth-title{color:#fff;color:var(--text-color);font-size:2.5rem;font-weight:700;letter-spacing:-1px;margin-bottom:30px;text-align:center}.add-item-launch-row{display:flex;justify-content:flex-end;margin-bottom:16px;width:100%}.nw-stat-strip{align-items:center;display:flex;gap:0;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.nw-stat-item{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0}.nw-stat-label{color:#e0e0e0;color:var(--text-muted);font-size:.9rem;font-size:var(--text-sm,.8rem);font-weight:500;letter-spacing:.05em;text-transform:uppercase}.nw-stat-value{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1.6rem;font-weight:700;white-space:nowrap}.nw-stat-divider{background:#333;background:var(--border-color);flex-shrink:0;height:2.5rem;margin:0 1.5rem;width:1px}.table-group-header td{background:#2c2c2c;background:var(--neutral-dark);border-bottom:1px solid #333;border-bottom:1px solid var(--border-color);color:#e0e0e0;color:var(--text-muted);font-size:.9rem;font-size:var(--text-sm,.8rem);font-weight:700;letter-spacing:.06em;padding:8px 12px;text-transform:uppercase}.table-group-header:hover{background:#2c2c2c!important;background:var(--neutral-dark)!important}.nw-advanced-toggle{background:none;border:none;color:#e0e0e0;color:var(--text-muted);cursor:pointer;display:block;font-size:.9rem;font-size:var(--text-sm,.8rem);margin-top:.75rem;padding:.5rem 0;text-align:left}.nw-advanced-toggle:hover{color:#fff;color:var(--text-light)}.balance-sheet-container{display:flex;gap:20px;max-width:100%;width:100%}.balance-sheet-column{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;flex:1 1;padding:24px}.balance-sheet-column h2{color:#4caf50;color:var(--secondary-hop-green);font-size:1.4rem;font-weight:700;margin-bottom:20px;text-align:center}.balance-sheet-table{border-collapse:collapse;color:#fff;color:var(--text-color);width:100%}.balance-sheet-table th{background:#2c2c2c;background:var(--neutral-dark);border-bottom:2px solid #333;border-bottom:2px solid var(--border-color);color:#e0e0e0;color:var(--text-muted);font-size:.9rem;font-weight:700;padding:12px;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:1}.balance-sheet-table td{border-bottom:1px solid #333;border-bottom:1px solid var(--border-color);font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace;padding:12px}.balance-sheet-table tr:hover{background:#252525;background:var(--table-hover)}.balance-sheet-table td.positive{color:#4caf50;color:var(--secondary-hop-green);font-weight:600}.balance-sheet-table td.negative{color:#ef5350;color:var(--color-danger);font-weight:600}.balance-sheet-table tfoot td{background:#2c2c2c;background:var(--neutral-dark);font-size:1.1rem;font-weight:700;padding:16px 12px}.networth-summary{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;margin-top:30px;padding:20px;text-align:center}.networth-summary h2{font-size:1.5rem;font-weight:700;margin-bottom:10px}.networth-summary .positive{color:#4caf50;color:var(--secondary-hop-green)}.networth-summary .negative{color:#ef5350;color:var(--color-danger)}.dividends-container{align-items:center;background:#0000;color:#fff;color:var(--text-color);display:flex;flex-direction:column;min-height:100vh;padding:20px}.dividends-title{color:#fff;color:var(--text-color);font-size:2.5rem;font-weight:700;letter-spacing:-1px;margin-bottom:20px}.dividends-toolbar{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(260px,1fr) 2fr auto;margin-bottom:10px;width:100%}.dividends-search,.dividends-sort{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:10px;color:#fff;color:var(--text-color);padding:10px 12px}.dividends-chips{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.dividends-chip{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:999px;color:#e0e0e0;color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:7px 10px}.dividends-chip.active{border-color:#4caf50;border-color:var(--secondary-hop-green);color:#fff;color:var(--text-color)}.dividends-context-strip{color:#e0e0e0;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:14px;margin-bottom:12px;width:100%}.dividends-summary-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px;width:100%}.dividends-summary-card{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;gap:6px;padding:14px}.dividends-summary-card .summary-label{color:#e0e0e0;color:var(--text-muted);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.dividends-summary-card .summary-value{color:#fff;color:var(--text-color);font-size:1.35rem;font-weight:700}.dividends-meta-strip{color:#e0e0e0;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:18px;width:100%}.dividends-section{margin-bottom:20px;width:100%}.dividends-section-title{color:#fff;color:var(--text-color);font-size:1.1rem;margin:6px 0 10px}.dividends-empty{color:#e0e0e0;color:var(--text-muted);padding:16px;text-align:center}.dividends-table-container{max-width:100%;overflow-x:auto;width:100%}.dividends-table{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-collapse:collapse;border-radius:12px;color:#fff;color:var(--text-color);width:100%}.dividends-table th{background:#2c2c2c;background:var(--neutral-dark);border-bottom:2px solid #333;border-bottom:2px solid var(--border-color);color:#e0e0e0;color:var(--text-muted);font-size:.85rem;font-weight:700;letter-spacing:.5px;padding:14px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:1}.dividends-table td{border-bottom:1px solid #333;border-bottom:1px solid var(--border-color);padding:14px}.dividends-table .amount-col{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.dividends-table tr:hover{background:#252525;background:var(--table-hover)}.dividends-table td img.company-logo{border-radius:50%;flex-shrink:0;height:32px;margin-right:10px;vertical-align:middle;width:32px}.dividends-table tfoot td{background:#2c2c2c;background:var(--neutral-dark);font-size:1.1rem;font-weight:700;padding:16px;text-align:right}.stock-cell{align-items:center;display:flex;gap:10px}.stock-meta{display:flex;flex-direction:column;min-width:0}.stock-name{color:#fff;color:var(--text-color);font-weight:600;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-symbol{color:#e0e0e0;color:var(--text-muted);font-size:.78rem}.dividends-group-row td{background:#ffffff05;padding:8px 10px}.dividends-group-row:hover{background:#0000}.dividends-group-toggle{align-items:center;background:#0000;border:0;color:#e0e0e0;color:var(--text-muted);cursor:pointer;display:flex;gap:10px;padding:2px 0;text-align:left;width:100%}.dividends-group-count{border:1px solid #333;border:1px solid var(--border-color);border-radius:999px;font-size:.75rem;margin-left:auto;padding:1px 8px}.analytics-container{align-items:center;background:#0000;color:#fff;color:var(--text-color);display:flex;flex-direction:column;min-height:100vh;padding:20px}.analytics-title{color:#fff;color:var(--text-color);font-size:2.5rem;font-weight:700;letter-spacing:-1px;margin-bottom:30px;text-align:center}.comparison-metrics{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;margin-bottom:40px;max-width:100%;padding:30px;width:100%}@media (max-width:768px){.comparison-metrics{padding:20px}}.comparison-metrics h2{color:#fff;color:var(--text-color);font-size:1.5rem;font-weight:700;margin-bottom:20px;text-align:center}.comparison-metrics ul{list-style:none;padding:0}.comparison-metrics li{border-left:3px solid #333;border-left:3px solid var(--border-color);font-size:1rem;margin:12px 0;padding:10px 10px 10px 15px}.comparison-metrics .positive{color:#4caf50;color:var(--secondary-hop-green);font-weight:600}.comparison-metrics .negative{color:#ef5350;color:var(--color-danger);font-weight:600}.analytics-chart-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.analytics-chart-header-right{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.analytics-mode-toggle,.analytics-range-picker{background:#2c2c2c;background:var(--neutral-dark);border:1px solid #333;border:1px solid var(--border-color);border-radius:999px;display:inline-flex;gap:.35rem;padding:.25rem}.analytics-toggle-btn{background:#0000;border:0;border-radius:999px;color:#e0e0e0;color:var(--text-muted);cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .8rem}.analytics-toggle-btn:hover{background:#ffffff14;color:#fff;color:var(--text-color)}.analytics-toggle-btn.active{background:linear-gradient(135deg,#4caf50,#176a3a);background:linear-gradient(135deg,var(--secondary-hop-green),var(--primary-evergreen));color:#0b1510}.analytics-cagr-card{background:#2c2c2c;background:var(--neutral-dark);border:1px solid #333;border:1px solid var(--border-color);border-radius:10px;min-width:140px;padding:.6rem .8rem;text-align:right}.analytics-cagr-label{color:#e0e0e0;color:var(--text-muted);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.analytics-cagr-value{color:#4caf50;color:var(--secondary-hop-green);font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace;font-size:1.1rem;font-weight:700;margin-top:.2rem}.analytics-updated-text{color:#b0b0b0;color:var(--neutral-gray);font-size:.75rem;font-style:italic}@media (max-width:1200px){.analytics-chart-header{align-items:stretch;flex-direction:column}.analytics-chart-header-right{justify-content:flex-start}.analytics-cagr-card{text-align:left}}@media (max-width:700px){.analytics-mode-toggle,.analytics-range-picker{border-radius:10px;flex-wrap:wrap;width:100%}}.transactions-page{margin:0 auto;max-width:100%;padding:2rem}@media (max-width:768px){.transactions-page{padding:1rem}}.page-title{color:#fff;color:var(--text-color);font-size:2rem;font-weight:700;margin-bottom:2rem}.page-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:2rem}.page-header,.transaction-actions{align-items:center;display:flex;gap:1rem}.transaction-actions{animation:slideInFromRight .3s ease-out}.manual-btn{align-items:center;background:#4caf50;background:var(--secondary-hop-green);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:8px;padding:12px 20px;transition:all .3s ease}.manual-btn:hover:not(:disabled){background:#176a3a;background:var(--primary-evergreen);box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.manual-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.manual-btn:focus{outline:3px solid #4caf50;outline:3px solid var(--secondary-hop-green);outline-offset:2px}.upload-section{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}.file-input{background:#2c2c2c;background:var(--neutral-dark);border:2px dashed #333;border:2px dashed var(--border-color);border-radius:8px;color:#fff;color:var(--text-color);cursor:pointer;flex:1 1;font-size:.95rem;min-width:250px;padding:12px;transition:all .3s ease}.file-input:hover{background:#2c2c2c;background:var(--card-hover)}.file-input:focus,.file-input:hover{border-color:#4caf50;border-color:var(--secondary-hop-green)}.file-input:focus{box-shadow:0 0 0 3px #4caf5033;outline:none}.upload-btn{background:#176a3a;background:var(--primary-evergreen);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.upload-btn:hover:not(:disabled){background:#4caf50;background:var(--secondary-hop-green);box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.upload-btn:active:not(:disabled){transform:translateY(0)}.upload-btn:disabled{background:#2c2c2c;background:var(--neutral-dark);color:#b0b0b0;color:var(--neutral-gray);cursor:not-allowed;transform:none}.upload-btn:focus{outline:3px solid #4caf50;outline:3px solid var(--secondary-hop-green);outline-offset:2px}.upload-btn.loading{position:relative}.upload-btn.loading:after{animation:spin 1s ease infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;content:"";height:16px;margin:auto;position:absolute;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.file-info{background:#4caf501a;border:1px solid #4caf504d;border-radius:6px;color:#4caf50;color:var(--secondary-hop-green);font-size:.9rem;font-weight:500;margin-top:1rem;padding:.75rem 1rem}.instructions-card{background:linear-gradient(135deg,#1e1e1e,#4caf500d);background:linear-gradient(135deg,var(--card-background) 0,#4caf500d 100%);margin-top:2rem}.instruction-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:1rem}.instruction-item h4{align-items:center;color:#4caf50;color:var(--secondary-hop-green);display:flex;font-size:1.1rem;gap:8px;margin-bottom:.5rem}.instruction-item p{color:#e0e0e0;color:var(--text-muted);font-size:.95rem;line-height:1.6;margin:0}.results-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.result-item{align-items:center;background:#2c2c2c;background:var(--neutral-dark);border-left:4px solid #4caf50;border-left:4px solid var(--secondary-hop-green);border-radius:8px;display:flex;justify-content:space-between;padding:12px}.result-label{color:#e0e0e0;color:var(--text-muted);font-size:.9rem}.result-value{color:#4caf50;color:var(--secondary-hop-green);font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace;font-size:1.1rem;font-weight:700}.errors-section{background:#ef53501a;border:1px solid #ef53504d;border-radius:8px;margin-top:1.5rem;padding:1rem}.errors-section h4{color:#ef5350;color:var(--color-danger);font-size:1rem;margin-bottom:.5rem}.errors-section ul{margin:0;padding-left:1.5rem}.error-item{color:#ef5350;color:var(--color-danger);font-size:.9rem;line-height:1.4;margin-bottom:.25rem}.form-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1.5rem}.form-grid label{color:#e0e0e0;color:var(--text-muted);display:flex;flex-direction:column;font-size:.9rem;font-weight:500;gap:.5rem}.account-page{margin:0 auto;max-width:760px;padding:2rem 1rem 4rem}.account-page-title{color:#fff;color:var(--text-color);font-size:1.8rem;font-weight:700;margin:0 0 2rem}.account-section{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;margin-bottom:1.25rem;padding:1.5rem;transition:border-color .2s ease}.account-section:hover{border-color:#4caf50;border-color:var(--secondary-hop-green)}.account-section--danger{border-color:#c5303066}.account-section--danger:hover{border-color:#c53030}.account-section-title{color:#e0e0e0;color:var(--text-muted);font-size:.8rem;font-weight:600;letter-spacing:.04em;margin:0 0 1.25rem;text-transform:uppercase}.account-section-header-row{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:1.25rem}.account-section-header-row .account-section-title{margin-bottom:0}.account-field-grid{grid-gap:1.25rem 2rem;display:grid;gap:1.25rem 2rem;grid-template-columns:1fr 1fr}.account-field{display:flex;flex-direction:column;gap:4px}.account-field-label{color:#e0e0e0;color:var(--text-muted);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.account-field-value{color:#fff;color:var(--text-color);font-size:.95rem;font-weight:500}.account-field-value--muted{color:#e0e0e0;color:var(--text-muted);font-weight:400}.account-field-value-row{align-items:center;display:flex;gap:10px}.account-field-edit-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.account-subsection{border-top:1px solid #333;border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1.25rem}.account-subsection-header{align-items:center;display:flex;justify-content:space-between}.account-subsection-title{color:#fff;color:var(--text-color);font-size:.85rem;font-weight:500}.account-inline-form{display:flex;flex-direction:column;gap:10px;margin-top:12px;max-width:400px}.account-password-row{align-items:center;display:flex;gap:8px}.account-password-row .account-input{flex:1 1}.account-input{background:#2c2c2c;background:var(--neutral-dark);border:1px solid #333;border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:#fff;color:var(--text-color);font-size:.9rem;padding:8px 12px;transition:border-color .2s ease;width:100%}.account-input:focus{border-color:#4caf50;border-color:var(--secondary-hop-green);outline:none}.account-btn{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;padding:8px 16px;transition:all .15s ease;white-space:nowrap}.account-btn:disabled{cursor:not-allowed;opacity:.5}.account-btn--primary{background:#4caf50;background:var(--secondary-hop-green);border-color:#4caf50;border-color:var(--secondary-hop-green);color:#000}.account-btn--primary:hover:not(:disabled){filter:brightness(1.1)}.account-btn--ghost{background:#0000;border-color:#333;border-color:var(--border-color);color:#e0e0e0;color:var(--text-muted)}.account-btn--ghost:hover:not(:disabled){background:#2c2c2c;background:var(--neutral-dark);color:#fff;color:var(--text-color)}.account-btn--danger{background:#c53030;border-color:#c53030;color:#fff}.account-btn--danger:hover:not(:disabled){background:#9b2c2c}.account-btn--sm{font-size:.8rem;padding:4px 10px}.account-stats-row{display:flex;flex-wrap:wrap;gap:16px}.account-stat{color:#e0e0e0;color:var(--text-muted);font-size:.8rem}.account-stat strong{color:#fff;color:var(--text-color)}.account-upload-list{display:flex;flex-direction:column;gap:8px}.account-upload-row{align-items:center;background:#2c2c2c;background:var(--neutral-dark);border:1px solid #333;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:10px 12px}.account-upload-info{display:flex;flex-direction:column;gap:2px;min-width:0}.account-upload-name{color:#fff;color:var(--text-color);font-size:.875rem;font-weight:500;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-upload-meta{color:#e0e0e0;color:var(--text-muted);font-size:.75rem}.account-upload-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px}.account-upload-confirm-text{color:#e0e0e0;color:var(--text-muted);font-size:.8rem}.account-badge{border-radius:999px;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.04em;padding:2px 8px;text-transform:uppercase}.account-badge--success{background:#48bb7826;color:#48bb78}.account-badge--running{background:#4299e126;color:#4299e1}.account-badge--pending{background:#ecc94b26;color:#ecc94b}.account-badge--error{background:#c5303026;color:#fc8181}.account-danger-toggle{align-items:center;background:#0000;border:none;color:#fc8181;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;justify-content:space-between;letter-spacing:.04em;padding:0;text-transform:uppercase;width:100%}.account-danger-toggle-icon{color:#e0e0e0;color:var(--text-muted);font-size:.7rem}.account-danger-body{border-top:1px solid #c530304d;margin-top:1.25rem;padding-top:1.25rem}.account-danger-title{color:#fc8181;font-size:1rem;font-weight:600;margin:0 0 8px}.account-danger-desc{color:#e0e0e0;color:var(--text-muted);font-size:.875rem;line-height:1.5;margin-bottom:12px}.account-error{color:#fc8181;font-size:.8rem;margin:0}.account-success{color:#4caf50;color:var(--secondary-hop-green);font-size:.8rem;margin:0}.account-muted{color:#e0e0e0;color:var(--text-muted);font-size:.875rem}.billing-current-plan{align-items:center;background:#2c2c2c;background:var(--neutral-dark);border:1px solid #333;border:1px solid var(--border-color);border-radius:10px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:1.5rem;padding:12px 16px}.billing-plan-badge{font-size:1rem;font-weight:700;letter-spacing:-.3px}.billing-plan-meta{flex:1 1;font-size:.8rem}.billing-period-toggle{display:flex;gap:6px;margin-bottom:1rem}.billing-period-btn{align-items:center;background:#0000;border:1px solid #333;border:1px solid var(--border-color);border-radius:8px;color:#e0e0e0;color:var(--text-muted);cursor:pointer;display:flex;font-size:.8rem;gap:6px;padding:5px 14px;transition:all .15s ease}.billing-period-btn.active{background:#2c2c2c;background:var(--neutral-dark);border-color:#4caf50;border-color:var(--secondary-hop-green);color:#fff;color:var(--text-color)}.billing-save-tag{background:#48bb7826;border-radius:999px;color:#4caf50;color:var(--secondary-hop-green);font-size:.7rem;font-weight:600;padding:1px 6px}.billing-upgrade-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.billing-upgrade-card{background:#2c2c2c;background:var(--neutral-dark);border:1px solid #333;border:1px solid var(--border-color);border-radius:10px;display:flex;flex-direction:column;gap:12px;padding:1.25rem;transition:border-color .2s ease}.billing-upgrade-card:hover{border-color:#4caf50;border-color:var(--secondary-hop-green)}.billing-upgrade-card--expert{border-color:#a78bfa66}.billing-upgrade-card--expert:hover{border-color:#a78bfa}.billing-upgrade-header{align-items:baseline;display:flex;justify-content:space-between}.billing-upgrade-plan-name{color:#fff;color:var(--text-color);font-size:.95rem;font-weight:700}.billing-upgrade-price{color:#4caf50;color:var(--secondary-hop-green);font-size:1.1rem;font-weight:700}.billing-upgrade-card--expert .billing-upgrade-price{color:#a78bfa}.billing-upgrade-period{color:#e0e0e0;color:var(--text-muted);font-size:.75rem;font-weight:400}.billing-upgrade-features{display:flex;flex:1 1;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.billing-upgrade-features li{align-items:center;color:#e0e0e0;color:var(--text-muted);display:flex;font-size:.8rem;gap:8px}.billing-check{color:#4caf50;color:var(--secondary-hop-green);flex-shrink:0;font-size:.7rem}.account-btn--expert{background:#a78bfa;border-color:#a78bfa;color:#000}.account-btn--expert:hover:not(:disabled){background:#8b5cf6;border-color:#8b5cf6}@media (max-width:600px){.account-field-grid{grid-template-columns:1fr}.account-section-header-row{align-items:flex-start;flex-direction:column}.account-upload-name{max-width:200px}}.modal-overlay{align-items:center;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.manual-transaction-form{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;width:100%}.form-header{align-items:center;border-bottom:1px solid #333;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 16px}.form-header h3{color:#4caf50;color:var(--secondary-hop-green);font-size:1.5rem;font-weight:700;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#e0e0e0;color:var(--text-muted);cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.close-btn:hover{background:#2c2c2c;background:var(--neutral-dark);color:#fff;color:var(--text-color)}.transaction-form{display:flex;flex-direction:column;gap:20px;padding:0 24px 24px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:#fff;color:var(--text-color);font-size:.9rem;font-weight:600;margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{background:#2c2c2c;background:var(--neutral-dark);border:2px solid #333;border:2px solid var(--border-color);border-radius:8px;color:#fff;color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;padding:12px;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4caf50;border-color:var(--secondary-hop-green);box-shadow:0 0 0 3px #4caf5033;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#b0b0b0;color:var(--neutral-gray)}.search-container,.stock-search{position:relative}.stock-search-input{width:100%}.search-spinner{color:#e0e0e0;color:var(--text-muted);font-size:12px;font-weight:500;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.suggestions-dropdown{background:#1e1e1e;background:var(--card-background);border:2px solid #4caf50;border:2px solid var(--secondary-hop-green);border-radius:0 0 8px 8px;border-top:none;box-shadow:0 8px 16px #0003;left:0;max-height:250px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1001}.suggestion-item{border-bottom:1px solid #333;border-bottom:1px solid var(--border-color);cursor:pointer;padding:12px 16px;transition:background-color .2s ease}.suggestion-item:hover{background-color:#252525;background-color:var(--table-hover)}.suggestion-item:last-child{border-bottom:none}.suggestion-item.no-results{color:#e0e0e0;color:var(--text-muted);cursor:default;font-style:italic}.suggestion-item.no-results:hover{background-color:initial}.suggestion-item:focus{background-color:#252525;background-color:var(--table-hover);outline:3px solid #4caf50;outline:3px solid var(--secondary-hop-green);outline-offset:-2px}.suggestion-main{align-items:center;display:flex;font-weight:600;gap:8px;margin-bottom:4px}.symbol{color:#4caf50;color:var(--secondary-hop-green);font-size:.95rem}.exchange{color:#e0e0e0;color:var(--text-muted);font-size:.85rem;font-weight:400}.suggestion-name{color:#fff;color:var(--text-color);font-size:.9rem;line-height:1.3;margin-bottom:2px}.suggestion-meta{color:#b0b0b0;color:var(--neutral-gray);font-size:.8rem;line-height:1.2}.manual-entry-notice{background:#f5c5181a;border:1px solid #f5c5184d;border-radius:8px;margin:-8px 0 8px;padding:12px}.manual-entry-notice p{color:#f5c518;color:var(--accent-yellow);font-size:.9rem;font-weight:500;margin:0}.selected-stock-info{background:#4caf501a;border:1px solid #4caf504d;border-radius:8px;margin:8px 0;padding:16px}.selected-stock-info h4{color:#4caf50;color:var(--secondary-hop-green);font-size:1.1rem;margin:0 0 8px}.selected-stock-info p{color:#e0e0e0;color:var(--text-muted);font-size:.9rem;line-height:1.4;margin:0}.transaction-summary{background:#2c2c2c;background:var(--neutral-dark);border:1px solid #333;border:1px solid var(--border-color);border-radius:8px;margin:8px 0;padding:16px}.transaction-summary h4{color:#fff;color:var(--text-color);font-size:1rem;font-weight:600;margin:0 0 12px}.summary-row{align-items:center;display:flex;font-size:.9rem;justify-content:space-between;padding:4px 0}.summary-row span:first-child{color:#e0e0e0;color:var(--text-muted)}.summary-row span:last-child{color:#fff;color:var(--text-color);font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Consolas,Courier New,monospace;font-weight:600}.summary-row.total{border-top:1px solid #333;border-top:1px solid var(--border-color);font-weight:600;margin-top:8px;padding-top:8px}.summary-row.total span:last-child{color:#4caf50;color:var(--secondary-hop-green);font-size:1rem}.form-actions{border-top:1px solid #333;border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.btn-danger,.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:.95rem;font-weight:600;min-width:120px;padding:12px 24px;transition:all .3s ease}.btn-primary{background:#4caf50;background:var(--secondary-hop-green);color:#fff}.btn-primary:hover:not(:disabled){background:#176a3a;background:var(--primary-evergreen);box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.btn-secondary{background:#0000;border:2px solid #333;border:2px solid var(--border-color);color:#fff;color:var(--text-color)}.btn-danger{background:#ef44441f;border:2px solid #ef444466;color:#fca5a5}.btn-secondary:hover:not(:disabled){background:#2c2c2c;background:var(--neutral-dark);border-color:#4caf50;border-color:var(--secondary-hop-green);color:#4caf50;color:var(--secondary-hop-green)}.btn-danger:hover:not(:disabled){background:#ef444433;border-color:#ef4444b3;color:#fecaca}.btn-danger:disabled,.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.6;transform:none}.form-group.loading input{animation:loading 1.5s infinite;background-image:linear-gradient(90deg,#0000,#ffffff1a,#0000)}@keyframes loading{0%{background-position:-200px 0}to{background-position:200px 0}}.form-group.error input,.form-group.error select{border-color:#ef5350;border-color:var(--color-danger);box-shadow:0 0 0 3px #ef535033}.error-message{color:#ef5350;color:var(--color-danger);font-size:.8rem;margin-top:4px}.form-group.success input{border-color:#4caf50;border-color:var(--secondary-hop-green)}.calendar-page{display:flex;flex-direction:column;gap:1.5rem}.calendar-wrapper{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-soft);padding:1rem}.fc .fc-daygrid-day-number,.fc .fc-toolbar-title{color:#fff;color:var(--text-light)}.fc .fc-event{border:none;border-radius:6px;font-size:.8rem}.ai-card{padding:1.5rem}.ai-card,.ai-form{display:flex;flex-direction:column;gap:1rem}.ai-textarea{background:#111;background:var(--input-background,#111);border:1px solid #333;border:1px solid var(--border-color);border-radius:8px;color:#fff;color:var(--text-light,#eee);font-size:1rem;padding:.8rem;resize:vertical;width:100%}.ai-controls{justify-content:space-between}.ai-controls,.ai-toggle{align-items:center;display:flex}.ai-toggle{color:var(--muted-text);gap:.4rem}.ai-response{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:10px;margin-top:1.2rem;padding:1rem}@media (max-width:1200px){.dashboard-grid{grid-template-columns:1fr 320px;max-width:100%}.doughnut-chart-container{height:400px;padding:20px}.doughnut-chart-wrapper{height:300px}.chart-center-value{font-size:2rem}.chart-center-label{font-size:.8rem}.chart-legend{gap:10px}.chart-legend-item{font-size:.8rem}}@media (max-width:1024px){.dashboard-grid{grid-template-columns:1fr}.dashboard-left{order:1}.dashboard-right{order:2}.events-list{max-height:400px}.dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@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 a,.nav-links button{font-size:.85rem;padding:6px 10px}.nav-links button{margin-left:4px}.app-header{padding:12px 20px}}@media (max-width:1100px){.app-header{flex-wrap:wrap;gap:12px}.header-left{flex:1 1}.nav-toggle{align-items:center;display:inline-flex;gap:6px;margin-left:auto}.nav-links{align-items:stretch;border-top:1px solid #333;border-top:1px solid var(--border-color);display:none;flex-direction:column;gap:6px;padding:8px 0 0;width:100%}.nav-links.open{display:flex}.nav-links a,.nav-links button{white-space:normal;width:100%}.nav-links button{margin-left:0}.dividends-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.dividends-chips{grid-column:1/-1}}@media (max-width:768px){.app-header{align-items:flex-start;flex-direction:column;gap:10px;padding:12px 16px}.header-left{gap:8px;justify-content:space-between;width:100%}.header-portfolio-box{min-width:140px;padding:6px 10px}.header-portfolio-label{font-size:.62rem}.header-portfolio-value{font-size:.85rem}.nav-toggle{align-items:center;display:inline-flex;gap:6px}.nav-links{align-items:flex-start;border-top:1px solid #333;border-top:1px solid var(--border-color);display:none;flex-direction:column;gap:6px;padding:8px 0 0;width:100%}.nav-links.open{display:flex}.nav-links a,.nav-links button{white-space:nowrap}.nav-links a{width:100%}.nav-links button{margin-left:0;width:100%}.logo h1{font-size:1.1rem;white-space:nowrap}.title-long{display:none}.title-short{display:inline}body:before{opacity:.15}.app-content{padding:12px}.nav-links a{font-size:.85rem;padding:6px 12px}.logo h1{font-size:1.5rem}.logo-icon{height:28px;width:28px}.balance-sheet-container{flex-direction:column}.balance-sheet-column{margin-bottom:20px}.portfolio-toolbar-meta{margin-left:0;width:100%}.portfolio-chart-type-switch{margin-left:0}.portfolio-export-group,.portfolio-timeframe-group,.portfolio-visual-controls{width:100%}.portfolio-stock-drawer{bottom:10px;left:10px;right:10px;width:auto}.portfolio-chart-modal-card{max-height:calc(100vh - 16px);padding:10px;width:calc(100vw - 16px)}.skeleton-grid{grid-template-columns:1fr}.distribution-treemap,.portfolio-bar-chart-wrapper,.stocks-logo-bar-list,.stocks-treemap{height:380px}.stocks-logo-bar-head{gap:4px}.nw-stat-strip,.stocks-logo-bar-head{align-items:flex-start;flex-direction:column}.nw-stat-strip{gap:1rem}.nw-stat-divider{height:1px;margin:0;width:100%}.nw-stat-value{font-size:1.3rem}.analytics-container,.dashboard-container,.dividends-container,.networth-container,.portfolio-container{padding:15px}.analytics-title,.dashboard-title,.dividends-title,.networth-title,.portfolio-title{font-size:2rem}.dashboard-cards{gap:15px;grid-template-columns:1fr}.events-list{max-height:300px}.event-card{padding:10px 12px}.dividends-table,.stock-list-table{font-size:.85rem}.dividends-table td img.company-logo,.stock-list-table td img{height:24px;width:24px}.dividends-table td,.dividends-table th{padding:10px}.stock-list-container:after{display:block}.portfolio-legend-grid{grid-template-columns:1fr}.portfolio-legend-card{padding:16px}.app-content{padding-top:120px}.subscription-banner{font-size:.85rem;padding:10px 20px}.card,.card-tech{padding:1.25rem}.page-header{align-items:flex-start;flex-direction:column}.transaction-actions{justify-content:center;width:100%}.upload-section{align-items:stretch;flex-direction:column}.file-input{min-width:auto}.manual-btn,.upload-btn{justify-content:center;width:100%}.instruction-grid{gap:1.5rem}.instruction-grid,.results-grid{grid-template-columns:1fr}.modal-overlay{padding:10px}.manual-transaction-form{margin:0;max-height:95vh}.form-header,.transaction-form{padding:16px}.form-header{margin-bottom:16px;padding-bottom:12px}.form-row{gap:16px;grid-template-columns:1fr}.transaction-form{gap:16px}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}.suggestions-dropdown{max-height:200px}}.text-success{color:#4caf50;color:var(--secondary-hop-green)}.text-danger{color:#ef5350;color:var(--color-danger)}.text-warning{color:#f5c518;color:var(--accent-yellow)}.text-muted{color:#e0e0e0;color:var(--text-muted)}.bg-dark{background-color:#1e1e1e;background-color:var(--card-background)}.border-success{border-color:#4caf50;border-color:var(--secondary-hop-green)}.border-danger{border-color:#ef5350;border-color:var(--color-danger)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-normal{font-weight:400}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.mobile-hide{display:table-cell}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#2c2c2c;background:var(--neutral-dark);border-radius:5px}::-webkit-scrollbar-thumb{background:#333;background:var(--border-color);border-radius:5px;-webkit-transition:background .2s ease;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:#4caf50;background:var(--secondary-hop-green)}*{scrollbar-color:#333 #2c2c2c;scrollbar-color:var(--border-color) var(--neutral-dark);scrollbar-width:thin}@media print{.app-header,.nav-links button,.subscription-banner,body:after,body:before,button{display:none}.app-content{padding-top:0}.card,.card-tech{border:1px solid #000;page-break-inside:avoid}}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}:focus-visible{outline:3px solid #4caf50;outline:3px solid var(--secondary-hop-green);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){:root{--border-color:#fff;--text-color:#fff;--text-muted:#ccc}button{border:2px solid}.btn-primary,.btn-secondary,.form-group input,.form-group select,.form-group textarea{border-width:3px}}@media (prefers-color-scheme:dark){.suggestions-dropdown{box-shadow:0 8px 16px #0006}}.brand-tagline{color:#e0e0e0;color:var(--text-muted);font-size:.9rem;font-style:italic;padding:2rem;text-align:center}.brand-tagline strong{color:#4caf50;color:var(--secondary-hop-green);font-weight:600}.interactive-card{cursor:pointer;transition:all .3s ease}.interactive-card:hover{border-color:#4caf50;border-color:var(--secondary-hop-green);box-shadow:0 8px 24px #4caf5033;transform:scale(1.02)}.status-indicator{border-radius:50%;display:inline-block;height:8px;margin-right:8px;width:8px}.status-indicator.active{background:#4caf50;background:var(--secondary-hop-green);box-shadow:0 0 8px #4caf5099}.status-indicator.inactive{background:#b0b0b0;background:var(--neutral-gray)}.status-indicator.warning{background:#f5c518;background:var(--accent-yellow);box-shadow:0 0 8px #f5c51899}.status-indicator.error{background:#ef5350;background:var(--color-danger);box-shadow:0 0 8px #ef535099}.tooltip{display:inline-block;position:relative}.tooltip .tooltip-text{background-color:#2c2c2c;background-color:var(--neutral-dark);border:1px solid #333;border:1px solid var(--border-color);border-radius:6px;bottom:125%;color:#fff;color:var(--text-color);font-size:.85rem;left:50%;margin-left:-100px;opacity:0;padding:8px;position:absolute;text-align:center;transition:opacity .3s;visibility:hidden;width:200px;z-index:1}.tooltip:hover .tooltip-text{opacity:1;visibility:visible}.empty-state{color:#e0e0e0;color:var(--text-muted);padding:4rem 2rem;text-align:center}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state-title{color:#fff;color:var(--text-color);font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.empty-state-description{font-size:1rem;line-height:1.5;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;max-width:400px}.empty-state-cta{background:#176a3a;background:var(--primary-evergreen);border-radius:6px;color:#fff;display:inline-block;font-size:.875rem;font-weight:600;padding:.55rem 1.4rem;text-decoration:none;transition:opacity .15s}.empty-state-cta:hover{opacity:.82}.upload-guide{border-top:1px solid #333;border-top:1px solid var(--border-color);margin-top:1.25rem;padding-top:1rem}.upload-guide-toggle{align-items:center;background:none;border:none;color:#e0e0e0;color:var(--text-muted);cursor:pointer;display:flex;font-size:.9rem;font-size:var(--text-sm);gap:.4rem;padding:0}.upload-guide-toggle:hover{color:#fff;color:var(--text-light)}.upload-guide-body{margin-top:.9rem}.upload-guide-body ol{line-height:1.8;margin:0 0 .75rem 1.2rem;padding:0}.upload-guide-body ol,.upload-guide-note{color:#e0e0e0;color:var(--text-muted);font-size:.9rem;font-size:var(--text-sm)}.upload-guide-note{background:#ffffff0a;border-left:3px solid #176a3a;border-left:3px solid var(--primary-evergreen);border-radius:0 4px 4px 0;margin-top:.5rem;padding:.5rem .75rem}.legal-page{background:#121212;background:var(--background-color,#121212);min-height:100vh;padding:2rem 1rem 4rem}.legal-container{color:#fff;color:var(--text-light,#f0f0f0);font-size:.95rem;line-height:1.7;margin:0 auto;max-width:760px}.legal-back{margin-bottom:1.5rem}.legal-back a{color:#e0e0e0;color:var(--text-muted);font-size:.875rem;text-decoration:none}.legal-back a:hover,.legal-container h1{color:#fff;color:var(--text-light)}.legal-container h1{font-size:2rem;font-weight:700;margin-bottom:.25rem}.legal-updated{color:#e0e0e0;color:var(--text-muted);font-size:.85rem;margin-bottom:2rem}.legal-container h2{border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);color:#fff;color:var(--text-light);font-size:1.2rem;font-weight:600;margin-bottom:.5rem;margin-top:2rem;padding-bottom:.35rem}.legal-container h3{color:#e0e0e0;color:var(--text-muted);font-size:1rem;font-weight:600;margin-bottom:.35rem;margin-top:1.25rem}.legal-container p{color:#e0e0e0;color:var(--text-muted);margin-bottom:.9rem}.legal-container ol,.legal-container ul{color:#e0e0e0;color:var(--text-muted);margin:.5rem 0 1rem 1.4rem}.legal-container li{margin-bottom:.4rem}.legal-container a{color:#4caf50;color:var(--secondary-hop-green,#4caf50);text-decoration:underline}.legal-container a:hover{opacity:.8}.legal-container strong{color:#fff;color:var(--text-light)}.legal-container code{background:#ffffff12;border-radius:3px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85em;padding:.1em .4em}.legal-table{border-collapse:collapse;font-size:.875rem;margin:1rem 0 1.5rem;width:100%}.legal-table td,.legal-table th{border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);color:#e0e0e0;color:var(--text-muted);padding:.6rem .75rem;text-align:left}.legal-table th{background:#ffffff0a;color:#fff;color:var(--text-light);font-weight:600}.landing-root{display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:1}.landing-header{align-items:center;display:flex;justify-content:space-between;padding:18px 30px 12px}.landing-header-actions{align-items:center;display:flex;gap:10px}.landing-header-link{color:#e0e0e0;color:var(--text-muted);font-size:.9rem;text-decoration:none}.landing-header-link:hover{color:#4caf50;color:var(--secondary-hop-green)}.landing-header-button{background:#4caf50;background:var(--secondary-hop-green);border:1px solid #4caf50;border:1px solid var(--secondary-hop-green);border-radius:999px;color:#fff;color:var(--text-light);font-size:.85rem;font-weight:600;letter-spacing:.06em;padding:8px 16px;text-decoration:none;text-transform:uppercase;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.landing-header-button:hover{background:#176a3a;background:var(--primary-evergreen);box-shadow:0 6px 16px #4caf5073;transform:translateY(-1px)}.landing-main{grid-gap:24px;display:grid;flex:1 1;gap:24px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);margin:0 auto;max-width:100%;padding:10px 30px 30px}@media (min-width:1920px){.landing-main{max-width:1600px}}.landing-hero-card{align-self:center;max-width:700px}.landing-pill{align-items:center;background:#121212bf;border:1px solid #333;border:1px solid var(--border-color);border-radius:999px;color:#b0b0b0;color:var(--neutral-gray);display:inline-flex;font-size:.75rem;letter-spacing:.08em;margin-bottom:10px;padding:4px 10px;text-transform:uppercase}.landing-title{font-size:2.3rem;letter-spacing:-.5px;margin:0 0 10px}.landing-title span{color:#4caf50;color:var(--secondary-hop-green);display:block}.landing-subtitle{color:#e0e0e0;color:var(--text-muted);font-size:.98rem;margin-bottom:18px;max-width:520px}.landing-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.landing-cta-primary{background:#4caf50;background:var(--secondary-hop-green);border-radius:999px;box-shadow:0 8px 22px #4caf5073;color:#fff;color:var(--text-light);font-size:.9rem;font-weight:600;letter-spacing:.06em;padding:10px 20px;text-decoration:none;text-transform:uppercase;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.landing-cta-primary:hover{background:#176a3a;background:var(--primary-evergreen);box-shadow:0 12px 30px #4caf508c;transform:translateY(-1px)}.landing-cta-secondary{background:#0000;border:1px solid #333;border:1px solid var(--border-color);border-radius:999px;color:#e0e0e0;color:var(--text-muted);cursor:pointer;font-size:.85rem;font-weight:500;letter-spacing:.06em;padding:9px 18px;text-transform:uppercase;transition:background .2s ease,border-color .2s ease,color .2s ease}.landing-cta-secondary:hover{background:#2c2c2c;background:var(--card-hover);border-color:#4caf50;border-color:var(--secondary-hop-green);color:#fff;color:var(--text-light)}.landing-metrics-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-top:4px}.landing-metric{display:flex;flex-direction:column}.landing-metric-label{color:#b0b0b0;color:var(--neutral-gray);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.landing-metric-value{font-size:.9rem;font-weight:600}.landing-metric-divider{background:#333;background:var(--border-color);height:32px;width:1px}.landing-preview-card{align-self:center;max-width:420px}.landing-preview-header{align-items:center;color:#e0e0e0;color:var(--text-muted);display:flex;font-size:.8rem;justify-content:space-between;margin-bottom:8px}.landing-preview-tag{border:1px solid #333;border:1px solid var(--border-color);border-radius:999px;font-size:.7rem;padding:3px 8px}.landing-preview-body{background:#121212;background:var(--background-dark);border-radius:8px;padding:12px}.landing-preview-label{color:#b0b0b0;color:var(--neutral-gray);font-size:.8rem;margin-bottom:2px}.landing-preview-value{font-size:1.5rem;font-weight:700;margin:0}.landing-preview-change{color:#4caf50;color:var(--color-success);font-size:.8rem}.landing-preview-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.landing-preview-chip{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:10px;flex:1 1 30%;min-width:0;padding:8px 10px}.chip-label{color:#b0b0b0;color:var(--neutral-gray);display:block;font-size:.75rem}.chip-value{font-size:.9rem;font-weight:600}.landing-mini-table{font-size:.8rem;margin-top:4px}.landing-mini-table-header,.landing-mini-table-row{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1.4fr 1fr 1fr;padding:4px 0}.landing-mini-table-header{border-bottom:1px solid #333;border-bottom:1px solid var(--border-color);color:#b0b0b0;color:var(--neutral-gray);margin-bottom:2px}.landing-mini-table-row{border-bottom:1px dashed #333;border-bottom:1px dashed var(--border-color)}.landing-mini-table-row:last-child{border-bottom:none}.pl-positive{color:#4caf50;color:var(--color-success)}.pl-negative{color:#ef5350;color:var(--color-danger)}.landing-preview-footer{color:#b0b0b0;color:var(--neutral-gray);font-size:.78rem;margin-top:8px}.landing-section{margin:0 auto;max-width:100%;padding:10px 30px 24px}@media (min-width:1920px){.landing-section{max-width:1600px}}.landing-section-title{font-size:1.4rem;margin-bottom:4px}.landing-section-subtitle{color:#e0e0e0;color:var(--text-muted);font-size:.95rem;margin-bottom:18px;max-width:520px}.landing-features-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.landing-feature-card h4{margin-bottom:6px;margin-top:0}.landing-steps{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:1fr auto 1fr auto 1fr;margin-top:24px}.landing-step{background:var(--card-bg);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;padding:20px}.landing-step-number{align-items:center;background:#4caf50;background:var(--secondary-hop-green);border-radius:50%;color:#fff;display:inline-flex;font-size:.9rem;font-weight:700;height:32px;justify-content:center;margin-bottom:10px;width:32px}.landing-step h4{font-size:.95rem;margin:0 0 6px}.landing-step p{font-size:.875rem;line-height:1.5;margin:0}.landing-step p,.landing-step-arrow{color:#e0e0e0;color:var(--text-muted)}.landing-step-arrow{font-size:1.4rem;opacity:.5;padding-top:20px}.landing-trust-strip{background:var(--card-bg);border-bottom:1px solid #333;border-bottom:1px solid var(--border-color);border-top:1px solid #333;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:20px 40px;justify-content:center;padding:20px 32px}.landing-trust-item{color:#e0e0e0;color:var(--text-muted);font-size:.875rem}.landing-faq{display:flex;flex-direction:column;gap:2px;margin-top:24px;max-width:720px}.faq-item{border:1px solid #333;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.faq-question{align-items:center;background:var(--card-bg);border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:12px;justify-content:space-between;padding:14px 18px;text-align:left;width:100%}.faq-question:hover{background:#0000000a;background:var(--hover-bg,#0000000a)}.faq-chevron{color:#4caf50;color:var(--secondary-hop-green);flex-shrink:0;font-size:1.1rem}.faq-answer{background:var(--card-bg);color:#e0e0e0;color:var(--text-muted);font-size:.875rem;line-height:1.6;padding:0 18px 14px}.faq-answer a{color:#4caf50;color:var(--secondary-hop-green);text-decoration:none}.faq-answer a:hover{text-decoration:underline}@media (max-width:768px){.landing-steps{grid-template-columns:1fr}.landing-step-arrow{display:none}}.landing-footer{align-items:center;color:#b0b0b0;color:var(--neutral-gray);display:flex;flex-wrap:wrap;font-size:.8rem;gap:.5rem;justify-content:space-between;margin:0 auto;max-width:100%;padding:8px 30px 18px}@media (min-width:1920px){.landing-footer{max-width:1600px}}.landing-footer-secondary{opacity:.85}.landing-footer-legal{align-items:center;display:flex;gap:.4rem}.landing-footer-legal-link{color:#b0b0b0;color:var(--neutral-gray);font-size:.8rem;opacity:.75;text-decoration:none;transition:opacity .15s}.landing-footer-legal-link:hover{opacity:1}.landing-footer-legal-sep{color:#b0b0b0;color:var(--neutral-gray);opacity:.4}@media (max-width:960px){.landing-main{gap:20px;grid-template-columns:minmax(0,1fr)}.landing-preview-card{max-width:100%}}@media (max-width:640px){.landing-header,.landing-main,.landing-section{padding-inline:16px}.landing-features-grid{grid-template-columns:minmax(0,1fr)}.landing-footer{align-items:flex-start;flex-direction:column;gap:4px;padding-inline:16px}.dividends-toolbar{grid-template-columns:1fr}.dividends-context-strip{flex-direction:column;gap:6px}.dividends-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.balance-sheet-table thead,.dividends-table thead,.stock-list-table thead{display:none}.balance-sheet-table,.balance-sheet-table tbody,.balance-sheet-table tfoot,.dividends-table,.dividends-table tbody,.dividends-table tfoot,.stock-list-table,.stock-list-table tbody,.stock-list-table tfoot{display:block;width:100%}.balance-sheet-table tr,.dividends-table tr,.stock-list-table tr{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;display:block;margin-bottom:1rem;margin-bottom:var(--space-3);padding:.75rem;padding:var(--space-2)}.balance-sheet-table td,.dividends-table td,.stock-list-table td{align-items:baseline;border:none;display:flex;justify-content:space-between;padding:6px 0}.balance-sheet-table td:before,.dividends-table td:before,.stock-list-table td:before{color:#b0b0b0;color:var(--neutral-gray);content:attr(data-label);font-size:.8rem;font-size:var(--text-xs);letter-spacing:.04em;padding-right:12px;text-transform:uppercase}.dividends-group-row td{display:block;padding:8px}.dividends-group-row td:before{content:none;display:none}.mobile-hide{display:none!important}}.pricing-section{margin-top:8px}.pricing-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.pricing-card{display:flex;flex-direction:column;justify-content:space-between;min-height:260px;position:relative}.pricing-header h4{font-size:1.1rem;margin:0 0 4px}.pricing-tagline{color:#e0e0e0;color:var(--text-muted);font-size:.85rem;margin:0}.pricing-price{align-items:baseline;display:flex;gap:4px;margin-top:10px}.pricing-price-main{font-size:1.6rem;font-weight:700}.pricing-price-sub{color:#b0b0b0;color:var(--neutral-gray);font-size:.85rem}.pricing-list{color:#e0e0e0;color:var(--text-muted);display:flex;flex-direction:column;font-size:.85rem;gap:6px;list-style:none;margin:14px 0 16px;padding:0}.pricing-list-item{align-items:flex-start;display:flex;gap:6px}.pricing-check{align-items:center;background:#4caf5014;border:1px solid #4caf50b3;border-radius:999px;color:#4caf50;color:var(--color-success);display:inline-flex;font-size:.7rem;height:18px;justify-content:center;margin-top:1px;width:18px}.pricing-button{align-self:flex-start;background:#0000;border:1px solid #333;border:1px solid var(--border-color);border-radius:999px;color:#fff;color:var(--text-light);cursor:pointer;font-size:.85rem;font-weight:500;letter-spacing:.06em;margin-top:auto;padding:8px 16px;text-decoration:none;text-transform:uppercase;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.pricing-button:hover{background:#2c2c2c;background:var(--card-hover);box-shadow:0 8px 20px #00000080;transform:translateY(-1px)}.pricing-button-primary,.pricing-button:hover{border-color:#4caf50;border-color:var(--secondary-hop-green)}.pricing-button-primary{background:#4caf50;background:var(--secondary-hop-green);box-shadow:0 10px 24px #4caf508c;color:#fff;color:var(--text-light)}.pricing-button-primary:hover{background:#176a3a;background:var(--primary-evergreen)}.pricing-card-highlight{border-color:#4caf50;border-color:var(--secondary-hop-green);box-shadow:0 14px 32px #4caf5059;position:relative}.pricing-card-highlight:before{background:#4caf50;background:var(--secondary-hop-green);border-radius:999px;color:#fff;color:var(--text-light);content:"Most popular";font-size:.7rem;letter-spacing:.12em;padding:3px 8px;position:absolute;right:12px;text-transform:uppercase;top:-10px}@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{align-items:center;background:#00000059;border:1px solid #333;border:1px solid var(--border-color);border-radius:999px;display:inline-flex;gap:10px;margin:10px 0 22px;padding:6px 10px}.toggle-label{color:#e0e0e0;color:var(--text-muted);font-size:.85rem;transition:color .2s ease}.toggle-label-active{color:#fff;color:var(--text-light);font-weight:600}.toggle-save{color:#4caf50;color:var(--secondary-hop-green);font-size:.75rem;font-weight:600;margin-left:4px}.switch{display:inline-block;height:24px;position:relative;width:46px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#333;background-color:var(--border-color);border-radius:34px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.3s}.slider:before{background-color:#fff;background-color:var(--text-light);border-radius:50%;bottom:3px;content:"";height:18px;left:3px;width:18px}.switch input:checked+.slider{background-color:#4caf50;background-color:var(--secondary-hop-green)}.switch input:checked+.slider:before{transform:translateX(20px)}.closed-positions-section{background:#1e1e1e;background:var(--card-background);border:1px solid #333;border:1px solid var(--border-color);border-radius:12px;margin-top:20px;max-width:100%;overflow-x:auto;padding:20px;position:relative;width:100%}.closed-positions-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:0;-webkit-user-select:none;user-select:none}.closed-positions-header:hover .closed-positions-toggle,.closed-positions-title{color:#fff;color:var(--text-light)}.closed-positions-title{align-items:baseline;display:flex;flex-wrap:wrap;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:700;gap:.75rem}.closed-positions-stats{color:#b0b0b0;color:var(--neutral-gray);display:flex;flex-wrap:wrap;font-size:.82rem;font-weight:400;gap:0}.closed-positions-toggle{color:#b0b0b0;color:var(--neutral-gray);flex-shrink:0;font-size:1.2rem;line-height:1;transition:color .15s}.closed-positions-body{margin-top:1rem}