
.mv-auth-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: 18px;
}
.mv-auth-modal[hidden] { display:none !important; }
.mv-auth-backdrop {
  position:absolute; inset:0;
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(7px);
}
.mv-auth-card {
  position:relative;
  width:min(440px,100%);
  padding:28px;
  border:1px solid rgba(86,157,224,.28);
  border-radius:20px;
  background:linear-gradient(180deg,#071b31,#041120);
  box-shadow:0 30px 100px rgba(0,0,0,.6);
  color:#eaf4ff;
}
.mv-auth-close {
  position:absolute; top:12px; right:12px;
  width:34px; height:34px; border-radius:50%;
  border:1px solid rgba(86,157,224,.3);
  background:rgba(255,255,255,.04); color:#cfe7ff;
  font-size:22px; cursor:pointer;
}
.mv-auth-brand { display:flex; gap:12px; align-items:center; padding-right:38px; }
.mv-auth-mark {
  width:48px; height:48px; display:grid; place-items:center;
  border-radius:14px; background:rgba(50,149,245,.12);
  border:1px solid rgba(86,157,224,.22);
}
.mv-auth-eyebrow {
  color:#55aaf8; font-size:9px; font-weight:800; letter-spacing:.15em;
}
.mv-auth-card h2 { margin:4px 0 0; font-size:22px; }
.mv-auth-description { color:#91abc6; font-size:13px; line-height:1.55; margin:18px 0; }
.mv-auth-actions { display:grid; gap:10px; }
.mv-auth-provider {
  min-height:48px; display:flex; align-items:center; justify-content:center; gap:10px;
  border-radius:11px; border:1px solid rgba(86,157,224,.25);
  color:#edf7ff; text-decoration:none; font-size:13px; font-weight:800;
  background:rgba(255,255,255,.035);
}
.mv-auth-provider:hover { background:rgba(50,149,245,.12); border-color:rgba(86,157,224,.5); }
.provider-icon {
  width:24px; height:24px; display:grid; place-items:center;
  border-radius:7px; background:#fff; color:#2466d1; font-weight:900;
}
.mv-auth-provider.microsoft .provider-icon { color:#1976d2; }
.mv-auth-user {
  display:flex; align-items:center; gap:12px; padding:12px;
  border:1px solid rgba(86,157,224,.2); border-radius:12px;
  background:rgba(255,255,255,.035); margin:18px 0;
}
.mv-auth-avatar {
  width:40px; height:40px; display:grid; place-items:center;
  border-radius:50%; background:#238ce8; color:#fff; font-weight:900;
}
.mv-auth-user strong,.mv-auth-user span { display:block; }
.mv-auth-user span { margin-top:3px; color:#8da8c2; font-size:11px; }
.mv-auth-logout {
  width:100%; margin-top:10px; min-height:42px; border-radius:10px;
  border:1px solid rgba(255,100,100,.28); background:rgba(255,80,80,.07);
  color:#ffb4b4; font-weight:800; cursor:pointer;
}
.mv-auth-status { min-height:18px; margin-top:14px; color:#8ebce5; font-size:11px; }
.mv-auth-status.error { color:#ff9999; }
.mv-auth-note { display:block; margin-top:14px; color:#687f98; font-size:10px; line-height:1.5; }
body.mv-auth-open { overflow:hidden; }
@media(max-width:520px) {
  .mv-auth-card { padding:22px 18px; border-radius:17px; }
  .mv-auth-card h2 { font-size:19px; }
}
