/* Base styles for authentication pages */ /* Uses modern CSS with Tailwind-inspired utilities */ * { margin: 0; padding: 0; box-sizing: border-box; } :root { --color-primary: #7c3aed; --color-primary-dark: #6d28d9; --color-primary-light: #8b5cf6; --color-gray-50: #f9fafb; --color-gray-100: #f3f4f6; --color-gray-200: #e5e7eb; --color-gray-300: #d1d5db; --color-gray-400: #9ca3af; --color-gray-500: #6b7280; --color-gray-600: #4b5563; --color-gray-700: #374151; --color-gray-800: #1f2937; --color-gray-900: #111827; --color-success: #10b981; --color-error: #ef4444; --color-warning: #f59e0b; --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); --radius-sm: 0.125rem; --radius-md: 0.375rem; --radius-lg: 0.5rem; --radius-xl: 0.75rem; } body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; font-size: 14px; line-height: 1.5; color: var(--color-gray-700); background-color: var(--color-gray-50); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* Dark mode support */ .dark { --color-gray-50: #111827; --color-gray-100: #1f2937; --color-gray-200: #374151; --color-gray-300: #4b5563; --color-gray-400: #6b7280; --color-gray-500: #9ca3af; --color-gray-600: #d1d5db; --color-gray-700: #e5e7eb; --color-gray-800: #f3f4f6; --color-gray-900: #f9fafb; } .dark body { background-color: var(--color-gray-900); color: var(--color-gray-200); } /* Utility classes */ .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; } /* Form input base styles */ input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], textarea, select { display: block; width: 100%; padding: 0.5rem 0.75rem; font-size: 0.875rem; line-height: 1.5; color: var(--color-gray-700); background-color: white; border: 1px solid var(--color-gray-300); border-radius: var(--radius-md); transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, input[type="tel"]:focus, input[type="number"]:focus, textarea:focus, select:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.1); } input[type="text"]:disabled, input[type="email"]:disabled, input[type="password"]:disabled, input[type="tel"]:disabled, input[type="number"]:disabled, textarea:disabled, select:disabled { background-color: var(--color-gray-100); cursor: not-allowed; opacity: 0.6; } input[type="checkbox"] { width: 1rem; height: 1rem; border: 1px solid var(--color-gray-300); border-radius: var(--radius-sm); color: var(--color-primary); cursor: pointer; } input[type="checkbox"]:focus { outline: none; box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.1); } /* Hide number input spinners */ input[type="number"].no-spinner::-webkit-outer-spin-button, input[type="number"].no-spinner::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } input[type="number"].no-spinner { -moz-appearance: textfield; appearance: textfield; } /* Dark mode input styles */ .dark input[type="text"], .dark input[type="email"], .dark input[type="password"], .dark input[type="tel"], .dark input[type="number"], .dark textarea, .dark select { color: var(--color-gray-300); background-color: var(--color-gray-700); border-color: var(--color-gray-600); } .dark input[type="text"]:focus, .dark input[type="email"]:focus, .dark input[type="password"]:focus, .dark input[type="tel"]:focus, .dark input[type="number"]:focus, .dark textarea:focus, .dark select:focus { border-color: var(--color-primary); } /* Button base styles */ button { font-family: inherit; cursor: pointer; } button:disabled { cursor: not-allowed; opacity: 0.5; } /* Link styles */ a { color: var(--color-primary); text-decoration: none; transition: color 0.15s ease-in-out; } a:hover { color: var(--color-primary-dark); text-decoration: underline; } .dark a { color: var(--color-primary-light); } .dark a:hover { color: var(--color-primary); }