/* PATCH V7.7.3.1 - Dedicated Premium Login CSS
   Scoped only to .premium-login-page so admin pages are not affected. */
html:has(body.premium-login-page){min-height:100%;background:#020617;}
body.premium-login-page{min-height:100vh;margin:0;}
/* PATCH V7.7.3 - Premium Login Redesign */
.premium-login-page{
  min-height:100vh;
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#e5f4ff;
  background:
    radial-gradient(circle at 14% 16%,rgba(34,211,238,.28),transparent 28%),
    radial-gradient(circle at 84% 8%,rgba(59,130,246,.22),transparent 30%),
    linear-gradient(135deg,#020617 0%,#071126 46%,#0f172a 100%);
  overflow-x:hidden;
}
.premium-login-page *{box-sizing:border-box}
.premium-login-shell{
  width:min(1180px,calc(100% - 32px));
  min-height:100vh;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);
  gap:32px;
  align-items:center;
  padding:32px 0;
}
.premium-login-hero,.premium-login-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.18);
  background:linear-gradient(145deg,rgba(15,23,42,.78),rgba(2,6,23,.58));
  box-shadow:0 28px 90px rgba(0,0,0,.42);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.premium-login-hero{
  min-height:640px;
  border-radius:34px;
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  animation:premiumFadeUp .65s ease both;
}
.premium-login-orb{position:absolute;border-radius:999px;filter:blur(4px);opacity:.9;pointer-events:none}
.premium-login-orb.orb-one{width:240px;height:240px;background:rgba(34,211,238,.14);right:-70px;top:-70px}
.premium-login-orb.orb-two{width:180px;height:180px;background:rgba(99,102,241,.16);left:-55px;bottom:70px}
.premium-brand-block,.premium-mobile-brand{
  display:flex;
  align-items:center;
  gap:14px;
  position:relative;
  z-index:1;
}
.premium-brand-logo{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#22d3ee,#2563eb);
  color:white;
  font-weight:900;
  letter-spacing:-.04em;
  box-shadow:0 16px 42px rgba(37,99,235,.32);
}
.premium-brand-block strong,.premium-mobile-brand strong{display:block;font-size:1.05rem;color:#fff}
.premium-brand-block span,.premium-mobile-brand span{display:block;color:#94a3b8;font-size:.86rem;margin-top:2px}
.premium-hero-copy{position:relative;z-index:1;max-width:620px;padding:48px 0}
.premium-kicker{
  display:inline-flex;
  align-items:center;
  width:max-content;
  border:1px solid rgba(34,211,238,.24);
  border-radius:999px;
  padding:8px 12px;
  color:#67e8f9;
  background:rgba(8,47,73,.26);
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.72rem;
}
.premium-hero-copy h1{
  margin:18px 0 16px;
  font-size:clamp(2.35rem,5vw,4.9rem);
  line-height:.95;
  letter-spacing:-.075em;
  color:#f8fafc;
}
.premium-hero-copy p{
  margin:0;
  max-width:560px;
  color:#a8b5c8;
  font-size:1.02rem;
  line-height:1.72;
}
.premium-feature-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  max-width:580px;
}
.premium-feature-grid div{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:12px 14px;
  border:1px solid rgba(148,163,184,.14);
  border-radius:18px;
  color:#dbeafe;
  background:rgba(15,23,42,.48);
}
.premium-feature-grid span{color:#22d3ee;font-weight:900}
.premium-mini-card{
  position:absolute;
  z-index:1;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  padding:16px 18px;
  min-width:150px;
  background:rgba(2,6,23,.52);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
  animation:premiumFloat 4.4s ease-in-out infinite;
}
.premium-mini-card small{display:block;color:#94a3b8;font-size:.75rem}
.premium-mini-card b{display:block;color:#fff;font-size:1.05rem;margin-top:4px}
.mini-card-one{right:34px;top:160px}.mini-card-two{right:72px;bottom:118px;animation-delay:.7s}
.premium-login-panel{display:flex;align-items:center;justify-content:center;animation:premiumFadeUp .75s ease .08s both}
.premium-login-card{
  width:min(100%,460px);
  border-radius:30px;
  padding:34px;
}
.premium-login-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,#22d3ee,#2563eb,#818cf8);
}
.premium-mobile-brand{display:none;margin-bottom:26px}
.premium-login-card h2{
  margin:18px 0 8px;
  color:#f8fafc;
  font-size:2rem;
  letter-spacing:-.04em;
}
.premium-login-subtitle{margin:0 0 22px;color:#94a3b8;line-height:1.6}
.premium-login-toast{
  margin:0 0 18px;
  padding:13px 14px;
  border:1px solid rgba(248,113,113,.25);
  border-radius:16px;
  color:#fecaca;
  background:rgba(127,29,29,.34);
  box-shadow:0 12px 34px rgba(127,29,29,.16);
}
.premium-field-group{display:grid;gap:9px;margin-bottom:16px;color:#dbeafe;font-weight:750;font-size:.92rem}
.premium-input-wrap{
  min-height:52px;
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:18px;
  background:rgba(2,6,23,.42);
  padding:0 14px;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.premium-input-wrap:focus-within{
  border-color:rgba(34,211,238,.72);
  background:rgba(8,47,73,.24);
  box-shadow:0 0 0 4px rgba(34,211,238,.13);
}
.premium-input-wrap i{width:22px;text-align:center;color:#67e8f9;font-style:normal;font-weight:900}
.premium-input-wrap input{
  flex:1;
  width:100%;
  min-width:0;
  height:50px;
  border:0;
  outline:0;
  background:transparent;
  color:#f8fafc;
  font:inherit;
  font-weight:650;
}
.premium-input-wrap input::placeholder{color:#64748b}
.premium-password-toggle{
  border:0;
  border-radius:999px;
  padding:8px 10px;
  color:#bae6fd;
  background:rgba(14,165,233,.12);
  cursor:pointer;
  font-weight:850;
}
.premium-login-button{
  position:relative;
  width:100%;
  min-height:54px;
  margin-top:8px;
  border:0;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(135deg,#06b6d4,#2563eb 55%,#4f46e5);
  box-shadow:0 18px 44px rgba(37,99,235,.32);
  cursor:pointer;
  font-weight:900;
  letter-spacing:.01em;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.premium-login-button:hover{transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 22px 56px rgba(37,99,235,.42)}
.premium-login-button:disabled{cursor:not-allowed;opacity:.82;transform:none}
.btn-spinner{
  display:none;
  width:18px;
  height:18px;
  border:2px solid rgba(255,255,255,.35);
  border-top-color:#fff;
  border-radius:999px;
  margin:auto;
  animation:premiumSpin .75s linear infinite;
}
.premium-login-button.is-loading .btn-text{display:none}.premium-login-button.is-loading .btn-spinner{display:block}
.premium-public-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin-top:14px;
  border:1px solid rgba(148,163,184,.16);
  border-radius:16px;
  color:#bae6fd;
  text-decoration:none;
  background:rgba(15,23,42,.34);
  font-weight:800;
}
.premium-public-link:hover{border-color:rgba(34,211,238,.42);background:rgba(8,47,73,.22)}
.premium-login-footer{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:22px;
  color:#64748b;
  font-size:.78rem;
}
@keyframes premiumFadeUp{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@keyframes premiumFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes premiumSpin{to{transform:rotate(360deg)}}
@media (max-width: 900px){
  .premium-login-shell{grid-template-columns:1fr;width:min(100% - 24px,520px);padding:22px 0;min-height:100svh}
  .premium-login-hero{display:none}
  .premium-mobile-brand{display:flex}
  .premium-login-card{padding:28px 22px;border-radius:26px}
  .premium-login-card h2{font-size:1.7rem}
  .premium-login-panel{min-height:calc(100svh - 44px)}
  .premium-login-footer{flex-direction:column;text-align:center;align-items:center}
}
@media (max-width: 420px){
  .premium-login-shell{width:min(100% - 18px,420px)}
  .premium-login-card{padding:24px 18px;border-radius:24px}
  .premium-brand-logo{width:48px;height:48px;border-radius:16px}
  .premium-input-wrap{min-height:50px;border-radius:16px}
  .premium-login-button{min-height:52px;border-radius:16px}
}
