/* =========================================================== GENERAL STYLES & BASE LAYOUT =========================================================== */ /* GENERAL STYLES */ body { font-family: 'Roboto', sans-serif; background-color: #f5f5f5; margin: 0; transition: background-color 0.3s, color 0.3s; } /* CONTAINER */ .container { margin-top: 20px; } .container-fluid { padding-left: 5px !important; padding-right: 5px !important; margin-top: 20px; } /* Increase left/right padding for larger screens */ @media (min-width: 768px) { .container-fluid { padding-left: 50px !important; padding-right: 50px !important; } } @media (min-width: 1200px) { .container-fluid { padding-left: 100px !important; padding-right: 100px !important; } } /* =========================================================== HEADER & NAVIGATION =========================================================== */ /************************************************************/ /* FLEXBOX HEADER: LOGO, TITLE, BUTTONS FIXED */ /************************************************************/ /* 🔹 Header Container (Keeps Everything Aligned) */ .header-container { display: flex; align-items: center; justify-content: space-between; width: 100%; height: 80px; padding: 10px 20px; background-color: #2196F3; transition: background-color 0.3s ease; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); } /* 🔹 Dark Mode */ body.dark-mode .header-container { background-color: #1f1f1f; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.7); } .header-logo { max-height: 70px; width: auto; display: block; } .header-logo svg { height: 70px; /* Ensure the inline SVG matches the intended size */ width: auto; } /* 🔹 Header Layout */ header { display: flex; align-items: center; justify-content: space-between; width: 100%; height: 80px; padding: 0 20px; background-color: #2196F3; /* Light mode */ transition: background-color 0.3s ease; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); } /* 🔹 Dark Mode: Header */ body.dark-mode header { background-color: #1f1f1f; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.7); } /* 🔹 Left Section (Logo) */ .header-left { display: flex; align-items: center; flex: 1; min-width: 100px; } /* 🔹 Title (Perfectly Centered) */ .header-title { position: absolute; left: 50%; transform: translateX(-50%); text-align: center; white-space: nowrap; } .header-title h1 { font-size: 2rem; color: #fff; margin: 0; } /* 🔹 Right Section (Buttons) */ .header-buttons { display: flex; align-items: center; justify-content: flex-end; flex: 1; min-width: 150px; gap: 10px; } /* 🔹 Buttons */ .header-buttons button { background: none; border: none; cursor: pointer; padding: 10px; border-radius: 50%; color: #fff; transition: background-color 0.2s ease, box-shadow 0.2s ease; } .header-buttons button:hover { background-color: rgba(255, 255, 255, 0.2); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); } /* 🔹 Small Screens: Stack Layout */ @media (max-width: 600px) { header { flex-direction: column; text-align: center; height: auto; padding: 10px; } .header-left, .header-buttons { justify-content: center; flex: unset; } .header-title { order: 1; width: 100%; margin-bottom: 10px; position: relative; left: auto; transform: none; } .header-buttons { order: 2; flex-wrap: wrap; justify-content: center; } } .header-buttons button { background: none; border: none; cursor: pointer; padding: 10px; border-radius: 50%; color: #fff; transition: background-color 0.2s ease, box-shadow 0.2s ease; } .header-buttons button i { font-size: 24px; } .header-buttons button:hover { background-color: rgba(255, 255, 255, 0.2); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); } /* 🔹 Dark Mode Toggle Button */ .dark-mode-toggle { background-color: #424242; border: 1px solid #fff; color: #fff; padding: 6px 14px; border-radius: 6px; cursor: pointer; font-size: 0.9em; transition: background 0.3s; } .dark-mode-toggle:hover { background-color: rgba(255, 255, 255, 0.2); } /************************************************************/ /* RESPONSIVE HEADER FIXES */ /************************************************************/ /* 🔹 Medium Screens */ @media (max-width: 900px) { .header-container { flex-wrap: wrap; height: auto; } .header-title { text-align: center; flex-basis: 100%; order: 2; } .header-right { order: 3; flex-basis: 100%; justify-content: center; margin-top: 10px; } } /* 🔹 Small Screens */ @media (max-width: 600px) { .header-container { flex-direction: column; text-align: center; } .header-left { justify-content: center; flex-basis: 100%; } .header-title { font-size: 1.7rem; margin-top: 5px; } .header-buttons { flex-direction: row; justify-content: center; gap: 5px; margin-top: 10px; } } /* end of header */ /* =========================================================== MATERIAL ICONS =========================================================== */ .material-icons { font-size: 24px; vertical-align: middle; color: white; } /* folder icon and remove file to be uploaded */ .material-icons.folder-icon { color: black; margin-right: 5px; } body.dark-mode .material-icons.folder-icon { color: white; margin-right: 5px; } /* Remove button default styling */ .remove-file-btn { width: 24px; height: 24px; line-height: 24px; text-align: center; background: transparent; border: none; color: red; cursor: pointer; margin-right: 8px; padding: 0; border-radius: 50%; transition: background-color 0.3s; } .remove-file-btn:hover { background-color: red; color: white; } /* =========================================================== FORMS & LOGIN =========================================================== */ #loginForm { margin: 0 auto; max-width: 400px; background: white; padding: 20px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); border-radius: 4px; } /* Dark mode for login form */ body.dark-mode #loginForm { background-color: #2c2c2c; /* Dark background */ color: #e0e0e0; /* Light text */ padding: 20px; border-radius: 8px; box-shadow: 0 2px 4px rgba(255, 255, 255, 0.2); } /* Dark mode for input fields */ body.dark-mode #loginForm input { background-color: #333; color: #fff; border: 1px solid #555; } /* Dark mode for labels */ body.dark-mode #loginForm label { color: #ddd; } /* Dark mode for login button */ body.dark-mode #loginForm button { background-color: #007bff; color: white; border: none; } body.dark-mode #loginForm button:hover { background-color: #0056b3; } /* =========================================================== CARDS & MODALS =========================================================== */ /* Cards */ .card { background-color: #fff; color: #000; border: 1px solid #ddd; max-width: 900px; width: 100%; margin: 0 auto; } body.dark-mode .card { background-color: #2c2c2c; color: #e0e0e0; border: 1px solid #444; } /* Modal & Editor Modal */ .modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 1050; } .modal .modal-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: #fff; padding: 20px; border: 1px solid #ccc; border-radius: 4px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); max-width: 400px; width: 90%; overflow-y: auto; white-space: normal; word-wrap: break-word; overflow-wrap: break-word; height: auto; max-height: 90vh; } @media (max-width: 600px) { .modal .modal-content { transform: translate(-50%, -70%); } } body.dark-mode .modal .modal-content { background-color: #2c2c2c; color: #e0e0e0; border-color: #444; } .editor-header { display: flex; justify-content: space-between; align-items: center; padding: 5px 10px; } body.dark-mode .editor-header { background-color: #2c2c2c; } /* Fully Centered Close Button with Slight X Adjustment */ .editor-close-btn { position: absolute; top: 10px; right: 10px; display: flex; justify-content: center; align-items: center; font-size: 20px; font-weight: bold; cursor: pointer; z-index: 1000; width: 32px; height: 32px; border-radius: 50%; text-align: center; line-height: 30px; color: #ff4d4d; background-color: rgba(255, 255, 255, 0.9); border: 2px solid transparent; transition: all 0.3s ease-in-out; } /* Hover Effect */ .editor-close-btn:hover { color: white; background-color: #ff4d4d; box-shadow: 0px 0px 6px rgba(255, 77, 77, 0.8); transform: scale(1.05); } /* Dark Mode Fix */ body.dark-mode .editor-close-btn { background-color: rgba(0, 0, 0, 0.7); color: #ff6666; } body.dark-mode .editor-close-btn:hover { background-color: #ff6666; color: #000; } /* Default Editor Modal */ .editor-modal { position: fixed; top: 50%; left: 50%; transform: translate(5%, 5%); background-color: #fff; padding: 20px; border: 1px solid #ccc; border-radius: 4px; width: 50vw; max-width: 90vw; min-width: 400px; height: 600px; resize: both; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); z-index: 1100; display: flex; flex-direction: column; max-height: 90vh; overflow: hidden; } /* Dark mode styling */ body.dark-mode .editor-modal { background-color: #2c2c2c; color: #e0e0e0; border-color: #444; } /* 🔹 Small Screens: Adjust Position */ @media (max-width: 768px) { .editor-modal { top: 0%; left: 0%; transform: translate(4%, 4%) !important; width: 90vw !important; max-height: 90vh; padding: 15px; min-width: auto !important; } } .editor-title { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; font-size: 1.5rem; max-width: 95%; display: block; } @media (max-width: 600px) { .editor-title { font-size: 1.2rem; max-width: 95%; } } .editor-controls { text-align: right; margin-bottom: 5px; } .editor-textarea { flex-grow: 1; min-height: 5px !important; height: auto !important; max-height: 100vh !important; resize: none; overflow: auto; } .editor-footer { margin-top: 5px; text-align: right; } /* =========================================================== LOGOUT & USER CONTROLS =========================================================== */ .logout-container { position: absolute; top: 10px; right: 10px; display: flex; flex-direction: column; align-items: flex-end; gap: 5px; } #uploadBtn { font-size: 16px; padding: 10px 22px; align-items: center; } #customChooseBtn { background-color: #9E9E9E; color: #fff; border: none; border-radius: 4px; padding: 8px 18px; font-size: 16px; cursor: pointer; white-space: nowrap; } @media (max-width: 768px) { #customChooseBtn { font-size: 14px; padding: 6px 14px; } } /* =========================================================== UPLOAD PROGRESS STYLES =========================================================== */ #uploadProgressContainer ul { list-style: none; padding: 0; margin: 0; } #uploadProgressContainer li { display: flex; align-items: center; margin-bottom: 10px; flex-wrap: wrap; } #uploadProgressContainer .file-preview { width: 32px !important; height: 32px !important; margin-right: 0; flex-shrink: 0; } #uploadProgressContainer .file-preview img { width: 32px !important; height: 32px !important; object-fit: cover; } #uploadProgressContainer .file-name { margin: 0 20px 0 2px; flex-grow: 1; word-break: break-word; } #uploadProgressContainer .progress { background-color: #e9ecef; border-radius: 5px; overflow: hidden; margin: 5px 0 10px; height: 24px; width: 250px; } #uploadProgressContainer .progress-bar { background-color: #007bff; height: 100%; line-height: 24px; color: #000; text-align: center; transition: width 0.4s ease; font-size: 0.9rem; } #uploadProgressContainer { margin-top: 20px; } /* =========================================================== RESPONSIVE ADJUSTMENTS (General Small Screens) =========================================================== */ @media (max-width: 768px) { .logout-container { position: static; align-items: flex-end; text-align: right; margin-top: 10px; } .logout-container button { width: auto; min-width: 120px; } .hide-small { display: none; } } @media (min-width: 768px) and (max-width: 991px) { .hide-medium { display: none !important; } } /* =========================================================== BUTTON STYLES (MATERIAL THEME) & Preserve Bootstrap colors =========================================================== */ .btn { font-size: 0.9rem; border: none; border-radius: 4px; padding: 8px 16px; cursor: pointer; white-space: nowrap; text-decoration: none; display: inline-block; } .btn:hover { opacity: 0.9; } /* Specific Action Buttons */ #deleteSelectedBtn { background-color: #f44336; color: white; } #deleteSelectedBtn:hover { background-color: #d32f2f; } #copySelectedBtn { background-color: #9E9E9E; color: white; } #copySelectedBtn:hover { background-color: #757575; } #moveSelectedBtn { background-color: #ff9800; color: white; } #moveSelectedBtn:hover { background-color: #fb8c00; } #downloadZipBtn { background-color: #009688; color: white; } #downloadZipBtn:hover { background-color: #00796B; } #fileList button.edit-btn { background-color: #4CAF50; color: white; } #fileList button.edit-btn:hover { background-color: #43A047; } /* =========================================================== FILE LIST & TABLE STYLES =========================================================== */ #fileList table { background-color: transparent; border-collapse: collapse !important; border-spacing: 0 !important; table-layout: auto !important; /* Ensures flexible column widths */ width: 100% !important; } #fileList table tr:nth-child(even) { background-color: transparent; } #fileList table tr:hover { background-color: #e0e0e0; } body.dark-mode #fileList table tr:hover { background-color: #444; } #fileListTitle { white-space: normal !important; word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; display: block !important; text-align: left !important; } /* Small screens: Reduce font size for better wrapping */ @media (max-width: 600px) { #fileListTitle { font-size: 1.4rem !important; } } #fileList table tr { box-shadow: none; border: none !important; outline: none !important; } body.dark-mode #fileList table tr { box-shadow: none; border: none !important; outline: none !important; } #fileList table th, #fileList table td { border: none !important; white-space: nowrap; /* Prevents wrapping for all other columns */ } /* Ensure only File Name column wraps */ #fileList table th[data-column="name"], #fileList table td:nth-child(2) { white-space: normal !important; word-wrap: break-word !important; overflow-wrap: break-word !important; word-break: break-word !important; text-align: left !important; line-height: 1.2 !important; padding: 8px 10px !important; max-width: 200px !important; min-width: 120px !important; } /* Medium Screens */ @media (min-width: 500px) { #fileList table th[data-column="name"], #fileList table td:nth-child(2) { max-width: 250px !important; min-width: 120px !important; } } /* Large Screens */ @media (min-width: 1024px) { #fileList table th[data-column="name"], #fileList table td:nth-child(2) { max-width: 280px !important; min-width: 180px !important; } } /* Larger Screens */ @media (min-width: 1440px) { #fileList table th[data-column="name"], #fileList table td:nth-child(2) { max-width: 380px !important; min-width: 180px !important; } } /* Ensure all other columns stay in one line */ #fileList table th:not([data-column="name"]), #fileList table td:not(:nth-child(2)) { white-space: nowrap !important; } /* Reduce excessive row height */ #fileList table td { vertical-align: middle !important; padding: 8px 10px !important; } /* =========================================================== HEADINGS & FORM LABELS =========================================================== */ h2 { font-size: 2em; } .form-group { margin-bottom: 10px; } label { font-size: 0.9rem; } /* =========================================================== UTILITY CLASSES =========================================================== */ .align-items-center { display: flex; align-items: center; } .table th button { background: none; border: none; color: inherit; cursor: pointer; padding: 0; } #loginForm, #uploadForm { display: none; } /* Add spacing below the row of cards */ #uploadFolderRow { margin-bottom: 20px; } @media (max-width: 768px) { #uploadFolderRow .col-md-6 { margin-bottom: 15px; } #uploadFolderRow .col-md-6:last-child { margin-bottom: 0; } } .card-header { font-size: 1.2rem; font-weight: bold; } .card-body .form-group { margin-bottom: 5px !important; } #createFolderBtn { margin-top: 0px !important; } .folder-actions { display: flex; flex-wrap: nowrap; padding-left: 8px; align-items: center; white-space: nowrap; } @media (min-width: 600px) and (max-width: 992px) { .folder-actions { white-space: nowrap; } } .row-selected { background-color: #f2f2f2 !important; } body.dark-mode .row-selected { background-color: #444 !important; color: #fff !important; } .custom-prev-next-btn { background-color: #e0e0e0; color: #000; border: none; padding: 6px 12px; font-size: 14px; border-radius: 4px; margin: 0 4px; cursor: pointer; } .custom-prev-next-btn:hover:not(:disabled) { background-color: #d5d5d5; } body.dark-mode .custom-prev-next-btn { background-color: #444; color: #fff; border: none; } body.dark-mode .custom-prev-next-btn:hover:not(:disabled) { background-color: #555; } .folder-option:hover { background-color: #f0f0f0; padding: 2px 4px; } .folder-option.selected { background-color: #d0d0d0; border-radius: 4px; padding: 2px 4px; } body.dark-mode .folder-option.selected { background-color: #444; color: #fff; border-radius: 4px; padding: 2px 4px; } body.dark-mode .folder-option:hover { background-color: #333; color: #fff; padding: 2px 4px; } .custom-folder-card-body { padding-top: 5px !important; } /* Toast Notifications */ #customToast { position: fixed; top: 20px; right: 20px; background: #333; color: #fff; padding: 15px; border-radius: 4px; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3); opacity: 0; transition: opacity 0.5s ease; z-index: 9999; min-width: 250px; display: none; } #customToast.show { opacity: 1; } /* Button Wrap */ .button-wrap { display: flex; flex-wrap: wrap; row-gap: 5px; column-gap: 0px; } /* Center-align on small screens */ @media (max-width: 500px) { .button-wrap { width: 100%; } } .button-wrap .btn { align-items: center; height: 32px !important; font-size: 14px !important; } /* Ensure Material Icons inside buttons do not enlarge buttons */ .button-wrap .btn i.material-icons { font-size: 16px !important; line-height: 1 !important; vertical-align: middle !important; } /* File List Section */ #fileListContainer { padding: 10px; margin-top: 20px; margin-bottom: 20px; } body.dark-mode #fileListContainer { background-color: #2c2c2c; color: #e0e0e0; border: 1px solid #444; border-radius: 8px; padding: 10px; margin-top: 20px; } #fileListContainer>h2, #fileListContainer>.file-list-actions, #fileListContainer>#fileList { margin-left: 15px; } @media (max-width: 768px) { #fileListContainer>h2, #fileListContainer>.file-list-actions, #fileListContainer>#fileList { margin-left: 1px; } } .col-12.col-md-4.text-left { margin-left: -15px; } @media (max-width: 600px) { .col-12.col-md-4.text-left { margin-left: -15px; } } #fileListTitle { font-size: 1.8em; margin-bottom: 15px; } .file-list-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 20px; } .file-list-actions .action-btn { flex: 0 1 auto; } .modal-footer { margin-top: 15px; text-align: right; } .modal-input { width: 100%; margin-top: 10px; } /* Responsive adjustments for File List */ @media (max-width: 600px) { #fileListTitle { font-size: 1.4em; } .file-list-actions { flex-direction: column; align-items: stretch; } .file-list-actions .action-btn { width: 100%; } .modal-content { width: 95%; margin: 20% auto; } } /* =========================================================== FOLDER TREE STYLES =========================================================== */ .folder-tree { list-style-type: none; padding-left: 10px; margin: 0; } .folder-tree.collapsed { display: none; } .folder-tree.expanded { display: block; } .folder-item { margin: 4px 0; display: block; } .folder-toggle { cursor: pointer; margin-right: 5px; display: inline-block; width: 25px; text-align: right; } .folder-indent-placeholder { display: inline-block; width: 30px; } .folder-option { cursor: pointer; } #folderTreeContainer { display: block; } /* =========================================================== FILE MANAGER INLINE STYLE REMOVAL - New Classes =========================================================== */ .image-modal-header { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; text-align: center; min-height: 30px; margin: 0 auto 10px; padding: 10px; width: 95%; } .image-preview-modal-content { max-width: fit-content !important; max-height: 90vh; background: #fff; padding: 20px !important; border-radius: 4px; overflow: hidden !important; margin: auto; position: relative; display: inline-flex !important; flex-direction: column; align-items: center; justify-content: center; } @media (max-width: 600px) { .image-preview-modal-content { max-width: fit-content !important; padding: 5px !important; overflow: hidden !important; display: inline-flex !important; } } body.dark-mode .image-preview-modal-content { background: #2c2c2c; border-color: #444; } .preview-btn { display: flex; align-items: center; justify-content: center; } .preview-btn i.material-icons { vertical-align: middle; margin: 0; margin-top: -2px; } /* Ensure the image resizes properly */ .image-modal-img { max-width: 100%; max-height: 80vh; object-fit: contain; display: block; margin: 0 auto; } /* Image Preview Close Button (Perfect Alignment) */ .close-image-modal { position: absolute; top: 10px; right: 15px; font-size: 24px; font-weight: bold; cursor: pointer; z-index: 1000; color: #ff4d4d; background-color: rgba(255, 255, 255, 0.8); border-radius: 50%; width: 32px; height: 32px; display: flex; justify-content: center; align-items: center; line-height: 1; padding-bottom: 2px; transition: all 0.3s ease-in-out; } /* Hover Effect */ .close-image-modal:hover { color: white; background-color: #ff4d4d; box-shadow: 0px 0px 6px rgba(255, 77, 77, 0.8); transform: scale(1.05); } /* Dark Mode Adjustments */ body.dark-mode .close-image-modal { background-color: rgba(0, 0, 0, 0.6); color: #ff6666; } body.dark-mode .close-image-modal:hover { background-color: #ff6666; color: #000; } /* Fix Dark Mode */ body.dark-mode .image-preview-modal-content { background: #2c2c2c; border-color: #444; } .image-modal-img { max-width: 100%; max-height: 80vh; object-fit: contain; display: block; margin: 0 auto; } .page-indicator { margin: 0 8px; white-space: nowrap; } .clickable-row { cursor: pointer; } .file-icon { color: #333; margin-right: 0; margin-left: 0; font-size: 32px; } /* Dark Mode Styles */ body.dark-mode .file-icon { color: white; } .bottom-select { display: inline-block; width: auto !important; font-size: 16px !important; height: 28px !important; padding: 2px 8px !important; line-height: 1.2 !important; border-radius: 4px !important; vertical-align: middle !important; } .label-inline { display: inline-flex; align-items: center; height: 28px !important; font-size: 16px !important; line-height: 1.2; margin-bottom: 0; } .items-per-page-text { display: inline-flex; align-items: center; height: 28px !important; font-size: 16px !important; line-height: 1.2; margin-left: 8px; } /* =========================================================== UPLOAD MODULE INLINE STYLE REMOVAL - New Classes =========================================================== */ .upload-instruction { margin-bottom: 10px; font-size: 16px; } /* Upload row stays a row */ .upload-file-row { display: flex; align-items: center; justify-content: center; word-break: break-word; } /* New wrapper ensures File Info appears below */ .file-info-wrapper { display: flex; flex-direction: column; justify-content: center !important; align-items: center !important; margin-top: 10px; } /* Ensure file info wraps properly */ .file-info-container { display: flex; flex-wrap: wrap !important; justify-content: center !important; align-items: center; flex-wrap: wrap; gap: 5px; } .file-preview-container { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; align-items: center !important; gap: 5px !important; max-width: 100% !important; text-align: center !important; } /* Ensure images are responsive */ .file-preview-img { max-width: 100px; max-height: 100px; margin-right: 5px; justify-content: center !important; height: auto; display: block !important; } /* Small screens: Ensure it wraps properly */ @media (max-width: 600px) { .file-preview-container { justify-content: center !important; } } .file-name-display { vertical-align: middle; margin-left: 5px; } .upload-progress-wrapper { max-height: 300px; overflow-y: auto; } .upload-progress-list { list-style: none; padding: 0; } .upload-progress-item { padding-top: 10px; margin-bottom: 10px; display: flex; align-items: center; flex-wrap: wrap; } .upload-progress-extra { padding-top: 10px; margin-bottom: 10px; display: flex; } .upload-file-name { flex-grow: 1; margin-left: 5px; word-break: break-word; } .upload-progress-div { flex: 0 0 250px; margin-left: 5px; } /* =========================================================== DARK MODE STYLES =========================================================== */ body.dark-mode { background-color: #121212; color: #e0e0e0; } body.dark-mode .container { background-color: transparent !important; } /* Preserve Bootstrap button colors in dark mode */ body.dark-mode .btn-primary { background-color: #007bff; color: #fff; border-color: #007bff; } body.dark-mode .btn-secondary { background-color: #6c757d; color: #fff; border-color: #6c757d; } body.dark-mode .btn-danger { background-color: #dc3545; color: #fff; border-color: #dc3545; } /* Dark mode for modals */ body.dark-mode .modal .modal-content, body.dark-mode .editor-modal { background-color: #2c2c2c; color: #e0e0e0; border: 1px solid #444; } /* Dark mode for file list/table */ body.dark-mode table { background-color: #2c2c2c; color: #e0e0e0; } body.dark-mode table tr:hover { background-color: #444; } /* Dark mode for uploads */ body.dark-mode #uploadProgressContainer .progress { background-color: #333; } body.dark-mode #uploadProgressContainer .progress-bar { background-color: #007bff; color: #e0e0e0; } /* 🔹 Dark Mode Toggle Styled to Blend into Header */ .dark-mode-toggle { background-color: transparent !important; border: 1px solid transparent !important; color: white !important; padding: 6px 12px !important; border-radius: 6px !important; font-size: 0.9em !important; font-weight: 500 !important; cursor: pointer !important; transition: background 0.3s, border 0.3s !important; } /* 🔹 Hover Effect - Subtle Border */ .dark-mode-toggle:hover { background-color: rgba(255, 255, 255, 0.15) !important; /* Slight highlight */ } /* 🔹 Active/Clicked Effect */ .dark-mode-toggle:active { background-color: rgba(255, 255, 255, 0.25) !important; } /* 🔹 Dark Mode Version */ body.dark-mode .dark-mode-toggle { background-color: transparent !important; color: white !important; } /* 🔹 Dark Mode Hover Effect */ body.dark-mode .dark-mode-toggle:hover { background-color: rgba(255, 255, 255, 0.15) !important; } /* 🔹 Remove Circle Effect */ .dark-mode-toggle:focus { outline: none !important; box-shadow: none !important; } /* Default (light mode) styling */ .folder-help-details { margin-top: 2px; font-size: 12px; color: #555; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px; padding: 10px; } .folder-help-summary { cursor: pointer; list-style: none; color: #000; background: #f9f9f9; padding: 2px; display: inline-block; } .folder-help-icon { vertical-align: middle; color: #d96601; font-size: 20px !important; } .folder-help-list { margin: 0; padding-left: 20px; } /* Dark mode overrides */ body.dark-mode .folder-help-details { color: #ddd; background-color: #2c2c2c; border-color: #444; } body.dark-mode .folder-help-summary { color: #ddd; background: #2c2c2c; } body.dark-mode .folder-help-icon { color: #f6a72c; font-size: 20px; } body.dark-mode #searchIcon { background-color: #444; border: 1px solid #555; border-radius: 4px; color: #fff; padding: 4px 8px; } body.dark-mode #searchInput { background-color: #333; color: #e0e0e0; border: 1px solid #555; } /* Default (light mode) styling for folderExplanation */ .folder-explanation { margin-top: 5px; padding: 5px; font-size: 12px; color: #555; background-color: solid transparent; border: 1px solid transparent; border-radius: 2px; } /* Dark mode override */ body.dark-mode .folder-explanation { color: #ddd; background-color: solid transparent; border: 1px solid transparent; } /* Apply dark theme for CodeMirror when dark mode is enabled */ body.dark-mode .CodeMirror { background: #1e1e1e !important; color: #ffffff !important; } /* Ensure cursor is visible */ body.dark-mode .CodeMirror-cursor { border-left: 2px solid #ffffff !important; } /* Change line number gutter background */ body.dark-mode .CodeMirror-gutters { background: #252526 !important; border-right: 1px solid #444 !important; } /* Change line number text color */ body.dark-mode .CodeMirror-linenumber { color: #aaaaaa !important; } /* Change text selection background */ body.dark-mode .CodeMirror-selected { background: rgba(255, 255, 255, 0.2) !important; } /* Change matching brackets highlight */ body.dark-mode .CodeMirror-matchingbracket { background-color: rgba(255, 255, 255, 0.1) !important; border-bottom: 1px solid #ffffff !important; }