.landing-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#101516;color:#dbe8eb;position:relative;overflow:hidden;padding:2rem}.landing-bg-gradient{position:absolute;top:-50%;left:-50%;right:-50%;bottom:-50%;background:radial-gradient(circle at 50% 30%,rgba(62,161,177,.15) 0%,rgba(62,161,177,.05) 25%,transparent 50%);pointer-events:none}.landing-container{position:relative;z-index:1;width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:2rem}.landing-branding{text-align:center;display:flex;flex-direction:row;align-items:center;justify-content:center;position:relative;margin-left:3rem}.landing-logo-icon{color:#fff;filter:drop-shadow(0 0 20px rgba(255,255,255,.3));position:absolute;right:100%;margin-right:.5rem}.landing-title{font-size:2.5rem;font-weight:600;margin:0;color:#fff}.landing-tagline{font-size:1rem;color:#9aa6a9;margin:0}.landing-card{width:100%;background:#161d1e;border:1px solid #2a3436;border-radius:12px;padding:1.5rem;box-shadow:0 4px 24px #0006}.landing-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#1f282a;padding:4px;border-radius:8px}.landing-tab{flex:1;padding:.625rem 1rem;border:none;background:transparent;color:#9aa6a9;font-size:.875rem;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s ease}.landing-tab:hover{color:#dbe8eb}.landing-tab--active{background:#3ea1b1;color:#fff}.landing-tab--active:hover{color:#fff}.landing-error{padding:.75rem 1rem;margin-bottom:1rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.875rem}.landing-form{display:flex;flex-direction:column;gap:1rem}.landing-field{display:flex;flex-direction:column;gap:.375rem}.landing-field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.landing-field label{font-size:.8125rem;font-weight:500;color:#9aa6a9}.landing-field input{padding:.75rem 1rem;background:#1f282a;border:1px solid #2a3436;border-radius:8px;color:#dbe8eb;font-size:.9375rem;transition:all .2s ease}.landing-field input::placeholder{color:#6b7280}.landing-field input:focus{outline:none;border-color:#3ea1b1;background:#243033;box-shadow:0 0 0 3px #3ea1b126}.landing-hint{font-size:.75rem;color:#6b7280;margin-top:.25rem}.landing-submit{margin-top:.5rem;padding:.875rem 1.5rem;background:linear-gradient(135deg,#3ea1b1,#4db6ac);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #3ea1b14d}.landing-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #3ea1b166}.landing-submit:active:not(:disabled){transform:translateY(0)}.landing-submit:disabled{opacity:.6;cursor:not-allowed}.landing-footer{margin-top:1.5rem;text-align:center;font-size:.875rem;color:#9aa6a9}.landing-footer p{margin:0}.landing-link{background:none;border:none;color:#3ea1b1;font-size:inherit;cursor:pointer;padding:0;text-decoration:none;transition:color .2s ease}.landing-link:hover{color:#4db6ac;text-decoration:underline}.landing-features{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:1rem}.landing-feature{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#9aa6a9}.landing-feature-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#3ea1b11a;border-radius:8px;color:#3ea1b1}.landing-feature-icon svg{width:18px;height:18px}@media (max-width: 480px){.landing-page{padding:1rem}.landing-title{font-size:2rem}.landing-card{padding:1.25rem}.landing-field-row{grid-template-columns:1fr}.landing-features{flex-direction:column;align-items:center;gap:1rem}}.sidenav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--sidebar-overlay-bg);z-index:calc(var(--sidebar-z-index) - 1);opacity:1;transition:opacity var(--sidebar-transition)}.sidenav{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;z-index:var(--sidebar-z-index);transition:width var(--sidebar-transition),transform var(--sidebar-transition);overflow:hidden}.sidenav--collapsed{width:var(--sidebar-width-collapsed)}@media (max-width: 768px){.sidenav{transform:translate(-100%);width:var(--sidebar-width)}.sidenav--mobile-open{transform:translate(0)}.sidenav--collapsed{width:var(--sidebar-width)}}.sidenav-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--sidebar-border);min-height:60px}.sidenav-brand{display:flex;align-items:center;gap:var(--space-2);overflow:hidden}.sidenav-logo{font-size:1.5rem;flex-shrink:0;color:var(--sidebar-text);display:flex;align-items:center}.sidenav-title{font-size:var(--font-size-lg);font-weight:700;color:var(--sidebar-text);white-space:nowrap}.sidenav-close-mobile{display:none;background:none;border:none;color:var(--sidebar-text);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm)}.sidenav-close-mobile:hover{background:var(--sidebar-item-hover)}@media (max-width: 768px){.sidenav-close-mobile{display:flex}}.sidenav-nav{flex:1;overflow-y:auto;padding:var(--space-3) 0}.sidenav-group{margin-bottom:var(--space-4)}.sidenav-group-title{padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--sidebar-group-text);text-transform:uppercase;letter-spacing:.05em}.sidenav-list{list-style:none;margin:0;padding:0}.sidenav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--sidebar-text);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background var(--transition-fast),color var(--transition-fast);border-left:3px solid transparent}.sidenav-item:hover{background:var(--sidebar-item-hover)}.sidenav-item--active{background:var(--sidebar-item-active-bg);color:var(--sidebar-item-active);border-left-color:var(--sidebar-item-active)}.sidenav-item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px}.sidenav-item-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidenav--collapsed .sidenav-item{justify-content:center;padding:var(--space-3);border-left:none;border-radius:var(--radius-sm);margin:var(--space-1) var(--space-2)}.sidenav--collapsed .sidenav-item--active{border-left:none;border-radius:var(--radius-sm)}.sidenav-footer{padding:var(--space-3);border-top:1px solid var(--sidebar-border);display:flex;flex-direction:column;gap:var(--space-2)}.sidenav-footer-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:none;border:none;color:var(--sidebar-text-muted);font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast);width:100%;text-align:left}.sidenav-footer-btn:hover{background:var(--sidebar-item-hover);color:var(--sidebar-text)}.sidenav--collapsed .sidenav-footer-btn{justify-content:center}.sidenav-collapse-btn{display:flex}@media (max-width: 768px){.sidenav-collapse-btn{display:none}}.mobile-menu-btn{display:none;background:none;border:none;color:var(--color-text);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm)}.mobile-menu-btn:hover{background:var(--sidebar-item-hover)}@media (max-width: 768px){.mobile-menu-btn{display:flex;align-items:center;justify-content:center}}.app-layout{display:flex;min-height:100vh;background:var(--color-bg)}.app-layout-main{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh;transition:margin-left var(--sidebar-transition)}.app-layout--collapsed .app-layout-main{margin-left:var(--sidebar-width-collapsed)}.app-layout-mobile-header{display:none;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:50}.app-layout-mobile-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text)}@media (max-width: 768px){.app-layout-main,.app-layout--collapsed .app-layout-main{margin-left:0}.app-layout-mobile-header{display:flex}}.app-layout-content{flex:1;padding:var(--space-6);max-width:1400px;width:100%;margin:0 auto}@media (max-width: 768px){.app-layout-content{padding:var(--space-4)}}@media (max-width: 480px){.app-layout-content{padding:var(--space-3)}}.page-header{margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--color-border)}.page-header-breadcrumbs{margin-bottom:var(--space-3)}.page-header-breadcrumbs ol{display:flex;align-items:center;gap:var(--space-2);list-style:none;margin:0;padding:0;font-size:var(--font-size-sm)}.page-header-breadcrumbs li{display:flex;align-items:center;gap:var(--space-2)}.page-header-breadcrumbs a{color:var(--color-primary);text-decoration:none}.page-header-breadcrumbs a:hover{text-decoration:underline}.page-header-breadcrumbs span{color:var(--color-text-muted)}.page-header-breadcrumb-sep{color:var(--color-text-muted);opacity:.5}.page-header-main{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.page-header-text{flex:1;min-width:200px}.page-header-title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:1.3}@media (min-width: 768px){.page-header-title{font-size:1.5rem}}.page-header-subtitle{margin:var(--space-2) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.page-header-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.page-header-actions button,.page-header-actions .btn{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.page-header-actions .btn-primary{background:var(--color-primary);color:#fff;border:none}.page-header-actions .btn-primary:hover{background:var(--color-primary-accent)}.page-header-actions .btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.page-header-actions .btn-secondary:hover{background:var(--color-border)}.portfolio-summary{display:flex;gap:1.5rem;margin-bottom:1.5rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#0d9488,#0f766e);border-radius:8px;color:#fff}.portfolio-summary>.portfolio-summary-item{display:flex;flex-direction:column;gap:.25rem}.portfolio-summary>.portfolio-summary-item>.portfolio-summary-label{font-size:.7rem;opacity:.85;text-transform:uppercase;letter-spacing:.03em}.portfolio-summary>.portfolio-summary-item>.portfolio-summary-value{font-size:1.25rem;font-weight:600;color:#fff}.portfolio-summary>.portfolio-summary-item>.portfolio-summary-gain{color:#86efac!important}.portfolio-summary>.portfolio-summary-item>.portfolio-summary-loss{color:red!important}.dashboard{display:flex;flex-direction:column;gap:var(--space-6)}.dashboard-section{display:flex;flex-direction:column;gap:var(--space-4)}.dashboard-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4)}.stat-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.stat-card-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.02em}.stat-card-value{font-size:1.75rem;font-weight:var(--font-weight-bold);color:var(--color-text);line-height:1.2;margin-bottom:var(--space-1)}.stat-card-value--up{color:var(--color-success)}.stat-card-value--down{color:var(--color-danger)}.stat-card-subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted)}.dashboard-breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-4)}.dashboard-grid-2col{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--space-4)}.dashboard-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.dashboard-card-title{margin:0 0 var(--space-4);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text)}.dashboard-empty{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;padding:var(--space-6)}.allocation-list{display:flex;flex-direction:column;gap:var(--space-3)}.allocation-item{display:flex;flex-direction:column;gap:var(--space-1)}.allocation-item-header{display:flex;justify-content:space-between;align-items:center}.allocation-item-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.allocation-item-value{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.allocation-item-bar{height:6px;background:var(--color-surface);border-radius:3px;overflow:hidden}.allocation-item-bar-fill{height:100%;background:var(--color-primary);border-radius:3px;transition:width var(--transition-base)}.account-breakdown-list{display:flex;flex-direction:column;gap:var(--space-3)}.account-breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.account-breakdown-item:last-child{border-bottom:none}.account-breakdown-info{display:flex;flex-direction:column;gap:2px}.account-breakdown-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.account-breakdown-percent{font-size:var(--font-size-xs);color:var(--color-text-muted)}.account-breakdown-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text)}.activity-table-container{overflow-x:auto;margin:0 calc(-1 * var(--space-5));padding:0 var(--space-5)}.activity-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.activity-table th{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);border-bottom:2px solid var(--color-border)}.activity-table td{padding:var(--space-3);border-bottom:1px solid var(--color-border);color:var(--color-text)}.activity-table tbody tr:hover{background:var(--color-surface)}.activity-table-date{color:var(--color-text-muted);white-space:nowrap}.activity-table-symbol{font-weight:var(--font-weight-medium)}.activity-table-amount{text-align:right;font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums}@media (max-width: 768px){.dashboard-stats-row,.dashboard-breakdown-grid{grid-template-columns:1fr}.stat-card-value{font-size:1.5rem}}.pie-legend{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) 0}.pie-legend-item{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm)}.pie-legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.pie-legend-name{font-weight:var(--font-weight-medium);color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:var(--space-1)}.pie-legend-value{color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:var(--font-size-xs)}.tax-status-card{display:flex;flex-direction:column;gap:var(--space-2)}.tax-status-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.tax-status-row:last-child{border-bottom:none}.tax-status-row--total{border-top:2px solid var(--color-border);border-bottom:none;padding-top:var(--space-3);margin-top:var(--space-2)}.tax-status-row--result{background:var(--color-surface);margin:var(--space-2) calc(-1 * var(--space-5));padding:var(--space-3) var(--space-5);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.tax-status-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.tax-status-row--total .tax-status-label,.tax-status-row--result .tax-status-label{font-weight:var(--font-weight-bold);color:var(--color-text)}.tax-status-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;color:var(--color-text)}.tax-status-row--total .tax-status-value{font-weight:var(--font-weight-bold)}.tax-status-value--up{color:var(--color-success)}.tax-status-value--down{color:var(--color-danger)}.gains-summary-card{display:flex;flex-direction:column;gap:var(--space-3)}.gains-summary-section{display:flex;flex-direction:column;gap:var(--space-1)}.gains-summary-header{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em}.gains-summary-value{font-size:1.5rem;font-weight:var(--font-weight-bold);line-height:1.2}.gains-summary-value--up{color:var(--color-success)}.gains-summary-value--down{color:var(--color-danger)}.gains-summary-breakdown{display:flex;gap:var(--space-4);margin-top:var(--space-2)}.gains-summary-breakdown-item{display:flex;flex-direction:column;gap:2px}.gains-breakdown-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.gains-breakdown-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums}.gains-breakdown-value.positive{color:var(--color-success)}.gains-breakdown-value.negative{color:var(--color-danger)}.gains-summary-divider{height:1px;background:var(--color-border);margin:var(--space-2) 0}.gains-summary-note{font-size:var(--font-size-xs);color:var(--color-text-muted)}.portfolio-summary-card{display:flex;flex-direction:column;gap:var(--space-3)}.portfolio-summary-card .portfolio-summary-item{display:flex;flex-direction:column;gap:var(--space-1)}.portfolio-summary-card .portfolio-summary-label{font-size:.7rem;font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em}.portfolio-summary-card .portfolio-summary-value{font-size:1.15rem;font-weight:var(--font-weight-bold);color:var(--color-text);line-height:1.2;font-variant-numeric:tabular-nums}.portfolio-summary-card .portfolio-summary-value--up{color:var(--color-success)}.portfolio-summary-card .portfolio-summary-value--down{color:var(--color-danger)}.portfolio-summary-card .portfolio-summary-divider{height:1px;background:var(--color-border)}.quarterly-income-breakdown{display:flex;flex-direction:column;gap:var(--space-3)}.quarterly-income-total{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-md);margin-bottom:var(--space-2)}.quarterly-income-total-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text)}.quarterly-income-total-value{font-size:1.25rem;font-weight:var(--font-weight-bold);color:var(--color-success);font-variant-numeric:tabular-nums}.quarterly-income-total-value.negative{color:var(--color-danger)}.quarterly-income-list{display:flex;flex-direction:column;gap:var(--space-2)}.quarterly-income-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.quarterly-income-item:last-child{border-bottom:none}.quarterly-income-item-header{display:flex;align-items:center;gap:var(--space-2)}.quarterly-income-color{width:10px;height:10px;border-radius:2px;flex-shrink:0}.quarterly-income-label{font-size:var(--font-size-sm);color:var(--color-text)}.quarterly-income-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;color:var(--color-text)}.quarterly-income-value.negative{color:var(--color-danger)}.pie-chart-center-label{font-size:.5rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.pie-chart-center-value{font-size:.75rem;font-weight:600;color:var(--color-text)}.searchable-table{width:100%}.searchable-table-controls{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;justify-content:flex-end}.gains-filters-search-container .searchable-table{width:auto;flex:0 0 auto}.gains-filters-search-container .searchable-table-controls{margin-bottom:0}.searchable-table-label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.searchable-table-input-wrapper{position:relative;width:220px}.searchable-table-icon{position:absolute;left:.625rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.searchable-table-input{width:100%;padding:.5rem .75rem .5rem 2rem;font-size:.875rem;border:1px solid var(--color-border);border-radius:.375rem;background:var(--color-surface);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.searchable-table-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #0d948826}.searchable-table-input:focus+.searchable-table-icon,.searchable-table-input-wrapper:focus-within .searchable-table-icon{color:var(--color-primary)}.searchable-table-input::placeholder{color:var(--color-text-muted)}.searchable-table-count{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap}.table-filters-bar{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.table-filters-box{display:flex;flex-wrap:nowrap;align-items:center;gap:1rem;flex:1}.table-filters-box .filter-group{display:flex;align-items:center;gap:.5rem}.table-filters-box .filter-group label{font-size:.875rem;font-weight:600;color:var(--color-text)}.table-filters-box .filter-group select{padding:.375rem .75rem;font-size:.875rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:4px;cursor:pointer}.table-filters-box .filter-group button{padding:.375rem .75rem;font-size:.875rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:4px;cursor:pointer;transition:all .2s}.table-filters-box .filter-group button:hover{background:var(--color-hover)}.table-filters-box .filter-group button.active{background:#0d9488;color:#fff;border-color:#0d9488}.table-filters-box .filter-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text);cursor:pointer}.table-filters-box .filter-checkbox input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.table-filters-search{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex-shrink:0}.table-filters-search-wrapper{position:relative;width:220px}.table-filters-search-icon{position:absolute;left:.625rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.table-filters-search-input{width:100%;padding:.5rem 1.75rem .5rem 2rem;font-size:.875rem;border:1px solid var(--color-border);border-radius:.375rem;background:var(--color-surface);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.table-filters-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #0d948826}.table-filters-search-input:focus+.table-filters-search-icon,.table-filters-search-wrapper:focus-within .table-filters-search-icon{color:var(--color-primary)}.table-filters-search-input::placeholder{color:var(--color-text-muted)}.table-filters-search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;padding:.125rem;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:2px;transition:color .15s ease}.table-filters-search-clear:hover{color:var(--color-text)}.table-filters-count{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:1.5rem;padding:.75rem 0;font-size:.875rem;color:var(--color-text);border-top:1px solid var(--color-border);margin-top:.5rem}.pagination-size{display:flex;align-items:center;gap:.5rem}.pagination-size label{color:var(--color-text-muted);white-space:nowrap}.pagination-size-select{padding:.375rem .5rem;font-size:.875rem;border:1px solid var(--color-border);border-radius:.25rem;background:var(--color-surface);color:var(--color-text);cursor:pointer;min-width:4rem}.pagination-size-select:hover{border-color:var(--color-primary)}.pagination-size-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #0d948826}.pagination-info{display:flex;align-items:center}.pagination-range{color:var(--color-text);white-space:nowrap}.pagination-nav{display:flex;align-items:center;gap:.25rem}.pagination-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--color-border);border-radius:.25rem;background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:.75rem;font-weight:600;transition:all .15s ease}.pagination-btn:hover:not(:disabled){background:var(--color-background-hover);border-color:var(--color-primary);color:var(--color-primary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #0d948826}.pagination-page-input-wrapper{display:flex;align-items:center;gap:.375rem;margin:0 .5rem}.pagination-page-input{width:3rem;padding:.375rem .5rem;font-size:.875rem;text-align:center;border:1px solid var(--color-border);border-radius:.25rem;background:var(--color-surface);color:var(--color-text)}.pagination-page-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #0d948826}.pagination-page-total{color:var(--color-text-muted);white-space:nowrap}@media (max-width: 640px){.pagination{flex-wrap:wrap;justify-content:center;gap:.75rem}.pagination-size label{display:none}.pagination-range{font-size:.8125rem}}.holdings-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.holdings-header{margin:0}.holdings-btn-export{background:#1d4ed8;color:#fff;border:none;padding:.5rem .9rem;font-size:.75rem;font-weight:500;border-radius:4px;cursor:pointer;transition:background .15s;display:flex;align-items:center;gap:.35rem}.holdings-btn-export:hover{background:#1e40af}.holdings-cost-source{font-size:.55rem;font-weight:500}.holdings-cost-source-imported{color:#3b82f6}.holdings-cost-source-calculated{color:#0d9488}.holdings-cost-source-manual{color:#f59e0b}.holdings-cost-source-unknown{color:var(--color-text-muted)}.holdings-header{margin:0 0 .75rem}.holdings-tabs{display:flex;gap:.5rem;margin-bottom:.75rem}.holdings-tab{background:#e2e8f0;color:var(--color-text);border:none;padding:.4rem .75rem;font-size:.7rem;border-radius:4px;cursor:pointer}.holdings-tab-active{background:#0d9488;color:#fff}.holdings-empty{font-size:.875rem;color:var(--color-text-muted)}.holdings-account-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:6px;margin-bottom:.75rem;box-shadow:0 1px 2px #0000000a;padding:.75rem}.holdings-account-summary-card{background:var(--color-bg-alt, #fff);border:1px solid var(--color-border, #e2e8f0);border-radius:6px;padding:.5rem;margin-bottom:.75rem}.holdings-account-header{display:flex;align-items:center;justify-content:space-between;padding:0;margin-bottom:0}.holdings-account-info{display:flex;flex-direction:column}.holdings-account-meta{font-size:.7rem;color:var(--color-text-muted)}.holdings-account-stats{display:flex;gap:1.5rem;margin-top:.5rem}.holdings-account-stat{display:flex;flex-direction:column;gap:.15rem}.holdings-account-stat-label{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-weight:500}.holdings-account-stat-value{font-size:.85rem;font-weight:600;color:var(--color-text)}.holdings-account-actions{display:flex;gap:.5rem}.holdings-btn-toggle{background:#0d9488;color:#fff;border:none;padding:.4rem .75rem;font-size:.7rem;border-radius:4px;cursor:pointer}.holdings-btn-alt{background:#1d4ed8;color:#fff;border:none;padding:.4rem .75rem;font-size:.7rem;border-radius:4px;cursor:pointer}.holdings-table-wrapper{overflow:visible;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--table-row-bg)}.holdings-table{width:100%;border-collapse:collapse;font-size:var(--table-font-size);line-height:1.5}.holdings-table thead{background:var(--table-header-bg);border-bottom:1px solid var(--color-border)}.holdings-table th{text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.625rem .75rem;background:var(--table-header-bg);font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);color:var(--table-header-color);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;transition:background var(--transition-fast)}.holdings-table th:hover{background:var(--table-row-hover-bg)}.holdings-table tbody tr{background:var(--table-row-bg);border-bottom:1px solid var(--color-border);transition:background var(--transition-fast)}.holdings-table tbody tr:nth-child(2n){background:var(--table-row-alt-bg)}.holdings-table tbody tr:hover{background:var(--table-row-hover-bg)}.holdings-table tbody tr:last-child{border-bottom:none}.holdings-table td{padding:var(--table-cell-padding);color:var(--color-text);vertical-align:middle}.holdings-cell-right{text-align:right;font-variant-numeric:tabular-nums}.holdings-cell-pad{padding-left:1rem}.holdings-cost-source{font-size:.6rem;font-weight:600}.holdings-gain-positive{color:var(--color-success)!important;font-weight:var(--font-weight-medium)}.holdings-gain-negative{color:var(--color-danger)!important;font-weight:var(--font-weight-medium)}.holdings-btn-small{color:#fff;border:none;padding:.4rem .7rem;font-size:.6rem;border-radius:4px;cursor:pointer;margin-right:4px}.holdings-btn-edit{background:#1e293b}.holdings-btn-edit:hover{background:#0f172a}.holdings-btn-delete{background:#dc2626}.holdings-btn-delete:hover{background:#b91c1c}.holdings-editing-row{background:#fffbeb!important}[data-color-scheme=dark] .holdings-editing-row{background:#422006!important}.holdings-inline-input{width:100%;padding:.25rem .4rem;border:1px solid var(--color-border, #cbd5e1);border-radius:4px;font-size:.7rem;background:var(--color-bg, #fff);color:var(--color-text, #334155);font-family:inherit}.holdings-inline-input-right{text-align:right}.holdings-inline-input:focus{outline:none;border-color:var(--color-primary, #0d9488);box-shadow:0 0 0 2px #0d94881a}.holdings-btn-save-inline{background:#0d9488}.holdings-btn-save-inline:hover{background:#0f766e}.holdings-btn-cancel-inline{background:#64748b}.holdings-btn-cancel-inline:hover{background:#475569}.holdings-symbol-cell{display:flex;align-items:center;gap:.5rem}.holdings-symbol-text{flex:1}.holdings-row-menu{position:relative;display:inline-block}.holdings-row-menu-btn{background:none;border:none;color:var(--color-text-muted, #64748b);font-size:1rem;cursor:pointer;padding:.25rem .35rem;line-height:1;border-radius:3px;transition:background .15s,color .15s}.holdings-row-menu-btn:hover{background:var(--color-surface, #f3f4f6);color:var(--color-text, #334155)}.holdings-row-menu-dropdown{position:absolute;left:0;top:100%;background:var(--color-bg-alt, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:6px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;z-index:100;min-width:120px;padding:.25rem 0;margin-top:.25rem}.holdings-row-menu-item{display:block;width:100%;text-align:left;background:none;border:none;padding:.5rem .75rem;font-size:.75rem;color:var(--color-text, #334155);cursor:pointer;transition:background .15s}.holdings-row-menu-item:hover{background:var(--color-surface, #f3f4f6)}.holdings-row-menu-item-delete{color:var(--color-danger, #dc2626)}.holdings-row-menu-item-delete:hover{background:#fef2f2}[data-color-scheme=dark] .holdings-row-menu-item-delete:hover{background:#450a0a}.holdings-form{background:var(--color-surface);border-top:1px solid #e2e8f0;padding:.75rem;display:grid;gap:.5rem}.holdings-form-row{display:flex;flex-direction:column;gap:.25rem}.holdings-form-label{font-size:.6rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-muted)}.holdings-form-input{padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:4px;font-size:.7rem;background:var(--color-bg-alt)}.holdings-form-actions{display:flex;gap:.5rem;margin-top:.5rem}.holdings-btn-save{background:#0d9488;color:#fff;border:none;padding:.4rem .75rem;font-size:.7rem;border-radius:4px;cursor:pointer}.holdings-btn-cancel{background:#64748b;color:#fff;border:none;padding:.4rem .75rem;font-size:.7rem;border-radius:4px;cursor:pointer}.holdings-th-clickable{text-align:left}.holdings-th-clickable-right{text-align:right}.holdings-th-clickable-pad{text-align:left;padding-left:1rem}.holdings-th-right{text-align:right}.holdings-tx-container{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:6px;padding:.75rem}.holdings-tx-empty{padding:1rem;font-size:.75rem;color:var(--color-text-muted)}.holdings-filter-bar{margin-bottom:.75rem;display:flex;gap:.5rem;align-items:center}.holdings-filter-label{font-size:.75rem;display:flex;align-items:center;gap:.5rem;font-weight:500}.holdings-select{padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:4px;font-size:.7rem;background:var(--color-bg-alt);cursor:pointer}.holdings-mmf-badge{display:inline-block;font-size:.6rem;font-weight:600;padding:.15rem .35rem;background:#dbeafe;color:#1e40af;border-radius:3px;margin-left:.35rem;vertical-align:middle}.holdings-view-mode-bar{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:2px solid var(--color-border);padding-bottom:0}.holdings-view-mode-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted)}.holdings-view-mode-btn{background:none;border:none;padding:.75rem 1.25rem;font-size:.75rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;text-transform:uppercase;letter-spacing:.03em}.holdings-view-mode-btn:hover{color:var(--color-text)}.holdings-view-mode-active{color:#0d9488;border-bottom-color:#0d9488}.holdings-combined-container{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:6px;padding:.75rem}.holdings-consolidated-row{cursor:pointer;transition:background .15s}.holdings-consolidated-row:hover{background:var(--color-surface)}.holdings-phantom-row,.holdings-consolidated-row.holdings-phantom-row{color:var(--color-text-muted);font-style:italic;background:linear-gradient(to right,#f1f5f9,#f8fafc)}.holdings-phantom-row td:first-child,.holdings-consolidated-row.holdings-phantom-row td:first-child{border-left:3px solid #94a3b8;padding-left:calc(.75rem - 3px)}.holdings-phantom-row:hover,.holdings-consolidated-row.holdings-phantom-row:hover{background:linear-gradient(to right,#e2e8f0,#f1f5f9)}.holdings-phantom-row .holdings-symbol-text,.holdings-consolidated-row.holdings-phantom-row .holdings-symbol-text{color:var(--color-text-muted)}.holdings-phantom-row .holdings-quote-price,.holdings-phantom-row .holdings-quote-change,.holdings-consolidated-row.holdings-phantom-row .holdings-quote-price,.holdings-consolidated-row.holdings-phantom-row .holdings-quote-change{color:inherit}[data-color-scheme=dark] .holdings-phantom-row,[data-color-scheme=dark] .holdings-consolidated-row.holdings-phantom-row{background:linear-gradient(to right,#1e293b,#0f172a)}[data-color-scheme=dark] .holdings-phantom-row td:first-child,[data-color-scheme=dark] .holdings-consolidated-row.holdings-phantom-row td:first-child{border-left:3px solid #475569}[data-color-scheme=dark] .holdings-phantom-row:hover,[data-color-scheme=dark] .holdings-consolidated-row.holdings-phantom-row:hover{background:linear-gradient(to right,#334155,#1e293b)}.holdings-expand-btn{background:none;border:none;color:var(--color-text-muted);font-size:.7rem;cursor:pointer;padding:0;margin-right:.5rem;width:1rem;transition:color .15s}.holdings-expand-btn:hover{color:var(--color-text)}.holdings-breakdown-row{background:var(--color-surface);font-size:.7rem}.holdings-breakdown-account{color:var(--color-text-muted);font-style:italic;padding-left:2rem}.holdings-account-count{font-size:.65rem;color:var(--color-text-muted);font-weight:500}.holdings-symbol-hover-cell{position:relative;cursor:help}.holdings-symbol-text{text-decoration:underline dotted;text-decoration-color:var(--color-border, #e2e8f0)}.holdings-symbol-hover-cell:hover .holdings-symbol-text{text-decoration-color:var(--color-primary, #3b82f6)}.holdings-accounts-hover-cell{position:relative}.holdings-accounts-tooltip{display:none;position:absolute;left:0;bottom:100%;background:var(--color-bg-alt, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:6px;padding:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;z-index:100;min-width:200px;margin-bottom:.25rem;white-space:nowrap}.holdings-accounts-hover-cell:hover .holdings-accounts-tooltip,.holdings-symbol-hover-cell:hover .holdings-accounts-tooltip{display:block}.holdings-accounts-tooltip-item{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;border-bottom:1px solid var(--color-border, #e2e8f0)}.holdings-accounts-tooltip-item:last-child{border-bottom:none}.holdings-accounts-tooltip-name{font-size:.7rem;font-weight:500;color:var(--color-text, #334155)}.holdings-accounts-tooltip-qty{font-size:.7rem;color:var(--color-text-muted, #64748b);font-variant-numeric:tabular-nums}.holdings-quote-controls{display:flex;align-items:center;gap:.75rem}.holdings-quote-timestamp{font-size:.7rem;color:var(--color-text-muted, #64748b)}.holdings-btn-refresh{background:var(--color-surface, #f3f4f6);color:var(--color-text, #334155);border:1px solid var(--color-border, #e2e8f0);padding:.4rem .75rem;font-size:.7rem;font-weight:500;border-radius:4px;cursor:pointer;transition:background .15s,border-color .15s}.holdings-btn-refresh:hover:not(:disabled){background:var(--color-border, #e2e8f0);border-color:var(--color-text-muted, #94a3b8)}.holdings-btn-refresh:disabled{opacity:.6;cursor:not-allowed}.holdings-quote-loading-indicator{display:inline-block;animation:spin 1s linear infinite;color:var(--color-primary, #21808d)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.holdings-quote-loading{color:var(--color-text-muted, #64748b);font-style:italic}.holdings-quote-na{color:var(--color-text-muted, #94a3b8)}.holdings-quote-cell{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.holdings-quote-price{font-weight:500}.holdings-quote-up{color:var(--color-success, #16a34a)}.holdings-quote-down{color:var(--color-danger, #dc2626)}.holdings-market-value{font-weight:500;color:var(--color-text, #334155)}[data-color-scheme=dark] .holdings-quote-timestamp{color:var(--color-text-muted)}[data-color-scheme=dark] .holdings-btn-refresh{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}[data-color-scheme=dark] .holdings-btn-refresh:hover:not(:disabled){background:var(--color-border)}[data-color-scheme=dark] .holdings-quote-loading,[data-color-scheme=dark] .holdings-quote-na{color:var(--color-text-muted)}[data-color-scheme=dark] .holdings-market-value{color:var(--color-text)}.tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);border-bottom:2px solid var(--color-border);padding-bottom:0}.tab{background:none;border:none;padding:var(--space-3) var(--space-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color var(--transition-fast),border-color var(--transition-fast);text-transform:uppercase;letter-spacing:.03em}.tab:hover{color:var(--color-text)}.tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-content{min-height:400px}.transactions-header{margin:0 0 1rem;font-size:1.5rem;color:var(--color-text)}.transactions-filter-bar{display:flex;align-items:center;margin-bottom:1rem;padding:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.transactions-filter-select{padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-alt);color:var(--color-text);font-size:var(--font-size-sm)}.transactions-empty{padding:2rem;text-align:center;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.transactions-count{margin-left:auto;color:var(--color-text-muted);font-size:var(--font-size-sm)}.transactions-multisort-info{font-size:var(--font-size-xs);color:var(--color-text-muted);padding:var(--space-2) var(--space-3);background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.accounts-summary{display:flex;gap:1.5rem;margin-bottom:1.25rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#0d9488,#0f766e);border-radius:8px;color:#fff}.accounts-summary-item{display:flex;flex-direction:column;gap:.25rem}.accounts-summary-label{font-size:.7rem;opacity:.85;text-transform:uppercase;letter-spacing:.03em}.accounts-summary-value{font-size:1.25rem;font-weight:600}.accounts-header{margin:0 0 .75rem}.accounts-actions{margin-bottom:1rem}.accounts-empty{font-size:.875rem;color:#64748b;padding:2rem;text-align:center;background:var(--color-surface);border-radius:8px;border:1px dashed #cbd5e1}.accounts-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.accounts-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:10px;padding:1rem 1.25rem;font-size:.8rem;box-shadow:0 1px 3px #0000000f;transition:box-shadow .15s,border-color .15s}.accounts-card:hover{box-shadow:0 4px 12px #00000014;border-color:#cbd5e1}.accounts-card-tax-advantaged{border-left:3px solid #f59e0b}.accounts-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem}.accounts-card-title{display:flex;flex-direction:column;gap:.375rem}.accounts-card-name{font-size:.95rem;font-weight:600;color:var(--color-text)}.accounts-card-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}.accounts-badge-taxable{background:#e2e8f0;color:#64748b}.accounts-badge-tax-advantaged{background:#fef3c7;color:#92400e}[data-color-scheme=dark] .accounts-badge-taxable{background:#334155;color:#cbd5e1}[data-color-scheme=dark] .accounts-badge-tax-advantaged{background:#78350f;color:#fde047}.accounts-card-actions{display:flex;gap:.25rem}.accounts-btn-icon{background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border);width:28px;height:28px;font-size:.85rem;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.accounts-btn-icon:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.accounts-btn-icon-danger:hover{background:#dc2626;color:#fff;border-color:#dc2626}[data-color-scheme=dark] .accounts-btn-icon-danger:hover{background:#ef4444;border-color:#ef4444}.accounts-card-value-section{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.accounts-card-total-value{display:block;font-size:1.5rem;font-weight:700;color:var(--color-text);margin-bottom:.25rem}.accounts-card-day-change{font-size:.8rem;font-weight:500}.accounts-gain{color:#16a34a}.accounts-loss{color:#dc2626}.accounts-card-stats{display:flex;gap:1.5rem}.accounts-card-stat{display:flex;flex-direction:column;gap:.125rem}.accounts-stat-value{font-size:1.1rem;font-weight:600;color:var(--color-text)}.accounts-stat-label{font-size:.7rem;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.accounts-card-meta{margin-top:.4rem;font-size:.6rem;color:#64748b}.accounts-btn-primary{background:#0d9488;color:#fff;border:none;padding:.6rem 1.1rem;font-size:.8rem;font-weight:500;border-radius:6px;cursor:pointer;transition:background .15s}.accounts-btn-primary:hover{background:#0f766e}.accounts-btn-small{color:#fff;border:none;padding:.4rem .7rem;font-size:.6rem;border-radius:4px;cursor:pointer}.accounts-btn-edit{background:#1e293b}.accounts-btn-edit:hover{background:#0f172a}.accounts-btn-small.accounts-btn-delete{background:#dc2626}.accounts-btn-small.accounts-btn-delete:hover{background:#b91c1c}.accounts-form{margin-top:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem;display:grid;gap:.75rem}.accounts-form-row{display:flex;flex-direction:column;gap:.25rem}.accounts-form-label{font-size:.7rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-muted)}.accounts-form-input{padding:.5rem .625rem;border:1px solid var(--color-border);border-radius:6px;font-size:.85rem;background:var(--color-bg-alt);color:var(--color-text)}.accounts-form-input:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 2px #0d948826}.accounts-form-row span{color:var(--color-text)}.accounts-form-help-text{font-size:.75rem;color:var(--color-text-muted);margin-top:.25rem;margin-left:1.5rem}.accounts-currency-input-wrapper{position:relative;display:inline-block;width:100%}.accounts-currency-symbol{position:absolute;left:.625rem;top:50%;transform:translateY(-50%);font-size:.85rem;color:var(--color-text-muted);pointer-events:none}.accounts-form-input-with-currency{padding-left:1.5rem}.accounts-form-input[type=number]::-webkit-inner-spin-button,.accounts-form-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;opacity:1;background:var(--color-surface);border-left:1px solid var(--color-border)}.accounts-form-input[type=number]{-moz-appearance:textfield}.accounts-form-input[type=number]::-webkit-inner-spin-button,.accounts-form-input[type=number]::-webkit-outer-spin-button{opacity:1;cursor:pointer}.accounts-form-actions{display:flex;gap:.5rem;margin-top:.5rem}.accounts-btn-save{background:#0d9488;color:#fff;border:none;padding:.5rem 1rem;font-size:.8rem;border-radius:6px;cursor:pointer}.accounts-btn-save:hover{background:#0f766e}.accounts-btn-cancel{background:#64748b;color:#fff;border:none;padding:.5rem 1rem;font-size:.8rem;border-radius:6px;cursor:pointer}.accounts-btn-cancel:hover{background:#475569}.income-summary-row{display:flex;align-items:stretch;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.income-summary-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:6px;padding:.6rem .9rem;min-width:160px;display:flex;flex-direction:column;justify-content:center}.income-summary-title{font-size:.55rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-muted)}.income-summary-value{font-size:.85rem;font-weight:600;color:var(--color-text);margin-top:.25rem}.income-summary-subtext{font-size:.55rem;color:var(--color-text-muted);margin-top:.25rem}.income-add-btn{background:#0d9488;color:#fff;border:none;padding:.5rem .8rem;font-size:.65rem;border-radius:4px;cursor:pointer}.income-secondary-btn{background:#1e293b;color:#fff;border:none;padding:.5rem .8rem;font-size:.65rem;border-radius:4px;cursor:pointer}.income-secondary-btn:hover{background:#0f172a}.income-table{width:100%;border-collapse:collapse;font-size:var(--table-font-size);line-height:1.5}.income-table thead{background:var(--table-header-bg);border-bottom:1px solid var(--color-border)}.income-table tbody tr{background:var(--table-row-bg);border-bottom:1px solid var(--color-border);transition:background var(--transition-fast)}.income-table tbody tr:nth-child(2n){background:var(--table-row-alt-bg)}.income-table tbody tr:hover{background:var(--table-row-hover-bg)}.income-table tbody tr:last-child{border-bottom:none}.income-table td{padding:var(--table-cell-padding);color:var(--color-text);vertical-align:middle}.income-table td.income-amount{text-align:right;font-variant-numeric:tabular-nums}.income-th-clickable{text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--table-cell-padding);background:var(--table-header-bg);font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);color:var(--table-header-color);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;transition:background var(--transition-fast)}.income-th-clickable:hover{background:var(--table-row-hover-bg)}.income-th-clickable-right{text-align:right;cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--table-cell-padding);padding-right:1rem;background:var(--table-header-bg);font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);color:var(--table-header-color);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;transition:background var(--transition-fast)}.income-th-clickable-right:hover{background:var(--table-row-hover-bg)}.income-th-clickable-pad{text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--table-cell-padding);padding-left:1rem;background:var(--table-header-bg);font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);color:var(--table-header-color);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;transition:background var(--transition-fast)}.income-th-clickable-pad:hover{background:var(--table-row-hover-bg)}.income-auto-row{background:var(--table-row-alt-bg)}.income-row-btn{background:#334155;color:#fff;border:none;padding:.3rem .55rem;font-size:.6rem;border-radius:3px;cursor:pointer;margin-right:4px}.income-form{margin-top:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;padding:.75rem;display:grid;gap:.5rem}.income-form-row{display:flex;flex-direction:column;gap:.25rem}.income-form-label{font-size:.55rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-muted)}.income-form-input{padding:.4rem .5rem;border:1px solid var(--color-border);border-radius:4px;font-size:.65rem;background:var(--color-bg-alt)}.income-btn-save{background:#0d9488;color:#fff;border:none;padding:.4rem .75rem;font-size:.7rem;border-radius:4px;cursor:pointer}.income-btn-cancel{background:#64748b;color:#fff;border:none;padding:.4rem .75rem;font-size:.7rem;border-radius:4px;cursor:pointer}.income-action-btn{color:#fff;border:none;padding:.4rem .7rem;font-size:.6rem;border-radius:4px;cursor:pointer;margin-right:4px}.income-edit-btn{background:#1e293b}.income-edit-btn:hover{background:#0f172a}.income-delete-btn{background:#dc2626}.income-delete-btn:hover{background:#b91c1c}.income-badge-auto{font-size:.55rem;padding:.15rem .4rem;border-radius:3px;background:#dbeafe;color:#1e40af;font-weight:500}.income-type-cell{display:flex;align-items:center;gap:.5rem}.income-row-menu{position:relative;display:inline-block}.income-row-menu-btn{background:none;border:none;color:var(--color-text-muted, #64748b);font-size:1rem;cursor:pointer;padding:.25rem .35rem;line-height:1;border-radius:3px;transition:background .15s,color .15s}.income-row-menu-btn:hover{background:var(--color-surface, #f3f4f6);color:var(--color-text, #334155)}.income-row-menu-dropdown{position:absolute;left:0;top:100%;background:var(--color-bg-alt, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:6px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;z-index:100;min-width:120px;padding:.25rem 0;margin-top:.25rem}.income-row-menu-item{display:block;width:100%;text-align:left;background:none;border:none;padding:.5rem .75rem;font-size:.75rem;color:var(--color-text, #334155);cursor:pointer;transition:background .15s}.income-row-menu-item:hover{background:var(--color-surface, #f3f4f6)}.income-row-menu-item-delete{color:var(--color-danger, #dc2626)}.income-row-menu-item-delete:hover{background:#fef2f2}[data-color-scheme=dark] .income-row-menu-item-delete:hover{background:#450a0a}.income-badge-manual{font-size:.55rem;padding:.15rem .4rem;border-radius:3px;background:#fef3c7;color:#92400e;font-weight:500}.income-badge-cash{font-size:.55rem;padding:.15rem .4rem;border-radius:3px;background:#d1fae5;color:#065f46;font-weight:500;margin-left:4px}.income-badge-reinvested{font-size:.55rem;padding:.15rem .4rem;border-radius:3px;background:#e0e7ff;color:#3730a3;font-weight:500;margin-left:4px}.income-badge-assigned{font-size:.55rem;padding:.15rem .4rem;border-radius:3px;background:#fef3c7;color:#92400e;font-weight:500;margin-left:4px}.income-badge-expired{font-size:.55rem;padding:.15rem .4rem;border-radius:3px;background:#d1fae5;color:#065f46;font-weight:500;margin-left:4px}.income-badge-closed{font-size:.55rem;padding:.15rem .4rem;border-radius:3px;background:#dbeafe;color:#1e40af;font-weight:500;margin-left:4px}.income-badge-open{font-size:.55rem;padding:.15rem .4rem;border-radius:3px;background:#f3e8ff;color:#7c3aed;font-weight:500;margin-left:4px}[data-color-scheme=dark] .income-badge-assigned{background:#78350f;color:#fde047}[data-color-scheme=dark] .income-badge-expired{background:#064e3b;color:#6ee7b7}[data-color-scheme=dark] .income-badge-closed{background:#1e3a8a;color:#93c5fd}[data-color-scheme=dark] .income-badge-open{background:#581c87;color:#d8b4fe}.income-breakdown-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:6px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.income-breakdown-title{font-size:.6rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-muted)}.income-breakdown-row{display:flex;justify-content:space-between;align-items:center}.income-breakdown-row-expandable{cursor:pointer;padding:.25rem 0;border-radius:4px;transition:background .15s ease}.income-breakdown-row-expandable:hover{background:#f1f5f9}.income-expand-icon{font-size:.5rem;margin-right:.4rem;color:var(--color-text-muted)}.income-breakdown-tree{margin-left:.5rem;border-left:1px solid #e2e8f0;padding-left:.5rem}.income-breakdown-row-child{font-size:.9em;padding:.15rem 0}.income-tree-line{color:#cbd5e1;font-family:monospace;margin-right:.3rem}.income-breakdown-row-muted{opacity:.65;font-style:italic}.income-breakdown-row-muted .income-breakdown-value{color:var(--color-text-muted)}.income-info-icon{margin-left:4px;font-size:.7rem;cursor:help}.income-badge-taxable{font-size:.5rem;padding:.1rem .3rem;border-radius:3px;background:#fee2e2;color:#991b1b;font-weight:500;margin-left:4px;font-style:normal}.income-badge-in-basis{font-size:.5rem;padding:.1rem .3rem;border-radius:3px;background:#fef3c7;color:#92400e;font-weight:500;margin-left:4px;font-style:normal;cursor:help}.income-badge-external{font-size:.5rem;padding:.1rem .3rem;border-radius:3px;background:#dbeafe;color:#1e40af;font-weight:500;margin-left:4px;font-style:normal}[data-color-scheme=dark] .income-badge-cash{background:#064e3b;color:#6ee7b7}[data-color-scheme=dark] .income-badge-reinvested{background:#3730a3;color:#c7d2fe}[data-color-scheme=dark] .income-badge-taxable{background:#7f1d1d;color:#fca5a5}[data-color-scheme=dark] .income-badge-in-basis{background:#78350f;color:#fde047}[data-color-scheme=dark] .income-badge-external{background:#1e3a8a;color:#93c5fd}.income-header{margin:0 0 .75rem}.income-info-box{padding:.75rem;background:#fef3c7;border:1px solid #fbbf24;border-radius:6px;margin-bottom:.75rem;font-size:.65rem;color:#78350f}[data-color-scheme=dark] .income-info-box{background:#422006;border-color:#92400e;color:#fde68a}.income-breakdowns{margin-bottom:1rem}.income-breakdowns-header{font-size:.75rem;font-weight:600;margin:0 0 .5rem;color:var(--color-text-muted)}.income-breakdowns-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;margin-bottom:.75rem}.income-breakdown-list{display:flex;flex-direction:column;gap:.35rem}.income-breakdown-list-scrollable{display:flex;flex-direction:column;gap:.35rem;max-height:180px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .3s ease}.income-breakdown-list-scrollable:hover{scrollbar-color:rgba(0,0,0,.3) transparent}.income-breakdown-list-scrollable::-webkit-scrollbar{width:8px}.income-breakdown-list-scrollable::-webkit-scrollbar-track{background:transparent}.income-breakdown-list-scrollable::-webkit-scrollbar-thumb{background-color:transparent;border-radius:4px;transition:background-color .3s ease}.income-breakdown-list-scrollable:hover::-webkit-scrollbar-thumb{background-color:#0000004d}.income-breakdown-list-scrollable::-webkit-scrollbar-thumb:hover{background-color:#00000080}.income-breakdown-label{font-size:.65rem;color:var(--color-text-muted)}.income-breakdown-label-mono{font-size:.65rem;color:var(--color-text-muted);font-family:monospace}.income-breakdown-value{font-size:.65rem;font-weight:600;color:var(--color-text)}.income-toggle-container{margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.income-toggle-label{display:flex;align-items:center;gap:.35rem;font-size:.65rem;cursor:pointer}.income-toggle-count{font-size:.6rem;color:var(--color-text-muted)}.income-table-wrapper{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--table-row-bg);box-shadow:var(--shadow-sm)}.income-table-empty{padding:1rem;font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center}.income-td-type{width:120px}.income-td-desc{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.income-td-amount{text-align:right}.income-td-amount-bold{text-align:right;font-weight:600}.income-td-source{padding-left:1rem}.income-td-actions-empty{font-size:.6rem;color:var(--color-text-muted)}.income-form-title{margin:0 0 .5rem;font-size:.75rem;font-weight:600;color:var(--color-text)}.income-form-actions{display:flex;gap:.5rem}.income-row-btn-delete{background:#dc2626;color:#fff;border:none;padding:.3rem .55rem;font-size:.6rem;border-radius:3px;cursor:pointer;margin-right:4px}.income-th-type{text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--table-cell-padding);background:var(--table-header-bg);font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);color:var(--table-header-color);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;transition:background var(--transition-fast);width:180px}.income-th-type:hover{background:var(--table-row-hover-bg)}.income-checkbox{cursor:pointer}.income-external-section{margin-top:2rem;padding-top:1.5rem}.income-external-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.income-external-header h3{margin:0;font-size:.9rem;font-weight:600;color:#0f172a}.income-external-actions{display:flex;gap:.5rem;align-items:center}.income-type-badge{display:inline-block;padding:.2rem .5rem;font-size:.6rem;font-weight:600;border-radius:3px;background:#dbeafe;color:#1e40af;white-space:nowrap}[data-color-scheme=dark] .income-type-badge{background:#1e3a8a;color:#93c5fd}.income-summary-card-highlight{background:#f0fdf4;border-color:#86efac}.income-summary-card-highlight .income-summary-title,.income-summary-card-highlight .income-summary-value{color:#166534}[data-color-scheme=dark] .income-summary-card-highlight{background:#064e3b;border-color:#059669}[data-color-scheme=dark] .income-summary-card-highlight .income-summary-title{color:#86efac}[data-color-scheme=dark] .income-summary-card-highlight .income-summary-value{color:#6ee7b7}.tax-breakdown-editor-container{margin-top:.75rem;padding:.75rem;background:#f1f5f9;border-radius:6px}[data-color-scheme=dark] .tax-breakdown-editor-container{background:#1e293b}.tax-breakdown-editor-title{margin:0 0 .5rem;font-size:.7rem;font-weight:600;text-transform:uppercase;color:#475569}[data-color-scheme=dark] .tax-breakdown-editor-title{color:#cbd5e1}.tax-breakdown-section{margin-bottom:.75rem}.tax-breakdown-total-row{padding-top:.5rem;border-top:2px solid #cbd5e1}[data-color-scheme=dark] .tax-breakdown-total-row{border-top-color:#475569}.tax-breakdown-total-label{font-weight:700;font-size:.75rem}.tax-breakdown-total-value{font-size:.9rem;font-weight:700;padding:.4rem .5rem;color:#0f172a}[data-color-scheme=dark] .tax-breakdown-total-value{color:#f1f5f9}.tax-breakdown-category-label{font-weight:600;color:#0f172a}[data-color-scheme=dark] .tax-breakdown-category-label{color:#f1f5f9}.tax-breakdown-category-value{font-size:.8rem;font-weight:600;padding:.4rem .5rem;color:#0f172a}[data-color-scheme=dark] .tax-breakdown-category-value{color:#f1f5f9}.tax-breakdown-subsection{margin-left:1rem;padding-left:.5rem;border-left:2px solid #cbd5e1}[data-color-scheme=dark] .tax-breakdown-subsection{border-left-color:#475569}.tax-breakdown-field-label{font-size:.65rem;color:#64748b}[data-color-scheme=dark] .tax-breakdown-field-label{color:#cbd5e1}.tax-breakdown-help-text{font-size:.6rem;color:#64748b;margin-top:.25rem}[data-color-scheme=dark] .tax-breakdown-help-text{color:#cbd5e1}.tax-breakdown-info-section{margin-top:.75rem;padding-top:.5rem;border-top:1px solid #e2e8f0}[data-color-scheme=dark] .tax-breakdown-info-section{border-top-color:#334155}.tax-breakdown-info-text{font-size:.7rem;color:#64748b;font-style:italic}[data-color-scheme=dark] .tax-breakdown-info-text{color:#cbd5e1}.tax-breakdown-checkbox-label,.tax-breakdown-field-input-group{display:flex;align-items:center;gap:.5rem}.tax-breakdown-field-input-label{font-size:.7rem}.tax-breakdown-currency-sign{font-size:.8rem;color:#0f172a}[data-color-scheme=dark] .tax-breakdown-currency-sign{color:#f1f5f9}.tax-breakdown-currency-sign-small{font-size:.7rem;margin-right:.25rem;color:#0f172a}[data-color-scheme=dark] .tax-breakdown-currency-sign-small{color:#f1f5f9}.income-form-currency-input-wrapper{position:relative;display:flex;align-items:center}.income-form-currency-prefix{position:absolute;left:.5rem;color:#64748b;font-size:.75rem;pointer-events:none}[data-color-scheme=dark] .income-form-currency-prefix{color:#cbd5e1}.income-form-currency-input-wrapper .income-form-input{padding-left:1.25rem}[data-color-scheme=dark] .income-form-input[type=number]{color-scheme:dark}.costbasis-summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem;margin-bottom:1rem;display:grid;gap:.5rem}.costbasis-summary-row{display:flex;justify-content:space-between;font-size:var(--font-size-sm)}.costbasis-summary-label{font-weight:var(--font-weight-bold);color:var(--color-text-muted)}.costbasis-summary-value{font-weight:700}.costbasis-account-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:.75rem;box-shadow:var(--shadow-sm)}.costbasis-account-header{padding:.5rem .75rem;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:1rem}.costbasis-bulk-controls{display:flex;align-items:center;gap:1rem;font-size:var(--font-size-xs)}.costbasis-bulk-control{display:flex;align-items:center;gap:.4rem}.costbasis-bulk-label{font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.costbasis-bulk-select{font-size:var(--font-size-xs);padding:.25rem .4rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;min-width:100px}.costbasis-bulk-select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.costbasis-nested-table{margin:0;border-radius:var(--radius-sm)}.costbasis-expand-btn{background:transparent;border:none;cursor:pointer;font-size:var(--font-size-xs);padding:.25rem;color:var(--color-text-muted);transition:color var(--transition-fast)}.costbasis-expand-btn:hover{color:var(--color-primary)}.costbasis-btn-approve{background:var(--color-success);color:#fff;border:none;padding:.3rem .5rem;font-size:var(--font-size-xs);border-radius:var(--radius-sm);cursor:pointer;margin-right:.25rem;transition:opacity var(--transition-fast)}.costbasis-btn-approve:hover{opacity:.85}.costbasis-btn-revert{background:var(--color-text-muted);color:#fff;border:none;padding:.3rem .5rem;font-size:var(--font-size-xs);border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition-fast)}.costbasis-btn-revert:hover{opacity:.85}.costbasis-badge-warning{background:#fef3c7;color:var(--color-warning);padding:.2rem .4rem;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.costbasis-badge-success{background:#d1fae5;color:var(--color-success);padding:.2rem .4rem;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.costbasis-expanded-section{background:var(--color-surface);padding:.75rem;border-top:1px solid var(--color-border)}.costbasis-details-container{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.costbasis-details-column{min-width:0}.costbasis-details-heading{margin:0 0 .5rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text)}.costbasis-btn-manual{background:var(--color-primary);color:#fff;border:none;padding:.4rem .6rem;font-size:var(--font-size-xs);border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition-fast)}.costbasis-btn-manual:hover{opacity:.85}.costbasis-manual-form{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.75rem;margin-top:.75rem}.costbasis-form-label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);margin-bottom:.25rem;color:var(--color-text-muted)}.costbasis-form-input{width:100%;padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);background:var(--color-bg-alt);color:var(--color-text)}.costbasis-btn-save{background:var(--color-success);color:#fff;border:none;padding:.4rem .75rem;font-size:var(--font-size-xs);border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition-fast)}.costbasis-btn-save:hover{opacity:.85}.costbasis-btn-cancel{background:var(--color-text-muted);color:#fff;border:none;padding:.4rem .75rem;font-size:var(--font-size-xs);border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition-fast)}.costbasis-btn-cancel:hover{opacity:.85}.costbasis-btn-delete{background:var(--color-danger);color:#fff;border:none;padding:.25rem .5rem;font-size:var(--font-size-xs);border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition-fast)}.costbasis-btn-delete:hover{opacity:.85}.costbasis-warnings-box{background:#fef3c7;border:1px solid var(--color-warning);border-radius:var(--radius-sm);padding:.5rem;margin-top:.5rem}[data-color-scheme=dark] .costbasis-warnings-box{background:#fbbf2426;border:1px solid rgba(251,191,36,.3)}.costbasis-header{margin:0 0 .75rem}.costbasis-summary-value-positive{font-weight:var(--font-weight-bold);color:var(--color-success)}.costbasis-summary-value-negative{font-weight:var(--font-weight-bold);color:var(--color-danger)}.costbasis-empty{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:1rem}.costbasis-account-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:.25rem}.costbasis-td-inline-actions{display:flex;gap:.25rem;align-items:center;justify-content:flex-end}.costbasis-td-input-narrow{width:100px}.costbasis-td-inline-span{display:flex;gap:.25rem;align-items:center;justify-content:flex-end}.costbasis-btn-manual-small{background:var(--color-primary);color:#fff;border:none;padding:.2rem .4rem;font-size:var(--font-size-xs);border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition-fast)}.costbasis-btn-manual-small:hover{opacity:.85}.costbasis-variance-text{font-size:var(--font-size-xs)}.costbasis-checkbox-cell{display:flex;align-items:center;gap:.4rem}.costbasis-checkbox{cursor:pointer}.costbasis-form-actions{display:flex;gap:.5rem;margin-top:.5rem}.costbasis-td-variance-positive{text-align:right;color:#059669}.costbasis-td-variance-negative{text-align:right;color:#dc2626}.costbasis-status-completed{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-success)}.costbasis-status-review{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-warning)}.costbasis-source-select{font-size:var(--font-size-xs);padding:.25rem .4rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;width:100%;max-width:120px}.costbasis-source-select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.costbasis-source-options{display:flex;flex-direction:column;gap:.25rem;font-size:var(--font-size-xs)}.costbasis-source-label{display:flex;align-items:center;gap:.3rem;cursor:pointer}.costbasis-radio{cursor:pointer}.costbasis-empty-lots{font-size:var(--font-size-xs);color:var(--color-text-muted)}.costbasis-lots-tr-manual{background:#fef3c7}[data-color-scheme=dark] .costbasis-lots-tr-manual{background:#fbbf2426}.costbasis-lots-manual-label{font-weight:var(--font-weight-bold);color:var(--color-warning)}.costbasis-manual-lot-section{margin-top:.75rem}.costbasis-checkbox-disabled{opacity:.3}.costbasis-tx-tr-excluded{opacity:.5;color:var(--color-text-muted)}.costbasis-warnings-list{margin-top:.5rem;display:flex;flex-direction:column;gap:.25rem}.costbasis-warning-item{font-size:var(--font-size-xs);color:var(--color-warning)}.costbasis-row-needs-review{background:#fef3c7}[data-color-scheme=dark] .costbasis-row-needs-review{background:#fbbf241a}.costbasis-row-completed{background:var(--color-bg-alt)}.costbasis-warnings-strong{font-size:var(--font-size-xs)}.costbasis-warnings-ul{margin:.25rem 0 0 1rem;padding:0}.costbasis-form-grid{display:grid;gap:.5rem}.costbasis-mmf-badge{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:.15rem .4rem;background:#dbeafe;color:#1e40af;border-radius:var(--radius-sm);margin-left:.25rem}[data-color-scheme=dark] .costbasis-mmf-badge{background:#1e3a5f;color:#93c5fd}.costbasis-mmf-note{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:var(--font-weight-medium);text-align:center}.costbasis-mmf-note-small{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-normal)}.gains-container{padding:1rem;max-width:1400px;margin:0 auto}.gains-container h2{margin-top:0;margin-bottom:1.5rem;font-size:1.75rem;color:var(--color-text)}.gains-container h3{margin-top:1.5rem;margin-bottom:1rem;font-size:1.25rem;color:var(--color-text);display:flex;align-items:center;gap:1rem}.gains-section h3{margin-top:1.5rem;margin-bottom:1rem;font-size:1.25rem;color:var(--color-text)}.gains-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}.gains-summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.gains-summary-label{font-size:.875rem;color:var(--color-text-muted);font-weight:500}.gains-summary-value{font-size:1.75rem;font-weight:700;color:var(--color-text)}.gains-summary-value.positive{color:#059669}.gains-summary-value.negative{color:#dc2626}.gains-summary-detail{font-size:.75rem;color:var(--color-text-muted)}.gains-warnings{background:#f0f9ff;border:1px solid #7dd3fc;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.gains-warnings summary{cursor:pointer;font-weight:600;color:#0369a1}.gains-warnings-list{margin:.5rem 0 0;padding-left:1.5rem;font-size:.875rem;max-height:300px;overflow-y:auto;list-style-type:disc}.gains-warnings-list li{margin-top:.25rem;color:#0c4a6e}.gains-warnings ul{margin:.5rem 0 0;padding-left:1.5rem;font-size:.875rem}.gains-warnings li{margin-top:.25rem;color:#0c4a6e}.gains-breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}.gains-breakdown-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem}.gains-breakdown-card .gains-breakdown-header{font-weight:600;font-size:.875rem;color:var(--color-text);margin-bottom:.75rem}.gains-breakdown-content{display:flex;flex-direction:column;gap:.5rem}.gains-breakdown-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;padding:.25rem 0}.gains-breakdown-row span:first-child{color:var(--color-text)}.gains-breakdown-row .positive{color:#059669;font-weight:600}.gains-breakdown-row .negative{color:#dc2626;font-weight:600}.gains-filters-search-container{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.gains-filters{display:flex;flex-wrap:nowrap;gap:1rem;flex:1}.gains-filters-search-container .searchable-table{flex-shrink:0}.gains-filter-group{display:flex;align-items:center;gap:.5rem}.gains-filter-group label{font-size:.875rem;font-weight:600;color:var(--color-text-secondary)}.gains-filter-group button{padding:.375rem .75rem;font-size:.875rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:4px;cursor:pointer;transition:all .2s}.gains-filter-group button:hover{background:var(--color-hover)}.gains-filter-group button.active{background:#0d9488;color:#fff;border-color:#0d9488}.gains-total{font-size:1.25rem;font-weight:600;margin-left:auto}.gains-total.positive{color:var(--color-success)}.gains-total.negative{color:var(--color-danger)}.gains-empty-section{padding:2rem;text-align:center;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.gains-table-container{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--table-row-bg);box-shadow:var(--shadow-sm)}.gains-table{width:100%;border-collapse:collapse;font-size:var(--table-font-size);line-height:1.5}.gains-table thead{background:var(--table-header-bg);border-bottom:1px solid var(--color-border)}.gains-table th{padding:var(--table-cell-padding);text-align:left;font-weight:var(--font-weight-bold);color:var(--table-header-color);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.gains-table th.gains-table-number,.gains-table th.numeric{text-align:right}.gains-table tbody tr{background:var(--table-row-bg);border-bottom:1px solid var(--color-border);transition:background var(--transition-fast)}.gains-table tbody tr:nth-child(2n){background:var(--table-row-alt-bg)}.gains-table tbody tr:hover{background:var(--table-row-hover-bg)}.gains-table tbody tr:last-child{border-bottom:none}.gains-table-row{border-bottom:1px solid var(--color-border);transition:background var(--transition-fast)}.gains-table-row:hover{background:var(--table-row-hover-bg)}.gains-table-row td{padding:var(--table-cell-padding);color:var(--color-text);vertical-align:middle}.gains-table-number{text-align:right;font-variant-numeric:tabular-nums}.gains-table-number.positive{color:var(--color-success);font-weight:var(--font-weight-bold)}.gains-table-number.negative{color:var(--color-danger);font-weight:var(--font-weight-bold)}.gains-term-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.gains-term-badge.short{background:#fef3c7;color:#92400e}.gains-term-badge.long{background:#d1fae5;color:#065f46}[data-color-scheme=dark] .gains-term-badge.short{background:#78350f;color:#fde047}[data-color-scheme=dark] .gains-term-badge.long{background:#064e3b;color:#6ee7b7}.gains-expand-btn{background:none;border:none;cursor:pointer;padding:.25rem .5rem;font-size:.875rem;color:var(--color-text-secondary);transition:color .15s}.gains-expand-btn:hover{color:var(--color-text)}.gains-detail-row td{padding:0!important;background:var(--table-row-alt-bg)}.gains-lots-detail{padding:1rem}.gains-lots-detail h4{margin:0 0 .75rem;font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.gains-lots-table{width:100%;border-collapse:collapse;font-size:var(--table-font-size)}.gains-lots-table th{padding:var(--table-cell-padding);text-align:left;font-weight:var(--font-weight-bold);color:var(--table-header-color);border-bottom:1px solid var(--color-border)}.gains-lots-table th.gains-table-number{text-align:right}.gains-lots-table td{padding:var(--table-cell-padding);border-bottom:1px solid var(--color-border);color:var(--color-text)}.gains-empty{padding:3rem 2rem;text-align:center;color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.gains-empty p{margin:.5rem 0}[data-color-scheme=dark] .gains-summary-value.positive{color:#22c55e}[data-color-scheme=dark] .gains-summary-value.negative{color:#ef4444}[data-color-scheme=dark] .gains-breakdown-row .positive{color:#22c55e}[data-color-scheme=dark] .gains-breakdown-row .negative{color:#ef4444}[data-color-scheme=dark] .gains-warnings{background:#0c4a6e;border-color:#0369a1}[data-color-scheme=dark] .gains-warnings summary{color:#7dd3fc}[data-color-scheme=dark] .gains-warnings-list li,[data-color-scheme=dark] .gains-warnings li{color:#bae6fd}.performance-header{font-size:1.1rem;font-weight:600;color:#0f172a;margin-bottom:.25rem}.performance-subtitle{font-size:.7rem;color:var(--color-text-muted);margin-bottom:1rem}.perf-summary-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.5rem}.perf-summary-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:8px;padding:.75rem 1rem;min-width:150px;flex:1}.perf-summary-card-highlight{background:#f0fdf4;border-color:#86efac}.perf-summary-card-warning{background:#fefce8;border-color:#fde047}.perf-summary-title{font-size:.6rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-muted)}.perf-summary-value{font-size:1.1rem;font-weight:700;margin:.25rem 0}.perf-summary-subtext{font-size:.6rem;color:var(--color-text-muted)}.perf-amount-positive{color:#16a34a}.perf-amount-negative{color:#dc2626}.perf-amount-zero{color:var(--color-text-muted)}.perf-amount-warning{color:#ca8a04}.perf-breakdown-section{margin-bottom:1.5rem}.perf-accounts-section{margin-top:1.5rem}.perf-accounts-header{font-size:.8rem;font-weight:600;color:var(--color-text-muted);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.perf-account-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:8px;margin-bottom:.75rem;overflow:hidden}.perf-account-card-aggregate{border-color:#a5b4fc;background:#fafbff}.perf-account-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer;transition:background .15s ease}.perf-account-header:hover{background:var(--color-surface)}.perf-account-title{font-size:.8rem;font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:.5rem}.perf-expand-icon{font-size:.55rem;color:var(--color-text-muted)}.perf-account-total{font-size:.9rem;font-weight:700}.perf-account-details{padding:0 1rem 1rem;border-top:1px solid #f1f5f9}.perf-category{margin-top:.75rem;padding:.5rem .75rem;background:var(--color-surface);border-radius:6px}.perf-category-warning{background:#fffbeb}.perf-category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.perf-category-title{font-size:.7rem;font-weight:600;color:var(--color-text-muted)}.perf-category-total{font-size:.75rem;font-weight:600}.perf-category-note{font-size:.6rem;color:#92400e;font-style:italic}.perf-category-items{margin-left:.5rem}.perf-item{display:flex;justify-content:space-between;align-items:center;padding:.2rem 0;font-size:.7rem}.perf-item-label{color:var(--color-text-muted)}.perf-item-value{font-weight:500;color:var(--color-text)}.perf-item-sub{display:flex;gap:1rem;margin-left:1rem;margin-bottom:.25rem}.perf-item-sub-detail{font-size:.6rem;color:var(--color-text-muted)}.perf-item-muted{opacity:.7;font-style:italic}.perf-net-summary{margin-top:.75rem;padding-top:.75rem;border-top:2px solid #e2e8f0}.perf-net-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0}.perf-net-row-adjusted{padding-top:.5rem;margin-top:.25rem;border-top:1px dashed #e2e8f0}.perf-net-row-highlight{padding-top:.5rem;margin-top:.25rem;border-top:1px solid #3b82f6;background:#eff6ff;padding:.5rem;border-radius:4px}.perf-net-label{font-size:.75rem;font-weight:600;color:var(--color-text)}.perf-net-value{font-size:.85rem;font-weight:700}.perf-summary-section{margin-bottom:1.5rem}.perf-summary-row-secondary{margin-top:.5rem}.perf-summary-row-total{margin-top:.5rem;justify-content:flex-end}.perf-summary-card-primary{background:#eff6ff;border-color:#93c5fd}.perf-summary-card-secondary{background:#f5f3ff;border-color:#c4b5fd}.perf-summary-card-muted{background:var(--color-surface);border-color:var(--color-border);opacity:.85}.perf-chart-section{margin-bottom:1.5rem;background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:8px;padding:1rem}.perf-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.perf-chart-title{font-size:.8rem;font-weight:600;color:var(--color-text);margin:0}.perf-chart-controls{display:flex;gap:.75rem;align-items:center}.perf-chart-aftertax-toggle{font-size:.65rem;color:var(--color-text-muted);display:flex;align-items:center;gap:.35rem;cursor:pointer;padding:.25rem .5rem;background:#f1f5f9;border-radius:4px}.perf-chart-aftertax-toggle input{cursor:pointer}.perf-chart-aftertax-toggle:has(input:checked){background:#e0f2fe;color:#0369a1}.perf-chart-aftertax-badge{font-size:.6rem;font-weight:500;color:#0369a1;background:#e0f2fe;padding:.1rem .35rem;border-radius:3px;margin-left:.35rem}.perf-chart-select{font-size:.65rem;padding:.25rem .5rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-alt);color:var(--color-text-muted);cursor:pointer}.perf-chart-options{display:flex;justify-content:flex-end;margin-bottom:.5rem}.perf-chart-toggle{font-size:.65rem;color:var(--color-text-muted);display:flex;align-items:center;gap:.35rem;cursor:pointer}.perf-chart-toggle input{cursor:pointer}.perf-chart-filters{display:flex;gap:1rem;align-items:center;margin-bottom:1rem;padding:.5rem .75rem;background:var(--color-surface);border-radius:4px}.perf-chart-filters-label{font-size:.65rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.25px}.perf-chart-filter{font-size:.65rem;color:var(--color-text-muted);display:flex;align-items:center;gap:.35rem;cursor:pointer}.perf-chart-filter input{cursor:pointer}.perf-chart-container{width:100%}.perf-chart-empty{text-align:center;padding:2rem;color:var(--color-text-muted);font-size:.75rem}.perf-chart-tooltip{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:6px;padding:.75rem;box-shadow:0 4px 12px #0000001a;font-size:.65rem}.perf-chart-tooltip-title{font-weight:600;color:var(--color-text);margin-bottom:.5rem;font-size:.7rem}.perf-chart-tooltip-row{display:flex;justify-content:space-between;gap:1.5rem;padding:.15rem 0}.perf-chart-tooltip-row span:first-child{color:var(--color-text-muted)}.perf-chart-tooltip-row span:last-child{font-weight:500;color:var(--color-text)}.perf-chart-tooltip-row .positive{color:#16a34a}.perf-chart-tooltip-row .negative{color:#dc2626}.perf-chart-tooltip-divider{border-top:1px solid #e2e8f0;margin:.35rem 0}.perf-chart-tooltip-total{font-weight:600}.perf-metrics-section{margin-bottom:1.5rem}.perf-metrics-header{font-size:.8rem;font-weight:600;color:var(--color-text);margin-bottom:.75rem}.perf-metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.perf-metric-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:8px;padding:.75rem;display:flex;gap:.5rem;align-items:flex-start}.perf-metric-icon{font-size:1.25rem;line-height:1}.perf-metric-content{flex:1;min-width:0}.perf-metric-value{font-size:.95rem;font-weight:700;color:var(--color-text);line-height:1.2}.perf-metric-value.positive{color:#16a34a}.perf-metric-value.negative{color:#dc2626}.perf-metric-label{font-size:.65rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.25px}.perf-metric-detail{font-size:.6rem;color:var(--color-text-muted);margin-top:.15rem}.perf-breakdown-header{font-size:.8rem;font-weight:600;color:var(--color-text-muted);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.exclude-nontaxable-box{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;margin-bottom:1rem;background:var(--color-surface);border-radius:.375rem;font-size:.875rem;border:1px solid var(--color-border)}.exclude-nontaxable-box.active{background:#fef3c7;border-color:#fde047}.exclude-nontaxable-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.exclude-nontaxable-text{color:var(--color-text-muted)}.exclude-nontaxable-box.active .exclude-nontaxable-text{color:#92400e}.exclude-nontaxable-subtext{font-size:.75rem;color:var(--color-text-muted);margin-left:auto}[data-color-scheme=dark] .performance-header{color:var(--color-text)}[data-color-scheme=dark] .exclude-nontaxable-box.active{background:#422006;border-color:#78350f}[data-color-scheme=dark] .exclude-nontaxable-box.active .exclude-nontaxable-text{color:#fde047}[data-color-scheme=dark] .perf-summary-card-highlight{background:#064e3b;border-color:#059669}[data-color-scheme=dark] .perf-summary-card-warning{background:#422006;border-color:#78350f}[data-color-scheme=dark] .perf-account-card-aggregate{background:#0c4a6e;border-color:#0369a1}[data-color-scheme=dark] .perf-account-details{border-top-color:var(--color-border)}[data-color-scheme=dark] .perf-category-warning{background:#422006}[data-color-scheme=dark] .perf-category-note{color:#fde047}[data-color-scheme=dark] .perf-net-summary,[data-color-scheme=dark] .perf-net-row-adjusted{border-top-color:var(--color-border)}[data-color-scheme=dark] .perf-net-row-highlight{background:#0c4a6e;border-top-color:#0369a1}[data-color-scheme=dark] .perf-summary-card-primary{background:#0c4a6e;border-color:#0369a1}[data-color-scheme=dark] .perf-summary-card-secondary{background:#4c1d95;border-color:#7c3aed}[data-color-scheme=dark] .perf-chart-aftertax-toggle{background:var(--color-surface)}[data-color-scheme=dark] .perf-chart-aftertax-toggle:has(input:checked){background:#0c4a6e;color:#7dd3fc}[data-color-scheme=dark] .perf-chart-aftertax-badge{background:#0c4a6e;color:#7dd3fc}[data-color-scheme=dark] .perf-chart-tooltip-divider{border-top-color:var(--color-border)}[data-color-scheme=dark] .perf-amount-positive{color:#22c55e}[data-color-scheme=dark] .perf-amount-negative{color:#ef4444}[data-color-scheme=dark] .perf-amount-warning{color:#fde047}[data-color-scheme=dark] .perf-chart-tooltip-row .positive{color:#22c55e}[data-color-scheme=dark] .perf-chart-tooltip-row .negative{color:#ef4444}[data-color-scheme=dark] .perf-metric-value.positive{color:#22c55e}[data-color-scheme=dark] .perf-metric-value.negative{color:#ef4444}.data-table-container{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--table-row-bg);box-shadow:var(--shadow-sm)}.data-table{width:100%;border-collapse:collapse;font-size:var(--table-font-size);line-height:1.5}.data-table thead{background:var(--table-header-bg);border-bottom:1px solid var(--color-border)}.data-table th{padding:var(--table-cell-padding);text-align:left;font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);color:var(--table-header-color);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;position:sticky;top:0;background:var(--table-header-bg)}.data-table th.text-right{text-align:right}.data-table th.text-center{text-align:center}.data-table th[data-sortable],.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.data-table th[data-sortable]:hover,.data-table th.sortable:hover{background:var(--table-row-hover-bg)}.data-table tbody tr{background:var(--table-row-bg);border-bottom:1px solid var(--color-border);transition:background var(--transition-fast)}.data-table tbody tr:nth-child(2n){background:var(--table-row-alt-bg)}.data-table tbody tr:hover{background:var(--table-row-hover-bg)}.data-table tbody tr:last-child{border-bottom:none}.data-table td{padding:var(--table-cell-padding);color:var(--color-text);vertical-align:middle}.data-table td.text-right{text-align:right}.data-table td.text-center{text-align:center}.data-table td.text-muted{color:var(--color-text-muted)}.data-table td.numeric,.data-table th.numeric{text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.data-table td.truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table .value-positive{color:var(--color-success);font-weight:var(--font-weight-medium)}.data-table .value-negative{color:var(--color-danger);font-weight:var(--font-weight-medium)}.data-table .badge{display:inline-block;padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.data-table .badge-buy{background:#dcfce7;color:#166534}.data-table .badge-sell{background:#fee2e2;color:#991b1b}.data-table .badge-dividend{background:#dbeafe;color:#1e40af}.data-table .badge-default{background:var(--color-surface);color:var(--color-text-muted)}[data-color-scheme=dark] .data-table .badge-buy{background:#064e3b;color:#6ee7b7}[data-color-scheme=dark] .data-table .badge-sell{background:#7f1d1d;color:#fca5a5}[data-color-scheme=dark] .data-table .badge-dividend{background:#1e3a5f;color:#93c5fd}.data-table.compact th,.data-table.compact td{padding:.4rem .6rem;font-size:calc(var(--table-font-size) - .0625rem)}.data-table .empty-row td{padding:2rem;text-align:center;color:var(--color-text-muted);font-style:italic}.data-table .action-btn{padding:.25rem .5rem;font-size:var(--font-size-xs);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition-fast)}.data-table .action-btn:hover{opacity:.85}.data-table .symbol{font-weight:var(--font-weight-bold);color:var(--color-primary)}.watchlist-page{padding:var(--space-4)}.watchlist-content{margin-top:var(--space-4)}.watchlist-toolbar{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);background:var(--color-surface, #f9fafb);border-radius:var(--radius-md);border:1px solid var(--color-border, #e2e8f0)}.add-symbol-input{flex:1}.add-symbol-input .input-row{display:flex;gap:var(--space-2)}.add-symbol-input input{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;background:var(--color-bg, #fff);color:var(--color-text, #334155)}.add-symbol-input input:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.add-symbol-input input.input-error{border-color:var(--color-error)}.add-symbol-input .error-message{margin-top:var(--space-1);font-size:.75rem;color:var(--color-error, #dc2626);background:var(--color-error-bg, #fee2e2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-error, #dc2626)}.add-symbol-input .btn-primary{background:var(--color-primary, #3b82f6);color:#fff;border:1px solid var(--color-primary, #3b82f6);padding:var(--space-2) var(--space-3);font-size:.875rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.add-symbol-input .btn-primary:hover:not(:disabled){background:var(--color-primary-dark, #2563eb);border-color:var(--color-primary-dark, #2563eb)}.add-symbol-input .btn-primary:disabled{opacity:.6;cursor:not-allowed}.watchlist-quote-controls{display:flex;align-items:center;gap:.75rem}.watchlist-quote-timestamp{font-size:.7rem;color:var(--color-text-muted, #64748b)}.watchlist-btn-refresh{background:var(--color-surface, #f3f4f6);color:var(--color-text, #334155);border:1px solid var(--color-border, #e2e8f0);padding:.4rem .75rem;font-size:.7rem;font-weight:500;border-radius:4px;cursor:pointer;transition:background .15s,border-color .15s}.watchlist-btn-refresh:hover:not(:disabled){background:var(--color-border, #e2e8f0);border-color:var(--color-text-muted, #94a3b8)}.watchlist-btn-refresh:disabled{opacity:.6;cursor:not-allowed}.tab-wrapper{position:relative;display:inline-flex;align-items:center;gap:var(--space-1)}.tab-edit-input{padding:var(--space-1) var(--space-2);border:1px solid var(--color-primary);border-radius:var(--radius-sm);font-size:.875rem;min-width:100px}.tab-delete-btn{padding:0 var(--space-1);background:transparent;border:none;color:var(--color-text-secondary);font-size:1.2rem;line-height:1;cursor:pointer;opacity:.6;transition:opacity .15s}.tab-delete-btn:hover{opacity:1;color:var(--color-error)}.tab-add{font-weight:400;opacity:.7}.tab-add:hover{opacity:1}.symbol-cell{display:flex;align-items:center;gap:var(--space-2)}.delayed-badge{display:inline-block;padding:0 var(--space-1);font-size:.65rem;font-weight:600;color:var(--color-warning, #f59e0b);border:1px solid var(--color-warning, #f59e0b);border-radius:var(--radius-sm);cursor:help}.btn-delete-small{padding:0 var(--space-1);background:transparent;border:none;color:var(--color-text-secondary);font-size:1.3rem;line-height:1;cursor:pointer;opacity:.5;transition:opacity .15s,color .15s}.btn-delete-small:hover{opacity:1;color:var(--color-error)}.positive{color:var(--color-success, #16a34a)!important;font-weight:var(--font-weight-medium, 500)}.negative{color:var(--color-danger, #dc2626)!important;font-weight:var(--font-weight-medium, 500)}.empty-state{text-align:center;padding:var(--space-8) var(--space-4);color:var(--color-text-secondary, #64748b)}.delayed-notice{display:inline-block;padding:var(--space-1) var(--space-3);margin-bottom:var(--space-3);background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e);border:1px solid var(--color-warning, #f59e0b);border-radius:var(--radius-sm);font-size:.8rem}[data-color-scheme=dark] .delayed-notice{background:#f59e0b1a;color:var(--color-warning, #fbbf24);border-color:var(--color-warning, #f59e0b)}.empty-state p{margin-bottom:var(--space-2);color:var(--color-text, #334155)}.empty-state-hint{font-size:.875rem;opacity:.7;color:var(--color-text-muted, #94a3b8)}.loading-cell,.empty-cell{text-align:center;padding:var(--space-6) var(--space-4);color:var(--color-text-muted, #94a3b8);font-style:italic}.error-banner{padding:var(--space-3);margin-bottom:var(--space-4);background:var(--color-error-bg, #fee2e2);color:var(--color-error, #dc2626);border:1px solid var(--color-error, #dc2626);border-radius:var(--radius-md);font-size:.875rem}*{box-sizing:border-box}body{margin:0;padding:0;font-family:Inter,Verdana,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--color-bg: #fcfcf9;--color-bg-alt: #ffffff;--color-surface: #f3f4f6;--color-border: #e5e7eb;--color-text: #134252;--color-text-muted: #626c71;--color-primary: #21808d;--color-primary-accent: #4db6ac;--color-danger: #dc2626;--color-success: #16a34a;--color-warning: #f59e0b;--font-family-base: "Inter", Verdana, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 600;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 2px 4px rgba(0,0,0,.08);--shadow-lg: 0 4px 12px rgba(0,0,0,.12);--transition-fast: .12s ease;--transition-base: .24s ease;--table-font-size: .8125rem;--table-header-bg: #f1f5f9;--table-row-bg: var(--color-bg-alt);--table-row-alt-bg: #f8fafc;--table-row-hover-bg: #f1f5f9;--table-cell-padding: .625rem .75rem;--table-header-color: #475569;--sidebar-width: 240px;--sidebar-width-collapsed: 64px;--sidebar-bg: #f8fafc;--sidebar-border: var(--color-border);--sidebar-text: var(--color-text);--sidebar-text-muted: var(--color-text-muted);--sidebar-item-hover: #e2e8f0;--sidebar-item-active: var(--color-primary);--sidebar-item-active-bg: rgba(33, 128, 141, .1);--sidebar-group-text: var(--color-text-muted);--sidebar-transition: var(--transition-base);--sidebar-z-index: 100;--sidebar-overlay-bg: rgba(0, 0, 0, .4);--breakpoint-mobile: 768px}[data-color-scheme=dark]{--color-bg: #101516;--color-bg-alt: #161d1e;--color-surface: #1f282a;--color-border: #2a3436;--color-text: #dbe8eb;--color-text-muted: #9aa6a9;--color-primary: #3ea1b1;--color-primary-accent: #4db6ac;--color-danger: #ef4444;--color-success: #22c55e;--color-warning: #fbbf24;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow-md: 0 2px 4px rgba(0,0,0,.45);--shadow-lg: 0 4px 12px rgba(0,0,0,.55);--table-header-bg: #1f282a;--table-row-bg: var(--color-bg-alt);--table-row-alt-bg: #1a2224;--table-row-hover-bg: #243033;--table-header-color: #9aa6a9;--sidebar-bg: #161d1e;--sidebar-border: #2a3436;--sidebar-item-hover: #243033;--sidebar-item-active-bg: rgba(62, 161, 177, .15);--sidebar-overlay-bg: rgba(0, 0, 0, .6)}[data-color-scheme=dark] input,[data-color-scheme=dark] select,[data-color-scheme=dark] textarea{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}[data-color-scheme=dark] input::placeholder,[data-color-scheme=dark] textarea::placeholder{color:var(--color-text-muted);opacity:.6}[data-color-scheme=dark] input:focus,[data-color-scheme=dark] select:focus,[data-color-scheme=dark] textarea:focus{border-color:var(--color-primary);background:var(--color-bg-alt);outline-color:var(--color-primary)}[data-color-scheme=dark] select option{background:var(--color-surface);color:var(--color-text)}[data-color-scheme=dark] input[type=checkbox],[data-color-scheme=dark] input[type=radio]{accent-color:var(--color-primary)}[data-color-scheme=dark] input:disabled,[data-color-scheme=dark] select:disabled,[data-color-scheme=dark] textarea:disabled{background:var(--color-bg);color:var(--color-text-muted);opacity:.6}[data-color-scheme=dark] button{color:var(--color-text)}[data-color-scheme=dark] button:disabled{color:var(--color-text-muted);opacity:.5}[data-color-scheme=dark] label{color:var(--color-text)}
