refactor(css): maximize usage of variables (1st part, to simplify CSS & style)

note: there is still work to do, but has there are risks to conflict I prefer to commit this first part now
This commit is contained in:
Edouard Vanbelle
2026-04-08 11:03:20 +02:00
parent 904aca5edf
commit 94b36e41e0
35 changed files with 2957 additions and 2535 deletions
+9 -9
View File
@@ -5,7 +5,7 @@
flex-wrap: wrap;
margin-bottom: 15px;
font-size: 14px;
color: #666;
color: var(--color-text-medium);
gap: 2px;
}
@@ -20,29 +20,29 @@
.breadcrumb-link {
cursor: pointer;
color: #5a6f8a;
color: var(--color-text-muted);
}
.breadcrumb-link.drop-target {
background-color: rgba(255, 193, 7, 0.1);
border: 2px dashed #ffc107;
background-color: var(--color-warning-ring);
border: 2px dashed var(--color-warning-border);
}
.breadcrumb-link:hover {
text-decoration: underline;
color: #ff5e3a;
background: rgba(255, 94, 58, 0.06);
color: var(--color-accent);
background: var(--color-accent-bg);
}
.breadcrumb-current {
font-weight: 600;
color: #333;
color: var(--color-text-black);
cursor: default;
}
.breadcrumb-separator {
margin: 0 4px;
color: #adb5bd;
color: var(--color-text-faint);
font-size: 12px;
user-select: none;
}
@@ -61,5 +61,5 @@
}
.breadcrumb-home.breadcrumb-link:hover {
background: rgba(255, 94, 58, 0.1);
background: var(--color-accent-ring);
}
+25 -25
View File
@@ -17,53 +17,53 @@
}
.btn-primary {
background: linear-gradient(135deg, #ff5e3a 0%, #ff2d55 100%);
color: white;
box-shadow: 0 4px 15px rgba(255, 94, 58, 0.3);
background: var(--color-accent-gradient);
color: var(--color-danger-text);
box-shadow: 0 4px 15px var(--color-accent-shadow);
}
.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(255, 94, 58, 0.4);
box-shadow: 0 6px 20px var(--color-accent-shadow-lg);
}
.btn-primary:active {
transform: translateY(0);
box-shadow: 0 2px 10px rgba(255, 94, 58, 0.3);
box-shadow: 0 2px 10px var(--color-accent-shadow);
}
.btn-secondary {
background-color: #f8fafc;
color: #4a5568;
border: 2px solid #e2e8f0;
background-color: var(--color-bg-hover);
color: var(--color-text-secondary);
border: 2px solid var(--color-border);
}
.btn-secondary:hover {
background-color: #edf2f7;
border-color: #cbd5e0;
background-color: var(--color-bg-input-alt);
border-color: var(--color-border-medium);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
box-shadow: 0 4px 12px var(--color-shadow-sm);
}
.btn-secondary:active {
transform: translateY(0);
background-color: #e2e8f0;
background-color: var(--color-border);
}
.btn-danger {
background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
color: white;
box-shadow: 0 4px 15px rgba(239, 68, 68, 0.3);
background: var(--color-danger-gradient);
color: var(--color-danger-text);
box-shadow: 0 4px 15px var(--color-danger-ring);
}
.btn-danger:hover {
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(239, 68, 68, 0.4);
box-shadow: 0 6px 20px var(--color-danger-ring-lg);
}
.btn-danger:active {
transform: translateY(0);
box-shadow: 0 2px 10px rgba(239, 68, 68, 0.3);
box-shadow: 0 2px 10px var(--color-danger-ring);
}
/* View Toggle Buttons */
@@ -71,9 +71,9 @@
display: flex;
gap: 2px;
padding: 3px;
background-color: #f0f3f7;
background-color: var(--color-bg-muted);
border-radius: 10px;
border: 1px solid #e2e8f0;
border: 1px solid var(--color-border);
}
.toggle-btn {
@@ -86,20 +86,20 @@
border: none;
border-radius: 8px;
cursor: pointer;
color: #94a3b8;
color: var(--color-text-faint);
font-size: 14px;
transition: all 0.2s ease;
}
.toggle-btn:hover {
background-color: #e2e8f0;
color: #64748b;
background-color: var(--color-border);
color: var(--color-text-subtle);
}
.toggle-btn.active {
background-color: white;
color: #ff5e3a;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
background-color: var(--color-bg-surface);
color: var(--color-accent);
box-shadow: 0 1px 3px var(--color-shadow);
}
.toggle-btn i {
+111 -152
View File
@@ -14,8 +14,8 @@
/* Rubber band / lasso selection rectangle */
.selection-rect {
position: fixed;
border: 1.5px solid var(--primary-color, #e67e22);
background-color: rgba(230, 126, 34, 0.08);
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;
@@ -27,14 +27,14 @@
}
.files-grid-view .file-item {
background-color: white;
background-color: var(--color-bg-surface);
border-radius: 12px;
border: 2px solid #e2e8f0;
border: 2px solid var(--color-border);
padding: 16px;
display: flex;
flex-direction: column;
align-items: center;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
box-shadow: 0 1px 3px var(--color-shadow-xs);
cursor: pointer;
width: 100%;
min-height: 160px;
@@ -43,23 +43,23 @@
.files-grid-view .file-item:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
border-color: #cbd5e0;
box-shadow: 0 5px 15px var(--color-shadow-sm);
border-color: var(--color-border-medium);
}
.files-grid-view .file-item.selected {
border-color: #ff5e3a;
background: #fff8f6;
border-color: var(--color-accent);
background: var(--color-item-selected);
box-shadow:
0 0 0 1px rgba(255, 94, 58, 0.15),
0 4px 12px rgba(255, 94, 58, 0.1);
0 0 0 1px var(--color-accent-ring-dark),
0 4px 12px var(--color-accent-ring);
}
.files-grid-view .file-item.selected:hover {
border-color: #ff5e3a;
border-color: var(--color-accent);
box-shadow:
0 0 0 1px rgba(255, 94, 58, 0.2),
0 6px 18px rgba(255, 94, 58, 0.15);
0 0 0 1px var(--color-accent-ring-strong),
0 6px 18px var(--color-accent-ring-dark);
}
/* element hidden on grid view */
@@ -75,7 +75,7 @@
width: 22px;
height: 22px;
border-radius: 6px;
background: white;
background: var(--color-bg-surface);
display: flex;
align-items: center;
justify-content: center;
@@ -90,12 +90,12 @@
.files-grid-view .file-item.selected .checkbox-cell {
opacity: 1;
background: #ff5e3a;
border-color: #ff5e3a;
background: var(--color-accent);
border-color: var(--color-accent);
}
.files-grid-view .file-item.selected .checkbox-cell i {
color: white;
color: var(--color-danger-text);
font-size: 11px;
}
@@ -115,7 +115,7 @@
opacity: 0;
z-index: 10;
cursor: pointer;
color: #64748b;
color: var(--color-text-subtle);
font-size: 16px;
}
@@ -124,8 +124,8 @@
}
.files-grid-view .file-actions:hover {
background: #f1f5f9;
color: #334155;
background: var(--color-border-light);
color: var(--color-text-dark);
}
/* Favorite star (mirrors file-actions button pattern) */
@@ -144,7 +144,7 @@
opacity: 0;
z-index: 12;
cursor: pointer;
color: #cbd5e0;
color: var(--color-border-medium);
font-size: 15px;
padding: 0;
line-height: 1;
@@ -155,16 +155,16 @@
}
.files-grid-view .file-item button.favorite-star:hover {
color: #fbbf24;
color: var(--color-star-text);
}
.files-grid-view .file-item button.favorite-star.active {
opacity: 1;
color: #f59e0b;
color: var(--color-star-text-hover);
}
.files-grid-view .file-item button.favorite-star.active:hover {
color: #d97706;
color: var(--color-star-active);
}
.files-grid-view .file-item.dragging {
@@ -174,8 +174,8 @@
}
.files-grid-view .file-item.drop-target {
background-color: rgba(255, 193, 7, 0.1);
border: 2px dashed #ffc107;
background-color: var(--color-warning-ring);
border: 2px dashed var(--color-warning-border);
}
/* ensure icon centered */
@@ -195,7 +195,7 @@
.file-icon.folder-icon {
width: 100px;
height: 70px;
background-color: #ffeaa7;
background-color: var(--color-warning-bg);
border-radius: 8px;
position: relative;
margin-bottom: 10px;
@@ -211,18 +211,18 @@
left: 0;
right: 0;
height: 20px;
background-color: #fdcb6e;
background-color: var(--color-warning-bg-dark);
border-radius: 8px 8px 0 0;
}
.file-icon.pdf-icon {
width: 100px;
height: 70px;
background-color: #fee2e2;
background-color: var(--color-error-bg);
border-radius: 4px;
position: relative;
margin-bottom: 10px;
border-top: 3px solid #e53e3e;
border-top: 3px solid var(--color-danger-text-alt);
display: flex;
align-items: center;
justify-content: center;
@@ -232,7 +232,7 @@
content: "PDF";
font-size: 16px;
font-weight: 700;
color: #e53e3e;
color: var(--color-danger-text-alt);
opacity: 0.65;
letter-spacing: 1px;
}
@@ -240,11 +240,11 @@
.file-icon.doc-icon {
width: 100px;
height: 70px;
background-color: #ebf5fb;
background-color: var(--color-info-bg);
border-radius: 4px;
position: relative;
margin-bottom: 10px;
border-top: 3px solid #2b6cb0;
border-top: 3px solid var(--color-info-border);
overflow: hidden;
}
@@ -255,7 +255,7 @@
left: 18px;
right: 18px;
height: 3px;
background-color: #2b6cb0;
background-color: var(--color-info-border);
opacity: 0.3;
border-radius: 2px;
}
@@ -267,7 +267,7 @@
left: 18px;
right: 28px;
height: 3px;
background-color: #2b6cb0;
background-color: var(--color-info-border);
opacity: 0.25;
border-radius: 2px;
}
@@ -275,11 +275,11 @@
.file-icon.script-icon {
width: 100px;
height: 70px;
background-color: #e8f5e9;
background-color: var(--color-success-bg-green);
border-radius: 4px;
position: relative;
margin-bottom: 10px;
border-top: 3px solid #4eaa25;
border-top: 3px solid var(--color-success-text-green);
display: flex;
align-items: center;
justify-content: center;
@@ -290,18 +290,18 @@
font-size: 18px;
font-weight: 700;
font-family: monospace;
color: #4eaa25;
color: var(--color-success-text-green);
opacity: 0.55;
}
.file-icon.config-icon {
width: 100px;
height: 70px;
background-color: #f1f3f5;
background-color: var(--color-neutral-bg);
border-radius: 4px;
position: relative;
margin-bottom: 10px;
border-top: 3px solid #718096;
border-top: 3px solid var(--color-text-muted);
overflow: hidden;
}
@@ -312,7 +312,7 @@
left: 16px;
width: 10px;
height: 10px;
border: 2px solid #718096;
border: 2px solid var(--color-text-muted);
border-radius: 50%;
opacity: 0.4;
}
@@ -324,7 +324,7 @@
left: 34px;
right: 16px;
height: 3px;
background-color: #718096;
background-color: var(--color-text-muted);
opacity: 0.3;
border-radius: 2px;
}
@@ -332,7 +332,7 @@
.file-icon.image-icon {
width: 100px;
height: 70px;
background-color: #74b9ff;
background-color: var(--color-cal-2);
border-radius: 4px;
position: relative;
margin-bottom: 10px;
@@ -357,31 +357,31 @@
left: 15px;
width: 20px;
height: 20px;
background-color: #ffda79;
background-color: var(--color-cal-4);
border-radius: 50%;
}
*/
.file-icon.video-icon {
width: 100px;
height: 70px;
background: linear-gradient(135deg, #e0e7ff 0%, #ede9fe 50%, #fce7f3 100%);
background: var(--color-purple-bg-gradient);
border-radius: 10px;
position: relative;
margin-bottom: 10px;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid rgba(139, 92, 246, 0.15);
border: 1px solid var(--color-purple-border-light);
}
.file-icon.video-icon::before {
content: "";
width: 36px;
height: 36px;
background: linear-gradient(135deg, #8b5cf6 0%, #a855f7 100%);
background: var(--color-purple-gradient);
border-radius: 50%;
position: absolute;
box-shadow: 0 3px 10px rgba(139, 92, 246, 0.35);
box-shadow: 0 3px 10px var(--color-purple-shadow);
}
.file-icon.video-icon::after {
@@ -390,7 +390,7 @@
height: 0;
border-top: 7px solid transparent;
border-bottom: 7px solid transparent;
border-left: 11px solid white;
border-left: 11px solid var(--color-danger-text);
position: absolute;
margin-left: 3px;
}
@@ -398,11 +398,11 @@
.file-icon.code-icon {
width: 100px;
height: 70px;
background-color: #e2e8f0;
background-color: var(--color-border);
border-radius: 4px;
position: relative;
margin-bottom: 10px;
border-top: 3px solid #556ee6;
border-top: 3px solid var(--color-ft-generic-blue);
overflow: hidden;
}
@@ -413,7 +413,7 @@
left: 10px;
right: 10px;
height: 2px;
background-color: #556ee6;
background-color: var(--color-ft-generic-blue);
}
.file-icon.code-icon::before {
@@ -432,7 +432,7 @@
position: absolute;
left: 10px;
height: 2px;
background-color: #a0aec0;
background-color: var(--color-ft-generic-gray);
}
.file-icon.code-icon .code-line-1 {
@@ -451,184 +451,184 @@
}
.file-icon.json-icon {
border-top-color: #ffb86c;
border-top-color: var(--color-ft-orange-light);
}
.file-icon.json-icon::before,
.file-icon.json-icon::after {
background-color: #ffb86c;
background-color: var(--color-ft-orange-light);
}
.file-icon.js-icon {
border-top-color: #ffd43b;
border-top-color: var(--color-ft-yellow);
}
.file-icon.js-icon::before,
.file-icon.js-icon::after {
background-color: #ffd43b;
background-color: var(--color-ft-yellow);
}
.file-icon.html-icon {
border-top-color: #e34c26;
border-top-color: var(--color-ft-html);
}
.file-icon.html-icon::before,
.file-icon.html-icon::after {
background-color: #e34c26;
background-color: var(--color-ft-html);
}
.file-icon.css-icon {
border-top-color: #2965f1;
border-top-color: var(--color-ft-js);
}
.file-icon.css-icon::before,
.file-icon.css-icon::after {
background-color: #2965f1;
background-color: var(--color-ft-js);
}
.file-icon.py-icon {
border-top-color: #3776ab;
border-top-color: var(--color-ft-python);
}
.file-icon.py-icon::before,
.file-icon.py-icon::after {
background-color: #3776ab;
background-color: var(--color-ft-python);
}
.file-icon.ts-icon {
border-top-color: #3178c6;
border-top-color: var(--color-ft-typescript);
}
.file-icon.ts-icon::before,
.file-icon.ts-icon::after {
background-color: #3178c6;
background-color: var(--color-ft-typescript);
}
.file-icon.rust-icon {
border-top-color: #dea584;
border-top-color: var(--color-ft-rust);
}
.file-icon.rust-icon::before,
.file-icon.rust-icon::after {
background-color: #dea584;
background-color: var(--color-ft-rust);
}
.file-icon.go-icon {
border-top-color: #00add8;
border-top-color: var(--color-ft-go);
}
.file-icon.go-icon::before,
.file-icon.go-icon::after {
background-color: #00add8;
background-color: var(--color-ft-go);
}
.file-icon.java-icon {
border-top-color: #e76f00;
border-top-color: var(--color-ft-java);
}
.file-icon.java-icon::before,
.file-icon.java-icon::after {
background-color: #e76f00;
background-color: var(--color-ft-java);
}
.file-icon.c-icon {
border-top-color: #555;
border-top-color: var(--color-ft-shell);
}
.file-icon.c-icon::before,
.file-icon.c-icon::after {
background-color: #555;
background-color: var(--color-ft-shell);
}
.file-icon.cs-icon {
border-top-color: #68217a;
border-top-color: var(--color-ft-csharp);
}
.file-icon.cs-icon::before,
.file-icon.cs-icon::after {
background-color: #68217a;
background-color: var(--color-ft-csharp);
}
.file-icon.php-icon {
border-top-color: #8892be;
border-top-color: var(--color-ft-php);
}
.file-icon.php-icon::before,
.file-icon.php-icon::after {
background-color: #8892be;
background-color: var(--color-ft-php);
}
.file-icon.ruby-icon {
border-top-color: #cc342d;
border-top-color: var(--color-ft-ruby);
}
.file-icon.ruby-icon::before,
.file-icon.ruby-icon::after {
background-color: #cc342d;
background-color: var(--color-ft-ruby);
}
.file-icon.swift-icon {
border-top-color: #fa7343;
border-top-color: var(--color-ft-swift);
}
.file-icon.swift-icon::before,
.file-icon.swift-icon::after {
background-color: #fa7343;
background-color: var(--color-ft-swift);
}
.file-icon.kotlin-icon {
border-top-color: #7f52ff;
border-top-color: var(--color-ft-kotlin);
}
.file-icon.kotlin-icon::before,
.file-icon.kotlin-icon::after {
background-color: #7f52ff;
background-color: var(--color-ft-kotlin);
}
.file-icon.sql-icon {
border-top-color: #e38c00;
border-top-color: var(--color-ft-scala);
}
.file-icon.sql-icon::before,
.file-icon.sql-icon::after {
background-color: #e38c00;
background-color: var(--color-ft-scala);
}
.file-icon.yaml-icon {
border-top-color: #cb171e;
border-top-color: var(--color-ft-angular);
}
.file-icon.yaml-icon::before,
.file-icon.yaml-icon::after {
background-color: #cb171e;
background-color: var(--color-ft-angular);
}
.file-icon.toml-icon {
border-top-color: #9c4221;
border-top-color: var(--color-ft-cpp);
}
.file-icon.toml-icon::before,
.file-icon.toml-icon::after {
background-color: #9c4221;
background-color: var(--color-ft-cpp);
}
.file-icon.md-icon {
border-top-color: #083fa1;
border-top-color: var(--color-ft-docker);
}
.file-icon.md-icon::before,
.file-icon.md-icon::after {
background-color: #083fa1;
background-color: var(--color-ft-docker);
}
.file-icon.spreadsheet-icon {
width: 100px;
height: 70px;
background-color: #e6f4ea;
background-color: var(--color-success-bg-alt);
border-radius: 4px;
position: relative;
margin-bottom: 10px;
border-top: 3px solid #0d904f;
border-top: 3px solid var(--color-success-text-alt);
overflow: hidden;
display: flex;
align-items: center;
@@ -643,19 +643,19 @@
width: 64px;
height: 44px;
background:
repeating-linear-gradient(to bottom, #0d904f 0px, #0d904f 1px, transparent 1px, transparent 11px),
repeating-linear-gradient(to right, #0d904f 0px, #0d904f 1px, transparent 1px, transparent 22px);
repeating-linear-gradient(to bottom, var(--color-success-text-alt) 0px, var(--color-success-text-alt) 1px, transparent 1px, transparent 11px),
repeating-linear-gradient(to right, var(--color-success-text-alt) 0px, var(--color-success-text-alt) 1px, transparent 1px, transparent 22px);
opacity: 0.35;
}
.file-icon.presentation-icon {
width: 100px;
height: 70px;
background-color: #fef3e2;
background-color: var(--color-warning-bg-orange);
border-radius: 4px;
position: relative;
margin-bottom: 10px;
border-top: 3px solid #d04423;
border-top: 3px solid var(--color-warning-text-orange);
overflow: hidden;
display: flex;
align-items: center;
@@ -669,7 +669,7 @@
left: 22px;
width: 56px;
height: 38px;
border: 2px solid #d04423;
border: 2px solid var(--color-warning-text-orange);
border-radius: 4px;
opacity: 0.4;
}
@@ -683,18 +683,18 @@
height: 0;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
border-left: 14px solid #d04423;
border-left: 14px solid var(--color-warning-text-orange);
opacity: 0.5;
}
.file-icon.audio-icon {
width: 100px;
height: 70px;
background-color: #fff3e0;
background-color: var(--color-warning-orange-bg);
border-radius: 4px;
position: relative;
margin-bottom: 10px;
border-top: 3px solid #f57c00;
border-top: 3px solid var(--color-warning-orange-text);
overflow: hidden;
display: flex;
align-items: center;
@@ -704,18 +704,18 @@
.file-icon.audio-icon::before {
content: "♪";
font-size: 28px;
color: #f57c00;
color: var(--color-warning-orange-text);
opacity: 0.6;
}
.file-icon.archive-icon {
width: 100px;
height: 70px;
background-color: #f5f0eb;
background-color: var(--color-neutral-warm-bg);
border-radius: 4px;
position: relative;
margin-bottom: 10px;
border-top: 3px solid #8d6e63;
border-top: 3px solid var(--color-neutral-warm-text);
overflow: hidden;
display: flex;
align-items: center;
@@ -729,18 +729,18 @@
left: 45px;
width: 10px;
height: 46px;
background: repeating-linear-gradient(to bottom, #8d6e63 0px, #8d6e63 5px, #f5f0eb 5px, #f5f0eb 10px);
background: repeating-linear-gradient(to bottom, var(--color-neutral-warm-text) 0px, var(--color-neutral-warm-text) 5px, var(--color-neutral-warm-bg) 5px, var(--color-neutral-warm-bg) 10px);
opacity: 0.5;
}
.file-icon.installer-icon {
width: 100px;
height: 70px;
background-color: #f3e8ff;
background-color: var(--color-purple-bg);
border-radius: 4px;
position: relative;
margin-bottom: 10px;
border-top: 3px solid #7c3aed;
border-top: 3px solid var(--color-purple-text);
overflow: hidden;
display: flex;
align-items: center;
@@ -750,7 +750,7 @@
.file-icon.installer-icon::before {
content: "⬇";
font-size: 24px;
color: #7c3aed;
color: var(--color-purple-text);
opacity: 0.5;
}
@@ -759,7 +759,7 @@
font-weight: 500;
text-align: center;
margin-bottom: 5px;
color: #2d3748;
color: var(--color-text);
max-width: 100%;
white-space: nowrap;
overflow: hidden;
@@ -779,47 +779,6 @@
.files-grid-view .file-item .type-cell {
font-size: 12px;
color: #718096;
color: var(--color-text-muted);
text-align: center;
}
[data-theme="dark"] .files-grid-view .file-item {
background-color: #1e293b;
border-color: #334155;
}
[data-theme="dark"] .files-grid-view .file-item:hover {
border-color: #475569;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
[data-theme="dark"] .files-grid-view .file-item.selected {
border-color: #ff5e3a;
background: #1a1520;
}
[data-theme="dark"] .files-grid-view .file-item .checkbox-cell {
background: #1e293b;
border-color: #475569;
}
[data-theme="dark"] .files-grid-view .file-actions {
color: #94a3b8;
}
[data-theme="dark"] .files-grid-view .file-actions:hover {
background: #334155;
color: #e2e8f0;
}
[data-theme="dark"] .files-grid-view .file-item .name-cell {
color: #e2e8f0;
}
[data-theme="dark"] .files-grid-view .file-item .type-cell {
color: #94a3b8;
}
[data-theme="dark"] .files-grid-view .file-item.drop-target {
background-color: rgba(255, 193, 7, 0.05);
}
+12 -12
View File
@@ -1,12 +1,12 @@
/* Context menu */
.context-menu {
position: absolute;
background: white;
border: 1px solid #e2e8f0;
background: var(--color-bg-surface);
border: 1px solid var(--color-border);
border-radius: 14px;
box-shadow:
0 10px 36px rgba(0, 0, 0, 0.12),
0 0 0 1px rgba(0, 0, 0, 0.04);
0 10px 36px var(--color-shadow-lg),
0 0 0 1px var(--color-shadow-xs);
padding: 6px;
min-width: 200px;
z-index: 2000;
@@ -31,25 +31,25 @@
display: flex;
align-items: center;
gap: 12px;
color: #334155;
color: var(--color-text-dark);
font-size: 14px;
border-radius: 8px;
transition: background 0.12s ease;
}
.context-menu-item:hover {
background: #f1f5f9;
background: var(--color-border-light);
}
.context-menu-item:active {
background: #e2e8f0;
background: var(--color-border);
}
.context-menu-item i {
width: 18px;
text-align: center;
font-size: 14px;
color: #64748b;
color: var(--color-text-subtle);
[dir="rtl"] & {
margin-left: 0;
@@ -58,19 +58,19 @@
}
.context-menu-item-danger {
color: #ef4444;
color: var(--color-danger-alt);
}
.context-menu-item-danger:hover {
background: #fef2f2;
background: var(--color-danger-light-bg);
}
.context-menu-item-danger i {
color: #ef4444;
color: var(--color-danger-alt);
}
.context-menu-separator {
height: 1px;
background: #f1f5f9;
background: var(--color-border-light);
margin: 4px 8px;
}
+23 -65
View File
@@ -3,19 +3,19 @@
/* ── Empty state icons (large, muted) ── */
.empty-state-icon {
font-size: 48px;
color: #ddd;
color: var(--color-border-ddd);
margin-bottom: 16px;
}
.empty-state-icon.error {
color: #f44336;
color: var(--color-trash-delete);
}
.empty-state-icon.spinner {
color: #666;
color: var(--color-text-medium);
}
/* ── Dialog header icons (accent color) ── */
.dialog-header-icon {
color: #ff5e3a;
color: var(--color-accent);
}
/* ── Icon spacing ── */
@@ -29,13 +29,13 @@
/* ── Success check icon ── */
.check-icon {
color: #48bb78;
color: var(--color-success-border);
}
/* ── Move dialog ── */
.move-dialog-hint {
margin: 0 0 12px;
color: #718096;
color: var(--color-text-muted);
font-size: 14px;
}
.folder-select-container {
@@ -55,13 +55,13 @@
/* ── Search empty state text ── */
.search-empty-text {
color: var(--text-secondary, #64748b);
color: var(--text-secondary, var(--color-text-subtle));
}
/* ── Notification upload current file ── */
.notif-upload-current {
font-size: 11px;
color: #64748b;
color: var(--color-text-subtle);
margin: 3px 0;
white-space: nowrap;
overflow: hidden;
@@ -70,7 +70,7 @@
/* ── Login auth hint ── */
.auth-hint {
color: var(--text-secondary, #666);
color: var(--text-secondary, var(--color-text-medium));
margin-top: 4px;
display: block;
}
@@ -87,8 +87,8 @@
width: 64px;
height: 64px;
border-radius: 50%;
background: linear-gradient(135deg, #3b82f6, #6366f1);
color: #fff;
background: var(--color-avatar-gradient);
color: var(--color-danger-text);
display: inline-flex;
align-items: center;
justify-content: center;
@@ -99,12 +99,12 @@
.about-modal-username {
margin: 0;
font-size: 18px;
color: #1a1a2e;
color: var(--color-text-navy);
}
.about-modal-email {
margin: 4px 0 0;
font-size: 13px;
color: #64748b;
color: var(--color-text-subtle);
}
.about-modal-role {
display: inline-block;
@@ -115,19 +115,19 @@
font-weight: 600;
}
.about-modal-role-admin {
background: #dbeafe;
color: #1d4ed8;
background: var(--color-role-admin-bg);
color: var(--color-role-admin-text);
}
.about-modal-role-user {
background: #f1f5f9;
color: #64748b;
background: var(--color-border-light);
color: var(--color-text-subtle);
}
.about-modal-storage {
padding: 16px 20px;
}
.about-modal-storage-label {
font-size: 12px;
color: #64748b;
color: var(--color-text-subtle);
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 6px;
@@ -136,7 +136,7 @@
margin-right: 4px;
}
.about-modal-bar-bg {
background: #f1f5f9;
background: var(--color-border-light);
border-radius: 6px;
height: 8px;
overflow: hidden;
@@ -149,7 +149,7 @@
}
.about-modal-bar-text {
font-size: 12px;
color: #64748b;
color: var(--color-text-subtle);
text-align: right;
}
.about-modal-footer {
@@ -159,54 +159,12 @@
}
.about-modal-close-btn {
padding: 8px 24px;
border: 1px solid #e2e8f0;
border: 1px solid var(--color-border);
border-radius: 8px;
background: #fff;
color: #334155;
background: var(--color-bg-surface);
color: var(--color-text-dark);
font-size: 13px;
font-weight: 600;
cursor: pointer;
transition: background 0.15s;
}
/* ── Dark theme overrides ── */
[data-theme="dark"] .empty-state-icon {
color: #475569;
}
[data-theme="dark"] .empty-state-icon.error {
color: #ef4444;
}
[data-theme="dark"] .about-modal-username {
color: #f1f5f9;
}
[data-theme="dark"] .about-modal-email {
color: #94a3b8;
}
[data-theme="dark"] .about-modal-role-admin {
background: #1e3a5f;
color: #60a5fa;
}
[data-theme="dark"] .about-modal-role-user {
background: #334155;
color: #94a3b8;
}
[data-theme="dark"] .about-modal-storage-label {
color: #94a3b8;
}
[data-theme="dark"] .about-modal-bar-bg {
background: #334155;
}
[data-theme="dark"] .about-modal-bar-text {
color: #94a3b8;
}
[data-theme="dark"] .about-modal-close-btn {
background: #1e293b;
border-color: #334155;
color: #cbd5e1;
}
[data-theme="dark"] .move-dialog-hint {
color: #94a3b8;
}
[data-theme="dark"] .search-empty-text {
color: #94a3b8;
}
+98 -406
View File
@@ -26,7 +26,7 @@
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.45);
background-color: var(--color-overlay-light);
display: none;
align-items: center;
justify-content: center;
@@ -36,11 +36,11 @@
}
.rename-dialog-content {
background-color: white;
background-color: var(--color-bg-surface);
border-radius: 16px;
width: 420px;
max-width: 90%;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
box-shadow: 0 20px 60px var(--color-shadow-2xl);
overflow: hidden;
animation: modalSlideIn 0.25s ease;
}
@@ -48,9 +48,9 @@
.rename-dialog-header {
font-size: 17px;
font-weight: 600;
color: #1a202c;
color: var(--color-text-heading);
padding: 20px 24px;
border-bottom: 1px solid #e2e8f0;
border-bottom: 1px solid var(--color-border);
display: flex;
align-items: center;
gap: 12px;
@@ -63,19 +63,19 @@
.rename-dialog input {
width: 100%;
padding: 12px 16px;
border: 2px solid #e2e8f0;
border: 2px solid var(--color-border);
border-radius: 10px;
font-size: 15px;
background: #f8fafc;
color: #1a202c;
background: var(--color-bg-hover);
color: var(--color-text-heading);
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);
border-color: var(--color-accent);
background: var(--color-bg-surface);
box-shadow: 0 0 0 3px var(--color-accent-ring);
}
.rename-dialog-buttons {
@@ -83,19 +83,19 @@
justify-content: flex-end;
gap: 12px;
padding: 16px 24px;
background: #f8fafc;
border-top: 1px solid #e2e8f0;
background: var(--color-bg-hover);
border-top: 1px solid var(--color-border);
}
.rename-dialog-buttons .btn-outline {
background: transparent;
color: #4a5568;
border: 1px solid #cbd5e0;
color: var(--color-text-secondary);
border: 1px solid var(--color-border-medium);
}
.rename-dialog-buttons .btn-outline:hover {
background: #f7fafc;
border-color: #a0aec0;
background: var(--color-bg-alt);
border-color: var(--color-text-placeholder);
}
/* Share Dialog — Modern Style */
@@ -105,7 +105,7 @@
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.45);
background-color: var(--color-overlay-light);
display: none;
justify-content: center;
align-items: center;
@@ -115,11 +115,11 @@
}
.share-dialog-content {
background-color: white;
background-color: var(--color-bg-surface);
border-radius: 16px;
width: 480px;
max-width: 90%;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
box-shadow: 0 20px 60px var(--color-shadow-2xl);
overflow: hidden;
animation: modalSlideIn 0.25s ease;
max-height: 85vh;
@@ -129,9 +129,9 @@
.share-dialog-header {
font-size: 17px;
font-weight: 600;
color: #1a202c;
color: var(--color-text-heading);
padding: 20px 24px;
border-bottom: 1px solid #e2e8f0;
border-bottom: 1px solid var(--color-border);
display: flex;
align-items: center;
gap: 12px;
@@ -141,20 +141,20 @@
.share-dialog textarea {
width: 100%;
padding: 10px 14px;
border: 2px solid #e2e8f0;
border: 2px solid var(--color-border);
border-radius: 10px;
font-size: 14px;
background: #f8fafc;
color: #1a202c;
background: var(--color-bg-hover);
color: var(--color-text-heading);
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);
border-color: var(--color-accent);
background: var(--color-bg-surface);
box-shadow: 0 0 0 3px var(--color-accent-ring);
}
.share-dialog-buttons {
@@ -162,14 +162,14 @@
justify-content: flex-end;
gap: 12px;
padding: 16px 24px;
background: #f8fafc;
border-top: 1px solid #e2e8f0;
background: var(--color-bg-hover);
border-top: 1px solid var(--color-border);
}
.shared-item-info {
padding: 12px 24px;
background: #f8fafc;
border-bottom: 1px solid #e2e8f0;
background: var(--color-bg-hover);
border-bottom: 1px solid var(--color-border);
font-size: 14px;
}
@@ -183,7 +183,7 @@
font-size: 13px;
font-weight: 600;
margin-bottom: 10px;
color: #4a5568;
color: var(--color-text-secondary);
text-transform: uppercase;
letter-spacing: 0.5px;
}
@@ -204,7 +204,7 @@
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.45);
background-color: var(--color-overlay-light);
display: none;
justify-content: center;
align-items: center;
@@ -218,11 +218,11 @@
}
.shared-dialog-content {
background-color: white;
background-color: var(--color-bg-surface);
border-radius: 16px;
width: 480px;
max-width: 90%;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
box-shadow: 0 20px 60px var(--color-shadow-2xl);
overflow: hidden;
animation: modalSlideIn 0.25s ease;
max-height: 85vh;
@@ -233,9 +233,9 @@
.shared-dialog-header {
font-size: 17px;
font-weight: 600;
color: #1a202c;
color: var(--color-text-heading);
padding: 20px 24px;
border-bottom: 1px solid #e2e8f0;
border-bottom: 1px solid var(--color-border);
display: flex;
align-items: center;
gap: 12px;
@@ -247,15 +247,15 @@
border: none;
font-size: 22px;
cursor: pointer;
color: #718096;
color: var(--color-text-muted);
padding: 4px 8px;
border-radius: 6px;
transition: all 0.15s;
}
.shared-dialog-header .close-dialog-btn:hover {
background: #f0f0f0;
color: #1a202c;
background: var(--color-bg-empty);
color: var(--color-text-heading);
}
.shared-dialog .share-link-section,
@@ -272,7 +272,7 @@
display: block;
font-weight: 600;
margin-bottom: 8px;
color: #2d3748;
color: var(--color-text);
font-size: 14px;
}
@@ -284,11 +284,11 @@
.shared-dialog .share-link-input input {
flex: 1;
padding: 8px 12px;
border: 2px solid #e2e8f0;
border: 2px solid var(--color-border);
border-radius: 8px;
font-size: 13px;
background: #f8fafc;
color: #1a202c;
background: var(--color-bg-hover);
color: var(--color-text-heading);
}
.shared-dialog .share-permissions-section label,
@@ -299,7 +299,7 @@
gap: 8px;
margin-bottom: 8px;
font-size: 14px;
color: #4a5568;
color: var(--color-text-secondary);
}
.shared-dialog .password-input-group {
@@ -311,18 +311,18 @@
.shared-dialog .password-input-group input {
flex: 1;
padding: 8px 12px;
border: 2px solid #e2e8f0;
border: 2px solid var(--color-border);
border-radius: 8px;
font-size: 13px;
background: #f8fafc;
background: var(--color-bg-hover);
}
.shared-dialog .share-expiration-section input[type="date"] {
padding: 8px 12px;
border: 2px solid #e2e8f0;
border: 2px solid var(--color-border);
border-radius: 8px;
font-size: 13px;
background: #f8fafc;
background: var(--color-bg-hover);
margin-top: 8px;
}
@@ -332,19 +332,19 @@
justify-content: flex-end;
gap: 12px;
padding: 16px 24px;
background: #f8fafc;
border-top: 1px solid #e2e8f0;
background: var(--color-bg-hover);
border-top: 1px solid var(--color-border);
}
.shared-dialog .notification-form input,
.shared-dialog .notification-form textarea {
width: 100%;
padding: 10px 14px;
border: 2px solid #e2e8f0;
border: 2px solid var(--color-border);
border-radius: 10px;
font-size: 14px;
background: #f8fafc;
color: #1a202c;
background: var(--color-bg-hover);
color: var(--color-text-heading);
outline: none;
transition: all 0.15s ease;
box-sizing: border-box;
@@ -352,9 +352,9 @@
.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);
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 {
@@ -369,7 +369,7 @@
flex-wrap: wrap;
gap: 4px;
padding: 8px 12px;
background: #f8fafc;
background: var(--color-bg-hover);
border-radius: 8px;
margin-bottom: 12px;
font-size: 13px;
@@ -377,7 +377,7 @@
}
.move-breadcrumb-item {
color: #4a5568;
color: var(--color-text-secondary);
cursor: pointer;
padding: 2px 6px;
border-radius: 4px;
@@ -386,18 +386,18 @@
}
.move-breadcrumb-item:hover {
background: #e2e8f0;
color: #1a202c;
background: var(--color-border);
color: var(--color-text-heading);
}
.move-breadcrumb-item.current {
color: #ff5e3a;
color: var(--color-accent);
font-weight: 600;
cursor: default;
}
.move-breadcrumb-separator {
color: #a0aec0;
color: var(--color-text-placeholder);
margin: 0 2px;
}
@@ -410,56 +410,56 @@
border-radius: 8px;
cursor: pointer;
transition: all 0.15s ease;
color: #4a5568;
color: var(--color-text-secondary);
font-size: 14px;
}
.folder-select-item:hover {
background-color: #f0f3f7;
background-color: var(--color-bg-muted);
}
.folder-select-item.selected {
background-color: rgba(255, 94, 58, 0.1);
color: #ff5e3a;
background-color: var(--color-accent-ring);
color: var(--color-accent);
font-weight: 600;
}
.folder-select-item i {
color: #ffa94d;
color: var(--color-cal-1);
font-size: 16px;
}
.folder-select-item.selected i {
color: #ff5e3a;
color: var(--color-accent);
}
/* "Select this folder" option */
.folder-select-item.folder-select-current {
background-color: rgba(72, 187, 120, 0.1);
color: #2f855a;
background-color: var(--color-success-ring);
color: var(--color-success-text-strong);
font-weight: 500;
}
.folder-select-item.folder-select-current:hover {
background-color: rgba(72, 187, 120, 0.15);
background-color: var(--color-success-ring-dark);
}
.folder-select-item.folder-select-current i {
color: #48bb78;
color: var(--color-success-border);
}
/* Navigate up option */
.folder-select-item.folder-navigate-up {
color: #718096;
color: var(--color-text-muted);
font-style: italic;
}
.folder-select-item.folder-navigate-up:hover {
color: #4a5568;
color: var(--color-text-secondary);
}
.folder-select-item.folder-navigate-up i {
color: #a0aec0;
color: var(--color-text-placeholder);
}
/* Folder navigation item (click to enter) */
@@ -472,7 +472,7 @@
}
.folder-select-item.folder-navigate .folder-navigate-icon {
color: #a0aec0;
color: var(--color-text-placeholder);
font-size: 12px;
opacity: 0;
transition: opacity 0.15s ease;
@@ -489,7 +489,7 @@
justify-content: center;
gap: 8px;
padding: 24px;
color: #a0aec0;
color: var(--color-text-placeholder);
font-size: 14px;
}
@@ -511,7 +511,7 @@
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.45);
background-color: var(--color-overlay-light);
display: none;
align-items: center;
justify-content: center;
@@ -526,11 +526,11 @@
}
.confirm-dialog-content {
background: white;
background: var(--color-bg-surface);
border-radius: 16px;
width: 400px;
max-width: 90%;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
box-shadow: 0 20px 60px var(--color-shadow-2xl);
overflow: hidden;
animation: modalSlideIn 0.25s ease;
text-align: center;
@@ -542,19 +542,19 @@
.confirm-dialog-icon i {
font-size: 40px;
color: #f56565;
color: var( --color-danger-bg);
}
.confirm-dialog-title {
font-size: 17px;
font-weight: 600;
color: #1a202c;
color: var(--color-text-heading);
padding: 0 24px 8px;
}
.confirm-dialog-message {
font-size: 14px;
color: #718096;
color: var(--color-text-muted);
padding: 0 24px 20px;
line-height: 1.5;
}
@@ -563,25 +563,25 @@
display: flex;
gap: 12px;
padding: 16px 24px;
background: #f8fafc;
border-top: 1px solid #e2e8f0;
background: var(--color-bg-hover);
border-top: 1px solid var(--color-border);
justify-content: flex-end;
}
.confirm-dialog-buttons .btn-danger {
background: linear-gradient(135deg, #f56565 0%, #e53e3e 100%);
color: white;
background: linear-gradient(135deg, var(--color-danger-bg) 0%, var(--color-danger-bg-hover) 100%);
color: var(--color-danger-text);
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);
box-shadow: 0 2px 8px var(--color-danger-ring);
}
.confirm-dialog-buttons .btn-danger:hover {
box-shadow: 0 4px 12px rgba(229, 62, 62, 0.4);
box-shadow: 0 4px 12px var(--color-danger-ring-lg);
transform: translateY(-1px);
}
@@ -592,7 +592,7 @@
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
background-color: var(--color-overlay);
display: none;
align-items: center;
justify-content: center;
@@ -604,9 +604,9 @@
}
.dialog-content {
background-color: white;
background-color: var(--color-bg-surface);
border-radius: 10px;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
box-shadow: 0 10px 25px var(--color-shadow);
width: 500px;
max-width: 90%;
max-height: 90vh;
@@ -615,7 +615,7 @@
.dialog-header {
padding: 15px 20px;
border-bottom: 1px solid #e2e8f0;
border-bottom: 1px solid var(--color-border);
display: flex;
align-items: center;
justify-content: space-between;
@@ -623,7 +623,7 @@
.dialog-header h3 {
font-size: 18px;
color: #2d3748;
color: var(--color-text);
margin: 0;
}
@@ -632,7 +632,7 @@
border: none;
font-size: 24px;
cursor: pointer;
color: #a0aec0;
color: var(--color-text-placeholder);
}
.dialog-body {
@@ -654,315 +654,7 @@
.share-link-container input {
flex-grow: 1;
padding: 10px;
border: 1px solid #e2e8f0;
border: 1px solid var(--color-border);
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"] .rename-dialog-buttons .btn-outline {
background: transparent;
color: #94a3b8;
border-color: #475569;
}
[data-theme="dark"] .rename-dialog-buttons .btn-outline:hover {
background: #334155;
border-color: #64748b;
}
[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;
}
/* Dark mode for move dialog breadcrumb */
[data-theme="dark"] .move-dialog-breadcrumb {
background: #0f172a;
}
[data-theme="dark"] .move-breadcrumb-item {
color: #94a3b8;
}
[data-theme="dark"] .move-breadcrumb-item:hover {
background: #334155;
color: #e2e8f0;
}
[data-theme="dark"] .move-breadcrumb-item.current {
color: #ff5e3a;
}
[data-theme="dark"] .move-breadcrumb-separator {
color: #475569;
}
/* Dark mode for folder select items */
[data-theme="dark"] .folder-select-item {
color: #cbd5e1;
}
[data-theme="dark"] .folder-select-item:hover {
background-color: #334155;
}
[data-theme="dark"] .folder-select-item.selected {
background-color: rgba(255, 94, 58, 0.15);
color: #ff5e3a;
}
[data-theme="dark"] .folder-select-item i {
color: #fbbf24;
}
[data-theme="dark"] .folder-select-item.selected i {
color: #ff5e3a;
}
[data-theme="dark"] .folder-select-item.folder-select-current {
background-color: rgba(74, 222, 128, 0.1);
color: #86efac;
}
[data-theme="dark"] .folder-select-item.folder-select-current:hover {
background-color: rgba(74, 222, 128, 0.15);
}
[data-theme="dark"] .folder-select-item.folder-select-current i {
color: #4ade80;
}
[data-theme="dark"] .folder-select-item.folder-navigate-up {
color: #64748b;
}
[data-theme="dark"] .folder-select-item.folder-navigate-up:hover {
color: #94a3b8;
}
[data-theme="dark"] .folder-select-item.folder-navigate-up i {
color: #475569;
}
[data-theme="dark"] .folder-select-item.folder-navigate .folder-navigate-icon {
color: #475569;
}
[data-theme="dark"] .folder-select-empty {
color: #475569;
}
+44 -102
View File
@@ -6,8 +6,8 @@
width: 100%;
border-radius: 10px;
overflow: hidden;
background-color: white;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
background-color: var(--color-bg-surface);
box-shadow: 0 1px 3px var(--color-shadow-xs);
}
.list-header {
@@ -16,9 +16,9 @@
column-gap: 12px;
padding: 15px;
font-weight: 600;
color: #2d3748;
background-color: #f8f9fa;
border-bottom: 1px solid #e0e6ed;
color: var(--color-text);
background-color: var(--color-bg-subtle);
border-bottom: 1px solid var(--color-border-faint);
align-items: center;
}
@@ -27,18 +27,18 @@
grid-template-columns: var(--files-list-columns);
column-gap: 12px;
padding: 12px 15px;
border-bottom: 1px solid #f0f0f0;
border-bottom: 1px solid var(--color-border-xfaint);
align-items: center;
cursor: pointer;
background-color: white;
background-color: var(--color-bg-surface);
}
.files-list-view .file-item.selected {
background-color: #fff8f6;
background-color: var(--color-item-selected);
}
.files-list-view .file-item.selected:hover {
background-color: #fff0ec;
background-color: var(--color-item-hover-accent);
}
.list-header.trash-header {
@@ -50,7 +50,7 @@
}
.files-list-view .file-item:hover {
background-color: #f0f8ff;
background-color: var(--color-item-hover-blue);
}
.list-header > div,
@@ -91,7 +91,7 @@
}
.files-list-view .file-item .file-icon.folder-icon {
background-color: #ffeaa7;
background-color: var(--color-ft-folder-bg);
position: relative;
width: 36px;
height: 36px;
@@ -105,7 +105,7 @@
left: 0;
right: 0;
height: 8px;
background-color: #fdcb6e;
background-color: var(--color-ft-folder-tab);
border-radius: 8px 8px 0 0;
}
@@ -115,12 +115,12 @@
}
.files-list-view .file-item .file-icon.doc-icon {
background-color: #e0ecff;
background-color: var(--color-ft-doc-bg);
}
.files-list-view .file-item .file-icon.doc-icon i,
.files-list-view .file-item .file-icon.doc-icon svg {
color: #3171d8;
color: var(--color-ft-doc-text);
display: flex !important;
}
@@ -130,12 +130,12 @@
}
.files-list-view .file-item .file-icon.pdf-icon {
background-color: #fee2e2;
background-color: var(--color-ft-pdf-bg);
}
.files-list-view .file-item .file-icon.pdf-icon i,
.files-list-view .file-item .file-icon.pdf-icon svg {
color: #e53e3e;
color: var(--color-ft-pdf-text);
display: flex !important;
}
@@ -145,7 +145,7 @@
}
.files-list-view .file-item .file-icon.image-icon {
background-color: #e0f2fe;
background-color: var(--color-ft-image-bg);
position: relative;
overflow: hidden;
border-radius: 4px;
@@ -153,7 +153,7 @@
.files-list-view .file-item .file-icon.image-icon i,
.files-list-view .file-item .file-icon.image-icon svg {
color: #3b82f6;
color: var(--color-ft-image-text);
display: flex !important;
}
@@ -163,12 +163,12 @@
}
.files-list-view .file-item .file-icon.video-icon {
background: linear-gradient(135deg, #ede9fe, #fce7f3);
background: linear-gradient(135deg, var(--color-ft-video-bg-from), var(--color-ft-video-bg-to));
}
.files-list-view .file-item .file-icon.video-icon i,
.files-list-view .file-item .file-icon.video-icon svg {
color: #8b5cf6;
color: var(--color-ft-video-text);
display: flex !important;
}
@@ -178,12 +178,12 @@
}
.files-list-view .file-item .file-icon.audio-icon {
background-color: #fef3c7;
background-color: var(--color-ft-audio-bg);
}
.files-list-view .file-item .file-icon.audio-icon i,
.files-list-view .file-item .file-icon.audio-icon svg {
color: #f59e0b;
color: var(--color-ft-audio-text);
display: flex !important;
}
@@ -193,7 +193,7 @@
}
.files-list-view .file-item .file-icon.spreadsheet-icon {
background-color: #e6f4ea;
background-color: var(--color-ft-spreadsheet-bg);
width: 36px;
height: 36px;
margin-bottom: 0;
@@ -202,7 +202,7 @@
.files-list-view .file-item .file-icon.spreadsheet-icon i,
.files-list-view .file-item .file-icon.spreadsheet-icon svg {
color: #0d904f;
color: var(--color-ft-spreadsheet-text);
display: flex !important;
}
@@ -212,7 +212,7 @@
}
.files-list-view .file-item .file-icon.presentation-icon {
background-color: #fef3e2;
background-color: var(--color-ft-presentation-bg);
width: 36px;
height: 36px;
margin-bottom: 0;
@@ -221,7 +221,7 @@
.files-list-view .file-item .file-icon.presentation-icon i,
.files-list-view .file-item .file-icon.presentation-icon svg {
color: #d04423;
color: var(--color-ft-presentation-text);
display: flex !important;
}
@@ -231,7 +231,7 @@
}
.files-list-view .file-item .file-icon.audio-icon {
background-color: #fff3e0;
background-color: var(--color-ft-audio-alt-bg);
width: 36px;
height: 36px;
margin-bottom: 0;
@@ -239,7 +239,7 @@
}
.files-list-view .file-item .file-icon.archive-icon {
background-color: #f5f0eb;
background-color: var(--color-ft-archive-bg);
width: 36px;
height: 36px;
margin-bottom: 0;
@@ -248,7 +248,7 @@
.files-list-view .file-item .file-icon.archive-icon i,
.files-list-view .file-item .file-icon.archive-icon svg {
color: #8d6e63;
color: var(--color-ft-archive-text);
display: flex !important;
}
@@ -258,7 +258,7 @@
}
.files-list-view .file-item .file-icon.installer-icon {
background-color: #f3e8ff;
background-color: var(--color-ft-installer-bg);
width: 36px;
height: 36px;
margin-bottom: 0;
@@ -267,7 +267,7 @@
.files-list-view .file-item .file-icon.installer-icon i,
.files-list-view .file-item .file-icon.installer-icon svg {
color: #7c3aed;
color: var(--color-ft-installer-text);
display: flex !important;
}
@@ -277,12 +277,12 @@
}
.files-list-view .file-item .file-icon.script-icon {
background-color: #e8f5e9;
background-color: var(--color-ft-script-bg);
}
.files-list-view .file-item .file-icon.script-icon i,
.files-list-view .file-item .file-icon.script-icon svg {
color: #4eaa25;
color: var(--color-ft-script-text);
display: flex !important;
}
@@ -292,12 +292,12 @@
}
.files-list-view .file-item .file-icon.config-icon {
background-color: #f1f3f5;
background-color: var(--color-ft-config-bg);
}
.files-list-view .file-item .file-icon.config-icon i,
.files-list-view .file-item .file-icon.config-icon svg {
color: #718096;
color: var(--color-ft-config-text);
display: flex !important;
}
@@ -312,31 +312,31 @@
text-align: center;
}
.files-list-view .file-item .date-cell {
color: #718096;
color: var(--color-text-muted);
font-size: 14px;
}
.files-list-view .file-item .size-cell {
color: #718096;
color: var(--color-text-muted);
font-size: 14px;
text-align: right;
font-variant-numeric: tabular-nums;
}
.files-list-view .file-item .type-cell {
color: #4b5563;
color: var(--color-text-secondary);
font-weight: 500;
font-size: 14px;
}
.files-list-view .file-item.dragging {
opacity: 0.5;
background-color: #f9fafb;
background-color: var(--color-bg-input);
}
.files-list-view .file-item.drop-target {
background-color: rgba(255, 193, 7, 0.1);
border: 2px dashed #ffc107;
background-color: var(--color-warning-ring);
border: 2px dashed var(--color-warning-border);
}
.files-list-view .file-item .action-cell {
@@ -354,13 +354,13 @@
align-items: center;
justify-content: center;
cursor: pointer;
color: #64748b;
color: var(--color-text-subtle);
font-size: 16px;
}
.files-list-view .file-item .action-cell button:hover {
background: #e0e5e8;
color: #334155;
background: var(--color-border-subtle);
color: var(--color-text-dark);
}
/* could be visible if we want */
@@ -372,61 +372,3 @@
.files-list-view .file-item:hover .action-cell button.favorite-star {
display: inline;
}
[data-theme="dark"] .files-list-view {
background-color: #1e293b;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
[data-theme="dark"] .list-header {
background-color: #162032;
color: #94a3b8;
border-bottom-color: #334155;
}
[data-theme="dark"] .files-list-view .file-item {
background-color: #1e293b;
border-bottom-color: #293548;
}
[data-theme="dark"] .files-list-view .file-item:hover {
background-color: #253345;
}
[data-theme="dark"] .files-list-view .file-item.selected {
background-color: #1a1520;
}
[data-theme="dark"] .files-list-view .file-item.selected:hover {
background-color: #231a2a;
}
[data-theme="dark"] .files-list-view .file-item .name-cell {
color: #e2e8f0;
}
[data-theme="dark"] .files-list-view .file-item .date-cell,
[data-theme="dark"] .files-list-view .file-item .size-cell {
color: #64748b;
}
[data-theme="dark"] .files-list-view .file-item .type-cell {
color: #94a3b8;
}
[data-theme="dark"] .files-list-view .file-item.dragging {
background-color: #334155;
}
[data-theme="dark"] .files-list-view .file-item.drop-target {
background-color: rgba(255, 193, 7, 0.05);
}
[data-theme="dark"] .files-list-view .file-actions {
color: #94a3b8;
}
[data-theme="dark"] .files-list-view .file-actions:hover {
background: #334155;
color: #e2e8f0;
}
+18 -54
View File
@@ -9,35 +9,35 @@
align-items: center;
gap: 8px;
padding: 8px 14px;
background-color: #f0f3f7;
border: 1px solid #e2e8f0;
background-color: var(--color-bg-muted);
border: 1px solid var(--color-border);
border-radius: 50px;
cursor: pointer;
font-size: 14px;
font-weight: 500;
color: #4a5568;
color: var(--color-text-secondary);
transition: all 0.2s ease;
user-select: none;
}
.language-selector-toggle:hover {
background-color: #e2e8f0;
border-color: #cbd5e0;
background-color: var(--color-border);
border-color: var(--color-border-medium);
}
.language-selector-toggle i {
font-size: 14px;
color: #718096;
color: var(--color-text-muted);
}
.language-selector-toggle .lang-code {
font-weight: 600;
color: #2d3748;
color: var(--color-text);
}
.language-selector-toggle .dropdown-arrow {
font-size: 10px;
color: #718096;
color: var(--color-text-muted);
transition: transform 0.2s ease;
margin-left: 2px;
}
@@ -53,10 +53,10 @@
min-width: 160px;
max-height: 420px;
overflow-y: auto;
background-color: white;
background-color: var(--color-bg-surface);
border-radius: 12px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
border: 1px solid #e2e8f0;
box-shadow: 0 4px 20px var(--color-shadow-lg);
border: 1px solid var(--color-border);
opacity: 0;
visibility: hidden;
transform: translateY(-10px);
@@ -73,11 +73,11 @@
margin: 8px 0;
}
.language-selector-dropdown::-webkit-scrollbar-thumb {
background-color: #cbd5e0;
background-color: var(--color-border-medium);
border-radius: 3px;
}
.language-selector-dropdown::-webkit-scrollbar-thumb:hover {
background-color: #a0aec0;
background-color: var(--color-text-placeholder);
}
.language-selector.open .language-selector-dropdown {
@@ -93,17 +93,17 @@
padding: 12px 16px;
cursor: pointer;
font-size: 14px;
color: #4a5568;
color: var(--color-text-secondary);
transition: background-color 0.15s ease;
}
.language-option:hover {
background-color: #f7fafc;
background-color: var(--color-bg-alt);
}
.language-option.active {
background-color: #fff5f3;
color: #ff5e3a;
background-color: var(--color-accent-bg-sm);
color: var(--color-accent);
}
.language-option .lang-flag {
@@ -116,7 +116,7 @@
}
.language-option .lang-check {
color: #ff5e3a;
color: var(--color-accent);
font-size: 12px;
opacity: 0;
}
@@ -124,39 +124,3 @@
.language-option.active .lang-check {
opacity: 1;
}
[data-theme="dark"] .language-selector-toggle {
background-color: #1e293b;
border-color: #334155;
color: #cbd5e1;
}
[data-theme="dark"] .language-selector-toggle:hover {
background-color: #334155;
}
[data-theme="dark"] .language-selector-dropdown {
background-color: #1e293b;
border-color: #334155;
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
}
[data-theme="dark"] .language-selector-dropdown::-webkit-scrollbar-thumb {
background-color: #475569;
}
[data-theme="dark"] .language-selector-dropdown::-webkit-scrollbar-thumb:hover {
background-color: #64748b;
}
[data-theme="dark"] .language-option {
color: #cbd5e1;
}
[data-theme="dark"] .language-option:hover {
background-color: #334155;
}
[data-theme="dark"] .language-option.active {
background-color: rgba(255, 94, 58, 0.1);
color: #ff5e3a;
}
+47 -127
View File
@@ -3,7 +3,7 @@
display: none;
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.5);
background: var(--color-overlay);
backdrop-filter: blur(4px);
z-index: 3000;
justify-content: center;
@@ -15,49 +15,49 @@
}
.about-modal {
background: white;
background: var(--color-bg-surface);
border-radius: 20px;
padding: 40px;
max-width: 400px;
width: 90%;
text-align: center;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
box-shadow: 0 20px 60px var(--color-shadow-xl);
animation: userMenuIn 0.25s ease-out;
}
.about-modal-logo {
width: 72px;
height: 72px;
background: linear-gradient(135deg, #ff5e3a 0%, #ff2d55 100%);
background: var(--color-accent-gradient);
border-radius: 20px;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 20px;
box-shadow: 0 8px 24px rgba(255, 94, 58, 0.3);
box-shadow: 0 8px 24px var(--color-accent-shadow);
}
.about-modal-logo i {
font-size: 32px;
color: white;
color: var(--color-danger-text);
}
.about-modal h2 {
font-size: 22px;
font-weight: 700;
color: #1e293b;
color: var(--color-text-heading);
margin-bottom: 6px;
}
.about-modal .about-version {
font-size: 13px;
color: #94a3b8;
color: var(--color-text-faint);
margin-bottom: 20px;
}
.about-modal .about-description {
font-size: 14px;
color: #64748b;
color: var(--color-text-subtle);
line-height: 1.6;
margin-bottom: 24px;
}
@@ -72,11 +72,11 @@
.about-modal .about-tech-badge {
padding: 4px 12px;
background: #f8fafc;
border: 1px solid #e2e8f0;
background: var(--color-bg-hover);
border: 1px solid var(--color-border);
border-radius: 20px;
font-size: 12px;
color: #64748b;
color: var(--color-text-subtle);
font-weight: 500;
}
@@ -92,7 +92,7 @@
align-items: center;
gap: 6px;
font-size: 13px;
color: #ff5e3a;
color: var(--color-accent);
text-decoration: none;
font-weight: 500;
transition: opacity 0.2s;
@@ -104,8 +104,8 @@
.about-modal .about-close-btn {
padding: 10px 32px;
background: linear-gradient(135deg, #ff5e3a 0%, #ff2d55 100%);
color: white;
background: var(--color-accent-gradient);
color: var(--color-danger-text);
border: none;
border-radius: 10px;
font-size: 14px;
@@ -114,12 +114,12 @@
transition:
transform 0.2s,
box-shadow 0.2s;
box-shadow: 0 4px 15px rgba(255, 94, 58, 0.3);
box-shadow: 0 4px 15px var(--color-accent-shadow);
}
.about-modal .about-close-btn:hover {
transform: translateY(-1px);
box-shadow: 0 6px 20px rgba(255, 94, 58, 0.4);
box-shadow: 0 6px 20px var(--color-accent-shadow-lg);
}
/* Modern Modal Overlay */
@@ -129,7 +129,7 @@
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
background-color: var(--color-overlay);
display: none;
justify-content: center;
align-items: center;
@@ -144,11 +144,11 @@
}
.modal-container {
background-color: white;
background-color: var(--color-bg-surface);
border-radius: 16px;
width: 420px;
max-width: 90%;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
box-shadow: 0 20px 60px var(--color-shadow-3xl);
transform: scale(0.9) translateY(-20px);
transition: transform 0.2s ease;
overflow: hidden;
@@ -162,14 +162,14 @@
display: flex;
align-items: center;
padding: 20px 24px;
border-bottom: 1px solid #e2e8f0;
border-bottom: 1px solid var(--color-border);
position: relative;
}
.modal-icon {
width: 44px;
height: 44px;
background: linear-gradient(135deg, #ff5e3a 0%, #ff2d55 100%);
background: var(--color-accent-gradient);
border-radius: 12px;
display: flex;
align-items: center;
@@ -184,14 +184,14 @@
}
.modal-icon i {
color: white;
color: var(--color-danger-text);
font-size: 20px;
}
.modal-header h3 {
font-size: 18px;
font-weight: 600;
color: #1a202c;
color: var(--color-text-heading);
margin: 0;
flex: 1;
}
@@ -203,13 +203,13 @@
width: 32px;
height: 32px;
border: none;
background: #f0f3f7;
background: var(--color-bg-muted);
border-radius: 8px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
color: #64748b;
color: var(--color-text-subtle);
transition: all 0.15s ease;
[dir="rtl"] & {
@@ -219,8 +219,8 @@
}
.modal-close-btn:hover {
background: #e2e8f0;
color: #1a202c;
background: var(--color-border);
color: var(--color-text-heading);
}
.modal-body {
@@ -231,7 +231,7 @@
display: block;
font-size: 14px;
font-weight: 500;
color: #4a5568;
color: var(--color-text-secondary);
margin-bottom: 8px;
}
@@ -239,22 +239,22 @@
width: 100%;
padding: 12px 16px;
font-size: 15px;
border: 2px solid #e2e8f0;
border: 2px solid var(--color-border);
border-radius: 10px;
background: #f8fafc;
color: #1a202c;
background: var(--color-bg-hover);
color: var(--color-text-heading);
transition: all 0.15s ease;
outline: none;
}
.modal-input:focus {
border-color: #ff5e3a;
background: white;
box-shadow: 0 0 0 3px rgba(255, 94, 58, 0.1);
border-color: var(--color-accent);
background: var(--color-bg-surface);
box-shadow: 0 0 0 3px var(--color-accent-ring);
}
.modal-input::placeholder {
color: #a0aec0;
color: var(--color-text-placeholder);
}
.modal-footer {
@@ -262,8 +262,8 @@
justify-content: flex-end;
gap: 12px;
padding: 16px 24px;
background: #f8fafc;
border-top: 1px solid #e2e8f0;
background: var(--color-bg-hover);
border-top: 1px solid var(--color-border);
}
.modal-footer .btn {
@@ -276,108 +276,28 @@
}
.modal-footer .btn-secondary {
background: white;
border: 1px solid #e2e8f0;
color: #4a5568;
background: var(--color-bg-surface);
border: 1px solid var(--color-border);
color: var(--color-text-secondary);
}
.modal-footer .btn-secondary:hover {
background: #f0f3f7;
border-color: #cbd5e0;
background: var(--color-bg-muted);
border-color: var(--color-border-medium);
}
.modal-footer .btn-primary {
background: linear-gradient(135deg, #ff5e3a 0%, #ff2d55 100%);
background: var(--color-accent-gradient);
border: none;
color: white;
box-shadow: 0 2px 8px rgba(255, 94, 58, 0.3);
color: var(--color-danger-text);
box-shadow: 0 2px 8px var(--color-accent-shadow);
}
.modal-footer .btn-primary:hover {
box-shadow: 0 4px 12px rgba(255, 94, 58, 0.4);
box-shadow: 0 4px 12px var(--color-accent-shadow-lg);
transform: translateY(-1px);
}
.modal-footer .btn-primary:active {
transform: translateY(0);
}
[data-theme="dark"] .about-modal {
background: #1e293b;
}
[data-theme="dark"] .about-modal h2 {
color: #f1f5f9;
}
[data-theme="dark"] .about-modal .about-version,
[data-theme="dark"] .about-modal .about-description {
color: #94a3b8;
}
[data-theme="dark"] .about-modal .about-tech-badge {
background: #334155;
border-color: #475569;
color: #cbd5e1;
}
[data-theme="dark"] .modal-overlay {
background-color: rgba(0, 0, 0, 0.7);
}
[data-theme="dark"] .modal-container {
background-color: #1e293b;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}
[data-theme="dark"] .modal-header {
border-bottom-color: #334155;
}
[data-theme="dark"] .modal-header h3 {
color: #f1f5f9;
}
[data-theme="dark"] .modal-close-btn {
background: #334155;
color: #94a3b8;
}
[data-theme="dark"] .modal-close-btn:hover {
background: #475569;
color: #e2e8f0;
}
[data-theme="dark"] .modal-body label {
color: #94a3b8;
}
[data-theme="dark"] .modal-input {
border-color: #334155;
background: #0f172a;
color: #e2e8f0;
}
[data-theme="dark"] .modal-input:focus {
border-color: #ff5e3a;
background: #0f172a;
}
[data-theme="dark"] .modal-input::placeholder {
color: #475569;
}
[data-theme="dark"] .modal-footer {
background: #162032;
border-top-color: #334155;
}
[data-theme="dark"] .modal-footer .btn-secondary {
background: #334155;
border-color: #475569;
color: #cbd5e1;
}
[data-theme="dark"] .modal-footer .btn-secondary:hover {
background: #475569;
}
+17 -35
View File
@@ -11,19 +11,19 @@
width: 17px;
height: 17px;
cursor: pointer;
accent-color: #ff5e3a;
accent-color: var(--color-accent);
border-radius: 4px;
}
.list-header.selection-mode {
grid-template-columns: 36px 1fr;
background-color: #1e293b;
color: #fff;
border-bottom-color: #334155;
background-color: var(--color-multiselect-bg);
color: var(--color-multiselect-text);
border-bottom-color: var(--color-multiselect-border);
}
.list-header.selection-mode .list-header-checkbox input[type="checkbox"] {
accent-color: #ff5e3a;
accent-color: var(--color-accent);
}
.batch-selection-info {
@@ -38,8 +38,8 @@
display: flex;
align-items: center;
justify-content: space-between;
background: #1e293b;
color: #fff;
background: var(--color-multiselect-bg);
color: var(--color-multiselect-text);
padding: 10px 20px;
border-radius: 12px;
margin: 0 0 12px;
@@ -64,7 +64,7 @@
.batch-bar-close {
background: none;
border: none;
color: rgba(255, 255, 255, 0.7);
color: var(--color-multiselect-text-faint);
cursor: pointer;
font-size: 14px;
padding: 4px 6px;
@@ -75,8 +75,8 @@
}
.batch-bar-close:hover {
background: rgba(255, 255, 255, 0.1);
color: #fff;
background: var(--color-multiselect-hover-bg);
color: var(--color-multiselect-text);
}
.batch-bar-count {
@@ -98,8 +98,8 @@
padding: 7px 14px;
border: none;
border-radius: 8px;
background: rgba(255, 255, 255, 0.1);
color: #fff;
background: var(--color-multiselect-hover-bg);
color: var(--color-multiselect-action-text);
font-size: 13px;
font-weight: 500;
cursor: pointer;
@@ -108,17 +108,17 @@
}
.batch-btn:hover {
background: rgba(255, 255, 255, 0.2);
background: var(--color-multiselect-action-hover);
}
.batch-btn-danger {
background: rgba(239, 68, 68, 0.25);
color: #fca5a5;
background: var(--color-multiselect-danger-bg);
color: var(--color-multiselect-danger-text);
}
.batch-btn-danger:hover {
background: rgba(239, 68, 68, 0.4);
color: #fff;
background: var(--color-multiselect-danger-active);
color: var(--color-multiselect-danger-text-active);
}
@media (max-width: 640px) {
@@ -130,21 +130,3 @@
padding: 7px 10px;
}
}
[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: #ff5e3a;
}
[data-theme="dark"] .batch-selection-bar {
background-color: #1e293b;
border-color: #334155;
color: #e2e8f0;
}
[data-theme="dark"] .list-header.selection-mode {
background-color: #0f172a;
border-bottom-color: #334155;
color: #e2e8f0;
}
+61 -158
View File
@@ -3,18 +3,18 @@
position: absolute;
top: 70px;
right: 20px;
background-color: white;
background-color: var(--color-notification-bg);
width: 250px;
border-radius: 8px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
box-shadow: 0 5px 15px var(--color-shadow);
padding: 15px;
border-left: 4px solid #ff5e3a;
border-left: 4px solid var(--color-accent);
z-index: 1000;
display: none;
[dir="rtl"] & {
left: 20px;
border-right: 4px solid #ff5e3a;
border-right: 4px solid var(--color-accent);
right: unset;
border-left: unset;
}
@@ -24,12 +24,12 @@
font-weight: bold;
font-size: 14px;
margin-bottom: 5px;
color: #2d3748;
color: var(--color-text);
}
.notification-message {
font-size: 12px;
color: #718096;
color: var(--color-text-muted);
}
/* Notification banner */
@@ -38,9 +38,9 @@
top: 20px;
right: 20px;
padding: 15px 20px;
background-color: white;
background-color: var(--color-notification-bg);
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
box-shadow: 0 4px 12px var(--color-shadow);
display: flex;
align-items: center;
justify-content: space-between;
@@ -59,11 +59,11 @@
}
.notification-banner.success {
border-left: 4px solid #48bb78;
border-left: 4px solid var(--color-success-border);
}
.notification-banner.error {
border-left: 4px solid #f56565;
border-left: 4px solid var(--color-danger-bg);
}
.close-notification-btn {
@@ -71,7 +71,7 @@
border: none;
font-size: 18px;
cursor: pointer;
color: #a0aec0;
color: var(--color-text-placeholder);
margin-left: 10px;
}
@@ -85,7 +85,7 @@
border: none;
cursor: pointer;
font-size: 18px;
color: #64748b;
color: var(--color-text-subtle);
width: 40px;
height: 40px;
border-radius: 50%;
@@ -97,13 +97,13 @@
}
.notif-bell-btn:hover {
background: rgba(255, 94, 58, 0.08);
color: #ff5e3a;
background: var(--color-accent-bg-sm);
color: var(--color-accent);
}
.notif-bell-btn.active {
color: #ff5e3a;
background: rgba(255, 94, 58, 0.1);
color: var(--color-accent);
background: var(--color-accent-ring);
}
.notif-badge {
@@ -114,8 +114,8 @@
height: 16px;
line-height: 16px;
border-radius: 8px;
background: #ff3b30;
color: #fff;
background: var(--color-notification-badge);
color: var(--color-notification-bg);
font-size: 10px;
font-weight: 700;
text-align: center;
@@ -162,11 +162,11 @@
right: -40px;
width: 380px;
max-height: 480px;
background: #fff;
background: var(--color-notification-bg);
border-radius: 16px;
box-shadow:
0 12px 40px rgba(0, 0, 0, 0.15),
0 0 0 1px rgba(0, 0, 0, 0.05);
0 12px 40px var(--color-shadow-md),
0 0 0 1px var(--color-shadow-xs);
z-index: 2000;
overflow: hidden;
animation: notifPanelIn 0.2s ease-out;
@@ -193,20 +193,20 @@
align-items: center;
justify-content: space-between;
padding: 14px 16px;
border-bottom: 1px solid #f0f0f0;
border-bottom: 1px solid var(--color-border-xfaint);
}
.notif-panel-title {
font-weight: 600;
font-size: 15px;
color: #1e293b;
color: var(--color-text-heading);
}
.notif-clear-btn {
background: none;
border: none;
cursor: pointer;
color: #94a3b8;
color: var(--color-text-faint);
font-size: 14px;
padding: 4px 8px;
border-radius: 6px;
@@ -214,8 +214,8 @@
}
.notif-clear-btn:hover {
color: #ff5e3a;
background: rgba(255, 94, 58, 0.08);
color: var(--color-accent);
background: var(--color-accent-bg-sm);
}
.notif-panel-body {
@@ -230,7 +230,7 @@
align-items: center;
justify-content: center;
padding: 40px 20px;
color: #94a3b8;
color: var(--color-text-faint);
gap: 8px;
}
@@ -248,7 +248,7 @@
align-items: flex-start;
padding: 12px 16px;
gap: 12px;
border-bottom: 1px solid #f5f5f5;
border-bottom: 1px solid var(--color-bg-subtle);
transition: background 0.15s;
cursor: default;
}
@@ -258,7 +258,7 @@
}
.notif-item:hover {
background: #f8fafc;
background: var(--color-bg-hover);
}
.notif-item-icon {
@@ -273,18 +273,18 @@
}
.notif-item-icon.upload {
background: rgba(255, 94, 58, 0.1);
color: #ff5e3a;
background: var(--color-accent-ring);
color: var(--color-accent);
}
.notif-item-icon.success {
background: rgba(52, 199, 89, 0.1);
color: #34c759;
background: var(--color-success-ring);
color: var(--color-notification-success);
}
.notif-item-icon.error {
background: rgba(255, 59, 48, 0.1);
color: #ff3b30;
background: var(--color-notification-error-ring);
color: var(--color-notification-error);
}
.notif-item-body {
@@ -295,13 +295,13 @@
.notif-item-title {
font-size: 13px;
font-weight: 600;
color: #1e293b;
color: var(--color-text-heading);
margin-bottom: 2px;
}
.notif-item-text {
font-size: 12px;
color: #64748b;
color: var(--color-text-subtle);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@@ -309,7 +309,7 @@
.notif-item-time {
font-size: 11px;
color: #94a3b8;
color: var(--color-text-faint);
margin-top: 3px;
}
@@ -319,25 +319,25 @@
.notif-upload-bar {
height: 3px;
background: #eee;
background: var(--color-bg-empty);
border-radius: 2px;
overflow: hidden;
}
.notif-upload-fill {
height: 100%;
background: #ff5e3a;
background: var(--color-accent);
width: 0%;
transition: width 0.2s ease;
border-radius: 2px;
}
.notif-upload-fill.done {
background: #34c759;
background: var(--color-notification-success);
}
.notif-upload-fill.error {
background: #ff3b30;
background: var(--color-notification-error);
}
.notif-upload-detail {
@@ -350,7 +350,7 @@
.notif-upload-pct,
.notif-upload-stats {
font-size: 11px;
color: #94a3b8;
color: var(--color-text-faint);
}
/* Upload Progress Toast (legacy — hidden, kept for compat) */
@@ -360,9 +360,9 @@
right: 24px;
width: 360px;
max-height: 400px;
background: #fff;
background: var(--color-notification-bg);
border-radius: 12px;
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
box-shadow: 0 8px 30px var(--color-shadow-md);
z-index: 10000;
display: none;
flex-direction: column;
@@ -391,8 +391,8 @@
align-items: center;
justify-content: space-between;
padding: 12px 16px;
background: #ff5e3a;
color: #fff;
background: var(--color-accent);
color: var(--color-danger-text);
}
.upload-toast-title {
@@ -403,7 +403,7 @@
.upload-toast-close {
background: none;
border: none;
color: #fff;
color: var(--color-danger-text);
font-size: 20px;
cursor: pointer;
line-height: 1;
@@ -431,18 +431,18 @@
.upload-toast-file-icon {
font-size: 16px;
color: #999;
color: var(--color-text-light);
flex-shrink: 0;
width: 20px;
text-align: center;
}
.upload-toast-file-icon.done {
color: #34c759;
color: var(--color-notification-success);
}
.upload-toast-file-icon.error {
color: #ff3b30;
color: var(--color-notification-error);
}
.upload-toast-file-info {
@@ -452,7 +452,7 @@
.upload-toast-file-name {
font-size: 13px;
color: #333;
color: var(--color-text-black);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@@ -460,7 +460,7 @@
.upload-toast-file-bar {
height: 3px;
background: #eee;
background: var(--color-bg-empty);
border-radius: 2px;
margin-top: 4px;
overflow: hidden;
@@ -468,23 +468,23 @@
.upload-toast-file-fill {
height: 100%;
background: #ff5e3a;
background: var(--color-accent);
width: 0%;
transition: width 0.2s ease;
border-radius: 2px;
}
.upload-toast-file-fill.done {
background: #34c759;
background: var(--color-notification-success);
}
.upload-toast-file-fill.error {
background: #ff3b30;
background: var(--color-notification-error);
}
.upload-toast-file-pct {
font-size: 12px;
color: #999;
color: var(--color-text-light);
flex-shrink: 0;
width: 38px;
text-align: right;
@@ -492,12 +492,12 @@
.upload-toast-footer {
padding: 10px 16px;
border-top: 1px solid #f0f0f0;
border-top: 1px solid var(--color-border-xfaint);
}
.upload-toast-overall-bar {
height: 4px;
background: #eee;
background: var(--color-bg-empty);
border-radius: 2px;
overflow: hidden;
margin-bottom: 6px;
@@ -505,7 +505,7 @@
.upload-toast-overall-fill {
height: 100%;
background: #ff5e3a;
background: var(--color-accent);
width: 0%;
transition: width 0.25s ease;
border-radius: 2px;
@@ -513,102 +513,5 @@
.upload-toast-stats {
font-size: 12px;
color: #888;
}
[data-theme="dark"] .notification {
background-color: #1e293b;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
[data-theme="dark"] .notification-title {
color: #f1f5f9;
}
[data-theme="dark"] .notification-message {
color: #94a3b8;
}
[data-theme="dark"] .notification-banner {
background-color: #1e293b;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
[data-theme="dark"] .notif-bell-btn {
color: #94a3b8;
}
[data-theme="dark"] .notif-bell-btn:hover,
[data-theme="dark"] .notif-bell-btn.active {
color: #ff5e3a;
background: rgba(255, 94, 58, 0.15);
}
[data-theme="dark"] .notif-panel {
background: #1e293b;
box-shadow:
0 12px 40px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(255, 255, 255, 0.06);
}
[data-theme="dark"] .notif-panel-header {
border-bottom-color: #334155;
}
[data-theme="dark"] .notif-panel-title {
color: #f1f5f9;
}
[data-theme="dark"] .notif-clear-btn {
color: #64748b;
}
[data-theme="dark"] .notif-clear-btn:hover {
color: #ff5e3a;
background: rgba(255, 94, 58, 0.12);
}
[data-theme="dark"] .notif-empty {
color: #64748b;
}
[data-theme="dark"] .notif-item {
border-bottom-color: #1a2536;
}
[data-theme="dark"] .notif-item:hover {
background: #162032;
}
[data-theme="dark"] .notif-item-title {
color: #e2e8f0;
}
[data-theme="dark"] .notif-item-text {
color: #94a3b8;
}
[data-theme="dark"] .notif-upload-bar {
background: #334155;
}
[data-theme="dark"] .upload-toast {
background: #1e293b;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}
[data-theme="dark"] .upload-toast-file-name {
color: #e2e8f0;
}
[data-theme="dark"] .upload-toast-file-bar {
background: #334155;
}
[data-theme="dark"] .upload-toast-file-pct {
color: #64748b;
}
[data-theme="dark"] .upload-toast-footer {
border-top-color: #334155;
color: var(--color-text-faint2);
}
+7 -7
View File
@@ -5,7 +5,7 @@
align-items: center;
padding: 10px 0;
margin-bottom: 15px;
border-bottom: 1px solid #eee;
border-bottom: 1px solid var(--color-bg-empty);
width: 100%;
flex-wrap: wrap;
gap: 8px;
@@ -14,13 +14,13 @@
.search-results-header h3 {
margin: 0;
font-size: 16px;
color: #555;
color: var(--color-text-dim);
}
.search-results-header .search-time {
font-size: 12px;
font-weight: normal;
color: #999;
color: var(--color-text-light);
}
.search-controls {
@@ -31,15 +31,15 @@
.search-sort-select {
padding: 4px 8px;
border: 1px solid #ddd;
border: 1px solid var(--color-border-ddd);
border-radius: 4px;
font-size: 13px;
background: #fff;
color: #333;
background: var(--color-bg-surface);
color: var(--color-text-black);
cursor: pointer;
outline: none;
}
.search-sort-select:focus {
border-color: var(--primary-color, #4a90d9);
border-color: var(--primary-color, var(--color-accent));
}
+6 -6
View File
@@ -11,7 +11,7 @@
}
.existing-share-item {
background-color: #f8f9fa;
background-color: var(--color-bg-subtle);
border-radius: 4px;
padding: 10px;
margin-bottom: 10px;
@@ -23,7 +23,7 @@
text-overflow: ellipsis;
white-space: nowrap;
margin-bottom: 5px;
color: #1565c0;
color: var(--color-share-link-text);
}
.share-info {
@@ -31,15 +31,15 @@
display: flex;
gap: 15px;
margin-bottom: 10px;
color: #757575;
color: var(--color-share-owner-text);
}
.share-protected {
color: #1565c0;
color: var(--color-share-link-text);
}
.share-expiration {
color: #b71c1c;
color: var(--color-share-remove-text);
}
.share-actions {
@@ -62,7 +62,7 @@
#notification-message {
width: 100%;
padding: 10px;
border: 1px solid #ddd;
border: 1px solid var(--color-border-ddd);
border-radius: 4px;
resize: vertical;
}
+9 -19
View File
@@ -12,8 +12,8 @@
.files-loading-spinner .spinner {
width: 36px;
height: 36px;
border: 3px solid #e2e8f0;
border-top-color: #ff5e3a;
border: 3px solid var(--color-border);
border-top-color: var(--color-accent);
border-radius: 50%;
animation: spin 0.7s linear infinite;
}
@@ -26,17 +26,17 @@
.files-loading-spinner span {
font-size: 14px;
color: #a0aec0;
color: var(--color-text-placeholder);
font-weight: 500;
}
.dropzone {
border: 2px dashed #ddd;
border: 2px dashed var(--color-border-ddd);
border-radius: 8px;
padding: 20px;
text-align: center;
margin: 20px 0;
color: #666;
color: var(--color-text-medium);
display: none;
}
@@ -46,8 +46,8 @@
}
.dropzone.active {
border-color: #ff5e3a;
background-color: rgba(255, 94, 58, 0.05);
border-color: var(--color-accent);
background-color: var(--color-accent-ring-xs);
}
.upload-progress {
@@ -57,7 +57,7 @@
}
.progress-bar {
background-color: #f0f0f0;
background-color: var(--color-bg-empty);
height: 6px;
border-radius: 3px;
overflow: hidden;
@@ -65,17 +65,7 @@
.progress-fill {
height: 100%;
background-color: #ff5e3a;
background-color: var(--color-accent);
width: 0%;
transition: width 0.3s;
}
[data-theme="dark"] .dropzone {
border-color: #475569;
color: #94a3b8;
background-color: #0f172a;
}
[data-theme="dark"] .progress-bar {
background-color: #334155;
}
+8 -30
View File
@@ -16,10 +16,10 @@
top: calc(100% + 6px);
left: 0;
min-width: 200px;
background: white;
background: var(--color-bg-surface);
border-radius: 12px;
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
border: 1px solid #e2e8f0;
box-shadow: 0 8px 30px var(--color-shadow-md);
border: 1px solid var(--color-border);
z-index: 1000;
overflow: hidden;
animation: dropdownFadeIn 0.15s ease-out;
@@ -48,7 +48,7 @@
padding: 12px 16px;
border: none;
background: none;
color: #334155;
color: var(--color-text-dark);
font-size: 14px;
cursor: pointer;
transition: background 0.15s ease;
@@ -56,44 +56,22 @@
}
.upload-dropdown-item:hover {
background: #f1f5f9;
background: var(--color-border-light);
}
.upload-dropdown-item:active {
background: #e2e8f0;
background: var(--color-border);
}
.upload-dropdown-item i {
width: 20px;
text-align: center;
color: #64748b;
color: var(--color-text-subtle);
font-size: 15px;
}
.upload-dropdown-item:first-child {
border-bottom: 1px solid #f1f5f9;
}
[data-theme="dark"] .upload-dropdown-menu {
background: #1e293b;
border-color: #334155;
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}
[data-theme="dark"] .upload-dropdown-item {
color: #cbd5e1;
}
[data-theme="dark"] .upload-dropdown-item:hover {
background: #334155;
}
[data-theme="dark"] .upload-dropdown-item:active {
background: #475569;
}
[data-theme="dark"] .upload-dropdown-item i {
color: #94a3b8;
border-bottom: 1px solid var(--color-border-light);
}
.upload-caret {
+36 -104
View File
@@ -16,27 +16,27 @@
}
.user-avatar-btn:hover {
border-color: rgba(255, 94, 58, 0.4);
border-color: var(--color-accent-ring-xl);
transform: scale(1.05);
}
.user-avatar-btn:hover .user-avatar {
box-shadow: 0 0 0 2px rgba(255, 94, 58, 0.2);
box-shadow: 0 0 0 2px var(--color-accent-ring-strong);
}
.user-menu-wrapper.open .user-avatar-btn {
border-color: #ff5e3a;
border-color: var(--color-accent);
}
.user-avatar {
width: 38px;
height: 38px;
background: linear-gradient(135deg, #ff5e3a 0%, #ff2d55 100%);
background: var(--color-accent-gradient);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
color: var(--color-danger-text);
font-weight: 700;
font-size: 14px;
letter-spacing: 0.5px;
@@ -49,11 +49,11 @@
top: calc(100% + 10px);
right: 0;
width: 300px;
background: white;
background: var(--color-bg-surface);
border-radius: 16px;
box-shadow:
0 12px 40px rgba(0, 0, 0, 0.15),
0 0 0 1px rgba(0, 0, 0, 0.05);
0 12px 40px var(--color-shadow-md),
0 0 0 1px var(--color-shadow-xs);
z-index: 2000;
overflow: hidden;
animation: userMenuIn 0.2s ease-out;
@@ -79,24 +79,24 @@
align-items: center;
gap: 14px;
padding: 20px 20px 16px;
background: linear-gradient(135deg, #fef5f3 0%, #fdf2f8 100%);
border-bottom: 1px solid #fce7e1;
background: var(--color-user-menu-header-bg);
border-bottom: 1px solid var(--color-user-menu-header-border);
}
.user-menu-avatar {
width: 48px;
height: 48px;
min-width: 48px;
background: linear-gradient(135deg, #ff5e3a 0%, #ff2d55 100%);
background: var(--color-accent-gradient);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
color: var(--color-danger-text);
font-weight: 700;
font-size: 17px;
letter-spacing: 0.5px;
box-shadow: 0 4px 12px rgba(255, 94, 58, 0.3);
box-shadow: 0 4px 12px var(--color-accent-shadow);
}
.user-menu-info {
@@ -106,7 +106,7 @@
.user-menu-name {
font-weight: 600;
font-size: 15px;
color: #1e293b;
color: var(--color-text-heading);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@@ -114,7 +114,7 @@
.user-menu-email {
font-size: 12.5px;
color: #94a3b8;
color: var(--color-text-faint);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@@ -131,7 +131,7 @@
gap: 8px;
font-size: 12px;
font-weight: 600;
color: #64748b;
color: var(--color-text-subtle);
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 8px;
@@ -139,12 +139,12 @@
.user-menu-storage-label i {
font-size: 11px;
color: #94a3b8;
color: var(--color-text-faint);
}
.user-menu-storage-bar {
height: 6px;
background: #f1f5f9;
background: var(--color-border-light);
border-radius: 3px;
overflow: hidden;
margin-bottom: 6px;
@@ -152,7 +152,7 @@
.user-menu-storage-fill {
height: 100%;
background: linear-gradient(90deg, #ff5e3a, #ff2d55);
background: linear-gradient(90deg, var(--color-accent), var(--color-accent-second));
border-radius: 3px;
width: 0%;
transition: width 0.5s ease;
@@ -160,12 +160,12 @@
.user-menu-storage-text {
font-size: 11.5px;
color: #94a3b8;
color: var(--color-text-faint);
}
.user-menu-divider {
height: 1px;
background: #f1f5f9;
background: var(--color-border-light);
margin: 4px 0;
}
@@ -177,7 +177,7 @@
padding: 12px 20px;
border: none;
background: none;
color: #334155;
color: var(--color-text-dark);
font-size: 14px;
cursor: pointer;
transition: background 0.15s ease;
@@ -185,40 +185,40 @@
}
.user-menu-item:hover {
background: #f8fafc;
background: var(--color-bg-hover);
}
.user-menu-item i {
width: 20px;
text-align: center;
font-size: 15px;
color: #64748b;
color: var(--color-text-subtle);
}
.user-menu-item .theme-toggle-pill {
margin-left: auto;
width: 40px;
height: 22px;
background: #e2e8f0;
background: var(--color-border);
border-radius: 11px;
position: relative;
transition: background 0.3s ease;
}
.user-menu-item .theme-toggle-pill.active {
background: #ff5e3a;
background: var(--color-accent);
}
.user-menu-item .theme-toggle-knob {
width: 18px;
height: 18px;
background: white;
background: var(--color-danger-text);
border-radius: 50%;
position: absolute;
top: 2px;
left: 2px;
transition: transform 0.3s ease;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
box-shadow: 0 1px 4px var(--color-shadow-md);
}
.user-menu-item .theme-toggle-pill.active .theme-toggle-knob {
@@ -226,15 +226,15 @@
}
.user-menu-admin {
color: #1d4ed8;
color: var(--color-primary-hover);
}
.user-menu-admin i {
color: #3b82f6;
color: var(--color-info-blue);
}
.user-menu-admin:hover {
background: #eff6ff;
background: var(--color-info-bg-alt);
}
.user-menu-role-badge {
@@ -252,8 +252,8 @@
}
.role-badge-admin {
background: #dbeafe;
color: #1d4ed8;
background: var(--color-info-surface);
color: var(--color-primary-hover);
}
.role-badge i {
@@ -261,82 +261,14 @@
}
.user-menu-logout {
color: #ef4444;
color: var(--color-danger-alt);
margin-bottom: 4px;
}
.user-menu-logout i {
color: #ef4444;
color: var(--color-danger-alt);
}
.user-menu-logout:hover {
background: #fef2f2;
}
[data-theme="dark"] .user-menu {
background: #1e293b;
border-color: #334155;
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
}
[data-theme="dark"] .user-menu-header {
background: linear-gradient(135deg, #1a2332 0%, #1e2940 100%);
border-bottom-color: #334155;
}
[data-theme="dark"] .user-menu-name {
color: #f1f5f9;
}
[data-theme="dark"] .user-menu-email {
color: #64748b;
}
[data-theme="dark"] .user-menu-storage-label {
color: #94a3b8;
}
[data-theme="dark"] .user-menu-storage-bar {
background: #334155;
}
[data-theme="dark"] .user-menu-storage-text {
color: #64748b;
}
[data-theme="dark"] .user-menu-divider {
background: #334155;
}
[data-theme="dark"] .user-menu-item {
color: #cbd5e1;
}
[data-theme="dark"] .user-menu-item:hover {
background: #334155;
}
[data-theme="dark"] .user-menu-item i {
color: #94a3b8;
}
[data-theme="dark"] .theme-toggle-pill {
background: #475569;
}
[data-theme="dark"] .user-menu-admin {
color: #60a5fa;
}
[data-theme="dark"] .user-menu-admin:hover {
background: rgba(59, 130, 246, 0.1);
}
[data-theme="dark"] .role-badge-admin {
background: rgba(59, 130, 246, 0.15);
color: #60a5fa;
}
[data-theme="dark"] .user-menu-logout:hover {
background: rgba(239, 68, 68, 0.1);
background: var(--color-danger-lighter);
}