From 5255713fc0aac8e95d9921aaeb501f8cbf7a6f16 Mon Sep 17 00:00:00 2001 From: ADARSH <64017655+0x0806@users.noreply.github.com> Date: Sat, 5 Jul 2025 16:14:19 +0530 Subject: [PATCH] Create style.css --- style.css | 1341 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1341 insertions(+) create mode 100644 style.css diff --git a/style.css b/style.css new file mode 100644 index 0000000..9afcd71 --- /dev/null +++ b/style.css @@ -0,0 +1,1341 @@ +/* Reset and Base Styles */ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +:root { + --primary-color: #00d4ff; + --secondary-color: #0099cc; + --background-dark: #0f0f23; + --background-medium: #1a1a2e; + --background-light: #16213e; + --text-primary: #ffffff; + --text-secondary: rgba(255, 255, 255, 0.8); + --text-muted: rgba(255, 255, 255, 0.6); + --border-color: rgba(255, 255, 255, 0.1); + --hover-color: rgba(255, 255, 255, 0.05); + --success-color: #2ed573; + --warning-color: #ffa502; + --danger-color: #ff4757; + --gradient-primary: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%); + --gradient-background: linear-gradient(135deg, var(--background-dark) 0%, var(--background-medium) 100%); + --shadow-small: 0 2px 8px rgba(0, 0, 0, 0.1); + --shadow-medium: 0 4px 16px rgba(0, 0, 0, 0.15); + --shadow-large: 0 8px 32px rgba(0, 0, 0, 0.2); + --border-radius: 12px; + --border-radius-small: 8px; + --border-radius-large: 16px; + --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); +} + +body { + font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + background: var(--gradient-background); + color: var(--text-primary); + line-height: 1.6; + overflow-x: hidden; + font-size: 14px; +} + +/* Dashboard Layout */ +.dashboard { + display: flex; + min-height: 100vh; + position: relative; +} + +/* Sidebar */ +.sidebar { + width: 320px; + background: rgba(26, 26, 46, 0.95); + backdrop-filter: blur(20px); + border-right: 1px solid var(--border-color); + display: flex; + flex-direction: column; + position: fixed; + height: 100vh; + left: 0; + top: 0; + z-index: 1000; + transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + overflow-y: auto; +} + +.sidebar-header { + padding: 24px 20px; + border-bottom: 1px solid var(--border-color); + display: flex; + align-items: center; + justify-content: space-between; +} + +.logo { + display: flex; + align-items: center; + gap: 12px; + font-size: 18px; + font-weight: 700; + color: var(--primary-color); +} + +.logo i { + font-size: 22px; +} + +.sidebar-toggle { + background: none; + border: none; + color: var(--text-primary); + font-size: 16px; + cursor: pointer; + padding: 8px; + border-radius: var(--border-radius-small); + transition: var(--transition); + display: none; +} + +.sidebar-toggle:hover { + background: var(--hover-color); +} + +/* Search Container */ +.search-container { + padding: 20px; + border-bottom: 1px solid var(--border-color); +} + +.search-box { + position: relative; + margin-bottom: 12px; +} + +.search-box i { + position: absolute; + left: 12px; + top: 50%; + transform: translateY(-50%); + color: var(--text-muted); + font-size: 14px; +} + +.search-box input { + width: 100%; + background: rgba(255, 255, 255, 0.08); + border: 1px solid var(--border-color); + border-radius: var(--border-radius); + padding: 12px 16px 12px 40px; + color: var(--text-primary); + font-size: 14px; + transition: var(--transition); +} + +.search-box input:focus { + outline: none; + border-color: var(--primary-color); + background: rgba(255, 255, 255, 0.12); + box-shadow: 0 0 0 3px rgba(0, 212, 255, 0.1); +} + +.search-box input::placeholder { + color: var(--text-muted); +} + +.filter-controls { + display: flex; + gap: 8px; +} + +.filter-controls select { + flex: 1; + background: rgba(255, 255, 255, 0.08); + border: 1px solid var(--border-color); + border-radius: var(--border-radius-small); + padding: 8px 12px; + color: var(--text-primary); + font-size: 12px; + cursor: pointer; +} + +.filter-controls select:focus { + outline: none; + border-color: var(--primary-color); +} + +/* Navigation */ +.sidebar-nav { + flex: 1; + padding: 20px 0; +} + +.nav-section { + margin-bottom: 24px; +} + +.nav-section h3 { + color: var(--text-muted); + font-size: 12px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.5px; + margin-bottom: 12px; + padding: 0 20px; +} + +.nav-section ul { + list-style: none; +} + +.nav-item { + display: flex; + align-items: center; + gap: 12px; + padding: 12px 20px; + cursor: pointer; + transition: var(--transition); + position: relative; + font-size: 14px; + font-weight: 500; +} + +.nav-item:hover { + background: var(--hover-color); + color: var(--primary-color); +} + +.nav-item.active { + background: rgba(0, 212, 255, 0.1); + color: var(--primary-color); + border-right: 3px solid var(--primary-color); +} + +.nav-item i { + width: 18px; + font-size: 14px; + text-align: center; +} + +.folder-item { + display: flex; + align-items: center; + gap: 8px; + padding: 8px 20px; + cursor: pointer; + transition: var(--transition); + font-size: 13px; +} + +.folder-item:hover { + background: var(--hover-color); + color: var(--primary-color); +} + +.folder-item.active { + background: rgba(0, 212, 255, 0.1); + color: var(--primary-color); +} + +.folder-count { + margin-left: auto; + background: rgba(255, 255, 255, 0.1); + color: var(--text-secondary); + font-size: 11px; + padding: 2px 6px; + border-radius: 10px; + font-weight: 500; +} + +/* Sidebar Footer */ +.sidebar-footer { + padding: 20px; + border-top: 1px solid var(--border-color); +} + +.stats { + display: flex; + gap: 16px; + margin-bottom: 16px; +} + +.stat { + text-align: center; + flex: 1; +} + +.stat-number { + display: block; + font-size: 20px; + font-weight: 700; + color: var(--primary-color); + line-height: 1; +} + +.stat-label { + font-size: 11px; + color: var(--text-muted); + text-transform: uppercase; + letter-spacing: 0.5px; +} + +.developer-info { + text-align: center; + font-size: 12px; + color: var(--text-muted); +} + +.developer-info strong { + color: var(--primary-color); +} + +/* Main Content */ +.main-content { + flex: 1; + margin-left: 320px; + min-height: 100vh; + display: flex; + flex-direction: column; + transition: margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1); +} + +/* Header */ +.header { + background: rgba(26, 26, 46, 0.95); + backdrop-filter: blur(20px); + border-bottom: 1px solid var(--border-color); + padding: 20px 32px; + display: flex; + align-items: center; + justify-content: space-between; + position: sticky; + top: 0; + z-index: 100; +} + +.header-left { + display: flex; + align-items: center; + gap: 16px; +} + +.mobile-menu-btn { + background: none; + border: none; + color: var(--text-primary); + font-size: 18px; + cursor: pointer; + padding: 8px; + border-radius: var(--border-radius-small); + transition: var(--transition); + display: none; +} + +.mobile-menu-btn:hover { + background: var(--hover-color); +} + +.breadcrumb h1 { + font-size: 24px; + font-weight: 700; + background: var(--gradient-primary); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; + margin-bottom: 4px; +} + +.breadcrumb p { + color: var(--text-secondary); + font-size: 14px; +} + +.header-right { + display: flex; + align-items: center; + gap: 16px; +} + +.view-controls { + display: flex; + gap: 4px; + background: rgba(255, 255, 255, 0.05); + border-radius: var(--border-radius); + padding: 4px; +} + +.view-btn { + background: none; + border: none; + color: var(--text-secondary); + font-size: 14px; + cursor: pointer; + padding: 8px 12px; + border-radius: var(--border-radius-small); + transition: var(--transition); +} + +.view-btn:hover { + background: var(--hover-color); + color: var(--text-primary); +} + +.view-btn.active { + background: var(--primary-color); + color: var(--background-dark); +} + +.header-actions { + display: flex; + gap: 8px; +} + +.action-btn { + background: rgba(255, 255, 255, 0.05); + border: 1px solid var(--border-color); + color: var(--text-secondary); + font-size: 14px; + cursor: pointer; + padding: 10px 12px; + border-radius: var(--border-radius); + transition: var(--transition); +} + +.action-btn:hover { + background: var(--hover-color); + border-color: var(--primary-color); + color: var(--primary-color); +} + +/* Content Area */ +.content-area { + flex: 1; + padding: 32px; + position: relative; +} + +.view-section { + display: none; +} + +.view-section.active { + display: block; + animation: fadeIn 0.3s ease-out; +} + +/* Dashboard View */ +.dashboard-grid { + display: grid; + grid-template-columns: 1fr 1fr; + grid-template-rows: auto auto; + gap: 24px; + height: 100%; +} + +.dashboard-card { + background: rgba(255, 255, 255, 0.05); + backdrop-filter: blur(20px); + border: 1px solid var(--border-color); + border-radius: var(--border-radius-large); + padding: 24px; + transition: var(--transition); +} + +.dashboard-card:hover { + border-color: rgba(0, 212, 255, 0.3); + box-shadow: var(--shadow-medium); +} + +.dashboard-card h3 { + font-size: 18px; + font-weight: 600; + color: var(--primary-color); + margin-bottom: 20px; +} + +.stats-card .stats-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 20px; +} + +.stat-item { + display: flex; + align-items: center; + gap: 12px; + padding: 16px; + background: rgba(255, 255, 255, 0.03); + border-radius: var(--border-radius); + transition: var(--transition); +} + +.stat-item:hover { + background: rgba(255, 255, 255, 0.08); +} + +.stat-item i { + font-size: 24px; + color: var(--primary-color); +} + +.stat-item .stat-number { + font-size: 24px; + font-weight: 700; + color: var(--text-primary); + line-height: 1; +} + +.stat-item .stat-label { + font-size: 12px; + color: var(--text-muted); + text-transform: uppercase; +} + +.quick-actions { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 12px; +} + +.quick-btn { + background: rgba(255, 255, 255, 0.03); + border: 1px solid var(--border-color); + color: var(--text-primary); + padding: 16px; + border-radius: var(--border-radius); + cursor: pointer; + transition: var(--transition); + display: flex; + flex-direction: column; + align-items: center; + gap: 8px; + text-align: center; +} + +.quick-btn:hover { + background: rgba(0, 212, 255, 0.1); + border-color: var(--primary-color); + color: var(--primary-color); + transform: translateY(-2px); +} + +.quick-btn i { + font-size: 20px; +} + +.quick-btn span { + font-size: 12px; + font-weight: 500; +} + +.folders-card { + grid-column: 1 / -1; +} + +.folder-chart { + display: flex; + flex-wrap: wrap; + gap: 12px; +} + +.chart-item { + background: rgba(255, 255, 255, 0.03); + border: 1px solid var(--border-color); + border-radius: var(--border-radius); + padding: 16px; + flex: 1; + min-width: 150px; + text-align: center; + transition: var(--transition); +} + +.chart-item:hover { + background: rgba(255, 255, 255, 0.08); + border-color: var(--primary-color); +} + +.chart-item .folder-name { + font-size: 14px; + font-weight: 600; + color: var(--text-primary); + margin-bottom: 8px; +} + +.chart-item .file-count { + font-size: 20px; + font-weight: 700; + color: var(--primary-color); + line-height: 1; +} + +.chart-item .file-label { + font-size: 11px; + color: var(--text-muted); + text-transform: uppercase; +} + +/* Grid View */ +.files-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); + gap: 20px; +} + +.file-card { + background: rgba(255, 255, 255, 0.05); + backdrop-filter: blur(20px); + border: 1px solid var(--border-color); + border-radius: var(--border-radius-large); + padding: 20px; + cursor: pointer; + transition: var(--transition); + position: relative; + overflow: hidden; +} + +.file-card:hover { + transform: translateY(-4px); + border-color: var(--primary-color); + box-shadow: var(--shadow-large); +} + +.file-card::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 3px; + background: var(--gradient-primary); + opacity: 0; + transition: opacity 0.3s ease; +} + +.file-card:hover::before { + opacity: 1; +} + +.file-header { + display: flex; + align-items: flex-start; + gap: 12px; + margin-bottom: 12px; +} + +.file-icon { + font-size: 24px; + color: var(--primary-color); + min-width: 24px; +} + +.file-info { + flex: 1; +} + +.file-name { + font-size: 16px; + font-weight: 600; + color: var(--text-primary); + margin-bottom: 4px; + line-height: 1.3; +} + +.file-path { + font-size: 12px; + color: var(--text-muted); + font-family: 'Monaco', 'Menlo', monospace; +} + +.file-meta { + display: flex; + justify-content: space-between; + align-items: center; + margin-top: 12px; + padding-top: 12px; + border-top: 1px solid var(--border-color); +} + +.file-folder { + background: rgba(0, 212, 255, 0.1); + color: var(--primary-color); + font-size: 11px; + padding: 4px 8px; + border-radius: 12px; + font-weight: 500; +} + +.file-size { + font-size: 11px; + color: var(--text-muted); +} + +/* List View */ +.files-list { + background: rgba(255, 255, 255, 0.05); + border: 1px solid var(--border-color); + border-radius: var(--border-radius-large); + overflow: hidden; +} + +.list-header { + display: grid; + grid-template-columns: 2fr 1fr 80px 100px; + gap: 16px; + padding: 16px 20px; + background: rgba(255, 255, 255, 0.05); + border-bottom: 1px solid var(--border-color); + font-size: 12px; + font-weight: 600; + color: var(--text-muted); + text-transform: uppercase; + letter-spacing: 0.5px; +} + +.list-body { + max-height: 70vh; + overflow-y: auto; +} + +.list-item { + display: grid; + grid-template-columns: 2fr 1fr 80px 100px; + gap: 16px; + padding: 16px 20px; + border-bottom: 1px solid var(--border-color); + cursor: pointer; + transition: var(--transition); + align-items: center; +} + +.list-item:hover { + background: rgba(255, 255, 255, 0.05); +} + +.list-item:last-child { + border-bottom: none; +} + +.list-file-info { + display: flex; + align-items: center; + gap: 12px; +} + +.list-file-info i { + color: var(--primary-color); + font-size: 16px; + min-width: 16px; +} + +.list-file-name { + font-weight: 500; + color: var(--text-primary); +} + +.list-folder { + color: var(--text-secondary); + font-size: 13px; +} + +.list-size { + color: var(--text-muted); + font-size: 12px; + font-family: 'Monaco', 'Menlo', monospace; +} + +.list-actions { + display: flex; + gap: 8px; +} + +.list-action-btn { + background: none; + border: none; + color: var(--text-muted); + font-size: 12px; + cursor: pointer; + padding: 4px 8px; + border-radius: var(--border-radius-small); + transition: var(--transition); +} + +.list-action-btn:hover { + background: var(--hover-color); + color: var(--primary-color); +} + +/* Tree View */ +.tree-container { + display: grid; + grid-template-columns: 300px 1fr; + gap: 24px; + height: 70vh; +} + +.tree-sidebar { + background: rgba(255, 255, 255, 0.05); + border: 1px solid var(--border-color); + border-radius: var(--border-radius-large); + overflow-y: auto; +} + +.tree-structure { + padding: 20px; +} + +.tree-folder { + margin-bottom: 8px; +} + +.tree-folder-header { + display: flex; + align-items: center; + gap: 8px; + padding: 8px; + cursor: pointer; + border-radius: var(--border-radius-small); + transition: var(--transition); + font-weight: 600; + color: var(--primary-color); +} + +.tree-folder-header:hover { + background: var(--hover-color); +} + +.tree-folder-header.collapsed .tree-folder-icon { + transform: rotate(-90deg); +} + +.tree-folder-icon { + transition: transform 0.3s ease; +} + +.tree-files { + margin-left: 20px; + margin-top: 8px; +} + +.tree-files.collapsed { + display: none; +} + +.tree-file { + display: flex; + align-items: center; + gap: 8px; + padding: 6px 8px; + cursor: pointer; + border-radius: var(--border-radius-small); + transition: var(--transition); + font-size: 13px; +} + +.tree-file:hover { + background: var(--hover-color); +} + +.tree-file.active { + background: rgba(0, 212, 255, 0.1); + color: var(--primary-color); +} + +.tree-content { + background: rgba(255, 255, 255, 0.05); + border: 1px solid var(--border-color); + border-radius: var(--border-radius-large); + overflow: hidden; +} + +.file-preview { + height: 100%; + overflow-y: auto; + padding: 20px; +} + +.preview-placeholder { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 100%; + color: var(--text-muted); +} + +.preview-placeholder i { + font-size: 48px; + margin-bottom: 16px; +} + +.preview-content { + display: none; +} + +.preview-content.active { + display: block; +} + +.preview-content h1 { + color: var(--primary-color); + font-size: 24px; + margin-bottom: 16px; + border-bottom: 2px solid rgba(0, 212, 255, 0.3); + padding-bottom: 8px; +} + +.preview-content h2 { + color: var(--text-primary); + font-size: 20px; + margin: 20px 0 12px 0; +} + +.preview-content h3 { + color: var(--text-primary); + font-size: 18px; + margin: 16px 0 8px 0; +} + +.preview-content p { + line-height: 1.6; + margin-bottom: 12px; + color: var(--text-secondary); +} + +.preview-content code { + background: rgba(0, 212, 255, 0.1); + padding: 2px 6px; + border-radius: 4px; + font-family: 'Monaco', 'Menlo', monospace; + font-size: 13px; +} + +.preview-content pre { + background: rgba(0, 0, 0, 0.3); + padding: 16px; + border-radius: var(--border-radius); + overflow-x: auto; + margin: 12px 0; + border: 1px solid var(--border-color); +} + +.preview-content ul, .preview-content ol { + margin-left: 20px; + margin-bottom: 12px; +} + +.preview-content blockquote { + border-left: 4px solid var(--primary-color); + padding-left: 16px; + margin: 16px 0; + opacity: 0.8; + background: rgba(0, 212, 255, 0.05); + padding: 16px; + border-radius: var(--border-radius); +} + +/* Modal */ +.modal { + display: none; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.8); + z-index: 2000; + backdrop-filter: blur(8px); +} + +.modal.active { + display: flex; + align-items: center; + justify-content: center; + animation: fadeIn 0.3s ease-out; +} + +.modal-content { + background: var(--background-medium); + border: 1px solid var(--border-color); + border-radius: var(--border-radius-large); + width: 90%; + max-width: 900px; + max-height: 90%; + display: flex; + flex-direction: column; + box-shadow: var(--shadow-large); +} + +.modal-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 20px 24px; + border-bottom: 1px solid var(--border-color); +} + +.modal-header h2 { + font-size: 20px; + font-weight: 600; + color: var(--primary-color); +} + +.modal-close { + background: none; + border: none; + color: var(--text-muted); + font-size: 18px; + cursor: pointer; + padding: 8px; + border-radius: var(--border-radius-small); + transition: var(--transition); +} + +.modal-close:hover { + background: var(--hover-color); + color: var(--text-primary); +} + +.modal-body { + flex: 1; + overflow: hidden; + display: flex; + flex-direction: column; +} + +.modal-file-info { + display: flex; + align-items: center; + justify-content: space-between; + padding: 16px 24px; + border-bottom: 1px solid var(--border-color); + background: rgba(255, 255, 255, 0.03); +} + +.file-path { + font-family: 'Monaco', 'Menlo', monospace; + font-size: 12px; + color: var(--text-muted); +} + +.file-actions { + display: flex; + gap: 8px; +} + +.modal-content-area { + flex: 1; + overflow-y: auto; + padding: 24px; +} + +/* Loading Overlay */ +.loading-overlay { + display: none; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(15, 15, 35, 0.95); + z-index: 3000; + backdrop-filter: blur(8px); +} + +.loading-overlay.active { + display: flex; + align-items: center; + justify-content: center; +} + +.loading-spinner { + text-align: center; + color: var(--primary-color); +} + +.loading-spinner i { + font-size: 48px; + margin-bottom: 16px; +} + +.loading-spinner p { + font-size: 16px; + font-weight: 500; +} + +/* Mobile Overlay */ +.mobile-overlay { + display: none; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.5); + z-index: 998; +} + +.mobile-overlay.active { + display: block; +} + +/* Notifications */ +.notification { + position: fixed; + top: 20px; + right: 20px; + padding: 12px 20px; + border-radius: 8px; + color: white; + font-weight: 500; + z-index: 10000; + transform: translateX(400px); + transition: transform 0.3s ease; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); +} + +.notification.success { + background: linear-gradient(135deg, #10b981, #059669); +} + +.notification.error { + background: linear-gradient(135deg, #ef4444, #dc2626); +} + +.notification.show { + transform: translateX(0); +} + +/* Empty State */ +.empty-state { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 60px 20px; + text-align: center; + color: var(--text-secondary); +} + +.empty-state i { + font-size: 3rem; + margin-bottom: 1rem; + opacity: 0.5; +} + +.empty-state h3 { + margin: 0 0 0.5rem 0; + color: var(--text-primary); +} + +.empty-state p { + margin: 0; + font-size: 0.9rem; +} + +/* Chart Styles */ +.chart-item { + margin-bottom: 1rem; +} + +.chart-bar { + width: 100%; + height: 8px; + background: var(--background-secondary); + border-radius: 4px; + overflow: hidden; + margin-bottom: 0.5rem; +} + +.chart-fill { + height: 100%; + background: linear-gradient(135deg, var(--primary-color), var(--accent-color)); + border-radius: 4px; + transition: width 0.3s ease; +} + +.chart-label { + display: flex; + justify-content: space-between; + font-size: 0.85rem; + color: var(--text-secondary); +} + +/* Tree View Improvements */ +.tree-folder { + margin-bottom: 1rem; +} + +.folder-header { + display: flex; + align-items: center; + gap: 0.5rem; + padding: 0.75rem; + background: var(--background-secondary); + border-radius: 8px; + cursor: pointer; + transition: all 0.2s ease; +} + +.folder-header:hover { + background: var(--background-tertiary); +} + +.folder-header i.fa-chevron-down { + transition: transform 0.2s ease; +} + +.folder-files { + margin-top: 0.5rem; + margin-left: 1rem; +} + +.tree-file { + display: flex; + align-items: center; + gap: 0.5rem; + padding: 0.5rem 0.75rem; + border-radius: 6px; + cursor: pointer; + transition: all 0.2s ease; +} + +.tree-file:hover { + background: var(--background-secondary); +} + +.tree-file.active { + background: var(--primary-color); + color: white; +} + +/* File Preview */ +.file-preview { + height: 100%; + overflow-y: auto; + padding: 1rem; +} + +.preview-placeholder { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 100%; + color: var(--text-secondary); +} + +.preview-placeholder i { + font-size: 3rem; + margin-bottom: 1rem; + opacity: 0.5; +} + +.preview-header { + margin-bottom: 1rem; + padding-bottom: 1rem; + border-bottom: 1px solid var(--border-color); +} + +.preview-header h3 { + margin: 0 0 0.5rem 0; + color: var(--text-primary); +} + +.preview-header p { + margin: 0; + font-size: 0.85rem; + color: var(--text-secondary); +} + +.preview-content { + line-height: 1.6; +} + +/* Improved Mobile Responsiveness */ +@media (max-width: 768px) { + .dashboard-grid { + grid-template-columns: 1fr; + gap: 1rem; + } + + .stats-grid { + grid-template-columns: repeat(2, 1fr); + } + + .header-right { + gap: 0.5rem; + } + + .view-controls { + display: none; + } + + .quick-actions { + grid-template-columns: 1fr; + } + + .files-grid { + grid-template-columns: 1fr; + } + + .file-card { + padding: 1rem; + } + + .list-header { + display: none; + } + + .list-row { + flex-direction: column; + align-items: flex-start; + gap: 0.5rem; + padding: 1rem; + } + + .tree-container { + flex-direction: column; + } + + .tree-sidebar { + width: 100%; + border-right: none; + border-bottom: 1px solid var(--border-color); + } + + .notification { + right: 10px; + left: 10px; + transform: translateY(-100px); + } + + .notification.show { + transform: translateY(0); + } +} + +/* Custom utilities */ +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.d-none { + display: none !important; +} + +.d-block { + display: block !important; +} + +.opacity-50 { + opacity: 0.5; +} + +.cursor-pointer { + cursor: pointer; +} + +.user-select-none { + user-select: none; +}