/* AdminMind Premium Motion V3 — subtil, rapide, accessible */
:root{
  --motion-fast:140ms;
  --motion-normal:240ms;
  --motion-slow:420ms;
  --motion-spring:cubic-bezier(.2,.85,.25,1);
  --premium-glow:rgba(115,87,255,.22);
  --premium-glow-strong:rgba(115,87,255,.34);
}
html.theme-shifting *,html.theme-shifting *::before,html.theme-shifting *::after{
  transition-property:background-color,background,border-color,color,box-shadow,fill,stroke!important;
  transition-duration:360ms!important;
  transition-timing-function:ease!important;
}
body,.app,.topbar,.nav,.sheet,.modal,.hero,.stat,.analysisBox,.familySection,.familyDoc,.setting,.smartSearchBox,.planStatusCard,.familyHomeCard{
  transition:background-color var(--motion-normal) ease,border-color var(--motion-normal) ease,color var(--motion-normal) ease,box-shadow var(--motion-normal) ease;
}

/* Pages : apparition courte au lieu d'un changement brutal */
.view.active{animation:premiumViewIn 260ms var(--motion-spring) both}
@keyframes premiumViewIn{from{opacity:0;transform:translate3d(0,8px,0) scale(.995)}to{opacity:1;transform:none}}

/* Bottom sheets / modales : vrai mouvement iOS-like */
.sheetWrap.show,.modalWrap.show{animation:premiumBackdropIn 200ms ease both}
.sheetWrap.show .sheet,.modalWrap.show .modal{animation:premiumSheetIn 330ms var(--motion-spring) both!important}
@keyframes premiumBackdropIn{from{background:rgba(14,15,25,0)}to{background:rgba(14,15,25,.46)}}
@keyframes premiumSheetIn{0%{transform:translate3d(0,32px,0) scale(.985);opacity:.72}100%{transform:none;opacity:1}}

/* Réaction tactile */
button,.choice,.scenario,.setting,.familyHomeCard,.planStatusCard,.familyDoc,.familyModeCard,.planningQuickAction,.proModule,.proEntity,.smartSearchResult{
  -webkit-tap-highlight-color:transparent;
  transition:transform var(--motion-fast) ease,box-shadow var(--motion-normal) ease,border-color var(--motion-normal) ease,background-color var(--motion-normal) ease,opacity var(--motion-fast) ease;
}
button:not(:disabled):active,.choice:active,.scenario:active,.setting:active,.familyHomeCard:active,.planStatusCard:active,.familyDoc:active,.familyModeCard:active,.planningQuickAction:active,.proModule:active,.proEntity:active,.smartSearchResult:active{
  transform:scale(.972);
}
button:disabled{opacity:.62;cursor:not-allowed}
.primary,.dropBtn,.voiceHeroBtn,.planChoiceAction.primaryChoice{
  box-shadow:0 10px 24px rgba(115,87,255,.18);
}
.primary:not(:disabled):active,.dropBtn:not(:disabled):active,.voiceHeroBtn:not(:disabled):active{box-shadow:0 5px 12px rgba(115,87,255,.16)}

/* Ripple discret pour les boutons */
button{position:relative;overflow:hidden}
.premiumRipple{position:absolute;pointer-events:none;border-radius:50%;background:rgba(255,255,255,.32);transform:translate(-50%,-50%) scale(0);animation:premiumRipple 480ms ease-out forwards;z-index:0}
button>*{position:relative;z-index:1}
@keyframes premiumRipple{to{transform:translate(-50%,-50%) scale(1);opacity:0}}
.secondary .premiumRipple,.iconbtn .premiumRipple{background:rgba(115,87,255,.18)}

