.project-files-tab[data-v-bc8c2e25]{flex-direction:column;gap:6px;height:100%;padding:8px 14px;display:flex;position:relative;overflow:hidden}.project-files-tab.dragging[data-v-bc8c2e25]{outline:2px dashed var(--primary);outline-offset:-6px}.drop-overlay[data-v-bc8c2e25]{background:color-mix(in srgb,var(--primary) 18%,var(--bg));color:var(--primary);pointer-events:none;z-index:100;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-weight:500;display:flex;position:absolute;inset:0}.drop-overlay[data-v-bc8c2e25] svg{width:56px;height:56px}.unified-toolbar[data-v-bc8c2e25]{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:6px 4px;display:flex}.toolbar-left[data-v-bc8c2e25]{flex:0 auto;min-width:0}.toolbar-center[data-v-bc8c2e25]{flex:1;justify-content:center;min-width:0;display:flex}.toolbar-right[data-v-bc8c2e25]{flex:none;gap:6px;display:flex}.mini-breadcrumb[data-v-bc8c2e25]{color:var(--text-muted);align-items:center;min-width:0;font-size:12px;display:flex}.mini-breadcrumb .crumb[data-v-bc8c2e25]{color:inherit;cursor:pointer;font-size:inherit;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;max-width:160px;padding:3px 6px;display:inline-flex;overflow:hidden}.mini-breadcrumb .crumb[data-v-bc8c2e25]:hover{background:var(--hover-bg)}.mini-breadcrumb .crumb.active[data-v-bc8c2e25]{color:var(--text);cursor:default}.mini-breadcrumb .crumb.active[data-v-bc8c2e25]:hover{background:0 0}.crumb-sep[data-v-bc8c2e25]{opacity:.5;font-size:11px}.search-box[data-v-bc8c2e25]{width:100%;max-width:320px;position:relative}.search-icon[data-v-bc8c2e25]{color:var(--text-muted);font-size:14px;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.search-input[data-v-bc8c2e25]{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:6px;width:100%;padding:5px 10px 5px 28px;font-size:12px}.search-input[data-v-bc8c2e25]:focus{border-color:var(--primary);outline:none}.tb-btn[data-v-bc8c2e25]{background:var(--bg-subtle);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:inline-flex}.tb-btn[data-v-bc8c2e25]:hover:not(:disabled){background:var(--hover-bg)}.tb-btn[data-v-bc8c2e25]:disabled{cursor:wait;opacity:.6}.tb-btn.primary[data-v-bc8c2e25]{background:var(--primary);color:var(--primary-contrast,#fff);border-color:#0000}.tb-btn.primary[data-v-bc8c2e25]:hover:not(:disabled){filter:brightness(1.08)}.tb-btn.icon-only[data-v-bc8c2e25]{padding:5px 7px}.tb-btn.icon-only span[data-v-bc8c2e25]{display:none}.table-wrapper[data-v-bc8c2e25]{flex:1;min-height:0;overflow:auto}.file-icon-cell[data-v-bc8c2e25]{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.file-thumb[data-v-bc8c2e25]{-o-object-fit:cover;object-fit:cover;border-radius:4px;width:24px;height:24px}.file-icon[data-v-bc8c2e25]{color:var(--text-muted);font-size:18px}.cell-name[data-v-bc8c2e25]{color:var(--text);font-size:13px}.status-badge[data-v-bc8c2e25]{border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.status-badge.public[data-v-bc8c2e25]{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.status-badge.private[data-v-bc8c2e25]{background:color-mix(in srgb,var(--text-muted) 15%,transparent);color:var(--text-muted)}.status-badge.folder[data-v-bc8c2e25]{color:#d97706;background:#fbbf2433}.row-download-btn[data-v-bc8c2e25]{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;width:26px;height:26px;transition:opacity .15s,background .15s,color .15s;display:inline-flex}.table-wrapper[data-v-bc8c2e25] tr:hover .row-download-btn{opacity:1}.row-download-btn[data-v-bc8c2e25]:hover{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.modal-overlay[data-v-bc8c2e25]{z-index:9998;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.delete-modal[data-v-bc8c2e25],.prompt-modal[data-v-bc8c2e25]{background:var(--bg-base);border:1px solid var(--border);border-radius:12px;min-width:360px;max-width:460px;padding:24px;box-shadow:0 20px 60px #0000004d}.delete-modal .modal-icon[data-v-bc8c2e25]{background:color-mix(in srgb,var(--danger,#ef4444) 15%,transparent);color:var(--danger,#ef4444);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:14px;font-size:24px;display:flex}.delete-modal h3[data-v-bc8c2e25],.prompt-modal h3[data-v-bc8c2e25]{color:var(--text);margin:0 0 8px;font-size:16px;font-weight:600}.delete-modal p[data-v-bc8c2e25]{color:var(--text-muted);margin:0 0 6px;font-size:13px}.delete-modal strong[data-v-bc8c2e25]{color:var(--text)}.modal-warning[data-v-bc8c2e25]{color:var(--warning,#d97706)!important;margin-top:6px!important;font-size:12px!important}.prompt-input[data-v-bc8c2e25]{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;width:100%;margin:4px 0 16px;padding:8px 12px;font-size:13px}.prompt-input[data-v-bc8c2e25]:focus{border-color:var(--primary);outline:none}.modal-actions[data-v-bc8c2e25]{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.btn-cancel[data-v-bc8c2e25],.btn-delete[data-v-bc8c2e25]{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:6px 14px;font-size:13px}.btn-cancel[data-v-bc8c2e25]{border-color:var(--border);color:var(--text);background:0 0}.btn-cancel[data-v-bc8c2e25]:hover{background:var(--hover-bg)}.btn-delete[data-v-bc8c2e25]{background:var(--danger,#ef4444);color:#fff}.btn-delete[data-v-bc8c2e25]:hover:not(:disabled){filter:brightness(1.08)}.btn-delete[data-v-bc8c2e25]:disabled{cursor:wait;opacity:.55}.btn-delete.primary[data-v-bc8c2e25]{background:var(--primary)}.ctx-menu[data-v-bc8c2e25]{background:var(--bg-base);border:1px solid var(--border);z-index:10000;border-radius:8px;min-width:180px;padding:4px;position:fixed;box-shadow:0 10px 30px #0003}.ctx-item[data-v-bc8c2e25]{color:var(--text);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:13px;display:flex}.ctx-item[data-v-bc8c2e25]:hover{background:var(--hover-bg)}.spin[data-v-bc8c2e25]{animation:1s linear infinite spin-bc8c2e25}@keyframes spin-bc8c2e25{to{transform:rotate(1turn)}}
