.py-auth-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;padding:var(--py-space-6);background-color:#0a0a0ad9;justify-content:center;align-items:center;animation:.3s ease-out py-auth-fade-in;display:flex;position:fixed;inset:0}@keyframes py-auth-fade-in{0%{opacity:0}to{opacity:1}}.py-auth-modal{background-color:var(--py-white);width:100%;max-width:480px;padding:var(--py-space-10);animation:.3s ease-out py-auth-slide-up;position:relative}@keyframes py-auth-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.py-auth-modal__close{top:var(--py-space-6);right:var(--py-space-6);color:var(--py-gray-500);cursor:pointer;padding:var(--py-space-2);transition:all var(--py-duration-fast)var(--py-ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute}.py-auth-modal__close:hover{background-color:var(--py-gray-100);color:var(--py-charcoal)}.py-auth-modal__header{margin-bottom:var(--py-space-8);text-align:center}.py-auth-modal__title{font-family:var(--font-heading);font-size:var(--py-text-3xl);color:var(--py-charcoal);margin-bottom:var(--py-space-3);font-weight:500;line-height:1.2}.py-auth-modal__subtitle{font-size:var(--py-text-sm);color:var(--py-gray-600);line-height:1.6}.py-auth-modal__form{gap:var(--py-space-5);flex-direction:column;display:flex}.py-auth-modal__field{gap:var(--py-space-2);flex-direction:column;display:flex}.py-auth-modal__label{align-items:center;gap:var(--py-space-2);font-size:var(--py-text-sm);color:var(--py-charcoal);font-weight:500;display:flex}.py-auth-modal__label svg{color:var(--py-burgundy)}.py-auth-modal__input{width:100%;padding:var(--py-space-4);border:1px solid var(--py-gray-300);font-size:var(--py-text-sm);color:var(--py-charcoal);transition:all var(--py-duration-fast)var(--py-ease-out);background-color:var(--py-white)}.py-auth-modal__input:focus{border-color:var(--py-burgundy);outline:none;box-shadow:0 0 0 3px #a41a3d1a}.py-auth-modal__input:disabled{opacity:.6;cursor:not-allowed;background-color:var(--py-gray-100)}.py-auth-modal__input::placeholder{color:var(--py-gray-400)}.py-auth-modal__error{align-items:center;gap:var(--py-space-3);padding:var(--py-space-4);color:#991b1b;font-size:var(--py-text-sm);background-color:#dc262614;border:1px solid #dc262633;display:flex}.py-auth-modal__submit{width:100%;padding:var(--py-space-4)var(--py-space-8);background-color:var(--py-burgundy);color:var(--py-white);font-size:var(--py-text-sm);cursor:pointer;transition:all var(--py-duration-base)var(--py-ease-out);text-transform:uppercase;letter-spacing:.1em;margin-top:var(--py-space-3);border:none;font-weight:600}.py-auth-modal__submit:hover:not(:disabled){background-color:var(--py-burgundy-dark);box-shadow:var(--py-shadow-lg);transform:translateY(-2px)}.py-auth-modal__submit:active:not(:disabled){transform:translateY(0)}.py-auth-modal__submit:disabled{opacity:.6;cursor:not-allowed}.py-auth-modal__toggle{text-align:center;margin-top:var(--py-space-6);padding-top:var(--py-space-6);border-top:1px solid var(--py-gray-200);font-size:var(--py-text-sm);color:var(--py-gray-600)}.py-auth-modal__toggle-button{color:var(--py-burgundy);cursor:pointer;transition:color var(--py-duration-fast)var(--py-ease-out);background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.py-auth-modal__toggle-button:hover{color:var(--py-burgundy-dark)}@media (max-width:640px){.py-auth-modal{padding:var(--py-space-8)}.py-auth-modal__title{font-size:var(--py-text-2xl)}}
