.wave-path{animation:wave-animation 10s ease-in-out infinite;transform-origin:center}.wave-1{animation-delay:0s}.wave-2{animation-delay:-5s;animation-duration:12s}@keyframes wave-animation{0%,to{transform:translateX(0) translateY(0)}25%{transform:translateX(-5%) translateY(-3%)}50%{transform:translateX(0) translateY(-5%)}75%{transform:translateX(5%) translateY(-3%)}}.dots-pattern{width:100%;height:100%;background-image:radial-gradient(circle,#1E73B8 1px,transparent 0);background-size:40px 40px;animation:dots-move 20s linear infinite}@keyframes dots-move{0%{background-position:0 0}to{background-position:40px 40px}}@keyframes spin-slow{0%{transform:rotate(45deg)}to{transform:rotate(405deg)}}.animate-spin-slow{animation:spin-slow 20s linear infinite}@keyframes pulse-slow{0%,to{transform:scale(1);opacity:.1}50%{transform:scale(1.3);opacity:.2}}.animate-pulse-slow{animation:pulse-slow 4s ease-in-out infinite}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.animate-bounce-slow{animation:bounce-slow 3s ease-in-out infinite}.login-card-border{border-color:rgba(30,115,184,.14);background:rgba(255,255,255,.94);box-shadow:0 24px 60px rgba(15,23,42,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.auth-shell{min-height:max(100dvh,720px);overflow:hidden;background:radial-gradient(circle at top left,rgba(30,115,184,.12),transparent 34%),radial-gradient(circle at bottom right,rgba(30,115,184,.08),transparent 28%),linear-gradient(135deg,#ffffff,#eff6ff 52%,#ffffff)}.auth-form-shell,.auth-shell{position:relative;display:flex;align-items:center}.auth-form-shell{z-index:10;width:100%;justify-content:center;padding:clamp(1.25rem,4vw,2.25rem)}.auth-card{width:min(100%,30rem);display:flex;flex-direction:column;gap:.9rem;margin-inline:auto;padding:clamp(1.25rem,3vw,2rem);border:1px solid rgba(30,115,184,.14);border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 24px 60px rgba(15,23,42,.12)}.auth-card-wide{width:min(100%,33rem)}.auth-title{font-size:clamp(1.65rem,3vw,2.15rem);font-weight:700;color:#0f172a}.auth-subtitle,.auth-title{width:100%;text-align:center}.auth-subtitle{color:#475569;line-height:1.65}.auth-label{font-size:.9rem;font-weight:600;color:#334155}.auth-input{width:100%;border:1px solid rgba(148,163,184,.32);border-radius:16px;padding:.9rem 1rem;background:rgba(255,255,255,.98);color:#0f172a;transition:border-color .2s ease,box-shadow .2s ease}.auth-input:focus{outline:none;border-color:rgba(30,115,184,.55);box-shadow:0 0 0 4px rgba(30,115,184,.12)}.auth-submit{width:100%;border-radius:999px;padding:.9rem 1rem;background:linear-gradient(135deg,#1E73B8,#145a94);color:#ffffff;font-weight:600;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.auth-submit:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(30,115,184,.24)}.auth-divider{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;color:#64748b;font-size:.78rem;font-weight:700}.auth-divider span{height:1px;background:rgba(148,163,184,.42)}.auth-google-button{width:100%;min-height:3.1rem;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;border:1px solid rgba(148,163,184,.42);border-radius:999px;background:rgba(255,255,255,.98);color:#0f172a;font-weight:700;transition:border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.auth-google-button:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(30,115,184,.42);box-shadow:0 14px 26px rgba(15,23,42,.12)}.auth-google-button:disabled{cursor:not-allowed;opacity:.65}.auth-google-icon{width:1.35rem;height:1.35rem;flex:0 0 auto}.auth-password-toggle{position:absolute;top:50%;right:.5rem;display:inline-flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;border-radius:999px;color:#475569;font-size:1.1rem;transform:translateY(-50%);transition:background-color .2s ease,color .2s ease}.auth-password-toggle:hover:not(:disabled){background:rgba(30,115,184,.08);color:#0f172a}.auth-password-toggle:disabled{opacity:.5;cursor:not-allowed}.auth-message{width:100%;border-radius:16px;padding:.9rem 1rem}.auth-message-success{border:1px solid #86efac;background:#f0fdf4;color:#166534}.auth-message-error{border:1px solid #fca5a5;background:#fef2f2;color:#b91c1c}@media (max-width:640px){.auth-shell{min-height:max(100dvh,720px)}.auth-card,.auth-card-wide{width:100%;border-radius:22px}.wave-path{opacity:.7}.dots-pattern{background-size:30px 30px}.animate-bounce-slow,.animate-pulse-slow,.animate-spin-slow{opacity:.5}}.auth-shell *{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}@media (prefers-reduced-motion:reduce){.animate-bounce-slow,.animate-pulse-slow,.animate-spin-slow,.dots-pattern,.wave-path{animation:none}}