:root{--color-primary:#0061fe;--color-primary-hover:#0052d4;--color-primary-light:#e6f0ff;--color-text-primary:#1e1f21;--color-text-secondary:#5b616a;--color-bg-body:#f7f9fa;--color-bg-card:#fff;--color-border:#e8ebed;--color-hover:#f2f5f7;--color-active:#e6f0ff;--color-danger:#d62b2b;--color-danger-hover:#b51d1d;--color-danger-light:#fdf2f2;--color-success:#097138;--color-success-light:#ebf7ee;--font-stack:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--border-radius:4px;--box-shadow:0 1px 3px #0000000d, 0 1px 2px #00000014}*{box-sizing:border-box;margin:0;padding:0}body,html,#root{width:100%;height:100%;font-family:var(--font-stack);background-color:var(--color-bg-body);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:.8s linear infinite spin}.login-layout{background-color:var(--color-bg-body);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.login-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);width:100%;max-width:420px;box-shadow:var(--box-shadow);border-radius:6px;padding:40px}.login-header{text-align:center;margin-bottom:30px}.login-header h1{margin-top:16px;margin-bottom:8px;font-size:24px;font-weight:600}.login-header p{color:var(--color-text-secondary);font-size:14px;line-height:1.5}.login-header a{color:var(--color-primary);text-decoration:none}.login-header a:hover{text-decoration:underline}.login-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--color-text-primary);font-size:13px;font-weight:600}.form-group input{border-radius:var(--border-radius);border:1px solid #bac4cc;outline:none;height:40px;padding:0 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.error-alert{background-color:var(--color-danger-light);border-radius:var(--border-radius);color:var(--color-danger);border:1px solid #f3c9c9;padding:10px 12px;font-size:13px}.btn-primary{background-color:var(--color-primary);color:#fff;border-radius:var(--border-radius);cursor:pointer;border:none;justify-content:center;align-items:center;height:40px;padding:0 20px;font-family:inherit;font-size:14px;font-weight:500;transition:background-color .15s;display:inline-flex}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-primary:disabled{cursor:not-allowed;background-color:#a0c3ff}.btn-secondary{background-color:var(--color-bg-card);height:40px;color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;justify-content:center;align-items:center;padding:0 20px;font-family:inherit;font-size:14px;font-weight:500;transition:background-color .15s;display:inline-flex}.btn-secondary:hover{background-color:var(--color-hover)}.form-actions-split{grid-template-columns:1fr 2fr;gap:12px;display:grid}.loading-screen{background-color:var(--color-bg-body);width:100%;height:100%;color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.app-layout{background-color:var(--color-bg-body);width:100%;height:100%;display:flex}.sidebar{border-right:1px solid var(--color-border);background-color:var(--color-bg-card);flex-direction:column;flex-shrink:0;width:260px;height:100%;display:flex}.sidebar-logo{color:var(--color-text-primary);border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:24px;font-size:20px;font-weight:700;display:flex}.sidebar-search{margin:16px 16px 8px;position:relative}.sidebar-search .search-icon{color:var(--color-text-secondary);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.sidebar-search input{border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-bg-body);outline:none;width:100%;height:36px;padding:0 12px 0 36px;font-family:inherit;font-size:13px}.sidebar-search input:focus{background-color:var(--color-bg-card);border-color:var(--color-primary)}.sidebar-nav-title{text-transform:uppercase;color:var(--color-text-secondary);letter-spacing:.5px;padding:16px 24px 8px;font-size:11px;font-weight:700}.sidebar-folders-container{flex-grow:1;padding:0 8px;overflow-y:auto}.sidebar-loading,.sidebar-empty{color:var(--color-text-secondary);justify-content:center;align-items:center;gap:8px;padding:24px 0;font-size:13px;display:flex}.sidebar-folders{flex-direction:column;gap:2px;display:flex}.folder-item-btn{border-radius:var(--border-radius);height:38px;color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:0 16px;font-family:inherit;font-size:14px;transition:background-color .15s;display:flex}.folder-item-btn:hover{background-color:var(--color-hover)}.folder-item-btn.active{background-color:var(--color-primary-light);color:var(--color-primary);font-weight:500}.folder-item-btn .folder-icon{color:#7b849c;flex-shrink:0}.folder-item-btn.active .folder-icon{color:var(--color-primary)}.folder-name{white-space:nowrap;text-overflow:ellipsis;flex-grow:1;overflow:hidden}.unread-badge{background-color:var(--color-primary);color:#fff;border-radius:10px;padding:2px 6px;font-size:10px;font-weight:700}.sidebar-footer{border-top:1px solid var(--color-border);padding:16px}.btn-logout{border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-bg-card);width:100%;height:38px;color:var(--color-text-secondary);cursor:pointer;justify-content:center;align-items:center;gap:8px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.btn-logout:hover{background-color:var(--color-danger-light);color:var(--color-danger);border-color:#f3c9c9}.main-content{flex-direction:column;flex-grow:1;height:100%;display:flex;overflow:hidden}.main-header{border-bottom:1px solid var(--color-border);background-color:var(--color-bg-card);flex-shrink:0;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex}.header-breadcrumbs{align-items:center;font-size:14px;display:flex}.crumb-root{color:var(--color-text-secondary);font-weight:400}.crumb-separator{color:var(--color-text-secondary);margin:0 8px}.crumb-active{color:var(--color-text-primary);font-weight:600}.search-files{max-width:320px;position:relative}.search-files .search-icon{color:var(--color-text-secondary);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-files input{border:1px solid var(--color-border);border-radius:var(--border-radius);outline:none;width:100%;height:36px;padding:0 12px 0 36px;font-family:inherit;font-size:13px}.search-files input:focus{border-color:var(--color-primary)}.toolbar{background-color:var(--color-bg-card);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex}.toolbar-title-section h2{margin-bottom:4px;font-size:20px;font-weight:600}.toolbar-subtitle{color:var(--color-text-secondary);font-size:13px}.toolbar-actions{align-items:center;gap:12px;display:flex}.btn-toolbar-primary{background-color:var(--color-primary);color:#fff;border-radius:var(--border-radius);cursor:pointer;border:none;align-items:center;gap:8px;height:36px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.btn-toolbar-primary:hover{background-color:var(--color-primary-hover)}.btn-toolbar-secondary{background-color:var(--color-bg-card);height:36px;color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;align-items:center;gap:8px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.btn-toolbar-secondary:hover{background-color:var(--color-hover)}.url-upload-form{border:1px solid var(--color-border);border-radius:var(--border-radius);height:36px;display:flex;overflow:hidden}.url-upload-form input{border:none;outline:none;width:320px;padding:0 12px;font-family:inherit;font-size:13px}.url-upload-form button{border:none;border-left:1px solid var(--color-border);border-radius:0;height:100%}.files-container{background-color:var(--color-bg-card);flex-grow:1;overflow-y:auto}.files-loading{color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 0;font-size:14px;display:flex}.files-empty{text-align:center;color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:80px 24px;display:flex}.files-empty h3{color:var(--color-text-primary);margin-top:16px;margin-bottom:8px;font-size:18px;font-weight:500}.files-empty p{max-width:380px;font-size:14px;line-height:1.5}.files-table{border-collapse:collapse;text-align:left;width:100%}.files-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);padding:12px 24px;font-size:12px;font-weight:600}.files-table td{border-bottom:1px solid var(--color-border);color:var(--color-text-primary);padding:12px 24px;font-size:14px}.file-row{cursor:pointer;transition:background-color .15s}.file-row:hover{background-color:var(--color-hover)}.col-name{width:50%}.file-name-cell{align-items:center;gap:16px;font-weight:500;display:flex}.file-name-text{text-overflow:ellipsis;white-space:nowrap;max-width:480px;overflow:hidden}.icon-video{color:#a82a2a}.icon-image{color:#2a8ea8}.icon-audio{color:#2a5ba8}.icon-doc{color:#5f6b7c}.col-size{width:15%;color:var(--color-text-secondary)}.col-date{width:20%;color:var(--color-text-secondary)}.col-actions{width:15%}.actions-cell{justify-content:flex-end;align-items:center;gap:6px;display:flex}.btn-icon{border-radius:var(--border-radius);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.btn-icon:hover{color:var(--color-text-primary);background-color:#e8ebed;border-color:#d3d8dc}.btn-icon.danger:hover{background-color:var(--color-danger-light);color:var(--color-danger);border-color:#f3c9c9}.btn-icon-sm{border:1px solid var(--color-border);border-radius:var(--border-radius);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.btn-icon-sm:hover{background-color:var(--color-hover);color:var(--color-text-primary);border-color:#bac4cc}.btn-icon-sm.danger:hover{background-color:var(--color-danger-light);color:var(--color-danger);border-color:#f3c9c9}.upload-status-widget{background-color:var(--color-bg-card);z-index:100;border:1px solid #bac4cc;border-radius:6px;flex-direction:column;width:320px;max-height:360px;display:flex;position:absolute;bottom:24px;right:24px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.widget-header{background-color:var(--color-bg-body);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.widget-header h3{font-size:14px;font-weight:600}.uploads-count{background-color:var(--color-text-secondary);color:#fff;border-radius:10px;padding:2px 6px;font-size:11px;font-weight:700}.widget-list{padding:8px 0;overflow-y:auto}.upload-progress-item{border-bottom:1px solid var(--color-border);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.upload-progress-item:last-child{border-bottom:none}.item-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.item-name{white-space:nowrap;text-overflow:ellipsis;flex-grow:1;font-size:13px;font-weight:500;overflow:hidden}.item-status-text{align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.item-status-text.completed{color:var(--color-success)}.item-status-text.failed{color:var(--color-danger)}.item-status-text.uploading{color:var(--color-primary)}.item-status-text.connecting{color:var(--color-text-secondary)}.item-status-text.downloading{color:#f08c00}.progress-bar-bg{background-color:var(--color-hover);border-radius:3px;height:6px;overflow:hidden}.progress-bar-fill{background-color:var(--color-primary);border-radius:3px;height:100%;transition:width .3s}.error-text{color:var(--color-danger);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.preview-backdrop{z-index:1000;background-color:#1e1f21cc;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.preview-modal{background-color:var(--color-bg-card);border-radius:6px;flex-direction:column;width:90%;max-width:960px;height:85%;display:flex;overflow:hidden;box-shadow:0 8px 30px #00000026}.preview-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;height:72px;padding:0 24px;display:flex}.preview-title-info{align-items:center;gap:16px;min-width:0;max-width:60%;display:flex}.preview-title-info h2{white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:16px;font-weight:600;overflow:hidden}.preview-title-info p{color:var(--color-text-secondary);font-size:12px}.preview-actions{align-items:center;gap:12px;display:flex}.btn-icon-close{width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.btn-icon-close:hover{background-color:var(--color-hover);color:var(--color-text-primary)}.preview-body{background-color:#1e1f21;flex-grow:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.preview-image-container{justify-content:center;align-items:center;max-width:100%;max-height:100%;padding:24px;display:flex}.preview-image-container img{object-fit:contain;background-color:#2f3136;max-width:100%;max-height:100%;box-shadow:0 4px 12px #00000080}.preview-video-container{background-color:#000;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.preview-video-container video{object-fit:contain;width:100%;height:100%;max-height:100%}.preview-pdf-container{background-color:#fff;width:100%;height:100%}.preview-pdf-container iframe{border:none;width:100%;height:100%}.preview-text-container{color:#e3e3e3;text-align:left;background-color:#1a1a1a;width:100%;height:100%;padding:24px;overflow:auto}.preview-text-container pre{white-space:pre-wrap;font-family:Courier New,Courier,monospace;font-size:13px;line-height:1.6}.preview-loading{color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.preview-fallback{text-align:center;color:#bac4cc;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.preview-fallback h3{color:#fff;margin-top:16px;margin-bottom:8px;font-size:18px;font-weight:500}.preview-fallback p{max-width:320px;font-size:14px;line-height:1.5}.files-grid{background-color:var(--color-bg-card);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px;padding:24px;display:grid}.grid-item-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;flex-direction:column;padding:12px;transition:all .15s;display:flex;position:relative}.grid-item-card:hover{box-shadow:var(--box-shadow);background-color:var(--color-hover);border-color:#bac4cc}.grid-thumbnail-container{background-color:var(--color-bg-body);border-radius:var(--border-radius);justify-content:center;align-items:center;width:100%;height:120px;margin-bottom:10px;display:flex;position:relative;overflow:hidden}.grid-thumbnail-container img{object-fit:cover;width:100%;height:100%}.grid-icon-fallback{color:var(--color-text-secondary)}.grid-play-overlay{pointer-events:none;background-color:#1e1f2199;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background-color .15s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.grid-item-card:hover .grid-play-overlay{background-color:#0061fed9}.grid-item-info{flex-direction:column;flex-grow:1;margin-bottom:8px;display:flex}.grid-item-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:13px;font-weight:500;overflow:hidden}.grid-item-size{color:var(--color-text-secondary);margin-top:2px;font-size:11px}.grid-item-actions{border-top:1px solid var(--color-border);justify-content:flex-end;align-items:center;gap:6px;padding-top:8px;display:flex}.view-mode-toggle button.active{background-color:var(--color-hover)!important;color:var(--color-primary)!important;border-color:#bac4cc!important}.mobile-menu-btn,.mobile-sidebar-close,.sidebar-backdrop{display:none}@media (width<=900px){.app-layout{flex-direction:row;position:relative;overflow:hidden}.sidebar{border-right:1px solid var(--color-border);z-index:1000;border-bottom:none;width:280px;height:100vh;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;background-color:#0006;display:block;position:fixed;inset:0}.mobile-menu-btn{color:var(--color-text-secondary);cursor:pointer;border-radius:var(--border-radius);background:0 0;border:none;justify-content:center;align-items:center;margin-right:12px;padding:6px;transition:all .2s;display:flex}.mobile-menu-btn:hover{background-color:var(--color-hover);color:var(--color-primary)}.mobile-sidebar-close{color:var(--color-text-secondary);cursor:pointer;border-radius:var(--border-radius);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.mobile-sidebar-close:hover{background-color:var(--color-hover);color:var(--color-primary)}.toolbar{flex-direction:column;align-items:stretch;gap:12px}.toolbar-actions{flex-direction:row;align-items:stretch}.main-header{flex-direction:column;align-items:stretch;gap:10px;height:auto;padding:12px 16px}.header-breadcrumbs{width:100%}.header-actions{align-items:center;width:100%;display:flex;gap:8px!important}.search-files{flex-grow:1;min-width:0}.search-files input{height:36px;padding:0 12px 0 36px;font-size:13px}.search-files .search-icon{width:16px;height:16px;left:12px}.theme-toggle-btn{flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.view-mode-toggle button{width:36px!important;height:36px!important}.toolbar{flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;padding:10px 12px!important}.toolbar-title-section{flex-grow:1;min-width:0}.toolbar-title-section h2{white-space:nowrap;text-overflow:ellipsis;max-width:110px;overflow:hidden;margin:0!important;font-size:15px!important}.toolbar-subtitle{display:none!important}.toolbar-actions{flex-shrink:0;flex-direction:row!important;align-items:center!important;gap:4px!important}.btn-toolbar-primary span,.btn-toolbar-secondary span,.sub-toolbar-btn span,.preview-actions span{display:none!important}.btn-toolbar-primary,.btn-toolbar-secondary{height:32px!important;padding:0 10px!important}.sub-toolbar{flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:6px!important;padding:6px 12px!important}.sub-toolbar-left{min-width:0;flex-wrap:nowrap!important;flex-grow:1!important;justify-content:flex-start!important;gap:4px!important;width:auto!important}.sub-toolbar-left>span{display:none!important}.sub-toolbar-select{flex-grow:1!important;min-width:0!important;height:32px!important;padding:0 4px!important;font-size:12px!important}.sub-toolbar-btn{flex-grow:0!important;height:32px!important;padding:0 8px!important}.sub-toolbar-right{flex-shrink:0;width:auto!important}.sub-toolbar-right button{width:auto!important}.create-folder-bar{width:100%;flex-wrap:nowrap!important;gap:4px!important}.create-folder-input{width:100%!important}.preview-header{height:56px!important;padding:0 12px!important}.preview-title-info{gap:8px!important;max-width:65%!important}.preview-title-info h2{font-size:14px!important}.preview-title-info p{font-size:11px!important}.files-table{table-layout:fixed;width:100%}.file-row{position:relative;overflow:hidden}.col-name{overflow:hidden;width:65%!important}.col-size{width:20%!important}.col-actions{position:relative;width:15%!important}.btn-more-actions{justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex!important}.file-row:not(.folder-row) .col-actions .actions-cell a,.file-row:not(.folder-row) .col-actions .actions-cell button:not(.btn-more-actions){display:none!important}th.col-actions{font-size:0!important}.files-table th,.files-table td{padding:10px 12px!important}}@media (width<=600px){.files-table th,.files-table td{padding:8px!important}.col-date{display:none!important}.col-name{width:70%!important}.col-size{width:20%!important}.col-actions{text-align:center;width:48px!important;padding:0 4px!important}.col-actions .actions-cell{justify-content:center!important}.btn-more-actions{width:40px!important;height:40px!important}}[data-theme=dark]{--color-primary:#3b82f6;--color-primary-hover:#60a5fa;--color-primary-light:#3b82f626;--color-text-primary:#f3f4f6;--color-text-secondary:#9ca3af;--color-bg-body:#0b0f19;--color-bg-card:#111827;--color-border:#1f2937;--color-hover:#1f2937;--color-active:#3b82f633;--color-danger-light:#ef44441a;--color-success-light:#10b9811a}.sub-toolbar{border-bottom:1px solid var(--color-border);background-color:var(--color-bg-card);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex}.sub-toolbar-left,.sub-toolbar-right{align-items:center;gap:12px;display:flex}.sub-toolbar-select{border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-bg-card);height:34px;color:var(--color-text-primary);cursor:pointer;outline:none;padding:0 8px;font-family:inherit;font-size:13px}.sub-toolbar-select:focus{border-color:var(--color-primary)}.sub-toolbar-btn{background-color:var(--color-bg-card);height:34px;color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.sub-toolbar-btn:hover{background-color:var(--color-hover)}.sub-toolbar-btn.active{background-color:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary)}.folder-item-btn{position:relative}.pin-btn{opacity:0;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:auto;padding:4px;transition:all .15s;display:inline-flex}.folder-item-btn:hover .pin-btn,.folder-item-btn.active .pin-btn,.pin-btn.pinned{opacity:1}.pin-btn.pinned{color:#f59e0b}.pin-btn:hover{background-color:var(--color-hover)}.hide-btn{opacity:0;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:4px;padding:4px;transition:all .15s;display:inline-flex}.folder-item-btn:hover .hide-btn,.folder-item-btn.active .hide-btn{opacity:.6}.hide-btn:hover{background-color:var(--color-hover);color:#ef4444!important;opacity:1!important}.file-checkbox-wrapper{justify-content:center;align-items:center;margin-right:12px;display:flex}.file-checkbox{cursor:pointer;width:16px;height:16px;accent-color:var(--color-primary)}.grid-checkbox-wrapper{z-index:10;background-color:var(--color-bg-card);border-radius:var(--border-radius);border:1px solid var(--color-border);box-shadow:var(--box-shadow);justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:10px;left:10px}.multi-select-bar{background-color:var(--color-bg-card);border:1px solid var(--color-border);z-index:100;border-radius:8px;align-items:center;gap:20px;padding:12px 24px;animation:.2s cubic-bezier(.16,1,.3,1) slideUp;display:flex;position:fixed;bottom:24px;left:55%;transform:translate(-50%);box-shadow:0 10px 15px -3px #00000026,0 4px 6px -2px #0000001a}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,100px)}to{opacity:1;transform:translate(-50%)}}.multi-select-bar span{color:var(--color-text-primary);font-size:14px;font-weight:500}.zoom-controls{z-index:20;background-color:#1e1f21d9;border-radius:20px;align-items:center;gap:8px;padding:6px 12px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.zoom-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:background-color .15s;display:flex}.zoom-btn:hover{background-color:#fff3}.zoom-scale-text{color:#fff;text-align:center;-webkit-user-select:none;user-select:none;min-width:44px;font-size:12px;font-weight:600}.preview-image-wrapper{cursor:grab;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.preview-image-wrapper:active{cursor:grabbing}.preview-image-wrapper img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;max-height:100%;transition:transform .1s ease-out}.badge-readonly{color:var(--color-danger);background-color:var(--color-danger-light);border:1px solid #d62b2b33;border-radius:12px;align-items:center;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.theme-toggle-btn{border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .15s;display:flex}.theme-toggle-btn:hover{background-color:var(--color-hover);color:var(--color-primary)}.url-upload-form input{background-color:var(--color-bg-card);color:var(--color-text-primary)}.grid-item-card.folder-card{background-color:var(--color-hover);border-color:#d1d5db}[data-theme=dark] .grid-item-card.folder-card{background-color:var(--color-hover);border-color:#374151}.folder-card .grid-thumbnail-container{background-color:var(--color-bg-card);color:#f59e0b}.crumb-separator{color:var(--color-text-secondary)}.crumb-btn{color:var(--color-primary);cursor:pointer;border-radius:var(--border-radius);background:0 0;border:none;padding:2px 4px;font-family:inherit;font-size:14px;transition:all .15s}.crumb-btn:hover{background-color:var(--color-hover);text-decoration:underline}.crumb-active-text{color:var(--color-text-primary);padding:2px 4px;font-size:14px;font-weight:600}.create-folder-bar{border-left:1px solid var(--color-border);align-items:center;gap:8px;margin-left:4px;padding-left:12px;display:flex}.create-folder-input{border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-bg-card);height:34px;color:var(--color-text-primary);outline:none;width:140px;padding:0 10px;font-family:inherit;font-size:13px;transition:all .15s}.create-folder-input:focus{border-color:var(--color-primary);width:180px}.share-modal-content{flex-direction:column;gap:16px;padding:8px 0;display:flex}.share-select-group{flex-direction:column;gap:6px;display:flex}.share-select-group label{color:var(--color-text-secondary);font-size:12px;font-weight:600}.share-link-box{gap:8px;margin-top:8px;display:flex}.share-link-box input{border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-bg-body);height:36px;color:var(--color-text-primary);outline:none;flex-grow:1;padding:0 12px;font-family:inherit;font-size:13px}.qr-code-container{border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:#fff;flex-direction:column;justify-content:center;align-self:center;align-items:center;gap:8px;width:fit-content;margin-top:16px;padding:16px;display:flex}.qr-code-container span{color:#5b616a;font-size:11px;font-weight:500}.btn-icon.share-btn{color:var(--color-text-secondary);transition:color .15s}.btn-icon.share-btn:hover{color:var(--color-primary);background-color:var(--color-hover)}.btn-more-actions{display:none}.action-sheet-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background-color:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.action-sheet{background-color:var(--color-bg-card);box-sizing:border-box;border:1px solid var(--color-border);border-bottom:none;border-top-left-radius:16px;border-top-right-radius:16px;width:100%;max-width:500px;padding:16px 16px 24px;animation:.25s cubic-bezier(.16,1,.3,1) forwards slideUpActionSheet;box-shadow:0 -4px 16px #00000026}@keyframes slideUpActionSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}.action-sheet-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;display:flex}.action-sheet-file-info{flex:1;align-items:center;gap:12px;margin-right:12px;display:flex;overflow:hidden}.action-sheet-file-info svg{color:var(--color-primary);flex-shrink:0}.action-sheet-file-text{text-align:left;flex-direction:column;display:flex;overflow:hidden}.action-sheet-title{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.action-sheet-subtitle{color:var(--color-text-secondary);margin-top:2px;font-size:12px}.action-sheet-close-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:background-color .15s;display:flex}.action-sheet-close-btn:hover{background-color:var(--color-hover);color:var(--color-text-primary)}.action-sheet-body{flex-direction:column;gap:8px;display:flex}.action-sheet-item{border-radius:var(--border-radius);width:100%;color:var(--color-text-primary);text-align:left;cursor:pointer;box-sizing:border-box;background:0 0;border:none;align-items:center;gap:12px;padding:12px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .15s;display:flex}.action-sheet-item:hover{background-color:var(--color-hover)}.action-sheet-item svg{color:var(--color-text-secondary)}.action-sheet-item.danger,.action-sheet-item.danger svg{color:var(--color-danger)}
