/** * Settings Page Styles */ .settings { padding: 2rem; max-width: 800px; margin: 0 auto; } /* Header */ .header { margin-bottom: 2rem; } .header h1 { margin: 0; font-size: 1.75rem; font-weight: 700; color: var(--text-primary, #1a1a1a); } .subtitle { margin: 0.5rem 0 0; color: var(--text-secondary, #666); font-size: 0.9375rem; } /* Content */ .content { display: flex; flex-direction: column; gap: 2rem; } /* Section */ .section { background: var(--surface-color, #ffffff); border: 1px solid var(--border-color, #e0e0e0); border-radius: 12px; padding: 1.5rem; } .sectionTitle { margin: 0 0 1rem; font-size: 1rem; font-weight: 600; color: var(--text-primary, #1a1a1a); } /* Setting Row */ .settingRow { display: flex; justify-content: space-between; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--border-color, #e0e0e0); } .settingRow:last-child { border-bottom: none; padding-bottom: 0; } .settingRow:first-of-type { padding-top: 0; } .settingInfo { flex: 1; } .settingLabel { display: block; font-size: 0.9375rem; font-weight: 500; color: var(--text-primary, #1a1a1a); margin-bottom: 0.25rem; } .settingDescription { margin: 0; font-size: 0.8125rem; color: var(--text-secondary, #666); } .settingControl { flex-shrink: 0; margin-left: 1rem; } /* Theme Toggle */ .themeToggle { display: flex; background: var(--surface-color, #f5f5f5); border-radius: 8px; padding: 2px; } .themeButton { padding: 0.5rem 1rem; border: none; border-radius: 6px; background: transparent; font-size: 0.8125rem; font-weight: 500; color: var(--text-secondary, #666); cursor: pointer; transition: all 0.2s ease; } .themeButton:hover { color: var(--text-primary, #1a1a1a); } .themeButton.active { background: var(--bg-primary, #ffffff); color: var(--text-primary, #1a1a1a); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); } /* Select */ .select { padding: 0.5rem 2rem 0.5rem 0.75rem; border: 1px solid var(--border-color, #d0d0d0); border-radius: 6px; background: var(--bg-primary, #ffffff); font-size: 0.875rem; color: var(--text-primary, #1a1a1a); cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"); background-position: right 0.5rem center; background-repeat: no-repeat; background-size: 1.5em 1.5em; } .select:focus { outline: none; border-color: var(--primary-color, #2563eb); box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1); } /* Button */ .button { padding: 0.5rem 1rem; border: 1px solid var(--border-color, #d0d0d0); border-radius: 6px; background: var(--bg-primary, #ffffff); font-size: 0.875rem; font-weight: 500; color: var(--text-primary, #1a1a1a); cursor: pointer; transition: all 0.2s ease; } .linkButton { text-decoration: none; display: inline-flex; align-items: center; justify-content: center; } .button:hover { background: var(--surface-color, #f5f5f5); border-color: var(--border-color, #c0c0c0); } /* Info Card */ .infoCard { background: var(--surface-color, #f5f5f5); border-radius: 8px; padding: 1rem; } .infoRow { display: flex; justify-content: space-between; padding: 0.5rem 0; } .infoRow:first-child { padding-top: 0; } .infoRow:last-child { padding-bottom: 0; } .infoLabel { font-size: 0.8125rem; color: var(--text-secondary, #666); } .infoValue { font-size: 0.8125rem; font-weight: 500; color: var(--text-primary, #1a1a1a); } /* Dark Theme */ :global(.dark-theme) .header h1 { color: var(--text-primary-dark, #ffffff); } :global(.dark-theme) .subtitle { color: var(--text-secondary-dark, #aaa); } :global(.dark-theme) .section { background: var(--surface-dark, #1a1a1a); border-color: var(--border-dark, #333); } :global(.dark-theme) .sectionTitle { color: var(--text-primary-dark, #ffffff); } :global(.dark-theme) .settingRow { border-bottom-color: var(--border-dark, #333); } :global(.dark-theme) .settingLabel { color: var(--text-primary-dark, #ffffff); } :global(.dark-theme) .settingDescription { color: var(--text-secondary-dark, #aaa); } :global(.dark-theme) .themeToggle { background: var(--surface-dark, #2a2a2a); } :global(.dark-theme) .themeButton { color: var(--text-secondary-dark, #aaa); } :global(.dark-theme) .themeButton:hover { color: var(--text-primary-dark, #ffffff); } :global(.dark-theme) .themeButton.active { background: var(--bg-dark, #0a0a0a); color: var(--text-primary-dark, #ffffff); } :global(.dark-theme) .select { background: var(--surface-dark, #1a1a1a); border-color: var(--border-dark, #444); color: var(--text-primary-dark, #ffffff); } :global(.dark-theme) .button { background: var(--surface-dark, #1a1a1a); border-color: var(--border-dark, #444); color: var(--text-primary-dark, #ffffff); } :global(.dark-theme) .button:hover { background: var(--surface-dark, #2a2a2a); } :global(.dark-theme) .infoCard { background: var(--surface-dark, #2a2a2a); } :global(.dark-theme) .infoLabel { color: var(--text-secondary-dark, #aaa); } :global(.dark-theme) .infoValue { color: var(--text-primary-dark, #ffffff); } /* Error Text */ .errorText { color: var(--error-color, #dc2626); font-weight: 500; } /* Saving Indicator */ .savingIndicator { font-size: 0.75rem; color: var(--text-secondary, #666); margin-left: 0.5rem; } /* Error Message */ .errorMessage { background: var(--error-bg, #fef2f2); border: 1px solid var(--error-border, #fecaca); color: var(--error-color, #dc2626); padding: 0.75rem 1rem; border-radius: 6px; margin-bottom: 1rem; font-size: 0.875rem; } /* User Info Card */ .userInfoCard { background: var(--surface-color, #f9fafb); border: 1px solid var(--border-color, #e5e7eb); border-radius: 8px; padding: 1rem; margin-top: 1rem; } .userInfoRow { display: flex; justify-content: space-between; padding: 0.5rem 0; border-bottom: 1px solid var(--border-color, #e5e7eb); } .userInfoRow:last-child { border-bottom: none; padding-bottom: 0; } .userInfoRow:first-child { padding-top: 0; } .userInfoLabel { font-size: 0.8125rem; color: var(--text-secondary, #6b7280); font-weight: 500; } .userInfoValue { font-size: 0.8125rem; color: var(--text-primary, #1a1a1a); } /* Modal Overlay */ .modalOverlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center; z-index: 1000; backdrop-filter: blur(2px); } /* Modal Content */ .modalContent { background: var(--bg-primary, #ffffff); border-radius: 12px; width: 100%; max-width: 500px; max-height: 90vh; overflow: auto; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); } .modalHeader { display: flex; justify-content: space-between; align-items: center; padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--border-color, #e5e7eb); } .modalHeader h2 { margin: 0; font-size: 1.125rem; font-weight: 600; color: var(--text-primary, #1a1a1a); } .closeButton { background: none; border: none; font-size: 1.5rem; color: var(--text-secondary, #6b7280); cursor: pointer; padding: 0; line-height: 1; transition: color 0.2s; } .closeButton:hover { color: var(--text-primary, #1a1a1a); } .modalBody { padding: 1.5rem; } /* Dark Theme - Additional styles */ :global(.dark-theme) .errorText { color: var(--error-color-dark, #f87171); } :global(.dark-theme) .savingIndicator { color: var(--text-secondary-dark, #9ca3af); } :global(.dark-theme) .errorMessage { background: var(--error-bg-dark, #450a0a); border-color: var(--error-border-dark, #991b1b); color: var(--error-color-dark, #f87171); } :global(.dark-theme) .userInfoCard { background: var(--surface-dark, #1f2937); border-color: var(--border-dark, #374151); } :global(.dark-theme) .userInfoRow { border-bottom-color: var(--border-dark, #374151); } :global(.dark-theme) .userInfoLabel { color: var(--text-secondary-dark, #9ca3af); } :global(.dark-theme) .userInfoValue { color: var(--text-primary-dark, #ffffff); } :global(.dark-theme) .modalContent { background: var(--bg-dark, #111827); border: 1px solid var(--border-dark, #374151); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.4), 0 10px 10px -5px rgba(0, 0, 0, 0.3); } :global(.dark-theme) .modalHeader { border-bottom-color: var(--border-dark, #374151); } :global(.dark-theme) .modalHeader h2 { color: var(--text-primary-dark, #ffffff); } :global(.dark-theme) .closeButton { color: var(--text-secondary-dark, #9ca3af); } :global(.dark-theme) .closeButton:hover { color: var(--text-primary-dark, #ffffff); }