.sidebar[data-v-d404af65]{width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--border-color);flex-direction:column;display:flex;position:relative;overflow:hidden}.sidebar[data-v-d404af65]:before{content:"";pointer-events:none;background:linear-gradient(#f9731608 0%,#0000 100%);height:160px;position:absolute;top:0;left:0;right:0}.sidebar-content[data-v-d404af65]{height:100%;padding:var(--space-lg) var(--space-md) var(--space-md);z-index:1;flex-direction:column;display:flex;position:relative}.nav[data-v-d404af65]{gap:var(--space-xs);flex-direction:column;flex:1;display:flex}.nav-item[data-v-d404af65]{align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-base);padding:8px 10px;text-decoration:none;display:flex;position:relative;overflow:hidden}.nav-indicator[data-v-d404af65]{background:linear-gradient(180deg, var(--primary-color) 0%, var(--primary-light) 100%);opacity:0;width:2px;height:16px;transition:all var(--transition-base);border-radius:0 2px 2px 0;position:absolute;top:50%;left:0;transform:translateY(-50%)scaleY(0)}.nav-item[data-v-d404af65]:hover{background:var(--hover-bg);color:var(--text-primary)}.nav-item:hover .nav-indicator[data-v-d404af65]{opacity:.5;transform:translateY(-50%)scaleY(1)}.nav-item.router-link-exact-active[data-v-d404af65]{background:var(--primary-glow);color:var(--primary-color)}.nav-item.router-link-exact-active .nav-indicator[data-v-d404af65]{opacity:1;transform:translateY(-50%)scaleY(1)}.nav-item[data-v-d404af65] svg{transition:transform var(--transition-base);flex-shrink:0}.nav-item span[data-v-d404af65]{font-size:var(--text-sm);font-weight:500}.storage-info[data-v-d404af65]{padding:var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-top:auto}.storage-body[data-v-d404af65]{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.storage-header-row[data-v-d404af65]{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.storage-label[data-v-d404af65]{font-size:var(--text-xs);color:var(--text-primary);font-weight:600}.storage-percent[data-v-d404af65]{color:var(--primary-color);font-size:10px;font-weight:600}.storage-progress[data-v-d404af65]{background:var(--border-color);border-radius:var(--radius-full);height:4px;overflow:hidden}.storage-bar[data-v-d404af65]{background:linear-gradient(90deg, var(--primary-color) 0%, var(--primary-light) 100%);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.storage-bar.warning[data-v-d404af65]{background:linear-gradient(90deg, var(--danger-color) 0%, var(--danger-light) 100%)}.storage-footer-row[data-v-d404af65]{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.storage-detail[data-v-d404af65]{align-items:center;gap:var(--space-xs);font-size:11px;display:flex}.storage-used[data-v-d404af65]{color:var(--text-primary);font-weight:500}.storage-dim[data-v-d404af65]{color:var(--text-muted)}.storage-count[data-v-d404af65]{color:var(--text-muted);font-size:10px}.topbar[data-v-635be0e8]{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);height:52px;padding:0 var(--space-lg);flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.topbar-actions[data-v-635be0e8]{align-items:center;gap:var(--space-md);display:flex}.user-area[data-v-635be0e8]{align-items:center;gap:var(--space-sm);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-base);padding:4px 10px 4px 4px;display:flex;position:relative}.user-area[data-v-635be0e8]:hover{background:var(--hover-bg)}.user-avatar[data-v-635be0e8]{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);border-radius:var(--radius-md);width:26px;height:26px;box-shadow:var(--shadow-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.user-avatar img[data-v-635be0e8]{object-fit:cover;width:100%;height:100%}.avatar-text[data-v-635be0e8]{font-size:var(--text-sm);color:#fff;font-weight:600}.avatar-text-lg[data-v-635be0e8]{font-size:var(--text-lg);color:#fff;font-weight:600}.user-name[data-v-635be0e8]{font-size:var(--text-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.user-area>svg[data-v-635be0e8]{color:var(--text-secondary);transition:transform var(--transition-base)}.user-area>svg.rotated[data-v-635be0e8]{transform:rotate(180deg)}.dropdown[data-v-635be0e8]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:210px;box-shadow:var(--shadow-lg);z-index:100;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.dropdown-enter-active[data-v-635be0e8],.dropdown-leave-active[data-v-635be0e8]{transition:all var(--transition-base)}.dropdown-enter-from[data-v-635be0e8],.dropdown-leave-to[data-v-635be0e8]{opacity:0;transform:translateY(-6px)scale(.98)}.dropdown-header[data-v-635be0e8]{align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--bg-secondary);display:flex}.dropdown-avatar[data-v-635be0e8]{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;overflow:hidden}.dropdown-avatar img[data-v-635be0e8]{object-fit:cover;width:100%;height:100%}.dropdown-info[data-v-635be0e8]{flex:1;min-width:0}.dropdown-name[data-v-635be0e8]{font-size:var(--text-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.dropdown-email[data-v-635be0e8]{font-size:var(--text-xs);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.dropdown-divider[data-v-635be0e8]{background:var(--border-color);height:1px}.dropdown-item[data-v-635be0e8]{align-items:center;gap:var(--space-sm);width:100%;padding:8px var(--space-md);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;transition:background var(--transition-base);background:0 0;border:none;display:flex}.dropdown-item[data-v-635be0e8]:hover{background:var(--hover-bg)}.dropdown-item svg[data-v-635be0e8]{color:var(--text-secondary);flex-shrink:0}.dropdown-item.danger[data-v-635be0e8]{color:var(--danger-color)}.dropdown-item.danger[data-v-635be0e8]:hover{background:var(--danger-bg)}.dropdown-item.danger svg[data-v-635be0e8]{color:var(--danger-color)}.layout[data-v-f0250417]{height:100vh;display:flex}.main-wrapper[data-v-f0250417]{flex-direction:column;flex:1;display:flex;overflow:hidden}.main-content[data-v-f0250417]{background-color:var(--bg-color);scrollbar-gutter:stable;flex:1;overflow-y:auto}.page-enter-active[data-v-f0250417],.page-leave-active[data-v-f0250417]{transition:opacity .2s,transform .2s}.page-enter-from[data-v-f0250417]{opacity:0;transform:translateY(6px)}.page-leave-to[data-v-f0250417]{opacity:0;transform:translateY(-3px)}.auth-container[data-v-ac58ac1a]{background:var(--bg-color);min-height:100vh;padding:var(--space-md);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-bg[data-v-ac58ac1a]{z-index:0;position:absolute;inset:0}.bg-gradient[data-v-ac58ac1a]{background:radial-gradient(#a78bfa14 0%,#0000 50%);width:200%;height:200%;animation:30s linear infinite rotate-ac58ac1a;position:absolute;top:-50%;left:-50%}@keyframes rotate-ac58ac1a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bg-grid[data-v-ac58ac1a]{background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0}.auth-card[data-v-ac58ac1a]{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-2xl);padding:var(--space-2xl) var(--space-xl);border:1px solid var(--border-color);width:100%;max-width:360px;box-shadow:var(--shadow-xl);z-index:1;background:#18181be6;animation:.4s slideUp-ac58ac1a;position:relative}@keyframes slideUp-ac58ac1a{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-header[data-v-ac58ac1a]{text-align:center;margin-bottom:var(--space-xl)}.logo[data-v-ac58ac1a]{width:48px;height:48px;margin:0 auto var(--space-md);background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-primary);justify-content:center;align-items:center;display:flex}.logo svg[data-v-ac58ac1a]{color:#fff}.auth-header h1[data-v-ac58ac1a]{font-size:var(--text-2xl);color:var(--text-primary);margin:0 0 var(--space-xs);letter-spacing:-.02em;font-weight:700}.auth-header p[data-v-ac58ac1a]{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.auth-footer[data-v-ac58ac1a]{margin-top:var(--space-xl);text-align:center;padding-top:var(--space-lg);border-top:1px solid var(--border-color)}.auth-footer[data-v-ac58ac1a] p{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.auth-footer[data-v-ac58ac1a] a{color:var(--primary-color);cursor:pointer;transition:color var(--transition-fast);font-weight:600}.auth-footer[data-v-ac58ac1a] a:hover{color:var(--primary-light);text-decoration:none}.form-group[data-v-63ffe07b]{flex-direction:column;gap:5px;display:flex}.form-group label[data-v-63ffe07b]{font-size:var(--text-xs);color:var(--text-secondary);transition:color var(--transition-fast);font-weight:500}.form-group:focus-within label[data-v-63ffe07b]{color:var(--primary-color)}.form-group input[data-v-63ffe07b]{background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-primary);transition:all var(--transition-base);padding:8px 12px}.form-group input[data-v-63ffe07b]:hover{border-color:var(--border-hover)}.form-group input[data-v-63ffe07b]:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-glow);background:var(--bg-secondary)}.form-group input[data-v-63ffe07b]::placeholder{color:var(--text-muted)}.form-group.has-error input[data-v-63ffe07b]{border-color:var(--danger-color)}.form-group.has-error input[data-v-63ffe07b]:focus{box-shadow:0 0 0 2px #ef444426}.error-message[data-v-63ffe07b]{font-size:var(--text-xs);color:var(--danger-color);animation:.2s slideDown-63ffe07b}@keyframes slideDown-63ffe07b{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.btn[data-v-8405027e]{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn[data-v-8405027e]:before{content:"";opacity:0;transition:opacity var(--transition-fast);background:linear-gradient(135deg,#ffffff1a 0%,#0000 50%);position:absolute;inset:0}.btn[data-v-8405027e]:hover:before{opacity:1}.btn[data-v-8405027e]:active{transform:scale(.98)}.btn[data-v-8405027e]:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn[data-v-8405027e]:disabled:before{display:none}.btn-sm[data-v-8405027e]{font-size:var(--text-xs);padding:5px 10px}.btn-md[data-v-8405027e]{font-size:var(--text-sm);padding:8px 14px}.btn-lg[data-v-8405027e]{font-size:var(--text-base);padding:10px 20px}.btn-primary[data-v-8405027e]{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);color:#fff;box-shadow:var(--shadow-primary)}.btn-primary[data-v-8405027e]:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-light) 0%, var(--primary-color) 100%);box-shadow:0 6px 16px #a78bfa59}.btn-secondary[data-v-8405027e]{background:var(--hover-bg);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary[data-v-8405027e]:hover:not(:disabled){background:var(--active-bg);border-color:var(--border-hover)}.btn-ghost[data-v-8405027e]{color:var(--text-secondary);background:0 0}.btn-ghost[data-v-8405027e]:hover:not(:disabled){background:var(--hover-bg);color:var(--text-primary)}.btn-danger[data-v-8405027e]{background:var(--danger-color);color:#fff;box-shadow:0 4px 12px #ef444440}.btn-danger[data-v-8405027e]:hover:not(:disabled){background:var(--danger-light);box-shadow:0 6px 16px #ef444459}.btn-spinner[data-v-8405027e]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin-8405027e}@keyframes spin-8405027e{to{transform:rotate(360deg)}}.modal-overlay[data-v-accc791a]{z-index:2000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog[data-v-accc791a]{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--space-lg);border:1px solid var(--border-color);text-align:center;width:90%;max-width:360px}.dialog-header[data-v-accc791a]{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.dialog-header h3[data-v-accc791a]{font-size:var(--text-lg);margin:0;font-weight:600}.close-btn[data-v-accc791a]{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.close-btn[data-v-accc791a]:hover{background:var(--hover-bg);color:var(--text-primary)}.confirm-dialog p[data-v-accc791a]{color:var(--text-secondary);margin-bottom:var(--space-lg);text-align:left}.confirm-actions[data-v-accc791a]{gap:var(--space-md);margin-top:var(--space-lg);justify-content:flex-end;display:flex}.confirm-btn[data-v-accc791a]{border-radius:var(--radius-md);min-width:80px;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);padding:6px 14px;font-weight:500}.confirm-btn.cancel[data-v-accc791a]{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0}.confirm-btn.cancel[data-v-accc791a]:hover{background:var(--hover-bg);color:var(--text-primary)}.confirm-btn[data-v-accc791a]:not(.cancel){background:var(--primary-color);color:#fff;border:none}.confirm-btn[data-v-accc791a]:not(.cancel):hover:not(:disabled){background:var(--primary-light)}.confirm-btn.danger[data-v-accc791a]{background:var(--danger-color);color:#fff;border:none}.confirm-btn.danger[data-v-accc791a]:hover:not(:disabled){filter:brightness(.9)}.confirm-btn[data-v-accc791a]:disabled{opacity:.6;cursor:not-allowed}.login-form[data-v-a67aaf3e]{gap:var(--space-md);flex-direction:column;display:flex}.form-options[data-v-a67aaf3e]{justify-content:flex-end;margin-top:-8px;display:flex}.forgot-link[data-v-a67aaf3e]{font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-base)}.forgot-link[data-v-a67aaf3e]:hover{color:var(--primary-color)}.reset-form[data-v-a67aaf3e]{gap:var(--space-sm);flex-direction:column;display:flex}.checkbox-label[data-v-a3e3b895]{font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:6px;line-height:1.5;display:flex}.checkbox-label input[data-v-a3e3b895]{opacity:0;width:0;height:0;position:absolute}.check-box[data-v-a3e3b895]{border:1.5px solid var(--border-active);border-radius:var(--radius-sm);width:14px;min-width:14px;height:14px;min-height:14px;transition:all var(--transition-fast) ease;background:0 0;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.check-icon[data-v-a3e3b895]{color:#fff;opacity:0;width:10px;height:10px;transition:all var(--transition-fast) ease;transform:scale(.5)}.checkbox-label:hover .check-box[data-v-a3e3b895]{border-color:var(--primary-color);background:var(--primary-glow)}.checkbox-label input:checked+.check-box[data-v-a3e3b895]{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 0 6px var(--primary-shadow)}.checkbox-label input:checked+.check-box .check-icon[data-v-a3e3b895]{opacity:1;transform:scale(1)}.checkbox-label input:focus-visible+.check-box[data-v-a3e3b895]{outline:1.5px solid var(--primary-color);outline-offset:1.5px}.label-text[data-v-a3e3b895] a{color:var(--primary-color);transition:color var(--transition-fast);text-decoration:none}.label-text[data-v-a3e3b895] a:hover{text-decoration:underline}.register-form[data-v-4b12901f]{gap:var(--space-sm);flex-direction:column;display:flex}.form-options[data-v-4b12901f]{margin-top:3px}.select-dropdown[data-v-d5262288]{display:inline-block;position:relative}.select-trigger[data-v-d5262288]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base);align-items:center;gap:8px;min-width:120px;padding:6px 10px;display:flex}.select-trigger[data-v-d5262288]:hover{border-color:var(--primary-color);background:var(--card-bg)}.select-trigger.open[data-v-d5262288]{border-color:var(--primary-color);background:var(--card-bg);box-shadow:0 0 0 3px var(--primary-glow)}.select-value[data-v-d5262288]{text-align:left;flex:1}.select-value.placeholder[data-v-d5262288]{color:var(--text-muted)}.select-arrow[data-v-d5262288]{color:var(--text-muted);transition:transform var(--transition-base);flex-shrink:0}.select-trigger.open .select-arrow[data-v-d5262288]{color:var(--primary-color);transform:rotate(180deg)}.select-options[data-v-d5262288]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;max-height:180px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 3px);left:0;right:0;overflow-y:auto}.select-option[data-v-d5262288]{border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.select-option[data-v-d5262288]:hover{background:var(--hover-bg)}.select-option.selected[data-v-d5262288]{color:var(--primary-color);background:var(--primary-glow)}.check-icon[data-v-d5262288]{color:var(--primary-color)}.dropdown-enter-active[data-v-d5262288],.dropdown-leave-active[data-v-d5262288]{transition:all var(--transition-fast)}.dropdown-enter-from[data-v-d5262288],.dropdown-leave-to[data-v-d5262288]{opacity:0;transform:translateY(-8px)}.upload-wrapper[data-v-8c53aa24]{flex-direction:column;display:flex}.upload-zone[data-v-8c53aa24]{border:2px dashed var(--border-color);border-radius:var(--radius-xl);padding:var(--space-2xl);text-align:center;cursor:pointer;background:var(--card-bg);transition:all var(--transition-base);position:relative;overflow:hidden}.upload-zone[data-v-8c53aa24]:hover{border-color:var(--primary-color);background:#a78bfa08}.upload-zone.dragging[data-v-8c53aa24]{border-color:var(--primary-color);box-shadow:0 0 0 4px var(--primary-glow), var(--shadow-glow);background:#a78bfa14;border-style:solid;transform:scale(1.01)}.upload-decorations[data-v-8c53aa24]{pointer-events:none;position:absolute;inset:0;overflow:hidden}.decoration[data-v-8c53aa24]{background:linear-gradient(135deg, var(--primary-color), transparent);opacity:.05;border-radius:50%;position:absolute}.decoration-1[data-v-8c53aa24]{width:300px;height:300px;top:-100px;right:-100px}.decoration-2[data-v-8c53aa24]{width:200px;height:200px;bottom:-50px;left:-50px}.upload-content[data-v-8c53aa24]{z-index:1;position:relative}.upload-icon[data-v-8c53aa24]{color:var(--text-muted);margin-bottom:var(--space-lg);transition:all var(--transition-base);display:inline-block}.upload-zone:hover .upload-icon[data-v-8c53aa24]{color:var(--primary-color)}.upload-icon.active[data-v-8c53aa24]{color:var(--primary-color);animation:.6s ease-in-out infinite bounce-8c53aa24;transform:scale(1.2)}@keyframes bounce-8c53aa24{0%,to{transform:scale(1.2)}50%{transform:scale(1.3)}}.upload-title[data-v-8c53aa24]{font-size:var(--text-xl);color:var(--text-primary);margin:0 0 var(--space-xs);font-weight:600}.upload-subtitle[data-v-8c53aa24]{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-lg)}.album-select-wrapper[data-v-8c53aa24]{top:var(--space-md);right:var(--space-md);z-index:2;position:absolute}.upload-btn[data-v-8c53aa24]{background:var(--hover-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-base);justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-weight:500;display:inline-flex}.upload-btn[data-v-8c53aa24]:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.upload-btn[data-v-8c53aa24]:active{transform:scale(.98)}.upload-btn input[data-v-8c53aa24]{display:none}.result-list[data-v-8c53aa24]{margin-top:var(--space-lg)}.result-container[data-v-8c53aa24]{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border-color);overflow:hidden}.result-item[data-v-8c53aa24]{align-items:center;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--border-color);transition:background-color var(--transition-fast);animation:.2s slideUp;display:flex}.result-item[data-v-8c53aa24]:last-child{border-bottom:none}.result-item[data-v-8c53aa24]:hover{background:var(--bg-secondary)}.result-item.success[data-v-8c53aa24]{background:#10b98108}.result-item.error[data-v-8c53aa24]{background:#ef444408}.result-thumb-wrapper[data-v-8c53aa24]{border-radius:var(--radius-md);background:var(--bg-color);flex-shrink:0;width:44px;height:44px;overflow:hidden}.result-thumb[data-v-8c53aa24]{object-fit:cover;width:100%;height:100%}.result-thumb-placeholder[data-v-8c53aa24]{width:100%;height:100%;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.result-info[data-v-8c53aa24]{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.file-name-row[data-v-8c53aa24]{align-items:center;gap:var(--space-sm);display:flex}.file-name[data-v-8c53aa24]{font-size:var(--text-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.progress-percent[data-v-8c53aa24]{color:var(--primary-color);text-align:right;flex-shrink:0;min-width:32px;font-size:11px;font-weight:600}.file-meta[data-v-8c53aa24]{align-items:center;gap:var(--space-sm);display:flex}.file-size[data-v-8c53aa24]{color:var(--text-muted);font-size:11px}.progress-bar[data-v-8c53aa24]{background:var(--border-color);border-radius:var(--radius-full);flex:1;min-width:80px;height:3px;overflow:hidden}.progress-bar-fill[data-v-8c53aa24]{background:linear-gradient(90deg, var(--primary-color), var(--primary-light));border-radius:var(--radius-full);height:100%;transition:width var(--transition-fast)}.status-indicator[data-v-8c53aa24]{padding-left:var(--space-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.status-badge[data-v-8c53aa24]{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.status-badge.success[data-v-8c53aa24]{background:var(--success-color);color:#fff}.status-badge.error[data-v-8c53aa24]{background:var(--danger-color);color:#fff}.status-text[data-v-8c53aa24]{font-size:11px}.status-text.pending[data-v-8c53aa24]{color:var(--text-muted)}.status-text.error[data-v-8c53aa24]{color:var(--danger-color)}.result-actions[data-v-8c53aa24]{align-items:center;gap:var(--space-xs);flex-shrink:0;display:flex}.upload-spinner[data-v-8c53aa24]{width:20px;height:20px;color:var(--primary-color);justify-content:center;align-items:center;display:flex}.upload-spinner svg[data-v-8c53aa24]{animation:1s linear infinite spin}.action-btn[data-v-8c53aa24]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.action-btn[data-v-8c53aa24]:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.results-enter-active[data-v-8c53aa24],.results-leave-active[data-v-8c53aa24]{transition:all var(--transition-base)}.results-enter-from[data-v-8c53aa24],.results-leave-to[data-v-8c53aa24]{opacity:0;transform:translateY(-10px)}.home[data-v-4d820530]{padding:var(--space-lg);min-height:100%}.preview-overlay[data-v-d40924a8]{z-index:1000;background:#000000f2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.preview-enter-active[data-v-d40924a8],.preview-leave-active[data-v-d40924a8]{transition:opacity .25s}.preview-enter-from[data-v-d40924a8],.preview-leave-to[data-v-d40924a8]{opacity:0}.preview-loading[data-v-d40924a8]{justify-content:center;align-items:center;display:flex;position:absolute}.loading-spinner[data-v-d40924a8]{border:2px solid #ffffff1a;border-top-color:var(--primary-color);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}.preview-close[data-v-d40924a8]{top:var(--space-lg);right:var(--space-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;cursor:pointer;width:40px;height:40px;transition:all var(--transition-base);z-index:10;background:#ffffff1a;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.preview-close[data-v-d40924a8]:hover{background:var(--danger-color);border-color:var(--danger-color)}.preview-img[data-v-d40924a8]{object-fit:contain;cursor:zoom-in;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:90vw;max-height:85vh}.preview-img[data-v-d40924a8]:not(.dragging){transition:transform .1s}.preview-img.dragging[data-v-d40924a8]{cursor:grabbing!important}.preview-toolbar[data-v-d40924a8]{bottom:var(--space-xl);align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);background:#141414d9;border:1px solid #ffffff1a;display:flex;position:absolute;left:50%;transform:translate(-50%)}.toolbar-btn[data-v-d40924a8]{border-radius:var(--radius-md);color:#ffffffe6;cursor:pointer;width:40px;height:40px;transition:all var(--transition-base);background:#ffffff14;border:1px solid #ffffff0d;justify-content:center;align-items:center;display:flex}.toolbar-btn[data-v-d40924a8]:hover{background:var(--primary-color);border-color:var(--primary-color)}.toolbar-btn[data-v-d40924a8]:active{transform:scale(.95)}.toolbar-text[data-v-d40924a8]{text-align:center;min-width:48px;font-size:var(--text-sm);color:#ffffffe6;font-weight:500}.toolbar-divider[data-v-d40924a8]{width:1px;height:24px;margin:0 var(--space-xs);background:#ffffff26}.preview-info[data-v-d40924a8]{bottom:var(--space-xl);right:var(--space-xl);padding:var(--space-sm) var(--space-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-lg);background:#141414d9;border:1px solid #ffffff1a;flex-direction:column;gap:4px;display:flex;position:absolute}.info-name[data-v-d40924a8]{font-size:var(--text-sm);color:#ffffffe6;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-weight:500;overflow:hidden}.info-meta[data-v-d40924a8]{font-size:var(--text-xs);color:#ffffff80}.context-menu[data-v-37b4ef83]{z-index:1000;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-width:140px;box-shadow:var(--shadow-lg);padding:var(--space-xs);animation:.15s scaleIn;position:fixed}.menu-item[data-v-37b4ef83]{align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:6px 10px;display:flex}.menu-item[data-v-37b4ef83]:hover{background:var(--hover-bg)}.menu-item.danger[data-v-37b4ef83]{color:var(--danger-color)}.menu-item.danger[data-v-37b4ef83]:hover{background:var(--danger-bg)}.menu-item svg[data-v-37b4ef83]{color:var(--text-secondary);transition:color var(--transition-fast);flex-shrink:0}.menu-item:hover svg[data-v-37b4ef83]{color:var(--text-primary)}.menu-item.danger svg[data-v-37b4ef83],.menu-item.danger:hover svg[data-v-37b4ef83]{color:var(--danger-color)}.menu-divider[data-v-37b4ef83]{background:var(--border-color);height:1px;margin:var(--space-xs) 6px}.timeline-container[data-v-9f7573f8]{min-height:160px}.loading-wrapper[data-v-9f7573f8],.empty-wrapper[data-v-9f7573f8]{justify-content:center;align-items:center;padding:64px 0;display:flex}.loading-state-inner[data-v-9f7573f8],.empty-state-inner[data-v-9f7573f8]{align-items:center;gap:var(--space-md);color:var(--text-muted);font-size:var(--text-lg);flex-direction:column;display:flex}.loading-spinner[data-v-9f7573f8]{border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}.empty-icon[data-v-9f7573f8]{opacity:.5;font-size:40px}.timeline[data-v-9f7573f8]{position:relative}.timeline-group[data-v-9f7573f8]{margin-bottom:var(--space-xl);animation:.3s fadeIn}.timeline-header[data-v-9f7573f8]{margin-bottom:var(--space-md);align-items:center;display:flex;position:relative}.timeline-line[data-v-9f7573f8]{width:2px;height:calc(100% + var(--space-md));background:linear-gradient(180deg, var(--primary-color), var(--border-color));position:absolute;top:50%;left:6px;transform:translateY(-50%)}.timeline-group:first-child .timeline-line[data-v-9f7573f8]{height:calc(50% + var(--space-md));top:0}.timeline-group:last-child .timeline-line[data-v-9f7573f8]{height:calc(50% + var(--space-md));top:50%}.timeline-dot[data-v-9f7573f8]{background:linear-gradient(135deg, var(--primary-color), var(--primary-light));border:2px solid var(--bg-color);width:14px;height:14px;margin-right:var(--space-md);z-index:1;box-shadow:0 0 0 3px var(--primary-glow);border-radius:50%;flex-shrink:0;position:relative}.timeline-label[data-v-9f7573f8]{align-items:center;gap:var(--space-sm);display:flex}.timeline-date[data-v-9f7573f8]{font-size:var(--text-base);color:var(--text-primary);font-weight:600}.timeline-relative[data-v-9f7573f8]{font-size:var(--text-sm);color:var(--text-secondary);background:var(--hover-bg);border-radius:var(--radius-full);padding:2px 8px}.timeline-count[data-v-9f7573f8]{font-size:var(--text-sm);color:var(--text-muted);background:var(--bg-secondary);border-radius:var(--radius-full);margin-left:auto;padding:2px 10px}.timeline-content[data-v-9f7573f8]{margin-left:16px}.timeline-images[data-v-9f7573f8]{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.image-card[data-v-9f7573f8]{border-radius:var(--radius-lg);cursor:pointer;background:var(--card-bg);outline-offset:0;transition:all var(--transition-base);outline:2px solid #0000;position:relative;overflow:hidden}.image-card[data-v-9f7573f8]:hover{box-shadow:var(--shadow-lg);outline-color:var(--primary-color)}.image-card.selected[data-v-9f7573f8]{outline-color:var(--primary-color);outline-offset:2px}.select-indicator[data-v-9f7573f8]{background:var(--primary-color);color:#fff;z-index:10;opacity:0;width:20px;height:20px;transition:opacity var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:6px;right:6px}.image-card:hover .select-indicator[data-v-9f7573f8],.image-card.selected .select-indicator[data-v-9f7573f8]{opacity:1}.image-card-inner[data-v-9f7573f8]{aspect-ratio:1;background:var(--bg-color);position:relative;overflow:hidden}.image-card img[data-v-9f7573f8]{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow);will-change:transform}.image-overlay[data-v-9f7573f8]{opacity:0;transition:opacity var(--transition-base);padding:var(--space-md);pointer-events:none;border-radius:var(--radius-lg);background:linear-gradient(#0000 50%,#000000bf 100%);justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.image-card:hover .image-overlay[data-v-9f7573f8]{opacity:1}.image-actions[data-v-9f7573f8]{gap:var(--space-xs);display:flex}.image-action-btn[data-v-9f7573f8]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-md);color:#fff;cursor:pointer;width:28px;height:28px;transition:all var(--transition-fast);pointer-events:auto;background:#fff3;border:1px solid #fff3;justify-content:center;align-items:center;display:flex}.image-action-btn[data-v-9f7573f8]:hover{background:var(--primary-color);border-color:var(--primary-color)}.image-info[data-v-9f7573f8]{padding:var(--space-sm)}.image-name[data-v-9f7573f8]{font-size:var(--text-xs);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.load-sentinel[data-v-9f7573f8]{padding:var(--space-xl) 0;justify-content:center;align-items:center;min-height:60px;display:flex}.loading-more[data-v-9f7573f8]{align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-size:var(--text-sm);display:flex}.loading-spinner-sm[data-v-9f7573f8]{border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.loading-text[data-v-9f7573f8]{margin-left:var(--space-xs)}.no-more[data-v-9f7573f8]{color:var(--text-muted);font-size:var(--text-sm);text-align:center;padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border-radius:var(--radius-full)}.modal-overlay[data-v-ab663b62]{z-index:2000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.detail-dialog[data-v-ab663b62]{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--space-lg);border:1px solid var(--border-color);width:90%;max-width:360px;max-height:80vh;overflow-y:auto}.dialog-header[data-v-ab663b62]{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.dialog-header h3[data-v-ab663b62]{font-size:var(--text-lg);margin:0;font-weight:600}.close-btn[data-v-ab663b62]{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.close-btn[data-v-ab663b62]:hover{background:var(--hover-bg);color:var(--text-primary)}.detail-content[data-v-ab663b62]{margin-bottom:var(--space-md)}.detail-preview[data-v-ab663b62]{background:var(--bg-color);border-radius:var(--radius-sm);padding:var(--space-md);justify-content:center;align-items:center;min-height:120px;max-height:160px;display:flex}.detail-preview img[data-v-ab663b62]{object-fit:contain;max-width:100%;max-height:140px}.detail-info[data-v-ab663b62]{gap:var(--space-sm);flex-direction:column;display:flex}.info-item[data-v-ab663b62]{padding:var(--space-xs) 0;border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;display:flex}.info-item[data-v-ab663b62]:last-child{border-bottom:none}.info-label[data-v-ab663b62]{font-size:var(--text-sm);color:var(--text-muted);flex-shrink:0}.info-value[data-v-ab663b62]{font-size:var(--text-sm);color:var(--text-primary);text-align:right;word-break:break-all}.detail-actions[data-v-ab663b62]{gap:var(--space-md);margin-top:var(--space-md);justify-content:flex-end;display:flex}.detail-btn[data-v-ab663b62]{border-radius:var(--radius-md);min-width:80px;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);align-items:center;gap:var(--space-xs);padding:6px 14px;font-weight:500;display:flex}.detail-btn.primary[data-v-ab663b62]{background:var(--primary-color);color:#fff;border:none}.detail-btn.primary[data-v-ab663b62]:hover{background:var(--primary-light)}.empty-state[data-v-9f9f53a9]{color:var(--text-muted);justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;padding:64px 0;display:flex}.empty-state p[data-v-9f9f53a9]{font-size:var(--text-base)}.action-btn[data-v-9f9f53a9]{margin-top:var(--space-md);border:1px solid var(--primary-color);border-radius:var(--radius-sm);color:var(--primary-color);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--transition-base), color var(--transition-base);background:0 0;padding:5px 10px}.action-btn[data-v-9f9f53a9]:hover{background:var(--primary-color);color:#fff}.modal-overlay[data-v-0ad91741]{z-index:2000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog[data-v-0ad91741]{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--space-lg);border:1px solid var(--border-color);width:90%;max-width:320px}.dialog-header[data-v-0ad91741]{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.dialog-header h3[data-v-0ad91741]{font-size:var(--text-lg);margin:0;font-weight:600}.close-btn[data-v-0ad91741]{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.close-btn[data-v-0ad91741]:hover{background:var(--hover-bg);color:var(--text-primary)}.dialog-content[data-v-0ad91741]{margin-bottom:var(--space-lg)}.image-name[data-v-0ad91741]{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-md)}.album-list[data-v-0ad91741]{gap:var(--space-xs);flex-direction:column;max-height:240px;display:flex;overflow-y:auto}.album-item[data-v-0ad91741]{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);display:flex}.album-item[data-v-0ad91741]:hover{background:var(--hover-bg)}.album-item input[type=radio][data-v-0ad91741]{width:16px;height:16px;accent-color:var(--primary-color)}.album-name[data-v-0ad91741]{font-size:var(--text-sm);color:var(--text-primary);flex:1}.album-count[data-v-0ad91741]{font-size:var(--text-xs);color:var(--text-muted)}.loading[data-v-0ad91741]{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-xl);color:var(--text-muted);display:flex}.spinner[data-v-0ad91741]{border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin-0ad91741}@keyframes spin-0ad91741{to{transform:rotate(360deg)}}.dialog-actions[data-v-0ad91741]{gap:var(--space-md);justify-content:flex-end;display:flex}.btn[data-v-0ad91741]{border-radius:var(--radius-md);min-width:80px;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);padding:6px 14px;font-weight:500}.btn.cancel[data-v-0ad91741]{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0}.btn.cancel[data-v-0ad91741]:hover{background:var(--hover-bg);color:var(--text-primary)}.btn.primary[data-v-0ad91741]{background:var(--primary-color);color:#fff;border:none}.btn.primary[data-v-0ad91741]:hover{background:var(--primary-light)}.modal-overlay[data-v-4c7b0867]{z-index:2000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog[data-v-4c7b0867]{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--space-lg);border:1px solid var(--border-color);width:90%;max-width:360px}.dialog-header[data-v-4c7b0867]{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.dialog-header h3[data-v-4c7b0867]{font-size:var(--text-lg);margin:0;font-weight:600}.close-btn[data-v-4c7b0867]{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.close-btn[data-v-4c7b0867]:hover{background:var(--hover-bg);color:var(--text-primary)}.dialog-content[data-v-4c7b0867]{margin-bottom:var(--space-lg)}.image-name[data-v-4c7b0867]{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-md);word-break:break-all}.form-group[data-v-4c7b0867]{text-align:left}.form-group label[data-v-4c7b0867]{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--space-xs);display:block}.form-group textarea[data-v-4c7b0867]{width:100%;padding:var(--space-sm);background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-primary);transition:border-color var(--transition-base);resize:vertical;font-family:inherit}.form-group textarea[data-v-4c7b0867]:focus{border-color:var(--primary-color);outline:none}.dialog-actions[data-v-4c7b0867]{gap:var(--space-md);justify-content:flex-end;display:flex}.btn[data-v-4c7b0867]{border-radius:var(--radius-md);min-width:80px;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);padding:6px 14px;font-weight:500}.btn.cancel[data-v-4c7b0867]{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0}.btn.cancel[data-v-4c7b0867]:hover{background:var(--hover-bg);color:var(--text-primary)}.btn.primary[data-v-4c7b0867]{background:var(--primary-color);color:#fff;border:none}.btn.primary[data-v-4c7b0867]:hover{background:var(--primary-light)}.image-grid-skeleton[data-v-b9557fd5]{gap:var(--space-sm);flex-wrap:wrap;display:flex}.skeleton-item[data-v-b9557fd5]{aspect-ratio:1;border-radius:var(--radius-sm);background:var(--bg-secondary);width:calc(16.66% - 14px);position:relative;overflow:hidden}.skeleton-image[data-v-b9557fd5]{background:linear-gradient(90deg, var(--bg-secondary) 0%, #ffffff0d 50%, var(--bg-secondary) 100%);background-size:200% 100%;width:100%;height:100%;animation:1.5s infinite shimmer-b9557fd5}@keyframes shimmer-b9557fd5{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=1200px){.skeleton-item[data-v-b9557fd5]{width:calc(20% - 12px)}}@media (width<=900px){.skeleton-item[data-v-b9557fd5]{width:calc(25% - 10px)}}@media (width<=600px){.skeleton-item[data-v-b9557fd5]{width:calc(33.33% - 8px)}}.images-page[data-v-400c77c5]{padding:var(--space-lg);min-height:100%}.page-header[data-v-400c77c5]{margin-bottom:var(--space-lg);justify-content:space-between;align-items:flex-start;display:flex}.page-title[data-v-400c77c5]{font-size:var(--text-lg);color:var(--text-primary);margin:0;font-weight:600}.page-stats[data-v-400c77c5]{align-items:center;gap:var(--space-md);font-size:var(--text-sm);color:var(--text-secondary);display:flex}.storage-info[data-v-400c77c5]{background:var(--bg-secondary);border-radius:var(--radius-full);padding:2px 6px}.batch-actions[data-v-400c77c5]{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--primary-glow);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);font-size:var(--text-sm);display:flex;overflow:hidden}.batch-slide-enter-active[data-v-400c77c5],.batch-slide-leave-active[data-v-400c77c5]{transition:all .25s}.batch-slide-enter-from[data-v-400c77c5]{opacity:0;max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0}.batch-slide-enter-to[data-v-400c77c5],.batch-slide-leave-from[data-v-400c77c5]{opacity:1;max-height:52px}.batch-slide-leave-to[data-v-400c77c5]{opacity:0;max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0}.batch-count[data-v-400c77c5]{color:var(--text-secondary)}.batch-btn[data-v-400c77c5]{border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);border:none;padding:5px 14px}.batch-btn.move[data-v-400c77c5]{background:var(--primary-color);color:#fff}.batch-btn.move[data-v-400c77c5]:hover{background:var(--primary-light)}.batch-btn.delete[data-v-400c77c5]{background:var(--danger-bg);color:var(--danger-color)}.batch-btn.delete[data-v-400c77c5]:hover{opacity:.8}.batch-btn.select-all[data-v-400c77c5]{background:var(--primary-color);color:#fff}.batch-btn.select-all[data-v-400c77c5]:hover{background:var(--primary-light)}.batch-btn.cancel[data-v-400c77c5]{color:var(--text-secondary);border:1px solid var(--border-color);background:0 0}.batch-btn.cancel[data-v-400c77c5]:hover{background:var(--hover-bg);color:var(--text-primary)}.batch-divider[data-v-400c77c5]{background:var(--border-color);width:1px;height:16px;margin:0 var(--space-xs)}.pagination[data-v-0d686ffc]{justify-content:center;align-items:center;gap:var(--space-xs);margin-top:var(--space-lg);display:flex}.page-btn[data-v-0d686ffc]{min-width:28px;height:28px;padding:0 var(--space-sm);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);justify-content:center;align-items:center;display:flex}.page-btn[data-v-0d686ffc]:hover:not(:disabled){background:var(--hover-bg);border-color:var(--border-hover);color:var(--text-primary)}.page-btn.active[data-v-0d686ffc]{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.page-btn[data-v-0d686ffc]:disabled{opacity:.4;cursor:not-allowed}.image-grid-container[data-v-749687cd]{min-height:160px}.loading-wrapper[data-v-749687cd]{justify-content:center;align-items:center;padding:64px 0;display:flex}.loading-state-inner[data-v-749687cd]{color:var(--text-muted);font-size:var(--text-lg)}.empty-wrapper[data-v-749687cd]{justify-content:center;align-items:center;padding:64px 0;display:flex}.empty-state-inner[data-v-749687cd]{color:var(--text-muted);font-size:var(--text-lg)}.image-grid[data-v-749687cd]{gap:var(--space-sm);flex-wrap:wrap;align-items:flex-start;display:flex}.image-card[data-v-749687cd]{border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition-base), box-shadow var(--transition-base);background:var(--bg-color);flex-shrink:0;justify-content:center;align-items:center;height:150px;display:flex;position:relative;overflow:hidden}.image-card[data-v-749687cd]:hover{box-shadow:var(--shadow-md)}.image-card img[data-v-749687cd]{object-fit:contain;width:auto;height:100%;transition:transform var(--transition-slow)}.image-card.selectable[data-v-749687cd]{cursor:pointer;outline-offset:0;outline:1.5px solid #0000}.image-card.selectable[data-v-749687cd]:hover{box-shadow:var(--shadow-lg);outline-color:var(--primary-color)}.image-card.selectable:hover .select-overlay[data-v-749687cd]{opacity:1}.select-overlay[data-v-749687cd]{color:#fff;justify-content:center;align-items:center;gap:var(--space-xs);opacity:0;transition:opacity var(--transition-base);font-size:var(--text-sm);background:#0009;flex-direction:column;font-weight:500;display:flex;position:absolute;inset:0}.select-overlay svg[data-v-749687cd]{color:var(--primary-color)}.modal-overlay[data-v-13ee6e57]{z-index:2000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog[data-v-13ee6e57]{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--space-lg);border:1px solid var(--border-color);width:90%;max-width:520px}.dialog-header[data-v-13ee6e57]{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.dialog-header h3[data-v-13ee6e57]{font-size:var(--text-lg);margin:0;font-weight:600}.close-btn[data-v-13ee6e57]{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.close-btn[data-v-13ee6e57]:hover{background:var(--hover-bg);color:var(--text-primary)}.form-group[data-v-13ee6e57]{margin-bottom:var(--space-md);text-align:left}.form-group label[data-v-13ee6e57]{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--space-xs);display:block}.form-group input[data-v-13ee6e57],.form-group textarea[data-v-13ee6e57]{width:100%;padding:var(--space-sm);background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-primary);transition:border-color var(--transition-base)}.form-group input[data-v-13ee6e57]:focus,.form-group textarea[data-v-13ee6e57]:focus{border-color:var(--primary-color);outline:none}.form-group textarea[data-v-13ee6e57]{resize:vertical;font-family:inherit}.actions[data-v-13ee6e57]{gap:var(--space-md);margin-top:var(--space-lg);justify-content:flex-end;display:flex}.btn[data-v-13ee6e57]{border-radius:var(--radius-md);min-width:80px;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);padding:6px 14px;font-weight:500}.btn.cancel[data-v-13ee6e57]{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0}.btn.cancel[data-v-13ee6e57]:hover{background:var(--hover-bg);color:var(--text-primary)}.btn.primary[data-v-13ee6e57]{background:var(--primary-color);color:#fff;border:none}.btn.primary[data-v-13ee6e57]:hover{background:var(--primary-light)}.album-card[data-v-9fca24ae]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.album-card[data-v-9fca24ae]:hover{border-color:var(--primary-color);box-shadow:var(--shadow-primary)}.album-cover[data-v-9fca24ae]{aspect-ratio:1;background:var(--hover-bg);position:relative;overflow:hidden}.album-cover img[data-v-9fca24ae]{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.album-cover-placeholder[data-v-9fca24ae]{width:100%;height:100%;color:var(--text-muted);background:linear-gradient(135deg, var(--hover-bg) 0%, var(--active-bg) 100%);justify-content:center;align-items:center;display:flex}.album-info[data-v-9fca24ae]{padding:var(--space-md)}.album-name[data-v-9fca24ae]{font-size:var(--text-base);color:var(--text-primary);margin-bottom:var(--space-xs);font-weight:600}.album-desc[data-v-9fca24ae]{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--space-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.album-meta[data-v-9fca24ae]{font-size:var(--text-xs);color:var(--text-muted);justify-content:space-between;display:flex}.album-actions[data-v-9fca24ae]{top:var(--space-sm);right:var(--space-sm);gap:var(--space-xs);opacity:0;transition:opacity var(--transition-base);display:flex;position:absolute}.album-card:hover .album-actions[data-v-9fca24ae]{opacity:1}.action-btn[data-v-9fca24ae]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-sm);color:#fff;cursor:pointer;width:28px;height:28px;transition:all var(--transition-base);background:#000000b3;border:1px solid #ffffff1a;justify-content:center;align-items:center;display:flex}.action-btn[data-v-9fca24ae]:hover{background:#000000d9}.action-btn.danger[data-v-9fca24ae]:hover{background:var(--danger-color);border-color:var(--danger-color)}.album-grid-skeleton[data-v-53d3b330]{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.skeleton-card[data-v-53d3b330]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.skeleton-cover[data-v-53d3b330]{aspect-ratio:16/10;background:linear-gradient(90deg, var(--bg-secondary) 0%, #ffffff0d 50%, var(--bg-secondary) 100%);background-size:200% 100%;animation:1.5s infinite shimmer-53d3b330}.skeleton-info[data-v-53d3b330]{padding:var(--space-md);gap:var(--space-xs);flex-direction:column;display:flex}.skeleton-title[data-v-53d3b330]{background:linear-gradient(90deg, var(--bg-secondary) 0%, #ffffff0d 50%, var(--bg-secondary) 100%);border-radius:var(--radius-sm);background-size:200% 100%;width:60%;height:14px;animation:1.5s infinite shimmer-53d3b330}.skeleton-meta[data-v-53d3b330]{background:linear-gradient(90deg, var(--bg-secondary) 0%, #ffffff0d 50%, var(--bg-secondary) 100%);border-radius:var(--radius-sm);background-size:200% 100%;width:40%;height:10px;animation:1.5s infinite shimmer-53d3b330}@keyframes shimmer-53d3b330{0%{background-position:200% 0}to{background-position:-200% 0}}.albums-page[data-v-85003b6b]{padding:var(--space-lg);min-height:100%}.page-header[data-v-85003b6b]{margin-bottom:var(--space-lg);justify-content:space-between;align-items:flex-start;display:flex}.page-title[data-v-85003b6b]{font-size:var(--text-lg);color:var(--text-primary);margin:0;font-weight:600}.page-stats[data-v-85003b6b]{align-items:center;gap:var(--space-md);font-size:var(--text-sm);color:var(--text-secondary);display:flex}.create-btn[data-v-85003b6b]{align-items:center;gap:var(--space-xs);background:var(--primary-color);border-radius:var(--radius-sm);color:#fff;font-size:var(--text-xs);cursor:pointer;transition:background-color var(--transition-base);border:none;padding:5px 10px;display:flex}.create-btn[data-v-85003b6b]:hover{background:var(--primary-light)}.album-grid[data-v-85003b6b]{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.back-btn[data-v-85003b6b]{align-items:center;gap:var(--space-xs);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);background:0 0;padding:5px 10px;display:flex}.back-btn[data-v-85003b6b]:hover{background:var(--hover-bg);color:var(--text-primary)}.breadcrumb[data-v-85003b6b]{align-items:center;gap:var(--space-md);display:flex}.cover-selection-hint[data-v-85003b6b]{align-items:center;gap:var(--space-sm);color:var(--primary-color);font-weight:500;display:flex}.cancel-cover-btn[data-v-85003b6b]{border:1px solid var(--primary-color);border-radius:var(--radius-sm);color:var(--primary-color);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-base);background:0 0;padding:3px 10px}.cancel-cover-btn[data-v-85003b6b]:hover{background:var(--primary-color);color:#fff}.set-cover-btn[data-v-85003b6b]{align-items:center;gap:var(--space-xs);background:var(--primary-color);border-radius:var(--radius-sm);color:#fff;font-size:var(--text-xs);cursor:pointer;transition:background-color var(--transition-base);border:none;padding:3px 10px;display:flex}.set-cover-btn[data-v-85003b6b]:hover{background:var(--primary-light)}.mine-page[data-v-db9b496b]{padding:var(--space-lg);min-height:100%}.page-header[data-v-db9b496b]{margin-bottom:var(--space-md);justify-content:space-between;align-items:flex-start;display:flex}.page-title[data-v-db9b496b]{font-size:var(--text-lg);color:var(--text-primary);margin:0;font-weight:600}.mine-layout[data-v-db9b496b]{gap:var(--space-md);grid-template-columns:260px 1fr;display:grid}.user-card[data-v-db9b496b]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-lg);height:fit-content;top:var(--space-md);position:sticky}.user-card-header[data-v-db9b496b]{text-align:center;align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.user-avatar-lg[data-v-db9b496b]{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);border-radius:var(--radius-xl);width:48px;height:48px;box-shadow:var(--shadow-primary);font-size:var(--text-xl);color:#fff;justify-content:center;align-items:center;font-weight:600;display:flex;overflow:hidden}.user-avatar-lg img[data-v-db9b496b]{object-fit:cover;width:100%;height:100%}.user-info[data-v-db9b496b]{flex-direction:column;gap:2px;display:flex}.user-name[data-v-db9b496b]{font-size:var(--text-base);color:var(--text-primary);font-weight:600}.user-email[data-v-db9b496b]{font-size:var(--text-xs);color:var(--text-secondary);word-break:break-all}.user-role[data-v-db9b496b]{margin-top:var(--space-xs)}.role-badge[data-v-db9b496b]{border-radius:var(--radius-full);padding:2px 8px;font-size:10px;font-weight:500;display:inline-block}.role-badge.admin[data-v-db9b496b]{background:var(--primary-glow);color:var(--primary-color)}.role-badge.user[data-v-db9b496b]{background:var(--hover-bg);color:var(--text-secondary)}.user-card-divider[data-v-db9b496b]{background:var(--border-color);height:1px;margin:var(--space-md) 0}.settings-nav[data-v-db9b496b]{gap:var(--space-xs);flex-direction:column;display:flex}.settings-nav .nav-item[data-v-db9b496b]{align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);text-align:left;background:0 0;border:none;padding:8px 10px;display:flex}.settings-nav .nav-item[data-v-db9b496b]:hover{background:var(--hover-bg);color:var(--text-primary)}.settings-nav .nav-item.active[data-v-db9b496b]{background:var(--primary-glow);color:var(--primary-color)}.settings-nav .nav-item.danger-nav[data-v-db9b496b]{color:var(--danger-color)}.settings-nav .nav-item.danger-nav[data-v-db9b496b]:hover,.settings-nav .nav-item.danger-nav.active[data-v-db9b496b]{background:var(--danger-bg);color:var(--danger-color)}.settings-nav .nav-item[data-v-db9b496b] svg{flex-shrink:0}.settings-content[data-v-db9b496b]{gap:var(--space-md);flex-direction:column;display:flex}.settings-panel[data-v-db9b496b]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);animation:.2s slideUp;overflow:hidden}.panel-header[data-v-db9b496b]{padding:var(--space-lg);border-bottom:1px solid var(--border-color)}.panel-title[data-v-db9b496b]{font-size:var(--text-base);color:var(--text-primary);margin:0;font-weight:600}.panel-desc[data-v-db9b496b]{font-size:var(--text-sm);color:var(--text-secondary);margin:4px 0 0}.panel-body[data-v-db9b496b]{padding:var(--space-lg);gap:var(--space-sm);flex-direction:column;display:flex}.panel-footer[data-v-db9b496b]{padding:var(--space-lg);justify-content:flex-end;display:flex}.form-group[data-v-db9b496b]{flex-direction:column;gap:5px;display:flex}.form-group label[data-v-db9b496b]{font-size:var(--text-xs);color:var(--text-secondary);transition:color var(--transition-fast);font-weight:500}.form-group:focus-within label[data-v-db9b496b]{color:var(--primary-color)}.form-group textarea[data-v-db9b496b]{background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-primary);transition:all var(--transition-base);resize:vertical;min-height:60px;padding:6px 10px;font-family:inherit}.form-group textarea[data-v-db9b496b]:hover{border-color:var(--border-hover)}.form-group textarea[data-v-db9b496b]:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-glow);background:var(--bg-secondary)}.form-group textarea[data-v-db9b496b]::placeholder{color:var(--text-muted)}.form-group textarea.has-error[data-v-db9b496b]{border-color:var(--danger-color)}.form-group.readonly .readonly-value[data-v-db9b496b]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-muted);padding:6px 10px}.error-message[data-v-db9b496b]{font-size:var(--text-xs);color:var(--danger-color);animation:.2s slideDown-db9b496b}@media (width<=768px){.mine-layout[data-v-db9b496b]{grid-template-columns:1fr}.user-card[data-v-db9b496b]{position:static}}@keyframes slideDown-db9b496b{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.modal-overlay[data-v-e177b4cb]{z-index:2000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog[data-v-e177b4cb]{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--space-lg);border:1px solid var(--border-color);width:90%;max-width:480px}.dialog-header[data-v-e177b4cb]{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.dialog-header h3[data-v-e177b4cb]{font-size:var(--text-lg);margin:0;font-weight:600}.close-btn[data-v-e177b4cb]{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.close-btn[data-v-e177b4cb]:hover{background:var(--hover-bg);color:var(--text-primary)}.form-group[data-v-e177b4cb]{margin-bottom:var(--space-md);text-align:left}.form-group label[data-v-e177b4cb]{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--space-xs);display:block}.form-group input[data-v-e177b4cb]{width:100%;padding:var(--space-sm);background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-primary);transition:border-color var(--transition-base)}.form-group input[data-v-e177b4cb]:focus{border-color:var(--primary-color);outline:none}.form-group input[data-v-e177b4cb]:disabled{opacity:.5;cursor:not-allowed}.actions[data-v-e177b4cb]{gap:var(--space-md);margin-top:var(--space-lg);justify-content:flex-end;display:flex}.btn[data-v-e177b4cb]{border-radius:var(--radius-md);min-width:80px;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);padding:6px 14px;font-weight:500}.btn.cancel[data-v-e177b4cb]{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0}.btn.cancel[data-v-e177b4cb]:hover{background:var(--hover-bg);color:var(--text-primary)}.btn.primary[data-v-e177b4cb]{background:var(--primary-color);color:#fff;border:none}.btn.primary[data-v-e177b4cb]:hover{background:var(--primary-light)}.admin-page[data-v-00168305]{padding:var(--space-lg);min-height:100%}.page-header[data-v-00168305]{margin-bottom:var(--space-lg);justify-content:space-between;align-items:flex-start;display:flex}.page-title[data-v-00168305]{font-size:var(--text-lg);color:var(--text-primary);margin:0;font-weight:600}.admin-layout[data-v-00168305]{gap:var(--space-md);grid-template-columns:260px 1fr;display:grid}.admin-nav-card[data-v-00168305]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-lg);height:fit-content;top:var(--space-md);position:sticky}.admin-nav[data-v-00168305]{gap:var(--space-xs);flex-direction:column;display:flex}.admin-nav .nav-item[data-v-00168305]{align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);text-align:left;background:0 0;border:none;padding:8px 10px;display:flex}.admin-nav .nav-item[data-v-00168305]:hover{background:var(--hover-bg);color:var(--text-primary)}.admin-nav .nav-item.active[data-v-00168305]{background:var(--primary-glow);color:var(--primary-color)}.admin-nav .nav-item[data-v-00168305] svg{flex-shrink:0}.admin-content[data-v-00168305]{gap:var(--space-md);flex-direction:column;display:flex}.admin-panel[data-v-00168305]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);animation:.2s slideUp-00168305;overflow:hidden}.panel-header[data-v-00168305]{padding:var(--space-lg);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;display:flex}.panel-header-left[data-v-00168305]{flex-direction:column;gap:4px;display:flex}.panel-title[data-v-00168305]{font-size:var(--text-base);color:var(--text-primary);margin:0;font-weight:600}.panel-desc[data-v-00168305]{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.create-btn[data-v-00168305]{align-items:center;gap:var(--space-xs);background:var(--primary-color);border-radius:var(--radius-md);color:#fff;font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-base);border:none;padding:6px 12px;font-weight:500;display:flex}.create-btn[data-v-00168305]:hover{background:var(--primary-light)}.panel-body[data-v-00168305]{padding:var(--space-lg);min-height:200px}.users-table[data-v-00168305]{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.users-table th[data-v-00168305]{text-align:left;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap;padding:12px 16px;font-weight:500}.users-table td[data-v-00168305]{color:var(--text-primary);border-bottom:1px solid var(--border-color);white-space:nowrap;padding:12px 16px}.user-row:last-child td[data-v-00168305]{border-bottom:none}.user-cell[data-v-00168305]{align-items:center;gap:var(--space-sm);display:flex}.user-avatar-sm[data-v-00168305]{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);border-radius:var(--radius-md);width:32px;height:32px;font-size:var(--text-sm);color:#fff;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex;overflow:hidden}.user-avatar-sm img[data-v-00168305]{object-fit:cover;width:100%;height:100%}.user-info-sm[data-v-00168305]{flex-direction:column;gap:2px;min-width:0;display:flex}.user-name-sm[data-v-00168305]{color:var(--text-primary);font-weight:500}.user-email-sm[data-v-00168305]{font-size:var(--text-xs);color:var(--text-secondary)}.role-tag[data-v-00168305]{border-radius:var(--radius-full);padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.role-tag.admin[data-v-00168305]{background:var(--primary-glow);color:var(--primary-color)}.role-tag.user[data-v-00168305]{background:var(--hover-bg);color:var(--text-secondary)}.status-tag[data-v-00168305]{border-radius:var(--radius-full);padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.status-tag.active[data-v-00168305]{color:#22c55e;background:#22c55e1a}.status-tag.disabled[data-v-00168305]{color:#ef4444;background:#ef44441a}.action-btns[data-v-00168305]{gap:6px;display:flex}.action-btn[data-v-00168305]{border-radius:var(--radius-md);background:var(--hover-bg);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);border:none;justify-content:center;align-items:center;display:flex}.action-btn[data-v-00168305]:hover{background:var(--primary-glow);color:var(--primary-color)}.action-btn.warning[data-v-00168305]:hover{color:#eab308;background:#eab30826}.action-btn.success[data-v-00168305]:hover{color:#22c55e;background:#22c55e26}.action-btn.danger[data-v-00168305]:hover{background:var(--danger-bg);color:var(--danger-color)}.pagination-wrapper[data-v-00168305]{margin-top:var(--space-md);justify-content:center;display:flex}.setting-list[data-v-00168305]{gap:var(--space-sm);flex-direction:column;display:flex}.setting-item[data-v-00168305]{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-base);display:flex}.setting-item[data-v-00168305]:hover{border-color:var(--border-hover);background:var(--hover-bg)}.setting-item.readonly[data-v-00168305]{cursor:default}.setting-item.readonly[data-v-00168305]:hover{border-color:var(--border-color);background:var(--bg-secondary)}.setting-info[data-v-00168305]{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.setting-main[data-v-00168305]{align-items:center;gap:var(--space-md);row-gap:var(--space-sm);flex-wrap:wrap;display:flex}.setting-param[data-v-00168305]{font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-color);border-radius:var(--radius-sm);border:1px solid var(--border-color);padding:3px 10px;font-family:SF Mono,Fira Code,monospace;font-weight:600}.setting-val[data-v-00168305]{font-size:var(--text-sm);color:var(--text-secondary);background:var(--primary-glow);border-radius:var(--radius-sm);padding:3px 10px;font-weight:500}.setting-desc[data-v-00168305]{font-size:var(--text-xs);color:var(--text-muted);margin:0;padding-left:2px}.setting-time[data-v-00168305]{color:var(--text-muted);padding-left:2px;font-size:11px}.setting-actions[data-v-00168305]{gap:var(--space-xs);flex-shrink:0;display:flex}.loading-state[data-v-00168305]{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-2xl) 0;color:var(--text-muted);font-size:var(--text-sm);display:flex}.loading-spinner[data-v-00168305]{border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin-00168305}.empty-state[data-v-00168305]{padding:var(--space-2xl) 0;color:var(--text-muted);justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.empty-state[data-v-00168305] svg{color:var(--text-muted);opacity:.5}.empty-state p[data-v-00168305]{font-size:var(--text-base);margin:0}@media (width<=768px){.admin-layout[data-v-00168305]{grid-template-columns:1fr}.admin-nav-card[data-v-00168305]{position:static}.users-table th[data-v-00168305]:nth-child(4),.users-table td[data-v-00168305]:nth-child(4),.users-table th[data-v-00168305]:nth-child(5),.users-table td[data-v-00168305]:nth-child(5){display:none}}@keyframes slideUp-00168305{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-00168305{to{transform:rotate(360deg)}}:root{--primary-color:#a78bfa;--primary-light:#c4b5fd;--primary-dark:#8b5cf6;--primary-shadow:#a78bfa4d;--primary-glow:#a78bfa26;--success-color:#10b981;--danger-color:#ef4444;--danger-light:#f87171;--danger-bg:#ef44441a;--bg-color:#09090b;--bg-secondary:#0f0f12;--card-bg:#18181b;--sidebar-bg:#18181b;--hover-bg:#27272a;--active-bg:#3f3f46;--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-muted:#71717a;--border-color:#27272a;--border-hover:#3f3f46;--border-active:#52525b;--border-light:#ffffff14;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 8px 24px #0009;--shadow-xl:0 16px 48px #000000b3;--shadow-primary:0 4px 12px #a78bfa40;--shadow-glow:0 0 20px #a78bfa33;--sidebar-width:200px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-2xl:12px;--radius-full:9999px;--space-xs:3px;--space-sm:6px;--space-md:12px;--space-lg:18px;--space-xl:24px;--space-2xl:36px;--transition-fast:.15s;--transition-base:.2s;--transition-slow:.3s;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-lg:14px;--text-xl:16px;--text-2xl:20px}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--text-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-color);line-height:1.5}#app{height:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:focus{outline:none}:focus-visible{outline:1.5px solid var(--primary-color);outline-offset:1.5px;border-radius:var(--radius-sm)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:1.5px solid var(--primary-color);outline-offset:1.5px}html{scroll-behavior:smooth}::selection{background:var(--primary-color);color:#fff}::selection{background:var(--primary-color);color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{animation:fadeIn var(--transition-fast) ease}.dialog-scale-in{animation:scaleIn var(--transition-fast) ease}.toast-container[data-v-02053adf]{top:var(--space-lg);right:var(--space-lg);z-index:9999;gap:var(--space-sm);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast[data-v-02053adf]{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);pointer-events:auto;min-width:240px;max-width:360px;display:flex}.toast.success[data-v-02053adf]{border-color:var(--success-color);background:#10b98140}.toast.success[data-v-02053adf] svg{color:var(--success-color)}.toast.error[data-v-02053adf]{background:#ef444440;border-color:#ef4444}.toast.error[data-v-02053adf] svg{color:#ef4444}.toast.warning[data-v-02053adf]{background:#f59e0b40;border-color:#f59e0b}.toast.warning[data-v-02053adf] svg{color:#f59e0b}.toast.info[data-v-02053adf]{border-color:var(--primary-color);background:#6366f140}.toast.info[data-v-02053adf] svg{color:var(--primary-color)}.toast-text[data-v-02053adf]{font-size:var(--text-sm);color:var(--text-primary);flex:1;line-height:1.4}.toast-close[data-v-02053adf]{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:flex}.toast-close[data-v-02053adf]:hover{color:var(--text-primary);background:#ffffff1a}.toast-enter-active[data-v-02053adf],.toast-leave-active[data-v-02053adf]{transition:all var(--transition-slow)}.toast-enter-from[data-v-02053adf],.toast-leave-to[data-v-02053adf]{opacity:0;transform:translate(100%)}
/*$vite$:1*/