/* AltMed Sign V18 · Branding protagonista y navegación premium */
:root{
  --altmed-navy:#0d2235;
  --altmed-navy-2:#102b43;
  --altmed-navy-3:#173a57;
  --altmed-red:#d1263b;
  --altmed-red-dark:#a91e2f;
  --altmed-white:#f8fafc;
  --altmed-line:rgba(255,255,255,.12);
  --altmed-glow:rgba(72,126,172,.22);
}

/* LOGIN */
body.auth-page.altmed-login{
  min-height:100vh;
  margin:0;
  display:grid;
  place-items:center;
  padding:clamp(18px,3vw,44px);
  overflow-x:hidden;
  color:#152437;
  background:
    radial-gradient(circle at 91% 18%,rgba(126,151,181,.30) 0 4%,rgba(126,151,181,0) 17%),
    radial-gradient(circle at 5% -2%,rgba(129,166,200,.16),transparent 24%),
    linear-gradient(135deg,#081a2a 0%,#0d2235 48%,#112d45 100%);
  font-family:Inter,Segoe UI,Arial,sans-serif;
  position:relative;
}
body.auth-page.altmed-login::before,
body.auth-page.altmed-login::after{
  content:"";
  position:fixed;
  pointer-events:none;
  border-radius:42px;
  transform:rotate(18deg);
  filter:blur(.2px);
}
body.auth-page.altmed-login::before{
  width:260px;height:420px;left:28%;bottom:-170px;
  background:linear-gradient(160deg,rgba(193,31,49,.12),rgba(137,61,126,.07));
}
body.auth-page.altmed-login::after{
  width:520px;height:260px;right:-120px;top:-120px;
  background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,0));
}
.altmed-login-shell{
  width:min(1420px,100%);
  display:grid;
  grid-template-columns:minmax(620px,1.18fr) minmax(430px,.82fr);
  align-items:center;
  gap:clamp(34px,4vw,72px);
  position:relative;
  z-index:2;
}
.altmed-login-brandpanel{
  min-height:660px;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:clamp(40px,4vw,58px);
  border:1px solid rgba(255,255,255,.14);
  border-radius:34px;
  overflow:hidden;
  background:
    radial-gradient(circle at 25% 26%,rgba(73,116,153,.22),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 28px 65px rgba(0,0,0,.20);
  backdrop-filter:blur(16px);
}
.altmed-login-brandpanel::after{
  content:"";
  position:absolute;
  inset:auto -80px -120px auto;
  width:370px;height:370px;
  border-radius:80px;
  transform:rotate(18deg);
  background:linear-gradient(145deg,rgba(209,38,59,.11),rgba(80,57,111,.10));
}
.altmed-login-brandstack{position:relative;z-index:2;display:grid;gap:26px;max-width:100%}
.altmed-login-primary-logo{
  width:min(610px,100%);
  height:auto;
  display:block;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.16));
}
.altmed-login-tagline{
  margin:-8px 0 4px 102px;
  color:#b8c8d8;
  font-size:.73rem;
  font-weight:750;
  letter-spacing:.29em;
  text-transform:uppercase;
}
.altmed-partner-row{
  width:min(560px,100%);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:34px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.18);
}
.altmed-login-partner-logo{width:min(330px,100%);height:auto;display:block;opacity:.98}
.altmed-partner-label{display:grid;gap:6px;justify-items:start;color:#9eb0c1;font-size:.67rem;letter-spacing:.13em;text-transform:uppercase;font-weight:750;line-height:1.4}.altmed-partner-label small{font-size:.62rem;opacity:.88}.altmed-partner-label strong{font-size:.74rem;color:#e6eef6;letter-spacing:.12em}
.altmed-login-mascot-wrap{
  position:absolute;
  left:clamp(42px,7vw,72px);
  right:clamp(42px,7vw,72px);
  bottom:42px;
  z-index:2;
  display:flex;
  align-items:flex-end;
  gap:34px;
}
.altmed-mascot-character{
  position:relative;
  width:270px;
  height:240px;
  flex:0 0 270px;
  transform-origin:center bottom;
  transition:transform .28s ease, filter .28s ease;
}
.altmed-login-mascot{
  width:100%;height:100%;object-fit:cover;
  border-radius:32px;
  box-shadow:0 20px 45px rgba(0,0,0,.24);
  border:1px solid rgba(255,255,255,.09);
  mix-blend-mode:normal;
  display:block;
}
.altmed-mascot-eye{
  position:absolute;
  z-index:3;
  width:35px;
  height:28px;
  overflow:hidden;
  border-radius:50%;
  transition:opacity .18s ease, transform .22s ease;
}
.altmed-mascot-eye::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:50%;
  background:radial-gradient(circle at 45% 40%,#ffffff 0 62%,#f0f4f8 63% 100%);
  box-shadow:0 0 0 1px rgba(106,124,142,.20);
}
.altmed-mascot-eye-left{left:108px;top:101px;}
.altmed-mascot-eye-right{left:152px;top:104px;}
.altmed-mascot-pupil{
  position:absolute;
  left:50%;
  top:50%;
  width:11px;
  height:11px;
  margin:-5.5px 0 0 -5.5px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#eef5fc 0 18%,#1f3346 19% 100%);
  box-shadow:0 0 0 2px rgba(18,38,58,.16);
  transition:transform .10s linear;
  z-index:2;
}
.altmed-mascot-lid{
  position:absolute;
  inset:-118% -10% auto -10%;
  height:228%;
  background:linear-gradient(180deg,#f5f7fb 0%,#eef2f6 55%,#e6ecf2 100%);
  border-bottom:2px solid #536679;
  border-radius:0 0 18px 18px;
  transform:translateY(-105%);
  transition:transform .25s ease;
}
.altmed-mascot-hand{
  position:absolute;
  top:96px;
  z-index:5;
  width:82px;
  height:28px;
  border-radius:20px;
  background:linear-gradient(180deg,#f8fbff,#e7edf3);
  border:1px solid rgba(69,91,111,.16);
  box-shadow:0 10px 20px rgba(9,21,33,.18);
  transition:transform .32s ease,opacity .18s ease;
  opacity:0;
}
.altmed-mascot-hand::before{
  content:"";
  position:absolute;
  top:50%;
  width:26px;
  height:26px;
  margin-top:-13px;
  border-radius:50%;
  background:linear-gradient(180deg,#d9273d,#b91f33);
  box-shadow:0 0 0 8px #12324b, 0 7px 18px rgba(0,0,0,.22);
}
.altmed-mascot-hand-left{left:8px;transform:translateX(-30px) rotate(-14deg);}
.altmed-mascot-hand-left::before{right:-8px;}
.altmed-mascot-hand-right{right:8px;transform:translateX(30px) rotate(14deg);}
.altmed-mascot-hand-right::before{left:-8px;}
body.password-visible .altmed-mascot-pupil{transform:translate(0,0)!important;opacity:0;}
body.password-visible .altmed-mascot-eye{opacity:0;}
body.password-visible .altmed-mascot-lid{transform:translateY(112%);}
body.password-visible .altmed-mascot-hand{opacity:1;}
body.password-visible .altmed-mascot-hand-left{transform:translate(86px,-22px) rotate(-8deg);}
body.password-visible .altmed-mascot-hand-right{transform:translate(-86px,-22px) rotate(8deg);}
body.password-field-active .altmed-mascot-character{transform:rotate(-4deg) translateX(6px);}
body.password-field-active .altmed-mascot-pupil{transform:translate(6.5px,-1.5px)!important;}
.altmed-login-motto{
  max-width:220px;
  padding-bottom:18px;
  color:#e6eef6;
  font-size:1.08rem;
  line-height:1.55;
  font-style:italic;
}
.altmed-login-motto strong{font-weight:800}.altmed-login-motto::after{content:"";display:block;width:72px;height:3px;margin-top:12px;border-radius:99px;background:var(--altmed-red);transform:rotate(-8deg)}

.altmed-login-card{
  width:100%;
  position:relative;
  z-index:4;
  margin-left:clamp(-36px,-2.2vw,-10px);
  max-width:520px;
  justify-self:start;
  padding:clamp(32px,4vw,44px);
  border-radius:32px;
  background:linear-gradient(180deg,#fbfcfd,#f6f7f9);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 34px 75px rgba(0,0,0,.27),0 0 0 1px rgba(20,38,55,.02);
}
.altmed-login-card h1{margin:0 0 25px;color:#112237;font-size:clamp(1.75rem,2.8vw,2.2rem);letter-spacing:-.035em}
.altmed-login-card form{display:grid;gap:16px}
.altmed-login-card label{display:grid;gap:8px;margin:0;color:#263a4f;font-size:.79rem;font-weight:850;letter-spacing:.02em}
.altmed-input-wrap{position:relative}
.altmed-login-card input{
  width:100%;height:54px;margin:0;padding:0 52px 0 46px;
  border:1px solid #c9d5df;border-radius:16px;background:#fff;
  color:#17283b;font:inherit;font-size:.93rem;
  box-shadow:0 2px 0 rgba(255,255,255,.8) inset;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.altmed-login-card input:focus{outline:none;border-color:#9fb5c7;box-shadow:0 0 0 4px rgba(38,92,132,.08)}
.altmed-field-icon{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  width:24px;height:24px;border-radius:8px;display:grid;place-items:center;
  background:#f1f4f7;color:#7f94a6;font-size:.78rem;font-weight:900;
}
.altmed-password-toggle{
  position:absolute;right:14px;top:50%;transform:translateY(-50%)!important;
  border:0!important;background:transparent!important;color:#a81528!important;
  padding:6px!important;margin:0!important;font-size:.75rem!important;font-weight:900!important;
  box-shadow:none!important;cursor:pointer;
}
.altmed-password-toggle:hover{filter:brightness(.85)}
.altmed-login-card .auth-primary{
  min-height:54px;margin:2px 0 0;border:0;border-radius:15px;
  background:linear-gradient(180deg,#d92c43,#c52037);
  color:#fff;font-weight:900;font-size:.95rem;
  box-shadow:0 13px 25px rgba(194,31,51,.25);
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
}
.altmed-login-card .auth-primary:hover{transform:translateY(-1px);box-shadow:0 17px 30px rgba(194,31,51,.30);filter:brightness(1.04)}
.altmed-login-card .alert{margin:0 0 16px}
.altmed-login-mobile-brand{display:none}

/* CABECERA INTERNA */
.altmed-header.app-topbar{
  background:linear-gradient(135deg,#0c2134 0%,#102b43 74%,#173952 100%)!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
  box-shadow:0 9px 30px rgba(8,25,39,.20)!important;
}
.altmed-header .altmed-header-main{
  min-height:92px!important;
  padding:12px clamp(18px,3vw,42px)!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
}
.altmed-header .altmed-brand{
  gap:20px!important;
  color:#fff!important;
  min-width:0;
}
.altmed-header .altmed-brand-primary{
  display:flex;align-items:center;gap:16px;min-width:0;
}
.altmed-header .altmed-brand-logo{
  width:clamp(230px,20vw,350px)!important;
  height:67px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:drop-shadow(0 5px 14px rgba(0,0,0,.14));
}
.altmed-header .altmed-brand-divider{
  width:1px;height:48px;flex:0 0 1px;background:rgba(255,255,255,.28);
}
.altmed-header .altmed-partner-logo{
  width:clamp(150px,14vw,235px)!important;
  height:58px!important;
  object-fit:contain!important;
  object-position:left center!important;
  opacity:.97;
}
.altmed-header .altmed-brand-copy{
  display:none!important;
}
.altmed-header .altmed-user-trigger{
  min-height:52px;
  padding:6px 11px 6px 7px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.06)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.altmed-header .altmed-user-trigger:hover{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.18)!important}
.altmed-header .altmed-user-avatar{background:#7890aa!important;color:#fff!important}
.altmed-header .altmed-user-text strong{color:#fff!important}
.altmed-header .altmed-user-text small{color:#aebed0!important}
.altmed-header .altmed-user-trigger::after{border-color:#c8d4df!important}
.altmed-header .altmed-nav-row{
  min-height:58px!important;
  padding:8px clamp(18px,3vw,42px)!important;
  background:rgba(5,20,33,.24)!important;
}
.altmed-header .altmed-primary-nav{gap:8px!important}
.altmed-header .altmed-nav-link{
  color:#d7e2ec!important;
  border:1px solid transparent!important;
  background:transparent!important;
  min-height:40px!important;
  border-radius:11px!important;
  box-shadow:none!important;
}
.altmed-header .altmed-nav-link:hover{
  background:rgba(255,255,255,.075)!important;
  border-color:rgba(255,255,255,.09)!important;
  color:#fff!important;
}
.altmed-header .altmed-nav-link.active{
  background:linear-gradient(90deg,#d22a40,#b81d31)!important;
  color:#fff!important;
  border-color:#d22a40!important;
  box-shadow:0 8px 22px rgba(190,30,49,.20)!important;
}
.altmed-header .altmed-dropdown{border-color:#dfe6eb!important;box-shadow:0 20px 48px rgba(4,18,30,.25)!important}

/* Marca en páginas públicas de firma */
.sign-page{background:linear-gradient(180deg,#edf2f6,#f7f9fb)!important}
.sign-brand.altmed-public-brand{
  min-height:92px;
  display:flex!important;
  align-items:center!important;
  gap:22px!important;
  padding:14px 20px!important;
  margin:0 0 18px!important;
  border-radius:20px;
  background:linear-gradient(135deg,#0c2134,#12324c);
  box-shadow:0 15px 34px rgba(12,33,52,.16);
}
.sign-brand.altmed-public-brand .sign-altmed-logo{width:min(330px,48vw)!important;height:62px!important;object-fit:contain!important;object-position:left center!important}
.sign-brand.altmed-public-brand .sign-brand-divider{width:1px;height:46px;background:rgba(255,255,255,.25)}
.sign-brand.altmed-public-brand .sign-banuelos-logo{width:min(220px,34vw)!important;height:54px!important;object-fit:contain!important;object-position:left center!important}
.sign-brand.altmed-public-brand>div{display:none!important}

@media(max-width:980px){
  .altmed-login-shell{grid-template-columns:1fr;max-width:760px}
  .altmed-login-brandpanel{min-height:410px;padding:30px}
  .altmed-login-card{width:min(600px,92%);margin:-70px auto 0}
  .altmed-login-mascot-wrap{left:auto;right:36px;bottom:34px}
  .altmed-mascot-character{width:150px;height:137px;flex-basis:150px}.altmed-login-mascot{width:100%;height:100%}
  .altmed-login-motto{display:none}
  .altmed-mascot-eye-left{left:60px;top:58px;}
  .altmed-mascot-eye-right{left:86px;top:60px;}
  .altmed-mascot-hand{top:54px;width:46px;height:18px;}
  .altmed-mascot-hand::before{width:18px;height:18px;margin-top:-9px;box-shadow:0 0 0 5px #12324b, 0 5px 12px rgba(0,0,0,.20);}

  .altmed-header .altmed-brand-logo{width:240px!important}
  .altmed-header .altmed-partner-logo{width:160px!important}
}
@media(max-width:720px){
  body.auth-page.altmed-login{padding:14px}
  .altmed-login-shell{display:block}
  .altmed-login-brandpanel{display:none}
  .altmed-login-card{width:100%;margin:0;padding:28px 20px 22px;border-radius:24px;max-width:none}
  .altmed-login-mobile-brand{display:grid;gap:14px;margin-bottom:26px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#0c2134,#143650)}
  .altmed-login-mobile-brand img:first-child{width:100%;max-width:320px;height:auto}
  .altmed-login-mobile-brand img:last-child{width:70%;max-width:220px;height:auto}
  .altmed-header .altmed-header-main{min-height:76px!important;padding:9px 12px!important}
  .altmed-header .altmed-brand{gap:10px!important}
  .altmed-header .altmed-brand-logo{width:175px!important;height:52px!important}
  .altmed-header .altmed-brand-divider{height:34px}
  .altmed-header .altmed-partner-logo{width:100px!important;height:42px!important}
  .altmed-header .altmed-user-text{display:none!important}
  .altmed-header .altmed-user-trigger{padding:5px!important;border-radius:12px!important}
  .altmed-header .altmed-nav-row{padding:7px 10px!important}
  .sign-brand.altmed-public-brand{gap:12px;padding:11px 14px!important}
  .sign-brand.altmed-public-brand .sign-altmed-logo{width:58%!important;height:48px!important}
  .sign-brand.altmed-public-brand .sign-banuelos-logo{width:34%!important;height:42px!important}
}
@media(max-width:460px){
  .altmed-header .altmed-brand-logo{width:142px!important}
  .altmed-header .altmed-partner-logo{width:82px!important}
  .altmed-header .altmed-brand-divider{height:30px}
  .altmed-login-card h1{font-size:1.7rem}
}

/* V28.5 · Mascota funcional restaurada desde la primera versión estable */
.altmed-mascot-live{width:310px;height:290px;display:flex;align-items:flex-end;justify-content:center;overflow:visible;flex:0 0 310px}
.altmed-mascot-live .auth-mascot-stage{display:flex;align-items:center;justify-content:center;width:280px;min-height:260px;margin:0;perspective:900px;transform:scale(1.15);transform-origin:center bottom}
.altmed-mascot-live .auth-mascot{--look-x:0px;--look-y:0px;--head-tilt:0deg;position:relative;width:240px;height:240px;display:grid;place-items:center;transition:transform .22s ease,filter .22s ease;animation:mascotFloat 4.8s ease-in-out infinite}
.altmed-mascot-live .mascot-shadow{position:absolute;left:50%;bottom:17px;width:142px;height:28px;transform:translateX(-50%);border-radius:50%;background:rgba(3,12,20,.24);filter:blur(9px);animation:shadowPulse 4.8s ease-in-out infinite}
.altmed-mascot-live .mascot-head{position:relative;width:174px;height:174px;border-radius:52px 52px 60px 60px;background:linear-gradient(155deg,#f9fbfd 0%,#eef3f7 62%,#e2eaf0 100%);border:2px solid rgba(255,255,255,.88);box-shadow:0 28px 42px rgba(4,14,24,.26),inset 0 1px 0 #fff;transform:rotate(var(--head-tilt));transition:transform .12s ease,filter .18s ease}
.altmed-mascot-live .mascot-head::before{content:'';position:absolute;inset:14px;border-radius:42px 42px 48px 48px;border:1px solid rgba(19,42,64,.08);pointer-events:none}
.altmed-mascot-live .mascot-brand-stroke{position:absolute;top:0;left:50%;width:72px;height:10px;transform:translateX(-50%);border-radius:0 0 12px 12px;background:linear-gradient(90deg,#a9162a,#e23a50);box-shadow:0 6px 18px rgba(200,34,54,.22)}
.altmed-mascot-live .mascot-face{position:absolute;inset:30px 25px 24px;border-radius:36px;background:linear-gradient(180deg,#fff,#f7fafc);border:1px solid rgba(20,48,71,.08);box-shadow:inset 0 -14px 20px rgba(20,48,71,.03)}
.altmed-mascot-live .mascot-ear{position:absolute;top:54px;width:46px;height:68px;border-radius:24px;background:linear-gradient(180deg,#1a3550,#102337);border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 28px rgba(4,13,22,.24);transition:transform .2s ease}
.altmed-mascot-live .mascot-ear::after{content:'';position:absolute;inset:8px;border-radius:18px;background:linear-gradient(180deg,#c82236,#8f1525);opacity:.86}
.altmed-mascot-live .mascot-ear-left{left:12px;transform:rotate(-16deg)}
.altmed-mascot-live .mascot-ear-right{right:12px;transform:rotate(16deg)}
.altmed-mascot-live .mascot-eye{position:absolute;top:43px;width:39px;height:30px;border-radius:50%;background:#fefefe;border:2px solid #173047;box-shadow:inset 0 4px 10px rgba(15,38,57,.08);overflow:hidden;transition:height .16s ease,transform .16s ease}
.altmed-mascot-live .mascot-eye-left{left:21px}
.altmed-mascot-live .mascot-eye-right{right:21px}
.altmed-mascot-live .mascot-pupil{position:absolute;left:50%;top:50%;width:13px;height:13px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#466784 0 15%,#13283c 25% 70%,#07111b 72%);transform:translate(calc(-50% + var(--look-x)),calc(-50% + var(--look-y)));transition:transform .08s linear;box-shadow:0 0 0 2px rgba(19,40,60,.06)}
.altmed-mascot-live .mascot-glint{position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:#fff;transform:translate(calc(-50% + var(--look-x) - 2px),calc(-50% + var(--look-y) - 2px));pointer-events:none}
.altmed-mascot-live .mascot-brow{position:absolute;top:29px;width:34px;height:5px;border-radius:999px;background:#173047;opacity:.78;transition:transform .18s ease,top .18s ease}
.altmed-mascot-live .mascot-brow-left{left:24px;transform:rotate(-7deg)}
.altmed-mascot-live .mascot-brow-right{right:24px;transform:rotate(7deg)}
.altmed-mascot-live .mascot-nose{position:absolute;left:50%;top:78px;width:18px;height:13px;transform:translateX(-50%);border-radius:60% 60% 45% 45%;background:linear-gradient(180deg,#d7354a,#a71b2c)}
.altmed-mascot-live .mascot-mouth{position:absolute;left:50%;top:101px;width:30px;height:12px;transform:translateX(-50%);border-bottom:3px solid #173047;border-radius:0 0 24px 24px;transition:width .18s ease,border-radius .18s ease,transform .18s ease}
.altmed-mascot-live .mascot-cheek{position:absolute;top:84px;width:19px;height:9px;border-radius:50%;background:rgba(216,54,73,.14);filter:blur(.2px)}
.altmed-mascot-live .mascot-cheek-left{left:10px}
.altmed-mascot-live .mascot-cheek-right{right:10px}
.altmed-mascot-live .mascot-hand{position:absolute;top:107px;width:66px;height:76px;border-radius:34px;background:linear-gradient(180deg,#1a3550,#0d2032);border:2px solid rgba(255,255,255,.08);box-shadow:0 18px 28px rgba(3,12,20,.22);z-index:5;transition:transform .36s cubic-bezier(.2,.8,.2,1),top .36s ease,left .36s ease,right .36s ease}
.altmed-mascot-live .mascot-hand span{position:absolute;inset:9px;border-radius:27px;background:linear-gradient(180deg,#c92b3f,#9f1829)}
.altmed-mascot-live .mascot-hand-left{left:-16px;transform:rotate(24deg) translateY(42px)}
.altmed-mascot-live .mascot-hand-right{right:-16px;transform:rotate(-24deg) translateY(42px)}
.altmed-mascot-live .auth-mascot.is-email-focus .mascot-ear-left{transform:rotate(-9deg) translateY(-4px)}
.altmed-mascot-live .auth-mascot.is-email-focus .mascot-ear-right{transform:rotate(9deg) translateY(-4px)}
.altmed-mascot-live .auth-mascot.is-email-focus .mascot-mouth{width:34px}
.altmed-mascot-live .auth-mascot.is-password-focus:not(.is-covered) .mascot-pupil{transform:translate(calc(-50% - 5px),calc(-50% + 2px))!important}
.altmed-mascot-live .auth-mascot.is-password-focus:not(.is-covered) .mascot-brow-left{transform:rotate(10deg)}
.altmed-mascot-live .auth-mascot.is-password-focus:not(.is-covered) .mascot-brow-right{transform:rotate(-10deg)}
.altmed-mascot-live .auth-mascot.is-password-focus:not(.is-covered) .mascot-mouth{width:22px;border-radius:50%;transform:translateX(-50%) rotate(180deg)}
.altmed-mascot-live .auth-mascot.is-covered .mascot-hand-left{transform:rotate(11deg) translate(40px,-22px)}
.altmed-mascot-live .auth-mascot.is-covered .mascot-hand-right{transform:rotate(-11deg) translate(-40px,-22px)}
.altmed-mascot-live .auth-mascot.is-covered .mascot-eye{height:7px;transform:translateY(9px)}
.altmed-mascot-live .auth-mascot.is-covered .mascot-pupil,.altmed-mascot-live .auth-mascot.is-covered .mascot-glint{opacity:0}
.altmed-mascot-live .auth-mascot.is-covered .mascot-mouth{width:20px;border-radius:50%;transform:translateX(-50%) rotate(180deg)}
.altmed-mascot-live .auth-mascot.is-authenticating{animation:mascotNod .72s ease-in-out infinite}
.altmed-mascot-live .auth-mascot.is-authenticating .mascot-ear-left{transform:rotate(-6deg) translateY(-5px)}
.altmed-mascot-live .auth-mascot.is-authenticating .mascot-ear-right{transform:rotate(6deg) translateY(-5px)}
.altmed-mascot-live .auth-mascot.is-error{animation:mascotShake .48s ease 0s 2}
.altmed-mascot-live .auth-mascot.is-error .mascot-mouth{width:20px;border-radius:50%;transform:translateX(-50%) rotate(180deg)}
.auth-panel.auth-error-pulse{animation:panelError .42s ease 0s 2}
@keyframes mascotFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes shadowPulse{0%,100%{transform:translateX(-50%) scaleX(1);opacity:.25}50%{transform:translateX(-50%) scaleX(.88);opacity:.18}}
@keyframes mascotNod{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@keyframes mascotShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-9px) rotate(-2deg)}75%{transform:translateX(9px) rotate(2deg)}}
@keyframes panelError{0%,100%{transform:translateX(0)}35%{transform:translateX(-4px)}70%{transform:translateX(4px)}}
@media(max-width:980px){.altmed-mascot-live{width:220px;height:210px;flex-basis:220px}.altmed-mascot-live .auth-mascot-stage{transform:scale(.88);transform-origin:center bottom}}
@media(prefers-reduced-motion:reduce){.altmed-mascot-live .auth-mascot,.altmed-mascot-live .mascot-shadow,.altmed-mascot-live .auth-mascot.is-error,.altmed-mascot-live .auth-mascot.is-authenticating,.auth-panel.auth-error-pulse{animation:none!important}.altmed-mascot-live .mascot-pupil,.altmed-mascot-live .mascot-glint,.altmed-mascot-live .mascot-head,.altmed-mascot-live .mascot-hand,.altmed-mascot-live .mascot-ear{transition:none!important}}
