.app-layout[data-v-561ddbb9]{display:flex;flex-direction:column;height:100vh}.app-header[data-v-561ddbb9]{display:flex;align-items:center;gap:10px;padding:0 16px;height:40px;background:var(--bg-header);border-bottom:1px solid var(--border);flex-shrink:0}.app-logo[data-v-561ddbb9]{font-size:18px}.app-title[data-v-561ddbb9]{font-size:14px;font-weight:600;color:var(--text-primary)}.app-nav[data-v-561ddbb9]{display:flex;align-items:center;gap:4px;margin-left:20px}.nav-link[data-v-561ddbb9]{font-size:12px;padding:4px 10px;border-radius:4px;color:var(--text-secondary);text-decoration:none;transition:background .15s}.nav-link[data-v-561ddbb9]:hover{background:var(--bg-hover)}.nav-link.router-link-exact-active[data-v-561ddbb9]{background:var(--bg-selected);color:var(--text-primary)}.app-header-right[data-v-561ddbb9]{margin-left:auto;display:flex;align-items:center;gap:10px}.user-name[data-v-561ddbb9]{font-size:12px;color:var(--text-muted)}.logout-btn[data-v-561ddbb9]{font-size:11px;padding:3px 8px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer}.logout-btn[data-v-561ddbb9]:hover{background:var(--bg-hover);border-color:var(--text-muted)}.app-loading[data-v-561ddbb9]{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-muted);font-size:14px}.theme-toggle[data-v-561ddbb9]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;font-size:15px;line-height:1;transition:background .15s}.theme-toggle[data-v-561ddbb9]:hover{background:var(--bg-hover)}.tree-row[data-v-0c849805]{display:flex;align-items:center;gap:4px;padding:2px 8px;height:22px;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px;margin:0 4px;transition:background .08s}.tree-row[data-v-0c849805]:hover{background:var(--bg-hover)}.tree-row.selected[data-v-0c849805]{background:var(--bg-selected)}.toggle-icon[data-v-0c849805]{width:12px;flex-shrink:0;font-size:10px;color:var(--text-muted)}.entry-icon[data-v-0c849805]{font-size:13px;flex-shrink:0;line-height:1}.entry-name[data-v-0c849805]{flex:1;font-size:13px;color:var(--text-primary)}.is-dir .entry-name[data-v-0c849805]{font-weight:500;color:var(--icon-dir)}.symlink-target[data-v-0c849805]{font-size:11px;font-style:italic;flex-shrink:0;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-size[data-v-0c849805]{flex-shrink:0;width:62px;text-align:right}.entry-mode[data-v-0c849805]{flex-shrink:0;width:70px;text-align:right;font-size:10px;display:none}.tree-row:hover .entry-mode[data-v-0c849805]{display:block}.muted-text[data-v-0c849805]{font-size:11px;color:var(--text-muted)}.fs-browser[data-v-8a9db949]{display:flex;flex-direction:column;flex:1;overflow:hidden}.fs-header[data-v-8a9db949]{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-sidebar);border-bottom:1px solid var(--border);flex-shrink:0;gap:8px;flex-wrap:wrap}.fs-image-info[data-v-8a9db949]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fs-repo-label[data-v-8a9db949]{font-weight:600}.tag-chip[data-v-8a9db949]{padding:1px 8px;border-radius:10px;background:#1a3a5c;color:#7ac7f7;font-size:11px;font-weight:600}.fs-digest[data-v-8a9db949]{font-size:11px}.progress-bar-wrap[data-v-8a9db949]{padding:10px 16px;background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0}.progress-label[data-v-8a9db949]{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.progress-track[data-v-8a9db949]{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.progress-fill[data-v-8a9db949]{height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}.current-layer[data-v-8a9db949]{font-size:10px;color:var(--text-muted);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fs-content[data-v-8a9db949]{display:flex;flex-direction:column;flex:1;overflow:hidden}.fs-tabs[data-v-8a9db949]{display:flex;gap:2px;padding:6px 16px 0;border-bottom:1px solid var(--border);flex-shrink:0}.fs-tab[data-v-8a9db949]{padding:6px 14px;font-size:12px;font-weight:600;color:var(--text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer}.fs-tab[data-v-8a9db949]:hover{color:var(--text-primary)}.fs-tab.active[data-v-8a9db949]{color:var(--accent);border-bottom-color:var(--accent)}.tab-dot[data-v-8a9db949]{display:inline-block;width:6px;height:6px;border-radius:50%;margin-left:6px;vertical-align:middle;background:var(--text-muted)}.tab-dot.done[data-v-8a9db949]{background:#3fb950}.tab-dot.pulsing[data-v-8a9db949]{background:var(--accent);animation:tab-dot-pulse-8a9db949 1.2s ease-in-out infinite}@keyframes tab-dot-pulse-8a9db949{0%,to{opacity:1}50%{opacity:.3}}.tab-panel[data-v-8a9db949]{display:flex;flex-direction:column;flex:1;overflow:hidden}.overview-view[data-v-8a9db949]{flex:1;overflow-y:auto;padding:12px 16px}.collapse-section[data-v-8a9db949]{border:1px solid var(--border);border-radius:6px;margin-bottom:10px;background:var(--bg-panel);overflow:hidden}.collapse-section summary[data-v-8a9db949]{padding:8px 12px;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.03em;color:var(--text-secondary);list-style:none;-webkit-user-select:none;user-select:none}.collapse-section summary[data-v-8a9db949]::-webkit-details-marker{display:none}.collapse-section summary[data-v-8a9db949]:before{content:"▸";display:inline-block;margin-right:6px;transition:transform .1s}.collapse-section[open] summary[data-v-8a9db949]:before{transform:rotate(90deg)}.collapse-section[open] summary[data-v-8a9db949]{border-bottom:1px solid var(--border)}.kv-grid[data-v-8a9db949]{display:grid;grid-template-columns:160px 1fr;gap:6px 12px;padding:10px 12px;font-size:12.5px}.kv-key[data-v-8a9db949]{color:var(--text-muted)}.kv-val[data-v-8a9db949]{color:var(--text-primary);word-break:break-word}.sub-section[data-v-8a9db949]{padding:0 12px 10px}.sub-title[data-v-8a9db949]{font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--text-muted);margin-bottom:6px}.chip-list[data-v-8a9db949]{display:flex;flex-wrap:wrap;gap:6px}.env-chip[data-v-8a9db949]{padding:2px 8px;border-radius:4px;background:var(--bg-hover);font-size:11.5px;color:var(--text-primary)}.layer-list[data-v-8a9db949]{padding:4px 0}.layer-row[data-v-8a9db949]{display:flex;align-items:center;gap:10px;padding:5px 12px;font-size:12px}.layer-row[data-v-8a9db949]:hover{background:var(--bg-hover)}.layer-idx[data-v-8a9db949]{flex-shrink:0;width:28px}.layer-digest[data-v-8a9db949]{flex:1;color:var(--text-primary)}.layer-size[data-v-8a9db949]{flex-shrink:0}.fs-tab-panel[data-v-8a9db949]{flex:1;overflow:hidden;display:flex;flex-direction:column}.fs-cta[data-v-8a9db949]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px;text-align:center}.fs-cta-icon[data-v-8a9db949]{font-size:40px}.fs-cta p[data-v-8a9db949]{max-width:420px;margin:0}.dockerfile-view[data-v-8a9db949]{display:flex;flex-direction:column;flex:1;overflow:hidden}.dockerfile-view .info-banner[data-v-8a9db949]{border-top:none;border-bottom:1px solid var(--border)}.dockerfile-pre[data-v-8a9db949]{flex:1;overflow:auto;margin:0;padding:12px 16px;font-size:12.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.fs-toolbar[data-v-8a9db949]{display:flex;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.fs-search[data-v-8a9db949]{flex:1;min-width:180px}.fs-stats[data-v-8a9db949]{display:flex;align-items:center;gap:8px;flex-shrink:0}.tree-container[data-v-8a9db949]{flex:1;overflow-y:auto;padding:4px 0}.flat-result[data-v-8a9db949]{display:flex;align-items:center;gap:8px;padding:3px 16px;font-size:13px}.flat-result[data-v-8a9db949]:hover{background:var(--bg-hover)}.entry-icon[data-v-8a9db949]{flex-shrink:0;font-size:12px}.entry-path[data-v-8a9db949]{flex:1;color:var(--text-primary)}.entry-size[data-v-8a9db949]{flex-shrink:0}.info-banner[data-v-8a9db949]{padding:6px 16px;background:#1e2d1e;border-top:1px solid var(--border);color:#8cba8c;font-size:12px;flex-shrink:0}.muted-msg[data-v-8a9db949]{padding:8px 16px;color:var(--text-muted);font-size:12px}.center-msg[data-v-8a9db949]{text-align:center;padding-top:40px}.muted-text[data-v-8a9db949]{font-size:11px;color:var(--text-muted)}.explorer[data-v-dde0551c]{display:flex;flex:1;overflow:hidden}.sidebar[data-v-dde0551c]{width:300px;min-width:220px;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sidebar-section[data-v-dde0551c]{display:flex;flex-direction:column;padding:8px 0;border-bottom:1px solid var(--border)}.repos-section[data-v-dde0551c]{flex:1;min-height:0;overflow:hidden}.artifacts-section[data-v-dde0551c]{flex:1.4;min-height:0;overflow:hidden}.section-header[data-v-dde0551c]{display:flex;align-items:center;gap:6px;padding:4px 12px;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--text-secondary);flex-shrink:0}.filter-input[data-v-dde0551c]{margin:4px 12px;font-size:12px;flex-shrink:0}.show-untagged-toggle[data-v-dde0551c]{display:flex;align-items:center;gap:6px;margin:2px 12px 4px;font-size:11px;color:var(--text-secondary);cursor:pointer;flex-shrink:0}.show-untagged-toggle input[data-v-dde0551c]{cursor:pointer}.project-tabs[data-v-dde0551c]{display:flex;flex-wrap:wrap;gap:4px;padding:4px 10px}.project-tab[data-v-dde0551c]{padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500;background:var(--bg-panel);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s;border:1px solid var(--border)}.project-tab.active[data-v-dde0551c],.project-tab[data-v-dde0551c]:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.repo-list[data-v-dde0551c],.artifact-list[data-v-dde0551c]{list-style:none;overflow-y:auto;flex:1}.repo-item[data-v-dde0551c]{display:flex;align-items:center;gap:6px;padding:5px 12px;cursor:pointer;border-left:2px solid transparent;transition:background .1s}.repo-item[data-v-dde0551c]:hover{background:var(--bg-hover)}.repo-item.active[data-v-dde0551c]{background:var(--bg-selected);border-left-color:var(--accent)}.repo-icon[data-v-dde0551c]{font-size:13px;flex-shrink:0}.repo-name[data-v-dde0551c]{flex:1;font-size:13px}.repo-count[data-v-dde0551c]{font-size:11px;color:var(--text-muted);flex-shrink:0}.artifact-item[data-v-dde0551c]{padding:7px 12px;cursor:pointer;border-left:2px solid transparent;transition:background .1s}.artifact-item[data-v-dde0551c]:hover{background:var(--bg-hover)}.artifact-item.active[data-v-dde0551c]{background:var(--bg-selected);border-left-color:var(--accent)}.art-tags[data-v-dde0551c]{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.tag-chip[data-v-dde0551c]{padding:1px 7px;border-radius:10px;background:#1a3a5c;color:#7ac7f7;font-size:11px;font-weight:600}.tag-chip.muted[data-v-dde0551c]{background:var(--bg-panel);color:var(--text-muted)}.art-meta[data-v-dde0551c]{display:flex;align-items:center;gap:6px;margin-bottom:2px}.art-digest[data-v-dde0551c]{font-size:10px}.muted-text[data-v-dde0551c]{font-size:11px;color:var(--text-muted)}.main-content[data-v-dde0551c]{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-app)}.error-banner[data-v-dde0551c]{padding:8px 16px;background:#3b1517;border-bottom:1px solid var(--danger);color:#ffa0a0;font-size:13px;flex-shrink:0}.empty-state[data-v-dde0551c]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);text-align:center;line-height:1.6}.empty-icon[data-v-dde0551c]{font-size:48px}.muted-msg[data-v-dde0551c]{padding:8px 12px;color:var(--text-muted);font-size:12px}.login-page[data-v-0bc0b181]{display:flex;align-items:center;justify-content:center;height:100vh;background:#0a0a0a}.login-card[data-v-0bc0b181]{text-align:center;padding:48px;background:#1a1a1a;border:1px solid #333;border-radius:12px;max-width:400px;width:100%}.login-logo[data-v-0bc0b181]{font-size:48px;display:block;margin-bottom:16px}.login-card h1[data-v-0bc0b181]{font-size:24px;font-weight:600;color:#fff;margin:0 0 12px}.login-subtitle[data-v-0bc0b181]{color:#999;font-size:14px;margin:0 0 32px;line-height:1.5}.login-btn[data-v-0bc0b181]{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;background:#2a2a2a;border:1px solid #444;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.login-btn[data-v-0bc0b181]:hover{background:#333;border-color:#666}.login-btn[data-v-0bc0b181]:disabled{opacity:.5;cursor:not-allowed}.setup-page[data-v-aa49e8c9]{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 40px);padding:24px;background:#0a0a0a}.setup-card[data-v-aa49e8c9]{padding:40px;background:#1a1a1a;border:1px solid #333;border-radius:12px;max-width:480px;width:100%}.setup-card h1[data-v-aa49e8c9]{font-size:22px;font-weight:600;color:#fff;margin:0 0 8px}.setup-subtitle[data-v-aa49e8c9]{color:#999;font-size:13px;margin:0 0 28px}.setup-form[data-v-aa49e8c9]{display:flex;flex-direction:column;gap:18px}.form-group[data-v-aa49e8c9]{display:flex;flex-direction:column;gap:6px}.form-group label[data-v-aa49e8c9]{font-size:12px;font-weight:500;color:#ccc}.hint[data-v-aa49e8c9]{color:#777;font-weight:400}.form-group input[type=text][data-v-aa49e8c9],.form-group input[type=url][data-v-aa49e8c9],.form-group input[type=password][data-v-aa49e8c9]{padding:10px 12px;background:#111;border:1px solid #444;border-radius:6px;color:#fff;font-size:13px;outline:none;transition:border-color .15s}.form-group input[data-v-aa49e8c9]:focus{border-color:#666}.checkbox-group label[data-v-aa49e8c9]{display:flex;align-items:center;gap:8px;font-size:13px;color:#ccc;cursor:pointer}.form-error[data-v-aa49e8c9]{padding:10px 12px;background:#3a1515;border:1px solid #662222;border-radius:6px;color:#ff6b6b;font-size:12px}.save-btn[data-v-aa49e8c9]{padding:12px;background:#2563eb;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.save-btn[data-v-aa49e8c9]:hover{background:#1d4ed8}.save-btn[data-v-aa49e8c9]:disabled{opacity:.5;cursor:not-allowed}.runner-audit[data-v-929d00a2]{display:flex;height:100%;overflow:hidden}.sidebar[data-v-929d00a2]{width:300px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-sidebar);border-right:1px solid var(--border);overflow-y:auto}.sidebar-section[data-v-929d00a2]{padding:10px 12px;border-bottom:1px solid var(--border)}.status-section[data-v-929d00a2]{margin-top:auto}.section-header[data-v-929d00a2]{font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.5px;margin-bottom:8px;display:flex;align-items:center;gap:6px}.runner-list[data-v-929d00a2]{list-style:none;display:flex;flex-direction:column;gap:6px}.runner-item[data-v-929d00a2]{padding:8px;border-radius:6px;cursor:pointer;border:1px solid transparent}.runner-item[data-v-929d00a2]:hover{background:var(--bg-hover)}.runner-item.active[data-v-929d00a2]{background:var(--bg-selected);border-color:var(--accent)}.runner-item-top[data-v-929d00a2]{display:flex;justify-content:space-between;align-items:center;gap:6px}.runner-name[data-v-929d00a2]{font-size:12.5px;font-weight:600}.runner-item-sub[data-v-929d00a2]{font-size:11px;color:var(--text-muted);margin-top:2px}.runner-item-disk[data-v-929d00a2]{margin-top:6px;display:flex;align-items:center;gap:6px}.disk-bar[data-v-929d00a2]{flex:1;height:5px;border-radius:3px;background:var(--bg-panel);overflow:hidden}.disk-bar-fill[data-v-929d00a2]{height:100%;border-radius:3px}.bar-ok[data-v-929d00a2]{background:var(--success)}.bar-warning[data-v-929d00a2]{background:var(--warning)}.bar-danger[data-v-929d00a2]{background:var(--danger)}.muted-text[data-v-929d00a2]{font-size:11px;color:var(--text-muted)}.muted-msg[data-v-929d00a2]{font-size:12px;color:var(--text-muted);padding:8px 0}.error-text[data-v-929d00a2]{font-size:11px;color:var(--danger);margin-top:4px}.poll-status[data-v-929d00a2]{display:flex;flex-direction:column;gap:4px}.poll-btn[data-v-929d00a2]{margin-top:8px;width:100%;justify-content:center}.main-content[data-v-929d00a2]{flex:1;overflow-y:auto;padding:16px 20px}.error-banner[data-v-929d00a2]{background:#3a1414;color:var(--danger);border:1px solid var(--danger);border-radius:6px;padding:8px 12px;margin-bottom:12px;font-size:12.5px}.empty-state[data-v-929d00a2]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center;gap:10px}.empty-icon[data-v-929d00a2]{font-size:40px}.runner-header[data-v-929d00a2]{margin-bottom:16px;display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}.runner-header h2[data-v-929d00a2]{font-size:16px;font-weight:600}.period-switch[data-v-929d00a2]{margin-left:auto;display:flex;gap:2px;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:2px}.period-btn[data-v-929d00a2]{font-size:11.5px;padding:4px 10px;border-radius:4px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer}.period-btn[data-v-929d00a2]:hover{background:var(--bg-hover)}.period-btn.active[data-v-929d00a2]{background:var(--accent);color:#fff}.charts-grid[data-v-929d00a2]{display:grid;grid-template-columns:repeat(auto-fill,600px);gap:16px}.chart-card[data-v-929d00a2]{width:600px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:12px}.chart-title[data-v-929d00a2]{font-size:12.5px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.chart-box[data-v-929d00a2]{height:240px}.admin-projects[data-v-45fcd613]{padding:24px;overflow-y:auto;flex:1}.page-header h2[data-v-45fcd613]{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.muted-text[data-v-45fcd613]{color:var(--text-secondary);font-size:12px}.muted-msg[data-v-45fcd613]{color:var(--text-muted);font-size:13px;padding:12px 0}.error-banner[data-v-45fcd613]{margin-top:16px;padding:10px 12px;background:#3a1515;border:1px solid #662222;border-radius:6px;color:var(--danger);font-size:12px}.form-card[data-v-45fcd613],.list-card[data-v-45fcd613]{margin-top:20px;padding:20px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px}.form-card h3[data-v-45fcd613]{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:14px}.project-form[data-v-45fcd613]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;max-width:720px}.form-row[data-v-45fcd613]{display:flex;flex-direction:column;gap:6px}.form-row label[data-v-45fcd613]{font-size:12px;font-weight:500;color:var(--text-secondary)}.form-row input[type=text][data-v-45fcd613],.form-row input[type=url][data-v-45fcd613],.form-row input[type=password][data-v-45fcd613]{padding:8px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:13px;outline:none}.form-row input[data-v-45fcd613]:focus{border-color:var(--accent)}.checkbox-row label[data-v-45fcd613]{display:flex;align-items:center;gap:8px;flex-direction:row;cursor:pointer}.form-actions[data-v-45fcd613]{grid-column:1 / -1;display:flex;gap:10px;margin-top:4px}.btn[data-v-45fcd613]{font-size:12px;padding:7px 14px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s,border-color .15s}.btn[data-v-45fcd613]:hover{background:var(--bg-hover)}.btn[data-v-45fcd613]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-45fcd613]{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary[data-v-45fcd613]:hover{background:var(--accent-h)}.btn-ghost[data-v-45fcd613]{background:transparent}.btn-danger[data-v-45fcd613]{color:var(--danger);border-color:var(--danger)}.btn-danger[data-v-45fcd613]:hover{background:#f851491f}.projects-table[data-v-45fcd613]{width:100%;border-collapse:collapse;font-size:12px}.projects-table th[data-v-45fcd613],.projects-table td[data-v-45fcd613]{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text-primary)}.projects-table th[data-v-45fcd613]{color:var(--text-secondary);font-weight:500}.projects-table td.truncate[data-v-45fcd613]{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-actions[data-v-45fcd613]{display:flex;gap:8px;white-space:nowrap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-header: #111111;--bg-app: #1e1e1e;--bg-sidebar: #252526;--bg-panel: #2d2d2d;--bg-hover: #37373d;--bg-selected: #094771;--bg-input: #3c3c3c;--border: #3e3e42;--text-primary: #cccccc;--text-secondary: #9e9e9e;--text-muted: #6a6a6a;--accent: #0078d4;--accent-h: #1a8de9;--danger: #f85149;--success: #3fb950;--warning: #d29922;--icon-dir: #dcb67a;--icon-file: #cccccc;--icon-symlink: #89b4fa;--icon-device: #bb86fc;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:13px;color:var(--text-primary)}[data-theme=light]{--bg-header: #f3f3f3;--bg-app: #ffffff;--bg-sidebar: #f3f3f3;--bg-panel: #ebebeb;--bg-hover: #e4e6f1;--bg-selected: #cce5ff;--bg-input: #ffffff;--border: #d4d4d4;--text-primary: #1e1e1e;--text-secondary: #555555;--text-muted: #8a8a8a;--accent: #0078d4;--accent-h: #005fa3;--danger: #d1242f;--success: #1a7f37;--warning: #9a6700;--icon-dir: #bf8a30;--icon-file: #555555;--icon-symlink: #4f81d6;--icon-device: #8250df;color:var(--text-primary)}body{background:var(--bg-app);height:100vh;overflow:hidden}#app{height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono{font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:12px}button{cursor:pointer;border:none;background:none;color:inherit;font:inherit}.btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:4px;font-size:13px;transition:background .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-h)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg-hover)}input[type=text],input[type=search],select{background:var(--bg-input);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font:inherit;padding:4px 8px;outline:none;width:100%}input[type=text]:focus,input[type=search]:focus,select:focus{border-color:var(--accent)}.badge{display:inline-block;padding:1px 6px;border-radius:10px;font-size:11px;font-weight:600;background:var(--bg-panel);color:var(--text-secondary)}.badge-blue{background:#0e3452;color:#7ac7f7}.badge-green{background:#0e3020;color:#3fb950}.badge-orange{background:#2d1f00;color:#d29922}[data-theme=light] .badge-blue{background:#dbeeff;color:#0060aa}[data-theme=light] .badge-green{background:#d4f4dd;color:#1a7f37}[data-theme=light] .badge-orange{background:#fff3cd;color:#9a6700}
