/* Pantalla de acceso Micorriza */
#login{position:fixed;inset:0;z-index:100;display:none;place-items:center;text-align:center;padding:20px;overflow:auto;
  background:radial-gradient(900px 520px at 100% -10%,rgba(240,176,120,.5),transparent 60%),radial-gradient(700px 440px at 0% 110%,rgba(120,185,135,.34),transparent 60%),radial-gradient(600px 380px at 55% 115%,rgba(150,200,230,.26),transparent 60%),var(--suelo)}
#login-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#login .card{position:relative;width:100%;max-width:400px;padding:40px 34px 28px;border-radius:26px;
  background:rgba(255,252,249,.74);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);
  border:1px solid rgba(255,255,255,.7);box-shadow:0 0 0 1px rgba(194,116,58,.14),0 2px 4px -2px rgba(15,52,89,.08),0 28px 56px -24px rgba(15,52,89,.28),inset 0 1px 0 rgba(255,255,255,.9);
  display:flex;flex-direction:column;align-items:center}
#login .card::before{content:"";position:absolute;left:34px;right:34px;top:0;height:2px;border-radius:0 0 2px 2px;background:linear-gradient(90deg,var(--bosque-lt),var(--oro-lt),var(--celeste-bd))}
#login img{width:180px;max-width:70%;height:auto;margin:0 auto 24px;display:block}
#login h1{font-size:25px;line-height:1.2;letter-spacing:-.02em;color:var(--tinta);margin:0}
#login-msg{margin:10px 0 26px;max-width:30ch;font-size:14.5px;line-height:1.5;color:var(--tinta-2);overflow-wrap:anywhere;transition:color .2s,background-color .2s,border-color .2s}
#login-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:12px 20px;border-radius:14px;
  font:600 15px/1 var(--f);cursor:pointer;color:var(--tinta);background:#fff;border:1px solid var(--linea);
  box-shadow:0 1px 2px rgba(15,52,89,.08),0 8px 18px -10px rgba(15,52,89,.25);
  transition:transform .16s var(--ease),box-shadow .2s var(--ease),border-color .2s,background-color .2s}
#login-btn .g{flex:none;display:block}
@media (hover:hover){#login-btn:hover:not(:disabled){border-color:rgba(168,95,43,.45);background:#FFFDFB;box-shadow:0 1px 2px rgba(15,52,89,.08),0 12px 24px -10px rgba(168,95,43,.4);transform:translateY(-1px)}}
#login-btn:active:not(:disabled){transform:scale(.98);box-shadow:0 1px 2px rgba(15,52,89,.1)}
#login-btn:focus-visible{outline:3px solid var(--oro);outline-offset:3px}
#login-btn:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;background:var(--humus)}
#login .foot{display:block;margin-top:22px;padding-top:16px;width:100%;border-top:1px solid var(--linea-2);font-size:12px;line-height:1.4;color:var(--tinta-3);letter-spacing:.01em}
/* mensaje: texto de error resaltado cuando JS agrega .err o aria-invalid */
#login-msg.err,#login-msg[data-err],#login-msg[aria-invalid="true"]{color:#8E2A22;background:var(--terra-dim);border:1px solid rgba(182,58,48,.28);border-radius:12px;padding:10px 14px;font-weight:500}
/* entrada escalonada */
@keyframes lg-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes lg-card{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
#login .card{animation:lg-card .5s var(--ease) both}
#login img,#login h1,#login-msg,#login-btn,#login .foot{animation:lg-in .45s var(--ease) both}
#login img{animation-delay:.08s}#login h1{animation-delay:.15s}#login-msg{animation-delay:.22s}#login-btn{animation-delay:.3s}#login .foot{animation-delay:.38s}
@media (max-width:420px){#login{padding:14px}#login .card{padding:32px 20px 22px;border-radius:22px}#login .card::before{left:20px;right:20px}#login h1{font-size:22px}#login img{width:150px}}
@media (max-height:520px){#login{place-items:start center}}
@media (prefers-reduced-motion:reduce){#login .card,#login img,#login h1,#login-msg,#login-btn,#login .foot{animation:none}#login-btn{transition:none}#login-btn:hover,#login-btn:active{transform:none}}
@media (prefers-reduced-transparency:reduce){#login .card{background:var(--hoja);-webkit-backdrop-filter:none;backdrop-filter:none}}
