/* Pantallas de acceso a pantalla completa (sin caja centrada) */
.mc-auth { min-height: 100vh; display: grid; grid-template-columns: 1.15fr 1fr; background: var(--mc-surface); }
.mc-auth-hero { position: relative; overflow: hidden; color: #fff; display: flex; align-items: center; padding: 4rem clamp(2rem, 6vw, 6rem);
  background: radial-gradient(circle at 15% 15%, rgba(255,255,255,.14), transparent 40%), radial-gradient(circle at 85% 80%, rgba(20,184,166,.55), transparent 45%), linear-gradient(140deg, #0b2530 0%, var(--mc-primary) 60%, #14b8a6 100%); }
.mc-auth-hero::after { content: ""; position: absolute; width: 520px; height: 520px; border-radius: 50%; border: 60px solid rgba(255,255,255,.05); right: -180px; top: -160px; }
.mc-auth-hero-in { position: relative; z-index: 1; max-width: 620px; }
.mc-auth-logo { display: flex; align-items: center; gap: .7rem; font-weight: 700; font-size: 1.25rem; margin-bottom: 3rem; }
.mc-auth-logo .mc-brand-ico { background: rgba(255,255,255,.18); width: 44px; height: 44px; font-size: 1.35rem; backdrop-filter: blur(4px); }
.mc-auth-hero h1 { font-size: clamp(1.9rem, 3.2vw, 3rem); font-weight: 800; line-height: 1.12; letter-spacing: -.02em; }
.mc-auth-hero .lead { opacity: .88; margin: 1.2rem 0 2rem; font-size: 1.08rem; }
.mc-auth-feat { list-style: none; padding: 0; margin: 0; display: grid; gap: .85rem; }
.mc-auth-feat li { display: flex; align-items: center; gap: .8rem; font-weight: 500; }
.mc-auth-feat i { width: 38px; height: 38px; border-radius: 11px; background: rgba(255,255,255,.14); display: grid; place-items: center; font-size: 1.05rem; flex-shrink: 0; }
.mc-auth-pulse { position: absolute; left: 0; right: 0; bottom: 8%; width: 100%; height: 120px; }
.mc-auth-form { position: relative; display: flex; flex-direction: column; justify-content: center; padding: 3rem clamp(1.5rem, 5vw, 5rem); min-height: 100vh; }
.mc-auth-form-in { width: 100%; max-width: 480px; margin: 0 auto; }
.mc-auth-form h2 { font-weight: 800; letter-spacing: -.02em; }
.mc-auth-form .form-control, .mc-auth-form .form-select { padding: .72rem .95rem; border-radius: 12px; }
.mc-auth-form .input-group .form-control { border-radius: 12px 0 0 12px; }
.mc-auth-form .input-group .btn { border-radius: 0 12px 12px 0; }
.mc-auth-form .btn-lg { border-radius: 12px; padding: .8rem; font-weight: 600; }
.mc-auth-ico-input { position: relative; }
.mc-auth-ico-input > i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--mc-muted); z-index: 5; }
.mc-auth-ico-input > .form-control, .mc-auth-ico-input .input-group > .form-control { padding-left: 2.6rem; }
.mc-auth-sep { display: flex; align-items: center; gap: .8rem; color: var(--mc-muted); font-size: .8rem; margin: 1.3rem 0; }
.mc-auth-sep::before, .mc-auth-sep::after { content: ""; flex: 1; height: 1px; background: var(--mc-border); }
.btn-social { border: 1px solid var(--mc-border); background: var(--mc-surface); border-radius: 12px; padding: .65rem; font-weight: 600; display: flex; align-items: center; justify-content: center; gap: .55rem; width: 100%; color: inherit; text-decoration: none; }
.btn-social:hover { background: var(--bs-tertiary-bg); }
.btn-social svg { width: 20px; height: 20px; }
.mc-auth-theme { position: absolute; top: 1rem; right: 1rem; }
.mc-auth-copy { text-align: center; color: var(--mc-muted); font-size: .75rem; margin-top: 2rem; }
@media (max-width: 991.98px) {
  .mc-auth { grid-template-columns: 1fr; }
  .mc-auth-hero { padding: 2rem 1.5rem 3.5rem; min-height: auto; }
  .mc-auth-hero h1 { font-size: 1.6rem; } .mc-auth-hero .lead, .mc-auth-feat { display: none; }
  .mc-auth-logo { margin-bottom: 1.2rem; } .mc-auth-pulse { bottom: 0; height: 60px; }
  .mc-auth-form { min-height: auto; padding: 2rem 1.25rem; border-radius: 22px 22px 0 0; margin-top: -1.5rem; background: var(--mc-surface); }
}