/* Hero légèrement vivant */
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero::after{content:"";position:absolute;width:160px;height:160px;right:-72px;top:-68px;border-radius:50%;background:radial-gradient(circle,rgba(155,134,255,.24),rgba(115,87,255,0) 68%);z-index:-1;animation:premiumFloat 6s ease-in-out infinite}
@keyframes premiumFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-12px,10px,0) scale(1.08)}}
.voiceLiveDot{box-shadow:0 0 0 0 rgba(115,87,255,.36);animation:premiumLiveDot 2s infinite}
@keyframes premiumLiveDot{0%{box-shadow:0 0 0 0 rgba(115,87,255,.34)}65%{box-shadow:0 0 0 8px rgba(115,87,255,0)}100%{box-shadow:0 0 0 0 rgba(115,87,255,0)}}

/* Navigation : l'onglet actif glisse plutôt que claque */



@keyframes premiumNavPop{0%{transform:scale(.96)}100%{transform:scale(1)}}

/* Chargement IA premium */
.processing{position:relative}
.processing .orb{position:relative;isolation:isolate;animation:premiumOrbBreath 1.8s ease-in-out infinite!important;box-shadow:0 16px 44px var(--premium-glow-strong)!important}
.processing .orb::before{content:"";position:absolute;inset:-7px;border-radius:32px;background:conic-gradient(from 0deg,transparent 0 18%,rgba(255,255,255,.92) 24%,transparent 31% 100%);z-index:-1;animation:premiumOrbSpin 1.45s linear infinite;filter:blur(.2px)}
.processing .orb::after{content:"";position:absolute;inset:1px;border-radius:25px;background:linear-gradient(145deg,#856cff,#5f43df);z-index:-1}
@keyframes premiumOrbSpin{to{transform:rotate(360deg)}}
@keyframes premiumOrbBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
.aiPremiumProgress{height:7px;border-radius:99px;background:rgba(115,87,255,.10);overflow:hidden;margin:0 auto 18px;max-width:310px;box-shadow:inset 0 0 0 1px rgba(115,87,255,.06)}
.aiPremiumProgress>span{height:100%;width:8%;display:block;border-radius:inherit;background:linear-gradient(90deg,#7357ff,#9b86ff,#5fd2c7);box-shadow:0 0 14px rgba(115,87,255,.34);transition:width 480ms var(--motion-spring)}
.aiPremiumSubline{min-height:18px;margin:-10px auto 17px;font-size:11px;color:var(--muted);font-weight:750;letter-spacing:.08px}
.step{position:relative;overflow:hidden;transition:transform 220ms var(--motion-spring),border-color 220ms ease,background-color 220ms ease,color 220ms ease,box-shadow 220ms ease!important}
.step.active{transform:translateX(3px);box-shadow:0 8px 20px rgba(115,87,255,.08);border-color:rgba(115,87,255,.24)}
.step.active::after{content:"";position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);animation:premiumScan 900ms ease-in-out infinite}
@keyframes premiumScan{to{transform:translateX(120%)}}
.step.doneStep{opacity:.84}
.step.doneStep .dot{animation:premiumCheck 220ms var(--motion-spring)}
@keyframes premiumCheck{0%{transform:scale(.72)}100%{transform:scale(1)}}

/* Analyse terminée / succès */
#review.view.active .analysisBox{animation:premiumCardRise 380ms var(--motion-spring) both}
#success.view.active .successIcon{animation:premiumSuccess 520ms var(--motion-spring) both}
@keyframes premiumCardRise{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes premiumSuccess{0%{transform:scale(.72) rotate(-6deg);opacity:.4}65%{transform:scale(1.08) rotate(2deg);opacity:1}100%{transform:scale(1) rotate(0)}}

/* Voix plus organique */
.voiceOrb.listening{animation:premiumVoiceBreath 1.15s ease-in-out infinite}
.voiceOrb.listening::before,.voiceOrb.listening::after{animation-duration:1.25s!important}
@keyframes premiumVoiceBreath{0%,100%{transform:scale(1);box-shadow:0 18px 42px rgba(105,75,224,.28)}50%{transform:scale(1.035);box-shadow:0 20px 54px rgba(105,75,224,.42)}}

/* Toasts plus nets */
.toast.show{animation:premiumToastIn 300ms var(--motion-spring) both}
@keyframes premiumToastIn{from{opacity:0;transform:translate(-50%,12px) scale(.96)}to{opacity:1;transform:translate(-50%,0) scale(1)}}

/* Dark mode : glow moins agressif */
html[data-theme="dark"]{--premium-glow:rgba(129,103,255,.18);--premium-glow-strong:rgba(129,103,255,.26)}
html[data-theme="dark"] .aiPremiumProgress{background:rgba(129,103,255,.13)}
html[data-theme="dark"] .step.active::after{background:linear-gradient(100deg,transparent,rgba(255,255,255,.07),transparent)}
html[data-theme="dark"] .premiumRipple{background:rgba(255,255,255,.12)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
  .hero::after{display:none}
}


/* AdminMind Premium Login V4 — first impression */
.authGate{background:linear-gradient(155deg,#f8f9ff 0%,#ffffff 46%,#f2f5ff 100%);padding:max(20px,env(safe-area-inset-top)) 18px max(22px,env(safe-area-inset-bottom));isolation:isolate;overflow-x:hidden}
.authGate.show{animation:authGateReveal .38s cubic-bezier(.2,.78,.25,1) both}
.authShellV4{width:min(100%,430px);max-width:430px;min-height:calc(100dvh - max(40px,env(safe-area-inset-top)) - max(44px,env(safe-area-inset-bottom)));justify-content:center;position:relative;z-index:2;padding:18px 0 10px}
.authThemeQuick{position:fixed;right:16px;top:max(14px,env(safe-area-inset-top));z-index:5;width:38px;height:38px;border:1px solid rgba(98,78,190,.12);border-radius:13px;background:rgba(255,255,255,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#51468d;font-size:18px;font-weight:900;box-shadow:0 8px 28px rgba(61,52,117,.08);display:grid;place-items:center}
.authAmbient{position:fixed;border-radius:50%;filter:blur(2px);pointer-events:none;z-index:0;opacity:.72}
.authAmbientOne{width:280px;height:280px;right:-130px;top:-80px;background:radial-gradient(circle,rgba(112,87,255,.22),rgba(112,87,255,0) 70%);animation:authAmbientFloat 9s ease-in-out infinite alternate}
.authAmbientTwo{width:300px;height:300px;left:-170px;bottom:-120px;background:radial-gradient(circle,rgba(73,203,198,.16),rgba(73,203,198,0) 70%);animation:authAmbientFloat 11s ease-in-out infinite alternate-reverse}
.authBrandV4{margin:4px 0 22px;text-align:center;animation:authRise .5s .03s cubic-bezier(.2,.8,.2,1) both}
.authLogoV4{width:66px;height:66px;border-radius:21px;margin:0 auto 11px;background:linear-gradient(145deg,#7559ff,#4f37ca);box-shadow:0 18px 42px rgba(91,68,218,.28),inset 0 1px 0 rgba(255,255,255,.25);position:relative;overflow:hidden}
.authLogoV4:after{content:"";position:absolute;inset:-40% -70%;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.36) 50%,transparent 65%);transform:translateX(-45%);animation:authLogoShine 5.2s ease-in-out infinite}
.authLogoV4 img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}
.authBrandWord{font-size:30px;font-weight:950;letter-spacing:-1.25px;color:#14141c}
.authBrandV4 p{margin:5px auto 0;max-width:310px;font-size:13px;line-height:1.4;color:#777587}
.authLiveDemo{position:relative;overflow:hidden;border:1px solid rgba(103,82,205,.12);background:rgba(255,255,255,.74);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:24px;padding:14px 14px 15px;box-shadow:0 16px 48px rgba(50,43,96,.09);animation:authRise .54s .08s cubic-bezier(.2,.8,.2,1) both}
.authLiveTop{display:flex;align-items:center;gap:7px;color:#59546f;font-size:9.5px;font-weight:850;letter-spacing:.12px}.authLiveTop small{margin-left:auto;border-radius:999px;padding:4px 7px;background:#eeebff;color:#6650d2;font-size:8.5px;font-weight:950}.authLiveDot{width:7px;height:7px;border-radius:50%;background:#53c7a7;box-shadow:0 0 0 0 rgba(83,199,167,.3);animation:authDotPulse 2.2s ease-out infinite}
.authLiveFlow{display:grid;grid-template-columns:1fr 24px 1fr;gap:7px;align-items:center;margin-top:12px}.authLiveDoc,.authLiveResult{display:flex;align-items:center;gap:9px;min-width:0;border-radius:17px;padding:11px;background:#fafaff;border:1px solid #ece9fb;transition:transform .35s ease,box-shadow .35s ease}.authLiveResult{background:linear-gradient(145deg,#f0edff,#f9f8ff);border-color:#ddd6ff;animation:authResultBreathe 3.2s ease-in-out infinite}.authLiveIcon,.authLiveCheck{width:34px;height:34px;flex:0 0 auto;border-radius:11px;display:grid;place-items:center;font-size:16px;background:#f0edff}.authLiveCheck{background:#6d54e8;color:#fff;font-size:14px;font-weight:950;box-shadow:0 7px 16px rgba(109,84,232,.22)}.authLiveDoc div:last-child,.authLiveResult div:last-child{min-width:0}.authLiveDoc small,.authLiveResult small{display:block;font-size:7.5px;font-weight:950;letter-spacing:.55px;color:#9b97aa}.authLiveDoc b,.authLiveResult b{display:block;font-size:10.5px;margin-top:3px;color:#262431;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.authLiveDoc span,.authLiveResult span{display:block;font-size:9px;color:#777386;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.authLiveArrow{text-align:center;color:#8375c7;font-size:16px;font-weight:950;animation:authArrowNudge 1.8s ease-in-out infinite}.authLiveScan{position:absolute;left:14px;right:14px;height:1px;top:46px;background:linear-gradient(90deg,transparent,#826cff,transparent);box-shadow:0 0 10px rgba(130,108,255,.45);opacity:0;animation:authScan 4.8s ease-in-out infinite}
.authPromiseLine{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;margin:12px 4px 10px;color:#777386;font-size:9px;font-weight:800;animation:authRise .54s .12s cubic-bezier(.2,.8,.2,1) both}.authPromiseLine span:nth-child(even){opacity:.35}
.authCardV4{background:rgba(255,255,255,.82);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:1px solid rgba(106,87,194,.13);border-radius:25px;padding:15px;box-shadow:0 24px 60px rgba(41,35,82,.10);animation:authRise .56s .16s cubic-bezier(.2,.8,.2,1) both}
.authConnectTitleV4{text-align:center;font-size:11px;font-weight:900;color:#5f5b6d;margin:1px 0 11px}
.authBtnV4{position:relative;overflow:hidden;min-height:54px;border-radius:16px;margin-bottom:9px;transition:transform .16s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.authBtnV4:active{transform:scale(.985)}.authBtnV4 .authBtnLabel{font-size:13.5px;font-weight:900}.authBtnV4.faceid{background:linear-gradient(145deg,#171820,#262338);border:0;box-shadow:0 9px 22px rgba(23,24,32,.18)}.authBtnV4.faceid:hover{box-shadow:0 11px 26px rgba(23,24,32,.22)}.authBtnV4.google{background:#fff;border-color:#e7e5ee;color:#24232b}.authBtnV4.email{background:#f7f5ff;border-color:#e5e0ff;color:#5c47c8}.authBtnIcon,.authGoogleMark{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;position:absolute;left:14px;font-size:13px;font-weight:950}.authBtnIcon{background:rgba(255,255,255,.10)}.authBtnV4.email .authBtnIcon{background:#ece7ff}.authGoogleMark{background:linear-gradient(135deg,#4285f4,#34a853);color:#fff}.authBtnChevron{position:absolute;right:16px;font-size:22px;font-weight:500;opacity:.45}.authBtnSpinner{display:none;position:absolute;right:15px;width:17px;height:17px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;opacity:.65;animation:authSpin .7s linear infinite}.authBtnV4.is-loading .authBtnSpinner,.authEmailSubmitV4.is-loading .authBtnSpinner{display:block}.authBtnV4.is-loading .authBtnLabel{opacity:.72}.authBtnV4.is-loading{pointer-events:none}
.authEmailBoxV4{border-top:0;margin-top:4px;padding-top:8px;animation:authEmailReveal .26s ease both}.authEmailBoxV4.show{display:block}.authEmailBoxV4>input,.authEmailBoxV4 .authInputWrap input{height:50px;border-radius:14px;background:#fff;border-color:#e7e4ef}.authEmailSubmitV4{position:relative;min-height:49px;border-radius:14px;display:flex;align-items:center;justify-content:center}.authEmailSubmitV4 .authBtnSpinner{color:#fff}.authInviteCompact{display:flex;gap:9px;align-items:flex-start;margin-top:10px;padding:10px 11px;border-radius:14px;background:#f8f7fb;border:1px solid #eceaf2}.authInviteCompact>span{font-size:15px}.authInviteCompact b{display:block;font-size:9.5px;color:#504d5b}.authInviteCompact small{display:block;font-size:8.7px;line-height:1.35;color:#8a8795;margin-top:1px}.authStateV4{margin-top:9px;min-height:16px;font-weight:750}.authFineV4{font-size:8.5px;line-height:1.45;margin:8px 4px 0;color:#8e8a99}.authLegalV4{text-align:center;color:#9a97a5;font-size:8px;line-height:1.4;padding:11px 24px 0;animation:authRise .55s .2s ease both}
.authWebsiteV4{display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:100%;margin:13px auto 0;padding:10px 14px;border-radius:14px;border:1px solid rgba(106,87,194,.13);background:rgba(255,255,255,.58);color:#5c47c8;text-decoration:none;font-size:10.5px;font-weight:900;box-shadow:0 9px 24px rgba(61,52,117,.05);transition:transform .16s ease,background .2s ease,border-color .2s ease}
.authWebsiteV4:active{transform:scale(.98)}
.authWebsiteV4:hover{background:rgba(255,255,255,.84);border-color:rgba(106,87,194,.22)}
.authWebsiteV4 .authWebsiteIcon{font-size:14px}.authWebsiteV4 .authWebsiteArrow{font-size:14px;opacity:.62}
.authVersionV4{text-align:center;margin-top:7px;color:#aaa6b4;font-size:7.8px;font-weight:800;letter-spacing:.15px}
html[data-theme="dark"] .authGate{background:linear-gradient(155deg,#0c0d13 0%,#11131c 48%,#0c1020 100%)}
html[data-theme="dark"] .authThemeQuick{background:rgba(21,23,33,.78);border-color:rgba(255,255,255,.08);color:#d9d5f0}
html[data-theme="dark"] .authBrandWord{color:#f6f4ff}html[data-theme="dark"] .authBrandV4 p{color:#9c99aa}
html[data-theme="dark"] .authLiveDemo,html[data-theme="dark"] .authCardV4{background:rgba(20,22,31,.82);border-color:rgba(145,126,230,.16);box-shadow:0 24px 65px rgba(0,0,0,.28)}
html[data-theme="dark"] .authLiveTop{color:#aaa5bd}html[data-theme="dark"] .authLiveTop small{background:#29243f;color:#c2b6ff}
html[data-theme="dark"] .authLiveDoc{background:#171923;border-color:#292c39}html[data-theme="dark"] .authLiveResult{background:linear-gradient(145deg,#211e34,#1a1b28);border-color:#3b345a}html[data-theme="dark"] .authLiveDoc b,html[data-theme="dark"] .authLiveResult b{color:#f3f1fa}html[data-theme="dark"] .authLiveDoc small,html[data-theme="dark"] .authLiveResult small{color:#817c91}html[data-theme="dark"] .authLiveDoc span,html[data-theme="dark"] .authLiveResult span{color:#a39fac}
html[data-theme="dark"] .authPromiseLine{color:#9995a5}html[data-theme="dark"] .authConnectTitleV4{color:#b8b4c4}html[data-theme="dark"] .authWebsiteV4{background:rgba(20,22,31,.72);border-color:rgba(145,126,230,.16);color:#c5baff}html[data-theme="dark"] .authWebsiteV4:hover{background:rgba(27,29,40,.92);border-color:rgba(145,126,230,.28)}html[data-theme="dark"] .authVersionV4{color:#777383}
html[data-theme="dark"] .authBtnV4.google{background:#181a23;border-color:#2c2e3b;color:#f5f3fa}html[data-theme="dark"] .authBtnV4.email{background:#211e33;border-color:#37304f;color:#c7bcff}html[data-theme="dark"] .authBtnV4.email .authBtnIcon{background:#2d2842}
html[data-theme="dark"] .authEmailBoxV4>input,html[data-theme="dark"] .authEmailBoxV4 .authInputWrap input{background:#171923;border-color:#2b2e3b;color:#f6f4fa}html[data-theme="dark"] .authModeTabs{background:#171923}html[data-theme="dark"] .authModeTab.active{background:#292b38;color:#fff}
html[data-theme="dark"] .authInviteCompact{background:#171923;border-color:#292c39}html[data-theme="dark"] .authInviteCompact b{color:#d7d3df}html[data-theme="dark"] .authInviteCompact small,html[data-theme="dark"] .authFineV4,html[data-theme="dark"] .authLegalV4{color:#858190}
html[data-theme="dark"] .authAmbientOne{background:radial-gradient(circle,rgba(113,88,255,.25),rgba(113,88,255,0) 70%)}html[data-theme="dark"] .authAmbientTwo{background:radial-gradient(circle,rgba(47,178,180,.12),rgba(47,178,180,0) 70%)}
@media(max-height:720px){.authShellV4{justify-content:flex-start;padding-top:46px}.authBrandV4{margin-bottom:12px}.authLogoV4{width:54px;height:54px;border-radius:18px}.authBrandWord{font-size:26px}.authLiveDemo{padding:11px}.authPromiseLine{margin:8px 4px}.authCardV4{padding:13px}.authLegalV4{padding-top:8px}}
@media(max-width:360px){.authLiveFlow{grid-template-columns:1fr 16px 1fr;gap:4px}.authLiveDoc,.authLiveResult{gap:6px;padding:9px}.authLiveIcon,.authLiveCheck{width:29px;height:29px}.authLiveDoc b,.authLiveResult b{font-size:9.5px}.authPromiseLine{font-size:8px}}
@media(prefers-reduced-motion:reduce){.authGate.show,.authBrandV4,.authLiveDemo,.authPromiseLine,.authCardV4,.authLegalV4,.authAmbient,.authLogoV4:after,.authLiveDot,.authLiveResult,.authLiveArrow,.authLiveScan{animation:none!important}}
@keyframes authGateReveal{from{opacity:0}to{opacity:1}}@keyframes authRise{from{opacity:0;transform:translateY(10px) scale(.995)}to{opacity:1;transform:none}}@keyframes authAmbientFloat{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-18px,16px,0) scale(1.08)}}@keyframes authLogoShine{0%,64%{transform:translateX(-55%);opacity:0}72%{opacity:.9}90%,100%{transform:translateX(55%);opacity:0}}@keyframes authDotPulse{0%{box-shadow:0 0 0 0 rgba(83,199,167,.34)}75%,100%{box-shadow:0 0 0 8px rgba(83,199,167,0)}}@keyframes authResultBreathe{0%,100%{transform:translateY(0);box-shadow:none}50%{transform:translateY(-2px);box-shadow:0 9px 24px rgba(93,72,198,.08)}}@keyframes authArrowNudge{0%,100%{transform:translateX(0);opacity:.55}50%{transform:translateX(3px);opacity:1}}@keyframes authScan{0%,8%,100%{top:46px;opacity:0}15%{opacity:.85}42%{top:111px;opacity:.45}50%{opacity:0}}@keyframes authSpin{to{transform:rotate(360deg)}}@keyframes authEmailReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
