fix: use CSS variables for dark mode support in settings page

Replace hard-coded colors with CSS variables from the theme system to
properly support both light and dark modes. Also add proper input
styling and strong tag emphasis colors.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-01-23 18:57:50 +01:00
parent aa55158347
commit fa6420d149

View File

@@ -440,40 +440,46 @@
.header h1 { .header h1 {
margin: 0; margin: 0;
color: #333; color: var(--text-primary);
} }
.back-button { .back-button {
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
background-color: #6c757d; background-color: var(--color-secondary);
color: white; color: var(--text-inverted);
text-decoration: none; text-decoration: none;
border-radius: 4px; border-radius: var(--border-radius);
font-size: 0.9rem; font-size: 0.9rem;
font-weight: 500; font-weight: 500;
transition: background-color 0.2s; transition: background-color 0.2s;
} }
.back-button:hover { .back-button:hover {
background-color: #5a6268; background-color: var(--color-secondary-hover);
} }
.user-info { .user-info {
background: #f8f9fa; background: var(--bg-secondary);
padding: 1.5rem; padding: 1.5rem;
border-radius: 8px; border-radius: var(--border-radius-lg);
margin-bottom: 2rem; margin-bottom: 2rem;
} }
.user-info h2 { .user-info h2 {
margin: 0 0 1rem 0; margin: 0 0 1rem 0;
font-size: 1.25rem; font-size: 1.25rem;
color: #333; color: var(--text-primary);
} }
.user-info p { .user-info p {
margin: 0.5rem 0; margin: 0.5rem 0;
color: #666; color: var(--text-secondary);
}
.user-info :global(strong),
.settings-form :global(strong),
.next-sync-info :global(strong) {
color: var(--text-primary);
} }
.settings-section { .settings-section {
@@ -483,44 +489,44 @@
.settings-section h2 { .settings-section h2 {
margin: 0 0 0.5rem 0; margin: 0 0 0.5rem 0;
font-size: 1.25rem; font-size: 1.25rem;
color: #333; color: var(--text-primary);
} }
.help-text { .help-text {
color: #666; color: var(--text-secondary);
margin-bottom: 1.5rem; margin-bottom: 1.5rem;
line-height: 1.6; line-height: 1.6;
} }
.alert { .alert {
padding: 1rem; padding: 1rem;
border-radius: 4px; border-radius: var(--border-radius);
margin-bottom: 1.5rem; margin-bottom: 1.5rem;
} }
.alert-info { .alert-info {
background-color: #d1ecf1; background-color: var(--color-info-bg);
border: 1px solid #bee5eb; border: 1px solid var(--color-info);
color: #0c5460; color: var(--color-info-text);
} }
.alert-error { .alert-error {
background-color: #f8d7da; background-color: var(--color-error-bg);
border: 1px solid #f5c6cb; border: 1px solid var(--color-error);
color: #721c24; color: var(--color-error-text);
} }
.alert-success { .alert-success {
background-color: #d4edda; background-color: var(--color-success-bg);
border: 1px solid #c3e6cb; border: 1px solid var(--color-success);
color: #155724; color: var(--color-success);
} }
.settings-form { .settings-form {
background: white; background: var(--bg-card);
padding: 2rem; padding: 2rem;
border: 1px solid #e0e0e0; border: 1px solid var(--border-color);
border-radius: 8px; border-radius: var(--border-radius-lg);
margin-bottom: 2rem; margin-bottom: 2rem;
} }
@@ -532,34 +538,36 @@
display: block; display: block;
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
font-weight: 500; font-weight: 500;
color: #333; color: var(--text-primary);
} }
.form-group input { .form-group input {
width: 100%; width: 100%;
padding: 0.75rem; padding: 0.75rem;
border: 1px solid #ddd; border: 1px solid var(--border-color);
border-radius: 4px; border-radius: var(--border-radius);
font-size: 1rem; font-size: 1rem;
background: var(--bg-input);
color: var(--text-primary);
box-sizing: border-box; box-sizing: border-box;
} }
.form-group input:focus { .form-group input:focus {
outline: none; outline: none;
border-color: #4a90e2; border-color: var(--color-primary);
box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1); box-shadow: var(--focus-ring);
} }
.hint { .hint {
font-size: 0.875rem; font-size: 0.875rem;
color: #666; color: var(--text-secondary);
margin-top: 0.5rem; margin-top: 0.5rem;
} }
.btn { .btn {
padding: 0.75rem 1.5rem; padding: 0.75rem 1.5rem;
border: none; border: none;
border-radius: 4px; border-radius: var(--border-radius);
font-size: 1rem; font-size: 1rem;
font-weight: 500; font-weight: 500;
cursor: pointer; cursor: pointer;
@@ -567,12 +575,12 @@
} }
.btn-primary { .btn-primary {
background-color: #4a90e2; background-color: var(--color-primary);
color: white; color: var(--text-inverted);
} }
.btn-primary:hover:not(:disabled) { .btn-primary:hover:not(:disabled) {
background-color: #357abd; background-color: var(--color-primary-hover);
} }
.btn-primary:disabled { .btn-primary:disabled {
@@ -581,34 +589,34 @@
} }
.btn-secondary { .btn-secondary {
background-color: #6c757d; background-color: var(--color-secondary);
color: white; color: var(--text-inverted);
} }
.btn-secondary:hover { .btn-secondary:hover {
background-color: #5a6268; background-color: var(--color-secondary-hover);
} }
.info-box { .info-box {
background: #e8f4fd; background: var(--color-info-bg);
border-left: 4px solid #4a90e2; border-left: 4px solid var(--color-primary);
padding: 1.5rem; padding: 1.5rem;
border-radius: 4px; border-radius: var(--border-radius);
} }
.info-box h3 { .info-box h3 {
margin: 0 0 1rem 0; margin: 0 0 1rem 0;
color: #333; color: var(--text-primary);
} }
.info-box p { .info-box p {
margin: 0.5rem 0; margin: 0.5rem 0;
color: #666; color: var(--text-secondary);
line-height: 1.6; line-height: 1.6;
} }
.info-box a { .info-box a {
color: #4a90e2; color: var(--text-link);
text-decoration: none; text-decoration: none;
} }
@@ -634,6 +642,7 @@
gap: 0.5rem; gap: 0.5rem;
font-weight: 500; font-weight: 500;
cursor: pointer; cursor: pointer;
color: var(--text-primary);
} }
.checkbox-group input[type="checkbox"] { .checkbox-group input[type="checkbox"] {
@@ -649,18 +658,18 @@
.divider { .divider {
border: none; border: none;
border-top: 1px solid #e0e0e0; border-top: 1px solid var(--border-color);
margin: 2rem 0; margin: 2rem 0;
} }
.next-sync-info { .next-sync-info {
padding: 0.75rem 1rem; padding: 0.75rem 1rem;
background-color: #e3f2fd; background-color: var(--color-info-bg);
border-left: 4px solid #4a90e2; border-left: 4px solid var(--color-primary);
border-radius: 4px; border-radius: var(--border-radius);
margin-top: 1rem; margin-top: 1rem;
font-size: 0.9rem; font-size: 0.9rem;
color: #333; color: var(--text-primary);
} }
@media (max-width: 640px) { @media (max-width: 640px) {