/* Dialog animations */ @keyframes modalFadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes modalSlideIn { from { transform: scale(0.95) translateY(-10px); opacity: 0; } to { transform: scale(1) translateY(0); opacity: 1; } } /* Dialog (Rename / Move / Confirm) — Modern Style */ .rename-dialog { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.45); display: none; align-items: center; justify-content: center; z-index: 3000; backdrop-filter: blur(2px); animation: modalFadeIn 0.2s ease; } .rename-dialog-content { background-color: white; border-radius: 16px; width: 420px; max-width: 90%; box-shadow: 0 20px 60px rgba(0,0,0,0.25); overflow: hidden; animation: modalSlideIn 0.25s ease; } .rename-dialog-header { font-size: 17px; font-weight: 600; color: #1a202c; padding: 20px 24px; border-bottom: 1px solid #e2e8f0; display: flex; align-items: center; gap: 12px; } .rename-dialog-body { padding: 24px; } .rename-dialog input { width: 100%; padding: 12px 16px; border: 2px solid #e2e8f0; border-radius: 10px; font-size: 15px; background: #f8fafc; color: #1a202c; transition: all 0.15s ease; outline: none; } .rename-dialog input:focus { border-color: #ff5e3a; background: white; box-shadow: 0 0 0 3px rgba(255, 94, 58, 0.1); } .rename-dialog-buttons { display: flex; justify-content: flex-end; gap: 12px; padding: 16px 24px; background: #f8fafc; border-top: 1px solid #e2e8f0; } /* Share Dialog — Modern Style */ .share-dialog { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.45); display: none; justify-content: center; align-items: center; z-index: 3000; backdrop-filter: blur(2px); animation: modalFadeIn 0.2s ease; } .share-dialog-content { background-color: white; border-radius: 16px; width: 480px; max-width: 90%; box-shadow: 0 20px 60px rgba(0,0,0,0.25); overflow: hidden; animation: modalSlideIn 0.25s ease; max-height: 85vh; overflow-y: auto; } .share-dialog-header { font-size: 17px; font-weight: 600; color: #1a202c; padding: 20px 24px; border-bottom: 1px solid #e2e8f0; display: flex; align-items: center; gap: 12px; } .share-dialog input, .share-dialog textarea { width: 100%; padding: 10px 14px; border: 2px solid #e2e8f0; border-radius: 10px; font-size: 14px; background: #f8fafc; color: #1a202c; transition: all 0.15s ease; outline: none; } .share-dialog input:focus, .share-dialog textarea:focus { border-color: #ff5e3a; background: white; box-shadow: 0 0 0 3px rgba(255,94,58,0.1); } .share-dialog-buttons { display: flex; justify-content: flex-end; gap: 12px; padding: 16px 24px; background: #f8fafc; border-top: 1px solid #e2e8f0; } .shared-item-info { padding: 12px 24px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; font-size: 14px; } .share-options { padding: 20px 24px 0; } .share-options h3, #existing-shares-section h3, #new-share-section h3 { font-size: 13px; font-weight: 600; margin-bottom: 10px; color: #4a5568; text-transform: uppercase; letter-spacing: 0.5px; } #existing-shares-section, #new-share-section { padding: 0 24px; } .share-dialog .form-group { padding: 0; } /* Shared View Dialog (edit/notification dialogs inside sharedView component) */ .shared-dialog { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.45); display: none; justify-content: center; align-items: center; z-index: 3000; backdrop-filter: blur(2px); animation: modalFadeIn 0.2s ease; } .shared-dialog.active { display: flex; } .shared-dialog-content { background-color: white; border-radius: 16px; width: 480px; max-width: 90%; box-shadow: 0 20px 60px rgba(0,0,0,0.25); overflow: hidden; animation: modalSlideIn 0.25s ease; max-height: 85vh; overflow-y: auto; padding: 0; } .shared-dialog-header { font-size: 17px; font-weight: 600; color: #1a202c; padding: 20px 24px; border-bottom: 1px solid #e2e8f0; display: flex; align-items: center; gap: 12px; } .shared-dialog-header .close-dialog-btn { margin-left: auto; background: none; border: none; font-size: 22px; cursor: pointer; color: #718096; padding: 4px 8px; border-radius: 6px; transition: all 0.15s; } .shared-dialog-header .close-dialog-btn:hover { background: #f0f0f0; color: #1a202c; } .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 { display: block; font-weight: 600; margin-bottom: 8px; color: #2d3748; font-size: 14px; } .shared-dialog .share-link-input { display: flex; gap: 8px; } .shared-dialog .share-link-input input { flex: 1; padding: 8px 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 13px; background: #f8fafc; color: #1a202c; } .shared-dialog .share-permissions-section label, .shared-dialog .share-password-section label, .shared-dialog .share-expiration-section label { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 14px; color: #4a5568; } .shared-dialog .password-input-group { display: flex; gap: 8px; margin-top: 8px; } .shared-dialog .password-input-group input { flex: 1; padding: 8px 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 13px; background: #f8fafc; } .shared-dialog .share-expiration-section input[type="date"] { padding: 8px 12px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 13px; background: #f8fafc; margin-top: 8px; } .shared-dialog .share-actions, .shared-dialog .notification-actions { display: flex; justify-content: flex-end; gap: 12px; padding: 16px 24px; background: #f8fafc; border-top: 1px solid #e2e8f0; } .shared-dialog .notification-form input, .shared-dialog .notification-form textarea { width: 100%; padding: 10px 14px; border: 2px solid #e2e8f0; border-radius: 10px; font-size: 14px; background: #f8fafc; color: #1a202c; outline: none; transition: all 0.15s ease; box-sizing: border-box; } .shared-dialog .notification-form input:focus, .shared-dialog .notification-form textarea:focus { border-color: #ff5e3a; background: white; box-shadow: 0 0 0 3px rgba(255,94,58,0.1); } .shared-dialog .notification-form .form-group { padding: 0; margin-bottom: 15px; } /* Folder select items in move dialog */ .folder-select-item { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 8px; cursor: pointer; transition: all 0.15s ease; color: #4a5568; font-size: 14px; } .folder-select-item:hover { background-color: #f0f3f7; } .folder-select-item.selected { background-color: rgba(255,94,58,0.1); color: #ff5e3a; font-weight: 600; } .folder-select-item i { color: #ffa94d; font-size: 16px; } .folder-select-item.selected i { color: #ff5e3a; } /* Custom confirm dialog */ .confirm-dialog { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.45); display: none; align-items: center; justify-content: center; z-index: 4000; backdrop-filter: blur(2px); animation: modalFadeIn 0.2s ease; } .confirm-dialog.active { display: flex; opacity: 1; } .confirm-dialog-content { background: white; border-radius: 16px; width: 400px; max-width: 90%; box-shadow: 0 20px 60px rgba(0,0,0,0.25); overflow: hidden; animation: modalSlideIn 0.25s ease; text-align: center; } .confirm-dialog-icon { padding: 28px 24px 12px; } .confirm-dialog-icon i { font-size: 40px; color: #f56565; } .confirm-dialog-title { font-size: 17px; font-weight: 600; color: #1a202c; padding: 0 24px 8px; } .confirm-dialog-message { font-size: 14px; color: #718096; padding: 0 24px 20px; line-height: 1.5; } .confirm-dialog-buttons { display: flex; gap: 12px; padding: 16px 24px; background: #f8fafc; border-top: 1px solid #e2e8f0; justify-content: flex-end; } .confirm-dialog-buttons .btn-danger { background: linear-gradient(135deg, #f56565 0%, #e53e3e 100%); color: white; border: none; padding: 10px 20px; border-radius: 10px; font-weight: 500; cursor: pointer; transition: all 0.15s ease; box-shadow: 0 2px 8px rgba(229,62,62,0.3); } .confirm-dialog-buttons .btn-danger:hover { box-shadow: 0 4px 12px rgba(229,62,62,0.4); transform: translateY(-1px); } /* Dialog styles */ .dialog { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); display: none; align-items: center; justify-content: center; z-index: 1000; } .dialog.active { display: flex; } .dialog-content { background-color: white; border-radius: 10px; box-shadow: 0 10px 25px rgba(0,0,0,0.1); width: 500px; max-width: 90%; max-height: 90vh; overflow-y: auto; } .dialog-header { padding: 15px 20px; border-bottom: 1px solid #e2e8f0; display: flex; align-items: center; justify-content: space-between; } .dialog-header h3 { font-size: 18px; color: #2d3748; margin: 0; } .close-dialog-btn { background: none; border: none; font-size: 24px; cursor: pointer; color: #a0aec0; } .dialog-body { padding: 20px; } .share-item-info { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; } .share-link-container { display: flex; gap: 10px; } .share-link-container input { flex-grow: 1; padding: 10px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 14px; } [data-theme="dark"] .rename-dialog-content { background-color: #1e293b; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5); } [data-theme="dark"] .rename-dialog-header { color: #f1f5f9; border-bottom-color: #334155; } [data-theme="dark"] .rename-dialog input { background: #0f172a; color: #e2e8f0; border-color: #334155; } [data-theme="dark"] .rename-dialog input:focus { border-color: #ff5e3a; background: #0f172a; } [data-theme="dark"] .rename-dialog-buttons { background: #162032; border-top-color: #334155; } [data-theme="dark"] .shared-dialog-content { background-color: #1e293b; } [data-theme="dark"] .shared-dialog-header { color: #e2e8f0; border-bottom-color: #334155; } [data-theme="dark"] .shared-dialog-header .close-dialog-btn { color: #94a3b8; } [data-theme="dark"] .shared-dialog-header .close-dialog-btn:hover { background: #334155; color: #e2e8f0; } [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: #0f172a; border-color: #334155; color: #e2e8f0; } [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: #ff5e3a; background: #1e293b; } [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: #e2e8f0; } [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: #94a3b8; } [data-theme="dark"] .shared-dialog .share-actions, [data-theme="dark"] .shared-dialog .notification-actions { background: #162032; border-top-color: #334155; } [data-theme="dark"] .confirm-dialog-content { background-color: #1e293b; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5); } [data-theme="dark"] .confirm-dialog-header { color: #f1f5f9; } [data-theme="dark"] .confirm-dialog-message { color: #94a3b8; } [data-theme="dark"] .confirm-dialog-buttons { background: #162032; border-top-color: #334155; } [data-theme="dark"] .move-dialog-content { background-color: #1e293b; } [data-theme="dark"] .move-dialog-header { color: #f1f5f9; border-bottom-color: #334155; } [data-theme="dark"] .move-dialog .folder-tree { background: #0f172a; border-color: #334155; } [data-theme="dark"] .move-dialog .folder-tree-item { color: #cbd5e1; } [data-theme="dark"] .move-dialog .folder-tree-item:hover { background: #334155; } [data-theme="dark"] .move-dialog .folder-tree-item.selected { background: rgba(255, 94, 58, 0.1); color: #ff5e3a; } [data-theme="dark"] .move-dialog-buttons { background: #162032; border-top-color: #334155; } [data-theme="dark"] .share-dialog-content { background-color: #1e293b; } [data-theme="dark"] .share-dialog-header { color: #f1f5f9; border-bottom-color: #334155; } [data-theme="dark"] .share-dialog-body label { color: #94a3b8; } [data-theme="dark"] .share-dialog-body input { background: #0f172a; border-color: #334155; color: #e2e8f0; } [data-theme="dark"] .share-dialog-body input:focus { border-color: #ff5e3a; background: #0f172a; } [data-theme="dark"] .share-link-container { background: #0f172a; border-color: #334155; } [data-theme="dark"] .share-link-container input { color: #e2e8f0; } [data-theme="dark"] .share-dialog-buttons { background: #162032; border-top-color: #334155; } [data-theme="dark"] .dialog { background-color: rgba(0, 0, 0, 0.6); } [data-theme="dark"] .dialog-content { background-color: #1e293b; color: #e2e8f0; } [data-theme="dark"] .dialog-header { border-bottom-color: #334155; } [data-theme="dark"] .dialog-header h3 { color: #f1f5f9; } [data-theme="dark"] .dialog-body label { color: #94a3b8; } [data-theme="dark"] .dialog-body input, [data-theme="dark"] .dialog-body textarea { background-color: #0f172a; border-color: #334155; color: #e2e8f0; } [data-theme="dark"] .dialog-body input:focus, [data-theme="dark"] .dialog-body textarea:focus { border-color: #ff5e3a; } [data-theme="dark"] .close-dialog-btn { color: #94a3b8; } [data-theme="dark"] .close-dialog-btn:hover { color: #f1f5f9; } [data-theme="dark"] .share-setting label { color: #94a3b8; } [data-theme="dark"] .permissions-options label span { color: #e2e8f0; } [data-theme="dark"] .share-item-info { color: #e2e8f0; }