.app{display:flex;flex-direction:column;min-height:100vh}.app-header{background-color:var(--primary-color);color:#fff;padding:var(--spacing-md) 0 0;text-align:center;box-shadow:var(--shadow-md)}.app-header-top{display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-lg) var(--spacing-xs);gap:var(--spacing-sm)}.app-header h1{margin:0;font-size:2rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}.app-header-utilities{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.app-header-utility-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:var(--border-radius-md);background:transparent;color:#ffffffc7;text-decoration:none;line-height:0;transition:background-color .15s ease,color .15s ease}.app-header-utility-btn svg{width:15px;height:15px}.app-header-utility-btn:hover{background:rgba(255,255,255,.12);color:#fff}.app-header-utility-btn--active{background:rgba(255,255,255,.16);color:#fff}.app-header-settings-btn{position:relative}.app-header-utility-badge{position:absolute;top:-3px;right:-5px;min-width:.95rem;height:.95rem;padding:0 3px;border-radius:999px;background:var(--danger-color);color:#fff;font-size:.6rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--primary-color);pointer-events:none}.app-header-nav-bar{--app-header-tab-height: 2.5rem;padding:0 var(--spacing-lg)}.app-header-nav{display:flex;flex-wrap:wrap;gap:.15rem;align-items:flex-end;justify-content:center;border-bottom:2px solid rgba(255,255,255,.22)}.app-nav-link{position:relative;display:inline-flex;align-items:center;box-sizing:border-box;min-height:var(--app-header-tab-height);padding:.45rem .95rem .4rem;border:2px solid transparent;border-bottom:none;border-radius:var(--border-radius-md) var(--border-radius-md) 0 0;font-size:.8125rem;font-weight:600;letter-spacing:.02em;color:#ffffffb8;text-decoration:none;background:transparent;margin-bottom:-2px;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.app-nav-link:hover{background:rgba(255,255,255,.1);color:#fffffff2}.app-nav-link--active{z-index:1;background:var(--background);color:var(--primary-color);border-color:#ffffff38;border-bottom:2px solid var(--background)}.app-nav-link--active:hover{background:var(--background);color:var(--primary-color)}.app-data-btn{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid rgba(255,255,255,.45);border-radius:8px;background:rgba(255,255,255,.1);color:#fff;font-size:.875rem;cursor:pointer}.app-data-btn:hover{background:rgba(255,255,255,.2)}.app-data-btn--import{position:relative}.app-data-btn--active{background:rgba(255,255,255,.25);border-color:#fff}.app-data-btn--danger{border-color:#ef444499;color:#fecaca}.app-data-btn--danger:hover{background:rgba(239,68,68,.2)}.app-header-backup-hint{font-size:.75rem;opacity:.85;padding-bottom:6px;text-align:center;background:rgba(0,0,0,.1)}.app-backup-panel{max-width:900px;margin:0 auto;padding:var(--spacing-md) var(--spacing-md) 0}.app-backup-panel-inner{padding:var(--spacing-lg)}.app-backup-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.app-backup-header h3{margin:0;font-size:1rem;color:var(--primary-color)}.app-backup-actions{display:flex;gap:8px;flex-wrap:wrap}.app-backup-list{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--spacing-md)}.app-backup-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--background-alt);border-radius:6px;border:1px solid var(--border-color)}.app-backup-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.app-backup-time{font-weight:600;font-size:.9rem}.app-backup-counts{font-size:.8rem;color:var(--foreground-muted, #6b7280)}.app-backup-latest{font-size:.7rem;background:var(--primary-color);color:#fff;padding:1px 6px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px}.app-backup-row-actions{display:flex;gap:6px}.app-backup-empty{color:var(--foreground-muted, #6b7280);font-style:italic}.app-backup-note{font-size:.8rem;color:var(--foreground-muted, #6b7280);margin:var(--spacing-sm) 0 0}.app-data-file-input{position:absolute;width:0;height:0;opacity:0;overflow:hidden}.app-loading{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--foreground-muted)}.app-restore-hint{margin:0 var(--spacing-md) var(--spacing-md);padding:10px 14px;background:var(--surface-warning);color:var(--surface-warning-text);border-radius:8px;font-size:.9rem}.stock-section-context,.summary-portfolio-name,.chart-header-context{font-weight:500;color:var(--foreground-muted, #6b7280);font-size:.85em}.chart-header h3 .chart-header-context{font-size:.75em}main.container{flex:1;width:100%;max-width:none;padding-block:var(--spacing-xl);padding-inline:var(--spacing-md);background-color:var(--background-alt)}.portfolio-layout{display:flex;flex-direction:column;gap:var(--spacing-xl);width:100%;max-width:none;margin:0 auto}.card{background-color:var(--background);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);transition:box-shadow var(--transition-normal)}.card:hover{box-shadow:var(--shadow-lg)}.stock-section,.summary-section{display:flex;flex-direction:column;width:100%;min-width:0;padding:var(--spacing-lg)}.summary-section h2{color:var(--primary-color);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--primary-light)}.stock-section-header h2{color:var(--primary-color);margin:0;padding:0;border:none}.refresh-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius-md);font-weight:600;cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast)}.refresh-button--compact{padding:6px 12px;font-size:.8125rem;font-weight:500;border-radius:var(--border-radius-sm);white-space:nowrap;flex-shrink:0}.refresh-button:hover:not(:disabled){background-color:var(--primary-dark);transform:translateY(-1px)}.refresh-button--compact:hover:not(:disabled){transform:none}.refresh-button:disabled{background-color:var(--secondary-color);cursor:not-allowed;opacity:.7}.chart-toggle-button{background-color:var(--secondary-color);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-md)}.chart-toggle-button:hover{background-color:var(--foreground-muted)}.chart-container{margin-top:var(--spacing-xl);padding:var(--spacing-md);background-color:var(--background);border-radius:var(--border-radius-md);border:1px solid var(--border-color)}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.chart-header h3{margin-bottom:0;color:var(--foreground)}.chart-section-title{margin:0 0 var(--spacing-sm);font-size:.9375rem;font-weight:600;color:var(--foreground-muted, #6b7280)}.error-message{color:var(--danger-color);background-color:#ef44441a;padding:var(--spacing-md);border-radius:var(--border-radius-md);margin:var(--spacing-md) 0;text-align:center}.app-error-boundary{margin-top:var(--spacing-xl)}.app-error-boundary-message{margin:var(--spacing-md) 0;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--font-size-sm);color:var(--danger-color)}.app-error-boundary-hint{margin:0 0 var(--spacing-md);color:var(--foreground-muted);font-size:var(--font-size-sm)}.app-footer{background-color:var(--foreground);color:#fff;padding:var(--spacing-lg) 0;text-align:center;margin-top:auto}.app-footer p{margin-bottom:var(--spacing-xs)}.api-provider{font-weight:600;color:var(--primary-light)}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--bg-color, #fff);border-top:1px solid var(--border-color, #ddd);z-index:100;padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom-nav__item{flex:1;text-align:center;padding:10px 4px;font-size:.8rem;color:inherit;text-decoration:none;border-bottom:3px solid transparent}.mobile-bottom-nav__item--active{border-bottom-color:var(--primary-color);font-weight:600}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ffffffb3;display:flex;justify-content:center;align-items:center;border-radius:inherit}.loading-spinner{border:4px solid rgba(0,0,0,.1);border-left-color:var(--primary-color);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@media (max-width: 992px){.portfolio-layout{gap:var(--spacing-lg)}.stock-section,.summary-section{padding:var(--spacing-md)}.chart-container{margin-top:var(--spacing-lg)}}@media (max-width: 768px){.app-header h1{font-size:1.75rem}main.container{padding:var(--spacing-lg) var(--spacing-sm)}.chart-header{flex-direction:column;gap:var(--spacing-sm)}}@media (max-width: 480px){.app-header h1{font-size:1.5rem}.app-header-top{padding:0 var(--spacing-md) var(--spacing-xs)}.app-header-utilities{gap:2px}.app-header-utilities .theme-toggle{display:none}.stock-section,.summary-section{padding:var(--spacing-sm)}.refresh-button{width:100%}.app-header-utilities select{font-size:10px;max-width:80px}}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--background-alt);padding:var(--spacing-lg)}.login-card{background:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-xl);max-width:360px;width:100%;box-shadow:var(--shadow-md);text-align:center}.login-card h1{margin:0 0 var(--spacing-sm);font-size:1.75rem}.login-subtitle{color:var(--foreground-muted);margin:0 0 var(--spacing-md)}.login-hint{font-size:.875rem;color:var(--foreground-muted);margin-bottom:var(--spacing-lg)}.login-buttons{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.login-btn{padding:.75rem 1rem;border:1px solid var(--primary-color);background:var(--background);color:var(--primary-color);border-radius:var(--border-radius-md);font-weight:600;cursor:pointer;transition:all .1s}.login-btn:hover{background:var(--primary-color);color:#fff}.login-btn.server{border-color:#0a7;color:#0a7}.login-btn.server:hover{background:#0a7;color:#fff}.login-form{display:flex;flex-direction:column;gap:var(--spacing-sm);text-align:left;margin-bottom:var(--spacing-md)}.login-field{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--foreground-muted)}.login-field input{padding:.65rem .75rem;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background);color:var(--foreground);font-size:1rem}.login-error{margin:0;color:#b42318;font-size:.8rem}.login-btn-primary{background:var(--primary-color);color:#fff}.login-btn-primary:disabled{opacity:.65;cursor:wait}.login-note{font-size:.75rem;color:var(--foreground-muted);margin:0}.year-custom-range-filters{margin-bottom:var(--spacing-md)}.year-custom-range-filters__dates{margin-top:var(--spacing-sm);margin-bottom:0}.transactions-date-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.transactions-date-filters .form-group{min-width:10rem}.transactions-date-range-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs);align-self:flex-end}.transactions-date-range-btn{padding:8px 14px;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background-alt);font-size:var(--font-size-sm);font-weight:600;color:var(--primary-color);cursor:pointer;white-space:nowrap}.transactions-date-range-btn:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.transactions-date-range-btn--active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.transactions-date-range-btn:disabled{opacity:.5;cursor:not-allowed}.transactions-closed-card{margin-top:var(--spacing-lg)}.transactions-closed-card .tx-section-collapsible__summary,.transactions-closed-card .tx-section-collapsible__body{padding-left:var(--spacing-sm)}.transactions-closed-head{margin:0 0 var(--tx-title-lead-gap, var(--spacing-xs))}.transactions-closed-total{font-size:var(--font-size-base);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.transactions-closed-hint{font-size:var(--font-size-sm);color:var(--foreground-muted);margin:0 0 var(--spacing-md);line-height:1.5}.transactions-closed-meta{margin:0 0 var(--spacing-sm);font-size:var(--font-size-sm);color:var(--foreground-muted)}.transactions-closed-empty{margin:0;font-size:var(--font-size-sm);color:var(--foreground-muted)}.transactions-closed-card .transactions-table-wrap{width:fit-content;max-width:100%;padding-inline:0}.transactions-closed-table{width:auto;max-width:100%}.transactions-closed-table th,.transactions-closed-table td{padding:4px 13.52px;vertical-align:middle}.transactions-closed-table .sortable-th{padding:0;width:1%}.transactions-closed-table .sort-header{padding:4px 13.52px;gap:4px;white-space:nowrap}.transactions-closed-table .tx-closed-date,.transactions-closed-table th.tx-closed-date{width:1%;white-space:nowrap}.transactions-closed-table .tx-closed-symbol,.transactions-closed-table th.tx-closed-symbol{font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--font-size-sm);min-width:18.59rem;max-width:18.59rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transactions-closed-table .tx-closed-qty,.transactions-closed-table th.tx-closed-qty{text-align:center;font-variant-numeric:tabular-nums;width:1%;white-space:nowrap;padding-inline:6px}.transactions-closed-table .tx-closed-pl,.transactions-closed-table th.tx-closed-pl{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;width:1%;padding-left:10px}.transactions-closed-card .transactions-closed-table th:first-child,.transactions-closed-card .transactions-closed-table td:first-child{padding-left:var(--spacing-sm)}.transactions-closed-card .transactions-closed-table th:last-child,.transactions-closed-card .transactions-closed-table td:last-child{padding-right:var(--spacing-sm)}.tx-section-collapsible{margin:0}.tx-section-collapsible__summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.4rem .55rem;cursor:pointer;list-style:none;margin:0;padding:0 var(--tx-content-inset-end, var(--spacing-md)) 0 var(--spacing-sm)}.tx-section-collapsible__summary::-webkit-details-marker{display:none}.tx-section-collapsible__chevron{flex-shrink:0;color:var(--primary-color);font-size:1.5rem;font-weight:400;line-height:1;transition:transform .15s ease}.tx-section-collapsible[open]>.tx-section-collapsible__summary .tx-section-collapsible__chevron{transform:rotate(90deg)}.tx-section-collapsible__title{font-size:var(--font-size-2xl);font-weight:600;line-height:1.2;margin:0}.tx-section-collapsible__meta,.tx-section-collapsible__accent{font-size:var(--font-size-sm);color:var(--foreground-muted);font-variant-numeric:tabular-nums}.tx-section-collapsible__accent{font-weight:600}.tx-section-collapsible__body{margin-top:var(--spacing-md)}.transactions-strategies-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-top:var(--spacing-md);align-items:start}.transactions-strategies-col{display:flex;flex-direction:column;gap:var(--spacing-md);min-width:0;--tx-strategy-inset-inline-start: var(--spacing-sm)}.transactions-strategies-col .transactions-strategy-title,.transactions-strategies-col .transactions-strategy-hint,.transactions-strategies-col .transactions-strategy-empty{padding-left:var(--tx-strategy-inset-inline-start)}.transactions-strategies-col .transactions-strategy-card .transactions-table-wrap{padding-inline-start:0}.transactions-strategies-col .transactions-strategy-table th:first-child,.transactions-strategies-col .transactions-strategy-table td:first-child{padding-left:var(--tx-strategy-inset-inline-start);text-align:left}@media (max-width: 900px){.transactions-strategies-grid{grid-template-columns:1fr}}.transactions-strategy-card{margin-top:0;min-width:0;padding-inline:var(--spacing-lg)}.transactions-strategy-card--covered{padding:var(--spacing-md) var(--spacing-lg)}.transactions-strategy-card--covered .transactions-strategy-title,.transactions-strategy-card--covered .transactions-strategy-hint,.transactions-strategy-card--covered .transactions-strategy-empty{text-align:left}.transactions-strategy-card--covered .transactions-strategy-hint{margin:0 0 var(--spacing-md);line-height:1.35}.transactions-strategy-card--covered .transactions-strategy-table th,.transactions-strategy-card--covered .transactions-strategy-table td{padding:6px 8px}.transactions-strategy-card--covered .transactions-strategy-table th:not(:first-child),.transactions-strategy-card--covered .transactions-strategy-table td:not(:first-child){text-align:center}.transactions-strategy-title{margin:0 0 var(--tx-title-lead-gap, var(--spacing-xs))}.transactions-strategy-hint{margin:0 0 var(--spacing-md);font-size:var(--font-size-sm);color:var(--foreground-muted);line-height:1.5}.transactions-strategy-empty{margin:0;font-size:var(--font-size-sm);color:var(--foreground-muted)}.transactions-strategy-table .tx-strategy-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.transactions-strategy-table .tx-ticker{font-weight:600}.transactions-strategy-total-row th,.transactions-strategy-total-row td{font-weight:700;border-top:2px solid var(--border-color)}.transactions-strategy-table .tx-covered-over{color:var(--color-danger, #b91c1c);font-weight:600}.transactions-strategy-table .tx-covered-ok{color:var(--color-success, #15803d)}.transactions-strategy-card--earnings{padding:var(--spacing-md) var(--spacing-lg)}.transactions-strategy-card--earnings .transactions-strategy-title,.transactions-strategy-card--earnings .transactions-strategy-hint,.transactions-strategy-card--earnings .transactions-earnings-subtitle,.transactions-strategy-card--earnings .transactions-earnings-meta{padding-inline:var(--spacing-md)}.transactions-strategy-card--earnings .transactions-strategy-title{letter-spacing:.02em}.transactions-earnings-metrics{margin:0 var(--spacing-md) var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.transactions-earnings-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-lg);font-size:var(--font-size-sm)}.transactions-earnings-row dt{margin:0;color:var(--foreground-muted);font-weight:500}.transactions-earnings-row dd{margin:0;font-variant-numeric:tabular-nums}.transactions-earnings-row--total{margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--border-color);font-weight:600}.transactions-earnings-row--total dt{color:var(--foreground)}.transactions-earnings-subtitle{margin:var(--spacing-sm) 0 var(--spacing-xs);font-size:var(--font-size-sm);font-weight:600;color:var(--foreground-muted)}.transactions-strategy-card--earnings .transactions-table-wrap{margin-inline:var(--spacing-md)}.transactions-earnings-year-table{margin-bottom:var(--spacing-sm)}.transactions-earnings-year-table th,.transactions-earnings-year-table td{padding:5px 10px}.transactions-strategy-table th:first-child,.transactions-strategy-table td:first-child{padding-left:var(--spacing-md)}.transactions-strategy-table th:last-child,.transactions-strategy-table td:last-child{padding-right:var(--spacing-md)}.transactions-earnings-meta{margin:0;font-size:var(--font-size-sm);color:var(--foreground-muted)}.transactions-holdings-table--options td.tx-holdings-ticker-col,.transactions-strategy-table td.tx-holdings-ticker-col{text-align:left;font-weight:400;vertical-align:top}.transactions-holdings-table:not(.transactions-holdings-table--options) td.tx-holdings-ticker-col{text-align:left;font-weight:400;vertical-align:middle}.transactions-holdings-table td.tx-holdings-ticker-col .cell-ticker,.transactions-strategy-table td.tx-holdings-ticker-col .cell-ticker{display:flex;flex-direction:column;gap:2px;min-width:0}.transactions-holdings-table td.tx-holdings-ticker-col .ticker-symbol,.transactions-strategy-table td.tx-holdings-ticker-col .ticker-symbol{font-size:var(--font-size-sm);font-weight:600;letter-spacing:.01em;line-height:1.2;white-space:nowrap;color:var(--foreground)}.transactions-holdings-table:not(.transactions-holdings-table--options) td.tx-holdings-ticker-col .cell-ticker{max-width:100%;font-size:var(--font-size-sm)}.transactions-holdings-table:not(.transactions-holdings-table--options) td.tx-holdings-ticker-col .ticker-symbol{white-space:nowrap;overflow:visible;text-overflow:clip}.transactions-holdings-table:not(.transactions-holdings-table--options) td.tx-holdings-ticker-col .company-name{font-size:.625rem;font-weight:400;color:var(--foreground-muted);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.transactions-holdings-table td.tx-holdings-ticker-col .company-name,.transactions-strategy-table td.tx-holdings-ticker-col .company-name{font-size:.625rem;font-weight:400;color:var(--foreground-muted);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:16.5rem}.transactions-holdings-table--options td.tx-holdings-ticker-col .company-name{max-width:calc(16.5rem * var(--tx-options-ticker-col-scale, .5625))}.transactions-holdings-table td.tx-holdings-ticker-col a.holdings-ticker-link,.transactions-strategy-table td.tx-holdings-ticker-col a.holdings-ticker-link{color:var(--primary-color);text-decoration:none}.transactions-holdings-table td.tx-holdings-ticker-col a.holdings-ticker-link .ticker-symbol,.transactions-strategy-table td.tx-holdings-ticker-col a.holdings-ticker-link .ticker-symbol{color:var(--primary-color);font-weight:700}.transactions-holdings-table td.tx-holdings-ticker-col a.holdings-ticker-link:hover .ticker-symbol,.transactions-strategy-table td.tx-holdings-ticker-col a.holdings-ticker-link:hover .ticker-symbol{text-decoration:underline}.transactions-holdings-table td.tx-holdings-ticker-col a.holdings-ticker-link:focus-visible,.transactions-strategy-table td.tx-holdings-ticker-col a.holdings-ticker-link:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:2px}.filter-chip-group{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md);margin:0;background:var(--background-alt, #f8fafc)}.filter-chip-group-title{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);width:100%;padding:0;margin-bottom:var(--spacing-sm);font-size:.875rem;font-weight:600;color:var(--foreground)}.filter-chip-group--embedded .filter-chip-group-title{margin-bottom:var(--spacing-xs)}.filter-chip-group-label{font-weight:600}.filter-chip-select-all{border:none;background:none;padding:0;font-size:.75rem;font-weight:500;color:var(--primary-color, #2563eb);cursor:pointer;text-decoration:underline}.filter-chip-select-all:hover{color:var(--primary-dark, #1d4ed8)}.filter-chip-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--border-color);background:var(--background, #fff);font-size:.8125rem;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.filter-chip--btn{font-family:inherit;line-height:1.2;color:var(--foreground)}.filter-chip--btn.filter-chip--active{border-color:var(--primary-color, #2563eb);background:rgba(37,99,235,.1);color:var(--primary-color, #2563eb);font-weight:600}.filter-chip input{position:absolute;opacity:0;width:0;height:0}.filter-chip--active{border-color:var(--primary-color, #2563eb);background:rgba(37,99,235,.1);color:var(--primary-color, #2563eb);font-weight:600}.filter-chip-empty{margin:0;font-size:.8125rem;color:var(--foreground-muted, #6b7280)}.filterable-th{position:relative}.sort-header{display:flex;align-items:center;gap:4px;width:100%}.sort-header-label{flex:1;min-width:0}.sort-header--filterable{display:flex;align-items:center;gap:4px;width:100%;padding:0}.filter-header-trigger{display:inline-flex;align-items:center;gap:6px;flex:1;min-width:0;margin:0;padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer}.filter-header-trigger:hover,.sort-header--filterable.sort-header--filtered .filter-header-trigger,.sort-header--filterable.sort-header--filter-open .filter-header-trigger{color:var(--primary-color, #2563eb)}.filter-header-value{font-size:.65rem;font-weight:600;flex-shrink:0;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}.sort-header-indicator{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;padding:0 var(--spacing-sm);border:none;background:transparent;color:inherit;font:inherit;line-height:1;cursor:pointer}.sort-header-indicator:hover,.sort-header-indicator--active{color:var(--primary-color, #2563eb)}.sort-header-indicator .sort-indicator{font-size:.6rem;opacity:.45;line-height:1}.sort-header-indicator:hover .sort-indicator,.sort-header-indicator--active .sort-indicator{opacity:1}.column-filter-menu{position:absolute;top:100%;left:0;z-index:20;min-width:140px;max-width:min(240px,90vw);padding:var(--spacing-xs);background:var(--background, #fff);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .12))}.column-filter-menu--chips{display:none;min-width:220px;max-width:min(320px,92vw);padding:var(--spacing-sm);pointer-events:none}.column-filter-menu--chips.column-filter-menu--open{display:block;pointer-events:auto}.column-filter-menu--chips .filter-chip-group{border:none;background:transparent;padding:0;margin:0}.column-filter-menu--chips .filter-chip-group-title{margin-bottom:var(--spacing-xs)}.column-filter-menu--chips .filter-chip-list{max-height:220px;overflow-y:auto}.filter-status{margin:0 0 var(--spacing-sm);font-size:.75rem;color:var(--foreground-muted, #6b7280);display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm)}.filter-status-reset{border:none;background:none;padding:0;font:inherit;font-size:inherit;color:var(--primary-color, #2563eb);text-decoration:underline;cursor:pointer}.filter-status-reset:hover{color:var(--primary-dark, #1d4ed8)}.filter-empty-row{text-align:center;padding:var(--spacing-lg)!important;color:var(--foreground-muted, #6b7280);font-size:.8125rem}.filter-empty-reset{border:none;background:none;padding:0;font:inherit;font-size:inherit;color:var(--primary-color, #2563eb);text-decoration:underline;cursor:pointer}.filter-empty-reset:hover{color:var(--primary-dark, #1d4ed8)}.transactions-holdings-card{margin-bottom:0;--tx-holdings-inset-inline-start: var(--spacing-sm)}.transactions-holdings-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--tx-title-lead-gap, var(--spacing-xs));padding-left:var(--tx-holdings-inset-inline-start);padding-right:var(--tx-content-inset-end, calc( var(--spacing-md) + var(--spacing-sm) + var(--spacing-md) ))}.transactions-holdings-meta,.transactions-holdings-empty,.transactions-holdings-quote-warn{padding-left:var(--tx-holdings-inset-inline-start);padding-right:var(--tx-content-inset-end, calc( var(--spacing-md) + var(--spacing-sm) + var(--spacing-md) ))}.transactions-holdings-card .transactions-table-wrap{margin-inline-start:0;margin-inline-end:var(--spacing-md);padding-inline-start:0;padding-inline-end:var(--spacing-sm)}.transactions-holdings-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs);padding-inline:0}.transactions-holdings-toolbar .year-custom-range-filters{margin-bottom:0;display:flex;flex-direction:column;align-items:flex-start}.transactions-holdings-toolbar .transactions-holdings-year-filters{margin-bottom:0;display:flex;align-items:center}.transactions-holdings-toolbar .transactions-date-range-actions{align-self:center}.transactions-holdings-toolbar .transactions-date-range-btn,.transactions-holdings-toolbar .transactions-action-btn{box-sizing:border-box;min-height:2rem;padding:.375rem .875rem;display:inline-flex;align-items:center;justify-content:center;line-height:1.2}.transactions-holdings-toolbar .transactions-action-btn{flex-shrink:0}.transactions-holdings-title{margin:0}.transactions-holdings-asof{font-weight:600;color:var(--foreground-muted)}.transactions-holdings-card h2{margin:0}.transactions-holdings-quote-warn{margin:0 0 var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-warning, #b45309)}.transactions-holdings-table .tx-quote-missing{color:var(--foreground-muted);font-size:var(--font-size-sm)}.transactions-holdings-year-filters{display:flex;align-items:center;margin:0}.transactions-holdings-year-filters .transactions-date-range-actions{align-self:center}.transactions-holdings-meta{margin:0 0 var(--spacing-md);line-height:1.5;font-size:var(--font-size-sm);color:var(--foreground-muted)}.transactions-holdings-empty{margin:0;font-size:var(--font-size-sm);color:var(--foreground-muted)}.transactions-holdings-section-row th{font-weight:600;font-size:var(--font-size-sm);text-align:left;color:var(--foreground-muted);background:var(--background-alt);border-top:1px solid var(--border-color);padding-block:4px}.transactions-holdings-section-row:first-child th{border-top:none}.transactions-holdings-section-total-row th,.transactions-holdings-section-total-row td{border-top:1px solid var(--border-color)}.transactions-holdings-total-row th,.transactions-holdings-total-row td{font-weight:700;border-top:2px solid var(--border-color);background:var(--background-alt);vertical-align:middle}.transactions-holdings-total-row .transactions-holdings-total-label{text-align:left;white-space:nowrap}.transactions-holdings-total-row .tx-holdings-performance{text-align:center}.transactions-holdings-total-row .tx-holdings-total-pct{font-weight:700;white-space:nowrap}.transactions-holdings-table th,.transactions-holdings-table td{padding:6px 8px}.transactions-holdings-table thead th{vertical-align:middle}.transactions-holdings-table th.sortable-th.filterable-th{padding:0;vertical-align:middle}.transactions-holdings-table th.sortable-th.filterable-th .sort-header--filterable{align-items:center;min-height:2rem}.transactions-holdings-table th.sortable-th.filterable-th .filter-header-trigger,.transactions-holdings-table th.sortable-th.filterable-th .sort-header-indicator{padding-top:6px;padding-bottom:6px}.transactions-holdings-table .tx-option-type{font-weight:600;text-align:center;width:2.25rem;padding-inline:6px}.transactions-holdings-table .tx-holdings-expiry{white-space:nowrap;padding-inline:6px}.transactions-holdings-table--options td.tx-holdings-expiry{vertical-align:top;text-align:left}.transactions-holdings-table--options td.tx-holdings-expiry .tx-holdings-expiry-cell{display:flex;flex-direction:column;gap:2px;min-width:0}.transactions-holdings-table--options .tx-holdings-expiry-compact{font-size:var(--tx-options-primary-size);font-weight:600;letter-spacing:.01em;line-height:var(--tx-options-row-line-height);white-space:nowrap;color:var(--foreground)}.transactions-holdings-table--options .tx-holdings-expiry-date{font-size:.625rem;font-weight:400;color:var(--foreground-muted);line-height:var(--tx-options-row-line-height);white-space:nowrap}.transactions-holdings-table--options td.tx-holdings-ticker-col .ticker-symbol,.transactions-holdings-table--options td.tx-holdings-ticker-col .company-name{line-height:var(--tx-options-row-line-height)}.transactions-holdings-table .tx-holdings-strike,.transactions-holdings-table th.tx-holdings-strike{text-align:center;font-variant-numeric:tabular-nums;width:3.5rem;padding-inline:6px}.transactions-holdings-table--options td.tx-holdings-strike.tx-holdings-options-identity{text-align:left}.transactions-holdings-table--options td.tx-option-type.tx-holdings-options-identity{text-align:center}.transactions-holdings-table .tx-holdings-qty,.transactions-holdings-table th.tx-holdings-qty{text-align:center;font-variant-numeric:tabular-nums;font-weight:400;color:var(--foreground);width:4.5rem;padding-inline:6px}.transactions-holdings-table th.tx-holdings-share,.transactions-holdings-table td.tx-holdings-share{min-width:7.25rem;padding-inline:var(--spacing-md);text-align:center;vertical-align:middle}.transactions-holdings-table td.tx-holdings-share .performance-bar-container,.transactions-holdings-table td.tx-holdings-share .performance-na{margin-inline:auto}.transactions-holdings-table .tx-holdings-assignment,.transactions-holdings-table th.tx-holdings-assignment{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:6.5rem}.transactions-holdings-table .tx-holdings-pl{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.transactions-holdings-table .tx-holdings-pl .tx-pnl{display:inline-block;width:100%;text-align:right}.transactions-holdings-table .tx-holdings-pl .amount-primary.tx-pnl--gain{color:var(--success-color)}.transactions-holdings-table .tx-holdings-pl .amount-primary.tx-pnl--loss{color:var(--danger-color)}.transactions-holdings-table .tx-holdings-pl .amount-primary.tx-pnl--neutral{color:var(--foreground-muted)}.transactions-holdings-card .transactions-holdings-table th:first-child,.transactions-holdings-card .transactions-holdings-table td:first-child{padding-left:var(--tx-holdings-inset-inline-start)}.transactions-holdings-card .transactions-holdings-table th.tx-holdings-ticker-col,.transactions-holdings-card .transactions-holdings-table td.tx-holdings-ticker-col{text-align:left;padding:6px 10px 6px var(--tx-holdings-inset-inline-start)}.transactions-holdings-card .transactions-holdings-table th.tx-holdings-ticker-col.sortable-th{padding:6px 0 6px var(--tx-holdings-inset-inline-start)}.transactions-holdings-card .transactions-holdings-table th.tx-holdings-ticker-col .sort-header--filterable{width:100%}.transactions-holdings-card .transactions-holdings-table th.tx-holdings-ticker-col .filter-header-trigger,.transactions-holdings-card .transactions-holdings-table th.tx-holdings-ticker-col .sort-header{justify-content:flex-start;padding:6px 4px 6px 0}.transactions-holdings-card .transactions-holdings-table th.tx-holdings-ticker-col .sort-header-indicator{margin-left:auto;padding:6px 8px 6px 4px}.transactions-holdings-table:not(.transactions-holdings-table--options) th.tx-holdings-ticker-col,.transactions-holdings-table:not(.transactions-holdings-table--options) td.tx-holdings-ticker-col{min-width:0;max-width:16.5rem;width:auto;vertical-align:middle}.transactions-holdings-table:not(.transactions-holdings-table--options) td.tx-holdings-ticker-col .ticker-symbol{font-weight:600;white-space:nowrap;overflow:visible;text-overflow:clip}.transactions-holdings-table--options th.tx-holdings-ticker-col,.transactions-holdings-table--options td.tx-holdings-ticker-col{min-width:12.75rem;max-width:18rem;width:15rem;padding-right:10px}.transactions-holdings-table--options th.tx-holdings-ticker-col{vertical-align:middle}.transactions-holdings-table--options td.tx-holdings-ticker-col{vertical-align:top}.transactions-holdings-table th.tx-holdings-bank,.transactions-holdings-table td.tx-holdings-bank{min-width:4.5rem;max-width:7rem;vertical-align:middle;padding:6px 8px;text-align:center;white-space:nowrap}.transactions-holdings-table--options td.tx-holdings-bank{vertical-align:top}.transactions-holdings-table th.tx-holdings-bank.sortable-th{padding:6px 4px}.transactions-holdings-table th.tx-holdings-bank .sort-header--filterable{position:relative;justify-content:center;width:100%}.transactions-holdings-table th.tx-holdings-bank .filter-header-trigger,.transactions-holdings-table th.tx-holdings-bank .sort-header{justify-content:center;padding:6px 4px}.transactions-holdings-table th.tx-holdings-bank .filter-header-trigger{flex:0 1 auto}.transactions-holdings-table th.tx-holdings-bank .sort-header-indicator{position:absolute;right:0;top:0;bottom:0;margin-left:0;padding:6px 2px}.transactions-holdings-table--options th.tx-holdings-expiry.sortable-th,.transactions-holdings-table--options th.tx-holdings-strike.sortable-th,.transactions-holdings-table--options th.tx-option-type.sortable-th{padding:0}.transactions-holdings-table--options th.tx-holdings-expiry .sort-header--filterable,.transactions-holdings-table--options th.tx-holdings-strike .sort-header--filterable,.transactions-holdings-table--options th.tx-option-type .sort-header--filterable{position:relative;justify-content:center;width:100%}.transactions-holdings-table--options th.tx-holdings-expiry .filter-header-trigger,.transactions-holdings-table--options th.tx-holdings-strike .filter-header-trigger,.transactions-holdings-table--options th.tx-option-type .filter-header-trigger{justify-content:center;flex:0 1 auto;padding:6px 4px}.transactions-holdings-table--options th.tx-holdings-expiry .sort-header-indicator,.transactions-holdings-table--options th.tx-holdings-strike .sort-header-indicator,.transactions-holdings-table--options th.tx-option-type .sort-header-indicator{position:absolute;right:0;top:0;bottom:0;margin-left:0;padding:6px 2px}.transactions-holdings-table .tx-holdings-bank-badge{display:inline-block;max-width:100%;padding:3px 8px;border-radius:999px;font-size:.72rem;font-weight:600;background-color:#0d94881f;color:#0f766e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.transactions-holdings-table .tx-holdings-bank-expand{display:inline-flex;align-items:center;gap:.25rem;max-width:100%;padding:3px 8px 3px 6px;border:1px solid rgba(13,148,136,.28);border-radius:999px;background:rgba(13,148,136,.08);color:#0f766e;font-size:.72rem;font-weight:600;line-height:1.2;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.transactions-holdings-table .tx-holdings-bank-expand:hover{background:rgba(13,148,136,.14);border-color:#0d94886b}.transactions-holdings-table .tx-holdings-bank-expand__chevron{flex-shrink:0;font-size:1rem;line-height:1;transition:transform .15s ease}.transactions-holdings-table .tx-holdings-bank-expand[aria-expanded=true] .tx-holdings-bank-expand__chevron{transform:rotate(90deg)}.transactions-holdings-table .tx-holdings-bank-expand__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transactions-holdings-table tbody>tr.tx-holdings-detail-row>td{background:rgba(13,148,136,.04);border-top:none}.transactions-holdings-table tbody>tr.tx-holdings-detail-row+tr.tx-holdings-detail-row>td,.transactions-holdings-table tbody>tr.tx-holdings-group-row+tr.tx-holdings-detail-row>td{box-shadow:inset 0 1px #0d948814}.transactions-holdings-table td.tx-holdings-ticker-col--detail{padding-left:1.25rem}.transactions-holdings-table tbody>tr.tx-holdings-detail-row:last-of-type>td,.transactions-holdings-table tbody>tr.tx-holdings-detail-row:has(+tr:not(.tx-holdings-detail-row))>td{box-shadow:inset 0 -1px #0d94881a}.transactions-holdings-table--options .tx-holdings-bank-badge{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:calc(var(--tx-options-primary-size) * var(--tx-options-row-line-height));padding:0 8px;font-size:.65rem;line-height:1;vertical-align:top}.transactions-holdings-table--options{--tx-options-ticker-col-scale: .5625;--tx-options-row-line-height: 1.2;--tx-options-primary-size: var(--font-size-sm);--tx-options-secondary-size: .625rem;--tx-options-cell-pad-top: 6px;--tx-options-tier2-offset: calc( var(--tx-options-primary-size) * var(--tx-options-row-line-height) + 2px )}.transactions-holdings-table--options tbody>tr:not(.transactions-holdings-section-row):not(.transactions-holdings-section-total-row):not(.transactions-holdings-total-row)>td{vertical-align:top;padding-top:var(--tx-options-cell-pad-top)}.transactions-holdings-table--options td.tx-holdings-options-identity{font-size:var(--tx-options-primary-size);font-weight:600;line-height:var(--tx-options-row-line-height);color:var(--foreground)}.transactions-holdings-table--options td.tx-holdings-einstand .amount-primary,.transactions-holdings-table--options td.tx-holdings-performance .performance-bar-container,.transactions-holdings-table--options td.tx-holdings-performance .performance-na,.transactions-holdings-table--options td.tx-holdings-pl .amount-primary{margin-top:0}.transactions-holdings-table--options th.tx-holdings-ticker-col,.transactions-holdings-table--options td.tx-holdings-ticker-col{min-width:calc(12.75rem * var(--tx-options-ticker-col-scale));max-width:calc(18rem * var(--tx-options-ticker-col-scale));width:calc(15rem * var(--tx-options-ticker-col-scale))}.transactions-holdings-table th.tx-holdings-pl,.transactions-holdings-table td.tx-holdings-pl{padding-right:var(--tx-content-inset-end, calc( var(--spacing-md) + var(--spacing-sm) + var(--spacing-md) ))}.transactions-holdings-table th:last-child:not(.tx-holdings-pl),.transactions-holdings-table td:last-child:not(.tx-holdings-pl){padding-right:var(--spacing-md)}.transactions-holdings-table .tx-holdings-einstand,.transactions-holdings-table th.tx-holdings-einstand{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.transactions-holdings-table th.tx-holdings-einstand{font-size:var(--font-size-sm);max-width:7.5rem;line-height:1.25;vertical-align:middle}.transactions-holdings-table th.tx-holdings-einstand.sortable-th .sort-header{justify-content:flex-end;text-align:right}.transactions-holdings-table th.tx-holdings-performance.sortable-th .sort-header,.transactions-holdings-table th.tx-holdings-share.sortable-th .sort-header{justify-content:center}.transactions-holdings-table th.tx-holdings-aktuell,.transactions-holdings-table td.tx-holdings-aktuell{min-width:9rem;padding-inline:var(--spacing-md)}.transactions-holdings-table th.tx-holdings-performance,.transactions-holdings-table td.tx-holdings-performance{min-width:7.25rem;padding-inline:var(--spacing-md);text-align:center;vertical-align:middle}.transactions-holdings-table--options td.tx-holdings-performance{vertical-align:top}.transactions-holdings-table td.tx-holdings-performance .performance-bar-container,.transactions-holdings-table td.tx-holdings-performance .performance-na{margin-inline:auto}.transactions-holdings-table th.tx-holdings-pl,.transactions-holdings-table td.tx-holdings-pl{min-width:6.5rem;padding-left:var(--spacing-md)}.transactions-holdings-table .tx-holdings-perf-total{display:inline-block;vertical-align:middle;min-width:100px}.transactions-holdings-table .tx-holdings-perf-sep{display:inline-block;margin:0 .25rem;color:var(--foreground-muted)}.transactions-holdings-table .performance-bar-container{position:relative;height:20px;min-width:88px;max-width:96px;background-color:var(--background-alt);border-radius:var(--radius-sm, 4px);overflow:hidden}.transactions-holdings-table .performance-bar{height:100%;border-radius:var(--radius-sm, 4px);transition:width .2s ease}.transactions-holdings-table .performance-bar--gain{background-color:var(--success-bar-fill)}.transactions-holdings-table .performance-bar--loss{background-color:#ef444480}.transactions-holdings-table .performance-bar--neutral{background-color:#94a3b873}.transactions-holdings-table .performance-bar-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600;white-space:nowrap;line-height:1;color:#fff;text-shadow:0 0 2px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.3)}.transactions-holdings-table .performance-bar--share{background-color:#3b82f68c}.transactions-holdings-table .performance-na{color:var(--foreground-muted);font-size:var(--font-size-sm)}.transactions-holdings-table .amount-solo,.transactions-holdings-table .amount-primary{font-size:var(--font-size-sm);font-weight:600;color:var(--foreground);line-height:1.2;white-space:nowrap}.transactions-holdings-table .cell-amount{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.transactions-holdings-table--options .cell-amount .amount-primary,.transactions-holdings-table--options td.tx-holdings-einstand .amount-solo{line-height:var(--tx-options-row-line-height)}.transactions-holdings-table--options .cell-amount .amount-secondary{font-size:var(--tx-options-secondary-size)}.transactions-holdings-table .amount-secondary{font-size:.7rem;font-weight:400;color:var(--foreground-muted);line-height:1.2;white-space:nowrap}.transactions-holdings-total-row .cell-amount{align-items:flex-end}.transactions-action-btn{font-size:var(--font-size-sm);padding:.35rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm, var(--border-radius-md));background:var(--background);color:var(--foreground);font-weight:400;cursor:pointer}.transactions-action-btn:hover:not(:disabled){background:var(--background-alt)}.transactions-action-btn:disabled{opacity:.6;cursor:not-allowed}.transactions-action-btn--active{background:var(--background-alt);border-color:var(--foreground-muted)}a.transactions-action-btn--link{display:inline-flex;align-items:center;text-decoration:none;font-weight:600;color:var(--primary-color)}.transactions-page{--tx-page-pad: var(--spacing-md);--tx-card-pad: var(--spacing-lg);--tx-content-inset-end: calc( var(--spacing-md) + var(--spacing-sm) + var(--spacing-md) );--tx-title-lead-gap: var(--spacing-xs);display:flex;flex-direction:column;gap:var(--spacing-lg)}.transactions-page .transactions-table-wrap{padding-inline:var(--spacing-sm)}.transactions-page .transactions-table th:first-child,.transactions-page .transactions-table td:first-child{padding-left:var(--spacing-md)}.transactions-page .transactions-table th:last-child,.transactions-page .transactions-table td:last-child{padding-right:var(--spacing-md)}.transactions-toolbar-btn{display:inline-flex;align-items:center;padding:8px 16px;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background-alt);font-size:var(--font-size-sm);font-weight:600;color:var(--primary-color);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.transactions-toolbar-btn:hover{background:var(--background-color);border-color:var(--primary-color)}.transactions-toolbar-btn--active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.transactions-toolbar-btn--active:hover{background:var(--primary-dark, var(--primary-color));border-color:var(--primary-dark, var(--primary-color));color:#fff}.transactions-import-card .transaction-import{margin-bottom:0;padding-bottom:0;border-bottom:none}.transactions-list-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.transactions-list-card--actions .transactions-list-header{padding-left:var(--spacing-sm);padding-right:var(--tx-content-inset-end)}.transactions-list-header h2{margin:0}.transactions-page .transactions-holdings-title,.transactions-page .tx-section-collapsible__title{font-size:var(--font-size-2xl);font-weight:600;line-height:1.2}.transactions-list-toolbar-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding-right:var(--tx-content-inset-end)}.transactions-list-header-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--spacing-md);margin-left:auto}.transactions-list-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.transactions-list-panel{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.transactions-list-panel h2{margin-top:0}.transactions-list-panel .transaction-import{margin-bottom:0;padding-bottom:0;border-bottom:none}.transactions-bulk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm)}.transactions-bulk-count{font-size:var(--font-size-sm);font-weight:600;color:var(--secondary-color)}.transactions-bulk-delete{padding:6px 12px;border:1px solid var(--danger-color);border-radius:var(--border-radius-md);background:var(--background);color:var(--danger-color);font-size:var(--font-size-sm);font-weight:600;cursor:pointer}.transactions-bulk-delete:hover{background:var(--danger-color);color:var(--on-primary)}.transactions-bulk-clear{padding:6px 12px;border:none;background:transparent;color:var(--foreground-muted);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;text-decoration:underline}.transactions-bulk-clear:hover{color:var(--primary-color)}.tx-select-th,.tx-select-cell{width:2.5rem;text-align:center;vertical-align:middle;padding-left:8px;padding-right:8px}.tx-select-checkbox{width:1rem;height:1rem;cursor:pointer;accent-color:var(--primary-color)}.tx-row--selected{background:var(--surface-selected)}.tx-row--selected.tx-row--ticker-issue{background:var(--surface-selected-issue)}.transactions-hint{color:var(--foreground-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.transactions-form-note{margin:var(--spacing-xs) 0 0;font-size:var(--font-size-sm);color:var(--foreground-muted)}.transactions-form-readonly{background:var(--background-alt);color:var(--foreground-muted);cursor:default}.transactions-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.transactions-form-grid .form-group--wide{grid-column:1 / -1}.transactions-form-grid select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);background:var(--background)}.tx-option-action{font-size:var(--font-size-sm);font-weight:600;white-space:nowrap}.transactions-preview{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-md);color:var(--secondary-color)}.transactions-table-wrap{overflow-x:auto}.transactions-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.transactions-table th,.transactions-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color);vertical-align:middle}.transactions-table th{font-weight:600;color:var(--foreground-muted);white-space:nowrap}.transactions-table .sortable-th{padding:0}.transactions-table .sort-header{display:flex;align-items:center;gap:4px;width:100%;padding:10px 12px;font-weight:600;color:var(--foreground-muted);text-align:left}.transactions-table .sort-header-label{flex:1;min-width:0}.transactions-table .sort-header-indicator{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer}.transactions-table .sort-header-indicator:hover,.transactions-table .sort-header-indicator--active{color:var(--primary-color)}.transactions-table .sort-indicator{font-size:.65rem;opacity:.45;line-height:1}.transactions-table .sort-header-indicator:hover .sort-indicator,.transactions-table .sort-header-indicator--active .sort-indicator{opacity:1}.tx-ticker{font-weight:600}.tx-trns-nr{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--font-size-sm);white-space:nowrap;color:var(--text-muted, #64748b)}.tx-currency{font-weight:600;color:var(--secondary-color);white-space:nowrap}.tx-qty--buy{color:var(--success-color);font-weight:600}.tx-qty--sell{color:var(--danger-color);font-weight:600}.tx-pnl{font-weight:600;white-space:nowrap}.tx-pnl--gain{color:var(--success-color)}.tx-pnl--loss{color:var(--danger-color)}.tx-pnl--neutral{color:var(--foreground-muted)}.tx-delete-btn{border:none;background:transparent;color:var(--danger-color);cursor:pointer;font-size:var(--font-size-sm);text-decoration:underline;padding:0}.tx-delete-btn:hover{color:var(--primary-dark)}.transactions-empty,.transactions-list-footer{color:var(--foreground-muted);font-size:var(--font-size-sm)}.transactions-list-footer{margin-top:var(--spacing-md)}.transactions-issue-banner{background:var(--surface-warning);border:1px solid var(--surface-warning-border);border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);color:var(--surface-warning-text)}.tx-row--ticker-issue{background:var(--surface-warning-alt)}.tx-row--ticker-issue .tx-ticker-cell{min-width:10rem}.tx-ticker-edit{display:flex;flex-direction:column;gap:4px}.tx-ticker-input{width:100%;max-width:8rem;padding:4px 8px;border:2px solid var(--warning-color);border-radius:var(--border-radius-sm);font-weight:600;text-transform:uppercase}.tx-ticker-issue-label{font-size:.75rem;font-weight:600;color:#b45309}.tx-bank-cell{min-width:7rem}.tx-bank-input{width:100%;max-width:9rem;padding:3px 6px;border:1px solid var(--border-color, #cbd5e1);border-radius:var(--border-radius-sm, 4px);font-size:.85em}.stock-list{display:flex;flex-direction:column;position:relative;width:100%;min-width:0}.stock-section-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--primary-light)}.stock-section-header h2{color:var(--primary-color);margin:0;font-size:inherit}.stock-section-context{font-weight:500;color:var(--foreground-muted, #6b7280);font-size:.85em}.stock-section-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);flex-shrink:0}.refresh-button--add{background-color:var(--background, #fff);color:var(--primary-color);border:1px solid var(--primary-color)}.refresh-button--add:hover:not(:disabled){background-color:#2563eb14}.refresh-button--add-active{background-color:var(--primary-color);color:#fff}.refresh-button--add-active:hover:not(:disabled){background-color:var(--primary-dark);color:#fff}.add-stock-section{padding:var(--spacing-md);background-color:var(--background-alt);border:1px solid var(--border-color);border-radius:var(--border-radius-md)}.add-stock-section--inline{margin-top:0;margin-bottom:var(--spacing-lg);animation:addFormIn .2s ease-out}@keyframes addFormIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.add-stock-section-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xs)}.add-stock-close{border:none;background:transparent;color:var(--foreground-muted, #6b7280);font-size:.8125rem;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:var(--border-radius-sm)}.add-stock-close:hover{color:var(--foreground);background:var(--background-alt, #f1f5f9)}.add-stock-title{margin:0 0 var(--spacing-xs);font-size:1rem;font-weight:600;color:var(--primary-color)}.add-stock-section--inline .add-stock-title{margin-bottom:0}.add-stock-hint{margin:0 0 var(--spacing-md);font-size:.75rem;color:var(--foreground-muted, #6b7280)}.add-stock-form{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1fr auto;gap:var(--spacing-md);align-items:end}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:var(--font-size-sm);font-weight:500;color:var(--foreground-muted)}.form-group--ticker{position:relative}.ticker-validation{display:block;margin-top:4px;font-size:.75rem;line-height:1.3}.ticker-validation.checking{color:var(--foreground-muted, #6b7280)}.ticker-validation.valid{color:var(--success-color)}.ticker-validation.invalid{color:var(--danger-color, #dc2626);font-weight:500}.input-invalid{border-color:var(--danger-color, #dc2626)!important;outline-color:var(--danger-color, #dc2626)}.input-valid{border-color:var(--accent-color)!important}.add-button{align-self:flex-end;background-color:var(--accent-color)}.add-button:hover:not(:disabled){background-color:var(--success-color)}.stock-table-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--border-radius-md);border:1px solid var(--border-color);margin-bottom:var(--spacing-md)}.stock-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);--stock-cell-py: .625rem;--stock-cell-px: .75rem}.stock-table th{background-color:var(--background-alt);color:var(--foreground-muted);font-weight:600;text-align:left;padding:0;border-bottom:2px solid var(--border-color);vertical-align:middle}.stock-static-th{padding:var(--stock-cell-py) var(--stock-cell-px);white-space:nowrap}.sortable-th{padding:0}.stock-table .sort-header{display:flex;align-items:center;gap:4px;width:100%;padding:var(--stock-cell-py) var(--stock-cell-px);font-weight:600;text-align:left}.stock-table .sort-header-label,.stock-table .filter-header-label{flex:1;min-width:0}.stock-table .sort-header-indicator{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;line-height:1;cursor:pointer}.stock-table .sort-header-indicator:hover,.stock-table .sort-header-indicator--active{color:var(--primary-color)}.stock-table .sort-indicator{font-size:.6rem;opacity:.45;line-height:1}.stock-table .sort-header-indicator:hover .sort-indicator,.stock-table .sort-header-indicator--active .sort-indicator,.stock-table .sort-header--active .sort-indicator{opacity:1}.stock-table .filter-header-trigger{display:inline-flex;align-items:center;gap:6px;flex:1;min-width:0;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer}.stock-table .filter-header-trigger:hover,.stock-table .sort-header--filter-open .filter-header-trigger,.stock-table .sort-header--filtered .filter-header-trigger{color:var(--primary-color)}.stock-table td{padding:var(--stock-cell-py) var(--stock-cell-px);border-bottom:1px solid var(--border-color);vertical-align:middle}.stock-table td.stock-ticker-cell{vertical-align:middle}.stock-table tbody tr:last-child td{border-bottom:none}.stock-table tfoot .stock-table-total-row td{border-top:2px solid var(--border-color);border-bottom:none;background-color:var(--background-alt);font-weight:600;vertical-align:middle}.stock-table tbody tr:hover,.stock-table tfoot .stock-table-total-row:hover{background-color:var(--background-alt)}.stock-table-total-hint{display:block;margin-top:2px;font-size:var(--font-size-xs);font-weight:400;color:var(--foreground-muted)}.stock-table tfoot .stock-table-total-cost .cell-amount{align-items:flex-end;width:100%}.error-row{background-color:#ef44440d}.error-row:hover{background-color:#ef44441a}.error-text{color:var(--danger-color);font-style:italic}.stock-table th.stock-ticker-col,.stock-table td.stock-ticker-cell{text-align:left;padding:var(--stock-cell-py) var(--stock-cell-px);position:sticky;left:0;z-index:2;background-color:var(--background, #fff);box-shadow:2px 0 0 0 var(--border-color)}.stock-table th.stock-ticker-col,.stock-table td.stock-ticker-cell{-webkit-backface-visibility:hidden}.stock-table th.stock-ticker-col{min-width:8.75rem}.stock-table th.stock-ticker-col.sortable-th,.stock-table th.stock-ticker-col.filterable-th{padding:0}.stock-table th.stock-ticker-col .sort-header--filterable{width:100%;min-height:100%}.stock-table th.stock-ticker-col .sort-header{padding:var(--stock-cell-py) var(--stock-cell-px)}.stock-table th.stock-ticker-col .filter-header-trigger{justify-content:flex-start}.stock-table thead th.stock-ticker-col{background-color:var(--background-alt);z-index:3}.stock-table tbody tr:hover td.stock-ticker-cell,.stock-table tfoot .stock-table-total-row td.stock-ticker-cell{background-color:var(--background-alt)}.stock-ticker-cell{min-width:0;max-width:16.5rem;width:auto}.stock-ticker-cell--compact{min-width:8.75rem;width:8.75rem;max-width:10.5rem}.cell-ticker--compact{min-width:0;max-width:100%}.cell-ticker--compact .ticker-symbol{font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stock-table td.stock-ticker-cell a.holdings-ticker-link{color:var(--primary-color);text-decoration:none}.stock-table td.stock-ticker-cell a.holdings-ticker-link .ticker-symbol{color:var(--primary-color);font-weight:700}.stock-table td.stock-ticker-cell a.holdings-ticker-link:hover .ticker-symbol{text-decoration:underline}.stock-table td.stock-ticker-cell a.holdings-ticker-link:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:2px}.cell-ticker--compact .company-name{font-size:.6875rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-line-clamp:unset;line-clamp:unset;display:block}.stock-table th.stock-sector-col,.stock-table td.stock-sector-cell{width:4.75rem;min-width:4.75rem;max-width:5.5rem;padding-inline:var(--stock-cell-px);vertical-align:middle}.stock-table th.stock-sector-col.filterable-th{padding:0}.stock-table th.stock-sector-col .sort-header{padding:var(--stock-cell-py) var(--stock-cell-px)}.stock-sector-cell .tag-badge--sector{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:#64748b1f;color:#475569}.stock-table th.stock-shares-col,.stock-table td.stock-shares-cell{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:4.75rem;padding-inline:var(--stock-cell-px)}.stock-table th.stock-shares-col.stock-static-th{text-align:right}.stock-table th.stock-currency-col,.stock-table td.stock-currency-cell{min-width:3.75rem;padding-inline:var(--stock-cell-px);text-align:center;font-size:.8125rem}.stock-table th.stock-currency-col.stock-static-th{text-align:center}.stock-table th.stock-num-col,.stock-table td.stock-num-cell{text-align:right;font-variant-numeric:tabular-nums}.stock-table th.stock-num-col.stock-static-th{text-align:right}.stock-table th.stock-num-col .sort-header{justify-content:flex-end}.stock-table th.stock-num-col .sort-header-label{flex:0 1 auto}.stock-table td.stock-num-cell .cell-amount{align-items:flex-end}.stock-table th.stock-cost-col,.stock-table td.stock-cost-cell{min-width:5.25rem;max-width:5.75rem;padding-left:var(--stock-cell-px);padding-right:.3rem}.stock-table th.stock-price-col,.stock-table td.stock-price-cell{min-width:5.25rem;max-width:5.75rem;padding-left:.3rem;padding-right:var(--stock-cell-px)}.stock-table th.stock-value-col,.stock-table td.stock-value-cell{min-width:8.75rem;max-width:11rem;padding-left:.2rem}.stock-table th.stock-daychange-col,.stock-table td.stock-daychange-cell{width:6rem;min-width:6rem;max-width:6rem;padding-left:.2rem;padding-right:.35rem;text-align:right}.stock-table th.stock-daychange-col .sort-header{justify-content:flex-end;padding-right:.15rem}.stock-table th.stock-daychange-col .sort-header-label{flex:0 1 auto}.stock-table td.stock-daychange-cell .performance-bar-container{margin-left:auto;margin-right:0}.stock-table td.stock-performance-cell .performance-bar-container{margin-left:auto}.stock-table th.stock-performance-col,.stock-table td.stock-performance-cell{min-width:5.75rem;max-width:6.5rem}.stock-table th.stock-allocation-col,.stock-table td.stock-allocation-cell{min-width:3.75rem;max-width:4.5rem}.stock-ticker-cell .cell-ticker{display:flex;flex-direction:column;gap:2px;min-width:0;max-width:100%;font-size:1.125rem}.cell-ticker{display:flex;flex-direction:column;gap:2px}.cell-ticker--with-note{flex-direction:row;align-items:flex-start;gap:6px}.cell-ticker-main{display:flex;flex-direction:column;gap:2px;min-width:0}.cell-ticker--with-note .icon-btn--note{flex-shrink:0;margin-top:2px}.ticker-symbol{font-size:1.125rem;font-weight:700;letter-spacing:.02em;color:var(--foreground);line-height:1.2}.stock-ticker-cell .ticker-symbol{white-space:nowrap;overflow:visible;text-overflow:clip}.stock-table td.stock-title-cell{vertical-align:middle}.stock-title-cell .company-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;line-height:1.2;color:var(--foreground-muted, #6b7280)}.stock-ticker-cell .company-name{font-size:.6667em;font-weight:400;color:var(--foreground-muted, #6b7280);line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-name{font-size:.75rem;font-weight:400;color:var(--foreground-muted, #6b7280);line-height:1.3;max-width:180px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;word-break:break-word}.tag-cell{min-width:80px;max-width:110px}.stock-table th.stock-bank-col,.stock-table td.tag-cell--bank{text-align:center;padding:var(--spacing-md) 8px}.stock-table th.stock-bank-col.sortable-th{padding:var(--spacing-md) 4px}.stock-table th.stock-bank-col .sort-header--filterable{position:relative;justify-content:center;width:100%}.stock-table th.stock-bank-col .filter-header-trigger,.stock-table th.stock-bank-col .sort-header{justify-content:center;padding:0}.stock-table th.stock-bank-col .filter-header-trigger{flex:0 1 auto}.stock-table th.stock-bank-col .sort-header-indicator{position:absolute;right:0;top:0;bottom:0;margin-left:0;padding:0 2px}.tag-cell--bank .tag-badge{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.tag-badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:.72rem;font-weight:600;background-color:#2563eb1f;color:#1d4ed8;white-space:nowrap}.tag-cell--bank .tag-badge{background-color:#0d94881f;color:#0f766e}.tag-badge-empty{color:var(--foreground-muted, #6b7280)}.edit-input--tag{min-width:90px}.sector-suggestion-hint{display:block;margin-top:4px;font-size:.7rem;color:var(--foreground-muted, #6b7280);font-style:italic}.stock-table .amount-cell{white-space:nowrap}.amount-solo,.amount-primary{font-size:1.05rem;font-weight:600;color:var(--foreground);line-height:1.2;white-space:nowrap}.amount-solo{display:inline-block}.cell-amount{display:flex;flex-direction:column;gap:2px}.amount-secondary{font-size:.75rem;font-weight:400;color:var(--foreground-muted, #6b7280);line-height:1.2;white-space:nowrap}.allocation-bar-container{position:relative;height:20px;background-color:var(--background-alt);border-radius:var(--border-radius-sm);overflow:hidden}.allocation-bar{height:100%;background-color:var(--primary-light);border-radius:var(--border-radius-sm)}.allocation-text{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:500;color:var(--foreground)}.stock-table th.actions-col,.stock-table td.actions-cell{width:72px;min-width:72px;max-width:72px;padding-left:0;padding-right:var(--spacing-sm);text-align:right;vertical-align:middle}.stock-table th.actions-col{padding-right:var(--spacing-sm)}.action-buttons{display:flex;gap:4px;justify-content:flex-end;align-items:center;width:100%;margin-left:auto}.edit-cell{min-width:100px}.edit-field{display:flex;flex-direction:column;gap:2px}.edit-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--foreground-muted, #6b7280)}.edit-input{width:100%;min-width:72px;max-width:110px;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);border:1px solid var(--primary-color);font-size:var(--font-size-sm)}.edit-input-wrap{display:flex;align-items:center;gap:4px}.edit-input-wrap .edit-input{flex:1;min-width:0}.edit-currency{font-size:.7rem;font-weight:600;color:var(--foreground-muted, #6b7280);flex-shrink:0}.cost-basis-empty{color:var(--foreground-muted, #9ca3af)}.stock-table .performance-bar-container{min-width:5.25rem}.performance-bar-container{position:relative;height:20px;min-width:100px;background-color:var(--background-alt);border-radius:var(--border-radius-sm);overflow:hidden}.performance-bar{height:100%;border-radius:var(--border-radius-sm);transition:width .2s ease}.performance-bar--gain{background-color:var(--success-bar-fill)}.performance-bar--loss{background-color:#ef444480}.performance-bar--neutral{background-color:#94a3b873}.performance-bar-text{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600;white-space:nowrap;line-height:1}.performance-bar-text--gain{color:var(--success-color)}.performance-bar-text--loss{color:#b91c1c}.performance-bar-text--neutral{color:var(--foreground-muted, #6b7280)}.performance-na{color:var(--foreground-muted, #9ca3af)}.empty-state{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);background-color:var(--background-alt);border-radius:var(--border-radius-md);border:1px dashed var(--border-color);color:var(--foreground-muted);text-align:center}.loading-indicator{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-lg);color:var(--foreground-muted)}@media (max-width: 768px){.add-stock-form{grid-template-columns:1fr 1fr}.add-stock-form .add-button{grid-column:1 / -1}.stock-table{min-width:620px}}@media (max-width: 480px){.add-stock-form{grid-template-columns:1fr}}.stock-table .tx-currency{font-weight:600;color:var(--secondary-color);white-space:nowrap}.empty-holdings{padding:var(--spacing-lg);color:var(--foreground-muted);text-align:center}.portfolio-summary{display:flex;flex-direction:column}.portfolio-summary h2{color:var(--primary-color);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--primary-light)}.summary-portfolio-name{font-weight:500;color:var(--foreground-muted, #6b7280)}.summary-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.summary-wealth-panel{width:100%;max-width:40rem}.portfolio-summary--compact .summary-wealth-panel{max-width:none}.portfolio-summary--compact h2{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.portfolio-summary--compact .summary-breakdown-label,.portfolio-summary--compact .summary-breakdown-amount{padding-block:10px}.portfolio-overview-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--spacing-lg) * 3);align-items:start;margin-bottom:var(--spacing-lg)}.portfolio-overview-panel>*{min-width:0}@media (max-width: 900px){.portfolio-overview-panel{grid-template-columns:1fr}}.summary-wealth-panel .broker-liquidity-panel{margin-top:var(--spacing-md)}.summary-breakdown-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border-color);border-radius:var(--border-radius-md);overflow:hidden;background:var(--background);table-layout:fixed}.summary-breakdown-table thead th{background:var(--background-alt)}.summary-breakdown-th{padding:10px 14px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--foreground-muted);text-align:right;border-bottom:1px solid var(--border-color)}.summary-breakdown-th--label{width:58%;text-align:left}.summary-breakdown-table tbody tr:not(:last-child) .summary-breakdown-label,.summary-breakdown-table tbody tr:not(:last-child) .summary-breakdown-amount{border-bottom:1px solid var(--border-color)}.summary-breakdown-row{background:var(--background)}.summary-breakdown-row:nth-child(2n){background:var(--background-alt)}.summary-breakdown-row--liability{background:rgba(239,68,68,.04)}.summary-breakdown-row--liability-offset{background:rgba(34,197,94,.05)}.summary-breakdown-row--subtotal{background:rgba(59,130,246,.05)}.summary-breakdown-label--subtotal{font-weight:600;color:var(--foreground-muted)}.summary-breakdown-label-stack,.summary-breakdown-amount-stack{display:flex;flex-direction:column;gap:3px}.summary-breakdown-amount-stack{align-items:flex-end}.summary-breakdown-label-main,.summary-breakdown-amount-main{font-weight:600;line-height:1.35}.summary-breakdown-label-info,.summary-breakdown-amount-info{font-size:var(--font-size-xs);font-weight:400;font-style:italic;color:var(--foreground-muted);line-height:1.3}.summary-breakdown-label{padding:12px 14px;font-size:var(--font-size-sm);font-weight:500;color:var(--foreground);text-align:left;vertical-align:middle}.summary-breakdown-meta{display:block;margin-top:3px;font-size:var(--font-size-xs);font-weight:400;font-style:italic;color:var(--foreground-muted)}.summary-breakdown-amount{width:42%;padding:12px 14px;font-size:var(--font-size-sm);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;vertical-align:middle}.summary-breakdown-amount--negative{color:var(--danger-color, #dc2626)}.summary-breakdown-total{background:var(--primary-color);color:#fff}.summary-breakdown-total-label{padding:14px;font-size:var(--font-size-sm);font-weight:600;text-align:left;text-transform:uppercase;letter-spacing:.04em;border-top:2px solid var(--primary-dark, var(--primary-color))}.summary-breakdown-total-amount{padding:14px;font-size:var(--font-size-lg);font-weight:700;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;border-top:2px solid var(--primary-dark, var(--primary-color))}.summary-card{padding:var(--spacing-lg);border-radius:var(--border-radius-md);background-color:var(--background);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.total-value{background-color:var(--primary-color);color:#fff;text-align:center}.summary-label{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm);opacity:.9}.summary-value{font-size:var(--font-size-3xl);font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center}.loading-spinner{border:4px solid rgba(0,0,0,.1);border-left-color:var(--primary-color);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}@media (max-width: 768px){.summary-value{font-size:var(--font-size-2xl)}.summary-breakdown-total-amount{font-size:var(--font-size-base)}}@media (max-width: 480px){.summary-card{padding:var(--spacing-md)}.summary-value{font-size:var(--font-size-xl)}.summary-wealth-panel{max-width:none}.summary-breakdown-th,.summary-breakdown-label,.summary-breakdown-amount,.summary-breakdown-total-label,.summary-breakdown-total-amount{padding-inline:10px}}.portfolio-composition-pie{min-width:0;width:100%}.portfolio-composition-pie-title{font-size:var(--font-size-lg);color:var(--primary-color);margin-bottom:var(--spacing-xs)}.portfolio-composition-pie-subtitle{font-size:var(--font-size-sm);color:var(--foreground-muted);margin-bottom:var(--spacing-md)}.portfolio-composition-pie-grid{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.portfolio-composition-pie-chart-wrap{width:min(100%,440px);flex-shrink:0}.portfolio-composition-pie-chart{position:relative;width:100%;aspect-ratio:1;max-height:440px}.portfolio-composition-pie-legend{list-style:none;display:flex;flex-direction:column;gap:10px;width:100%}.portfolio-composition-pie-legend-item{display:flex;gap:10px;align-items:flex-start}.portfolio-composition-pie-legend-swatch{width:12px;height:12px;border-radius:3px;margin-top:4px;flex-shrink:0}.portfolio-composition-pie-legend-body{flex:1;min-width:0}.portfolio-composition-pie-legend-header{display:flex;justify-content:space-between;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:600}.portfolio-composition-pie-legend-value{font-size:var(--font-size-sm);color:var(--foreground-muted);font-variant-numeric:tabular-nums}.portfolio-composition-pie-legend-value--negative{color:var(--danger-color)}.portfolio-composition-pie-note{margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--foreground-muted)}.portfolio-composition-pie--loading,.portfolio-composition-pie--empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:var(--foreground-muted);text-align:center}@media (max-width: 900px){.portfolio-composition-pie-chart-wrap{width:min(100%,520px)}.portfolio-composition-pie-chart{max-height:520px}}.allocation-chart-wrapper{display:flex;flex-direction:column;gap:var(--spacing-md)}.allocation-chart-container{position:relative;width:100%;height:350px;margin:0 auto;padding:var(--spacing-sm)}.allocation-chart-container--pie-solo{max-width:440px;height:380px;margin:0 auto}.allocation-chart-container--solo{max-width:none}.allocation-chart-wrapper--bar{gap:var(--spacing-md)}.allocation-chart-container--comparison{height:auto;min-height:200px;max-height:none;padding:var(--spacing-md) var(--spacing-sm) var(--spacing-lg)}.allocation-comparison-chart{width:100%}.allocation-comparison-legend-inline{display:flex;flex-wrap:wrap;gap:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-md);font-size:.75rem;color:var(--foreground-muted, #6b7280)}.allocation-comparison-key{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.allocation-comparison-key-swatch{display:inline-block;border-radius:2px}.allocation-comparison-key-swatch--current{width:20px;height:10px;background-color:#1d4ed8}.allocation-comparison-key-swatch--previous{width:20px;height:5px;background-color:#93c5fd}.allocation-comparison-body{display:flex;flex-direction:column;gap:var(--spacing-xs)}.allocation-comparison-rows{display:flex;flex-direction:column;gap:var(--spacing-md)}.allocation-comparison-row{display:grid;grid-template-columns:minmax(140px,200px) 1fr;gap:var(--spacing-sm);align-items:start}.allocation-comparison-label{display:flex;flex-direction:column;align-items:flex-end;gap:1px;padding-top:2px;text-align:right;line-height:1.25}.allocation-comparison-ticker{font-weight:700;font-size:.85rem}.allocation-comparison-name{font-size:.65rem;font-weight:400;color:var(--foreground-muted, #6b7280);max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.allocation-comparison-amount{font-size:.68rem;font-weight:600;margin-top:2px;white-space:nowrap}.allocation-comparison-amount--current{color:#1d4ed8}.allocation-comparison-amount--previous{color:#0369a1;font-weight:500}.allocation-comparison-bars-wrap{min-width:0}.allocation-comparison-bars{display:flex;flex-direction:column;gap:0;line-height:0}.allocation-comparison-bar{display:flex;align-items:center;min-width:2px;border-radius:0 4px 4px 0;transition:width .35s ease}.allocation-comparison-bar--current{height:22px;background-color:#1d4ed8;box-shadow:0 1px 2px #1d4ed840}.allocation-comparison-bar--previous{height:11px;background-color:#93c5fd;border-radius:0 3px 3px 0}.allocation-comparison-bar-label{margin-left:6px;font-size:.7rem;font-weight:700;color:#fff;line-height:1;white-space:nowrap;text-shadow:0 0 2px rgba(0,0,0,.2)}.allocation-comparison-bar-label--muted{color:#1e3a8a;font-weight:600;text-shadow:none}.allocation-comparison-axis{position:relative;height:20px;margin-left:200px;padding-right:var(--spacing-sm);border-top:1px solid var(--border-color);font-size:.65rem;color:var(--foreground-muted, #6b7280)}.allocation-comparison-axis span{position:absolute;transform:translate(-50%);top:4px}.allocation-comparison-axis span:first-child{transform:none}.allocation-comparison-hint{margin:0;font-size:.75rem;color:var(--foreground-muted, #6b7280);font-style:italic}.chart-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#fffc;border-radius:var(--border-radius-md);z-index:10}.chart-loading .loading-spinner{border:4px solid rgba(0,0,0,.1);border-left-color:var(--primary-color);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chart-loading p{color:var(--foreground-muted);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.chart-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:var(--spacing-xl);background-color:var(--background-alt);border-radius:var(--border-radius-md);border:1px dashed var(--border-color);color:var(--foreground-muted);text-align:center}.chart-icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5;color:var(--secondary-color)}:global(.chartjs-tooltip){background-color:var(--background);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);padding:var(--spacing-sm);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--foreground);border:1px solid var(--border-color)}:global(.chartjs-legend){margin-top:var(--spacing-md);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-sm)}:global(.chartjs-legend-item){display:flex;align-items:center;font-size:var(--font-size-sm);margin-right:var(--spacing-md)}:global(.chartjs-legend-item-color){width:12px;height:12px;margin-right:var(--spacing-xs);border-radius:2px}@media (max-width: 768px){.allocation-chart-container{height:300px}}@media (max-width: 480px){.allocation-chart-container{height:250px}.chart-empty-state{padding:var(--spacing-md)}.chart-icon{font-size:2rem}}.invested-overview{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.invested-overview-subtitle{margin:0 0 var(--spacing-md);font-size:.8125rem;color:var(--foreground-muted, #6b7280)}.invested-overview-grid{display:grid;grid-template-columns:200px 1fr;gap:var(--spacing-lg);align-items:center}.invested-overview-chart{position:relative;height:180px;width:180px;margin:0 auto}.invested-overview-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center}.invested-overview-center-pct{font-size:1.5rem;font-weight:800;color:#475569;line-height:1.1}.invested-overview-center-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--foreground-muted, #6b7280)}.invested-stacked-bar{display:flex;height:20px;border-radius:999px;overflow:hidden;border:1px solid var(--border-color);margin-bottom:var(--spacing-md)}.invested-stacked-segment{min-width:2px;transition:width .35s ease}.invested-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.invested-legend-item{display:grid;grid-template-columns:12px 1fr auto;gap:var(--spacing-sm);align-items:center;font-size:.8125rem}.invested-legend-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.invested-legend-label{color:var(--foreground-muted)}.invested-legend-value{font-weight:600;white-space:nowrap}.invested-overview-summary{margin:var(--spacing-md) 0 0;font-size:1rem;color:var(--foreground)}.invested-overview-summary-label{color:var(--foreground-muted, #6b7280);font-weight:500}.invested-overview-summary-pnl{margin-left:.35em;font-weight:600;color:var(--foreground-muted, #6b7280);font-size:.875rem}.invested-overview-composition{margin:var(--spacing-xs) 0 0;font-size:.75rem;color:var(--foreground-muted, #6b7280)}.invested-overview-summary .text-gain{color:#16a34a}.invested-overview-summary .text-loss{color:#dc2626}.invested-overview--loading,.invested-overview--empty{padding:var(--spacing-md);text-align:center;color:var(--foreground-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}@media (max-width: 768px){.invested-overview-grid{grid-template-columns:1fr}.invested-overview-chart{height:160px;width:160px}}.sector-overview{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.sector-overview-subtitle{margin:0 0 var(--spacing-sm);font-size:.8125rem;color:var(--foreground-muted, #6b7280)}.sector-overview-warning{margin:0 0 var(--spacing-md);padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;color:#92400e;background:rgba(245,158,11,.12);border-radius:var(--border-radius-sm)}.sector-overview-grid{display:grid;grid-template-columns:minmax(280px,340px) 1fr;gap:var(--spacing-xl);align-items:start}.sector-overview-chart-wrap{display:flex;justify-content:center}.sector-overview-chart{position:relative;width:100%;max-width:320px;height:300px;margin:0 auto}.sector-stacked-bar{display:flex;height:18px;border-radius:999px;overflow:hidden;border:1px solid var(--border-color);margin-bottom:var(--spacing-md)}.sector-stacked-segment{min-width:2px;transition:width .35s ease}.sector-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-md);max-height:320px;overflow-y:auto}.sector-legend-item{display:flex;gap:var(--spacing-sm);align-items:flex-start}.sector-legend-swatch{width:12px;height:12px;border-radius:3px;margin-top:5px;flex-shrink:0}.sector-legend-body{flex:1;min-width:0}.sector-legend-header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-sm)}.sector-legend-name{font-weight:700;font-size:.9rem}.sector-legend-pct{font-weight:700;font-size:.85rem;color:var(--primary-color, #2563eb)}.sector-legend-value{font-size:.8rem;color:var(--foreground-muted, #6b7280);margin-top:2px}.sector-legend-invested{font-size:.75rem}.sector-legend-tickers{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--spacing-xs)}.sector-ticker-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:.68rem;font-weight:600;background:var(--background-alt, #f1f5f9);border:1px solid var(--border-color);color:var(--foreground)}.sector-ticker-chip-pct{font-weight:500;color:var(--foreground-muted, #6b7280)}.sector-legend-hint{display:block;margin-top:4px;font-size:.68rem;font-style:italic;color:var(--foreground-muted, #6b7280)}.sector-overview--loading,.sector-overview--empty{padding:var(--spacing-lg);text-align:center;color:var(--foreground-muted, #6b7280);font-size:.875rem}@media (max-width: 768px){.sector-overview-grid{grid-template-columns:1fr}.sector-legend{max-height:none}}.bank-overview{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.bank-overview-subtitle{margin:0 0 var(--spacing-md);font-size:.8125rem;color:var(--foreground-muted, #6b7280)}.bank-overview-chips{list-style:none;margin:0 0 var(--spacing-md);padding:0;display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.bank-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:8px 12px;background:var(--background);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.bank-chip:hover{border-color:var(--primary-color)}.bank-chip--active{border-color:var(--primary-color);background:rgba(37,99,235,.08)}.bank-chip-name{font-weight:700;font-size:.85rem}.bank-chip-meta{font-size:.75rem;color:var(--foreground-muted, #6b7280)}.bank-chip-pct{font-weight:500}.bank-overview-filter{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.bank-overview-filter label{font-size:.8125rem;font-weight:600}.bank-overview-filter input{flex:1;min-width:160px;max-width:280px;padding:8px 10px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:.875rem}.bank-overview-total{margin:0 0 var(--spacing-md);font-size:.9rem}.bank-overview-section-title{margin:var(--spacing-md) 0 var(--spacing-sm);font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--foreground-muted, #6b7280)}.bank-overview-table--summary{margin-bottom:var(--spacing-lg)}.bank-summary-row{font-weight:500}.bank-summary-row .bank-row-ticker{font-size:.9rem}.bank-row-meta{display:block;font-size:.65rem;font-weight:500;color:var(--foreground-muted, #6b7280);margin-top:2px}.bank-portfolios-cell{font-size:.75rem;color:var(--foreground-muted, #6b7280);max-width:140px}.bank-overview-table-wrap{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--border-radius-md)}.bank-overview-table{width:100%;border-collapse:collapse;font-size:.8125rem}.bank-overview-table th,.bank-overview-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border-color)}.bank-overview-table th{background:var(--background-alt, #f8fafc);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.bank-overview-table tbody tr:last-child td{border-bottom:none}.bank-row-ticker{display:block;font-weight:700}.bank-row-name{display:block;font-size:.7rem;color:var(--foreground-muted, #6b7280)}.bank-overview-empty,.bank-overview-hint,.bank-overview--loading{margin:0;font-size:.8125rem;color:var(--foreground-muted, #6b7280);font-style:italic}.bank-page{display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%;max-width:100%;min-width:0}.bank-page-card{width:100%;max-width:100%;min-width:0}.bank-page-card h2{margin:0 0 var(--spacing-sm)}.bank-page-lead{margin:0 0 var(--spacing-lg);font-size:var(--font-size-sm);color:var(--foreground-muted);line-height:1.55;max-width:72ch}.bank-page-lead--footer{margin:var(--spacing-lg) 0 0}.bank-holdings{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background-muted, rgba(0, 0, 0, .02))}.bank-holdings-stat{display:flex;flex-direction:column;gap:.15rem;min-width:7rem}.bank-holdings-value{font-size:var(--font-size-lg);font-weight:700;font-variant-numeric:tabular-nums}.bank-holdings-label{font-size:var(--font-size-xs);color:var(--foreground-muted);text-transform:uppercase;letter-spacing:.04em}.bank-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5rem;width:100%;max-width:100%;min-width:0;margin-bottom:var(--spacing-md)}.bank-accounts-overview{display:flex;flex-direction:column;gap:.5rem;grid-column:1;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.bank-accounts-grid-cols{grid-template-columns:minmax(0,1fr) 2.5rem minmax(5.5rem,7rem) minmax(5.5rem,7rem)}.bank-overview-stats{display:grid;grid-column:2;grid-template-rows:auto auto auto;gap:.65rem;width:100%;min-width:0;max-width:100%;align-self:start;background:var(--background);overflow:hidden}.bank-broker-section{display:flex;flex-direction:column;gap:0}.bank-section-title{margin:0;padding-left:.65rem;font-size:var(--font-size-lg);font-weight:700;letter-spacing:.01em}.bank-broker-section+.bank-depot--external,.bank-depot--external+.bank-depot--external,.bank-broker-section+.bank-us-banks-section,.bank-depot--external+.bank-us-banks-section,.bank-us-banks-section+.bank-depot--external{margin-top:1.1rem}.bank-us-banks-section{display:flex;flex-direction:column;gap:0}.bank-us-banks-section>.bank-section-title{margin-bottom:.35rem}.bank-us-banks-section .bank-depot--external+.bank-depot--external{margin-top:0}.bank-stats-block{display:flex;flex-direction:column;min-height:0;min-width:0;max-width:100%;padding:.45rem .55rem;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--background-muted, rgba(0, 0, 0, .02));overflow:hidden;box-sizing:border-box}.bank-stats-block-title{margin:0 0 .35rem;font-size:var(--font-size-sm);font-weight:400;text-transform:uppercase;letter-spacing:.04em;color:var(--foreground-muted)}.bank-stats-list{margin:0;min-width:0}.bank-stats-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.15rem 0;font-size:var(--font-size-xs);line-height:1.3;min-width:0;max-width:100%}.bank-stats-row+.bank-stats-row{border-top:1px solid color-mix(in srgb,var(--border-color) 65%,transparent)}.bank-stats-row dt{margin:0;flex:1 1 auto;min-width:0;color:var(--foreground-muted);font-weight:500;white-space:normal;overflow-wrap:anywhere}.bank-stats-row dd{margin:0;flex:0 0 auto;font-weight:400;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.bank-depot{display:flex;flex-direction:column;gap:0;width:100%}.bank-overview-stats .broker-liquidity-panel{margin:0;padding:.45rem .55rem;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--background-muted, rgba(0, 0, 0, .02));min-width:0;overflow:hidden}.bank-accounts-columns{display:grid;column-gap:.35rem;padding:.05rem 0 0 .65rem;margin-bottom:0;font-size:var(--font-size-sm);font-weight:400;color:var(--foreground-muted);letter-spacing:.01em}.bank-accounts-columns.bank-accounts-grid-cols span:nth-child(2){text-align:right}.bank-accounts-columns.bank-accounts-grid-cols span:nth-child(3),.bank-accounts-columns.bank-accounts-grid-cols span:nth-child(4){text-align:right}.bank-depot-name{margin:.05rem 0 0;padding-left:.65rem;font-size:var(--font-size-sm);font-weight:400;letter-spacing:.02em}.bank-depot-currencies{display:grid;column-gap:.35rem;row-gap:0;margin:0;padding:0 0 0 .65rem;list-style:none}.bank-depot-currencies.bank-accounts-grid-cols{grid-template-columns:minmax(0,1fr) 2.5rem minmax(5.5rem,7rem) minmax(5.5rem,7rem)}.bank-depot-currency{display:contents;font-variant-numeric:tabular-nums;font-size:var(--font-size-sm);line-height:1.25}.bank-depot-label-wrap{grid-column:1;display:inline-flex;align-items:center;gap:.3rem;min-width:0;max-width:100%}.bank-depot-currency-label,.bank-depot-subaccount-label{min-width:0;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--font-size-sm);font-weight:400;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bank-depot-currency-label{grid-column:2;text-align:right;padding-right:.1rem}.bank-depot-currency--subaccount .bank-depot-label-wrap{grid-column:1}.bank-depot-native-balance{grid-column:3}.bank-depot-chf-balance{grid-column:4}.bank-depot-native-balance,.bank-depot-chf-balance,.bank-depot-total-native,.bank-depot-total-value,.bank-grand-total-value{justify-self:end;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bank-depot-native-balance,.bank-depot-chf-balance{font-size:var(--font-size-sm);font-weight:400;max-width:100%;overflow:hidden;text-overflow:ellipsis}.bank-depot-amount--negative{color:var(--danger-color, #dc2626)}.bank-account-edit.bank-depot-native-balance{grid-column:3;display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.bank-account-edit-input{width:9rem;max-width:9rem}.bank-account-edit-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--foreground-muted);font-size:var(--font-size-xs);line-height:1;cursor:pointer}.bank-account-edit-btn:hover{color:var(--primary-color, #2563eb)}.bank-account-edit-btn--pencil{flex-shrink:0;padding:.1rem}.bank-account-edit-btn--save,.bank-account-edit-btn--cancel{padding:.1rem .25rem;font-weight:600}.bank-account-edit-btn--save{color:var(--primary-color, #2563eb)}.bank-account-edit-btn--cancel{color:var(--foreground-muted)}.bank-account-edit-icon{display:block}.bank-depot-total-row{display:contents}.bank-depot-total-label,.bank-grand-total-label{grid-column:1}.bank-depot-total-currency{grid-column:2;padding-top:.15rem;text-align:right;padding-right:.1rem;font-size:var(--font-size-sm);font-weight:400;color:var(--foreground);letter-spacing:.01em}.bank-grand-total-currency{padding-top:0;font-size:var(--font-size-base);font-weight:700}.bank-depot-total-native{grid-column:3;padding-top:.15rem;font-size:var(--font-size-sm);font-weight:400;color:var(--foreground-muted)}.bank-depot-total-value{grid-column:4;padding-top:.15rem;font-size:var(--font-size-sm);font-weight:700}.bank-grand-total-row{display:grid;column-gap:.35rem;margin-top:.75rem;margin-bottom:1.5rem;padding:.55rem 0 0 .65rem;border-top:1px solid var(--border-color)}.bank-grand-total-row.bank-accounts-grid-cols{grid-template-columns:minmax(0,1fr) 2.5rem minmax(5.5rem,7rem) minmax(5.5rem,7rem)}.bank-grand-total-value{grid-column:4;padding-top:0;font-size:var(--font-size-lg);font-weight:700}.bank-grand-total-label{padding-top:0}@media (max-width: 860px){.bank-overview-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.bank-accounts-overview{grid-column:1;width:100%;max-width:100%}.bank-depot{width:100%;max-width:100%}.bank-overview-stats{grid-column:1;grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:.65rem;width:100%;max-width:100%}}.bank-accounts-empty{margin:0;font-size:var(--font-size-sm);color:var(--foreground-muted)}.bank-section .transactions-list-header{margin-bottom:var(--spacing-sm)}.bank-section{margin-top:var(--spacing-lg)}.bank-section h3,.bank-section h4{margin:0 0 var(--spacing-sm);font-size:var(--font-size-base)}.bank-section-title-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.bank-section-title-row h4{margin:0}.bank-select-all-inline{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);cursor:pointer}.bank-section-hint{margin:0 0 var(--spacing-md);font-size:var(--font-size-sm);color:var(--foreground-muted)}.bank-classify-feedback{margin:0 0 var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);background:color-mix(in srgb,var(--success-color) 10%,transparent);border:1px solid color-mix(in srgb,var(--success-color) 30%,var(--border-color));font-size:var(--font-size-sm);font-weight:600;color:var(--success-color)}.bank-settings-hint{margin:0 0 var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);line-height:1.5;color:var(--foreground-muted);background:color-mix(in srgb,var(--warning-color, #c9a227) 8%,transparent);border:1px solid color-mix(in srgb,var(--warning-color, #c9a227) 28%,var(--border-color))}.bank-settings-hint a{font-weight:600}.bank-settings-hint--prominent{font-size:var(--font-size-base);color:var(--foreground)}.bank-remember-rule{display:inline-flex;align-items:center;gap:var(--spacing-sm);margin:0 0 var(--spacing-md);font-size:var(--font-size-sm);font-weight:600}.bank-pending-same-count{color:var(--primary-color, #2563eb);font-weight:600}.bank-section--pending{padding:var(--spacing-md);border:1px solid var(--warning-border, #f59e0b);border-radius:var(--border-radius-md);background:var(--warning-bg, rgba(245, 158, 11, .08))}.bank-pending-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.bank-pending-card{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background)}.bank-pending-card--selected{border-color:var(--primary-color);background:var(--primary-bg, rgba(37, 99, 235, .06))}.bank-pending-select{padding-top:2px}.bank-pending-body{flex:1;min-width:0}.bank-pending-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--foreground-muted);margin-bottom:var(--spacing-xs)}.bank-pending-raw{margin:0 0 var(--spacing-xs);font-size:var(--font-size-sm)}.bank-pending-amount{margin:0 0 var(--spacing-md);font-weight:600}.bank-pending-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:flex-end}.bank-pending-actions label{display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-sm)}.bank-pending-actions select,.bank-pending-actions input{min-width:10rem;padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm)}.bank-empty,.bank-empty-pending{font-size:var(--font-size-sm);color:var(--foreground-muted)}.bank-table .bank-trns-nr{font-family:var(--font-mono, monospace);font-size:.85em}.bank-table .bank-raw-type{font-size:var(--font-size-sm);color:var(--foreground-muted);max-width:14rem}.bank-table .bank-amount{white-space:nowrap;font-variant-numeric:tabular-nums}.bank-edit-input,.bank-edit-select{width:100%;min-width:5rem;max-width:10rem;padding:.25rem .4rem;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--background, #fff)}.bank-edit-select{max-width:12rem}.bank-edit-input--amount{max-width:8rem}button.theme-toggle{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:var(--app-header-control-height, 2.375rem);min-height:var(--app-header-control-height, 2.375rem);padding:8px 12px;border-radius:var(--border-radius-md);border:1px solid var(--border-color);background:var(--background);color:var(--foreground);cursor:pointer;transform:none;transition:border-color .15s ease,color .15s ease,background .15s ease}button.theme-toggle:hover{border-color:var(--primary-light);color:var(--primary-color);background:var(--background);transform:none}button.theme-toggle.theme-toggle--header{position:relative;z-index:3;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fffffff2}button.theme-toggle.theme-toggle--header:hover{background:rgba(255,255,255,.18);border-color:#ffffff8c;color:#fff}button.theme-toggle.theme-toggle--utility{min-width:1.75rem;min-height:1.75rem;padding:0;border:none;background:transparent;color:#ffffffc7}button.theme-toggle.theme-toggle--utility svg{width:15px;height:15px}button.theme-toggle.theme-toggle--utility:hover{background:rgba(255,255,255,.12);color:#fff}.theme-settings{display:flex;flex-direction:column;gap:var(--spacing-sm)}.theme-settings-options{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.theme-settings-option{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background);color:var(--foreground);font-size:var(--font-size-sm);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.theme-settings-option:hover{border-color:var(--primary-light)}.theme-settings-option--active{border-color:var(--primary-color);background:var(--surface-selected);color:var(--primary-color);font-weight:600}.theme-settings-option input{width:auto;margin:0;accent-color:var(--primary-color)}.settings-appearance-card{margin-bottom:var(--spacing-md)}.settings-appearance-active{margin:0;font-size:var(--font-size-sm);color:var(--foreground-muted)}.settings-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.settings-page-card{padding:var(--spacing-lg)}.settings-page-card h2,.settings-page-card h3{margin:0 0 var(--spacing-sm);color:var(--primary-color)}.settings-page-lead,.settings-categories-lead{margin:0 0 var(--spacing-lg);font-size:var(--font-size-sm);color:var(--foreground-muted);line-height:1.55;max-width:72ch}.settings-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.settings-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid transparent;border-radius:var(--border-radius-md);background:transparent;color:var(--foreground-muted);font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.settings-tab:hover{background:var(--background-alt);color:var(--foreground)}.settings-tab--active{background:var(--background-alt);border-color:var(--border-color);color:var(--primary-color)}.settings-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 5px;border-radius:999px;background:var(--danger-color);color:#fff;font-size:.7rem;font-weight:700;line-height:1}.settings-tab-panel{margin-top:var(--spacing-sm)}.settings-tab-panel.settings-panel{margin-top:var(--spacing-sm);padding-top:0;border-top:none}.settings-subtabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--spacing-md)}.settings-subtab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background);color:var(--foreground-muted);font-size:.8125rem;font-weight:600;cursor:pointer}.settings-subtab:hover{border-color:var(--primary-light);color:var(--foreground)}.settings-subtab--active{border-color:var(--primary-light);background:rgba(59,130,246,.06);color:var(--primary-color)}.settings-banken-section+.settings-banken-section{margin-top:var(--spacing-lg)}.settings-portfolio-remember{margin-bottom:var(--spacing-md)}.settings-json-import{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.settings-json-import-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.settings-action-btn--primary{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.settings-action-btn--primary:hover:not(:disabled){border-color:var(--primary-light);background:var(--primary-light);color:#fff}.settings-import-csv-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.settings-import-csv-format label,.settings-import-csv-bank label{display:block;margin-bottom:.35rem;font-size:var(--font-size-sm);font-weight:600}.settings-import-csv-format select,.settings-import-csv-bank input{width:100%;border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:.5rem .75rem;font-size:var(--font-size-sm)}.settings-import-file-pick-list{margin:0 0 var(--spacing-md);padding-left:1.25rem;font-size:var(--font-size-sm);color:var(--foreground-muted)}.settings-import-results{margin:var(--spacing-md) 0 var(--spacing-xl);padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background-alt)}.settings-import-results h4{margin:0 0 var(--spacing-sm);font-size:var(--font-size-base);color:var(--foreground)}.settings-import-results-summary{margin:0 0 var(--spacing-md);font-size:var(--font-size-sm);color:var(--foreground-muted)}.settings-import-results-table-wrap{overflow-x:auto}.settings-import-results-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.settings-import-results-table th,.settings-import-results-table td{padding:.45rem .6rem;text-align:left;border-bottom:1px solid var(--border-color);vertical-align:top}.settings-import-results-table th{color:var(--foreground-muted);font-weight:600;font-size:.75rem}.settings-import-results-file{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;word-break:break-all}.settings-import-results-row--duplicate td:last-child{color:var(--foreground-muted)}.settings-import-results-row--error td:last-child{color:var(--danger-color)}.settings-diag-card{margin-bottom:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background-alt)}.settings-diag-card h4{margin:0 0 var(--spacing-sm);color:var(--primary-color)}.settings-diag-list{margin:0 0 var(--spacing-sm);padding-left:1.2rem;font-size:var(--font-size-sm);color:var(--foreground-muted);line-height:1.6}.settings-diag-card .settings-action-btn{margin-right:var(--spacing-sm);margin-top:var(--spacing-xs)}.settings-portfolios{margin-bottom:0;padding-bottom:0;border-bottom:none}.settings-portfolios-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.settings-portfolios-header h3{margin:0}.settings-portfolios-lead{margin:0 0 var(--spacing-md);font-size:var(--font-size-sm);color:var(--foreground-muted);line-height:1.55;max-width:72ch}.settings-portfolio-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.settings-portfolio-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:12px 14px;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background-alt)}.settings-portfolio-row--active{border-color:var(--primary-light);background:rgba(59,130,246,.05)}.settings-portfolio-info{display:flex;flex-direction:column;gap:3px;min-width:0}.settings-portfolio-name{font-weight:600;color:var(--foreground)}.settings-portfolio-meta{font-size:var(--font-size-xs);color:var(--foreground-muted)}.settings-portfolio-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.settings-portfolio-active-badge{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--primary-color)}.settings-portfolio-dialog{margin-bottom:var(--spacing-md)}.settings-portfolio-dialog-panel{padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background-alt);display:flex;flex-direction:column;gap:var(--spacing-sm)}.settings-portfolio-dialog-panel h4{margin:0;color:var(--primary-color)}.settings-portfolio-dialog-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.settings-portfolio-switch-label{display:inline-flex;align-items:center;gap:8px;font-size:var(--font-size-sm);color:var(--foreground-muted)}.settings-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.settings-action-btn{display:inline-flex;align-items:center;padding:8px 16px;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background);color:var(--foreground);font-size:.875rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.settings-action-btn:hover{background:var(--background-alt);border-color:var(--primary-light)}.settings-action-btn--active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.settings-action-btn--danger{border-color:#ef444473;color:var(--danger-color)}.settings-action-btn--danger:hover{background:rgba(239,68,68,.08)}.settings-backup-hint{margin:0 0 var(--spacing-md);font-size:.8rem;color:var(--foreground-muted)}.settings-panel{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.settings-bank-rules-subtitle{margin:var(--spacing-lg) 0 var(--spacing-sm);font-size:1rem;color:var(--primary-color);scroll-margin-top:var(--spacing-md)}.settings-daten-section-title{margin:var(--spacing-lg) 0 var(--spacing-sm);font-size:var(--font-size-xl);font-weight:600;color:var(--primary-color);scroll-margin-top:var(--spacing-md)}.settings-daten-section-block>.settings-daten-section-title{margin-top:0}.settings-daten-section-block+.settings-daten-section-block{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--border-color)}.settings-daten-backups-block .settings-panel--backups{margin-top:var(--spacing-md);padding-top:0;border-top:none}.settings-bank-pending.bank-section--pending{margin-bottom:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background-alt)}.settings-bank-pending .bank-pending-list{max-height:28rem;overflow-y:auto}.settings-mapping-add-form{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:flex-end;margin-bottom:var(--spacing-md)}.settings-mapping-add-form label{display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-sm);font-weight:600;color:var(--foreground-muted)}.settings-categories-row--error{background:rgba(239,68,68,.06)}.settings-ticker-status{font-size:.75rem;color:var(--foreground-muted);white-space:nowrap}.settings-panel--import .import-page{gap:var(--spacing-md)}.settings-panel--import .import-page-card{padding:0;box-shadow:none;background:transparent}.settings-backup-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.settings-backup-header h3{margin:0;font-size:1rem}.settings-backup-actions{display:flex;gap:8px;flex-wrap:wrap}.settings-backup-list{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--spacing-md)}.settings-backup-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--background-alt);border-radius:6px;border:1px solid var(--border-color)}.settings-backup-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings-backup-time{font-weight:600;font-size:.9rem}.settings-backup-counts{font-size:.8rem;color:var(--foreground-muted)}.settings-backup-latest{font-size:.7rem;background:var(--primary-color);color:#fff;padding:1px 6px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px}.settings-backup-row-actions{display:flex;gap:6px}.settings-backup-empty{color:var(--foreground-muted);font-style:italic}.settings-backup-note{font-size:.8rem;color:var(--foreground-muted);margin:var(--spacing-sm) 0 0}.settings-mapping-feedback{margin:var(--spacing-sm) 0 0;font-size:var(--font-size-sm);color:var(--success-color);font-weight:600}.settings-bank-rules-form{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:flex-end;margin-bottom:var(--spacing-md)}.settings-bank-rules-form label{display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-sm);font-weight:600}.settings-bank-rules-form .settings-category-input{min-width:12rem}.settings-external-accounts-table .settings-external-iban-input{width:100%;min-width:22rem;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--font-size-sm);letter-spacing:.03em}.settings-categories-empty{color:var(--foreground-muted);font-style:italic}.settings-ticker-collapsed{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border:1px solid color-mix(in srgb,var(--success-color) 28%,var(--border-color));border-radius:var(--border-radius-md);background:color-mix(in srgb,var(--success-color) 8%,transparent)}.settings-ticker-collapsed-status{margin:0;flex:1 1 16rem;font-size:var(--font-size-sm);color:var(--foreground)}.settings-ticker-table-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.settings-ticker-toolbar-hint{margin:0;font-size:var(--font-size-sm);color:var(--foreground-muted)}.settings-yahoo-direct{display:inline-block;padding:6px 10px;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--font-size-sm);color:var(--foreground-muted);border:1px dashed var(--border-color);border-radius:var(--border-radius-sm);background:var(--background-alt)}.settings-categories-table-wrap{overflow-x:auto}.settings-categories-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.settings-categories-table th,.settings-categories-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color)}.settings-categories-table th{font-weight:600;color:var(--foreground-muted);background:var(--background-alt)}.settings-categories-loading{margin:0 0 var(--spacing-sm);font-size:var(--font-size-sm);color:var(--foreground-muted)}.settings-categories-name{font-weight:500;min-width:140px}.settings-categories-ticker{font-weight:600;white-space:nowrap;color:var(--foreground-muted)}.settings-categories-row--editing{background:rgba(219,39,119,.04)}.settings-editable-field{display:flex;align-items:center;gap:6px;min-width:0}.settings-editable-value{font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--font-size-sm)}.settings-edit-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:.1rem;border:none;background:transparent;color:var(--foreground-muted);line-height:1;cursor:pointer}.settings-edit-btn:hover:not(:disabled){color:var(--primary-color)}.settings-edit-btn:disabled{opacity:.45;cursor:not-allowed}.settings-edit-btn--danger{color:var(--danger-color)}.settings-edit-btn--danger:hover:not(:disabled){color:#b91c1c}.settings-row-icon-actions{display:inline-flex;align-items:center;gap:4px;justify-content:flex-end;white-space:nowrap}.settings-categories-table .settings-row-icon-actions{min-width:3.25rem}.settings-edit-icon{display:block}.settings-category-value{display:inline-block;padding:2px 0;min-width:0}.settings-category-value--empty{color:var(--foreground-muted);font-style:italic}.settings-category-actions{display:flex;flex-wrap:wrap;gap:6px}.settings-category-btn{font-size:var(--font-size-sm);padding:.35rem .75rem;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background);color:var(--foreground);cursor:pointer;white-space:nowrap}.settings-category-btn:hover:not(:disabled){background:var(--background-alt)}.settings-category-btn:disabled{opacity:.45;cursor:not-allowed}.settings-category-btn--primary{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.settings-category-btn--primary:hover:not(:disabled){background:var(--primary-dark)}.settings-category-btn--danger{border-color:#ef444473;color:var(--danger-color)}.settings-category-btn--danger:hover:not(:disabled){background:rgba(239,68,68,.08)}.settings-category-input{width:100%;min-width:180px;max-width:280px;padding:8px 10px;border:1px solid var(--border-color);border-radius:var(--border-radius-md);font:inherit;background:var(--background)}.settings-category-input:focus{outline:2px solid var(--primary-light);outline-offset:1px;border-color:var(--primary-color)}.settings-tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--spacing-sm)}.settings-tool-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background-alt);color:inherit;text-decoration:none;transition:border-color .15s ease,background-color .15s ease}.settings-tool-card:hover{border-color:var(--primary-light);background:var(--background)}.settings-tool-card-title{font-weight:700;color:var(--primary-color)}.settings-buha-card{margin-top:var(--spacing-md)}.settings-buha-panel h4{margin:0 0 var(--spacing-sm);color:var(--primary-color)}.settings-buha-panel h5{margin:var(--spacing-md) 0 var(--spacing-sm);font-size:var(--font-size-sm);color:var(--primary-color)}.settings-buha-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.settings-buha-import-label{display:block;margin:var(--spacing-sm) 0 var(--spacing-xs);font-size:var(--font-size-sm);color:var(--foreground-muted)}.settings-buha-import-textarea{width:100%;min-height:7rem;margin-bottom:var(--spacing-sm);padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-family:inherit;font-size:var(--font-size-sm);resize:vertical}.settings-buha-accounts-wrap{max-height:16rem;overflow:auto;margin-top:var(--spacing-sm)}.settings-buha-mapping-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.settings-buha-mapping-row{display:flex;flex-direction:column;gap:.25rem;font-size:var(--font-size-sm)}.settings-buha-mapping-label{color:var(--foreground-muted)}.settings-buha-account-select{width:100%}.settings-buha-currency-group{margin-top:var(--spacing-sm)}.settings-tool-card-desc{font-size:var(--font-size-sm);color:var(--foreground-muted);line-height:1.45}.settings-x-accounts-card{margin-top:var(--spacing-lg)}.settings-x-accounts-add{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--spacing-sm);align-items:end;margin-bottom:var(--spacing-md)}.settings-x-accounts-add label{display:flex;flex-direction:column;gap:.25rem;font-size:var(--font-size-sm);font-weight:600}.settings-x-accounts-add input{font-weight:400}.settings-x-accounts-bulk{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.settings-x-accounts-bulk label{display:flex;flex-direction:column;gap:.25rem;font-size:var(--font-size-sm);font-weight:600}.settings-x-accounts-api-help{margin:0 0 var(--spacing-md);font-size:var(--font-size-sm);color:var(--foreground-muted)}.settings-x-accounts-api-help summary{cursor:pointer;color:var(--primary-color)}.settings-x-accounts-api-help-body{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.settings-x-accounts-api-help-body ol{margin:0;padding-left:1.2rem}.settings-num-col{width:4.5rem;text-align:right;font-variant-numeric:tabular-nums}.settings-x-accounts-table .settings-x-accounts-prio-col{width:5.5rem;min-width:5.5rem;text-align:center}.settings-x-accounts-table .settings-x-accounts-prio-col input,.settings-x-accounts-table .settings-x-accounts-prio-select{width:100%;min-width:3.25rem;box-sizing:border-box;text-align:center;font-variant-numeric:tabular-nums}.settings-x-accounts-table .settings-x-accounts-actions-col{width:6.5rem;min-width:6.5rem;padding-right:.35rem}.settings-x-accounts-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:.65rem;width:100%}.settings-x-accounts-table td input,.settings-x-accounts-table td select{max-width:100%}.buha-settings-back{margin:0 0 var(--spacing-sm);font-size:var(--font-size-sm)}.buha-settings-back a{color:var(--primary-color);font-weight:600;text-decoration:none}.buha-settings-back a:hover{text-decoration:underline}.buha-page .buha-hint{font-size:var(--font-size-sm);color:var(--foreground-muted);margin-bottom:var(--spacing-md);line-height:1.5}.buha-date-filters,.buha-period-toolbar{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);margin-bottom:var(--spacing-md);align-items:flex-end}.buha-period-toolbar select{min-width:12rem;padding:8px 10px;border:1px solid var(--border-color);border-radius:var(--border-radius-md);font-size:var(--font-size-sm)}.buha-export-btn,.buha-snapshot-btn{align-self:flex-end;padding:8px 14px;border:1px solid var(--primary-color);border-radius:var(--border-radius-md);background:var(--primary-color);font-size:var(--font-size-sm);font-weight:600;color:#fff;cursor:pointer}.buha-snapshot-btn{background:var(--background-alt);color:var(--primary-color)}.buha-export-btn:disabled,.buha-snapshot-btn:disabled{opacity:.5;cursor:not-allowed}.buha-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.buha-summary-card{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background-alt)}.buha-summary-card h4{margin:0 0 var(--spacing-xs);font-size:var(--font-size-sm);color:var(--primary-color)}.buha-summary-card p{margin:.2rem 0;font-size:var(--font-size-sm);color:var(--foreground-muted)}.buha-date-filters .form-group{min-width:10rem}.buha-range-max-btn{align-self:flex-end;padding:8px 14px;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background-alt);font-size:var(--font-size-sm);font-weight:600;color:var(--primary-color);cursor:pointer;white-space:nowrap}.buha-range-max-btn:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.buha-range-max-btn:disabled{opacity:.5;cursor:not-allowed}.buha-valuation-note{font-size:var(--font-size-sm);color:var(--secondary-color);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--background-alt);border-radius:var(--border-radius-md)}.buha-section{margin-top:var(--spacing-lg)}.buha-section--realized,.buha-section--bookings,.buha-section--sq-accounts,.buha-section--trial-balance{margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl);border-top:1px solid var(--border-color)}.buha-account-overview .buha-section--trial-balance{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg)}.buha-num-col{text-align:right;white-space:nowrap}.buha-saldo-cell{font-weight:600}.buha-mapping-role{font-size:var(--font-size-sm);color:var(--foreground-muted);max-width:14rem}.buha-trial-total-row td{border-top:2px solid var(--border-color);background:var(--background-alt)}.buha-inactive-accounts{margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--foreground-muted)}.buha-inactive-accounts summary{cursor:pointer;font-weight:600;color:var(--primary-color);margin-bottom:var(--spacing-sm)}.buha-inactive-accounts .buha-table-wrap{margin-top:var(--spacing-sm)}.buha-grouped-journal{display:flex;flex-direction:column;gap:var(--spacing-xl)}.buha-journal-block{padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.buha-journal-block:first-child{border-top:none;padding-top:0}.buha-journal-block-title{margin:0 0 var(--spacing-xs);font-size:var(--font-size-base);color:var(--primary-color)}.buha-journal-block--geldfluss .buha-journal-block-title{color:var(--secondary-color)}.buha-margin-stichtag{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.buha-margin-stichtag-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:flex-end}.buha-margin-stichtag-grid .form-group{min-width:8rem}.buha-margin-stichtag-grid input{width:10rem;padding:8px 10px;border:1px solid var(--border-color);border-radius:var(--border-radius-md)}.buha-margin-source{font-size:var(--font-size-sm);color:var(--foreground-muted);font-weight:400}.buha-pnl--gain{color:var(--success-color);font-weight:600}.buha-pnl--loss{color:var(--danger-color);font-weight:600}.buha-pnl--neutral{color:var(--foreground-muted)}.buha-ledger-text{font-weight:500;max-width:280px}.buha-trade-desc{font-weight:600}.buha-trade-desc--gain{color:var(--success-color)}.buha-trade-desc--loss{color:var(--danger-color)}.buha-account-cell{color:var(--foreground-muted)}.buha-amount-cell{font-weight:600;white-space:nowrap}.buha-realized-total{margin-top:var(--spacing-md);font-size:var(--font-size-base);font-weight:600}.buha-realized-total-hint{font-size:var(--font-size-sm);font-weight:400;color:var(--foreground-muted)}.buha-section-title{font-size:var(--font-size-lg);margin-bottom:var(--spacing-xs)}.buha-subsection-title{margin:var(--spacing-md) 0 var(--spacing-xs);font-size:var(--font-size-base);color:var(--primary-color)}.buha-section-hint{font-size:var(--font-size-sm);color:var(--foreground-muted);margin-bottom:var(--spacing-md)}.buha-empty,.buha-footer{color:var(--foreground-muted);font-size:var(--font-size-sm)}.buha-footer{margin-top:var(--spacing-sm)}.buha-table-wrap{overflow-x:auto}.buha-table .tx-currency{font-weight:600;color:var(--secondary-color);white-space:nowrap}.buha-wert-error{color:var(--warning-color);cursor:help}.buha-table .sortable-th{padding:0}.buha-table .sort-header{padding:10px 12px;font-weight:600;color:var(--foreground-muted);text-align:left}.buha-table .sort-header-indicator:hover,.buha-table .sort-header-indicator--active{color:var(--primary-color)}.broker-liquidity-panel{margin-top:var(--spacing-md)}.broker-liquidity-panel--compact{margin-top:var(--spacing-sm)}.broker-liquidity-title{margin:0 0 var(--spacing-xs);font-size:var(--font-size-base)}.broker-liquidity-lead{margin:0 0 var(--spacing-sm);font-size:var(--font-size-sm);color:var(--foreground-muted);line-height:1.45}.broker-liquidity-profiles{display:flex;flex-direction:column;gap:var(--spacing-sm)}.broker-liquidity-profile{border:1px solid var(--border-color);border-radius:var(--radius-sm, 6px);background:var(--background-alt);padding:var(--spacing-sm)}.broker-liquidity-profile-head-row th{padding:0 0 .35rem;font-weight:600;color:var(--foreground);border-bottom:none}.broker-liquidity-profile-title{text-align:left}.broker-liquidity-currency-title{text-align:right;font-weight:600;color:var(--foreground-muted)}.broker-liquidity-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.broker-liquidity-table th,.broker-liquidity-table td{padding:3px 0;vertical-align:top}.broker-liquidity-table tbody th{font-weight:500;text-align:left;color:var(--foreground-muted)}.broker-liquidity-table td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.broker-liquidity-total-row th,.broker-liquidity-total-row td{font-weight:700;color:var(--foreground);border-top:1px solid var(--border-color);padding-top:6px}.broker-liquidity-detail-row th,.broker-liquidity-detail-row td{font-size:var(--font-size-xs, .8125rem);color:var(--foreground-muted)}.broker-liquidity-detail-row:first-of-type th,.broker-liquidity-detail-row:first-of-type td{padding-top:.45rem;border-top:1px dashed color-mix(in srgb,var(--border-color) 75%,transparent)}.broker-liquidity-breakdown--compact .broker-liquidity-table th,.broker-liquidity-breakdown--compact .broker-liquidity-table td{padding-block:2px}.bitcoin-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.bitcoin-page-card h2{margin:0 0 var(--spacing-sm)}.bitcoin-page-lead{margin:0 0 var(--spacing-lg);font-size:var(--font-size-sm);color:var(--foreground-muted);line-height:1.55;max-width:72ch}.bitcoin-holdings{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background-muted, rgba(0, 0, 0, .02))}.bitcoin-holdings-stat{display:flex;flex-direction:column;gap:.15rem;min-width:7rem}.bitcoin-holdings-value{font-size:var(--font-size-lg);font-weight:700;font-variant-numeric:tabular-nums}.bitcoin-holdings-value--negative{color:var(--danger-color, #dc2626)}.bitcoin-holdings-stat--market .bitcoin-holdings-value{color:var(--primary-color, #2563eb)}.bitcoin-quote-hint{margin:0 0 var(--spacing-md);font-size:var(--font-size-sm);color:var(--foreground-muted)}.bitcoin-holdings-label{font-size:var(--font-size-xs);color:var(--foreground-muted);text-transform:uppercase;letter-spacing:.04em}.bitcoin-remainder-notice{margin:0 0 var(--spacing-lg);max-width:32rem;padding:var(--spacing-md);border:1px solid var(--warning-border, #f59e0b66);border-radius:var(--border-radius-md);background:var(--warning-bg, rgba(245, 158, 11, .08))}.bitcoin-remainder-notice-text{margin:0 0 var(--spacing-sm);font-size:var(--font-size-sm);color:var(--foreground-muted);line-height:1.5}.bitcoin-remainder-notice-list{margin:0 0 var(--spacing-md);padding:0;list-style:none;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.bitcoin-remainder-notice-list li{display:flex;justify-content:space-between;gap:1rem;padding:.2rem 0}.bitcoin-wallet-holdings-section{margin:0 0 var(--spacing-lg);max-width:26rem}.bitcoin-wallet-holdings-title{margin:0 0 var(--spacing-sm);font-size:var(--font-size-sm);font-weight:600;color:var(--foreground-muted);text-transform:uppercase;letter-spacing:.04em}.bitcoin-wallet-holdings{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background-color);overflow:hidden}.bitcoin-wallet-holdings-row{display:grid;grid-template-columns:minmax(5.5rem,auto) 1fr;align-items:baseline;gap:1rem 1.25rem;padding:.45rem .75rem;font-size:var(--font-size-sm);border-top:1px solid var(--border-color)}.bitcoin-wallet-holdings-row:first-child{border-top:none}.bitcoin-wallet-holdings-label{color:var(--foreground);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bitcoin-wallet-holdings-value{justify-self:end;text-align:right;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.35}.bitcoin-wallet-holdings-market{font-weight:500;color:var(--foreground-muted)}.bitcoin-entry-form{margin-bottom:var(--spacing-lg)}.bitcoin-entry-form h3{margin:0 0 var(--spacing-sm);font-size:var(--font-size-base)}.bitcoin-section h3{margin:0;font-size:var(--font-size-base)}.bitcoin-section .transactions-list-header{margin-bottom:var(--spacing-sm)}.bitcoin-edit-input,.bitcoin-edit-select{width:100%;min-width:5rem;max-width:10rem;padding:.25rem .4rem;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--background, #fff)}.bitcoin-edit-select{max-width:12rem}.bitcoin-empty{margin:0;color:var(--foreground-muted);font-size:var(--font-size-sm)}.bitcoin-trns-nr,.bitcoin-raw-type{font-size:var(--font-size-sm);color:var(--foreground-muted)}.bitcoin-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.bitcoin-deposit-lead{margin:0 0 var(--spacing-sm);font-size:var(--font-size-sm);color:var(--foreground-muted);line-height:1.45}.bitcoin-table--deposit .bitcoin-edit-input{max-width:9rem}.bitcoin-einstand-cell{min-width:6.5rem}.buckets-pie{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.buckets-pie-title{font-size:var(--font-size-lg);color:var(--primary-color);margin-bottom:var(--spacing-xs)}.buckets-pie-subtitle{font-size:var(--font-size-sm);color:var(--foreground-muted);margin-bottom:var(--spacing-md)}.buckets-pie-grid{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:var(--spacing-lg);align-items:start}.buckets-pie-chart-wrap{width:100%}.buckets-pie-chart{position:relative;height:280px}.buckets-pie-legend{list-style:none;display:flex;flex-direction:column;gap:10px}.buckets-pie-legend-item{display:flex;gap:10px;align-items:flex-start}.buckets-pie-legend-swatch{width:12px;height:12px;border-radius:3px;margin-top:4px;flex-shrink:0}.buckets-pie-legend-body{flex:1;min-width:0}.buckets-pie-legend-header{display:flex;justify-content:space-between;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:600}.buckets-pie-legend-value{font-size:var(--font-size-sm);color:var(--foreground-muted);font-variant-numeric:tabular-nums}.buckets-pie-legend-value--negative{color:var(--danger-color)}.buckets-pie-note{margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--foreground-muted)}.buckets-pie--loading,.buckets-pie--empty{margin-top:var(--spacing-xl);padding:var(--spacing-lg) 0;color:var(--foreground-muted);text-align:center}@media (max-width: 720px){.buckets-pie-grid{grid-template-columns:1fr}}.buckets-simulator{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.buckets-simulator-title{font-size:var(--font-size-lg);color:var(--primary-color);margin-bottom:var(--spacing-xs)}.buckets-simulator-lead{font-size:var(--font-size-sm);color:var(--foreground-muted);line-height:1.5;margin-bottom:var(--spacing-md)}.buckets-simulator-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:var(--spacing-sm) var(--spacing-md);align-items:end;margin-bottom:var(--spacing-md)}.buckets-simulator-form label{display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-xs);font-weight:600;color:var(--foreground-muted)}.buckets-simulator-field--wide{grid-column:span 2}.buckets-simulator-input{font-size:var(--font-size-sm);padding:8px 10px;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background);color:var(--foreground)}.buckets-simulator-run{border:1px solid var(--primary-color);background:var(--primary-color);color:#fff;border-radius:var(--border-radius-md);padding:8px 14px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer}.buckets-simulator-run:hover:not(:disabled){background:var(--primary-dark)}.buckets-simulator-run:disabled{opacity:.6;cursor:not-allowed}.buckets-simulator-error{color:var(--danger-color);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.buckets-simulator-hint{color:var(--warning-color);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.buckets-simulator-summary{background:var(--background-alt);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm);line-height:1.55}.buckets-simulator-delta{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm)}.buckets-simulator-delta th,.buckets-simulator-delta td{padding:8px 10px;text-align:right;border-bottom:1px solid var(--border-color);font-variant-numeric:tabular-nums}.buckets-simulator-delta th:first-child,.buckets-simulator-delta td:first-child{text-align:left}.buckets-simulator-delta tfoot th,.buckets-simulator-delta tfoot td{font-weight:700;border-top:2px solid var(--border-color)}.buckets-simulator-delta--up{color:var(--success-color)}.buckets-simulator-delta--down{color:var(--danger-color)}@media (max-width: 720px){.buckets-simulator-field--wide{grid-column:span 1}}.buckets-page{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-2xl)}.buckets-panel{max-width:52rem;margin:0 auto}.buckets-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.buckets-header h2{color:var(--primary-color);margin-bottom:var(--spacing-sm)}.buckets-lead{color:var(--foreground-muted);font-size:var(--font-size-sm);line-height:1.5;max-width:40rem}.buckets-settings-link{color:var(--primary-color);text-decoration:none}.buckets-settings-link:hover{text-decoration:underline}.buckets-refresh-btn{border:1px solid var(--border-color);background:var(--background);color:var(--foreground);border-radius:var(--border-radius-md);padding:.45rem .85rem;font-size:var(--font-size-sm);cursor:pointer}.buckets-refresh-btn:hover:not(:disabled){border-color:var(--primary-light);color:var(--primary-color)}.buckets-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.buckets-loading{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-2xl) 0;color:var(--foreground-muted)}.buckets-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border-color);border-radius:var(--border-radius-md);overflow:hidden;table-layout:fixed}.buckets-table thead th{background:var(--background-alt)}.buckets-th{padding:10px 14px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--foreground-muted);text-align:right;border-bottom:1px solid var(--border-color)}.buckets-th--label{width:34%;text-align:left}.buckets-th--pct{width:14%}.buckets-row:nth-child(2n){background:var(--background-alt)}.buckets-label,.buckets-amount,.buckets-pct{padding:12px 14px;border-bottom:1px solid var(--border-color);vertical-align:top}.buckets-label{text-align:left;font-weight:600}.buckets-label-main{display:block}.buckets-label-meta{display:block;margin-top:3px;font-size:var(--font-size-xs);font-weight:400;color:var(--foreground-muted)}.buckets-amount,.buckets-pct{text-align:right;font-variant-numeric:tabular-nums}.buckets-amount--negative{color:var(--danger-color)}.buckets-total-label,.buckets-total-amount,.buckets-total .buckets-pct{padding:14px;font-weight:700;background:rgba(219,39,119,.06);border-top:2px solid var(--primary-light)}.buckets-bars{margin-top:var(--spacing-xl);display:flex;flex-direction:column;gap:10px}.buckets-bar-row{display:grid;grid-template-columns:8.5rem 1fr 4.5rem;gap:var(--spacing-sm);align-items:center}.buckets-bar-label,.buckets-bar-pct{font-size:var(--font-size-sm);color:var(--foreground-muted)}.buckets-bar-pct{text-align:right;font-variant-numeric:tabular-nums}.buckets-bar-track{height:10px;background:var(--background-alt);border-radius:var(--border-radius-full);overflow:hidden}.buckets-bar-fill{height:100%;border-radius:var(--border-radius-full);min-width:2px}.buckets-bar-fill--bitcoin{background:#f59e0b}.buckets-bar-fill--btctc{background:#d97706}.buckets-bar-fill--musk{background:#3b82f6}.buckets-bar-fill--stocks_other{background:var(--primary-color)}.buckets-bar-fill--real_estate{background:#14b8a6}.buckets-bar-fill--cash_bank{background:var(--accent-color)}.buckets-bar-fill--cash_broker{background:#0ea5e9}@media (max-width: 720px){.buckets-bar-row{grid-template-columns:1fr;gap:4px}.buckets-bar-pct{text-align:left}}.info-page{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-2xl)}.info-panel{max-width:56rem;margin:0 auto var(--spacing-xl)}.info-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.info-header h2{color:var(--primary-color);margin-bottom:var(--spacing-xs)}.info-lead{color:var(--foreground-muted);font-size:var(--font-size-sm);line-height:1.5;max-width:42rem}.info-tier-badge{display:inline-block;margin-top:var(--spacing-sm);padding:.2rem .55rem;border-radius:var(--border-radius-sm);background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);font-size:var(--font-size-sm);font-weight:600}.info-refresh-btn{border:1px solid var(--border-color);background:var(--background);color:var(--foreground);border-radius:var(--border-radius-md);padding:.45rem .85rem;font-size:var(--font-size-sm);cursor:pointer}.info-refresh-btn:disabled{opacity:.6;cursor:wait}.info-section-title{font-size:var(--font-size-md);color:var(--primary-color);margin:0 0 var(--spacing-sm)}.info-section-note{color:var(--foreground-muted);font-size:var(--font-size-sm);line-height:1.5;margin:0 0 var(--spacing-md)}.info-table-wrap{overflow-x:auto}.info-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.info-table th,.info-table td{padding:.5rem .65rem;border-bottom:1px solid var(--border-color);text-align:left}.info-table th{color:var(--foreground-muted);font-weight:600}.info-table .info-num{text-align:right;font-variant-numeric:tabular-nums}.info-table .info-profit{color:var(--gain-color, #16a34a)}.info-table .info-loss{color:var(--loss-color, #dc2626)}.info-scenario{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);background:color-mix(in srgb,var(--background) 92%,var(--foreground) 8%)}.info-scenario h4{margin:0 0 var(--spacing-xs);font-size:var(--font-size-sm);color:var(--foreground)}.info-scenario p{margin:0 0 var(--spacing-sm);font-size:var(--font-size-sm);color:var(--foreground-muted)}.info-scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm)}.info-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.info-metric{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md)}.info-metric-label{font-size:var(--font-size-xs);color:var(--foreground-muted);margin-bottom:.15rem}.info-metric-value{font-size:var(--font-size-md);font-weight:600;font-variant-numeric:tabular-nums}.info-hint{font-size:var(--font-size-sm);color:var(--foreground-muted);margin-top:var(--spacing-sm);line-height:1.45}.info-loading{color:var(--foreground-muted);font-size:var(--font-size-sm)}.info-error{color:var(--loss-color, #dc2626);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}@media (max-width: 640px){.info-scenario-grid{grid-template-columns:1fr}}.watchlist-page{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-2xl)}.watchlist-panel{max-width:72rem;margin:0 auto}.watchlist-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.watchlist-header h2{color:var(--primary-color);margin-bottom:var(--spacing-sm)}.watchlist-lead{color:var(--foreground-muted);font-size:var(--font-size-sm);line-height:1.5;max-width:42rem}.watchlist-refresh-btn,.watchlist-add-row button,.watchlist-remove-btn,.watchlist-detail-btn,.watchlist-filter-chip{border:1px solid var(--border-color);background:var(--background);color:var(--foreground);border-radius:var(--border-radius-md);padding:.45rem .85rem;font-size:var(--font-size-sm);cursor:pointer}.watchlist-refresh-btn:hover:not(:disabled),.watchlist-add-row button:hover:not(:disabled),.watchlist-detail-btn:hover:not(:disabled),.watchlist-filter-chip:hover{border-color:var(--primary-light);color:var(--primary-color)}.watchlist-refresh-btn:disabled,.watchlist-add-row button:disabled{opacity:.6;cursor:not-allowed}.watchlist-add-form{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background-alt)}.watchlist-add-label{display:block;font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-sm)}.watchlist-add-row{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.watchlist-add-row input{flex:1 1 12rem;min-width:10rem;border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:.5rem .75rem;font-size:var(--font-size-sm)}.watchlist-form-error{margin-top:var(--spacing-sm);color:var(--danger-color);font-size:var(--font-size-sm)}.watchlist-header-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.watchlist-filter-section{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.watchlist-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.watchlist-filter-chip--active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.watchlist-empty{color:var(--foreground-muted);padding:var(--spacing-xl) 0;text-align:center}.watchlist-sections{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.watchlist-sections-primary,.watchlist-sections-inactive{display:flex;flex-direction:column;gap:var(--spacing-xl)}.watchlist-sections-inactive{padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.watchlist-section,.watchlist-section--collapsible{border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background);overflow:hidden}.watchlist-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:.65rem .85rem;background:var(--background-alt);border-bottom:1px solid var(--border-color)}.watchlist-section--collapsible>.watchlist-section-head{cursor:pointer;list-style:none;border-bottom:none}.watchlist-section--collapsible[open]>.watchlist-section-head{border-bottom:1px solid var(--border-color)}.watchlist-section--collapsible>.watchlist-section-head::-webkit-details-marker{display:none}.watchlist-section--collapsible>.watchlist-section-head:before{content:"▸";margin-right:.45rem;color:var(--foreground-muted);font-size:.8rem}.watchlist-section--collapsible[open]>.watchlist-section-head:before{content:"▾"}.watchlist-section-title{margin:0;font-size:var(--font-size-sm);font-weight:700;color:var(--foreground)}.watchlist-section-count{min-width:1.5rem;padding:.1rem .45rem;border-radius:999px;background:var(--background);border:1px solid var(--border-color);font-size:.72rem;font-weight:700;color:var(--foreground-muted);text-align:center;font-variant-numeric:tabular-nums}.watchlist-section-body{padding:0}.watchlist-section-groups{display:flex;flex-direction:column}.watchlist-subsection+.watchlist-subsection{border-top:1px solid var(--border-color)}.watchlist-subsection-head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:.5rem .85rem;background:color-mix(in srgb,var(--background-alt) 65%,var(--background))}.watchlist-subsection-title{font-size:.72rem;font-weight:700;color:var(--foreground-muted);text-transform:uppercase;letter-spacing:.04em}.watchlist-subsection-count{min-width:1.35rem;padding:.05rem .4rem;border-radius:999px;border:1px solid var(--border-color);background:var(--background);font-size:.68rem;font-weight:700;color:var(--foreground-muted);font-variant-numeric:tabular-nums}.watchlist-section-empty{margin:0;padding:.85rem .9rem;font-size:.78rem;color:var(--foreground-muted)}.watchlist-section .watchlist-table{border:none;border-radius:0}.watchlist-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border-color);border-radius:var(--border-radius-md);position:relative}.watchlist-table{width:100%;border-collapse:collapse;border-radius:var(--border-radius-md);font-size:var(--font-size-sm)}.watchlist-table thead th{background:var(--background-alt);color:var(--foreground-muted);font-weight:600;text-align:left;padding:.65rem .75rem;border-bottom:1px solid var(--border-color);vertical-align:bottom}.watchlist-scenario-edge--left{border-left:2px solid color-mix(in srgb,var(--border-color) 85%,var(--primary-color))}.watchlist-scenario-edge--right{border-right:2px solid color-mix(in srgb,var(--border-color) 85%,var(--primary-color))}.watchlist-table thead th.watchlist-scenario-year-head{text-align:center;font-size:.8rem;font-weight:700;color:var(--foreground);letter-spacing:.03em;padding-bottom:.35rem;border-bottom:1px solid color-mix(in srgb,var(--border-color) 70%,transparent)}.watchlist-table thead th.watchlist-scenario-case-head{padding-top:.35rem;padding-bottom:.5rem;font-size:.68rem;font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:.04em;color:var(--foreground-muted);min-width:4.75rem}.watchlist-table tbody td{padding:.65rem .75rem;border-bottom:1px solid var(--border-color);vertical-align:top}.watchlist-table tbody tr:last-child td{border-bottom:none}.watchlist-table tbody tr:hover{background:rgba(219,39,119,.04)}.watchlist-num{text-align:right;white-space:nowrap}.watchlist-ticker-row{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.watchlist-ticker-link{color:var(--primary-color);font-weight:700;text-decoration:none}.watchlist-conviction{color:var(--warning-color);font-size:.72rem;font-weight:700;letter-spacing:.04em;line-height:1}.watchlist-ticker-link:hover{text-decoration:underline}.watchlist-thesis-score-cell{white-space:nowrap}.watchlist-thesis-score{display:inline-block;font-weight:700;font-variant-numeric:tabular-nums;color:var(--foreground-muted);text-decoration:none}.watchlist-thesis-score:hover{color:var(--primary-color);text-decoration:underline}.watchlist-thesis-score--complete{color:var(--success-color)}.watchlist-thesis-score--empty{font-weight:600;font-size:.72rem;color:var(--primary-color);text-transform:lowercase}.watchlist-status{display:inline-block;padding:.15rem .5rem;border-radius:var(--border-radius-full);font-size:.75rem;font-weight:600;background:var(--background-alt)}.watchlist-status--ready{background:rgba(29,143,74,.12);color:var(--success-color)}.watchlist-status--watching{background:rgba(245,158,11,.14);color:#b45309}.watchlist-status--research{background:rgba(59,130,246,.12);color:#1d4ed8}.watchlist-status--passed,.watchlist-status--archived{background:rgba(100,116,139,.12);color:var(--foreground-muted)}.watchlist-position-badge{display:inline-block;padding:.15rem .45rem;border-radius:var(--border-radius-full);background:rgba(33,150,82,.12);color:var(--accent-color);font-size:.75rem;font-weight:600}.watchlist-note-preview{max-width:14rem;color:var(--foreground-muted)}.watchlist-actions{white-space:nowrap}.watchlist-remove-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;color:var(--danger-color)}.watchlist-remove-btn:hover{border-color:var(--danger-color);background:rgba(239,68,68,.08)}.watchlist-remove-btn svg{width:14px;height:14px}.watchlist-scenario-cell{display:flex;flex-direction:column;align-items:flex-end;gap:.05rem;min-width:4.8rem;padding:.05rem .15rem;overflow:hidden}.watchlist-scenario-price{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.watchlist-scenario-pct{font-size:.72rem;color:var(--foreground-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.watchlist-scenario-empty{color:var(--foreground-muted)}.watchlist-ticker-cell{min-width:8.75rem}.watchlist-table th.watchlist-ticker-col,.watchlist-table td.watchlist-ticker-cell,.watchlist-table thead tr:first-child th:first-child,.watchlist-table tbody tr td:first-child{position:sticky!important;left:-1px!important;z-index:2!important;background-color:var(--background, #fff)!important;box-shadow:2px 0 0 0 var(--border-color);min-width:8.75rem;width:8.75rem}.watchlist-table thead th.watchlist-ticker-col{background-color:var(--background-alt);z-index:3}.watchlist-table tbody tr:hover td.watchlist-ticker-cell{background-color:var(--background-alt)}@media (max-width: 768px){.watchlist-table{min-width:620px}.watchlist-scenario-cell{min-width:4.5rem;font-size:.68rem}.watchlist-scenario-price{font-size:.72rem}.watchlist-scenario-pct{font-size:.58rem}}.watchlist-ticker-name{margin-top:.15rem;font-size:.72rem;color:var(--foreground-muted);line-height:1.35;max-width:11rem}.watchlist-shares-cell{font-weight:700;font-variant-numeric:tabular-nums;color:var(--foreground)}.watchlist-earnings-trends{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color);margin-bottom:var(--spacing-md)}.watchlist-earnings-trends-head{margin-bottom:var(--spacing-sm)}.watchlist-earnings-trends-head h4{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--foreground)}.watchlist-earnings-trends-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md)}@media (max-width: 900px){.watchlist-earnings-trends-grid{grid-template-columns:1fr}}.watchlist-earnings-card{border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background);padding:var(--spacing-md);min-width:0}.watchlist-earnings-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.watchlist-earnings-card-head h5{margin:0;font-size:var(--font-size-sm);font-weight:600;color:var(--foreground)}.watchlist-earnings-card-sub{font-size:.68rem;color:var(--foreground-muted)}.watchlist-earnings-toggle{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--border-radius-full);overflow:hidden}.watchlist-earnings-toggle-btn{border:none;background:transparent;color:var(--foreground-muted);font-size:.68rem;font-weight:600;padding:.2rem .55rem;cursor:pointer;transform:none}.watchlist-earnings-toggle-btn:hover{color:var(--primary-color);background:var(--surface-selected);transform:none}.watchlist-earnings-toggle-btn--active{background:rgba(59,130,246,.16);color:#3b82f6}html[data-theme=dark] .watchlist-earnings-toggle-btn--active,html.theme-dark .watchlist-earnings-toggle-btn--active{color:#93c5fd}.watchlist-earnings-inline-legend{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin-bottom:var(--spacing-xs);font-size:.68rem;color:var(--foreground-muted)}.watchlist-earnings-legend-amount{display:inline;white-space:normal}.watchlist-earnings-legend-amount-primary{font-weight:600;color:var(--foreground)}.watchlist-earnings-legend-amount-secondary{font-size:.62rem;font-weight:500;color:var(--foreground-muted)}.watchlist-earnings-bar-swatch{display:inline-block;width:.55rem;height:.55rem;border-radius:2px;margin-right:.25rem;vertical-align:middle}.watchlist-earnings-bar-swatch--revenue{background:#3b82f6}.watchlist-earnings-bar-swatch--earnings{background:#f59e0b}.watchlist-earnings-chart-svg{display:block;width:100%;max-width:100%}.watchlist-earnings-grid-line{stroke:var(--border-color);stroke-width:1;stroke-dasharray:3 4;opacity:.7}.watchlist-earnings-axis-line{stroke:var(--foreground-muted);stroke-width:1;opacity:.5}.watchlist-earnings-estimate-guide{stroke:var(--foreground-muted);stroke-width:1;stroke-dasharray:4 4;opacity:.45}.watchlist-earnings-stem-line{stroke:var(--foreground-muted);stroke-width:1;opacity:.35}.watchlist-earnings-estimate-dot{fill:var(--background);stroke:var(--foreground-muted);stroke-width:1.25}.watchlist-earnings-point{stroke-width:2}.watchlist-earnings-point--beat{fill:var(--success-color);stroke:var(--success-color)}.watchlist-earnings-point--miss{fill:var(--danger-color);stroke:var(--danger-color)}.watchlist-earnings-point--estimate{fill:var(--background);stroke:var(--foreground-muted);stroke-dasharray:2 2}.watchlist-earnings-point--pending{fill:var(--foreground-muted);stroke:var(--foreground-muted)}.watchlist-earnings-x-label{font-size:9px;fill:var(--foreground-muted)}.watchlist-earnings-y-label{font-size:9px;fill:var(--foreground-muted);font-variant-numeric:tabular-nums}.watchlist-earnings-surprise{font-size:8px;font-weight:600}.watchlist-earnings-surprise--beat{fill:var(--success-color)}.watchlist-earnings-surprise--miss{fill:var(--danger-color)}.watchlist-earnings-surprise--estimate,.watchlist-earnings-surprise--pending{fill:var(--foreground-muted)}.watchlist-earnings-bar--revenue{fill:#3b82f6;opacity:.92}.watchlist-earnings-bar--earnings{fill:#f59e0b;opacity:.92}.watchlist-earnings-legend{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin-top:var(--spacing-xs);font-size:.68rem;color:var(--foreground-muted)}.watchlist-earnings-legend-dot{display:inline-block;width:.55rem;height:.55rem;border-radius:999px;margin-right:.25rem;vertical-align:middle}.watchlist-earnings-legend-dot--beat{background:var(--success-color)}.watchlist-earnings-legend-dot--miss{background:var(--danger-color)}.watchlist-earnings-legend-dot--estimate{background:transparent;border:1px solid var(--foreground-muted)}.watchlist-related-tickers{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.watchlist-related-tickers h4{margin:0 0 var(--spacing-sm);font-size:var(--font-size-base);font-weight:600;color:var(--foreground)}.watchlist-related-tickers-hint{margin:0;font-size:.75rem;color:var(--foreground-muted)}.watchlist-related-tickers-scroll{display:flex;gap:var(--spacing-sm);overflow-x:auto;padding-bottom:var(--spacing-xs);margin-top:var(--spacing-sm);scrollbar-width:thin}.watchlist-related-ticker-card{flex:0 0 auto;display:flex;flex-direction:column;gap:.15rem;min-width:7.5rem;max-width:9.5rem;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background);text-decoration:none;color:inherit;transition:border-color .15s ease,background .15s ease}.watchlist-related-ticker-card:hover{border-color:var(--primary-color);background:var(--background-alt)}.watchlist-related-ticker-symbol{font-size:var(--font-size-sm);font-weight:700;color:var(--primary-color);font-variant-numeric:tabular-nums}.watchlist-related-ticker-name{font-size:.68rem;color:var(--foreground-muted);line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:1.7rem}.watchlist-related-ticker-price{font-size:var(--font-size-sm);font-weight:600;font-variant-numeric:tabular-nums;color:var(--foreground);margin-top:.1rem}.watchlist-related-ticker-change{font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums}.watchlist-research-details{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.watchlist-research-details-row{display:grid;gap:var(--spacing-md)}.watchlist-research-details-row--metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.watchlist-research-details-row--summary{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 1100px){.watchlist-research-details-row--metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 700px){.watchlist-research-details-row--metrics,.watchlist-research-details-row--summary{grid-template-columns:1fr}}.watchlist-research-details-card{border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background);padding:var(--spacing-md);min-width:0;height:100%}.watchlist-research-details-card h5{margin:0 0 var(--spacing-sm);font-size:var(--font-size-sm);font-weight:600;color:var(--foreground)}.watchlist-research-details-empty{margin:0;font-size:.78rem;color:var(--foreground-muted)}.watchlist-research-details-list{display:flex;flex-direction:column;gap:0;margin:0}.watchlist-research-details-list>div{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:var(--spacing-sm);align-items:baseline;padding:.42rem 0;border-bottom:1px solid var(--border-color)}.watchlist-research-details-list>div:last-child{border-bottom:none}.watchlist-research-amount{display:flex;flex-direction:column;gap:.1rem;line-height:1.25}.watchlist-research-amount-primary{font-weight:600;color:var(--foreground)}.watchlist-research-amount-secondary{font-size:.68rem;font-weight:500;color:var(--foreground-muted)}.watchlist-research-details-list dt{margin:0;font-size:.72rem;color:var(--foreground-muted);font-weight:500}.watchlist-metric-label{display:inline-flex;align-items:center;gap:.28rem;min-width:0}.watchlist-metric-info-wrap{position:relative;display:inline-flex;flex-shrink:0;align-items:center}.watchlist-metric-info{display:inline-flex;align-items:center;justify-content:center;width:.95rem;height:.95rem;padding:0;border:1px solid var(--border-color);border-radius:50%;background:var(--background-alt);color:var(--foreground-muted);font-size:.58rem;font-weight:700;font-style:italic;font-family:Georgia,Times New Roman,serif;line-height:1;cursor:help;vertical-align:middle}.watchlist-metric-info:hover,.watchlist-metric-info:focus-visible{color:var(--primary-color);border-color:var(--primary-color);outline:none}.watchlist-metric-tooltip{position:absolute;left:calc(100% + .35rem);top:50%;z-index:20;width:max-content;max-width:min(16rem,42vw);padding:.4rem .5rem;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--background);box-shadow:0 4px 14px #0000001f;font-size:.66rem;font-weight:500;line-height:1.4;color:var(--foreground);pointer-events:none;opacity:0;visibility:hidden;transform:translateY(-50%) translate(-.15rem);transition:opacity .12s ease,transform .12s ease,visibility .12s ease}.watchlist-metric-info-wrap:hover .watchlist-metric-tooltip,.watchlist-metric-info-wrap:focus-within .watchlist-metric-tooltip{opacity:1;visibility:visible;transform:translateY(-50%) translate(0)}@media (max-width: 700px){.watchlist-metric-tooltip{left:auto;right:0;top:calc(100% + .35rem);max-width:min(14rem,72vw);transform:translateY(.15rem)}.watchlist-metric-info-wrap:hover .watchlist-metric-tooltip,.watchlist-metric-info-wrap:focus-within .watchlist-metric-tooltip{transform:translateY(0)}}.watchlist-research-details-list dd{margin:0;font-size:.78rem;font-weight:600;color:var(--foreground);text-align:right;font-variant-numeric:tabular-nums}.watchlist-research-details-grouped{display:flex;flex-direction:column;gap:var(--spacing-md)}.watchlist-research-details-subsection h6{margin:0 0 .35rem;font-size:.72rem;font-weight:700;color:var(--foreground);text-transform:uppercase;letter-spacing:.03em}.watchlist-profile-summary{margin-bottom:var(--spacing-sm)}.watchlist-research-details-card--profile .watchlist-detail-summary{margin:0;font-size:.82rem;line-height:1.55;color:var(--foreground)}.watchlist-profile-summary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .85rem;margin-top:.35rem}.watchlist-profile-summary-toggle,.watchlist-profile-summary-link{font-size:.68rem;font-weight:600;color:var(--primary-color)}.watchlist-profile-summary-toggle{padding:0;border:none;background:none;cursor:pointer;text-decoration:underline;text-underline-offset:.12em}.watchlist-profile-summary-toggle:hover{color:var(--primary-light)}.watchlist-profile-summary-link{text-decoration:none;border-bottom:1px dotted var(--border-color)}.watchlist-profile-summary-link:hover{color:var(--primary-light)}.watchlist-profile-summary-lang{margin:.35rem 0 0;font-size:.66rem;color:var(--foreground-muted)}.watchlist-research-details-card--profile .watchlist-detail-profile-meta{margin:0 0 var(--spacing-sm);font-size:.72rem;color:var(--foreground-muted)}.watchlist-profile-management{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color)}.watchlist-profile-management h6{margin:0 0 .35rem;font-size:.68rem;font-weight:700;color:var(--foreground-muted);text-transform:uppercase;letter-spacing:.04em}.watchlist-management-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:var(--spacing-sm)}.watchlist-management-badge{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:999px;border:1px solid var(--border-color);background:var(--background-alt);font-size:.65rem;font-weight:700;color:var(--foreground);letter-spacing:.02em}.watchlist-management-officers{list-style:none;margin:0 0 var(--spacing-sm);padding:0;display:flex;flex-direction:column;gap:.45rem}.watchlist-management-officers li{display:flex;flex-direction:column;gap:.1rem}.watchlist-management-officer-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-sm)}.watchlist-management-officer-name{font-size:.78rem;font-weight:600;color:var(--foreground)}.watchlist-management-officer-pct{flex-shrink:0;max-width:52%;font-size:.64rem;font-weight:700;color:var(--foreground-muted);font-variant-numeric:tabular-nums;text-align:right;line-height:1.35}.watchlist-management-officer-title{font-size:.68rem;color:var(--foreground-muted);line-height:1.35}.watchlist-management-summary{display:flex;flex-direction:column;gap:0;margin:0 0 var(--spacing-sm)}.watchlist-management-summary>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--spacing-sm);padding:.3rem 0;border-bottom:1px solid var(--border-color)}.watchlist-management-summary>div:last-child{border-bottom:none}.watchlist-management-summary dt{margin:0;font-size:.68rem;color:var(--foreground-muted);font-weight:500}.watchlist-management-summary dd{margin:0;font-size:.72rem;font-weight:600;color:var(--foreground);text-align:right}.watchlist-management-insider-heading{margin:0 0 .35rem;font-size:.62rem;font-weight:700;color:var(--foreground-muted);text-transform:uppercase;letter-spacing:.04em}.watchlist-management-insider-list{list-style:none;margin:0 0 var(--spacing-sm);padding:0;display:flex;flex-direction:column;gap:.4rem}.watchlist-management-insider-item{padding:.4rem 0;border-bottom:1px solid var(--border-color)}.watchlist-management-insider-item:last-child{border-bottom:none}.watchlist-management-insider-head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:.15rem}.watchlist-management-insider-type{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.watchlist-management-insider-type--buy{color:var(--success-color, #1f8a4c)}.watchlist-management-insider-type--sell{color:var(--danger-color)}.watchlist-management-insider-type--exercise,.watchlist-management-insider-type--grant,.watchlist-management-insider-type--other{color:var(--foreground-muted)}.watchlist-management-insider-date{font-size:.65rem;color:var(--foreground-muted);font-variant-numeric:tabular-nums}.watchlist-management-insider-body{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-sm)}.watchlist-management-insider-person{display:flex;flex-direction:column;gap:.08rem;min-width:0}.watchlist-management-insider-name{font-size:.72rem;font-weight:600;color:var(--foreground)}.watchlist-management-insider-title{font-size:.62rem;color:var(--foreground-muted);line-height:1.3}.watchlist-management-insider-meta{font-size:.65rem;color:var(--foreground-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.watchlist-management-roster-link{display:inline-block;margin-top:.15rem;font-size:.68rem;font-weight:600;color:var(--primary-color);text-decoration:none;border-bottom:1px dotted var(--border-color)}.watchlist-management-roster-link:hover{color:var(--primary-light)}.watchlist-profile-resources{display:flex;flex-direction:column;gap:.35rem;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color)}.watchlist-profile-resource-line{margin:0;font-size:.74rem;line-height:1.45;color:var(--foreground-muted)}.watchlist-profile-resource-line-label{font-weight:600;color:var(--foreground)}.watchlist-profile-resource-inline-link{color:var(--primary-color);text-decoration:none;font-weight:600;border-bottom:1px dotted transparent;transition:color .15s ease,border-color .15s ease}.watchlist-profile-resource-inline-link:hover{color:var(--primary-light);border-bottom-color:var(--border-color)}.watchlist-profile-resource-sep{color:var(--foreground-muted);font-weight:400}.watchlist-interactive-chart{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%}.watchlist-chart-range-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.watchlist-chart-range-buttons{display:flex;flex-wrap:wrap;gap:.25rem}.watchlist-chart-range-btn{border:1px solid var(--border-color);background:var(--background);color:var(--foreground-muted);border-radius:var(--border-radius-full);padding:.25rem .65rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.watchlist-chart-range-btn:hover:not(:disabled){border-color:var(--primary-light);color:var(--primary-color)}.watchlist-chart-range-btn--active{background:rgba(219,39,119,.1);border-color:var(--primary-color);color:var(--primary-color)}.watchlist-chart-range-btn:disabled{opacity:.6;cursor:wait}.watchlist-chart-range-meta{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm)}.watchlist-chart-range-change{font-weight:700;font-variant-numeric:tabular-nums}.watchlist-chart-range-loading{color:var(--foreground-muted);font-size:.75rem}.watchlist-chart-range-error{margin:0;font-size:var(--font-size-sm);color:var(--danger-color)}.watchlist-chart-block--interactive{margin:0;width:100%}.watchlist-chart-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--spacing-xs) var(--spacing-md)}.watchlist-chart-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem}.watchlist-chart-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem .75rem;font-size:.65rem;color:var(--foreground-muted)}.watchlist-chart-legend-item{display:inline-flex;align-items:center;gap:.3rem}.watchlist-chart-legend-line{display:inline-block;width:1.1rem;height:0;border-top:2px solid var(--foreground-muted)}.watchlist-chart-legend-line--trend{border-top-style:dashed;border-top-color:var(--foreground-muted);opacity:.85}.watchlist-chart-legend-line--start{border-top-style:dotted;border-top-color:var(--foreground-muted)}.watchlist-chart-legend-line--current{border-top-style:dashed;border-top-color:var(--primary-color)}.watchlist-chart-svg-wrap{width:100%;overflow:hidden}.watchlist-interactive-chart-svg{display:block;width:100%;max-width:100%;height:auto}.watchlist-chart-grid-line{stroke:var(--border-color);stroke-width:1;stroke-dasharray:3 4;opacity:.75}.watchlist-chart-grid-line--vertical{opacity:.45}.watchlist-chart-axis-line{stroke:var(--foreground-muted);stroke-width:1;opacity:.55}.watchlist-chart-price-line{filter:drop-shadow(0 1px 1px rgba(15,23,42,.08))}.watchlist-chart-trend-line{stroke:var(--foreground-muted);stroke-width:1.5;stroke-dasharray:7 5;opacity:.75}.watchlist-chart-ref-line{stroke-width:1.25}.watchlist-chart-ref-line--start{stroke:var(--foreground-muted);stroke-dasharray:2 4;opacity:.65}.watchlist-chart-ref-line--current{stroke:var(--primary-color);stroke-dasharray:5 4;opacity:.9}.watchlist-chart-ref-label{font-size:8px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.watchlist-chart-ref-label--start{fill:var(--foreground-muted)}.watchlist-chart-ref-label--current{fill:var(--primary-color)}.watchlist-chart-ref-value{font-size:9px;font-variant-numeric:tabular-nums}.watchlist-chart-ref-value--start{fill:var(--foreground-muted)}.watchlist-chart-ref-value--current{fill:var(--primary-color);font-weight:600}.watchlist-chart-axis-label-y{font-size:10px;fill:var(--foreground-muted);font-variant-numeric:tabular-nums}.watchlist-chart-axis-label-x{font-size:10px;fill:var(--foreground-muted)}.watchlist-position-rules{display:flex;flex-direction:column;gap:var(--spacing-md)}.watchlist-position-rules-lead{margin:0;font-size:.72rem;line-height:1.45;color:var(--foreground-muted)}.watchlist-position-rules-status{padding:.55rem .7rem;border-radius:var(--border-radius-md);border:1px solid color-mix(in srgb,var(--primary-color) 25%,var(--border-color));background:color-mix(in srgb,var(--primary-color) 6%,var(--background))}.watchlist-position-rules-status p{margin:0;font-size:.72rem;line-height:1.45;color:var(--foreground)}.watchlist-position-rules-status p+p{margin-top:.25rem}.watchlist-position-rules-section h5{margin:0 0 .25rem;font-size:.75rem;font-weight:700;color:var(--foreground)}.watchlist-position-rules-hint{margin:0 0 .45rem;font-size:.66rem;line-height:1.4;color:var(--foreground-muted)}.watchlist-position-rules-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;gap:.45rem;align-items:end;margin-bottom:.4rem}.watchlist-position-rules-row label{display:flex;flex-direction:column;gap:.15rem;font-size:.68rem;font-weight:600;color:var(--foreground-muted)}.watchlist-position-rules-row input{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:.35rem .5rem;font-size:.78rem;background:var(--background);color:var(--foreground)}.watchlist-position-rules-price{align-self:center;font-size:.66rem;color:var(--foreground-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.watchlist-position-rules-remove,.watchlist-position-rules-add{border:1px solid var(--border-color);background:var(--background);color:var(--foreground-muted);border-radius:var(--border-radius-md);padding:.3rem .55rem;font-size:.72rem;cursor:pointer}.watchlist-position-rules-remove{width:2rem;height:2rem;padding:0}.watchlist-position-rules-add{align-self:flex-start}.watchlist-position-rules-remove:hover,.watchlist-position-rules-add:hover{border-color:var(--primary-light);color:var(--primary-color)}.watchlist-position-rules-section--addbuy{display:flex;flex-direction:column;gap:.4rem}.watchlist-position-rules-checkbox{display:inline-flex;align-items:center;gap:.45rem;font-size:.75rem;font-weight:600;color:var(--foreground)}.watchlist-position-rules-section--addbuy>label:not(.watchlist-position-rules-checkbox){display:flex;flex-direction:column;gap:.15rem;max-width:8rem;font-size:.68rem;font-weight:600;color:var(--foreground-muted)}.watchlist-position-rules-section--addbuy input[type=number]{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:.35rem .5rem;font-size:.78rem}@media (max-width: 700px){.watchlist-position-rules-row{grid-template-columns:1fr 1fr}.watchlist-position-rules-price{grid-column:1 / -1}}.watchlist-editable-field{display:flex;flex-direction:column;gap:.35rem}.watchlist-editable-field--compact{gap:.2rem}.watchlist-editable-field-head--compact{justify-content:flex-end;min-height:1.1rem}.watchlist-editable-field-head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.watchlist-editable-field-label{font-size:var(--font-size-sm);font-weight:600;color:var(--foreground)}.watchlist-editable-field-edit{border:none;background:none;padding:.1rem .25rem;font-size:.9rem;line-height:1;color:var(--primary-color);cursor:pointer}.watchlist-editable-field-edit:hover{color:var(--primary-light)}.watchlist-editable-field-text{margin:0;padding:.55rem .7rem;border:1px solid transparent;border-radius:var(--border-radius-md);background:var(--background-alt);font-size:var(--font-size-sm);font-weight:400;line-height:1.55;color:var(--foreground);white-space:pre-wrap}.watchlist-editable-field textarea,.watchlist-editable-field input{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:.5rem .75rem;font-size:var(--font-size-sm);font-weight:400;font-family:inherit}.watchlist-editable-field textarea{resize:vertical;min-height:5rem}.watchlist-tags-field-chips{display:flex;flex-wrap:wrap;gap:.35rem;padding:.45rem .55rem;border-radius:var(--border-radius-md);background:var(--background-alt);min-height:2.2rem}.watchlist-tags-field-chip{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:var(--border-radius-full);border:1px solid var(--border-color);background:var(--background);font-size:.72rem;font-weight:600;color:var(--foreground-muted)}.watchlist-tags-field-empty{margin:0;font-size:.74rem;color:var(--foreground-muted)}.watchlist-x-check{display:flex;flex-direction:column;gap:.35rem;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background:var(--background)}.watchlist-x-check-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .75rem}.watchlist-x-check-head h4{margin:0;font-size:var(--font-size-sm);font-weight:700;color:var(--foreground)}.watchlist-x-check-actions{display:flex;flex-wrap:wrap;gap:.45rem .75rem;font-size:.72rem;font-weight:600}.watchlist-x-check-actions a{color:var(--primary-color);text-decoration:none}.watchlist-x-check-actions a:hover{text-decoration:underline}.watchlist-x-check-primary{padding:.2rem .55rem;border:1px solid color-mix(in srgb,var(--primary-color) 35%,var(--border-color));border-radius:var(--border-radius-full);background:color-mix(in srgb,var(--primary-color) 8%,var(--background))}.watchlist-x-check-note,.watchlist-x-check-empty{margin:0;font-size:.7rem;line-height:1.45;color:var(--foreground-muted)}.watchlist-x-check-ticker{font-weight:700;color:var(--foreground)}.watchlist-x-check-empty a{color:var(--primary-color);font-weight:600;text-decoration:none}.watchlist-x-check-empty a:hover{text-decoration:underline}.watchlist-status-picker{display:flex;flex-direction:column;gap:.35rem}.watchlist-status-picker-chips{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.watchlist-status-picker--compact .watchlist-status-picker-chips{justify-content:center}.watchlist-status-chip{border:1px solid var(--border-color);background:var(--background);color:var(--foreground);border-radius:var(--border-radius-md);padding:.4rem .75rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.watchlist-status-picker--compact .watchlist-status-chip{padding:.32rem .62rem;font-size:.72rem}.watchlist-status-chip:hover{border-color:var(--primary-light);color:var(--primary-color)}.watchlist-status-chip--active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.watchlist-status-chip--active:hover{color:#fff}.watchlist-status-picker-hint{margin:0;font-size:.68rem;line-height:1.4;color:var(--foreground-muted);text-align:center}.watchlist-status-picker--compact .watchlist-status-picker-hint{display:none}.watchlist-assessment-paste-wrap{display:flex;flex-direction:column;gap:.5rem;width:100%}.watchlist-assessment-paste-toggle{align-self:flex-start;border:1px solid color-mix(in srgb,var(--primary-color) 45%,var(--border-color));border-radius:var(--border-radius-md);background:transparent;color:var(--primary-color);cursor:pointer;font-size:.72rem;font-weight:600;font-family:inherit;line-height:1;padding:.35rem .6rem}.watchlist-assessment-paste-toggle:hover,.watchlist-assessment-paste-toggle[aria-expanded=true]{background:color-mix(in srgb,var(--primary-color) 10%,transparent)}.watchlist-assessment-paste-toggle:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.watchlist-assessment-paste{display:flex;flex-direction:column;gap:.45rem;padding:var(--spacing-sm);border:1px dashed color-mix(in srgb,var(--primary-color) 35%,var(--border-color));border-radius:var(--border-radius-md);background:color-mix(in srgb,var(--primary-color) 4%,var(--background))}.watchlist-assessment-paste-label{font-size:.72rem;font-weight:600;color:var(--foreground)}.watchlist-assessment-paste-hint{margin:0;font-size:.68rem;line-height:1.4;color:var(--foreground-muted)}.watchlist-assessment-paste-input{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:.55rem .75rem;font-size:var(--font-size-sm);font-family:inherit;resize:vertical;min-height:8rem;line-height:1.45}.watchlist-assessment-paste-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.watchlist-assessment-paste-btn{border:1px solid var(--primary-color);border-radius:var(--border-radius-md);padding:.35rem .75rem;font-size:.72rem;font-weight:600;font-family:inherit;color:var(--primary-color);background:transparent;cursor:pointer}.watchlist-assessment-paste-btn:hover:not(:disabled){background:color-mix(in srgb,var(--primary-color) 10%,transparent)}.watchlist-assessment-paste-btn:disabled{opacity:.45;cursor:not-allowed}.watchlist-assessment-paste-feedback{margin:0;font-size:.68rem;line-height:1.4;color:var(--foreground-muted)}.watchlist-thesis-checklist{display:flex;flex-direction:column;gap:var(--spacing-sm)}.watchlist-thesis-checklist-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:var(--spacing-sm)}.watchlist-thesis-checklist-section-title{margin:0;font-size:var(--font-size-sm);font-weight:600;color:var(--foreground);display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem}.watchlist-thesis-checklist-progress{font-size:inherit;font-weight:inherit;font-variant-numeric:tabular-nums;color:var(--foreground-muted)}.watchlist-thesis-checklist-progress--complete{color:var(--success-color)}.watchlist-thesis-checklist-items{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--spacing-md)}.watchlist-thesis-checklist-item{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.watchlist-thesis-checklist-item:last-child{padding-bottom:0;border-bottom:none}.watchlist-thesis-checklist-item--done .watchlist-thesis-checklist-title{color:var(--foreground-muted)}.watchlist-thesis-checklist-item-head{display:flex;align-items:flex-start;gap:.55rem}.watchlist-thesis-checklist-checkbox{margin-top:.2rem;width:1rem;height:1rem;flex:0 0 auto;accent-color:var(--primary-color);cursor:pointer}.watchlist-thesis-checklist-item-label{display:flex;flex-direction:column;gap:.25rem;cursor:pointer}.watchlist-thesis-checklist-question-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem}.watchlist-thesis-checklist-number{font-size:var(--font-size-sm);font-weight:700;font-variant-numeric:tabular-nums;color:var(--primary-color)}.watchlist-thesis-checklist-title{font-size:var(--font-size-sm);font-weight:700;color:var(--foreground)}.watchlist-thesis-checklist-question{font-size:.72rem;font-weight:500;line-height:1.45;color:var(--foreground-muted)}.watchlist-thesis-checklist-section{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color)}.watchlist-thesis-checklist-answer{display:flex;flex-direction:column;gap:.35rem;margin-top:.45rem;margin-left:1.55rem}.watchlist-thesis-checklist-answer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.watchlist-thesis-checklist-answer-label{font-size:.68rem;font-weight:600;color:var(--foreground-muted)}.watchlist-thesis-checklist-item textarea{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:.5rem .75rem;font-size:var(--font-size-sm);font-weight:400;font-family:inherit;resize:vertical;min-height:3.5rem}.watchlist-detail-page{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-2xl)}.watchlist-detail-panel{max-width:72rem;margin:0 auto}.watchlist-detail-header{margin-bottom:var(--spacing-lg)}.watchlist-detail-header-main{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--spacing-md)}.watchlist-detail-header-left{justify-self:start;min-width:0}.watchlist-detail-header-center{justify-self:center}.watchlist-detail-header-actions{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;justify-self:end;gap:var(--spacing-sm)}.watchlist-detail-refresh-block{display:flex;flex-direction:column;align-items:center;gap:.2rem}.watchlist-detail-refresh-date{font-size:.68rem;color:var(--foreground-muted);text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.watchlist-detail-refresh-date--loading{color:var(--warning-color)}@media (max-width: 760px){.watchlist-detail-header-main{grid-template-columns:1fr;align-items:start}.watchlist-detail-header-center{justify-self:center;order:2;width:100%}.watchlist-detail-header-actions{justify-self:start;order:3}}.watchlist-detail-back{display:inline-block;margin-bottom:var(--spacing-sm);color:var(--primary-color);text-decoration:none;font-size:var(--font-size-sm)}.watchlist-detail-back:hover{text-decoration:underline}.watchlist-detail-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem;color:var(--primary-color);margin-bottom:var(--spacing-xs)}.watchlist-detail-name{font-weight:500;color:var(--foreground)}.watchlist-detail-header-links{display:inline-flex;align-items:baseline;gap:.5rem;margin-left:.15rem}.watchlist-detail-header-link{font-size:.72rem;font-weight:500;color:var(--foreground-muted);text-decoration:none;border-bottom:1px dotted var(--border-color);padding-bottom:1px;transition:color .15s ease,border-color .15s ease}.watchlist-detail-header-link:hover{color:var(--primary-color);border-bottom-color:var(--primary-light);text-decoration:none}.watchlist-detail-meta{color:var(--foreground-muted);font-size:var(--font-size-sm)}.watchlist-detail-interest{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.35rem .6rem;padding:.45rem .85rem;border-radius:var(--border-radius-md);border:1px solid var(--border-color);justify-self:center}.watchlist-detail-interest--interested{background:color-mix(in srgb,var(--success-color, #22c55e) 12%,var(--background));border-color:color-mix(in srgb,var(--success-color, #22c55e) 35%,var(--border-color))}.watchlist-detail-interest--not-interested{background:color-mix(in srgb,var(--danger-color) 10%,var(--background));border-color:color-mix(in srgb,var(--danger-color) 30%,var(--border-color))}.watchlist-detail-interest-label{font-size:1.05rem;font-weight:700;letter-spacing:.02em}.watchlist-detail-interest--interested .watchlist-detail-interest-label{color:var(--success-color, #22c55e)}.watchlist-detail-interest--not-interested .watchlist-detail-interest-label{color:var(--danger-color)}.watchlist-detail-interest-date{font-size:.72rem;color:var(--foreground-muted);font-variant-numeric:tabular-nums}.watchlist-detail-btn{border:1px solid var(--border-color);background:var(--background);color:var(--foreground);border-radius:var(--border-radius-md);padding:.45rem .85rem;font-size:var(--font-size-sm);cursor:pointer}.watchlist-detail-btn:hover:not(:disabled){border-color:var(--primary-light);color:var(--primary-color)}.watchlist-detail-btn:disabled{opacity:.6;cursor:not-allowed}.watchlist-detail-btn--primary{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.watchlist-detail-btn--primary:hover:not(:disabled){border-color:var(--primary-light);background:var(--primary-light);color:#fff}.watchlist-detail-missing,.watchlist-detail-error{color:var(--danger-color);margin-bottom:var(--spacing-md)}.watchlist-detail-warn{margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);background:var(--surface-warning);color:var(--surface-warning-text);font-size:var(--font-size-sm)}.watchlist-detail-warn code{font-size:.85em}.watchlist-detail-position{margin-top:calc(-1 * var(--spacing-xs));margin-bottom:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--surface-success-border);border-radius:var(--border-radius-md);background:var(--surface-success);font-size:var(--font-size-sm)}.watchlist-detail-position p{margin:0}.watchlist-detail-position a{color:var(--primary-color)}.watchlist-detail-position-rules{margin:.45rem 0 0;padding-left:1.1rem;font-size:.72rem;line-height:1.45;color:var(--foreground)}.watchlist-detail-position-rules li+li{margin-top:.15rem}.watchlist-detail-hero{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--spacing-sm) var(--spacing-lg);margin-bottom:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background-alt)}.watchlist-chart-fullwidth{width:100%;margin-bottom:var(--spacing-lg)}.watchlist-chart-fullwidth .watchlist-chart-block--interactive,.watchlist-chart-fullwidth .watchlist-interactive-chart{width:100%}.watchlist-chart-fullwidth .watchlist-chart-block--interactive{margin:0;border:none;border-radius:0;background:transparent;padding:0}.watchlist-detail-hero-price{font-size:2rem;font-weight:700;color:var(--foreground);font-variant-numeric:tabular-nums}.watchlist-detail-hero-change{font-size:1.1rem;font-weight:600}.watchlist-detail-hero-meta{font-size:var(--font-size-sm);color:var(--foreground-muted)}.watchlist-zone{margin-bottom:var(--spacing-xl)}.watchlist-zone-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--border-color)}.watchlist-zone-head h3{margin:0;font-size:1.15rem;color:var(--foreground)}.watchlist-zone-badge{font-size:.7rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:.2rem .55rem;border-radius:var(--border-radius-full);background:var(--badge-external-bg);color:var(--badge-external-text)}.watchlist-zone-badge--memory{background:var(--badge-memory-bg);color:var(--primary-color)}.watchlist-yahoo-grid--metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.watchlist-yahoo-card--profile{margin-bottom:var(--spacing-md)}.watchlist-memory-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(14rem,.8fr);gap:var(--spacing-md)}@media (max-width: 960px){.watchlist-yahoo-grid--metrics,.watchlist-memory-grid{grid-template-columns:1fr}}.watchlist-yahoo-card{border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background);padding:var(--spacing-md);min-width:0}.watchlist-yahoo-card h4{margin:0 0 var(--spacing-md);font-size:var(--font-size-base);font-weight:600;color:var(--foreground)}.watchlist-yahoo-card--span2{grid-column:span 2}.watchlist-yahoo-card--full{grid-column:1 / -1}@media (max-width: 960px){.watchlist-yahoo-card--span2,.watchlist-yahoo-card--full{grid-column:span 1}}.watchlist-stat-tiles-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}@media (max-width: 1100px){.watchlist-stat-tiles-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 700px){.watchlist-stat-tiles-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.watchlist-stat-tile{border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background-alt);padding:.45rem .55rem}.watchlist-stat-tile-label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--foreground-muted);margin-bottom:.15rem}.watchlist-stat-tile-value{display:block;font-size:var(--font-size-sm);font-weight:700;font-variant-numeric:tabular-nums;color:var(--foreground)}.watchlist-detail-stats--tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.watchlist-detail-journal h4{margin:0}.watchlist-detail-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md)}.watchlist-detail-stats--dense{grid-template-columns:repeat(3,minmax(0,1fr))}.watchlist-detail-competitors{margin-bottom:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color)}.watchlist-detail-competitors h4{margin-bottom:var(--spacing-xs);color:var(--foreground);font-size:var(--font-size-base);font-weight:600}.watchlist-detail-competitors-hint{margin-bottom:var(--spacing-sm);font-size:.75rem;color:var(--foreground-muted)}.watchlist-detail-competitors-table-wrap{overflow-x:auto}.watchlist-detail-competitors-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.watchlist-detail-competitors-table th,.watchlist-detail-competitors-table td{padding:.35rem .5rem;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap}.watchlist-detail-competitors-table th{color:var(--foreground-muted);font-weight:500;font-size:.75rem}.watchlist-detail-competitors-table td:nth-child(2){white-space:normal;min-width:8rem;max-width:14rem}.watchlist-detail-competitor-link{color:var(--primary-color);text-decoration:none;font-weight:600}.watchlist-detail-competitor-link:hover{text-decoration:underline}.watchlist-detail-competitor-row--subject{background:rgba(33,150,82,.08)}.watchlist-detail-competitor-row--subject td{border-bottom:2px solid var(--border-color);font-weight:600}.watchlist-detail-competitor-subject{color:var(--primary-color)}.watchlist-detail-competitor-ticker{font-weight:600;color:var(--foreground)}.watchlist-detail-competitor-subject-label{color:var(--foreground-muted);font-weight:500;font-size:.75rem}.watchlist-detail-stat--range dd{white-space:nowrap;font-variant-numeric:tabular-nums}@media (max-width: 700px){.watchlist-detail-stats--dense{grid-template-columns:repeat(2,minmax(0,1fr))}}.watchlist-chart-block{margin:var(--spacing-md) 0;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background-alt);padding:var(--spacing-sm) var(--spacing-md) var(--spacing-xs)}.watchlist-chart-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs);font-size:.75rem;color:var(--foreground-muted)}.watchlist-chart-title{font-weight:600;color:var(--foreground)}.watchlist-sparkline{display:block}.watchlist-chart-label{font-size:9px;fill:var(--foreground-muted)}.watchlist-detail-sources{font-size:.75rem;color:var(--foreground-muted);margin-top:.15rem}.watchlist-detail-summary,.watchlist-detail-profile-meta,.watchlist-detail-muted{font-size:var(--font-size-sm);color:var(--foreground-muted);line-height:1.5}.watchlist-detail-summary{margin-bottom:var(--spacing-sm);color:var(--foreground)}.watchlist-detail-profile-meta{margin-bottom:var(--spacing-md)}.watchlist-detail-journal-tools{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center}.watchlist-detail-search{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:.45rem .75rem;font-size:var(--font-size-sm);min-width:12rem}.watchlist-detail-entry-row{display:grid;grid-template-columns:minmax(8rem,10rem) 1fr;gap:var(--spacing-sm)}.watchlist-detail-stats dt{font-size:.75rem;color:var(--foreground-muted);margin-bottom:.15rem}.watchlist-detail-stats dd{font-weight:600}.watchlist-detail-links a{color:var(--primary-color);font-size:var(--font-size-sm)}.watchlist-detail-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.watchlist-detail-status-field{display:flex;flex-direction:column;gap:.45rem}.watchlist-detail-status-label{font-size:var(--font-size-sm);font-weight:600}.watchlist-detail-status-field .watchlist-status-picker-chips{justify-content:flex-start}.watchlist-detail-status-field .watchlist-status-picker-hint{text-align:left}.watchlist-detail-passed-reason{display:flex;flex-direction:column;gap:.45rem}.watchlist-detail-passed-hint{margin:0;font-size:.68rem;line-height:1.4;color:var(--foreground-muted)}.watchlist-detail-form label{display:flex;flex-direction:column;gap:.35rem;font-size:var(--font-size-sm);font-weight:600}.watchlist-detail-form input,.watchlist-detail-form select,.watchlist-detail-form textarea,.watchlist-detail-entry-form input,.watchlist-detail-entry-form textarea{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:.5rem .75rem;font-size:var(--font-size-sm);font-weight:400}.watchlist-detail-form textarea,.watchlist-detail-entry-form textarea{resize:vertical;min-height:5rem;font-family:inherit}.watchlist-detail-targets{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--spacing-sm);align-items:start}.watchlist-detail-target-currency{display:flex;flex-direction:column;gap:.35rem;font-size:var(--font-size-sm);font-weight:600;color:var(--foreground)}.watchlist-detail-target-currency input{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:.5rem .75rem;font-size:var(--font-size-sm);font-weight:400;font-family:inherit}.watchlist-editable-price-field-value{font-variant-numeric:tabular-nums}.watchlist-editable-price-field-upside{font-size:.72rem;color:var(--foreground-muted);line-height:1.3}.watchlist-detail-scenarios{display:flex;flex-direction:column;gap:.35rem;margin-top:var(--spacing-sm)}.watchlist-detail-scenarios:first-of-type{margin-top:0}.watchlist-detail-scenarios-year-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem}.watchlist-detail-scenarios-year{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--foreground-muted)}.watchlist-detail-targets--scenarios{grid-template-columns:repeat(3,minmax(0,1fr))}.watchlist-detail-scenario-column{display:flex;flex-direction:column;gap:.35rem;min-width:0}.watchlist-detail-scenario-column .watchlist-editable-field-text{font-size:.74rem;line-height:1.45;min-height:3.5rem}.watchlist-detail-scenario-column .watchlist-editable-field textarea{min-height:3.5rem;font-size:.74rem;line-height:1.45}.watchlist-detail-scenario-narrative-status{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.72rem;color:var(--foreground-muted)}.watchlist-detail-scenario-narrative-refresh{border:none;background:none;padding:0 .15rem;font-size:.9rem;line-height:1;color:var(--primary-color);cursor:pointer}.watchlist-detail-scenario-narrative-refresh:hover:not(:disabled){color:var(--primary-light)}.watchlist-detail-scenario-narrative-refresh:disabled{opacity:.6;cursor:default}.watchlist-detail-scenario-narrative-error{color:var(--danger-color, #c0392b)}.watchlist-detail-journal-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.watchlist-detail-entry-form{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.watchlist-detail-empty-journal{color:var(--foreground-muted);font-size:var(--font-size-sm)}.watchlist-detail-entries{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-md)}.watchlist-detail-entry{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md);background:var(--background-alt)}.watchlist-detail-entry-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm)}.watchlist-detail-entry-date{color:var(--foreground-muted)}.watchlist-detail-entry-type{padding:.1rem .45rem;border-radius:var(--border-radius-full);background:rgba(219,39,119,.1);color:var(--primary-color);font-size:.75rem;font-weight:600}.watchlist-detail-entry-title{flex:1 1 auto}.watchlist-detail-entry-remove{margin-left:auto;border:none;background:transparent;color:var(--danger-color);cursor:pointer;font-size:var(--font-size-sm)}.watchlist-detail-entry-remove:hover{text-decoration:underline}.watchlist-detail-entry-body{white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:var(--font-size-sm);line-height:1.5;margin:0}.watchlist-positive{color:var(--success-color)}.watchlist-negative{color:var(--danger-color)}.portfolio-nav-switcher{display:inline-flex;align-items:center;box-sizing:border-box;height:1.75rem;max-width:5.25rem;padding:0 6px;border:none;border-radius:var(--border-radius-md);background:transparent}.portfolio-nav-switcher-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:100%;border:none;background:transparent;color:#fff;font-size:.72rem;font-weight:600;color:#ffffffd1;line-height:1.2;cursor:pointer;padding:0 14px 0 0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='white' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center;min-width:0;max-width:4.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-nav-switcher-select:focus{outline:2px solid rgba(255,255,255,.65);outline-offset:2px;border-radius:4px}.portfolio-nav-switcher-select option{color:var(--foreground);background:var(--background)}.portfolio-startup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:rgba(15,23,42,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.portfolio-startup-picker{width:100%;max-width:26rem;padding:var(--spacing-lg);border-radius:var(--border-radius-lg);background:var(--background);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);text-align:left}.portfolio-startup-picker h2{margin:0 0 var(--spacing-sm);font-size:1.25rem;color:var(--primary-color)}.portfolio-startup-lead{margin:0 0 var(--spacing-md);font-size:var(--font-size-sm);color:var(--foreground-muted);line-height:1.5}.portfolio-startup-list{list-style:none;margin:0 0 var(--spacing-md);padding:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.portfolio-startup-option{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--background-alt);cursor:pointer}.portfolio-startup-option:has(input:checked){border-color:var(--primary-color);background:rgba(59,130,246,.06)}.portfolio-startup-option input[type=radio]{width:auto;padding:0;margin-top:3px;flex-shrink:0}.portfolio-startup-option-body{display:flex;flex-direction:column;gap:2px;min-width:0}.portfolio-startup-option-name{font-weight:600;color:var(--foreground)}.portfolio-startup-option-meta{font-size:var(--font-size-xs);color:var(--foreground-muted)}.portfolio-startup-remember{display:flex;align-items:flex-start;gap:8px;margin-bottom:var(--spacing-md);font-size:var(--font-size-sm);color:var(--foreground-muted);line-height:1.45}.portfolio-startup-remember input[type=checkbox]{width:auto;padding:0;flex-shrink:0;margin-top:2px}.portfolio-startup-submit{width:100%;padding:10px 16px;border:none;border-radius:var(--border-radius-md);background:var(--primary-color);color:#fff;font-size:.9375rem;font-weight:600;cursor:pointer}.portfolio-startup-submit:hover:not(:disabled){background:var(--primary-dark, var(--primary-color))}.portfolio-startup-submit:disabled{opacity:.65;cursor:not-allowed}:root{--primary-color: #db2777;--primary-dark: #be185d;--primary-light: #f472b6;--secondary-color: #475569;--accent-color: #219652;--danger-color: #ef4444;--warning-color: #f59e0b;--success-color: #1d8f4a;--success-bar-fill: rgba(29, 143, 74, .42);--background: #ffffff;--background-alt: #f8fafc;--foreground: #0f172a;--foreground-muted: #64748b;--border-color: #e2e8f0;--surface-warning: #fef3c7;--surface-warning-text: #92400e;--surface-warning-border: #f59e0b;--surface-warning-alt: #fff7ed;--surface-highlight: #fff0e0;--surface-selected: rgba(37, 99, 235, .06);--surface-selected-issue: #fff0e0;--surface-success: rgba(33, 150, 82, .06);--surface-success-border: rgba(33, 150, 82, .25);--badge-external-bg: rgba(59, 130, 246, .12);--badge-external-text: #1d4ed8;--badge-memory-bg: rgba(219, 39, 119, .1);--focus-ring: rgba(219, 39, 119, .15);--on-primary: #ffffff;--font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--border-radius-sm: .25rem;--border-radius-md: .375rem;--border-radius-lg: .5rem;--border-radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--transition-fast: .15s;--transition-normal: .3s;--transition-slow: .5s}html[data-theme=light]{color-scheme:light}html[data-theme=dark],html.theme-dark{color-scheme:dark;--secondary-color: #94a3b8;--background: #0f172a;--background-alt: #1e293b;--foreground: #e2e8f0;--foreground-muted: #94a3b8;--border-color: #334155;--success-color: #34d399;--danger-color: #f87171;--warning-color: #fbbf24;--success-bar-fill: rgba(52, 211, 153, .35);--surface-warning: rgba(245, 158, 11, .16);--surface-warning-text: #fcd34d;--surface-warning-border: rgba(245, 158, 11, .45);--surface-warning-alt: rgba(251, 146, 60, .12);--surface-highlight: rgba(251, 146, 60, .14);--surface-selected: rgba(219, 39, 119, .14);--surface-selected-issue: rgba(245, 158, 11, .18);--surface-success: rgba(52, 211, 153, .1);--surface-success-border: rgba(52, 211, 153, .28);--badge-external-bg: rgba(96, 165, 250, .16);--badge-external-text: #93c5fd;--badge-memory-bg: rgba(244, 114, 182, .14);--focus-ring: rgba(244, 114, 182, .28);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .35);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .45), 0 4px 6px -2px rgba(0, 0, 0, .35)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--foreground);background-color:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{margin-bottom:var(--spacing-md);font-weight:600;line-height:1.2}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}p{margin-bottom:var(--spacing-md)}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast) ease-in-out}a:hover{color:var(--primary-dark);text-decoration:underline}button,.button{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-weight:500;line-height:1.5;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius-md);cursor:pointer;transition:background-color var(--transition-fast) ease-in-out,transform var(--transition-fast) ease-in-out}button:hover,.button:hover{background-color:var(--primary-dark);transform:translateY(-1px)}button:focus,.button:focus{outline:2px solid var(--primary-light);outline-offset:2px}button:disabled,.button:disabled{opacity:.6;cursor:not-allowed}input,select,textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);line-height:1.5;color:var(--foreground);background-color:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius-md);transition:border-color var(--transition-fast) ease-in-out}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--focus-ring)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.card{padding:var(--spacing-lg);background-color:var(--background);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md)}.text-center{text-align:center}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.positive{color:var(--success-color)}.negative{color:var(--danger-color)}.neutral{color:var(--foreground-muted)}.stock-ticker{font-weight:600;font-family:monospace}.percentage{font-weight:500}@media (max-width: 768px){html{font-size:14px}.container{padding:0 var(--spacing-sm)}.card{padding:var(--spacing-md)}}@media (max-width: 480px){html{font-size:12px}}
