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:
@@ -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
@@ -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
@@ -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); }
|
||||||
|
|||||||
Reference in New Issue
Block a user