fix: resolve CSS load-order conflicts between glass.css and module stylesheets

- dashboard.css: move .widget glass styles (shadow, border, ::before highlight)
  directly here since module CSS loads after glass.css and would override it
- tasks.css: move .filter-chip--active glass state and fix .priority-badge
  border-radius to use --radius-glass-chip (capsule) instead of --radius-xs
- glass.css: remove dead .sticky-header rule (class not used in HTML) and
  remove duplicate .widget rules now handled by dashboard.css
This commit is contained in:
Ulas
2026-04-13 21:12:09 +02:00
parent 88f871de93
commit 37a783b9c7
3 changed files with 31 additions and 43 deletions
+16 -1
View File
@@ -152,10 +152,25 @@
.widget { .widget {
background-color: var(--color-surface); background-color: var(--color-surface);
border-radius: var(--radius-md); border-radius: var(--radius-md);
box-shadow: var(--shadow-sm); box-shadow: var(--glass-shadow-sm);
border: 1px solid var(--glass-border-subtle);
overflow: hidden; overflow: hidden;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
position: relative;
}
.widget::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: var(--glass-highlight-subtle);
border-radius: var(--radius-md) var(--radius-md) 0 0;
pointer-events: none;
z-index: 1;
} }
.widget__header { .widget__header {
+3 -41
View File
@@ -248,22 +248,6 @@ textarea.form-input {
inset 0 1px 2px rgba(0, 0, 0, 0.04); inset 0 1px 2px rgba(0, 0, 0, 0.04);
} }
/* ================================================================
* 9. Sticky Header — Glass-Token-Upgrade
*
* Bestehender backdrop-filter (blur(12px)) in layout.css wird auf
* --glass-* Tokens umgestellt. Hintergrund transparenter machen
* damit der Blur-Effekt besser sichtbar ist.
* ================================================================ */
@supports (backdrop-filter: blur(1px)) {
.sticky-header {
background-color: color-mix(in srgb, var(--color-bg) 80%, transparent);
backdrop-filter: var(--blur-sm) saturate(160%);
-webkit-backdrop-filter: var(--blur-sm) saturate(160%);
border-bottom: 1px solid var(--glass-border-subtle);
}
}
/* ================================================================ /* ================================================================
* 10. Toasts — Glass + Capsule * 10. Toasts — Glass + Capsule
* *
@@ -357,32 +341,10 @@ textarea.form-input {
/* ================================================================ /* ================================================================
* 14. Dashboard-Widgets — Glass Cards * 14. Dashboard-Widgets — Glass Cards
* *
* .widget bekommt eine leichte Glass-Behandlung: * Glass-Styles (border, shadow, ::before highlight) direkt in
* Stärkere Border, subtiles Highlight oben. * dashboard.css, da dieses Modul-CSS nach glass.css geladen wird
* Kein backdrop-filter (Widgets sind über normalem Seitenhintergrund, * und sonst den box-shadow überschreiben würde.
* kein dramatischer Tiefeneffekt nötig).
* ================================================================ */ * ================================================================ */
.widget {
border: 1px solid var(--glass-border-subtle);
box-shadow: var(--glass-shadow-sm);
}
.widget::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: var(--glass-highlight-subtle);
border-radius: var(--radius-md) var(--radius-md) 0 0;
pointer-events: none;
}
/* Relative-Positionierung für ::before */
.widget {
position: relative;
}
/* ================================================================ /* ================================================================
* 15. FAB-Backdrop (Dashboard) — Glass Blur * 15. FAB-Backdrop (Dashboard) — Glass Blur
+12 -1
View File
@@ -127,6 +127,16 @@
color: var(--color-accent); color: var(--color-accent);
} }
@supports (backdrop-filter: blur(1px)) {
.filter-chip--active {
background: color-mix(in srgb, var(--color-accent) 18%, transparent);
backdrop-filter: var(--blur-xs);
-webkit-backdrop-filter: var(--blur-xs);
border-color: color-mix(in srgb, var(--color-accent) 50%, transparent);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.20);
}
}
.filter-chip__remove { .filter-chip__remove {
width: 16px; width: 16px;
height: 16px; height: 16px;
@@ -303,7 +313,8 @@
font-size: var(--text-xs); font-size: var(--text-xs);
font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold);
padding: 2px var(--space-2); padding: 2px var(--space-2);
border-radius: var(--radius-xs); border-radius: var(--radius-glass-chip);
border: 1px solid color-mix(in srgb, currentColor 25%, transparent);
} }
.priority-badge--low { color: var(--color-priority-low); background-color: var(--color-priority-low-bg); } .priority-badge--low { color: var(--color-priority-low); background-color: var(--color-priority-low-bg); }