:root{--color-bg-page:#f5f7fa;--color-bg-surface:#fff;--color-bg-input:#f9fafb;--color-bg-hover:#f8fafc;--color-bg-muted:#f0f3f7;--color-bg-subtle:#f8f9fa;--color-bg-alt:#f7fafc;--color-bg-input-alt:#edf2f7;--color-bg-empty:#f0f0f0;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-border-medium:#cbd5e0;--color-border-faint:#e0e6ed;--color-border-subtle:#e0e5e8;--color-border-xfaint:#f0f0f0;--color-border-ddd:#ddd;--color-text:#2d3748;--color-text-heading:#1e293b;--color-text-muted:#718096;--color-text-faint:#94a3b8;--color-text-secondary:#4a5568;--color-text-subtle:#64748b;--color-text-dark:#334155;--color-text-placeholder:#a0aec0;--color-text-gray:#6c757d;--color-text-medium:#666;--color-text-faint2:#888;--color-text-light:#999;--color-text-black:#333;--color-text-dim:#555;--color-accent:#ff5e3a;--color-accent-hover:#e04520;--color-accent-gradient:linear-gradient(135deg, #ff5e3a 0%, #ff2d55 100%);--color-accent-shadow:#ff5e3a4d;--color-accent-ring:#ff5e3a1a;--color-accent-tint:#fff5f3;--color-accent-mid:#ff8a5c;--color-accent-shadow-lg:#ff5e3a66;--color-accent-bg:#ff5e3a0f;--color-accent-bg-sm:#ff5e3a14;--color-accent-ring-dark:#ff5e3a26;--color-accent-ring-strong:#ff5e3a33;--color-accent-ring-xl:#ff5e3a66;--color-accent-ring-xs:#ff5e3a0d;--color-error-bg:#fee2e2;--color-error-text:#b91c1c;--color-success-bg:#dcfce7;--color-success-text:#15803d;--color-success-border:#48bb78;--color-success-alt:#34c759;--color-success-bg-alt:#e6f4ea;--color-success-text-alt:#0d904f;--color-success-bg-green:#e8f5e9;--color-success-text-green:#4eaa25;--color-danger-bg:#f56565;--color-danger-text:white;--color-danger-bg-hover:#e53e3e;--color-danger-alt:#ef4444;--color-danger-ring:#ef44444d;--color-danger-ring-lg:#ef444466;--color-danger-light-bg:#fef2f2;--color-danger-lighter:#fef2f2;--color-danger-text-alt:#e53e3e;--color-danger-gradient:linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--color-warning-bg:#ffeaa7;--color-warning-bg-dark:#fdcb6e;--color-warning-text:#ffc107;--color-warning-border:#ffc107;--color-warning-ring:#ffc1071a;--color-warning-shadow:#ffc10780;--color-warning-orange-bg:#fff3e0;--color-warning-orange-border:#f57c00;--color-warning-orange-text:#f57c00;--color-warning-bg-light:#fef3c7;--color-warning-text-amber:#f59e0b;--color-warning-bg-orange:#fef3e2;--color-warning-text-orange:#d04423;--color-info-bg:#ebf5fb;--color-info-border:#2b6cb0;--color-info-text:#2b6cb0;--color-info-bg-alt:#e0ecff;--color-info-text-alt:#3171d8;--color-info-surface:#e0e7ff;--color-info-blue:#3b82f6;--color-shadow:#0000001a;--color-shadow-lg:#0000001f;--color-shadow-xs:#0000000d;--color-shadow-sm:#00000014;--color-shadow-md:#00000026;--color-shadow-xl:#0003;--color-shadow-2xl:#00000040;--color-shadow-3xl:#0000004d;--color-shadow-4xl:#0006;--color-shadow-5xl:#00000080;--color-overlay:#00000080;--color-overlay-light:#00000073;--color-overlay-heavy:#000000d9;--color-overlay-darkest:#000000eb;--color-item-selected:#fff8f6;--color-item-hover-accent:#fff0ec;--color-item-hover-blue:#f0f8ff;--color-item-hover-sky:#e0f2fe;--color-sidebar-bg-from:#2a3042;--color-sidebar-bg-to:#232838;--color-sidebar-text:#ffffffa6;--color-sidebar-text-hover:#ffffffe6;--color-sidebar-text-active:#fff;--color-sidebar-active-bg:#ff5e3a1f;--color-sidebar-hover-bg:#ffffff0f;--color-sidebar-separator:#ffffff12;--color-sidebar-overlay:#00000080;--color-sidebar-storage-bg:#ffffff0d;--color-sidebar-storage-border:#ffffff12;--color-sidebar-storage-text:#fffc;--color-sidebar-storage-bar:#ffffff1a;--color-sidebar-storage-faint:#ffffff80;--color-sidebar-logo-gradient:linear-gradient(135deg, #ff5e3a 0%, #ff8a5c 100%);--color-sidebar-progress:linear-gradient(90deg, #ff5e3a 0%, #ff8a5c 100%);--color-sidebar-shadow:#ff5e3a59;--color-sidebar-shadow-lg:#ff5e3a73;--color-cal-1:#ffa94d;--color-cal-2:#74b9ff;--color-cal-3:#81ecec;--color-cal-4:#ffd43b;--color-cal-5:#ff6b9d;--color-cal-6:#ff7675;--color-cal-7:#0984e3;--color-cal-8:#00cec9;--color-cal-9:#f0c800;--color-cal-10:#e84393;--color-cal-11:#e74c3c;--color-ft-html:#e34c26;--color-ft-js:#2965f1;--color-ft-python:#3776ab;--color-ft-typescript:#3178c6;--color-ft-rust:#dea584;--color-ft-go:#00add8;--color-ft-java:#e76f00;--color-ft-shell:#555;--color-ft-csharp:#68217a;--color-ft-php:#8892be;--color-ft-ruby:#cc342d;--color-ft-swift:#fa7343;--color-ft-kotlin:#7f52ff;--color-ft-scala:#e38c00;--color-ft-angular:#cb171e;--color-ft-cpp:#9c4221;--color-ft-docker:#083fa1;--color-ft-generic-blue:#556ee6;--color-ft-generic-green:#4eaa25;--color-ft-generic-gray:#a0aec0;--color-ft-orange-light:#ffb86c;--color-ft-yellow:#ffd43b;--color-ft-orange-alt:#e34c26;--color-ft-coffeescript:#9c4221;--color-ft-folder-bg:#ffeaa7;--color-ft-folder-tab:#fdcb6e;--color-ft-doc-bg:#e0ecff;--color-ft-doc-text:#3171d8;--color-ft-pdf-bg:#fee2e2;--color-ft-pdf-text:#e53e3e;--color-ft-image-bg:#e0f2fe;--color-ft-image-text:#3b82f6;--color-ft-video-bg-from:#ede9fe;--color-ft-video-bg-to:#fce7f3;--color-ft-video-text:#8b5cf6;--color-ft-audio-bg:#fef3c7;--color-ft-audio-text:#f59e0b;--color-ft-audio-alt-bg:#fff3e0;--color-ft-spreadsheet-bg:#e6f4ea;--color-ft-spreadsheet-text:#0d904f;--color-ft-presentation-bg:#fef3e2;--color-ft-presentation-text:#d04423;--color-ft-archive-bg:#f5f0eb;--color-ft-archive-text:#8d6e63;--color-ft-installer-bg:#f3e8ff;--color-ft-installer-text:#7c3aed;--color-ft-script-bg:#e8f5e9;--color-ft-script-text:#4eaa25;--color-ft-config-bg:#f1f3f5;--color-ft-config-text:#718096;--color-multiselect-bg:#1e293b;--color-multiselect-border:#334155;--color-multiselect-text:#fff;--color-multiselect-text-faint:#ffffffb3;--color-multiselect-hover-bg:#ffffff1a;--color-multiselect-action-text:#fff;--color-multiselect-action-hover:#fff3;--color-multiselect-danger-bg:#ef444440;--color-multiselect-danger-text:#fca5a5;--color-multiselect-danger-active:#ef444466;--color-multiselect-danger-text-active:#fff;--color-notification-bg:#fff;--color-notification-badge:#ff3b30;--color-notification-success:#34c759;--color-notification-error:#ff3b30;--color-lightbox-overlay:#000000eb;--color-lightbox-btn-bg:#ffffff1f;--color-lightbox-btn-text:#fff;--color-lightbox-btn-hover:#ffffff40;--color-lightbox-gradient-top:linear-gradient(to bottom, #0009, transparent);--color-lightbox-gradient-bottom:linear-gradient(to top, #0009, transparent);--color-lightbox-text-faint:#ffffff80;--color-lightbox-text-muted:#ffffffb3;--color-purple-bg:#f3e8ff;--color-purple-border:#7c3aed;--color-purple-text:#7c3aed;--color-purple-bg-gradient:linear-gradient(135deg, #e0e7ff 0%, #ede9fe 50%, #fce7f3 100%);--color-purple-gradient:linear-gradient(135deg, #8b5cf6 0%, #a855f7 100%);--color-purple-shadow:#8b5cf659;--color-purple-border-light:#8b5cf626;--color-oidc-bg:#4f46e5;--color-oidc-shadow:#4f46e54d;--color-oidc-shadow-lg:#4f46e566;--color-device-verify-text:#ffc107;--color-device-verify-shadow:#ffc10780;--color-device-verify-drop-shadow:#ffc10766;--color-device-verify-border:#ffc107;--color-device-verify-muted:#6c757d;--color-device-verify-dim:#ccc;--color-content-muted:#888;--color-content-bg-warn:#ffeaa7;--color-content-bg-warn-dark:#fdcb6e;--color-content-debug-bg:red;--color-content-debug-text:white;--color-user-menu-header-bg:linear-gradient(135deg, #fef5f3 0%, #fdf2f8 100%);--color-user-menu-header-border:#fce7e1;--color-share-link-text:#1565c0;--color-share-link-hover:#1565c0;--color-share-remove-text:#b71c1c;--color-share-owner-text:#757575;--color-trash-surface:#fff;--color-trash-border:#ddd;--color-trash-restore:#4caf50;--color-trash-delete:#f44336;--color-trash-empty-bg:#f0f0f0;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-recent-muted:#6c757d;--color-recent-border:#6c757d;--color-star-text:#fbbf24;--color-star-text-hover:#f59e0b;--color-star-active:#d97706;--color-card-drop-tint:#e67e2214;--color-card-drop-border:#e67e22;--color-neutral-warm-bg:#f5f0eb;--color-neutral-warm-text:#8d6e63;--color-neutral-bg:#f1f3f5;--color-admin-blue:#60a5fa;--color-admin-blue-bg:#3b82f61a;--color-admin-blue-bg-sm:#3b82f626;--color-danger-hover-bg:#ef44441a;--color-success-ring:#48bb781a;--color-success-ring-dark:#48bb7826;--color-success-text-strong:#2f855a;--color-success-ring-vivid:#4ade801a;--color-success-text-vivid:#86efac;--color-success-ring-vivid-lg:#4ade8026;--color-success-icon-vivid:#4ade80;--color-secret-green:#059669;--color-overlay-mid:#0009;--color-overlay-video:#0000008c;--color-progress-overlay:#fffffff2;--color-progress-overlay-dark:#1e293bf2;--color-black:#000;--color-info-border-light:#90cdf4;--color-notification-error-ring:#ff3b301a;--color-accent-second:#ff2d55;--color-warning-ring-xs:#ffc1070d;--color-avatar-gradient:linear-gradient(135deg, #3b82f6, #6366f1);--color-text-navy:#1a1a2e;--color-role-admin-bg:#dbeafe;--color-role-admin-text:#1d4ed8;--color-dark-mid:#475569;--color-role-admin-dark-bg:#1e3a5f;--color-photo-check-border:#fffc;--color-accent-shadow-sm:#ff5e3a40;--color-warning-bg-faint:#fffbeb;--color-storage-fill-green:linear-gradient(90deg, #059669, #10b981);--color-storage-fill-orange:linear-gradient(90deg, #d97706, #f59e0b);--color-storage-fill-red:linear-gradient(90deg, #dc2626, #ef4444);--color-error-text-dark:#991b1b;--color-stat-warn-border:#fbbf24;--color-badge-success-bg:#ecfdf5;--color-badge-success-bg-medium:#d1fae5;--color-badge-success-text:#065f46;--color-badge-success-border:#a7f3d0;--color-badge-success-fill:#047857;--color-badge-success-fill-dark:#064e27;--color-badge-success-fill-faint:#f0fdf4;--color-badge-error-border:#fecaca;--color-badge-warning-text:#92400e;--color-badge-warning-border:#fde68a;--color-badge-indigo-bg:#ede9fe;--color-badge-indigo-text:#6d28d9;--color-badge-blue-bg:#eff6ff;--color-badge-blue-text:#1e40af;--color-badge-blue-border:#bfdbfe;--color-badge-gray:#d1d5db;--color-badge-success-dark-bg:#052e16;--color-badge-success-dark-border:#065f46;--color-badge-error-dark-bg:#3b1111;--color-badge-error-dark-bg-hover:#4a1515;--color-badge-error-dark-text:#fca5a5;--color-badge-warning-dark-bg:#422006;--color-badge-warning-dark-border:#92400e;--color-badge-indigo-dark-bg:#2e1065;--color-badge-indigo-dark-text:#c4b5fd;--color-badge-blue-dark-bg:#0c2d48;--color-badge-blue-dark-text:#93c5fd;--color-dark-footer:#162032;--color-scrollbar-dark:#ffffff26;--color-border-dark-faint:#ffffff08;--color-bg-off-white:#fafbfd;--color-danger-shadow:#dc262633;--color-danger-shadow-lg:#dc26264d}*{box-sizing:border-box;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}body{background-color:var(--color-bg-page);height:100vh;display:flex;overflow:hidden}html[dir=rtl] .fa-arrow-left:before{content:""}html[dir=rtl] .fa-sign-out-alt{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.hidden{display:none!important}.form-group{margin-bottom:15px}.form-group label{color:var(--color-text-secondary);margin-bottom:8px;font-weight:500;display:block}.form-group input,.form-group textarea{border:1px solid var(--color-border);border-radius:6px;width:100%;padding:10px;font-size:14px}.form-group textarea{resize:vertical;min-height:80px}.button{cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:14px;transition:background-color .2s}.primary{background-color:var(--color-accent);color:var(--color-danger-text)}.primary:hover{background-color:var(--color-accent-hover)}.secondary{background-color:var(--color-border);color:var(--color-text-secondary)}.secondary:hover{background-color:var(--color-border-medium)}.danger{background-color:var(--color-danger-bg);color:var(--color-danger-text)}.danger:hover{background-color:var(--color-danger-hover)}.sidebar{background:linear-gradient(180deg, var(--color-sidebar-bg-from) 0%, var(--color-sidebar-bg-to) 100%);width:250px;color:var(--color-sidebar-text-active);height:100%;box-shadow:2px 0 12px var(--color-shadow-md);flex-direction:column;flex-shrink:0;transition:transform .3s;display:flex}.sidebar-overlay{background:var(--color-sidebar-overlay);z-index:998;opacity:0;transition:opacity .3s;display:none;position:fixed;inset:0}.sidebar-overlay.active{opacity:1;display:block}@media (width<=768px){.sidebar{z-index:999;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}[dir=rtl] .sidebar{left:auto;right:0;transform:translate(100%)}[dir=rtl] .sidebar.open{transform:translate(0)}}.logo-container{border-bottom:1px solid var(--color-sidebar-separator);color:inherit;align-items:center;margin-bottom:8px;padding:22px 20px;text-decoration:none;display:flex}.logo{background:var(--color-sidebar-logo-gradient);width:40px;height:40px;box-shadow:0 3px 10px var(--color-sidebar-shadow);border-radius:12px;justify-content:center;align-items:center;margin-right:12px;transition:transform .2s,box-shadow .2s;display:flex;[dir=rtl] &{margin-left:12px;margin-right:unset}}.logo:hover{box-shadow:0 4px 14px var(--color-sidebar-shadow-lg);transform:scale(1.05)}.logo svg{width:22px;height:22px;fill:var(--color-sidebar-text-active)}.app-name{color:var(--color-sidebar-text-active);letter-spacing:.3px;font-size:19px;font-weight:700}.nav-menu{flex-direction:column;flex-grow:1;gap:2px;padding:8px 12px;display:flex}.nav-item{cursor:pointer;color:var(--color-sidebar-text);border-left:3px solid #0000;border-radius:10px;align-items:center;padding:11px 14px;font-size:14.5px;font-weight:500;transition:all .2s;display:flex;position:relative;[dir=rtl] &{border-left:none;border-right:3px solid #0000}}.nav-item:hover{background-color:var(--color-sidebar-hover-bg);color:var(--color-sidebar-text-hover)}.nav-item.active{background-color:var(--color-sidebar-active-bg);color:var(--color-sidebar-text-active);border-left-color:var(--color-accent);font-weight:600;[dir=rtl] &{border-left-color:#0000;border-right-color:var(--color-accent)}}.nav-item i,.nav-item .nav-icon,.nav-item .oxi-icon{text-align:center;flex-shrink:0;width:20px;height:20px;margin-right:14px;font-size:16px;transition:color .2s,transform .2s;[dir=rtl] &{margin-left:14px;margin-right:unset}}.nav-item:first-child i,.nav-item:first-child .oxi-icon{color:var(--color-cal-1)}.nav-item:nth-child(2) i,.nav-item:nth-child(2) .oxi-icon{color:var(--color-cal-2)}.nav-item:nth-child(3) i,.nav-item:nth-child(3) .oxi-icon{color:var(--color-cal-3)}.nav-item:nth-child(4) i,.nav-item:nth-child(4) .oxi-icon{color:var(--color-cal-4)}.nav-item:nth-child(5) i,.nav-item:nth-child(5) .oxi-icon{color:var(--color-cal-5)}.nav-item:nth-child(6) i,.nav-item:nth-child(6) .oxi-icon{color:var(--color-cal-6)}.nav-item.active:first-child i,.nav-item.active:first-child .oxi-icon{color:var(--color-accent)}.nav-item.active:nth-child(2) i,.nav-item.active:nth-child(2) .oxi-icon{color:var(--color-cal-7)}.nav-item.active:nth-child(3) i,.nav-item.active:nth-child(3) .oxi-icon{color:var(--color-cal-8)}.nav-item.active:nth-child(4) i,.nav-item.active:nth-child(4) .oxi-icon{color:var(--color-cal-9)}.nav-item.active:nth-child(5) i,.nav-item.active:nth-child(5) .oxi-icon{color:var(--color-cal-10)}.nav-item.active:nth-child(6) i,.nav-item.active:nth-child(6) .oxi-icon{color:var(--color-cal-11)}.nav-item:hover i,.nav-item:hover .oxi-icon{transform:scale(1.1)}.storage-container{background:var(--color-sidebar-storage-bg);border:1px solid var(--color-sidebar-storage-border);border-radius:12px;margin:auto 12px 16px;padding:16px}.storage-title{color:var(--color-sidebar-storage-text);letter-spacing:.3px;justify-content:center;align-items:center;gap:6px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.storage-bar{background-color:var(--color-sidebar-storage-bar);border-radius:3px;height:6px;margin-bottom:10px;overflow:hidden}.storage-fill{background:var(--color-sidebar-progress);border-radius:3px;width:0%;height:100%;transition:width .8s}.storage-info{text-align:center;color:var(--color-sidebar-storage-faint);font-size:11.5px;font-weight:400}.main-content{flex-direction:column;flex-grow:1;display:flex;overflow:hidden}.top-bar{background-color:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;height:70px;min-height:70px;max-height:70px;padding:0 30px;display:flex}.sidebar-toggle{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:8px;flex-shrink:0;margin-right:12px;padding:10px;transition:background-color .2s,color .2s;display:none}.sidebar-toggle:hover{background-color:var(--color-border);border-color:var(--color-border-medium)}.sidebar-toggle i{font-size:20px}@media (width<=768px){.top-bar{padding:0 16px}.sidebar-toggle{justify-content:center;align-items:center;display:flex}}.search-container{flex-grow:1;align-items:center;max-width:600px;margin-right:20px;display:flex;position:relative;[dir=rtl] &{margin-left:20px;margin-right:unset}}.search-container input{border:2px solid var(--color-border);background-color:var(--color-bg-hover);width:100%;height:46px;color:var(--color-text-heading);border-radius:12px;padding:12px 50px 12px 44px;font-size:14px;transition:all .2s}.search-container input:hover{border-color:var(--color-border-medium);background-color:var(--color-bg-surface)}.search-container input:focus{border-color:var(--color-accent);background-color:var(--color-bg-surface);box-shadow:0 0 0 4px var(--color-accent-ring);outline:none}.search-container input::placeholder{color:var(--color-text-placeholder)}.search-icon{color:var(--color-text-placeholder);pointer-events:none;font-size:16px;transition:color .2s;position:absolute;top:50%;left:16px;transform:translateY(-50%);[dir=rtl] &{right:16px;left:unset}}.search-container input:focus+.search-icon,.search-container:focus-within .search-icon{color:var(--color-accent)}.search-button{background:var(--color-accent-gradient);color:var(--color-danger-text);cursor:pointer;width:36px;height:36px;box-shadow:0 2px 8px var(--color-accent-shadow);border:none;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%);[dir=rtl] &{left:6px;right:unset}}.search-button:hover{box-shadow:0 4px 12px var(--color-accent-shadow-lg);transform:translateY(-50%)scale(1.05)}.search-button:active{transform:translateY(-50%)scale(.98)}.search-button i{font-size:14px}.user-controls{align-items:center;gap:12px;display:flex}.content-area{scrollbar-gutter:stable;flex-grow:1;padding:20px;overflow-y:scroll}.page-title{color:var(--color-text);margin-bottom:20px;font-size:24px;font-weight:700}.page-sticky-header{background-color:var(--color-bg-page);z-index:100;margin:0;padding:10px 0;position:sticky;top:-20px}.actions-bar{justify-content:space-between;height:60px;margin:0 0 12px;padding:10px;display:flex}.action-buttons{gap:12px;display:flex}.empty-state{text-align:center;color:var(--color-content-muted);flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;width:100%;height:300px;padding:40px;display:flex}.drag-preview{pointer-events:none;width:360px;position:absolute;top:-9999px;left:-9999px}.breadcrumb{color:var(--color-text-medium);flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:15px;font-size:14px;display:flex}.breadcrumb-item{border:2px solid #0000;border-radius:4px;padding:2px 4px;transition:background .15s,color .15s}.breadcrumb-link{cursor:pointer;color:var(--color-text-muted)}.breadcrumb-link.drop-target{background-color:var(--color-warning-ring);border:2px dashed var(--color-warning-border)}.breadcrumb-link:hover{color:var(--color-accent);background:var(--color-accent-bg);text-decoration:underline}.breadcrumb-current{color:var(--color-text-black);cursor:default;font-weight:600}.breadcrumb-separator{color:var(--color-text-faint);user-select:none;margin:0 4px;font-size:12px}.breadcrumb-home{border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.breadcrumb-home i{font-size:12px}.breadcrumb-home.breadcrumb-link:hover{background:var(--color-accent-ring)}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.btn i{font-size:15px}.btn-primary{background:var(--color-accent-gradient);color:var(--color-danger-text);box-shadow:0 4px 15px var(--color-accent-shadow)}.btn-primary:hover{box-shadow:0 6px 20px var(--color-accent-shadow-lg);transform:translateY(-2px)}.btn-primary:active{box-shadow:0 2px 10px var(--color-accent-shadow);transform:translateY(0)}.btn-secondary{background-color:var(--color-bg-hover);color:var(--color-text-secondary);border:2px solid var(--color-border)}.btn-secondary:hover{background-color:var(--color-bg-input-alt);border-color:var(--color-border-medium);box-shadow:0 4px 12px var(--color-shadow-sm);transform:translateY(-2px)}.btn-secondary:active{background-color:var(--color-border);transform:translateY(0)}.btn-danger{background:var(--color-danger-gradient);color:var(--color-danger-text);box-shadow:0 4px 15px var(--color-danger-ring)}.btn-danger:hover{box-shadow:0 6px 20px var(--color-danger-ring-lg);transform:translateY(-2px)}.btn-danger:active{box-shadow:0 2px 10px var(--color-danger-ring);transform:translateY(0)}.view-toggle{background-color:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:10px;gap:2px;padding:3px;display:flex}.toggle-btn{cursor:pointer;width:36px;height:32px;color:var(--color-text-faint);background-color:#0000;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:14px;transition:all .2s;display:flex}.toggle-btn:hover{background-color:var(--color-border);color:var(--color-text-subtle)}.toggle-btn.active{background-color:var(--color-bg-surface);color:var(--color-accent);box-shadow:0 1px 3px var(--color-shadow)}.toggle-btn i{pointer-events:none}.folder-icon{background-color:var(--color-ft-folder-bg)}.folder-icon:before{content:"";background-color:var(--color-ft-folder-tab);border-radius:8px 8px 0 0;height:22%;position:absolute;top:0;left:0;right:0}.folder-icon>i,.folder-icon>svg{display:none!important}.pdf-icon{background-color:var(--color-ft-pdf-bg);color:var(--color-ft-pdf-text)}.doc-icon{background-color:var(--color-ft-doc-bg);color:var(--color-ft-doc-text)}.script-icon{background-color:var(--color-ft-script-bg);color:var(--color-ft-script-text)}.config-icon{background-color:var(--color-ft-config-bg);color:var(--color-ft-config-text)}.image-icon{background-color:var(--color-ft-image-bg);color:var(--color-ft-image-text)}.video-icon{background:linear-gradient(135deg, var(--color-ft-video-bg-from), var(--color-ft-video-bg-to));color:var(--color-ft-video-text)}.code-icon{background-color:var(--color-border)}.json-icon{border-top-color:var(--color-ft-orange-light)}.js-icon{border-top-color:var(--color-ft-yellow)}.html-icon{border-top-color:var(--color-ft-html)}.css-icon{border-top-color:var(--color-ft-js)}.py-icon{border-top-color:var(--color-ft-python)}.ts-icon{border-top-color:var(--color-ft-typescript)}.rust-icon{border-top-color:var(--color-ft-rust)}.go-icon{border-top-color:var(--color-ft-go)}.java-icon{border-top-color:var(--color-ft-java)}.c-icon{border-top-color:var(--color-ft-shell)}.cs-icon{border-top-color:var(--color-ft-csharp)}.php-icon{border-top-color:var(--color-ft-php)}.ruby-icon{border-top-color:var(--color-ft-ruby)}.swift-icon{border-top-color:var(--color-ft-swift)}.kotlin-icon{border-top-color:var(--color-ft-kotlin)}.sql-icon{border-top-color:var(--color-ft-scala)}.yaml-icon{border-top-color:var(--color-ft-angular)}.toml-icon{border-top-color:var(--color-ft-cpp)}.md-icon{border-top-color:var(--color-ft-docker)}.spreadsheet-icon{background-color:var(--color-ft-spreadsheet-bg);color:var(--color-ft-spreadsheet-text)}.presentation-icon{background-color:var(--color-ft-presentation-bg);color:var(--color-ft-presentation-text)}.audio-icon{background-color:var(--color-ft-audio-bg);color:var(--color-ft-audio-text)}.archive-icon{background-color:var(--color-ft-archive-bg);color:var(--color-ft-archive-text)}.installer-icon{background-color:var(--color-ft-installer-bg);color:var(--color-ft-installer-text)}.files-container{padding-top:3px}.selection-rect{border:1.5px solid var(--primary-color,var(--color-card-drop-border));background-color:var(--color-card-drop-tint);pointer-events:none;z-index:1000;border-radius:3px;display:none;position:fixed}.file-icon{border-radius:8px;justify-content:center;align-items:center;width:100px;height:70px;display:flex;position:relative;overflow:hidden}.file-icon .file-thumb{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.file-item{background-color:var(--color-bg-surface)}.file-item.selected{background-color:var(--color-item-selected)}.file-item:hover{background-color:var(--color-bg-hover);border-color:var(--color-border-medium)}.file-item.selected:hover{background-color:var(--color-item-hover-accent)}.file-item.dragging{opacity:.8;background-color:var(--color-bg-input)}.file-item.drop-target{background-color:var(--color-warning-ring)}.list-header{grid-template-columns:var(--files-list-columns);color:var(--color-text);background-color:var(--color-bg-subtle);border-bottom:1px solid var(--color-border-faint);align-items:center;column-gap:12px;padding:15px;font-weight:600;display:grid}.list-header.trash-header,.trash-item.file-item{grid-template-columns:minmax(180px,1.5fr) .5fr 1fr 140px 100px}.list-header>div,.files-list-view .file-item>div{min-width:0}.list-header>div:nth-child(4),.files-list-view .file-item .size-cell{text-align:right;justify-self:end}.files-list-view{--files-list-columns:36px minmax(200px, 2fr) 100px 110px 130px 64px;background-color:var(--color-bg-surface);width:100%;box-shadow:0 1px 3px var(--color-shadow-xs);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.files-list-view .file-item{grid-template-columns:var(--files-list-columns);border-bottom:1px solid var(--color-border-xfaint);cursor:pointer;align-items:center;column-gap:12px;padding:12px 15px;display:grid}.files-list-view .file-item.drop-target{border:1px dashed var(--color-warning-border)}.files-list-view .file-item .name-cell{color:var(--color-text);align-items:center;gap:12px;min-width:0;display:flex;overflow:hidden}.files-list-view .file-item .name-cell span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.files-list-view .file-item .file-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:0;font-size:20px;display:flex}.list-header>div:nth-child(5),.files-list-view .file-item .date-cell{text-align:center;justify-self:center}.files-list-view .file-item .date-cell{color:var(--color-text-muted);font-size:14px}.files-list-view .file-item .size-cell{color:var(--color-text-muted);text-align:right;font-variant-numeric:tabular-nums;font-size:14px}.files-list-view .file-item .type-cell{color:var(--color-text-secondary);font-size:14px;font-weight:500}.files-list-view .file-item .action-cell{text-align:right;align-items:center}.files-list-view .file-item .action-cell button{cursor:pointer;width:28px;height:28px;color:var(--color-text-subtle);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:16px;display:inline}.files-list-view .file-item .action-cell button:hover{background:var(--color-border-subtle);color:var(--color-text-dark)}.files-list-view .file-item .action-cell button.favorite-star{border:none;display:none}.files-list-view .file-item:hover .action-cell button.favorite-star{display:inline}.files-grid-view{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;display:grid;position:relative}.files-grid-view .list-header{display:none}.files-grid-view .file-item{border:2px solid var(--color-border);box-shadow:0 1px 3px var(--color-shadow-xs);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;width:100%;min-height:160px;padding:16px;display:flex;position:relative}.files-grid-view .file-item.dragging{opacity:.5;box-shadow:none;transform:scale(.95)}.files-grid-view .file-item:hover{box-shadow:0 5px 15px var(--color-shadow-sm);border-color:var(--color-border-medium);transform:translateY(-2px)}.files-grid-view .file-item.selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent-ring-dark), 0 4px 12px var(--color-accent-ring)}.files-grid-view .file-item.selected:hover{box-shadow:0 0 0 1px var(--color-accent-ring-strong), 0 6px 18px var(--color-accent-ring-dark)}.files-grid-view .file-item .date-cell,.files-grid-view .file-item .size-cell{display:none}.files-grid-view .file-item .checkbox-cell{background:var(--color-bg-surface);opacity:0;z-index:10;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:10px;left:10px}.files-grid-view .file-item:hover .checkbox-cell{opacity:1}.files-grid-view .file-item.selected .checkbox-cell{opacity:1;background:var(--color-accent);border-color:var(--color-accent)}.files-grid-view .file-item.selected .checkbox-cell i{color:var(--color-danger-text);font-size:11px}.files-grid-view .file-item .file-actions{opacity:0;z-index:10;cursor:pointer;width:30px;height:30px;color:var(--color-text-subtle);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;top:8px;right:8px}.files-grid-view .file-item:hover .file-actions{opacity:1}.files-grid-view .file-item .file-actions:hover{background:var(--color-border-light);color:var(--color-text-dark)}.files-grid-view .file-item.drop-target{background-color:var(--color-warning-ring);border:2px dashed var(--color-warning-border)}.files-grid-view .file-item button.favorite-star{opacity:0;z-index:12;cursor:pointer;width:30px;height:30px;color:var(--color-border-medium);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:15px;line-height:1;display:flex;position:absolute;top:8px;right:38px}.files-grid-view .file-item:hover button.favorite-star{opacity:1}.files-grid-view .file-item button.favorite-star:hover{color:var(--color-star-text)}.files-grid-view .file-item button.favorite-star.active{opacity:1;color:var(--color-star-text-hover)}.files-grid-view .file-item button.favorite-star.active:hover{color:var(--color-star-active)}.files-grid-view .file-item .name-cell{text-align:center;color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:8px;margin-bottom:5px;font-size:14px;font-weight:500;overflow:hidden}.files-grid-view .file-item .name-cell span{padding-top:8px;padding-bottom:8px;display:block}.files-grid-view .file-item .name-cell svg.favorite-star-inline{display:none}.files-grid-view .file-item .type-cell{color:var(--color-text-muted);text-align:center;font-size:12px}.files-grid-view .file-item .file-icon{margin:auto auto 10px}.files-grid-view .file-item .file-icon>i,.files-grid-view .file-item .file-icon>svg{justify-content:center;align-items:center;width:60px;height:60px;display:flex;position:absolute;top:5px}.dragged-items{--dragged-files-list-columns:36px minmax(200px, 1fr);background-color:#0000;border-radius:10px;flex-direction:column;width:100%;overflow:hidden}.dragged-items .file-item{grid-template-columns:var(--dragged-files-list-columns);background-color:var(--color-bg-surface);width:360px;height:46px;color:var(--color-text);align-items:center;column-gap:12px;padding:4px;display:flex}.dragged-items .file-item div:nth-child(2){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dragged-items .file-item .file-icon{width:36px;height:36px}.dragged-items div.fading{-webkit-mask-image:linear-gradient(to bottom, var(--color-bg-surface) 10%, transparent);mask-image:linear-gradient(to bottom, var(--color-bg-surface) 10%, transparent)}.dragged-items-badge{background:var(--color-content-debug-bg);color:var(--color-content-debug-text);border-radius:50%;justify-content:center;align-items:center;min-width:20px;height:20px;padding:2px;font-size:12px;font-weight:700;display:flex;position:absolute;top:0;right:0;transform:translate(50%,-50%)}.context-menu{background:var(--color-bg-surface);border:1px solid var(--color-border);box-shadow:0 10px 36px var(--color-shadow-lg), 0 0 0 1px var(--color-shadow-xs);z-index:2000;border-radius:14px;min-width:200px;padding:6px;animation:.15s ease-out contextMenuIn;display:none;position:absolute}@keyframes contextMenuIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{cursor:pointer;color:var(--color-text-dark);border-radius:8px;align-items:center;gap:12px;padding:10px 14px;font-size:14px;transition:background .12s;display:flex}.context-menu-item:hover{background:var(--color-border-light)}.context-menu-item:active{background:var(--color-border)}.context-menu-item i{text-align:center;width:18px;color:var(--color-text-subtle);font-size:14px;[dir=rtl] &{margin-left:0;margin-right:0}}.context-menu-item-danger{color:var(--color-danger-alt)}.context-menu-item-danger:hover{background:var(--color-danger-light-bg)}.context-menu-item-danger i{color:var(--color-danger-alt)}.context-menu-separator{background:var(--color-border-light);height:1px;margin:4px 8px}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}.rename-dialog{background-color:var(--color-overlay-light);z-index:3000;backdrop-filter:blur(2px);justify-content:center;align-items:center;width:100%;height:100%;animation:.2s modalFadeIn;display:none;position:fixed;top:0;left:0}.rename-dialog-content{background-color:var(--color-bg-surface);width:420px;max-width:90%;box-shadow:0 20px 60px var(--color-shadow-2xl);border-radius:16px;animation:.25s modalSlideIn;overflow:hidden}.rename-dialog-header{color:var(--color-text-heading);border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:20px 24px;font-size:17px;font-weight:600;display:flex}.rename-dialog-body{padding:24px}.rename-dialog input{border:2px solid var(--color-border);background:var(--color-bg-hover);width:100%;color:var(--color-text-heading);border-radius:10px;outline:none;padding:12px 16px;font-size:15px;transition:all .15s}.rename-dialog input:focus{border-color:var(--color-accent);background:var(--color-bg-surface);box-shadow:0 0 0 3px var(--color-accent-ring)}.rename-dialog-buttons{background:var(--color-bg-hover);border-top:1px solid var(--color-border);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.rename-dialog-buttons .btn-outline{color:var(--color-text-secondary);border:1px solid var(--color-border-medium);background:0 0}.rename-dialog-buttons .btn-outline:hover{background:var(--color-bg-alt);border-color:var(--color-text-placeholder)}.share-dialog{background-color:var(--color-overlay-light);z-index:3000;backdrop-filter:blur(2px);justify-content:center;align-items:center;width:100%;height:100%;animation:.2s modalFadeIn;display:none;position:fixed;top:0;left:0}.share-dialog-content{background-color:var(--color-bg-surface);width:480px;max-width:90%;box-shadow:0 20px 60px var(--color-shadow-2xl);border-radius:16px;max-height:85vh;animation:.25s modalSlideIn;overflow:hidden auto}.share-dialog-header{color:var(--color-text-heading);border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:20px 24px;font-size:17px;font-weight:600;display:flex}.share-dialog input,.share-dialog textarea{border:2px solid var(--color-border);background:var(--color-bg-hover);width:100%;color:var(--color-text-heading);border-radius:10px;outline:none;padding:10px 14px;font-size:14px;transition:all .15s}.share-dialog input:focus,.share-dialog textarea:focus{border-color:var(--color-accent);background:var(--color-bg-surface);box-shadow:0 0 0 3px var(--color-accent-ring)}.share-dialog-buttons{background:var(--color-bg-hover);border-top:1px solid var(--color-border);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.shared-item-info{background:var(--color-bg-hover);border-bottom:1px solid var(--color-border);padding:12px 24px;font-size:14px}.share-options{padding:20px 24px 0}.share-options h3,#existing-shares-section h3,#new-share-section h3{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:13px;font-weight:600}#existing-shares-section,#new-share-section{padding:0 24px}.share-dialog .form-group{padding:0}.shared-dialog{background-color:var(--color-overlay-light);z-index:3000;backdrop-filter:blur(2px);justify-content:center;align-items:center;width:100%;height:100%;animation:.2s modalFadeIn;display:none;position:fixed;top:0;left:0}.shared-dialog.active{display:flex}.shared-dialog-content{background-color:var(--color-bg-surface);width:480px;max-width:90%;box-shadow:0 20px 60px var(--color-shadow-2xl);border-radius:16px;max-height:85vh;padding:0;animation:.25s modalSlideIn;overflow:hidden auto}.shared-dialog-header{color:var(--color-text-heading);border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:20px 24px;font-size:17px;font-weight:600;display:flex}.shared-dialog-header .close-dialog-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:6px;margin-left:auto;padding:4px 8px;font-size:22px;transition:all .15s}.shared-dialog-header .close-dialog-btn:hover{background:var(--color-bg-empty);color:var(--color-text-heading)}.shared-dialog .share-link-section,.shared-dialog .share-permissions-section,.shared-dialog .share-password-section,.shared-dialog .share-expiration-section,.shared-dialog .notification-form{padding:16px 24px}.shared-dialog .share-link-section label,.shared-dialog .share-permissions-section h4,.shared-dialog .notification-form label{color:var(--color-text);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.shared-dialog .share-link-input{gap:8px;display:flex}.shared-dialog .share-link-input input{border:2px solid var(--color-border);background:var(--color-bg-hover);color:var(--color-text-heading);border-radius:8px;flex:1;padding:8px 12px;font-size:13px}.shared-dialog .share-permissions-section label,.shared-dialog .share-password-section label,.shared-dialog .share-expiration-section label{color:var(--color-text-secondary);align-items:center;gap:8px;margin-bottom:8px;font-size:14px;display:flex}.shared-dialog .password-input-group{gap:8px;margin-top:8px;display:flex}.shared-dialog .password-input-group input{border:2px solid var(--color-border);background:var(--color-bg-hover);border-radius:8px;flex:1;padding:8px 12px;font-size:13px}.shared-dialog .share-expiration-section input[type=date]{border:2px solid var(--color-border);background:var(--color-bg-hover);border-radius:8px;margin-top:8px;padding:8px 12px;font-size:13px}.shared-dialog .share-actions,.shared-dialog .notification-actions{background:var(--color-bg-hover);border-top:1px solid var(--color-border);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.shared-dialog .notification-form input,.shared-dialog .notification-form textarea{border:2px solid var(--color-border);background:var(--color-bg-hover);width:100%;color:var(--color-text-heading);box-sizing:border-box;border-radius:10px;outline:none;padding:10px 14px;font-size:14px;transition:all .15s}.shared-dialog .notification-form input:focus,.shared-dialog .notification-form textarea:focus{border-color:var(--color-accent);background:var(--color-bg-surface);box-shadow:0 0 0 3px var(--color-accent-ring)}.shared-dialog .notification-form .form-group{margin-bottom:15px;padding:0}.move-dialog-breadcrumb{background:var(--color-bg-hover);border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:12px;padding:8px 12px;font-size:13px;display:none;overflow-x:auto}.move-breadcrumb-item{color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;border-radius:4px;padding:2px 6px;transition:all .15s}.move-breadcrumb-item:hover{background:var(--color-border);color:var(--color-text-heading)}.move-breadcrumb-item.current{color:var(--color-accent);cursor:default;font-weight:600}.move-breadcrumb-separator{color:var(--color-text-placeholder);margin:0 2px}.folder-select-item{cursor:pointer;color:var(--color-text-secondary);border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;transition:all .15s;display:flex}.folder-select-item:hover{background-color:var(--color-bg-muted)}.folder-select-item.selected{background-color:var(--color-accent-ring);color:var(--color-accent);font-weight:600}.folder-select-item i{color:var(--color-cal-1);font-size:16px}.folder-select-item.selected i{color:var(--color-accent)}.folder-select-item.folder-select-current{background-color:var(--color-success-ring);color:var(--color-success-text-strong);font-weight:500}.folder-select-item.folder-select-current:hover{background-color:var(--color-success-ring-dark)}.folder-select-item.folder-select-current i{color:var(--color-success-border)}.folder-select-item.folder-navigate-up{color:var(--color-text-muted);font-style:italic}.folder-select-item.folder-navigate-up:hover{color:var(--color-text-secondary)}.folder-select-item.folder-navigate-up i{color:var(--color-text-placeholder)}.folder-select-item.folder-navigate{justify-content:space-between}.folder-select-item.folder-navigate .folder-name{flex:1}.folder-select-item.folder-navigate .folder-navigate-icon{color:var(--color-text-placeholder);opacity:0;font-size:12px;transition:opacity .15s}.folder-select-item.folder-navigate:hover .folder-navigate-icon{opacity:1}.folder-select-empty{color:var(--color-text-placeholder);justify-content:center;align-items:center;gap:8px;padding:24px;font-size:14px;display:flex}.folder-select-empty i{font-size:20px}.playlist-track-count{color:#718096;margin-left:auto;font-size:12px}.confirm-dialog{background-color:var(--color-overlay-light);z-index:4000;backdrop-filter:blur(2px);justify-content:center;align-items:center;width:100%;height:100%;animation:.2s modalFadeIn;display:none;position:fixed;top:0;left:0}.confirm-dialog.active{opacity:1;display:flex}.confirm-dialog-content{background:var(--color-bg-surface);width:400px;max-width:90%;box-shadow:0 20px 60px var(--color-shadow-2xl);text-align:center;border-radius:16px;animation:.25s modalSlideIn;overflow:hidden}.confirm-dialog-icon{padding:28px 24px 12px}.confirm-dialog-icon i{color:var(--color-danger-bg);font-size:40px}.confirm-dialog-title{color:var(--color-text-heading);padding:0 24px 8px;font-size:17px;font-weight:600}.confirm-dialog-message{color:var(--color-text-muted);padding:0 24px 20px;font-size:14px;line-height:1.5}.confirm-dialog-buttons{background:var(--color-bg-hover);border-top:1px solid var(--color-border);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.confirm-dialog-buttons .btn-danger{background:linear-gradient(135deg, var(--color-danger-bg) 0%, var(--color-danger-bg-hover) 100%);color:var(--color-danger-text);cursor:pointer;box-shadow:0 2px 8px var(--color-danger-ring);border:none;border-radius:10px;padding:10px 20px;font-weight:500;transition:all .15s}.confirm-dialog-buttons .btn-danger:hover{box-shadow:0 4px 12px var(--color-danger-ring-lg);transform:translateY(-1px)}.dialog{background-color:var(--color-overlay);z-index:1000;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.dialog.active{display:flex}.dialog-content{background-color:var(--color-bg-surface);box-shadow:0 10px 25px var(--color-shadow);border-radius:10px;width:500px;max-width:90%;max-height:90vh;overflow-y:auto}.dialog-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.dialog-header h3{color:var(--color-text);margin:0;font-size:18px}.close-dialog-btn{cursor:pointer;color:var(--color-text-placeholder);background:0 0;border:none;font-size:24px}.dialog-body{padding:20px}.share-item-info{align-items:center;gap:10px;margin-bottom:20px;display:flex}.share-link-container{gap:10px;display:flex}.share-link-container input{border:1px solid var(--color-border);border-radius:6px;flex-grow:1;padding:10px;font-size:14px}.about-modal-overlay{background:var(--color-overlay);backdrop-filter:blur(4px);z-index:3000;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.about-modal-overlay.show{display:flex}.about-modal{background:var(--color-bg-surface);text-align:center;width:90%;max-width:400px;box-shadow:0 20px 60px var(--color-shadow-xl);border-radius:20px;padding:40px;animation:.25s ease-out userMenuIn}.about-modal-logo{background:var(--color-accent-gradient);width:72px;height:72px;box-shadow:0 8px 24px var(--color-accent-shadow);border-radius:20px;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.about-modal-logo i{color:var(--color-danger-text);font-size:32px}.about-modal h2{color:var(--color-text-heading);margin-bottom:6px;font-size:22px;font-weight:700}.about-modal .about-version{color:var(--color-text-faint);margin-bottom:20px;font-size:13px}.about-modal .about-description{color:var(--color-text-subtle);margin-bottom:24px;font-size:14px;line-height:1.6}.about-modal .about-tech{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:24px;display:flex}.about-modal .about-tech-badge{background:var(--color-bg-hover);border:1px solid var(--color-border);color:var(--color-text-subtle);border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500}.about-modal .about-links{justify-content:center;gap:16px;margin-bottom:24px;display:flex}.about-modal .about-link{color:var(--color-accent);align-items:center;gap:6px;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .2s;display:flex}.about-modal .about-link:hover{opacity:.8}.about-modal .about-close-btn{background:var(--color-accent-gradient);color:var(--color-danger-text);cursor:pointer;box-shadow:0 4px 15px var(--color-accent-shadow);border:none;border-radius:10px;padding:10px 32px;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s}.about-modal .about-close-btn:hover{box-shadow:0 6px 20px var(--color-accent-shadow-lg);transform:translateY(-1px)}.modal-overlay{background-color:var(--color-overlay);z-index:3000;opacity:0;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .2s;display:none;position:fixed;top:0;left:0}.modal-overlay.active{opacity:1;display:flex}.modal-container{background-color:var(--color-bg-surface);width:420px;max-width:90%;box-shadow:0 20px 60px var(--color-shadow-3xl);border-radius:16px;transition:transform .2s;overflow:hidden;transform:scale(.9)translateY(-20px)}.modal-overlay.active .modal-container{transform:scale(1)translateY(0)}.modal-header{border-bottom:1px solid var(--color-border);align-items:center;padding:20px 24px;display:flex;position:relative}.modal-icon{background:var(--color-accent-gradient);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;margin-right:14px;display:flex;[dir=rtl] &{margin-left:14px;margin-right:unset}}.modal-icon i{color:var(--color-danger-text);font-size:20px}.modal-header h3{color:var(--color-text-heading);flex:1;margin:0;font-size:18px;font-weight:600}.modal-close-btn{background:var(--color-bg-muted);cursor:pointer;width:32px;height:32px;color:var(--color-text-subtle);border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:16px;right:16px;[dir=rtl] &{left:16px;right:unset}}.modal-close-btn:hover{background:var(--color-border);color:var(--color-text-heading)}.modal-body{padding:24px}.modal-body label{color:var(--color-text-secondary);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.modal-input{border:2px solid var(--color-border);background:var(--color-bg-hover);width:100%;color:var(--color-text-heading);border-radius:10px;outline:none;padding:12px 16px;font-size:15px;transition:all .15s}.modal-input:focus{border-color:var(--color-accent);background:var(--color-bg-surface);box-shadow:0 0 0 3px var(--color-accent-ring)}.modal-input::placeholder{color:var(--color-text-placeholder)}.modal-footer{background:var(--color-bg-hover);border-top:1px solid var(--color-border);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.modal-footer .btn{cursor:pointer;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .15s}.modal-footer .btn-secondary{background:var(--color-bg-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.modal-footer .btn-secondary:hover{background:var(--color-bg-muted);border-color:var(--color-border-medium)}.modal-footer .btn-primary{background:var(--color-accent-gradient);color:var(--color-danger-text);box-shadow:0 2px 8px var(--color-accent-shadow);border:none}.modal-footer .btn-primary:hover{box-shadow:0 4px 12px var(--color-accent-shadow-lg);transform:translateY(-1px)}.modal-footer .btn-primary:active{transform:translateY(0)}.permission-options{gap:15px;margin-top:5px;display:flex}.permission-option{align-items:center;gap:5px;display:flex}.existing-share-item{background-color:var(--color-bg-subtle);border-radius:4px;margin-bottom:10px;padding:10px}.share-url{text-overflow:ellipsis;white-space:nowrap;color:var(--color-share-link-text);margin-bottom:5px;font-size:12px;overflow:hidden}.share-info{color:var(--color-share-owner-text);gap:15px;margin-bottom:10px;font-size:11px;display:flex}.share-protected{color:var(--color-share-link-text)}.share-expiration{color:var(--color-share-remove-text)}.share-actions{justify-content:flex-end;gap:5px;display:flex}.share-link-actions{gap:10px;margin-top:5px;display:flex}.btn-small{padding:5px 10px;font-size:12px}#notification-message{border:1px solid var(--color-border-ddd);resize:vertical;border-radius:4px;width:100%;padding:10px}.upload-dropdown{display:inline-block;position:relative}.upload-dropdown .btn-primary{align-items:center;gap:6px;display:flex}.upload-dropdown-menu{background:var(--color-bg-surface);min-width:200px;box-shadow:0 8px 30px var(--color-shadow-md);border:1px solid var(--color-border);z-index:1000;border-radius:12px;animation:.15s ease-out dropdownFadeIn;display:none;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden}.upload-dropdown-menu.show{display:block}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.upload-dropdown-item{width:100%;color:var(--color-text-dark);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:12px 16px;font-size:14px;transition:background .15s;display:flex}.upload-dropdown-item:hover{background:var(--color-border-light)}.upload-dropdown-item:active{background:var(--color-border)}.upload-dropdown-item i{text-align:center;width:20px;color:var(--color-text-subtle);font-size:15px}.upload-dropdown-item:first-child{border-bottom:1px solid var(--color-border-light)}.upload-caret{margin-left:4px;font-size:12px}.notification{background-color:var(--color-notification-bg);width:250px;box-shadow:0 5px 15px var(--color-shadow);border-left:4px solid var(--color-accent);z-index:1000;border-radius:8px;padding:15px;display:none;position:absolute;top:70px;right:20px;[dir=rtl] &{border-right:4px solid var(--color-accent);left:20px;right:unset;border-left:unset}}.notification-title{color:var(--color-text);margin-bottom:5px;font-size:14px;font-weight:700}.notification-message{color:var(--color-text-muted);font-size:12px}.notification-banner{background-color:var(--color-notification-bg);box-shadow:0 4px 12px var(--color-shadow);z-index:2000;opacity:0;border-radius:8px;justify-content:space-between;align-items:center;max-width:400px;padding:15px 20px;transition:transform .3s,opacity .3s;display:flex;position:fixed;top:20px;right:20px;transform:translateY(-100px)}.notification-banner.active{opacity:1;transform:translateY(0)}.notification-banner.success{border-left:4px solid var(--color-success-border)}.notification-banner.error{border-left:4px solid var(--color-danger-bg)}.close-notification-btn{cursor:pointer;color:var(--color-text-placeholder);background:0 0;border:none;margin-left:10px;font-size:18px}.notif-wrapper{position:relative}.notif-bell-btn{cursor:pointer;color:var(--color-text-subtle);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;transition:all .2s;display:flex;position:relative}.notif-bell-btn:hover{background:var(--color-accent-bg-sm);color:var(--color-accent)}.notif-bell-btn.active{color:var(--color-accent);background:var(--color-accent-ring)}.notif-badge{background:var(--color-notification-badge);min-width:16px;height:16px;color:var(--color-notification-bg);text-align:center;pointer-events:none;border-radius:8px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:4px;right:4px}@keyframes bellRing{0%,to{transform:rotate(0)}13%{transform:rotate(22deg)}26%{transform:rotate(-22deg)}39%{transform:rotate(14deg)}52%{transform:rotate(-14deg)}65%{transform:rotate(8deg)}78%{transform:rotate(-8deg)}91%{transform:rotate(3deg)}}.notif-bell-btn.ring{animation:1s bellRing}.notif-panel{background:var(--color-notification-bg);width:380px;max-height:480px;box-shadow:0 12px 40px var(--color-shadow-md), 0 0 0 1px var(--color-shadow-xs);z-index:2000;border-radius:16px;animation:.2s ease-out notifPanelIn;display:none;position:absolute;top:calc(100% + 10px);right:-40px;overflow:hidden}.notif-wrapper.open .notif-panel{flex-direction:column;display:flex}@keyframes notifPanelIn{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.notif-panel-header{border-bottom:1px solid var(--color-border-xfaint);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.notif-panel-title{color:var(--color-text-heading);font-size:15px;font-weight:600}.notif-clear-btn{cursor:pointer;color:var(--color-text-faint);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:14px;transition:all .15s}.notif-clear-btn:hover{color:var(--color-accent);background:var(--color-accent-bg-sm)}.notif-panel-body{flex:1;max-height:400px;overflow-y:auto}.notif-empty{color:var(--color-text-faint);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 20px;display:flex}.notif-empty i{opacity:.5;font-size:28px}.notif-empty span{font-size:14px}.notif-item{border-bottom:1px solid var(--color-bg-subtle);cursor:default;align-items:flex-start;gap:12px;padding:12px 16px;transition:background .15s;display:flex}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--color-bg-hover)}.notif-item-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.notif-item-icon.upload{background:var(--color-accent-ring);color:var(--color-accent)}.notif-item-icon.success{background:var(--color-success-ring);color:var(--color-notification-success)}.notif-item-icon.error{background:var(--color-notification-error-ring);color:var(--color-notification-error)}.notif-item-body{flex:1;min-width:0}.notif-item-title{color:var(--color-text-heading);margin-bottom:2px;font-size:13px;font-weight:600}.notif-item-text{color:var(--color-text-subtle);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.notif-item-time{color:var(--color-text-faint);margin-top:3px;font-size:11px}.notif-upload-progress{margin-top:6px}.notif-upload-bar{background:var(--color-bg-empty);border-radius:2px;height:3px;overflow:hidden}.notif-upload-fill{background:var(--color-accent);border-radius:2px;width:0%;height:100%;transition:width .2s}.notif-upload-fill.done{background:var(--color-notification-success)}.notif-upload-fill.error{background:var(--color-notification-error)}.notif-upload-detail{justify-content:space-between;align-items:center;margin-top:3px;display:flex}.notif-upload-pct,.notif-upload-stats{color:var(--color-text-faint);font-size:11px}.upload-toast{background:var(--color-notification-bg);width:360px;max-height:400px;box-shadow:0 8px 30px var(--color-shadow-md);z-index:10000;border-radius:12px;flex-direction:column;font-family:inherit;animation:.3s ease-out uploadToastSlideIn;display:none;position:fixed;bottom:24px;right:24px;overflow:hidden}.upload-toast.visible{display:flex}@keyframes uploadToastSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.upload-toast-header{background:var(--color-accent);color:var(--color-danger-text);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.upload-toast-title{font-size:14px;font-weight:600}.upload-toast-close{color:var(--color-danger-text);cursor:pointer;opacity:.8;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.upload-toast-close:hover{opacity:1}.upload-toast-body{flex:1;max-height:260px;padding:8px 0;overflow-y:auto}.upload-toast-file{align-items:center;gap:10px;padding:6px 16px;display:flex}.upload-toast-file-icon{color:var(--color-text-light);text-align:center;flex-shrink:0;width:20px;font-size:16px}.upload-toast-file-icon.done{color:var(--color-notification-success)}.upload-toast-file-icon.error{color:var(--color-notification-error)}.upload-toast-file-info{flex:1;min-width:0}.upload-toast-file-name{color:var(--color-text-black);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.upload-toast-file-bar{background:var(--color-bg-empty);border-radius:2px;height:3px;margin-top:4px;overflow:hidden}.upload-toast-file-fill{background:var(--color-accent);border-radius:2px;width:0%;height:100%;transition:width .2s}.upload-toast-file-fill.done{background:var(--color-notification-success)}.upload-toast-file-fill.error{background:var(--color-notification-error)}.upload-toast-file-pct{color:var(--color-text-light);text-align:right;flex-shrink:0;width:38px;font-size:12px}.upload-toast-footer{border-top:1px solid var(--color-border-xfaint);padding:10px 16px}.upload-toast-overall-bar{background:var(--color-bg-empty);border-radius:2px;height:4px;margin-bottom:6px;overflow:hidden}.upload-toast-overall-fill{background:var(--color-accent);border-radius:2px;width:0%;height:100%;transition:width .25s}.upload-toast-stats{color:var(--color-text-faint2);font-size:12px}.user-menu-wrapper{position:relative}.user-avatar-btn{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:2px;transition:all .25s;display:flex}.user-avatar-btn:hover{border-color:var(--color-accent-ring-xl);transform:scale(1.05)}.user-avatar-btn:hover .user-avatar{box-shadow:0 0 0 2px var(--color-accent-ring-strong)}.user-menu-wrapper.open .user-avatar-btn{border-color:var(--color-accent)}.user-avatar{background:var(--color-accent-gradient);width:38px;height:38px;color:var(--color-danger-text);letter-spacing:.5px;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.user-menu{background:var(--color-bg-surface);width:300px;box-shadow:0 12px 40px var(--color-shadow-md), 0 0 0 1px var(--color-shadow-xs);z-index:2000;border-radius:16px;animation:.2s ease-out userMenuIn;display:none;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.user-menu-wrapper.open .user-menu{display:block}@keyframes userMenuIn{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.user-menu-header{background:var(--color-user-menu-header-bg);border-bottom:1px solid var(--color-user-menu-header-border);align-items:center;gap:14px;padding:20px 20px 16px;display:flex}.user-menu-avatar{background:var(--color-accent-gradient);width:48px;min-width:48px;height:48px;color:var(--color-danger-text);letter-spacing:.5px;box-shadow:0 4px 12px var(--color-accent-shadow);border-radius:50%;justify-content:center;align-items:center;font-size:17px;font-weight:700;display:flex}.user-menu-info{overflow:hidden}.user-menu-name{color:var(--color-text-heading);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.user-menu-email{color:var(--color-text-faint);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12.5px;overflow:hidden}.user-menu-storage{padding:14px 20px}.user-menu-storage-label{color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.user-menu-storage-label i{color:var(--color-text-faint);font-size:11px}.user-menu-storage-bar{background:var(--color-border-light);border-radius:3px;height:6px;margin-bottom:6px;overflow:hidden}.user-menu-storage-fill{background:linear-gradient(90deg, var(--color-accent), var(--color-accent-second));border-radius:3px;width:0%;height:100%;transition:width .5s}.user-menu-storage-text{color:var(--color-text-faint);font-size:11.5px}.user-menu-divider{background:var(--color-border-light);height:1px;margin:4px 0}.user-menu-item{width:100%;color:var(--color-text-dark);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:12px 20px;font-size:14px;transition:background .15s;display:flex}.user-menu-item:hover{background:var(--color-bg-hover)}.user-menu-item i{text-align:center;width:20px;color:var(--color-text-subtle);font-size:15px}.user-menu-item .theme-toggle-pill{background:var(--color-border);border-radius:11px;width:40px;height:22px;margin-left:auto;transition:background .3s;position:relative}.user-menu-item .theme-toggle-pill.active{background:var(--color-accent)}.user-menu-item .theme-toggle-knob{background:var(--color-danger-text);width:18px;height:18px;box-shadow:0 1px 4px var(--color-shadow-md);border-radius:50%;transition:transform .3s;position:absolute;top:2px;left:2px}.user-menu-item .theme-toggle-pill.active .theme-toggle-knob{transform:translate(18px)}.user-menu-admin{color:var(--color-primary-hover)}.user-menu-admin i{color:var(--color-info-blue)}.user-menu-admin:hover{background:var(--color-info-bg-alt)}.user-menu-role-badge{padding:0 20px 4px}.role-badge{border-radius:10px;align-items:center;gap:4px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.role-badge-admin{background:var(--color-info-surface);color:var(--color-primary-hover)}.role-badge i{font-size:10px}.user-menu-logout{color:var(--color-danger-alt);margin-bottom:4px}.user-menu-logout i{color:var(--color-danger-alt)}.user-menu-logout:hover{background:var(--color-danger-lighter)}.language-selector{margin-right:15px;position:relative}.language-selector-toggle{background-color:var(--color-bg-muted);border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-secondary);user-select:none;border-radius:50px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.language-selector-toggle:hover{background-color:var(--color-border);border-color:var(--color-border-medium)}.language-selector-toggle i{color:var(--color-text-muted);font-size:14px}.language-selector-toggle .lang-code{color:var(--color-text);font-weight:600}.language-selector-toggle .dropdown-arrow{color:var(--color-text-muted);margin-left:2px;font-size:10px;transition:transform .2s}.language-selector.open .dropdown-arrow{transform:rotate(180deg)}.language-selector-dropdown{background-color:var(--color-bg-surface);min-width:160px;max-height:420px;box-shadow:0 4px 20px var(--color-shadow-lg);border:1px solid var(--color-border);opacity:0;visibility:hidden;z-index:1000;border-radius:12px;transition:all .2s;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;transform:translateY(-10px)}.language-selector-dropdown::-webkit-scrollbar{width:6px}.language-selector-dropdown::-webkit-scrollbar-track{background:0 0;margin:8px 0}.language-selector-dropdown::-webkit-scrollbar-thumb{background-color:var(--color-border-medium);border-radius:3px}.language-selector-dropdown::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-placeholder)}.language-selector.open .language-selector-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.language-option{cursor:pointer;color:var(--color-text-secondary);align-items:center;gap:10px;padding:12px 16px;font-size:14px;transition:background-color .15s;display:flex}.language-option:hover{background-color:var(--color-bg-alt)}.language-option.active{background-color:var(--color-accent-bg-sm);color:var(--color-accent)}.language-option .lang-flag{font-size:18px;line-height:1}.language-option .lang-name{flex:1}.language-option .lang-check{color:var(--color-accent);opacity:0;font-size:12px}.language-option.active .lang-check{opacity:1}.list-header-checkbox,.file-item .checkbox-cell{justify-content:center;align-items:center;display:flex}.list-header-checkbox input[type=checkbox],.file-item .checkbox-cell input[type=checkbox]{cursor:pointer;width:17px;height:17px;accent-color:var(--color-accent);border-radius:4px}.list-header.selection-mode{background-color:var(--color-multiselect-bg);color:var(--color-multiselect-text);border-bottom-color:var(--color-multiselect-border);grid-template-columns:36px 1fr}.list-header.selection-mode .list-header-checkbox input[type=checkbox]{accent-color:var(--color-accent)}.batch-selection-info{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.batch-selection-bar{background:var(--color-multiselect-bg);color:var(--color-multiselect-text);pointer-events:auto;border-radius:12px;justify-content:space-between;align-items:center;height:60px;margin:0 0 12px;padding:10px 20px;transition:opacity .2s,max-height .25s,transform .2s,margin .2s,padding .2s;display:flex;overflow:hidden;transform:translateY(-8px)}.batch-bar-left{align-items:center;gap:12px;display:flex}.batch-bar-close{color:var(--color-multiselect-text-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:14px;transition:background .15s,color .15s}.batch-bar-close:hover{background:var(--color-multiselect-hover-bg);color:var(--color-multiselect-text)}.batch-bar-count{white-space:nowrap;font-size:14px;font-weight:600}.batch-bar-actions{align-items:center;gap:6px;display:flex}.batch-btn{background:var(--color-multiselect-hover-bg);color:var(--color-multiselect-action-text);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .15s;display:inline-flex}.batch-btn:hover{background:var(--color-multiselect-action-hover)}.batch-btn-danger{background:var(--color-multiselect-danger-bg);color:var(--color-multiselect-danger-text)}.batch-btn-danger:hover{background:var(--color-multiselect-danger-active);color:var(--color-multiselect-danger-text-active)}@media (width<=640px){.batch-btn span{display:none}.batch-btn{padding:7px 10px}}.files-loading-spinner{flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:16px;padding:80px 20px;display:flex}.files-loading-spinner .spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.files-loading-spinner span{color:var(--color-text-placeholder);font-size:14px;font-weight:500}.dropzone{border:2px dashed var(--color-border-ddd);text-align:center;color:var(--color-text-medium);border-radius:8px;margin:20px 0;padding:20px;display:none}.dropzone-icon{margin-bottom:10px;font-size:32px}.dropzone.active{border-color:var(--color-accent);background-color:var(--color-accent-ring-xs)}.upload-progress{width:100%;margin-top:15px;display:none}.progress-bar{background-color:var(--color-bg-empty);border-radius:3px;height:6px;overflow:hidden}.progress-fill{background-color:var(--color-accent);width:0%;height:100%;transition:width .3s}.search-results-header{border-bottom:1px solid var(--color-bg-empty);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-bottom:15px;padding:10px 0;display:flex}.search-results-header h3{color:var(--color-text-dim);margin:0;font-size:16px}.search-results-header .search-time{color:var(--color-text-light);font-size:12px;font-weight:400}.search-controls{align-items:center;gap:8px;display:flex}.search-sort-select{border:1px solid var(--color-border-ddd);background:var(--color-bg-surface);color:var(--color-text-black);cursor:pointer;border-radius:4px;outline:none;padding:4px 8px;font-size:13px}.search-sort-select:focus{border-color:var(--primary-color,var(--color-accent))}.oxi-icon{vertical-align:-.125em;fill:currentColor;flex-shrink:0;width:1em;height:1em;display:inline-block;overflow:hidden}.oxi-icon-spin{animation:1s linear infinite oxi-spin}@keyframes oxi-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state-icon{color:var(--color-border-ddd);margin-bottom:16px;font-size:48px}.empty-state-icon.error{color:var(--color-trash-delete)}.empty-state-icon.spinner{color:var(--color-text-medium)}.dialog-header-icon{color:var(--color-accent)}.icon-mr{margin-right:5px}.icon-ml{margin-left:4px;font-size:12px}.check-icon{color:var(--color-success-border)}.move-dialog-hint{color:var(--color-text-muted);margin:0 0 12px;font-size:14px}.folder-select-container{max-height:220px;overflow-y:auto}.share-section{margin:15px 0}.search-spinner{margin-right:8px}.search-empty-text{color:var(--text-secondary,var(--color-text-subtle))}.notif-upload-current{color:var(--color-text-subtle);white-space:nowrap;text-overflow:ellipsis;margin:3px 0;font-size:11px;overflow:hidden}.auth-hint{color:var(--text-secondary,var(--color-text-medium));margin-top:4px;display:block}.about-modal-body{max-width:380px}.about-modal-header{text-align:center;padding:20px 20px 0}.about-modal-avatar{background:var(--color-avatar-gradient);width:64px;height:64px;color:var(--color-danger-text);border-radius:50%;justify-content:center;align-items:center;margin-bottom:12px;font-size:24px;font-weight:700;display:inline-flex}.about-modal-username{color:var(--color-text-navy);margin:0;font-size:18px}.about-modal-email{color:var(--color-text-subtle);margin:4px 0 0;font-size:13px}.about-modal-role{border-radius:10px;margin-top:8px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.about-modal-role-admin{background:var(--color-role-admin-bg);color:var(--color-role-admin-text)}.about-modal-role-user{background:var(--color-border-light);color:var(--color-text-subtle)}.about-modal-storage{padding:16px 20px}.about-modal-storage-label{color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:12px}.about-modal-storage-label i{margin-right:4px}.about-modal-bar-bg{background:var(--color-border-light);border-radius:6px;height:8px;margin-bottom:4px;overflow:hidden}.about-modal-bar-fill{border-radius:6px;height:100%;transition:width .3s}.about-modal-bar-text{color:var(--color-text-subtle);text-align:right;font-size:12px}.about-modal-footer{justify-content:center;padding:0 20px 16px;display:flex}.about-modal-close-btn{border:1px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-dark);cursor:pointer;border-radius:8px;padding:8px 24px;font-size:13px;font-weight:600;transition:background .15s}[data-theme=dark]{--color-bg-page:#0f172a;--color-bg-surface:#1e293b;--color-bg-input:#0f172a;--color-bg-hover:#162032;--color-bg-muted:#1a2540;--color-bg-subtle:#162032;--color-bg-alt:#0f172a;--color-bg-input-alt:#253045;--color-bg-empty:#253045;--color-border:#334155;--color-border-light:#334155;--color-border-medium:#475569;--color-border-faint:#2a3650;--color-border-subtle:#2a3650;--color-border-xfaint:#1e293b;--color-border-ddd:#334155;--color-text:#e2e8f0;--color-text-heading:#f1f5f9;--color-text-muted:#94a3b8;--color-text-faint:#64748b;--color-text-secondary:#cbd5e1;--color-text-subtle:#94a3b8;--color-text-dark:#cbd5e1;--color-text-placeholder:#64748b;--color-text-gray:#94a3b8;--color-text-medium:#94a3b8;--color-text-faint2:#64748b;--color-text-light:#64748b;--color-text-black:#e2e8f0;--color-text-dim:#94a3b8;--color-accent:#ff5e3a;--color-accent-hover:#ff7a5c;--color-accent-gradient:linear-gradient(135deg, #ff5e3a 0%, #ff2d55 100%);--color-accent-shadow:#ff5e3a4d;--color-accent-ring:#ff5e3a26;--color-accent-tint:#2a1a15;--color-error-bg:#3b1111;--color-error-text:#fca5a5;--color-success-bg:#052e16;--color-success-text:#86efac;--color-shadow:#0000004d;--color-shadow-lg:#0000004d;--color-warning-bg:#3d2e00;--color-warning-bg-dark:#5a4200;--color-notification-bg:#1e293b;--color-trash-surface:#1e293b;--color-trash-border:#334155;--color-trash-empty-bg:#334155;--color-user-menu-header-bg:linear-gradient(135deg, #2a1a15 0%, #1e1525 100%);--color-user-menu-header-border:#3a2520;--color-info-bg:#0c1e35;--color-info-bg-alt:#0c1e35;--color-info-surface:#0c1e35;--color-danger-light-bg:#2a0c0c;--color-danger-lighter:#2a0c0c;--color-purple-bg:#1a0a33;--color-success-bg-alt:#0a2015;--color-success-bg-green:#0a2015;--color-content-bg-warn:#3d2e00;--color-content-bg-warn-dark:#5a4200;--color-sidebar-bg-from:#0f172a;--color-sidebar-bg-to:#0c1322;--color-item-selected:#1a1520;--color-item-hover-accent:#1f1926}[data-theme=dark] ::-webkit-scrollbar-thumb{background-color:#ffffff26}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background-color:#ffffff40}[data-theme=dark] select{color:#e2e8f0;background-color:#1e293b;border-color:#334155}[data-theme=dark] select:hover{border-color:#475569}[data-theme=dark] select:focus{background-color:#1e293b;border-color:#ff5e3a}[data-theme=dark] .breadcrumb,[data-theme=dark] .breadcrumb-link{color:#94a3b8}[data-theme=dark] .breadcrumb-link:hover{color:#ff5e3a;background:#ff5e3a1a}[data-theme=dark] .breadcrumb-current{color:#e2e8f0}[data-theme=dark] .breadcrumb-separator{color:#64748b}[data-theme=dark] .breadcrumb-home{color:#94a3b8}[data-theme=dark] .breadcrumb-home.breadcrumb-link:hover{color:#ff5e3a;background:#ff5e3a26}[data-theme=dark] .btn-secondary{color:#cbd5e1;background-color:#1e293b;border-color:#334155}[data-theme=dark] .btn-secondary:hover{background-color:#334155;border-color:#475569}[data-theme=dark] .btn-secondary:active{background-color:#475569}[data-theme=dark] .view-toggle{background-color:#1e293b;border-color:#334155}[data-theme=dark] .toggle-btn{color:#94a3b8}[data-theme=dark] .toggle-btn:hover{background-color:#334155}[data-theme=dark] .toggle-btn.active{color:#ff5e3a;background-color:#334155}[data-theme=dark] .context-menu{background:#1e293b;border-color:#334155;box-shadow:0 8px 24px #00000080}[data-theme=dark] .context-menu-item{color:#cbd5e1}[data-theme=dark] .context-menu-item:hover{background:#334155}[data-theme=dark] .context-menu-item:active{background:#475569}[data-theme=dark] .context-menu-item i{color:#94a3b8}[data-theme=dark] .context-menu-item-danger:hover{background:#ef44441a}[data-theme=dark] .context-menu-separator{background:#334155}[data-theme=dark] .search-results-header h3{color:#f1f5f9}[data-theme=dark] .search-results-header{color:#f1f5f9;border-bottom-color:#334155}[data-theme=dark] .search-results-header .search-time{color:#64748b}[data-theme=dark] .search-results-header .btn-secondary{color:#e2e8f0;background:#1e293b;border-color:#334155}[data-theme=dark] .search-results-header .btn-secondary:hover{background:#334155}[data-theme=dark] .search-sort-select{color:#e2e8f0;background:#1e293b;border-color:#334155}[data-theme=dark] .search-sort-select:focus{border-color:#ff5e3a}[data-theme=dark] .empty-state-icon{color:var(--color-dark-mid)}[data-theme=dark] .empty-state-icon.error{color:var(--color-danger-alt)}[data-theme=dark] .about-modal-username{color:var(--color-text-heading)}[data-theme=dark] .about-modal-email{color:var(--color-text-faint)}[data-theme=dark] .about-modal-role-admin{background:var(--color-role-admin-dark-bg);color:var(--color-admin-blue)}[data-theme=dark] .about-modal-role-user{background:var(--color-border);color:var(--color-text-faint)}[data-theme=dark] .about-modal-storage-label{color:var(--color-text-faint)}[data-theme=dark] .about-modal-bar-bg{background:var(--color-border)}[data-theme=dark] .about-modal-bar-text{color:var(--color-text-faint)}[data-theme=dark] .about-modal-close-btn{background:var(--color-bg-surface);border-color:var(--color-border);color:var(--color-text-dark)}[data-theme=dark] .move-dialog-hint,[data-theme=dark] .search-empty-text{color:var(--color-text-faint)}[data-theme=dark] .rename-dialog-content{background-color:var(--color-bg-surface);box-shadow:0 8px 32px var(--color-shadow-5xl)}[data-theme=dark] .rename-dialog-header{color:var(--color-text-heading);border-bottom-color:var(--color-border)}[data-theme=dark] .rename-dialog input{background:var(--color-bg-input);color:var(--color-text);border-color:var(--color-border)}[data-theme=dark] .rename-dialog input:focus{border-color:var(--color-accent);background:var(--color-bg-input)}[data-theme=dark] .rename-dialog-buttons{background:var(--color-bg-hover);border-top-color:var(--color-border)}[data-theme=dark] .rename-dialog-buttons .btn-outline{color:var(--color-text-faint);border-color:var(--color-border-medium);background:0 0}[data-theme=dark] .rename-dialog-buttons .btn-outline:hover{background:var(--color-border);border-color:var(--color-text-subtle)}[data-theme=dark] .shared-dialog-content{background-color:var(--color-bg-surface)}[data-theme=dark] .shared-dialog-header{color:var(--color-text);border-bottom-color:var(--color-border)}[data-theme=dark] .shared-dialog-header .close-dialog-btn{color:var(--color-text-faint)}[data-theme=dark] .shared-dialog-header .close-dialog-btn:hover{background:var(--color-border);color:var(--color-text)}[data-theme=dark] .shared-dialog .share-link-input input,[data-theme=dark] .shared-dialog .password-input-group input,[data-theme=dark] .shared-dialog .share-expiration-section input,[data-theme=dark] .shared-dialog .notification-form input,[data-theme=dark] .shared-dialog .notification-form textarea{background:var(--color-bg-input);border-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .shared-dialog .share-link-input input:focus,[data-theme=dark] .shared-dialog .notification-form input:focus,[data-theme=dark] .shared-dialog .notification-form textarea:focus{border-color:var(--color-accent);background:var(--color-bg-surface)}[data-theme=dark] .shared-dialog .share-link-section label,[data-theme=dark] .shared-dialog .share-permissions-section h4,[data-theme=dark] .shared-dialog .notification-form label{color:var(--color-text)}[data-theme=dark] .shared-dialog .share-permissions-section label,[data-theme=dark] .shared-dialog .share-password-section label,[data-theme=dark] .shared-dialog .share-expiration-section label{color:var(--color-text-faint)}[data-theme=dark] .shared-dialog .share-actions,[data-theme=dark] .shared-dialog .notification-actions{background:var(--color-bg-hover);border-top-color:var(--color-border)}[data-theme=dark] .confirm-dialog-content{background-color:var(--color-bg-surface);box-shadow:0 8px 32px var(--color-shadow-5xl)}[data-theme=dark] .confirm-dialog-header{color:var(--color-text-heading)}[data-theme=dark] .confirm-dialog-message{color:var(--color-text-faint)}[data-theme=dark] .confirm-dialog-buttons{background:var(--color-bg-hover);border-top-color:var(--color-border)}[data-theme=dark] .move-dialog-content{background-color:var(--color-bg-surface)}[data-theme=dark] .move-dialog-header{color:var(--color-text-heading);border-bottom-color:var(--color-border)}[data-theme=dark] .move-dialog .folder-tree{background:var(--color-bg-input);border-color:var(--color-border)}[data-theme=dark] .move-dialog .folder-tree-item{color:var(--color-text-dark)}[data-theme=dark] .move-dialog .folder-tree-item:hover{background:var(--color-border)}[data-theme=dark] .move-dialog .folder-tree-item.selected{background:var(--color-accent-ring);color:var(--color-accent)}[data-theme=dark] .move-dialog-buttons{background:var(--color-bg-hover);border-top-color:var(--color-border)}[data-theme=dark] .share-dialog-content{background-color:var(--color-bg-surface)}[data-theme=dark] .share-dialog-header{color:var(--color-text-heading);border-bottom-color:var(--color-border)}[data-theme=dark] .share-dialog-body label{color:var(--color-text-faint)}[data-theme=dark] .share-dialog-body input{background:var(--color-bg-input);border-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .share-dialog-body input:focus{border-color:var(--color-accent);background:var(--color-bg-input)}[data-theme=dark] .share-link-container{background:var(--color-bg-input);border-color:var(--color-border)}[data-theme=dark] .share-link-container input{color:var(--color-text)}[data-theme=dark] .share-dialog-buttons{background:var(--color-bg-hover);border-top-color:var(--color-border)}[data-theme=dark] .dialog{background-color:var(--color-overlay-mid)}[data-theme=dark] .dialog-content{background-color:var(--color-bg-surface);color:var(--color-text)}[data-theme=dark] .dialog-header{border-bottom-color:var(--color-border)}[data-theme=dark] .dialog-header h3{color:var(--color-text-heading)}[data-theme=dark] .dialog-body label{color:var(--color-text-faint)}[data-theme=dark] .dialog-body input,[data-theme=dark] .dialog-body textarea{background-color:var(--color-bg-input);border-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .dialog-body input:focus,[data-theme=dark] .dialog-body textarea:focus{border-color:var(--color-accent)}[data-theme=dark] .close-dialog-btn{color:var(--color-text-faint)}[data-theme=dark] .close-dialog-btn:hover{color:var(--color-text-heading)}[data-theme=dark] .share-setting label{color:var(--color-text-faint)}[data-theme=dark] .permissions-options label span,[data-theme=dark] .share-item-info{color:var(--color-text)}[data-theme=dark] .move-dialog-breadcrumb{background:var(--color-bg-input)}[data-theme=dark] .move-breadcrumb-item{color:var(--color-text-faint)}[data-theme=dark] .move-breadcrumb-item:hover{background:var(--color-border);color:var(--color-text)}[data-theme=dark] .move-breadcrumb-item.current{color:var(--color-accent)}[data-theme=dark] .move-breadcrumb-separator{color:var(--color-border-medium)}[data-theme=dark] .folder-select-item{color:var(--color-text-dark)}[data-theme=dark] .folder-select-item:hover{background-color:var(--color-border)}[data-theme=dark] .folder-select-item.selected{background-color:var(--color-accent-ring-dark);color:var(--color-accent)}[data-theme=dark] .folder-select-item i{color:var(--color-star-text)}[data-theme=dark] .folder-select-item.selected i{color:var(--color-accent)}[data-theme=dark] .folder-select-item.folder-select-current{background-color:var(--color-success-ring-vivid);color:var(--color-success-text-vivid)}[data-theme=dark] .folder-select-item.folder-select-current:hover{background-color:var(--color-success-ring-vivid-lg)}[data-theme=dark] .folder-select-item.folder-select-current i{color:var(--color-success-icon-vivid)}[data-theme=dark] .folder-select-item.folder-navigate-up{color:var(--color-text-subtle)}[data-theme=dark] .folder-select-item.folder-navigate-up:hover{color:var(--color-text-faint)}[data-theme=dark] .folder-select-item.folder-navigate-up i,[data-theme=dark] .folder-select-item.folder-navigate .folder-navigate-icon,[data-theme=dark] .folder-select-empty{color:var(--color-border-medium)}[data-theme=dark] .language-selector-toggle{background-color:var(--color-bg-surface);border-color:var(--color-border);color:var(--color-text-heading)}[data-theme=dark] .language-selector-toggle:hover{background-color:var(--color-border)}[data-theme=dark] .language-selector-dropdown{background-color:var(--color-bg-surface);border-color:var(--color-border);box-shadow:0 8px 30px var(--color-overlay)}[data-theme=dark] .language-selector-dropdown::-webkit-scrollbar-thumb{background-color:var(--color-border-medium)}[data-theme=dark] .language-selector-dropdown::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-subtle)}[data-theme=dark] .language-option{color:var(--color-text-heading)}[data-theme=dark] .language-option:hover{background-color:var(--color-border)}[data-theme=dark] .language-option.active{background-color:var(--color-accent-ring);color:var(--color-accent)}[data-theme=dark] .about-modal{background:var(--color-bg-surface)}[data-theme=dark] .about-modal h2{color:var(--color-text-heading)}[data-theme=dark] .about-modal .about-version,[data-theme=dark] .about-modal .about-description{color:var(--color-text-faint)}[data-theme=dark] .about-modal .about-tech-badge{background:var(--color-border);border-color:var(--color-dark-mid);color:var(--color-text-dark)}[data-theme=dark] .modal-overlay{background-color:var(--color-overlay-mid)}[data-theme=dark] .modal-container{background-color:var(--color-bg-surface);box-shadow:0 8px 32px var(--color-shadow-5xl)}[data-theme=dark] .modal-header{border-bottom-color:var(--color-border)}[data-theme=dark] .modal-header h3{color:var(--color-text-heading)}[data-theme=dark] .modal-close-btn{background:var(--color-border);color:var(--color-text-faint)}[data-theme=dark] .modal-close-btn:hover{background:var(--color-dark-mid);color:var(--color-border)}[data-theme=dark] .modal-body label{color:var(--color-text-faint)}[data-theme=dark] .modal-input{border-color:var(--color-border);background:var(--color-bg-input);color:var(--color-text)}[data-theme=dark] .modal-input:focus{border-color:var(--color-accent);background:var(--color-bg-input)}[data-theme=dark] .modal-input::placeholder{color:var(--color-dark-mid)}[data-theme=dark] .modal-footer{background:var(--color-bg-hover);border-top-color:var(--color-border)}[data-theme=dark] .modal-footer .btn-secondary{background:var(--color-border);border-color:var(--color-dark-mid);color:var(--color-text-dark)}[data-theme=dark] .modal-footer .btn-secondary:hover{background:var(--color-dark-mid)}[data-theme=dark] .list-header-checkbox input,[data-theme=dark] .file-item .checkbox-cell input,[data-theme=dark] .file-item .checkbox-cell input{accent-color:var(--color-accent)}[data-theme=dark] .batch-selection-bar{background-color:var(--color-multiselect-bg);border-color:var(--color-multiselect-border);color:var(--color-text)}[data-theme=dark] .list-header.selection-mode{background-color:var(--color-bg-page);border-bottom-color:var(--color-multiselect-border);color:var(--color-text)}[data-theme=dark] .notification{background-color:var(--color-notification-bg);box-shadow:0 4px 12px var(--color-shadow-4xl)}[data-theme=dark] .notification-title{color:var(--color-text-heading)}[data-theme=dark] .notification-message{color:var(--color-text-faint)}[data-theme=dark] .notification-banner{background-color:var(--color-notification-bg);box-shadow:0 4px 12px var(--color-shadow-4xl)}[data-theme=dark] .notif-bell-btn{color:var(--color-text-faint)}[data-theme=dark] .notif-bell-btn:hover,[data-theme=dark] .notif-bell-btn.active{color:var(--color-accent);background:var(--color-accent-ring-dark)}[data-theme=dark] .notif-panel{background:var(--color-notification-bg);box-shadow:0 12px 40px var(--color-shadow-4xl), 0 0 0 1px var(--color-sidebar-hover-bg)}[data-theme=dark] .notif-panel-header{border-bottom-color:var(--color-border)}[data-theme=dark] .notif-panel-title{color:var(--color-text-heading)}[data-theme=dark] .notif-clear-btn{color:var(--color-text-subtle)}[data-theme=dark] .notif-clear-btn:hover{color:var(--color-accent);background:var(--color-accent-ring-dark)}[data-theme=dark] .notif-empty{color:var(--color-text-subtle)}[data-theme=dark] .notif-item{border-bottom-color:var(--color-bg-muted)}[data-theme=dark] .notif-item:hover{background:var(--color-bg-hover)}[data-theme=dark] .notif-item-title{color:var(--color-text)}[data-theme=dark] .notif-item-text{color:var(--color-text-faint)}[data-theme=dark] .notif-upload-bar{background:var(--color-border)}[data-theme=dark] .upload-toast{background:var(--color-notification-bg);box-shadow:0 8px 32px var(--color-shadow-5xl)}[data-theme=dark] .upload-toast-file-name{color:var(--color-text)}[data-theme=dark] .upload-toast-file-bar{background:var(--color-border)}[data-theme=dark] .upload-toast-file-pct{color:var(--color-text-subtle)}[data-theme=dark] .upload-toast-footer{border-top-color:var(--color-border)}[data-theme=dark] .dropzone{border-color:var(--color-border-medium);color:var(--color-text-faint);background-color:var(--color-bg-page)}[data-theme=dark] .progress-bar{background-color:var(--color-border)}[data-theme=dark] .upload-dropdown-menu{background:var(--color-bg-surface);border-color:var(--color-border);box-shadow:0 8px 24px var(--color-shadow-5xl)}[data-theme=dark] .upload-dropdown-item{color:var(--color-text-dark)}[data-theme=dark] .upload-dropdown-item:hover{background:var(--color-border)}[data-theme=dark] .upload-dropdown-item:active{background:var(--color-border-medium)}[data-theme=dark] .upload-dropdown-item i{color:var(--color-text-faint)}[data-theme=dark] .user-menu{background:var(--color-bg-surface);border-color:var(--color-border);box-shadow:0 8px 30px var(--color-shadow-5xl)}[data-theme=dark] .user-menu-header{background:var(--color-user-menu-header-bg);border-bottom-color:var(--color-border)}[data-theme=dark] .user-menu-name{color:var(--color-text-heading)}[data-theme=dark] .user-menu-email{color:var(--color-text-subtle)}[data-theme=dark] .user-menu-storage-label{color:var(--color-text-faint)}[data-theme=dark] .user-menu-storage-bar{background:var(--color-border)}[data-theme=dark] .user-menu-storage-text{color:var(--color-text-subtle)}[data-theme=dark] .user-menu-divider{background:var(--color-border)}[data-theme=dark] .user-menu-item{color:var(--color-text-dark)}[data-theme=dark] .user-menu-item:hover{background:var(--color-border)}[data-theme=dark] .user-menu-item i{color:var(--color-text-faint)}[data-theme=dark] .theme-toggle-pill{background:var(--color-border-medium)}[data-theme=dark] .user-menu-admin{color:var(--color-admin-blue)}[data-theme=dark] .user-menu-admin:hover{background:var(--color-admin-blue-bg)}[data-theme=dark] .user-menu-logout:hover{background:var(--color-danger-hover-bg)}[data-theme=dark] .admin-tabs{background:var(--color-text-heading);box-shadow:0 1px 4px var(--color-shadow-xl)}[data-theme=dark] .admin-tab{color:var(--color-text-faint)}[data-theme=dark] .admin-tab:hover{color:var(--color-border-light);background:var(--color-dark-footer)}[data-theme=dark] .admin-card{background:var(--color-text-heading);box-shadow:0 1px 4px var(--color-shadow-xl), 0 0 0 1px var(--color-border-dark-faint)}[data-theme=dark] .admin-card h2{color:var(--color-border-light)}[data-theme=dark] .stat-card{background:var(--color-dark-footer);border-color:var(--color-border)}[data-theme=dark] .stat-card:hover{box-shadow:0 4px 12px var(--color-shadow-md)}[data-theme=dark] .stat-value{color:var(--color-border-light)}[data-theme=dark] .stat-label{color:var(--color-text-subtle)}[data-theme=dark] .stat-card.warn{border-color:var(--color-badge-warning-text);background:var(--color-badge-warning-dark-bg)}[data-theme=dark] .stat-card.danger{border-color:var(--color-error-text-dark);background:var(--color-badge-error-dark-bg)}[data-theme=dark] .progress-bar{background:var(--color-border)}[data-theme=dark] .table-wrap{border-color:var(--color-border)}[data-theme=dark] th{background:var(--color-dark-footer);color:var(--color-text-subtle);border-bottom-color:var(--color-border)}[data-theme=dark] td{border-bottom-color:var(--color-border);color:var(--color-text)}[data-theme=dark] tr:hover{background:var(--color-dark-footer)}[data-theme=dark] .user-name{color:var(--color-border-light)}[data-theme=dark] .user-email{color:var(--color-text-subtle)}[data-theme=dark] .badge-admin{background:var(--color-role-admin-dark-bg);color:var(--color-admin-blue)}[data-theme=dark] .badge-user{background:var(--color-border);color:var(--color-text-faint)}[data-theme=dark] .badge-inactive{background:var(--color-badge-error-dark-bg);color:var(--color-multiselect-danger-text)}[data-theme=dark] .badge-oidc{background:var(--color-badge-indigo-dark-bg);color:var(--color-badge-indigo-dark-text)}[data-theme=dark] .badge-local{background:var(--color-border);color:var(--color-text-faint)}[data-theme=dark] .btn-secondary:hover{background:var(--color-border);border-color:var(--color-dark-mid)}[data-theme=dark] .btn-danger{background:var(--color-badge-error-dark-bg);color:var(--color-multiselect-danger-text);border-color:var(--color-error-text-dark)}[data-theme=dark] .btn-danger:hover{background:var(--color-badge-error-dark-bg-hover)}[data-theme=dark] .btn-success{background:var(--color-badge-success-dark-bg);color:var(--color-success-text-vivid);border-color:var(--color-badge-success-text)}[data-theme=dark] .btn-success:hover{background:var(--color-badge-success-fill-dark)}[data-theme=dark] .form-group input[type=text],[data-theme=dark] .form-group input[type=password],[data-theme=dark] .form-group input[type=url],[data-theme=dark] .form-group input[type=number],[data-theme=dark] .form-group select{background:var(--color-bg-page);border-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus{border-color:var(--color-accent);background:var(--color-bg-page);box-shadow:0 0 0 3px var(--color-accent-ring-dark)}[data-theme=dark] .toggle-row label{color:var(--color-text-faint)}[data-theme=dark] .slider{background:var(--color-dark-mid)}[data-theme=dark] .readonly-field{background:var(--color-bg-page);border-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .readonly-field button{background:var(--color-text-heading);border-color:var(--color-border);color:var(--color-text-faint)}[data-theme=dark] .readonly-field button:hover{background:var(--color-border);color:var(--color-border-light)}[data-theme=dark] .warning{background:var(--color-badge-warning-dark-bg);border-color:var(--color-badge-warning-text);color:var(--color-star-text)}[data-theme=dark] .alert-info{background:var(--color-badge-blue-dark-bg);color:var(--color-badge-blue-dark-text);border-color:var(--color-role-admin-text)}[data-theme=dark] .discovery-result.ok{background:var(--color-badge-success-dark-bg);border-color:var(--color-badge-success-text);color:var(--color-success-text-vivid)}[data-theme=dark] .discovery-result.fail{background:var(--color-badge-error-dark-bg);border-color:var(--color-error-text-dark);color:var(--color-multiselect-danger-text)}[data-theme=dark] details{border-top-color:var(--color-border)}[data-theme=dark] details summary{color:var(--color-text-faint)}[data-theme=dark] details summary:hover,[data-theme=dark] details[open] summary{color:var(--color-accent)}[data-theme=dark] .modal{background:var(--color-text-heading);box-shadow:0 20px 60px var(--color-shadow-4xl)}[data-theme=dark] .modal h3{color:var(--color-border-light)}[data-theme=dark] .modal-overlay{background:var(--color-overlay-mid);backdrop-filter:blur(4px)}[data-theme=dark] .quota-text,[data-theme=dark] .pagination{color:var(--color-text-subtle)}[data-theme=dark] #access-denied h2{color:var(--color-multiselect-danger-text)}[data-theme=dark] #access-denied p,[data-theme=dark] .modal-confirm p{color:var(--color-text-faint)}[data-theme=dark] .btn-danger{background:linear-gradient(135deg, var(--color-danger-alt), var(--color-error-text))}[data-theme=dark] #access-denied .access-icon{background:var(--color-badge-error-dark-bg)}[data-theme=dark] .toggle-row{border-top-color:var(--color-border)}[data-theme=dark] .inline-viewer-progress{background:var(--color-progress-overlay-dark)}[data-theme=dark] .inline-viewer-progress-bar{background:var(--color-border)}[data-theme=dark] .inline-viewer-progress-text{color:var(--color-text-dark)}[data-theme=dark] .photos-day-header{color:var(--color-text)}[data-theme=dark] .photo-tile{background:var(--color-border)}[data-theme=dark] .photos-empty i{color:var(--color-dark-mid)}[data-theme=dark] .photos-empty .photos-empty-title{color:var(--color-text-faint)}[data-theme=dark] .photos-empty p{color:var(--color-text-subtle)}[data-theme=dark] body{background:var(--color-bg-page);color:var(--color-border)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--color-scrollbar-dark)}[data-theme=dark] *{scrollbar-color:var(--color-scrollbar-dark) transparent}[data-theme=dark] .profile-card{background:var(--color-text-heading);box-shadow:0 1px 4px var(--color-shadow-xl), 0 0 0 1px var(--color-border-dark-faint)}[data-theme=dark] .profile-card h2,[data-theme=dark] .avatar-info h1{color:var(--color-border-light)}[data-theme=dark] .avatar-info .email{color:var(--color-text-faint)}[data-theme=dark] .role-badge-admin{background:var(--color-role-admin-dark-bg);color:var(--color-admin-blue)}[data-theme=dark] .role-badge-user{background:var(--color-border);color:var(--color-text-faint)}[data-theme=dark] .info-item{background:var(--color-dark-footer);border-color:var(--color-border)}[data-theme=dark] .info-item .info-label{color:var(--color-text-subtle)}[data-theme=dark] .info-item .info-label i{color:var(--color-dark-mid)}[data-theme=dark] .info-item .info-value{color:var(--color-border-light)}[data-theme=dark] .storage-stat{background:var(--color-dark-footer);border-color:var(--color-border)}[data-theme=dark] .storage-stat .stat-value{color:var(--color-border-light)}[data-theme=dark] .storage-stat .stat-label{color:var(--color-text-subtle)}[data-theme=dark] .storage-bar{background:var(--color-border)}[data-theme=dark] .storage-text{color:var(--color-text-subtle)}[data-theme=dark] .form-group label{color:var(--color-text-faint)}[data-theme=dark] .form-group input{background:var(--color-bg-page);border-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .form-group input:focus{border-color:var(--color-accent);background:var(--color-bg-page);box-shadow:0 0 0 3px var(--color-accent-ring-dark)}[data-theme=dark] .form-group small{color:var(--color-text-subtle)}[data-theme=dark] .alert-success{background:var(--color-badge-success-dark-bg);color:var(--color-success-text-vivid);border-color:var(--color-badge-success-text)}[data-theme=dark] .alert-error{background:var(--color-badge-error-dark-bg);color:var(--color-multiselect-danger-text);border-color:var(--color-error-text-dark)}[data-theme=dark] #auth-error{background:0 0}[data-theme=dark] #auth-error .err-icon{background:var(--color-badge-error-dark-bg)}[data-theme=dark] #auth-error h2{color:var(--color-multiselect-danger-text)}[data-theme=dark] #auth-error p{color:var(--color-text-faint)}[data-theme=dark] .section-desc{color:var(--color-text-subtle)}[data-theme=dark] .checkbox-label{color:var(--color-text-faint)}[data-theme=dark] .form-select{background:var(--color-bg-page);border-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .form-select:focus{border-color:var(--color-accent);background:var(--color-bg-page);box-shadow:0 0 0 3px var(--color-accent-ring-dark)}[data-theme=dark] .btn-secondary{background:var(--color-border);color:var(--color-text);border-color:var(--color-dark-mid)}[data-theme=dark] .btn-secondary:hover{background:var(--color-dark-mid)}[data-theme=dark] .app-pw-table th{color:var(--color-text-subtle);border-bottom-color:var(--color-border)}[data-theme=dark] .app-pw-table td{border-bottom-color:var(--color-text-heading)}[data-theme=dark] .app-pw-label-cell{color:var(--color-border-light)}[data-theme=dark] .app-pw-prefix code{background:var(--color-border);color:var(--color-text-faint)}[data-theme=dark] .badge-active{background:var(--color-badge-success-dark-bg);color:var(--color-success-text-vivid)}[data-theme=dark] .badge-expired{background:var(--color-badge-error-dark-bg);color:var(--color-multiselect-danger-text)}[data-theme=dark] .app-pw-token-input{background:var(--color-badge-success-dark-bg);border-color:var(--color-badge-success-text);color:var(--color-success-text-vivid)}[data-theme=dark] .app-pw-instr-list code{background:var(--color-badge-success-dark-bg);color:var(--color-success-text-vivid)}[data-theme=dark] #loading{color:var(--color-text-subtle)}[data-theme=dark] .app-pw-desc{color:var(--color-text-faint)}[data-theme=dark] .app-pw-create input{background:var(--color-bg-page);border-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .app-pw-create input:focus{border-color:var(--color-accent);background:var(--color-bg-page);box-shadow:0 0 0 3px var(--color-accent-ring-dark)}[data-theme=dark] .app-pw-created{background:var(--color-badge-success-dark-bg);border-color:var(--color-badge-success-text)}[data-theme=dark] .app-pw-created-label{color:var(--color-success-text-vivid)}[data-theme=dark] .app-pw-created-value code{background:var(--color-badge-success-fill-dark);color:var(--color-success-text-vivid)}[data-theme=dark] .app-pw-created small{color:var(--color-badge-success-border)}[data-theme=dark] .app-pw-table thead th{color:var(--color-text-subtle);border-bottom-color:var(--color-border)}[data-theme=dark] .app-pw-table tbody td{color:var(--color-text);border-bottom-color:var(--color-text-heading)}[data-theme=dark] .btn-danger-sm{background:var(--color-badge-error-dark-bg);color:var(--color-multiselect-danger-text)}[data-theme=dark] .btn-danger-sm:hover{background:var(--color-badge-error-dark-bg-hover);color:var(--color-badge-error-border)}[data-theme=dark] .app-pw-empty{color:var(--color-text-subtle)}[data-theme=dark] .app-pw-auto-section{border-top-color:var(--color-border)}[data-theme=dark] .app-pw-auto-toggle{color:var(--color-text-faint)}[data-theme=dark] .app-pw-auto-toggle:hover{color:var(--color-text)}[data-theme=dark] .app-pw-auto-count{background:var(--color-border);color:var(--color-text-faint)}[data-theme=dark] .app-pw-auto-desc{color:var(--color-text-subtle)}[data-theme=dark] .shared-filters{background-color:var(--color-bg-subtle);color:var(--color-text-faint);border-bottom-color:var(--color-border);box-shadow:0 1px 3px var(--color-shadow-3xl)}[data-theme=dark] .shared-view-container .shared-select-toggle{background-color:var(--color-bg-surface);border-color:var(--color-border);color:var(--color-text-dark)}[data-theme=dark] .shared-view-container .shared-filters{background-color:var(--color-bg-subtle);color:var(--color-text-faint);border-bottom-color:var(--color-border);box-shadow:0 1px 3px var(--color-shadow-3xl)}[data-theme=dark] .shared-view-container .shared-select-toggle:hover{background-color:var(--color-border);border-color:var(--color-border-medium)}[data-theme=dark] .shared-view-container .shared-custom-select.open .shared-select-toggle{border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-ring-dark);background-color:var(--color-bg-surface)}[data-theme=dark] .shared-view-container .shared-select-arrow{color:var(--color-text-faint)}[data-theme=dark] .shared-view-container .shared-select-dropdown{background-color:var(--color-bg-surface);border-color:var(--color-border);box-shadow:0 8px 30px var(--color-shadow-5xl)}[data-theme=dark] .shared-view-container .shared-select-option{color:var(--color-text-dark)}[data-theme=dark] .shared-view-container .shared-select-option:hover{background-color:var(--color-border)}[data-theme=dark] .shared-view-container .shared-select-option.active{background-color:var(--color-accent-ring);color:var(--color-accent)}[data-theme=dark] .filter-group label{color:var(--color-text-faint)}[data-theme=dark] .filter-group select{background-color:var(--color-bg-surface);border-color:var(--color-border);color:var(--color-text);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E")}[data-theme=dark] .filter-group select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring-dark)}[data-theme=dark] .search-box input{background-color:var(--color-bg-surface);border-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .search-box input::placeholder{color:var(--color-text-subtle)}[data-theme=dark] .shared-list-container{background-color:var(--color-bg-surface);box-shadow:0 1px 3px var(--color-shadow-xl)}[data-theme=dark] .shared-list thead th,[data-theme=dark] .shared-table thead th{background-color:var(--color-bg-subtle);color:var(--color-text-faint);border-bottom-color:var(--color-border)}[data-theme=dark] .shared-list tbody td,[data-theme=dark] .shared-table tbody td{border-bottom-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .shared-list tbody tr:hover,[data-theme=dark] .shared-table tbody tr:hover{background-color:var(--color-bg-subtle)}[data-theme=dark] .page-description{color:var(--color-text-faint)}[data-theme=dark] #empty-shared-state.empty-state{box-shadow:none;color:var(--color-text-subtle);background-color:#0000}[data-theme=dark] #empty-shared-state p,[data-theme=dark] .shared-list .action-btn,[data-theme=dark] .shared-table .action-btn{color:var(--color-text-faint)}[data-theme=dark] .shared-list .action-btn:hover,[data-theme=dark] .shared-table .action-btn:hover{color:var(--color-accent)}[data-theme=dark] .trash-actions button,[data-theme=dark] .actions-cell button{background:var(--color-bg-surface);border-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .trash-actions button:hover,[data-theme=dark] .actions-cell button:hover{background:var(--color-border)}.inline-viewer-modal{z-index:9999;background-color:var(--color-overlay-heavy);opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .3s;display:none;position:fixed;top:0;left:0}.inline-viewer-modal.active{opacity:1;pointer-events:all;justify-content:center;align-items:center;display:flex!important}.inline-viewer-content{background-color:var(--color-bg-surface);width:90%;max-width:1200px;height:90%;box-shadow:0 4px 20px var(--color-shadow-3xl);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.inline-viewer-header{background-color:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.inline-viewer-title{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:500;overflow:hidden}.inline-viewer-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;transition:background-color .2s;display:flex}.inline-viewer-close:hover{background-color:var(--color-border);color:var(--color-text-secondary)}.inline-viewer-container{background-color:var(--color-bg-muted);flex-grow:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:auto}.inline-viewer-toolbar{background-color:var(--color-bg-subtle);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.inline-viewer-download{background-color:var(--color-accent);color:var(--color-danger-text);cursor:pointer;border:none;border-radius:4px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:background-color .2s;display:flex}.inline-viewer-download:hover{background-color:var(--color-danger-alt)}.inline-viewer-controls{gap:8px;display:flex}.inline-viewer-controls button{background-color:var(--color-border-light);border:1px solid var(--color-border-medium);cursor:pointer;width:36px;height:36px;color:var(--color-text-subtle);border-radius:4px;justify-content:center;align-items:center;transition:all .2s;display:flex}.inline-viewer-controls button:hover{background-color:var(--color-border);color:var(--color-text-dark)}.inline-viewer-image{object-fit:contain;transform-origin:50%;max-width:100%;max-height:100%;transition:transform .2s}.inline-viewer-pdf,.inline-viewer-pdf-fallback{border:none;width:100%;height:100%}.inline-viewer-pdf+.inline-viewer-pdf-fallback{display:none}.inline-viewer-pdf:not([data]),.inline-viewer-pdf[data=""]+.inline-viewer-pdf-fallback{display:block}.inline-viewer-loader{color:var(--color-text-subtle);font-size:36px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.inline-viewer-progress{background:var(--color-progress-overlay);box-shadow:0 2px 8px var(--color-shadow);border-radius:8px;flex-direction:column;align-items:center;gap:12px;padding:20px;display:flex}.inline-viewer-progress-bar{background:var(--color-border);border-radius:4px;width:200px;height:8px;overflow:hidden}.inline-viewer-progress-fill{background:linear-gradient(90deg, var(--color-info-blue), var(--color-admin-blue));border-radius:4px;height:100%;transition:width .2s}.inline-viewer-progress-text{color:var(--color-text-secondary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:600}.inline-viewer-message{text-align:center;max-width:400px;padding:32px}.inline-viewer-icon{color:var(--color-text-dark);margin-bottom:24px;font-size:64px}.inline-viewer-text{color:var(--color-text-subtle);line-height:1.6}.inline-viewer-text p{margin:0 0 16px}.inline-viewer-text-content{width:100%;height:100%;color:var(--color-text);background-color:var(--color-bg-surface);white-space:pre-wrap;word-wrap:break-word;box-sizing:border-box;text-align:left;tab-size:4;margin:0;padding:16px 24px;font-family:Courier New,Consolas,Monaco,monospace;font-size:14px;line-height:1.6;overflow:auto}.inline-viewer-video{object-fit:contain;background-color:var(--color-black);border-radius:4px;max-width:100%;max-height:100%}.inline-viewer-audio-wrapper{flex-direction:column;justify-content:center;align-items:center;gap:24px;width:100%;max-width:500px;padding:48px 32px;display:flex}.inline-viewer-audio-icon{color:var(--color-text-faint);font-size:80px;animation:2s ease-in-out infinite audio-pulse}@keyframes audio-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.inline-viewer-audio-name{color:var(--color-text-secondary);text-align:center;word-break:break-word;max-width:100%;font-size:16px;font-weight:500}.inline-viewer-audio{border-radius:8px;outline:none;width:100%;max-width:460px}@media (width<=768px){.inline-viewer-content{border-radius:0;width:100%;height:100%}.inline-viewer-controls{display:none}}.favorite-indicator{width:25px;height:25px;color:var(--color-device-verify-dim);cursor:pointer;z-index:5;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:10px;right:10px;[dir=rtl] &{left:10px;right:unset}}.favorite-indicator:hover{transform:scale(1.1)}.favorite-indicator.active{color:var(--color-warning-text);text-shadow:0 0 5px var(--color-warning-shadow)}.favorite-item{position:relative}.file-item.favorite-item{border-left:3px solid var(--color-warning-border);[dir=rtl] &{border-right:3px solid var(--color-warning-border);border-left:unset}}.list-header.favorites-header{grid-template-columns:30px minmax(200px,2fr) 1fr 1fr 120px}.file-item.favorite-item{grid-template-columns:30px minmax(200px,2fr) 1fr 1fr 120px;position:relative}.file-item.favorite-item .favorite-indicator{width:30px;height:30px;position:relative;top:0;right:0}.favorites-empty-state{text-align:center;color:var(--color-text-gray);flex-direction:column;justify-content:center;align-items:center;padding:50px 20px;display:flex}.favorites-empty-state i{color:var(--color-warning-text);opacity:.6;margin-bottom:20px;font-size:48px}.favorites-empty-state p{max-width:400px;margin-bottom:10px}@keyframes favorite-pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.favorite-indicator.active{animation:.3s favorite-pulse}.file-item .favorite-star{pointer-events:auto;z-index:12}.file-item .favorite-star.active i,.file-item .favorite-star.active svg{animation:.3s favorite-pulse}.favorite-star-inline{color:var(--color-warning-text);vertical-align:middle;filter:drop-shadow(0 0 1px var(--color-device-verify-drop-shadow));margin-left:6px;font-size:11px;[dir=rtl] &{margin-left:0;margin-right:6px}}.recent-indicator{width:25px;height:25px;color:var(--color-recent-muted);z-index:5;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:10px;right:10px;[dir=rtl] &{left:10px;right:unset}}.recent-item{position:relative}.files-grid-view .file-item.recent-item{border-left:3px solid var(--color-recent-border);[dir=rtl] &{border-right:3px solid var(--color-recent-border);border-left:unset}}.list-header.recent-header{grid-template-columns:30px minmax(200px,2fr) 1fr 1fr 120px}.file-item.recent-item{grid-template-columns:30px minmax(200px,2fr) 1fr 1fr 120px;position:relative}.file-item.recent-item .recent-indicator{width:30px;height:30px;position:relative;top:0;right:0}.recents-empty-state{text-align:center;color:var(--color-recent-muted);flex-direction:column;justify-content:center;align-items:center;padding:50px 20px;display:flex}.recents-empty-state i{color:var(--color-recent-muted);opacity:.6;margin-bottom:20px;font-size:48px}.recents-empty-state p{max-width:400px;margin-bottom:10px}.recent-item .type-cell{cursor:help}.recent-item{animation:.3s recent-fade-in}@keyframes recent-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-description{color:var(--color-text-muted);margin-top:-15px;margin-bottom:25px;font-size:16px}.shared-page-container{max-width:1280px;margin:20px auto;padding:0 20px}.shared-header{margin-bottom:25px}.shared-header h2{color:var(--color-text);margin-bottom:8px;font-size:24px}.shared-header p{color:var(--color-text-muted);font-size:16px}.shared-view-container .shared-header{margin-bottom:20px}.shared-view-container .shared-filters{background-color:var(--color-bg-subtle);box-shadow:0 1px 3px var(--color-shadow-xs);border-bottom:1px solid var(--color-border-faint);color:var(--color-text);border-radius:10px 10px 0 0;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;margin-bottom:0;padding:15px;font-weight:600;display:flex}.shared-view-container .shared-custom-select{position:relative}.shared-view-container .shared-select-toggle{border:2px solid var(--color-border);background-color:var(--color-bg-hover);width:100%;color:var(--color-text-heading);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:10px;min-width:170px;height:44px;padding:10px 40px 10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.shared-view-container .shared-select-toggle:hover{border-color:var(--color-border-medium);background-color:var(--color-bg-surface)}.shared-view-container .shared-custom-select.open .shared-select-toggle{border-color:var(--color-accent);background-color:var(--color-bg-surface);box-shadow:0 0 0 4px var(--color-accent-ring)}.shared-view-container .shared-select-arrow{color:var(--color-text-muted);pointer-events:none;font-size:10px;transition:transform .2s;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.shared-view-container .shared-custom-select.open .shared-select-arrow{transform:translateY(-50%)rotate(180deg)}.shared-view-container .shared-select-dropdown{background-color:var(--color-bg-surface);min-width:100%;box-shadow:0 4px 20px var(--color-shadow-md);border:1px solid var(--color-border);opacity:0;visibility:hidden;z-index:1000;border-radius:12px;transition:all .2s;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;transform:translateY(-10px)}.shared-view-container .shared-custom-select.open .shared-select-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.shared-view-container .shared-select-option{cursor:pointer;color:var(--color-text-secondary);align-items:center;padding:12px 16px;font-size:14px;font-weight:400;transition:background-color .15s;display:flex}.shared-view-container .shared-select-option:hover{background-color:var(--color-bg-alt)}.shared-view-container .shared-select-option.active{background-color:var(--color-accent-tint);color:var(--color-accent);font-weight:500}.shared-filters{background-color:var(--color-bg-subtle);border-bottom:1px solid var(--color-border-faint);box-shadow:0 1px 3px var(--color-shadow-xs);color:var(--color-text);border-radius:10px 10px 0 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:0;padding:15px;font-weight:600;display:flex}.filter-group{align-items:center;gap:10px;display:flex}.filter-group label{color:var(--color-text-secondary);font-size:14px;font-weight:500}.filter-group select{border:1px solid var(--color-border);background-color:var(--color-bg-surface);border-radius:6px;min-width:120px;padding:8px 12px;font-size:14px}.search-box{gap:10px;display:flex}.search-box input{border:1px solid var(--color-border);border-radius:6px;width:250px;padding:8px 15px;font-size:14px}.shared-list-container{background-color:var(--color-bg-surface);box-shadow:0 1px 3px var(--color-shadow-xs);border-radius:0 0 10px 10px;margin-bottom:25px;overflow:hidden}.shared-list,.shared-table{border-collapse:collapse;width:100%}.shared-list thead th,.shared-table thead th{text-align:left;color:var(--color-text);background-color:var(--color-bg-subtle);border-bottom:1px solid var(--color-border-faint);padding:15px;font-weight:600}.shared-list tbody td,.shared-table tbody td{border-bottom:1px solid var(--color-border-xfaint);vertical-align:middle;padding:15px}.shared-item-name{align-items:center;gap:10px;display:flex}.shared-item-actions{gap:10px;display:flex}.shared-list .action-btn,.shared-table .action-btn{border:1px solid var(--color-border);background-color:var(--color-bg-surface);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.shared-list .action-btn:hover,.shared-table .action-btn:hover{background-color:var(--color-item-hover-blue);border-color:var(--color-info-border-light)}.action-icon{font-size:14px}#empty-shared-state.empty-state{box-shadow:none;text-align:center;color:var(--color-text-gray);background-color:#0000;border-radius:0;flex-direction:column;justify-content:center;align-items:center;padding:50px 20px;display:flex}#empty-shared-state p{max-width:400px;margin-bottom:10px}@media (width<=768px){.shared-filters{flex-direction:column;align-items:flex-start}.shared-list thead th:nth-child(4),.shared-list thead th:nth-child(5),.shared-list tbody td:nth-child(4),.shared-list tbody td:nth-child(5),.shared-table thead th:nth-child(4),.shared-table thead th:nth-child(5),.shared-table tbody td:nth-child(4),.shared-table tbody td:nth-child(5){display:none}}.trash-item{position:relative}.trash-actions{gap:8px;display:none;position:absolute;top:10px;right:10px}.files-grid-view .file-card.trash-item:hover .trash-actions,.files-list-view .file-item.trash-item:hover .actions-cell{display:flex}.trash-actions button,.actions-cell button{background:var(--color-trash-surface);border:1px solid var(--color-trash-border);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;padding:4px 8px;transition:all .2s;display:flex}.trash-actions button:hover,.actions-cell button:hover{background:var(--color-trash-empty-bg)}.btn-restore{color:var(--color-trash-restore)}.btn-delete{color:var(--color-trash-delete)}.actions-cell{justify-content:flex-start;align-items:center;gap:8px;display:flex}.btn-danger{background-color:var(--color-trash-delete);color:var(--color-danger-text)}.photos-container{padding:0;display:none}.photos-container.active{display:block}.photos-toolbar{justify-content:flex-end;align-items:center;padding:8px 8px 4px;display:flex}.photos-toolbar .toggle-btn{width:auto;padding:0 14px;font-size:13px;font-weight:500}.photos-day-header{color:var(--color-text);padding:16px 8px 10px;font-size:15px;font-weight:600}.photos-day-header .photos-day-count{color:var(--color-text-faint);margin-left:8px;font-size:13px;font-weight:400}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:16px;padding:0 8px;display:grid}.photos-group-monthly .photos-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.photos-group-monthly .photos-day-header{padding:20px 8px 12px;font-size:17px}.photos-group-yearly .photos-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.photos-group-yearly .photos-day-header{padding:24px 8px 14px;font-size:20px}.photo-tile{aspect-ratio:1;border:2px solid var(--color-border);cursor:pointer;background:var(--color-bg-surface);box-shadow:0 1px 3px var(--color-shadow-xs);border-radius:12px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden}.photo-tile img{object-fit:cover;border-radius:10px;width:100%;height:100%;transition:transform .2s}.photo-tile:hover{box-shadow:0 5px 15px var(--color-shadow-sm);border-color:var(--color-border-medium);transform:translateY(-2px)}.photo-tile:hover img{transform:scale(1.03)}.photo-tile .photo-check{border:2px solid var(--color-photo-check-border);background:var(--color-shadow-2xl);opacity:0;width:22px;height:22px;color:var(--color-danger-text);z-index:2;border-radius:50%;justify-content:center;align-items:center;font-size:11px;transition:opacity .15s;display:flex;position:absolute;top:6px;left:6px}.photo-tile:hover .photo-check,.photo-tile.selected .photo-check{opacity:1}.photo-tile.selected .photo-check{background:var(--color-accent);border-color:var(--color-accent)}.photo-tile.selected{border-color:var(--color-accent);background:var(--color-item-selected);box-shadow:0 0 0 1px var(--color-accent-ring-dark), 0 4px 12px var(--color-accent-ring)}.photo-tile.selected img{transform:scale(.95)}.photo-tile .video-badge{background:var(--color-overlay-video);width:28px;height:28px;color:var(--color-danger-text);z-index:2;border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;bottom:6px;right:6px}.photo-tile .video-duration{color:var(--color-danger-text);background:var(--color-overlay-video);z-index:2;border-radius:4px;padding:2px 6px;font-size:11px;position:absolute;bottom:6px;left:6px}.photos-empty{text-align:center;color:var(--color-text-faint);flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.photos-empty i{color:var(--color-border-medium);margin-bottom:16px;font-size:56px}.photos-empty p{margin:4px 0;font-size:15px}.photos-empty .photos-empty-title{color:var(--color-text-subtle);font-size:18px;font-weight:600}.photos-sentinel{width:100%;height:1px}.photos-loading{color:var(--color-text-faint);justify-content:center;align-items:center;gap:8px;padding:24px;font-size:14px;display:flex}.photos-loading i{animation:1s linear infinite spin}.photos-selection-bar{background:var(--color-multiselect-bg);color:var(--color-multiselect-text);box-shadow:0 8px 30px var(--color-shadow-3xl);z-index:1000;border-radius:12px;align-items:center;gap:16px;padding:10px 20px;font-size:14px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.photos-selection-bar button{color:var(--color-multiselect-text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:14px;transition:background .15s}.photos-selection-bar button:hover{background:var(--color-multiselect-action-hover)}.photos-selection-bar .selection-count{font-weight:600}@media (width<=768px){.photos-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:2px;margin-bottom:8px;padding:0 2px}.photos-group-monthly .photos-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.photos-group-yearly .photos-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.photo-tile .photo-check{opacity:1}.photos-day-header{padding:10px 4px 6px;font-size:14px}.photos-toolbar{padding:6px 4px 2px}}.photos-lightbox{z-index:10000;background:var(--color-lightbox-overlay);opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.photos-lightbox.active{opacity:1;pointer-events:auto}.lightbox-content{justify-content:center;align-items:center;max-width:90vw;max-height:85vh;display:flex;position:relative}.lightbox-content img,.lightbox-content video{object-fit:contain;user-select:none;border-radius:4px;max-width:90vw;max-height:85vh}.lightbox-nav{background:var(--color-lightbox-btn-bg);width:48px;height:48px;color:var(--color-lightbox-btn-text);cursor:pointer;z-index:10001;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:20px;transition:background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:var(--color-lightbox-btn-hover)}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-close{background:var(--color-lightbox-btn-bg);width:40px;height:40px;color:var(--color-lightbox-btn-text);cursor:pointer;z-index:10001;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:background .15s;display:flex;position:absolute;top:16px;right:16px}.lightbox-close:hover{background:var(--color-lightbox-btn-hover)}.lightbox-info{background:var(--color-lightbox-gradient-top);color:var(--color-lightbox-btn-text);z-index:10001;padding:16px 70px 16px 20px;position:absolute;top:0;left:0;right:0}.lightbox-filename{white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:15px;font-weight:600;overflow:hidden}.lightbox-meta{color:var(--color-lightbox-text-muted);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.lightbox-toolbar{background:var(--color-lightbox-gradient-bottom);z-index:10001;justify-content:center;align-items:center;gap:8px;padding:16px 20px;display:flex;position:absolute;bottom:0;left:0;right:0}.lightbox-toolbar button{background:var(--color-lightbox-btn-bg);color:var(--color-lightbox-btn-text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;transition:background .15s;display:flex}.lightbox-toolbar button:hover{background:var(--color-lightbox-btn-hover)}.lightbox-toolbar button.active{color:var(--color-accent)}.lightbox-counter{color:var(--color-lightbox-text-faint);z-index:10001;font-size:13px;position:absolute;bottom:16px;left:20px}@media (width<=768px){.lightbox-nav{width:36px;height:36px;font-size:16px}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-content img,.lightbox-content video{max-width:100vw;max-height:80vh}}.music-container{padding:0;display:none}.music-container.active{display:block}.music-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 260px);padding:80px 40px;display:flex}.music-empty-state-icon{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin-bottom:24px;display:flex;box-shadow:0 8px 32px #667eea40}.music-empty-state-icon i{color:#fff;font-size:40px}.music-empty-state-title{color:var(--color-text,#2d3748);margin:0 0 8px;font-size:20px;font-weight:600}.music-empty-state-desc{color:var(--color-text-muted,#718096);max-width:360px;margin:0 0 28px;font-size:14px;line-height:1.5}.music-toolbar{display:none}.music-content{gap:0;height:calc(100vh - 200px);min-height:400px;transition:height .3s;display:flex}.music-player-active .music-content{height:calc(100vh - 290px)}.music-sidebar{border-right:1px solid var(--border-color,#e2e8f0);background:var(--bg-secondary,#f8fafc);flex-direction:column;width:280px;min-width:280px;display:flex}.music-sidebar-header{border-bottom:1px solid var(--border-color,#e2e8f0);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.music-sidebar-header h3{color:var(--text-secondary,#64748b);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:12px;font-weight:600}.music-sidebar-add-btn{background:var(--color-accent-gradient,linear-gradient(135deg, #ff5e3a, #ff2d55));color:#fff;cursor:pointer;width:28px;height:28px;box-shadow:0 2px 8px var(--color-accent-shadow,#ff5e3a40);border:none;border-radius:6px;justify-content:center;align-items:center;font-size:13px;transition:transform .15s,box-shadow .15s;display:flex}.music-sidebar-add-btn:hover{box-shadow:0 4px 12px var(--color-accent-shadow,#ff5e3a59);transform:translateY(-1px)}.music-playlist-list{flex:1;padding:8px;overflow-y:auto}.music-playlist-item{cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;transition:background .15s;display:flex}.music-playlist-item:hover{background:var(--hover-bg,#e2e8f0)}.music-playlist-item.active{background:var(--active-bg,#dbeafe)}.music-playlist-icon{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;display:flex}.music-playlist-item-info{flex:1;min-width:0}.music-playlist-item-name{color:var(--text-primary,#1e293b);white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.music-playlist-item-count{color:var(--text-secondary,#64748b);font-size:12px;display:block}.music-main{flex:1;padding:24px;overflow-y:auto}.music-welcome{text-align:center;height:100%;color:var(--text-secondary,#64748b);flex-direction:column;justify-content:center;align-items:center;display:flex}.music-welcome i{color:var(--text-muted,#cbd5e1);margin-bottom:20px;font-size:64px}.music-welcome h3{color:var(--text-primary,#1e293b);margin:0 0 8px;font-size:20px;font-weight:600}.music-welcome p{margin:0;font-size:14px}.music-playlist-detail{max-width:900px}.music-playlist-header{align-items:center;gap:24px;margin-bottom:24px;display:flex}.music-playlist-cover{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;justify-content:center;align-items:center;width:140px;min-width:140px;height:140px;font-size:48px;display:flex;box-shadow:0 8px 24px #667eea4d}.music-playlist-info{flex:1}.music-playlist-info h2{color:var(--text-primary,#1e293b);margin:0 0 8px;font-size:28px;font-weight:700}.music-playlist-info p{color:var(--text-secondary,#64748b);margin:0;font-size:14px}.music-playlist-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:24px;display:flex}.music-playlist-actions .btn{border-radius:8px;padding:8px 16px;font-size:13px}.music-playlist-actions .btn i{font-size:13px}.music-playlist-actions .btn:not(:has(span)){justify-content:center;min-width:36px;padding:8px 12px}.music-track-list{background:var(--bg-secondary,#f8fafc);border-radius:12px;overflow:hidden}.music-track-header{border-bottom:1px solid var(--border-color,#e2e8f0);color:var(--text-secondary,#64748b);text-transform:uppercase;letter-spacing:.5px;align-items:center;padding:12px 16px;font-size:12px;font-weight:600;display:flex}.music-track{border-bottom:1px solid var(--border-color,#e2e8f0);cursor:pointer;align-items:center;padding:10px 16px;transition:background .15s;display:flex}.music-track:last-child{border-bottom:none}.music-track:hover{background:var(--hover-bg,#f1f5f9)}.music-track.selected{background:var(--active-bg,#dbeafe)}.music-track-col{padding:0 8px}.music-track-num{text-align:center;width:40px;color:var(--text-secondary,#64748b);font-size:14px}.music-track-title{flex:2;align-items:center;gap:12px;min-width:0;display:flex}.music-track-icon{color:var(--text-secondary,#64748b);font-size:14px}.music-track-name{white-space:nowrap;text-overflow:ellipsis;color:var(--text-primary,#1e293b);font-weight:500;overflow:hidden}.music-track-artist,.music-track-album{color:var(--text-secondary,#64748b);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;overflow:hidden}.music-track-duration{text-align:right;width:60px;color:var(--text-secondary,#64748b);font-variant-numeric:tabular-nums;font-size:14px}.music-empty{text-align:center;color:var(--text-secondary,#64748b);flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.music-empty i{color:var(--text-muted,#cbd5e1);margin-bottom:16px;font-size:48px}.music-empty p{margin:0;font-size:14px}.music-loading{color:var(--text-secondary,#64748b);justify-content:center;align-items:center;gap:8px;padding:40px;font-size:14px;display:flex}.music-loading i{animation:1s linear infinite spin}.music-error{text-align:center;color:var(--error-color,#ef4444);flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.music-error i{margin-bottom:16px;font-size:48px}.music-error p{margin:0;font-size:14px}[data-theme=dark] .music-sidebar{background:var(--bg-secondary,#1e293b);border-color:var(--border-color,#334155)}[data-theme=dark] .music-playlist-item-name,[data-theme=dark] .music-welcome h3,[data-theme=dark] .music-playlist-info h2,[data-theme=dark] .music-track-name{color:var(--text-primary,#f1f5f9)}[data-theme=dark] .music-track-list{background:var(--bg-secondary,#1e293b)}@media (width<=768px){.music-content{flex-direction:column;height:auto}.music-sidebar{border-right:none;border-bottom:1px solid var(--border-color,#e2e8f0);width:100%;min-width:100%;max-height:200px}.music-playlist-header{flex-direction:column;align-items:flex-start}.music-playlist-cover{width:120px;height:120px;font-size:32px}.music-playlist-info h2{font-size:20px}.music-track-album{display:none}}.music-player{background:var(--bg-primary,#fff);border-top:1px solid var(--border-color,#e2e8f0);z-index:1000;align-items:center;gap:16px;height:90px;padding:0 16px;transition:transform .3s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -4px 20px #0000001a}.music-player.has-track{transform:translateY(0)}.music-player.hidden{display:none}.player-track-info{align-items:center;gap:12px;min-width:180px;max-width:240px;display:flex}.player-album-art{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:20px;display:flex}.player-track-details{flex-direction:column;min-width:0;display:flex}.player-track-name{color:var(--text-primary,#1e293b);white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-weight:500;overflow:hidden}.player-track-artist{color:var(--text-secondary,#64748b);white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:12px;overflow:hidden}.player-controls{flex-direction:column;flex:1;align-items:center;gap:8px;max-width:600px;display:flex}.player-buttons{align-items:center;gap:8px;display:flex}.player-btn{cursor:pointer;color:var(--text-secondary,#64748b);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;font-size:16px;transition:all .2s;display:flex}.player-btn:hover{color:var(--text-primary,#1e293b);background:var(--hover-bg,#f1f5f9)}.player-btn.active{color:var(--primary-color,#667eea)}.player-btn-main{background:var(--primary-color,#667eea);font-size:21px;color:#fff!important}.player-btn-main:hover{background:var(--primary-color-dark,#5a67d8);transform:scale(1.05)}.player-btn-small{padding:6px;font-size:14px}.player-progress{align-items:center;gap:8px;width:100%;display:flex}.player-time{color:var(--text-secondary,#64748b);font-variant-numeric:tabular-nums;min-width:40px;font-size:11px}.player-time-current{text-align:right}.player-time-total{text-align:left}.player-progress-bar{background:var(--border-color,#e2e8f0);cursor:pointer;border-radius:2px;flex:1;height:4px;position:relative;overflow:visible}.player-progress-fill{background:var(--primary-color,#667eea);border-radius:2px;width:0;height:100%;transition:width .1s linear}.player-progress-handle{background:var(--primary-color,#667eea);opacity:0;border-radius:50%;width:12px;height:12px;transition:opacity .2s;position:absolute;top:50%;left:0;transform:translate(-50%,-50%);box-shadow:0 2px 4px #0003}.player-progress-bar:hover .player-progress-handle{opacity:1}.player-progress-bar:hover .player-progress-fill{height:6px;margin-top:-1px}.player-extra{justify-content:flex-end;align-items:center;gap:8px;min-width:160px;display:flex}.player-close-btn{opacity:.5;margin-left:4px;transition:opacity .15s}.player-close-btn:hover{opacity:1}.player-volume-slider{align-items:center;width:80px;display:flex}#player-volume-input{-webkit-appearance:none;appearance:none;background:var(--border-color,#e2e8f0);cursor:pointer;border-radius:2px;width:100%;height:4px}#player-volume-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--primary-color,#667eea);cursor:pointer;border-radius:50%;width:12px;height:12px}#player-volume-input::-moz-range-thumb{background:var(--primary-color,#667eea);cursor:pointer;border:none;border-radius:50%;width:12px;height:12px}.player-queue{background:var(--bg-primary,#fff);border:1px solid var(--border-color,#e2e8f0);z-index:1001;border-radius:12px;flex-direction:column;width:320px;max-height:400px;display:flex;position:fixed;bottom:100px;right:16px;overflow:hidden;box-shadow:0 8px 30px #00000026}.player-queue:after{content:"";background:var(--bg-primary,#fff);border-right:1px solid var(--border-color,#e2e8f0);border-bottom:1px solid var(--border-color,#e2e8f0);z-index:-1;width:14px;height:14px;position:absolute;bottom:-8px;right:60px;transform:rotate(45deg)}.player-queue.hidden{display:none}.player-queue-header{border-bottom:1px solid var(--border-color,#e2e8f0);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.player-queue-header h3{color:var(--text-primary,#1e293b);margin:0;font-size:14px;font-weight:600}.player-queue-list{flex:1;padding:8px;overflow-y:auto}.player-queue-item{cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:8px 12px;transition:background .15s;display:flex}.player-queue-item:hover{background:var(--hover-bg,#f1f5f9)}.player-queue-item.active{background:var(--active-bg,#dbeafe)}.queue-item-num{text-align:center;width:20px;color:var(--text-secondary,#64748b);font-size:12px}.player-queue-item.active .queue-item-num{color:var(--primary-color,#667eea);font-weight:600}.queue-item-info{flex-direction:column;flex:1;min-width:0;display:flex}.queue-item-name{color:var(--text-primary,#1e293b);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.queue-item-artist{color:var(--text-secondary,#64748b);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.queue-item-duration{color:var(--text-secondary,#64748b);font-size:11px}.queue-item-remove{cursor:pointer;color:var(--text-secondary,#64748b);opacity:0;background:0 0;border:none;padding:4px;transition:opacity .15s}.player-queue-item:hover .queue-item-remove{opacity:1}.queue-item-remove:hover{color:var(--error-color,#ef4444)}.player-queue-empty{text-align:center;color:var(--text-secondary,#64748b);flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.player-queue-empty i{color:var(--text-muted,#cbd5e1);margin-bottom:12px;font-size:32px}.music-track.playing,.music-track.playing.selected{background:var(--active-bg,#dbeafe)}.music-track.playing .music-track-name{color:var(--primary-color,#667eea)}.track-num-text.hidden{display:none}.track-play-icon{color:var(--primary-color,#667eea);display:none}.player-btn.repeat-one i{position:relative}.player-btn.repeat-one i:after{content:"1";font-size:8px;position:absolute;top:0;right:0}[data-theme=dark] .music-player{background:var(--bg-secondary,#1e293b);border-color:var(--border-color,#334155)}[data-theme=dark] .player-track-name{color:var(--text-primary,#f1f5f9)}[data-theme=dark] .player-queue,[data-theme=dark] .player-queue:after{background:var(--bg-secondary,#1e293b);border-color:var(--border-color,#334155)}[data-theme=dark] .player-queue-header{border-color:var(--border-color,#334155)}[data-theme=dark] .player-queue-header h3,[data-theme=dark] .queue-item-name{color:var(--text-primary,#f1f5f9)}[data-theme=dark] #player-volume-input,[data-theme=dark] .player-progress-bar{background:var(--border-color,#334155)}@media (width<=768px){.music-player{gap:8px;height:70px;padding:0 8px}.music-player-active .music-content{height:calc(100vh - 270px)}.player-track-info{min-width:auto;max-width:120px}.player-album-art{width:44px;height:44px;font-size:16px}.player-track-name{max-width:70px;font-size:12px}.player-track-artist{max-width:70px;font-size:10px}.player-controls{max-width:none}.player-buttons{gap:4px}.player-btn{padding:6px;font-size:14px}.player-btn-main{width:36px;height:36px;font-size:16px}.player-extra{min-width:auto}.player-volume-slider{display:none}.player-queue{width:auto;left:8px;right:8px}}.music-track-drag{cursor:grab;width:28px;color:var(--text-secondary,#888);opacity:0;flex:0 0 28px;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.music-track-header .music-track-drag{cursor:default}.music-track:hover .music-track-drag{opacity:.6}.music-track-drag:active{cursor:grabbing}.music-track.dragging{opacity:.35;background:var(--bg-hover,#f0f0f0)}.music-track.drag-over{border-top:2px solid var(--primary,#4a90d9);margin-top:-2px}.music-track-actions{flex:0 0 36px;justify-content:center;align-items:center;width:36px;display:flex}.music-track-remove-btn{color:var(--text-secondary,#888);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:.85rem;transition:opacity .15s,color .15s}.music-track:hover .music-track-remove-btn{opacity:1}.music-track-remove-btn:hover{color:var(--danger,#e74c3c);background:#e74c3c14}.music-playlist-cover{cursor:pointer;position:relative;overflow:hidden}.music-cover-img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.music-cover-overlay{color:#fff;opacity:0;border-radius:inherit;background:#0006;justify-content:center;align-items:center;font-size:1.1rem;transition:opacity .2s;display:flex;position:absolute;inset:0}.music-playlist-cover:hover .music-cover-overlay{opacity:1}.music-public-badge{color:var(--primary,#4a90d9);background:#4a90d91f;border-radius:12px;align-items:center;gap:4px;margin-top:4px;padding:2px 8px;font-size:.72rem;display:inline-flex}.music-public-badge.hidden{display:none}#music-toggle-public-btn.active{color:var(--primary,#4a90d9);background:#4a90d91a}.music-shares-overlay{z-index:10000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.music-shares-panel{background:var(--bg-primary,#fff);border-radius:12px;flex-direction:column;width:420px;max-width:90vw;max-height:80vh;display:flex;box-shadow:0 8px 32px #0000002e}.music-shares-header{border-bottom:1px solid var(--border-color,#eee);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.music-shares-header h3{align-items:center;gap:8px;margin:0;font-size:.95rem;display:flex}.music-shares-close-btn{cursor:pointer;color:var(--text-secondary,#888);background:0 0;border:none;padding:4px;font-size:1rem}.music-shares-close-btn:hover{color:var(--text-primary,#333)}.music-shares-body{flex:1;min-height:60px;padding:12px 20px;overflow-y:auto}.music-shares-loading{text-align:center;color:var(--text-secondary,#888);padding:20px}.music-shares-empty{text-align:center;color:var(--text-secondary,#888);margin:0;padding:16px 0}.music-share-item{border-bottom:1px solid var(--border-color,#f0f0f0);align-items:center;gap:10px;padding:8px 0;display:flex}.music-share-item:last-child{border-bottom:none}.music-share-user{flex:1;align-items:center;gap:6px;font-size:.88rem;display:flex}.music-share-perm{color:var(--text-secondary,#888);font-size:.78rem}.music-share-remove-btn{cursor:pointer;color:var(--text-secondary,#888);background:0 0;border:none;padding:4px;transition:color .15s}.music-share-remove-btn:hover{color:var(--danger,#e74c3c)}.music-shares-add{border-top:1px solid var(--border-color,#eee);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 20px;display:flex}.music-shares-input{border:1px solid var(--border-color,#ddd);background:var(--bg-secondary,#f9f9f9);min-width:120px;color:var(--text-primary,#333);border-radius:6px;flex:1;padding:6px 10px;font-size:.88rem}.music-shares-input:focus{border-color:var(--primary,#4a90d9);outline:none}.music-shares-write-label{color:var(--text-secondary,#666);white-space:nowrap;align-items:center;gap:4px;font-size:.78rem;display:flex}[data-theme=dark] .music-shares-panel{background:var(--bg-primary,#1e1e1e)}[data-theme=dark] .music-shares-input{background:var(--bg-secondary,#2d2d2d);border-color:var(--border-color,#444);color:var(--text-primary,#e0e0e0)}[data-theme=dark] .music-track.dragging{background:var(--bg-hover,#2d2d2d)}[data-theme=dark] .music-track-remove-btn:hover{background:#e74c3c26}[data-theme=dark] .music-empty-state-title{color:var(--color-text,#e0e0e0)}[data-theme=dark] .music-empty-state-desc{color:var(--color-text-muted,#888)}.music-picker-overlay{z-index:9999;opacity:0;background:#00000073;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.music-picker-overlay.active{opacity:1}.music-picker-modal{background:var(--bg-primary,#fff);border-radius:12px;flex-direction:column;width:min(560px,94vw);max-height:min(620px,85vh);transition:transform .2s;display:flex;overflow:hidden;transform:translateY(12px);box-shadow:0 12px 40px #0003}.music-picker-overlay.active .music-picker-modal{transform:translateY(0)}.music-picker-header{border-bottom:1px solid var(--border-color,#e2e8f0);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.music-picker-header h3{color:var(--color-text,#2d3748);margin:0;font-size:16px;font-weight:600}.music-picker-header h3 i{color:var(--color-primary,#667eea);margin-right:8px}.music-picker-close{cursor:pointer;color:var(--color-text-muted,#718096);background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.music-picker-close:hover{color:var(--color-text,#2d3748)}.music-picker-search{border-bottom:1px solid var(--border-color,#e2e8f0);padding:12px 20px;position:relative}.music-picker-search i{color:var(--color-text-muted,#a0aec0);font-size:13px;position:absolute;top:50%;left:32px;transform:translateY(-50%)}.music-picker-search input{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-secondary,#f7fafc);width:100%;color:var(--color-text,#2d3748);border-radius:6px;outline:none;padding:8px 12px 8px 32px;font-size:13px}.music-picker-search input:focus{border-color:var(--color-primary,#667eea);box-shadow:0 0 0 2px #667eea26}.music-picker-list{flex:1;min-height:200px;padding:4px 0;overflow-y:auto}.music-picker-loading,.music-picker-empty{color:var(--color-text-muted,#718096);justify-content:center;align-items:center;gap:8px;padding:40px 20px;font-size:13px;display:flex}.music-picker-item{cursor:pointer;color:var(--color-text,#2d3748);align-items:center;gap:10px;padding:8px 20px;font-size:13px;transition:background .1s;display:flex}.music-picker-item:hover{background:var(--bg-hover,#edf2f7)}.music-picker-item.selected{background:#667eea14}.music-picker-item input[type=checkbox]{accent-color:var(--color-primary,#667eea);flex-shrink:0;width:16px;height:16px}.music-picker-item i.fa-file-audio{color:var(--color-primary,#667eea);flex-shrink:0;font-size:14px}.music-picker-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.music-picker-size{color:var(--color-text-muted,#a0aec0);flex-shrink:0;font-size:12px}.music-picker-footer{border-top:1px solid var(--border-color,#e2e8f0);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.music-picker-selected-count{color:var(--color-text-muted,#718096);font-size:12px;font-weight:500}.music-picker-actions{gap:8px;display:flex}[data-theme=dark] .music-picker-modal{background:var(--bg-primary,#1a202c)}[data-theme=dark] .music-picker-header h3{color:var(--color-text,#e0e0e0)}[data-theme=dark] .music-picker-search input{background:var(--bg-secondary,#2d3748);border-color:var(--border-color,#4a5568);color:var(--color-text,#e0e0e0)}[data-theme=dark] .music-picker-item{color:var(--color-text,#e0e0e0)}[data-theme=dark] .music-picker-item:hover{background:var(--bg-hover,#2d3748)}[data-theme=dark] .music-picker-item.selected{background:#667eea1f}