/* Critical CSS — first paint del login público (Email primero). Full styles.css carga async. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.guest-login-page{
  margin:0;
  min-height:100vh;
  background:#07101e;
  color:#e2e8f0;
  font-family:"Segoe UI",system-ui,-apple-system,sans-serif;
  line-height:1.45;
}
body.guest-login-page .site-top-fixed,
body.guest-login-page .site-top-spacer,
body.guest-login-page .build-banner,
body.guest-login-page .footer-restaurant-details,
body.guest-login-page .footer-info-modal{display:none!important}
body.guest-login-page main.container{
  width:100%;
  max-width:none;
  margin:0;
  padding:0 0 calc(3.25rem + env(safe-area-inset-bottom,0px));
}
body.guest-login-page .flash-messages{width:calc(100% - 1.25rem);max-width:28rem;margin:.65rem auto 0}
body.guest-login-page .flash{margin:0;padding:.65rem .8rem;border-radius:10px;font-size:.82rem;font-weight:600}
body.guest-login-page .flash-error{background:#7f1d1d;color:#fecaca}
body.guest-login-page .flash-success{background:#14532d;color:#bbf7d0}
body.guest-login-page .guest-access{max-width:none;margin:0;padding:0}
body.guest-login-page .guest-auth-card{
  position:relative;
  width:100%;
  min-height:calc(100vh - 3.5rem);
  margin:0;
  padding:.85rem 1rem 1.1rem;
  border:0;
  border-radius:0;
  background:#0b1424;
}
body.guest-login-page .guest-login-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;
  min-height:2.5rem;margin:0 0 1rem;padding:0 0 .75rem;
  border-bottom:1px solid rgba(148,163,184,.14);
}
body.guest-login-page .guest-login-toolbar .page-back{
  color:#f59e0b;font-size:.9rem;font-weight:700;text-decoration:none;
}
body.guest-login-page .guest-login-brand-chip{
  display:inline-flex;padding:.35rem .65rem;border:1px solid #3d4f68;border-radius:999px;
  background:#1a2740;color:#fff;font-size:.75rem;font-weight:800;
}
body.guest-login-page .guest-login-layout{display:flex;flex-direction:column;gap:0}
body.guest-login-page .guest-login-intro h1{margin:.2rem 0 .55rem;font-size:1.45rem;line-height:1.2;color:#f8fafc}
body.guest-login-page .guest-login-intro h1 span{color:#f59e0b}
body.guest-login-page .guest-auth-lead{margin:0 0 1rem;color:#94a3b8;font-size:.92rem}
body.guest-login-page .guest-login-methods-title{
  display:block;margin:0 0 .65rem;color:#8eb1df;font-size:.72rem;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;
}
body.guest-login-page .guest-login-tabs{
  display:flex;gap:.45rem;margin:0 0 .85rem;padding:0;list-style:none;
}
body.guest-login-page .guest-login-tab{
  flex:1;min-height:2.4rem;border:1px solid #334155;border-radius:10px;
  background:#121c2e;color:#e2e8f0;font-size:.88rem;font-weight:700;cursor:pointer;
}
body.guest-login-page .guest-login-tab.is-active{background:#f59e0b;color:#07101e;font-weight:800}
body.guest-login-page .social-login-buttons{display:block}
body.guest-login-page .guest-method-card{display:none;padding:1rem .95rem 1.05rem;border:1px solid #334155;border-radius:14px;background:#121c2e}
body.guest-login-page .guest-method-card.is-selected{display:flex;flex-direction:column;gap:.65rem}
body.guest-login-page .guest-method-card h2{margin:0;font-size:1.05rem;color:#f8fafc}
body.guest-login-page .guest-method-card > p{margin:0;color:#94a3b8;font-size:.86rem}
body.guest-login-page .email-login-form label,
body.guest-login-page .whatsapp-login-form label{display:block;margin:0 0 .35rem;color:#94a3b8;font-size:.86rem}
body.guest-login-page input[type=email],
body.guest-login-page input[type=tel],
body.guest-login-page input[type=text],
body.guest-login-page input[type=password]{
  width:100%;min-height:2.75rem;padding:.65rem .8rem;border:1px solid #334155;border-radius:10px;
  background:#0b1424;color:#f8fafc;font-size:1rem;
}
body.guest-login-page .btn,
body.guest-login-page .btn-social{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  width:100%;min-height:2.85rem;margin-top:.35rem;border:0;border-radius:10px;
  font-size:.95rem;font-weight:700;cursor:pointer;text-decoration:none;color:#fff;
}
body.guest-login-page .btn-email{background:#3b82f6}
body.guest-login-page .btn-instagram{background:linear-gradient(135deg,#f58529,#dd2a7b 45%,#8134af)}
body.guest-login-page .btn-whatsapp{background:#25d366}
body.guest-login-page .btn-primary{background:#f59e0b;color:#07101e}
body.guest-login-page .guest-consent-label{
  display:flex;align-items:flex-start;gap:.7rem;margin:.85rem 0 0;padding:.85rem .8rem;
  border:1px solid #334155;border-radius:12px;background:#121c2e;color:#cbd5e1;font-size:.88rem;
}
body.guest-login-page .guest-consent-label input{width:1.25rem;height:1.25rem;margin:.1rem 0 0;accent-color:#f59e0b}
body.guest-login-page .guest-login-card-footer{
  display:flex;flex-direction:column;align-items:center;gap:.35rem;margin:1rem 0 0;padding-top:.85rem;
  border-top:1px solid rgba(148,163,184,.12);color:#64748b;font-size:.75rem;text-align:center;
}
body.guest-login-page .guest-auth-footer{margin:0}
body.guest-login-page .guest-auth-footer a{color:#f59e0b}
body.guest-login-page .site-footer{
  position:fixed;left:0;right:0;bottom:0;z-index:20;
  padding:.55rem 1rem calc(.55rem + env(safe-area-inset-bottom,0px));
  background:#07101e;border-top:1px solid rgba(148,163,184,.12);
}
body.guest-login-page .site-footer .footer-bar{
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;max-width:40rem;margin:0 auto;
}
body.guest-login-page .footer-restaurant-name{margin:0;color:#94a3b8;font-size:.75rem}
body.guest-login-page .guest-login-server-status{color:#34d399;font-size:.72rem;font-weight:700}
body.guest-login-page .sr-only,
body.guest-login-page .guest-honeypot{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;
}
body.guest-login-page .guest-method-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
body.guest-login-page .guest-method-icon{display:inline-flex;width:1.75rem;height:1.75rem;color:#94a3b8}
body.guest-login-page .guest-method-icon svg{width:100%;height:100%}
body.guest-login-page .guest-method-badge{
  display:inline-flex;padding:.2rem .5rem;border-radius:999px;background:#1e293b;color:#cbd5e1;font-size:.68rem;font-weight:700;
}

@media (min-width:769px){
  body.guest-login-page{background:#0b1220}
  body.guest-login-page .site-top-fixed{display:block!important}
  body.guest-login-page .site-top-spacer{display:block!important;height:4.5rem}
  body.guest-login-page main.container{width:min(1180px,calc(100% - 1rem));margin:0 auto;padding:.55rem 0 4rem}
  body.guest-login-page .guest-auth-card{
    min-height:0;margin:0;padding:0;overflow:hidden;border:1px solid #26354b;border-radius:12px;background:#151f33;
  }
  body.guest-login-page .guest-login-toolbar{min-height:55px;padding:0 1.55rem;margin:0;border-bottom:1px solid rgba(148,163,184,.09)}
  body.guest-login-page .guest-login-layout{display:grid;grid-template-columns:1.05fr 1.35fr;gap:0;padding:1.25rem 1.55rem 1.4rem}
  body.guest-login-page .social-login-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
  body.guest-login-page .guest-method-card{display:flex;flex-direction:column;min-height:190px;order:3}
  body.guest-login-page .guest-method-card--email{order:1}
  body.guest-login-page .guest-method-card--instagram{order:2}
  body.guest-login-page .guest-method-card--whatsapp{order:3}
  body.guest-login-page .guest-login-tabs{display:none}
  body.guest-login-page .site-footer{position:static;padding:1rem 0 1.25rem;background:transparent;border:0}
}
