.tag-muted{color:var(--text-muted);font-size:11px}.fund-group-page{width:100%}.fund-group-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.fund-group-header h2{color:var(--text-primary);margin:0;font-size:20px;font-weight:700}.fund-group-header-actions{gap:8px;display:flex}.fund-group-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.fund-group-card{cursor:pointer;padding:16px;transition:box-shadow .15s}.fund-group-card:hover{box-shadow:var(--shadow-card-hover,var(--shadow-card))}.fund-group-card-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.fund-group-card-top strong{color:var(--text-primary);font-size:15px}.fund-group-card-top span{color:var(--text-muted);font-size:12px}.fund-group-card-desc{color:var(--text-secondary);margin:0 0 12px;font-size:13px;line-height:1.5}.fund-group-card-actions{gap:8px;display:flex}.fund-group-empty{text-align:center;padding:60px 20px}.fund-group-empty-icon{color:var(--text-muted);margin-bottom:12px;font-size:40px}.fund-group-empty h3{margin:0 0 8px;font-size:16px}.fund-group-empty p{color:var(--text-muted);margin:0 0 16px;font-size:14px}.fund-group-empty-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.fund-group-loading{text-align:center;color:var(--text-muted);padding:40px}.fund-group-toolbar{margin-bottom:12px;padding:12px 16px}.fund-group-toolbar-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.fund-group-toolbar-hint{color:var(--text-muted);font-size:12px}.fund-group-table-card{margin-bottom:12px;padding:0;overflow:hidden}.fund-group-table-empty{text-align:center;color:var(--text-muted);padding:24px}.fund-group-compare-panel{padding:16px}.fund-group-compare-controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.fund-group-period-tabs{flex-wrap:wrap;gap:6px;display:flex}.fund-group-period-btn{color:var(--text-secondary);background:var(--bg-light);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:6px 12px;font-size:12px;font-weight:600}.fund-group-period-btn--active{color:var(--primary);background:#0f172a14}.fund-group-custom-range{flex-wrap:wrap;gap:12px;display:flex}.fund-group-custom-range label{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.fund-group-custom-range input[type=date]{border-radius:var(--radius-sm);box-shadow:var(--ring-inset);border:none;padding:4px 8px;font-size:12px}.fund-group-error{color:#991b1b;border-radius:var(--radius-sm);background:#ef44440f;margin-bottom:12px;padding:10px 12px;font-size:13px}.fund-group-compare-result{flex-direction:column;gap:16px;display:flex}.fund-group-compare-export-cover{padding:4px 0 8px}.fund-group-compare-export-cover h3{color:var(--text-primary);margin:0 0 6px;font-size:16px;font-weight:700}.fund-group-compare-export-cover p{color:var(--text-secondary);margin:0;font-size:13px}.fund-group-compare-exporting .fund-compare-daily-wrap{max-height:none;overflow:visible}.fund-group-compare-exporting .fund-compare-individual-grid{grid-template-columns:1fr}.fund-group-summary h3,.fund-group-compare-result .card-z-inner h3{color:var(--text-primary);align-items:center;gap:8px;margin:0 0 10px;font-size:14px;font-weight:700;display:flex}.fund-group-summary p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.65}.fund-group-summary-meta{color:var(--text-muted);margin-top:10px;font-size:11px}.card-z-inner{padding:14px 0 0}.fund-group-metrics-table{margin-top:4px}.fund-compare-chart-wrap{margin-top:8px;overflow:visible}.fund-compare-chart-legend{flex-wrap:wrap;gap:10px 16px;margin-bottom:8px;display:flex}.fund-compare-legend-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;display:inline-flex}.fund-compare-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.fund-compare-chart-svg{width:100%;height:auto;display:block;overflow:visible}.fund-compare-chart-svg--sm{max-height:100px}.fund-compare-chart-note{color:var(--text-muted);margin-top:6px;font-size:11px}.fund-compare-axis-label{fill:var(--text-muted);font-size:12px;font-family:var(--font-sans)}.fund-compare-individual-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:10px;display:grid}.fund-compare-individual-grid--dragging{cursor:grabbing}.fund-compare-individual-grid--dragging .fund-compare-card-slot{transition:transform .22s cubic-bezier(.2,0,0,1)}.fund-compare-individual-wrap{flex-direction:column;gap:4px;display:flex}.fund-compare-individual-toolbar{flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:8px;display:flex}.fund-compare-individual-sort-label{color:var(--text-muted);letter-spacing:.04em;flex-shrink:0;font-size:11px;font-weight:600}.fund-compare-individual-sort-tabs{flex-wrap:wrap;gap:6px;display:flex}.fund-compare-individual-sort-btn{color:var(--text-secondary);background:var(--bg-light);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:5px 10px;font-size:11px;font-weight:600;transition:background .12s,color .12s}.fund-compare-individual-sort-btn:hover{color:var(--text-primary);background:var(--bg-card);box-shadow:var(--shadow-sm)}.fund-compare-individual-sort-btn--active{color:#fff;background:var(--primary);box-shadow:var(--shadow-card)}.fund-compare-individual-sort-btn--active:hover{color:#fff;background:var(--primary)}.fund-compare-individual-drag-hint{color:var(--text-muted);margin-left:auto;font-size:11px}.fund-compare-individual-toolbar-divider{background:var(--border-light);flex-shrink:0;width:1px;height:20px}.fund-compare-individual-card{background:var(--bg-light);border-radius:var(--radius-md);padding:10px 12px;transition:opacity .18s,box-shadow .18s}.fund-compare-individual-card--drag-source{opacity:0;pointer-events:none}.fund-compare-card-slot--source{outline-offset:-2px;border-radius:var(--radius-md);outline:2px dashed #0f172a1f}.fund-compare-drag-ghost{z-index:9999;pointer-events:none;will-change:transform;position:fixed;top:0;left:0}.fund-compare-drag-ghost .fund-compare-individual-card{background:var(--bg-card);height:100%;animation:.16s cubic-bezier(.2,0,0,1) forwards fund-compare-ghost-lift;box-shadow:0 2px 8px #0f172a14,0 12px 32px #0f172a24}@keyframes fund-compare-ghost-lift{0%{opacity:.88;transform:scale(1)}to{opacity:1;transform:scale(1.015)}}.fund-compare-card-slot{min-width:0}.fund-compare-drop-placeholder{border-radius:var(--radius-md);pointer-events:none;background:#d977060f;border:2px dashed #d9770673;min-height:280px;animation:.2s cubic-bezier(.2,0,0,1) forwards fund-compare-placeholder-in}@keyframes fund-compare-placeholder-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.fund-compare-card-empty{min-height:100px;color:var(--text-muted);background:var(--bg-card);border-radius:var(--radius-sm);justify-content:center;align-items:center;font-size:11px;display:flex}.fund-compare-individual-head{border-radius:var(--radius-sm);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:6px;margin:-2px -4px 2px;padding:6px 4px;display:flex}.fund-compare-individual-head:hover{background:#0f172a0a}.fund-compare-individual-head:active,.fund-compare-individual-grid--dragging .fund-compare-individual-head{cursor:grabbing}.fund-compare-drag-grip{letter-spacing:-2px;color:var(--text-muted);opacity:.7;flex-shrink:0;font-size:14px;line-height:1}.fund-compare-card-period-tabs{border-top:1px solid var(--border-light);flex-wrap:wrap;gap:4px;margin-top:8px;padding-top:8px;display:flex}.fund-compare-card-period-btn{color:var(--text-secondary);background:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;flex:0 auto;padding:4px 8px;font-size:10px;font-weight:600;transition:background .12s,color .12s}.fund-compare-card-period-btn:hover{color:var(--text-primary)}.fund-compare-card-period-btn--active{color:var(--primary);background:#0f172a14;font-weight:700}.fund-compare-individual-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:600;overflow:hidden}.fund-compare-individual-pct{font-size:12px;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.fund-compare-individual-code{color:var(--text-muted);margin-bottom:6px;font-size:10px}.fund-compare-card-stats{background:var(--bg-card);border-radius:var(--radius-sm);grid-template-columns:1fr 1fr;gap:6px 10px;margin-bottom:8px;padding:8px 10px;display:grid}.fund-compare-card-stat{flex-direction:column;gap:2px;min-width:0;display:flex}.fund-compare-card-stat>span{color:var(--text-muted);letter-spacing:.02em;font-size:10px}.fund-compare-card-stat>strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:11px;font-weight:600}.fund-compare-card-stat>strong.down{color:var(--accent-green)}.fund-compare-daily-wrap{border-top:1px solid var(--border-light);max-height:220px;margin-top:8px;padding-top:6px;overflow-y:auto}.fund-compare-daily-table{border-collapse:collapse;width:100%;font-size:13px}.fund-compare-daily-table th{z-index:1;color:var(--text-muted);text-align:left;background:var(--bg-light);padding:4px 6px;font-size:12px;font-weight:600;position:sticky;top:0}.fund-compare-daily-table th:nth-child(2),.fund-compare-daily-table th:nth-child(3){text-align:right}.fund-compare-daily-table td{color:var(--text-secondary);border-bottom:1px solid var(--border-light);padding:4px 6px}.fund-compare-daily-table td:nth-child(2),.fund-compare-daily-table td:nth-child(3){text-align:right}.fund-compare-daily-nav{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.fund-compare-daily-na{color:var(--text-muted)}.fund-group-modal-backdrop{z-index:9999;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fund-group-modal{width:90%;max-width:460px;padding:24px}.fund-group-modal h3{margin:0 0 16px;font-size:16px;font-weight:700}.fund-group-modal .field-input{width:100%;margin-bottom:0}.fund-group-modal .form-field-stack{margin-bottom:16px}.form-field-hint{color:var(--text-muted);font-size:11px;line-height:1.4}.fund-group-modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.fund-group-add-modal{max-width:520px}.fund-group-search-list{max-height:320px;margin:8px 0 12px;overflow-y:auto}.fund-group-search-item{text-align:left;border:none;border-bottom:1px solid var(--border-light);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex}.fund-group-search-item:hover{background:var(--bg-light)}.fund-group-search-empty{text-align:center;color:var(--text-muted);padding:20px;font-size:13px}.fund-group-error-panel{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:20px 24px;display:flex}.fund-group-error-panel p{color:#991b1b;margin:0;font-size:13px}.fund-group-nav-sync-msg{color:var(--text-secondary);background:var(--bg-light);border-radius:var(--radius-md);margin-bottom:12px;padding:10px 14px;font-size:13px}.fund-group-nav-banner{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;font-size:13px;display:flex}.fund-group-returns-wrap{overflow-x:auto}.fund-group-returns-table{min-width:1100px;font-size:12px}.fund-group-returns-table th,.fund-group-returns-table td{white-space:nowrap}.fund-group-sticky-col{z-index:2;background:var(--bg-card);position:sticky}.fund-group-sticky-check{text-align:center;min-width:52px;left:0}.fund-group-sticky-name{min-width:200px;max-width:280px;left:52px;box-shadow:4px 0 8px -4px #0f172a14}.fund-group-row-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.fund-group-row-toggle:hover{background:var(--bg-light)}.fund-group-sticky-actions{z-index:2;background:var(--bg-card);position:sticky;right:0;box-shadow:-4px 0 8px -4px #0f172a14}.fund-group-ret-th{text-align:right;color:var(--text-muted);min-width:72px;font-size:11px;font-weight:600}.fund-group-ret-unit{margin-left:1px;font-size:10px}.fund-group-ret-td{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.fund-ret-val{font-weight:600}.fund-ret-na{color:var(--text-muted)}.fund-group-row-num{width:18px;color:var(--text-muted);text-align:right;margin-right:4px;font-size:10px;display:inline-block}@media (max-width:640px){.fund-group-compare-controls{flex-direction:column;align-items:stretch}}.fund-group-search-item--active{background:var(--accent-subtle)}.fund-portfolio-preview{margin-top:10px;padding:12px 14px}.fund-portfolio-preview-title{color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:700}.fund-portfolio-preview-hint{color:var(--text-muted);margin:10px 0 0;font-size:12px;line-height:1.5}.fund-portfolio-compare-picks{flex-wrap:wrap;gap:8px 14px;display:flex}.fund-portfolio-compare-pick{border-radius:var(--radius-sm);background:var(--bg-light);cursor:pointer;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:inline-flex}.fund-portfolio-compare-table th,.fund-portfolio-compare-table td{vertical-align:middle}.fund-portfolio-pair-card{border-radius:var(--radius-md);background:var(--bg-light);margin-top:12px;padding:12px 14px}.fund-portfolio-pair-head{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;font-size:13px;display:flex}.fund-portfolio-pair-vs{color:var(--text-muted);font-size:11px;font-weight:600}.fund-portfolio-pair-meta{color:var(--text-muted);font-size:12px;line-height:1.5}.fund-portfolio-pair-dot{margin:0 6px}.fund-portfolio-inline-input{width:56px;font-size:13px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;border-radius:var(--radius-sm);box-shadow:var(--ring-inset);background:var(--bg-page);border:none;padding:4px 6px}.fund-portfolio-inline-input--wide{width:88px}.fund-portfolio-inline-input:focus{box-shadow:var(--ring-accent), var(--focus-ring);outline:none}.fund-portfolio-inline-suffix{color:var(--text-muted);margin-left:2px;font-size:12px}.fund-portfolio-weight-warn{color:var(--accent-dark);font-weight:600}.fund-portfolio-sync-msg{border-radius:var(--radius-md);color:var(--accent-dark);background:var(--accent-subtle);margin-bottom:12px;padding:10px 14px;font-size:13px}
