/* Avenqia V15.4.3 — capa transversal de acabado, responsive y accesibilidad */
:root {
  --nexoia-focus: #0b6f78;
  --nexoia-focus-soft: rgba(11, 111, 120, .2);
  --nexoia-surface: #ffffff;
  --nexoia-surface-soft: #f7fafc;
  --nexoia-text: #17324a;
  --nexoia-muted: #5f7182;
  --nexoia-border: #d5e1e8;
  --nexoia-radius-sm: 10px;
  --nexoia-radius-md: 14px;
  --nexoia-radius-lg: 20px;
  --nexoia-shadow-sm: 0 2px 8px rgba(16, 43, 73, .06);
  --nexoia-shadow-md: 0 12px 34px rgba(16, 43, 73, .12);
}

html { scroll-behavior: smooth; text-size-adjust: 100%; }
body { color: var(--nexoia-text); line-height: 1.5; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, [role="button"], a { -webkit-tap-highlight-color: transparent; }
button, [type="button"], [type="submit"], select { min-height: 44px; }
button { touch-action: manipulation; }
button:disabled, input:disabled, select:disabled, textarea:disabled {
  cursor: not-allowed !important;
  opacity: .58;
  filter: saturate(.55);
}
button:not(:disabled):active, [role="button"]:active { transform: translateY(1px); }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--nexoia-focus) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px var(--nexoia-focus-soft) !important;
}

