/* Codes
 * Copyright (c) 2026 Prokop Šafránek
 * License terms are available at https://accounts.codes/terms.
 */

:root {
    --color-bg: #fafafa;
    --color-surface: #ffffff;
    --color-border: #e5e7eb;
    --color-text: #20201d;
    --color-text-secondary: #6b7280;
    --color-text-tertiary: #9ca3af;
    --color-primary-hover: #374151;
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --transition: 200ms ease;
}
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: var(--color-bg); color: var(--color-text); line-height: 1.6; min-height: 100vh; min-height: 100dvh; }
.auth-page { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.auth-main { flex: 1; display: flex; align-items: center; justify-content: center; padding: 32px 24px; }
.auth-container { width: 100%; max-width: 760px; }
.back-btn { display: inline-flex; align-items: center; gap: 6px; background: none; border: none; color: var(--color-text-secondary); font-family: inherit; font-size: 14px; font-weight: 500; cursor: pointer; padding: 0; margin-bottom: 24px; text-decoration: underline; text-underline-offset: 3px; transition: color var(--transition); }
.back-btn:hover { color: var(--color-text); }
.auth-header { margin-bottom: 20px; }
.auth-header h1 { font-size: 30px; line-height: 1.2; font-weight: 700; margin-bottom: 8px; color: var(--color-text); }
.auth-header p { font-size: 15px; color: var(--color-text-secondary); }
.legal-content { background: transparent; border: none; border-radius: 0; box-shadow: none; padding: 28px; }
.legal-content h2 { font-size: 18px; font-weight: 600; margin-top: 24px; margin-bottom: 8px; color: var(--color-text); }
.legal-content h2:first-child { margin-top: 0; }
.legal-content p { font-size: 15px; color: var(--color-text-secondary); margin-bottom: 10px; }
.legal-content a { color: var(--color-text); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.legal-content a:hover { color: var(--color-primary-hover); }
@media (max-width: 768px) {
.auth-main { align-items: flex-start; padding: 24px 16px; }
.auth-header h1 { font-size: 24px; }
.legal-content { padding: 20px; }
.legal-content h2 { font-size: 16px; margin-top: 20px; }
.legal-content p { font-size: 14px; }
}