/* EMS Auth — LOGIN (scoped) */
#ems-auth-login[hidden]{display:none}

#ems-auth-login{
  /* viewport shell */
  position:fixed; inset:0; z-index:2147483647;
  display:grid; place-items:center;
  background:rgba(8,12,20,.55); backdrop-filter:blur(4px);
  overscroll-behavior:contain;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;

  /* design tokens (same palette you shared) */
  --tx-text:#eef2ff; --tx-muted:#c9d0e8; --tx-dim:#9aa7c3;
  --tx-surface:#0f1624; --tx-surface-2:#131b2b; --tx-border:#22304a;
  --tx-accent-1:#6366f1; --tx-accent-2:#60a5fa; --tx-accent-solid:#6366f1;
  --tx-radius:12px;

  /* stop any horizontal scrolling */
  overflow-x:hidden;
}

#ems-auth-login .ems-auth-panel{
  width:min(92vw,720px); max-height:88vh;
  background:#151a22; color:var(--tx-text);
  border:1px solid #27334a; border-radius:16px;
  box-shadow:0 24px 64px rgba(0,0,0,.5);
  overflow:auto; -webkit-overflow-scrolling:touch;
  box-sizing:border-box;
}

#ems-auth-login .ems-auth-header{
  position:sticky; top:0; z-index:2;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 16px;
  background:linear-gradient(180deg,#111723,#0f141f);
  border-bottom:1px solid #25324a;
}
#ems-auth-login .ems-auth-title{ margin:0; font-size:1.15rem; font-weight:800; letter-spacing:.2px; }
#ems-auth-login .ems-auth-close{
  width:34px;height:34px;border-radius:8px; border:1px solid #27334a;
  background:#121826; color:#cbd3e1; cursor:pointer;
}
#ems-auth-login .ems-auth-close:hover{ background:#162035; color:#fff; border-color:#33405b; }

#ems-auth-login .ems-auth-body{ padding:18px; }
#ems-auth-login .ems-auth-footer{ padding:0 18px 16px; }
#ems-auth-login .ems-auth-link{
  background:transparent;border:0;color:#a5b4fc;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;font-weight:700;
}

/* ========= Form styling (borrows from your LD content style) ========= */
#ems-auth-login .ur-form,             /* User Registration plugin wrapper */
#ems-auth-login form{
  color:var(--tx-text); line-height:1.6;
}
#ems-auth-login label{
  display:block; color:var(--tx-muted); font-weight:600; margin:.55rem 0 .35rem;
}
#ems-auth-login input,
#ems-auth-login select,
#ems-auth-login textarea{
  width:100%; max-width:48rem;
  background:var(--tx-surface);
  color:var(--tx-text);
  border:1px solid var(--tx-border);
  border-radius:10px;
  padding:.75rem .95rem;
  line-height:1.4;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
  box-sizing:border-box;
  min-width:0;        /* kill plugin min-widths that cause horizontal scroll */
}
#ems-auth-login input::placeholder,
#ems-auth-login textarea::placeholder{ color:var(--tx-dim); }

#ems-auth-login input:focus,
#ems-auth-login select:focus,
#ems-auth-login textarea:focus{
  outline:none;
  border-color:color-mix(in srgb, var(--tx-accent-1) 60%, var(--tx-border));
  box-shadow:0 0 0 2px color-mix(in srgb, var(--tx-accent-1) 45%, transparent);
  background:#101a2d;
}

/* Checkboxes & radios */
#ems-auth-login input[type=checkbox],
#ems-auth-login input[type=radio]{ width:auto; height:auto; accent-color:var(--tx-accent-1); }

/* File upload */
#ems-auth-login input[type=file]{ background:var(--tx-surface-2); padding:.5rem; }
#ems-auth-login input[type=file]::file-selector-button{
  margin-right:.6rem; border:1px solid var(--tx-border);
  background:linear-gradient(90deg,var(--tx-accent-1),var(--tx-accent-2));
  color:#0b0e13; padding:.45rem .7rem; border-radius:8px; cursor:pointer;
}

/* Range */
#ems-auth-login input[type=range]{ width:100%; background:transparent; }
#ems-auth-login input[type=range]::-webkit-slider-runnable-track{
  height:6px; border-radius:999px; background:linear-gradient(90deg,#28314b,#2b3a5a);
}
#ems-auth-login input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none; margin-top:-6px;
  width:18px;height:18px;border-radius:50%;
  background:linear-gradient(180deg,var(--tx-accent-1),var(--tx-accent-2));
  border:2px solid #0f1624; box-shadow:0 0 0 2px rgba(99,102,241,.35);
}
#ems-auth-login input[type=range]::-moz-range-track{ height:6px; border-radius:999px; background:linear-gradient(90deg,#28314b,#2b3a5a); }
#ems-auth-login input[type=range]::-moz-range-thumb{
  width:18px;height:18px;border-radius:50%;
  background:linear-gradient(180deg,var(--tx-accent-1),var(--tx-accent-2));
  border:2px solid #0f1624; box-shadow:0 0 0 2px rgba(99,102,241,.35);
}

/* Submit buttons (plugin & generic) */
#ems-auth-login .ur-button,
#ems-auth-login .ur-submit-button,
#ems-auth-login input[type=submit],
#ems-auth-login button[type=submit]{
  display:inline-block; border:1px solid transparent;
  background:linear-gradient(90deg,var(--tx-accent-1),var(--tx-accent-2));
  color:#0b0e13; padding:.75rem 1.1rem; border-radius:14px;
  font-weight:800; letter-spacing:.2px;
  transition:filter .15s ease, transform .15s ease, box-shadow .15s ease;
}
#ems-auth-login .ur-button:hover,
#ems-auth-login .ur-submit-button:hover,
#ems-auth-login input[type=submit]:hover,
#ems-auth-login button[type=submit]:hover{
  filter:brightness(1.05); box-shadow:0 8px 22px rgba(99,102,241,.35);
}

/* Messages (UR plugin) */
#ems-auth-login .ur-error-message{ color:#fecaca; background:#2b1218; border:1px solid #5b1f2c; padding:.7rem .9rem; border-radius:10px; }
#ems-auth-login .ur-success-message{ color:#eafff3; background:#0f2a22; border:1px solid #1d5b48; padding:.7rem .9rem; border-radius:10px; }

/* Keep popups from creating mobile horizontal scroll */
#ems-auth-login .ems-auth-body, 
#ems-auth-login .ems-auth-panel{ overflow-x:hidden; }
#ems-auth-login *{ max-width:100%; }
body.ems-locked{ overflow:hidden; }
@media (max-width:480px){
  #ems-auth-login .ems-auth-panel{ border-radius:12px; width:calc(100vw - 24px); }
}