/* =========================================================
   LEOSOFTEC BUSINESS OWNER - PORTAL + JUMP & TONE HOME
========================================================= */

/* ===============================
   PORTAL DEL NEGOCIO
================================ */

.lbo-portal,
.lbo-portal * {
  box-sizing: border-box;
}

.lbo-portal {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 280px 1fr;
  background: #050505;
  color: #ffffff;
  font-family: Arial, Helvetica, sans-serif;
}

.lbo-sidebar {
  background: #0b0b0f;
  border-right: 1px solid rgba(255,255,255,0.08);
  padding: 28px 22px;
}

.lbo-brand {
  margin-bottom: 32px;
}

.lbo-brand strong {
  display: block;
  font-size: 24px;
  color: #ffffff;
}

.lbo-brand span {
  display: block;
  margin-top: 6px;
  color: #d7bf78;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.lbo-menu {
  display: grid;
  gap: 10px;
}

.lbo-menu a {
  display: block;
  padding: 14px 16px;
  border-radius: 14px;
  color: #cfcfcf;
  text-decoration: none;
  font-weight: 700;
  transition: 0.2s ease;
}

.lbo-menu a:hover,
.lbo-menu a.active {
  background: linear-gradient(135deg, #d7bf78, #8a7b4d);
  color: #ffffff;
}

.lbo-main {
  padding: 34px;
  overflow-x: hidden;
}

.lbo-header {
  margin-bottom: 28px;
}

.lbo-header h1 {
  margin: 0 0 8px;
  font-size: 34px;
  color: #ffffff;
}

.lbo-header p {
  margin: 0;
  color: #cfcfcf;
}

.lbo-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 18px;
}

.lbo-kpi,
.lbo-card {
  background: #121217;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 22px;
  padding: 24px;
}

.lbo-kpi span {
  display: block;
  color: #d7bf78;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.lbo-kpi strong {
  display: block;
  margin-top: 12px;
  font-size: 36px;
  color: #ffffff;
}

.lbo-card {
  margin-bottom: 22px;
}

.lbo-card h2 {
  margin: 0 0 16px;
  color: #ffffff;
}

.lbo-card p {
  color: #cfcfcf;
}

.lbo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.lbo-field label {
  display: block;
  margin-bottom: 7px;
  color: #d7bf78;
  font-weight: 800;
  font-size: 13px;
}

.lbo-field input,
.lbo-field textarea,
.lbo-field select {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  background: #050505;
  color: #ffffff;
  padding: 12px 14px;
  outline: none;
}

.lbo-field textarea {
  min-height: 110px;
  resize: vertical;
}

.lbo-full {
  grid-column: 1 / -1;
}

.lbo-save {
  min-height: 50px;
  padding: 14px 26px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(135deg, #d7bf78, #8a7b4d);
  color: #ffffff;
  font-weight: 900;
  text-transform: uppercase;
  cursor: pointer;
}

.lbo-table-wrap {
  overflow-x: auto;
  background: #121217;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.08);
}

.lbo-table {
  width: 100%;
  border-collapse: collapse;
}

.lbo-table th,
.lbo-table td {
  padding: 16px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  text-align: left;
}

.lbo-table th {
  color: #d7bf78;
  font-size: 13px;
  text-transform: uppercase;
}

.lbo-table td {
  color: #ffffff;
}

.lbo-table small {
  display: block;
  color: #cfcfcf;
  margin-top: 4px;
}

.lbo-alert,
.lbo-message {
  padding: 16px 18px;
  border-radius: 16px;
  margin-bottom: 20px;
}

.lbo-alert-success {
  background: rgba(34, 197, 94, 0.16);
  border: 1px solid rgba(34, 197, 94, 0.35);
  color: #bbf7d0;
}

.lbo-alert-error {
  background: rgba(244, 38, 143, 0.16);
  border: 1px solid rgba(244, 38, 143, 0.35);
  color: #ffffff;
}

.lbo-message {
  background: #121217;
  color: #cfcfcf;
  border: 1px solid rgba(255,255,255,0.08);
}

.lbo-login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 20% 20%, rgba(244, 38, 143, 0.24), transparent 32%),
    radial-gradient(circle at 80% 30%, rgba(215, 191, 120, 0.18), transparent 30%),
    #050505;
  font-family: Arial, Helvetica, sans-serif;
}

.lbo-login-card {
  width: min(420px, calc(100% - 32px));
  padding: 34px;
  border-radius: 28px;
  background: #121217;
  border: 1px solid rgba(255,255,255,0.08);
  color: #ffffff;
}

.lbo-login-card h1 {
  margin: 0 0 10px;
}

.lbo-login-card p {
  color: #cfcfcf;
  margin-bottom: 22px;
}

.lbo-login-card label {
  display: block;
  margin: 14px 0 7px;
  color: #d7bf78;
  font-weight: 800;
}

.lbo-login-card input {
  width: 100%;
  min-height: 46px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: #050505;
  color: #ffffff;
  padding: 12px 14px;
}

.lbo-login-card button {
  width: 100%;
  min-height: 50px;
  margin-top: 22px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(135deg, #d7bf78, #8a7b4d);
  color: #ffffff;
  font-weight: 900;
  text-transform: uppercase;
  cursor: pointer;
}

/* ===============================
   JUMP & TONE - HOME PAGE
================================ */

.jt-home {
  --jt-black: #050505;
  --jt-dark: #0b0b0f;
  --jt-dark-2: #121217;
  --jt-white: #ffffff;
  --jt-muted: #cfcfcf;
  --jt-pink: #d7bf78;
  --jt-pink-2: #e6d39a;
  --jt-gold: #d7bf78;
  --jt-gold-2: #f0dc9c;
  font-family: Arial, Helvetica, sans-serif;
  background: var(--jt-black);
  color: var(--jt-white);
  overflow: hidden;
}

.jt-home * { box-sizing: border-box; }

.jt-container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.jt-hero {
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: center;
  padding: 80px 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(244, 38, 143, 0.22), transparent 32%),
    radial-gradient(circle at 85% 28%, rgba(215, 191, 120, 0.18), transparent 30%),
    linear-gradient(135deg, #000000 0%, #0b0b0f 48%, #030303 100%);
}

.jt-hero-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(244, 38, 143, 0.16) 0 1px, transparent 1px 100%),
    linear-gradient(0deg, rgba(255, 255, 255, 0.04) 0 1px, transparent 1px 100%);
  background-size: 70px 70px;
  opacity: 0.22;
  pointer-events: none;
}

.jt-hero::after {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  right: -160px;
  bottom: -220px;
  border: 2px solid rgba(215, 191, 120, 0.55);
  border-radius: 50%;
}

.jt-hero::before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  left: -170px;
  top: 80px;
  border: 3px solid rgba(244, 38, 143, 0.55);
  border-radius: 50%;
}

.jt-hero-content {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 60px;
  align-items: center;
}

.jt-label,
.jt-section-title span,
.jt-section-header span,
.jt-schedule-text span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--jt-gold);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.jt-label::before,
.jt-section-title span::before,
.jt-section-header span::before,
.jt-schedule-text span::before {
  content: "";
  width: 36px;
  height: 2px;
  background: var(--jt-gold);
}

.jt-hero h1 {
  margin: 22px 0;
  font-size: clamp(46px, 7vw, 94px);
  line-height: 0.95;
  letter-spacing: -3px;
  text-transform: uppercase;
}

.jt-hero h1 span {
  display: block;
  color: transparent;
  -webkit-text-stroke: 1.5px var(--jt-gold);
}

.jt-hero p {
  max-width: 600px;
  margin: 0 0 34px;
  color: var(--jt-muted);
  font-size: 18px;
  line-height: 1.7;
}

.jt-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}

.jt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px 24px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.8px;
  text-decoration: none;
  text-transform: uppercase;
  transition: 0.25s ease;
  cursor: pointer;
}

.jt-btn-primary {
  color: #ffffff;
  background: linear-gradient(135deg, var(--jt-gold), #8a7b4d);
  box-shadow: 0 18px 42px rgba(244, 38, 143, 0.28);
}

.jt-btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 50px rgba(244, 38, 143, 0.38);
}

.jt-btn-outline {
  color: var(--jt-white);
  border: 1px solid rgba(215, 191, 120, 0.75);
  background: rgba(255, 255, 255, 0.04);
}

.jt-btn-outline:hover {
  color: var(--jt-black);
  background: var(--jt-gold);
  transform: translateY(-3px);
}

.jt-btn-link {
  color: var(--jt-gold);
  padding-left: 6px;
  padding-right: 6px;
}

.jt-btn-link:hover { color: var(--jt-gold); }

.jt-hero-card {
  position: relative;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 34px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
    rgba(8, 8, 10, 0.88);
  box-shadow: 0 34px 80px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(16px);
}

.jt-hero-card::before {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: -1;
  border-radius: 36px;
  background: linear-gradient(135deg, var(--jt-gold), transparent 40%, var(--jt-gold));
  opacity: 0.52;
}

.jt-logo-box {
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
  border-radius: 26px;
  background: #000000;
}

.jt-logo-box img {
  width: min(360px, 100%);
  height: auto;
  display: block;
}

.jt-hero-video {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  border-radius: 22px;
  display: block;
}

.jt-class-preview {
  margin-top: 18px;
  padding: 24px;
  border-radius: 26px;
  background: #ffffff;
  color: #101010;
}

.jt-class-preview span {
  color: var(--jt-gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.jt-class-preview h3 {
  margin: 8px 0 8px;
  font-size: 30px;
  line-height: 1;
}

.jt-class-preview p {
  margin: 0 0 20px;
  color: #565656;
  font-size: 15px;
  line-height: 1.5;
}

.jt-section {
  padding: 95px 0;
  background: var(--jt-black);
}

.jt-section-title {
  max-width: 720px;
  margin: 0 auto 48px;
  text-align: center;
}

.jt-section-title span { justify-content: center; }

.jt-section-title h2,
.jt-section-header h2,
.jt-schedule-text h2,
.jt-final-cta h2 {
  margin: 16px 0;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1;
  letter-spacing: -1.5px;
  text-transform: uppercase;
}

.jt-section-title p,
.jt-schedule-text p,
.jt-final-cta p {
  color: var(--jt-muted);
  font-size: 17px;
  line-height: 1.7;
}

.jt-benefit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.jt-benefit-card {
  position: relative;
  padding: 34px;
  border-radius: 28px;
  background: linear-gradient(145deg, #121217, #070707);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: 0.25s ease;
}

.jt-benefit-card:hover {
  transform: translateY(-8px);
  border-color: rgba(244, 38, 143, 0.55);
}

.jt-icon {
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 28px;
  border-radius: 50%;
  color: #000000;
  background: linear-gradient(135deg, var(--jt-gold), var(--jt-gold-2));
  font-weight: 900;
}

.jt-benefit-card h3 {
  margin: 0 0 12px;
  font-size: 24px;
}

.jt-benefit-card p {
  margin: 0;
  color: var(--jt-muted);
  line-height: 1.65;
}

.jt-classes {
  background:
    radial-gradient(circle at 20% 10%, rgba(244, 38, 143, 0.12), transparent 30%),
    #08080a;
}

.jt-section-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 36px;
}

.jt-simple-link {
  color: var(--jt-gold);
  font-weight: 800;
  text-decoration: none;
  text-transform: uppercase;
}

.jt-simple-link:hover { color: var(--jt-gold); }

.jt-booking-activities-wrap { width: 100%; }

.jt-empty-booking {
  padding: 34px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.07);
  color: var(--jt-muted);
  text-align: center;
  border: 1px dashed rgba(215, 191, 120, 0.45);
}

.jt-schedule { background: #000000; }

.jt-schedule-box {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 42px;
  align-items: center;
  padding: 44px;
  border-radius: 36px;
  background:
    linear-gradient(135deg, rgba(244, 38, 143, 0.14), rgba(215, 191, 120, 0.1)),
    #101014;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.jt-schedule-list { display: grid; gap: 14px; }

.jt-schedule-item {
  display: grid;
  grid-template-columns: 120px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 20px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.07);
}

.jt-schedule-item strong { color: var(--jt-gold); }
.jt-schedule-item span { font-weight: 800; }
.jt-schedule-item em { color: var(--jt-gold); font-style: normal; font-weight: 900; }

.jt-final-cta {
  position: relative;
  padding: 110px 0;
  text-align: center;
  background:
    radial-gradient(circle at center, rgba(244, 38, 143, 0.18), transparent 35%),
    linear-gradient(135deg, #050505, #111111);
}

.jt-final-cta h2 {
  max-width: 850px;
  margin-left: auto;
  margin-right: auto;
}

.jt-final-cta p {
  max-width: 660px;
  margin-left: auto;
  margin-right: auto;
}

.jt-center-actions {
  justify-content: center;
  margin-top: 30px;
}

.jt-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: 0.7s ease;
}

.jt-reveal.jt-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 980px) {
  .jt-hero-content,
  .jt-schedule-box {
    grid-template-columns: 1fr;
  }
  .jt-hero { min-height: auto; padding: 70px 0; }
  .jt-benefit-grid { grid-template-columns: 1fr; }
  .jt-section-header { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 900px) {
  .lbo-portal { grid-template-columns: 1fr; }
  .lbo-sidebar {
    position: relative;
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .lbo-menu { grid-template-columns: repeat(2, 1fr); }
  .lbo-main { padding: 22px; }
  .lbo-kpis,
  .lbo-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .jt-container { width: min(100% - 28px, 1180px); }
  .jt-hero { padding: 52px 0; }
  .jt-hero h1 { letter-spacing: -1.5px; }
  .jt-hero p { font-size: 16px; }
  .jt-hero-actions { flex-direction: column; align-items: stretch; }
  .jt-btn { width: 100%; }
  .jt-logo-box { min-height: 230px; padding: 22px; }
  .jt-hero-video { min-height: 230px; }
  .jt-section { padding: 68px 0; }
  .jt-benefit-card,
  .jt-schedule-box { padding: 26px; }
  .jt-schedule-item { grid-template-columns: 1fr; gap: 8px; }
  .jt-final-cta { padding: 80px 0; }
}

/* ===============================
   PORTAL STANDALONE TEMPLATE
   No usa header ni footer del tema
================================ */

body.lbo-standalone-body {
  margin: 0;
  padding: 0;
  background: #050505;
  color: #ffffff;
}

body.lbo-standalone-body #wpadminbar {
  display: none !important;
}

.lbo-standalone-shell,
.lbo-standalone-shell * {
  box-sizing: border-box;
}

.lbo-standalone-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: #050505;
  color: #ffffff;
  font-family: Arial, Helvetica, sans-serif;
}

.lbo-standalone-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(5, 5, 5, 0.96);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(14px);
}

.lbo-standalone-header-inner,
.lbo-standalone-footer-inner {
  width: min(1280px, calc(100% - 32px));
  margin: 0 auto;
}

.lbo-standalone-header-inner {
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.lbo-standalone-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #ffffff;
  text-decoration: none;
}

.lbo-standalone-logo img {
  width: 46px;
  height: 46px;
  object-fit: contain;
  border-radius: 12px;
  background: #000000;
  padding: 5px;
}

.lbo-standalone-logo strong,
.lbo-standalone-logo small {
  display: block;
}

.lbo-standalone-logo strong {
  color: #ffffff;
  font-size: 18px;
  line-height: 1.1;
}

.lbo-standalone-logo small {
  margin-top: 3px;
  color: #d7bf78;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.lbo-standalone-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.lbo-standalone-header-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 16px;
  border-radius: 999px;
  color: #ffffff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(215, 191, 120, 0.35);
}

.lbo-standalone-header-actions a:hover {
  background: #d7bf78;
  color: #050505;
}

.lbo-standalone-content {
  flex: 1;
}

.lbo-standalone-content .lbo-portal,
.lbo-standalone-content .lbo-login-page {
  min-height: calc(100vh - 134px);
}

.lbo-standalone-footer {
  background: #0b0b0f;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.lbo-standalone-footer-inner {
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: #cfcfcf;
  font-size: 13px;
}

@media (max-width: 700px) {
  .lbo-standalone-header-inner,
  .lbo-standalone-footer-inner {
    width: min(100% - 24px, 1280px);
  }

  .lbo-standalone-header-inner,
  .lbo-standalone-footer-inner {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 14px 0;
  }

  .lbo-standalone-header-actions {
    width: 100%;
  }

  .lbo-standalone-header-actions a {
    flex: 1;
  }
}

/* Contenido web - seleccion de clases para shortcodes */
.lbo-checkbox-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.lbo-checkbox-list label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 14px;
  background: #fff;
  font-weight: 700;
}
.lbo-checkbox-list input { width: 18px; height: 18px; }
.lbo-shortcode-box {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px dashed rgba(10, 79, 153, .35);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.lbo-shortcode-box code {
  padding: 6px 10px;
  border-radius: 10px;
  background: #0f172a;
  color: #fff;
  font-size: 13px;
}


/* =========================================================
   VERSION 1.7.0 - MODERN MINIMAL PORTAL OVERRIDES
   Inspirado en la identidad Jump & Tone: negro, blanco,
   acento dorado suave y sin color rosa; acentos neutros y dorado sobrio.
========================================================= */

.lbo-portal {
  --lbo-bg: #0a0c10;
  --lbo-bg-soft: #10141a;
  --lbo-panel: #121720;
  --lbo-panel-2: #171d27;
  --lbo-line: rgba(255,255,255,0.08);
  --lbo-line-strong: rgba(215,191,120,0.22);
  --lbo-text: #f5f7fb;
  --lbo-muted: #a7afbb;
  --lbo-accent: #d7bf78;
  --lbo-accent-2: #c9b56f;
  background: linear-gradient(180deg, #090b0e 0%, #0c1015 100%) !important;
  color: var(--lbo-text) !important;
}

.lbo-sidebar {
  background: rgba(10, 12, 16, 0.96) !important;
  backdrop-filter: blur(12px);
  border-right: 1px solid var(--lbo-line) !important;
  padding: 26px 22px !important;
}

.lbo-brand {
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 22px !important;
  border-bottom: 1px solid var(--lbo-line);
}

.lbo-brand strong,
.lbo-header h1,
.lbo-card h2,
.lbo-card h3,
.lbo-kpi strong,
.lbo-table td,
.lbo-table th,
.lbo-message,
.lbo-alert,
.lbo-field label,
.lbo-shortcode-box strong,
.lbo-checkbox-list label span,
.lbo-login-card h1,
.lbo-login-card label {
  color: var(--lbo-text) !important;
}

.lbo-brand strong {
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}

.lbo-brand span {
  color: var(--lbo-accent) !important;
  font-size: 12px !important;
  letter-spacing: 0.18em !important;
}

.lbo-menu {
  gap: 8px !important;
}

.lbo-menu a {
  position: relative;
  display: flex !important;
  align-items: center;
  min-height: 48px;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  color: #d8dde6 !important;
  background: transparent !important;
  border: 1px solid transparent;
  font-weight: 700 !important;
}

.lbo-menu a:hover {
  background: rgba(255,255,255,0.035) !important;
  border-color: var(--lbo-line) !important;
  color: #ffffff !important;
}

.lbo-menu a.active {
  background: rgba(255,255,255,0.045) !important;
  border-color: var(--lbo-line-strong) !important;
  color: #ffffff !important;
  box-shadow: inset 3px 0 0 var(--lbo-accent);
}

.lbo-main {
  padding: 32px 34px !important;
}

.lbo-header {
  margin-bottom: 22px !important;
}

.lbo-header h1 {
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em;
}

.lbo-header p,
.lbo-card p,
.lbo-table small,
.lbo-message,
.lbo-login-card p,
.lbo-shortcode-box {
  color: var(--lbo-muted) !important;
}

.lbo-kpis {
  gap: 16px !important;
}

.lbo-kpi,
.lbo-card,
.lbo-table-wrap,
.lbo-login-card {
  background: linear-gradient(180deg, rgba(23,29,39,0.94), rgba(18,23,32,0.96)) !important;
  border: 1px solid var(--lbo-line) !important;
  border-radius: 20px !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.28) !important;
}

.lbo-kpi span,
.lbo-field label,
.lbo-table th,
.lbo-card code,
.lbo-shortcode-box code,
.lbo-login-card label {
  color: var(--lbo-accent) !important;
}

.lbo-kpi strong {
  margin-top: 10px !important;
  font-size: 34px !important;
}

.lbo-grid {
  gap: 16px !important;
}

.lbo-field input,
.lbo-field textarea,
.lbo-field select,
.lbo-login-card input {
  background: #0d1117 !important;
  border: 1px solid #262d39 !important;
  color: #ffffff !important;
  border-radius: 14px !important;
  min-height: 48px !important;
}

.lbo-field textarea {
  min-height: 120px !important;
}

.lbo-field input:focus,
.lbo-field textarea:focus,
.lbo-field select:focus,
.lbo-login-card input:focus {
  border-color: rgba(215,191,120,0.55) !important;
  box-shadow: 0 0 0 3px rgba(215,191,120,0.12) !important;
}

.lbo-save,
.lbo-login-card button {
  min-height: 50px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: #f7f7f8 !important;
  color: #0d1015 !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 12px 24px rgba(0,0,0,0.18);
}

.lbo-save:hover,
.lbo-login-card button:hover {
  background: #e7d39a !important;
  transform: translateY(-1px);
}

.lbo-alert,
.lbo-message {
  border-radius: 16px !important;
  border: 1px solid var(--lbo-line) !important;
}

.lbo-alert-success {
  background: rgba(32, 40, 31, 0.95) !important;
  border-color: rgba(134, 239, 172, 0.18) !important;
  color: #d9f99d !important;
}

.lbo-alert-error {
  background: rgba(49, 22, 33, 0.95) !important;
  border-color: rgba(215, 191, 120, 0.25) !important;
  color: #ffe4ef !important;
}

.lbo-message {
  background: rgba(255,255,255,0.03) !important;
}

.lbo-table-wrap {
  overflow: hidden !important;
}

.lbo-table {
  background: transparent !important;
}

.lbo-table th,
.lbo-table td {
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}

.lbo-table tbody tr:hover {
  background: rgba(255,255,255,0.02);
}

.lbo-login-page {
  background: radial-gradient(circle at 20% 20%, rgba(215,191,120,0.10), transparent 30%),
              radial-gradient(circle at 80% 15%, rgba(215,191,120,0.08), transparent 24%),
              #090b0e !important;
}

.lbo-checkbox-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px !important;
  margin-top: 16px;
}

.lbo-checkbox-list label {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  background: #0d1117 !important;
  border: 1px solid #262d39 !important;
  min-height: 58px;
  cursor: pointer;
  transition: 0.18s ease;
}

.lbo-checkbox-list label:hover {
  border-color: rgba(215,191,120,0.35) !important;
  background: rgba(255,255,255,0.03) !important;
}

.lbo-checkbox-list input {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--lbo-accent);
}

.lbo-shortcode-box {
  margin-top: 16px;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  border: 1px dashed rgba(215,191,120,0.24) !important;
  background: rgba(255,255,255,0.025) !important;
}

.lbo-shortcode-box strong {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--lbo-muted) !important;
}

.lbo-shortcode-box code {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 12px;
  border-radius: 12px;
  background: #121826 !important;
  border: 1px solid rgba(255,255,255,0.08);
  color: #ffffff !important;
  font-weight: 700;
}

/* =========================================================
   Integracion visual con Leosoftec Gym Booking dentro del portal
========================================================= */
.lbo-portal .lgb-owner-panel,
.lbo-portal .lgb-owner-panel * {
  box-sizing: border-box;
}

.lbo-portal .lgb-tabs {
  gap: 8px !important;
  margin-bottom: 18px !important;
}

.lbo-portal .lgb-tabs a,
.lbo-portal .lgb-btn-mini,
.lbo-portal .lgb-shortcode-link,
.lbo-portal .lgb-shortcode-btn {
  background: #111722 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.lbo-portal .lgb-tabs a.active {
  background: rgba(255,255,255,0.05) !important;
  border-color: rgba(215,191,120,0.28) !important;
  box-shadow: inset 0 0 0 1px rgba(215,191,120,0.08), inset 3px 0 0 var(--lbo-accent) !important;
}

.lbo-portal .lgb-card,
.lbo-portal .lgb-empty,
.lbo-portal .lgb-empty-small {
  background: linear-gradient(180deg, rgba(23,29,39,0.94), rgba(18,23,32,0.96)) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.22) !important;
}

.lbo-portal .lgb-card h3,
.lbo-portal .lgb-table td,
.lbo-portal .lgb-table th,
.lbo-portal .lgb-form label,
.lbo-portal .lgb-person-cell strong,
.lbo-portal .lgb-instructor-public strong,
.lbo-portal .lgb-class-top h3,
.lbo-portal .lgb-featured-class-body h3,
.lbo-portal .lgb-instructor-info h3 {
  color: #ffffff !important;
}

.lbo-portal .lgb-card p,
.lbo-portal .lgb-table small,
.lbo-portal .lgb-empty,
.lbo-portal .lgb-empty-small,
.lbo-portal .lgb-person-cell small,
.lbo-portal .lgb-instructor-public p,
.lbo-portal .lgb-instructor-contact,
.lbo-portal .lgb-simple-class-info p,
.lbo-portal .lgb-featured-class-body p,
.lbo-portal .lgb-instructor-info p {
  color: var(--lbo-muted) !important;
}

.lbo-portal .lgb-form input,
.lbo-portal .lgb-form textarea,
.lbo-portal .lgb-form select,
.lbo-portal .lgb-inline-form select {
  background: #0d1117 !important;
  border: 1px solid #262d39 !important;
  color: #ffffff !important;
  border-radius: 12px !important;
}

.lbo-portal .lgb-form button,
.lbo-portal .lgb-inline-form button,
.lbo-portal .lgb-booking-form button {
  background: #f7f7f8 !important;
  color: #0d1015 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 12px !important;
}

.lbo-portal .lgb-form button:hover,
.lbo-portal .lgb-inline-form button:hover,
.lbo-portal .lgb-booking-form button:hover,
.lbo-portal .lgb-shortcode-link:hover,
.lbo-portal .lgb-shortcode-btn:hover,
.lbo-portal .lgb-btn-mini:hover {
  background: #e7d39a !important;
  color: #0d1015 !important;
}

.lbo-portal .lgb-kpis {
  gap: 14px !important;
}

.lbo-portal .lgb-kpis > div {
  background: linear-gradient(180deg, #171d27 0%, #131923 100%) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  box-shadow: 0 14px 28px rgba(0,0,0,0.20);
}

.lbo-portal .lgb-kpis span,
.lbo-portal .lgb-table th,
.lbo-portal .lgb-status,
.lbo-portal .lgb-featured-meta small,
.lbo-portal .lgb-instructor-info strong,
.lbo-portal .lgb-public-header span,
.lbo-portal .lgb-eyebrow,
.lbo-portal .lgb-class-top strong,
.lbo-portal .lgb-featured-meta strong,
.lbo-portal .lgb-schedule-row strong {
  color: var(--lbo-accent) !important;
}

.lbo-portal .lgb-table th,
.lbo-portal .lgb-table td {
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}

.lbo-portal .lgb-status {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.08);
}

.lbo-portal .lgb-status-confirmed,
.lbo-portal .lgb-status-completed {
  background: rgba(34,197,94,0.14) !important;
  color: #dcfce7 !important;
}

.lbo-portal .lgb-status-cancelled,
.lbo-portal .lgb-status-failed,
.lbo-portal .lgb-status-no_show,
.lbo-portal .lgb-status-refunded {
  background: rgba(215,191,120,0.15) !important;
  color: #ffe4ef !important;
}

@media (max-width: 980px) {
  .lbo-portal {
    grid-template-columns: 1fr !important;
  }
  .lbo-sidebar {
    border-right: 0 !important;
    border-bottom: 1px solid var(--lbo-line) !important;
  }
  .lbo-kpis,
  .lbo-grid {
    grid-template-columns: 1fr !important;
  }
  .lbo-main {
    padding: 22px 16px !important;
  }
}


/* Version 1.8.0 - Configuracion visual de reservas */
.lbo-shortcode-box code + code {
  margin-top: 8px;
  margin-right: 8px;
}

.lbo-field select,
.lbo-field input[type="number"] {
  appearance: auto;
}

/* ===============================
   CORREOS - BUSINESS OWNER
================================ */
.lbo-email-form {
  display: block;
}

