.auth-modal-overlay{position:fixed;inset:0;background:rgb(0 0 0/50%);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-md)}.auth-modal{background:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:480px;width:100%;max-height:90vh;overflow-y:auto;position:relative;padding:var(--space-xl)}.auth-modal__close{position:absolute;top:var(--space-md);right:var(--space-md);background:none;border:none;font-size:var(--font-size-2xl);color:var(--gray-400);cursor:pointer;padding:var(--space-xs);line-height:1;transition:color .2s ease}.auth-modal__close:hover{color:var(--gray-600)}.auth-modal__header{margin-bottom:var(--space-lg)}.auth-modal__header h2{margin:0 0 var(--space-xs) 0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--gray-900)}.auth-modal__header p{margin:0;color:var(--gray-600);font-size:var(--font-size-md)}.auth-modal__benefits{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-xl)}.auth-modal__benefit{font-size:var(--font-size-sm);color:var(--gray-700);padding-left:var(--space-xs)}.auth-modal__providers{display:flex;flex-direction:column;gap:var(--space-md)}.auth-btn{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--gray-300);border-radius:var(--radius-md);background:white;color:var(--gray-800);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);transition:all .2s ease}.auth-btn:hover:not(:disabled){border-color:var(--gray-400);background:var(--gray-50)}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-btn--google{border-color:var(--gray-300)}.auth-btn--google:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400)}.auth-btn__icon{font-weight:var(--font-weight-bold);font-size:var(--font-size-lg)}.auth-btn--email{border-color:var(--primary-300);color:var(--primary-600)}.auth-btn--email:hover:not(:disabled){background:var(--primary-50);border-color:var(--primary-400)}.auth-btn--primary{background:var(--primary-600);color:white;border-color:var(--primary-600)}.auth-btn--primary:hover:not(:disabled){background:var(--primary-700);border-color:var(--primary-700)}.auth-modal__divider{display:flex;align-items:center;margin:var(--space-md) 0;color:var(--gray-500);font-size:var(--font-size-sm)}.auth-modal__divider:after,.auth-modal__divider:before{content:"";flex:1 1;height:1px;background:var(--gray-300)}.auth-modal__divider span{padding:0 var(--space-sm)}.auth-modal__email-form{display:flex;flex-direction:column;gap:var(--space-md)}.auth-modal__email-field{display:flex;flex-direction:column;gap:var(--space-xs)}.auth-modal__email-field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--gray-700)}.auth-modal__email-field input{padding:var(--space-sm);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--font-size-md);transition:all .2s ease}.auth-modal__email-field input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.auth-modal__email-field input:disabled{background:var(--gray-100);cursor:not-allowed}.auth-modal__error{padding:var(--space-sm);background:var(--red-50);border:1px solid var(--red-200);border-radius:var(--radius-md);color:var(--red-700);font-size:var(--font-size-sm)}.auth-modal__toggle{text-align:center;font-size:var(--font-size-sm);color:var(--gray-600)}.auth-modal__toggle p{margin:0}.auth-modal__toggle-link{background:none;border:none;color:var(--primary-600);font-weight:var(--font-weight-medium);cursor:pointer;padding:0;text-decoration:underline}.auth-modal__toggle-link:hover:not(:disabled){color:var(--primary-700)}.auth-modal__toggle-link:disabled{opacity:.5;cursor:not-allowed}.auth-modal__back{background:none;border:none;color:var(--gray-600);font-size:var(--font-size-sm);cursor:pointer;padding:var(--space-xs);align-self:flex-start}.auth-modal__back:hover:not(:disabled){color:var(--gray-800)}.auth-modal__back:disabled{opacity:.5;cursor:not-allowed}@media (max-width:768px){.auth-modal{padding:var(--space-lg);max-height:95vh}.auth-modal__header h2{font-size:var(--font-size-xl)}}