.degiro-import-modal[data-v-d3d73b88]{width:min(100%,780px);max-height:calc(100dvh - 44px);padding:28px;overflow-y:auto;border:1px solid var(--line-strong);border-radius:18px;background:var(--surface);box-shadow:0 30px 90px #0000006b;font-size:15px}.degiro-safety-note[data-v-d3d73b88]{margin-bottom:20px;padding:14px 15px;display:flex;align-items:flex-start;gap:11px;border:1px solid color-mix(in srgb,var(--green) 32%,var(--line));border-radius:11px;color:var(--green);background:color-mix(in srgb,var(--green) 6%,transparent)}.degiro-safety-note svg[data-v-d3d73b88]{flex:0 0 auto;margin-top:2px}.degiro-safety-note strong[data-v-d3d73b88]{color:var(--text);font-size:15px}.degiro-safety-note p[data-v-d3d73b88]{margin-top:4px;color:var(--muted-strong);font-size:14px;line-height:1.5}.degiro-import-steps[data-v-d3d73b88]{margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none}.degiro-import-steps li[data-v-d3d73b88]{min-width:0;padding:14px;display:grid;grid-template-columns:30px minmax(0,1fr);align-content:start;gap:10px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.degiro-import-steps li>span[data-v-d3d73b88]{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;color:var(--primary-ink);background:var(--primary);font-size:13px;font-weight:800}.degiro-import-steps strong[data-v-d3d73b88]{font-size:14px;line-height:1.3}.degiro-import-steps p[data-v-d3d73b88]{margin-top:5px;color:var(--muted);font-size:13px;line-height:1.45}.degiro-dropzone[data-v-d3d73b88]{margin-top:16px;padding:25px 20px;display:grid;justify-items:center;gap:7px;border:1px dashed var(--line-strong);border-radius:12px;color:var(--primary);background:var(--bg);text-align:center;cursor:pointer;transition:.16s ease}.degiro-dropzone[data-v-d3d73b88]:hover,.degiro-dropzone[data-v-d3d73b88]:focus-visible,.degiro-dropzone--dragging[data-v-d3d73b88]{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--bg));outline:none}.degiro-dropzone strong[data-v-d3d73b88]{color:var(--text);font-size:16px}.degiro-dropzone p[data-v-d3d73b88]{color:var(--muted);font-size:14px}.degiro-dropzone span[data-v-d3d73b88]{margin-top:4px;display:inline-flex;align-items:center;gap:6px;color:var(--green);font-size:13px;font-weight:700}.file-collection[data-v-d3d73b88]{margin-top:13px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.file-collection>header[data-v-d3d73b88]{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px}.file-collection>header>span[data-v-d3d73b88]{min-width:0;display:grid;gap:3px}.file-collection>header strong[data-v-d3d73b88]{font-size:15px}.file-collection>header small[data-v-d3d73b88]{color:var(--muted);font-size:13px;line-height:1.4}.compact-add-button[data-v-d3d73b88]{min-height:36px;padding:7px 10px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--surface-raised);font-size:13px;font-weight:700;white-space:nowrap}.compact-add-button[data-v-d3d73b88]:hover{border-color:var(--line-strong)}.selected-files[data-v-d3d73b88],.stored-files[data-v-d3d73b88],.report-list[data-v-d3d73b88]{margin:11px 0 0;padding:0;display:grid;gap:8px;list-style:none}.selected-files li[data-v-d3d73b88],.stored-files li[data-v-d3d73b88],.report-list li[data-v-d3d73b88]{min-width:0;min-height:56px;padding:9px 10px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.file-icon[data-v-d3d73b88]{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.file-icon--stored[data-v-d3d73b88]{color:var(--green);background:color-mix(in srgb,var(--green) 9%,transparent)}.file-copy[data-v-d3d73b88],.report-list li>div[data-v-d3d73b88]{min-width:0;display:grid;gap:4px}.selected-files strong[data-v-d3d73b88],.stored-files strong[data-v-d3d73b88],.report-list strong[data-v-d3d73b88]{overflow:hidden;font-size:14px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.selected-files small[data-v-d3d73b88],.stored-files small[data-v-d3d73b88],.report-list small[data-v-d3d73b88]{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:13px;line-height:1.3}.file-badge[data-v-d3d73b88],.stored-badge[data-v-d3d73b88]{padding:3px 6px;border-radius:999px;color:var(--primary);background:color-mix(in srgb,var(--primary) 11%,transparent);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.stored-badge[data-v-d3d73b88]{color:var(--green);background:color-mix(in srgb,var(--green) 10%,transparent)}.remove-file-button[data-v-d3d73b88]{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:transparent;cursor:pointer}.remove-file-button[data-v-d3d73b88]:hover{border-color:color-mix(in srgb,var(--red) 38%,var(--line));color:var(--red);background:color-mix(in srgb,var(--red) 8%,transparent)}.import-error[data-v-d3d73b88]{margin-top:13px;padding:12px 13px;display:flex;align-items:flex-start;gap:9px;border:1px solid color-mix(in srgb,var(--red) 35%,var(--line));border-radius:10px;color:var(--red);background:color-mix(in srgb,var(--red) 6%,transparent);font-size:14px;line-height:1.45}.import-error svg[data-v-d3d73b88]{flex:0 0 auto;margin-top:1px}.import-preview[data-v-d3d73b88]{display:grid;gap:13px}.preview-summary[data-v-d3d73b88]{padding:14px;display:flex;align-items:flex-start;gap:11px;border:1px solid color-mix(in srgb,var(--green) 30%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--green) 5%,transparent)}.preview-summary>span[data-v-d3d73b88]{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:var(--bg);background:var(--green)}.preview-summary strong[data-v-d3d73b88]{font-size:15px}.preview-summary p[data-v-d3d73b88]{margin-top:4px;color:var(--muted);font-size:14px;line-height:1.4}.report-list[data-v-d3d73b88]{margin-top:0}.report-list li>svg[data-v-d3d73b88]{color:var(--green)}.portfolio-dates[data-v-d3d73b88],.preview-warnings[data-v-d3d73b88]{padding:14px;display:grid;gap:11px;border:1px solid var(--line);border-radius:11px;background:var(--bg)}.preview-section-heading[data-v-d3d73b88]{display:flex;align-items:flex-start;gap:9px;color:var(--primary)}.preview-section-heading>svg[data-v-d3d73b88]{flex:0 0 auto;margin-top:2px}.preview-section-heading>span[data-v-d3d73b88]{display:grid;gap:3px}.preview-section-heading strong[data-v-d3d73b88]{color:var(--text);font-size:15px}.preview-section-heading small[data-v-d3d73b88]{color:var(--muted);font-size:13px;line-height:1.4}.portfolio-dates label[data-v-d3d73b88]{display:grid;grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:12px;color:var(--muted-strong);font-size:14px}.portfolio-dates label>span[data-v-d3d73b88]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-dates input[data-v-d3d73b88]{min-height:40px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;color:var(--text);background:var(--surface);color-scheme:dark;font:inherit}.preview-warnings[data-v-d3d73b88]{border-color:color-mix(in srgb,var(--orange) 32%,var(--line))}.preview-warnings .preview-section-heading[data-v-d3d73b88]{color:var(--orange)}.preview-warnings ul[data-v-d3d73b88]{margin:0;padding-left:22px;color:var(--muted-strong);font-size:14px;line-height:1.5}.preview-warnings li+li[data-v-d3d73b88]{margin-top:5px}.degiro-modal-actions[data-v-d3d73b88]{position:sticky;z-index:2;bottom:-28px;margin:21px -28px -28px;padding:14px 28px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.degiro-modal-actions .text-link[data-v-d3d73b88]{min-width:0;display:inline-flex;align-items:center;gap:6px;font-size:14px;line-height:1.3}.modal-action-buttons[data-v-d3d73b88]{display:flex;align-items:stretch;gap:9px}.modal-action-buttons>button[data-v-d3d73b88]{min-height:44px}.spin[data-v-d3d73b88]{animation:spin-d3d73b88 .8s linear infinite}@keyframes spin-d3d73b88{to{transform:rotate(360deg)}}@media(max-width:700px){.degiro-import-steps[data-v-d3d73b88]{grid-template-columns:1fr}}@media(max-width:600px){.degiro-import-modal[data-v-d3d73b88]{width:100%;max-height:calc(100dvh - 20px);padding:19px;border-radius:16px}.portfolio-dates label[data-v-d3d73b88]{grid-template-columns:1fr;gap:5px}.portfolio-dates input[data-v-d3d73b88]{width:100%}.file-collection>header[data-v-d3d73b88]{align-items:flex-start;flex-direction:column}.compact-add-button[data-v-d3d73b88]{width:100%;justify-content:center}.degiro-modal-actions[data-v-d3d73b88]{position:static;margin:20px -19px -19px;padding:14px 19px;grid-template-columns:1fr;align-items:stretch}.degiro-modal-actions .text-link[data-v-d3d73b88]{justify-content:center;text-align:center}.modal-action-buttons[data-v-d3d73b88]{display:grid;grid-template-columns:1fr 1fr}}.investment-projection-chart[data-v-f5668d9c]{position:relative;height:310px}@media(max-width:600px){.investment-projection-chart[data-v-f5668d9c]{height:255px}}.investments-header[data-v-4de1f4c0]{margin-bottom:4px}.investments-header>div>p[data-v-4de1f4c0]:not(.eyebrow,.as-of){font-size:19px}.investments-header .as-of[data-v-4de1f4c0]{font-size:16px}.investments-import-button[data-v-4de1f4c0]{flex:0 0 auto}.investments-empty-state[data-v-4de1f4c0]{max-width:680px;margin:32px auto;padding:54px 30px;display:grid;justify-items:center;gap:10px;text-align:center}.empty-state-icon[data-v-4de1f4c0]{width:54px;height:54px;margin-bottom:4px;display:grid;place-items:center;border-radius:15px;color:var(--primary);background:color-mix(in srgb,var(--primary) 11%,transparent)}.investments-empty-state h2[data-v-4de1f4c0]{font-size:25px}.investments-empty-state>p[data-v-4de1f4c0]:not(.eyebrow){max-width:520px;margin-bottom:8px;color:var(--muted);font-size:18px;line-height:1.55}.broker-strip[data-v-4de1f4c0]{margin-top:14px;padding:15px 17px;display:grid;grid-template-columns:44px minmax(190px,1fr) auto auto;align-items:center;gap:12px}.broker-mark[data-v-4de1f4c0]{width:42px;height:42px;padding:9px 7px;display:grid;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,#009fdf 28%,var(--line));border-radius:11px;background:#fff;box-shadow:0 8px 24px #009fdf1f}.broker-mark svg[data-v-4de1f4c0]{width:100%;height:100%;display:block}.broker-copy[data-v-4de1f4c0]{min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 8px}.broker-copy .eyebrow[data-v-4de1f4c0]{grid-column:1 / -1;font-size:10px}.broker-copy strong[data-v-4de1f4c0]{font-size:16px}.broker-copy small[data-v-4de1f4c0],.broker-updated[data-v-4de1f4c0]{color:var(--muted);font-size:15px}.import-status[data-v-4de1f4c0]{padding:6px 9px;display:inline-flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--orange) 35%,var(--line));border-radius:999px;color:var(--orange);background:color-mix(in srgb,var(--orange) 7%,transparent);font-size:14px;font-weight:700;white-space:nowrap}.import-status>span[data-v-4de1f4c0]{width:7px;height:7px;border-radius:50%;background:var(--orange)}.imported-files-panel[data-v-4de1f4c0]{margin-top:10px;padding:0;overflow:hidden}.imported-files-panel summary[data-v-4de1f4c0]{min-height:68px;padding:14px 17px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;cursor:pointer;list-style:none}.imported-files-panel summary[data-v-4de1f4c0]::-webkit-details-marker{display:none}.imported-files-panel summary[data-v-4de1f4c0]:hover{background:var(--surface-soft)}.imported-files-panel summary>span[data-v-4de1f4c0]:nth-child(2){min-width:0;display:grid;gap:3px}.imported-files-panel summary strong[data-v-4de1f4c0]{font-size:15px}.imported-files-panel summary small[data-v-4de1f4c0]{color:var(--muted);font-size:15px;line-height:1.35}.imported-files-icon[data-v-4de1f4c0]{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.imported-files-action[data-v-4de1f4c0]{color:var(--primary);font-size:15px;font-weight:700}.imported-files-content[data-v-4de1f4c0]{padding:0 17px 17px;border-top:1px solid var(--line)}.imported-files-content ul[data-v-4de1f4c0]{margin:0;padding:13px 0;display:grid;gap:8px;list-style:none}.imported-files-content li[data-v-4de1f4c0]{min-width:0;padding:11px 12px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.imported-files-content li>span[data-v-4de1f4c0]:nth-child(2){min-width:0;display:grid;gap:3px}.imported-files-content li strong[data-v-4de1f4c0]{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.imported-files-content li small[data-v-4de1f4c0]{color:var(--muted);font-size:15px}.file-type-mark[data-v-4de1f4c0]{width:42px;height:32px;display:grid;place-items:center;border-radius:8px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);font-size:11px;font-weight:800}.file-saved-status[data-v-4de1f4c0]{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-size:14px;font-weight:700;white-space:nowrap}.imported-file-actions[data-v-4de1f4c0]{display:flex;align-items:center;justify-content:flex-end;gap:10px}.imported-file-delete[data-v-4de1f4c0]{width:34px;height:34px;padding:0;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--red) 30%,var(--line));border-radius:9px;color:var(--red);background:transparent;cursor:pointer}.imported-file-delete[data-v-4de1f4c0]:hover:not(:disabled){background:color-mix(in srgb,var(--red) 8%,transparent)}.imported-file-delete[data-v-4de1f4c0]:disabled{opacity:.55;cursor:wait}.legacy-file-note[data-v-4de1f4c0]{margin:0 0 12px;padding:10px 12px;display:flex;align-items:flex-start;gap:7px;border:1px solid color-mix(in srgb,var(--orange) 25%,var(--line));border-radius:9px;color:var(--muted);background:color-mix(in srgb,var(--orange) 5%,transparent);font-size:14px;line-height:1.45}.legacy-file-note svg[data-v-4de1f4c0]{flex:0 0 auto;margin-top:1px;color:var(--orange)}.imported-files-footer[data-v-4de1f4c0]{display:flex;align-items:center;justify-content:space-between;gap:10px}.imported-files-footer .secondary-button[data-v-4de1f4c0],.imported-files-footer .danger-button[data-v-4de1f4c0]{min-height:40px}.investment-summary[data-v-4de1f4c0]{margin-top:14px}.investment-summary .metric-card p[data-v-4de1f4c0]{font-size:17px}.investment-summary .metric-card>span[data-v-4de1f4c0]:not(.metric-icon){font-size:16px}.annual-panel[data-v-4de1f4c0],.income-panel[data-v-4de1f4c0],.projection-panel[data-v-4de1f4c0],.holdings-panel[data-v-4de1f4c0]{margin-top:14px}.annual-heading>div>p[data-v-4de1f4c0]:last-child,.projection-heading>div>p[data-v-4de1f4c0]:last-child{max-width:720px;margin-top:6px;color:var(--muted);font-size:16px;line-height:1.45}.method-pill[data-v-4de1f4c0]{padding:6px 9px;border:1px solid color-mix(in srgb,var(--green) 30%,var(--line));border-radius:999px;color:var(--green);background:color-mix(in srgb,var(--green) 6%,transparent);font-size:14px;font-weight:700;white-space:nowrap}.annual-return-overview[data-v-4de1f4c0]{margin-top:20px;display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:9px}.annual-return-card[data-v-4de1f4c0]{min-width:0;padding:13px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.annual-return-card--current[data-v-4de1f4c0]{border-color:color-mix(in srgb,var(--primary) 40%,var(--line));background:color-mix(in srgb,var(--primary) 6%,var(--surface-soft))}.annual-return-card header[data-v-4de1f4c0]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.annual-return-card header>span[data-v-4de1f4c0]:first-child{display:grid;gap:2px}.annual-return-card header strong[data-v-4de1f4c0]{color:var(--text);font-size:14px}.annual-return-card header small[data-v-4de1f4c0]{color:var(--primary);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.annual-return-card header>span[data-v-4de1f4c0]:last-child{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.annual-return-card>p[data-v-4de1f4c0]{margin-top:3px;color:var(--muted);font-size:12px}.annual-return-card dl[data-v-4de1f4c0]{margin-top:13px;display:grid;gap:7px}.annual-return-card dl>div[data-v-4de1f4c0]{display:flex;justify-content:space-between;gap:8px}.annual-return-card dt[data-v-4de1f4c0]{color:var(--muted);font-size:12px}.annual-return-card dd[data-v-4de1f4c0]{overflow:hidden;color:var(--muted-strong);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.annual-completeness-note[data-v-4de1f4c0]{margin-top:12px;padding:12px 14px;display:flex;align-items:flex-start;gap:10px;border:1px solid color-mix(in srgb,var(--orange) 28%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--orange) 5%,var(--surface-soft))}.annual-completeness-note>svg[data-v-4de1f4c0]{flex:0 0 auto;margin-top:1px;color:var(--orange)}.annual-completeness-note strong[data-v-4de1f4c0]{font-size:15px}.annual-completeness-note ul[data-v-4de1f4c0]{margin:6px 0 0;padding-left:18px;color:var(--muted);font-size:14px;line-height:1.5}.annual-return-note[data-v-4de1f4c0]{margin-top:11px;color:var(--muted);font-size:14px;line-height:1.45}.investment-table-scroll[data-v-4de1f4c0]{margin:20px -22px -2px;overflow-x:auto;border-top:1px solid var(--line)}.investment-table[data-v-4de1f4c0]{width:100%;min-width:920px;border-collapse:collapse;font-size:16px}.investment-table th[data-v-4de1f4c0],.investment-table td[data-v-4de1f4c0]{padding:14px 13px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.investment-table th[data-v-4de1f4c0]:first-child,.investment-table td[data-v-4de1f4c0]:first-child{padding-left:22px;text-align:left}.investment-table th[data-v-4de1f4c0]:last-child,.investment-table td[data-v-4de1f4c0]:last-child{padding-right:22px}.investment-table thead th[data-v-4de1f4c0]{color:var(--muted);background:var(--surface-soft);font-size:13px;letter-spacing:.075em;text-transform:uppercase}.investment-table tbody tr:last-child th[data-v-4de1f4c0],.investment-table tbody tr:last-child td[data-v-4de1f4c0]{border-bottom:0}.investment-table tbody th[data-v-4de1f4c0]{color:var(--text)}.investment-table td[data-v-4de1f4c0]{color:var(--muted-strong)}.investment-table .value-cell[data-v-4de1f4c0]{color:var(--text);font-weight:700}.annual-table[data-v-4de1f4c0]{min-width:1240px}.annual-table tbody th[data-v-4de1f4c0],.annual-table tbody td[data-v-4de1f4c0]:nth-child(5){vertical-align:middle}.annual-table tbody th span[data-v-4de1f4c0],.annual-table tbody td:nth-child(5) span[data-v-4de1f4c0]{display:block;margin-top:3px;color:var(--muted);font-size:13px;font-weight:400;text-transform:uppercase}.annual-table .return-cell[data-v-4de1f4c0]{font-size:15px;font-weight:800}.table-note[data-v-4de1f4c0],.projection-disclaimer[data-v-4de1f4c0]{margin-top:15px;color:var(--muted);font-size:15px;line-height:1.5}.income-grid[data-v-4de1f4c0]{margin-top:20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.income-grid article[data-v-4de1f4c0]{min-width:0;padding:15px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:4px 8px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.income-grid article>span[data-v-4de1f4c0]{grid-row:1 / 3;color:var(--primary)}.income-grid p[data-v-4de1f4c0]{color:var(--muted);font-size:14px}.income-grid strong[data-v-4de1f4c0]{overflow:hidden;font-size:18px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.income-grid .income-card--net[data-v-4de1f4c0]{border-color:color-mix(in srgb,var(--green) 30%,var(--line));background:color-mix(in srgb,var(--green) 5%,var(--surface-soft))}.income-grid .income-card--net>span[data-v-4de1f4c0]{color:var(--green)}.projection-heading[data-v-4de1f4c0]{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.projection-heading h2[data-v-4de1f4c0]{margin-top:7px;font-size:22px}.projection-controls[data-v-4de1f4c0]{flex:0 0 390px;display:grid;grid-template-columns:1.15fr .85fr;gap:10px}.projection-controls .field[data-v-4de1f4c0]{font-size:15px}.projection-controls .field input[data-v-4de1f4c0],.projection-controls .field select[data-v-4de1f4c0]{min-height:40px}.projection-assumptions[data-v-4de1f4c0]{margin-top:18px;padding:13px;display:grid;grid-template-columns:130px 130px minmax(190px,.8fr) minmax(240px,1.2fr);align-items:end;gap:10px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.compact-field[data-v-4de1f4c0]{font-size:14px}.compact-field input[data-v-4de1f4c0]{min-height:39px}.percentage-input[data-v-4de1f4c0]{position:relative}.percentage-input input[data-v-4de1f4c0]{padding-right:34px}.percentage-input>span[data-v-4de1f4c0]{position:absolute;top:50%;right:12px;color:var(--muted);transform:translateY(-50%)}.real-terms-toggle[data-v-4de1f4c0],.benchmark-note[data-v-4de1f4c0]{min-height:62px;padding:10px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.real-terms-toggle[data-v-4de1f4c0]{cursor:pointer}.real-terms-toggle input[data-v-4de1f4c0]{width:17px;height:17px;accent-color:var(--primary)}.real-terms-toggle>span[data-v-4de1f4c0],.benchmark-note>span[data-v-4de1f4c0]{min-width:0;display:grid;gap:3px}.real-terms-toggle strong[data-v-4de1f4c0],.benchmark-note strong[data-v-4de1f4c0]{font-size:14px}.real-terms-toggle small[data-v-4de1f4c0],.benchmark-note small[data-v-4de1f4c0]{color:var(--muted);font-size:13px;line-height:1.25}.benchmark-note>svg[data-v-4de1f4c0]{flex:0 0 auto;color:var(--green)}.scenario-summary[data-v-4de1f4c0]{margin:22px 0 18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.scenario-card[data-v-4de1f4c0]{padding:14px;display:grid;gap:5px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.scenario-card span[data-v-4de1f4c0]{color:var(--muted);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.scenario-card strong[data-v-4de1f4c0]{overflow:hidden;color:var(--text);font-size:20px;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.scenario-card small[data-v-4de1f4c0]{color:var(--muted);font-size:14px}.scenario-card--conservative[data-v-4de1f4c0]{border-color:color-mix(in srgb,var(--orange) 24%,var(--line))}.scenario-card--expected[data-v-4de1f4c0]{border-color:color-mix(in srgb,var(--primary) 38%,var(--line));background:color-mix(in srgb,var(--primary) 6%,var(--surface-soft))}.scenario-card--optimistic[data-v-4de1f4c0]{border-color:color-mix(in srgb,var(--green) 25%,var(--line))}.projection-table-scroll[data-v-4de1f4c0]{margin-top:19px}.projection-table[data-v-4de1f4c0]{min-width:760px}.projection-disclaimer[data-v-4de1f4c0]{display:flex;align-items:flex-start;gap:7px}.projection-disclaimer svg[data-v-4de1f4c0]{flex:0 0 auto;margin-top:2px;color:var(--primary)}.holdings-heading[data-v-4de1f4c0]{align-items:center}.dividend-total[data-v-4de1f4c0]{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:15px;white-space:nowrap}.dividend-total svg[data-v-4de1f4c0]{color:var(--green)}.dividend-total strong[data-v-4de1f4c0]{color:var(--text)}.holdings-table-investments tbody th[data-v-4de1f4c0]{display:flex;align-items:center;gap:10px}.holding-symbol[data-v-4de1f4c0]{width:35px;height:35px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);font-size:11px;font-weight:700}.holding-name[data-v-4de1f4c0]{min-width:0;display:grid;gap:3px}.holding-name strong[data-v-4de1f4c0]{font-size:16px}.holding-name small[data-v-4de1f4c0]{max-width:250px;overflow:hidden;color:var(--muted);font-size:13px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.allocation-value[data-v-4de1f4c0]{display:block;color:var(--text);font-weight:700}.allocation-track[data-v-4de1f4c0]{width:70px;height:4px;margin:5px 0 0 auto;display:block;overflow:hidden;border-radius:999px;background:var(--surface-raised)}.allocation-track i[data-v-4de1f4c0]{height:100%;display:block;border-radius:inherit;background:var(--primary)}@media(max-width:1120px){.projection-heading[data-v-4de1f4c0]{flex-direction:column}.projection-controls[data-v-4de1f4c0]{width:min(100%,460px);flex-basis:auto}.projection-assumptions[data-v-4de1f4c0]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}}@media(max-width:820px){.investments-import-button[data-v-4de1f4c0]{width:100%}.broker-strip[data-v-4de1f4c0]{grid-template-columns:44px minmax(0,1fr) auto}.broker-updated[data-v-4de1f4c0]{grid-column:2 / -1}.annual-return-overview[data-v-4de1f4c0],.income-grid[data-v-4de1f4c0]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.broker-strip[data-v-4de1f4c0]{padding:14px;grid-template-columns:42px minmax(0,1fr)}.import-status[data-v-4de1f4c0],.broker-updated[data-v-4de1f4c0]{grid-column:2;justify-self:start}.annual-heading[data-v-4de1f4c0],.holdings-heading[data-v-4de1f4c0]{display:grid}.annual-return-overview[data-v-4de1f4c0]{margin-inline:-18px;padding-inline:18px;display:flex;overflow-x:auto;scroll-snap-type:x proximity}.annual-return-card[data-v-4de1f4c0]{min-width:175px;scroll-snap-align:start}.method-pill[data-v-4de1f4c0],.dividend-total[data-v-4de1f4c0]{justify-self:start}.investment-table-scroll[data-v-4de1f4c0]{margin-inline:-18px}.investment-table th[data-v-4de1f4c0]:first-child,.investment-table td[data-v-4de1f4c0]:first-child{padding-left:18px}.investment-table th[data-v-4de1f4c0]:last-child,.investment-table td[data-v-4de1f4c0]:last-child{padding-right:18px}.projection-controls[data-v-4de1f4c0],.scenario-summary[data-v-4de1f4c0],.projection-assumptions[data-v-4de1f4c0],.income-grid[data-v-4de1f4c0]{grid-template-columns:1fr}.scenario-card[data-v-4de1f4c0]{grid-template-columns:minmax(0,1fr) auto;align-items:center}.scenario-card strong[data-v-4de1f4c0]{grid-row:1 / 3;grid-column:2}.imported-files-panel summary[data-v-4de1f4c0]{grid-template-columns:38px minmax(0,1fr)}.imported-files-action[data-v-4de1f4c0]{grid-column:2}.imported-files-content li[data-v-4de1f4c0]{grid-template-columns:38px minmax(0,1fr)}.imported-file-actions[data-v-4de1f4c0]{grid-column:2;justify-content:space-between}.imported-files-footer[data-v-4de1f4c0]{align-items:stretch;flex-direction:column}.imported-files-footer .secondary-button[data-v-4de1f4c0],.imported-files-footer .danger-button[data-v-4de1f4c0]{width:100%}}@font-face{font-family:Gilroy;src:url(/assets/Gilroy-regular-gZx_7pdO.otf) format("opentype");font-weight:400;font-display:swap}@font-face{font-family:Gilroy;src:url(/assets/Gilroy-bold-XUGFDIlK.otf) format("opentype");font-weight:700;font-display:swap}:root{color-scheme:dark;font-family:Gilroy,Inter,ui-sans-serif,system-ui,sans-serif;color:#f5f7fb;background:#0a0d12;font-synthesis:none;--bg: #0a0d12;--sidebar: #0d1117;--surface: #111720;--surface-raised: #171e29;--surface-soft: #141a24;--text: #f5f7fb;--muted: #929cab;--muted-strong: #b3bac6;--line: #252d3a;--line-strong: #354050;--primary: #aa9bf8;--primary-strong: #8d7bf0;--primary-ink: #171226;--green: #4bd3a5;--red: #ff7c8b;--blue: #5b94ff;--orange: #f2ac5c;--pink: #df78c8;--chart-grid: rgba(142, 152, 169, .12);--shadow: 0 22px 60px rgba(0, 0, 0, .18)}:root[data-theme=light]{color-scheme:light;color:#18202b;background:#f4f5f8;--bg: #f4f5f8;--sidebar: #ffffff;--surface: #ffffff;--surface-raised: #f1f2f7;--surface-soft: #f7f7fa;--text: #18202b;--muted: #657082;--muted-strong: #4d596a;--line: #e1e4eb;--line-strong: #cbd0da;--primary: #7562de;--primary-strong: #614cca;--primary-ink: #ffffff;--green: #148a68;--red: #c94458;--blue: #3774df;--orange: #b56c17;--pink: #a34b8f;--chart-grid: rgba(55, 65, 81, .1);--shadow: 0 18px 50px rgba(28, 35, 48, .08)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--bg);scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--bg);color:var(--text);font-size:16px}body.modal-open{overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin:0}button,a,input,select,[tabindex]{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 70%,transparent);outline-offset:3px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;z-index:1000;top:12px;left:12px;padding:10px 14px;border-radius:9px;color:var(--primary-ink);background:var(--primary);font-weight:700;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:sticky;z-index:20;top:0;height:100dvh;padding:27px 19px 20px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--sidebar)}.brand{display:inline-flex;align-items:center;gap:11px;width:max-content;font-size:22px;font-weight:700}.brand-mark{width:37px;height:37px;display:block;overflow:hidden;border-radius:11px;box-shadow:0 9px 28px color-mix(in srgb,var(--primary) 24%,transparent)}.brand-mark img{width:100%;height:100%;display:block}.sidebar-nav{margin-top:48px;display:grid;gap:7px}.nav-item{min-height:44px;padding:10px 12px;display:flex;align-items:center;gap:11px;border-radius:10px;color:var(--muted);font-size:16px;font-weight:700;transition:color .16s ease,background .16s ease}.nav-item:hover{color:var(--text);background:var(--surface-soft)}.nav-item.router-link-exact-active{color:var(--text);background:var(--surface-raised)}.sidebar-spacer{flex:1}.sidebar-connection{margin-bottom:13px;padding:0 5px;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.status-dot.online{background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 12%,transparent)}.sidebar-actions{margin-bottom:13px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.sidebar-language{width:100%;margin:0 0 6px;padding:9px 10px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;color:var(--muted-strong);background:transparent;font:inherit;font-size:13px;text-align:left;cursor:pointer}.sidebar-language strong{color:var(--text);font-size:12px;letter-spacing:.02em}.sidebar-language:hover{color:var(--text);background:var(--surface)}.sidebar-actions button{min-height:48px;padding:7px 5px;display:grid;place-items:center;gap:3px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:transparent;font-size:12px}.sidebar-actions button:hover{color:var(--text);background:var(--surface)}.pwa-install-button{width:100%;min-height:48px;padding:9px 10px;align-items:center;grid-template-columns:auto minmax(0,1fr);gap:9px;border:1px solid color-mix(in srgb,var(--primary) 38%,var(--line));border-radius:9px;color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,transparent);text-align:left}.pwa-install-button>span{min-width:0;display:grid;gap:2px}.pwa-install-button strong{color:var(--text);font-size:13px}.pwa-install-button small{color:var(--muted);font-size:11px}.pwa-install-button:hover{background:color-mix(in srgb,var(--primary) 12%,transparent)}.pwa-install-button--sidebar,.pwa-install-button--login{display:none}.sidebar-user{min-width:0;padding:11px;display:grid;grid-template-columns:35px minmax(0,1fr) 32px;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;color:var(--primary-ink);background:var(--primary);font-size:14px;font-weight:700}.user-copy{min-width:0;display:grid;gap:3px}.user-copy small{color:var(--muted);font-size:13px}.user-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.sign-out-button,.icon-button{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:9px;color:var(--muted);background:transparent}.sign-out-button:hover,.icon-button:hover{color:var(--text);background:var(--surface-raised)}.mobile-header,.mobile-drawer,.drawer-backdrop{display:none}.dashboard{min-width:0;max-width:100%;padding:38px clamp(24px,4vw,58px) 70px;overflow-x:clip}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.page-header>div{min-width:0}.page-header h1{max-width:850px;margin:7px 0 8px;font-size:clamp(30px,4vw,44px);letter-spacing:-.04em;line-height:1.04}.page-header>div>p:not(.eyebrow,.as-of){color:var(--muted);font-size:17px}.eyebrow{color:var(--primary);font-size:13px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.heading-flags{display:flex;align-items:center;gap:10px}.demo-badge{padding:4px 7px;border:1px solid color-mix(in srgb,var(--orange) 45%,transparent);border-radius:999px;color:var(--orange);background:color-mix(in srgb,var(--orange) 10%,transparent);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.as-of{margin-top:12px;display:flex;align-items:center;gap:5px;color:var(--muted);font-size:14px}.primary-button,.secondary-button,.danger-button{min-height:42px;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;font-size:15px;font-weight:700;white-space:nowrap;transition:transform .14s ease,border-color .14s ease,background .14s ease}.primary-button{border:1px solid var(--primary);color:var(--primary-ink);background:var(--primary)}.primary-button:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 85%,white);transform:translateY(-1px)}.secondary-button{border:1px solid var(--line);color:var(--text);background:var(--surface-raised)}.secondary-button:hover:not(:disabled){border-color:var(--line-strong);transform:translateY(-1px)}.danger-button{border:1px solid color-mix(in srgb,var(--red) 35%,var(--line));color:var(--red);background:transparent}.danger-button:hover:not(:disabled){background:color-mix(in srgb,var(--red) 8%,transparent)}.refresh-button{flex:0 0 auto}.spinning{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.live-region{width:1px;height:1px;overflow:hidden;position:absolute;clip:rect(0,0,0,0)}.panel,.metric-card{min-width:0;max-width:100%;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 1px #ffffff03}.panel{padding:22px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.panel-heading h2{margin-top:7px;font-size:22px;letter-spacing:-.01em}.status-notice{min-width:0;margin-top:16px;padding:13px 15px;display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:11px;color:var(--muted-strong);background:var(--surface);font-size:15px}.status-notice>div{min-width:0}.status-notice svg{flex:0 0 auto;margin-top:1px}.status-notice strong{display:block;margin-bottom:3px;color:var(--text)}.status-notice p{overflow-wrap:anywhere;line-height:1.45}.status-notice--success{border-color:color-mix(in srgb,var(--green) 35%,var(--line))}.status-notice--success svg{color:var(--green)}.status-notice--warning{border-color:color-mix(in srgb,var(--orange) 40%,var(--line))}.status-notice--warning svg{color:var(--orange)}.status-notice--error{border-color:color-mix(in srgb,var(--red) 40%,var(--line))}.status-notice--error svg{color:var(--red)}.status-notice--info svg{color:var(--blue)}.summary-grid{margin-top:28px;display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:14px}.metric-card{position:relative;min-height:186px;padding:22px;display:flex;flex-direction:column;overflow:hidden}.metric-card--featured{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 15%,var(--surface)),var(--surface) 64%)}.metric-card--featured:after{content:"";position:absolute;width:170px;height:170px;top:-105px;right:-65px;border-radius:50%;background:color-mix(in srgb,var(--primary) 20%,transparent);filter:blur(5px)}.metric-icon{position:relative;z-index:1;width:max-content;margin-bottom:17px;color:var(--primary)}.metric-card p{color:var(--muted);font-size:15px}.metric-card h2{margin:7px 0 9px;font-size:clamp(25px,2.3vw,30px);line-height:1.1;letter-spacing:-.025em;font-variant-numeric:tabular-nums;white-space:nowrap}.metric-card>span:not(.metric-icon){color:var(--muted);font-size:14px;line-height:1.35}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.neutral{color:var(--muted-strong)!important}.content-grid{margin-top:14px;display:grid;grid-template-columns:minmax(0,1.75fr) minmax(270px,.75fr);gap:14px}.chart-heading{min-height:66px}.chart-change{margin-top:8px;display:flex;align-items:center;gap:5px;font-size:15px;font-weight:700}.chart-change small{margin-left:3px;color:var(--muted);font-weight:400}.chart-controls{display:grid;justify-items:end;gap:7px}.range-picker,.chart-mode-picker{display:flex;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.range-picker button,.chart-mode-picker button{min-width:39px;min-height:34px;padding:5px 8px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-size:13px;font-weight:700}.chart-mode-picker button{min-width:72px}.range-picker button.active,.chart-mode-picker button.active{color:var(--text);background:var(--surface-raised)}.chart-wrap{position:relative;height:270px;margin-top:20px}.chart-disclaimer{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.4}.empty-chart{height:270px;margin-top:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:repeating-linear-gradient(to bottom,transparent,transparent 63px,var(--chart-grid) 64px)}.empty-chart-line{width:min(72%,420px);height:44px;margin-bottom:22px;border-bottom:2px dashed var(--line-strong);border-radius:50%;opacity:.65}.empty-chart strong{font-size:16px}.empty-chart p{max-width:390px;margin-top:6px;color:var(--muted);font-size:14px;line-height:1.5}.allocation-content{margin-top:22px}.allocation-ring{position:relative;width:154px;aspect-ratio:1;margin:0 auto 24px;display:grid;place-items:center;border-radius:50%}.allocation-ring:before{content:"";width:102px;aspect-ratio:1;border-radius:50%;background:var(--surface)}.allocation-ring>span{position:absolute;display:grid;text-align:center;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.allocation-ring small{margin-top:3px;color:var(--muted);font-size:12px;font-weight:400}.allocation-list{margin:0;padding:0;display:grid;gap:10px;list-style:none}.allocation-list li{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:8px;color:var(--muted-strong);font-size:14px}.allocation-list strong{color:var(--text);font-variant-numeric:tabular-nums}.allocation-list small{grid-column:2 / 4;color:var(--muted);font-size:12px}.dot{width:7px;height:7px;border-radius:50%}.empty-compact{padding:26px 5px 10px;color:var(--muted);font-size:15px;line-height:1.5}.exchange-panel{margin-top:14px;overflow:hidden}.exchange-title{display:flex;align-items:center;gap:12px}.exchange-logo{width:42px;height:42px;display:grid;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,white 7%,var(--line));border-radius:12px;color:#fff;background:var(--surface-raised);font-weight:700}.exchange-logo img{width:100%;height:100%;display:block;object-fit:cover}.exchange-logo--bitvavo{background:#0b5cff}.exchange-logo--kraken{background:#5741d9}.sync-copy{margin-top:5px;color:var(--muted);font-size:13px}.exchange-summary{display:flex;align-items:flex-end;flex-direction:column;gap:9px}.exchange-summary>strong{font-size:21px;font-variant-numeric:tabular-nums}.connection-pill{width:max-content;padding:5px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface-soft);font-size:12px;font-weight:700}.connection-pill--connected{border-color:color-mix(in srgb,var(--green) 40%,var(--line));color:var(--green);background:color-mix(in srgb,var(--green) 8%,transparent)}.connection-pill--error{border-color:color-mix(in srgb,var(--red) 40%,var(--line));color:var(--red)}.connection-pill--missing{color:var(--muted)}.exchange-empty{min-height:132px;margin-top:20px;padding:24px;display:flex;align-items:flex-start;gap:12px;border:1px dashed var(--line-strong);border-radius:12px;color:var(--muted)}.exchange-empty svg{flex:0 0 auto;color:var(--primary)}.exchange-empty strong{color:var(--text)}.exchange-empty p{margin:5px 0 8px;line-height:1.45;font-size:15px}.text-link{color:var(--primary);font-size:15px;font-weight:700}.text-link:hover{text-decoration:underline}.table-scroll{margin:20px -22px -2px;overflow-x:auto;border-top:1px solid var(--line)}.holdings-table{width:100%;min-width:930px;border-collapse:collapse;font-size:15px}.holdings-table th,.holdings-table td{padding:15px 13px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.holdings-table th:first-child,.holdings-table td:first-child{padding-left:22px;text-align:left}.holdings-table th:last-child,.holdings-table td:last-child{padding-right:22px}.holdings-table thead th{color:var(--muted);background:var(--surface-soft);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.sort-button{width:100%;padding:0;display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;border:0;color:inherit;background:transparent;font-size:inherit;font-weight:700;letter-spacing:inherit;text-transform:inherit;white-space:nowrap}.holdings-table thead th:first-child .sort-button{justify-content:flex-start}.sort-button svg{flex:0 0 auto;opacity:.58}.sort-button:hover,.sort-button:focus-visible{color:var(--text)}.sort-button:hover svg,.sort-button:focus-visible svg,.holdings-table th[aria-sort=ascending] .sort-button svg,.holdings-table th[aria-sort=descending] .sort-button svg{color:var(--primary);opacity:1}.holdings-table tbody th{position:sticky;z-index:2;left:0;background:var(--surface)}.holdings-table tbody tr:last-child th,.holdings-table tbody tr:last-child td{border-bottom:0}.holdings-table td{color:var(--muted-strong)}.holdings-table .value-cell{color:var(--text);font-weight:700}.holdings-table .profit-cell small{display:block;margin-top:3px;font-size:12px}.asset-button{width:100%;padding:0;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;color:inherit;background:transparent;text-align:left}.asset-button>svg{flex:0 0 auto;color:var(--muted);transition:color .14s ease,transform .14s ease}.asset-button:hover>svg{color:var(--primary);transform:translate(2px)}.asset-cell{display:flex;align-items:center;gap:10px}.asset-icon{width:35px;height:35px;flex:0 0 auto;display:grid;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,white 7%,var(--line));border-radius:50%;background:var(--surface-raised)}.asset-icon img{width:100%;height:100%;display:block;object-fit:cover}.asset-icon--fallback{color:var(--primary-ink);background:color-mix(in srgb,var(--primary) 80%,var(--orange));font-size:13px;font-weight:700}.asset-cell>span{display:grid;gap:3px}.asset-cell strong{font-size:15px}.asset-cell small{color:var(--muted);font-size:12px;font-weight:400}.coverage-badge{margin-left:5px;padding:3px 5px;border-radius:5px;color:var(--orange);background:color-mix(in srgb,var(--orange) 10%,transparent);font-size:11px;font-weight:700}.manual-badge{margin-left:5px;padding:3px 5px;border-radius:5px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);font-size:11px;font-weight:700}.coverage-note{margin:15px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.coverage-note--warning{color:var(--orange)}.fee-credit-note{color:var(--primary)}.manual-cost-toolbar{margin-top:14px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;background:linear-gradient(110deg,color-mix(in srgb,var(--primary) 8%,var(--surface)),var(--surface) 54%)}.manual-toolbar-icon,.modal-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;color:var(--primary);background:color-mix(in srgb,var(--primary) 11%,transparent)}.manual-cost-toolbar strong{display:block;font-size:16px}.manual-cost-toolbar p{margin-top:4px;color:var(--muted);font-size:14px;line-height:1.4}.modal-backdrop{position:fixed;z-index:100;inset:0;padding:22px;display:grid;place-items:center;overflow-y:auto;background:#030509b8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.cost-basis-modal{width:min(100%,550px);max-height:calc(100dvh - 44px);padding:24px;overflow-y:auto;border:1px solid var(--line-strong);border-radius:17px;background:var(--surface);box-shadow:0 30px 90px #0000006b}.asset-detail-modal{width:min(100%,780px);max-height:calc(100dvh - 44px);padding:25px;overflow-y:auto;border:1px solid var(--line-strong);border-radius:17px;background:var(--surface);box-shadow:0 30px 90px #0000006b}.modal-heading{display:grid;grid-template-columns:42px minmax(0,1fr) 36px;align-items:center;gap:12px}.modal-heading h2{margin-top:5px;font-size:23px;letter-spacing:-.02em}.modal-heading .icon-button{align-self:start}.modal-description{margin:18px 0;color:var(--muted);font-size:15px;line-height:1.55}.cost-basis-form{display:grid;gap:17px}.currency-input{position:relative}.currency-input>span{position:absolute;z-index:1;top:50%;left:14px;color:var(--muted);line-height:1;pointer-events:none;transform:translateY(-50%)}.field .currency-input input{padding-left:38px}.manual-quantity{padding:13px 14px;display:grid;grid-template-columns:1fr auto;gap:5px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.manual-quantity span{color:var(--muted-strong);font-size:14px}.manual-quantity strong{font-size:15px;font-variant-numeric:tabular-nums}.manual-quantity small{grid-column:1 / -1;color:var(--muted);font-size:13px;line-height:1.4}.modal-actions{padding-top:3px;display:flex;align-items:center;justify-content:space-between;gap:14px}.modal-actions>div{display:flex;gap:8px}.pwa-install-backdrop{z-index:130}.pwa-install-modal{width:min(100%,470px);padding:24px;border:1px solid var(--line-strong);border-radius:17px;background:var(--surface);box-shadow:0 30px 90px #0000006b}.pwa-install-heading{display:grid;grid-template-columns:42px minmax(0,1fr) 36px;align-items:center;gap:12px}.pwa-install-heading h2{margin-top:5px;font-size:22px;letter-spacing:-.02em}.pwa-install-heading .icon-button{align-self:start}.pwa-install-copy{margin:19px 0 16px;color:var(--muted);font-size:15px;line-height:1.5}.pwa-install-steps{margin:0 0 20px;padding:0;display:grid;gap:9px;list-style:none}.pwa-install-steps li{padding:11px 12px;display:grid;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.pwa-install-steps li>span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:var(--primary-ink);background:var(--primary);font-size:12px;font-weight:700}.pwa-install-steps li>div{display:flex;align-items:center;gap:7px;color:var(--muted-strong);font-size:14px}.pwa-install-steps svg{flex:0 0 auto;color:var(--primary)}.pwa-install-modal>.primary-button{width:100%}.asset-detail-heading{display:grid;grid-template-columns:52px minmax(0,1fr) 36px;align-items:center;gap:14px}.asset-icon--large{width:52px;height:52px}.asset-detail-heading h2{margin-top:5px;font-size:25px;letter-spacing:-.02em}.asset-detail-heading h2 small{margin-left:5px;color:var(--muted);font-size:14px;font-weight:400;letter-spacing:0}.asset-detail-heading .icon-button{align-self:start}.asset-detail-exchange{margin-top:7px;display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.asset-detail-exchange img{width:17px;height:17px;border-radius:5px;object-fit:cover}.asset-detail-grid{margin-top:23px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.asset-detail-grid article{min-width:0;padding:14px;display:grid;align-content:start;gap:6px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.asset-detail-grid span{color:var(--muted);font-size:13px}.asset-detail-grid strong{overflow:hidden;font-size:18px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.asset-detail-grid small{color:var(--muted);font-size:12px}.asset-detail-note{margin-top:12px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--orange) 35%,var(--line));border-radius:9px;color:var(--orange);background:color-mix(in srgb,var(--orange) 7%,transparent);font-size:13px;line-height:1.45}.asset-detail-section{margin-top:22px}.asset-detail-section-title{display:flex;align-items:center;gap:8px;color:var(--primary)}.asset-detail-section-title h3{color:var(--text);font-size:17px}.asset-position-list{margin:12px 0 0;display:grid;grid-template-columns:1fr;border:1px solid var(--line);border-radius:11px;overflow:hidden}.asset-position-list div{min-width:0;padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.asset-position-list div:last-child{border-bottom:0}.asset-position-list dt{color:var(--muted);font-size:13px}.asset-position-list dd{margin:0;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:1px;white-space:nowrap}.asset-detail-activity{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 20px}.asset-detail-activity article{min-width:0;padding:11px 0;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;border-top:1px solid var(--line)}.asset-detail-activity article>div{min-width:0;display:grid;gap:3px}.asset-detail-activity strong{font-size:14px;text-transform:capitalize}.asset-detail-activity small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.asset-detail-activity article>span:last-child{color:var(--muted-strong);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.activity-panel{margin-top:14px}.activity-list{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 24px}.activity-item{min-width:0;padding:13px 2px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;border-top:1px solid var(--line)}.activity-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:var(--green);background:color-mix(in srgb,var(--green) 10%,transparent);font-weight:700}.activity-icon.sell,.activity-icon.withdrawal{color:var(--red);background:color-mix(in srgb,var(--red) 9%,transparent)}.activity-item>div{min-width:0;display:grid;gap:3px}.activity-item strong{text-transform:capitalize;font-size:15px}.activity-item small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize}.activity-item>span:last-child{color:var(--muted-strong);font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}.fatal-state{max-width:620px;margin:30px auto;padding:58px 30px;display:grid;justify-items:center;gap:10px;text-align:center}.fatal-state svg{color:var(--primary)}.fatal-state p{margin-bottom:9px;color:var(--muted)}.skeleton-card{justify-content:center;gap:12px}.skeleton-card span{display:block;height:13px;border-radius:999px;background:linear-gradient(90deg,var(--surface-raised),color-mix(in srgb,var(--surface-raised) 55%,var(--line)),var(--surface-raised));background-size:220% 100%;animation:shimmer 1.5s linear infinite}.skeleton-card span:nth-child(1){width:42%}.skeleton-card span:nth-child(2){width:76%;height:27px}.skeleton-card span:nth-child(3){width:57%}@keyframes shimmer{to{background-position:-220% 0}}.settings-header{margin-bottom:28px}.settings-grid{display:grid;gap:14px}.settings-card{padding:26px}.settings-card--account{max-width:940px}.settings-card-heading{display:flex;align-items:center;gap:12px}.settings-card-heading h2{margin-top:5px;font-size:22px}.settings-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.exchange-settings-heading .connection-pill{margin-left:auto}.settings-description{margin:16px 0;color:var(--muted);font-size:15px}.permission-note{max-width:680px;margin-bottom:17px;padding:12px 13px;display:flex;gap:10px;border:1px solid color-mix(in srgb,var(--green) 30%,var(--line));border-radius:10px;color:var(--green);background:color-mix(in srgb,var(--green) 6%,transparent)}.permission-note svg{flex:0 0 auto}.permission-note strong{color:var(--text);font-size:14px}.permission-note p{margin-top:3px;color:var(--muted-strong);font-size:14px;line-height:1.4}.connected-key{margin-bottom:16px;color:var(--muted);font-size:14px}.connected-key strong{color:var(--text);letter-spacing:.05em}.settings-form{max-width:940px;display:grid;gap:16px}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field-row .field{grid-template-rows:auto 44px auto;align-content:start}.field-row .field>span{min-height:21px}.field-placeholder{visibility:hidden}.field{display:grid;gap:7px;color:var(--muted-strong);font-size:15px;font-weight:700}.field>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.field em{color:var(--muted);font-size:12px;font-style:normal;font-weight:400;text-transform:uppercase;letter-spacing:.06em}.field input,.field select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:9px;color:var(--text);background:var(--bg)}.field input:hover,.field select:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--line-strong))}.field input:focus,.field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.field small{color:var(--muted);font-size:13px;font-weight:400;line-height:1.35}.field--reauth{max-width:455px;padding-top:12px;border-top:1px solid var(--line)}.form-actions{padding-top:2px;display:flex;justify-content:flex-end}.form-actions--spread{align-items:center;justify-content:space-between;gap:18px}.form-actions--spread>div{display:flex;gap:8px}.form-error{padding:11px 12px;border:1px solid color-mix(in srgb,var(--red) 40%,var(--line));border-radius:9px;color:var(--red);background:color-mix(in srgb,var(--red) 7%,transparent);font-size:14px;line-height:1.4}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.95fr) minmax(420px,1.05fr)}.login-story{position:relative;min-height:100vh;padding:clamp(32px,6vw,72px);display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(145deg,#121723,#161527 55%,#201b39)}.login-story:before,.login-story:after{content:"";position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.login-story:before{width:360px;height:360px;right:-170px;top:9%;background:#a99af821}.login-story:after{width:260px;height:260px;left:-120px;bottom:-80px;background:#4a93ff17}.brand--login{position:relative;z-index:1;color:#fff}.login-story-copy{position:relative;z-index:1;max-width:570px;margin:auto 0}.login-story-copy h1{margin:13px 0 18px;color:#fff;font-size:clamp(38px,5vw,64px);line-height:1.03;letter-spacing:-.05em}.login-story-copy>p:last-child{max-width:500px;color:#aeb5c3;font-size:16px;line-height:1.65}.login-benefits{position:relative;z-index:1;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 22px;color:#aeb5c3;list-style:none;font-size:12px}.login-benefits li{display:flex;align-items:center;gap:8px}.login-benefits svg{color:#a99af8}.login-form-panel{min-height:100vh;padding:38px;display:grid;place-items:center;background:var(--bg)}.login-form{width:min(100%,420px);display:grid;gap:19px}.login-form h2{margin:7px 0 8px;font-size:32px;letter-spacing:-.03em}.login-form>div:first-child>p:last-child{color:var(--muted);font-size:14px}.password-field{position:relative;display:block!important}.password-field input{padding-right:48px}.password-field button{position:absolute;top:4px;right:4px;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:7px;color:var(--muted);background:transparent}.password-field button:hover{color:var(--text);background:var(--surface-raised)}.login-submit{width:100%;min-height:46px}.privacy-copy{color:var(--muted);font-size:11px;text-align:center}@media(max-width:1120px){.summary-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.allocation-content{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:20px}.allocation-ring{margin-bottom:0}.allocation-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 24px}.login-story{padding:44px}}@media(max-width:820px){.app-shell{display:block}.desktop-sidebar{display:none}.mobile-header{position:sticky;z-index:30;top:0;width:100%;max-width:100vw;height:66px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--sidebar) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-header .brand{font-size:20px}.mobile-header .brand-mark{width:35px;height:35px}.drawer-backdrop{position:fixed;z-index:38;inset:66px 0 0;display:block;background:#00000085}.mobile-drawer{position:fixed;z-index:40;top:66px;right:0;bottom:0;width:min(88vw,310px);height:calc(100dvh - 66px);display:flex;border-right:0;border-left:1px solid var(--line);box-shadow:var(--shadow)}.mobile-drawer .brand{display:none}.mobile-drawer .sidebar-nav{margin-top:0}.mobile-drawer .pwa-install-button--sidebar{margin-bottom:6px;display:grid}.dashboard{padding:29px 18px 52px}.page-header{align-items:flex-start;flex-direction:column}.page-header h1{font-size:clamp(30px,8vw,40px)}.refresh-button{width:100%}.manual-cost-toolbar{grid-template-columns:42px minmax(0,1fr)}.manual-cost-toolbar>button{grid-column:1 / -1;width:100%}.activity-list,.login-page{grid-template-columns:1fr}.login-story{display:none}.login-form-panel{min-height:100dvh;padding:26px}.pwa-install-button--login{display:grid}}@media(max-width:600px){.dashboard{padding-inline:14px}.summary-grid{grid-template-columns:1fr}.metric-card{min-height:178px}.panel{padding:18px}.chart-heading{display:grid}.chart-controls{width:100%;margin-top:4px;justify-items:stretch}.range-picker,.chart-mode-picker{width:100%}.range-picker button,.chart-mode-picker button{flex:1;min-height:40px}.chart-wrap,.empty-chart{height:235px}.allocation-content{display:block}.allocation-ring{margin-bottom:24px}.allocation-list{grid-template-columns:1fr}.exchange-heading{align-items:flex-start}.exchange-summary>strong{font-size:15px}.table-scroll{margin-inline:-18px}.holdings-table th:first-child,.holdings-table td:first-child{padding-left:18px}.holdings-table th:last-child,.holdings-table td:last-child{padding-right:18px}.settings-card{padding:19px}.field-row{grid-template-columns:1fr}.form-actions--spread{align-items:flex-start;flex-direction:column}.form-actions--spread>div{width:100%;flex-direction:column-reverse}.form-actions--spread button{width:100%}.exchange-settings-heading{display:grid;grid-template-columns:42px minmax(0,1fr)}.exchange-settings-heading .connection-pill{grid-column:2;margin-left:0}.modal-backdrop{padding:10px;align-items:end}.cost-basis-modal,.asset-detail-modal{width:100%;max-height:calc(100dvh - 20px);padding:19px;border-radius:16px}.pwa-install-modal{width:100%;padding:19px;border-radius:16px}.asset-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-position-list div{gap:14px}.asset-position-list dd{font-size:13px;letter-spacing:.75px}.asset-detail-activity{grid-template-columns:1fr}.modal-actions{align-items:stretch;flex-direction:column-reverse}.modal-actions>span{display:none}.modal-actions>div{flex-direction:column-reverse}.modal-actions button{width:100%}.login-form-panel{padding:22px 18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