.lbo-email-vars {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.lbo-email-vars code,
.lbo-shortcode-box code {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 4px 8px 4px 0;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(215, 191, 120, 0.12);
  border: 1px solid rgba(215, 191, 120, 0.24);
  color: #d7bf78;
  font-weight: 900;
}

.lbo-email-form textarea {
  min-height: 240px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  line-height: 1.55;
}

/* ==========================================================
   LBO - Galeria visual flexible
   ========================================================== */
.lbo-gallery-sections-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.lbo-gallery-section-settings {
  border: 1px solid rgba(215,191,120,.18);
  background: rgba(255,255,255,.03);
  border-radius: 22px;
  padding: 18px;
}
.lbo-gallery-section-settings h3 {
  margin: 0 0 14px;
  color: #f5f7fb;
  font-size: 17px;
}
.lbo-inline-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.lbo-inline-checks label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  color: rgba(232,236,243,.82);
  font-size: 12px;
  font-weight: 800;
}
.lbo-gallery-items-admin {
  display: grid;
  gap: 18px;
}
.lbo-gallery-item-admin {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 18px;
  padding: 16px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.03);
}
.lbo-gallery-admin-preview {
  min-height: 140px;
  border-radius: 18px;
  overflow: hidden;
  background: #080b10;
  border: 1px solid rgba(215,191,120,.18);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(232,236,243,.68);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.lbo-gallery-admin-preview img,
.lbo-gallery-admin-preview video {
  width: 100%;
  height: 100%;
  min-height: 140px;
  object-fit: cover;
  display: block;
}
.lbo-gallery-video-badge {
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(215,191,120,.32);
  color: #d7bf78;
}
.lbo-danger-zone label {
  color: #ffb4b4 !important;
}

/* Public gallery */
.jt-visual-gallery-public {
  --jt-gold: #d7bf78;
  --jt-bg: #050505;
  --jt-panel: #141922;
  --jt-border: rgba(215,191,120,.22);
  color: #e8ecf3;
  width: 100%;
}
.jt-gallery-section {
  padding: 72px 0;
  border-top: 1px solid rgba(215,191,120,.12);
}
.jt-gallery-section:first-child {
  border-top: 0;
}
.jt-gallery-section-head {
  max-width: 760px;
  margin: 0 auto 28px;
  text-align: center;
  padding: 0 18px;
}
.jt-gallery-section-head span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--jt-gold);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.jt-gallery-section-head h2 {
  margin: 12px 0 0;
  color: #f5f7fb;
  font-size: clamp(34px, 5vw, 64px);
  line-height: .96;
  letter-spacing: -.05em;
  text-transform: uppercase;
}
.jt-gallery-section-head p {
  margin: 16px auto 0;
  max-width: 620px;
  color: rgba(232,236,243,.72);
  font-size: 15px;
  line-height: 1.7;
}
.jt-gallery-featured,
.jt-gallery-grid {
  width: min(1180px, calc(100% - 36px));
  margin-left: auto;
  margin-right: auto;
}
.jt-gallery-featured {
  margin-bottom: 22px;
}
.jt-gallery-grid {
  display: grid;
  gap: 22px;
}
.jt-gallery-columns-1 { grid-template-columns: 1fr; }
.jt-gallery-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.jt-gallery-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.jt-gallery-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.jt-gallery-layout-masonry .jt-gallery-grid {
  align-items: start;
}
.jt-gallery-layout-masonry .jt-gallery-item:nth-child(3n+2) .jt-gallery-media {
  aspect-ratio: 4 / 5;
}
.jt-gallery-item {
  overflow: hidden;
  border-radius: 28px;
  background: linear-gradient(180deg, #171d27, #111722);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: 0 18px 50px rgba(0,0,0,.28);
}
.jt-gallery-item-featured {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
  min-height: 420px;
  border-color: rgba(215,191,120,.34);
}
.jt-gallery-media {
  aspect-ratio: 16 / 10;
  background: #080b10;
}
.jt-gallery-item-featured .jt-gallery-media {
  aspect-ratio: auto;
  min-height: 420px;
}
.jt-gallery-media img,
.jt-gallery-media video,
.jt-gallery-media iframe {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border: 0;
}
.jt-gallery-caption {
  padding: 20px 22px 24px;
}
.jt-gallery-item-featured .jt-gallery-caption {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 34px;
}
.jt-gallery-caption h3 {
  margin: 0;
  color: #f5f7fb;
  font-size: 24px;
  line-height: 1.05;
  letter-spacing: -.04em;
}
.jt-gallery-item-featured .jt-gallery-caption h3 {
  font-size: clamp(30px, 4vw, 52px);
}
.jt-gallery-caption p {
  margin: 12px 0 0;
  color: rgba(232,236,243,.72);
  line-height: 1.65;
  font-size: 14px;
}
.jt-gallery-placeholder {
  height: 100%;
  min-height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(232,236,243,.6);
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

@media (max-width: 1024px) {
  .lbo-gallery-sections-grid { grid-template-columns: 1fr; }
  .lbo-gallery-item-admin { grid-template-columns: 1fr; }
  .jt-gallery-columns-4,
  .jt-gallery-columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jt-gallery-item-featured { grid-template-columns: 1fr; }
  .jt-gallery-item-featured .jt-gallery-media { min-height: 320px; aspect-ratio: 16 / 10; }
}
@media (max-width: 720px) {
  .jt-gallery-section { padding: 54px 0; }
  .jt-gallery-grid,
  .jt-gallery-columns-4,
  .jt-gallery-columns-3,
  .jt-gallery-columns-2 { grid-template-columns: 1fr; }
  .jt-gallery-item { border-radius: 22px; }
  .jt-gallery-caption { padding: 18px; }
  .jt-gallery-section-head h2 { font-size: 34px; }
  .jt-gallery-item-featured .jt-gallery-media { min-height: 240px; }
}

/* ==========================================================
   LBO Gallery Admin - intuitive version
   ========================================================== */
.lbo-gallery-header-v2 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.lbo-shortcode-pill {
  background: rgba(215,191,120,.10);
  border: 1px solid rgba(215,191,120,.25);
  color: #d7bf78;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 800;
  white-space: nowrap;
}

.lbo-gallery-wizard {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}

.lbo-gallery-step {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
  color: #e8ecf3;
}

.lbo-gallery-step strong {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #d7bf78;
  color: #050505;
  font-weight: 900;
}

.lbo-gallery-step span {
  font-weight: 850;
  font-size: 13px;
}

.lbo-card-head-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.lbo-card-head-row h2,
.lbo-card-head-row p {
  margin-top: 0;
}

.lbo-secondary-link,
.lbo-secondary-button {
  border: 1px solid rgba(215,191,120,.32);
  background: rgba(215,191,120,.08);
  color: #d7bf78 !important;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 900;
  font-size: 12px;
  text-decoration: none !important;
  letter-spacing: .04em;
  cursor: pointer;
}

.lbo-secondary-button:hover,
.lbo-secondary-link:hover {
  background: rgba(215,191,120,.16);
}

.lbo-gallery-section-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.lbo-gallery-section-tab {
  text-align: left;
  cursor: pointer;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: #e8ecf3;
  border-radius: 20px;
  padding: 16px;
  transition: .2s ease;
}

.lbo-gallery-section-tab span,
.lbo-gallery-section-tab small {
  display: block;
}

.lbo-gallery-section-tab span {
  font-weight: 950;
  font-size: 15px;
  margin-bottom: 6px;
}

.lbo-gallery-section-tab small {
  color: #aeb6c6;
  font-weight: 800;
}

.lbo-gallery-section-tab.is-active {
  border-color: rgba(215,191,120,.58);
  background: linear-gradient(135deg, rgba(215,191,120,.15), rgba(255,255,255,.045));
  box-shadow: 0 16px 35px rgba(0,0,0,.22);
}

.lbo-gallery-add-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.lbo-gallery-type-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.lbo-gallery-type-choices label {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: #e8ecf3;
  border-radius: 999px;
  padding: 10px 14px;
  cursor: pointer;
  font-weight: 900;
  font-size: 12px;
}

.lbo-gallery-type-choices label.is-active {
  border-color: rgba(215,191,120,.62);
  background: rgba(215,191,120,.14);
  color: #f4e4a3;
}

.lbo-gallery-type-choices input {
  accent-color: #d7bf78;
}

.lbo-gallery-admin-sections {
  margin-top: 14px;
}

.lbo-gallery-admin-section {
  display: none;
}

.lbo-gallery-admin-section.is-active {
  display: block;
}

.lbo-gallery-admin-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 0 18px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  margin-bottom: 18px;
}

.lbo-gallery-admin-section-head h3,
.lbo-gallery-admin-section-head p {
  margin-top: 0;
}

.lbo-gallery-items-admin-v2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.lbo-gallery-item-card-v2 {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 18px;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  padding: 14px;
}

.lbo-gallery-item-card-v2 .lbo-gallery-admin-preview {
  width: 100%;
  height: 170px;
  border-radius: 16px;
}

.lbo-gallery-item-title-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.lbo-gallery-item-title-row strong {
  color: #f5f7fb;
  font-size: 16px;
}

.lbo-gallery-item-title-row span {
  font-size: 11px;
  border-radius: 999px;
  background: rgba(215,191,120,.12);
  color: #d7bf78;
  border: 1px solid rgba(215,191,120,.25);
  padding: 6px 9px;
  font-weight: 900;
  white-space: nowrap;
}

.lbo-grid-compact {
  gap: 12px;
}

.lbo-gallery-technical-details {
  margin-top: 12px;
  border: 1px dashed rgba(255,255,255,.13);
  border-radius: 16px;
  padding: 12px;
}

.lbo-gallery-technical-details summary,
.lbo-advanced-details summary {
  cursor: pointer;
  color: #d7bf78;
  font-weight: 950;
  letter-spacing: .04em;
}

.lbo-delete-line {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  color: #ff9d9d;
  font-weight: 850;
}

.lbo-save-small {
  padding: 11px 16px !important;
  font-size: 12px !important;
}

.lbo-advanced-details {
  background: rgba(255,255,255,.025);
  border-radius: 18px;
  padding: 16px;
}

@media (max-width: 900px) {
  .lbo-gallery-header-v2,
  .lbo-card-head-row,
  .lbo-gallery-admin-section-head {
    flex-direction: column;
  }

  .lbo-gallery-wizard,
  .lbo-gallery-section-tabs,
  .lbo-gallery-add-grid {
    grid-template-columns: 1fr;
  }

  .lbo-gallery-item-card-v2 {
    grid-template-columns: 1fr;
  }

  .lbo-gallery-item-card-v2 .lbo-gallery-admin-preview {
    height: 220px;
  }
}


/* =========================================================
   LEOSOFTEC BUSINESS OWNER - FORM CONTROLS POLISH 1.12.1
   Modern radio, checkbox and file inputs across the portal
========================================================= */

/* Prevent the generic text input style from breaking radios/checkboxes */
.lbo-portal input[type="radio"],
.lbo-portal input[type="checkbox"],
.lbo-standalone-body input[type="radio"],
.lbo-standalone-body input[type="checkbox"] {
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  flex: 0 0 18px !important;
  cursor: pointer !important;
  accent-color: #d7bf78 !important;
}

.lbo-portal input[type="checkbox"],
.lbo-standalone-body input[type="checkbox"] {
  border-radius: 6px !important;
}

/* Modern option chips: radios */
.lbo-gallery-type-choices {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: stretch !important;
}

.lbo-gallery-type-choices label {
  min-height: 54px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 11px !important;
  padding: 12px 16px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(13,17,23,.86) !important;
  color: #e8ecf3 !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  line-height: 1.25 !important;
  cursor: pointer !important;
  transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

.lbo-gallery-type-choices label:hover {
  border-color: rgba(215,191,120,.42) !important;
  background: rgba(255,255,255,.055) !important;
  transform: translateY(-1px) !important;
}

.lbo-gallery-type-choices label.is-active,
.lbo-gallery-type-choices label:has(input:checked) {
  border-color: rgba(215,191,120,.66) !important;
  background: linear-gradient(135deg, rgba(215,191,120,.16), rgba(255,255,255,.045)) !important;
  color: #f5e5aa !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.22) !important;
}

.lbo-gallery-type-choices input[type="radio"] {
  position: relative !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 2px solid rgba(232,236,243,.55) !important;
  background: rgba(5,5,5,.7) !important;
}

.lbo-gallery-type-choices input[type="radio"]::after {
  content: "" !important;
  position: absolute !important;
  inset: 3px !important;
  border-radius: 50% !important;
  background: #d7bf78 !important;
  transform: scale(0) !important;
  transition: transform .16s ease !important;
}

.lbo-gallery-type-choices input[type="radio"]:checked {
  border-color: #d7bf78 !important;
  background: rgba(215,191,120,.12) !important;
}

.lbo-gallery-type-choices input[type="radio"]:checked::after {
  transform: scale(1) !important;
}

/* Modern checkbox groups used across settings */
.lbo-checkbox-list label,
.lbo-inline-checks label,
.lbo-delete-line {
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
}

.lbo-inline-checks {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.lbo-inline-checks label,
.lbo-delete-line {
  min-height: 46px !important;
  padding: 11px 14px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 16px !important;
  background: rgba(13,17,23,.78) !important;
  color: #e8ecf3 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

.lbo-inline-checks label:hover,
.lbo-delete-line:hover {
  border-color: rgba(215,191,120,.42) !important;
  background: rgba(255,255,255,.045) !important;
}

.lbo-inline-checks input[type="checkbox"],
.lbo-delete-line input[type="checkbox"],
.lbo-checkbox-list input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative !important;
  border: 2px solid rgba(232,236,243,.46) !important;
  background: rgba(5,5,5,.65) !important;
}

.lbo-inline-checks input[type="checkbox"]::after,
.lbo-delete-line input[type="checkbox"]::after,
.lbo-checkbox-list input[type="checkbox"]::after {
  content: "" !important;
  position: absolute !important;
  left: 4px !important;
  top: 1px !important;
  width: 6px !important;
  height: 10px !important;
  border: solid #050505 !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) scale(0) !important;
  transition: transform .15s ease !important;
}

.lbo-inline-checks input[type="checkbox"]:checked,
.lbo-delete-line input[type="checkbox"]:checked,
.lbo-checkbox-list input[type="checkbox"]:checked {
  background: #d7bf78 !important;
  border-color: #d7bf78 !important;
}

.lbo-inline-checks input[type="checkbox"]:checked::after,
.lbo-delete-line input[type="checkbox"]:checked::after,
.lbo-checkbox-list input[type="checkbox"]:checked::after {
  transform: rotate(45deg) scale(1) !important;
}

/* Modern file inputs */
.lbo-field input[type="file"],
.lbo-portal input[type="file"],
.lbo-standalone-body input[type="file"] {
  width: 100% !important;
  min-height: 62px !important;
  padding: 10px !important;
  border-radius: 18px !important;
  border: 1px dashed rgba(215,191,120,.34) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(215,191,120,.10), transparent 24%),
    rgba(13,17,23,.86) !important;
  color: #aeb6c6 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.lbo-field input[type="file"]:hover,
.lbo-portal input[type="file"]:hover,
.lbo-standalone-body input[type="file"]:hover {
  border-color: rgba(215,191,120,.62) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(215,191,120,.14), transparent 25%),
    rgba(255,255,255,.045) !important;
}

.lbo-field input[type="file"]:focus,
.lbo-portal input[type="file"]:focus,
.lbo-standalone-body input[type="file"]:focus {
  outline: none !important;
  border-color: rgba(215,191,120,.72) !important;
  box-shadow: 0 0 0 3px rgba(215,191,120,.12) !important;
}

.lbo-field input[type="file"]::file-selector-button,
.lbo-portal input[type="file"]::file-selector-button,
.lbo-standalone-body input[type="file"]::file-selector-button {
  min-height: 40px !important;
  margin-right: 14px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f5f7fb !important;
  color: #0d1015 !important;
  font-weight: 950 !important;
  letter-spacing: .02em !important;
  cursor: pointer !important;
}

.lbo-field input[type="file"]::-webkit-file-upload-button,
.lbo-portal input[type="file"]::-webkit-file-upload-button,
.lbo-standalone-body input[type="file"]::-webkit-file-upload-button {
  min-height: 40px !important;
  margin-right: 14px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f5f7fb !important;
  color: #0d1015 !important;
  font-weight: 950 !important;
  letter-spacing: .02em !important;
  cursor: pointer !important;
}

.lbo-gallery-upload-field {
  padding: 18px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.025) !important;
}

.lbo-gallery-upload-field small,
.lbo-field small {
  display: block !important;
  margin-top: 8px !important;
  color: #aeb6c6 !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.45 !important;
}

.lbo-gallery-url-field input[type="url"] {
  padding-left: 16px !important;
}

/* Mobile form controls */
@media (max-width: 700px) {
  .lbo-gallery-type-choices {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .lbo-gallery-type-choices label,
  .lbo-inline-checks label,
  .lbo-delete-line {
    width: 100% !important;
  }

  .lbo-field input[type="file"],
  .lbo-portal input[type="file"],
  .lbo-standalone-body input[type="file"] {
    min-height: 58px !important;
    font-size: 12px !important;
  }
}


/* =========================================
   LBO 1.12.2 - Galería pública: títulos legibles
   Corrige títulos opacos por herencia del tema/página.
========================================= */
.jt-visual-gallery-public .jt-gallery-caption h3,
.jt-gallery-page .jt-visual-gallery-public .jt-gallery-caption h3,
body .jt-visual-gallery-public .jt-gallery-caption h3 {
  color: #f5f7fb !important;
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-text-fill-color: #f5f7fb !important;
  -webkit-text-stroke: 0 transparent !important;
  text-stroke: 0 transparent !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45) !important;
}

.jt-visual-gallery-public .jt-gallery-item-featured .jt-gallery-caption h3,
.jt-gallery-page .jt-visual-gallery-public .jt-gallery-item-featured .jt-gallery-caption h3,
body .jt-visual-gallery-public .jt-gallery-item-featured .jt-gallery-caption h3 {
  color: #f5f7fb !important;
  -webkit-text-fill-color: #f5f7fb !important;
}

.jt-visual-gallery-public .jt-gallery-caption p,
.jt-gallery-page .jt-visual-gallery-public .jt-gallery-caption p,
body .jt-visual-gallery-public .jt-gallery-caption p {
  color: rgba(232, 236, 243, 0.82) !important;
  opacity: 1 !important;
}

.jt-visual-gallery-public .jt-gallery-caption {
  position: relative;
  z-index: 2;
  background: linear-gradient(180deg, rgba(20,25,34,0.98), rgba(13,17,24,0.98));
}

.jt-visual-gallery-public .jt-gallery-item-featured .jt-gallery-caption {
  background: linear-gradient(90deg, rgba(20,25,34,0.96), rgba(13,17,24,0.98));
}

/* =========================================
   LBO 1.12.3 - Portal administrativo profesional
   Limpia duplicidades visuales, mejora selects y controles.
========================================= */
:root {
  --lbo-bg: #050608;
  --lbo-panel: #10151d;
  --lbo-panel-2: #151b25;
  --lbo-line: rgba(255,255,255,.09);
  --lbo-line-2: rgba(215,191,120,.24);
  --lbo-text: #f4f6fb;
  --lbo-muted: #aeb7c6;
  --lbo-accent: #d7bf78;
  --lbo-accent-2: #ead68f;
}

.lbo-standalone-body,
.lbo-standalone-shell {
  background: var(--lbo-bg) !important;
}

.lbo-standalone-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
  background: rgba(5,6,8,.88) !important;
  border-bottom: 1px solid var(--lbo-line) !important;
  backdrop-filter: blur(14px) !important;
}

.lbo-standalone-header-inner {
  max-width: 1440px !important;
  padding: 16px 28px !important;
}

.lbo-standalone-logo img {
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(215,191,120,.28) !important;
}

.lbo-standalone-logo strong,
.lbo-brand strong {
  color: var(--lbo-text) !important;
  letter-spacing: -.02em !important;
}

.lbo-standalone-logo small,
.lbo-brand span {
  color: var(--lbo-accent) !important;
  letter-spacing: .18em !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}

.lbo-standalone-header-actions a {
  border-radius: 999px !important;
  border: 1px solid rgba(215,191,120,.34) !important;
  background: rgba(255,255,255,.025) !important;
  color: var(--lbo-text) !important;
  padding: 11px 18px !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}

.lbo-standalone-content {
  padding: 0 !important;
}

.lbo-portal {
  min-height: calc(100vh - 82px) !important;
  grid-template-columns: 280px minmax(0, 1fr) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(215,191,120,.08), transparent 26%),
    linear-gradient(135deg, #050608 0%, #080b10 45%, #050608 100%) !important;
  color: var(--lbo-text) !important;
  font-family: Inter, Arial, Helvetica, sans-serif !important;
}

.lbo-sidebar {
  position: sticky !important;
  top: 82px !important;
  height: calc(100vh - 82px) !important;
  background: rgba(9,12,17,.84) !important;
  border-right: 1px solid var(--lbo-line) !important;
  padding: 30px 22px !important;
  backdrop-filter: blur(14px) !important;
}

.lbo-brand {
  padding-bottom: 24px !important;
  margin-bottom: 24px !important;
  border-bottom: 1px solid var(--lbo-line) !important;
}

.lbo-brand strong {
  font-size: 28px !important;
}

.lbo-menu {
  gap: 6px !important;
}

.lbo-menu a {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 48px !important;
  padding: 13px 15px !important;
  border-radius: 14px !important;
  color: #c8ced9 !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  font-weight: 850 !important;
}

.lbo-menu a:hover {
  color: var(--lbo-text) !important;
  background: rgba(255,255,255,.045) !important;
  border-color: var(--lbo-line) !important;
}

.lbo-menu a.active {
  color: var(--lbo-text) !important;
  background: linear-gradient(135deg, rgba(215,191,120,.16), rgba(255,255,255,.035)) !important;
  border-color: rgba(215,191,120,.42) !important;
  box-shadow: inset 3px 0 0 var(--lbo-accent) !important;
}

.lbo-main {
  max-width: 1240px !important;
  width: 100% !important;
  padding: 38px 34px 56px !important;
}

.lbo-header,
.lbo-gallery-header-v2 {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 22px !important;
  margin-bottom: 26px !important;
}

.lbo-header h1,
.lbo-gallery-header-v2 h1 {
  font-size: clamp(34px, 4vw, 48px) !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
  color: var(--lbo-text) !important;
}

.lbo-header p,
.lbo-card p,
.lbo-gallery-header-v2 p,
.lbo-card-head-row p {
  color: var(--lbo-muted) !important;
  line-height: 1.65 !important;
}

.lbo-card,
.lbo-kpi {
  background:
    radial-gradient(circle at 100% 0%, rgba(255,255,255,.035), transparent 28%),
    linear-gradient(180deg, rgba(21,27,37,.96), rgba(14,18,25,.96)) !important;
  border: 1px solid var(--lbo-line) !important;
  border-radius: 24px !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.22) !important;
}

.lbo-card h2 {
  font-size: clamp(26px, 3vw, 40px) !important;
  letter-spacing: -.045em !important;
  color: var(--lbo-text) !important;
}

.lbo-card h3,
.lbo-gallery-admin-section-head h3,
.lbo-gallery-item-title-row strong {
  color: var(--lbo-text) !important;
}

.lbo-shortcode-pill,
.lbo-shortcode-box code {
  border: 1px solid rgba(215,191,120,.34) !important;
  background: rgba(215,191,120,.08) !important;
  color: var(--lbo-accent-2) !important;
  border-radius: 999px !important;
}

.lbo-gallery-wizard {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-bottom: 18px !important;
}

.lbo-gallery-step {
  background: rgba(255,255,255,.035) !important;
  border: 1px solid var(--lbo-line) !important;
  border-radius: 18px !important;
  padding: 14px 16px !important;
}

.lbo-gallery-step strong {
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  background: var(--lbo-accent) !important;
  color: #080b10 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-right: 12px !important;
}

.lbo-gallery-section-tabs {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.lbo-gallery-section-tab {
  min-height: 92px !important;
  padding: 20px 18px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.035) !important;
  border: 1px solid var(--lbo-line) !important;
  color: var(--lbo-text) !important;
  text-align: left !important;
  transition: .18s ease !important;
}

.lbo-gallery-section-tab:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(215,191,120,.32) !important;
  background: rgba(255,255,255,.055) !important;
}

.lbo-gallery-section-tab.is-active {
  background: linear-gradient(135deg, rgba(215,191,120,.15), rgba(255,255,255,.04)) !important;
  border-color: rgba(215,191,120,.58) !important;
}

.lbo-gallery-section-tab span {
  display: block !important;
  color: var(--lbo-text) !important;
  font-size: 16px !important;
  font-weight: 950 !important;
}

.lbo-gallery-section-tab small {
  display: block !important;
  margin-top: 8px !important;
  color: var(--lbo-muted) !important;
  font-weight: 800 !important;
}

.lbo-field label {
  color: var(--lbo-accent) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .02em !important;
}

.lbo-field input,
.lbo-field textarea,
.lbo-login-card input {
  background: #080c12 !important;
  border: 1px solid #242b37 !important;
  color: var(--lbo-text) !important;
  border-radius: 15px !important;
  min-height: 50px !important;
}

.lbo-field select,
.lbo-portal select,
.lbo-standalone-body select,
.lbo-portal .lgb-form select,
.lbo-portal .lgb-inline-form select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  width: 100% !important;
  min-height: 50px !important;
  padding: 0 46px 0 16px !important;
  border-radius: 15px !important;
  border: 1px solid #242b37 !important;
  background-color: #080c12 !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #d7bf78 50%),
    linear-gradient(135deg, #d7bf78 50%, transparent 50%),
    linear-gradient(180deg, rgba(215,191,120,.12), rgba(215,191,120,.04)) !important;
  background-position:
    calc(100% - 24px) 50%,
    calc(100% - 17px) 50%,
    100% 0 !important;
  background-size:
    7px 7px,
    7px 7px,
    42px 100% !important;
  background-repeat: no-repeat !important;
  color: var(--lbo-text) !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
}

.lbo-field select:hover,
.lbo-portal select:hover,
.lbo-standalone-body select:hover {
  border-color: rgba(215,191,120,.45) !important;
}

.lbo-field select:focus,
.lbo-portal select:focus,
.lbo-standalone-body select:focus {
  outline: none !important;
  border-color: rgba(215,191,120,.68) !important;
  box-shadow: 0 0 0 3px rgba(215,191,120,.12) !important;
}

.lbo-field select option,
.lbo-portal select option,
.lbo-standalone-body select option {
  background: #0b0f16 !important;
  color: var(--lbo-text) !important;
}

.lbo-gallery-type-choices {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.lbo-gallery-type-choices label {
  min-height: 54px !important;
  padding: 0 18px !important;
  border-radius: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: rgba(255,255,255,.035) !important;
  border: 1px solid var(--lbo-line) !important;
  color: var(--lbo-text) !important;
  font-weight: 900 !important;
}

.lbo-gallery-type-choices label.is-active {
  background: rgba(215,191,120,.12) !important;
  border-color: rgba(215,191,120,.58) !important;
  color: var(--lbo-accent-2) !important;
}

.lbo-gallery-type-choices input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  flex: 0 0 18px !important;
}

.lbo-save {
  background: linear-gradient(135deg, #f5f7fb, #e7d39a) !important;
  color: #080b10 !important;
  border: 0 !important;
}

.lbo-secondary-button,
.lbo-secondary-link {
  border: 1px solid rgba(215,191,120,.34) !important;
  background: rgba(215,191,120,.08) !important;
  color: var(--lbo-accent-2) !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  font-weight: 900 !important;
}

@media (max-width: 980px) {
  .lbo-portal {
    grid-template-columns: 1fr !important;
  }
  .lbo-sidebar {
    position: static !important;
    height: auto !important;
  }
  .lbo-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .lbo-main {
    padding: 26px 16px 42px !important;
  }
  .lbo-gallery-wizard,
  .lbo-gallery-section-tabs {
    grid-template-columns: 1fr !important;
  }
  .lbo-header,
  .lbo-gallery-header-v2 {
    display: block !important;
  }
}

@media (max-width: 640px) {
  .lbo-standalone-header-inner {
    padding: 12px 14px !important;
  }
  .lbo-standalone-header-actions {
    gap: 8px !important;
  }
  .lbo-standalone-header-actions a {
    padding: 9px 12px !important;
    font-size: 12px !important;
  }
  .lbo-menu {
    grid-template-columns: 1fr !important;
  }
  .lbo-card {
    padding: 18px !important;
    border-radius: 20px !important;
  }
}


/* =========================================
   LBO 1.12.4 - Layout administrativo fijo y UI más sobria
   Header fijo, sidebar fijo y contenido derecho con scroll interno.
========================================= */
:root {
  --lbo-admin-header-h: 74px;
  --lbo-admin-sidebar-w: 260px;
  --lbo-admin-bg: #07090d;
  --lbo-admin-panel: #111821;
  --lbo-admin-panel-soft: #151c26;
  --lbo-admin-line: rgba(255,255,255,.085);
  --lbo-admin-line-strong: rgba(215,191,120,.28);
  --lbo-admin-text: #f3f5f8;
  --lbo-admin-muted: #a9b2c0;
  --lbo-admin-accent: #d7bf78;
}

@media (min-width: 981px) {
  html:has(body.lbo-standalone-body),
  body.lbo-standalone-body {
    height: 100% !important;
    overflow: hidden !important;
  }

  .lbo-standalone-shell {
    height: 100vh !important;
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: var(--lbo-admin-bg) !important;
  }

  .lbo-standalone-header {
    flex: 0 0 var(--lbo-admin-header-h) !important;
    height: var(--lbo-admin-header-h) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    background: rgba(5, 6, 8, .96) !important;
    border-bottom: 1px solid var(--lbo-admin-line) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.28) !important;
  }

  .lbo-standalone-header-inner {
    width: 100% !important;
    max-width: none !important;
    min-height: var(--lbo-admin-header-h) !important;
    height: var(--lbo-admin-header-h) !important;
    padding: 0 28px !important;
  }

  .lbo-standalone-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: calc(100vh - var(--lbo-admin-header-h)) !important;
    overflow: hidden !important;
  }

  .lbo-standalone-content .lbo-portal {
    height: calc(100vh - var(--lbo-admin-header-h)) !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: var(--lbo-admin-sidebar-w) minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  .lbo-sidebar {
    position: sticky !important;
    top: 0 !important;
    height: calc(100vh - var(--lbo-admin-header-h)) !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 26px 20px !important;
    background: #080b10 !important;
    border-right: 1px solid var(--lbo-admin-line) !important;
  }

  .lbo-main {
    height: calc(100vh - var(--lbo-admin-header-h)) !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    max-width: none !important;
    padding: 30px 34px 48px !important;
    scroll-behavior: smooth !important;
  }

  .lbo-standalone-footer {
    display: none !important;
  }
}

/* Marca y header más administrativos */
.lbo-standalone-logo img {
  width: 42px !important;
  height: 42px !important;
  border-radius: 10px !important;
  padding: 4px !important;
}

.lbo-standalone-logo strong {
  font-size: 16px !important;
  letter-spacing: -.015em !important;
}

.lbo-standalone-logo small {
  font-size: 10px !important;
  letter-spacing: .16em !important;
}

