/*
 * Aliados Fantasma · Sistema visual global 2026
 * Fantasmas moderno + esencia de red local Aliados.
 * Cargar al final de cada documento.
 */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700;800&display=swap');

:root {
  --agm-bg: #060910;
  --agm-bg-soft: #0a0f19;
  --agm-panel: #0f1623;
  --agm-panel-2: #151e2e;
  --agm-panel-3: #1b2639;
  --agm-text: #f7f9ff;
  --agm-muted: #9aa7ba;
  --agm-line: rgba(255,255,255,.09);
  --agm-line-strong: rgba(255,255,255,.16);
  --agm-blue: #4fc3ff;
  --agm-blue-strong: #398cff;
  --agm-violet: #8668ff;
  --agm-pink: #f24eaa;
  --agm-green: #55dda0;
  --agm-yellow: #ffd166;
  --agm-danger: #ff7189;
  --agm-radius: 16px;
  --agm-radius-lg: 24px;
  --agm-max: 1220px;
  --agm-shadow: 0 28px 80px rgba(0,0,0,.28);
  --agm-gradient: linear-gradient(110deg,var(--agm-blue-strong),var(--agm-violet) 54%,var(--agm-pink));
}

html { background: var(--agm-bg); scroll-behavior: smooth; }

body:not(.af-page-admin) {
  min-width: 0;
  color: var(--agm-text) !important;
  font-family: Manrope,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  background:
    radial-gradient(circle at 12% -8%,rgba(79,195,255,.11),transparent 30rem),
    radial-gradient(circle at 90% 0,rgba(242,78,170,.09),transparent 31rem),
    linear-gradient(180deg,#060910,#080c14 55%,#060910) !important;
  overflow-x: clip;
}

body:not(.af-page-admin)::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .18;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom,black,transparent 72%);
}

body:not(.af-page-admin) *,
body:not(.af-page-admin) *::before,
body:not(.af-page-admin) *::after { box-sizing: border-box; }

body:not(.af-page-admin) :is(h1,h2,h3,h4) {
  color: var(--agm-text) !important;
  font-family: Sora,Manrope,ui-sans-serif,system-ui,sans-serif !important;
  letter-spacing: -.045em;
  text-wrap: balance;
}

body:not(.af-page-admin) p { line-height: 1.65; }
body:not(.af-page-admin) :is(.muted,small) { color: var(--agm-muted); }
body:not(.af-page-admin) a { color: inherit; }
body:not(.af-page-admin) img { max-width: 100%; }
body:not(.af-page-admin) .demo-banner { display: none !important; }
body:not(.af-page-admin) .hidden,[hidden] { display: none !important; }

body:not(.af-page-admin) :is(.eyebrow,.need-eyebrow,.rw-kicker,.info-kicker) {
  margin: 0 0 7px;
  color: var(--agm-blue) !important;
  font-size: .67rem !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase;
}

/* Controles globales */
body:not(.af-page-admin) :is(.button,.btn,.need-button,.rw-btn,.pre2-btn) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: .75rem 1.08rem;
  color: #fff !important;
  font: inherit;
  font-size: .84rem;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
  border: 1px solid var(--agm-line-strong);
  border-radius: 13px;
  background: rgba(255,255,255,.045);
  box-shadow: none;
  cursor: pointer;
  transition: transform .17s ease,border-color .17s ease,background .17s ease,box-shadow .17s ease;
}

body:not(.af-page-admin) :is(.button,.btn,.need-button,.rw-btn,.pre2-btn):hover {
  transform: translateY(-2px);
  border-color: rgba(134,104,255,.48);
  background: rgba(134,104,255,.105);
}

body:not(.af-page-admin) :is(.button.primary,.button-primary,.btn-primary,.need-button.primary,.rw-btn.primary,.pre2-btn-primary) {
  border-color: transparent !important;
  background: var(--agm-gradient) !important;
  box-shadow: 0 12px 32px rgba(96,95,255,.2) !important;
}

body:not(.af-page-admin) :is(.button.secondary,.button-secondary,.need-button.secondary,.rw-btn:not(.primary),.pre2-btn-secondary) {
  border-color: var(--agm-line-strong) !important;
  background: rgba(255,255,255,.045) !important;
}

body:not(.af-page-admin) :is(input,select,textarea) {
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  padding: .8rem .92rem;
  color: var(--agm-text) !important;
  font: inherit;
  font-size: .87rem;
  border: 1px solid var(--agm-line) !important;
  border-radius: 13px !important;
  outline: none;
  background: rgba(5,10,17,.78) !important;
  box-shadow: none !important;
}

body:not(.af-page-admin) textarea { min-height: 118px; resize: vertical; }
body:not(.af-page-admin) select { color-scheme: dark; }
body:not(.af-page-admin) :is(input,select,textarea):focus {
  border-color: rgba(79,195,255,.64) !important;
  box-shadow: 0 0 0 3px rgba(79,195,255,.09) !important;
}

body:not(.af-page-admin) :is(label,.field,.need-field,.rw-field) > :is(span,label) {
  color: #dce3ee;
  font-size: .79rem;
  font-weight: 750;
}

body:not(.af-page-admin) :is(.notice,.auth-note,.rw-notice,.need-alert) {
  padding: 13px 15px;
  color: #dce6f5;
  border: 1px solid var(--agm-line);
  border-radius: 14px;
  background: rgba(255,255,255,.028);
}

body:not(.af-page-admin) :focus-visible {
  outline: 3px solid rgba(79,195,255,.72) !important;
  outline-offset: 3px !important;
}

/* Cabeceras públicas unificadas */
body:not(.af-page-admin) :is(.site-header,.directory-header,.need-header,.info-header,.premium-profile-nav,.rw-topbar,.customer-head) {
  position: sticky !important;
  top: 0 !important;
  z-index: 120 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--agm-line) !important;
  background: rgba(6,9,16,.84) !important;
  box-shadow: none !important;
  backdrop-filter: blur(20px) saturate(1.2) !important;
}

body:not(.af-page-admin) :is(.brand,.directory-brand,.need-brand,.info-brand,.rw-brand,.profile-network-brand) {
  color: #fff !important;
  text-decoration: none !important;
}

body:not(.af-page-admin) :is(.brand,.directory-brand,.need-brand,.info-brand,.rw-brand,.profile-network-brand) img {
  object-fit: contain;
  filter: drop-shadow(0 7px 17px rgba(79,195,255,.2));
}

/* Inicio público */
body.af-page-home .site-header {
  width: 100% !important;
  min-height: 76px !important;
  padding: 10px max(18px,calc((100vw - var(--agm-max))/2)) !important;
}

body.af-page-home .site-header .brand { min-width: 180px; }
body.af-page-home .site-header .link {
  color: #aab5c7 !important;
  font-size: .79rem !important;
  font-weight: 700 !important;
}
body.af-page-home .site-header .link:hover { color: #fff !important; }

body.af-page-home .pre2-shell,
body.af-page-home .live-home,
body.af-page-home .home-need-shell {
  width: min(var(--agm-max),calc(100% - 36px)) !important;
  margin-inline: auto !important;
}

body.af-page-home .pre2-hero {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0,1.18fr) minmax(330px,.82fr) !important;
  align-items: center !important;
  gap: clamp(34px,6vw,78px) !important;
  min-height: calc(100dvh - 76px) !important;
  padding: 72px 0 64px !important;
  overflow: visible !important;
}

body.af-page-home .pre2-network { opacity: .56 !important; filter: saturate(1.2); }
body.af-page-home .pre2-watermark { opacity: .035 !important; }

