:root {
    --primary-color: #4f46e5;
    --primary-hover: #4338ca;
    --bg-color: #f3f4f6;
    --card-bg: #ffffff;
    --text-color: #1f2937;
    --error-color: #ef4444;
    --border-color: #d1d5db;
}

* { box-sizing: border-box; margin: 0; padding: 0; font-family: sans-serif; }
body { background-color: var(--bg-color); display: flex; justify-content: center; align-items: center; min-height: 100vh; color: var(--text-color); }
.auth-container { background-color: var(--card-bg); padding: 2rem; border-radius: 12px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05); width: 100%; max-width: 460px; }
.tab-group { display: flex; margin-bottom: 2rem; border-bottom: 2px solid var(--border-color); }
.tab-btn { flex: 1; padding: 0.75rem 0.25rem; background: none; border: none; font-size: 0.9rem; font-weight: 600; color: #6b7280; cursor: pointer; transition: all 0.3s ease; }
.tab-btn.active { color: var(--primary-color); border-bottom: 2px solid var(--primary-color); margin-bottom: -2px; }
.auth-form { display: none; }
.auth-form.active { display: block; }
h2 { margin-bottom: 1.5rem; font-size: 1.3rem; text-align: center; }
.input-group { margin-bottom: 1.25rem; position: relative; }
label { display: block; margin-bottom: 0.5rem; font-size: 0.85rem; font-weight: 500; }
input, textarea { width: 100%; padding: 0.75rem; border: 1px solid var(--border-color); border-radius: 6px; font-size: 0.95rem; outline: none; }
textarea { font-family: monospace; resize: vertical; }
input:focus, textarea:focus { border-color: var(--primary-color); }
input.invalid, textarea.invalid { border-color: var(--error-color); }
.error-message { color: var(--error-color); font-size: 0.75rem; display: block; margin-top: 0.25rem; min-height: 1rem; }
.submit-btn { width: 100%; padding: 0.75rem; background-color: var(--primary-color); color: white; border: none; border-radius: 6px; font-size: 1rem; font-weight: 600; cursor: pointer; transition: background-color 0.2s; }
.submit-btn:hover { background-color: var(--primary-hover); }
