:root{color-scheme:light;--color-bg: #F7F8F4;--color-surface: #FFFFFF;--color-surface-raised: #F0F3EE;--color-surface-hover: #E8EEE7;--color-border: #DCE3DD;--color-control-border: #798A7D;--color-text: #25312B;--color-text-secondary: #5F6D63;--color-primary: #24634B;--color-primary-action: #24634B;--color-primary-hover: #1B503C;--color-on-primary: #FFFFFF;--color-accent-soft: #E8F0E8;--color-success: #24634B;--color-success-soft: #E8F3EB;--color-warning: #875A17;--color-warning-soft: #FFF4D9;--color-danger: #AD353A;--color-danger-soft: #FCECEF;--color-info: #315D7A;--color-info-soft: #EAF1F7;--color-overlay: rgba(37, 49, 43, .38);--font-sans: "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-mono: "Bahnschrift", "SFMono-Regular", Consolas, "Microsoft YaHei", monospace;--radius: 10px;--ease-out: cubic-bezier(.16, 1, .3, 1);--transition: .2s var(--ease-out);--sidebar-width: 228px;--mobile-header-height: 64px;--touch-target: 45px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);min-height:100vh;overflow-x:clip}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-layout{display:flex;min-height:100vh}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:calc(var(--mobile-header-height) + var(--safe-area-top));background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;padding:var(--safe-area-top) max(16px,var(--safe-area-right)) 0 max(16px,var(--safe-area-left));z-index:100;gap:12px}.mobile-title{font-size:16px;font-weight:600}.menu-toggle{width:var(--touch-target);height:var(--touch-target);display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--color-control-border);border-radius:var(--radius);cursor:pointer;color:var(--color-text)}.hamburger{display:block;width:20px;height:2px;background:var(--color-text);position:relative}.hamburger:before,.hamburger:after{content:"";position:absolute;width:20px;height:2px;background:var(--color-text);left:0}.hamburger:before{top:-6px}.hamburger:after{top:6px}.sidebar{width:var(--sidebar-width);min-height:100vh;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:90}.sidebar-header{padding:28px 20px;border-bottom:1px solid var(--color-border)}.sidebar-close{display:none;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--color-control-border);border-radius:var(--radius);background:transparent;color:var(--color-text);font-size:28px;cursor:pointer}.sidebar-title{font-size:15px;font-weight:600;color:var(--color-text)}.nav-list{list-style:none;padding:0 12px 16px;flex:1;overflow-y:auto}.nav-list li+li{margin-top:6px}.nav-item{display:flex;align-items:center;gap:12px;padding:0 12px;height:48px;color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition),background-color var(--transition);border-radius:var(--radius);font-size:14px;white-space:nowrap}.nav-item:hover{color:var(--color-text);background:var(--color-surface-hover)}.nav-item--active{color:var(--color-primary);background:var(--color-accent-soft);font-weight:600}.nav-icon{width:19px;height:19px;flex:0 0 auto}.sidebar-footer{padding:20px 16px max(24px,var(--safe-area-bottom));border-top:1px solid var(--color-border)}.amount-privacy-toggle,.amount-privacy-control{width:100%;min-height:var(--touch-target);display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:0 10px;border:1px solid var(--color-control-border);border-radius:var(--radius);background:transparent;color:var(--color-text-secondary);font:inherit;font-size:13px;cursor:pointer;transition:color var(--transition),border-color var(--transition),background-color var(--transition)}.amount-privacy-toggle:hover,.amount-privacy-control:hover{color:var(--color-text);border-color:var(--color-text-secondary)}.amount-privacy-toggle[aria-pressed=true],.amount-privacy-control[aria-pressed=true]{color:var(--color-info);border-color:var(--color-info);background:var(--color-surface-raised)}.amount-privacy-icon{width:18px;height:18px;flex:0 0 auto}.amount-privacy-control{width:44px;min-width:44px;height:44px;min-height:44px;flex:0 0 44px;justify-content:center;margin:0;padding:0}.amount-privacy-control:focus-visible,.amount-privacy-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.privacy-note{font-size:13px;color:var(--color-text-secondary);line-height:1.4}.sidebar-overlay{display:none;position:fixed;inset:0;background:var(--color-overlay);z-index:80}.main-content{flex:1;min-width:0;margin-left:var(--sidebar-width);min-height:100vh;padding:0 clamp(24px,3.2vw,56px) 24px;display:flex;flex-direction:column}@media(max-width:768px){.mobile-header{display:flex}.sidebar-header{display:flex;align-items:center;justify-content:space-between;min-height:calc(var(--mobile-header-height) + var(--safe-area-top));padding-top:calc(20px + var(--safe-area-top));padding-bottom:20px;padding-right:max(20px,var(--safe-area-right));padding-left:max(20px,var(--safe-area-left))}.sidebar-close{display:inline-flex}.sidebar{width:min(300px,calc(100vw - 36px));transform:translate(-100%);transition:transform var(--transition);top:0;z-index:120}.sidebar--open{transform:translate(0);transition:none}.sidebar-overlay{display:block;z-index:110}.main-content{margin-left:0;padding:calc(var(--mobile-header-height) + 16px + var(--safe-area-top)) calc(16px + var(--safe-area-right)) calc(16px + var(--safe-area-bottom)) calc(16px + var(--safe-area-left));max-width:100%;overflow-x:clip}}.brand-mark{width:36px;height:36px;color:var(--color-primary);flex-shrink:0}.sidebar-brand,.mobile-brand{display:flex;align-items:center;gap:10px}.brand-domain{font-size:11px;color:var(--color-text-secondary);margin-top:3px;letter-spacing:.05em}.nav-group-label{padding:28px 24px 12px;color:var(--color-text-secondary);font-size:11px;letter-spacing:.12em}.nav-active-marker{margin-left:auto;width:5px;height:5px;border-radius:50%;flex-shrink:0}.nav-item--active .nav-active-marker{background:currentColor}.device-status{display:flex;align-items:center;gap:7px;color:var(--color-text-secondary);font-size:11px;margin-bottom:14px}.device-status>span,.workspace-local>span{width:5px;height:5px;border-radius:50%;background:var(--color-primary)}.backup-note{font-size:11px;color:var(--color-text-secondary);margin-top:6px}.sidebar-footer .privacy-note{font-size:11px}.workspace-bar{width:100%;max-width:1200px;margin:0 auto 32px;height:77px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-size:12px}.workspace-divider{margin:0 12px;color:var(--color-text-secondary)}.workspace-current{color:var(--color-text)}.workspace-local{display:flex;align-items:center;gap:8px;font-size:11px}.workspace-footer{width:100%;max-width:1200px;margin:44px auto 0;padding-top:18px;display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:11px}.page-eyebrow{color:var(--color-primary);font-size:11px;font-weight:600;letter-spacing:.12em;margin-bottom:8px}.page-description{color:var(--color-text-secondary);font-size:14px;line-height:1.75;margin:8px 0 24px}.mobile-local{margin-left:auto;font-size:11px;color:var(--color-text-secondary);white-space:nowrap}.mobile-brand .brand-mark{width:28px;height:28px}.button-icon{width:16px;height:16px;flex-shrink:0}@media(max-width:768px){.workspace-bar{display:none}.page-title{font-size:25px}.page-description{font-size:14px;margin-bottom:24px}.main-content{padding-top:calc(var(--mobile-header-height) + 28px + var(--safe-area-top))}.workspace-footer{margin-top:32px}.menu-toggle{border-color:transparent;width:44px;flex-shrink:0}.mobile-header{gap:8px;padding-right:max(12px,var(--safe-area-right));padding-left:max(8px,var(--safe-area-left))}.mobile-brand{gap:8px}}@media(max-width:360px){.mobile-local{display:none}}.page{width:100%;max-width:1200px;margin:0 auto;min-width:0;flex:1}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:12px;flex-wrap:wrap}.page-title{font-size:28px;font-weight:600;margin-bottom:4px;line-height:1.4;letter-spacing:-.04em}.privacy-inline{font-size:13px;color:var(--color-text-secondary);margin-bottom:24px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target);min-width:var(--touch-target);padding:8px 20px;border:1px solid transparent;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition),transform .1s var(--ease-out);text-decoration:none;gap:6px;font-family:var(--font-sans);white-space:nowrap}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary-action);color:var(--color-on-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-control-border)}.btn-secondary:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-text-secondary)}.btn-danger{background:transparent;color:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger-soft)}.btn-sm{min-height:44px;padding:6px 14px;font-size:13px}.search-box{position:relative;margin-bottom:16px}.search-label{display:block;font-size:14px;color:var(--color-text-secondary);margin-bottom:6px}.search-input{width:100%;height:var(--touch-target);padding:0 16px;background:var(--color-bg);border:1px solid var(--color-control-border);border-radius:var(--radius);color:var(--color-text);font-size:16px;font-family:var(--font-sans);outline:none;transition:border-color var(--transition)}.search-input:focus{border-color:var(--color-primary)}.search-input::placeholder{color:var(--color-text-secondary)}.search-loading{position:absolute;right:12px;top:50%;font-size:13px;color:var(--color-text-secondary)}.search-results{position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);max-height:320px;overflow-y:auto;z-index:50;list-style:none;margin-top:4px}.search-result-item{display:flex;align-items:center;gap:12px;padding:0 16px;min-height:var(--touch-target);cursor:pointer;transition:background var(--transition)}.search-result-item:hover,.search-result-item--active{background:var(--color-surface-hover)}.search-result-item--exact .result-code{color:var(--color-primary);font-weight:600}.result-code{font-family:var(--font-mono);font-size:14px;min-width:70px;color:var(--color-text)}.result-name{flex:1;font-size:14px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-class{font-size:12px;color:var(--color-text-secondary);padding:2px 8px;background:var(--color-surface-raised);border-radius:3px}.add-flow{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px;margin-bottom:24px}.flow-title{font-size:18px;font-weight:500;margin-bottom:16px}.selected-fund{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px;background:var(--color-bg);border-radius:var(--radius)}.fund-code{font-family:var(--font-mono);font-size:14px}.fund-name{flex:1;font-size:14px}.fund-class{font-size:12px;color:var(--color-info);padding:2px 8px;background:var(--color-info-soft);border-radius:3px}.amount-form{margin-top:12px}.form-field{margin-bottom:16px}.form-field label{display:block;font-size:14px;color:var(--color-text-secondary);margin-bottom:6px}.form-field input{width:100%;height:var(--touch-target);padding:0 16px;background:var(--color-bg);border:1px solid var(--color-control-border);border-radius:var(--radius);color:var(--color-text);font-size:16px;font-family:var(--font-sans);outline:none}.form-field input:focus{border-color:var(--color-primary)}.form-field input[aria-invalid=true]{border-color:var(--color-danger)}.field-error{color:var(--color-danger);font-size:13px;margin-top:4px}.form-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:16px}.confirm-check{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:14px;color:var(--color-text-secondary);cursor:pointer;min-height:var(--touch-target)}.confirm-check input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-primary)}.success-message{text-align:center;padding:24px}.success-message p{margin-bottom:16px;color:var(--color-success)}.review-card{background:var(--color-bg);border-radius:var(--radius);padding:16px;margin-bottom:16px}.review-list{display:grid;gap:12px}.review-item{display:flex;justify-content:space-between;align-items:center;gap:16px}.review-item dt{flex-shrink:0}.review-item dd{min-width:0;overflow-wrap:anywhere;text-align:right}.review-item dt{font-size:14px;color:var(--color-text-secondary)}.review-item dd{font-size:14px;font-weight:500}.review-amount{font-family:var(--font-mono);color:var(--color-primary);font-size:16px}.import-export-bar{display:flex;gap:12px;margin-bottom:24px}.import-label{cursor:pointer;position:relative;overflow:hidden}.file-input-hidden{position:absolute;width:1px;height:1px;opacity:0}.import-preview{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px;margin-bottom:24px}.import-preview h3{font-size:18px;margin-bottom:12px}.import-result{padding:12px 16px;background:var(--color-success-soft);border:1px solid var(--color-success);border-radius:var(--radius);color:var(--color-success);margin-bottom:24px;font-size:14px}.holdings-list{display:flex;flex-direction:column;gap:12px}.holding-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px}.holding-info{display:flex;align-items:center;gap:12px;margin-bottom:12px}.holding-code{font-family:var(--font-mono);font-size:14px}.holding-name{flex:1;font-size:15px}.holding-class{font-size:12px;color:var(--color-info);padding:2px 8px;background:var(--color-info-soft);border-radius:3px}.holding-amount-row{display:flex;align-items:center;justify-content:space-between}.holding-amount{font-family:var(--font-mono);font-size:16px;font-weight:500}.private-amount,.holding-amount{position:relative;display:inline-block;min-width:7ch;-webkit-text-fill-color:currentColor;transition:color var(--transition)}.app-layout--amounts-hidden .private-amount,.app-layout--amounts-hidden .holding-amount{color:transparent!important;-webkit-text-fill-color:transparent;user-select:none}.app-layout--amounts-hidden .private-amount:after,.app-layout--amounts-hidden .holding-amount:after{content:"••••";position:absolute;left:0;top:50%;transform:translateY(-50%);color:var(--color-text-secondary);-webkit-text-fill-color:var(--color-text-secondary);letter-spacing:.08em;white-space:nowrap}.holding-actions{display:flex;gap:8px}.holding-edit{display:flex;align-items:center;gap:8px}.edit-input{width:150px;height:44px;padding:0 12px;background:var(--color-bg);border:1px solid var(--color-control-border);border-radius:var(--radius);color:var(--color-text);font-size:16px;font-family:var(--font-mono);outline:none}.edit-input:focus{border-color:var(--color-primary)}.analysis-content{display:flex;flex-direction:column;gap:24px}.analysis-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px}.section-title{font-size:16px;font-weight:600;margin-bottom:12px;color:var(--color-text)}.conclusion-text{font-size:15px;line-height:1.6;margin-bottom:12px}.top-concerns h4{font-size:14px;font-weight:500;color:var(--color-warning);margin-bottom:8px}.top-concerns ol{padding-left:20px;font-size:14px;line-height:1.6}.top-concerns li{margin-bottom:4px}.data-table{width:100%;min-width:520px;border-collapse:collapse;font-size:14px}.sector-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.data-table th{text-align:left;padding:8px 12px;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-weight:500;font-size:13px}.data-table td{padding:8px 12px;border-bottom:1px solid var(--color-border)}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--color-surface-hover)}.data-table .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.metric-card{background:var(--color-bg);border-radius:var(--radius);padding:12px 16px}.metric-card dt{font-size:12px;color:var(--color-text-secondary);margin-bottom:4px}.metric-card dd{font-size:20px;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.metric-footnote{font-size:12px;color:var(--color-text-secondary);margin-top:12px;line-height:1.5}.section-note{font-size:13px;color:var(--color-text-secondary);margin-top:8px}.no-data{font-size:14px;color:var(--color-text-secondary)}.status-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500}.status--available{background:var(--color-success-soft);color:var(--color-success)}.status--stale{background:var(--color-warning-soft);color:var(--color-warning)}.status--partial{background:var(--color-info-soft);color:var(--color-info)}.status--unavailable{background:var(--color-danger-soft);color:var(--color-danger)}.status--unknown{background:var(--color-surface-raised);color:var(--color-text-secondary)}.error-banner{padding:12px 16px;background:var(--color-danger-soft);border:1px solid var(--color-danger);border-radius:var(--radius);color:var(--color-danger);font-size:14px;margin-bottom:16px;overflow-wrap:anywhere}.empty-state{max-width:560px;text-align:left;padding:28px 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary)}.empty-state p{margin-bottom:8px}.empty-state>p:first-child{color:var(--color-text);font-size:17px;font-weight:600}.empty-hint{font-size:14px}.empty-state-actions{margin-top:20px}.empty-meta{margin-top:16px;margin-bottom:0!important;font-size:12px}.glossary-search{margin-bottom:24px}.glossary-list{display:flex;flex-direction:column;gap:12px}.glossary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px}.glossary-term{font-size:16px;font-weight:600;margin-bottom:8px}.glossary-definition{font-size:14px;line-height:1.7;color:var(--color-text-secondary);margin-bottom:12px}.glossary-tags{display:flex;gap:6px;flex-wrap:wrap}.tag{display:inline-block;padding:2px 10px;background:var(--color-accent-soft);color:var(--color-primary);border-radius:12px;font-size:12px}.coverage-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;color:var(--color-text-secondary)}.coverage-label{font-size:13px}.coverage-warning{color:var(--color-warning);font-style:italic}.import-overlay{display:block;position:fixed;inset:0;background:var(--color-overlay);z-index:200}.import-preview{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(92vw,520px);max-height:min(80vh,640px);overflow:auto;z-index:201}.search-status,.manual-fallback{margin-top:10px;color:var(--color-text-secondary);font-size:13px;line-height:1.55}.manual-fallback{padding:12px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.manual-fallback-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.search-error-detail{color:var(--color-text-secondary);font-size:13px;overflow-wrap:anywhere;margin-top:8px}.search-error-detail>summary{min-height:44px;padding:12px 0;cursor:pointer}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.main-content:focus{outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.pwa-update{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:24px;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-raised);color:var(--color-text-secondary);font-size:12px}.pwa-update p{min-width:0;margin:0;overflow-wrap:anywhere}.pwa-update-actions{display:flex;flex-shrink:0;gap:8px}.health-page .page-description+.privacy-inline{margin-top:-16px;margin-bottom:28px;font-size:12px}.health-page .health-onboarding{max-width:none;margin-top:20px;padding:24px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.onboarding-intro{min-width:0}.empty-status{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--color-primary)}.empty-status>span{width:6px;height:6px;border:1px solid currentColor;border-radius:50%}.onboarding-intro h3{color:var(--color-text);font-size:19px;font-weight:600;line-height:1.5;margin:12px 0 8px}.onboarding-intro .empty-hint{line-height:1.75}.onboarding-intro .btn{min-width:140px;gap:16px}.onboarding-intro .empty-state-actions{margin:20px 0 12px}.onboarding-footnote{margin-top:16px;color:var(--color-text-secondary);font-size:12px;line-height:1.8}.health-page .analysis-content{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.analysis-content>*{min-width:0}.health-page .analysis-section{padding:24px;border-radius:12px}.analysis-section .section-title{margin-bottom:16px;font-size:15px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading .section-title{margin-bottom:0}.section-heading{margin-bottom:16px}.section-kicker{font-size:11px;color:var(--color-text-secondary)}.section-link{display:inline-flex;align-items:center;min-height:44px;gap:8px;font-size:12px;color:var(--color-primary);text-decoration:none}.section-link:hover{text-decoration:underline;text-underline-offset:5px}.portfolio-overview{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0}.portfolio-overview .overview-balance{grid-column:1 / -1}.portfolio-overview dt{font-size:12px;color:var(--color-text-secondary);margin-bottom:8px}.portfolio-overview dd{color:var(--color-text);font-family:var(--font-mono);font-size:28px;font-weight:500;line-height:1.4}.portfolio-overview .overview-balance dd{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:clamp(27px,3vw,40px);letter-spacing:-.035em;overflow-wrap:anywhere}.portfolio-overview .overview-balance dd>.private-amount{min-width:0}.portfolio-overview .metric-unit{font-family:var(--font-sans);color:var(--color-text-secondary);font-size:12px;font-weight:400}.portfolio-overview .overview-coverage dd{line-height:1}.overview-coverage .status-badge{font-family:var(--font-sans);padding:7px 10px;font-size:12px}.analysis-overview .top-concerns{margin-top:26px;padding-top:20px;border-top:1px solid var(--color-border)}.top-concerns h4{color:var(--color-warning);font-size:12px}.top-concerns ol{list-style:none;padding:0;counter-reset:concerns}.top-concerns>ol>li{counter-increment:concerns;display:flex;gap:12px;padding:12px 0;margin:0;color:var(--color-text-secondary);font-size:13px;line-height:1.75}.top-concerns>ol>li:before{content:"0" counter(concerns);color:var(--color-warning);font-family:var(--font-mono);font-size:11px;padding-top:2px}.concern-body{min-width:0}.concern-theme{display:block;color:var(--color-text);font-size:13px;font-weight:600;margin-bottom:4px}.concern-body p{margin:0}.concern-details summary{cursor:pointer;color:var(--color-primary);min-height:44px;padding:10px 0}.concern-details ul{padding-left:16px;list-style:disc}.concern-details li+li{margin-top:6px}.analysis-sectors .coverage-row{margin-bottom:0;flex-wrap:wrap}.analysis-sectors .section-note{font-size:11px;margin-bottom:16px}.analysis-sectors .data-table{min-width:390px}.analysis-sectors .data-table th{padding:8px 0 12px;font-size:11px}.analysis-sectors .data-table td{padding:14px 0;font-size:13px}.analysis-sectors .data-table th+th,.analysis-sectors .data-table td+td{padding-left:16px}.sector-name{display:block;min-width:88px;max-width:180px;overflow-wrap:anywhere}.sector-weight-track{display:block;width:100%;max-width:112px;height:3px;margin-top:7px;border-radius:2px;background:var(--color-border);overflow:hidden}.sector-weight-track>span{display:block;height:100%;background:var(--color-primary);border-radius:inherit}.health-page .metrics-grid{gap:0}.health-page .metric-card{background:transparent;border-radius:0;padding:16px 0}.health-page .metric-card dt{font-size:12px}.health-page .metric-card dd{font-size:26px;font-weight:500;line-height:1.4}.analysis-concentration .metrics-grid{grid-template-columns:minmax(0,1fr)}.analysis-concentration .metric-card{display:flex;justify-content:space-between;align-items:center;gap:12px}.analysis-concentration .metric-card+.metric-card{border-top:1px solid var(--color-border)}.analysis-concentration dt{color:var(--color-text)}.analysis-concentration dt>span{display:block;color:var(--color-text-secondary);font-size:11px;margin-top:6px}.analysis-risk .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.health-page .metric-card dt a{display:inline-flex;align-items:center;min-height:44px;color:var(--color-text-secondary);text-decoration:underline;text-decoration-color:var(--color-border);text-underline-offset:4px}.health-page .metric-card dt a:hover{color:var(--color-primary);text-decoration-color:currentColor}.coverage-ratio{margin:10px 0 8px;font-size:12px;color:var(--color-text-secondary)}.coverage-ratio strong{margin-right:4px;color:var(--color-text);font-family:var(--font-mono);font-size:23px;font-weight:500}.coverage-details{margin-top:16px;padding-top:6px;border-top:1px solid var(--color-border);font-size:12px}.coverage-details>summary{min-height:44px;padding:12px 0;cursor:pointer;color:var(--color-primary)}.coverage-details>summary>span{margin-left:6px;color:var(--color-text-secondary)}.detail-explanation{color:var(--color-text-secondary);font-size:11px;margin:0 0 8px}.fund-data-list{list-style:none;margin:0;padding:0}.fund-data-list>li{padding:14px 0;border-top:1px solid var(--color-border)}.fund-data-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.fund-data-heading>div{min-width:0}.fund-data-heading strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}.fund-data-heading .status-badge{flex-shrink:0}.fund-data-identity{display:block;margin-top:4px;font-size:11px;color:var(--color-text-secondary)}.fund-data-measure,.fund-data-reason{margin:8px 0 0;color:var(--color-text-secondary);overflow-wrap:anywhere}.fund-data-reason{font-size:11px}.data-evidence{margin-top:14px;padding:12px 0 0;border-top:1px dashed var(--color-border);color:var(--color-text-secondary)}.evidence-source{color:var(--color-text);margin:0 0 10px}.evidence-fields{display:grid;gap:7px;margin:0}.evidence-fields>div{display:grid;grid-template-columns:116px minmax(0,1fr);gap:12px}.evidence-fields dt{color:var(--color-text-secondary)}.evidence-fields dd{margin:0;overflow-wrap:anywhere}.evidence-link{display:inline-flex;align-items:center;min-height:44px;color:var(--color-primary)}.evidence-note{margin:8px 0}.evidence-technical summary,.quant-data-scope summary{cursor:pointer;min-height:44px;padding:12px 0;color:var(--color-primary)}.evidence-technical p,.history-quality p{margin:6px 0;line-height:1.8}.evidence-hash{overflow-wrap:anywhere;font-family:var(--font-mono)}.history-quality{margin-top:12px}.history-quality ul{padding-left:18px;margin:8px 0 0;line-height:1.85}.quant-data-scope p,.scope-fields{color:var(--color-text-secondary);font-size:12px;line-height:1.85}.quant-data-scope a{color:var(--color-primary);text-underline-offset:3px}.scope-fields{margin:0}.scope-fields>div{padding:12px 0;border-top:1px solid var(--color-border)}.scope-fields dt{color:var(--color-text);font-weight:500}.scope-fields dd{margin:5px 0 0}.data-evidence a:hover,.quant-data-scope a:hover{text-decoration-thickness:2px}.data-evidence :is(a,summary):focus-visible,.quant-data-scope :is(a,summary):focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}@media(max-width:639px){.evidence-fields>div{grid-template-columns:minmax(0,1fr);gap:2px}.evidence-fields{gap:10px}}.risk-frequency-note,.risk-sample-note,.risk-alignment-note{font-size:12px;line-height:1.8;margin-top:10px;color:var(--color-text-secondary)}.analysis-snapshot summary{cursor:pointer;min-height:44px;padding:12px 0;color:var(--color-primary)}.analysis-snapshot summary:hover{text-decoration:underline;text-underline-offset:3px}.analysis-snapshot summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.analysis-snapshot p{font-size:12px;line-height:1.8;color:var(--color-text-secondary);overflow-wrap:anywhere}.analysis-snapshot .btn{min-height:44px;margin-top:8px}.risk-alignment-note{color:var(--color-warning)}.analysis-receipts{flex-basis:100%;border-top:1px solid var(--color-border);padding-top:12px}.request-receipt{color:var(--color-text-secondary);font-size:12px;line-height:1.8;margin:4px 0;overflow-wrap:anywhere}.request-receipt strong{font-weight:500;color:var(--color-text)}.receipt-explanation{color:var(--color-text-secondary);font-size:11px;line-height:1.8;margin-top:8px}.analysis-note ul{padding-left:18px;font-size:13px;line-height:1.8;color:var(--color-text-secondary)}.analysis-note .section-note{margin:0 0 12px}.analysis-coverage{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.analysis-coverage .section-title,.analysis-coverage .section-note{margin:0}.analysis-coverage .section-note{flex:1 1 360px;font-size:12px}.analysis-loading{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--color-text-secondary);margin-bottom:20px}.health-page .status--loading{color:var(--color-text-secondary);background:var(--color-surface-raised);font-family:var(--font-sans)}.analysis-pending{color:var(--color-text-secondary);font-size:13px;line-height:1.8;margin:16px 0 0}.loading-dot{width:8px;height:8px;flex-shrink:0;background:var(--color-primary);border-radius:50%;animation:data-pulse 1.3s ease-in-out infinite}.analysis-skeleton{padding:28px;min-height:260px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.analysis-skeleton>div{width:64%;max-width:400px;height:20px;border-radius:5px;background:var(--color-surface-raised);margin-bottom:24px}.analysis-skeleton>div:first-child{width:34%;height:44px}.icon-spinning{animation:refresh-spin 1.5s linear infinite}@keyframes data-pulse{50%{opacity:.35}}@keyframes refresh-spin{to{transform:rotate(360deg)}}@media(min-width:900px){.portfolio-overview{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr) minmax(0,1fr)}.portfolio-overview .overview-balance{grid-column:auto}.portfolio-overview>div+div{border-left:1px solid var(--color-border);padding-left:24px}.analysis-risk .metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1100px){.health-page .analysis-content{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.analysis-overview,.analysis-note,.analysis-risk,.analysis-coverage{grid-column:1 / -1}}@media(max-width:480px){.health-page .analysis-section,.health-page .health-onboarding{padding:20px 16px}.health-page .page-header{align-items:center;flex-wrap:nowrap}.health-page .page-header .btn{font-size:12px;padding:8px 12px}.health-page .page-header .page-title{font-size:25px}.analysis-overview .portfolio-overview{gap:22px 12px}}@media(prefers-reduced-motion:reduce){.icon-spinning,.loading-dot{animation:none}}.holdings-page .holdings-entry-actions{display:flex;flex-wrap:wrap;gap:8px}.screenshot-import{margin-bottom:24px;padding:24px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.screenshot-import-heading,.screenshot-draft-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.screenshot-import-heading h3{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600}.screenshot-import-heading h3 span{padding:2px 7px;border:1px solid var(--color-border);border-radius:5px;color:var(--color-warning);font-size:11px;font-weight:500}.screenshot-import-heading p,.screenshot-review-heading p,.screenshot-upload-copy p{margin-top:7px;color:var(--color-text-secondary);font-size:13px;line-height:1.75}.screenshot-import-steps{display:flex;flex-wrap:wrap;gap:12px 28px;margin:24px 0;padding:18px 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);list-style:none}.screenshot-import-steps li{display:flex;align-items:center;gap:8px;color:var(--color-text-secondary);font-size:12px}.screenshot-import-steps li>span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--color-border);border-radius:6px;font-variant-numeric:tabular-nums}.screenshot-import-steps [aria-current=step]{color:var(--color-text)}.screenshot-import-steps [aria-current=step]>span{background:var(--color-primary-action);border-color:var(--color-primary-action);color:var(--color-on-primary)}.screenshot-upload{padding:20px;border:1px dashed var(--color-border);border-radius:10px;background:var(--color-bg)}.screenshot-upload--with-preview{display:grid;grid-template-columns:minmax(100px,160px) minmax(0,1fr);align-items:start;gap:20px}.screenshot-preview-image{display:block;width:100%;max-height:240px;object-fit:contain;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface)}.screenshot-upload-copy{min-width:0}.screenshot-upload-copy h4,.screenshot-review-heading h4,.screenshot-success h4{font-size:15px;font-weight:600;overflow-wrap:anywhere}.screenshot-upload-actions,.screenshot-final-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.screenshot-progress{margin-top:20px;padding:18px;border:1px solid var(--color-border);border-radius:10px}.screenshot-progress p{font-size:13px;color:var(--color-text-secondary)}.screenshot-progress p:first-child{display:flex;justify-content:space-between;gap:12px;color:var(--color-text)}.screenshot-progress progress{display:block;width:100%;height:8px;margin:16px 0;accent-color:var(--color-primary)}.screenshot-progress .btn{margin-top:16px}.screenshot-import>.error-banner,.screenshot-import .screenshot-upload+.error-banner{margin-top:20px}.screenshot-review{margin-top:28px}.screenshot-review-heading{margin-bottom:18px}.screenshot-warnings,.screenshot-row-issues{padding:12px 16px 12px 32px;border:1px solid var(--color-border);border-radius:8px;color:var(--color-warning);background:var(--color-bg);font-size:12px;line-height:1.8;overflow-wrap:anywhere}.screenshot-warnings{margin-bottom:16px}.screenshot-row-issues{margin:10px 0 16px}.screenshot-account-total{margin:14px 0;color:var(--color-text-secondary);font-size:13px;overflow-wrap:anywhere}.screenshot-account-total .private-amount{color:var(--color-text);font-variant-numeric:tabular-nums}.screenshot-no-drafts{padding:16px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;line-height:1.8}.screenshot-drafts{display:grid;gap:18px}.screenshot-draft{min-width:0;padding:18px;border:1px solid var(--color-border);border-radius:10px}.screenshot-draft--excluded{background:var(--color-bg)}.screenshot-select-label{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-size:14px}.screenshot-import input[type=checkbox],.screenshot-import input[type=radio]{width:20px;height:20px;flex-shrink:0;accent-color:var(--color-primary)}.screenshot-row-state{color:var(--color-warning);font-size:12px}.screenshot-row-state.is-ready{color:var(--color-primary)}.screenshot-recognized-name{margin-top:6px;color:var(--color-text-secondary);font-size:13px;overflow-wrap:anywhere}.screenshot-row-hint{margin-top:7px;color:var(--color-text-secondary);font-size:12px;line-height:1.75;overflow-wrap:anywhere}.screenshot-draft-fields{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(140px,1fr);gap:16px;margin-top:16px}.screenshot-draft-fields .form-field{min-width:0;margin-bottom:0}.screenshot-draft-fields input{min-width:0;font-size:16px}.screenshot-search-controls{display:flex;align-items:flex-start;gap:8px}.screenshot-search-controls input{flex:1;width:0}.screenshot-search-controls .btn{flex-shrink:0;padding-right:12px;padding-left:12px}.screenshot-lookup-error{margin-top:14px;color:var(--color-warning);font-size:13px;line-height:1.7}.screenshot-search-results{min-width:0;margin-top:16px;padding:0;border:0}.screenshot-search-results legend{margin-bottom:10px;color:var(--color-text-secondary);font-size:13px}.screenshot-fund-option{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:13px;border:1px solid var(--color-border);border-radius:8px;cursor:pointer}.screenshot-fund-option+.screenshot-fund-option{margin-top:8px}.screenshot-fund-option:has(input:checked){border-color:var(--color-primary);background:var(--color-accent-soft)}.screenshot-fund-option:hover{background:var(--color-surface-hover)}.screenshot-fund-option>span{min-width:0}.screenshot-fund-option strong{display:block;font-size:14px;font-weight:500;overflow-wrap:anywhere}.screenshot-option-meta{display:block;margin-top:5px;color:var(--color-text-secondary);font-size:12px;overflow-wrap:anywhere}.screenshot-chosen-identity{margin-top:16px;padding:14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg)}.screenshot-chosen-identity>p{color:var(--color-primary);font-size:13px;overflow-wrap:anywhere}.screenshot-chosen-identity dl{display:grid;gap:7px;margin-top:12px}.screenshot-chosen-identity dl>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;font-size:12px}.screenshot-chosen-identity dt{color:var(--color-text-secondary)}.screenshot-chosen-identity dd{margin:0;overflow-wrap:anywhere}.screenshot-import details>summary{display:list-item;min-height:44px;padding:11px 0;color:var(--color-text-secondary);cursor:pointer;font-size:12px}.screenshot-import details>summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.screenshot-row-evidence{margin-top:10px}.screenshot-row-evidence p{color:var(--color-text-secondary);font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}.screenshot-raw-text{margin-top:18px}.screenshot-raw-text pre{max-height:240px;overflow:auto;padding:16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);font:12px/1.75 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.screenshot-confirm-area{margin-top:22px;padding:16px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg)}.screenshot-selection-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:16px;font-size:13px}.screenshot-selection-summary strong{color:var(--color-primary);font-variant-numeric:tabular-nums}.screenshot-selection-summary .private-amount{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.screenshot-final-actions{justify-content:flex-end}.screenshot-draft-fields--matched{grid-template-columns:minmax(0,1fr)}.screenshot-identity-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 16px;margin-top:8px}.screenshot-identity-actions>details{flex:1 1 180px;min-width:0}.screenshot-identity-actions .btn{font-size:12px}.screenshot-upload--compact{grid-template-columns:64px minmax(0,1fr);padding:12px;gap:14px}.screenshot-upload--compact .screenshot-preview-image{max-height:96px}.screenshot-upload--compact .screenshot-upload-actions{margin-top:8px}.screenshot-draft,.screenshot-draft input{scroll-margin-bottom:240px}.screenshot-success p{margin:10px 0 20px;color:var(--color-text-secondary);font-size:14px}.screenshot-import :disabled{cursor:not-allowed}.screenshot-import input:disabled{opacity:.55}@media(max-width:1100px){.screenshot-draft-fields{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.screenshot-import{padding:18px 14px}.screenshot-import-heading{align-items:flex-start}.screenshot-import-heading h3{font-size:16px}.screenshot-import-heading>.btn{padding-left:12px;padding-right:12px}.screenshot-import-steps{flex-wrap:nowrap;justify-content:space-between;gap:5px;margin:18px 0}.screenshot-import-steps li{gap:5px;font-size:11px}.screenshot-import-steps li>span{width:20px;height:20px}.screenshot-upload{padding:14px}.screenshot-upload--with-preview{grid-template-columns:minmax(0,1fr);gap:16px}.screenshot-preview-image{max-height:200px}.screenshot-upload--compact{grid-template-columns:48px minmax(0,1fr);gap:10px}.screenshot-upload--compact .screenshot-upload-actions{margin-left:-58px;margin-top:14px}.screenshot-upload-actions>.btn{flex:1 1 auto}.screenshot-draft{padding:14px 12px}.screenshot-search-controls{flex-wrap:wrap}.screenshot-search-controls input{flex-basis:100%;width:100%}.screenshot-search-controls>.btn{width:100%}.screenshot-fund-option{padding:12px 10px;gap:9px}.screenshot-chosen-identity{padding:12px}.screenshot-final-actions>.btn{flex:1 1 100%}.screenshot-confirm-area{padding:12px}.screenshot-selection-summary{margin-bottom:6px}.screenshot-final-actions{margin-top:10px}.screenshot-final-actions>.btn-secondary{flex-basis:auto}}@media(max-width:480px){.holdings-page .holdings-entry-actions{flex-direction:column}}.dialog-layer{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px}.dialog-overlay{position:absolute;inset:0;background:var(--color-overlay)}.action-dialog{position:relative;display:flex;flex-direction:column;width:min(100%,560px);max-height:calc(100dvh - 48px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 20px 64px #25312b29;overflow:hidden}.action-dialog-header{flex:0 0 auto;padding:24px 24px 16px}.action-dialog-header h3{margin:0 0 8px;font-size:20px;font-weight:650;line-height:1.4;color:var(--color-text)}.action-dialog-header p{margin:0;font-size:14px;line-height:1.65;color:var(--color-text-secondary)}.action-dialog-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 24px 20px;font-size:14px;line-height:1.65}.action-dialog-content p{margin:0 0 12px}.action-dialog-content p:last-child{margin-bottom:0}.action-dialog-footer{flex:0 0 auto;border-top:1px solid var(--color-border);padding:16px 24px;background:var(--color-surface)}.action-dialog-footer .error-banner{margin:0 0 12px;font-size:13px;line-height:1.6}.action-dialog-actions{display:flex;justify-content:flex-end;gap:12px}.action-dialog-actions .btn{min-height:44px}.dialog-holding{padding:16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);margin-bottom:16px}.dialog-holding strong{display:block;font-weight:600;overflow-wrap:anywhere}.dialog-holding-meta{color:var(--color-text-secondary);font-size:13px;margin:4px 0 12px!important}.dialog-holding-amount{font-size:20px;font-variant-numeric:tabular-nums;font-weight:600}.dialog-note{color:var(--color-text-secondary);font-size:13px}.dialog-warning{background:var(--color-warning-soft);border-left:3px solid var(--color-warning);color:var(--color-text);padding:12px;border-radius:4px}.dialog-backup-meta{margin:0 0 16px;font-size:13px;display:grid;gap:6px}.dialog-backup-meta>div{display:grid;grid-template-columns:68px minmax(0,1fr);gap:8px}.dialog-backup-meta dt{color:var(--color-text-secondary)}.dialog-backup-meta dd{margin:0;overflow-wrap:anywhere}.dialog-records{list-style:none;padding:0;margin:16px 0;border-top:1px solid var(--color-border)}.dialog-records li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--color-border);align-items:center}.dialog-records strong{display:block;font-size:14px;font-weight:500;overflow-wrap:anywhere}.dialog-records small{display:block;font-size:12px;color:var(--color-text-secondary)}.dialog-records .private-amount{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.dialog-layer[data-amounts-hidden=true] .private-amount{color:transparent!important;user-select:none;position:relative}.dialog-layer[data-amounts-hidden=true] .private-amount:after{content:"••••";position:absolute;inset:0;color:var(--color-text);letter-spacing:.14em}.action-dialog-content details{margin-top:12px;color:var(--color-text-secondary);font-size:13px;overflow-wrap:anywhere}.action-dialog-content summary{min-height:44px;cursor:pointer;display:flex;align-items:center}@media(max-width:600px){.dialog-layer{align-items:end;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))}.action-dialog{max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));width:100%}.action-dialog-header{padding:20px 16px 12px}.action-dialog-header h3{font-size:18px}.action-dialog-content{padding:0 16px 16px}.action-dialog-footer{padding:12px 16px}.action-dialog-actions{gap:8px}.action-dialog-actions .btn{flex:1;padding-inline:8px}.dialog-records li{grid-template-columns:minmax(0,1fr);gap:6px}}.holdings-page .page-header{align-items:flex-start;gap:20px;margin-bottom:24px}.holdings-page-heading{min-width:0}.holdings-page .page-subtitle{max-width:48em;margin-top:8px;color:var(--color-text-secondary);font-size:14px;line-height:1.65}.holdings-overview{margin-bottom:24px;padding:24px 24px 16px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.holdings-summary{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(100px,1fr));gap:24px;align-items:center;margin:0}.holdings-summary dt{margin-bottom:8px;color:var(--color-text-secondary);font-size:13px;font-weight:400}.holdings-summary dt span{margin-left:6px;font-size:11px}.holdings-summary dd{margin:0;font-variant-numeric:tabular-nums;letter-spacing:-.025em;line-height:1.2}.holdings-summary-total{min-width:0}.holdings-total-label{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.holdings-total-label .amount-privacy-control{margin-left:8px}.holdings-import-success{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.holdings-import-success p{margin:0}.holdings-summary-total dd{max-width:100%;overflow-wrap:anywhere;font-size:clamp(25px,2.8vw,36px);font-weight:600}.holdings-summary-stat{padding-left:24px;border-left:1px solid var(--color-border)}.holdings-summary-stat dd{font-size:27px}.holdings-summary-stat dd span{margin-left:6px;color:var(--color-text-secondary);font-size:12px}.holdings-overview-notes{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;margin-top:22px;padding-top:14px;border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:12px;line-height:1.6}.holdings-overview-notes p,.holdings-overview-notes .privacy-inline{margin:0}.holdings-page .import-export-bar{align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:0 0 20px;border-bottom:1px solid var(--color-border)}.holdings-backup-copy h3{margin:0 0 4px;font-size:14px;font-weight:600}.holdings-backup-copy p{margin:0;color:var(--color-text-secondary);font-size:12px;line-height:1.6}.holdings-backup-actions{display:flex;gap:8px}.holdings-records{overflow:hidden;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.holdings-records-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:18px 20px}.holdings-records-heading h3{display:flex;align-items:center;gap:9px;margin:0;font-size:15px;font-weight:600}.holdings-records-heading h3 span{min-width:24px;padding:2px 6px;border:1px solid var(--color-border);border-radius:5px;color:var(--color-text-secondary);text-align:center;font-size:11px;font-variant-numeric:tabular-nums}.holdings-records-heading p{margin:0;color:var(--color-text-secondary);font-size:12px}.holdings-column-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:24px;padding:10px 20px;border-top:1px solid var(--color-border);background:var(--color-surface-raised, var(--color-bg));color:var(--color-text-secondary);font-size:11px}.holdings-column-head span:last-child{text-align:right}.holdings-page .holdings-list{gap:0}.holdings-page .holding-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);align-items:center;gap:24px;padding:18px 20px;border:0;border-top:1px solid var(--color-border);border-radius:0;background:transparent;transition:background-color var(--transition)}.holdings-page .holding-card:hover{background:var(--color-surface-hover, var(--color-bg))}.holdings-page .holding-info{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;margin:0}.holdings-page .holding-name{min-width:0;color:var(--color-text);font-size:14px;font-weight:500;line-height:1.6;overflow-wrap:anywhere}.holding-identity{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.holdings-page .holding-code{color:var(--color-text-secondary);font-size:12px;font-variant-numeric:tabular-nums}.holdings-page .holding-class{border-radius:4px;background:var(--color-info-soft);color:var(--color-info);font-size:11px;line-height:1.6}.holdings-page .holding-amount-row{flex-wrap:wrap;gap:16px;min-width:0}.holdings-page .holding-amount{flex-shrink:0;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.holdings-page .holding-actions{flex-shrink:0;margin-left:auto}.holdings-page .holding-actions .btn,.holdings-page .holding-edit .btn{min-height:44px;padding:0 12px}.holdings-page .holding-edit{display:grid;grid-template-columns:minmax(80px,1fr) auto auto;gap:8px;min-width:0}.holdings-page .edit-input{width:100%;min-width:0;font-size:16px}.holdings-page .holding-edit .field-error{grid-column:1 / -1}.holdings-page .holdings-empty{max-width:none;padding:30px 24px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.holdings-empty-label{display:block;margin-bottom:12px;color:var(--color-primary);font-size:12px;font-weight:500}.holdings-empty>p:first-of-type{color:var(--color-text);font-size:20px;font-weight:600}.holdings-empty-note{max-width:44em;margin-top:14px;color:var(--color-text-secondary);font-size:12px;line-height:1.75}.holdings-page .add-flow{padding:24px;border-color:var(--color-border);border-radius:12px}.holding-flow-progress{display:flex;align-items:center;gap:24px;margin:0 0 24px;padding:0 0 20px;border-bottom:1px solid var(--color-border);list-style:none}.holding-flow-progress li{display:flex;align-items:center;gap:8px;color:var(--color-text-secondary);font-size:12px;white-space:nowrap}.holding-flow-step-number{display:inline-flex;align-items:center;justify-content:center;flex:0 0 25px;width:25px;height:25px;border:1px solid var(--color-border);border-radius:7px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.holding-flow-progress .is-current{color:var(--color-text);font-weight:600}.holding-flow-progress .is-current .holding-flow-step-number{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.holding-flow-progress .is-complete .holding-flow-step-number{border-color:var(--color-primary);color:var(--color-primary)}.holdings-page .add-flow .flow-title{margin-bottom:6px;font-size:17px;font-weight:600}.holding-flow-description{margin:0 0 22px;color:var(--color-text-secondary);font-size:13px;line-height:1.7}.holdings-page .add-flow .search-box,.holdings-page .add-flow .amount-form,.holdings-page .add-flow .selected-fund{max-width:720px}.holdings-page .add-flow .selected-fund{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;border:1px solid var(--color-border);padding:14px 16px}.holdings-page .add-flow .fund-name,.holdings-page .add-flow .result-name{min-width:0;overflow-wrap:anywhere;line-height:1.6}.holdings-page .add-flow .search-result-item{padding-top:10px;padding-bottom:10px}.holdings-page .add-flow .result-name{overflow:visible;text-overflow:clip;white-space:normal}.holdings-page .add-flow .fund-class{white-space:nowrap}.holdings-page .add-flow .form-field input{min-height:48px;font-size:17px;font-variant-numeric:tabular-nums}.holding-field-helper{margin-top:8px;color:var(--color-text-secondary);font-size:12px;line-height:1.6}.holdings-page .add-flow .review-card{max-width:720px;padding:0 18px;border:1px solid var(--color-border)}.holdings-page .add-flow .review-list{gap:0}.holdings-page .add-flow .review-item{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:start;gap:16px;padding:14px 0;line-height:1.6}.holdings-page .add-flow .review-item+.review-item{border-top:1px solid var(--color-border)}.holdings-page .add-flow .review-item dd{min-width:0;text-align:right;overflow-wrap:anywhere}.holdings-page .add-flow .review-item .review-amount{font-size:20px;font-variant-numeric:tabular-nums}.holdings-page .add-flow .confirm-check{gap:10px;color:var(--color-text)}.holdings-page .add-flow .confirm-check input{flex-shrink:0}.holdings-page .add-flow .form-actions{flex-wrap:wrap}.holdings-page .add-flow .success-message{padding:12px 0 8px;text-align:left;overflow-wrap:anywhere}.holdings-page .add-flow .success-message .flow-title{margin-bottom:12px}.holdings-page .add-flow .success-message p{line-height:1.7}.holdings-import-preview{border-radius:12px}.holdings-import-preview>p{color:var(--color-text-secondary);font-size:14px;line-height:1.75;overflow-wrap:anywhere}.holdings-import-preview .holdings-import-note{margin-top:16px;padding:12px 14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);font-size:12px}@media(max-width:1023px){.holdings-column-head{display:none}.holdings-page .holding-card{grid-template-columns:minmax(0,1fr);gap:16px}.holdings-page .holding-amount-row{padding-top:12px;border-top:1px solid var(--color-border)}.holdings-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.holdings-summary-total{grid-column:1 / -1}.holdings-summary-stat{padding-left:0;border-left:0}.holdings-summary-stat:last-child{padding-left:18px;border-left:1px solid var(--color-border)}.holdings-summary-total dd{font-size:32px}.holdings-summary-stat dd{font-size:24px}}@media(max-width:480px){.holdings-page .page-header{flex-direction:column;gap:16px}.holdings-page .header-actions{width:100%}.holdings-page .header-actions>.btn{width:100%}.holdings-overview{padding:20px 16px 14px}.holdings-summary-total dd{font-size:clamp(24px,7.5vw,32px)}.holdings-overview-notes{margin-top:18px}.holdings-page .import-export-bar{gap:12px}.holdings-backup-actions{width:100%}.holdings-backup-actions>.btn{flex:1}.holdings-records-heading,.holdings-page .holding-card{padding:16px}.holdings-page .holdings-empty{padding:24px 18px}.holdings-page .holdings-empty .btn{width:100%}.holdings-page .add-flow{padding:20px 16px}.holding-flow-progress{justify-content:space-between;gap:6px;margin-bottom:20px;padding-bottom:16px}.holding-flow-progress li{gap:5px;font-size:11px}.holding-flow-step-number{flex-basis:22px;width:22px;height:22px;border-radius:6px}.holdings-page .add-flow .selected-fund{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px}.holdings-page .add-flow .selected-fund .fund-code{grid-column:1;font-size:12px}.holdings-page .add-flow .selected-fund .fund-name{grid-column:1 / -1;grid-row:2}.holdings-page .add-flow .selected-fund .fund-class{grid-column:2;grid-row:1}.holdings-page .add-flow .review-card{padding:0 12px}.holdings-page .add-flow .review-item{grid-template-columns:62px minmax(0,1fr);gap:12px}.holdings-page .add-flow .review-item dt,.holdings-page .add-flow .review-item dd{font-size:13px}.holdings-page .add-flow .review-item .review-amount{font-size:18px}.holdings-page .add-flow .form-actions{gap:8px}.holdings-page .add-flow .form-actions>.btn{flex:1 1 auto}.holdings-page .add-flow .form-actions>.btn:last-child{flex-basis:100%}.holdings-page .add-flow .success-message .btn{width:100%}.holdings-import-preview{padding:20px}.holdings-import-preview .form-actions{gap:8px}.holdings-import-preview .form-actions>.btn{flex:1}}.page.glossary-page{width:100%;max-width:1040px;min-width:0;container-type:inline-size;container-name:glossary}.glossary-header{margin-bottom:28px}.glossary-return{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;color:var(--color-primary);font-size:14px;text-decoration:underline;text-underline-offset:3px}.glossary-target-extra{margin-bottom:20px;overflow:hidden;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.glossary-target-note{margin:0;padding:14px 20px;color:var(--color-text-secondary);font-size:13px;line-height:1.75}.glossary-eyebrow{margin:0 0 10px;color:var(--color-primary);font-size:11px;font-weight:600;letter-spacing:.1em}.glossary-header .page-title{margin:0 0 10px;font-size:clamp(24px,2.5vw,30px);line-height:1.3;letter-spacing:-.035em}.glossary-subtitle{max-width:60ch;margin:0;color:var(--color-text-secondary);font-size:14px;line-height:1.75}.glossary-toolbar{padding:20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.glossary-page .glossary-search{max-width:640px;margin-bottom:14px}.glossary-search-label{display:block;margin-bottom:8px;color:var(--color-text-secondary);font-size:12px;font-weight:500}.glossary-search .search-input{min-height:48px;padding:0 14px;border-radius:8px;background:var(--color-bg);font-size:14px}.glossary-categories{display:flex;flex-wrap:wrap;gap:6px}.glossary-category{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:8px 14px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--color-text-secondary);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.glossary-category:hover{background:var(--color-surface-hover, var(--color-bg));color:var(--color-text)}.glossary-category[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-accent-soft, var(--color-bg));color:var(--color-primary)}.glossary-results-heading{display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:12px;padding:8px 1px}.glossary-result-count{margin:0;color:var(--color-text-secondary);font-size:12px}.glossary-result-count strong{margin-left:8px;color:var(--color-text);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.glossary-result-total{font-variant-numeric:tabular-nums}.glossary-clear,.glossary-reset{min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--color-primary);font:inherit;font-size:13px;font-weight:500;cursor:pointer}.glossary-clear:hover,.glossary-reset:hover{background:var(--color-accent-soft, var(--color-bg))}.glossary-page button:focus-visible,.glossary-search .search-input:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.glossary-page .glossary-list{gap:0;overflow:hidden;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.glossary-page .glossary-card{display:grid;grid-template-columns:30px minmax(170px,.7fr) minmax(0,1.5fr);align-items:start;gap:20px;min-width:0;padding:24px;border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:transparent;scroll-margin-block:90px}.glossary-page .glossary-card--targeted{background:var(--color-accent-soft, var(--color-bg))}.glossary-page .glossary-card:focus,.glossary-return:focus-visible{outline:2px solid var(--color-primary);outline-offset:-3px}.glossary-page .glossary-card:last-child{border-bottom:0}.glossary-index{padding-top:3px;color:var(--color-text-secondary);font-family:var(--font-mono, monospace);font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.04em}.glossary-entry-heading{min-width:0}.glossary-page .glossary-term{margin:0 0 10px;color:var(--color-text);font-size:15px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}.glossary-page .glossary-definition{min-width:0;margin:0;color:var(--color-text-secondary);font-size:13px;line-height:1.9;overflow-wrap:anywhere}.glossary-page .glossary-tags{gap:5px}.glossary-page .glossary-tags .tag{padding:2px 6px;border:1px solid var(--color-border);border-radius:4px;background:transparent;color:var(--color-text-secondary);font-size:10px;line-height:1.5}.glossary-empty{padding:42px 24px;text-align:center}.glossary-empty h3{margin:0 0 8px;font-size:16px;font-weight:600}.glossary-empty p{margin:0 0 18px;color:var(--color-text-secondary);font-size:13px;line-height:1.75}.glossary-reset{border-color:var(--color-border)}@container glossary (max-width: 720px){.glossary-page .glossary-card{grid-template-columns:24px minmax(0,1fr);gap:10px 14px;padding:20px}.glossary-page .glossary-definition{grid-column:2;font-size:14px;line-height:1.85}.glossary-page .glossary-tags .tag{font-size:11px}}@media(max-width:768px){.glossary-search .search-input,.glossary-page .glossary-term,.glossary-page .glossary-definition{font-size:16px}}@media(max-width:430px){.glossary-header{margin-bottom:22px}.glossary-toolbar{padding:14px}.glossary-search .search-input{padding-inline:10px}.glossary-categories{gap:4px}.glossary-category{padding-inline:10px;font-size:12px}.glossary-page .glossary-card{padding:18px 14px;column-gap:10px}.glossary-empty{padding:32px 18px}}@media(prefers-reduced-motion:reduce){.glossary-category{transition:none}}
