:root{--font-header: "Playfair Display", serif;--font-subheader: "Montserrat", sans-serif;--font-body: "Inter", sans-serif;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--color-primary: #2563eb;--color-primary-dark: #1d4ed8;--color-primary-light: #3b82f6;--color-secondary: #7c3aed;--color-secondary-dark: #6d28d9;--color-white: #ffffff;--color-black: #000000;--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-text: var(--color-gray-900);--color-text-muted: var(--color-gray-500);--color-text-light: var(--color-gray-400);--color-background: var(--color-white);--color-surface: var(--color-gray-50);--color-border: var(--color-gray-200);--color-success: #10b981;--color-success-light: #d1fae5;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-error: #ef4444;--color-error-light: #fee2e2;--color-info: #3b82f6;--color-info-light: #dbeafe;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}html{font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.auth-card{width:100%;max-width:420px;background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-8)}@media(max-width:480px){.auth-card{padding:var(--space-6);border-radius:var(--radius-lg)}}.auth-card__header{text-align:center;margin-bottom:var(--space-6)}.auth-card__title{font-family:var(--font-header);font-size:var(--text-3xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-2)}.auth-card__subtitle{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.6}.form-input{display:flex;flex-direction:column;gap:var(--space-1)}.form-input__label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.form-input__required{color:var(--color-error);margin-left:var(--space-1)}.form-input__wrapper{position:relative;display:flex;align-items:center}.form-input__field{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-family:inherit;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input__field::placeholder{color:var(--color-text-light)}.form-input__field:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-input__field:disabled{background:var(--color-gray-100);cursor:not-allowed}.form-input__toggle{position:absolute;right:var(--space-3);background:none;border:none;color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;padding:var(--space-1) var(--space-2)}.form-input__toggle:hover{color:var(--color-text)}.form-input__error{font-size:var(--text-sm);color:var(--color-error)}.form-input--error .form-input__field{border-color:var(--color-error)}.form-input--error .form-input__field:focus{box-shadow:0 0 0 3px #ef44441a}.form-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:var(--font-weight-semibold);font-family:inherit;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast)}.form-button:disabled{opacity:.6;cursor:not-allowed}.form-button:not(:disabled):active{transform:scale(.98)}.form-button--full{width:100%}.form-button--primary{background:var(--color-primary);color:var(--color-white)}.form-button--primary:not(:disabled):hover{background:var(--color-primary-dark)}.form-button--secondary{background:var(--color-gray-100);color:var(--color-text)}.form-button--secondary:not(:disabled):hover{background:var(--color-gray-200)}.form-button--outline{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.form-button--outline:not(:disabled):hover{background:#2563eb0d}.form-checkbox{display:flex;align-items:center;gap:var(--space-2)}.form-checkbox__input{width:24px;height:24px;accent-color:var(--color-primary);cursor:pointer}.form-checkbox__input:disabled{cursor:not-allowed}.form-checkbox__label{font-size:var(--text-base);color:var(--color-text);cursor:pointer}.alert{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);font-size:var(--text-sm);line-height:1.5}.alert__message{flex:1}.alert__close{background:none;border:none;font-size:var(--text-xl);line-height:1;cursor:pointer;opacity:.6;margin-left:var(--space-2);padding:0}.alert__close:hover{opacity:1}.alert--success{background:var(--color-success-light);color:#065f46;border:1px solid #a7f3d0}.alert--success .alert__close{color:#065f46}.alert--error{background:var(--color-error-light);color:#991b1b;border:1px solid #fecaca}.alert--error .alert__close{color:#991b1b}.alert--warning{background:var(--color-warning-light);color:#92400e;border:1px solid #fde68a}.alert--warning .alert__close{color:#92400e}.alert--info{background:var(--color-info-light);color:#1e40af;border:1px solid #bfdbfe}.alert--info .alert__close{color:#1e40af}.spinner{display:inline-flex;align-items:center;justify-content:center}.spinner__circle{border-radius:50%;border-style:solid;border-color:currentColor;border-top-color:transparent;animation:spin .8s linear infinite}.spinner--small .spinner__circle{width:16px;height:16px;border-width:2px}.spinner--medium .spinner__circle{width:24px;height:24px;border-width:3px}.spinner--large .spinner__circle{width:40px;height:40px;border-width:4px}@keyframes spin{to{transform:rotate(360deg)}}.social-buttons{margin-top:var(--space-6)}.social-buttons__divider{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.social-buttons__divider:before,.social-buttons__divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.social-buttons__divider span{font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap}.social-buttons__row{display:flex;gap:var(--space-3)}.social-button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-weight-medium);font-family:inherit;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white);color:var(--color-text);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.social-button:disabled{opacity:.6;cursor:not-allowed}.social-button:not(:disabled):hover{background:var(--color-gray-50);border-color:var(--color-gray-300)}.social-button__icon{width:20px;height:20px;flex-shrink:0}.auth-app{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--color-surface)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-form__row{display:flex;gap:var(--space-4)}.auth-form__row--between{justify-content:space-between;align-items:center}.auth-form__row--half>*{flex:1}.auth-link{color:var(--color-primary);text-decoration:none;font-weight:500;transition:color var(--transition-fast)}.auth-link:hover{color:var(--color-primary-dark);text-decoration:underline}.auth-footer{text-align:center;margin-top:var(--space-6);color:var(--color-text-muted);font-size:var(--text-lg)}.auth-loading{display:flex;justify-content:center;align-items:center;padding:var(--space-8)}.auth-resend{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.auth-resend__text{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-4)}.auth-form__checkbox{display:flex;flex-direction:column;gap:var(--space-1)}.auth-checkbox{display:flex;align-items:flex-start;gap:var(--space-2);cursor:pointer}.auth-checkbox input[type=checkbox]{width:24px;height:24px;margin-top:2px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.auth-checkbox input[type=checkbox]:disabled{cursor:not-allowed}.auth-checkbox__label{font-size:var(--text-base);color:var(--color-text);line-height:1.5}.auth-checkbox__error{font-size:var(--text-sm);color:var(--color-error)}
