.modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0006;justify-content:center;width:100vw;height:100vh;padding:40px 0;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.modal-box{background:#fff;border-radius:20px;flex-direction:column;gap:20px;width:500px;max-width:90vw;margin:auto 0;padding:48px 42px;animation:.3s ease-out slideIn;display:flex;position:relative;box-shadow:0 20px 60px #00000026}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-title{color:#1a1a1a;font-size:1.5rem;font-family:var(--font-family);letter-spacing:-.5px;margin:0;font-weight:700}.modal-subtitle{color:#666;font-size:.85rem;font-family:var(--font-family);margin:-12px 0 0}.modal-close{color:#999;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:28px;transition:all .2s;display:flex}.modal-close:hover{color:#333;background:#f5f5f5}.modal-form-group{flex-direction:column;gap:8px;display:flex}.modal-label{color:#333;font-size:.9rem;font-family:var(--font-family);text-align:left;font-weight:600}.modal-label-row{justify-content:space-between;align-items:center;display:flex}.modal-input{font-size:.95rem;font-family:var(--font-family);background:#fafafa;border:2px solid #e0e0e0;border-radius:10px;outline:none;padding:11px 13px;transition:all .2s}.modal-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #d14d8b1a}.modal-input::placeholder{color:#999}.modal-input:disabled{color:#ccc;cursor:not-allowed;background:#f5f5f5}.modal-phone-input-group{background:#fafafa;border:2px solid #e0e0e0;border-radius:10px;align-items:stretch;transition:all .2s;display:flex;overflow:hidden}.modal-phone-input-group:focus-within{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #d14d8b1a}.modal-country-code{color:#666;font-family:var(--font-family);white-space:nowrap;-webkit-user-select:none;user-select:none;background:#f0f0f0;border:none;border-right:1px solid #e0e0e0;padding:11px 13px;font-size:.95rem;font-weight:600}.modal-phone-input{font-size:.95rem;font-family:var(--font-family);background:0 0;border:none;outline:none;flex:1;padding:11px 13px}.modal-phone-input::placeholder{color:#999}.modal-phone-input:disabled{color:#ccc;cursor:not-allowed}.modal-btn{cursor:pointer;font-size:.95rem;font-family:var(--font-family);background:#fff;border:2px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-weight:600;transition:all .25s;display:flex}.modal-btn:disabled{opacity:.6;cursor:not-allowed}.modal-main{background:linear-gradient(135deg, var(--primary) 0%, #c1264a 100%);color:#fff;border-color:var(--primary);box-shadow:0 4px 15px #d14d8b33}.modal-main:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #d14d8b4d}.modal-main:active:not(:disabled){transform:translateY(0)}.modal-google{color:#333;background:#fff;border-color:#e0e0e0;box-shadow:0 2px 8px #0000000d}.modal-google:hover:not(:disabled){background:#f9f9f9;border-color:#d0d0d0;box-shadow:0 4px 12px #0000001a}.google-logo{width:20px;height:20px}.modal-divider{color:#999;align-items:center;gap:12px;margin:8px 0;font-size:.9rem;display:flex}.modal-divider:before,.modal-divider:after{content:"";background:#e0e0e0;flex:1;height:1px}.modal-footer{text-align:center;justify-content:center;gap:8px;padding-top:8px;display:flex}.modal-footer-text{color:#666;font-size:.95rem;font-family:var(--font-family)}.modal-link-primary{color:var(--primary);cursor:pointer;font-size:.95rem;font-family:var(--font-family);background:0 0;border:none;padding:0;font-weight:600;transition:color .2s}.modal-link-primary:hover{color:#a83970}.modal-link-small{color:var(--primary);cursor:pointer;font-size:.85rem;font-family:var(--font-family);background:0 0;border:none;padding:0;text-decoration:none;transition:color .2s}.modal-link-small:hover{color:#a83970;text-decoration:underline}.modal-error{color:#c41e5e;font-size:.95rem;font-family:var(--font-family);background:#fde7eb;border:1.5px solid #f0b3d5;border-radius:12px;padding:14px 16px;animation:.2s ease-out slideIn}.modal-row{justify-content:space-between;gap:12px;font-size:1rem;display:flex}.modal-row.single{justify-content:center}.modal-row.end{justify-content:flex-end}.modal-link{color:var(--primary);cursor:pointer;font-size:.95rem;font-family:var(--font-family);background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;transition:color .2s}.modal-link:hover{color:#a83970;text-decoration:underline}.modal-info-box{text-align:center;background:#f9f3f7;border:1.5px solid #f0b3d5;border-radius:12px;padding:16px}.modal-info-text{color:#333;font-size:.95rem;font-family:var(--font-family);margin:0 0 8px;line-height:1.4}.modal-info-text strong{color:var(--primary);font-weight:600}.modal-info-subtext{color:#666;font-size:.85rem;font-family:var(--font-family);margin:0}.modal-success{flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:2rem;display:flex}.success-icon{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:48px;font-weight:700;animation:.4s ease-out scaleIn;display:flex}.modal-success-icon{background:linear-gradient(135deg, var(--primary) 0%, #c1264a 100%);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:32px;font-weight:700;animation:.4s ease-out scaleIn;display:flex}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.modal-success-text{color:#333;font-size:1rem;font-family:var(--font-family);text-align:center;margin:0;font-weight:600}.modal-success-subtext{color:#999;font-size:.9rem;font-family:var(--font-family);text-align:center;margin:0;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}
.user-menu{flex-direction:column;display:flex;position:relative}.user-menu-trigger{cursor:pointer;background:0 0;border:1px solid #e5e7eb;border-radius:.5rem;align-items:center;gap:.25rem;padding:.4rem .5rem;transition:all .2s;display:flex}.user-menu-trigger:hover{background:#f9fafb;border-color:#d1d5db}.user-avatar{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.875rem;font-weight:600;display:flex}.user-details{display:none}.chevron{color:#6b7280;transition:transform .2s}.chevron.open{transform:rotate(180deg)}.user-menu-dropdown{z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;min-width:240px;animation:.2s ease-in-out fadeIn;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.menu-header-webview{text-align:left;flex:1;align-items:center;gap:.75rem;display:flex}.menu-header-mobile{background:#f9fafb;align-items:center;gap:.75rem;padding:1rem;display:flex}.menu-user-name{color:#1f2937;font-size:.875rem;font-weight:600}.menu-user-email{color:#6b7280;word-break:break-all;margin:0;font-size:.75rem}.menu-badge{color:#92400e;background:#fef3c7;border-radius:.25rem;margin-top:.5rem;padding:.25rem .5rem;font-size:.75rem;display:inline-block}.menu-divider{background:#e5e7eb;height:1px}.menu-item{cursor:pointer;color:#1f2937;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:.875rem;transition:background .2s;display:flex}.menu-item:hover:not(:disabled){background:#f9fafb}.menu-item svg{flex-shrink:0}.menu-item.logout{color:#ef4444}.menu-item.logout:hover:not(:disabled){background:#fef2f2}.menu-item:disabled{opacity:.5;cursor:not-allowed}.user-menu-skeleton{align-items:center;gap:.75rem;display:flex}.skeleton-avatar{background:#e5e7eb;border-radius:50%;width:2rem;height:2rem;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:1024px){.user-menu-trigger{flex:1;padding:.5rem}.menu-header-mobile{display:none}.user-menu-dropdown{flex:1;margin:0 1rem;position:relative}.user-details{display:block}}