body.af-page-home .pre2-kicker-row { gap: 8px !important; margin-bottom: 17px !important; }
body.af-page-home .pre2-pill {
  padding: 7px 10px !important;
  border: 1px solid var(--agm-line) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.035) !important;
  color: #c8d2e1 !important;
}
body.af-page-home .pre2-pill-primary {
  color: #c9f4ff !important;
  border-color: rgba(79,195,255,.22) !important;
  background: rgba(79,195,255,.07) !important;
}

body.af-page-home .pre2-hero-copy h1 {
  max-width: 760px !important;
  margin: 0 0 18px !important;
  font-size: clamp(3rem,6.4vw,6.2rem) !important;
  line-height: .92 !important;
  letter-spacing: -.075em !important;
}

body.af-page-home .pre2-hero-copy h1 :is(span,em) {
  color: transparent !important;
  font-style: normal !important;
  background: linear-gradient(90deg,#70dcff,#a99cff 52%,#ff70ba) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}

body.af-page-home .pre2-lead {
  max-width: 680px !important;
  color: #b3bfd0 !important;
  font-size: clamp(.98rem,1.5vw,1.14rem) !important;
}

body.af-page-home .pre2-actions { display: flex !important; gap: 10px !important; flex-wrap: wrap !important; margin-top: 25px !important; }
body.af-page-home .pre2-btn { min-height: 50px !important; padding-inline: 1.25rem !important; }
body.af-page-home .pre2-trust { color: #8492a8 !important; }

body.af-page-home .pre2-launch-card,
body.af-page-home .countdown-card {
  position: relative !important;
  padding: clamp(24px,3vw,34px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(134,104,255,.24) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 100% 0,rgba(79,195,255,.14),transparent 42%),
    radial-gradient(circle at 0 100%,rgba(242,78,170,.1),transparent 42%),
    linear-gradient(155deg,rgba(21,30,46,.96),rgba(9,14,24,.98)) !important;
  box-shadow: var(--agm-shadow) !important;
}

body.af-page-home .pre2-launch-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: var(--agm-gradient);
}

body.af-page-home .pre2-launch-card h2 { font-size: clamp(2rem,4vw,3.5rem) !important; }
body.af-page-home .pre2-launch-list > div,
body.af-page-home .pre2-countdown > div {
  border-color: var(--agm-line) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.026) !important;
}

body.af-page-home :is(.pre2-preview,.pre2-benefits,.pre2-how,.pre2-national,.pre2-faq,.pre2-closing,.home-need-section,.need-promo-section) {
  width: min(var(--agm-max),calc(100% - 36px)) !important;
  margin-inline: auto !important;
  padding-block: clamp(62px,8vw,104px) !important;
}

body.af-page-home .pre2-heading h2,
body.af-page-home .home-need-heading h2,
body.af-page-home .live-hero h1 {
  font-size: clamp(2rem,4.5vw,4.2rem) !important;
  line-height: 1 !important;
}

body.af-page-home :is(.pre2-real-grid,.pre2-steps,.pre2-faq-grid,.home-need-layout,.live-preview-grid,.live-stats) { gap: 14px !important; }

body.af-page-home :is(.pre2-real-card,.pre2-step,.pre2-benefit,.pre2-faq-grid article,.home-need-business-card,.home-activity-card,.live-discovery-card,.live-business-card,.live-stat,.need-card) {
  border: 1px solid var(--agm-line) !important;
  border-radius: 22px !important;
  background: linear-gradient(155deg,rgba(17,25,39,.95),rgba(9,14,23,.98)) !important;
  box-shadow: none !important;
}

body.af-page-home .pre2-closing {
  border: 1px solid rgba(134,104,255,.25) !important;
  border-radius: 30px !important;
  background: radial-gradient(circle at 90% 15%,rgba(242,78,170,.12),transparent 32%),linear-gradient(145deg,#111a2a,#090e18) !important;
  padding-inline: clamp(22px,5vw,60px) !important;
}

body.af-page-home .home-need-flow > span { border-color: var(--agm-line) !important; background: rgba(255,255,255,.035) !important; }
body.af-page-home .live-search-box { border-color: var(--agm-line) !important; border-radius: 16px !important; background: rgba(8,13,22,.9) !important; }

/* Acceso, registro y estados de cuenta */
body.af-page-auth .page-back-link {
  position: fixed !important;
  top: 18px !important;
  left: 18px !important;
  z-index: 40 !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 0 13px !important;
  color: #d9e3f0 !important;
  font-size: .78rem !important;
  font-weight: 750 !important;
  text-decoration: none !important;
  border: 1px solid var(--agm-line) !important;
  border-radius: 12px !important;
  background: rgba(7,11,18,.72) !important;
  backdrop-filter: blur(14px) !important;
}

body.af-page-auth .login-page,
body.af-page-auth .auth-page {
  min-height: 100dvh !important;
  display: grid !important;
  place-items: center !important;
  padding: 34px 20px !important;
}

body.af-page-auth :is(.login-shell,.register-shell) {
  display: grid !important;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr) !important;
  width: min(1020px,100%) !important;
  min-height: 620px !important;
  overflow: hidden !important;
  border: 1px solid var(--agm-line) !important;
  border-radius: 30px !important;
  background: rgba(10,15,25,.94) !important;
  box-shadow: var(--agm-shadow) !important;
}

body.af-page-auth :is(.login-brand,.register-brand) {
  position: relative !important;
  min-height: 100% !important;
  padding: clamp(34px,5vw,56px) !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 15% 15%,rgba(79,195,255,.18),transparent 32%),
    radial-gradient(circle at 88% 85%,rgba(242,78,170,.14),transparent 34%),
    linear-gradient(155deg,#151f32,#0b111d 70%) !important;
}

body.af-page-auth :is(.login-brand,.register-brand)::after {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -110px;
  width: 280px;
  height: 280px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  box-shadow: 0 0 0 34px rgba(255,255,255,.018),0 0 0 70px rgba(255,255,255,.012);
}

body.af-page-auth .af-login-logo { width: min(230px,72%) !important; max-height: 120px !important; object-fit: contain !important; margin-bottom: 30px !important; }
body.af-page-auth :is(.login-brand,.register-brand) h1 { margin: 8px 0 15px !important; font-size: clamp(2.2rem,4.7vw,4.1rem) !important; line-height: .98 !important; }
body.af-page-auth .login-intro { max-width: 45ch !important; color: #bac5d6 !important; }

body.af-page-auth :is(.login-card,.register-card) {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: clamp(30px,5vw,54px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(9,14,23,.97) !important;
  box-shadow: none !important;
}

body.af-page-auth :is(.login-card,.register-card) h2 { margin: 4px 0 7px !important; font-size: clamp(1.6rem,3vw,2.25rem) !important; }
body.af-page-auth .form-stack { display: grid !important; gap: 15px !important; margin-top: 22px !important; }
body.af-page-auth .form-stack label { display: grid !important; gap: 7px !important; }
body.af-page-auth .password-field { display: grid !important; grid-template-columns: minmax(0,1fr) auto !important; gap: 8px !important; }
body.af-page-auth .password-field .icon-button { min-width: 54px !important; border: 1px solid var(--agm-line) !important; border-radius: 12px !important; background: rgba(255,255,255,.04) !important; color: #fff !important; }
body.af-page-auth .auth-links { display: flex !important; justify-content: space-between !important; gap: 12px !important; flex-wrap: wrap !important; }
body.af-page-auth .auth-links a { color: #8edfff !important; font-size: .78rem !important; }
body.af-page-auth .feature-list { display: flex !important; gap: 7px !important; flex-wrap: wrap !important; }
body.af-page-auth .feature-list span { padding: 7px 9px !important; color: #d6e3f2 !important; font-size: .72rem !important; border: 1px solid var(--agm-line) !important; border-radius: 999px !important; background: rgba(255,255,255,.035) !important; }
body.af-page-auth .auth-progress { display: grid !important; grid-template-columns: repeat(2,1fr) !important; gap: 8px !important; }
body.af-page-auth .auth-step { padding: 10px !important; border: 1px solid var(--agm-line) !important; border-radius: 11px !important; background: rgba(255,255,255,.025) !important; }
body.af-page-auth .auth-step.active { color: #fff !important; border-color: rgba(79,195,255,.3) !important; background: rgba(79,195,255,.08) !important; }
body.af-page-auth .register-grid { gap: 13px !important; }

body.af-page-auth .auth-card {
  width: min(620px,100%) !important;
  padding: clamp(28px,5vw,48px) !important;
  text-align: center !important;
  border: 1px solid var(--agm-line) !important;
  border-radius: 28px !important;
  background: radial-gradient(circle at 50% 0,rgba(79,195,255,.11),transparent 38%),linear-gradient(155deg,#121b2a,#090f19) !important;
  box-shadow: var(--agm-shadow) !important;
}

body.af-page-auth .auth-card img { max-width: 220px !important; max-height: 110px !important; object-fit: contain !important; }

body.af-page-auth .context-modal { background: rgba(2,5,10,.78) !important; backdrop-filter: blur(18px) !important; }
body.af-page-auth .context-dialog { border: 1px solid var(--agm-line-strong) !important; border-radius: 24px !important; background: #0e1623 !important; }
body.af-page-auth .context-option { border-color: var(--agm-line) !important; border-radius: 15px !important; background: rgba(255,255,255,.025) !important; }

/* Directorio */
body.af-page-directory .directory-header {
  min-height: 76px !important;
  padding: 10px max(18px,calc((100vw - var(--agm-max))/2)) !important;
}
body.af-page-directory .directory-header nav { gap: 8px !important; }
body.af-page-directory .directory-header nav a { color: #aeb9ca !important; font-size: .8rem !important; font-weight: 750 !important; text-decoration: none !important; }
body.af-page-directory .directory-nav-cta { padding: 10px 13px !important; color: #fff !important; border: 1px solid rgba(134,104,255,.35) !important; border-radius: 12px !important; background: rgba(134,104,255,.12) !important; }
body.af-page-directory main { width: min(var(--agm-max),calc(100% - 36px)) !important; margin-inline: auto !important; }

body.af-page-directory .directory-hero {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(370px,.8fr) !important;
  gap: clamp(30px,5vw,70px) !important;
  align-items: center !important;
  min-height: 520px !important;
  padding: 74px 0 58px !important;
  border-bottom: 1px solid var(--agm-line) !important;
}

body.af-page-directory .directory-hero-copy h1 { margin: 5px 0 14px !important; font-size: clamp(2.7rem,5.7vw,5.4rem) !important; line-height: .94 !important; }
body.af-page-directory .directory-hero-copy > p:last-child { max-width: 620px !important; color: #aeb9ca !important; }
body.af-page-directory .directory-search-shell { padding: 12px !important; border: 1px solid rgba(134,104,255,.22) !important; border-radius: 19px !important; background: linear-gradient(145deg,rgba(19,28,44,.96),rgba(10,15,25,.98)) !important; box-shadow: var(--agm-shadow) !important; }
body.af-page-directory .directory-search { border-color: var(--agm-line) !important; border-radius: 13px !important; background: rgba(4,8,14,.7) !important; }
body.af-page-directory .quick-categories { grid-column: 1/-1 !important; }
body.af-page-directory .quick-categories button { border-color: var(--agm-line) !important; background: rgba(255,255,255,.03) !important; color: #c8d3e1 !important; }
body.af-page-directory .directory-help-link { grid-column: 1/-1 !important; border-color: rgba(79,195,255,.18) !important; border-radius: 15px !important; background: rgba(79,195,255,.055) !important; }

body.af-page-directory .directory-layout { gap: 18px !important; padding: 32px 0 76px !important; }
body.af-page-directory :is(.directory-sidebar,.directory-card,.directory-empty,.directory-gate) { border: 1px solid var(--agm-line) !important; border-radius: 20px !important; background: linear-gradient(155deg,rgba(17,25,39,.96),rgba(9,14,23,.98)) !important; box-shadow: none !important; }
body.af-page-directory .directory-sidebar { position: sticky !important; top: 96px !important; }
body.af-page-directory .directory-grid { gap: 14px !important; }
body.af-page-directory .directory-card { overflow: hidden !important; transition: transform .2s ease,border-color .2s ease !important; }
body.af-page-directory .directory-card:hover { transform: translateY(-4px) !important; border-color: rgba(134,104,255,.35) !important; }
body.af-page-directory .directory-footer { border-top-color: var(--agm-line) !important; background: rgba(5,8,14,.7) !important; }

/* Panel del negocio y marketing */
body.af-page-owner .owner-shell,
body.af-page-owner .owner-layout { background: transparent !important; }

body.af-page-owner .owner-sidebar,
body.af-page-owner .marketing-sidebar {
  border-right: 1px solid var(--agm-line) !important;
  background: linear-gradient(180deg,rgba(134,104,255,.055),transparent 170px),#090d16 !important;
  box-shadow: none !important;
}

body.af-page-owner .owner-sidebar .sidebar-brand,
body.af-page-owner .marketing-sidebar .sidebar-brand {
  border: 1px solid var(--agm-line) !important;
  border-radius: 17px !important;
  background: rgba(255,255,255,.025) !important;
}

body.af-page-owner .owner-progress { padding: 14px !important; border: 1px solid var(--agm-line) !important; border-radius: 15px !important; background: rgba(255,255,255,.02) !important; }
body.af-page-owner .progress { background: rgba(255,255,255,.07) !important; }
body.af-page-owner .progress i { background: var(--agm-gradient) !important; }
body.af-page-owner .owner-steps button { border-radius: 12px !important; color: #aeb9ca !important; }
body.af-page-owner .owner-steps button.active { color: #fff !important; border-color: rgba(134,104,255,.3) !important; background: linear-gradient(90deg,rgba(134,104,255,.18),rgba(79,195,255,.05)) !important; }

body.af-page-owner .owner-main,
body.af-page-owner .marketing-main { min-width: 0 !important; background: transparent !important; }
body.af-page-owner .owner-topbar,
body.af-page-owner .marketing-header { border-bottom: 1px solid var(--agm-line) !important; background: rgba(6,9,16,.77) !important; backdrop-filter: blur(18px) !important; }
body.af-page-owner .owner-topbar h1,
body.af-page-owner .marketing-header h1 { font-size: clamp(1.8rem,3vw,2.8rem) !important; }

body.af-page-owner :is(.owner-overview-grid,#onboarding-form,#account-management,.marketing-content) { width: min(1120px,100%) !important; margin-inline: auto !important; }
body.af-page-owner :is(.workflow-center,.profile-access-card,.onboarding-step,.account-management,.marketing-card,.resource-card,.route-card,.submit-card,.account-state-card) {
  border: 1px solid var(--agm-line) !important;
  border-radius: 20px !important;
  background: linear-gradient(155deg,rgba(17,25,39,.96),rgba(9,14,23,.98)) !important;
  box-shadow: none !important;
}
body.af-page-owner .step-heading > span { background: linear-gradient(135deg,rgba(79,195,255,.18),rgba(134,104,255,.2)) !important; color: #d8e9ff !important; }
body.af-page-owner .wizard-actions { border-top-color: var(--agm-line) !important; background: rgba(6,9,16,.9) !important; backdrop-filter: blur(16px) !important; }
body.af-page-owner .merchant-side-menu { border-color: var(--agm-line) !important; background: #0b111c !important; }
body.af-page-owner .merchant-menu-item { border-color: transparent !important; background: transparent !important; }
body.af-page-owner .merchant-menu-item:hover,.merchant-menu-item.active { border-color: var(--agm-line) !important; background: rgba(134,104,255,.08) !important; }

body.af-page-owner .route-card { width: min(460px,calc(100% - 32px)) !important; padding: 36px 28px !important; box-shadow: var(--agm-shadow) !important; }

/* Centro de Marketing */
body.af-page-owner .marketing-nav {
  display: grid !important;
  gap: 7px !important;
  margin-top: 18px !important;
}

body.af-page-owner .marketing-nav button {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 45px !important;
  padding: 10px 12px !important;
  color: #aeb9ca !important;
  font: inherit !important;
  font-size: .82rem !important;
  font-weight: 750 !important;
  text-align: left !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: transparent !important;
  cursor: pointer !important;
}

body.af-page-owner .marketing-nav button:hover,
body.af-page-owner .marketing-nav button.active {
  color: #fff !important;
  border-color: rgba(134,104,255,.25) !important;
  background: linear-gradient(90deg,rgba(134,104,255,.17),rgba(79,195,255,.045)) !important;
}

body.af-page-owner .marketing-tip {
  margin-top: auto !important;
  padding: 15px !important;
  border: 1px solid var(--agm-line) !important;
  border-radius: 14px !important;
  background: rgba(79,195,255,.035) !important;
}

body.af-page-owner .marketing-tip p { margin: 5px 0 0 !important; color: var(--agm-muted) !important; font-size: .77rem !important; }
body.af-page-owner .marketing-section { width: min(1120px,calc(100% - 36px)) !important; margin: 0 auto !important; padding: 34px 0 72px !important; }
body.af-page-owner .marketing-section:not(.active) { display: none !important; }
body.af-page-owner .section-heading { margin-bottom: 20px !important; }
body.af-page-owner .section-heading h2 { font-size: clamp(1.6rem,3vw,2.25rem) !important; }

body.af-page-owner :is(.creator-panel,.canvas-stage,.poster-stage,.result-card,.qr-utility,.calendar-card,.resource-card) {
  border: 1px solid var(--agm-line) !important;
  border-radius: 18px !important;
  background: linear-gradient(155deg,rgba(17,25,39,.96),rgba(9,14,23,.98)) !important;
  box-shadow: none !important;
}

body.af-page-owner :is(.creator-panel,.result-card,.qr-utility,.calendar-card,.resource-card) { padding: 20px !important; }
body.af-page-owner :is(.canvas-stage,.poster-stage) { padding: 16px !important; }
body.af-page-owner :is(.canvas-stage,.poster-stage) canvas { max-width: 100% !important; height: auto !important; border-radius: 12px !important; box-shadow: 0 18px 50px rgba(0,0,0,.28) !important; }
body.af-page-owner .creator-actions,
body.af-page-owner .poster-downloads { display: flex !important; gap: 9px !important; flex-wrap: wrap !important; }
body.af-page-owner .result-card header { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; margin-bottom: 12px !important; }
body.af-page-owner .result-card h3 { margin: 0 !important; font-size: 1rem !important; }
body.af-page-owner .result-card textarea { background: rgba(3,7,13,.72) !important; }
body.af-page-owner .business-chip {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  max-width: 280px !important;
  padding: 8px 12px !important;
  border: 1px solid var(--agm-line) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.028) !important;
}
body.af-page-owner .business-chip img { width: 38px !important; height: 38px !important; object-fit: cover !important; border-radius: 11px !important; }
body.af-page-owner .business-chip span { display: grid !important; min-width: 0 !important; }
body.af-page-owner .business-chip strong { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
body.af-page-owner .calendar-grid,
body.af-page-owner .resource-grid { display: grid !important; grid-template-columns: repeat(auto-fit,minmax(min(230px,100%),1fr)) !important; gap: 14px !important; }
body.af-page-owner .calendar-card > span { color: var(--agm-blue) !important; font-size: .68rem !important; font-weight: 850 !important; letter-spacing: .08em !important; text-transform: uppercase !important; }
body.af-page-owner .resource-icon { display: grid !important; place-items: center !important; width: 45px !important; height: 45px !important; margin-bottom: 15px !important; border: 1px solid rgba(134,104,255,.24) !important; border-radius: 13px !important; background: rgba(134,104,255,.11) !important; }

/* Estados de acceso y confirmación */
body.af-page-auth :is(.status-card,.success-panel,.resend-box,.summary-card) {
  padding: 20px !important;
  border: 1px solid var(--agm-line) !important;
  border-radius: 17px !important;
  background: rgba(255,255,255,.025) !important;
}

body.af-page-auth .status-card { position: relative !important; overflow: hidden !important; }
body.af-page-auth .status-card::before {
  content: "";
  display: block;
  width: 34px;
  height: 4px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: var(--agm-gradient);
  animation: agm-loading 1.15s ease-in-out infinite alternate;
}

@keyframes agm-loading { to { width: 92px; transform: translateX(12px); } }
body.af-page-auth .success-panel { text-align: center !important; }
body.af-page-auth .success-icon {
  display: grid !important;
  place-items: center !important;
  width: 62px !important;
  height: 62px !important;
  margin: 0 auto 18px !important;
  color: #fff !important;
  font-size: 1.55rem !important;
  font-weight: 900 !important;
  border-radius: 19px !important;
  background: var(--agm-gradient) !important;
  box-shadow: 0 16px 35px rgba(96,95,255,.2) !important;
}
body.af-page-auth .resend-box { display: grid !important; gap: 10px !important; }
body.af-page-auth .email-display { overflow-wrap: anywhere !important; color: #fff !important; font-weight: 800 !important; }
body.af-page-auth .summary-row { display: flex !important; justify-content: space-between !important; gap: 14px !important; padding: 10px 0 !important; border-bottom: 1px solid var(--agm-line) !important; }
body.af-page-auth .summary-row:last-child { border-bottom: 0 !important; }

/* Perfil público y formulario administrativo de negocio */
body.af-page-profile .premium-profile-nav {
  min-height: 70px !important;
  padding: 8px max(14px,calc((100vw - var(--agm-max))/2)) !important;
}
body.af-page-profile .profile-back,
body.af-page-profile .profile-nav-action { min-height: 42px !important; padding: 0 12px !important; border: 1px solid var(--agm-line) !important; border-radius: 11px !important; background: rgba(255,255,255,.035) !important; color: #dbe5f1 !important; }
body.af-page-profile #profile-root { min-height: calc(100dvh - 70px) !important; }
body.af-page-profile :is(.premium-profile-shell,.profile-shell,.profile-loading) { width: min(var(--agm-max),calc(100% - 32px)) !important; margin-inline: auto !important; }
body.af-page-profile :is(.profile-section,.profile-card,.profile-contact-card,.profile-promo-card,.profile-report-card) { border-color: var(--agm-line) !important; border-radius: 20px !important; background: linear-gradient(155deg,rgba(17,25,39,.96),rgba(9,14,23,.98)) !important; box-shadow: none !important; }
body.af-page-profile .profile-lightbox,.profile-report-modal { background: rgba(2,5,10,.84) !important; backdrop-filter: blur(16px) !important; }

body.af-page-profile .profile-cover {
  position: relative !important;
  min-height: clamp(330px,52vw,520px) !important;
  display: flex !important;
  align-items: end !important;
  isolation: isolate !important;
  overflow: hidden !important;
  border-bottom: 1px solid var(--agm-line) !important;
  background-color: #0c1421 !important;
  background-size: cover !important;
  background-position: center !important;
}
body.af-page-profile .profile-cover::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  background: linear-gradient(180deg,rgba(4,7,12,.15),rgba(4,7,12,.92) 84%),linear-gradient(90deg,rgba(79,195,255,.14),transparent 38%,rgba(242,78,170,.1)) !important;
}
body.af-page-profile .profile-cover-inner { width: min(var(--agm-max),calc(100% - 32px)) !important; margin: 0 auto !important; padding: 54px 0 38px !important; }
body.af-page-profile .profile-identity { display: flex !important; align-items: end !important; gap: 22px !important; }
body.af-page-profile .profile-main-logo {
  flex: 0 0 auto !important;
  display: grid !important;
  place-items: center !important;
  width: 128px !important;
  height: 128px !important;
  overflow: hidden !important;
  color: #fff !important;
  font: 800 2.5rem/1 Sora,sans-serif !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 27px !important;
  background: var(--agm-gradient) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.32) !important;
}
body.af-page-profile .profile-main-logo img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
body.af-page-profile .profile-title { margin: 4px 0 8px !important; font-size: clamp(2.4rem,6vw,5.3rem) !important; line-height: .94 !important; }
body.af-page-profile .profile-category { margin: 0 !important; color: var(--agm-blue) !important; font-size: .72rem !important; font-weight: 900 !important; letter-spacing: .14em !important; text-transform: uppercase !important; }
body.af-page-profile .profile-tagline { max-width: 700px !important; margin: 0 !important; color: #c0cad8 !important; font-size: clamp(.98rem,2vw,1.15rem) !important; }
body.af-page-profile .profile-badges { display: flex !important; gap: 7px !important; flex-wrap: wrap !important; margin-top: 16px !important; }
body.af-page-profile :is(.profile-badge,.open-status) { padding: 6px 9px !important; border: 1px solid var(--agm-line) !important; border-radius: 999px !important; color: #d7dfec !important; font-size: .68rem !important; font-weight: 800 !important; background: rgba(255,255,255,.05) !important; }
body.af-page-profile .open-status.open { color: #a8f3cc !important; border-color: rgba(85,221,160,.26) !important; background: rgba(85,221,160,.09) !important; }
body.af-page-profile .open-status.closed { color: #ffc0cb !important; border-color: rgba(255,113,137,.24) !important; background: rgba(255,113,137,.08) !important; }
body.af-page-profile .profile-action-bar { position: sticky !important; top: 70px !important; z-index: 80 !important; display: flex !important; justify-content: center !important; gap: 8px !important; padding: 10px 16px !important; overflow-x: auto !important; border-bottom: 1px solid var(--agm-line) !important; background: rgba(6,9,16,.88) !important; backdrop-filter: blur(18px) !important; }
body.af-page-profile .profile-action { flex: 0 0 auto !important; min-height: 42px !important; padding: 0 13px !important; color: #e2e9f4 !important; font: 750 .78rem/1 Manrope,sans-serif !important; border: 1px solid var(--agm-line) !important; border-radius: 11px !important; background: rgba(255,255,255,.035) !important; }
body.af-page-profile .profile-action.primary { color: #fff !important; border-color: transparent !important; background: var(--agm-gradient) !important; }
body.af-page-profile .profile-main { width: min(var(--agm-max),calc(100% - 32px)) !important; margin: 0 auto !important; padding: 34px 0 70px !important; }
body.af-page-profile .profile-layout { display: grid !important; grid-template-columns: minmax(0,1.7fr) minmax(280px,.8fr) !important; gap: 18px !important; align-items: start !important; }
body.af-page-profile .profile-layout > aside { position: sticky !important; top: 132px !important; }
body.af-page-profile .profile-section { padding: clamp(20px,3vw,30px) !important; margin-bottom: 18px !important; }
body.af-page-profile .profile-section-heading { display: flex !important; align-items: end !important; justify-content: space-between !important; gap: 14px !important; margin-bottom: 20px !important; }
body.af-page-profile .profile-section-heading h2 { margin: 0 !important; font-size: clamp(1.35rem,3vw,2rem) !important; }
body.af-page-profile .profile-about { color: #bec9d8 !important; font-size: 1rem !important; line-height: 1.78 !important; white-space: pre-line !important; }
body.af-page-profile .premium-gallery { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 9px !important; }
body.af-page-profile .gallery-photo { position: relative !important; min-height: 190px !important; padding: 0 !important; overflow: hidden !important; border: 1px solid var(--agm-line) !important; border-radius: 14px !important; background: #090e17 !important; cursor: pointer !important; }
body.af-page-profile .gallery-photo:first-child { grid-row: span 2 !important; }
body.af-page-profile .gallery-photo img { width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform .25s ease !important; }
body.af-page-profile .gallery-photo:hover img { transform: scale(1.025) !important; }
body.af-page-profile .gallery-more { position: absolute !important; inset: 0 !important; display: grid !important; place-items: center !important; color: #fff !important; font-weight: 850 !important; background: rgba(3,7,13,.68) !important; }
body.af-page-profile .promotion-grid { display: grid !important; grid-template-columns: repeat(auto-fit,minmax(min(210px,100%),1fr)) !important; gap: 11px !important; }
body.af-page-profile .promotion-card { padding: 18px !important; border: 1px solid rgba(242,78,170,.2) !important; border-radius: 15px !important; background: linear-gradient(145deg,rgba(242,78,170,.08),rgba(134,104,255,.06)) !important; }
body.af-page-profile .promotion-card h3 { margin-top: 0 !important; }
body.af-page-profile .promotion-validity { color: #ff9bce !important; font-size: .72rem !important; font-weight: 800 !important; }
body.af-page-profile .profile-map { width: 100% !important; min-height: 330px !important; border: 0 !important; border-radius: 15px !important; filter: saturate(.72) contrast(1.04) !important; }
body.af-page-profile .map-link { display: inline-flex !important; margin-top: 13px !important; color: #8cddff !important; font-weight: 800 !important; text-decoration: none !important; }
body.af-page-profile .profile-facts { display: grid !important; gap: 0 !important; margin-bottom: 24px !important; }
body.af-page-profile .profile-fact { display: grid !important; gap: 4px !important; padding: 13px 0 !important; border-bottom: 1px solid var(--agm-line) !important; overflow-wrap: anywhere !important; }
body.af-page-profile .profile-fact small { font-size: .66rem !important; font-weight: 850 !important; letter-spacing: .09em !important; text-transform: uppercase !important; }
body.af-page-profile .profile-fact a { color: #8bdcff !important; text-decoration: none !important; }
body.af-page-profile .schedule-list { display: grid !important; gap: 3px !important; }
body.af-page-profile .schedule-row { display: flex !important; justify-content: space-between !important; gap: 12px !important; padding: 9px 10px !important; color: #aeb9c9 !important; font-size: .76rem !important; border-radius: 9px !important; }
body.af-page-profile .schedule-row.today { color: #fff !important; background: rgba(79,195,255,.075) !important; }
body.af-page-profile .profile-socials { display: flex !important; flex-wrap: wrap !important; gap: 7px !important; }
body.af-page-profile .profile-social { padding: 8px 10px !important; color: #dbe6f5 !important; font-size: .74rem !important; font-weight: 750 !important; text-decoration: none !important; border: 1px solid var(--agm-line) !important; border-radius: 10px !important; background: rgba(255,255,255,.025) !important; }
body.af-page-profile .profile-qr { margin-top: 24px !important; padding: 18px !important; text-align: center !important; border: 1px solid var(--agm-line) !important; border-radius: 16px !important; background: rgba(255,255,255,.025) !important; }
body.af-page-profile .profile-qr img { width: min(180px,100%) !important; padding: 7px !important; border-radius: 12px !important; background: #fff !important; }
body.af-page-profile .profile-footer { width: min(var(--agm-max),calc(100% - 32px)) !important; display: grid !important; grid-template-columns: auto 1fr auto !important; align-items: center !important; gap: 14px !important; margin: 0 auto !important; padding: 28px 0 42px !important; color: var(--agm-muted) !important; border-top: 1px solid var(--agm-line) !important; }
body.af-page-profile .profile-floating-whatsapp { position: fixed !important; right: 18px !important; bottom: 18px !important; z-index: 130 !important; display: inline-flex !important; align-items: center !important; gap: 8px !important; min-height: 50px !important; padding: 0 17px !important; color: #06130d !important; font-size: .8rem !important; font-weight: 900 !important; text-decoration: none !important; border-radius: 15px !important; background: #59e59f !important; box-shadow: 0 16px 40px rgba(20,130,80,.24) !important; }
body.af-page-profile .profile-error { min-height: calc(100dvh - 70px) !important; display: grid !important; place-items: center !important; padding: 28px !important; text-align: center !important; }
body.af-page-profile .profile-error > div { width: min(560px,100%) !important; padding: clamp(28px,5vw,48px) !important; border: 1px solid var(--agm-line) !important; border-radius: 24px !important; background: linear-gradient(155deg,rgba(17,25,39,.96),rgba(9,14,23,.98)) !important; box-shadow: var(--agm-shadow) !important; }

body.af-page-profile > .topbar { border-bottom: 1px solid var(--agm-line) !important; background: rgba(6,9,16,.84) !important; }
body.af-page-profile > .layout { width: min(var(--agm-max),calc(100% - 32px)) !important; margin: 28px auto 70px !important; gap: 18px !important; }
body.af-page-profile > .layout > .sidebar,
body.af-page-profile .card { border: 1px solid var(--agm-line) !important; border-radius: 18px !important; background: linear-gradient(155deg,rgba(17,25,39,.96),rgba(9,14,23,.98)) !important; }

/* Lo necesito, oportunidades y seguimiento */
body.need-page .need-header { min-height: 72px !important; }
body.need-page .need-header-inner { width: min(var(--agm-max),calc(100% - 28px)) !important; margin-inline: auto !important; }
body.need-page .need-shell,
body.need-page .tracking-shell { width: min(1120px,calc(100% - 32px)) !important; margin-inline: auto !important; }
body.need-page .need-business-top h1,
body.need-page .tracking-hero h1,
body.need-page .need-hero-copy h1 { font-size: clamp(2.3rem,5vw,4.8rem) !important; line-height: .98 !important; }
body.need-page :is(.need-card,.need-stat,.need-business-id,.tracking-status-card,.tracking-reply,.need-opportunity,.need-modal-card,.opp-notifications) { border: 1px solid var(--agm-line) !important; border-radius: 20px !important; background: linear-gradient(155deg,rgba(17,25,39,.96),rgba(9,14,23,.98)) !important; box-shadow: none !important; }
body.need-page .need-stat { min-height: 108px !important; }
body.need-page .need-opportunity:hover { border-color: rgba(134,104,255,.35) !important; }
body.need-page .need-modal { background: rgba(2,5,10,.82) !important; backdrop-filter: blur(16px) !important; }
body.need-page .tracking-step.active { border-color: var(--agm-blue) !important; }
body.need-page .tracking-step.done { border-color: var(--agm-green) !important; }
body.need-page .need-footer { border-top-color: var(--agm-line) !important; background: rgba(5,8,14,.7) !important; }
body.need-page .need-hero { display: grid !important; grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr) !important; gap: clamp(22px,5vw,64px) !important; align-items: center !important; padding: clamp(54px,8vw,100px) 0 !important; }
body.need-page .need-hero-card { padding: 22px !important; border: 1px solid rgba(134,104,255,.24) !important; border-radius: 23px !important; background: radial-gradient(circle at 100% 0,rgba(242,78,170,.1),transparent 45%),linear-gradient(155deg,rgba(17,25,39,.96),rgba(9,14,23,.98)) !important; box-shadow: var(--agm-shadow) !important; }
body.need-page .need-hero-card-head { display: flex !important; align-items: center !important; gap: 12px !important; padding-bottom: 16px !important; border-bottom: 1px solid var(--agm-line) !important; }
body.need-page .need-flow { display: grid !important; gap: 8px !important; margin-top: 13px !important; }
body.need-page .need-flow article { display: grid !important; grid-template-columns: 36px 1fr !important; gap: 11px !important; padding: 11px !important; border-radius: 13px !important; background: rgba(255,255,255,.025) !important; }
body.need-page .need-flow article > span { color: var(--agm-blue) !important; font-size: .72rem !important; font-weight: 900 !important; }
body.need-page .need-flow p { margin: 3px 0 0 !important; color: var(--agm-muted) !important; font-size: .77rem !important; }
body.need-page .need-main-grid { display: grid !important; grid-template-columns: minmax(0,1fr) 300px !important; gap: 18px !important; align-items: start !important; padding-bottom: 80px !important; }
body.need-page .need-form-card { padding: clamp(20px,4vw,32px) !important; }
body.need-page .need-form-grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 16px !important; }
body.need-page .need-field { display: grid !important; align-content: start !important; gap: 7px !important; min-width: 0 !important; }
body.need-page .need-field.wide,
body.need-page .need-consent,
body.need-page .need-submit-row { grid-column: 1 / -1 !important; }
body.need-page .need-side { position: sticky !important; top: 92px !important; display: grid !important; gap: 13px !important; }
body.need-page .need-side .need-card,
body.need-page .need-privacy { padding: 19px !important; border: 1px solid var(--agm-line) !important; border-radius: 18px !important; background: rgba(255,255,255,.025) !important; }
body.need-page .need-info-list { display: grid !important; gap: 10px !important; }
body.need-page .need-info-list > div { display: grid !important; grid-template-columns: 34px 1fr !important; gap: 10px !important; padding-top: 10px !important; border-top: 1px solid var(--agm-line) !important; }
body.need-page .need-consent { display: flex !important; align-items: start !important; gap: 11px !important; padding: 14px !important; border: 1px solid var(--agm-line) !important; border-radius: 13px !important; background: rgba(79,195,255,.025) !important; }
body.need-page .need-consent input { flex: 0 0 auto !important; width: 18px !important; min-height: 18px !important; margin-top: 2px !important; }
body.need-page .need-submit-row { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; padding-top: 8px !important; }
body.need-page .need-submit-row small { max-width: 520px !important; }
body.need-page .need-success { padding: clamp(30px,6vw,58px) 18px !important; text-align: center !important; }
body.need-page .need-success-icon { display: grid !important; place-items: center !important; width: 64px !important; height: 64px !important; margin: 0 auto 18px !important; color: #06130d !important; font-size: 1.7rem !important; font-weight: 900 !important; border-radius: 20px !important; background: var(--agm-green) !important; box-shadow: 0 16px 42px rgba(85,221,160,.18) !important; }

/* Rewards */
body.rewards-page { color: var(--agm-text) !important; background: radial-gradient(circle at 12% 0,rgba(79,195,255,.09),transparent 30rem),radial-gradient(circle at 90% 0,rgba(242,78,170,.08),transparent 30rem),var(--agm-bg) !important; }
body.rewards-page :is(.rw-shell,.customer-shell) { width: min(var(--agm-max),calc(100% - 32px)) !important; margin-inline: auto !important; }
body.rewards-page .rw-topbar { width: 100% !important; }
body.rewards-page .rw-hero { padding: 42px 0 28px !important; }
body.rewards-page .rw-hero h1 { font-size: clamp(2.5rem,5vw,5rem) !important; line-height: .96 !important; }
body.rewards-page .rw-gradient { color: transparent !important; background: linear-gradient(90deg,#72ddff,#aa9aff,#ff70ba) !important; -webkit-background-clip: text !important; background-clip: text !important; }
body.rewards-page :is(.rw-card,.rw-metric,.rw-wallet,.rw-modal-card) { border: 1px solid var(--agm-line) !important; border-radius: 20px !important; background: linear-gradient(155deg,rgba(17,25,39,.96),rgba(9,14,23,.98)) !important; box-shadow: none !important; }
body.rewards-page .rw-tabs { padding: 6px !important; border: 1px solid var(--agm-line) !important; border-radius: 15px !important; background: rgba(255,255,255,.025) !important; }
body.rewards-page .rw-tab { border-radius: 10px !important; }
body.rewards-page .rw-tab.active { color: #fff !important; background: linear-gradient(90deg,rgba(79,195,255,.14),rgba(134,104,255,.15)) !important; }
body.rewards-page .rw-modal { background: rgba(2,5,10,.82) !important; backdrop-filter: blur(16px) !important; }
body.rewards-page .customer-head { min-height: 68px !important; padding-inline: 18px !important; }

/* Ayuda, privacidad y términos */
body.af-page-info .info-header-inner,
body.af-page-info .info-main { width: min(980px,calc(100% - 32px)) !important; margin-inline: auto !important; }
body.af-page-info .info-header { min-height: 70px !important; }
body.af-page-info .info-hero { padding: 70px 0 36px !important; border-bottom: 1px solid var(--agm-line) !important; }
body.af-page-info .info-hero h1 { max-width: 780px !important; font-size: clamp(2.3rem,5vw,4.7rem) !important; line-height: .98 !important; }
body.af-page-info .help-search { border-color: var(--agm-line) !important; border-radius: 15px !important; background: rgba(8,13,22,.8) !important; }
body.af-page-info .help-filter { color: #b7c3d4 !important; border: 1px solid var(--agm-line) !important; border-radius: 999px !important; background: rgba(255,255,255,.025) !important; }
body.af-page-info .help-filter.active { color: #fff !important; border-color: rgba(134,104,255,.35) !important; background: rgba(134,104,255,.12) !important; }
body.af-page-info :is(.help-item,.info-section,.legal-card) { border: 1px solid var(--agm-line) !important; border-radius: 17px !important; background: linear-gradient(155deg,rgba(17,25,39,.96),rgba(9,14,23,.98)) !important; box-shadow: none !important; }
body.af-page-info .help-question { color: #edf3fc !important; }
body.af-page-info .info-footer { border-top-color: var(--agm-line) !important; background: rgba(5,8,14,.7) !important; }
body.af-page-info .info-layout { display: grid !important; grid-template-columns: 220px minmax(0,1fr) !important; gap: 18px !important; align-items: start !important; padding: 34px 0 74px !important; }
body.af-page-info .info-toc { position: sticky !important; top: 92px !important; display: grid !important; gap: 4px !important; padding: 16px !important; border: 1px solid var(--agm-line) !important; border-radius: 16px !important; background: rgba(12,18,29,.78) !important; }
body.af-page-info .info-toc strong { margin: 3px 8px 8px !important; color: #fff !important; font-size: .7rem !important; letter-spacing: .1em !important; text-transform: uppercase !important; }
body.af-page-info .info-toc a { padding: 8px !important; color: #9facc0 !important; font-size: .78rem !important; text-decoration: none !important; border-radius: 9px !important; }
body.af-page-info .info-toc a:hover { color: #fff !important; background: rgba(134,104,255,.09) !important; }
body.af-page-info .info-content { display: grid !important; gap: 12px !important; min-width: 0 !important; }
body.af-page-info .info-section { padding: clamp(20px,4vw,30px) !important; scroll-margin-top: 92px !important; }
body.af-page-info .info-section h2 { margin-top: 0 !important; font-size: clamp(1.22rem,3vw,1.7rem) !important; }
body.af-page-info .info-section p:last-child { margin-bottom: 0 !important; }
body.af-page-info .info-notice { border-color: rgba(79,195,255,.22) !important; background: linear-gradient(155deg,rgba(79,195,255,.07),rgba(9,14,23,.98)) !important; }

/* Genéricas, redirecciones y 404 */
body.af-page-generic .af-error-page,
body.af-page-generic main[style*="place-items"],
body.redirect-page,
body:not([class]) {
  min-height: 100dvh !important;
}

body.af-page-generic .af-error-page {
  position: relative;
  display: grid;
  place-items: center;
  padding: 28px;
  overflow: hidden;
}

body.af-page-generic .af-error-card {
  position: relative;
  width: min(620px,100%);
  padding: clamp(30px,6vw,54px);
  text-align: center;
  border: 1px solid rgba(134,104,255,.28);
  border-radius: 30px;
  background: radial-gradient(circle at 50% 0,rgba(79,195,255,.14),transparent 42%),linear-gradient(155deg,#121b2b,#090f19);
  box-shadow: var(--agm-shadow);
}

body.af-page-generic .af-error-logo { width: 92px; height: 92px; object-fit: contain; margin-bottom: 18px; filter: drop-shadow(0 12px 28px rgba(79,195,255,.24)); }
body.af-page-generic .af-error-code { margin: 0; color: transparent !important; font: 800 clamp(5rem,20vw,10rem)/.82 Sora,sans-serif !important; letter-spacing: -.09em; background: linear-gradient(90deg,#68d7ff,#9e8dff,#ff6ab8); -webkit-background-clip: text; background-clip: text; }
body.af-page-generic .af-error-card h1 { margin: 20px 0 10px; font-size: clamp(1.8rem,4vw,2.8rem) !important; }
body.af-page-generic .af-error-card > p { color: var(--agm-muted); }
body.af-page-generic .af-error-actions { display: flex; justify-content: center; gap: 9px; flex-wrap: wrap; margin-top: 24px; }

body.redirect-page,
body:not([class]) { display: grid !important; place-items: center !important; padding: 24px !important; color: var(--agm-muted) !important; text-align: center !important; }

/* Responsive global */
@media (max-width: 960px) {
  body.af-page-home .pre2-hero,
  body.af-page-directory .directory-hero { grid-template-columns: 1fr !important; min-height: 0 !important; }
  body.af-page-home .pre2-hero { padding-top: 64px !important; }
  body.af-page-directory .directory-hero { padding-top: 58px !important; }
  body.af-page-auth :is(.login-shell,.register-shell) { grid-template-columns: 1fr !important; width: min(680px,100%) !important; }
  body.af-page-auth :is(.login-brand,.register-brand) { min-height: auto !important; }
  body.af-page-directory .directory-sidebar { position: static !important; }
  body.af-page-profile .profile-layout { grid-template-columns: 1fr !important; }
  body.af-page-profile .profile-layout > aside { position: static !important; }
  body.need-page .need-hero,
  body.need-page .need-main-grid { grid-template-columns: 1fr !important; }
  body.need-page .need-side { position: static !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width: 850px) {
  body.af-page-owner .owner-sidebar,
  body.af-page-owner .marketing-sidebar { border-right: 0 !important; border-bottom: 1px solid var(--agm-line) !important; }
  body.af-page-owner .owner-topbar,
  body.af-page-owner .marketing-header { padding-inline: 15px !important; }
  body.af-page-owner .marketing-section { width: min(100% - 30px,1120px) !important; }
  body.af-page-owner .business-chip { max-width: 220px !important; }
  body.af-page-info .info-layout { grid-template-columns: 1fr !important; }
  body.af-page-info .info-toc { position: static !important; display: flex !important; overflow-x: auto !important; }
  body.af-page-info .info-toc strong { flex: 0 0 auto !important; margin: auto 7px !important; }
  body.af-page-info .info-toc a { flex: 0 0 auto !important; }
}

@media (max-width: 720px) {
  body.af-page-home .site-header { min-height: 66px !important; padding: 8px 11px !important; }
  body.af-page-home .pre2-shell,
  body.af-page-home .live-home,
  body.af-page-home .home-need-shell,
  body.af-page-directory main,
  body.af-page-info .info-header-inner,
  body.af-page-info .info-main,
  body.need-page .need-shell,
  body.need-page .tracking-shell,
  body.rewards-page :is(.rw-shell,.customer-shell) { width: min(100% - 24px,var(--agm-max)) !important; }

  body.af-page-home .pre2-hero { padding: 44px 0 52px !important; }
  body.af-page-home .pre2-hero-copy h1 { font-size: clamp(2.65rem,15vw,4.5rem) !important; }
  body.af-page-home .pre2-actions { display: grid !important; grid-template-columns: 1fr !important; }
  body.af-page-home .pre2-actions .pre2-btn { width: 100% !important; }
  body.af-page-home :is(.pre2-preview,.pre2-benefits,.pre2-how,.pre2-national,.pre2-faq,.pre2-closing,.home-need-section,.need-promo-section) { width: calc(100% - 24px) !important; padding-block: 58px !important; }
  body.af-page-home .pre2-launch-card { border-radius: 22px !important; }

  body.af-page-auth .page-back-link { position: absolute !important; top: 10px !important; left: 10px !important; }
  body.af-page-auth .login-page { padding: 62px 10px 14px !important; }
  body.af-page-auth :is(.login-shell,.register-shell) { min-height: 0 !important; border-radius: 22px !important; }
  body.af-page-auth :is(.login-brand,.register-brand,.login-card,.register-card) { padding: 28px 22px !important; }
  body.af-page-auth :is(.login-brand,.register-brand) h1 { font-size: 2.35rem !important; }

  body.af-page-directory .directory-header { padding: 8px 12px !important; }
  body.af-page-directory .directory-header nav a:not(.directory-nav-cta) { display: none !important; }
  body.af-page-directory .directory-hero { padding: 46px 0 40px !important; }
  body.af-page-directory .directory-hero-copy h1 { font-size: clamp(2.55rem,14vw,4.3rem) !important; }
  body.af-page-directory .directory-search-shell { grid-template-columns: 1fr !important; }
  body.af-page-directory .directory-search-shell .button { width: 100% !important; }

  body.need-page .need-header-actions .need-link { display: none !important; }
  body.need-page .need-business-top h1,
  body.need-page .tracking-hero h1 { font-size: clamp(2.2rem,12vw,3.8rem) !important; }
  body.need-page .need-hero { padding: 46px 0 58px !important; }
  body.need-page .need-main-grid { padding-bottom: 58px !important; }
  body.need-page .need-form-grid { grid-template-columns: 1fr !important; }
  body.need-page .need-field.wide,
  body.need-page .need-consent,
  body.need-page .need-submit-row { grid-column: auto !important; }
  body.need-page .need-side { grid-template-columns: 1fr !important; }
  body.need-page .need-submit-row { align-items: stretch !important; flex-direction: column !important; }

  body.rewards-page .rw-hero h1 { font-size: clamp(2.35rem,13vw,4rem) !important; }
  body.rewards-page .rw-tabs { overflow-x: auto !important; flex-wrap: nowrap !important; }
  body.rewards-page .rw-tab { flex: 0 0 auto !important; }

  body.af-page-info .info-hero { padding-top: 48px !important; }
  body.af-page-info .info-hero h1 { font-size: clamp(2.2rem,12vw,3.8rem) !important; }

  body.af-page-profile .premium-profile-nav { grid-template-columns: auto 1fr auto !important; gap: 8px !important; }
  body.af-page-profile .profile-network-brand small { display: none !important; }
  body.af-page-profile .profile-cover { min-height: 390px !important; }
  body.af-page-profile .profile-cover-inner { padding-bottom: 26px !important; }
  body.af-page-profile .profile-identity { align-items: flex-start !important; flex-direction: column !important; gap: 15px !important; }
  body.af-page-profile .profile-main-logo { width: 92px !important; height: 92px !important; border-radius: 21px !important; }
  body.af-page-profile .profile-title { font-size: clamp(2.25rem,13vw,3.8rem) !important; }
  body.af-page-profile .profile-action-bar { top: 70px !important; justify-content: flex-start !important; }
  body.af-page-profile .profile-main { width: calc(100% - 24px) !important; padding-top: 20px !important; }
  body.af-page-profile .premium-gallery { grid-template-columns: 1fr !important; }
  body.af-page-profile .gallery-photo,
  body.af-page-profile .gallery-photo:first-child { grid-row: auto !important; min-height: 230px !important; }
  body.af-page-profile .profile-footer { width: calc(100% - 24px) !important; grid-template-columns: auto 1fr !important; }
  body.af-page-profile .profile-footer small { grid-column: 1 / -1 !important; }

  body.af-page-owner .marketing-header { align-items: flex-start !important; flex-direction: column !important; gap: 13px !important; }
  body.af-page-owner .business-chip { width: 100% !important; max-width: none !important; }
  body.af-page-owner :is(.creator-actions,.poster-downloads) { display: grid !important; grid-template-columns: 1fr !important; }
}

@media (max-width: 520px) {
  body:not(.af-page-admin) :is(.button,.btn,.need-button,.rw-btn,.pre2-btn) { width: 100%; }
  body.af-page-auth .auth-links { flex-direction: column !important; }
  body.af-page-auth .form-actions { display: grid !important; grid-template-columns: 1fr !important; }
  body.af-page-auth .form-actions > * { width: 100% !important; }
  body.af-page-profile .profile-floating-whatsapp { right: 12px !important; bottom: 12px !important; width: 50px !important; padding: 0 !important; justify-content: center !important; border-radius: 15px !important; }
  body.af-page-profile .profile-floating-whatsapp span { display: none !important; }
  body.af-page-profile .profile-section { padding: 19px !important; border-radius: 17px !important; }
  body.af-page-generic .af-error-actions { display: grid; grid-template-columns: 1fr; }
  body.af-page-generic .af-error-card { padding-inline: 22px; border-radius: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.af-page-admin) *,
  body:not(.af-page-admin) *::before,
  body:not(.af-page-admin) *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
