:root{--bg:#0f172a;--card:#111827;--text:#e5e7eb;--muted:#9ca3af;--primary:#22d3ee;--accent:#60a5fa;--success:#34d399;--danger:#f87171;--border:#1f2937;--table-pinned-header-bg:#2a394b;--table-row-hover-bg:#2a394b}[data-theme=light]{--bg:#f1f5f9;--card:#fff;--text:#0f172a;--muted:#475569;--primary:#0891b2;--accent:#2563eb;--success:#059669;--danger:#dc2626;--border:#e2e8f0;--table-pinned-header-bg:#e2e8f0;--table-row-hover-bg:#e2e8f0}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;position:relative}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(140% 140% at 10% -10%,#60a5fa14 0%,#60a5fa09 35%,#60a5fa03 55%,#0000 72%),radial-gradient(140% 140% at 90% 0,#22d3ee12 0%,#22d3ee08 38%,#22d3ee02 58%,#0000 75%);position:fixed;inset:0}[data-theme=light] body:before{background:radial-gradient(120% 120% at 10% -10%,#3b82f60f 0%,#3b82f605 40%,#0000 70%),radial-gradient(120% 120% at 90% 0,#0891b20d 0%,#0891b204 45%,#0000 70%)}.container{width:1200px;max-width:90%;margin:0 auto;padding:24px}.page-width-slider{appearance:none;background:#94a3b866;border-radius:3px;outline:none;width:100%;height:6px}.page-width-slider::-webkit-slider-thumb{appearance:none;background:var(--primary);cursor:pointer;border:2px solid #ffffff4d;border-radius:50%;width:16px;height:16px;transition:transform .15s;box-shadow:0 2px 6px #0003}.page-width-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.page-width-slider::-moz-range-thumb{background:var(--primary);cursor:pointer;border:2px solid #ffffff4d;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 6px #0003}.glass{border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#ffffff0f,#ffffff05);border-radius:16px;box-shadow:0 8px 30px #00000040}[data-theme=light] .glass{border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#ffffffeb,#ffffffd9);box-shadow:0 4px 24px #0000000f}[data-theme=light] .button{color:#fff;background:linear-gradient(#0ea5e9,#0891b2);border-color:#0891b266;box-shadow:0 2px 8px #0891b233}[data-theme=light] .button:hover{box-shadow:0 6px 20px #0891b259}[data-theme=light] .button.secondary{border-color:var(--border);color:var(--text);background:#fff}[data-theme=light] .button.secondary:hover{border-color:var(--muted);background:#f1f5f9}[data-theme=light] .icon-button{border-color:var(--border);color:var(--muted);background:#fff}[data-theme=light] .icon-button:hover{border-color:var(--accent);color:var(--text);background:#f8fafc}[data-theme=light] .icon-button.danger{color:#fff;background:linear-gradient(#ef4444,#dc2626);border-color:#dc262666}[data-theme=light] .icon-button.danger:hover{box-shadow:0 6px 16px #dc262640}[data-theme=light] .github-icon-wrap img{filter:brightness(.4)}[data-theme=light] .icon-button[aria-busy=true]{box-shadow:0 0 0 3px #2563eb33}[data-theme=light] .badge,[data-theme=light] .badge-v{border-color:var(--border);background:#fff}[data-theme=light] .sticky-toggle-btn:hover{background:#0000000f}[data-theme=light] .user-menu-item:hover{background:#0000000d}[data-theme=light] .user-menu-item.danger:hover{background:#dc262614}[data-theme=light] .fund-chip{background:#0891b21f;border-color:#0891b259}[data-theme=light] .remove-chip:hover{background:#0891b22e}[data-theme=light] .input{border-color:var(--border);color:var(--text);background:#fff}[data-theme=light] .input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb26}[data-theme=light] .navbar-add-fund .input{background:#fffffff2;border:none}[data-theme=light] .navbar-input-field{color:var(--text)}[data-theme=light] .search-dropdown{border:1px solid var(--border);box-shadow:0 8px 24px #0000001a;background:#fffffffa!important}[data-theme=light] .search-item:hover:not(.added){background:#0000000d}[data-theme=light] .search-item.selected{background:#0891b21f;border:1px solid #0891b24d}[data-theme=light] .search-spinner{border-color:#0000001a;border-top-color:var(--primary)}[data-theme=light] .filter-bar{border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;box-shadow:0 2px 12px #0000000a}[data-theme=light] .tab{color:var(--muted)}[data-theme=light] .tab:hover{color:var(--primary);background:#0891b21a}[data-theme=light] .tab.active{color:var(--primary);background:#0891b226}[data-theme=light] .tabs-nav-btn{border-color:var(--border);color:var(--muted);background:#ffffffe6}[data-theme=light] .tabs-nav-btn:hover{color:var(--primary);border-color:var(--primary);background:#fff}[data-theme=light] .group-summary-sticky{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom-color:var(--border);background:#ffffffeb}[data-theme=light] .group-selector-popup{border:1px solid var(--border);box-shadow:0 10px 25px -5px #00000014,0 8px 10px -6px #0000000f;background:#fffffffa!important}@media (max-width:640px){[data-theme=light] .filter-bar,[data-theme=light] .group-summary-sticky{border-bottom-color:var(--border);background:#fffffff2}}[data-theme=light] .view-toggle{background:#0000000f!important}[data-theme=light] .view-toggle .icon-button.active{color:#fff!important}[data-theme=light] .chip{border-color:var(--border);color:var(--text);background:#fff}[data-theme=light] .chip:hover{border-color:var(--accent)}[data-theme=light] .chip.active{color:#fff;background:linear-gradient(#0ea5e9,#0891b2);border-color:#0000}[data-theme=light] .table-header-row{border-bottom-color:var(--border);background:#e2e8f0}[data-theme=light] .table-header-row-scroll,[data-theme=light] .table-header-cell-fixed{border-bottom-color:var(--border);background:#0000000a}[data-theme=light] .table-row:hover,[data-theme=light] .table-row-scroll:hover,[data-theme=light] .table-row-scroll.row-hovered,[data-theme=light] .table-fixed-row.row-hovered{background:#e2e8f0}[data-theme=light] .pc-fund-table .table-header-row-scroll{background:#cbd5e1}[data-theme=light] .pc-fund-table .table-header-row-scroll .table-header-cell{color:#0f172a;background:#cbd5e1!important}[data-theme=light] .pc-fund-table .resizer:hover:after{box-shadow:0 0 0 2px #0891b240}[data-theme=light] .pc-fund-table .table-row.empty-row{border:1px solid var(--border);background:#00000005}[data-theme=light] .list .item{border-color:var(--border);background:#fff}[data-theme=light] .list .item .name{color:var(--text)}[data-theme=light] .list .item .weight{color:var(--accent)}[data-theme=light] .trend-range-bar{border:1px solid var(--border);background:#0000000f}[data-theme=light] .trend-range-btn{color:var(--muted)}[data-theme=light] .trend-range-btn:hover{color:var(--primary);background:#0891b214}[data-theme=light] .trend-range-btn.active{color:var(--primary);background:#0891b226}.chart-overlay{z-index:10;background:#ffffff05;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}[data-theme=light] .chart-overlay{background:#00000008}.theme-transition-overlay{z-index:99999;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.theme-transition-circle{background:var(--primary);opacity:.5;transform-origin:50%;border-radius:50%;width:120px;height:120px}.card .title{letter-spacing:.2px;align-items:center;gap:12px;font-weight:700;display:flex}.card .title span:first-child{white-space:normal;word-break:break-word;text-overflow:clip;max-width:none;overflow:visible}.muted{color:var(--muted)}.grid{grid-template-columns:repeat(12,1fr);gap:16px;display:grid}.col-12{grid-column:span 12}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-3{grid-column:span 3}@media (max-width:1024px){.col-6,.col-4,.col-3{grid-column:span 12}}.navbar{z-index:50;box-sizing:border-box;justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:12px 16px;display:flex;position:fixed;top:0;left:16px;right:16px}.brand{flex:auto;align-items:center;gap:8px;min-width:0;font-weight:600;transition:flex .4s cubic-bezier(.16,1,.3,1);display:flex}.brand.search-focused-sibling{flex:none}.navbar-add-fund{width:100%;min-width:260px;max-width:280px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;flex:0 auto;padding:0;transition:max-width .4s cubic-bezier(.16,1,.3,1)}.navbar-add-fund.search-focused{flex:1;min-width:320px;max-width:800px}.navbar-add-fund .form{width:100%}.navbar-add-fund .search-input-wrapper{flex:1;position:relative}.navbar-add-fund .input{background:#0b1220e6;border-radius:999px;width:100%}.navbar-search-icon{color:var(--muted);pointer-events:none;z-index:2;justify-content:center;align-items:center;display:inline-flex;position:absolute;left:14px}.navbar-input-shell{z-index:1;flex-wrap:wrap;align-items:center;gap:8px;height:auto;min-height:44px;padding-left:40px;padding-right:12px;display:flex;position:relative;padding-top:6px!important;padding-bottom:6px!important}@media (min-width:641px){.navbar-add-fund.search-focused .search-input-wrapper{flex-wrap:nowrap!important}.navbar-add-fund.search-focused .navbar-input-shell{min-width:0;flex-wrap:nowrap!important}}@media (max-width:640px){.navbar-add-fund{opacity:0;pointer-events:none;border:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden;flex:0 0 0!important;width:0!important;min-width:0!important;margin:0!important;padding:0!important}.mobile-search-btn{display:inline-flex!important}.brand{opacity:1;white-space:nowrap;width:auto;transition:all .3s cubic-bezier(.4,0,.2,1);transform:translate(0)}.brand.search-focused-sibling{opacity:0;pointer-events:none;overflow:hidden;transform:translate(-20px);width:0!important;margin:0!important;padding:0!important}.actions{opacity:1;white-space:nowrap;width:auto;transition:all .3s cubic-bezier(.4,0,.2,1);transform:translate(0)}.actions.search-focused-sibling{opacity:0;pointer-events:none;overflow:hidden;transform:translate(20px);width:0!important;margin:0!important;padding:0!important}.navbar-add-fund.search-focused{opacity:1;pointer-events:auto;flex:1!important;width:100%!important;max-width:100%!important;margin-top:0!important;display:flex!important;overflow:visible!important}}.mobile-search-btn{display:none}.navbar-input-field{min-width:120px;height:24px;color:var(--text);background:0 0;border:none;outline:none;flex:1;margin-left:20px;font-size:14px}.navbar-input-field::placeholder{color:var(--muted)}.navbar-add-fund .button{display:none}@media (max-width:640px){.content{padding-top:140px}.navbar{border-top:none;border-left:none;border-right:none;border-radius:0;flex-wrap:wrap;gap:12px;padding-left:12px;padding-right:4px;top:0;left:0;right:0}.navbar-add-fund{order:3;width:100%;min-width:0;max-width:none;margin-top:8px}.navbar-add-fund .button{display:inline-flex}}.form{align-items:center;gap:12px;display:flex}.input{border:1px solid var(--border);height:auto;min-height:44px;color:var(--text);background:#0b1220;border-radius:12px;outline:none;flex:1;padding:0 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #60a5fa33}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.button{border:1px solid var(--border);color:#05263b;cursor:pointer;background:linear-gradient(#0ea5e9,#22d3ee);border-radius:12px;height:44px;padding:0 16px;font-weight:600;transition:transform .15s,box-shadow .2s}.button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #22d3ee40}.button:active{transform:translateY(0)}.card{padding:16px}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.badge{border:1px solid var(--border);background:#0b1220;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:inline-flex}.badge-v{border:1px solid var(--border);background:#0b1220;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:4px 10px;font-size:12px;display:inline-flex}.badge-v span{color:var(--muted);font-size:10px}.badge-v strong{font-size:11px}.stat{align-items:baseline;gap:8px;display:flex}.stat .label{color:var(--muted);font-size:12px}.stat .value{font-size:20px;font-weight:700}.stat .badge{padding:4px 8px;font-size:12px}@media (max-width:640px){.input,.navbar-input-field{font-size:16px}.container{width:100%;max-width:100%;padding:12px}.grid{gap:12px}.card{padding:12px}.stat{flex-direction:column;gap:4px;min-width:0}.stat .label{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.stat .value{white-space:nowrap;font-size:15px;line-height:1.2}.stat .badge{width:fit-content;padding:2px 6px;font-size:13px}.card .title{flex-wrap:wrap}.item .name{max-width:100px;font-size:14px}.item .badge{padding:2px 4px;font-size:14px}}.up{color:var(--danger)}.down{color:var(--success)}.list{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}@media (max-width:640px){.list{grid-template-columns:1fr}}.item{border:1px solid var(--border);background:#0b1220;border-radius:10px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.item .name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.modal .item .name{white-space:normal;text-overflow:clip;word-break:break-word;max-width:none;overflow:visible}.item .weight{color:var(--accent);font-weight:600}.trend-range-bar{background:#0003;border-radius:8px;justify-content:space-between;gap:4px;margin-top:12px;padding:4px;display:flex}.trend-range-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:6px 0;font-size:11px;font-weight:400;transition:all .2s}.trend-range-btn:hover{color:var(--primary)}.trend-range-btn.active{color:var(--primary);background:#ffffff1a;font-weight:600}.empty{text-align:center;color:var(--muted);padding:24px}.error-text{color:var(--danger);margin-top:4px;font-size:12px}.feedback-modal{max-width:420px!important}.link-button:hover{opacity:.8;color:var(--accent)!important}.footer{color:var(--muted);text-align:center;margin-top:24px;padding-bottom:60px;font-size:12px}.actions{flex:auto;justify-content:flex-end;align-items:center;gap:8px;min-width:0;transition:flex .4s cubic-bezier(.16,1,.3,1);display:inline-flex}.actions.search-focused-sibling{flex:none}.icon-button{border:1px solid var(--border);width:36px;height:36px;color:var(--muted);cursor:pointer;background:#0b1220;border-radius:10px;justify-content:center;align-items:center;transition:box-shadow .2s,border-color .2s,transform .15s,color .2s;display:inline-flex}.icon-button:hover{color:var(--text);border-color:var(--accent);transform:translateY(-1px)}.icon-button.no-hover:hover{color:inherit;border-color:var(--border);transform:none}.icon-button:active{transform:translateY(0)}.sticky-toggle-btn{cursor:pointer;transition:all .2s;display:inline-flex!important}.sticky-toggle-btn:hover{background:#ffffff1a;border-radius:4px;opacity:1!important}.icon-button.danger{color:#2b0b0b;background:linear-gradient(#ef4444,#f87171)}.icon-button.danger:hover{box-shadow:0 10px 20px #f8717140}.fav-button{color:var(--muted);background:0 0;border:none;width:auto;height:auto;margin-right:4px;padding:4px;transition:all .2s}.fav-button:hover,.fav-button.active{color:var(--accent)}.tabs{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;gap:4px;width:fit-content;padding:4px 0;display:flex}.card.list-mode{padding:12px 16px;position:relative}.table-container{grid-column:span 12;padding:0;overflow:hidden}.table-pc-wrap{flex-direction:row;width:100%;min-width:0;display:flex}.table-scroll-area{scrollbar-width:thin;scrollbar-color:var(--border)var(--bg);flex:1;min-width:0;overflow-x:auto}.table-scroll-area::-webkit-scrollbar{height:8px}.table-scroll-area::-webkit-scrollbar-track{background:var(--bg);border-radius:8px}.table-scroll-area::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}.table-scroll-area::-webkit-scrollbar-thumb:hover{background:var(--muted)}.table-scroll-area::-webkit-scrollbar-thumb:active{background:var(--primary)}.scrollbar-y-styled{scrollbar-width:thin;scrollbar-color:var(--border)var(--bg)}.scrollbar-y-styled::-webkit-scrollbar{width:8px}.scrollbar-y-styled::-webkit-scrollbar-track{background:var(--bg);border-radius:8px}.scrollbar-y-styled::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}.scrollbar-y-styled::-webkit-scrollbar-thumb:hover{background:var(--muted)}.scrollbar-y-styled::-webkit-scrollbar-thumb:active{background:var(--primary)}.table-scroll-area-inner{min-width:900px}.table-header-row-scroll,.table-row-scroll{box-sizing:border-box;grid-template-columns:220px 100px 100px 100px 140px 140px 140px;align-items:center;gap:12px;width:100%;display:grid}.table-header-row-scroll{border-bottom:1px solid var(--border);background:#ffffff0d;padding:16px 14px}.table-header-row-scroll .table-header-cell{white-space:nowrap}.table-row-scroll .table-cell{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.table-row-scroll .profit-cell,.table-row-scroll .holding-cell{min-width:0}.table-row-scroll .profit-cell>*,.table-row-scroll .holding-cell>*{text-overflow:ellipsis;min-width:0;overflow:hidden}.table-row-scroll .name-cell .name-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.table-row-scroll{box-sizing:border-box;border-bottom:1px solid var(--border);min-height:52px;padding:12px 24px!important}.table-row-scroll:hover,.table-row-scroll.row-hovered,.table-fixed-row.row-hovered{background:#ffffff14}.table-fixed-col{background:var(--bg);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:60px;display:flex}.table-header-cell-fixed{border-bottom:1px solid var(--border);background:#ffffff0d;justify-content:center;align-items:center;min-height:52px;padding:16px 12px;display:flex}.table-fixed-row{box-sizing:border-box;border-bottom:none;justify-content:center;align-items:center;min-height:59px;padding:0 12px;display:flex}.table-fixed-row .table-cell{border:none}.table-row-wrapper{width:100%}.table-row{border-bottom:1px solid var(--border);grid-template-columns:2.2fr .8fr 1fr 1fr 1.2fr 1.2fr 1.2fr .5fr;align-items:center;gap:12px;display:grid;padding:12px 14px!important}.table-row:hover{background:#2a394b}.table-row:last-child{border-bottom:none}.table-header-row{border-bottom:1px solid var(--border);background:#2a394b;grid-template-columns:2.2fr .8fr 1fr 1fr 1.2fr 1.2fr 1.2fr .5fr;gap:12px;padding:16px 14px;display:grid}.table-header-cell{color:var(--text);letter-spacing:.5px;font-size:13px;font-weight:700}.table-cell{align-items:center;display:flex}.text-right{text-align:right;justify-content:flex-end}.text-center{text-align:center;justify-content:center}.name-cell{gap:8px}.title-text{flex-direction:column;gap:2px;display:flex}.name-text{white-space:normal;word-break:break-all;font-size:14px;font-weight:600;line-height:1.4}.updated-indicator{color:#22c55e;vertical-align:middle;background:#22c55e33;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;margin-left:6px;font-size:10px;display:inline-flex;transform:translateY(-1px)}.dca-indicator{color:#22d3ee;vertical-align:middle;background:#22d3ee26;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:6px;padding:0 4px;font-size:10px;font-weight:500;display:inline-flex;transform:translateY(-1px)}[data-theme=light] .dca-indicator{color:#0891b2;background:#06b6d426}.code-text{font-size:11px}@media (max-width:768px){.table-header-row{display:none}.mobile-fund-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.mobile-fund-table .table-header-row{display:grid;padding-top:0!important;padding-bottom:0!important;padding-left:0!important}.mobile-fund-table .table-header-row .table-header-cell{align-items:center;min-width:0;padding-top:8px;padding-bottom:8px;display:flex;overflow:hidden}.mobile-fund-table .table-row{grid-template-areas:unset;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-bottom:1px solid #00000014;gap:12px;padding-top:0!important;padding-bottom:0!important;padding-left:0!important}.mobile-fund-table .table-header-row{border-bottom:1px solid #00000014}[data-theme=light] .mobile-fund-table .table-row,[data-theme=light] .mobile-fund-table .table-header-row{border-bottom-color:#0000000f}.mobile-fund-table .table-row .table-cell{text-overflow:ellipsis;min-width:0;padding-top:12px;padding-bottom:12px;overflow:hidden}.mobile-fund-table .table-header-cell-pin-left,.mobile-fund-table .table-cell-pin-left{z-index:2;border-bottom:none;border-right:1px solid #00000014;position:sticky;left:0;box-shadow:4px 0 10px -2px #0000001f}[data-theme=light] .mobile-fund-table .table-header-cell-pin-left,[data-theme=light] .mobile-fund-table .table-cell-pin-left{border-right-color:#0000000f;box-shadow:4px 0 10px -2px #00000014}.mobile-fund-table .table-header-cell-pin-left{background:var(--table-pinned-header-bg)}.mobile-fund-table .table-cell-pin-left,.mobile-fund-table .table-row:hover,.mobile-fund-table .table-row:hover .table-cell-pin-left{background:var(--bg)}.mobile-fund-table .table-header-cell-pin-right,.mobile-fund-table .table-cell-pin-right{z-index:2;border-left:1px solid #00000014;position:sticky;right:0;box-shadow:-4px 0 24px -4px #0000001f}[data-theme=light] .mobile-fund-table .table-header-cell-pin-right,[data-theme=light] .mobile-fund-table .table-cell-pin-right{border-left-color:#0000000f}.mobile-fund-table .table-header-cell-pin-right{background:var(--table-pinned-header-bg)}.mobile-fund-table .table-cell-pin-right,.mobile-fund-table .table-row:hover .table-cell-pin-right{background:var(--bg)}.mobile-fund-table .name-cell{grid-area:unset;align-self:stretch;padding-left:12px}.mobile-fund-table .table-header-row .table-header-cell-pin-left{padding-left:12px}.mobile-fund-table .table-row .name-cell .name-cell-content{min-height:100%}.mobile-fund-table .table-row .name-cell .name-text{font-size:12px;font-weight:600}.mobile-fund-table .table-row .name-cell .code-text{font-size:10px}.mobile-fund-table .value-cell,.mobile-fund-table .change-cell{grid-area:unset}.mobile-fund-table .est-change-cell,.mobile-fund-table .profit-cell,.mobile-fund-table .time-cell{grid-area:unset;justify-content:flex-end}.table-row{grid-template-columns:1fr 80px 100px;grid-template-areas:"name value change""name time profit";gap:4px 12px;padding:12px!important}.name-cell{grid-area:name}.value-cell{grid-area:value}.change-cell{grid-area:change}.profit-cell{grid-area:profit}.time-cell{grid-area:time;justify-content:flex-end}.action-cell,.holding-cell,.holding-amount-cell{display:none}.mobile-fund-table .holding-amount-cell,.mobile-fund-table .holding-cell,.mobile-fund-table .action-cell{display:flex}.mobile-fund-table .action-cell .icon-button.danger{display:inline-flex}.table-cell.time-cell span{font-size:10px!important}}.stat-compact .up{color:var(--danger)}@media (max-width:768px){.action-cell .danger{display:none}.mobile-fund-table .action-cell .danger{display:inline-flex}}.swipe-action-bg{color:#2b0b0b;z-index:0;cursor:pointer;background:linear-gradient(#ef4444,#f87171);flex-direction:column;justify-content:center;align-items:center;gap:4px;width:80px;font-size:12px;font-weight:600;display:flex;position:absolute;top:1px;bottom:1px;right:0;box-shadow:inset 10px 0 20px -10px #0003}.stat-compact .down{color:var(--success)}.filter-bar{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172ad9;border:1px solid #ffffff0d;border-radius:12px;padding:8px 12px;transition:all .3s;position:sticky}.group-summary-sticky{z-index:35;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172ae6;border-radius:12px;margin-bottom:16px;position:sticky}@media (max-width:640px){.filter-bar{z-index:40;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172ae6;flex-direction:column;width:calc(100% + 32px);margin:0 -16px 16px;padding:10px 16px;display:flex;position:sticky;top:60px;align-items:center!important}.tabs{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;justify-content:flex-start;width:100%;padding:0}.group-summary-sticky{border-bottom:1px solid var(--border);border-radius:0;width:calc(100% + 32px);margin:0 -16px 16px;padding:8px 16px;top:175px}.group-summary-sticky .group-summary-card{margin-bottom:0}.input.no-zoom{font-size:16px!important}}.tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;height:32px;padding:0 10px;font-size:14px;font-weight:600;line-height:32px;transition:all .2s;display:inline-flex}.tab:hover{color:var(--primary);background:#22d3ee14}.tab.active{color:var(--primary);box-shadow:none;background:#22d3ee26}@media (hover:none){.tab:hover{color:var(--muted);background:0 0}.tab.active,.tab.active:hover{color:var(--primary);box-shadow:none;background:#22d3ee26}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:60;background:#02061799;justify-content:center;align-items:center;transition:background .2s,-webkit-backdrop-filter .2s,backdrop-filter .2s;display:flex;position:fixed;inset:0}.modal-overlay-translucent{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#02061726}.modal{width:560px;max-width:92vw;padding:16px}.pc-table-setting-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02061780;justify-content:flex-end;align-items:stretch;display:flex;position:fixed;inset:0}.pc-table-setting-drawer{border:1px solid var(--border);border-right:none;border-radius:16px 0 0 16px;flex-direction:column;width:360px;max-width:90vw;display:flex;box-shadow:-8px 0 32px #0000004d}.pc-table-setting-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 20px 16px;font-size:16px;font-weight:600;display:flex}.pc-table-setting-body{flex:1;padding:20px;overflow-y:auto}.pc-table-setting-subtitle{color:var(--text);margin:0 0 4px;font-size:14px;font-weight:600}.pc-table-setting-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pc-table-setting-item{border:1px solid var(--border);cursor:grab;background:#ffffff08;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.pc-table-setting-item:active{cursor:grabbing}.pc-table-setting-item:hover{border-color:var(--primary);background:#ffffff0f}.pc-table-column-switch .dca-toggle-track{flex-shrink:0}[data-theme=light] .pc-table-setting-drawer .dca-toggle-thumb{background:#fff}.mobile-setting-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02061780;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-setting-drawer{border:1px solid var(--border);border-bottom:none;border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-height:90vh;display:flex;box-shadow:0 -8px 32px #0000004d}.mobile-setting-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 20px 16px;font-size:16px;font-weight:600;display:flex}.mobile-setting-body{padding:20px;padding-bottom:calc(32px + env(safe-area-inset-bottom,0px));flex:1;overflow-y:auto}.mobile-setting-subtitle{color:var(--text);margin:0 0 4px;font-size:14px;font-weight:600}.mobile-setting-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.mobile-setting-item{border:1px solid var(--border);cursor:grab;background:#ffffff08;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.mobile-setting-item:active{cursor:grabbing}.mobile-setting-item:hover{border-color:var(--primary);background:#ffffff0f}[data-theme=light] .mobile-setting-drawer .dca-toggle-thumb{background:#fff}.dca-btn{color:#fff;background:#22d3ee1f;border:1px solid #ffffffd9}.dca-btn:hover{background:#22d3ee33;border-color:#fffffff2}[data-theme=light] .dca-btn{border:1px solid var(--accent);color:var(--accent);background:#2563eb1a}[data-theme=light] .dca-btn:hover{border-color:var(--accent);background:#2563eb29;box-shadow:0 2px 8px #2563eb33}.trade-pending-alert{color:#e6a23c;cursor:pointer;background:#e6a23c1a;border:1px solid #e6a23c33;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:8px 12px;font-size:12px;display:flex}.trade-pending-header{z-index:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border);background:#0f172af2;margin-bottom:8px;padding-bottom:8px;position:sticky;top:0}.trade-pending-item{background:#ffffff0d;border-radius:8px;margin-bottom:8px;padding:12px}.trade-confirm-card{background:#ffffff0d;border-radius:12px;margin-bottom:20px;padding:16px}.trade-confirm-divider{border-top:1px solid #ffffff1a}.trade-preview-card{background:#0003;border-radius:8px;padding:12px}.trade-back-btn,.trade-cancel-btn,.trade-revoke-btn{color:var(--text)!important;background:#ffffff0d!important}.trade-time-slot{background:#0003;border-radius:8px;padding:4px}.trade-time-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:6px 8px;font-size:12px}.trade-time-btn.active{background:var(--primary);color:#05263b}.trade-amount-btn{color:var(--text);cursor:pointer;background:#ffffff1a;border:none;border-radius:4px;flex:1;padding:4px 8px;font-size:12px}[data-theme=light] .trade-modal .trade-pending-alert{color:#b45309;background:#d977061f;border-color:#d9770659}[data-theme=light] .trade-modal .trade-pending-header{border-bottom-color:var(--border);background:#fffffffa}[data-theme=light] .trade-modal .trade-pending-item,[data-theme=light] .trade-modal .trade-confirm-card{background:#0000000a}[data-theme=light] .trade-modal .trade-confirm-divider{border-top-color:var(--border)}[data-theme=light] .trade-modal .trade-preview-card{background:#0000000d}[data-theme=light] .trade-modal .trade-back-btn,[data-theme=light] .trade-modal .trade-cancel-btn,[data-theme=light] .trade-modal .trade-revoke-btn{background:#0000000f!important}[data-theme=light] .trade-modal .trade-time-slot{background:#0000000f}[data-theme=light] .trade-modal .trade-time-btn.active{color:#fff}[data-theme=light] .trade-modal .trade-amount-btn{background:#0000000f}.trade-pending-status{color:#e6a23c}[data-theme=light] .trade-modal .trade-pending-status{color:#b45309}.date-picker-trigger{cursor:pointer;background:#0003;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;height:40px;padding:0 12px;transition:all .2s;display:flex}.date-picker-dropdown{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1e293bf2;border:1px solid #ffffff1a}.date-picker-cell{cursor:pointer;height:28px;color:var(--text);background:0 0;border-radius:6px;justify-content:center;align-items:center;font-size:13px;font-weight:400;display:flex}.date-picker-cell.selected{background:var(--primary);color:#000;font-weight:600}.date-picker-cell.today{background:#ffffff1a;font-weight:600}.date-picker-cell.future{cursor:not-allowed;color:var(--muted);opacity:.3}.date-picker-cell:not(.selected):not(.future):hover,.date-picker-cell.today:not(.selected):not(.future):hover{background:#ffffff1a}[data-theme=light] .date-picker-trigger{border-color:var(--border);background:#0000000f}[data-theme=light] .date-picker-dropdown{border-color:var(--border);background:#fffffffa}[data-theme=light] .date-picker-cell.selected{color:#fff}[data-theme=light] .date-picker-cell.today{background:#0891b226}[data-theme=light] .date-picker-cell:not(.selected):not(.future):hover{background:#0000000f}[data-theme=light] .date-picker-cell.today:not(.selected):not(.future):hover{background:#0891b233}.dca-toggle-track{background:#94a3b899;border-radius:999px;width:32px;height:18px;transition:background .2s;position:relative}.dca-toggle-track.enabled{background:var(--primary)}.dca-toggle-thumb{background:#0f172a;border-radius:50%;width:14px;height:14px;transition:left .2s;position:absolute;top:2px}.dca-option-group{background:#0003;border-radius:8px;padding:4px}.dca-option-btn{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;flex:1;padding:4px 6px;font-size:11px}.dca-option-btn.active{background:var(--primary);color:#05263b}.dca-weekday-btn{padding:6px 4px;font-size:12px}.dca-monthly-day-group{scroll-behavior:smooth;background:#0003;border-radius:8px;flex-wrap:wrap;gap:4px;max-height:140px;padding:4px;display:flex;overflow-y:auto}.dca-monthly-btn{flex:0 0 calc(25% - 4px);padding:4px 0}.dca-first-date-display{border:1px solid var(--border);background:#0f172a99;border-radius:12px;padding:10px 12px;font-size:14px}.dca-cancel-btn{color:var(--text)!important;background:#ffffff0d!important}[data-theme=light] .dca-modal .dca-toggle-thumb{background:#fff}[data-theme=light] .dca-modal .dca-option-group{background:#0000000f}[data-theme=light] .dca-modal .dca-option-btn.active{color:#fff}[data-theme=light] .dca-modal .dca-monthly-day-group{background:#0000000f}[data-theme=light] .dca-modal .dca-first-date-display{background:#0000000a}[data-theme=light] .dca-modal .dca-cancel-btn{background:#0000000f!important}.scan-pick-dropzone{border:2px dashed var(--border);background:#ffffff05}.scan-pick-dropzone.dragging{border-color:var(--primary);background:#22d3ee14}[data-theme=light] .scan-pick-modal .scan-pick-dropzone{background:#00000008;border-color:#00000040}[data-theme=light] .scan-pick-modal .scan-pick-dropzone.dragging{border-color:var(--primary);background:#0891b21f}.tx-history-pending-item{background:#e6a23c1a;border:1px solid #e6a23c33;border-radius:8px;margin-bottom:8px;padding:12px}.tx-history-dca-badge{color:#4ade80;background:#22c55e26;border-radius:999px;padding:2px 6px;font-size:10px}.tx-history-pending-status{color:#e6a23c}.tx-history-action-btn{color:var(--text)!important;background:#ffffff1a!important}.tx-history-record-item{background:#ffffff0d;border-radius:8px;margin-bottom:8px;padding:12px}[data-theme=light] .tx-history-modal .tx-history-pending-item{background:#d977061f;border-color:#d9770659}[data-theme=light] .tx-history-modal .tx-history-dca-badge{color:#059669;background:#05966926}[data-theme=light] .tx-history-modal .tx-history-pending-status{color:#b45309}[data-theme=light] .tx-history-modal .tx-history-action-btn{background:#0000000f!important}[data-theme=light] .tx-history-modal .tx-history-record-item{background:#0000000a}.pending-list{scrollbar-width:none}.pending-list::-webkit-scrollbar{display:none}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip{border:1px solid var(--border);height:32px;color:var(--text);cursor:pointer;background:#0b1220;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;transition:border-color .2s,transform .15s;display:inline-flex}.chip:hover{border-color:var(--accent);transform:translateY(-1px)}.chip.active{color:#05263b;background:linear-gradient(#0ea5e9,#22d3ee);border-color:#0000}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}.icon-button[aria-busy=true]{border-color:var(--accent);cursor:default;box-shadow:0 0 0 3px #60a5fa26}.refresh-btn-wrap{--progress:0;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;position:relative}.refresh-btn-wrap:before{content:"";background:conic-gradient(var(--primary)0deg,var(--primary)calc(var(--progress)*360deg),var(--border)calc(var(--progress)*360deg));-webkit-mask-composite:xor;pointer-events:none;border-radius:12px;padding:1.5px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.refresh-btn-wrap .icon-button{z-index:1;position:relative}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.loading-bar{background:linear-gradient(90deg,transparent,var(--primary),transparent);z-index:100;border-radius:16px 16px 0 0;width:100%;height:2px;animation:1.5s infinite loading;position:absolute;top:0;left:0}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}.search-container{z-index:45;width:100%;position:relative}.search-input-wrapper{flex-wrap:wrap;align-items:center;display:flex;position:relative}.search-spinner{border:2px solid #ffffff1a;border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin;position:absolute;right:12px}.search-dropdown{z-index:46;max-height:320px;padding:8px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;background:#0f172af2!important}.search-results{flex-direction:column;gap:4px;display:flex}.search-item{cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;transition:all .2s;display:flex}.search-item:hover:not(.added){background:#ffffff14}.search-item.selected{background:#22d3ee1a;border:1px solid #22d3ee33}.search-item.added{cursor:not-allowed;opacity:.6}.fund-info{flex-direction:column;gap:2px;display:flex}.fund-name{font-size:14px;font-weight:600}.fund-code{font-size:11px}.checkbox{border:2px solid var(--border);border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.search-item.selected .checkbox{background:var(--primary);border-color:var(--primary)}.checked-mark{border-bottom:2px solid #05263b;border-left:2px solid #05263b;width:10px;height:6px;transform:rotate(-45deg)translateY(-1px)}[data-theme=light] .checkbox{border-color:#00000047}[data-theme=light] .search-item.selected .checkbox .checked-mark,[data-theme=light] .group-manage-item.selected .checkbox .checked-mark{border-bottom-color:#fff;border-left-color:#fff}.added-label{color:var(--muted);background:#ffffff1a;border-radius:4px;padding:2px 8px;font-size:11px}.no-results{text-align:center;padding:20px;font-size:14px}.selected-funds-bar{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin-top:16px;padding-top:16px;display:flex}.selected-chips{flex-wrap:wrap;gap:8px;display:flex}.selected-inline-chips{flex-wrap:wrap;gap:8px;margin-left:24px;display:flex}.fund-chip{color:var(--primary);background:#22d3ee26;border:1px solid #22d3ee4d;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:flex}.remove-chip{color:var(--primary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px;display:flex}.remove-chip:hover{background:#22d3ee33}.batch-add-button{width:100%}.add-fund-section{z-index:41;position:relative}.group-item:hover{background:#ffffff14}.group-item.selected{color:var(--primary);background:#22d3ee1a}.tabs-container{flex:1;align-items:center;gap:8px;min-width:0;max-width:100%;display:flex;position:relative}.tabs-scroll-area{flex:1;min-width:0;position:relative;overflow:hidden;-webkit-mask-image:none;mask-image:none}.tabs-scroll-area[data-mask-left=true][data-mask-right=true]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 40px calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#0000,#000 40px calc(100% - 40px),#0000)}.tabs-scroll-area[data-mask-left=true][data-mask-right=false]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 40px,#000);mask-image:linear-gradient(90deg,#0000,#000 40px,#000)}.tabs-scroll-area[data-mask-left=false][data-mask-right=true]{-webkit-mask-image:linear-gradient(90deg,#000,#000 calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#000,#000 calc(100% - 40px),#0000)}.tabs{white-space:nowrap;scroll-behavior:smooth;scrollbar-width:none;cursor:grab;-webkit-user-select:none;user-select:none;gap:4px;padding:4px 0;display:flex;overflow-x:auto}.tabs:after{content:"";flex:0 0 16px}.tabs:active{cursor:grabbing}.tabs::-webkit-scrollbar{display:none}.group-manage-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.group-manage-item{border:1px solid var(--border);background:#ffffff08;border-radius:12px;align-items:center;gap:12px;padding:8px;display:flex}.group-manage-item:hover{border-color:var(--primary);background:#ffffff0f}.group-manage-item.selected{border-color:var(--primary);background:#22d3ee1a}.group-manage-item.selected .checkbox{background:var(--primary);border-color:var(--primary)}.group-rename-input{font-weight:500;box-shadow:none!important;background:0 0!important;border:none!important}.group-rename-input:focus{background:#ffffff0d!important}.drag-handle:active{cursor:grabbing}.add-group-btn{border:1px dashed var(--border);background:#ffffff0d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.add-group-btn:hover{border-color:var(--primary);color:var(--primary)}.add-group-row-btn:hover{border-color:var(--primary)!important;color:var(--primary)!important;background:#ffffff0d!important}.tabs-nav-btn{border:1px solid var(--border);width:28px;height:28px;color:var(--muted);background:#ffffff14;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.tabs-nav-btn:hover{color:var(--primary);border-color:var(--primary)}.tabs-nav-btn.disabled{opacity:.4;pointer-events:none}.tabs-fixed{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.group-selector-popup{box-shadow:0 10px 25px -5px #0000004d,0 8px 10px -6px #0000004d;background:#0f172af2!important}@media (max-width:768px){.tabs-container{width:100%;margin-bottom:8px}.tabs{max-width:none!important}}.user-menu-container,.user-menu-trigger{position:relative}.user-avatar-small{background:linear-gradient(135deg,var(--primary),var(--accent));color:#05263b;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex}.user-menu-dropdown{z-index:100;background:#0f172af2;min-width:200px;padding:8px;position:fixed;right:0;box-shadow:0 10px 25px -5px #00000080}.user-menu-header{align-items:center;gap:12px;padding:12px 8px;display:flex}.user-avatar-large{background:linear-gradient(135deg,var(--primary),var(--accent));color:#05263b;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:700;display:flex}.user-info{flex-direction:column;gap:2px;min-width:0;display:flex}.user-email{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.user-status{color:var(--success);font-size:11px}.user-menu-divider{background:var(--border);height:1px;margin:4px 0}.user-menu-item{width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;transition:all .2s;display:flex}.user-menu-item:hover{background:#ffffff14}.user-menu-item.danger{color:var(--danger)}.user-menu-item.danger:hover{background:#f871711a}.login-modal{max-width:400px!important}.login-message{border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.login-message.error{color:var(--danger);background:#f8717126;border:1px solid #f871714d}.login-message.success{color:var(--success);background:#34d39926;border:1px solid #34d3994d}.button.secondary{border:1px solid var(--border);color:var(--text);background:0 0}.button.secondary:hover{border-color:var(--muted);box-shadow:none;background:#ffffff0d}@media (max-width:640px){.user-menu-header{padding:16px 8px}.user-menu-item{padding:14px 12px;font-size:15px}.login-modal{margin:16px;max-width:100%!important}}
