:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:12px;--radius-md:16px;--radius-lg:22px;--shadow-glass:0 24px 60px rgba(2,6,23,.35);--shadow-float:0 12px 30px rgba(2,6,23,.22);--page-max:1200px;--sidebar-w:264px;--topnav-h:56px}html[data-theme=dark]{--bg:#050814;--card:rgba(2,6,23,.55);--text:#f1f5f9;--muted:rgba(241,245,249,.65);--primary:#8b5cf6;--accent:#22c55e;--success:#22c55e;--danger:#fb7185;--border:rgba(241,245,249,.12);--surface-1:rgba(2,6,23,.55);--surface-2:rgba(2,6,23,.72);--overlay:rgba(2,6,23,.6);--ring:rgba(124,58,237,.28);--glass-bg:rgba(2,6,23,.55);--glass-border:rgba(241,245,249,.14);--glass-highlight:hsla(0,0%,100%,.06);--glass-blur:18px;--glass-shadow:var(--shadow-glass)}html[data-theme=light]{--bg:#f6f7ff;--card:hsla(0,0%,100%,.6);--text:#0f172a;--muted:rgba(15,23,42,.62);--primary:#7c3aed;--accent:#16a34a;--success:#16a34a;--danger:#e11d48;--border:rgba(15,23,42,.12);--surface-1:hsla(0,0%,100%,.62);--surface-2:hsla(0,0%,100%,.86);--overlay:rgba(15,23,42,.28);--ring:rgba(124,58,237,.22);--glass-bg:hsla(0,0%,100%,.58);--glass-border:rgba(15,23,42,.1);--glass-highlight:hsla(0,0%,100%,.55);--glass-blur:18px;--glass-shadow:0 18px 45px rgba(2,6,23,.12)}*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;background:var(--bg);color:var(--text)}.container{max-width:var(--page-max);margin:0 auto;padding:var(--space-6)}.glass,.ui-glass{background:linear-gradient(180deg,var(--glass-highlight),transparent),var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.app-shell{min-height:100vh;--sidebar-space:var(--sidebar-w)}.app-shell.sidebar-collapsed{--sidebar-space:0px}.app-shell:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(900px 520px at 18% 0,rgba(124,58,237,.24),transparent 55%),radial-gradient(820px 520px at 82% -10%,rgba(34,197,94,.18),transparent 58%),radial-gradient(900px 520px at 95% 70%,rgba(59,130,246,.12),transparent 55%);pointer-events:none}.app-topnav{position:fixed;top:16px;left:16px;right:16px;z-index:90;height:var(--topnav-h);padding:0 var(--space-4);justify-content:space-between}.app-topnav,.app-topnav-left{display:flex;align-items:center}.app-topnav-left{gap:var(--space-3);min-width:0}.app-topnav-right{display:flex}.app-brand,.app-topnav-right{align-items:center;gap:var(--space-2)}.app-brand{display:inline-flex;text-decoration:none;color:var(--text);font-weight:700;letter-spacing:.2px;white-space:nowrap}.app-brand-text{font-size:14px}.app-title{margin-left:var(--space-2);padding-left:var(--space-3);border-left:1px solid var(--border);color:var(--muted);font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}.app-sidebar{position:fixed;top:calc(16px + var(--topnav-h) + 14px);left:16px;width:var(--sidebar-w);bottom:16px;z-index:80;padding:var(--space-4);overflow:hidden;transition:transform .22s ease,opacity .22s ease}.app-sidebar-inner{height:100%}.app-nav,.app-sidebar-inner{display:flex;flex-direction:column}.app-nav{gap:var(--space-2);flex:1 1;overflow-y:auto}.app-sidebar-footer{margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:center}.app-version{font-size:12px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;opacity:.8}.app-nav-item{display:flex;align-items:center;height:42px;padding:0 var(--space-4);border-radius:var(--radius-md);color:var(--muted);text-decoration:none;border:1px solid transparent;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.app-nav-item:hover{background:hsla(0,0%,100%,.06);border-color:var(--border);color:var(--text)}.app-nav-item.active{color:var(--text);border-color:rgba(124,58,237,.45);background:linear-gradient(180deg,rgba(124,58,237,.22),rgba(124,58,237,.08))}.app-main{padding-top:calc(16px + var(--topnav-h) + 16px);padding-left:calc(16px + var(--sidebar-space) + 16px);padding-right:16px;padding-bottom:18px}.app-container{max-width:var(--page-max);margin:0 auto;padding:var(--space-6)}.ui-page{display:flex;flex-direction:column;gap:var(--space-6)}.ui-panel{padding:var(--space-6)}.ui-panel.compact{padding:var(--space-4)}.app-scrim{display:none}.app-burger{display:inline-flex}@media (min-width:1025px){.app-shell.sidebar-collapsed .app-sidebar{display:none}}@media (max-width:1024px){.app-sidebar{top:0;left:0;bottom:0;width:min(86vw,320px);transform:translateX(-110%);transition:transform .22s ease;border-radius:0;border-left:none;border-top:none;border-bottom:none}.app-sidebar.open{transform:translateX(0)}.app-burger{display:inline-flex}.app-scrim{display:block;position:fixed;inset:0;background:rgba(2,6,23,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:70;border:none;padding:0}.app-main{padding-left:16px}}@media (max-width:640px){.app-topnav{top:0;left:0;right:0;border-radius:0;border-left:none;border-right:none;border-top:none}.app-main{padding-top:calc(var(--topnav-h) + 12px);padding-right:0;padding-left:0}.app-container{padding:var(--space-4)}}.card .title{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.2px}.card .title span:first-child{white-space:normal;word-break:break-word;overflow:visible;text-overflow:clip;max-width:none}.muted{color:var(--muted)}.hero-title{margin:0;display:flex;flex-direction:column;gap:2px}.hero-title-row{display:inline-flex;align-items:center;gap:12px}.hero-title-text{font-size:24px;font-weight:700;letter-spacing:.2px}.hero-subtitle{font-size:12px;font-weight:500;line-height:1.2}.grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:16px;gap:16px}.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-3,.col-4,.col-6{grid-column:span 12}}.navbar{position:fixed;top:16px;left:16px;right:16px;z-index:50;padding:12px 16px;justify-content:space-between}.brand,.navbar{display:flex;align-items:center}.brand{gap:8px;font-weight:600}.content{padding-top:20px}.header{margin-bottom:24px;padding:20px;position:relative;z-index:45}.header .title{margin:0;font-size:24px;display:flex;align-items:center;gap:12px}.header .logo{font-size:28px}.search-bar{margin-top:20px;position:relative;z-index:1000}.search-input{width:100%;height:48px!important;padding-left:40px!important;border-color:var(--border)!important}.search-input,.search-input:focus{background:var(--surface-2)!important}.search-input:focus{border-color:var(--primary)!important}@media (max-width:640px){.content{padding-top:80px}.navbar{top:0;left:0;right:0;border-radius:0;border:none;border-bottom:1px solid var(--border);background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.add-fund-section{margin-top:60px}}.form{display:flex;gap:12px;align-items:center}.input{flex:1 1;height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);outline:none;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.button{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 16px;border-radius:12px;border:1px solid rgba(124,58,237,.35);background:linear-gradient(180deg,#7c3aed,#3b82f6);color:#fff;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease}.button:hover{transform:translateY(-1px);box-shadow:var(--shadow-float)}.button:active{transform:translateY(0)}.button.secondary{background:hsla(0,0%,100%,.06);color:var(--text);border-color:var(--border)}.button.secondary:hover{border-color:rgba(124,58,237,.45)}.card{padding:16px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.badge{gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);color:var(--text);text-decoration:none}.badge,.badge-v{display:inline-flex;align-items:center;background:var(--surface-2);font-size:12px}.badge-v{flex-direction:column;gap:2px;padding:4px 10px;border-radius:8px;border:1px solid var(--border)}.badge-v span{font-size:10px;color:var(--muted)}.badge-v strong{font-size:11px}.stat{display:flex;align-items:baseline;gap:8px}.stat .label{font-size:12px;color:var(--muted)}.stat .value{font-size:20px;font-weight:700}.stat .badge{padding:4px 8px;font-size:12px}@media (max-width:640px){.input{font-size:16px}.container{padding:16px}.grid{gap:12px}.card{padding:12px}.stat{flex-direction:column;gap:4px;min-width:0}.stat .label{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat .value{font-size:15px;line-height:1.2;white-space:nowrap}.stat .badge{padding:2px 6px;font-size:13px;width:-moz-fit-content;width:fit-content}.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{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px}@media (max-width:640px){.list{grid-template-columns:1fr}}.item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2)}.item .values{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end;min-width:0}.item .name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.modal .item .name{white-space:normal;overflow:visible;text-overflow:clip;max-width:none;word-break:break-word}.item .weight{font-weight:600;color:var(--accent)}.empty{padding:24px;text-align:center;color:var(--muted)}.error-text{color:var(--danger);font-size:12px;margin-top:4px}.feedback-modal{max-width:420px!important}.link-button:hover{color:var(--accent)!important;opacity:.8}.footer{margin-top:24px;font-size:12px;color:var(--muted);text-align:center;padding-bottom:60px}.actions{gap:8px}.actions,.icon-button,.ui-icon-button{display:inline-flex;align-items:center}.icon-button,.ui-icon-button{width:36px;height:36px;justify-content:center;border-radius:12px;border:1px solid var(--border);background:hsla(0,0%,100%,.06);color:var(--muted);text-decoration:none;cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease,transform .15s ease,color .2s ease}.icon-button:hover,.ui-icon-button:hover{color:var(--text);transform:translateY(-1px);border-color:rgba(124,58,237,.55);box-shadow:var(--shadow-float)}.icon-button:active,.ui-icon-button:active{transform:translateY(0)}.theme-icon{display:none}html[data-theme=dark] .theme-icon--sun,html[data-theme=light] .theme-icon--moon{display:block}.icon-button.danger{background:linear-gradient(180deg,#ef4444,#f87171);color:#2b0b0b}.icon-button.danger:hover{box-shadow:0 10px 20px hsla(0,91%,71%,.25)}.fav-button{padding:4px;margin-right:4px;color:var(--muted);transition:all .2s ease;background:transparent;border:none;width:auto;height:auto}.fav-button.active,.fav-button:hover{color:var(--accent)}.tabs{background:transparent;border-radius:0;width:-moz-fit-content;width:fit-content;-webkit-backdrop-filter:none;backdrop-filter:none}.card.list-mode{padding:12px 16px;position:relative}.table-container{padding:0;overflow:hidden;grid-column:span 12}.table-row-wrapper{width:100%}.table-row{display:grid;grid-template-columns:48px 2.2fr 1fr .9fr 1fr 1fr 1fr 48px;align-items:center;grid-gap:8px;gap:8px;padding:12px 16px!important;border-bottom:1px solid var(--border);transition:background-color .2s ease}.table-row:hover{background:hsla(0,0%,100%,.03)}.table-row:last-child{border-bottom:none}.table-header-row{display:grid;grid-template-columns:48px 2.2fr 1fr .9fr 1fr 1fr 1fr 48px;grid-gap:8px;gap:8px;padding:16px;background:hsla(0,0%,100%,.05);border-bottom:1px solid var(--border)}.table-header-cell{font-size:13px;color:var(--text);font-weight:700;letter-spacing:.5px;white-space:nowrap}.table-sort{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:inherit;padding:0;font:inherit;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.table-sort:hover{color:var(--primary)}.table-cell{display:flex;align-items:center}.text-right{text-align:right;justify-content:flex-end}.text-center{text-align:center}.index-cell,.text-center{justify-content:center}.mobile-index{display:none}.name-cell{gap:8px}.title-text{display:flex;flex-direction:column;gap:2px}.name-text{font-size:14px;font-weight:600;white-space:normal;word-break:break-all;line-height:1.4}.code-text{font-size:11px}@media (max-width:768px){.table-header-row{display:none}.table-row{grid-template-columns:1fr 92px 92px;grid-template-areas:"name total change" "name today holding" "name yesterday action";gap:4px 12px;padding:12px!important}.name-cell{grid-area:name}.total-cell{grid-area:total}.change-cell{grid-area:change}.today-profit-cell{grid-area:today}.yesterday-profit-cell{grid-area:yesterday}.holding-profit-cell{grid-area:holding}.action-cell{grid-area:action;justify-content:flex-end}.index-cell{display:none}.mobile-index{display:inline}}.stat-compact .up{color:var(--danger)}.stat-compact .down{color:var(--success)}.filter-bar{transition:all .3s ease}@media (max-width:640px){.filter-bar{position:-webkit-sticky;position:sticky;top:60px;z-index:40;width:calc(100% + 32px);background:var(--glass-bg);margin:0 -16px 16px;padding:10px 16px;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;flex-direction:column;align-items:center!important}.tabs{width:100%;justify-content:flex-start;background:transparent;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0}.input.no-zoom{font-size:16px!important}}.tab{padding:0 20px;border-radius:8px;border:none;background:transparent;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;height:32px;line-height:32px;display:inline-flex;align-items:center}.tab:hover{color:var(--text);background:hsla(0,0%,100%,.05)}.tab.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px rgba(34,211,238,.3)}.modal-overlay{position:fixed;inset:0;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:60}.modal{width:560px;max-width:92vw;padding:16px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;transition:border-color .2s ease,transform .15s ease}.chip:hover{transform:translateY(-1px);border-color:var(--accent)}.chip.active{background:linear-gradient(180deg,#7c3aed,#3b82f6);color:#fff;border-color:transparent}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spin{animation:spin .8s linear infinite}.icon-button[aria-busy=true]{border-color:var(--accent);box-shadow:0 0 0 3px rgba(96,165,250,.15);cursor:default}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.loading-bar{position:absolute;top:0;left:0;height:2px;background:linear-gradient(90deg,transparent,var(--primary),transparent);width:100%;animation:loading 1.5s infinite;z-index:100;border-radius:16px 16px 0 0}@keyframes loading{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.search-container{position:relative;width:100%;z-index:45}.search-input-wrapper{position:relative;display:flex;align-items:center;flex-wrap:wrap}.search-spinner{position:absolute;right:12px;width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.search-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:320px;overflow-y:auto;z-index:1001;padding:8px;background:var(--surface-2)!important;border:1px solid var(--border);box-shadow:var(--shadow-float)}.search-results{display:flex;flex-direction:column;gap:4px}.search-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:10px;cursor:pointer;transition:all .2s ease}.search-item:hover:not(.added){background:hsla(0,0%,100%,.08)}.search-item.selected{background:rgba(124,58,237,.12);border:1px solid rgba(124,58,237,.24)}.search-item.added{cursor:not-allowed;opacity:.6}.fund-info{display:flex;flex-direction:column;gap:2px}.fund-name{font-size:14px;font-weight:600}.fund-code{font-size:11px}.checkbox{width:20px;height:20px;border-radius:6px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.search-item.selected .checkbox{background:var(--primary);border-color:var(--primary)}.checked-mark{width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px)}.added-label{font-size:11px;padding:2px 8px;background:hsla(0,0%,100%,.1);border-radius:4px;color:var(--muted)}.no-results{padding:20px;text-align:center;font-size:14px}.selected-funds{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.selected-funds .header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.selected-funds .count{font-size:13px;font-weight:600;color:var(--muted)}.text-button{background:transparent;border:none;color:var(--primary);font-size:13px;font-weight:600;padding:4px 8px;border-radius:10px;cursor:pointer}.text-button:hover{background:rgba(34,211,238,.12)}.app-version-badge{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;margin-right:8px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600}.selected-funds .tags{display:flex;flex-wrap:wrap;gap:8px}.selected-funds .tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:rgba(34,211,238,.15);border:1px solid rgba(34,211,238,.3);border-radius:10px;font-size:12px;color:var(--primary);max-width:100%}.selected-funds .tag span{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-funds .tag button{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--primary);cursor:pointer}.selected-funds .tag button:hover{background:rgba(34,211,238,.2)}.search-item .tag{font-size:11px;padding:2px 8px;border-radius:999px;background:hsla(0,0%,100%,.08);border:1px solid var(--border);color:var(--muted)}.selected-funds-bar{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.selected-chips,.selected-inline-chips{display:flex;flex-wrap:wrap;gap:8px}.fund-chip{gap:6px;padding:4px 10px;background:rgba(34,211,238,.15);border:1px solid rgba(34,211,238,.3);border-radius:8px;font-size:12px}.fund-chip,.remove-chip{display:flex;align-items:center;color:var(--primary)}.remove-chip{justify-content:center;padding:2px;background:transparent;border:none;cursor:pointer;border-radius:4px}.remove-chip:hover{background:rgba(34,211,238,.2)}.batch-add-button{width:100%}.add-fund-section{position:relative;z-index:41}.group-item:hover{background:hsla(0,0%,100%,.08)}.group-item.selected{background:rgba(34,211,238,.1);color:var(--primary)}.tabs-container{display:flex;align-items:center;gap:8px;max-width:100%}.tabs-container,.tabs-scroll-area{position:relative;flex:1 1;min-width:0}.tabs-scroll-area{overflow:hidden;mask-image:none;-webkit-mask-image:none}.tabs-scroll-area[data-mask-left=true][data-mask-right=true]{mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent)}.tabs-scroll-area[data-mask-left=true][data-mask-right=false]{mask-image:linear-gradient(90deg,transparent,#000 40px,#000);-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000)}.tabs-scroll-area[data-mask-left=false][data-mask-right=true]{mask-image:linear-gradient(90deg,#000,#000 calc(100% - 40px),transparent);-webkit-mask-image:linear-gradient(90deg,#000,#000 calc(100% - 40px),transparent)}.tabs{display:flex;overflow-x:auto;white-space:nowrap;gap:4px;padding:4px 0;scroll-behavior:smooth;scrollbar-width:none;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tabs:after{content:"";flex:0 0 16px}.tabs:active{cursor:-webkit-grabbing;cursor:grabbing}.tabs::-webkit-scrollbar{display:none}.group-manage-list{display:flex;flex-direction:column;gap:10px;padding:0;margin:0;list-style:none}.group-manage-item{display:flex;align-items:center;gap:12px;padding:8px;border-radius:12px;background:hsla(0,0%,100%,.03);border:1px solid var(--border)}.group-manage-item:hover{background:hsla(0,0%,100%,.06);border-color:var(--primary)}.group-manage-item.selected{background:rgba(34,211,238,.1);border-color:var(--primary)}.group-manage-item.selected .checkbox{background:var(--primary);border-color:var(--primary)}.group-rename-input{border:none!important;box-shadow:none!important;background:transparent!important;font-weight:500}.group-rename-input:focus{background:hsla(0,0%,100%,.05)!important}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.add-group-btn{width:32px;height:32px;border-radius:8px;background:hsla(0,0%,100%,.05);border:1px dashed var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.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:hsla(0,0%,100%,.05)!important}.tabs-nav-btn{width:28px;height:28px;border-radius:50%;background:hsla(0,0%,100%,.08);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .2s ease;flex-shrink:0}.tabs-nav-btn:hover{color:var(--primary);border-color:var(--primary)}.tabs-nav-btn.disabled{opacity:.4;pointer-events:none}.tabs-fixed{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.group-selector-popup{background:var(--glass-bg)!important;box-shadow:0 10px 25px -5px rgba(0,0,0,.3),0 8px 10px -6px rgba(0,0,0,.3)}@media (max-width:768px){.tabs-container{width:100%;margin-bottom:8px}.tabs{max-width:none!important}}.toolbar{justify-content:space-between;padding:12px 16px;margin-top:12px;margin-bottom:16px;flex-wrap:wrap;position:relative;z-index:40}.toolbar,.toolbar .left{display:flex;align-items:center;gap:16px}.toolbar .right{gap:12px;flex:1 1;justify-content:flex-end}.stat-item,.toolbar .right{display:flex;align-items:center}.stat-item{gap:6px;font-size:13px;color:var(--muted)}.stat-item .value{color:var(--text);font-weight:600;font-family:var(--font-mono)}.stat-item .dot{width:6px;height:6px;border-radius:50%}.stat-item .dot.online{background:var(--success);box-shadow:0 0 8px rgba(34,197,94,.4)}.stat-item .dot.offline{background:var(--muted)}.search-local{position:relative;display:flex;align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:0 10px;height:36px;width:240px;transition:all .2s ease;color:var(--muted)}.search-local:focus-within{border-color:var(--primary);background:var(--surface-2);color:var(--primary)}.search-local input{background:transparent;border:none;outline:none;color:var(--text);font-size:13px;width:100%;margin-left:6px}.search-local input::placeholder{color:rgba(156,163,175,.5)}.view-toggle{display:flex;background:var(--surface-1);padding:2px;border-radius:8px;border:1px solid var(--border)}.toggle-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--muted);border-radius:6px;cursor:pointer;transition:all .2s ease}.toggle-btn:hover{color:var(--text)}.toggle-btn.active{background:hsla(0,0%,100%,.1);color:var(--primary);box-shadow:0 1px 2px rgba(0,0,0,.2)}@media (max-width:640px){.toolbar{flex-direction:column;align-items:stretch;gap:12px;padding:12px;margin-top:8px}.toolbar .left{justify-content:space-between}.toolbar .right{width:100%}.search-local{flex:1 1;width:auto}}