.login-button-container{display:flex;align-items:center}.btn-login{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#3b82f6 0,#2563eb 100%);color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:.3s;box-shadow:0 2px 8px rgba(59,130,246,.3)}.btn-login:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,.4)}.btn-login:active{transform:translateY(0)}.user-menu-container{position:relative}.btn-user-menu{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;transition:.2s}.btn-user-menu:hover{background:#f9fafb;border-color:#3b82f6}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.user-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#3b82f6 0,#2563eb 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.user-name{font-size:.875rem;font-weight:500;color:#374151;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:260px;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 10px 25px rgba(0,0,0,.1);padding:.5rem;z-index:1000;animation:.2s dropdown-fade-in}@keyframes dropdown-fade-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-info{display:flex;align-items:center;gap:.75rem;padding:.75rem}.user-avatar-large{width:48px;height:48px;border-radius:50%;object-fit:cover}.user-name-large{font-size:.9375rem;font-weight:600;color:#111827}.user-email{font-size:.8125rem;color:#6b7280}.user-badges{display:flex;gap:.375rem;margin-top:.5rem}.user-badge{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:.375rem;border:1.5px solid;background:rgba(255,255,255,.9)}.user-badge .badge-icon{width:14px;height:14px;display:flex;align-items:center;justify-content:center}.user-badge .badge-icon svg{width:100%;height:100%}.menu-divider{height:1px;background:#e5e7eb;margin:.5rem 0}.menu-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem;border:none;background:0 0;border-radius:.5rem;font-size:.875rem;color:#374151;cursor:pointer;transition:background .2s;text-align:left}.menu-item:hover{background:#f9fafb}.menu-item-danger{color:#ef4444}.menu-item-danger:hover{background:#fef2f2}.rotate-180{transform:rotate(180deg);transition:transform .2s}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.modal-container{position:relative;background:#fff;border-radius:1.5rem;max-width:480px;width:100%;padding:2.5rem;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:.3s cubic-bezier(.4,0,.2,1) modal-slide-up}@keyframes modal-slide-up{from{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{position:absolute;top:1.25rem;right:1.25rem;width:2rem;height:2rem;border:none;background:#f3f4f6;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;color:#6b7280}.modal-close:hover{background:#e5e7eb;color:#374151;transform:rotate(90deg)}.modal-header{text-align:center;margin-bottom:2rem}.modal-title{font-size:1.75rem;font-weight:700;color:#111827;margin-bottom:.5rem}.modal-subtitle{font-size:.9375rem;color:#6b7280}.modal-body{margin-bottom:2rem}.google-button-container{display:flex;justify-content:center}.custom-google-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px 24px;background:#fff;border:1px solid #dadce0;border-radius:8px;font-size:15px;font-weight:500;color:#3c4043;cursor:pointer;transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.05)}.custom-google-button:hover{background:#f8f9fa;border-color:#d2d3d4;box-shadow:0 1px 3px rgba(0,0,0,.12)}.custom-google-button:active{background:#f1f3f4;box-shadow:0 1px 2px rgba(0,0,0,.05)}.custom-google-button .google-icon{flex-shrink:0}.custom-google-button.test-button{margin-top:12px;background:#f0f9ff;border-color:#bae6fd;color:#0369a1}.custom-google-button.test-button:hover{background:#e0f2fe;border-color:#7dd3fc}.custom-google-button.test-button:active{background:#bae6fd}.dark .custom-google-button{background:#1f2937;border-color:#374151;color:#e5e7eb}.dark .custom-google-button:hover{background:#374151;border-color:#4b5563}.dark .custom-google-button:active{background:#4b5563}.dark .custom-google-button.test-button{background:#1e3a5f;border-color:#1e40af;color:#93c5fd}.dark .custom-google-button.test-button:hover{background:#1e40af;border-color:#2563eb}.dark .custom-google-button.test-button:active{background:#1d4ed8}.modal-features{margin-bottom:2rem}.feature-item{display:flex;gap:1rem;padding:1rem;margin-bottom:.75rem;background:#f9fafb;border-radius:.75rem;transition:.2s}.feature-item:hover{background:#f3f4f6;transform:translateX(4px)}.feature-item svg{flex-shrink:0;color:#3b82f6}.feature-title{font-size:.9375rem;font-weight:600;color:#111827;margin-bottom:.25rem}.feature-desc{font-size:.8125rem;color:#6b7280}.modal-footer{text-align:center}.privacy-text{font-size:.75rem;color:#9ca3af;line-height:1.5}.modal-fade-enter-active,.modal-fade-leave-active{transition:opacity .3s}.modal-fade-enter-from,.modal-fade-leave-to{opacity:0}.modal-fade-enter-active .modal-container{animation:.3s cubic-bezier(.4,0,.2,1) modal-slide-up}.modal-fade-leave-active .modal-container{animation:.3s cubic-bezier(.4,0,.2,1) modal-slide-down}@keyframes modal-slide-down{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(50px) scale(.95)}}.btn-test-login{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:linear-gradient(135deg,#f59e0b 0,#d97706 100%);color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:.3s;box-shadow:0 2px 8px rgba(245,158,11,.3)}.btn-test-login:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(245,158,11,.4)}.btn-test-login:active{transform:translateY(0)}.btn-test-login svg{width:16px;height:16px}.migration-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:.3s fade-in}@keyframes fade-in{from{opacity:0}to{opacity:1}}.migration-dialog{position:relative;background:#fff;border-radius:1.5rem;max-width:560px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:.4s cubic-bezier(.4,0,.2,1) migration-slide-up;overflow:hidden}@keyframes migration-slide-up{from{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.migration-header{padding:2rem 2.5rem 1.5rem;background:linear-gradient(135deg,#3b82f6 0,#2563eb 100%);color:#fff}.migration-header h2{font-size:1.75rem;font-weight:700;margin:0;text-align:center}.migration-content{padding:2rem 2.5rem}.migration-description{font-size:.9375rem;color:#4b5563;line-height:1.6;margin-bottom:2rem;text-align:center}.migration-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem;margin-bottom:2rem}.stat-item{display:flex;flex-direction:column;align-items:center;padding:1.25rem .75rem;background:linear-gradient(135deg,#f9fafb 0,#f3f4f6 100%);border-radius:1rem;transition:.3s}.stat-item:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(59,130,246,.15);background:linear-gradient(135deg,#eff6ff 0,#dbeafe 100%)}.stat-icon{font-size:2rem;margin-bottom:.5rem}.stat-value{font-size:1.75rem;font-weight:700;color:#3b82f6;margin-bottom:.25rem}.stat-label{font-size:.75rem;color:#6b7280;text-align:center}.migration-note{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#fef3c7;border-radius:.75rem;border-left:4px solid #f59e0b}.migration-note svg{flex-shrink:0;width:20px;height:20px;color:#f59e0b;margin-top:2px}.migration-note span{font-size:.8125rem;color:#92400e;line-height:1.5}.migration-actions{display:flex;gap:1rem;padding:0 2.5rem 2rem}.migration-actions button{flex:1;padding:.875rem 1.5rem;border-radius:.75rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:.3s;border:none}.btn-secondary{background:#f3f4f6;color:#4b5563}.btn-secondary:hover:not(:disabled){background:#e5e7eb;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.btn-primary{background:linear-gradient(135deg,#3b82f6 0,#2563eb 100%);color:#fff;box-shadow:0 4px 12px rgba(59,130,246,.3)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px rgba(59,130,246,.4)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none}.processing{display:flex;align-items:center;justify-content:center;gap:.5rem}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sync-indicator{position:fixed;bottom:2rem;right:2rem;display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:#fff;border-radius:1rem;box-shadow:0 10px 30px rgba(0,0,0,.15);z-index:9998;min-width:240px;animation:.4s cubic-bezier(.4,0,.2,1) slide-in-right}@keyframes slide-in-right{from{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}.sync-icon{flex-shrink:0;width:24px;height:24px}.sync-icon svg{width:100%;height:100%;stroke-width:2.5}.rotating{animation:1.5s linear infinite rotate}@keyframes rotate{to{transform:rotate(360deg)}}.sync-message{font-size:.9375rem;font-weight:500;color:#374151}.sync-syncing{border-left:4px solid #3b82f6}.sync-syncing .sync-icon svg{stroke:#3b82f6}.sync-success{border-left:4px solid #10b981}.sync-success .sync-icon svg{stroke:#10b981}.sync-error{border-left:4px solid #ef4444}.sync-error .sync-icon svg{stroke:#ef4444}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}.user-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);backdrop-filter:blur(2px);z-index:9998;animation:.2s fade-in}.user-menu-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:1.25rem;box-shadow:0 20px 60px rgba(0,0,0,.2);min-width:320px;max-width:400px;z-index:9999;animation:.3s cubic-bezier(.4,0,.2,1) modal-slide-up}.user-menu-header{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#3b82f6 0,#2563eb 100%);border-radius:1.25rem 1.25rem 0 0}.user-menu-header .user-name{font-size:.9375rem;font-weight:600;color:#fff}.user-menu-header .user-email{font-size:.8125rem;color:rgba(255,255,255,.85)}.user-menu-items{padding:1rem}.user-menu-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border:none;background:0 0;border-radius:.75rem;font-size:.9375rem;color:#374151;cursor:pointer;transition:.2s;text-align:left}.user-menu-item:hover:not(:disabled){background:#f9fafb;transform:translateX(4px)}.user-menu-item:disabled{opacity:.5;cursor:not-allowed}.logout-item{color:#ef4444}.logout-item:hover{background:#fef2f2}.menu-icon{width:20px;height:20px;stroke-width:2}.sync-time{margin-left:auto;font-size:.75rem;color:#9ca3af}@media (max-width:640px){.modal-container{padding:2rem 1.5rem}.modal-title{font-size:1.5rem}.user-name{display:none}.btn-test-login{padding:.5rem}.btn-test-login span{font-size:1rem}.migration-dialog{margin:1rem;max-width:100%}.migration-header{padding:1.5rem 1.25rem 1rem}.migration-header h2{font-size:1.5rem}.migration-content{padding:1.5rem 1.25rem}.migration-stats{grid-template-columns:repeat(2,1fr)}.migration-actions{padding:0 1.25rem 1.5rem;flex-direction:column}.migration-actions button{width:100%}.sync-indicator{bottom:1rem;right:1rem;left:1rem;min-width:auto}.user-menu-content{min-width:280px;max-width:calc(100% - 2rem)}}