:root{--bg-base: #0b0b14;--bg-surface: #13132a;--bg-surface-hover: #1a1a38;--bg-input: #0e0e20;--bg-dark: #08080f;--bg-elevated: #1e1e3a;--color-primary: #4f6cff;--color-primary-hover: #6b83ff;--color-primary-muted: rgba(79, 108, 255, .12);--color-primary-glow: rgba(79, 108, 255, .25);--color-danger: #ef4444;--color-danger-hover: #f87171;--color-danger-muted: rgba(239, 68, 68, .12);--color-success: #22c55e;--text-primary: #e4e4f0;--text-secondary: #8b8ba8;--text-muted: #505070;--text-faint: #353550;--border-color: #1e1e38;--border-hover: #2a2a4a;--border-light: #16162e;--border-focus: var(--color-primary);--font-sans: "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 18px;--text-xl: 22px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(79, 108, 255, .15);--sidebar-width: 200px;--sidebar-collapsed: 52px;--transition-fast: .15s ease;--transition-base: .2s ease}*{margin:0;padding:0;box-sizing:border-box}*:focus{outline:none}*:focus-visible{outline:none}html,body,#root{height:100%;width:100%;overflow:hidden;background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}::-webkit-scrollbar-corner{background:transparent}input,button{font-family:inherit;font-size:inherit}button{cursor:pointer}::selection{background:#4f6cff59;color:#fff}#mobile-block{display:none}@media (max-width: 768px){#mobile-block{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:16px;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);text-align:center;padding:32px}#mobile-block img{height:32px;width:auto;margin-bottom:8px}#mobile-block p{font-size:17px;font-weight:600}#mobile-block span{font-size:14px;color:var(--text-secondary)}#root{display:none}}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;letter-spacing:.01em;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);-webkit-user-select:none;user-select:none}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--color-primary);color:#fff;border:1px solid transparent;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-glow)}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-surface-hover);border-color:var(--border-hover);color:var(--text-primary)}.btn-danger{background:var(--color-danger-muted);color:var(--color-danger);border:1px solid transparent}.btn-danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:var(--bg-surface-hover);color:var(--text-primary)}.ui-input{width:100%;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:var(--text-md);font-family:inherit;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.ui-input::placeholder{color:var(--text-muted)}.ui-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-muted);background:var(--bg-base)}.ui-input:hover:not(:focus){border-color:var(--border-hover)}.ui-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:background var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.ui-card-interactive{cursor:pointer}.ui-card-interactive:hover{background:var(--bg-surface-hover);border-color:var(--border-hover);box-shadow:var(--shadow-md)}.sidebar-nav-item{width:100%;display:flex;align-items:center;background:transparent;border:none;font-size:var(--text-base);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast);position:relative}.sidebar-nav-item:hover{background:var(--bg-surface-hover)}.sidebar-nav-item.active{color:var(--color-primary);background:var(--color-primary-muted)}.sidebar-nav-item.active:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:0 2px 2px 0;background:var(--color-primary)}.sidebar-collapse-btn:hover{color:var(--text-primary);background:var(--bg-surface-hover);border-color:var(--border-hover)}.sidebar-user-avatar-btn:hover{background:var(--bg-surface-hover)!important;border-color:var(--border-hover)!important}.user-submenu-item:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.video-card:hover{background:var(--bg-surface-hover)!important;border-color:var(--border-hover)!important;box-shadow:var(--shadow-md)}.video-card:hover .btn-icon{opacity:1!important}.face-card:hover{background:var(--bg-surface-hover)!important;border-color:var(--border-hover)!important;box-shadow:var(--shadow-md)}.face-card:hover .btn-icon,.face-photo-item:hover .face-photo-delete-btn{opacity:1!important}.btn-icon:hover{color:var(--text-primary)!important;background:var(--bg-surface-hover)!important;border-color:var(--border-hover)!important}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.loading-text{animation:pulse 1.5s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-icon{animation:spin 1s linear infinite}.folder-card:hover{background:var(--bg-surface-hover)!important;border-color:var(--border-hover)!important;box-shadow:var(--shadow-md)}.folder-card .folder-card-menu .btn-icon{position:static;opacity:0;background:var(--bg-elevated);color:var(--text-secondary)}.folder-card:hover .folder-card-menu .btn-icon{opacity:1!important}.breadcrumbs{display:flex;align-items:center;gap:4px;overflow:hidden}.breadcrumb-item:hover{background:var(--bg-surface-hover);color:var(--text-primary)!important}.pagination-bar{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:var(--space-xl);padding:var(--space-md) 0}.pagination-btn{min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);font-family:inherit;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.pagination-btn:hover:not(:disabled){background:var(--bg-surface-hover);border-color:var(--border-hover);color:var(--text-primary)}.pagination-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-glow)}.pagination-btn:disabled{opacity:.3;cursor:not-allowed}.pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--text-muted);font-size:var(--text-sm);-webkit-user-select:none;user-select:none}.pagination-info{margin-left:var(--space-md);color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}