.lbo-standalone-header-actions a {
  min-height: 38px !important;
  padding: 9px 16px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(215,191,120,.24) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

/* Sidebar sobrio */
.lbo-brand {
  padding-bottom: 18px !important;
  margin-bottom: 18px !important;
}

.lbo-brand strong {
  font-size: 24px !important;
  letter-spacing: -.035em !important;
}

.lbo-brand span {
  margin-top: 8px !important;
  font-size: 11px !important;
  letter-spacing: .20em !important;
}

.lbo-menu {
  gap: 4px !important;
}

.lbo-menu a {
  min-height: 42px !important;
  padding: 10px 14px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 760 !important;
  color: #c3cad6 !important;
  box-shadow: none !important;
}

.lbo-menu a.active {
  background: rgba(215,191,120,.11) !important;
  border-color: rgba(215,191,120,.34) !important;
  box-shadow: inset 3px 0 0 var(--lbo-admin-accent) !important;
}

/* Tipografía y tarjetas menos pesadas */
.lbo-header,
.lbo-gallery-header-v2 {
  margin-bottom: 22px !important;
}

.lbo-header h1,
.lbo-gallery-header-v2 h1 {
  font-size: clamp(30px, 3vw, 40px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.045em !important;
  margin-bottom: 8px !important;
}

.lbo-header p,
.lbo-gallery-header-v2 p {
  font-size: 14px !important;
  line-height: 1.55 !important;
  max-width: 860px !important;
}

.lbo-card,
.lbo-kpi,
.lbo-table-wrap,
.lbo-login-card {
  border-radius: 16px !important;
  padding: 22px 24px !important;
  background: linear-gradient(180deg, rgba(18,24,33,.96), rgba(12,16,23,.96)) !important;
  border: 1px solid var(--lbo-admin-line) !important;
  box-shadow: 0 16px 44px rgba(0,0,0,.18) !important;
}

.lbo-card {
  margin-bottom: 18px !important;
}

.lbo-card h2 {
  font-size: clamp(24px, 2.4vw, 32px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.04em !important;
  margin-bottom: 12px !important;
}

.lbo-card h3 {
  font-size: 18px !important;
}

.lbo-kpis {
  gap: 14px !important;
}

.lbo-kpi span {
  font-size: 11px !important;
  letter-spacing: .12em !important;
}

.lbo-kpi strong {
  font-size: 30px !important;
}

/* Wizard más compacto */
.lbo-gallery-wizard {
  gap: 10px !important;
  margin-bottom: 16px !important;
}

.lbo-gallery-step {
  min-height: 54px !important;
  padding: 11px 14px !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,.028) !important;
}

.lbo-gallery-step strong {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  font-size: 13px !important;
}

.lbo-gallery-step span {
  font-size: 12px !important;
  font-weight: 800 !important;
}

.lbo-shortcode-pill {
  border-radius: 12px !important;
  padding: 9px 13px !important;
  font-size: 12px !important;
}

/* Secciones de galería tipo cards administrativas */
.lbo-gallery-section-tabs {
  gap: 12px !important;
}

.lbo-gallery-section-tab {
  min-height: 78px !important;
  padding: 16px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.026) !important;
  box-shadow: none !important;
}

.lbo-gallery-section-tab:hover {
  transform: none !important;
}

.lbo-gallery-section-tab span {
  font-size: 14px !important;
  line-height: 1.2 !important;
}

.lbo-gallery-section-tab small {
  margin-top: 7px !important;
  font-size: 12px !important;
}

/* Formularios más propios de un panel administrativo */
.lbo-grid,
.lbo-gallery-add-grid,
.lbo-grid-compact {
  gap: 14px !important;
}

.lbo-field label {
  margin-bottom: 7px !important;
  font-size: 11px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

.lbo-field input,
.lbo-field textarea,
.lbo-login-card input {
  min-height: 44px !important;
  border-radius: 10px !important;
  padding: 10px 13px !important;
  background: #090d13 !important;
  border-color: #232a35 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.lbo-field textarea {
  min-height: 96px !important;
}

.lbo-field select,
.lbo-portal select,
.lbo-standalone-body select,
.lbo-portal .lgb-form select,
.lbo-portal .lgb-inline-form select {
  min-height: 44px !important;
  height: 44px !important;
  border-radius: 10px !important;
  padding: 0 42px 0 13px !important;
  background-color: #090d13 !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #d7bf78 50%),
    linear-gradient(135deg, #d7bf78 50%, transparent 50%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)) !important;
  background-position:
    calc(100% - 22px) 50%,
    calc(100% - 16px) 50%,
    100% 0 !important;
  background-size: 6px 6px, 6px 6px, 38px 100% !important;
  border-color: #232a35 !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

.lbo-field select:hover,
.lbo-portal select:hover,
.lbo-standalone-body select:hover {
  background-color: #0b1017 !important;
}

/* Radios/chips más finos */
.lbo-gallery-type-choices {
  gap: 10px !important;
}

.lbo-gallery-type-choices label,
.lbo-inline-checks label,
.lbo-delete-line {
  min-height: 42px !important;
  border-radius: 12px !important;
  padding: 10px 13px !important;
  font-size: 13px !important;
  font-weight: 760 !important;
  background: rgba(255,255,255,.025) !important;
}

.lbo-gallery-type-choices input[type="radio"],
.lbo-portal input[type="checkbox"],
.lbo-portal input[type="radio"] {
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  max-height: 16px !important;
  flex-basis: 16px !important;
}

/* Inputs de archivo más discretos */
.lbo-field input[type="file"],
.lbo-portal input[type="file"],
.lbo-standalone-body input[type="file"] {
  min-height: 54px !important;
  border-radius: 12px !important;
  border-style: solid !important;
  background: rgba(9,13,19,.96) !important;
  font-size: 12px !important;
}

.lbo-field input[type="file"]::file-selector-button,
.lbo-portal input[type="file"]::file-selector-button,
.lbo-standalone-body input[type="file"]::file-selector-button,
.lbo-field input[type="file"]::-webkit-file-upload-button,
.lbo-portal input[type="file"]::-webkit-file-upload-button,
.lbo-standalone-body input[type="file"]::-webkit-file-upload-button {
  min-height: 34px !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  background: #e7d39a !important;
  font-size: 12px !important;
}

/* Botones menos grotescos */
.lbo-save,
.lbo-login-card button {
  min-height: 44px !important;
  padding: 11px 20px !important;
  border-radius: 12px !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: .06em !important;
  box-shadow: none !important;
}

.lbo-secondary-button,
.lbo-secondary-link {
  border-radius: 12px !important;
  padding: 9px 12px !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

/* Tablas/listados más compactos */
.lbo-table th,
.lbo-table td {
  padding: 12px 14px !important;
}

.lbo-gallery-item-card-v2 {
  grid-template-columns: 190px minmax(0,1fr) !important;
  border-radius: 14px !important;
  padding: 12px !important;
  gap: 14px !important;
  background: rgba(255,255,255,.026) !important;
}

.lbo-gallery-item-card-v2 .lbo-gallery-admin-preview {
  height: 140px !important;
  border-radius: 12px !important;
}

.lbo-gallery-item-title-row strong {
  font-size: 14px !important;
}

.lbo-gallery-item-title-row span {
  font-size: 10px !important;
  border-radius: 10px !important;
}

/* Scrollbars discretos del panel */
.lbo-main::-webkit-scrollbar,
.lbo-sidebar::-webkit-scrollbar {
  width: 10px;
}

.lbo-main::-webkit-scrollbar-track,
.lbo-sidebar::-webkit-scrollbar-track {
  background: rgba(255,255,255,.025);
}

.lbo-main::-webkit-scrollbar-thumb,
.lbo-sidebar::-webkit-scrollbar-thumb {
  background: rgba(215,191,120,.24);
  border: 3px solid rgba(5,6,8,.96);
  border-radius: 999px;
}

@media (max-width: 980px) {
  body.lbo-standalone-body {
    overflow: auto !important;
  }
  .lbo-standalone-shell,
  .lbo-standalone-content,
  .lbo-standalone-content .lbo-portal,
  .lbo-main,
  .lbo-sidebar {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  .lbo-standalone-footer {
    display: none !important;
  }
}


/* =========================================
   LBO 1.12.5 - Paleta administrativa neutra
   Sin rosa. Menos saturación, más sensación de software administrativo.
========================================= */
:root {
  --lbo-admin-bg: #07090c;
  --lbo-admin-surface: #0d1117;
  --lbo-admin-surface-2: #11161d;
  --lbo-admin-surface-3: #151b23;
  --lbo-admin-border: rgba(226, 232, 240, .09);
  --lbo-admin-border-strong: rgba(215, 191, 120, .22);
  --lbo-admin-text: #f3f5f8;
  --lbo-admin-muted: #a7afbb;
  --lbo-admin-muted-2: #7f8896;
  --lbo-admin-accent: #d7bf78;
  --lbo-admin-accent-soft: rgba(215, 191, 120, .10);
  --lbo-admin-danger: #e07a7a;
  --lbo-admin-success: #8fb996;
}

.lbo-standalone-body,
.lbo-standalone-shell,
.lbo-portal {
  background: var(--lbo-admin-bg) !important;
  color: var(--lbo-admin-text) !important;
}

.lbo-portal {
  --lbo-bg: var(--lbo-admin-bg) !important;
  --lbo-bg-soft: var(--lbo-admin-surface) !important;
  --lbo-panel: var(--lbo-admin-surface-2) !important;
  --lbo-panel-2: var(--lbo-admin-surface-3) !important;
  --lbo-line: var(--lbo-admin-border) !important;
  --lbo-line-strong: var(--lbo-admin-border-strong) !important;
  --lbo-text: var(--lbo-admin-text) !important;
  --lbo-muted: var(--lbo-admin-muted) !important;
  --lbo-accent: var(--lbo-admin-accent) !important;
  --lbo-accent-2: #cbb66f !important;
  background:
    linear-gradient(180deg, #07090c 0%, #090d12 100%) !important;
}

.lbo-standalone-header {
  background: rgba(7, 9, 12, .98) !important;
  border-bottom: 1px solid var(--lbo-admin-border) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.18) !important;
}

.lbo-sidebar {
  background: #080b0f !important;
  border-right: 1px solid var(--lbo-admin-border) !important;
}

.lbo-main {
  background:
    radial-gradient(circle at 0% 0%, rgba(215,191,120,.035), transparent 28%),
    linear-gradient(180deg, #090d12 0%, #07090c 100%) !important;
}

.lbo-card,
.lbo-kpi,
.lbo-table-wrap,
.lbo-login-card,
.lbo-gallery-step,
.lbo-gallery-section-tab,
.lbo-gallery-item-card-v2,
.lbo-gallery-section-settings,
.lbo-gallery-upload-field,
.lbo-advanced-details,
.lbo-gallery-technical-details {
  background: linear-gradient(180deg, rgba(17,22,29,.98), rgba(13,17,23,.98)) !important;
  border-color: var(--lbo-admin-border) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.14) !important;
}

.lbo-card:hover,
.lbo-gallery-section-tab:hover,
.lbo-gallery-item-card-v2:hover {
  border-color: rgba(226,232,240,.14) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.18) !important;
}

.lbo-menu a {
  color: #bec6d2 !important;
  background: transparent !important;
  border-color: transparent !important;
}

.lbo-menu a:hover {
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(226,232,240,.08) !important;
  color: var(--lbo-admin-text) !important;
}

.lbo-menu a.active {
  background: rgba(215,191,120,.085) !important;
  border-color: rgba(215,191,120,.24) !important;
  color: var(--lbo-admin-text) !important;
  box-shadow: inset 3px 0 0 var(--lbo-admin-accent) !important;
}

.lbo-header h1,
.lbo-gallery-header-v2 h1,
.lbo-card h2,
.lbo-card h3,
.lbo-brand strong,
.lbo-standalone-logo strong {
  color: var(--lbo-admin-text) !important;
}

.lbo-header p,
.lbo-gallery-header-v2 p,
.lbo-card p,
.lbo-table small,
.lbo-field small,
.lbo-gallery-section-tab small {
  color: var(--lbo-admin-muted) !important;
}

.lbo-brand span,
.lbo-standalone-logo small,
.lbo-field label,
.lbo-kpi span,
.lbo-table th,
.lbo-gallery-technical-details summary,
.lbo-advanced-details summary {
  color: #c9b56f !important;
}

.lbo-shortcode-pill,
.lbo-shortcode-box code,
.lbo-gallery-item-title-row span,
.lbo-secondary-button,
.lbo-secondary-link {
  color: #d7bf78 !important;
  background: rgba(215,191,120,.075) !important;
  border-color: rgba(215,191,120,.22) !important;
}

.lbo-gallery-step strong {
  background: #d7bf78 !important;
  color: #080b0f !important;
}

.lbo-gallery-section-tab.is-active,
.lbo-gallery-type-choices label.is-active,
.lbo-gallery-type-choices label:has(input:checked) {
  background: rgba(215,191,120,.085) !important;
  border-color: rgba(215,191,120,.34) !important;
  color: var(--lbo-admin-text) !important;
  box-shadow: none !important;
}

.lbo-field input,
.lbo-field textarea,
.lbo-login-card input,
.lbo-field select,
.lbo-portal select,
.lbo-standalone-body select,
.lbo-portal .lgb-form select,
.lbo-portal .lgb-inline-form select,
.lbo-portal .lgb-form input,
.lbo-portal .lgb-form textarea,
.lbo-portal .lgb-inline-form input,
.lbo-portal .lgb-inline-form textarea {
  background-color: #090d13 !important;
  border-color: #222a35 !important;
  color: var(--lbo-admin-text) !important;
  box-shadow: none !important;
}

.lbo-field select,
.lbo-portal select,
.lbo-standalone-body select,
.lbo-portal .lgb-form select,
.lbo-portal .lgb-inline-form select {
  background-image:
    linear-gradient(45deg, transparent 50%, #b9a76d 50%),
    linear-gradient(135deg, #b9a76d 50%, transparent 50%),
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01)) !important;
}

.lbo-field input:focus,
.lbo-field textarea:focus,
.lbo-field select:focus,
.lbo-login-card input:focus,
.lbo-portal .lgb-form input:focus,
.lbo-portal .lgb-form textarea:focus,
.lbo-portal .lgb-form select:focus {
  border-color: rgba(215,191,120,.45) !important;
  box-shadow: 0 0 0 3px rgba(215,191,120,.08) !important;
}

.lbo-gallery-type-choices label,
.lbo-inline-checks label,
.lbo-delete-line,
.lbo-checkbox-list label {
  background: rgba(255,255,255,.024) !important;
  border-color: rgba(226,232,240,.08) !important;
  color: #d9dee7 !important;
}

.lbo-gallery-type-choices label:hover,
.lbo-inline-checks label:hover,
.lbo-delete-line:hover,
.lbo-checkbox-list label:hover {
  border-color: rgba(215,191,120,.24) !important;
  background: rgba(255,255,255,.04) !important;
}

.lbo-gallery-type-choices input[type="radio"]::after {
  background: #d7bf78 !important;
}

.lbo-inline-checks input[type="checkbox"]:checked,
.lbo-delete-line input[type="checkbox"]:checked,
.lbo-checkbox-list input[type="checkbox"]:checked {
  background: #d7bf78 !important;
  border-color: #d7bf78 !important;
}

.lbo-field input[type="file"],
.lbo-portal input[type="file"],
.lbo-standalone-body input[type="file"] {
  background: #090d13 !important;
  border-color: #26303c !important;
  color: var(--lbo-admin-muted) !important;
}

.lbo-field input[type="file"]::file-selector-button,
.lbo-portal input[type="file"]::file-selector-button,
.lbo-standalone-body input[type="file"]::file-selector-button,
.lbo-field input[type="file"]::-webkit-file-upload-button,
.lbo-portal input[type="file"]::-webkit-file-upload-button,
.lbo-standalone-body input[type="file"]::-webkit-file-upload-button {
  background: #d8dde6 !important;
  color: #080b0f !important;
}

.lbo-save,
.lbo-login-card button,
.lbo-portal .lgb-form button,
.lbo-portal .lgb-inline-form button,
.lbo-portal .lgb-booking-form button {
  background: #d8dde6 !important;
  color: #080b0f !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}

.lbo-save:hover,
.lbo-login-card button:hover,
.lbo-portal .lgb-form button:hover,
.lbo-portal .lgb-inline-form button:hover,
.lbo-portal .lgb-booking-form button:hover {
  background: #d7bf78 !important;
  color: #080b0f !important;
}

.lbo-alert-success {
  background: rgba(32, 45, 36, .92) !important;
  border-color: rgba(143,185,150,.24) !important;
  color: #d7eadb !important;
}

.lbo-alert-error,
.lbo-portal .lgb-status-cancelled,
.lbo-portal .lgb-status-failed,
.lbo-portal .lgb-status-no_show,
.lbo-portal .lgb-status-refunded {
  background: rgba(58, 34, 34, .92) !important;
  border-color: rgba(224,122,122,.25) !important;
  color: #f1c9c9 !important;
}

.lbo-delete-line,
.lbo-danger-zone label {
  color: #e0a0a0 !important;
}

.lbo-login-page {
  background:
    radial-gradient(circle at 20% 20%, rgba(215,191,120,.07), transparent 30%),
    linear-gradient(180deg, #07090c, #090d12) !important;
}

.lbo-main::-webkit-scrollbar-thumb,
.lbo-sidebar::-webkit-scrollbar-thumb {
  background: rgba(180,190,205,.22) !important;
  border-color: rgba(7,9,12,.96) !important;
}

/* Evitar cualquier resto de color rosa/magenta proveniente de versiones anteriores */
.lbo-portal [style*="pink"],
.lbo-portal [style*="magenta"] {
  color: inherit !important;
}

/* =========================================================
   FACTURACION ELECTRONICA ECUADOR - INTEGRACION OWNER
========================================================= */
.lbo-kpi small {
  display: block;
  margin-top: 8px;
  color: #cfcfcf;
  font-size: 12px;
  line-height: 1.4;
}

.lbo-muted {
  color: #aeb4c0;
  font-size: 12px;
}

.lbo-invoice-badge,
.lbo-einvoice-shell .lec-ei-badge,
.lbo-table .lec-ei-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  color: #e8ecf3;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
  border: 1px solid rgba(255,255,255,.10);
}

.lbo-invoice-none {
  color: #aeb4c0;
}

.lbo-einvoice-shell {
  display: block;
  width: 100%;
}

.lbo-einvoice-shell .lec-ei-admin,
.lbo-einvoice-shell .lec-ei-panel,
.lbo-einvoice-shell .lec-ei-admin .lec-ei-panel {
  max-width: none;
  color: #e8ecf3;
}

.lbo-einvoice-shell .lec-ei-card,
.lbo-einvoice-shell .widefat,
.lbo-einvoice-shell .striped {
  background: #121217 !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 22px;
  color: #e8ecf3;
  box-shadow: none;
}

.lbo-einvoice-shell .lec-ei-card {
  padding: 24px;
  overflow: hidden;
}

.lbo-einvoice-shell h1,
.lbo-einvoice-shell h2,
.lbo-einvoice-shell h3,
.lbo-einvoice-shell p,
.lbo-einvoice-shell label,
.lbo-einvoice-shell span,
.lbo-einvoice-shell td,
.lbo-einvoice-shell th {
  color: #e8ecf3;
}

.lbo-einvoice-shell h2 {
  margin-top: 18px;
  margin-bottom: 14px;
}

.lbo-einvoice-shell p {
  color: #cfcfcf;
}

.lbo-einvoice-shell .lec-ei-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 20px;
}

.lbo-einvoice-shell .lec-ei-tabs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #e8ecf3;
  text-decoration: none;
  font-weight: 900;
  border: 1px solid rgba(255,255,255,.10);
}

.lbo-einvoice-shell .lec-ei-tabs a.active,
.lbo-einvoice-shell .lec-ei-tabs a:hover {
  background: linear-gradient(135deg, #d7bf78, #8a7b4d);
  color: #fff;
}

.lbo-einvoice-shell .lec-ei-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.lbo-einvoice-shell .lec-ei-grid-wide {
  grid-template-columns: 1fr;
}

.lbo-einvoice-shell .lec-ei-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 14px;
}

.lbo-einvoice-shell .lec-ei-field span {
  color: #d7bf78;
  font-weight: 900;
  font-size: 13px;
}

.lbo-einvoice-shell .lec-ei-field input,
.lbo-einvoice-shell .lec-ei-field select,
.lbo-einvoice-shell .lec-ei-field textarea,
.lbo-einvoice-shell input[type="text"],
.lbo-einvoice-shell input[type="password"],
.lbo-einvoice-shell input[type="email"],
.lbo-einvoice-shell input[type="number"],
.lbo-einvoice-shell select,
.lbo-einvoice-shell textarea {
  width: 100%;
  max-width: 100%;
  min-height: 46px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: #050505;
  color: #ffffff;
  padding: 12px 14px;
  outline: none;
}

.lbo-einvoice-shell input[type="file"] {
  padding: 11px;
  background: rgba(255,255,255,.05);
}

.lbo-einvoice-shell textarea {
  min-height: 120px;
  resize: vertical;
}

.lbo-einvoice-shell .button,
.lbo-einvoice-shell .button-primary,
.lbo-einvoice-shell input[type="submit"],
.lbo-einvoice-shell .submit .button,
.lbo-einvoice-shell .submit input {
  min-height: 44px;
  padding: 11px 18px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #d7bf78, #8a7b4d) !important;
  color: #ffffff !important;
  font-weight: 900;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
}

.lbo-einvoice-shell .widefat {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
}

.lbo-einvoice-shell .widefat thead th {
  color: #d7bf78;
  background: rgba(255,255,255,.04);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .5px;
}

.lbo-einvoice-shell .widefat th,
.lbo-einvoice-shell .widefat td {
  padding: 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: #e8ecf3;
  vertical-align: top;
}

.lbo-einvoice-shell .widefat tr:nth-child(odd),
.lbo-einvoice-shell .widefat tr:nth-child(even) {
  background: transparent !important;
}

.lbo-table .lec-ei-owner-actions,
.lbo-einvoice-shell .lec-ei-owner-actions {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  min-width: 160px;
}

.lbo-table .lec-ei-btn,
.lbo-einvoice-shell .lec-ei-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 8px 12px;
  border: 0;
  border-radius: 999px;
  background: rgba(215,191,120,.16);
  color: #f5f7fb !important;
  border: 1px solid rgba(215,191,120,.34);
  text-decoration: none;
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
}

.lbo-table .lec-ei-btn:hover,
.lbo-einvoice-shell .lec-ei-btn:hover {
  background: linear-gradient(135deg, #d7bf78, #8a7b4d);
  color: #fff !important;
}

.lbo-table .lec-ei-badge-autorizada,
.lbo-einvoice-shell .lec-ei-badge-autorizada {
  background: rgba(34,197,94,.16);
  color: #bbf7d0;
  border-color: rgba(34,197,94,.35);
}

.lbo-table .lec-ei-badge-rechazada,
.lbo-table .lec-ei-badge-devuelta,
.lbo-table .lec-ei-badge-error,
.lbo-einvoice-shell .lec-ei-badge-rechazada,
.lbo-einvoice-shell .lec-ei-badge-devuelta,
.lbo-einvoice-shell .lec-ei-badge-error {
  background: rgba(248,113,113,.16);
  color: #fecaca;
  border-color: rgba(248,113,113,.35);
}

.lbo-table .lec-ei-badge-pendiente_recepcion,
.lbo-table .lec-ei-badge-pendiente_autorizacion,
.lbo-table .lec-ei-badge-recibida,
.lbo-einvoice-shell .lec-ei-badge-pendiente_recepcion,
.lbo-einvoice-shell .lec-ei-badge-pendiente_autorizacion,
.lbo-einvoice-shell .lec-ei-badge-recibida {
  background: rgba(251,191,36,.16);
  color: #fde68a;
  border-color: rgba(251,191,36,.35);
}

.lbo-einvoice-shell .lec-ei-modal {
  background: #121217;
  border: 1px solid rgba(255,255,255,.12);
  color: #e8ecf3;
}

.lbo-einvoice-shell .lec-ei-modal-backdrop,
.lec-ei-modal-backdrop {
  background: rgba(0,0,0,.72);
}

@media (max-width: 900px) {
  .lbo-einvoice-shell .lec-ei-grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   LBO 1.13.1 - Facturación electrónica integrada
   Corrige ancho, jerarquía visual y adaptación del módulo SRI.
========================================================= */
@media (min-width: 981px) {
  .lbo-standalone-content,
  .lbo-standalone-content .lbo-portal {
    width: 100% !important;
    max-width: none !important;
  }

  .lbo-main {
    width: 100% !important;
    max-width: none !important;
    padding: 34px 34px 52px !important;
  }
}

.lbo-einvoice-page,
.lbo-einvoice-page * {
  box-sizing: border-box;
}

.lbo-einvoice-page {
  width: 100%;
  max-width: none;
  color: var(--lbo-admin-text, #f3f5f8);
}

.lbo-einvoice-hero {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 340px);
  gap: 20px;
  align-items: stretch;
  margin-bottom: 20px;
}

.lbo-einvoice-hero-copy,
.lbo-einvoice-hero-status,
.lbo-einvoice-kpis > div,
.lbo-einvoice-module-shell .lec-ei-card {
  background: linear-gradient(180deg, rgba(17,22,29,.98), rgba(13,17,23,.98)) !important;
  border: 1px solid rgba(226,232,240,.09) !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.18) !important;
}

.lbo-einvoice-hero-copy {
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 3vw, 34px);
}

.lbo-einvoice-hero-copy::after {
  content: "";
  position: absolute;
  inset: auto -80px -130px auto;
  width: 260px;
  height: 260px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(215,191,120,.13), transparent 68%);
  pointer-events: none;
}

.lbo-eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 14px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(215,191,120,.10);
  border: 1px solid rgba(215,191,120,.24);
  color: #d7bf78 !important;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.lbo-einvoice-hero h1 {
  max-width: 760px;
  margin: 0;
  color: #f5f7fb !important;
  font-size: clamp(34px, 4vw, 56px) !important;
  line-height: .96 !important;
  letter-spacing: -.06em !important;
  font-weight: 950 !important;
}

.lbo-einvoice-hero p {
  max-width: 720px;
  margin: 16px 0 0;
  color: #a7afbb !important;
  font-size: 15px;
  line-height: 1.65;
}

.lbo-einvoice-hero-status {
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.lbo-einvoice-hero-status span,
.lbo-einvoice-kpis span {
  color: #d7bf78 !important;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.lbo-einvoice-hero-status strong {
  margin-top: 10px;
  color: #f5f7fb !important;
  font-size: 32px;
  line-height: 1;
  letter-spacing: -.04em;
}

.lbo-einvoice-hero-status small {
  width: fit-content;
  margin-top: 14px;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  border: 1px solid rgba(255,255,255,.10);
  color: #dbe4f0;
  background: rgba(255,255,255,.06);
}

.lbo-einvoice-hero-status .lbo-env-production {
  color: #bbf7d0;
  border-color: rgba(34,197,94,.35);
  background: rgba(34,197,94,.14);
}

.lbo-einvoice-hero-status .lbo-env-test {
  color: #fde68a;
  border-color: rgba(251,191,36,.35);
  background: rgba(251,191,36,.13);
}

.lbo-einvoice-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 20px;
}

.lbo-einvoice-kpis > div {
  min-height: 112px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.lbo-einvoice-kpis strong {
  display: block;
  margin-top: 10px;
  color: #f5f7fb !important;
  font-size: clamp(20px, 2vw, 30px);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.lbo-einvoice-module-shell {
  width: 100% !important;
  max-width: none !important;
  display: block;
}

.lbo-einvoice-module-shell .lec-ei-admin,
.lbo-einvoice-module-shell .lec-ei-panel,
.lbo-einvoice-module-shell .lec-ei-admin .lec-ei-panel {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  color: #e8ecf3 !important;
}

.lbo-einvoice-module-shell .lec-ei-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
}

.lbo-einvoice-module-shell .lec-ei-tabs a {
  min-height: 48px;
  padding: 12px 18px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: #e8ecf3 !important;
  text-decoration: none !important;
  font-weight: 900 !important;
  box-shadow: none !important;
}

.lbo-einvoice-module-shell .lec-ei-tabs a.active,
.lbo-einvoice-module-shell .lec-ei-tabs a:hover {
  color: #090d12 !important;
  background: linear-gradient(135deg, #f0dfaa, #d7bf78) !important;
  border-color: rgba(215,191,120,.55) !important;
}

.lbo-einvoice-module-shell .lec-ei-card {
  width: 100% !important;
  max-width: none !important;
  padding: clamp(20px, 2.4vw, 30px) !important;
  overflow: visible !important;
}

.lbo-einvoice-module-shell .notice,
.lbo-einvoice-module-shell .notice-warning,
.lbo-einvoice-module-shell .updated,
.lbo-einvoice-module-shell .error {
  margin: 0 0 22px !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  background: rgba(251,191,36,.10) !important;
  border: 1px solid rgba(251,191,36,.28) !important;
  border-left: 4px solid #d7bf78 !important;
  color: #f5f7fb !important;
  box-shadow: none !important;
}

.lbo-einvoice-module-shell .notice p {
  margin: 0 !important;
  color: #f5f7fb !important;
}

.lbo-einvoice-module-shell h2 {
  margin: 18px 0 16px !important;
  color: #f5f7fb !important;
  font-size: 24px !important;
  letter-spacing: -.035em !important;
}

.lbo-einvoice-module-shell p,
.lbo-einvoice-module-shell .description {
  color: #a7afbb !important;
  line-height: 1.6 !important;
}

.lbo-einvoice-module-shell .lec-ei-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.lbo-einvoice-module-shell .lec-ei-grid-wide {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.lbo-einvoice-module-shell .lec-ei-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 0 14px !important;
}

.lbo-einvoice-module-shell .lec-ei-field span {
  color: #d7bf78 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
}

.lbo-einvoice-module-shell input[type="text"],
.lbo-einvoice-module-shell input[type="password"],
.lbo-einvoice-module-shell input[type="email"],
.lbo-einvoice-module-shell input[type="number"],
.lbo-einvoice-module-shell input[type="file"],
.lbo-einvoice-module-shell select,
.lbo-einvoice-module-shell textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(226,232,240,.12) !important;
  border-radius: 14px !important;
  background: #07090c !important;
  color: #f5f7fb !important;
  outline: none !important;
  box-shadow: none !important;
}

.lbo-einvoice-module-shell textarea {
  min-height: 130px !important;
}

.lbo-einvoice-module-shell input:focus,
.lbo-einvoice-module-shell select:focus,
.lbo-einvoice-module-shell textarea:focus {
  border-color: rgba(215,191,120,.48) !important;
  box-shadow: 0 0 0 4px rgba(215,191,120,.09) !important;
}

.lbo-einvoice-module-shell .button,
.lbo-einvoice-module-shell .button-primary,
.lbo-einvoice-module-shell input[type="submit"],
.lbo-einvoice-module-shell .submit input {
  min-height: 46px !important;
  padding: 12px 20px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #f0dfaa, #d7bf78) !important;
  color: #07090c !important;
  text-transform: none !important;
  font-weight: 950 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.lbo-einvoice-module-shell table.widefat {
  display: table !important;
  width: 100% !important;
  min-width: 900px;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
}

.lbo-einvoice-module-shell .widefat thead th {
  background: rgba(255,255,255,.04) !important;
  color: #d7bf78 !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.lbo-einvoice-module-shell .widefat th,
.lbo-einvoice-module-shell .widefat td {
  padding: 14px !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  color: #e8ecf3 !important;
  background: transparent !important;
  vertical-align: middle !important;
}

.lbo-einvoice-module-shell .lec-ei-card:has(table.widefat) {
  overflow-x: auto !important;
}

.lbo-einvoice-empty-state {
  max-width: 900px;
}

@media (max-width: 1180px) {
  .lbo-einvoice-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .lbo-einvoice-module-shell .lec-ei-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  .lbo-einvoice-hero {
    grid-template-columns: 1fr;
  }
  .lbo-einvoice-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lbo-einvoice-module-shell .lec-ei-grid,
  .lbo-einvoice-module-shell .lec-ei-grid-wide {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  .lbo-einvoice-kpis {
    grid-template-columns: 1fr;
  }
  .lbo-einvoice-hero-copy,
  .lbo-einvoice-hero-status,
  .lbo-einvoice-kpis > div,
  .lbo-einvoice-module-shell .lec-ei-card {
    border-radius: 20px !important;
  }
}

/* =========================================================
   LBO 1.13.2 - Facturación electrónica simplificada y estable
   Reemplaza el hero complejo por layout robusto dentro del panel.
========================================================= */
.lbo-header-einvoice {
  align-items: center !important;
}

.lbo-einvoice-header-badges {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.lbo-einvoice-pill {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 14px;
  border-radius: 999px;
  font-weight: 900;
  letter-spacing: .02em;
  border: 1px solid rgba(255,255,255,.12);
}

.lbo-einvoice-pill.is-test {
  color: #fde68a;
  background: rgba(251,191,36,.12);
  border-color: rgba(251,191,36,.34);
}

.lbo-einvoice-pill.is-production {
  color: #bbf7d0;
  background: rgba(34,197,94,.12);
  border-color: rgba(34,197,94,.34);
}

.lbo-einvoice-pill.is-neutral {
  color: #e8ecf3;
  background: rgba(255,255,255,.05);
}

.lbo-einvoice-kpis-simple {
  margin-bottom: 24px !important;
}

.lbo-einvoice-simple-shell {
  width: 100% !important;
  max-width: none !important;
  padding: 24px !important;
  overflow: hidden !important;
}

.lbo-einvoice-simple-shell,
.lbo-einvoice-simple-shell * {
  box-sizing: border-box !important;
}

/* Reset del módulo admin embebido */
.lbo-einvoice-simple-shell .wrap,
.lbo-einvoice-simple-shell .lec-ei-admin,
.lbo-einvoice-simple-shell .lec-ei-panel,
.lbo-einvoice-simple-shell .lec-ei-panel > .lec-ei-card {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.lbo-einvoice-simple-shell .wrap {
  padding: 0 !important;
}

.lbo-einvoice-simple-shell .wrap > h1,
.lbo-einvoice-simple-shell .lec-ei-admin > h1 {
  display: none !important;
}

.lbo-einvoice-simple-shell .lec-ei-panel {
  display: block !important;
}

.lbo-einvoice-simple-shell .lec-ei-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
}

.lbo-einvoice-simple-shell .lec-ei-tabs a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: #e8ecf3 !important;
  text-decoration: none !important;
  font-weight: 900 !important;
  box-shadow: none !important;
}

.lbo-einvoice-simple-shell .lec-ei-tabs a.active,
.lbo-einvoice-simple-shell .lec-ei-tabs a:hover {
  color: #090d12 !important;
  background: linear-gradient(135deg, #f0dfaa, #d7bf78) !important;
  border-color: rgba(215,191,120,.55) !important;
}

.lbo-einvoice-simple-shell .lec-ei-card {
  background: linear-gradient(180deg, rgba(17,22,29,.98), rgba(13,17,23,.98)) !important;
  border: 1px solid rgba(226,232,240,.09) !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.18) !important;
  padding: 24px !important;
  overflow: visible !important;
}

.lbo-einvoice-simple-shell .notice,
.lbo-einvoice-simple-shell .notice-warning,
.lbo-einvoice-simple-shell .updated,
.lbo-einvoice-simple-shell .error {
  margin: 0 0 18px !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  background: rgba(251,191,36,.10) !important;
  border: 1px solid rgba(251,191,36,.28) !important;
  border-left: 4px solid #d7bf78 !important;
  color: #f5f7fb !important;
  box-shadow: none !important;
}

.lbo-einvoice-simple-shell .notice p {
  margin: 0 !important;
  color: #f5f7fb !important;
}

.lbo-einvoice-simple-shell h2 {
  margin: 18px 0 16px !important;
  color: #f5f7fb !important;
  font-size: 24px !important;
  letter-spacing: -.035em !important;
}

.lbo-einvoice-simple-shell p,
.lbo-einvoice-simple-shell .description,
.lbo-einvoice-simple-shell label,
.lbo-einvoice-simple-shell td,
.lbo-einvoice-simple-shell th {
  color: #a7afbb !important;
  line-height: 1.6 !important;
}

.lbo-einvoice-simple-shell .lec-ei-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.lbo-einvoice-simple-shell .lec-ei-grid-wide {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.lbo-einvoice-simple-shell .lec-ei-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 0 14px !important;
}

.lbo-einvoice-simple-shell .lec-ei-field span {
  color: #d7bf78 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
}

.lbo-einvoice-simple-shell input[type="text"],
.lbo-einvoice-simple-shell input[type="password"],
.lbo-einvoice-simple-shell input[type="email"],
.lbo-einvoice-simple-shell input[type="number"],
.lbo-einvoice-simple-shell input[type="file"],
.lbo-einvoice-simple-shell select,
.lbo-einvoice-simple-shell textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(226,232,240,.12) !important;
  border-radius: 14px !important;
  background: #07090c !important;
  color: #f5f7fb !important;
  outline: none !important;
  box-shadow: none !important;
}

.lbo-einvoice-simple-shell textarea {
  min-height: 130px !important;
}

.lbo-einvoice-simple-shell input:focus,
.lbo-einvoice-simple-shell select:focus,
.lbo-einvoice-simple-shell textarea:focus {
  border-color: rgba(215,191,120,.48) !important;
  box-shadow: 0 0 0 4px rgba(215,191,120,.09) !important;
}

.lbo-einvoice-simple-shell .button,
.lbo-einvoice-simple-shell .button-primary,
.lbo-einvoice-simple-shell input[type="submit"],
.lbo-einvoice-simple-shell .submit input {
  min-height: 46px !important;
  padding: 12px 20px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #f0dfaa, #d7bf78) !important;
  color: #07090c !important;
  text-transform: none !important;
  font-weight: 950 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.lbo-einvoice-simple-shell .widefat,
.lbo-einvoice-simple-shell table.widefat {
  display: table !important;
  width: 100% !important;
  min-width: 900px;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.lbo-einvoice-simple-shell .widefat thead th {
  background: rgba(255,255,255,.04) !important;
  color: #d7bf78 !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.lbo-einvoice-simple-shell .widefat th,
.lbo-einvoice-simple-shell .widefat td {
  padding: 14px !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  color: #e8ecf3 !important;
  background: transparent !important;
  vertical-align: middle !important;
}

.lbo-einvoice-simple-shell .lec-ei-card:has(table.widefat) {
  overflow-x: auto !important;
}

@media (max-width: 1180px) {
  .lbo-einvoice-simple-shell .lec-ei-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  .lbo-header-einvoice {
    align-items: flex-start !important;
  }
  .lbo-einvoice-simple-shell {
    padding: 18px !important;
  }
  .lbo-einvoice-simple-shell .lec-ei-grid,
  .lbo-einvoice-simple-shell .lec-ei-grid-wide {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   LBO 1.13.3 - Reset real del template standalone
   Evita márgenes/bordes heredados en html/body del panel negocio.
========================================================= */
html.lbo-standalone-html,
html.lbo-standalone-html body.lbo-standalone-body {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 100% !important;
  background: #07090c !important;
  color: #f3f5f8 !important;
  border: 0 !important;
  border-width: 0 !important;
  border-style: none !important;
  border-color: transparent !important;
  outline: 0 !important;
  box-shadow: none !important;
}

html.lbo-standalone-html {
  overflow-x: hidden !important;
  scroll-padding-top: 0 !important;
}

html.lbo-standalone-html body.lbo-standalone-body {
  position: relative !important;
  overflow-x: hidden !important;
}

html.lbo-standalone-html body.lbo-standalone-body::before,
html.lbo-standalone-html body.lbo-standalone-body::after {
  display: none !important;
  content: none !important;
}

html.lbo-standalone-html .lbo-standalone-shell,
html.lbo-standalone-html .lbo-standalone-content,
html.lbo-standalone-html .lbo-portal {
  margin: 0 !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  outline: 0 !important;
  box-shadow: none;
}

html.lbo-standalone-html .lbo-standalone-shell {
  width: 100% !important;
  max-width: none !important;
  border-radius: 0 !important;
}

html.lbo-standalone-html .lbo-standalone-header {
  margin: 0 !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
}

html.lbo-standalone-html .lbo-standalone-content {
  width: 100% !important;
  max-width: none !important;
}

/* =========================================================
   LBO 1.13.4 - Override max-width heredado del body/html
   Fuerza el standalone a ocupar todo el viewport.
========================================================= */
html.lbo-standalone-html,
html.lbo-standalone-html body.lbo-standalone-body,
html.lbo-standalone-html body.lbo-standalone-body#error-page {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

html.lbo-standalone-html body.lbo-standalone-body#error-page {
  border: 0 !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

html.lbo-standalone-html .site,
html.lbo-standalone-html #page,
html.lbo-standalone-html .site-content,
html.lbo-standalone-html .content-area,
html.lbo-standalone-html .entry-content {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* =========================================================
   LBO 1.13.7 - DataTables server-side con diseño Jump&Tone
========================================================= */
.lbo-datatable-wrap {
  overflow: visible !important;
}

.lbo-datatable-wrap .dataTables_wrapper {
  color: #e8ecf3 !important;
}

.lbo-datatable-wrap .dataTables_length,
.lbo-datatable-wrap .dataTables_filter,
.lbo-datatable-wrap .dataTables_info,
.lbo-datatable-wrap .dataTables_paginate {
  color: #aeb4c0 !important;
  font-weight: 800;
}

.lbo-datatable-wrap .dataTables_length,
.lbo-datatable-wrap .dataTables_filter {
  margin-bottom: 18px;
}

.lbo-datatable-wrap .dataTables_length select,
.lbo-datatable-wrap .dataTables_filter input {
  min-height: 42px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(226,232,240,.12) !important;
  background: #07090c !important;
  color: #f5f7fb !important;
  padding: 8px 14px !important;
  outline: none !important;
  box-shadow: none !important;
}

.lbo-datatable-wrap .dataTables_filter input:focus,
.lbo-datatable-wrap .dataTables_length select:focus {
  border-color: rgba(215,191,120,.48) !important;
  box-shadow: 0 0 0 4px rgba(215,191,120,.09) !important;
}

.lbo-datatable-wrap table.dataTable,
.lbo-datatable-wrap table.dataTable.no-footer {
  width: 100% !important;
  border-collapse: collapse !important;
  border-bottom: 0 !important;
}

.lbo-datatable-wrap table.dataTable thead th,
.lbo-datatable-wrap table.dataTable thead td {
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}

.lbo-datatable-wrap table.dataTable tbody th,
.lbo-datatable-wrap table.dataTable tbody td {
  border-top: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.lbo-datatable-wrap .dataTables_processing {
  position: absolute !important;
  top: 92px !important;
  left: 50% !important;
  width: auto !important;
  min-width: 220px;
  margin: 0 !important;
  transform: translateX(-50%);
  padding: 14px 18px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(215,191,120,.34) !important;
  background: rgba(13,17,23,.96) !important;
  color: #f5f7fb !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.35) !important;
  z-index: 5;
}

.lbo-datatable-wrap .dataTables_paginate {
  margin-top: 18px !important;
}

.lbo-datatable-wrap .dataTables_paginate .paginate_button {
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.055) !important;
  color: #e8ecf3 !important;
  font-weight: 900 !important;
  margin: 0 3px !important;
  box-shadow: none !important;
}

.lbo-datatable-wrap .dataTables_paginate .paginate_button.current,
.lbo-datatable-wrap .dataTables_paginate .paginate_button.current:hover,
.lbo-datatable-wrap .dataTables_paginate .paginate_button:hover {
  color: #090d12 !important;
  background: linear-gradient(135deg, #f0dfaa, #d7bf78) !important;
  border-color: rgba(215,191,120,.55) !important;
}

.lbo-datatable-wrap .dataTables_paginate .paginate_button.disabled,
.lbo-datatable-wrap .dataTables_paginate .paginate_button.disabled:hover {
  opacity: .45;
  color: #aeb4c0 !important;
  background: rgba(255,255,255,.035) !important;
}

.lbo-sri-response {
  display: inline-block;
  max-width: 290px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
  color: #cbd5e1;
}

.lbo-sri-response:hover {
  color: #f5f7fb;
}

@media (max-width: 900px) {
  .lbo-datatable-wrap {
    overflow-x: auto !important;
  }
  .lbo-sri-response {
    max-width: 220px;
  }
}

/* =========================================================
   LBO 1.13.8 - Ajuste reporte Reservas DataTables
   Evita que filas/columnas sobresalgan del contenedor.
========================================================= */
.lbo-table-wrap.lbo-datatable-wrap {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.lbo-datatable-wrap .dataTables_wrapper,
.lbo-datatable-wrap .dataTables_wrapper .dataTables_scroll,
.lbo-datatable-wrap .dataTables_wrapper .dataTables_scrollHead,
.lbo-datatable-wrap .dataTables_wrapper .dataTables_scrollBody {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.lbo-orders-datatable,
.lbo-datatable-wrap table.lbo-orders-datatable.dataTable,
.lbo-datatable-wrap table.lbo-orders-datatable.dataTable.no-footer {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}

.lbo-orders-datatable th,
.lbo-orders-datatable td {
  padding-left: 10px !important;
  padding-right: 10px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  vertical-align: middle !important;
}

.lbo-orders-datatable th:nth-child(1),
.lbo-orders-datatable td:nth-child(1) { width: 7% !important; }
.lbo-orders-datatable th:nth-child(2),
.lbo-orders-datatable td:nth-child(2) { width: 18% !important; }
.lbo-orders-datatable th:nth-child(3),
.lbo-orders-datatable td:nth-child(3) { width: 12% !important; }
.lbo-orders-datatable th:nth-child(4),
.lbo-orders-datatable td:nth-child(4) { width: 8% !important; }
.lbo-orders-datatable th:nth-child(5),
.lbo-orders-datatable td:nth-child(5) { width: 12% !important; }
.lbo-orders-datatable th:nth-child(6),
.lbo-orders-datatable td:nth-child(6) { width: 12% !important; }
.lbo-orders-datatable th:nth-child(7),
.lbo-orders-datatable td:nth-child(7) { width: 23% !important; }
.lbo-orders-datatable th:nth-child(8),
.lbo-orders-datatable td:nth-child(8) { width: 8% !important; text-align: right !important; }

.lbo-orders-datatable td:nth-child(2) small,
.lbo-orders-datatable td:nth-child(7) .lbo-sri-response {
  display: block !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.lbo-orders-datatable td:nth-child(2),
.lbo-orders-datatable td:nth-child(3),
.lbo-orders-datatable td:nth-child(4),
.lbo-orders-datatable td:nth-child(5),
.lbo-orders-datatable td:nth-child(6),
.lbo-orders-datatable td:nth-child(7),
.lbo-orders-datatable td:nth-child(8) {
  word-break: normal !important;
}

.lbo-orders-datatable td:nth-child(8) .lec-ei-btn,
.lbo-orders-datatable td:nth-child(8) .lbo-muted {
  white-space: nowrap !important;
}

@media (max-width: 1180px) {
  .lbo-table-wrap.lbo-datatable-wrap {
    overflow-x: auto !important;
  }
  .lbo-orders-datatable,
  .lbo-datatable-wrap table.lbo-orders-datatable.dataTable,
  .lbo-datatable-wrap table.lbo-orders-datatable.dataTable.no-footer {
    min-width: 980px !important;
  }
}


/* =========================================================
   LBO 1.14.0 - Login administrativo formal
   Diseño aislado para /panel-negocio/ sin afectar el panel interno.
========================================================= */
.lbo-login-page-modern,
.lbo-standalone-content .lbo-login-page-modern {
  --lbo-login-bg: #07090c;
  --lbo-login-panel: rgba(12, 16, 22, .96);
  --lbo-login-panel-2: rgba(9, 12, 17, .98);
  --lbo-login-line: rgba(226, 232, 240, .12);
  --lbo-login-line-strong: rgba(215, 191, 120, .34);
  --lbo-login-text: #f5f7fb;
  --lbo-login-muted: #aeb7c6;
  --lbo-login-soft: #7d8594;
  --lbo-login-accent: #d7bf78;
  min-height: calc(100vh - var(--lbo-admin-header-h, 74px)) !important;
  height: auto !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(22px, 4vw, 48px) 18px !important;
  overflow-y: auto !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(215, 191, 120, .08), transparent 32%),
    linear-gradient(180deg, #090d12 0%, #06080b 100%) !important;
  color: var(--lbo-login-text) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.lbo-login-page-modern::before,
.lbo-login-page-modern::after {
  display: none !important;
}

.lbo-login-shell,
.lbo-login-shell-formal {
  position: relative;
  z-index: 1;
  width: min(456px, 100%);
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.lbo-login-card-modern,
.lbo-kpi.lbo-login-card-modern {
  width: 100% !important;
  max-width: 456px !important;
  margin: 0 auto !important;
  padding: clamp(26px, 4vw, 36px) !important;
  display: block !important;
  border-radius: 22px !important;
  border: 1px solid var(--lbo-login-line) !important;
  background:
    linear-gradient(180deg, rgba(16, 22, 31, .98), rgba(8, 11, 16, .98)) !important;
  box-shadow: 0 28px 70px rgba(0, 0, 0, .42) !important;
  color: var(--lbo-login-text) !important;
  overflow: hidden;
}

.lbo-login-card-modern::before {
  content: "";
  display: block;
  height: 3px;
  margin: calc(clamp(26px, 4vw, 36px) * -1) calc(clamp(26px, 4vw, 36px) * -1) 26px;
  background: linear-gradient(90deg, rgba(215, 191, 120, .15), rgba(215, 191, 120, .76), rgba(215, 191, 120, .15));
}

.lbo-login-card-head {
  margin: 0 0 24px !important;
  text-align: left;
}

.lbo-login-brand-mark {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: #050608;
  border: 1px solid rgba(215, 191, 120, .30);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035), 0 14px 28px rgba(0,0,0,.24);
}

.lbo-login-brand-mark-small {
  margin: 0 0 18px !important;
}

.lbo-login-brand-mark img {
  width: 38px;
  height: 38px;
  object-fit: contain;
  border-radius: 11px;
}

.lbo-login-brand-mark span {
  color: var(--lbo-login-accent);
  font-size: 15px;
  font-weight: 900;
  letter-spacing: -.02em;
}

.lbo-login-eyebrow {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--lbo-login-accent) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.lbo-login-card-modern h2 {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: clamp(28px, 5vw, 34px) !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
}

.lbo-login-card-modern p {
  margin: 11px 0 0 !important;
  color: var(--lbo-login-muted) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.lbo-login-error {
  margin: 0 0 18px !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.lbo-login-field {
  margin-top: 16px !important;
}

.lbo-login-field:first-of-type {
  margin-top: 0 !important;
}

.lbo-login-card-modern label {
  display: block !important;
  margin: 0 0 8px !important;
  color: #e8ecf3 !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
}

.lbo-login-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.lbo-login-input-icon {
  position: absolute;
  left: 15px;
  z-index: 2;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(215, 191, 120, .76);
  pointer-events: none;
}

.lbo-login-input-icon svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.lbo-login-card-modern input[type="text"],
.lbo-login-card-modern input[type="password"] {
  width: 100% !important;
  min-height: 52px !important;
  height: 52px !important;
  padding: 0 62px 0 46px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(226, 232, 240, .14) !important;
  background: rgba(5, 8, 12, .74) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  outline: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.lbo-login-card-modern input[type="text"] {
  padding-right: 16px !important;
}

.lbo-login-card-modern input[type="text"]:focus,
.lbo-login-card-modern input[type="password"]:focus {
  border-color: rgba(215, 191, 120, .62) !important;
  background: rgba(6, 9, 14, .95) !important;
  box-shadow: 0 0 0 3px rgba(215, 191, 120, .10), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.lbo-password-toggle {
  position: absolute;
  right: 7px;
  z-index: 3;
  width: 40px !important;
  min-width: 40px !important;
  min-height: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 11px !important;
  border: 1px solid rgba(226, 232, 240, .12) !important;
  background: rgba(255,255,255,.045) !important;
  color: #e8ecf3 !important;
  font-size: 0 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer;
}

.lbo-password-toggle svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}

.lbo-password-toggle-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.lbo-password-toggle-icon-hide {
  display: none;
}

.lbo-password-toggle.is-visible .lbo-password-toggle-icon-show {
  display: none;
}

.lbo-password-toggle.is-visible .lbo-password-toggle-icon-hide {
  display: inline-flex;
}

.lbo-password-toggle:hover,
.lbo-password-toggle:focus {
  background: rgba(215, 191, 120, .12) !important;
  color: #ffffff !important;
  transform: none !important;
}

.lbo-login-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 15px !important;
}

.lbo-login-remember {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  margin: 0 !important;
  color: var(--lbo-login-muted) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}

.lbo-login-remember input {
  width: 16px !important;
  height: 16px !important;
  min-height: 0 !important;
  margin: 0 !important;
  accent-color: var(--lbo-login-accent);
}

.lbo-login-options a {
  color: #e7d39a !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  text-decoration: none !important;
  white-space: nowrap;
}

.lbo-login-options a:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
  text-underline-offset: 4px;
}

.lbo-login-submit {
  width: 100% !important;
  min-height: 52px !important;
  margin-top: 22px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  background: linear-gradient(135deg, #e5d092, #c9aa56) !important;
  color: #07090c !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  box-shadow: 0 15px 30px rgba(0,0,0,.28) !important;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.lbo-login-submit:hover,
.lbo-login-submit:focus {
  filter: brightness(1.03);
  transform: translateY(-1px) !important;
  box-shadow: 0 18px 36px rgba(0,0,0,.34) !important;
}

.lbo-login-security-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(226, 232, 240, .10);
}

.lbo-login-security-note span {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  margin-top: 7px;
  border-radius: 999px;
  background: var(--lbo-login-accent);
  box-shadow: 0 0 0 4px rgba(215, 191, 120, .10);
}

.lbo-login-security-note p,
.lbo-login-footnote {
  margin: 0 !important;
  color: rgba(174,183,198,.82) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.lbo-login-brand-panel,
.lbo-login-feature-grid,
.lbo-login-feature-card {
  display: none !important;
}

@media (max-width: 760px) {
  .lbo-login-page-modern,
  .lbo-standalone-content .lbo-login-page-modern {
    padding: 18px 14px !important;
    align-items: start !important;
  }

  .lbo-login-card-modern,
  .lbo-kpi.lbo-login-card-modern {
    max-width: none !important;
    padding: 24px 18px !important;
    border-radius: 20px !important;
  }

  .lbo-login-card-modern::before {
    margin: -24px -18px 22px;
  }

  .lbo-login-options {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
}

@media (max-width: 420px) {
  .lbo-login-card-modern h2 {
    font-size: 28px !important;
  }

  .lbo-login-card-modern input[type="text"],
  .lbo-login-card-modern input[type="password"] {
    min-height: 50px !important;
    height: 50px !important;
  }

  .lbo-password-toggle {
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 !important;
  }
}

/* LBO 1.14.3 - Ajustes administrativos formales + vista tecnica */
.lbo-technical-card{opacity:.98!important}
.lbo-technical-details,.lbo-portal .lgb-technical-details{border:1px dashed rgba(215,191,120,.22)!important;border-radius:18px!important;background:rgba(255,255,255,.025)!important;margin-top:14px!important;overflow:hidden!important}
.lbo-technical-details summary,.lbo-portal .lgb-technical-details summary{cursor:pointer;padding:15px 18px!important;font-weight:900!important;color:#f5f7fb!important;list-style:none!important;display:block!important}
.lbo-technical-details summary::-webkit-details-marker,.lbo-portal .lgb-technical-details summary::-webkit-details-marker{display:none!important}
.lbo-technical-details summary:after,.lbo-portal .lgb-technical-details summary:after{content:'+';float:right;color:#d7bf78;font-size:20px;line-height:1}
.lbo-technical-details[open] summary:after,.lbo-portal .lgb-technical-details[open] summary:after{content:'−'}
.lbo-technical-body,.lbo-portal .lgb-technical-body{padding:0 18px 18px!important;color:#b9c0cc!important}
.lbo-portal .lgb-kpis-operational{grid-template-columns:repeat(4,minmax(150px,1fr))!important}
.lbo-portal .lgb-admin-card .lgb-card-intro{margin:-4px 0 22px!important;color:#b9c0cc!important}
.lbo-portal .lgb-admin-form{display:block!important}
.lbo-portal .lgb-form-section{border:1px solid rgba(255,255,255,.08)!important;border-radius:20px!important;padding:20px!important;margin-bottom:16px!important;background:rgba(255,255,255,.025)!important}
.lbo-portal .lgb-form-section h4{margin:0 0 16px!important;font-size:13px!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#d7bf78!important}
.lbo-portal .lgb-admin-grid{display:grid!important;gap:16px!important;align-items:start!important}
.lbo-portal .lgb-admin-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.lbo-portal .lgb-admin-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.lbo-portal .lgb-admin-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.lbo-portal .lgb-col-2{grid-column:span 2!important}
.lbo-portal .lgb-col-3{grid-column:1/-1!important}
.lbo-portal .lgb-field{display:flex!important;flex-direction:column!important;gap:8px!important;font-size:13px!important;font-weight:800!important;color:#f5f7fb!important}
.lbo-portal .lgb-field small{font-weight:700!important;color:#aeb4c0!important}
.lbo-portal .lgb-admin-checks{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin-top:14px!important}
.lbo-portal .lgb-check{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;font-weight:800!important;color:#f5f7fb!important;background:rgba(255,255,255,.025)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:14px!important;padding:12px 14px!important;width:auto!important;max-width:max-content!important;min-height:auto!important}
.lbo-portal .lgb-check input[type="checkbox"]{width:16px!important;min-width:16px!important;max-width:16px!important;height:16px!important;min-height:16px!important;max-height:16px!important;flex:0 0 16px!important;margin:0!important;accent-color:#d7bf78!important}
.lbo-portal .lgb-preview-inline{display:flex!important;width:72px!important;height:72px!important;border-radius:18px!important;overflow:hidden!important;border:1px solid rgba(215,191,120,.28)!important;background:#090d13!important;margin-bottom:8px!important}
.lbo-portal .lgb-preview-inline img{width:100%!important;height:100%!important;object-fit:cover!important}
.lbo-portal .lgb-form-actions{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;margin-top:8px!important}
.lbo-portal .lgb-form-actions button,.lbo-portal .lgb-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important;border-radius:14px!important;padding:13px 20px!important;text-decoration:none!important;font-weight:900!important}
.lbo-portal .lgb-btn-secondary{background:#111722!important;color:#f5f7fb!important;border:1px solid rgba(255,255,255,.08)!important}
.lbo-portal .lgb-tags-control{display:grid!important;gap:10px!important;border:1px solid #222a35!important;border-radius:16px!important;padding:12px!important;background:#090d13!important}
.lbo-portal .lgb-tags-list{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.lbo-portal .lgb-tag-pill{border:1px solid rgba(215,191,120,.22)!important;border-radius:999px!important;padding:7px 10px!important;min-height:auto!important;background:rgba(215,191,120,.10)!important;color:#f0dc9c!important;font-size:12px!important;text-transform:none!important;letter-spacing:0!important}
.lbo-portal .lgb-tags-entry{display:flex!important;gap:8px!important}
.lbo-portal .lgb-tags-entry input{flex:1!important}
.lbo-portal .lgb-tags-entry button{width:auto!important;min-height:42px!important;padding:9px 12px!important}
.lbo-portal .lgb-shortcode-list{display:grid!important;gap:10px!important;margin-top:10px!important}
.lbo-portal .lgb-shortcode-list code,.lbo-portal .lgb-technical-table code{display:inline-flex!important;background:#090d13!important;color:#f5f7fb!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:10px!important;padding:8px 10px!important;font-weight:800!important}
.lbo-portal .dataTables_wrapper{color:#e8ecf3!important}
.lbo-portal .dataTables_wrapper .dataTables_length,.lbo-portal .dataTables_wrapper .dataTables_filter,.lbo-portal .dataTables_wrapper .dataTables_info,.lbo-portal .dataTables_wrapper .dataTables_paginate{margin:12px!important;color:#aeb4c0!important}
.lbo-portal .dataTables_wrapper .dataTables_filter input,.lbo-portal .dataTables_wrapper .dataTables_length select{border:1px solid #222a35!important;border-radius:10px!important;padding:8px 10px!important;background:#090d13!important;color:#f5f7fb!important}
.lbo-portal .dataTables_wrapper .dataTables_paginate .paginate_button{border-radius:10px!important;border:1px solid rgba(255,255,255,.08)!important;background:#111722!important;color:#f5f7fb!important;margin:0 2px!important;padding:7px 10px!important}
.lbo-portal .dataTables_wrapper .dataTables_paginate .paginate_button.current,.lbo-portal .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{background:rgba(215,191,120,.12)!important;color:#f0dc9c!important;border-color:rgba(215,191,120,.32)!important}
.lbo-portal .dataTables_wrapper .dataTables_processing{background:#111722!important;color:#f5f7fb!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:14px!important;box-shadow:0 18px 45px rgba(0,0,0,.30)!important}
@media(max-width:980px){.lbo-portal .lgb-admin-grid-2,.lbo-portal .lgb-admin-grid-3,.lbo-portal .lgb-admin-grid-4,.lbo-portal .lgb-kpis-operational{grid-template-columns:1fr!important}.lbo-portal .lgb-col-2,.lbo-portal .lgb-col-3{grid-column:auto!important}.lbo-portal .lgb-tags-entry{flex-direction:column!important}}

/* LBO 1.14.4 - Select2 administrativo para Contenido web */
.lbo-portal .lbo-field .select2-container {
  width: 100% !important;
  display: block;
}

.lbo-portal .select2-container--default .select2-selection--single,
.lbo-portal .select2-container--default .select2-selection--multiple {
  width: 100%;
  min-height: 54px;
  border: 1px solid rgba(215, 191, 120, 0.22) !important;
  border-radius: 14px !important;
  background: rgba(7, 11, 16, 0.96) !important;
  color: #f5f7fb !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.02) inset;
}

.lbo-portal .select2-container--default .select2-selection--single {
  height: 54px;
}

.lbo-portal .select2-container--default.select2-container--focus .select2-selection--single,
.lbo-portal .select2-container--default.select2-container--focus .select2-selection--multiple,
.lbo-portal .select2-container--default.select2-container--open .select2-selection--single,
.lbo-portal .select2-container--default.select2-container--open .select2-selection--multiple {
  border-color: rgba(215, 191, 120, 0.72) !important;
  box-shadow: 0 0 0 3px rgba(215, 191, 120, 0.12);
}

.lbo-portal .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #f5f7fb !important;
  line-height: 54px;
  padding-left: 16px;
  padding-right: 44px;
  font-weight: 800;
}

.lbo-portal .select2-container--default .select2-selection--single .select2-selection__placeholder,
.lbo-portal .select2-container--default .select2-search--inline .select2-search__field::placeholder {
  color: #a7afbb !important;
}

.lbo-portal .select2-container--default .select2-selection--single .select2-selection__arrow {
  width: 44px;
  height: 52px;
  right: 4px;
}

.lbo-portal .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #d7bf78 transparent transparent transparent !important;
}

.lbo-portal .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #d7bf78 transparent !important;
}

.lbo-portal .select2-container--default .select2-selection--multiple {
  padding: 7px 10px;
}

.lbo-portal .select2-container--default .select2-selection--multiple .select2-selection__rendered {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 0;
}

.lbo-portal .select2-container--default .select2-selection--multiple .select2-selection__choice {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 7px 10px;
  border: 1px solid rgba(215, 191, 120, 0.38);
  border-radius: 999px;
  background: rgba(215, 191, 120, 0.12);
  color: #f5f7fb;
  font-weight: 800;
}

.lbo-portal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.10);
  color: #d7bf78;
  font-size: 16px;
  line-height: 1;
  order: 2;
}

.lbo-portal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  background: rgba(215, 191, 120, 0.22);
  color: #fff;
}

.lbo-portal .select2-container--default .select2-search--inline .select2-search__field {
  min-height: 34px;
  margin: 0;
  color: #f5f7fb;
  font-family: inherit;
  font-weight: 700;
}

.lbo-select2-dropdown.select2-dropdown {
  overflow: hidden;
  border: 1px solid rgba(215, 191, 120, 0.34) !important;
  border-radius: 14px !important;
  background: #0b1017 !important;
  color: #f5f7fb;
  box-shadow: 0 22px 50px rgba(0,0,0,0.42);
}

.lbo-select2-dropdown .select2-search--dropdown {
  padding: 10px;
  background: #0b1017;
}

.lbo-select2-dropdown .select2-search--dropdown .select2-search__field {
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 12px;
  background: #070b10;
  color: #f5f7fb;
  font-weight: 700;
  outline: none;
}

.lbo-select2-dropdown .select2-results__option {
  padding: 11px 14px;
  color: #e8ecf3;
  font-weight: 800;
}

.lbo-select2-dropdown .select2-results__option--selected {
  background: rgba(215, 191, 120, 0.18) !important;
  color: #f5f7fb !important;
}

.lbo-select2-dropdown .select2-results__option--highlighted.select2-results__option--selectable {
  background: rgba(215, 191, 120, 0.28) !important;
  color: #fff !important;
}

.lbo-select2-dropdown .select2-results__message {
  color: #a7afbb;
  font-weight: 700;
}

.lbo-portal .lbo-field-help {
  margin: 8px 0 0;
  color: #a7afbb;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 700;
}

/* LBO 1.14.5 - Fix Select2 multiple en Contenido web */
.lbo-portal .select2-container--default .select2-selection--multiple {
  min-height: 54px !important;
  height: auto !important;
  padding: 8px 10px !important;
  display: block !important;
}

.lbo-portal .select2-container--default .select2-selection--multiple .select2-selection__rendered {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  min-height: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.lbo-portal .select2-container--default .select2-selection--multiple .select2-selection__choice {
  float: none !important;
  max-width: 100% !important;
  min-height: 34px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  white-space: normal !important;
}

.lbo-portal .select2-container--default .select2-selection--multiple .select2-search--inline {
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 34px !important;
  margin: 0 !important;
}

.lbo-portal .lbo-field .select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field,
.lbo-portal .select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
  width: auto !important;
  min-width: 210px !important;
  max-width: 100% !important;
  height: 32px !important;
  min-height: 32px !important;
  margin: 0 !important;
  padding: 0 6px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  outline: none !important;
  color: #f5f7fb !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 32px !important;
}

.lbo-portal .select2-container--default .select2-selection--multiple .select2-selection__clear {
  color: #d7bf78 !important;
  margin-right: 8px !important;
}

.lbo-select2-dropdown .select2-results__option--selected {
  position: relative !important;
  background: rgba(215, 191, 120, 0.16) !important;
  color: #f0dc9c !important;
  padding-left: 38px !important;
}

.lbo-select2-dropdown .select2-results__option--selected::before {
  content: '✓';
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(215, 191, 120, 0.22);
  color: #f0dc9c;
  font-size: 11px;
  font-weight: 950;
}

.lbo-select2-dropdown .select2-results__option--selected.select2-results__option--highlighted {
  background: rgba(215, 191, 120, 0.28) !important;
  color: #fff !important;
}

.lbo-select2-dropdown .lbo-select2-option {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.lbo-select2-dropdown .lbo-select2-option-check {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  background: rgba(215, 191, 120, 0.22);
  color: #f0dc9c;
  font-size: 11px;
  font-weight: 950;
}

/* =========================================================
   LBO 1.14.6 - Correos, usuarios, clientes y modales admin
========================================================= */
.lbo-section-heading {
  margin-bottom: 18px;
}
.lbo-section-heading > span {
  display: block;
  margin-bottom: 7px;
  color: var(--lbo-accent, #d7bf78) !important;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .16em;
}
.lbo-section-heading h2 {
  margin-bottom: 8px !important;
}
.lbo-section-heading p {
  margin: 0;
  color: var(--lbo-muted, #a7afbb) !important;
}
.lbo-form-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.lbo-form-actions-spaced,
.lbo-email-actions {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.lbo-email-form .lbo-card {
  margin-bottom: 24px !important;
}
.lbo-email-editor-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr);
  gap: 18px;
  align-items: stretch;
}
.lbo-email-editor-main,
.lbo-email-preview-card {
  min-width: 0;
}
.lbo-email-editor-shell .wp-editor-wrap {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  overflow: hidden;
  background: #070a0f;
}
.lbo-email-editor-shell .wp-editor-tabs button,
.lbo-email-editor-shell .wp-switch-editor {
  border-radius: 12px 12px 0 0 !important;
  background: rgba(255,255,255,.07) !important;
  color: #f5f7fb !important;
  border-color: rgba(255,255,255,.10) !important;
  font-weight: 900 !important;
}
.lbo-email-editor-shell .html-active .switch-html,
.lbo-email-editor-shell .tmce-active .switch-tmce {
  background: linear-gradient(135deg, #f0dfaa, #d7bf78) !important;
  color: #090d12 !important;
}
.lbo-email-editor-shell .mce-toolbar-grp,
.lbo-email-editor-shell .mce-statusbar,
.lbo-email-editor-shell .quicktags-toolbar {
  background: #111722 !important;
  border-color: rgba(255,255,255,.10) !important;
}
.lbo-email-editor-shell .wp-editor-container,
.lbo-email-editor-shell textarea.wp-editor-area {
  border: 0 !important;
  background: #070a0f !important;
  color: #f5f7fb !important;
}
.lbo-email-preview-card {
  border: 1px solid rgba(215,191,120,.24);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
  overflow: hidden;
}
.lbo-email-preview-head {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.lbo-email-preview-head span {
  display: block;
  color: #f5f7fb;
  font-weight: 900;
}
.lbo-email-preview-head small {
  display: block;
  margin-top: 4px;
  color: #aeb4c0;
  font-weight: 700;
}
.lbo-email-preview {
  min-height: 250px;
  padding: 18px;
  color: #e8ecf3;
  background: #090c12;
  overflow: auto;
  line-height: 1.55;
}
.lbo-email-preview h1,
.lbo-email-preview h2,
.lbo-email-preview h3 {
  color: #ffffff;
}
.lbo-email-preview a {
  color: #d7bf78;
  font-weight: 900;
}
.lbo-mini-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(215,191,120,.28);
  background: rgba(15,23,42,.72);
  color: #f5f7fb;
  font-weight: 900;
  cursor: pointer;
}
.lbo-mini-button:hover {
  background: linear-gradient(135deg, #f0dfaa, #d7bf78);
  color: #090d12;
}
.lbo-customers-datatable td small,
.lbo-portal-users-datatable td small {
  display: block;
  margin-top: 5px;
  color: #aeb4c0 !important;
  font-size: 12px;
  font-weight: 700;
}
body.lbo-modal-open {
  overflow: hidden;
}
.lbo-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 99998;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(8px);
}
.lbo-customer-modal {
  position: fixed;
  z-index: 99999;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(1120px, calc(100vw - 34px));
  max-height: min(86vh, 850px);
  overflow: auto;
  padding: 26px;
  border-radius: 26px;
  border: 1px solid rgba(215,191,120,.32);
  background: linear-gradient(180deg, #121923 0%, #0d1219 100%);
  box-shadow: 0 30px 90px rgba(0,0,0,.58);
  color: #f5f7fb;
}
.lbo-customer-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.lbo-customer-modal-head span {
  display: block;
  margin-bottom: 6px;
  color: #d7bf78;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .16em;
}
.lbo-customer-modal-head h2 {
  margin: 0;
  color: #fff;
  font-size: 30px;
}
.lbo-customer-modal-head p {
  margin: 7px 0 0;
  color: #aeb4c0;
  font-weight: 800;
}
.lbo-modal-close {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: 28px;
  font-weight: 900;
  cursor: pointer;
  line-height: 1;
}
.lbo-customer-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 20px 0;
}
.lbo-customer-kpis > div,
.lbo-customer-detail-grid section {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background: #070a0f;
  padding: 16px;
}
.lbo-customer-kpis span {
  display: block;
  margin-bottom: 8px;
  color: #7d8594;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.lbo-customer-kpis strong {
  display: block;
  color: #fff;
  font-size: 18px;
}
.lbo-customer-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 20px;
}
.lbo-customer-detail-grid h3,
.lbo-customer-orders h3 {
  margin: 0 0 14px;
  color: #fff;
}
.lbo-customer-detail-grid dl {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 10px 14px;
  margin: 0;
}
.lbo-customer-detail-grid dt {
  color: #7d8594;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 11px;
}
.lbo-customer-detail-grid dd {
  margin: 0;
  color: #f5f7fb;
  font-weight: 800;
  word-break: break-word;
}
.lbo-muted {
  color: #aeb4c0 !important;
}
.lbo-customer-orders .lbo-table-wrap {
  margin-top: 10px;
}
@media (max-width: 980px) {
  .lbo-email-editor-shell,
  .lbo-customer-detail-grid,
  .lbo-customer-kpis {
    grid-template-columns: 1fr;
  }
  .lbo-customer-detail-grid dl {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   LBO 1.14.8 - Portada configurable de la página de planes
========================================================= */
.lbo-plans-cover-card {
  overflow: hidden;
}

.lbo-plans-cover-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 20px;
}

.lbo-plans-cover-card__eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin-bottom: 10px;
  padding: 0 11px;
  border: 1px solid rgba(215,191,120,.28);
  border-radius: 999px;
  color: #d7bf78;
  background: rgba(215,191,120,.06);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.lbo-plans-cover-card code {
  color: #f0dc9c;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 7px;
  padding: 2px 6px;
}

.lbo-plans-cover-editor {
  display: grid;
  grid-template-columns: minmax(0,1.3fr) minmax(300px,.7fr);
  gap: 22px;
  align-items: stretch;
}

.lbo-plans-cover-preview {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 270px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid rgba(215,191,120,.25);
  border-radius: 22px;
  background-color: #080b10;
  background-image:
    radial-gradient(circle at 75% 30%, rgba(215,191,120,.10), transparent 34%),
    linear-gradient(135deg, rgba(20,26,36,.98), rgba(7,10,15,.98));
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02), 0 18px 42px rgba(0,0,0,.20);
}

.lbo-plans-cover-preview::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(5,8,12,.88) 0%, rgba(5,8,12,.48) 55%, rgba(5,8,12,.16) 100%);
}

.lbo-plans-cover-preview.is-empty::before {
  content: "Sin imagen";
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  color: #aeb4c0;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.lbo-plans-cover-preview__copy {
  position: relative;
  z-index: 3;
  display: grid;
  gap: 7px;
  max-width: 78%;
}

.lbo-plans-cover-preview__copy small {
  color: #d7bf78;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.lbo-plans-cover-preview__copy strong {
  color: #f5f7fb;
  font-size: clamp(28px,3vw,42px);
  line-height: 1.02;
  letter-spacing: -.04em;
}

.lbo-plans-cover-preview__copy span {
  color: #aeb4c0;
  font-size: 13px;
}

.lbo-plans-cover-controls {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  min-height: 270px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  background: rgba(255,255,255,.025);
}

.lbo-plans-cover-media-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.lbo-plans-cover-media-actions .lbo-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 0 16px;
  border: 1px solid rgba(215,191,120,.54);
  border-radius: 12px;
  color: #080b10;
  background: linear-gradient(135deg,#d7bf78,#f0dc9c);
  box-shadow: none;
  font-size: 13px;
  font-weight: 950;
  cursor: pointer;
  transition: transform .18s ease, filter .18s ease, border-color .18s ease;
}

.lbo-plans-cover-media-actions .lbo-button:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
}

.lbo-plans-cover-media-actions .lbo-button .dashicons {
  width: 19px;
  height: 19px;
  font-size: 19px;
  line-height: 19px;
}

.lbo-plans-cover-media-actions .lbo-button--danger {
  color: #ffb7b7;
  background: rgba(150,38,38,.10);
  border-color: rgba(255,105,105,.30);
}

.lbo-plans-cover-media-actions .lbo-button--danger:hover {
  color: #ffd1d1;
  background: rgba(170,45,45,.16);
  border-color: rgba(255,120,120,.48);
}

.lbo-plans-cover-media-actions .is-hidden {
  display: none !important;
}

.lbo-plans-cover-selection-status {
  display: grid;
  gap: 4px;
  padding: 14px;
  border-radius: 13px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.025);
}

.lbo-plans-cover-selection-status strong {
  color: #f5f7fb;
  font-size: 13px;
  font-weight: 900;
}

.lbo-plans-cover-selection-status span {
  color: #aeb4c0;
  font-size: 12px;
  line-height: 1.45;
}

body.media-modal-open .media-modal,
body.media-modal-open .media-modal-backdrop {
  z-index: 200000 !important;
}

@media (max-width: 980px) {
  .lbo-plans-cover-editor {
    grid-template-columns: 1fr;
  }
  .lbo-plans-cover-controls {
    min-height: auto;
  }
}

@media (max-width: 640px) {
  .lbo-plans-cover-preview {
    min-height: 220px;
    padding: 22px;
  }
  .lbo-plans-cover-preview__copy {
    max-width: 100%;
  }
  .lbo-plans-cover-controls {
    padding: 18px;
  }
}

/* =========================================================
   LBO 1.15.0 - Compras, créditos, reservas y seguimiento
========================================================= */
.lbo-report-section {
  margin-bottom: 26px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  background: linear-gradient(145deg,rgba(23,29,39,.96),rgba(10,14,20,.98));
}
.lbo-section-heading > span {
  color: #d7bf78;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.lbo-section-heading h2 {
  margin: 7px 0 6px;
  color: #f5f7fb;
  font-size: 24px;
}
.lbo-section-heading p { margin: 0; color: #aeb4c0; }
.lbo-kpis-report {
  grid-template-columns: repeat(auto-fit,minmax(165px,1fr));
  margin-top: 18px;
}
.lbo-kpis-report .lbo-kpi {
  min-height: 118px;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.025);
}
.lbo-kpis-report .lbo-kpi span { color: #d7bf78; }
.lbo-kpis-report .lbo-kpi strong { color: #f5f7fb; font-size: 28px; }
.lbo-report-filters {
  display: grid;
  grid-template-columns: minmax(180px,1.2fr) repeat(2,minmax(155px,.8fr)) auto;
  gap: 12px;
  align-items: center;
  margin-bottom: 18px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background: rgba(255,255,255,.025);
}
.lbo-report-filters select,
.lbo-report-filters input {
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 13px;
  color: #f5f7fb;
  background: #080b10;
}
.lbo-filter-button {
  min-height: 46px;
  padding: 0 22px;
  border: 1px solid #f0dc9c;
  border-radius: 13px;
  color: #050505;
  background: linear-gradient(135deg,#d7bf78,#f0dc9c);
  font-weight: 900;
  text-transform: uppercase;
}
.lbo-icon-action {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid rgba(215,191,120,.68);
  border-radius: 12px;
  color: #f0dc9c;
  background: transparent;
  cursor: pointer;
}
.lbo-icon-action:hover { color: #050505; background: #d7bf78; }
.lbo-icon-action svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.9; }
.lbo-icon-action.is-loading { opacity: .55; pointer-events: none; }
.lbo-status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 11px;
  border-radius: 999px;
  color: #dfe5ee;
  background: rgba(255,255,255,.08);
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}
.lbo-status-badge.is-active,.lbo-status-badge.is-completed,.lbo-status-badge.is-confirmed { color:#c7efa5; background:rgba(83,143,55,.22); }
.lbo-status-badge.is-processing,.lbo-status-badge.is-rescheduled { color:#b7d7ff; background:rgba(49,100,164,.24); }
.lbo-status-badge.is-pending,.lbo-status-badge.is-on-hold { color:#f0cf82; background:rgba(173,111,23,.25); }
.lbo-status-badge.is-cancelled,.lbo-status-badge.is-failed,.lbo-status-badge.is-expired,.lbo-status-badge.is-no-show { color:#ffaaa4; background:rgba(155,57,49,.25); }
.lbo-status-badge.is-consumed { color:#c8ced8; background:rgba(90,98,112,.22); }
.lbo-status-badge.is-crédito { color:#f0dc9c; background:rgba(215,191,120,.12); }
.lbo-status-badge.is-reserva { color:#b7d7ff; background:rgba(49,100,164,.22); }
.lbo-credit-amount.is-positive { color:#bfea98; }
.lbo-credit-amount.is-negative { color:#ffaaa4; }
.lbo-report-tabs,
.lbo-customer-tabs {
  display: flex;
  gap: 8px;
  margin: 20px 0 16px;
  overflow-x: auto;
}
.lbo-report-tabs button,
.lbo-customer-tabs button {
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px;
  color: #c7ccd7;
  background: rgba(255,255,255,.025);
  font-weight: 800;
  white-space: nowrap;
}
.lbo-report-tabs button.is-active,
.lbo-customer-tabs button.is-active { color:#050505; background:#d7bf78; border-color:#f0dc9c; }
.lbo-report-tab-panel,
.lbo-customer-tab-panel { display:none; }
.lbo-report-tab-panel.is-active,
.lbo-customer-tab-panel.is-active { display:block; }
.lbo-operation-modal-shell { width:min(980px,calc(100vw - 32px)); }
.lbo-operation-modal {
  position: relative;
  padding: 28px;
  color: #f5f7fb;
  background: linear-gradient(145deg,#171d27,#090d13);
  border: 1px solid rgba(215,191,120,.24);
  border-radius: 22px;
}
.lbo-operation-modal > header { margin-bottom: 20px; padding-right: 48px; }
.lbo-operation-modal > header > span { color:#d7bf78; font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.lbo-operation-modal > header h2 { margin:7px 0 4px; color:#f5f7fb; font-size:30px; }
.lbo-operation-modal > header p { margin:0; color:#aeb4c0; }
.lbo-operation-modal .lbo-modal-close { position:absolute; top:18px; right:18px; }
.lbo-detail-kpis {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(155px,1fr));
  gap:12px;
  margin-bottom:18px;
}
.lbo-detail-kpis article {
  min-height:96px;
  padding:16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:rgba(255,255,255,.025);
}
.lbo-detail-kpis small { display:block; margin-bottom:8px; color:#aeb4c0; font-size:11px; text-transform:uppercase; }
.lbo-detail-kpis strong { color:#f5f7fb; font-size:17px; line-height:1.35; }
.lbo-detail-section {
  margin-top:16px;
  padding:18px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(255,255,255,.018);
}
.lbo-detail-section h3 { margin:0 0 14px; color:#f5f7fb; font-size:18px; }
.lbo-detail-row,
.lbo-detail-list article,
.lbo-customer-card-list article {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.lbo-detail-row:last-child,.lbo-detail-list article:last-child,.lbo-customer-card-list article:last-child { border-bottom:0; }
.lbo-detail-row strong,.lbo-detail-list strong,.lbo-customer-card-list strong { display:block; color:#f5f7fb; }
.lbo-detail-row small,.lbo-detail-list small,.lbo-customer-card-list small { display:block; margin-top:4px; color:#aeb4c0; }
.lbo-inline-form {
  display:grid;
  grid-template-columns:minmax(130px,.6fr) minmax(240px,1.7fr) auto;
  gap:12px;
  align-items:end;
}
.lbo-inline-form label span { display:block; margin-bottom:7px; color:#aeb4c0; font-size:12px; font-weight:800; }
.lbo-inline-form input,.lbo-inline-form select {
  width:100%; min-height:46px; padding:0 13px; color:#f5f7fb; background:#080b10;
  border:1px solid rgba(255,255,255,.10); border-radius:12px;
}
.lbo-inline-form button { min-height:46px; padding:0 18px; border:1px solid #f0dc9c; border-radius:12px; color:#050505; background:#d7bf78; font-weight:900; }
.lbo-form-note { margin:12px 0 0; color:#aeb4c0; font-size:12px; }
.lbo-customer-tab-panel { padding-top:6px; }
.lbo-customer-tab-panel > h3 { color:#f5f7fb; }
.lbo-invoice-detail .button,.lbo-invoice-detail a { margin-right:8px; }

@media (max-width: 1100px) {
  .lbo-report-filters { grid-template-columns:1fr 1fr; }
  .lbo-filter-button { width:100%; }
}
@media (max-width: 720px) {
  .lbo-report-section { padding:18px; border-radius:18px; }
  .lbo-report-filters { grid-template-columns:1fr; }
  .lbo-kpis-report { grid-template-columns:1fr 1fr; gap:12px; }
  .lbo-operation-modal { padding:22px 16px; border-radius:18px; }
  .lbo-operation-modal > header h2 { font-size:24px; }
  .lbo-detail-kpis { grid-template-columns:1fr 1fr; }
  .lbo-inline-form { grid-template-columns:1fr; }
  .lbo-detail-row,.lbo-detail-list article,.lbo-customer-card-list article { align-items:flex-start; flex-direction:column; gap:8px; }
}
@media (max-width: 430px) {
  .lbo-kpis-report,.lbo-detail-kpis { grid-template-columns:1fr; }
  .lbo-report-tabs button,.lbo-customer-tabs button { min-height:40px; padding:0 14px; font-size:12px; }
}
.lbo-reservation-status-form { grid-template-columns:minmax(170px,.8fr) minmax(260px,1.6fr) auto; }
.lbo-reschedule-fields {
  display:none;
  grid-column:1 / -1;
  grid-template-columns:1fr 1.4fr;
  gap:12px;
  padding:14px;
  border:1px solid rgba(215,191,120,.18);
  border-radius:14px;
  background:rgba(215,191,120,.04);
}
.lbo-reschedule-fields.is-visible { display:grid; }
@media (max-width:720px) {
  .lbo-reservation-status-form { grid-template-columns:1fr; }
  .lbo-reschedule-fields { grid-template-columns:1fr; }
}
.lbo-report-filters--wide { grid-template-columns:repeat(3,minmax(160px,1fr)) repeat(2,minmax(145px,.8fr)) auto; }
.lbo-report-tab-panel .lbo-report-filters { grid-template-columns:minmax(220px,1fr) auto; max-width:520px; }
@media (max-width:1200px) { .lbo-report-filters--wide { grid-template-columns:repeat(3,1fr); } }
@media (max-width:720px) { .lbo-report-filters--wide,.lbo-report-tab-panel .lbo-report-filters { grid-template-columns:1fr; max-width:none; } }

/* =========================================================
   LBO 1.15.1 - Contraste obligatorio y campos de fecha
========================================================= */

/* Todos los títulos visibles del portal usan blanco sobre fondos oscuros. */
.lbo-portal h1,
.lbo-portal h2,
.lbo-portal h3,
.lbo-portal h4,
.lbo-portal h5,
.lbo-portal h6,
.lbo-customer-modal h1,
.lbo-customer-modal h2,
.lbo-customer-modal h3,
.lbo-customer-modal h4,
.lbo-customer-modal h5,
.lbo-customer-modal h6,
.lbo-operation-modal h1,
.lbo-operation-modal h2,
.lbo-operation-modal h3,
.lbo-operation-modal h4,
.lbo-operation-modal h5,
.lbo-operation-modal h6 {
  color: #f5f7fb !important;
  -webkit-text-fill-color: #f5f7fb !important;
  opacity: 1 !important;
}

/* Subtítulos y descripciones inmediatas de encabezados. */
.lbo-portal .lbo-header > p,
.lbo-portal .lbo-section-heading > p,
.lbo-portal .lbo-card-head-row > div > p,
.lbo-portal .lbo-gallery-admin-section-head > div > p,
.lbo-portal .lbo-gallery-header-v2 > div > p,
.lbo-portal [class*="__heading"] > p,
.lbo-portal [class*="__header"] > p,
.lbo-customer-modal-head > div > p,
.lbo-operation-modal > header > p,
.lbo-operation-modal .lbo-detail-section > p {
  color: #f5f7fb !important;
  -webkit-text-fill-color: #f5f7fb !important;
  opacity: 1 !important;
}

/* Títulos internos de cards, modales, pestañas y reportes. */
.lbo-portal .lbo-detail-section h3,
.lbo-portal .lbo-customer-tab-panel > h3,
.lbo-portal .lbo-customer-detail-grid h3,
.lbo-portal .lbo-customer-orders h3,
.lbo-portal .lbo-card h2,
.lbo-portal .lbo-card h3,
.lbo-customer-modal .lbo-detail-section h3,
.lbo-operation-modal .lbo-detail-section h3 {
  color: #f5f7fb !important;
  -webkit-text-fill-color: #f5f7fb !important;
}

/* Campos de fecha consistentes con selects e inputs oscuros. */
.lbo-portal input[type="date"],
.lbo-customer-modal input[type="date"],
.lbo-operation-modal input[type="date"],
.lbo-standalone-body input[type="date"],
input.lbo-date-input {
  position: relative !important;
  width: 100% !important;
  min-height: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 46px 0 14px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 13px !important;
  color: #f5f7fb !important;
  -webkit-text-fill-color: #f5f7fb !important;
  background-color: #080b10 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23d7bf78' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 18px 18px !important;
  box-shadow: none !important;
  outline: none !important;
  color-scheme: dark !important;
  font: inherit !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 46px !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.lbo-portal input[type="date"]:hover,
.lbo-customer-modal input[type="date"]:hover,
.lbo-operation-modal input[type="date"]:hover,
.lbo-standalone-body input[type="date"]:hover,
input.lbo-date-input:hover {
  border-color: rgba(215,191,120,.38) !important;
  background-color: #0b0f16 !important;
}

.lbo-portal input[type="date"]:focus,
.lbo-customer-modal input[type="date"]:focus,
.lbo-operation-modal input[type="date"]:focus,
.lbo-standalone-body input[type="date"]:focus,
input.lbo-date-input:focus {
  border-color: #d7bf78 !important;
  background-color: #0b0f16 !important;
  box-shadow: 0 0 0 3px rgba(215,191,120,.10) !important;
}

.lbo-portal input[type="date"]::-webkit-calendar-picker-indicator,
.lbo-customer-modal input[type="date"]::-webkit-calendar-picker-indicator,
.lbo-operation-modal input[type="date"]::-webkit-calendar-picker-indicator,
.lbo-standalone-body input[type="date"]::-webkit-calendar-picker-indicator,
input.lbo-date-input::-webkit-calendar-picker-indicator {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  width: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
}

.lbo-portal input[type="date"]::-webkit-datetime-edit,
.lbo-customer-modal input[type="date"]::-webkit-datetime-edit,
.lbo-operation-modal input[type="date"]::-webkit-datetime-edit,
.lbo-standalone-body input[type="date"]::-webkit-datetime-edit,
input.lbo-date-input::-webkit-datetime-edit {
  padding: 0 !important;
  color: #f5f7fb !important;
}

.lbo-portal input[type="date"]::-webkit-datetime-edit-fields-wrapper,
.lbo-customer-modal input[type="date"]::-webkit-datetime-edit-fields-wrapper,
.lbo-operation-modal input[type="date"]::-webkit-datetime-edit-fields-wrapper,
.lbo-standalone-body input[type="date"]::-webkit-datetime-edit-fields-wrapper,
input.lbo-date-input::-webkit-datetime-edit-fields-wrapper {
  padding: 0 !important;
  color: #f5f7fb !important;
}

.lbo-portal input[type="date"]::-webkit-datetime-edit-text,
.lbo-customer-modal input[type="date"]::-webkit-datetime-edit-text,
.lbo-operation-modal input[type="date"]::-webkit-datetime-edit-text,
.lbo-standalone-body input[type="date"]::-webkit-datetime-edit-text,
input.lbo-date-input::-webkit-datetime-edit-text {
  color: #7d8594 !important;
}

.lbo-portal input[type="date"]::-webkit-datetime-edit-day-field,
.lbo-portal input[type="date"]::-webkit-datetime-edit-month-field,
.lbo-portal input[type="date"]::-webkit-datetime-edit-year-field,
.lbo-customer-modal input[type="date"]::-webkit-datetime-edit-day-field,
.lbo-customer-modal input[type="date"]::-webkit-datetime-edit-month-field,
.lbo-customer-modal input[type="date"]::-webkit-datetime-edit-year-field,
.lbo-operation-modal input[type="date"]::-webkit-datetime-edit-day-field,
.lbo-operation-modal input[type="date"]::-webkit-datetime-edit-month-field,
.lbo-operation-modal input[type="date"]::-webkit-datetime-edit-year-field,
input.lbo-date-input::-webkit-datetime-edit-day-field,
input.lbo-date-input::-webkit-datetime-edit-month-field,
input.lbo-date-input::-webkit-datetime-edit-year-field {
  color: #f5f7fb !important;
  -webkit-text-fill-color: #f5f7fb !important;
}

@media (max-width: 720px) {
  .lbo-portal input[type="date"],
  .lbo-customer-modal input[type="date"],
  .lbo-operation-modal input[type="date"],
  .lbo-standalone-body input[type="date"],
  input.lbo-date-input {
    min-height: 48px !important;
    height: 48px !important;
    line-height: 48px !important;
  }
}

/* =========================================================
   LBO 1.15.2 - Editor HTML de correos
   Restablece la interfaz del editor dentro del portal oscuro.
========================================================= */
.lbo-email-editor-shell {
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
}

.lbo-email-editor-main {
  min-width: 0 !important;
}

.lbo-email-editor-shell .wp-editor-wrap {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(215,191,120,.20) !important;
  border-radius: 18px !important;
  background: #090d13 !important;
  box-shadow: none !important;
}

.lbo-email-editor-shell .wp-editor-tools {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  min-height: 44px !important;
  padding: 8px 10px 0 !important;
  background: #0d121a !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.lbo-email-editor-shell .wp-editor-tabs {
  display: flex !important;
  align-items: flex-end !important;
  gap: 6px !important;
  float: none !important;
  margin: 0 !important;
}

.lbo-email-editor-shell .wp-editor-tabs button,
.lbo-email-editor-shell .wp-switch-editor {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 72px !important;
  max-width: none !important;
  min-height: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-bottom: 0 !important;
  border-radius: 10px 10px 0 0 !important;
  background: #151b25 !important;
  color: #d9dee7 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
}

.lbo-email-editor-shell .html-active .switch-html,
.lbo-email-editor-shell .tmce-active .switch-tmce {
  background: linear-gradient(135deg,#f0dc9c,#d7bf78) !important;
  color: #080b10 !important;
  border-color: #f0dc9c !important;
}

.lbo-email-editor-shell .wp-editor-container {
  border: 0 !important;
  background: #090d13 !important;
}

.lbo-email-editor-shell .quicktags-toolbar {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  min-height: 48px !important;
  padding: 8px 10px !important;
  background: #111722 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.lbo-email-editor-shell .quicktags-toolbar input.ed_button,
.lbo-email-editor-shell .quicktags-toolbar input[type="button"],
.lbo-email-editor-shell .quicktags-toolbar button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 34px !important;
  max-width: none !important;
  min-height: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 8px !important;
  background: #1a2230 !important;
  color: #eef2f7 !important;
  box-shadow: none !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
}

.lbo-email-editor-shell .quicktags-toolbar input.ed_button:hover,
.lbo-email-editor-shell .quicktags-toolbar input[type="button"]:hover,
.lbo-email-editor-shell .quicktags-toolbar button:hover {
  color: #080b10 !important;
  background: #d7bf78 !important;
  border-color: #f0dc9c !important;
}

.lbo-email-editor-shell textarea.wp-editor-area {
  display: block !important;
  width: 100% !important;
  min-height: 360px !important;
  height: 360px !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #070a0f !important;
  color: #f5f7fb !important;
  box-shadow: none !important;
  resize: vertical !important;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere !important;
  tab-size: 2 !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

.lbo-email-editor-shell textarea.wp-editor-area:focus {
  outline: none !important;
  box-shadow: inset 0 0 0 1px rgba(215,191,120,.38) !important;
}

.lbo-email-editor-shell .mce-tinymce,
.lbo-email-editor-shell .mce-panel,
.lbo-email-editor-shell .mce-toolbar-grp,
.lbo-email-editor-shell .mce-statusbar {
  border: 0 !important;
  box-shadow: none !important;
}

.lbo-email-editor-shell .mce-toolbar-grp {
  padding: 6px 8px !important;
  background: #111722 !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.lbo-email-editor-shell .mce-toolbar,
.lbo-email-editor-shell .mce-toolbar .mce-container-body {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
}

.lbo-email-editor-shell .mce-toolbar .mce-btn-group {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 3px !important;
  float: none !important;
  margin: 0 5px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.lbo-email-editor-shell .mce-toolbar .mce-btn,
.lbo-email-editor-shell .mce-toolbar .mce-btn button {
  width: auto !important;
  min-width: 32px !important;
  max-width: none !important;
  min-height: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  border-radius: 7px !important;
  box-shadow: none !important;
}

.lbo-email-editor-shell .mce-toolbar .mce-btn {
  border: 1px solid rgba(255,255,255,.08) !important;
  background: #1a2230 !important;
}

.lbo-email-editor-shell .mce-toolbar .mce-btn button {
  padding: 0 8px !important;
  color: #eef2f7 !important;
  background: transparent !important;
  border: 0 !important;
}

.lbo-email-editor-shell .mce-toolbar .mce-btn:hover,
.lbo-email-editor-shell .mce-toolbar .mce-btn.mce-active {
  background: rgba(215,191,120,.18) !important;
  border-color: rgba(215,191,120,.42) !important;
}

.lbo-email-editor-shell .mce-toolbar .mce-ico,
.lbo-email-editor-shell .mce-toolbar .mce-txt,
.lbo-email-editor-shell .mce-toolbar .mce-caret {
  color: #eef2f7 !important;
  text-shadow: none !important;
}

.lbo-email-editor-shell .mce-statusbar {
  min-height: 28px !important;
  background: #0d121a !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}

.lbo-email-editor-shell .mce-statusbar .mce-path-item,
.lbo-email-editor-shell .mce-statusbar .mce-wordcount {
  color: #8f98a7 !important;
  font-size: 11px !important;
}

.lbo-email-editor-shell iframe {
  min-height: 360px !important;
  background: #ffffff !important;
}

.lbo-email-preview-card {
  min-height: 100% !important;
  border-color: rgba(215,191,120,.24) !important;
}

.lbo-email-preview {
  min-height: 360px !important;
  max-height: 520px !important;
}

@media (max-width: 1180px) {
  .lbo-email-editor-shell {
    grid-template-columns: 1fr !important;
  }
  .lbo-email-preview {
    min-height: 260px !important;
  }
}

@media (max-width: 620px) {
  .lbo-email-editor-shell .wp-editor-tools {
    align-items: stretch !important;
  }
  .lbo-email-editor-shell .wp-editor-tabs {
    width: 100% !important;
  }
  .lbo-email-editor-shell .wp-editor-tabs button,
  .lbo-email-editor-shell .wp-switch-editor {
    flex: 1 1 0 !important;
  }
  .lbo-email-editor-shell .quicktags-toolbar {
    gap: 5px !important;
  }
  .lbo-email-editor-shell .quicktags-toolbar input.ed_button,
  .lbo-email-editor-shell .quicktags-toolbar input[type="button"] {
    min-width: 31px !important;
    padding: 0 8px !important;
  }
}

/* =========================================================
   ACCESOS DEL PERSONAL + CONTROL DE INGRESO v1.16.0
========================================================= */
.lbo-user-access-card,
.lbo-checkin-settings,
.lbo-checkin-modal,
.lbo-permission-module {
  color: #f5f7fb;
}

.lbo-user-access-card h2,
.lbo-user-access-card h3,
.lbo-user-access-card strong,
.lbo-checkin-header h1,
.lbo-checkin-settings summary,
.lbo-checkin-modal h2,
.lbo-checkin-modal h3,
.lbo-checkin-modal strong {
  color: #f5f7fb !important;
}

.lbo-permission-profile-row {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  gap: 18px;
  align-items: stretch;
  margin: 24px 0;
}

.lbo-permission-profile-row > .lbo-field,
.lbo-access-status-toggle {
  min-height: 104px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(23,29,39,.96), rgba(11,15,21,.98));
}

.lbo-permission-profile-row .lbo-field small {
  display: block;
  margin-top: 9px;
  color: #aeb4c0;
  font-size: 12px;
  line-height: 1.5;
}

.lbo-access-status-toggle {
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
}

.lbo-access-status-toggle > input {
  width: 44px !important;
  height: 24px !important;
  min-height: 24px !important;
  flex: 0 0 44px;
  margin: 0;
  accent-color: #d7bf78;
}

.lbo-access-status-toggle span {
  display: grid;
  gap: 4px;
}

.lbo-access-status-toggle strong {
  font-size: 14px;
}

.lbo-access-status-toggle small {
  color: #aeb4c0;
  font-size: 12px;
  line-height: 1.45;
}

.lbo-permission-block-heading {
  margin: 24px 0 14px;
}

.lbo-permission-block-heading > span,
.lbo-section-heading > span {
  display: block;
  margin-bottom: 6px;
  color: #d7bf78;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.lbo-permission-block-heading h3,
.lbo-section-heading h2 {
  margin: 0 0 7px;
}

.lbo-section-heading p {
  margin: 0;
  color: #aeb4c0;
}

.lbo-permissions-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.lbo-permission-module {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(23,29,39,.96), rgba(11,15,21,.98));
}

.lbo-permission-module > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 55px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.02);
}

.lbo-permission-module > header strong {
  font-size: 13px;
  line-height: 1.3;
}

.lbo-permission-module > header label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #d7bf78;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.lbo-permission-module > header input,
.lbo-permission-option input {
  width: 17px !important;
  height: 17px !important;
  min-height: 17px !important;
  margin: 0 !important;
  accent-color: #d7bf78;
}

.lbo-permission-module > div {
  display: grid;
  gap: 0;
  padding: 4px 14px 10px;
}

.lbo-permission-option {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 11px 2px;
  color: #e8ecf3;
  font-size: 12px;
  line-height: 1.4;
  border-bottom: 1px solid rgba(255,255,255,.055);
  cursor: pointer;
}

.lbo-permission-option:last-child {
  border-bottom: 0;
}

.lbo-permission-option.is-unavailable {
  opacity: .42;
  cursor: not-allowed;
}

.lbo-permissions-grid.is-profile-locked .lbo-permission-option {
  cursor: default;
}

.lbo-form-actions-spaced {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
}

.lbo-button-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid rgba(215,191,120,.45);
  border-radius: 999px;
  color: #f0dc9c !important;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

/* Control de ingreso */
.lbo-checkin-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.lbo-checkin-current-date {
  display: grid;
  grid-template-columns: auto auto;
  gap: 4px 18px;
  min-width: 220px;
  padding: 16px 18px;
  border: 1px solid rgba(215,191,120,.22);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(23,29,39,.96), rgba(11,15,21,.98));
}

.lbo-checkin-current-date small {
  grid-column: 1 / -1;
  color: #d7bf78;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.lbo-checkin-current-date strong,
.lbo-checkin-current-date span {
  color: #f5f7fb;
  font-size: 18px;
  font-weight: 900;
}

.lbo-checkin-current-date span {
  color: #d7bf78;
  text-align: right;
}

.lbo-checkin-kpis {
  margin-bottom: 20px;
}

.lbo-checkin-settings {
  margin-bottom: 20px;
  padding: 0;
  overflow: hidden;
}

.lbo-checkin-settings summary {
  padding: 18px 20px;
  cursor: pointer;
  font-weight: 900;
  list-style-position: inside;
}

.lbo-checkin-settings[open] summary {
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.lbo-checkin-settings .lbo-inline-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr)) auto;
  gap: 14px;
  align-items: end;
  padding: 18px 20px 20px;
}

.lbo-checkin-settings label,
.lbo-checkin-modal .lbo-inline-form label {
  display: grid;
  gap: 7px;
  color: #d7bf78;
  font-size: 12px;
  font-weight: 800;
}

.lbo-checkin-settings input,
.lbo-checkin-modal input[type="text"] {
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  color: #f5f7fb;
  background: #070a0f;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 12px;
  outline: 0;
}

.lbo-checkin-settings input:focus,
.lbo-checkin-modal input[type="text"]:focus {
  border-color: rgba(215,191,120,.7);
  box-shadow: 0 0 0 3px rgba(215,191,120,.1);
}

.lbo-checkin-settings button,
.lbo-checkin-modal .lbo-inline-form button {
  min-height: 46px;
  padding: 0 20px;
  border: 1px solid #f0dc9c;
  border-radius: 13px;
  color: #050505;
  background: linear-gradient(135deg,#d7bf78,#f0dc9c);
  font-weight: 900;
  cursor: pointer;
}

.lbo-checkin-modal .lbo-detail-kpis {
  grid-template-columns: repeat(4, minmax(0,1fr));
}

.lbo-checkin-window {
  border-left: 4px solid #d7bf78;
}

.lbo-checkin-window.is-open {
  border-color: #76c45c;
  background: rgba(73,130,53,.08);
}

.lbo-checkin-window.is-closed {
  border-color: #d7bf78;
  background: rgba(215,191,120,.06);
}

.lbo-checkin-window p {
  margin: 0 0 6px;
  color: #e8ecf3;
}

.lbo-checkin-window small {
  color: #aeb4c0;
}

.lbo-checkin-exception {
  display: flex !important;
  grid-column: 1 / -1;
  align-items: center;
  gap: 9px !important;
  padding: 12px 14px;
  border: 1px solid rgba(215,191,120,.22);
  border-radius: 12px;
  background: rgba(215,191,120,.06);
  color: #f0dc9c !important;
}

.lbo-checkin-exception input {
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  accent-color: #d7bf78;
}

.lbo-checkin-modal button.is-danger {
  color: #ffd7d7;
  background: rgba(175,45,45,.14);
  border-color: rgba(225,75,75,.55);
}

.lbo-checkin-table-wrap .lbo-status-badge + small {
  display: block;
  margin-top: 5px;
  color: #aeb4c0;
}

@media (max-width: 1180px) {
  .lbo-permissions-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .lbo-checkin-modal .lbo-detail-kpis {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 820px) {
  .lbo-permission-profile-row,
  .lbo-permissions-grid,
  .lbo-checkin-settings .lbo-inline-form {
    grid-template-columns: 1fr;
  }
  .lbo-checkin-header {
    flex-direction: column;
  }
  .lbo-checkin-current-date {
    width: 100%;
    min-width: 0;
  }
  .lbo-form-actions-spaced {
    align-items: stretch;
    flex-direction: column;
  }
  .lbo-form-actions-spaced > * {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .lbo-checkin-modal .lbo-detail-kpis {
    grid-template-columns: 1fr;
  }
  .lbo-permission-module > header {
    align-items: flex-start;
  }
}

.lbo-einvoice-simple-shell.is-readonly form,
.lbo-einvoice-simple-shell.is-readonly button,
.lbo-einvoice-simple-shell.is-readonly input[type="submit"],
.lbo-einvoice-simple-shell.is-readonly .button-primary,
.lbo-einvoice-simple-shell.is-readonly [data-action] {
  display: none !important;
}

.lbo-report-filters--checkin {
  grid-template-columns: repeat(4, minmax(150px, 1fr)) auto;
}
@media (max-width: 1280px) {
  .lbo-report-filters--checkin { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .lbo-report-filters--checkin .lbo-filter-button { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .lbo-report-filters--checkin { grid-template-columns: 1fr; }
  .lbo-report-filters--checkin .lbo-filter-button { grid-column: auto; }
}

/* =========================================================
   CONTROL DE INGRESO - FORMULARIO Y CONTRASTE v1.16.1
========================================================= */
.lbo-portal .lbo-checkin-modal input.lbo-checkin-observation-input,
.lbo-portal .lbo-checkin-modal input.lbo-checkin-observation-input:focus,
.lbo-portal .lbo-checkin-modal input.lbo-checkin-observation-input:active {
  color: #f5f7fb !important;
  -webkit-text-fill-color: #f5f7fb !important;
  caret-color: #f0dc9c !important;
  background-color: #070a0f !important;
  border-color: rgba(255,255,255,.14) !important;
  opacity: 1 !important;
}

.lbo-portal .lbo-checkin-modal input.lbo-checkin-observation-input::placeholder {
  color: #7d8594 !important;
  -webkit-text-fill-color: #7d8594 !important;
  opacity: 1 !important;
}

.lbo-portal .lbo-checkin-modal input.lbo-checkin-observation-input.is-invalid {
  border-color: #ef6a67 !important;
  box-shadow: 0 0 0 3px rgba(239,106,103,.12) !important;
}

.lbo-checkin-exception--notice {
  display: grid !important;
  grid-column: 1 / -1 !important;
  gap: 4px !important;
  padding: 13px 14px !important;
}

.lbo-checkin-exception--notice > span {
  color: #f0dc9c !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.lbo-checkin-exception--notice > small {
  color: #c8ced8 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.lbo-checkin-form-error,
.lbo-checkin-permission-warning {
  grid-column: 1 / -1 !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(239,106,103,.42) !important;
  border-radius: 12px !important;
  color: #ffd8d6 !important;
  background: rgba(158,45,45,.12) !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.5 !important;
}

.lbo-checkin-modal .lbo-inline-form button:disabled {
  cursor: wait !important;
  opacity: .68 !important;
}

.lbo-checkin-modal .lbo-inline-form button.is-loading {
  pointer-events: none !important;
}

/* =========================================================
   LBO 1.17.0 - PANEL MOBILE TIPO APP
   Navegación, tablas-card, formularios y modales adaptativos
========================================================= */
:root {
  --lbo-appbar-height: 68px;
  --lbo-bottom-nav-height: 70px;
  --lbo-safe-top: env(safe-area-inset-top, 0px);
  --lbo-safe-bottom: env(safe-area-inset-bottom, 0px);
}

.lbo-appbar,
.lbo-bottom-nav,
.lbo-drawer-overlay {
  display: none;
}

.lbo-drawer-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.lbo-drawer-close {
  display: none;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 13px;
  color: #f5f7fb;
  background: rgba(255,255,255,.035);
  cursor: pointer;
}

.lbo-drawer-close svg,
.lbo-menu-icon svg,
.lbo-appbar-button svg,
.lbo-bottom-nav-item svg {
  width: 22px;
  height: 22px;
  display: block;
}

.lbo-drawer-user {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 22px;
  padding: 13px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 16px;
  background: rgba(255,255,255,.025);
}

.lbo-drawer-avatar {
  display: inline-flex;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(215,191,120,.42);
  border-radius: 14px;
  color: #080b10;
  background: linear-gradient(135deg,#d7bf78,#f0dc9c);
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .04em;
}

.lbo-drawer-user-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.lbo-drawer-user-copy strong,
.lbo-drawer-user-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lbo-drawer-user-copy strong {
  color: #f5f7fb;
  font-size: 13px;
}

.lbo-drawer-user-copy small {
  color: #aeb4c0;
  font-size: 11px;
}

.lbo-menu-section {
  display: block;
  margin: 18px 12px 6px;
  color: #737c8b;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.lbo-menu-section:first-child {
  margin-top: 0;
}

.lbo-menu .lbo-menu-link {
  gap: 12px !important;
}

.lbo-menu-icon {
  display: inline-flex;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  align-items: center;
  justify-content: center;
  color: #8e98a8;
}

.lbo-menu-link.active .lbo-menu-icon,
.lbo-menu-link:hover .lbo-menu-icon {
  color: #f0dc9c;
}

.lbo-menu-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lbo-menu-logout {
  color: #aeb4c0 !important;
}

.lbo-mobile-filter-toggle {
  display: none;
}

@media (max-width: 980px) {
  html.lbo-standalone-html,
  body.lbo-standalone-body {
    width: 100%;
    min-height: 100%;
    background: #050608 !important;
    overscroll-behavior-y: none;
  }

  body.lbo-standalone-body {
    overflow-x: hidden !important;
  }

  body.lbo-drawer-open {
    overflow: hidden !important;
    touch-action: none;
  }

  body.lbo-modal-open {
    overflow: hidden !important;
  }

  .lbo-standalone-header,
  .lbo-standalone-footer {
    display: none !important;
  }

  .lbo-standalone-shell,
  .lbo-standalone-content {
    min-height: 100dvh !important;
    background: #050608 !important;
  }

  .lbo-portal.lbo-portal-app {
    display: block !important;
    min-height: 100dvh !important;
    padding: 0 !important;
    background:
      radial-gradient(circle at 50% -10%, rgba(215,191,120,.08), transparent 31%),
      linear-gradient(180deg,#080b10 0%,#050608 100%) !important;
  }

  .lbo-appbar {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 1000;
    display: grid;
    grid-template-columns: 44px minmax(0,1fr) 44px;
    align-items: center;
    gap: 10px;
    min-height: calc(var(--lbo-appbar-height) + var(--lbo-safe-top));
    padding: calc(10px + var(--lbo-safe-top)) 14px 10px;
    border-bottom: 1px solid rgba(255,255,255,.075);
    background: rgba(6,8,12,.91);
    box-shadow: 0 10px 32px rgba(0,0,0,.22);
    backdrop-filter: blur(18px) saturate(135%);
    -webkit-backdrop-filter: blur(18px) saturate(135%);
  }

  .lbo-appbar-button {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(255,255,255,.085);
    border-radius: 14px;
    color: #f5f7fb !important;
    background: rgba(255,255,255,.035);
    text-decoration: none !important;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .lbo-appbar-button:active {
    transform: scale(.96);
    background: rgba(215,191,120,.12);
  }

  .lbo-appbar-title {
    min-width: 0;
    display: grid;
    gap: 2px;
    text-align: center;
  }

  .lbo-appbar-title small,
  .lbo-appbar-title strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .lbo-appbar-title small {
    color: #d7bf78;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .lbo-appbar-title strong {
    color: #f5f7fb;
    font-size: 15px;
    letter-spacing: -.02em;
  }

  .lbo-sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 1200 !important;
    width: min(88vw, 350px) !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    padding: calc(18px + var(--lbo-safe-top)) 16px calc(24px + var(--lbo-safe-bottom)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 0 !important;
    border-right: 1px solid rgba(255,255,255,.09) !important;
    background:
      radial-gradient(circle at 20% 0%, rgba(215,191,120,.11), transparent 24%),
      linear-gradient(180deg,#0d121a 0%,#080b10 100%) !important;
    box-shadow: 24px 0 70px rgba(0,0,0,.52) !important;
    transform: translate3d(-105%,0,0);
    transition: transform .26s cubic-bezier(.22,.8,.2,1);
    visibility: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  body.lbo-drawer-open .lbo-sidebar {
    transform: translate3d(0,0,0);
    visibility: visible;
  }

  .lbo-drawer-overlay {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: block;
    padding: 0;
    border: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    background: rgba(0,0,0,.68);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    transition: opacity .2s ease, visibility .2s ease;
  }

  body.lbo-drawer-open .lbo-drawer-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .lbo-drawer-close {
    display: inline-flex;
  }

  .lbo-sidebar .lbo-brand {
    min-width: 0;
    margin: 0 !important;
    padding: 2px 0 18px !important;
    border: 0 !important;
  }

  .lbo-sidebar .lbo-brand strong {
    font-size: 23px !important;
  }

  .lbo-menu {
    display: block !important;
    padding-bottom: 16px;
  }

  .lbo-menu .lbo-menu-link {
    display: flex !important;
    min-height: 48px !important;
    margin: 2px 0 !important;
    padding: 11px 13px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
  }

  .lbo-menu .lbo-menu-link.active {
    box-shadow: inset 3px 0 0 #d7bf78, 0 10px 28px rgba(0,0,0,.12) !important;
  }

  .lbo-main {
    width: 100% !important;
    max-width: none !important;
    min-height: 100dvh !important;
    padding: calc(var(--lbo-appbar-height) + var(--lbo-safe-top) + 22px) 14px calc(var(--lbo-bottom-nav-height) + var(--lbo-safe-bottom) + 28px) !important;
    overflow: visible !important;
  }

  .lbo-bottom-nav {
    position: fixed;
    inset: auto 0 0 0;
    z-index: 1000;
    display: flex;
    min-height: calc(var(--lbo-bottom-nav-height) + var(--lbo-safe-bottom));
    padding: 7px 8px calc(7px + var(--lbo-safe-bottom));
    border-top: 1px solid rgba(255,255,255,.08);
    background: rgba(7,9,13,.94);
    box-shadow: 0 -14px 36px rgba(0,0,0,.3);
    backdrop-filter: blur(18px) saturate(135%);
    -webkit-backdrop-filter: blur(18px) saturate(135%);
  }

  .lbo-bottom-nav-item {
    position: relative;
    min-width: 0;
    min-height: 54px;
    flex: 1 1 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
    padding: 5px 3px;
    border: 0;
    border-radius: 14px;
    color: #7f8998 !important;
    background: transparent;
    text-decoration: none !important;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .lbo-bottom-nav-item span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .lbo-bottom-nav-item svg {
    width: 21px;
    height: 21px;
  }

  .lbo-bottom-nav-item small {
    max-width: 100%;
    overflow: hidden;
    color: inherit;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .01em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .lbo-bottom-nav-item.is-active {
    color: #f0dc9c !important;
    background: linear-gradient(180deg,rgba(215,191,120,.13),rgba(215,191,120,.035));
  }

  .lbo-bottom-nav-item.is-active::before {
    content: '';
    position: absolute;
    top: 2px;
    left: 50%;
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: #d7bf78;
    transform: translateX(-50%);
  }

  .lbo-header,
  .lbo-gallery-header-v2,
  .lbo-checkin-header {
    margin-bottom: 18px !important;
  }

  .lbo-header h1,
  .lbo-gallery-header-v2 h1 {
    margin-bottom: 7px !important;
    font-size: clamp(27px,8vw,35px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
  }

  .lbo-header p,
  .lbo-gallery-header-v2 p {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  .lbo-card,
  .lbo-kpi,
  .lbo-report-section,
  .lbo-table-wrap,
  .lbo-portal .lgb-card {
    border-radius: 18px !important;
    box-shadow: 0 14px 42px rgba(0,0,0,.18) !important;
  }

  .lbo-card,
  .lbo-report-section,
  .lbo-portal .lgb-card {
    padding: 17px !important;
  }

  .lbo-kpis,
  .lbo-kpis-report,
  .lbo-portal .lgb-kpis,
  .lbo-portal .lgb-kpis-operational {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 10px !important;
  }

  .lbo-kpi,
  .lbo-portal .lgb-kpis > div {
    min-width: 0;
    padding: 15px !important;
  }

  .lbo-kpi span,
  .lbo-portal .lgb-kpis span {
    font-size: 9px !important;
    line-height: 1.35 !important;
    letter-spacing: .08em !important;
  }

  .lbo-kpi strong,
  .lbo-portal .lgb-kpis strong {
    margin-top: 8px !important;
    font-size: clamp(24px,7.5vw,32px) !important;
    line-height: 1 !important;
  }

  .lbo-section-heading {
    margin-bottom: 14px !important;
  }

  .lbo-section-heading h2 {
    font-size: 21px !important;
  }

  .lbo-grid,
  .lbo-gallery-wizard,
  .lbo-gallery-section-tabs,
  .lbo-gallery-add-grid,
  .lbo-email-editor-shell,
  .lbo-permissions-grid,
  .lbo-permission-profile-row,
  .lbo-portal .lgb-admin-grid,
  .lbo-portal .lgb-admin-grid-2,
  .lbo-portal .lgb-admin-grid-3,
  .lbo-portal .lgb-admin-grid-4,
  .lbo-portal .lgb-instructor-identity,
  .lbo-portal .lgb-instructor-identity-fields {
    grid-template-columns: minmax(0,1fr) !important;
  }

  .lbo-full,
  .lbo-portal .lgb-col-2,
  .lbo-portal .lgb-col-3 {
    grid-column: auto !important;
  }

  .lbo-field,
  .lbo-portal .lgb-field,
  .lbo-inline-form label {
    min-width: 0 !important;
  }

  .lbo-field input,
  .lbo-field textarea,
  .lbo-field select,
  .lbo-portal .lgb-form input,
  .lbo-portal .lgb-form textarea,
  .lbo-portal .lgb-form select,
  .lbo-portal .select2-container,
  .lbo-operation-modal input,
  .lbo-operation-modal select,
  .lbo-operation-modal textarea {
    width: 100% !important;
    max-width: 100% !important;
  }

  .lbo-save,
  .lbo-filter-button,
  .lbo-form-actions > button,
  .lbo-portal .lgb-form-actions > button,
  .lbo-portal .lgb-form-actions > a {
    width: 100% !important;
    min-height: 48px !important;
  }

  .lbo-report-filters,
  .lbo-report-filters--wide,
  .lbo-report-filters--checkin,
  .lbo-report-tab-panel .lbo-report-filters {
    display: none !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 10px !important;
    max-width: none !important;
    margin: 0 0 16px !important;
    padding: 14px !important;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    background: rgba(14,18,25,.88);
  }

  .lbo-report-filters.is-mobile-open,
  .lbo-report-tab-panel.is-active .lbo-report-filters.is-mobile-open {
    display: grid !important;
  }

  .lbo-mobile-filter-toggle {
    width: 100%;
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 10px;
    padding: 0 15px;
    border: 1px solid rgba(215,191,120,.25);
    border-radius: 14px;
    color: #f5f7fb;
    background: rgba(215,191,120,.06);
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
  }

  .lbo-mobile-filter-toggle::after {
    content: '+';
    color: #d7bf78;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
  }

  .lbo-mobile-filter-toggle[aria-expanded="true"]::after {
    content: '−';
  }

  .lbo-report-tabs,
  .lbo-customer-tabs,
  .lbo-portal .lgb-tabs,
  .lbo-gallery-section-tabs {
    display: flex !important;
    width: calc(100% + 28px) !important;
    margin-left: -14px !important;
    padding: 0 14px 8px !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .lbo-report-tabs::-webkit-scrollbar,
  .lbo-customer-tabs::-webkit-scrollbar,
  .lbo-portal .lgb-tabs::-webkit-scrollbar,
  .lbo-gallery-section-tabs::-webkit-scrollbar {
    display: none;
  }

  .lbo-report-tabs > *,
  .lbo-customer-tabs > *,
  .lbo-portal .lgb-tabs > *,
  .lbo-gallery-section-tabs > * {
    min-width: max-content !important;
    flex: 0 0 auto !important;
    scroll-snap-align: start;
  }

  .lbo-portal .lgb-tabs {
    margin-bottom: 14px !important;
    border: 0 !important;
    background: transparent !important;
  }

  .lbo-portal .lgb-tabs a {
    min-height: 42px !important;
    padding: 0 15px !important;
    border-radius: 999px !important;
  }

  .lbo-gallery-section-tab {
    min-height: 62px !important;
    padding: 13px 15px !important;
  }

  .lbo-checkin-current-date {
    min-width: 0 !important;
    width: 100% !important;
    padding: 13px 15px !important;
  }

  .lbo-checkin-settings .lbo-inline-form,
  .lbo-inline-form,
  .lbo-reservation-status-form,
  .lbo-reschedule-fields {
    grid-template-columns: minmax(0,1fr) !important;
  }

  .lbo-gallery-item-card-v2 {
    grid-template-columns: minmax(0,1fr) !important;
  }

  .lbo-gallery-item-card-v2 .lbo-gallery-admin-preview {
    height: 190px !important;
  }

  .lbo-email-editor-shell iframe,
  .lbo-email-preview {
    min-height: 280px !important;
  }

  .lbo-alert,
  .lbo-message {
    border-radius: 14px !important;
    font-size: 13px !important;
  }

  .lbo-alert {
    position: relative;
    z-index: 2;
  }

  .lbo-customer-modal {
    inset: auto 0 0 0 !important;
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
    max-height: min(92dvh,920px) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    border-bottom: 0 !important;
    border-radius: 24px 24px 0 0 !important;
    background: #0c1118 !important;
    box-shadow: 0 -28px 80px rgba(0,0,0,.55) !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .lbo-operation-modal {
    min-height: 0 !important;
    padding: 22px 15px calc(24px + var(--lbo-safe-bottom)) !important;
    border-radius: 24px 24px 0 0 !important;
  }

  .lbo-operation-modal > header {
    margin: 0 -15px 18px !important;
    padding: 4px 58px 16px 15px !important;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  .lbo-operation-modal > header h2 {
    font-size: 24px !important;
  }

  .lbo-operation-modal .lbo-modal-close,
  .lbo-customer-modal-head .lbo-modal-close {
    position: sticky !important;
    top: 10px !important;
    z-index: 5 !important;
    float: right;
    margin: 0 0 -44px auto !important;
    background: rgba(5,8,12,.88) !important;
    backdrop-filter: blur(10px);
  }

  .lbo-detail-kpis,
  .lbo-checkin-modal .lbo-detail-kpis {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 9px !important;
  }

  .lbo-detail-kpis article {
    min-width: 0;
    padding: 13px !important;
  }

  .lbo-detail-row,
  .lbo-detail-list article,
  .lbo-customer-card-list article {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 7px !important;
  }
}

@media (max-width: 760px) {
  .lbo-table-wrap,
  .lbo-portal .lgb-table-wrap,
  .lbo-datatable-wrap,
  .lbo-portal .lgb-datatable-wrap {
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .dataTables_wrapper {
    width: 100% !important;
    overflow: visible !important;
  }

  .dataTables_wrapper .dataTables_length,
  .dataTables_wrapper .dataTables_filter {
    width: 100% !important;
    float: none !important;
    display: grid !important;
    gap: 6px !important;
    margin: 0 0 10px !important;
    text-align: left !important;
    color: #9ca6b5 !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase;
  }

  .dataTables_wrapper .dataTables_length label,
  .dataTables_wrapper .dataTables_filter label {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  .dataTables_wrapper .dataTables_length select,
  .dataTables_wrapper .dataTables_filter input {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    border-radius: 13px !important;
    color: #f5f7fb !important;
    background: #0b1017 !important;
    font-size: 13px !important;
    text-transform: none !important;
  }

  .lbo-mobile-card-table,
  .lbo-mobile-card-table tbody,
  .lbo-mobile-card-table tr,
  .lbo-mobile-card-table td {
    display: block !important;
    width: 100% !important;
  }

  .lbo-mobile-card-table {
    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: transparent !important;
  }

  .lbo-mobile-card-table thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
  }

  .lbo-mobile-card-table tbody {
    display: grid !important;
    gap: 12px !important;
  }

  .lbo-mobile-card-table tbody tr {
    overflow: hidden !important;
    padding: 6px 13px !important;
    border: 1px solid rgba(255,255,255,.085) !important;
    border-radius: 18px !important;
    background:
      radial-gradient(circle at 100% 0%,rgba(215,191,120,.06),transparent 28%),
      linear-gradient(180deg,rgba(20,26,36,.98),rgba(12,16,23,.98)) !important;
    box-shadow: 0 16px 36px rgba(0,0,0,.18) !important;
  }

  .lbo-mobile-card-table tbody td {
    min-width: 0 !important;
    min-height: 42px !important;
    display: grid !important;
    grid-template-columns: minmax(88px,.72fr) minmax(0,1.28fr) !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.065) !important;
    color: #e8ecf3 !important;
    text-align: right !important;
    overflow-wrap: anywhere;
  }

  .lbo-mobile-card-table tbody td:last-child {
    border-bottom: 0 !important;
  }

  .lbo-mobile-card-table tbody td::before {
    content: attr(data-label);
    grid-column: 1;
    grid-row: 1 / span 20;
    align-self: center;
    min-width: 0;
    color: #8791a0;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .075em;
    line-height: 1.35;
    text-align: left;
    text-transform: uppercase;
  }

  .lbo-mobile-card-table tbody td > .lbo-mobile-card-value,
  .lbo-mobile-card-table tbody td > .lgb-mobile-card-value {
    min-width: 0;
    width: 100%;
    grid-column: 2;
    justify-self: stretch;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    text-align: right;
  }

  .lbo-mobile-card-table tbody td > .lbo-mobile-card-value > *,
  .lbo-mobile-card-table tbody td > .lgb-mobile-card-value > * {
    max-width: 100%;
  }

  .lbo-mobile-card-table tbody td small {
    margin-top: 3px !important;
    color: #9da6b4 !important;
    font-size: 11px !important;
  }

  .lbo-mobile-card-table tbody td:first-child {
    min-height: 50px !important;
  }

  .lbo-mobile-card-table tbody td:first-child > strong,
  .lbo-mobile-card-table tbody td:first-child strong {
    color: #f5f7fb !important;
    font-size: 14px !important;
  }

  .lbo-mobile-card-table tbody td[data-label="Acciones"],
  .lbo-mobile-card-table tbody td[data-label="Ver"],
  .lbo-mobile-card-table tbody td[data-label="Actualizar"],
  .lbo-mobile-card-table tbody td.is-actions {
    grid-template-columns: 1fr !important;
    padding-top: 12px !important;
  }

  .lbo-mobile-card-table tbody td[data-label="Acciones"]::before,
  .lbo-mobile-card-table tbody td[data-label="Ver"]::before,
  .lbo-mobile-card-table tbody td[data-label="Actualizar"]::before,
  .lbo-mobile-card-table tbody td.is-actions::before {
    display: none !important;
  }

  .lbo-mobile-card-table tbody td[data-label="Acciones"] > *,
  .lbo-mobile-card-table tbody td[data-label="Ver"] > *,
  .lbo-mobile-card-table tbody td[data-label="Actualizar"] > *,
  .lbo-mobile-card-table tbody td.is-actions > * {
    grid-column: 1 !important;
    justify-self: stretch !important;
  }

  .lbo-mobile-card-table .lbo-table-actions,
  .lbo-mobile-card-table .lgb-table-actions {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: 9px !important;
  }

  .lbo-mobile-card-table .lbo-action-button,
  .lbo-mobile-card-table .lgb-action-icon,
  .lbo-mobile-card-table .lbo-icon-button {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  .lbo-mobile-card-table tbody td.dataTables_empty,
  .lbo-mobile-card-table tbody td[colspan] {
    min-height: 90px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 22px 12px !important;
    border: 0 !important;
    color: #9da6b4 !important;
    text-align: center !important;
  }

  .lbo-mobile-card-table tbody td.dataTables_empty::before,
  .lbo-mobile-card-table tbody td[colspan]::before {
    display: none !important;
  }

  .dataTables_wrapper .dataTables_info {
    width: 100% !important;
    float: none !important;
    padding: 14px 0 7px !important;
    color: #838d9c !important;
    font-size: 11px !important;
    text-align: center !important;
  }

  .dataTables_wrapper .dataTables_paginate {
    width: 100% !important;
    float: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    padding: 7px 0 0 !important;
  }

  .dataTables_wrapper .dataTables_paginate .paginate_button {
    min-width: 38px !important;
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 11px !important;
    color: #d5dae3 !important;
    background: rgba(255,255,255,.035) !important;
    font-size: 11px !important;
  }

  .dataTables_wrapper .dataTables_paginate .paginate_button.current {
    border-color: rgba(215,191,120,.5) !important;
    color: #080b10 !important;
    background: #d7bf78 !important;
  }
}

@media (max-width: 420px) {
  .lbo-main {
    padding-left: 11px !important;
    padding-right: 11px !important;
  }

  .lbo-card,
  .lbo-report-section,
  .lbo-portal .lgb-card {
    padding: 14px !important;
  }

  .lbo-appbar {
    padding-left: 10px;
    padding-right: 10px;
  }

  .lbo-bottom-nav {
    padding-left: 4px;
    padding-right: 4px;
  }

  .lbo-bottom-nav-item small {
    font-size: 8px;
  }

  .lbo-mobile-card-table tbody tr {
    padding-left: 11px !important;
    padding-right: 11px !important;
  }

  .lbo-mobile-card-table tbody td {
    grid-template-columns: minmax(76px,.66fr) minmax(0,1.34fr) !important;
    gap: 8px !important;
  }

  .lbo-detail-kpis,
  .lbo-checkin-modal .lbo-detail-kpis {
    grid-template-columns: 1fr !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lbo-sidebar,
  .lbo-drawer-overlay,
  .lbo-appbar-button,
  .lbo-bottom-nav-item {
    transition: none !important;
  }
}


@media (max-width: 860px) {
  .lbo-mobile-card-table tbody tr {
    padding: 14px 14px 10px !important;
  }

  .lbo-mobile-card-table tbody td {
    display: block !important;
    min-height: 0 !important;
    padding: 10px 0 !important;
    text-align: left !important;
  }

  .lbo-mobile-card-table tbody td::before {
    display: block !important;
    grid-column: auto !important;
    grid-row: auto !important;
    margin: 0 0 6px !important;
  }

  .lbo-mobile-card-table tbody td > .lbo-mobile-card-value,
  .lbo-mobile-card-table tbody td > .lgb-mobile-card-value {
    display: block !important;
    width: 100% !important;
    grid-column: auto !important;
    justify-self: auto !important;
    text-align: left !important;
  }

  .lbo-mobile-card-table tbody td > .lbo-mobile-card-value > *,
  .lbo-mobile-card-table tbody td > .lgb-mobile-card-value > * {
    display: block;
    max-width: 100%;
    text-align: left !important;
  }

  .lbo-mobile-card-table tbody td.is-primary {
    padding-top: 0 !important;
    padding-bottom: 12px !important;
  }

  .lbo-mobile-card-table tbody td.is-primary::before {
    display: none !important;
  }

  .lbo-mobile-card-table tbody td.is-primary > .lbo-mobile-card-value,
  .lbo-mobile-card-table tbody td.is-primary > .lgb-mobile-card-value {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
  }

  .lbo-mobile-card-table tbody td.is-primary strong {
    font-size: 15px !important;
    line-height: 1.3 !important;
    color: #f5f7fb !important;
  }

  .lbo-mobile-card-table tbody td small {
    margin-top: 2px !important;
    line-height: 1.45 !important;
  }

  .lbo-mobile-card-table .lgb-person-cell,
  .lbo-mobile-card-table .lbo-person-cell {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .lbo-mobile-card-table .lgb-person-cell > div,
  .lbo-mobile-card-table .lbo-person-cell > div {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .lbo-mobile-card-table .lgb-person-cell strong,
  .lbo-mobile-card-table .lbo-person-cell strong,
  .lbo-mobile-card-table .lgb-person-cell small,
  .lbo-mobile-card-table .lbo-person-cell small {
    text-align: left !important;
  }

  .lbo-mobile-card-table tbody td[data-label="Acciones"],
  .lbo-mobile-card-table tbody td[data-label="Ver"],
  .lbo-mobile-card-table tbody td[data-label="Actualizar"],
  .lbo-mobile-card-table tbody td.is-actions {
    padding-top: 14px !important;
  }

  .lbo-mobile-card-table tbody td[data-label="Acciones"] > *,
  .lbo-mobile-card-table tbody td[data-label="Ver"] > *,
  .lbo-mobile-card-table tbody td[data-label="Actualizar"] > *,
  .lbo-mobile-card-table tbody td.is-actions > * {
    justify-self: auto !important;
  }

  .lbo-mobile-card-table .lbo-table-actions,
  .lbo-mobile-card-table .lgb-table-actions {
    justify-content: flex-start !important;
  }
}

/* LBO 1.17.3 - Escáner QR del control de ingreso */
.lbo-checkin-header-tools {
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  gap: 12px;
}

.lbo-checkin-scan-button {
  min-height: 84px;
  min-width: 156px;
  padding: 0 20px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid rgba(215,191,120,.48) !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg,#d7bf78,#f0dc9c) !important;
  color: #050505 !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  cursor: pointer;
  box-shadow: 0 10px 30px rgba(215,191,120,.12);
  transition: transform .18s ease, box-shadow .18s ease;
}

.lbo-checkin-scan-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 34px rgba(215,191,120,.2);
}

.lbo-checkin-scan-button svg {
  width: 23px;
  height: 23px;
  fill: currentColor !important;
  stroke: none !important;
}

.lbo-checkin-scan-button:focus-visible,
.lbo-qr-scanner-close:focus-visible,
.lbo-qr-scanner-controls button:focus-visible,
.lbo-qr-file-button:focus-within,
.lbo-qr-camera-select select:focus-visible {
  outline: 3px solid rgba(240,220,156,.42) !important;
  outline-offset: 3px;
}

body.lbo-qr-scanner-open {
  overflow: hidden !important;
}

.lbo-qr-scanner-overlay[hidden] {
  display: none !important;
}

.lbo-qr-scanner-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483100;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(0,0,0,.84);
  backdrop-filter: blur(11px);
  -webkit-backdrop-filter: blur(11px);
  opacity: 0;
  transition: opacity .2s ease;
}

.lbo-qr-scanner-overlay.is-open {
  opacity: 1;
}

.lbo-qr-scanner-dialog {
  position: relative;
  width: min(100%, 560px);
  max-height: min(94vh, 820px);
  overflow: auto;
  padding: 26px;
  border: 1px solid rgba(215,191,120,.36);
  border-radius: 26px;
  background: linear-gradient(145deg,#171d27,#0b0f16 74%);
  color: #f5f7fb;
  box-shadow: 0 32px 100px rgba(0,0,0,.62);
  transform: translateY(12px) scale(.985);
  transition: transform .2s ease;
}

.lbo-qr-scanner-overlay.is-open .lbo-qr-scanner-dialog {
  transform: translateY(0) scale(1);
}

.lbo-qr-scanner-close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 4;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0 !important;
  border: 1px solid rgba(215,191,120,.28) !important;
  border-radius: 50% !important;
  background: #080b10 !important;
  color: #f5f7fb !important;
  font-size: 29px !important;
  line-height: 1 !important;
  cursor: pointer;
}

.lbo-qr-scanner-dialog > header {
  display: flex;
  align-items: center;
  gap: 13px;
  padding-right: 52px;
}

.lbo-qr-scanner-dialog > header > span {
  width: 48px;
  height: 48px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(215,191,120,.12);
  color: #d7bf78;
}

.lbo-qr-scanner-dialog > header svg {
  width: 100%;
  height: 100%;
  fill: currentColor !important;
  stroke: none !important;
}

.lbo-qr-scanner-dialog > header small {
  display: block;
  margin-bottom: 3px;
  color: #d7bf78;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.lbo-qr-scanner-dialog > header h2 {
  margin: 0 !important;
  color: #f5f7fb !important;
  font-size: clamp(23px,4vw,31px) !important;
  line-height: 1.06 !important;
}

.lbo-qr-scanner-intro {
  margin: 17px 0 18px !important;
  color: #aeb4c0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.lbo-qr-scanner-camera {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 1px solid rgba(215,191,120,.24);
  border-radius: 20px;
  background: #050505;
}

.lbo-qr-scanner-camera video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  background: #050505;
}

.lbo-qr-scanner-frame {
  position: absolute;
  inset: 50% auto auto 50%;
  width: min(62%, 260px);
  aspect-ratio: 1;
  transform: translate(-50%,-50%);
  border-radius: 22px;
  box-shadow: 0 0 0 999px rgba(0,0,0,.34);
  pointer-events: none;
}

.lbo-qr-scanner-frame::before,
.lbo-qr-scanner-frame::after,
.lbo-qr-scanner-frame i::before,
.lbo-qr-scanner-frame i::after {
  content: '';
  position: absolute;
  width: 36px;
  height: 36px;
  border-color: #f0dc9c;
  border-style: solid;
}

.lbo-qr-scanner-frame::before { top: 0; left: 0; border-width: 4px 0 0 4px; border-radius: 12px 0 0 0; }
.lbo-qr-scanner-frame::after { top: 0; right: 0; border-width: 4px 4px 0 0; border-radius: 0 12px 0 0; }
.lbo-qr-scanner-frame i::before { bottom: 0; left: 0; border-width: 0 0 4px 4px; border-radius: 0 0 0 12px; }
.lbo-qr-scanner-frame i::after { right: 0; bottom: 0; border-width: 0 4px 4px 0; border-radius: 0 0 12px 0; }

.lbo-qr-scanner-frame i {
  position: absolute;
  inset: 0;
}

.lbo-qr-scanner-frame i {
  background: linear-gradient(to bottom,transparent 8%,rgba(240,220,156,.72) 50%,transparent 92%) 0 -100% / 100% 40% no-repeat;
  animation: lboQrScanLine 2.15s linear infinite;
}

@keyframes lboQrScanLine {
  0% { background-position: 0 -35%; }
  100% { background-position: 0 145%; }
}

.lbo-qr-scanner-loading {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: none;
  place-items: center;
  align-content: center;
  gap: 12px;
  background: rgba(5,5,5,.82);
  color: #f5f7fb;
  text-align: center;
}

.lbo-qr-scanner-loading.is-visible {
  display: grid;
}

.lbo-qr-scanner-loading span {
  width: 38px;
  height: 38px;
  border: 3px solid rgba(215,191,120,.22);
  border-top-color: #f0dc9c;
  border-radius: 50%;
  animation: lboQrSpin .8s linear infinite;
}

@keyframes lboQrSpin { to { transform: rotate(360deg); } }

.lbo-qr-scanner-loading strong {
  font-size: 13px;
}

.lbo-qr-scanner-status {
  min-height: 48px;
  margin-top: 13px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 13px;
  background: rgba(255,255,255,.025);
  color: #aeb4c0;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
}

.lbo-qr-scanner-status[data-state="scanning"] { color: #f0dc9c; border-color: rgba(215,191,120,.28); }
.lbo-qr-scanner-status[data-state="loading"] { color: #b7d7ff; border-color: rgba(77,129,187,.34); }
.lbo-qr-scanner-status[data-state="success"] { color: #c9f4b5; border-color: rgba(92,166,66,.38); background: rgba(92,166,66,.08); }
.lbo-qr-scanner-status[data-state="error"] { color: #ffb2ac; border-color: rgba(187,67,59,.42); background: rgba(155,57,49,.1); }

.lbo-qr-scanner-controls {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 9px;
  margin-top: 12px;
}

.lbo-qr-scanner-controls button,
.lbo-qr-file-button {
  min-height: 46px;
  padding: 0 14px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,.035) !important;
  color: #e8ecf3 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-align: center;
  cursor: pointer;
}

.lbo-qr-scanner-controls button.is-primary {
  border-color: #d7bf78 !important;
  background: linear-gradient(135deg,#d7bf78,#f0dc9c) !important;
  color: #050505 !important;
}

.lbo-qr-file-button input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.lbo-qr-camera-select {
  margin-top: 11px;
  display: grid;
  gap: 6px;
}

.lbo-qr-camera-select[hidden] { display: none !important; }
.lbo-qr-camera-select span { color: #aeb4c0; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.lbo-qr-camera-select select {
  width: 100%;
  min-height: 44px;
  padding: 0 13px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  background: #0b0f16;
  color: #f5f7fb;
}

.lbo-qr-scanner-help {
  margin: 13px 0 0 !important;
  color: #7d8594 !important;
  text-align: center;
  font-size: 10px !important;
  line-height: 1.45 !important;
}

@media (max-width: 980px) {
  .lbo-checkin-header-tools {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  }
  .lbo-checkin-scan-button {
    min-width: 0;
    min-height: 74px;
  }
}

@media (max-width: 620px) {
  .lbo-checkin-header-tools {
    grid-template-columns: 1fr;
  }
  .lbo-checkin-scan-button {
    width: 100%;
    min-height: 52px;
    border-radius: 14px !important;
  }
  .lbo-qr-scanner-overlay {
    align-items: end;
    padding: 8px 8px max(8px,env(safe-area-inset-bottom));
  }
  .lbo-qr-scanner-dialog {
    width: 100%;
    max-height: 95dvh;
    padding: 20px 14px 16px;
    border-radius: 24px 24px 16px 16px;
  }
  .lbo-qr-scanner-dialog > header {
    padding-right: 45px;
  }
  .lbo-qr-scanner-dialog > header > span {
    width: 42px;
    height: 42px;
    padding: 10px;
  }
  .lbo-qr-scanner-camera {
    aspect-ratio: 1 / 1;
  }
  .lbo-qr-scanner-controls {
    grid-template-columns: 1fr;
  }
}

.lbo-qr-file-button {
  position: relative;
  overflow: hidden;
}

/* LBO 1.18.1 - ajustes visuales de horarios con varios instructores */
.lbo-portal .lgb-owner-panel .lgb-schedule-form-grid{
  display:grid!important;
  grid-template-columns:minmax(190px,.85fr) minmax(300px,1.35fr) minmax(160px,.62fr)!important;
  gap:14px 16px!important;
  align-items:start!important;
}
.lbo-portal .lgb-owner-panel .lgb-schedule-field-class{grid-column:1!important}
.lbo-portal .lgb-owner-panel .lgb-schedule-field-instructors{grid-column:2!important}
.lbo-portal .lgb-owner-panel .lgb-schedule-field-day{grid-column:3!important}
.lbo-portal .lgb-owner-panel .lgb-schedule-field-manual{grid-column:1!important}
.lbo-portal .lgb-owner-panel .lgb-schedule-field-recurrence{
  grid-column:2 / 4!important;
  align-self:end!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-height:46px!important;
  margin:0!important;
}
.lbo-portal .lgb-owner-panel .lgb-schedule-field-recurrence .lgb-check{
  min-height:46px!important;
  padding:10px 14px!important;
}
.lbo-portal .lgb-owner-panel .lgb-schedule-instructors-select + .select2-container .select2-selection--multiple{
  min-height:46px!important;
  height:auto!important;
  padding:4px 8px!important;
}
.lbo-portal .lgb-owner-panel .lgb-schedule-instructors-select + .select2-container .select2-selection--multiple .select2-selection__rendered{
  min-height:34px!important;
  gap:6px!important;
}
.lbo-portal .lgb-owner-panel .lgb-schedule-instructors-select + .select2-container .select2-selection--multiple .select2-search--inline{
  min-height:26px!important;
}
.lbo-portal .lgb-owner-panel .lgb-schedule-instructors-select + .select2-container .select2-selection--multiple .select2-search__field,
.lbo-portal .lgb-owner-panel .lgb-schedule-instructors-select + .select2-container .select2-selection--multiple textarea.select2-search__field{
  width:auto!important;
  min-width:145px!important;
  max-width:100%!important;
  height:26px!important;
  min-height:26px!important;
  max-height:26px!important;
  margin:0!important;
  padding:0 4px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  color:#f5f7fb!important;
  font-size:13px!important;
  line-height:26px!important;
  resize:none!important;
}
.lbo-portal .lgb-owner-panel .lgb-schedule-instructor-availability{
  display:block!important;
  min-height:17px!important;
  margin-top:1px!important;
  color:#98a2b3!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.45!important;
}
.lbo-portal .lgb-owner-panel .lgb-schedule-instructor-availability.is-warning{
  color:#f0dc9c!important;
}
.lbo-portal .lgb-owner-panel .lgb-schedule-filters{
  display:grid!important;
  grid-template-columns:minmax(180px,.75fr) minmax(260px,1fr) auto!important;
  gap:12px!important;
  align-items:end!important;
  margin:2px 0 18px!important;
  padding:14px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.025)!important;
}
.lbo-portal .lgb-owner-panel .lgb-schedule-filter-field{
  display:grid!important;
  gap:7px!important;
  min-width:0!important;
}
.lbo-portal .lgb-owner-panel .lgb-schedule-filter-field label{
  margin:0!important;
  color:#aeb4c0!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
}
.lbo-portal .lgb-owner-panel .lgb-schedule-filter-field > select{
  width:100%!important;
  min-height:44px!important;
  padding:9px 38px 9px 12px!important;
  border:1px solid #222a35!important;
  border-radius:12px!important;
  background:#090d13!important;
  color:#f5f7fb!important;
  font-weight:750!important;
}
.lbo-portal .lgb-owner-panel .lgb-schedule-filter-field .select2-container--default .select2-selection--single{
  min-height:44px!important;
  height:44px!important;
  border-radius:12px!important;
}
.lbo-portal .lgb-owner-panel .lgb-schedule-filter-field .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:42px!important;
  font-size:13px!important;
}
.lbo-portal .lgb-owner-panel .lgb-schedule-filter-field .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:42px!important;
}
.lbo-portal .lgb-owner-panel .lgb-schedule-filter-clear{
  min-height:44px!important;
  padding:10px 15px!important;
  border:1px solid rgba(215,191,120,.32)!important;
  border-radius:12px!important;
  background:rgba(215,191,120,.09)!important;
  color:#f0dc9c!important;
  font-size:12px!important;
  font-weight:850!important;
  cursor:pointer!important;
}
.lbo-portal .lgb-owner-panel .lgb-schedule-filter-clear:hover:not(:disabled){
  border-color:#d7bf78!important;
  background:#d7bf78!important;
  color:#080b10!important;
}
.lbo-portal .lgb-owner-panel .lgb-schedule-filter-clear:disabled{
  opacity:.42!important;
  cursor:not-allowed!important;
}
@media(max-width:980px){
  .lbo-portal .lgb-owner-panel .lgb-schedule-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .lbo-portal .lgb-owner-panel .lgb-schedule-field-class,
  .lbo-portal .lgb-owner-panel .lgb-schedule-field-day,
  .lbo-portal .lgb-owner-panel .lgb-schedule-field-manual{
    grid-column:auto!important;
  }
  .lbo-portal .lgb-owner-panel .lgb-schedule-field-instructors,
  .lbo-portal .lgb-owner-panel .lgb-schedule-field-recurrence{
    grid-column:1 / -1!important;
  }
}
@media(max-width:700px){
  .lbo-portal .lgb-owner-panel .lgb-schedule-form-grid,
  .lbo-portal .lgb-owner-panel .lgb-schedule-filters{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .lbo-portal .lgb-owner-panel .lgb-schedule-field-class,
  .lbo-portal .lgb-owner-panel .lgb-schedule-field-instructors,
  .lbo-portal .lgb-owner-panel .lgb-schedule-field-day,
  .lbo-portal .lgb-owner-panel .lgb-schedule-field-manual,
  .lbo-portal .lgb-owner-panel .lgb-schedule-field-recurrence{
    grid-column:auto!important;
  }
  .lbo-portal .lgb-owner-panel .lgb-schedule-field-recurrence{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .lbo-portal .lgb-owner-panel .lgb-schedule-field-recurrence .lgb-check,
  .lbo-portal .lgb-owner-panel .lgb-schedule-filter-clear{
    width:100%!important;
    max-width:none!important;
  }
  .lbo-portal .lgb-owner-panel .lgb-schedule-instructors-select + .select2-container .select2-selection--multiple .select2-search__field{
    min-width:105px!important;
  }
}

/* LBO 1.18.2 - Configuración de horarios destacados e imágenes propias */
.lbo-featured-config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:22px}
.lbo-featured-config-head h2{margin:4px 0 8px!important}
.lbo-featured-config-head p{margin:0!important;max-width:820px;color:#aeb4c0!important}
.lbo-featured-config-eyebrow{display:block;color:#d7bf78;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.lbo-featured-add{flex:0 0 auto;display:inline-flex!important;align-items:center;gap:8px;min-height:44px!important}
.lbo-featured-primary-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:22px;align-items:start}
.lbo-featured-media-field{display:grid;gap:10px;min-width:0}
.lbo-featured-media-preview{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;width:100%;aspect-ratio:16/9;border:1px dashed rgba(215,191,120,.30);border-radius:18px;background:linear-gradient(145deg,#0b1017,#111824);color:#7d8594}
.lbo-featured-media-preview.has-image{border-style:solid;background:#080b10}
.lbo-featured-media-preview img{display:block;width:100%;height:100%;object-fit:cover}
.lbo-featured-media-preview .dashicons{width:34px;height:34px;font-size:34px;color:#d7bf78}
.lbo-featured-media-preview small{margin-left:8px;color:#aeb4c0;font-weight:750}
.lbo-featured-media-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.lbo-featured-media-actions .lbo-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:42px!important;padding:9px 13px!important}
.lbo-featured-media-field>small{color:#8f98a6!important;font-weight:700;line-height:1.5}
.lbo-featured-schedule-list{display:grid;gap:14px}
.lbo-featured-schedule-item{display:grid;grid-template-columns:42px minmax(310px,1fr) minmax(230px,300px) 42px;gap:14px;align-items:center;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.025)}
.lbo-featured-schedule-item__order{display:grid;gap:6px}
.lbo-featured-schedule-item__order button,.lbo-featured-schedule-item__remove{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:#0c1118;color:#dfe4ec;cursor:pointer}
.lbo-featured-schedule-item__order button:hover{border-color:rgba(215,191,120,.45);color:#f0dc9c}
.lbo-featured-schedule-item__remove{border-color:rgba(239,68,68,.28);background:rgba(127,29,29,.20);color:#fda4af}
.lbo-featured-schedule-item__remove:hover{background:rgba(127,29,29,.35);color:#fff}
.lbo-featured-schedule-item__select{min-width:0}
.lbo-featured-media-field--compact{grid-template-columns:92px minmax(0,1fr);grid-template-areas:'preview actions';align-items:center}
.lbo-featured-media-field--compact .lbo-featured-media-preview{grid-area:preview;aspect-ratio:4/3;border-radius:14px}
.lbo-featured-media-field--compact .lbo-featured-media-actions{grid-area:actions;display:grid;grid-template-columns:1fr auto;gap:7px}
.lbo-featured-media-field--compact .lbo-featured-media-actions .lbo-button{min-width:0!important;padding:8px 10px!important}
.lbo-featured-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:180px;margin-top:4px;border:1px dashed rgba(215,191,120,.22);border-radius:18px;background:rgba(255,255,255,.018);text-align:center}
.lbo-featured-empty .dashicons{width:34px;height:34px;font-size:34px;color:#d7bf78}
.lbo-featured-empty strong{color:#f5f7fb;font-size:16px}
.lbo-featured-empty small{color:#98a2b0}
.lbo-featured-empty.is-hidden{display:none!important}
.lbo-featured-schedule-item .select2-container{max-width:100%!important}
.lbo-featured-schedule-item .select2-selection--single,.lbo-featured-schedule-config .select2-selection--single{min-height:50px!important;height:50px!important}
.lbo-featured-schedule-item .select2-selection__rendered,.lbo-featured-schedule-config .select2-selection__rendered{line-height:48px!important;padding-right:42px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
@media(max-width:1050px){.lbo-featured-primary-grid{grid-template-columns:1fr}.lbo-featured-schedule-item{grid-template-columns:42px minmax(0,1fr) 42px}.lbo-featured-media-field--compact{grid-column:2/3;grid-row:2}.lbo-featured-schedule-item__remove{grid-column:3;grid-row:1}}
@media(max-width:680px){.lbo-featured-config-head{display:grid}.lbo-featured-config-head--actions .lbo-featured-add{width:100%}.lbo-featured-schedule-item{grid-template-columns:1fr;padding:13px}.lbo-featured-schedule-item__order{display:flex;grid-row:auto}.lbo-featured-schedule-item__select,.lbo-featured-media-field--compact,.lbo-featured-schedule-item__remove{grid-column:auto;grid-row:auto}.lbo-featured-media-field--compact{grid-template-columns:84px minmax(0,1fr)}.lbo-featured-schedule-item__remove{width:100%;height:42px}.lbo-featured-primary-grid{gap:16px}}

/* LBO 1.19.0 - Datos dinámicos de la reserva */
.lbo-booking-custom-fields__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lbo-booking-custom-fields__grid article{padding:13px 14px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035)}.lbo-booking-custom-fields__grid small{display:block;color:#d7bf78;font-size:10px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}.lbo-booking-custom-fields__grid strong{display:block;margin-top:5px;color:#f5f7fb;font-size:14px}.lbo-booking-custom-fields__grid p{margin:5px 0 0;color:#aeb4c0;font-size:11px;line-height:1.4}@media(max-width:680px){.lbo-booking-custom-fields__grid{grid-template-columns:1fr}}


/* LBO 1.19.1 - Control temporal de compras */
.lbo-purchase-settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.lbo-purchase-settings-eyebrow,.lbo-purchase-card-heading>div:nth-child(2)>span{display:block;margin-bottom:7px;color:#d7bf78;font-size:10px;font-weight:900;letter-spacing:1.15px;text-transform:uppercase}.lbo-purchase-status-badge{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;padding:10px 14px;border:1px solid;border-radius:999px;font-size:12px}.lbo-purchase-status-badge>span{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 5px rgba(255,255,255,.04)}.lbo-purchase-status-badge.is-enabled{color:#b9f4d0;border-color:rgba(80,210,135,.28);background:rgba(45,154,92,.12)}.lbo-purchase-status-badge.is-enabled>span{background:#50d287}.lbo-purchase-status-badge.is-paused{color:#f0dc9c;border-color:rgba(215,191,120,.34);background:rgba(215,191,120,.10)}.lbo-purchase-status-badge.is-paused>span{background:#d7bf78}.lbo-purchase-settings-form{display:grid;gap:18px}.lbo-purchase-control-card,.lbo-purchase-message-card{padding:24px}.lbo-purchase-card-heading{display:flex;align-items:flex-start;gap:15px;margin-bottom:20px}.lbo-purchase-card-heading h2{margin:0;color:#f5f7fb;font-size:20px}.lbo-purchase-card-heading p{margin:7px 0 0;color:#aeb4c0;line-height:1.55}.lbo-purchase-card-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:1px solid rgba(215,191,120,.22);border-radius:14px;color:#d7bf78;background:rgba(215,191,120,.08)}.lbo-purchase-card-icon svg{width:22px;height:22px}.lbo-purchase-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lbo-purchase-choice{position:relative;display:flex;align-items:flex-start;gap:13px;min-height:108px;padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:#111720;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.lbo-purchase-choice:hover{transform:translateY(-1px);border-color:rgba(215,191,120,.28)}.lbo-purchase-choice.is-selected{border-color:rgba(215,191,120,.62);background:linear-gradient(145deg,rgba(215,191,120,.12),rgba(17,23,32,.98));box-shadow:0 0 0 1px rgba(215,191,120,.08) inset}.lbo-purchase-choice input{position:absolute;opacity:0;pointer-events:none}.lbo-purchase-choice-marker{width:19px;height:19px;flex:0 0 19px;margin-top:1px;border:2px solid #5e6877;border-radius:50%;box-shadow:inset 0 0 0 4px #111720}.lbo-purchase-choice.is-selected .lbo-purchase-choice-marker{border-color:#d7bf78;background:#d7bf78}.lbo-purchase-choice-copy strong{display:block;color:#f5f7fb;font-size:15px}.lbo-purchase-choice-copy small{display:block;margin-top:7px;color:#9fa7b4;font-size:12px;line-height:1.5}.lbo-purchase-message-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:24px;align-items:stretch}.lbo-purchase-message-card textarea{min-height:190px;resize:vertical}.lbo-purchase-message-meta{display:flex;justify-content:space-between;gap:16px;margin-top:9px;color:#8f98a6;font-size:11px;line-height:1.4}.lbo-purchase-message-meta strong{color:#d7bf78;white-space:nowrap}.lbo-purchase-preview{padding:16px;border:1px dashed rgba(215,191,120,.26);border-radius:18px;background:#0b1017}.lbo-purchase-preview-label{display:block;margin:0 0 10px;color:#7d8594;font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.lbo-purchase-preview-dialog{display:flex;flex-direction:column;align-items:center;min-height:100%;padding:24px 20px;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:linear-gradient(155deg,#171d27,#0e131b);text-align:center;box-shadow:0 18px 42px rgba(0,0,0,.22)}.lbo-purchase-preview-symbol{display:grid;place-items:center;width:48px;height:48px;margin-bottom:13px;border:1px solid rgba(215,191,120,.34);border-radius:16px;color:#080b10;background:#d7bf78;font-size:23px;font-weight:950}.lbo-purchase-preview-dialog>span{color:#d7bf78;font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.lbo-purchase-preview-dialog h3{margin:8px 0 0;color:#f5f7fb;font-size:18px}.lbo-purchase-preview-dialog p{margin:12px 0 20px;color:#b8c0cc;font-size:12px;line-height:1.6;white-space:normal}.lbo-purchase-preview-dialog button{margin-top:auto;width:100%;padding:11px 16px;border:0;border-radius:12px;color:#080b10;background:#d7bf78;font-weight:900}.lbo-purchase-settings-actions{justify-content:flex-end;margin-top:0}.lbo-purchase-settings-actions .lbo-button{min-width:210px}
@media(max-width:900px){.lbo-purchase-message-layout{grid-template-columns:1fr}.lbo-purchase-preview-dialog{min-height:320px}}
@media(max-width:680px){.lbo-purchase-settings-header{display:grid;gap:14px}.lbo-purchase-status-badge{justify-self:start}.lbo-purchase-control-card,.lbo-purchase-message-card{padding:18px}.lbo-purchase-choice-grid{grid-template-columns:1fr}.lbo-purchase-choice{min-height:0}.lbo-purchase-card-heading{gap:12px}.lbo-purchase-card-icon{width:40px;height:40px;flex-basis:40px}.lbo-purchase-card-heading h2{font-size:18px}.lbo-purchase-message-meta{display:grid;gap:5px}.lbo-purchase-settings-actions .lbo-button{width:100%;min-width:0}}

/* LBO 1.19.2 - Alineación y acciones de Estado de compras */
.lbo-purchase-settings-form{
  width:100%;
  min-width:0;
}
.lbo-purchase-settings-form .lbo-purchase-control-card,
.lbo-purchase-settings-form .lbo-purchase-message-card{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  margin:0!important;
  padding:24px!important;
}
.lbo-purchase-message-layout{
  width:100%;
  min-width:0;
}
.lbo-purchase-message-layout > *{
  min-width:0;
}
.lbo-purchase-message-field{
  grid-column:auto!important;
  align-self:stretch;
}
.lbo-purchase-message-field textarea{
  box-sizing:border-box;
  width:100%!important;
}
.lbo-purchase-preview{
  box-sizing:border-box;
  display:flex;
  min-width:0;
  height:100%;
  flex-direction:column;
}
.lbo-purchase-preview-dialog{
  box-sizing:border-box;
  flex:1 1 auto;
  width:100%;
  min-width:0;
  min-height:320px;
}
.lbo-purchase-settings-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  width:100%;
  margin:0;
  padding-top:2px;
}
.lbo-purchase-save-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:220px!important;
  min-height:46px!important;
  margin:0!important;
  padding:12px 22px!important;
  border:1px solid rgba(215,191,120,.36)!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#f0dc9c 0%,#d7bf78 100%)!important;
  color:#080b10!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.2!important;
  letter-spacing:.025em!important;
  text-transform:none!important;
  box-shadow:0 12px 28px rgba(0,0,0,.22)!important;
  cursor:pointer!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
  appearance:none;
  -webkit-appearance:none;
}
.lbo-purchase-save-button:hover,
.lbo-purchase-save-button:focus-visible{
  transform:translateY(-1px)!important;
  filter:brightness(1.04);
  box-shadow:0 16px 32px rgba(0,0,0,.28)!important;
  outline:none!important;
}
.lbo-purchase-save-button:disabled{
  opacity:.62!important;
  cursor:wait!important;
  transform:none!important;
}
@media(max-width:900px){
  .lbo-purchase-message-field{
    grid-column:1/-1!important;
  }
  .lbo-purchase-preview{
    grid-column:1/-1;
  }
}
@media(max-width:680px){
  .lbo-purchase-settings-form .lbo-purchase-control-card,
  .lbo-purchase-settings-form .lbo-purchase-message-card{
    padding:18px!important;
  }
  .lbo-purchase-preview{
    padding:12px;
  }
  .lbo-purchase-preview-dialog{
    min-height:300px;
    padding:22px 16px;
  }
  .lbo-purchase-save-button{
    width:100%!important;
    min-width:0!important;
  }
}


/* LBO 1.19.3 - Selector de Biblioteca de medios para Galeria visual */
.lbo-gallery-media-picker{display:grid;gap:14px;padding:16px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:#090e15}
.lbo-gallery-media-picker__actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.lbo-gallery-media-picker__select{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;min-height:44px!important}
.lbo-gallery-media-picker__select .dashicons{width:18px;height:18px;font-size:18px;line-height:18px}
.lbo-gallery-media-selection{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;min-height:92px}
.lbo-gallery-media-selection.is-empty{display:flex;align-items:center;justify-content:center;border:1px dashed rgba(215,191,120,.24);border-radius:14px;background:rgba(255,255,255,.018)}
.lbo-gallery-media-selection__empty{display:grid;justify-items:center;gap:5px;padding:18px;text-align:center;color:#8f98a6}
.lbo-gallery-media-selection__empty .dashicons{width:26px;height:26px;font-size:26px;color:#d7bf78}
.lbo-gallery-media-selection__empty strong{color:#dfe4ec;font-size:13px}
.lbo-gallery-media-selection__empty small{color:#8f98a6;font-size:11px}
.lbo-gallery-media-selection__item{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr) 30px;align-items:center;gap:10px;min-width:0;padding:9px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#121923}
.lbo-gallery-media-selection__thumb{display:grid;place-items:center;width:54px;height:54px;overflow:hidden;border:1px solid rgba(215,191,120,.18);border-radius:10px;background:#080c12;color:#d7bf78}
.lbo-gallery-media-selection__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.lbo-gallery-media-selection__thumb .dashicons{width:25px;height:25px;font-size:25px}
.lbo-gallery-media-selection__copy{min-width:0}
.lbo-gallery-media-selection__copy strong,.lbo-gallery-media-selection__copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lbo-gallery-media-selection__copy strong{color:#f5f7fb;font-size:12px}
.lbo-gallery-media-selection__copy small{margin-top:4px;color:#8f98a6;font-size:10px}
.lbo-gallery-media-selection__remove{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:9px;color:#c8ced8;background:rgba(255,255,255,.035);cursor:pointer}
.lbo-gallery-media-selection__remove:hover{border-color:rgba(222,91,91,.34);color:#ffb4b4;background:rgba(222,91,91,.09)}
.lbo-gallery-media-selection__remove .dashicons{width:17px;height:17px;font-size:17px}
@media(max-width:640px){.lbo-gallery-media-picker{padding:13px}.lbo-gallery-media-picker__actions{display:grid;grid-template-columns:1fr}.lbo-gallery-media-picker__actions .lbo-button{width:100%}.lbo-gallery-media-selection{grid-template-columns:1fr}}


/* LBO 1.19.4 - Botones del selector de medios en Galería visual */
.lbo-portal .lbo-gallery-media-picker__actions button.lbo-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 11px 18px !important;
  border-radius: 13px !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: .025em !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease !important;
}

.lbo-portal .lbo-gallery-media-picker__actions .lbo-gallery-media-picker__select {
  border: 1px solid rgba(215,191,120,.58) !important;
  color: #0b0f16 !important;
  background: linear-gradient(135deg,#f0dc9c,#d7bf78) !important;
  box-shadow: 0 10px 24px rgba(215,191,120,.13) !important;
}

.lbo-portal .lbo-gallery-media-picker__actions .lbo-gallery-media-picker__select:hover {
  border-color: #f0dc9c !important;
  background: linear-gradient(135deg,#f5e6b6,#dfc982) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 13px 28px rgba(215,191,120,.18) !important;
}

.lbo-portal .lbo-gallery-media-picker__actions .lbo-button--secondary {
  border: 1px solid rgba(255,255,255,.13) !important;
  color: #dfe5ee !important;
  background: #151b24 !important;
}

.lbo-portal .lbo-gallery-media-picker__actions .lbo-button--secondary:hover {
  border-color: rgba(215,191,120,.42) !important;
  color: #f0dc9c !important;
  background: rgba(215,191,120,.09) !important;
  transform: translateY(-1px) !important;
}

.lbo-portal .lbo-gallery-media-picker__actions button.lbo-button:focus-visible {
  outline: 3px solid rgba(240,220,156,.24) !important;
  outline-offset: 3px !important;
}

.lbo-portal .lbo-gallery-media-picker__actions button.lbo-button:disabled {
  opacity: .48 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

.lbo-portal .lbo-gallery-media-picker__actions button.lbo-button .dashicons {
  width: 18px !important;
  height: 18px !important;
  font-size: 18px !important;
  line-height: 18px !important;
}

@media (max-width:640px) {
  .lbo-portal .lbo-gallery-media-picker__actions button.lbo-button {
    width: 100% !important;
  }
}


/* LBO 1.19.5 - Galería pública con videos amplios y miniatura inicial */
.jt-gallery-section-has-video .jt-gallery-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: stretch;
}
.jt-gallery-section-has-video .jt-gallery-grid > .jt-gallery-item-image {
  grid-column: span 4;
}
.jt-gallery-section-has-video .jt-gallery-grid > .jt-gallery-item-video {
  grid-column: span 6;
}
.jt-gallery-item-video {
  border-color: rgba(215,191,120,.18);
}
.jt-gallery-item-video .jt-gallery-media {
  position: relative;
  min-height: 300px;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: radial-gradient(circle at 50% 42%, rgba(215,191,120,.08), transparent 34%), #080b10;
}
.jt-gallery-item-video .jt-gallery-media video,
.jt-gallery-item-video .jt-gallery-media iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #080b10;
}
.jt-gallery-item-video .jt-gallery-caption {
  padding: 24px 26px 28px;
}
.jt-gallery-item-video .jt-gallery-caption h3 {
  font-size: clamp(23px, 2.3vw, 30px);
  line-height: 1.08;
}
.jt-gallery-item-video .jt-gallery-caption p {
  max-width: 680px;
  font-size: 14px;
  line-height: 1.7;
}
@media (max-width: 980px) {
  .jt-gallery-section-has-video .jt-gallery-grid > .jt-gallery-item-image,
  .jt-gallery-section-has-video .jt-gallery-grid > .jt-gallery-item-video {
    grid-column: span 6;
  }
  .jt-gallery-item-video .jt-gallery-media {
    min-height: 240px;
  }
}
@media (max-width: 680px) {
  .jt-gallery-section-has-video .jt-gallery-grid {
    grid-template-columns: 1fr;
  }
  .jt-gallery-section-has-video .jt-gallery-grid > .jt-gallery-item-image,
  .jt-gallery-section-has-video .jt-gallery-grid > .jt-gallery-item-video {
    grid-column: auto;
  }
  .jt-gallery-item-video .jt-gallery-media {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
  .jt-gallery-item-video .jt-gallery-caption {
    padding: 20px 20px 23px;
  }
}

/* LBO 1.19.6 - Galería flexible para fotos y videos en cualquier orientación */
.jt-gallery-item-video .jt-gallery-media,
.jt-gallery-item-featured.jt-gallery-item-video .jt-gallery-media{
  background:#05070b;
}
.jt-gallery-item-video .jt-gallery-media video{
  object-fit:contain !important;
  object-position:center center !important;
  background:#05070b;
}
.jt-gallery-item-video .jt-gallery-media iframe{
  object-fit:fill !important;
  background:#05070b;
}
.jt-gallery-item-featured.jt-gallery-item-video .jt-gallery-media{
  min-height:340px;
  aspect-ratio:16 / 9;
}
@media (max-width: 680px){
  .jt-gallery-item-featured.jt-gallery-item-video .jt-gallery-media{
    min-height:0;
    aspect-ratio:16 / 9;
  }
}


/* LBO 1.19.7 - Videos adaptados a su orientación real */
.jt-gallery-item-video .jt-gallery-media,
.jt-gallery-item-featured.jt-gallery-item-video .jt-gallery-media{
  min-height:0;
  aspect-ratio:16 / 9;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#05070b;
}
.jt-gallery-item-video .jt-gallery-media video{
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center center !important;
  background:#05070b;
}
.jt-gallery-item-video.jt-gallery-video-landscape .jt-gallery-media,
.jt-gallery-item-featured.jt-gallery-item-video.jt-gallery-video-landscape .jt-gallery-media{
  aspect-ratio:16 / 9;
}
.jt-gallery-item-video.jt-gallery-video-square .jt-gallery-media,
.jt-gallery-item-featured.jt-gallery-item-video.jt-gallery-video-square .jt-gallery-media{
  aspect-ratio:1 / 1;
  max-height:720px;
}
.jt-gallery-item-video.jt-gallery-video-portrait .jt-gallery-media,
.jt-gallery-item-featured.jt-gallery-item-video.jt-gallery-video-portrait .jt-gallery-media{
  aspect-ratio:4 / 5;
  max-height:760px;
}
@media (max-width:680px){
  .jt-gallery-item-video.jt-gallery-video-portrait .jt-gallery-media,
  .jt-gallery-item-featured.jt-gallery-item-video.jt-gallery-video-portrait .jt-gallery-media{
    aspect-ratio:9 / 16;
    max-height:none;
  }
  .jt-gallery-item-video.jt-gallery-video-square .jt-gallery-media,
  .jt-gallery-item-featured.jt-gallery-item-video.jt-gallery-video-square .jt-gallery-media{
    max-height:none;
  }
}


/* LBO 1.19.8 - Scroll vertical estable del portal mobile */
@media (max-width: 980px) {
  html.lbo-standalone-html {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  html.lbo-standalone-html body.lbo-standalone-body {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 100dvh !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: auto !important;
    touch-action: pan-y pinch-zoom;
    -webkit-overflow-scrolling: touch;
  }

  html.lbo-standalone-html body.lbo-standalone-body:not(.lbo-drawer-open):not(.lbo-modal-open) {
    overflow-y: auto !important;
    touch-action: pan-y pinch-zoom !important;
  }

  html.lbo-standalone-html .lbo-standalone-shell,
  html.lbo-standalone-html .lbo-standalone-content,
  html.lbo-standalone-html .lbo-portal.lbo-portal-app,
  html.lbo-standalone-html .lbo-main {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  html.lbo-standalone-html .lbo-standalone-shell,
  html.lbo-standalone-html .lbo-standalone-content,
  html.lbo-standalone-html .lbo-portal.lbo-portal-app {
    min-height: 100dvh !important;
  }

  html.lbo-standalone-html .lbo-main {
    position: relative !important;
    width: 100% !important;
    min-height: 100dvh !important;
    touch-action: pan-y pinch-zoom;
  }

  html.lbo-standalone-html body.lbo-standalone-body.lbo-drawer-open,
  html.lbo-standalone-html body.lbo-standalone-body.lbo-modal-open {
    overflow: hidden !important;
    touch-action: none !important;
  }
}

/* LBO 1.19.9 - Evita el zoom automático de Safari al enfocar formularios mobile */
@media (max-width: 980px) {
  html.lbo-standalone-html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body.lbo-standalone-body input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
  body.lbo-standalone-body textarea,
  body.lbo-standalone-body select,
  body.lbo-standalone-body .select2-search__field,
  body.lbo-standalone-body .dataTables_filter input,
  body.lbo-standalone-body .dataTables_length select {
    font-size: 16px !important;
  }
}


/* Conciliación PayPal 1.23.0 */
.lbo-paypal-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.lbo-paypal-report-head h2{margin:3px 0 5px}.lbo-paypal-report-head p{margin:0;color:var(--lbo-muted,#9aa4b2)}.lbo-paypal-report-actions{display:flex;gap:9px;flex-wrap:wrap}.lbo-paypal-kpis{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:12px;margin-bottom:16px}.lbo-paypal-kpi{background:#141922;border:1px solid rgba(255,255,255,.08);border-radius:15px;padding:15px}.lbo-paypal-kpi span{display:block;color:#a8b1bf;font-size:12px;margin-bottom:7px}.lbo-paypal-kpi strong{display:block;color:#f5f7fb;font-size:20px}.lbo-paypal-filters{margin-bottom:16px}.lbo-form-grid-5{grid-template-columns:repeat(4,minmax(150px,1fr)) auto}.lbo-paypal-filter-buttons{display:flex;gap:8px;align-items:flex-end;padding-bottom:1px}.lbo-paypal-table-card{padding:14px}.lbo-paypal-table-card td small,.lbo-paypal-table-card td strong{display:block}.lbo-paypal-table-card td small{margin-top:4px;color:#98a3b3;font-size:11px}.lbo-paypal-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:12px}.lbo-paypal-badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;background:rgba(148,163,184,.13);color:#dce4ef;border:1px solid rgba(148,163,184,.2)}.lbo-paypal-badge.is-reconciled,.lbo-paypal-badge.is-completed,.lbo-paypal-badge.is-autorizada{background:rgba(34,197,94,.13);color:#86efac;border-color:rgba(34,197,94,.28)}.lbo-paypal-badge.is-difference,.lbo-paypal-badge.is-error,.lbo-paypal-badge.is-rechazada{background:rgba(239,68,68,.13);color:#fca5a5;border-color:rgba(239,68,68,.28)}.lbo-paypal-badge.is-invoice_pending,.lbo-paypal-badge.is-data_incomplete,.lbo-paypal-badge.is-payment_pending,.lbo-paypal-badge.is-pending,.lbo-paypal-badge.is-en_cola,.lbo-paypal-badge.is-procesando,.lbo-paypal-badge.is-pendiente_autorizacion{background:rgba(245,158,11,.13);color:#fcd34d;border-color:rgba(245,158,11,.28)}.lbo-paypal-badge.is-refunded,.lbo-paypal-badge.is-partially_refunded{background:rgba(99,102,241,.15);color:#c7d2fe;border-color:rgba(99,102,241,.28)}.lbo-paypal-difference{font-weight:700}.lbo-paypal-difference.is-warning{color:#fca5a5}.lbo-paypal-detail-dialog{max-width:960px}.lbo-paypal-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lbo-paypal-detail-grid section{background:#111620;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px}.lbo-paypal-detail-grid h4{margin:0 0 12px;color:#d7bf78}.lbo-paypal-detail-row{display:flex;justify-content:space-between;gap:18px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}.lbo-paypal-detail-row:last-child{border-bottom:0}.lbo-paypal-detail-row span{color:#9aa5b5;font-size:12px}.lbo-paypal-detail-row strong{text-align:right;overflow-wrap:anywhere}.lbo-paypal-technical{margin-top:15px;background:#0d1118;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px}.lbo-paypal-technical summary{cursor:pointer;font-weight:700}.lbo-paypal-technical pre{white-space:pre-wrap;word-break:break-word;max-height:350px;overflow:auto;background:#080b10;padding:12px;border-radius:9px;font-size:11px}.lbo-modal[hidden]{display:none!important}.lbo-modal.is-open{display:flex}.lbo-modal-open{overflow:hidden}
@media(max-width:1200px){.lbo-paypal-kpis{grid-template-columns:repeat(3,1fr)}.lbo-form-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.lbo-paypal-report-head{display:block}.lbo-paypal-report-actions{margin-top:14px}.lbo-paypal-kpis{grid-template-columns:repeat(2,1fr)}.lbo-form-grid-5{grid-template-columns:1fr}.lbo-paypal-filter-buttons{padding-top:4px}.lbo-paypal-detail-grid{grid-template-columns:1fr}.lbo-paypal-detail-row{display:block}.lbo-paypal-detail-row strong{display:block;text-align:left;margin-top:4px}.lbo-paypal-table-card{padding:8px}}


/* Conciliación PayPal 1.23.2 - mejoras de layout y tabla */
.lbo-button,.lbo-button-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border:1px solid rgba(215,191,120,.45);border-radius:999px;background:#d7bf78;color:#080b10 !important;text-decoration:none !important;font-size:12px;font-weight:900;line-height:1;text-transform:uppercase;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.lbo-button:hover,.lbo-button-primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,.22);background:#e2cb8d}.lbo-button:focus-visible,.lbo-button-primary:focus-visible,.lbo-button-secondary:focus-visible{outline:2px solid rgba(215,191,120,.45);outline-offset:2px}.lbo-button-ghost,.lbo-button-secondary{background:transparent;color:#f0dc9c !important}.lbo-button-ghost:hover,.lbo-button-secondary:hover{background:rgba(215,191,120,.08)}
.lbo-paypal-filters{margin-bottom:16px;padding:20px 22px}.lbo-paypal-filters-head{display:flex;justify-content:space-between;gap:18px;margin-bottom:18px}.lbo-paypal-filters-head h3{margin:4px 0 6px;color:#f5f7fb;font-size:18px}.lbo-paypal-filters-head p{margin:0;color:#99a3b2;font-size:13px;line-height:1.55}.lbo-paypal-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:end}.lbo-paypal-filters label{display:grid;gap:8px;color:#f5f7fb;font-weight:700}.lbo-paypal-filters input,.lbo-paypal-filters select{width:100%}.lbo-paypal-filter-buttons{display:flex;gap:10px;align-items:center;justify-content:flex-start;grid-column:1 / -1;padding-top:2px}.lbo-paypal-filter-buttons .lbo-button,.lbo-paypal-filter-buttons .lbo-button-secondary{min-width:150px}
.lbo-paypal-table-card{padding:16px;overflow:hidden}.lbo-paypal-table-card .lbo-table-scroll{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border-radius:14px}.lbo-paypal-table-card .dataTables_wrapper{min-width:100%}.lbo-paypal-table-card .dataTables_wrapper .dataTables_length,.lbo-paypal-table-card .dataTables_wrapper .dataTables_filter{margin-bottom:14px}.lbo-paypal-table-card .dataTables_wrapper .dataTables_filter input{min-width:220px;max-width:100%;padding:11px 14px;border:1px solid rgba(215,191,120,.22);border-radius:14px;background:#080b10;color:#f5f7fb}.lbo-paypal-table-card .dataTables_wrapper .dataTables_length select{min-width:88px;padding:11px 14px;border:1px solid rgba(215,191,120,.22);border-radius:14px;background:#080b10;color:#f5f7fb}.lbo-paypal-table-card #lbo-paypal-reconciliation-table{width:100% !important;min-width:1420px;border-collapse:separate;border-spacing:0}.lbo-paypal-table-card #lbo-paypal-reconciliation-table th,.lbo-paypal-table-card #lbo-paypal-reconciliation-table td{vertical-align:top;white-space:normal}.lbo-paypal-table-card #lbo-paypal-reconciliation-table th:nth-child(1),.lbo-paypal-table-card #lbo-paypal-reconciliation-table td:nth-child(1),.lbo-paypal-table-card #lbo-paypal-reconciliation-table th:nth-child(2),.lbo-paypal-table-card #lbo-paypal-reconciliation-table td:nth-child(2),.lbo-paypal-table-card #lbo-paypal-reconciliation-table th:nth-child(5),.lbo-paypal-table-card #lbo-paypal-reconciliation-table td:nth-child(5),.lbo-paypal-table-card #lbo-paypal-reconciliation-table th:nth-child(6),.lbo-paypal-table-card #lbo-paypal-reconciliation-table td:nth-child(6),.lbo-paypal-table-card #lbo-paypal-reconciliation-table th:nth-child(7),.lbo-paypal-table-card #lbo-paypal-reconciliation-table td:nth-child(7),.lbo-paypal-table-card #lbo-paypal-reconciliation-table th:nth-child(8),.lbo-paypal-table-card #lbo-paypal-reconciliation-table td:nth-child(8),.lbo-paypal-table-card #lbo-paypal-reconciliation-table th:nth-child(9),.lbo-paypal-table-card #lbo-paypal-reconciliation-table td:nth-child(9),.lbo-paypal-table-card #lbo-paypal-reconciliation-table th:nth-child(10),.lbo-paypal-table-card #lbo-paypal-reconciliation-table td:nth-child(10),.lbo-paypal-table-card #lbo-paypal-reconciliation-table th:nth-child(11),.lbo-paypal-table-card #lbo-paypal-reconciliation-table td:nth-child(11),.lbo-paypal-table-card #lbo-paypal-reconciliation-table th:nth-child(12),.lbo-paypal-table-card #lbo-paypal-reconciliation-table td:nth-child(12),.lbo-paypal-table-card #lbo-paypal-reconciliation-table th:nth-child(13),.lbo-paypal-table-card #lbo-paypal-reconciliation-table td:nth-child(13){white-space:nowrap}.lbo-paypal-table-card .dataTables_wrapper .dataTables_paginate .paginate_button{border-radius:999px !important}
@media(max-width:1200px){.lbo-paypal-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lbo-paypal-filter-buttons{grid-column:1 / -1}}
@media(max-width:720px){.lbo-paypal-filters{padding:16px}.lbo-paypal-filters-head{display:block;margin-bottom:14px}.lbo-paypal-filter-grid{grid-template-columns:1fr}.lbo-paypal-filter-buttons{display:grid;grid-template-columns:1fr;gap:10px}.lbo-paypal-filter-buttons .lbo-button,.lbo-paypal-filter-buttons .lbo-button-secondary{width:100%;min-width:0}.lbo-paypal-table-card #lbo-paypal-reconciliation-table{min-width:1180px}.lbo-paypal-table-card .dataTables_wrapper .dataTables_filter input{min-width:0;width:100%}}


/* Conciliación PayPal 1.23.3 - filtros compactos, acciones y modal */
.lbo-paypal-filters{padding:18px 20px}.lbo-paypal-filters-head{display:flex!important;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}.lbo-paypal-filters-head>div:first-child{min-width:0}.lbo-paypal-filters-head h3{font-size:18px}.lbo-paypal-filter-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;align-items:end}.lbo-paypal-filter-grid>label{min-width:0}.lbo-paypal-filter-grid input,.lbo-paypal-filter-grid select{min-height:46px!important;padding-top:9px!important;padding-bottom:9px!important}.lbo-paypal-filter-buttons{display:flex!important;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:9px;padding:0!important}.lbo-paypal-filter-buttons .lbo-button{min-width:118px;min-height:44px;padding:0 17px}.lbo-paypal-filter-buttons svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.lbo-paypal-row-actions{display:flex!important;align-items:center;gap:8px;white-space:nowrap}.lbo-paypal-action-button{display:inline-grid!important;place-items:center;width:38px;height:38px;min-width:38px;padding:0!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:12px!important;background:#111720!important;color:#eef2f7!important;cursor:pointer;box-shadow:none!important;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.lbo-paypal-action-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.lbo-paypal-action-button:hover{transform:translateY(-1px);border-color:rgba(215,191,120,.55)!important;background:rgba(215,191,120,.10)!important;color:#f0dc9c!important}.lbo-paypal-action-button.is-view{border-color:rgba(215,191,120,.30)!important;color:#f0dc9c!important}.lbo-paypal-action-button.is-loading svg{animation:lbo-paypal-spin .8s linear infinite}@keyframes lbo-paypal-spin{to{transform:rotate(360deg)}}
body>.lbo-modal[data-lbo-paypal-modal]{position:fixed!important;inset:0!important;z-index:2147483000!important;display:none;align-items:center!important;justify-content:center!important;padding:24px!important;overflow:auto!important}.lbo-modal[data-lbo-paypal-modal].is-open{display:flex!important}.lbo-modal[data-lbo-paypal-modal]>.lbo-modal-backdrop{position:fixed!important;inset:0!important;z-index:0!important;width:100%!important;height:100%!important;border:0!important;background:rgba(0,0,0,.78)!important;backdrop-filter:blur(9px)}.lbo-modal[data-lbo-paypal-modal]>.lbo-paypal-detail-dialog{position:relative!important;z-index:1!important;width:min(960px,calc(100vw - 40px))!important;max-width:960px!important;max-height:calc(100vh - 48px)!important;overflow:auto!important;margin:auto!important;padding:0!important;border:1px solid rgba(215,191,120,.28)!important;border-radius:24px!important;background:linear-gradient(180deg,#121923 0%,#0d1219 100%)!important;box-shadow:0 30px 90px rgba(0,0,0,.62)!important;color:#f5f7fb!important}.lbo-modal[data-lbo-paypal-modal] .lbo-modal-header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid rgba(255,255,255,.09);background:rgba(15,20,28,.96);backdrop-filter:blur(12px)}.lbo-modal[data-lbo-paypal-modal] .lbo-modal-header small{display:block;margin-bottom:7px;color:#d7bf78;font-size:10px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}.lbo-modal[data-lbo-paypal-modal] .lbo-modal-header h3{margin:0;color:#f5f7fb;font-size:24px}.lbo-modal[data-lbo-paypal-modal] .lbo-modal-body{padding:22px 24px 26px}.lbo-modal[data-lbo-paypal-modal] .lbo-modal-close{flex:0 0 42px;width:42px;height:42px}.lbo-paypal-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.lbo-paypal-detail-grid section{min-width:0}
@media(max-width:1050px){.lbo-paypal-filters-head{align-items:flex-start}.lbo-paypal-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){.lbo-paypal-filters-head{display:grid!important;grid-template-columns:1fr!important}.lbo-paypal-filter-buttons{justify-content:stretch}.lbo-paypal-filter-buttons .lbo-button{flex:1;min-width:0}.lbo-paypal-filter-grid{grid-template-columns:1fr!important}.lbo-modal[data-lbo-paypal-modal]{padding:10px!important;align-items:flex-start!important}.lbo-modal[data-lbo-paypal-modal]>.lbo-paypal-detail-dialog{width:100%!important;max-height:calc(100vh - 20px)!important;border-radius:18px!important}.lbo-modal[data-lbo-paypal-modal] .lbo-modal-header{padding:18px}.lbo-modal[data-lbo-paypal-modal] .lbo-modal-body{padding:18px}.lbo-paypal-detail-grid{grid-template-columns:1fr!important}}


/* Conciliación PayPal 1.23.4 - títulos e identificador PayPal */
.lbo-paypal-detail-grid section h4{color:#f5f7fb !important;opacity:1 !important}.lbo-paypal-id-full{display:inline-block;white-space:nowrap;font-size:11px;letter-spacing:-.15px}.lbo-paypal-table-card #lbo-paypal-reconciliation-table th:nth-child(5),.lbo-paypal-table-card #lbo-paypal-reconciliation-table td:nth-child(5){min-width:175px;width:175px;max-width:none}.lbo-paypal-detail-grid .lbo-paypal-mono{color:#f5f7fb;overflow-wrap:anywhere;word-break:break-word}
@media(max-width:720px){.lbo-paypal-id-full{font-size:10px}}

/* 1.23.5 fix: force white modal section titles */
.lbo-modal .lbo-paypal-detail-grid h4,
.lbo-paypal-detail-dialog .lbo-paypal-detail-grid h4,
body .lbo-modal .lbo-paypal-detail-grid section h4{color:#f5f7fb !important; opacity:1 !important; text-shadow:none !important;}
.lbo-modal .lbo-modal-header h3, body .lbo-modal .lbo-modal-header h3{color:#f5f7fb !important;}
