Make button labels visible on non-green buttons
The global `button` rule pairs a green background with white text. Any variant that overrode the background without also setting `color` kept the white text and rendered invisible against a light background. Four controls were affected, all measured white-on-white or white-on-light-grey: the calendar header's prev/next arrows, the calendar's override-mode toggle, the red-days list's year navigation, and the modal close button. Each now declares its own `color: var(--c-text)`. Using the variable rather than a literal means the high-contrast media query in responsive.css, which redefines --c-text to #000, still applies. Also adds the hover and focus-visible states the Settings and vacation-days Save buttons were missing entirely -- they were the only green buttons in the app that did not react to the pointer. Hover is scoped with :not(:disabled) so a button disabled mid-save stays inert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RXMhc9nT6sNz1SL4j8dznL
This commit is contained in:
@@ -16,6 +16,7 @@
|
|||||||
min-height: 36px;
|
min-height: 36px;
|
||||||
padding: 8px 12px;
|
padding: 8px 12px;
|
||||||
background: none;
|
background: none;
|
||||||
|
color: var(--c-text);
|
||||||
border: 1px solid #d0d0d0;
|
border: 1px solid #d0d0d0;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
@@ -373,6 +374,7 @@
|
|||||||
border: 1px solid #d0d0d0;
|
border: 1px solid #d0d0d0;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
|
color: var(--c-text);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
transition: background-color 0.2s, border-color 0.2s, color 0.2s;
|
transition: background-color 0.2s, border-color 0.2s, color 0.2s;
|
||||||
|
|||||||
@@ -371,18 +371,46 @@ button.ghost:hover:not(:disabled) {
|
|||||||
font-size: var(--fs-sm);
|
font-size: var(--fs-sm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.settings-page__button:not(:disabled):hover {
|
||||||
|
background-color: #1f5a3b;
|
||||||
|
}
|
||||||
|
|
||||||
|
.settings-page__button:focus-visible {
|
||||||
|
outline: 2px solid var(--c-accent);
|
||||||
|
outline-offset: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
.settings-page__button--secondary {
|
.settings-page__button--secondary {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: var(--c-text);
|
color: var(--c-text);
|
||||||
border: 1px solid var(--c-border);
|
border: 1px solid var(--c-border);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.settings-page__button--secondary:not(:disabled):hover {
|
||||||
|
background-color: var(--c-bg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.settings-page__button--secondary:focus-visible {
|
||||||
|
outline: 2px solid var(--c-accent);
|
||||||
|
outline-offset: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
.settings-page__button--danger {
|
.settings-page__button--danger {
|
||||||
background-color: var(--c-danger-weak);
|
background-color: var(--c-danger-weak);
|
||||||
color: var(--c-danger);
|
color: var(--c-danger);
|
||||||
border: 1px solid var(--c-danger);
|
border: 1px solid var(--c-danger);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.settings-page__button--danger:not(:disabled):hover {
|
||||||
|
background-color: var(--c-danger);
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.settings-page__button--danger:focus-visible {
|
||||||
|
outline: 2px solid var(--c-accent);
|
||||||
|
outline-offset: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
/* Vacation Days Table (multi-year) */
|
/* Vacation Days Table (multi-year) */
|
||||||
.vacation-days-table {
|
.vacation-days-table {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -434,6 +462,15 @@ button.ghost:hover:not(:disabled) {
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.vacation-days-table__save:not(:disabled):hover {
|
||||||
|
background-color: #1f5a3b;
|
||||||
|
}
|
||||||
|
|
||||||
|
.vacation-days-table__save:focus-visible {
|
||||||
|
outline: 2px solid var(--c-accent);
|
||||||
|
outline-offset: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
.vacation-days-table__empty {
|
.vacation-days-table__empty {
|
||||||
color: var(--c-text-muted);
|
color: var(--c-text-muted);
|
||||||
font-size: var(--fs-sm);
|
font-size: var(--fs-sm);
|
||||||
@@ -705,6 +742,7 @@ legend {
|
|||||||
border: 1px solid var(--c-border);
|
border: 1px solid var(--c-border);
|
||||||
border-radius: var(--radius);
|
border-radius: var(--radius);
|
||||||
background-color: var(--c-surface);
|
background-color: var(--c-surface);
|
||||||
|
color: var(--c-text);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,7 @@
|
|||||||
.modal__close {
|
.modal__close {
|
||||||
background: none;
|
background: none;
|
||||||
border: none;
|
border: none;
|
||||||
|
color: var(--c-text);
|
||||||
font-size: var(--fs-lg);
|
font-size: var(--fs-lg);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user