input, select, textarea {
  min-height: 44px;
  color: var(--nexoia-text);
  border-color: var(--nexoia-border) !important;
}
textarea { min-height: 96px; resize: vertical; }
input::placeholder, textarea::placeholder { color: #6f7f8d; opacity: 1; }
label { letter-spacing: .01em; }

.card, .panel, .box, .demo-login, .trust, .dialogIn {
  box-shadow: var(--nexoia-shadow-sm);
}
.card:hover { border-color: #bfd2dd; }

.note, .alert, [role="alert"], [role="status"] {
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.toast {
  inset: auto max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) auto;
  max-width: min(390px, calc(100vw - 28px));
  box-shadow: var(--nexoia-shadow-md) !important;
}

dialog {
  max-width: min(760px, calc(100vw - 28px));
  max-height: min(88dvh, 860px);
}
dialog::backdrop { background: rgba(9, 27, 49, .58); backdrop-filter: blur(3px); }
.dialogIn { max-height: 88dvh; overflow: auto; overscroll-behavior: contain; }

table { width: 100%; border-collapse: collapse; }
th { text-align: left; color: var(--nexoia-muted); font-size: .78rem; letter-spacing: .035em; }
td, th { vertical-align: middle; }

.nexoia-skip-link {
  position: fixed;
  top: max(8px, env(safe-area-inset-top));
  left: 12px;
  z-index: 10000;
  transform: translateY(-160%);
  padding: 10px 14px;
  border-radius: 10px;
  background: #fff;
  color: #0b2a78;
  font-weight: 850;
  text-decoration: none;
  box-shadow: var(--nexoia-shadow-md);
}
.nexoia-skip-link:focus { transform: translateY(0); }
.nexoia-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 720px) {
  input, select, textarea { font-size: 16px !important; }
  button, [role="button"] { min-height: 46px; }
  .wrap, .shell { padding-left: max(12px, env(safe-area-inset-left)); padding-right: max(12px, env(safe-area-inset-right)); }
  .card, .panel, .box { border-radius: var(--nexoia-radius-md); }
  dialog { width: calc(100vw - 20px); max-width: none; margin: auto; }
  .dialogIn { padding: 18px !important; }
  table { display: block; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
  .toast { left: 14px; right: 14px; max-width: none; }
}

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

@media (forced-colors: active) {
  button, input, select, textarea, .card, .panel, .box { border: 1px solid CanvasText !important; }
}

/* Avenqia V15.5.0 — dirección visual premium para portales operativos */
:root {
  --nexoia-navy-950: #081f36;
  --nexoia-navy-900: #0d2b49;
  --nexoia-navy-800: #123b68;
  --nexoia-blue-700: #1648b5;
  --nexoia-teal-600: #0f8584;
  --nexoia-teal-500: #20aaa6;
  --nexoia-canvas: #f2f7fa;
  --nexoia-success-bg: #eaf8f1;
  --nexoia-warning-bg: #fff8df;
  --nexoia-warning-text: #111111;
  --nexoia-danger-bg: #fff1f1;
}

body:not(:has(.heroGrid)) {
  background:
    radial-gradient(circle at 95% 0, rgba(32,170,166,.10), transparent 28rem),
    linear-gradient(180deg, #f8fbfd 0, var(--nexoia-canvas) 100%) fixed !important;
}

body > header,
body > .header,
#appView > header {
  background: linear-gradient(112deg, var(--nexoia-navy-950), var(--nexoia-navy-800)) !important;
  border-bottom: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 10px 28px rgba(8,31,54,.14) !important;
}

.wrap { max-width: 1180px !important; padding-top: 22px !important; }
.wrap > .card:first-child:not(.loginbox),
.page.active > .card:first-child,
.admin-page-panel.admin-page-active > .card:first-child,
.section.active > .card:first-child {
  border-top: 3px solid rgba(32,170,166,.72) !important;
}

.card, .panel, .box {
  background: rgba(255,255,255,.96) !important;
  border-color: #d8e4ea !important;
  box-shadow: 0 5px 18px rgba(9,42,70,.055) !important;
}
.card { padding: clamp(15px, 2vw, 20px) !important; }
.card h1, .card h2, .card h3 { color: var(--nexoia-navy-900); letter-spacing: -.025em; }
.card h1 { font-size: clamp(1.65rem, 3vw, 2.25rem); line-height: 1.08; }
.card h2 { font-size: clamp(1.28rem, 2.2vw, 1.65rem); line-height: 1.15; }
.card h3 { font-size: 1.05rem; line-height: 1.25; }
.muted, .small, .form-help, .consent-help { color: var(--nexoia-muted) !important; }

.metric, .num, .report-number, .today-action-metric {
  color: var(--nexoia-navy-800) !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.04em;
}
.grid > .card:has(.metric),
.grid > .card:has(.num),
.grid2 > .card:has(.metric),
.grid2 > .card:has(.num),
.kpi-strip > *,
.report-metric {
  position: relative;
  overflow: hidden;
}
.grid > .card:has(.metric)::after,
.grid > .card:has(.num)::after,
.grid2 > .card:has(.metric)::after,
.grid2 > .card:has(.num)::after,
.kpi-strip > *::after,
.report-metric::after {
  content: "";
  position: absolute;
  inset: auto -24px -28px auto;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(32,170,166,.08);
}

button, .btn, .return-link {
  border-radius: 11px !important;
  letter-spacing: -.005em;
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease !important;
}
button:not(.secondary):not(.danger):not(.navbtn):not(.admin-navbtn):not(.close):not([class*="install-close"]) {
  background: linear-gradient(135deg, var(--nexoia-navy-800), #1a4d83) !important;
  color: #fff !important;
  box-shadow: 0 5px 12px rgba(18,59,104,.16);
}
button:not(:disabled):hover, .btn:hover, .return-link:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(18,59,104,.16) !important;
}
button.secondary, .secondary, .return-link {
  background: #f8fbfc !important;
  border: 1px solid #b9ceda !important;
  color: var(--nexoia-navy-800) !important;
}
button.danger, .danger {
  background: var(--nexoia-danger-bg) !important;
  border: 1px solid #efb8b8 !important;
  color: #9b2727 !important;
  box-shadow: none !important;
}

.pill, .badge {
  display: inline-flex !important;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px !important;
  border: 1px solid rgba(18,59,104,.08);
  font-size: .72rem !important;
  font-weight: 800 !important;
  line-height: 1.2;
}
.note.ok, .ok.note, .today-action-ok { background: var(--nexoia-success-bg) !important; border-color: #b9dfca !important; }
.note:not(.ok), .status-warn {
  background: var(--nexoia-warning-bg);
  color: var(--nexoia-warning-text) !important;
}
/* V15.5.9 · contraste: cualquier texto sobre fondo amarillo debe ser oscuro. */
.note:not(.ok) :where(p,span,b,strong,small,label,a,h1,h2,h3,h4,li),
.banner :where(p,span,b,strong,small,label,a,h1,h2,h3,h4,li),
.demo-chip :where(p,span,b,strong,small,label,a,h1,h2,h3,h4,li),
.status-warn :where(p,span,b,strong,small,label,a,h1,h2,h3,h4,li),
.pending :where(p,span,b,strong,small,label,a,h1,h2,h3,h4,li) { color: var(--nexoia-warning-text) !important; }
.banner, .demo-chip, .status-warn, .pending { color: var(--nexoia-warning-text) !important; }

input, select, textarea {
  background: #fbfdfe !important;
  border: 1px solid #c9d8e1 !important;
  border-radius: 10px !important;
  padding: 11px 12px !important;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
input:hover, select:hover, textarea:hover { border-color: #96b5c5 !important; }
input:focus, select:focus, textarea:focus { background: #fff !important; border-color: var(--nexoia-teal-600) !important; }

.row, .row4, .member-row, .customer-history-row, .block-row, .report-detail-row {
  border-bottom-color: #e7eef2 !important;
}
.row:hover, .row4:hover, .member-row:hover, .customer-history-row:hover, .block-row:hover {
  background: #f8fbfc;
}
table thead { background: #f2f7fa; }
table th { padding: 11px 12px !important; color: #52687a !important; text-transform: uppercase; }
table td { padding: 12px !important; border-bottom: 1px solid #e6edf2; }
table tbody tr:hover { background: #f7fbfc; }

#adminDrawer, .drawer, [class*="drawer"] {
  scrollbar-color: rgba(255,255,255,.24) transparent;
}
#adminDrawer, .drawer {
  border-right: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 18px 0 44px rgba(5,25,43,.20) !important;
}
.admin-drawer-head, .drawer-head {
  background: linear-gradient(145deg, var(--nexoia-navy-950), var(--nexoia-navy-800)) !important;
  padding: 18px 16px !important;
}
.admin-drawer-nav, .drawer-scroll { background: #f5f9fb; }
.admin-navbtn, .drawer-scroll button {
  display: flex !important;
  align-items: center;
  gap: 10px;
  min-height: 48px !important;
  border-color: transparent !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
.drawer-scroll button:not(.active) {
  background: #fff !important;
  color: var(--nexoia-navy-900) !important;
  border: 1px solid #d8e4ea !important;
}
#drawer .drawer-scroll button:not(.active),
#adminDrawer .admin-navbtn:not(.active) {
  background: #fff !important;
  background-image: none !important;
  color: var(--nexoia-navy-900) !important;
  border: 1px solid #d8e4ea !important;
}
#drawer .drawer-scroll button.active,
#adminDrawer .admin-navbtn.active {
  background: #dff1f3 !important;
  background-image: none !important;
  border-color: #b4dcdf !important;
  color: #0b5660 !important;
}
.admin-navbtn:hover, .drawer-scroll button:hover { background: #e8f3f6 !important; }
.admin-navbtn.active, .drawer-scroll button.active {
  background: #dff1f3 !important;
  border-color: #b4dcdf !important;
  color: #0b5660 !important;
  box-shadow: inset 4px 0 0 var(--nexoia-teal-600) !important;
}
.nexoia-nav-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: rgba(18,59,104,.08);
  color: currentColor;
  font-size: 14px;
  font-style: normal;
  filter: grayscale(1);
}
.active > .nexoia-nav-icon, [aria-current="page"] > .nexoia-nav-icon { background: rgba(15,133,132,.14); }
.drawer-bottom { background: #f5f9fb !important; border-top: 1px solid #d8e4ea !important; }
.drawer-bottom button { box-shadow: none !important; }
.admin-drawer-bottom { display: grid; gap: 8px; background: #f5f9fb !important; }
.admin-drawer-bottom .nexoia-drawer-install {
  background: linear-gradient(135deg, var(--nexoia-navy-800), #1a4d83) !important;
  background-image: linear-gradient(135deg, var(--nexoia-navy-800), #1a4d83) !important;
  border: 1px solid #315b88 !important;
  color: #fff !important;
  box-shadow: 0 5px 12px rgba(18,59,104,.14) !important;
}
.admin-drawer-bottom #adminDrawerLogout {
  background: var(--nexoia-danger-bg) !important;
  background-image: none !important;
  border: 1px solid #efb8b8 !important;
  color: #922626 !important;
}

/* Contraste garantizado en todas las superficies de acción azules. */
.primary,
.btn.primary,
.nav .primary,
.quick button.active,
button.active[style*="background"],
button[style*="background:#123"],
button[style*="background: #123"],
button[style*="background:#0b2a78"],
button[style*="background: #0b2a78"],
button[style*="background:#102b49"],
button[style*="background: #102b49"],
button[style*="background:#0d756f"],
button[style*="background: #0d756f"] {
  color: #fff !important;
}
body > header, body > header a, body > header button:not(.secondary),
.admin-drawer-head, .admin-drawer-head *, .drawer-head, .drawer-head * {
  color: #fff !important;
}
#viewerSection > .hero, #viewerSection > .hero h1, #viewerSection > .hero h2,
#viewerSection > .hero h3, #viewerSection > .hero p, #viewerSection > .hero strong {
  color: #fff !important;
}
#viewerSection > .hero .pill, #viewerSection > .hero .badge { color: var(--nexoia-navy-800) !important; }
.card.hero, .card.hero h1, .card.hero h2, .card.hero h3, .card.hero p, .card.hero strong,
section.hero .heroGrid > div, section.hero .heroGrid > div h1, section.hero .heroGrid > div h2,
section.hero .heroGrid > div h3, section.hero .heroGrid > div p,
section.hero .heroGrid > div strong { color: var(--nexoia-text) !important; }
section.hero .heroGrid > div .tagline, section.hero .heroGrid > div h1 span { color: var(--nexoia-blue-700) !important; }
.heroCard, .heroCard h1, .heroCard h2, .heroCard h3, .heroCard p,
.heroCard strong, .heroCard span { color: #fff !important; }

/* Clase calculada según el fondo efectivo: impide texto oscuro sobre azul. */
.nexoia-on-blue { color: #fff !important; }

.roleGroup {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, .54fr);
  align-items: stretch;
  overflow: hidden;
  border: 1px solid var(--nexoia-border);
  border-radius: 14px;
  background: #fff;
}
.roleGroup .role {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.roleGroup .roleInstall {
  min-height: 64px;
  margin: 8px;
  padding: 10px 14px;
  border: 1px solid #315b88 !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, var(--nexoia-navy-800), #1a4d83) !important;
  color: #fff !important;
  font-size: .86rem;
  line-height: 1.25;
  box-shadow: 0 5px 12px rgba(18,59,104,.14) !important;
}

@media (max-width: 620px) {
  .roleGroup { grid-template-columns: 1fr; }
  .roleGroup .roleInstall { min-height: 48px; margin-top: 0; }
}

.nexoia-empty-state {
  display: grid;
  place-items: center;
  min-height: 120px;
  padding: 24px !important;
  border: 1px dashed #b7cbd6 !important;
  border-radius: 14px;
  background: #f8fbfc;
  color: var(--nexoia-muted) !important;
  text-align: center;
  line-height: 1.5;
}
.nexoia-empty-state::before {
  content: "＋";
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin-bottom: 8px;
  border-radius: 50%;
  background: #e4f3f4;
  color: var(--nexoia-teal-600);
  font-size: 20px;
  font-weight: 800;
}

.login-wrap, .loginbox { padding-top: clamp(20px, 6vh, 64px) !important; }
.demo-login, .loginbox.card {
  border: 1px solid #d1e0e7 !important;
  box-shadow: 0 22px 60px rgba(8,31,54,.13) !important;
}
.nexoia-login-brand img, .login-brand img { filter: drop-shadow(0 9px 14px rgba(18,59,104,.12)); }

@media (min-width: 980px) {
  .grid, .grid2, .grid3, .grid4 { gap: 14px !important; }
  .admin-page-panel, .section, .page { animation: nexoia-page-in .22s ease both; }
  @keyframes nexoia-page-in { from { opacity: .45; transform: translateY(4px); } to { opacity: 1; transform: none; } }
}

@media (max-width: 720px) {
  .wrap { padding-top: 14px !important; padding-bottom: calc(78px + env(safe-area-inset-bottom)) !important; }
  .card { padding: 15px !important; }
  .card h1 { font-size: 1.65rem; }
  .card h2 { font-size: 1.3rem; }
  .grid, .grid2, .grid3, .grid4 { gap: 10px !important; }
  .row, .row4, .member-row, .block-row, .customer-history-row { padding: 12px 2px !important; }
  .actions, .mini-actions, .staff-actions, .profile-logo-actions { gap: 8px !important; }
  .actions > button, .actions > .btn, .mini-actions > button, .staff-actions > button { flex: 1 1 145px; }
  .admin-navbtn, .drawer-scroll button { min-height: 50px !important; }
  .nexoia-empty-state { min-height: 104px; }
}

/* Avenqia V15.6.3 — auditoría global de contraste y legibilidad de controles */
:root {
  --nexoia-action-primary: #123b68;
  --nexoia-action-primary-strong: #0b2a78;
  --nexoia-action-secondary: #2f67a5;
  --nexoia-action-secondary-hover: #285b94;
  --nexoia-action-danger: #9b2727;
  --nexoia-action-border: #204f7f;
  --nexoia-control-disabled-bg: #d7e0e8;
  --nexoia-control-disabled-text: #435466;
  --nexoia-control-disabled-border: #aebdcc;
}

/* Acción principal: azul sólido/gradiente oscuro + texto blanco. */
button:not(.danger):not(.secondary):not(.navbtn):not(.admin-navbtn):not(.close):not([class*="install-close"]),
.btn.primary,
.primary {
  background: linear-gradient(135deg, var(--nexoia-action-primary-strong), var(--nexoia-action-primary)) !important;
  background-image: linear-gradient(135deg, var(--nexoia-action-primary-strong), var(--nexoia-action-primary)) !important;
  border: 1px solid var(--nexoia-action-primary-strong) !important;
  color: #fff !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.12);
}

/* Acción secundaria: deja de ser azul pálido; ahora es azul medio real y claramente visible. */
button.secondary,
.secondary,
.return-link,
.staff-actions button.secondary,
.customer-actions button.secondary,
.mini-actions button.secondary,
.profile-logo-actions button.secondary {
  background: var(--nexoia-action-secondary) !important;
  background-image: none !important;
  border: 1px solid var(--nexoia-action-border) !important;
  color: #fff !important;
  box-shadow: 0 4px 10px rgba(47,103,165,.20) !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.10);
}
button.secondary:not(:disabled):hover,
.secondary:not(:disabled):hover,
.return-link:hover {
  background: var(--nexoia-action-secondary-hover) !important;
  color: #fff !important;
}

/* Acciones destructivas: rojo sólido y texto blanco; no fondo rosado tenue. */
button.danger,
.danger {
  background: var(--nexoia-action-danger) !important;
  background-image: none !important;
  border: 1px solid #7f1f1f !important;
  color: #fff !important;
  box-shadow: 0 4px 10px rgba(155,39,39,.16) !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.10);
}
button.danger:not(:disabled):hover,
.danger:not(:disabled):hover { background: #842020 !important; color:#fff !important; }

/* Los botones deshabilitados deben seguir siendo identificables y legibles. */
button:disabled,
.btn:disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled {
  opacity: 1 !important;
  filter: none !important;
  background: var(--nexoia-control-disabled-bg) !important;
  background-image: none !important;
  border: 1px solid var(--nexoia-control-disabled-border) !important;
  color: var(--nexoia-control-disabled-text) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Menús: blancos/azules con borde visible; activo azul sólido. */
.navbtn,
.admin-navbtn,
.drawer-scroll button:not(.active),
#drawer .drawer-scroll button:not(.active),
#adminDrawer .admin-navbtn:not(.active) {
  background: #ffffff !important;
  background-image: none !important;
  border: 1px solid #9fb8c9 !important;
  color: var(--nexoia-navy-900) !important;
  box-shadow: 0 2px 5px rgba(13,43,73,.07) !important;
  text-shadow: none !important;
}
.navbtn.active,
.admin-navbtn.active,
.drawer-scroll button.active,
#drawer .drawer-scroll button.active,
#adminDrawer .admin-navbtn.active,
.quick button.active {
  background: var(--nexoia-action-primary) !important;
  background-image: none !important;
  border-color: var(--nexoia-action-primary-strong) !important;
  color: #fff !important;
  box-shadow: inset 4px 0 0 #20aaa6, 0 3px 8px rgba(18,59,104,.16) !important;
}

/* Botones de navegación rápida que antes se perdían sobre blanco. */
.quick button:not(.active) {
  background: #dceaf5 !important;
  background-image: none !important;
  border: 1px solid #7899b3 !important;
  color: #17324a !important;
  box-shadow: 0 2px 6px rgba(18,59,104,.08) !important;
  text-shadow: none !important;
}

/* Chips/estados informativos: más contraste sin convertirlos en botones. */
.pill,
.badge {
  background: #d7e7f3 !important;
  border: 1px solid #9bb9cd !important;
  color: #17324a !important;
}
.status-warn,
.demo-chip,
.banner,
.note:not(.ok),
.pending {
  color: #111 !important;
}
.status-warn,
.demo-chip { border-color: #cda93c !important; }

/* Botón menú/hamburguesa y cierres: contraste explícito incluso dentro de cabeceras oscuras. */
#menuBtn,
#adminMenuBtn,
#demoMenuBtn,
#drawerClose,
#adminDrawerClose {
  background: #fff !important;
  background-image: none !important;
  color: #0b2a78 !important;
  border: 2px solid #35bfb3 !important;
  text-shadow: none !important;
}

/* Links con apariencia de botón también deben verse como acción real. */
a.return-link,
a.btn {
  text-decoration: none;
}

/* Evita que la clase automática de superficie azul convierta texto oscuro en blanco sobre controles claros. */
button.secondary.nexoia-on-blue,
.secondary.nexoia-on-blue,
button.danger.nexoia-on-blue,
.danger.nexoia-on-blue { color:#fff !important; }
.navbtn.nexoia-on-blue:not(.active),
.admin-navbtn.nexoia-on-blue:not(.active),
.quick button.nexoia-on-blue:not(.active) { color:#17324a !important; }

/* Tamaño y peso mínimo para lectura en celular y computador. */
button,
.btn,
.return-link {
  font-weight: 800 !important;
  min-height: 44px;
}
@media (max-width:720px){
  button,.btn,.return-link{min-height:48px;font-size:1rem;}
}
