:root {
  --primary: #27D3E2;
  --primary-dark: #14B8C8;
  --secondary: #0F4C5C;
  --secondary-deep: #0A3945;

  --pilates: #E8C7C0;
  --pilates-soft: #FBF2EF;
  --pilates-strong: #B8786C;
  --yoga: #A8CFA8;
  --yoga-soft: #F1F8F1;
  --yoga-strong: #5E8D63;
  --barre: #CFA6C9;
  --barre-soft: #F8F1F7;
  --barre-strong: #8E5F87;

  --background: #F6F9F9;
  --surface: #FFFFFF;
  --surface-alt: #EDF3F3;
  --text-primary: #26363A;
  --text-secondary: #63777C;
  --text-tertiary: #87979B;
  --success: #4F956A;
  --success-soft: #E8F4EC;
  --warning: #A87930;
  --warning-soft: #F8F0E2;
  --danger: #B85E4B;
  --danger-soft: #FFF1EE;
  --border: #D9E4E5;
  --border-strong: #C8D7D9;

  --shadow-xs: 0 2px 8px rgba(15, 76, 92, .04);
  --shadow-sm: 0 8px 24px rgba(15, 76, 92, .07);
  --shadow-md: 0 18px 46px rgba(15, 76, 92, .11);

  --radius-xl: 28px;
  --radius-lg: 22px;
  --radius-md: 16px;
  --radius-sm: 12px;

  --content-max: 520px;
  --tap: 48px;
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: var(--background);
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--background);
  color: var(--text-primary);
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

button,
input {
  font: inherit;
}

button {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

button,
input,
a {
  outline: none;
}

button:focus-visible,
input:focus-visible,
a:focus-visible {
  outline: 3px solid rgba(39, 211, 226, .34);
  outline-offset: 2px;
}

a {
  color: inherit;
}

svg {
  display: block;
}

#app {
  min-height: 100vh;
  min-height: 100dvh;
}

.mobile-shell {
  width: min(100%, var(--content-max));
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0 auto;
  background: var(--background);
  position: relative;
  padding-bottom: calc(92px + env(safe-area-inset-bottom));
}

.screen {
  padding: max(20px, env(safe-area-inset-top)) clamp(16px, 5vw, 24px) 24px;
  animation: fadeIn .2s ease;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(3px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ---------- Login ---------- */
.login-screen {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(24px, env(safe-area-inset-top)) clamp(18px, 5vw, 28px) max(24px, env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 50% 10%, rgba(39,211,226,.16), transparent 30%),
    linear-gradient(160deg, #082F39 0%, #0F4C5C 56%, #0B3540 100%);
}

.login-card {
  width: min(100%, 430px);
  color: white;
}

.brand-block {
  text-align: center;
  margin-bottom: 30px;
}

.brand-logo {
  width: clamp(150px, 43vw, 188px);
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center top;
  display: block;
  margin: 0 auto 14px;
  border-radius: 34px;
  box-shadow: 0 20px 50px rgba(0,0,0,.14);
}

.brand-title {
  margin: 0;
  font-size: clamp(25px, 7vw, 31px);
  line-height: 1.1;
  letter-spacing: .045em;
  font-weight: 700;
}

.brand-tagline {
  max-width: 310px;
  margin: 10px auto 0;
  color: rgba(255,255,255,.82);
  font-size: 13px;
  line-height: 1.65;
}

.login-panel {
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 28px;
  padding: clamp(18px, 5vw, 24px);
  box-shadow: 0 24px 58px rgba(0,0,0,.18);
}

.field {
  margin-bottom: 17px;
}

.field label {
  display: block;
  color: rgba(255,255,255,.84);
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 500;
}

.field input {
  width: 100%;
  min-height: 54px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 16px;
  background: rgba(255,255,255,.10);
  color: white;
  padding: 0 16px;
  caret-color: var(--primary);
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.field input::placeholder {
  color: rgba(255,255,255,.56);
}

.field input:focus {
  border-color: rgba(39,211,226,.85);
  background: rgba(255,255,255,.13);
  box-shadow: 0 0 0 4px rgba(39,211,226,.10);
}

.login-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 16px;
  margin-top: 15px;
}

.login-actions button {
  min-height: 44px;
  background: none;
  border: 0;
  color: rgba(255,255,255,.82);
  padding: 8px 0;
  font-size: 12px;
  font-weight: 500;
}

/* ---------- Buttons ---------- */
.primary-btn,
.secondary-btn,
.reserve-btn {
  touch-action: manipulation;
  transition: transform .15s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.primary-btn {
  width: 100%;
  min-height: 54px;
  border: 0;
  border-radius: 16px;
  background: var(--primary);
  color: #07343C;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .015em;
  box-shadow: 0 10px 24px rgba(39,211,226,.20);
}

.primary-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
  box-shadow: none;
}

.secondary-btn {
  min-height: var(--tap);
  border-radius: 15px;
  padding: 0 17px;
  border: 1px solid var(--border-strong);
  background: var(--surface);
  color: var(--secondary-deep);
  font-weight: 600;
  font-size: 12px;
}

.danger-btn {
  border-color: rgba(184,94,75,.28);
  color: var(--danger);
  background: var(--danger-soft);
}

/* ---------- App chrome ---------- */
.header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 30px;
}

.header-brand {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 11px;
}

.header-logo-wrap {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  overflow: hidden;
  background: #050505;
  box-shadow: var(--shadow-xs);
  flex: 0 0 46px;
  position: relative;
}

.header-logo {
  position: absolute;
  width: 58px;
  height: 58px;
  object-fit: cover;
  object-position: center top;
  left: -6px;
  top: -1px;
}

.header-brand strong {
  display: block;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 700;
  color: var(--secondary-deep);
}

.header-brand span {
  display: block;
  margin-top: 2px;
  color: var(--text-secondary);
  font-size: 10px;
  line-height: 1.35;
}

.header-actions {
  display: flex;
  gap: 8px;
  flex: 0 0 auto;
}

.icon-button,
.avatar {
  width: var(--tap);
  height: var(--tap);
  min-width: var(--tap);
  min-height: var(--tap);
  border-radius: 16px;
}

.icon-button {
  border: 1px solid var(--border);
  background: rgba(255,255,255,.88);
  display: grid;
  place-items: center;
  color: var(--secondary);
  box-shadow: var(--shadow-xs);
}

.icon-button svg,
.nav-icon svg,
.menu-icon svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 1.9;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.avatar {
  border: 0;
  background: linear-gradient(135deg, var(--primary), #A7EDF3);
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 12px;
  color: var(--secondary-deep);
  box-shadow: var(--shadow-xs);
}

/* ---------- Type & sections ---------- */
h1 {
  margin: 0;
  max-width: 92%;
  font-size: clamp(27px, 7.6vw, 34px);
  line-height: 1.12;
  letter-spacing: -.025em;
  font-weight: 700;
  color: #24363A;
}

.subtitle {
  max-width: 390px;
  margin: 8px 0 27px;
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.65;
}

.section-title-row {
  margin: 32px 0 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.section-title-row h2 {
  margin: 0;
  font-size: 18px;
  line-height: 1.3;
  letter-spacing: -.012em;
  color: var(--secondary-deep);
}

.section-title-row button {
  min-height: 44px;
  background: none;
  border: 0;
  color: #0B8290;
  font-weight: 600;
  font-size: 12px;
  padding: 0 2px;
}

.eyebrow {
  text-transform: uppercase;
  letter-spacing: .11em;
  font-size: 10px;
  line-height: 1.3;
  font-weight: 700;
  color: var(--text-secondary);
}

/* ---------- Cards ---------- */
.card {
  background: var(--surface);
  border: 1px solid rgba(15,76,92,.07);
  border-radius: var(--radius-lg);
  padding: 19px;
  box-shadow: var(--shadow-sm);
}

.membership-card {
  position: relative;
  overflow: hidden;
  padding: 21px;
  background: linear-gradient(145deg, #0D4654 0%, #133A43 100%);
  color: white;
  border-color: transparent;
  box-shadow: 0 18px 42px rgba(15,76,92,.17);
}

.membership-card::after {
  content: "";
  position: absolute;
  width: 176px;
  height: 176px;
  border: 26px solid rgba(39,211,226,.10);
  border-radius: 50%;
  right: -76px;
  top: -72px;
}

.membership-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  position: relative;
  z-index: 1;
}

.membership-card .eyebrow {
  color: rgba(255,255,255,.68);
}

.membership-card h3 {
  margin: 5px 0 4px;
  font-size: 21px;
  line-height: 1.2;
  letter-spacing: -.015em;
}

.membership-card p {
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: 11px;
}

.days-pill {
  min-width: 79px;
  padding: 10px 12px;
  border-radius: 16px;
  text-align: center;
  background: rgba(39,211,226,.14);
  border: 1px solid rgba(39,211,226,.24);
  color: #C8F9FC;
  flex: 0 0 auto;
}

.days-pill strong {
  display: block;
  font-size: 22px;
  line-height: 1.05;
}

.days-pill small {
  display: block;
  margin-top: 4px;
  font-size: 9px;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.membership-progress {
  height: 7px;
  margin: 20px 0 10px;
  background: rgba(255,255,255,.12);
  border-radius: 999px;
  overflow: hidden;
}

.membership-progress span {
  display: block;
  width: 78%;
  height: 100%;
  background: var(--primary);
  border-radius: inherit;
}

.card-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 1px 0 -8px;
  color: #65E5EE;
  font-size: 11px;
  font-weight: 700;
  border: 0;
  background: none;
  padding: 0;
}

/* ---------- Class cards ---------- */
.class-card {
  position: relative;
  overflow: hidden;
  padding: 20px;
  border: 1px solid rgba(15,76,92,.06);
  box-shadow: 0 8px 24px rgba(15,76,92,.065);
}

.class-card + .class-card {
  margin-top: 13px;
}

.class-card.pilates { background: linear-gradient(145deg, #FFFDFD 0%, var(--pilates-soft) 100%); }
.class-card.yoga { background: linear-gradient(145deg, #FFFFFF 0%, var(--yoga-soft) 100%); }
.class-card.barre { background: linear-gradient(145deg, #FFFFFF 0%, var(--barre-soft) 100%); }

.class-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  border-radius: 99px;
}

.class-card.pilates::before { background: var(--pilates-strong); }
.class-card.yoga::before { background: var(--yoga-strong); }
.class-card.barre::before { background: var(--barre-strong); }

.class-card::after {
  content: "";
  position: absolute;
  width: 86px;
  height: 86px;
  border-radius: 50%;
  border: 14px solid rgba(255,255,255,.68);
  right: -34px;
  top: -34px;
}

.class-card--compact {
  min-height: 166px;
}

.class-top,
.class-bottom {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 14px;
}

.class-top {
  align-items: flex-start;
}

.class-name {
  font-size: 16px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: .025em;
  color: var(--secondary-deep);
}

.class-meta {
  max-width: 230px;
  color: #617176;
  font-size: 11px;
  line-height: 1.55;
  margin-top: 6px;
}

.class-time {
  font-size: 18px;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -.02em;
  color: #263B40;
  white-space: nowrap;
}

.class-bottom {
  margin-top: 19px;
  align-items: flex-end;
}

.availability {
  color: #586B70;
  font-size: 11px;
  line-height: 1.4;
  font-weight: 500;
}

.progress {
  width: clamp(108px, 30vw, 148px);
  height: 7px;
  margin-top: 8px;
  overflow: hidden;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(15,76,92,.055);
  border-radius: 999px;
}

.progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #486D75;
}

.reserve-btn {
  min-height: 46px;
  min-width: 104px;
  border: 0;
  border-radius: 15px;
  padding: 0 15px;
  color: white;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: .015em;
  background: var(--secondary);
  box-shadow: 0 8px 18px rgba(15,76,92,.12);
}

.reserve-btn.waitlist {
  min-width: 132px;
  background: #665867;
}

.reserve-btn.reserved {
  background: var(--success);
  box-shadow: none;
}

.horizontal-scroll {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(250px, 87%);
  gap: 13px;
  margin-inline: calc(clamp(16px, 5vw, 24px) * -1);
  padding: 0 clamp(16px, 5vw, 24px) 6px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}

.horizontal-scroll > * {
  scroll-snap-align: start;
}

.horizontal-scroll::-webkit-scrollbar {
  display: none;
}

/* ---------- Schedule ---------- */
.week-nav {
  display: grid;
  grid-template-columns: 48px 1fr 48px;
  gap: 10px;
  align-items: center;
  margin: 20px 0 18px;
}

.week-nav button {
  width: var(--tap);
  height: var(--tap);
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 15px;
  display: grid;
  place-items: center;
  color: var(--secondary);
  box-shadow: var(--shadow-xs);
}

.week-label {
  text-align: center;
  color: var(--secondary-deep);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: .035em;
}

.day-row {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 7px;
  margin-bottom: 18px;
}

.day-chip {
  min-height: 58px;
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 16px;
  padding: 8px 3px;
  color: var(--text-secondary);
  font-size: 10px;
  font-weight: 600;
  box-shadow: var(--shadow-xs);
}

.day-chip strong {
  display: block;
  margin-top: 4px;
  color: var(--text-primary);
  font-size: 14px;
  line-height: 1;
}

.day-chip.active {
  color: #07343C;
  background: var(--primary);
  border-color: var(--primary);
  box-shadow: 0 8px 18px rgba(39,211,226,.17);
}

.day-chip.active strong {
  color: #07343C;
}

.filters {
  display: flex;
  gap: 8px;
  margin: 0 calc(clamp(16px, 5vw, 24px) * -1) 20px;
  padding: 0 clamp(16px, 5vw, 24px) 4px;
  overflow-x: auto;
  scrollbar-width: none;
}

.filters::-webkit-scrollbar { display: none; }

.filter-chip {
  min-height: 44px;
  padding: 0 15px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  color: #586C71;
  white-space: nowrap;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .025em;
}

.filter-chip.active {
  color: var(--secondary-deep);
  background: #DDF8FA;
  border-color: #B2EBF0;
}

.filter-chip[data-filter="Pilates"].active { background: var(--pilates); border-color: #DBB3AA; }
.filter-chip[data-filter="Yoga"].active { background: var(--yoga); border-color: #8EB991; }
.filter-chip[data-filter="Barré"].active { background: var(--barre); border-color: #BA8FB4; }

/* ---------- Tabs / reservations ---------- */
.tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  margin: 18px 0 22px;
  padding: 4px;
  border-radius: 16px;
  background: var(--surface-alt);
}

.tab {
  min-height: 46px;
  border: 0;
  border-radius: 13px;
  background: transparent;
  color: var(--text-secondary);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .03em;
}

.tab.active {
  background: var(--surface);
  color: var(--secondary-deep);
  box-shadow: var(--shadow-xs);
}

.booking-card {
  display: flex;
  gap: 14px;
  align-items: stretch;
  margin-bottom: 13px;
  padding: 17px;
}

.booking-strip {
  width: 6px;
  border-radius: 999px;
  flex: 0 0 6px;
}

.booking-strip.pilates { background: var(--pilates-strong); }
.booking-strip.yoga { background: var(--yoga-strong); }
.booking-strip.barre { background: var(--barre-strong); }

.booking-content {
  flex: 1;
  min-width: 0;
}

.booking-line {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.booking-content h3 {
  margin: 0;
  color: var(--secondary-deep);
  font-size: 16px;
  line-height: 1.3;
}

.booking-content p {
  margin: 5px 0 0;
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.45;
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 9px;
  border-radius: 999px;
  white-space: nowrap;
  font-size: 9px;
  line-height: 1;
  letter-spacing: .045em;
  font-weight: 700;
}

.badge.confirmed,
.badge.active {
  background: var(--success-soft);
  color: #356E4B;
}

.badge.cancelled {
  background: var(--danger-soft);
  color: #99503F;
}

.badge.waiting {
  background: var(--warning-soft);
  color: #7A5C2A;
}

.booking-actions {
  margin-top: 15px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

/* ---------- Membership ---------- */
.membership-detail {
  min-height: 264px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: white;
  border-color: transparent;
  background:
    radial-gradient(circle at 82% 5%, rgba(39,211,226,.18), transparent 32%),
    linear-gradient(150deg, #0D4654 0%, #10343D 100%);
  box-shadow: 0 20px 46px rgba(15,76,92,.16);
}

.membership-detail h2 {
  margin: 7px 0 4px;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.membership-detail p {
  max-width: 330px;
  margin: 0;
  color: rgba(255,255,255,.74);
  font-size: 11px;
  line-height: 1.65;
}

.membership-dates {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: rgba(255,255,255,.76);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .02em;
}

.membership-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin-top: 14px;
}

.stat-card {
  min-height: 88px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--surface);
  border: 1px solid rgba(15,76,92,.07);
  border-radius: 18px;
  padding: 13px 7px;
  text-align: center;
  box-shadow: var(--shadow-sm);
}

.stat-card strong {
  display: block;
  color: var(--secondary-deep);
  font-size: 20px;
  line-height: 1.1;
}

.stat-card span {
  display: block;
  margin-top: 6px;
  color: var(--text-secondary);
  font-size: 8px;
  line-height: 1.35;
  letter-spacing: .025em;
}

.plan-description {
  margin: 8px 0 18px;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.75;
}

/* ---------- Profile ---------- */
.profile-hero {
  text-align: center;
  margin: 4px 0 28px;
}

.profile-avatar {
  width: 92px;
  height: 92px;
  margin: 0 auto 14px;
  border-radius: 30px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, var(--primary), #A7EDF3);
  color: var(--secondary-deep);
  font-size: 28px;
  font-weight: 700;
  border: 5px solid white;
  box-shadow: 0 14px 34px rgba(15,76,92,.12);
}

.profile-hero h2 {
  margin: 0;
  color: var(--secondary-deep);
  font-size: 20px;
  line-height: 1.3;
}

.profile-hero p {
  margin: 5px 0 0;
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.45;
}

.menu-list {
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: var(--shadow-xs);
}

.menu-item {
  width: 100%;
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 16px;
  border: 0;
  border-bottom: 1px solid #E7EEEE;
  background: var(--surface);
  color: var(--text-primary);
  text-align: left;
  font-size: 12px;
  font-weight: 500;
}

.menu-item:last-child { border-bottom: 0; }

.menu-item > span:first-child {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

.menu-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #EEF5F5;
  color: var(--secondary);
}

.menu-chevron {
  color: #93A2A5;
}

.menu-chevron svg {
  width: 17px;
  height: 17px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ---------- Bottom navigation ---------- */
.bottom-nav {
  position: fixed;
  z-index: 50;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: min(100%, var(--content-max));
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2px;
  padding: 8px 8px max(10px, env(safe-area-inset-bottom));
  background: rgba(255,255,255,.965);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  border-top: 1px solid rgba(15,76,92,.09);
  box-shadow: 0 -8px 26px rgba(15,76,92,.05);
}

.nav-item {
  min-height: 60px;
  border: 0;
  border-radius: 16px;
  background: transparent;
  color: #7E9195;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-size: 9px;
  line-height: 1;
  font-weight: 500;
}

.nav-icon {
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
}

.nav-icon svg {
  width: 21px;
  height: 21px;
}

.nav-item.active {
  color: #0C7784;
  background: rgba(39,211,226,.105);
  font-weight: 700;
}

/* ---------- Empty / notice ---------- */
.empty-state {
  padding: 36px 22px;
  border: 1px dashed var(--border-strong);
  border-radius: 22px;
  background: var(--surface);
  color: var(--text-secondary);
  text-align: center;
  font-size: 12px;
  line-height: 1.6;
}

.empty-state .empty-icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 12px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  background: #EDF7F8;
  color: var(--secondary);
}

.empty-state .empty-icon svg {
  width: 24px;
  height: 24px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
}

.note {
  padding: 14px 15px;
  border: 1px solid #DCEAEC;
  border-radius: 16px;
  background: #F1F8F9;
  color: #5F7277;
  font-size: 10px;
  line-height: 1.65;
}

/* ---------- Bottom sheet ---------- */
.sheet-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
  align-items: flex-end;
  justify-content: center;
  padding-top: 56px;
  background: rgba(5,31,37,.48);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

.sheet-backdrop.open {
  display: flex;
}

.bottom-sheet {
  width: min(100%, var(--content-max));
  max-height: calc(100dvh - 56px);
  overflow-y: auto;
  position: relative;
  padding: 12px clamp(18px, 5vw, 24px) calc(24px + env(safe-area-inset-bottom));
  border-radius: 30px 30px 0 0;
  background: var(--surface);
  box-shadow: 0 -24px 60px rgba(15,76,92,.18);
  animation: sheetUp .24s ease;
}

@keyframes sheetUp {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}

.sheet-handle {
  width: 42px;
  height: 5px;
  margin: 0 auto 18px;
  border-radius: 999px;
  background: #D8E3E4;
}

.sheet-close {
  position: absolute;
  top: 18px;
  right: clamp(18px, 5vw, 24px);
}

.sheet-discipline {
  width: 58px;
  height: 58px;
  margin-bottom: 15px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: var(--secondary-deep);
  font-size: 24px;
  font-weight: 700;
}

.sheet-content h2 {
  max-width: calc(100% - 54px);
  margin: 0;
  color: var(--secondary-deep);
  font-size: 22px;
  line-height: 1.28;
  letter-spacing: -.018em;
}

.sheet-content > p {
  margin: 7px 0 0;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.65;
}

.sheet-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 20px 0;
}

.sheet-summary div {
  min-height: 72px;
  padding: 12px;
  border: 1px solid #E3EBEC;
  border-radius: 15px;
  background: #F5F8F8;
}

.sheet-summary span {
  display: block;
  color: var(--text-secondary);
  font-size: 9px;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 600;
}

.sheet-summary strong {
  display: block;
  margin-top: 5px;
  color: var(--secondary-deep);
  font-size: 13px;
  line-height: 1.35;
}

.sheet-actions {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: 10px;
  margin-top: 20px;
}

.sheet-actions .primary-btn,
.sheet-actions .secondary-btn {
  min-height: 52px;
}

.success-state {
  text-align: center;
  padding: 14px 0 5px;
}

.success-check {
  width: 74px;
  height: 74px;
  margin: 0 auto 17px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--success-soft);
  color: #34744E;
  font-size: 29px;
  font-weight: 700;
  animation: pop .23s ease;
}

@keyframes pop {
  0% { transform: scale(.72); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}

/* ---------- Toast ---------- */
.toast {
  position: fixed;
  z-index: 200;
  left: 50%;
  bottom: calc(104px + env(safe-area-inset-bottom));
  max-width: calc(100vw - 32px);
  transform: translate(-50%, 16px);
  padding: 12px 16px;
  border-radius: 999px;
  background: #173D46;
  color: white;
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
  font-size: 11px;
  line-height: 1.45;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}

/* ---------- Responsive ---------- */
@media (max-width: 360px) {
  .screen {
    padding-inline: 14px;
  }

  .class-card {
    padding: 17px;
  }

  .class-top,
  .class-bottom {
    gap: 9px;
  }

  .class-time {
    font-size: 16px;
  }

  .reserve-btn {
    min-width: 92px;
    padding-inline: 11px;
    font-size: 10px;
  }

  .reserve-btn.waitlist {
    min-width: 118px;
  }

  .membership-stats {
    grid-template-columns: 1fr;
  }

  .stat-card {
    min-height: 70px;
  }

  .sheet-actions {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 700px) {
  body {
    background:
      radial-gradient(circle at 50% 0%, rgba(39,211,226,.08), transparent 36%),
      #EAF1F1;
  }

  .mobile-shell {
    min-height: calc(100vh - 44px);
    min-height: calc(100dvh - 44px);
    margin-top: 22px;
    margin-bottom: 22px;
    border-radius: 34px;
    overflow: hidden;
    box-shadow: 0 28px 75px rgba(15,76,92,.12), 0 0 0 1px rgba(15,76,92,.04);
  }

  .bottom-nav {
    bottom: 22px;
    border-radius: 0 0 34px 34px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .primary-btn:hover,
  .reserve-btn:hover,
  .secondary-btn:hover,
  .icon-button:hover,
  .menu-item:hover,
  .nav-item:hover,
  .filter-chip:hover,
  .day-chip:hover {
    transform: translateY(-1px);
  }

  .primary-btn:hover {
    background: #3CD9E6;
  }

  .secondary-btn:hover,
  .icon-button:hover,
  .menu-item:hover {
    border-color: #C9DADC;
    background: #FBFDFD;
  }
}

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

/* Waitlist state */
.reserve-btn:disabled {
  cursor: default;
  opacity: .94;
}

.badge.waiting {
  max-width: 132px;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ===== Energy Balance v5 · Asistencia / Instructor ===== */
.staff-shell {
  min-height: 100vh;
  background:
    radial-gradient(circle at 8% 0%, rgba(39,211,226,.09), transparent 24rem),
    var(--background);
}

.staff-screen {
  width: min(1180px, 100%);
  margin: 0 auto;
  padding: 24px clamp(18px, 3vw, 34px) 42px;
}

.staff-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 22px;
  margin-bottom: 22px;
  border-bottom: 1px solid var(--border);
}

.staff-logout {
  min-width: 92px;
  min-height: 44px;
}

.staff-hero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 26px;
}

.staff-hero h1 {
  margin-top: 5px;
}

.attendance-date-field {
  min-width: 178px;
  display: grid;
  gap: 7px;
}

.attendance-date-field span {
  color: var(--text-secondary);
  font-size: 11px;
  font-weight: 600;
}

.attendance-date-field input {
  min-height: 48px;
  width: 100%;
  border-radius: 15px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text-primary);
  padding: 0 13px;
  outline: none;
}

.attendance-date-field input:focus {
  border-color: var(--primary-dark);
  box-shadow: 0 0 0 3px rgba(39,211,226,.12);
}

.staff-grid {
  display: grid;
  grid-template-columns: minmax(285px, 350px) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.staff-classes-panel,
.roster-panel {
  min-width: 0;
}

.staff-meta {
  color: var(--text-secondary);
  font-size: 11px;
}

.staff-class-list {
  display: grid;
  gap: 11px;
}

.staff-class-card {
  width: 100%;
  min-height: 126px;
  display: grid;
  grid-template-columns: 8px 1fr;
  gap: 0;
  padding: 0;
  overflow: hidden;
  text-align: left;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: var(--surface);
  box-shadow: 0 7px 22px rgba(15,76,92,.05);
  color: var(--text-primary);
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.staff-class-card:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.staff-class-card.active {
  border-color: rgba(20,184,200,.52);
  box-shadow: 0 0 0 3px rgba(39,211,226,.09), var(--shadow-sm);
}

.staff-class-accent.pilates { background: var(--pilates); }
.staff-class-accent.yoga { background: var(--yoga); }
.staff-class-accent.barre { background: var(--barre); }

.staff-class-main {
  padding: 15px 16px;
}

.staff-class-top {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
}

.staff-class-top strong {
  display: block;
  font-size: 15px;
}

.staff-class-top span:not(.staff-count) {
  display: block;
  margin-top: 3px;
  font-size: 10px;
  color: var(--text-secondary);
}

.staff-count {
  min-width: 46px;
  height: 30px;
  border-radius: 999px;
  background: var(--surface-alt);
  display: grid;
  place-items: center;
  font-size: 10px;
  font-weight: 700;
  color: var(--secondary);
}

.staff-class-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 13px;
  margin: 12px 0 9px;
  color: var(--text-secondary);
  font-size: 9px;
}

.staff-class-metrics b {
  color: var(--secondary);
  font-size: 10px;
}

.staff-progress {
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  background: var(--surface-alt);
}

.staff-progress span {
  display: block;
  height: 100%;
  background: var(--primary-dark);
  border-radius: inherit;
}

.roster-panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 24px;
  box-shadow: var(--shadow-sm);
  padding: 20px;
}

.roster-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 17px;
  padding-bottom: 17px;
  border-bottom: 1px solid var(--border);
}

.roster-heading h2 {
  margin: 4px 0 3px;
  font-size: 20px;
}

.roster-heading p {
  margin: 0;
  font-size: 10px;
  color: var(--text-secondary);
}

.roster-summary {
  min-width: 66px;
  text-align: center;
  padding: 10px;
  border-radius: 17px;
  background: rgba(39,211,226,.09);
  color: var(--secondary);
}

.roster-summary strong {
  display: block;
  font-size: 21px;
  line-height: 1;
}

.roster-summary span {
  display: block;
  margin-top: 4px;
  font-size: 9px;
  color: var(--text-secondary);
}

.roster-list {
  display: grid;
  gap: 10px;
}

.roster-row {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) auto;
  gap: 10px 14px;
  align-items: center;
  padding: 13px;
  border: 1px solid var(--border);
  border-radius: 17px;
  background: #FCFEFE;
}

.roster-person {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}

.roster-avatar {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: #E3F8FA;
  color: var(--secondary);
  font-size: 12px;
  font-weight: 700;
}

.roster-person strong {
  display: block;
  font-size: 12px;
}

.roster-person span {
  display: block;
  max-width: 250px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 2px;
  color: var(--text-secondary);
  font-size: 9px;
}

.attendance-badge {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0 9px;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .035em;
  white-space: nowrap;
}

.attendance-badge.attended {
  background: #E7F5EC;
  color: #397552;
}

.attendance-badge.no-show {
  background: #FFF0ED;
  color: #A95242;
}

.attendance-badge.cancelled {
  background: #F2F4F4;
  color: #707E81;
}

.attendance-badge.pending {
  background: #F6F0E7;
  color: #846C40;
}

.attendance-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.attendance-action {
  min-height: 46px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-size: 10px;
  font-weight: 600;
}

.attendance-action svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.attendance-action.attended.selected {
  border-color: #9ED2AE;
  background: #E7F5EC;
  color: #397552;
}

.attendance-action.no-show.selected {
  border-color: #F0B1A5;
  background: #FFF0ED;
  color: #A95242;
}

.attendance-action:disabled {
  opacity: .55;
}

.attendance-x {
  font-size: 20px;
  line-height: 1;
}

@media (max-width: 760px) {
  .staff-screen {
    padding: 18px 16px 32px;
  }

  .staff-header {
    padding-bottom: 16px;
    margin-bottom: 18px;
  }

  .staff-hero {
    display: grid;
    gap: 14px;
    margin-bottom: 18px;
  }

  .attendance-date-field {
    min-width: 0;
  }

  .staff-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .staff-class-list {
    grid-auto-flow: column;
    grid-auto-columns: minmax(270px, 86%);
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
  }

  .staff-class-list::-webkit-scrollbar { display: none; }

  .roster-panel {
    padding: 15px;
    border-radius: 21px;
  }

  .roster-heading h2 {
    font-size: 17px;
  }

  .roster-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

@media (max-width: 420px) {
  .staff-header .header-brand span {
    display: none;
  }

  .staff-logout {
    min-width: 74px;
    padding: 0 12px;
  }

  .roster-heading {
    align-items: start;
  }

  .roster-person span {
    max-width: 180px;
  }
}


/* ===== Energy Balance v6 · Panel administrativo ===== */
.admin-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 246px minmax(0, 1fr);
  background:
    radial-gradient(circle at 90% 0%, rgba(39,211,226,.08), transparent 30rem),
    var(--background);
}


/* Branding multitenant: neutral plateado para detalles administrativos */
.admin-brand,
.admin-sidebar-footer {
  border-color: color-mix(in srgb, #C0C0C0 28%, transparent);
}

.admin-nav-item:not(.active) {
  color: color-mix(in srgb, #C0C0C0 82%, white);
}

.admin-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  padding: 24px 18px;
  border-right: 1px solid var(--border);
  background: var(--secondary);
  color: white;
}

.admin-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 2px 7px 22px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}

.admin-brand strong,
.admin-profile-mini strong {
  display: block;
  font-size: 13px;
}

.admin-brand span,
.admin-profile-mini span {
  display: block;
  margin-top: 2px;
  font-size: 9px;
  color: rgba(255,255,255,.58);
}

.admin-nav {
  display: grid;
  gap: 7px;
  margin-top: 20px;
}

.admin-nav-item {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 0 13px;
  border: 0;
  border-radius: 14px;
  background: transparent;
  color: rgba(255,255,255,.70);
  text-align: left;
  font-size: 11px;
}

.admin-nav-item span {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
}

.admin-nav-item svg,
.admin-mobile-nav svg,
.admin-metric-icon svg,
.admin-search svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.admin-nav-item.active {
  background: color-mix(in srgb, var(--primary) 22%, transparent);
  color: color-mix(in srgb, var(--primary) 62%, white);
}

.admin-sidebar-footer {
  margin-top: auto;
  display: grid;
  gap: 14px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.10);
}

.admin-profile-mini {
  display: flex;
  align-items: center;
  gap: 10px;
}

.admin-profile-mini .avatar {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
}

.admin-sidebar-footer .secondary-btn {
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  color: white;
}

.admin-main {
  min-width: 0;
  width: 100%;
  max-width: 1450px;
  padding: 30px clamp(22px, 3.5vw, 48px) 50px;
}

.admin-topbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 25px;
}

.admin-topbar h1 {
  margin: 4px 0 4px;
  color: var(--secondary-deep);
  font-size: clamp(26px, 3vw, 34px);
}

.admin-topbar p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 12px;
}

.admin-date {
  color: var(--text-secondary);
  font-size: 11px;
  text-transform: capitalize;
}

.admin-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.admin-metric-card {
  min-height: 154px;
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: var(--surface);
  box-shadow: var(--shadow-xs);
}

.admin-metric-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  margin-bottom: 14px;
  border-radius: 13px;
  background: rgba(39,211,226,.10);
  color: var(--secondary);
}

.admin-metric-card > span {
  color: var(--text-secondary);
  font-size: 10px;
  font-weight: 600;
}

.admin-metric-card strong {
  margin-top: 4px;
  color: var(--secondary-deep);
  font-size: 28px;
  line-height: 1.05;
}

.admin-metric-card small {
  margin-top: auto;
  color: var(--text-secondary);
  font-size: 9px;
}

.admin-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: 18px;
  margin-bottom: 18px;
}

.admin-dashboard-grid--lower {
  grid-template-columns: minmax(0, 1.5fr) minmax(300px, .65fr);
}

.admin-panel {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: var(--surface);
  box-shadow: var(--shadow-xs);
}

.admin-panel-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.admin-panel-head h2,
.admin-toolbar h2 {
  margin: 0;
  color: var(--secondary-deep);
  font-size: 17px;
}

.admin-panel-head p,
.admin-toolbar p {
  margin: 4px 0 0;
  color: var(--text-secondary);
  font-size: 9px;
}

.admin-panel-head > strong {
  color: var(--secondary);
  font-size: 24px;
}

.admin-week-chart {
  height: 210px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
  align-items: end;
  padding-top: 10px;
}

.admin-bar-item {
  height: 100%;
  display: grid;
  grid-template-rows: 1fr auto auto;
  gap: 5px;
  text-align: center;
}

.admin-bar-track {
  width: 26px;
  height: 100%;
  max-height: 150px;
  margin: 0 auto;
  display: flex;
  align-items: end;
  overflow: hidden;
  border-radius: 999px;
  background: #EEF4F4;
}

.admin-bar-track span {
  width: 100%;
  border-radius: inherit;
  background: linear-gradient(180deg, var(--primary), var(--primary-dark));
}

.admin-bar-item b {
  color: var(--secondary);
  font-size: 10px;
}

.admin-bar-item small {
  color: var(--text-secondary);
  font-size: 9px;
}

.discipline-admin-list {
  display: grid;
  gap: 14px;
}

.discipline-admin-row {
  display: grid;
  grid-template-columns: 12px minmax(80px, 1fr) minmax(90px, 1.2fr) 38px;
  gap: 10px;
  align-items: center;
}

.discipline-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.discipline-admin-row strong {
  display: block;
  font-size: 11px;
}

.discipline-admin-row small {
  display: block;
  margin-top: 2px;
  color: var(--text-secondary);
  font-size: 8px;
}

.discipline-progress {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--surface-alt);
}

.discipline-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--primary-dark);
}

.discipline-admin-row > b {
  color: var(--secondary);
  font-size: 10px;
  text-align: right;
}

.admin-alert-list {
  display: grid;
  gap: 10px;
}

.admin-alert {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  padding: 11px;
  border-radius: 15px;
  background: #F7FAFA;
}

.admin-alert-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #EEF5F5;
  color: var(--secondary);
  font-weight: 700;
}

.admin-alert.warning .admin-alert-icon {
  background: #FFF5E7;
  color: #9B7434;
}

.admin-alert.info .admin-alert-icon {
  background: #EAF8FA;
  color: #167C88;
}

.admin-alert.success .admin-alert-icon {
  background: #EAF6EE;
  color: #3E7853;
}

.admin-alert strong {
  display: block;
  font-size: 10px;
}

.admin-alert p {
  margin: 3px 0 0;
  color: var(--text-secondary);
  font-size: 8px;
  line-height: 1.45;
}

.admin-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.admin-table {
  width: 100%;
  min-width: 780px;
  border-collapse: collapse;
  font-size: 10px;
}

.admin-table th {
  padding: 10px 10px;
  border-bottom: 1px solid var(--border);
  color: var(--text-secondary);
  font-size: 8px;
  font-weight: 700;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.admin-table td {
  padding: 13px 10px;
  border-bottom: 1px solid #EAF0F0;
  vertical-align: middle;
  color: var(--text-primary);
}

.admin-table tbody tr:last-child td {
  border-bottom: 0;
}

.admin-table td > small {
  display: block;
  margin-top: 3px;
  color: var(--text-secondary);
  font-size: 8px;
}

.class-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.class-label i {
  width: 8px;
  height: 28px;
  border-radius: 999px;
}

.affluence-badge,
.status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 25px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 8px;
  font-weight: 700;
  white-space: nowrap;
}

.affluence-badge.high,
.status-pill.good {
  background: #E8F5EC;
  color: #397552;
}

.affluence-badge.medium,
.status-pill.warn {
  background: #FFF5E7;
  color: #876629;
}

.affluence-badge.low,
.status-pill.bad {
  background: #FFF0ED;
  color: #A95242;
}

.status-pill.neutral {
  background: #EEF2F2;
  color: #67777A;
}

.admin-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.admin-search {
  min-width: 300px;
  height: 46px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #FBFDFD;
  color: var(--text-secondary);
}

.admin-search input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text-primary);
  font-size: 10px;
}

.admin-user-cell {
  display: flex;
  align-items: center;
  gap: 10px;
}

.admin-user-cell > span {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #E4F8FA;
  color: var(--secondary);
  font-size: 9px;
  font-weight: 700;
}

.admin-user-cell b,
.admin-user-cell small {
  display: block;
}

.admin-user-cell small {
  margin-top: 2px;
  color: var(--text-secondary);
  font-size: 8px;
}

.admin-inline-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.admin-inline-stats article {
  min-height: 92px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 19px;
  background: var(--surface);
  box-shadow: var(--shadow-xs);
}

.admin-inline-stats span {
  display: block;
  color: var(--text-secondary);
  font-size: 9px;
}

.admin-inline-stats strong {
  display: block;
  margin-top: 5px;
  color: var(--secondary-deep);
  font-size: 24px;
}

.admin-attendance-toolbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 16px;
}

.admin-attendance-grid {
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
}

.admin-mobile-nav {
  display: none;
}

@media (max-width: 1080px) {
  .admin-shell {
    grid-template-columns: 210px minmax(0, 1fr);
  }

  .admin-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-dashboard-grid,
  .admin-dashboard-grid--lower {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .admin-shell {
    display: block;
    padding-bottom: 76px;
  }

  .admin-sidebar {
    display: none;
  }

  .admin-main {
    padding: 20px 16px 28px;
  }

  .admin-topbar {
    align-items: start;
    margin-bottom: 20px;
  }

  .admin-date {
    display: none;
  }

  .admin-metrics {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .admin-metric-card {
    min-height: 134px;
    padding: 15px;
  }

  .admin-week-chart {
    height: 185px;
  }

  .admin-toolbar {
    display: grid;
  }

  .admin-search {
    min-width: 0;
    width: 100%;
  }

  .admin-inline-stats {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
  }

  .admin-inline-stats article {
    min-height: 82px;
    padding: 12px;
  }

  .admin-inline-stats strong {
    font-size: 20px;
  }

  .admin-attendance-toolbar {
    justify-content: stretch;
  }

  .admin-attendance-toolbar .attendance-date-field {
    width: 100%;
  }

  .admin-attendance-grid {
    grid-template-columns: 1fr;
  }

  .admin-mobile-nav {
    position: fixed;
    z-index: 70;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(68px, 1fr);
    overflow-x: auto;
    scrollbar-width: none;
    padding: 7px 5px max(8px, env(safe-area-inset-bottom));
    border-top: 1px solid var(--border);
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(16px);
  }

  .admin-mobile-nav::-webkit-scrollbar { display: none; }

  .admin-mobile-nav button {
    min-height: 54px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: 0;
    border-radius: 13px;
    background: transparent;
    color: #7E9195;
  }

  .admin-mobile-nav button.active {
    background: rgba(39,211,226,.09);
    color: #0C7784;
  }

  .admin-mobile-nav span {
    width: 20px;
    height: 20px;
  }

  .admin-mobile-nav small {
    font-size: 7px;
    font-weight: 600;
  }
}

@media (max-width: 430px) {
  .admin-metrics {
    grid-template-columns: 1fr 1fr;
  }

  .admin-metric-card strong {
    font-size: 24px;
  }

  .admin-inline-stats {
    grid-template-columns: 1fr;
  }

  .discipline-admin-row {
    grid-template-columns: 12px minmax(78px, .8fr) minmax(70px, 1fr) 34px;
  }
}

/* ---------- Admin management v2 ---------- */
.admin-toolbar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.admin-primary-action {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 16px;
  border: 0;
  border-radius: 14px;
  background: var(--primary);
  color: var(--secondary-deep);
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(39, 211, 226, .14);
}

.admin-primary-action svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.admin-row-actions {
  min-width: 126px;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.admin-small-btn {
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid #CFE3E5;
  border-radius: 10px;
  background: #F4FBFC;
  color: #0C7784;
  font-size: 8px;
  font-weight: 700;
  white-space: nowrap;
}

.admin-small-btn.soft {
  border-color: var(--border);
  background: #F8FAFA;
  color: #5F7277;
}

.admin-small-btn.danger {
  border-color: #F2C9C1;
  background: #FFF7F5;
  color: #A95242;
}

.admin-row-muted {
  opacity: .62;
}

.bottom-sheet.admin-form-sheet {
  width: min(100%, 620px);
  max-height: calc(100dvh - 34px);
}

.admin-sheet-content {
  padding-top: 4px;
}

.admin-sheet-content .eyebrow {
  display: block;
  margin-bottom: 6px;
}

.admin-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 22px 0 4px;
}

.admin-form-grid--single {
  grid-template-columns: 1fr;
}

.admin-form-field {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
  color: var(--text-primary);
}

.admin-form-field--wide {
  grid-column: 1 / -1;
}

.admin-form-field > span {
  color: var(--text-secondary);
  font-size: 9px;
  font-weight: 600;
}

.admin-form-field input,
.admin-form-field select,
.admin-form-field textarea {
  width: 100%;
  min-height: 48px;
  padding: 0 13px;
  border: 1px solid var(--border);
  border-radius: 13px;
  outline: 0;
  background: #FBFDFD;
  color: var(--text-primary);
  font-family: inherit;
  font-size: 11px;
}

.admin-form-field textarea {
  min-height: 92px;
  padding-top: 12px;
  resize: vertical;
}

.admin-form-field input:focus,
.admin-form-field select:focus,
.admin-form-field textarea:focus {
  border-color: var(--primary-dark);
  box-shadow: 0 0 0 3px rgba(39, 211, 226, .11);
}

.admin-form-field small {
  color: var(--text-secondary);
  font-size: 8px;
  line-height: 1.45;
}

.admin-checkbox-field {
  min-height: 48px;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: #FBFDFD;
}

.admin-checkbox-field input {
  width: 18px;
  min-height: 18px;
  height: 18px;
  padding: 0;
  accent-color: var(--primary-dark);
}

.admin-checkbox-field > span {
  color: var(--text-primary);
  font-size: 10px;
}

.admin-danger-button {
  background: var(--danger) !important;
  color: #542B23 !important;
}

@media (max-width: 760px) {
  .admin-mobile-nav {
    grid-template-columns: repeat(6, 1fr);
  }

  .admin-toolbar-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .admin-primary-action {
    width: 100%;
  }

  .admin-row-actions {
    min-width: 110px;
  }

  .bottom-sheet.admin-form-sheet {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .admin-form-grid {
    grid-template-columns: 1fr;
  }

  .admin-form-field--wide {
    grid-column: auto;
  }

  .admin-mobile-nav small {
    font-size: 6.5px;
  }
}

.admin-history-label {
  color: var(--text-secondary);
  font-size: 8px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* v8 · Horarios recurrentes */
.schedule-panel { overflow: visible; }
.schedule-week-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.schedule-day-card {
  border: 1px solid var(--border);
  border-radius: 20px;
  background: var(--surface);
  padding: 14px;
  min-width: 0;
}
.schedule-day-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.schedule-day-head strong { color: var(--secondary); font-size: 14px; }
.schedule-day-head span { color: var(--text-secondary); font-size: 10px; }
.schedule-slot-list { display: grid; gap: 8px; }
.schedule-slot {
  width: 100%;
  min-height: 74px;
  border: 1px solid rgba(15,76,92,.08);
  border-radius: 15px;
  padding: 10px 12px;
  text-align: left;
  color: var(--text-primary);
  background: #fff;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.schedule-slot:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(15,76,92,.08); border-color: rgba(20,184,200,.28); }
.schedule-pilates { background: color-mix(in srgb, var(--pilates) 34%, white); }
.schedule-yoga { background: color-mix(in srgb, var(--yoga) 34%, white); }
.schedule-barre { background: color-mix(in srgb, var(--barre) 34%, white); }
.schedule-time { display:block; font-size: 13px; font-weight: 700; color: var(--secondary); }
.schedule-discipline { display:block; font-size: 12px; font-weight: 700; margin-top: 3px; }
.schedule-slot small { display:block; margin-top:3px; color:var(--text-secondary); font-size:9px; line-height:1.35; }
.admin-compact-btn { min-height: 42px; }
.admin-form-intro { margin: 0 0 18px; color: var(--text-secondary); font-size: 12px; line-height: 1.6; }

@media (max-width: 1180px) {
  .schedule-week-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .schedule-week-grid { grid-template-columns: 1fr; }
  .schedule-day-card { padding: 12px; }
  .schedule-slot { min-height: 68px; }
}

/* =========================
   REPORTES ADMINISTRATIVOS
   ========================= */
.report-filter-panel {
  margin-bottom: 18px;
}

.report-filter-form {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 170px 170px auto auto;
  gap: 12px;
  align-items: end;
}

.report-filter-form > div h2 {
  margin: 3px 0 4px;
  font-size: 18px;
}

.report-filter-form > div p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.5;
}

.report-filter-form label {
  display: grid;
  gap: 6px;
  color: var(--text-secondary);
  font-size: 10px;
  font-weight: 600;
}

.report-filter-form input {
  min-height: 46px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--surface);
  color: var(--text-primary);
  padding: 0 12px;
  outline: none;
}

.report-filter-form input:focus {
  border-color: var(--primary-dark);
  box-shadow: 0 0 0 3px rgba(39, 211, 226, .12);
}

.report-export-btn {
  min-height: 46px;
  white-space: nowrap;
}

.report-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.report-main-grid {
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr);
}

.report-secondary-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.report-chart-scroll {
  overflow-x: auto;
  scrollbar-width: thin;
  padding: 6px 2px 2px;
}

.report-revenue-chart {
  min-width: 100%;
  height: 244px;
  display: flex;
  align-items: flex-end;
  gap: 9px;
  padding: 28px 2px 0;
}

.report-revenue-bar {
  min-width: 42px;
  flex: 1 0 42px;
  height: 100%;
  display: grid;
  grid-template-rows: 24px 1fr 28px;
  align-items: end;
  text-align: center;
}

.report-revenue-value {
  min-height: 20px;
  color: var(--secondary);
  font-size: 9px;
  font-weight: 700;
  white-space: nowrap;
}

.report-revenue-track {
  height: 100%;
  min-height: 130px;
  border-radius: 10px 10px 4px 4px;
  background: linear-gradient(to top, rgba(15, 76, 92, .045), rgba(39, 211, 226, .04));
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}

.report-revenue-track span {
  display: block;
  width: 100%;
  min-height: 4px;
  border-radius: 8px 8px 3px 3px;
  background: linear-gradient(180deg, var(--primary), var(--primary-dark));
  transition: height .25s ease;
}

.report-revenue-bar small {
  align-self: start;
  padding-top: 7px;
  color: var(--text-secondary);
  font-size: 9px;
  white-space: nowrap;
}

.report-method-grid {
  display: grid;
  gap: 12px;
}

.report-method-card {
  border: 1px solid var(--border);
  background: var(--background);
  border-radius: 17px;
  padding: 14px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 7px 12px;
  align-items: center;
}

.report-method-card div:first-child span,
.report-method-card small {
  display: block;
  color: var(--text-secondary);
  font-size: 9px;
}

.report-method-card div:first-child strong {
  display: block;
  margin-top: 2px;
  color: var(--secondary);
  font-size: 16px;
}

.report-method-card > b {
  color: var(--secondary);
  font-size: 15px;
}

.report-method-progress {
  grid-column: 1 / -1;
  height: 6px;
  background: #E8EFEF;
  border-radius: 99px;
  overflow: hidden;
}

.report-method-progress span {
  display: block;
  height: 100%;
  background: var(--primary-dark);
  border-radius: inherit;
}

.report-method-card small {
  grid-column: 1 / -1;
}

@media (max-width: 1180px) {
  .report-filter-form {
    grid-template-columns: 1fr 160px 160px;
  }
  .report-filter-form > div {
    grid-column: 1 / -1;
  }
  .report-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .report-main-grid,
  .report-secondary-grid {
    grid-template-columns: 1fr;
  }
  .report-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .report-filter-form {
    grid-template-columns: 1fr 1fr;
  }
  .report-filter-form > div,
  .report-filter-form .admin-primary-action,
  .report-export-btn {
    grid-column: 1 / -1;
  }
  .report-metrics {
    grid-template-columns: 1fr 1fr;
  }
  .report-revenue-chart {
    min-width: 620px;
  }
}

@media (max-width: 430px) {
  .report-metrics {
    grid-template-columns: 1fr;
  }
}


/* ---------- Reportes financieros ---------- */

.report-financial-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 18px;
}

.report-profit-card {
  border-color: rgba(15, 76, 92, .18);
  background:
    linear-gradient(
      145deg,
      rgba(39, 211, 226, .08),
      var(--surface)
    );
}

.report-profit-card strong {
  color: var(--secondary-deep);
}

.report-profit-card.is-negative {
  border-color: rgba(196, 57, 57, .18);
}

.report-profit-card.is-negative strong {
  color: var(--danger);
}

.report-financial-panel,
.report-expense-panel {
  margin-bottom: 18px;
}

.report-financial-breakdown {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.report-financial-breakdown article {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 17px;
  background: var(--background);
}

.report-financial-breakdown span,
.report-financial-breakdown small {
  display: block;
  color: var(--text-secondary);
}

.report-financial-breakdown span {
  font-size: 10px;
  font-weight: 600;
}

.report-financial-breakdown strong {
  display: block;
  margin: 4px 0 5px;
  color: var(--secondary-deep);
  font-size: 18px;
}

.report-financial-breakdown small {
  font-size: 9px;
  line-height: 1.45;
}

.report-expense-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.report-expense-head-actions > strong {
  color: var(--secondary-deep);
  font-size: 19px;
}

.report-expense-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.report-expense-actions .secondary-btn {
  min-height: 34px;
  padding: 0 10px;
  font-size: 9px;
}

@media (max-width: 1180px) {
  .report-financial-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .report-financial-metrics,
  .report-financial-breakdown {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .report-expense-head-actions {
    width: 100%;
    justify-content: stretch;
  }

  .report-expense-head-actions .admin-primary-action {
    flex: 1;
  }
}

@media (max-width: 430px) {
  .report-financial-metrics,
  .report-financial-breakdown {
    grid-template-columns: 1fr;
  }
}

/* ---------- Notifications v12 ---------- */
.notification-button {
  position: relative;
}

.notification-count {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  display: grid;
  place-items: center;
  border: 2px solid var(--surface);
  border-radius: 999px;
  background: var(--danger);
  color: white;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
}

.notification-page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.notification-page-head .subtitle {
  margin-bottom: 20px;
}

.notification-read-all {
  min-width: auto;
  min-height: 44px;
  white-space: nowrap;
}

.notification-list {
  display: grid;
  gap: 12px;
}

.notification-card {
  width: 100%;
  min-height: 112px;
  display: grid;
  grid-template-columns: 10px 1fr;
  gap: 12px;
  padding: 17px;
  text-align: left;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: var(--surface);
  color: var(--text-primary);
  box-shadow: var(--shadow-xs);
}

.notification-card.unread {
  border-color: rgba(39,211,226,.34);
  box-shadow: 0 10px 25px rgba(15,76,92,.08);
}

.notification-card.read {
  opacity: .74;
}

.notification-dot {
  width: 8px;
  height: 8px;
  margin-top: 7px;
  border-radius: 50%;
  background: #A9B7B9;
}

.notification-card.unread .notification-dot { background: var(--primary-dark); }
.notification-card.important .notification-dot { background: var(--danger); }
.notification-card.success .notification-dot { background: var(--success); }
.notification-card.warning .notification-dot { background: var(--warning); }
.notification-card.promotion .notification-dot { background: var(--barre-strong); }

.notification-body { min-width: 0; }

.notification-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 5px;
  color: var(--text-secondary);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .06em;
}

.notification-meta span { color: var(--secondary); }
.notification-meta time { white-space: nowrap; letter-spacing: 0; font-weight: 500; }

.notification-body strong {
  display: block;
  margin-bottom: 5px;
  color: var(--secondary-deep);
  font-size: 14px;
  line-height: 1.4;
}

.notification-body p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.65;
}

.profile-notification-pill {
  min-width: 22px;
  height: 22px;
  margin-left: 5px;
  display: inline-grid;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(39,211,226,.14);
  color: var(--primary-dark);
  font-size: 10px;
}

.admin-notification-list {
  display: grid;
  gap: 12px;
}

.admin-notification-card {
  padding: 17px 18px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #FBFDFD;
}

.admin-notification-top,
.admin-notification-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 14px;
}

.admin-notification-top time,
.admin-notification-foot {
  color: var(--text-secondary);
  font-size: 10px;
}

.admin-notification-card h3 {
  margin: 11px 0 5px;
  color: var(--secondary-deep);
  font-size: 15px;
}

.admin-notification-card p {
  margin: 0 0 12px;
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.65;
}

.notification-automation-panel {
  margin-top: 18px;
}

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

.notification-auto-grid article {
  min-height: 94px;
  padding: 15px;
  border: 1px solid var(--border);
  border-radius: 17px;
  background: #F7FAFA;
}

.notification-auto-grid b,
.notification-auto-grid span {
  display: block;
}

.notification-auto-grid b {
  color: var(--secondary-deep);
  font-size: 12px;
}

.notification-auto-grid span {
  margin-top: 5px;
  color: var(--text-secondary);
  font-size: 10px;
  line-height: 1.55;
}

@media (max-width: 520px) {
  .notification-page-head { display: block; }
  .notification-read-all { margin-bottom: 14px; }
  .notification-auto-grid { grid-template-columns: 1fr; }
}

/* v13 · Configuración */
.settings-page-form {
  display: grid;
  gap: 18px;
}

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

.settings-card {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.settings-card .admin-form-grid {
  margin-top: 4px;
}

.settings-card .note {
  margin-top: 16px;
}

.settings-save-bar {
  position: sticky;
  bottom: 16px;
  z-index: 25;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(39,211,226,.22);
  border-radius: 20px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 14px 36px rgba(15,76,92,.12);
  backdrop-filter: blur(16px);
}

.settings-save-bar strong,
.settings-save-bar span {
  display: block;
}

.settings-save-bar strong {
  color: var(--secondary-deep);
  font-size: 12px;
}

.settings-save-bar span {
  margin-top: 3px;
  color: var(--text-secondary);
  font-size: 9px;
}

.settings-save-button {
  width: auto;
  min-width: 220px;
  padding-inline: 20px;
}

.sheet-actions--single {
  grid-template-columns: 1fr;
}

@media (max-width: 980px) {
  .settings-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .settings-save-bar {
    bottom: 72px;
    display: grid;
    grid-template-columns: 1fr;
  }
  .settings-save-button { width: 100%; min-width: 0; }
}

/* v14 · Reglamento y constancia de aceptación */
.profile-regulation-pill {
  margin-left: 8px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #E7F5EC;
  color: #397552;
  font-size: 8px;
  letter-spacing: .05em;
  vertical-align: middle;
}

.regulation-hero {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 4px 0 20px;
}

.regulation-hero h1 {
  margin-top: 5px;
}

.regulation-icon {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: rgba(39,211,226,.14);
  color: var(--secondary);
}

.regulation-icon svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.regulation-status-card {
  display: grid;
  gap: 16px;
  border-left: 5px solid var(--warning);
}

.regulation-status-card.accepted {
  border-left-color: var(--success);
}

.regulation-status-card h3,
.regulation-acceptance-card h3 {
  margin: 10px 0 5px;
  font-size: 17px;
}

.regulation-status-card p,
.regulation-acceptance-card p,
.regulation-summary-card p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.65;
}

.regulation-pdf-button {
  width: 100%;
  min-height: 48px;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

.regulation-summary-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.regulation-summary-card {
  padding: 15px;
  min-height: 142px;
}

.regulation-summary-card strong {
  display: block;
  color: var(--secondary);
  font-size: 13px;
  margin-bottom: 7px;
}

.regulation-acceptance-card {
  margin-top: 18px;
}

.regulation-acceptance-card .primary-btn {
  margin-top: 16px;
}

.regulation-acceptance-card small {
  display: block;
  margin-top: 12px;
  color: var(--text-secondary);
  font-size: 9px;
  line-height: 1.5;
}

.regulation-accepted-row {
  margin-top: 16px;
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border-radius: 15px;
  background: #E7F5EC;
  color: #397552;
  font-size: 11px;
  font-weight: 600;
}

.regulation-accepted-row svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.regulation-kpis {
  margin-bottom: 18px;
}

.admin-panel a.secondary-btn {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 380px) {
  .regulation-summary-grid {
    grid-template-columns: 1fr;
  }
  .regulation-summary-card {
    min-height: auto;
  }
}

@media (min-width: 700px) {
  .regulation-status-card {
    grid-template-columns: 1fr auto;
    align-items: center;
  }
  .regulation-pdf-button {
    width: auto;
    min-width: 170px;
  }
}


/* ---------- v17 Auditoría ---------- */
.audit-intro {
  overflow: visible;
}

.audit-filter-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.5fr) minmax(180px, 1fr) repeat(4, minmax(150px, .8fr));
  gap: 14px;
  align-items: end;
}

.audit-filter-grid label {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.audit-filter-grid label > span {
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 600;
}

.audit-filter-grid input,
.audit-filter-grid select {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
  color: var(--text-primary);
  padding: 0 12px;
  font: inherit;
}

.audit-filter-actions {
  display: flex;
  gap: 10px;
  grid-column: 1 / -1;
  justify-content: flex-end;
  padding-top: 2px;
}

.audit-table td {
  vertical-align: top;
}

.audit-summary {
  min-width: 260px;
  max-width: 420px;
}

.audit-details {
  min-width: 115px;
}

.audit-details summary {
  cursor: pointer;
  color: var(--secondary);
  font-weight: 700;
  list-style: none;
  white-space: nowrap;
}

.audit-details summary::-webkit-details-marker {
  display: none;
}

.audit-details[open] {
  position: relative;
}

.audit-diff {
  width: min(640px, 72vw);
  margin-top: 10px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface-alt);
  box-shadow: var(--shadow-sm);
}

.audit-diff-row {
  display: grid;
  grid-template-columns: minmax(120px, .8fr) minmax(150px, 1fr) minmax(150px, 1fr);
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid var(--border);
}

.audit-diff-row:last-of-type {
  border-bottom: 0;
}

.audit-diff-row > b {
  overflow-wrap: anywhere;
}

.audit-diff-row > span {
  display: grid;
  gap: 2px;
  overflow-wrap: anywhere;
}

.audit-diff-row small,
.audit-request-id {
  color: var(--text-tertiary);
  font-size: 11px;
}

.audit-request-id {
  margin-top: 10px;
  overflow-wrap: anywhere;
}

.audit-no-change {
  color: var(--text-tertiary);
  font-size: 12px;
}

.audit-pagination {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 18px 2px 2px;
  color: var(--text-secondary);
  font-size: 13px;
}

.audit-pagination > div {
  display: flex;
  gap: 8px;
}

@media (max-width: 1180px) {
  .audit-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .audit-filter-grid {
    grid-template-columns: 1fr 1fr;
  }

  .audit-filter-grid label:first-child,
  .audit-filter-grid label:nth-child(2),
  .audit-filter-actions {
    grid-column: 1 / -1;
  }

  .audit-diff {
    width: min(560px, 84vw);
  }

  .audit-diff-row {
    grid-template-columns: 1fr;
  }

  .audit-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .audit-pagination > div {
    width: 100%;
  }

  .audit-pagination button {
    flex: 1;
  }
}


/* Navegación administrativa: al crecer los módulos, el menú central puede desplazarse
   sin ocultar el perfil ni el botón de cerrar sesión. */
.admin-sidebar .admin-nav {
  min-height: 0;
  overflow-y: auto;
  padding-right: 2px;
  scrollbar-width: thin;
}

.admin-sidebar .admin-sidebar-footer {
  flex: 0 0 auto;
}

/* v18 · Privacidad y consentimientos */
.privacy-alert-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border-left:4px solid #d5a300;margin:16px 0}.privacy-alert-card h3{margin:8px 0 4px}.privacy-hero{margin-bottom:18px}.privacy-overview-card{display:flex;justify-content:space-between;gap:18px;margin-bottom:18px}.privacy-overview-card.accepted{border-left:4px solid #27d3e2}.privacy-overview-card.pending{border-left:4px solid #d5a300}.privacy-consent-list{display:grid;gap:14px;margin-bottom:18px}.privacy-consent-card{padding:18px}.privacy-consent-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.privacy-consent-head h3{margin:5px 0 8px}.privacy-meta-row{display:flex;gap:10px;align-items:center;margin:6px 0 10px;font-size:13px}.privacy-draft-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff3cd;border:1px solid #f0d98a;font-size:11px;font-weight:800}.privacy-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.privacy-revoke-btn{border-color:#e5b6b6}.privacy-request-card,.privacy-history-card,.privacy-legal-note{margin-top:16px}.privacy-request-form{display:grid;gap:12px;margin-top:14px}.privacy-request-form label,.privacy-admin-request-form label{display:grid;gap:6px;font-size:13px;font-weight:700}.privacy-request-form select,.privacy-request-form textarea,.privacy-admin-request-form select,.privacy-admin-request-form textarea{width:100%;border:1px solid #d7e1e1;border-radius:12px;padding:11px;background:#fff;font:inherit;color:#2f3a3d;box-sizing:border-box}.privacy-request-form textarea,.privacy-admin-request-form textarea{min-height:92px;resize:vertical}.privacy-request-history{display:grid;gap:10px}.privacy-request-row{border:1px solid #e9efef;border-radius:12px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:8px}.privacy-request-row small{display:block;margin-top:3px;color:#748285}.privacy-request-row p{grid-column:1/-1;margin:4px 0 0}.privacy-legal-note{background:#f7fbfb}.privacy-admin-warning{border-left:4px solid #d5a300}.privacy-admin-requests{display:grid;gap:14px}.privacy-admin-request-card{border:1px solid #e4ecec;border-radius:14px;padding:16px}.privacy-admin-request-head{display:flex;justify-content:space-between;gap:14px}.privacy-admin-request-head h3{margin:4px 0}.privacy-admin-request-head p{margin:0;color:#748285}.privacy-request-description{background:#f8fafa;border-radius:10px;padding:12px;white-space:pre-wrap}.privacy-admin-request-form{display:grid;grid-template-columns:180px 1fr auto;gap:12px;align-items:end}.admin-small-btn{padding:8px 10px;font-size:11px}.privacy-admin-table small{display:block;margin-top:4px}
@media(max-width:760px){.privacy-alert-card,.privacy-consent-head,.privacy-admin-request-head{align-items:stretch;flex-direction:column}.privacy-admin-request-form{grid-template-columns:1fr}.privacy-actions>*{flex:1 1 100%}}

/* v19 · Atención al usuario */
.support-hero { margin-bottom: 14px; }
.support-policy-card,
.support-create-card,
.support-ticket-card { margin-bottom: 14px; }
.support-policy-card h3,
.support-create-card h3 { margin: 8px 0; }
.support-contact-row { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:12px; font-size:12px; color:var(--text-secondary); }
.support-form { display:grid; gap:12px; margin-top:12px; }
.support-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.support-form label,
.support-admin-update-form label,
.support-admin-filter label { display:grid; gap:6px; }
.support-form label > span,
.support-admin-update-form label > span,
.support-admin-filter label > span { font-size:11px; font-weight:700; color:var(--text-secondary); }
.support-form input,
.support-form select,
.support-form textarea,
.support-admin-update-form input,
.support-admin-update-form select,
.support-admin-update-form textarea,
.support-admin-filter input,
.support-admin-filter select { width:100%; border:1px solid var(--border); border-radius:12px; background:var(--surface); color:var(--text-primary); padding:11px 12px; font:inherit; box-sizing:border-box; }
.support-form textarea { min-height:110px; resize:vertical; }
.support-admin-update-form textarea { min-height:96px; resize:vertical; }
.support-ticket-list { display:grid; gap:12px; padding-bottom:8px; }
.support-ticket-card { border-left:4px solid transparent; }
.support-ticket-card.overdue,
.support-admin-ticket.overdue { border-left-color:#b64b4b; }
.support-ticket-head,
.support-admin-ticket-head { display:flex; gap:14px; align-items:flex-start; justify-content:space-between; }
.support-ticket-head h3,
.support-admin-ticket-head h2 { margin:5px 0 4px; }
.support-ticket-head p,
.support-admin-ticket-head p { margin:0; color:var(--text-secondary); font-size:12px; }
.support-description { font-size:13px; line-height:1.65; color:var(--text-primary); }
.support-meta-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:12px 0; }
.support-meta-grid > div { background:var(--background); border-radius:10px; padding:9px 10px; display:grid; gap:3px; }
.support-meta-grid span { color:var(--text-secondary); font-size:10px; text-transform:uppercase; font-weight:700; }
.support-meta-grid b { font-size:12px; }
.support-response,
.support-actions-public { background:rgba(39,211,226,.08); border:1px solid rgba(39,211,226,.2); border-radius:12px; padding:12px; margin-top:10px; }
.support-actions-public { background:rgba(15,76,92,.05); border-color:rgba(15,76,92,.14); }
.support-response span,
.support-actions-public span { display:block; font-size:10px; font-weight:800; text-transform:uppercase; color:var(--petrol,#0F4C5C); margin-bottom:5px; }
.support-response p,
.support-actions-public p { margin:0; font-size:12px; line-height:1.6; }
.support-history { margin-top:12px; }
.support-history summary { cursor:pointer; font-size:11px; font-weight:700; color:var(--petrol,#0F4C5C); }
.support-timeline { margin-top:10px; display:grid; gap:8px; }
.support-timeline-row { display:grid; grid-template-columns:10px 1fr; gap:8px; align-items:start; }
.support-timeline-row > span { width:8px; height:8px; border-radius:50%; background:var(--primary,#27D3E2); margin-top:5px; }
.support-timeline-row b { font-size:11px; }
.support-timeline-row p { margin:2px 0; font-size:11px; color:var(--text-secondary); }
.support-timeline-row small { font-size:10px; color:var(--text-secondary); }
.support-admin-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.support-admin-policy { margin-bottom:14px; }
.support-admin-filter { display:grid; grid-template-columns:2fr repeat(3,minmax(0,1fr)) auto; gap:10px; align-items:end; }
.support-admin-list { display:grid; gap:14px; }
.support-admin-ticket { overflow:hidden; }
.support-admin-badges { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.support-admin-body { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.9fr); gap:18px; margin-top:14px; }
.support-admin-case > span { font-size:10px; font-weight:800; text-transform:uppercase; color:var(--text-secondary); }
.support-admin-case > p { line-height:1.65; font-size:13px; }
.support-admin-update-form { display:grid; gap:10px; padding:14px; background:var(--background); border-radius:14px; }

@media (max-width: 900px) {
  .support-admin-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .support-admin-filter { grid-template-columns:1fr 1fr; }
  .support-admin-filter .audit-filter-actions { grid-column:1 / -1; }
  .support-admin-body { grid-template-columns:1fr; }
}

@media (max-width: 560px) {
  .support-form-grid,
  .support-meta-grid,
  .support-admin-kpis,
  .support-admin-filter { grid-template-columns:1fr; }
  .support-ticket-head,
  .support-admin-ticket-head { flex-direction:column; }
  .support-admin-badges { justify-content:flex-start; }
}


/* Password reset */
.password-reset-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(10, 15, 18, .72);
  backdrop-filter: blur(8px);
}

.password-reset-card {
  width: min(100%, 460px);
  max-height: 92vh;
  overflow-y: auto;
  padding: 28px;
  border-radius: 24px;
  background: var(--surface, #fff);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
}

.password-reset-card h2 {
  margin: 20px 0 8px;
}

.password-reset-card p {
  margin: 0 0 22px;
  line-height: 1.5;
}

.password-reset-card .primary-btn {
  width: 100%;
  margin-top: 8px;
}

.password-reset-close {
  width: 100%;
  margin-top: 12px;
}


/* =========================================================
   BOTONES ESPECIALES · USUARIOS
   ========================================================= */

.admin-toolbar-actions .admin-special-action {
  min-height: 44px;
  padding: 0 17px;
  border-radius: 14px;
  border: 1px solid transparent;
  font-weight: 700;
  letter-spacing: -0.01em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition:
    transform 160ms ease,
    box-shadow 160ms ease,
    filter 160ms ease;
}

.admin-toolbar-actions .admin-special-action:hover {
  transform: translateY(-2px);
  filter: brightness(1.04);
}

.admin-toolbar-actions .admin-special-action:active {
  transform: translateY(0);
}

.admin-toolbar-actions .admin-admin-action {
  background: linear-gradient(135deg, #76577f 0%, #59405f 100%);
  border-color: rgba(89, 64, 95, 0.18);
  color: #fff;
  box-shadow: 0 7px 18px rgba(89, 64, 95, 0.18);
}

.admin-toolbar-actions .admin-admin-action:hover {
  box-shadow: 0 10px 23px rgba(89, 64, 95, 0.25);
}

.admin-toolbar-actions .admin-admin-action svg {
  width: 17px;
  height: 17px;
}

.admin-toolbar-actions .admin-trial-action {
  background: linear-gradient(135deg, #f4b66e 0%, #dd8b52 100%);
  border-color: rgba(184, 107, 58, 0.18);
  color: #4c2a18;
  box-shadow: 0 7px 18px rgba(196, 119, 65, 0.20);
}

.admin-toolbar-actions .admin-trial-action:hover {
  box-shadow: 0 10px 24px rgba(196, 119, 65, 0.28);
}

.admin-special-icon {
  font-size: 16px;
  line-height: 1;
}

@media (max-width: 760px) {
  .admin-toolbar-actions .admin-special-action {
    min-height: 42px;
  }
}



/* ==========================================================
   Agregar asistente desde tarjeta de clase
   ========================================================== */

.attendance-class-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.attendance-add-person-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 999px;
  padding: 6px 10px;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}

.attendance-add-person-btn svg {
  width: 15px;
  height: 15px;
}

.attendance-add-person-btn:hover {
  transform: translateY(-1px);
}

.staff-class-card {
  cursor: pointer;
}


/* ==========================================================
   Botón premium · Agregar asistente
   ========================================================== */

.attendance-add-person-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;

  padding: 7px 12px;

  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;

  background:
    linear-gradient(
      135deg,
      #244f56 0%,
      #1e4148 55%,
      #17363c 100%
    );

  color: #ffffff;

  font: inherit;
  font-size: .75rem;
  font-weight: 750;
  letter-spacing: .01em;

  box-shadow:
    0 5px 14px rgba(24, 62, 68, .20),
    inset 0 1px 0 rgba(255,255,255,.12);

  cursor: pointer;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    filter .18s ease;
}

.attendance-add-person-btn svg {
  width: 15px;
  height: 15px;

  stroke: currentColor;
  fill: none;
}

.attendance-add-person-btn:hover {
  transform: translateY(-1px);

  box-shadow:
    0 8px 18px rgba(24, 62, 68, .27),
    inset 0 1px 0 rgba(255,255,255,.16);

  filter: brightness(1.06);
}

.attendance-add-person-btn:active {
  transform: translateY(0);

  box-shadow:
    0 3px 9px rgba(24, 62, 68, .18),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.attendance-add-person-btn:focus-visible {
  outline: 3px solid rgba(48, 112, 120, .25);
  outline-offset: 2px;
}

/* =========================
   CLASES ADMIN · VISTA MENSUAL
   ========================= */

.admin-class-day {
  margin-top: 18px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: var(--surface);
}

.admin-class-day:first-child {
  margin-top: 0;
}

.admin-class-day-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.admin-class-day-head strong {
  display: block;
  color: var(--secondary-deep);
  font-size: 14px;
  text-transform: capitalize;
}

.admin-class-day-head small {
  display: block;
  margin-top: 3px;
  color: var(--text-secondary);
  font-size: 9px;
}

.admin-class-day .admin-table-wrap {
  border-radius: 14px;
}

@media (max-width: 760px) {
  .admin-class-day {
    padding: 10px;
    border-radius: 16px;
  }
}

/* ==========================================================
   Phase 4E · Contexto multiempresa
   ========================================================== */

.business-context {
  margin: 14px 12px 18px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 14px;
  background: rgba(255, 255, 255, .06);
}

.business-context-label {
  display: block;
  margin-bottom: 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .11em;
  opacity: .72;
}

.business-context-control {
  display: flex;
  align-items: center;
  gap: 9px;
}

.business-context-logo {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  object-fit: contain;
  border-radius: 9px;
  background: #fff;
  padding: 3px;
}

.business-context select {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 9px;
  background: rgba(255, 255, 255, .08);
  color: inherit;
  padding: 8px 28px 8px 9px;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
}

.business-context select:disabled {
  cursor: default;
  opacity: .9;
}

.business-context option {
  color: #111;
  background: #fff;
}

.business-context small {
  display: block;
  margin-top: 7px;
  font-size: 10px;
  opacity: .68;
}

/* ==========================================================
   Phase 4E · Centro Mi negocio
   ========================================================== */

.business-hero-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 22px;
  padding: 24px;
  border: 1px solid var(--border, #e7e7e7);
  border-radius: 20px;
  background: var(--surface, #fff);
}

.business-hero-identity {
  display: flex;
  align-items: center;
  gap: 16px;
}

.business-hero-identity img {
  width: 68px;
  height: 68px;
  object-fit: contain;
  border-radius: 16px;
  border: 1px solid var(--border, #e7e7e7);
  background: #fff;
  padding: 6px;
}

.business-hero-identity h2 {
  margin: 4px 0 3px;
}

.business-hero-identity p {
  margin: 0;
  color: var(--text-secondary);
}

.business-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.business-hero-meta > div {
  min-width: 120px;
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--background, #f7f7f7);
}

.business-hero-meta span,
.business-detail-grid span {
  display: block;
  margin-bottom: 4px;
  color: var(--text-secondary);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.business-hero-meta strong {
  font-size: 12px;
}

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

.business-overview-card {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  width: 100%;
  min-height: 150px;
  padding: 20px;
  border: 1px solid var(--border, #e7e7e7);
  border-radius: 18px;
  background: var(--surface, #fff);
  text-align: left;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
}

.business-overview-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .07);
}

.business-overview-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--primary);
  color: #fff;
}

.business-overview-icon svg {
  width: 22px;
  height: 22px;
}

.business-overview-card small {
  display: block;
  margin-bottom: 6px;
  color: var(--text-secondary);
  font-weight: 700;
  letter-spacing: .07em;
}

.business-overview-card strong {
  display: block;
  margin-bottom: 7px;
  font-size: 16px;
}

.business-overview-card p {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.5;
}

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

.business-detail-grid > div {
  padding: 14px;
  border-radius: 14px;
  background: var(--background, #f7f7f7);
}

.business-detail-grid strong {
  word-break: break-word;
}

.business-list {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.business-list-row {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 11px 13px;
  border: 1px solid var(--border, #e7e7e7);
  border-radius: 13px;
}

.business-list-row > div:not(.admin-user-cell):first-of-type {
  flex: 1;
}

.business-list-row strong,
.business-list-row small {
  display: block;
}

.business-list-row small {
  margin-top: 3px;
  color: var(--text-secondary);
}

.business-role-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
  margin-left: auto;
}

@media (max-width: 900px) {
  .business-hero-card {
    align-items: flex-start;
    flex-direction: column;
  }

  .business-overview-grid,
  .business-detail-grid {
    grid-template-columns: 1fr;
  }

  .business-list-row {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .business-role-list {
    width: 100%;
    justify-content: flex-start;
    margin-left: 0;
  }
}

/* ==========================================================
   Phase 4E · Acciones de autogestión
   ========================================================== */

.business-action-group,
.business-row-actions {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}

.business-row-actions {
  margin-left: auto;
  justify-content: flex-end;
}

.business-mini-btn {
  min-height: 32px;
  padding: 6px 9px;
  font-size: 10px;
}

@media (max-width: 720px) {
  .business-action-group {
    width: 100%;
  }

  .business-action-group > button {
    flex: 1;
  }

  .business-row-actions {
    width: 100%;
    justify-content: flex-start;
    margin-left: 0;
  }
}

/* ===== E BALANCE BRAND UI CLIENT START ===== */

.client-brand-ui {
  --eb-green-950: #0b2922;
  --eb-green-900: #10382f;
  --eb-green-800: #1e4d40;
  --eb-green-700: #345f50;
  --eb-green-600: #59796b;

  --eb-cream-50: #fcfaf6;
  --eb-cream-100: #f7f2e9;
  --eb-cream-150: #f2ebdf;
  --eb-cream-200: #e9dfcf;

  --eb-gold-300: #d6c29d;
  --eb-gold-400: #bea174;
  --eb-gold-500: #a98959;

  --eb-ink: #17241f;
  --eb-muted: #70766f;

  color: var(--eb-ink);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(89,121,107,.12),
      transparent 19rem
    ),
    linear-gradient(
      180deg,
      #fcfaf6 0%,
      #f8f4ed 100%
    );
}


/* HEADER */

.client-brand-ui .header {
  min-height: 82px;

  margin-left: -20px;
  margin-right: -20px;

  padding: 15px 20px;

  background: rgba(252,250,246,.94);

  border-bottom:
    1px solid rgba(16,56,47,.09);

  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.client-brand-ui .header-logo-wrap {
  width: 48px;
  height: 48px;

  overflow: hidden;

  background: var(--eb-cream-100);

  border:
    1px solid rgba(190,161,116,.28);

  border-radius: 15px;
}

.client-brand-ui .header-logo {
  width: 100%;
  height: 100%;

  object-fit: contain;
  padding: 4px;
}

.client-brand-ui .header-brand strong {
  color: var(--eb-green-950);
  font-weight: 750;
}

.client-brand-ui .header-brand span {
  color: var(--eb-muted);
}

.client-brand-ui .icon-button {
  color: var(--eb-green-900);

  background: var(--eb-cream-100);

  border:
    1px solid rgba(16,56,47,.08);
}

.client-brand-ui .avatar {
  color: white;

  background:
    linear-gradient(
      145deg,
      var(--eb-green-800),
      var(--eb-green-950)
    );

  border: 0;
}


/* TITLES */

.client-brand-ui .screen > h1 {
  margin-top: 27px;
  margin-bottom: 6px;

  color: var(--eb-green-950);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: clamp(32px, 8vw, 42px);

  font-weight: 400;

  letter-spacing: -.025em;
}

.client-brand-ui .subtitle {
  margin-top: 0;
  margin-bottom: 25px;

  color: var(--eb-muted);

  line-height: 1.55;
}

.client-brand-ui .section-title-row {
  margin-top: 30px;
  margin-bottom: 13px;
}

.client-brand-ui .section-title-row h2 {
  color: var(--eb-green-950);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 21px;
  font-weight: 400;
}

.client-brand-ui .section-title-row button {
  padding: 7px 12px;

  color: var(--eb-green-700);

  background: var(--eb-cream-100);

  border:
    1px solid rgba(16,56,47,.08);

  border-radius: 999px;

  font-size: 11px;
  font-weight: 700;
}


/* CARDS */

.client-brand-ui .card {
  background: rgba(255,255,255,.87);

  border:
    1px solid rgba(16,56,47,.075);

  border-radius: 22px;

  box-shadow:
    0 13px 32px rgba(20,54,45,.07);
}


/* MEMBERSHIP */

.client-brand-ui .membership-card {
  position: relative;

  overflow: hidden;

  color: white;

  background:
    linear-gradient(
      145deg,
      var(--eb-green-800),
      var(--eb-green-950)
    );

  border: 0;

  box-shadow:
    0 20px 38px rgba(11,41,34,.17);
}

.client-brand-ui .membership-card::after {
  content: "";

  position: absolute;

  width: 180px;
  height: 180px;

  right: -90px;
  bottom: -110px;

  border:
    24px solid rgba(214,194,157,.11);

  border-radius: 50%;
}

.client-brand-ui .membership-card h3 {
  color: white;
}

.client-brand-ui .membership-card p {
  color: rgba(255,255,255,.7);
}

.client-brand-ui .membership-card .eyebrow {
  color: var(--eb-gold-300);
}

.client-brand-ui .membership-card .card-link {
  position: relative;
  z-index: 2;

  color: white;
}

.client-brand-ui .days-pill {
  color: var(--eb-green-950);

  background: var(--eb-cream-100);

  border: 0;
}

.client-brand-ui .membership-progress {
  background: rgba(255,255,255,.15);
}

.client-brand-ui .membership-progress span {
  background:
    linear-gradient(
      90deg,
      var(--eb-gold-300),
      #f1e4ca
    );
}


/* CLASS CARDS */

.client-brand-ui .class-card {
  position: relative;

  overflow: hidden;

  margin-bottom: 15px;

  border-radius: 22px;
}

.client-brand-ui .class-card::before {
  content: "";

  position: absolute;

  top: 0;
  left: 0;

  width: 4px;
  height: 100%;

  background: var(--eb-green-700);
}

.client-brand-ui .class-card.yoga::before {
  background: var(--eb-gold-400);
}

.client-brand-ui .class-card.barre::before,
.client-brand-ui .class-card.barré::before {
  background: #8d7962;
}

.client-brand-ui .class-name {
  color: var(--eb-green-900);

  font-weight: 800;

  letter-spacing: .11em;
}

.client-brand-ui .class-meta {
  color: var(--eb-muted);
}

.client-brand-ui .class-time {
  color: var(--eb-green-950);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 19px;
  font-weight: 400;
}

.client-brand-ui .availability {
  color: var(--eb-green-700);
}

.client-brand-ui .progress {
  overflow: hidden;

  background: var(--eb-cream-150);

  border-radius: 999px;
}

.client-brand-ui .progress span {
  background:
    linear-gradient(
      90deg,
      var(--eb-green-700),
      var(--eb-gold-400)
    );
}


/* MAIN BUTTONS */

.client-brand-ui .reserve-btn,
.client-brand-ui .primary-btn {
  color: white;

  background:
    linear-gradient(
      135deg,
      var(--eb-green-800),
      var(--eb-green-950)
    );

  border: 0;

  border-radius: 999px;

  box-shadow:
    0 8px 18px rgba(16,56,47,.14);

  font-weight: 750;
}

.client-brand-ui .reserve-btn:not(:disabled):hover,
.client-brand-ui .primary-btn:not(:disabled):hover {
  background:
    linear-gradient(
      135deg,
      var(--eb-green-700),
      var(--eb-green-900)
    );
}

.client-brand-ui .reserve-btn.reserved {
  color: var(--eb-green-900);

  background: var(--eb-cream-150);

  box-shadow: none;
}

.client-brand-ui .reserve-btn.waitlist {
  color: #725b36;

  background: #f0e5d1;

  box-shadow: none;
}


/* DAYS */

.client-brand-ui .day-chip {
  color: var(--eb-muted);

  background: rgba(255,255,255,.78);

  border:
    1px solid rgba(16,56,47,.08);

  border-radius: 17px;
}

.client-brand-ui .day-chip.active {
  color: white;

  background: var(--eb-green-900);

  border-color: var(--eb-green-900);

  box-shadow:
    0 8px 17px rgba(16,56,47,.14);
}


/* DISCIPLINE FILTER */

.client-brand-ui .filters {
  gap: 8px;

  margin-top: 18px;
  margin-bottom: 20px;
}

.client-brand-ui .filter-chip {
  padding: 9px 15px;

  color: var(--eb-green-800);

  background: var(--eb-cream-100);

  border:
    1px solid rgba(16,56,47,.07);

  border-radius: 999px;

  font-size: 10px;
  font-weight: 750;

  letter-spacing: .05em;
}

.client-brand-ui .filter-chip.active {
  color: white;

  background: var(--eb-green-900);

  border-color: var(--eb-green-900);

  box-shadow:
    0 8px 17px rgba(16,56,47,.13);
}


/* RESERVATIONS TABS */

.client-brand-ui .tabs {
  padding: 4px;

  background: var(--eb-cream-100);

  border:
    1px solid rgba(16,56,47,.07);

  border-radius: 999px;
}

.client-brand-ui .tab {
  color: var(--eb-muted);

  border-radius: 999px;
}

.client-brand-ui .tab.active {
  color: white;

  background: var(--eb-green-900);

  box-shadow:
    0 7px 15px rgba(16,56,47,.12);
}


/* BOOKINGS */

.client-brand-ui .booking-card {
  overflow: hidden;

  border-radius: 22px;
}

.client-brand-ui .booking-content h3 {
  color: var(--eb-green-950);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 20px;
  font-weight: 400;
}

.client-brand-ui .booking-content p {
  color: var(--eb-muted);
}

.client-brand-ui .badge.confirmed {
  color: var(--eb-green-800);

  background: #edf3ef;
}

.client-brand-ui .badge.waiting {
  color: #725b36;

  background: #f4ead8;
}


/* SECONDARY BUTTONS */

.client-brand-ui .secondary-btn {
  color: var(--eb-green-800);

  background: var(--eb-cream-50);

  border:
    1px solid rgba(16,56,47,.10);

  border-radius: 999px;
}

.client-brand-ui .secondary-btn.danger-btn {
  color: #87574d;

  border-color:
    rgba(135,87,77,.18);
}


/* EMPTY */

.client-brand-ui .empty-state {
  color: var(--eb-muted);

  background: rgba(255,255,255,.7);

  border:
    1px dashed rgba(16,56,47,.15);

  border-radius: 22px;
}

.client-brand-ui .empty-icon {
  color: var(--eb-green-700);
}


/* NAVIGATION */

.client-brand-ui .bottom-nav {
  background: rgba(252,250,246,.96);

  border-top:
    1px solid rgba(16,56,47,.09);

  box-shadow:
    0 -12px 28px rgba(18,50,42,.05);

  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.client-brand-ui .nav-item {
  color: #858983;
}

.client-brand-ui .nav-item.active {
  color: var(--eb-green-900);
}

.client-brand-ui .nav-item.active .nav-icon {
  color: var(--eb-green-900);

  background: var(--eb-cream-150);

  border-radius: 13px;
}


/* DESKTOP BACKDROP */

@media (min-width: 700px) {

  body:has(.client-brand-ui) {
    background:
      radial-gradient(
        circle at 88% 8%,
        rgba(89,121,107,.16),
        transparent 26rem
      ),
      linear-gradient(
        135deg,
        #eee5d8,
        #faf7f1 48%,
        #e8dfd2
      );
  }

  .client-brand-ui.mobile-shell {
    border:
      1px solid rgba(255,255,255,.75);

    box-shadow:
      0 30px 80px rgba(11,41,34,.13);
  }

}


/* MOBILE */

@media (max-width: 520px) {

  .client-brand-ui .screen > h1 {
    font-size: 34px;
  }

  .client-brand-ui .reserve-btn {
    min-width: 104px;
  }

  .client-brand-ui .filter-chip {
    padding-inline: 13px;
  }

}

/* ===== E BALANCE BRAND UI CLIENT END ===== */

/* ===== E BALANCE BRAND UI INSTRUCTOR START ===== */

.instructor-brand-ui {
  --ib-green-950: #0b2922;
  --ib-green-900: #10382f;
  --ib-green-800: #1e4d40;
  --ib-green-700: #345f50;
  --ib-green-600: #59796b;

  --ib-cream-50: #fcfaf6;
  --ib-cream-100: #f7f2e9;
  --ib-cream-150: #f1eadf;
  --ib-cream-200: #e8dece;

  --ib-gold-300: #d6c29d;
  --ib-gold-400: #bea174;

  --ib-ink: #17241f;
  --ib-muted: #70766f;

  min-height: 100vh;

  color: var(--ib-ink);

  background:
    radial-gradient(
      circle at 90% 0,
      rgba(89,121,107,.15),
      transparent 28rem
    ),
    linear-gradient(
      180deg,
      #fcfaf6 0%,
      #f5f0e7 100%
    );
}


/* HEADER */

.instructor-brand-ui .staff-header {
  margin-bottom: 30px;
  padding: 15px 18px;

  background: rgba(252,250,246,.9);

  border:
    1px solid rgba(16,56,47,.08);

  border-radius: 22px;

  box-shadow:
    0 12px 34px rgba(20,54,45,.06);

  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.instructor-brand-ui .header-logo-wrap {
  width: 52px;
  height: 52px;

  overflow: hidden;

  background: var(--ib-cream-100);

  border:
    1px solid rgba(190,161,116,.28);

  border-radius: 16px;
}

.instructor-brand-ui .header-logo {
  width: 100%;
  height: 100%;

  object-fit: contain;
  padding: 4px;
}

.instructor-brand-ui .header-brand strong {
  color: var(--ib-green-950);

  font-weight: 760;
}

.instructor-brand-ui .header-brand span {
  color: var(--ib-muted);
}

.instructor-brand-ui .staff-logout {
  color: var(--ib-green-800);

  background: var(--ib-cream-100);

  border:
    1px solid rgba(16,56,47,.09);

  border-radius: 999px;
}


/* HERO */

.instructor-brand-ui .staff-hero {
  position: relative;

  overflow: hidden;

  margin-bottom: 28px;
  padding: 28px 30px;

  background:
    linear-gradient(
      140deg,
      var(--ib-green-800),
      var(--ib-green-950)
    );

  border-radius: 28px;

  box-shadow:
    0 22px 48px rgba(11,41,34,.15);
}

.instructor-brand-ui .staff-hero::after {
  content: "";

  position: absolute;

  width: 220px;
  height: 220px;

  right: -105px;
  bottom: -135px;

  border:
    28px solid rgba(214,194,157,.10);

  border-radius: 50%;
}

.instructor-brand-ui .staff-hero .eyebrow {
  position: relative;
  z-index: 2;

  color: var(--ib-gold-300);
}

.instructor-brand-ui .staff-hero h1 {
  position: relative;
  z-index: 2;

  margin: 5px 0 6px;

  color: white;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: clamp(34px, 5vw, 48px);

  font-weight: 400;
  letter-spacing: -.025em;
}

.instructor-brand-ui .staff-hero .subtitle {
  position: relative;
  z-index: 2;

  margin: 0;

  color: rgba(255,255,255,.72);
}


/* DATE */

.instructor-brand-ui .attendance-date-field {
  position: relative;
  z-index: 2;

  min-width: 190px;

  padding: 12px 14px;

  background: rgba(255,255,255,.10);

  border:
    1px solid rgba(255,255,255,.15);

  border-radius: 18px;
}

.instructor-brand-ui .attendance-date-field span {
  color: var(--ib-gold-300);
}

.instructor-brand-ui .attendance-date-field input {
  min-height: 44px;

  color: var(--ib-green-950);

  background: var(--ib-cream-50);

  border: 0;

  border-radius: 13px;

  box-shadow: none;
}

.instructor-brand-ui .attendance-date-field input:focus {
  border: 0;

  box-shadow:
    0 0 0 3px rgba(214,194,157,.25);
}


/* GRID */

.instructor-brand-ui .staff-grid {
  gap: 24px;
}

.instructor-brand-ui .staff-classes-panel,
.instructor-brand-ui .roster-panel {
  padding: 20px;

  background: rgba(255,255,255,.78);

  border:
    1px solid rgba(16,56,47,.075);

  border-radius: 26px;

  box-shadow:
    0 14px 36px rgba(20,54,45,.065);
}

.instructor-brand-ui .section-title-row {
  margin-top: 0;
  margin-bottom: 15px;
}

.instructor-brand-ui .section-title-row h2,
.instructor-brand-ui .roster-heading h2 {
  color: var(--ib-green-950);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-weight: 400;
}

.instructor-brand-ui .staff-meta {
  padding: 6px 10px;

  color: var(--ib-green-700);

  background: var(--ib-cream-100);

  border-radius: 999px;
}


/* CLASS LIST */

.instructor-brand-ui .staff-class-list {
  gap: 12px;
}

.instructor-brand-ui .staff-class-card {
  min-height: 120px;

  background: var(--ib-cream-50);

  border:
    1px solid rgba(16,56,47,.08);

  border-radius: 20px;

  box-shadow:
    0 7px 20px rgba(20,54,45,.045);
}

.instructor-brand-ui .staff-class-card:hover {
  border-color:
    rgba(16,56,47,.18);

  transform: translateY(-1px);

  box-shadow:
    0 12px 25px rgba(20,54,45,.075);
}

.instructor-brand-ui .staff-class-card.active,
.instructor-brand-ui .staff-class-card.selected {
  border-color: var(--ib-green-700);

  box-shadow:
    0 0 0 2px rgba(52,95,80,.08),
    0 13px 26px rgba(20,54,45,.08);
}


/* ROSTER */

.instructor-brand-ui .roster-heading {
  padding-bottom: 18px;

  border-bottom:
    1px solid rgba(16,56,47,.08);
}

.instructor-brand-ui .roster-heading .eyebrow {
  color: var(--ib-gold-400);
}

.instructor-brand-ui .roster-heading p {
  color: var(--ib-muted);
}

.instructor-brand-ui .roster-summary {
  min-width: 72px;
  min-height: 72px;

  display: grid;
  place-content: center;

  color: white;

  background:
    linear-gradient(
      145deg,
      var(--ib-green-800),
      var(--ib-green-950)
    );

  border-radius: 50%;
}

.instructor-brand-ui .roster-summary strong {
  color: white;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 24px;
  font-weight: 400;
}

.instructor-brand-ui .roster-summary span {
  color: rgba(255,255,255,.68);
}


/* PEOPLE */

.instructor-brand-ui .roster-list {
  margin-top: 15px;
}

.instructor-brand-ui .roster-row {
  background: rgba(252,250,246,.84);

  border:
    1px solid rgba(16,56,47,.07);

  border-radius: 18px;

  box-shadow: none;
}

.instructor-brand-ui .roster-avatar {
  color: white;

  background:
    linear-gradient(
      145deg,
      var(--ib-green-700),
      var(--ib-green-900)
    );
}

.instructor-brand-ui .roster-person strong {
  color: var(--ib-green-950);
}

.instructor-brand-ui .roster-person span {
  color: var(--ib-muted);
}


/* ATTENDANCE BUTTONS */

.instructor-brand-ui .attendance-action {
  border-radius: 999px;

  font-weight: 700;
}

.instructor-brand-ui .attendance-action.attended {
  color: var(--ib-green-800);

  background: #edf3ef;

  border-color:
    rgba(52,95,80,.16);
}

.instructor-brand-ui .attendance-action.attended.selected {
  color: white;

  background: var(--ib-green-800);

  border-color: var(--ib-green-800);
}

.instructor-brand-ui .attendance-action.no-show {
  color: #845b52;

  background: #f6eeee;

  border-color:
    rgba(132,91,82,.14);
}

.instructor-brand-ui .attendance-action.no-show.selected {
  color: white;

  background: #845b52;

  border-color: #845b52;
}


/* BADGES */

.instructor-brand-ui .attendance-badge {
  border-radius: 999px;
}

.instructor-brand-ui .attendance-badge.attended {
  color: var(--ib-green-800);

  background: #edf3ef;
}

.instructor-brand-ui .attendance-badge.no-show {
  color: #845b52;

  background: #f6eeee;
}


/* PRIMARY BUTTON INSIDE ROSTER */

.instructor-brand-ui .primary-btn {
  color: white;

  background:
    linear-gradient(
      135deg,
      var(--ib-green-800),
      var(--ib-green-950)
    );

  border: 0;
  border-radius: 999px;

  box-shadow:
    0 8px 18px rgba(16,56,47,.14);
}


/* EMPTY */

.instructor-brand-ui .empty-state {
  color: var(--ib-muted);

  background: var(--ib-cream-50);

  border:
    1px dashed rgba(16,56,47,.14);

  border-radius: 20px;
}


/* RESPONSIVE */

@media (max-width: 860px) {

  .instructor-brand-ui .staff-grid {
    grid-template-columns: 1fr;
  }

  .instructor-brand-ui .staff-hero {
    align-items: stretch;
  }

  .instructor-brand-ui .attendance-date-field {
    width: 100%;
    margin-top: 18px;
  }

}

@media (max-width: 560px) {

  .instructor-brand-ui .staff-screen {
    padding-inline: 14px;
  }

  .instructor-brand-ui .staff-header {
    border-radius: 18px;
  }

  .instructor-brand-ui .staff-hero {
    padding: 23px 20px;
    border-radius: 22px;
  }

  .instructor-brand-ui .staff-hero h1 {
    font-size: 34px;
  }

  .instructor-brand-ui .staff-classes-panel,
  .instructor-brand-ui .roster-panel {
    padding: 15px;
    border-radius: 21px;
  }

}

/* ===== E BALANCE BRAND UI INSTRUCTOR END ===== */

/* ===== E BALANCE BRAND UI ADMIN START ===== */

.admin-brand-ui {
  --eba-green-950:#0b2a23;
  --eba-green-900:#12392f;
  --eba-green-800:#1b4a3d;
  --eba-green-700:#2f5a4b;
  --eba-green-600:#567565;

  --eba-cream-50:#fbf8f2;
  --eba-cream-100:#f6f0e6;
  --eba-cream-200:#ece3d4;

  --eba-gold-300:#d5c2a1;
  --eba-gold-400:#c1a57a;

  --eba-ink:#16231f;
  --eba-muted:#70766f;

  min-height:100vh;

  color:var(--eba-ink);

  background:
    radial-gradient(
      circle at 90% 0,
      rgba(86,117,101,.12),
      transparent 34rem
    ),
    var(--eba-cream-50);
}


/* SIDEBAR */

.admin-brand-ui .admin-sidebar {
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--secondary) 94%, black) 0%,
      color-mix(in srgb, var(--secondary) 82%, black) 100%
    );

  border-right:0;

  box-shadow:
    14px 0 40px
    color-mix(in srgb, var(--secondary) 18%, transparent);
}

.admin-brand-ui .admin-brand {
  padding-bottom:22px;

  border-bottom:
    1px solid rgba(255,255,255,.09);
}

.admin-brand-ui .admin-brand strong {
  color:#fff;

  font-weight:700;
  letter-spacing:.02em;
}

.admin-brand-ui .admin-brand span {
  color:rgba(255,255,255,.56);
}

.admin-brand-ui .admin-brand .header-logo-wrap {
  background:rgba(255,255,255,.08);

  border:
    1px solid rgba(213,194,161,.22);

  border-radius:16px;
}


/* NAVIGATION */

.admin-brand-ui .admin-nav {
  gap:6px;
}

.admin-brand-ui .admin-nav-item {
  color:rgba(255,255,255,.68);

  background:transparent;

  border:1px solid transparent;

  border-radius:14px;

  transition:
    background .16s ease,
    color .16s ease,
    transform .16s ease;
}

.admin-brand-ui .admin-nav-item:hover {
  color:#fff;

  background:rgba(255,255,255,.07);

  transform:translateX(2px);
}

.admin-brand-ui .admin-nav-item.active {
  color:var(--eba-green-950);

  background:
    linear-gradient(
      135deg,
      var(--eba-cream-100),
      #fff
    );

  border-color:
    rgba(213,194,161,.26);

  box-shadow:
    0 8px 22px rgba(0,0,0,.10);
}

.admin-brand-ui .admin-nav-item.active svg {
  color:var(--eba-green-800);
}


/* SIDEBAR FOOTER */

.admin-brand-ui .admin-sidebar-footer {
  border-top:
    1px solid rgba(255,255,255,.09);
}

.admin-brand-ui .admin-profile-mini .avatar {
  color:
    color-mix(in srgb, var(--secondary) 88%, black);

  background:
    linear-gradient(
      145deg,
      color-mix(in srgb, var(--primary) 82%, white),
      color-mix(in srgb, var(--primary) 20%, white)
    );
}

.admin-brand-ui .admin-profile-mini strong {
  color:#fff;
}

.admin-brand-ui .admin-profile-mini span {
  color:rgba(255,255,255,.52);
}

.admin-brand-ui .admin-sidebar-footer .secondary-btn {
  color:#fff;

  background:rgba(255,255,255,.07);

  border:
    1px solid rgba(255,255,255,.11);

  border-radius:999px;
}


/* MAIN */

.admin-brand-ui .admin-main {
  background:transparent;
}


/* TOPBAR */

.admin-brand-ui .admin-topbar {
  margin-bottom:26px;
  padding-bottom:22px;

  border-bottom:
    1px solid rgba(18,57,47,.08);
}

.admin-brand-ui .admin-topbar .eyebrow {
  color:var(--eba-gold-400);

  letter-spacing:.18em;
}

.admin-brand-ui .admin-topbar h1 {
  margin-top:5px;

  color:var(--eba-green-950);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:clamp(34px,4vw,48px);

  font-weight:400;
  letter-spacing:-.025em;
}

.admin-brand-ui .admin-topbar p {
  color:var(--eba-muted);
}

.admin-brand-ui .admin-date {
  color:var(--eba-green-700);

  background:var(--eba-cream-100);

  border:
    1px solid rgba(18,57,47,.07);

  border-radius:999px;

  padding:9px 14px;
}


/* KPI */

.admin-brand-ui .admin-kpi-card {
  position:relative;

  overflow:hidden;

  background:
    linear-gradient(
      155deg,
      #fff,
      var(--eba-cream-50)
    );

  border:
    1px solid rgba(18,57,47,.075);

  border-radius:22px;

  box-shadow:
    0 12px 28px rgba(18,57,47,.055);
}

.admin-brand-ui .admin-kpi-card::after {
  content:"";

  position:absolute;

  width:70px;
  height:70px;

  right:-30px;
  top:-30px;

  background:
    rgba(213,194,161,.11);

  border-radius:50%;
}

.admin-brand-ui .admin-kpi-card > span {
  color:var(--eba-muted);

  letter-spacing:.10em;
}

.admin-brand-ui .admin-kpi-card strong {
  color:var(--eba-green-950);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-weight:400;
}

.admin-brand-ui .admin-kpi-card small {
  color:var(--eba-muted);
}


/* PANELS */

.admin-brand-ui .admin-panel {
  background:rgba(255,255,255,.82);

  border:
    1px solid rgba(18,57,47,.07);

  border-radius:24px;

  box-shadow:
    0 12px 30px rgba(18,57,47,.05);
}

.admin-brand-ui .admin-panel-head {
  border-bottom-color:
    rgba(18,57,47,.07);
}

.admin-brand-ui .admin-panel-head h2 {
  color:var(--eba-green-950);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-weight:400;
}

.admin-brand-ui .admin-panel-head p {
  color:var(--eba-muted);
}


/* TABLES */

.admin-brand-ui .admin-table-wrap {
  border-radius:18px;

  border:
    1px solid rgba(18,57,47,.065);

  overflow:hidden;
}

.admin-brand-ui .admin-table {
  background:#fff;
}

.admin-brand-ui .admin-table thead {
  background:var(--eba-cream-100);
}

.admin-brand-ui .admin-table th {
  color:var(--eba-green-700);

  border-bottom:
    1px solid rgba(18,57,47,.07);
}

.admin-brand-ui .admin-table td {
  color:var(--eba-ink);

  border-bottom-color:
    rgba(18,57,47,.055);
}

.admin-brand-ui .admin-table tbody tr:hover {
  background:
    rgba(246,240,230,.50);
}


/* BUTTONS */

.admin-brand-ui .primary-btn {
  color:#fff;

  background:
    linear-gradient(
      135deg,
      var(--eba-green-800),
      var(--eba-green-950)
    );

  border:0;
  border-radius:999px;

  box-shadow:
    0 8px 20px rgba(18,57,47,.14);
}

.admin-brand-ui .primary-btn:hover {
  transform:translateY(-1px);

  box-shadow:
    0 11px 24px rgba(18,57,47,.18);
}

.admin-brand-ui .secondary-btn {
  color:var(--eba-green-800);

  background:var(--eba-cream-100);

  border:
    1px solid rgba(18,57,47,.09);

  border-radius:999px;
}


/* INPUTS */

.admin-brand-ui input,
.admin-brand-ui select,
.admin-brand-ui textarea {
  background:#fff;

  border:
    1px solid rgba(18,57,47,.10);

  border-radius:14px;
}

.admin-brand-ui input:focus,
.admin-brand-ui select:focus,
.admin-brand-ui textarea:focus {
  border-color:var(--eba-green-600);

  box-shadow:
    0 0 0 3px rgba(86,117,101,.10);
}


/* STATUS PILLS */

.admin-brand-ui .status-pill {
  border-radius:999px;
}

.admin-brand-ui .status-pill.good {
  color:var(--eba-green-800);

  background:#edf3ef;
}

.admin-brand-ui .status-pill.warn {
  color:#866d45;

  background:#f6efe2;
}


/* ATTENDANCE INSIDE ADMIN */

.admin-brand-ui .admin-attendance-grid .staff-class-card {
  background:var(--eba-cream-50);

  border-color:
    rgba(18,57,47,.08);
}

.admin-brand-ui .admin-attendance-grid .roster-panel,
.admin-brand-ui .admin-attendance-grid .staff-classes-panel {
  background:#fff;

  border:
    1px solid rgba(18,57,47,.07);

  border-radius:22px;

  box-shadow:
    0 10px 26px rgba(18,57,47,.045);
}


/* MOBILE NAV */

.admin-brand-ui .admin-mobile-nav {
  background:
    rgba(251,248,242,.95);

  border-top:
    1px solid rgba(18,57,47,.08);

  box-shadow:
    0 -8px 26px rgba(18,57,47,.07);

  backdrop-filter:blur(18px);
}

.admin-brand-ui .admin-mobile-nav button {
  color:var(--eba-muted);
}

.admin-brand-ui .admin-mobile-nav button.active {
  color:var(--eba-green-800);
}


/* RESPONSIVE */

@media (max-width:900px) {

  .admin-brand-ui .admin-main {
    background:
      linear-gradient(
        180deg,
        var(--eba-cream-50),
        var(--eba-cream-100)
      );
  }

  .admin-brand-ui .admin-topbar {
    padding-top:8px;
  }

}

@media (max-width:600px) {

  .admin-brand-ui .admin-topbar h1 {
    font-size:34px;
  }

  .admin-brand-ui .admin-kpi-card,
  .admin-brand-ui .admin-panel {
    border-radius:19px;
  }

}

/* ===== E BALANCE BRAND UI ADMIN END ===== */

/* ===== E BALANCE DEMO LOGO PLACEHOLDER START ===== */

.business-logo-placeholder-wrap {
  width: 76px !important;
  min-width: 76px;
  height: 54px !important;
  padding: 5px 8px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(255,255,255,.72) !important;

  border: 1px dashed rgba(47,90,75,.45) !important;
  border-radius: 14px !important;

  box-shadow: none !important;
}

.business-logo-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  color: #2f5a4b;

  font-size: 10px;
  font-weight: 700;
  line-height: 1.05;

  letter-spacing: .06em;
  text-transform: uppercase;
  text-align: center;
}

.business-logo-placeholder small {
  margin-top: 3px;

  color: #8a7a63;

  font-size: 8px;
  font-weight: 600;

  letter-spacing: .12em;
}

.admin-brand-ui .business-logo-placeholder-wrap {
  background: rgba(255,255,255,.09) !important;

  border-color: rgba(213,194,161,.48) !important;
}

.admin-brand-ui .business-logo-placeholder {
  color: #f6f0e6;
}

.admin-brand-ui .business-logo-placeholder small {
  color: #d5c2a1;
}

.instructor-brand-ui .business-logo-placeholder-wrap {
  background: #fbf8f2 !important;
}

@media (max-width: 600px) {

  .business-logo-placeholder-wrap {
    width: 66px !important;
    min-width: 66px;
    height: 48px !important;
  }

  .business-logo-placeholder {
    font-size: 9px;
  }
}

/* ===== E BALANCE DEMO LOGO PLACEHOLDER END ===== */

/* ===== E Balance delegated support ===== */

.support-mode-banner {
  position: fixed;
  top: 14px;
  left: 50%;
  z-index: 9999;

  width: min(
    calc(100% - 28px),
    760px
  );

  transform:
    translateX(-50%);

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 18px;

  padding:
    12px 14px 12px 16px;

  border-radius: 16px;

  background:
    #0f4c5c;

  color:
    #ffffff;

  box-shadow:
    0 16px 38px
    rgba(15, 76, 92, .24);
}

.support-mode-copy {
  min-width: 0;
}

.support-mode-copy strong {
  display: block;

  font-size: 12px;
  font-weight: 800;
}

.support-mode-copy span {
  display: block;

  margin-top: 2px;

  overflow: hidden;

  font-size: 10px;

  opacity: .82;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}

.support-mode-banner button {
  flex: 0 0 auto;

  border: 0;
  border-radius: 11px;

  padding:
    9px 12px;

  background:
    #ffffff;

  color:
    #0f4c5c;

  font-size: 10px;
  font-weight: 800;

  cursor: pointer;
}

.support-mode-banner button:disabled {
  opacity: .65;
  cursor: wait;
}

@media (max-width: 620px) {

  .support-mode-banner {
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
  }

  .support-mode-banner button {
    width: 100%;
  }
}


/* Phase 7F · Membership access windows */

.plan-access-day-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.plan-access-day-grid .admin-checkbox-field {
  min-height: 40px;
  justify-content: flex-start;
}

/* Phase 7G · Fixed membership schedules */

.plan-fixed-schedule-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 10px;
}

.plan-fixed-schedule-option {
  min-height: 44px;
  justify-content: flex-start;
  align-items: center;
}

.plan-fixed-schedule-option span {
  line-height: 1.35;
}

.plan-fixed-schedule-empty {
  margin-top: 10px;
  padding: 12px;
  border: 1px dashed var(--border);
  border-radius: 12px;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.45;
}


/* E BALANCE FEEDBACK V42 UI */

.feedback-prompt-section {
  margin: 22px 0 26px;
  padding: 22px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 24px;
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.98),
      rgba(248,250,252,.96)
    );
  box-shadow:
    0 12px 34px rgba(15, 23, 42, .06);
}

.feedback-section-head,
.feedback-admin-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}

.feedback-section-head h2,
.feedback-admin-head h2 {
  margin: 4px 0 5px;
}

.feedback-section-head p,
.feedback-admin-head p {
  margin: 0;
  color: var(--muted);
}

.feedback-count-badge {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .06);
  font-size: 12px;
  font-weight: 800;
}

.feedback-client-grid {
  display: grid;
  grid-template-columns:
    repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}

.feedback-card {
  padding: 20px;
  transition:
    opacity .25s ease,
    transform .25s ease;
}

.feedback-card--sent {
  opacity: 0;
  transform:
    translateY(-8px)
    scale(.98);
}

.feedback-card-top {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.feedback-card-top h3 {
  margin: 5px 0;
  text-transform: capitalize;
}

.feedback-card-top p {
  margin: 0;
  color: var(--muted);
}

.feedback-discipline {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  background: rgba(15, 23, 42, .06);
}

.feedback-class-check {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 900;
  background: rgba(34, 197, 94, .12);
}

.feedback-question {
  margin-top: 20px;
  font-weight: 800;
}

.feedback-stars {
  display: flex;
  gap: 5px;
  margin-top: 9px;
}

.feedback-star {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
  color: #d9dde5;
  transition:
    transform .15s ease,
    color .15s ease;
}

.feedback-star:hover {
  transform: translateY(-2px);
}

.feedback-star.selected {
  color: #f5b82e;
}

.feedback-star-caption {
  margin-top: 5px;
  font-size: 11px;
  color: var(--muted);
}

.feedback-comment-field {
  display: grid;
  gap: 7px;
  margin-top: 18px;
}

.feedback-comment-field span {
  font-size: 12px;
  font-weight: 800;
}

.feedback-comment-field textarea {
  width: 100%;
  resize: vertical;
  min-height: 76px;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 14px;
  padding: 12px 13px;
  font: inherit;
  background: rgba(255,255,255,.9);
}

.feedback-submit {
  width: 100%;
  margin-top: 14px;
}

.feedback-thank-you {
  text-align: center;
  padding: 28px 18px;
}

.feedback-thank-you div {
  width: 48px;
  height: 48px;
  margin: 0 auto 12px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(34, 197, 94, .12);
  font-size: 23px;
  font-weight: 900;
}

.feedback-thank-you p {
  margin: 5px 0 0;
  color: var(--muted);
}

.feedback-admin-shell {
  margin-bottom: 22px;
}

.feedback-admin-head {
  padding: 20px 22px;
  border-radius: 22px;
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.98),
      rgba(248,250,252,.94)
    );
  border: 1px solid rgba(15,23,42,.08);
}

.feedback-score-hero {
  text-align: right;
  min-width: 130px;
}

.feedback-score-hero strong {
  display: block;
  font-size: 40px;
  line-height: 1;
}

.feedback-score-stars {
  display: block;
  margin: 5px 0;
  color: #f5b82e;
  letter-spacing: 2px;
}

.feedback-score-hero small {
  color: var(--muted);
}

.feedback-admin-metrics {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0;
}

.feedback-admin-metric {
  padding: 17px;
  border-radius: 18px;
  background: var(--surface, #fff);
  border: 1px solid rgba(15,23,42,.08);
}

.feedback-admin-metric span,
.feedback-admin-metric small {
  display: block;
}

.feedback-admin-metric span {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  color: var(--muted);
}

.feedback-admin-metric strong {
  display: block;
  margin: 6px 0 3px;
  font-size: 27px;
}

.feedback-admin-metric small {
  color: var(--muted);
}

.feedback-admin-grid {
  display: grid;
  grid-template-columns:
    minmax(0, .8fr)
    minmax(0, 1.2fr);
  gap: 14px;
}

.feedback-distribution {
  display: grid;
  gap: 12px;
}

.feedback-distribution-row {
  display: grid;
  grid-template-columns:
    42px 1fr 28px;
  gap: 10px;
  align-items: center;
  font-size: 12px;
}

.feedback-distribution-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(15,23,42,.07);
}

.feedback-distribution-track i {
  display: block;
  height: 100%;
  min-width: 3px;
  border-radius: inherit;
  background: #f5b82e;
}

.feedback-recent-list {
  display: grid;
  gap: 10px;
}

.feedback-recent-item {
  padding: 13px 0;
  border-bottom: 1px solid rgba(15,23,42,.07);
}

.feedback-recent-item:last-child {
  border-bottom: 0;
}

.feedback-recent-item p {
  margin: 5px 0;
  line-height: 1.45;
}

.feedback-recent-item small {
  color: var(--muted);
}

.feedback-recent-rating {
  color: #f5b82e;
  letter-spacing: 1px;
}

.feedback-recent-rating span {
  color: #d9dde5;
}

.feedback-instructor-panel {
  margin-top: 14px;
}

.feedback-instructor-list {
  display: grid;
  gap: 8px;
}

.feedback-instructor-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(15,23,42,.07);
}

.feedback-instructor-row:last-child {
  border-bottom: 0;
}

.feedback-instructor-row small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
}

.feedback-instructor-row > span {
  font-weight: 900;
  color: #c48a00;
}

@media (max-width: 900px) {
  .feedback-admin-metrics {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .feedback-admin-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .feedback-section-head,
  .feedback-admin-head {
    flex-direction: column;
  }

  .feedback-score-hero {
    text-align: left;
  }

  .feedback-admin-metrics {
    grid-template-columns: 1fr 1fr;
  }

  .feedback-prompt-section {
    padding: 16px;
  }
}


/* FEEDBACK INSTRUCTOR SCORE V2 */

.feedback-instructor-list {
  display: grid;
  grid-template-columns:
    repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.feedback-instructor-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;

  padding: 18px;

  border:
    1px solid rgba(15, 23, 42, .08);

  border-radius: 18px;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.98),
      rgba(248,250,252,.96)
    );

  box-shadow:
    0 7px 20px
    rgba(15, 23, 42, .04);
}

.feedback-instructor-row > div:first-child {
  min-width: 0;
}

.feedback-instructor-row > div:first-child strong {
  display: block;
  font-size: 15px;
  line-height: 1.25;
}

.feedback-instructor-score {
  min-width: 92px;
  text-align: right;
}

.feedback-instructor-score > small {
  display: block;

  margin-bottom: 2px;

  font-size: 9px;
  font-weight: 900;

  letter-spacing: .12em;

  color: var(--muted);
}

.feedback-instructor-score > div:nth-child(2) {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 3px;
}

.feedback-instructor-score strong {
  font-size: 28px;
  line-height: 1;

  font-weight: 900;
}

.feedback-instructor-score span {
  font-size: 12px;
  font-weight: 700;

  color: var(--muted);
}

.feedback-instructor-stars {
  margin-top: 4px;

  color: #f5b82e;

  font-size: 11px;

  letter-spacing: 1px;
}

@media (max-width: 600px) {

  .feedback-instructor-list {
    grid-template-columns: 1fr;
  }

}

/* E Balance · acceso contextual a Mi negocio */
.business-context-footer {
  margin-top: 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.business-context-footer small {
  min-width: 0;
  opacity: .72;
}

.business-context-manage {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 3px 0 3px 8px;
  margin: 0;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  opacity: .72;
  white-space: nowrap;
  transition:
    opacity .18s ease,
    transform .18s ease;
}

.business-context-manage:hover {
  opacity: 1;
  transform: translateX(2px);
}

.business-context-manage svg {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
}

@media (max-width: 720px) {
  .business-context-footer {
    gap: 6px;
  }

  .business-context-manage {
    font-size: 10px;
  }
}


/* E Balance · botón Nuevo horario */
.admin-schedule-secondary-action {
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid rgba(18, 57, 47, .18);
  border-radius: 12px;
  background: rgba(18, 57, 47, .045);
  color: #12392f;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
  transition:
    background .18s ease,
    border-color .18s ease,
    transform .18s ease,
    box-shadow .18s ease;
}

.admin-schedule-secondary-action svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  stroke-width: 2;
}

.admin-schedule-secondary-action:hover {
  background: rgba(18, 57, 47, .08);
  border-color: rgba(18, 57, 47, .30);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(18, 57, 47, .08);
}

.admin-schedule-secondary-action:active {
  transform: translateY(0);
}

.admin-toolbar-actions {
  align-items: center;
}

@media (max-width: 720px) {
  .admin-schedule-secondary-action {
    min-height: 40px;
    padding: 0 13px;
    border-radius: 10px;
    font-size: 11px;
  }
}

/* =========================================================
   Clase muestra · Cambio administrativo de fecha
   ========================================================= */

.trial-change-sheet {
  max-width: 620px;
}

.trial-change-current {
  margin: 0 0 18px;
  line-height: 1.55;
}

.trial-change-calendar {
  margin: 4px 0 20px;
  padding: 14px;
  border: 1px solid var(--border, #e8ecef);
  border-radius: 16px;
}

.trial-change-calendar-header {
  display: grid;
  grid-template-columns: 38px 1fr 38px;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  text-align: center;
  text-transform: capitalize;
}

.trial-change-calendar-nav {
  width: 36px;
  height: 36px;
  border: 1px solid var(--border, #e8ecef);
  border-radius: 10px;
  background: var(--surface, #fff);
  font-size: 22px;
  cursor: pointer;
}

.trial-change-calendar-nav:disabled {
  opacity: .3;
  cursor: default;
}

.trial-change-weekdays,
.trial-change-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
}

.trial-change-weekdays {
  margin-bottom: 6px;
}

.trial-change-weekdays span {
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  opacity: .6;
}

.trial-change-calendar-blank {
  aspect-ratio: 1 / 1;
}

.trial-change-calendar-day {
  aspect-ratio: 1 / 1;
  min-height: 40px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  opacity: .3;
}

.trial-change-calendar-day.has-classes {
  opacity: 1;
  cursor: pointer;
  background: var(--surface-soft, #f5f8f9);
}

.trial-change-calendar-day.selected {
  border-color: var(--primary);
  box-shadow: inset 0 0 0 1px var(--primary);
}

.trial-change-calendar-day span,
.trial-change-calendar-day small {
  display: block;
}

.trial-change-calendar-day small {
  margin-top: 2px;
  font-size: 9px;
  opacity: .7;
}

.trial-change-classes {
  display: grid;
  gap: 9px;
  margin-bottom: 20px;
}

.trial-change-class-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid var(--border, #e8ecef);
  border-radius: 13px;
  cursor: pointer;
}

.trial-change-class-card:has(input:checked) {
  border-color: var(--primary);
  box-shadow: inset 0 0 0 1px var(--primary);
}

.trial-change-class-info {
  display: grid;
  gap: 3px;
}

.trial-change-class-info small {
  opacity: .7;
}

.trial-change-spots {
  font-size: 12px;
  white-space: nowrap;
  opacity: .75;
}

.trial-change-button {
  white-space: nowrap;
}

@media (max-width: 620px) {
  .trial-change-calendar {
    padding: 10px;
  }

  .trial-change-calendar-grid,
  .trial-change-weekdays {
    gap: 4px;
  }

  .trial-change-calendar-day {
    min-height: 36px;
  }

  .trial-change-class-card {
    grid-template-columns: auto 1fr;
  }

  .trial-change-spots {
    grid-column: 2;
  }
}

/* =========================================================
   E Balance · Membresías responsive
   En móvil convierte cada fila en una ficha legible
   ========================================================= */

@media (max-width: 760px) {

  /* Solo la tabla de membresías */
  .admin-memberships-responsive {
    overflow: visible;
  }

  .admin-memberships-responsive .admin-table {
    min-width: 0;
    width: 100%;
    border-collapse: separate;
  }

  .admin-memberships-responsive .admin-table thead {
    display: none;
  }

  .admin-memberships-responsive .admin-table tbody {
    display: grid;
    gap: 12px;
  }

  .admin-memberships-responsive .admin-table tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #fff;
  }

  .admin-memberships-responsive .admin-table td {
    display: block;
    min-width: 0;
    padding: 9px 7px;
    border-bottom: 0;
  }

  /* Usuario */
  .admin-memberships-responsive .admin-table td:nth-child(1) {
    grid-column: 1 / -1;
    padding-top: 2px;
    padding-bottom: 12px;
    border-bottom: 1px solid #EAF0F0;
  }

  /* Plan */
  .admin-memberships-responsive .admin-table td:nth-child(2)::before {
    content: "PLAN";
  }

  /* Tarifa */
  .admin-memberships-responsive .admin-table td:nth-child(3)::before {
    content: "TARIFA";
  }

  /* Inicio */
  .admin-memberships-responsive .admin-table td:nth-child(4)::before {
    content: "INICIO";
  }

  /* Vencimiento */
  .admin-memberships-responsive .admin-table td:nth-child(5)::before {
    content: "VENCIMIENTO";
  }

  /* Estado */
  .admin-memberships-responsive .admin-table td:nth-child(6)::before {
    content: "ESTADO";
  }

  /* Baja */
  .admin-memberships-responsive .admin-table td:nth-child(7)::before {
    content: "BAJA";
  }

  /* Uso */
  .admin-memberships-responsive .admin-table td:nth-child(8)::before {
    content: "USO";
  }

  .admin-memberships-responsive .admin-table td:nth-child(n+2):nth-child(-n+8)::before {
    display: block;
    margin-bottom: 5px;
    color: var(--text-secondary);
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .05em;
  }

  /* Acciones siempre visibles */
  .admin-memberships-responsive .admin-table td:nth-child(9) {
    grid-column: 1 / -1;
    margin-top: 5px;
    padding-top: 12px;
    border-top: 1px solid #EAF0F0;
  }

  .admin-memberships-responsive .admin-row-actions {
    min-width: 0;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
  }

  .admin-memberships-responsive .admin-small-btn {
    min-height: 38px;
    padding: 0 11px;
    font-size: 9px;
  }
}

/* =========================================================
   ADMIN_MOBILE_NAV_PRIMARY_2026_09_27
   Navegación administrativa móvil:
   4 accesos operativos + menú Más
   ========================================================= */

@media (max-width: 760px) {

  .admin-shell {
    padding-bottom:
      calc(82px + env(safe-area-inset-bottom));
  }

  .admin-mobile-nav.admin-mobile-nav-primary {
    position: fixed;
    z-index: 1210;
    right: 0;
    bottom: 0;
    left: 0;

    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));

    padding:
      7px 6px
      calc(7px + env(safe-area-inset-bottom));

    overflow: visible !important;

    border-top: 1px solid var(--border);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 -8px 30px rgba(15, 35, 45, .10);

    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  .admin-mobile-nav.admin-mobile-nav-primary > button {
    min-width: 0;
    min-height: 54px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 4px;
    padding: 5px 2px;

    border: 0;
    border-radius: 13px;
    background: transparent;

    color: var(--text-secondary);
    font-family: inherit;
    cursor: pointer;
  }

  .admin-mobile-nav.admin-mobile-nav-primary > button > span {
    width: 22px;
    height: 22px;

    display: grid;
    place-items: center;
  }

  .admin-mobile-nav.admin-mobile-nav-primary > button > small {
    max-width: 100%;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    font-size: 8px;
    font-weight: 700;
    line-height: 1;
  }

  .admin-mobile-nav.admin-mobile-nav-primary > button.active {
    background: rgba(39, 211, 226, .11);
    color: var(--secondary-deep);
  }

  .admin-mobile-more-dots {
    font-size: 17px;
    font-weight: 800;
    letter-spacing: 1px;
    line-height: 1;
  }

  .admin-mobile-more-backdrop[hidden],
  .admin-mobile-more-sheet[hidden] {
    display: none !important;
  }

  .admin-mobile-more-backdrop {
    position: fixed;
    z-index: 1190;
    inset: 0;

    width: 100%;
    height: 100%;

    border: 0;
    background: rgba(10, 28, 34, .38);
  }

  .admin-mobile-more-sheet {
    position: fixed;
    z-index: 1200;

    right: 0;
    bottom: calc(68px + env(safe-area-inset-bottom));
    left: 0;

    max-height: 72vh;
    overflow-y: auto;

    padding: 10px 16px 22px;

    border: 1px solid var(--border);
    border-bottom: 0;
    border-radius: 24px 24px 0 0;

    background: var(--surface);
    box-shadow: 0 -18px 50px rgba(10, 28, 34, .18);

    -webkit-overflow-scrolling: touch;
  }

  .admin-mobile-more-handle {
    width: 42px;
    height: 4px;

    margin: 0 auto 15px;

    border-radius: 999px;
    background: var(--border);
  }

  .admin-mobile-more-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;
    margin-bottom: 16px;
  }

  .admin-mobile-more-header h2 {
    margin: 3px 0 0;
    font-size: 20px;
    color: var(--secondary-deep);
  }

  .admin-mobile-more-close {
    width: 38px;
    height: 38px;

    flex: 0 0 38px;

    border: 1px solid var(--border);
    border-radius: 50%;

    background: var(--surface);
    color: var(--secondary-deep);

    font-size: 24px;
    line-height: 1;
  }

  .admin-mobile-more-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
  }

  .admin-mobile-more-item {
    min-width: 0;
    min-height: 82px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 8px;
    padding: 9px 5px;

    border: 1px solid var(--border);
    border-radius: 16px;

    background: var(--surface);
    color: var(--secondary-deep);

    font-family: inherit;
    text-align: center;
  }

  .admin-mobile-more-item > span {
    width: 24px;
    height: 24px;

    display: grid;
    place-items: center;
  }

  .admin-mobile-more-item svg {
    width: 21px;
    height: 21px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }

  .admin-mobile-more-item small {
    font-size: 9px;
    font-weight: 700;
    line-height: 1.15;
  }

  .admin-mobile-more-item.active {
    border-color: rgba(39, 211, 226, .55);
    background: rgba(39, 211, 226, .10);
  }
}

/* =========================================================
   ADMIN_ATTENDANCE_PROGRESSIVE_UI_2026_09_27
   Estados de carga progresiva en Asistencia
   ========================================================= */

.admin-progressive-loading {
  min-height: 110px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 13px;
  padding: 20px;

  border: 1px dashed var(--border);
  border-radius: 16px;

  color: var(--text-secondary);
  background: rgba(255, 255, 255, .56);
}

.admin-progressive-loading--roster {
  min-height: 150px;
}

.admin-progressive-loading > div {
  display: grid;
  gap: 3px;
}

.admin-progressive-loading strong {
  color: var(--secondary-deep);
  font-size: 12px;
}

.admin-progressive-loading small {
  font-size: 10px;
  line-height: 1.35;
}

.admin-progressive-spinner {
  width: 22px;
  height: 22px;

  flex: 0 0 22px;

  border: 2px solid rgba(22, 72, 78, .15);
  border-top-color: var(--secondary-deep);
  border-radius: 50%;

  animation: admin-progressive-spin .75s linear infinite;
}

@keyframes admin-progressive-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-progressive-spinner {
    animation-duration: 1.8s;
  }
}


/* =========================================================
   ADMIN_CORE_PROGRESSIVE_UI_2026_09_27
   ========================================================= */

.admin-route-progress {
  position: fixed;
  top: calc(10px + env(safe-area-inset-top, 0px));
  left: 50%;
  transform: translateX(-50%);
  z-index: 2200;

  display: flex;
  align-items: center;
  gap: 8px;

  min-height: 38px;
  max-width: calc(100vw - 28px);
  padding: 7px 14px;

  border: 1px solid rgba(25, 80, 85, .12);
  border-radius: 999px;

  background: rgba(255, 255, 255, .95);
  box-shadow: 0 8px 26px rgba(20, 58, 62, .12);

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  color: var(--secondary-deep);
  font-size: 11px;
  font-weight: 700;

  pointer-events: none;
}

.admin-route-progress-spinner {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;

  border: 2px solid rgba(25, 81, 86, .16);
  border-top-color: currentColor;
  border-radius: 50%;

  animation: admin-route-progress-spin .7s linear infinite;
}

@keyframes admin-route-progress-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-route-progress-spinner {
    animation-duration: 1.8s;
  }
}


/* BUSINESS_SELF_SERVICE_80_UI_2026_09_27 */

.business-setup-card {
  margin-bottom: 22px;
  padding: 20px;
  border: 1px solid rgba(15,76,92,.10);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(15,76,92,.07);
}

.business-setup-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}

.business-setup-top h2 {
  margin: 5px 0;
}

.business-setup-top p {
  margin: 0;
}

.business-setup-percent {
  min-width: 80px;
  padding: 14px 10px;
  border-radius: 16px;
  text-align: center;
  background: rgba(15,76,92,.06);
}

.business-setup-percent strong,
.business-setup-percent span {
  display: block;
}

.business-setup-percent strong {
  font-size: 24px;
}

.business-setup-percent span {
  margin-top: 2px;
  font-size: 10px;
  font-weight: 800;
}

.business-setup-bar {
  height: 8px;
  margin: 18px 0;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(15,76,92,.08);
}

.business-setup-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--primary);
}

.business-setup-list {
  display: grid;
  grid-template-columns:
    repeat(5, minmax(0, 1fr));
  gap: 9px;
}

.business-setup-item {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px;
  border: 1px solid rgba(15,76,92,.09);
  border-radius: 14px;
  background: #fff;
  text-align: left;
  cursor: pointer;
}

.business-setup-item.done {
  background: rgba(35,142,105,.06);
}

.business-setup-item b {
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(15,76,92,.08);
}

.business-setup-item span {
  min-width: 0;
  flex: 1;
}

.business-setup-item strong,
.business-setup-item small {
  display: block;
}

.business-setup-item small {
  margin-top: 2px;
  font-size: 10px;
}

.business-setup-item em {
  display: none;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
}

.business-setup-ready {
  margin-top: 15px;
  padding: 11px 13px;
  border-radius: 12px;
  background: rgba(15,76,92,.05);
  font-size: 12px;
  font-weight: 700;
}

.business-setup-ready.ready {
  background: rgba(35,142,105,.10);
}

.business-self-service-actions {
  display: flex;
  justify-content: flex-end;
  margin: 0 0 14px;
}

@media (max-width: 900px) {
  .business-setup-list {
    grid-template-columns:
      repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 760px) {
  .business-setup-card {
    padding: 16px;
  }

  .business-setup-percent {
    min-width: 66px;
  }

  .business-setup-list {
    grid-template-columns: 1fr;
  }

  .business-setup-item em {
    display: block;
  }

  .business-self-service-actions {
    justify-content: stretch;
  }

  .business-self-service-actions
  .admin-primary-action {
    width: 100%;
    justify-content: center;
  }
}

/* =========================================================
   Founder onboarding — labels y scroll
   ========================================================= */

.password-reset-overlay {
  overflow-y: auto;
  align-items: flex-start;
  padding-top: 24px;
  padding-bottom: 24px;
}

.password-reset-card {
  max-height: none;
}

#founderOnboardingForm {
  width: 100%;
}

#founderOnboardingForm .field {
  display: block;
  margin-top: 14px;
}

#founderOnboardingForm .field label {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #253847 !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 6px 2px;
}

#founderOnboardingForm .field input {
  width: 100%;
  color: #253847;
  background: #ffffff;
}

#founderOnboardingForm h2 {
  color: #253847;
}

#founderOnboardingForm > p {
  color: #607783;
}

@media (max-width: 600px) {
  .password-reset-overlay {
    padding: 16px 10px;
  }

  .password-reset-card {
    width: min(100%, 520px);
    margin: auto;
  }
}
/* FOUNDER_ONBOARDING_LABEL_FIX_2026_09_27
   Formulario Crear mi negocio: labels visibles + scroll seguro
   ========================================================== */

.password-reset-overlay {
  overflow-y: auto;
  align-items: flex-start;
  padding-top: 24px;
  padding-bottom: 24px;
}

#founderOnboardingForm {
  width: 100%;
}

#founderOnboardingForm .field {
  display: block;
  margin-top: 14px;
}

#founderOnboardingForm .field label {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #253847 !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 7px 2px;
}

#founderOnboardingForm .field input {
  display: block;
  width: 100%;
  color: #253847;
  background: #ffffff;
}

#founderOnboardingForm h2 {
  color: #253847;
}

#founderOnboardingForm > p {
  color: #607783;
}

#founderOnboardingForm .primary-btn,
#founderOnboardingForm .secondary-btn {
  margin-top: 14px;
}

@media (max-width: 600px) {
  .password-reset-overlay {
    padding: 16px 10px;
  }

  .password-reset-card {
    width: min(100%, 520px);
    margin: auto;
  }
}

/* RENEWAL_RECOVERY_CENTER_2026 */

.renewal-recovery-center .admin-panel-head {
  align-items: flex-start;
  gap: 24px;
}

.renewal-recovery-total {
  min-width: 130px;
  padding: 14px 18px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  text-align: center;
}

.renewal-recovery-total strong {
  display: block;
  font-size: 28px;
  line-height: 1;
}

.renewal-recovery-total span {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  opacity: .68;
}

.renewal-recovery-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(100px, 1fr));
  gap: 10px;
  margin: 18px 0 12px;
}

.renewal-recovery-card {
  padding: 14px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  background: rgba(255,255,255,.55);
}

.renewal-recovery-card strong {
  display: block;
  font-size: 24px;
  line-height: 1;
}

.renewal-recovery-card span {
  display: block;
  margin-top: 7px;
  font-size: 12px;
  font-weight: 700;
}

.renewal-recovery-card--today,
.renewal-recovery-card--late-7 {
  border-width: 2px;
}

.renewal-recovery-insights {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin: 0 0 18px;
  padding: 11px 14px;
  border-radius: 12px;
  background: rgba(0,0,0,.035);
  font-size: 13px;
}

.renewal-recovery-insights b {
  margin-right: 4px;
}

.renewal-segment {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(0,0,0,.06);
  font-size: 11px;
  font-weight: 800;
}

.renewal-segment--upcoming {
  background: rgba(40,120,90,.10);
}

.renewal-segment--today {
  background: rgba(200,145,20,.14);
}

.renewal-segment--late-7,
.renewal-segment--late-15 {
  background: rgba(190,100,20,.12);
}

.renewal-segment--late-30,
.renewal-segment--late-older {
  background: rgba(170,55,55,.10);
}

.renewal-overdue-text {
  font-weight: 700;
}

.renewal-no-contact {
  font-size: 12px;
  opacity: .6;
  white-space: nowrap;
}

@media (max-width: 1000px) {
  .renewal-recovery-summary {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 600px) {
  .renewal-recovery-summary {
    grid-template-columns: repeat(2, 1fr);
  }

  .renewal-recovery-total {
    width: 100%;
  }
}

/* END RENEWAL_RECOVERY_CENTER_2026 */

/* PROFILE_IOS_RESPONSIVE_FIX_2026_09_28 */

.profile-screen {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
}

.profile-screen .header {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  gap: 8px;
  margin-bottom: 18px;
}

.profile-screen .header-brand {
  min-width: 0;
  flex: 1 1 auto;
}

.profile-screen .header-brand > div {
  min-width: 0;
}

.profile-screen .header-brand strong,
.profile-screen .header-brand span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-screen .header-actions {
  flex: 0 0 auto;
  gap: 6px;
}

.profile-screen .icon-button,
.profile-screen .avatar {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  border-radius: 14px;
}

.profile-screen .profile-hero {
  margin: 0 0 18px;
  padding: 0 4px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.profile-screen .profile-avatar {
  width: 76px;
  height: 76px;
  margin: 0 auto 10px;
  border-radius: 24px;
  border-width: 4px;
  font-size: 24px;
}

.profile-screen .profile-hero h2 {
  font-size: 18px;
  line-height: 1.25;
}

.profile-screen .profile-hero p {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  font-size: 10.5px;
  line-height: 1.4;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.profile-screen .mobile-business-context {
  position: static !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 0 14px !important;
  padding: 14px !important;
  box-sizing: border-box !important;
  overflow: visible !important;

  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--surface);
  color: var(--text-primary);
  box-shadow: var(--shadow-xs);
}

.profile-screen .mobile-business-context .eyebrow {
  display: block;
  margin: 0 0 10px;
  color: var(--text-secondary);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .11em;
}

.profile-screen .mobile-business-context-row {
  display: flex !important;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.profile-screen .mobile-business-context-row > img {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px;
  flex: 0 0 40px;
  object-fit: contain;
  border-radius: 11px;
}

.profile-screen .mobile-business-context-row > div {
  flex: 1 1 auto;
  min-width: 0;
}

.profile-screen .mobile-business-context-row strong {
  display: block;
  max-width: 100%;
  font-size: 13px;
  line-height: 1.3;
  color: var(--secondary-deep);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-screen .mobile-business-context-row small {
  display: block;
  margin-top: 2px;
  font-size: 10px;
  color: var(--text-secondary);
}

.profile-screen .mobile-business-context select {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-top: 10px;
  min-height: 42px;
  box-sizing: border-box;
}

.profile-screen .menu-list {
  width: 100%;
  max-width: 100%;
  margin: 0;
  border-radius: 18px;
  box-sizing: border-box;
  overflow: hidden;
}

.profile-screen .menu-item {
  width: 100%;
  min-height: 54px;
  padding: 0 14px;
  box-sizing: border-box;
  font-size: 11.5px;
}

.profile-screen .menu-item > span:first-child {
  min-width: 0;
  gap: 10px;
}

.profile-screen .menu-icon {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 11px;
}

.profile-screen .menu-chevron {
  flex: 0 0 auto;
}

@media (max-width: 390px) {
  .profile-screen .header-logo-wrap {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
  }

  .profile-screen .header-brand strong {
    font-size: 13px;
  }

  .profile-screen .icon-button,
  .profile-screen .avatar {
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
  }

  .profile-screen .profile-avatar {
    width: 72px;
    height: 72px;
  }
}

/* END_PROFILE_IOS_RESPONSIVE_FIX_2026_09_28 */


/* ADMIN_WEB_MOBILE_RESPONSIVE_FIX_2026_10_08 */

.admin-brand-ui .admin-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

@media (max-width: 760px) {
  .admin-brand-ui .admin-main,
  .admin-brand-ui .admin-panel,
  .admin-brand-ui .admin-toolbar,
  .admin-brand-ui .admin-toolbar-actions {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  .admin-brand-ui .admin-row-actions {
    min-width: 0;
  }

  .admin-brand-ui .admin-users-table th:last-child,
  .admin-brand-ui .admin-users-table td:last-child {
    position: sticky;
    right: 0;
    z-index: 2;
    background: #fff;
    box-shadow: -8px 0 14px rgba(20,54,45,.06);
  }

  .admin-brand-ui .admin-users-table thead th:last-child {
    z-index: 3;
    background: var(--eba-cream-100);
  }

  .admin-brand-ui .admin-users-table td:last-child .admin-row-actions {
    width: max-content;
    max-width: 170px;
  }
}

@media (max-width: 430px) {
  .admin-brand-ui .admin-metrics {
    grid-template-columns: 1fr !important;
  }

  .admin-brand-ui .admin-metric-card {
    width: 100%;
    min-width: 0;
    min-height: auto;
  }

  .admin-brand-ui .admin-metric-card span,
  .admin-brand-ui .admin-metric-card small {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* END_ADMIN_WEB_MOBILE_RESPONSIVE_FIX_2026_10_08 */


/* =========================================================
   E BALANCE · FOTO DE PERFIL
   ========================================================= */

.profile-avatar-shell {
  position: relative;
  width: 92px;
  height: 92px;
  margin: 0 auto 10px;
}

.profile-avatar-shell .profile-avatar {
  width: 92px;
  height: 92px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  overflow: hidden;
  cursor: pointer;
}

.profile-photo-image,
.header-profile-photo {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.profile-camera-button {
  position: absolute;
  right: -3px;
  bottom: -3px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--secondary-deep);
  color: #fff;
  box-shadow: 0 5px 14px rgba(15, 76, 92, .2);
  cursor: pointer;
}

.profile-camera-button svg {
  width: 15px;
  height: 15px;
}

.profile-photo-actions {
  min-height: 24px;
  margin: 0 0 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.profile-photo-change,
.profile-photo-remove {
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
}

.profile-photo-change {
  color: var(--secondary);
}

.profile-photo-remove {
  color: #A45353;
}

.profile-photo-input {
  position: fixed;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.avatar {
  overflow: hidden;
}

.header-profile-photo {
  border-radius: inherit;
}

/* E-Balance · portada visual de clase */
.class-cover-media {
  width: 100%;
  height: 150px;
  margin-bottom: 14px;
  overflow: hidden;
  border-radius: 18px;
}

.class-cover-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}

.class-card--compact .class-cover-media {
  height: 108px;
}

@media (max-width: 600px) {
  .class-cover-media {
    height: 130px;
  }

  .class-card--compact .class-cover-media {
    height: 100px;
  }
}

/* E-Balance · portadas permanentes por horario del instructor */
.instructor-schedule-covers {
  max-width: 920px;
  margin: 28px auto 0;
}

.instructor-schedule-covers-head {
  margin-bottom: 18px;
}

.instructor-schedule-covers-head h2 {
  margin: 6px 0;
}

.instructor-schedule-covers-head p {
  margin: 0;
  line-height: 1.5;
}

.instructor-schedule-cover-grid {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.instructor-schedule-cover-card {
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: var(--surface, #fff);
}

.instructor-schedule-cover-image {
  display: block;
  width: 100%;
  height: 175px;
  padding: 0;
  border: 0;
  overflow: hidden;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.04);
}

.instructor-schedule-cover-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}

.instructor-schedule-cover-placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  font-size: 42px;
  font-weight: 700;
}

.instructor-schedule-cover-body {
  padding: 16px;
}

.instructor-schedule-cover-body strong,
.instructor-schedule-cover-body span,
.instructor-schedule-cover-body small {
  display: block;
}

.instructor-schedule-cover-body strong {
  font-size: 1.05rem;
}

.instructor-schedule-cover-body span {
  margin-top: 5px;
}

.instructor-schedule-cover-body small {
  margin-top: 9px;
  opacity: 0.72;
  line-height: 1.4;
}

.instructor-schedule-cover-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 15px;
}

@media (max-width: 680px) {
  .instructor-schedule-cover-grid {
    grid-template-columns: 1fr;
  }

  .instructor-schedule-cover-image {
    height: 155px;
  }
}

/* E-Balance · portada en Mis clases */
.booking-cover-media {
  width: 100%;
  height: 145px;
  margin-bottom: 14px;
  overflow: hidden;
  border-radius: 16px;
  background: rgba(0, 0, 0, 0.04);
}

.booking-cover-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}

@media (max-width: 680px) {
  .booking-cover-media {
    height: 125px;
    margin-bottom: 12px;
    border-radius: 14px;
  }
}

/* E-Balance · evaluaciones privadas del instructor */
.instructor-feedback-panel {
  max-width: 920px;
  margin: 28px auto 0;
}

.instructor-feedback-head {
  margin-bottom: 18px;
}

.instructor-feedback-head h2 {
  margin: 6px 0;
}

.instructor-feedback-head p {
  margin: 0;
  line-height: 1.5;
}

.instructor-feedback-summary {
  display: grid;
  grid-template-columns:
    minmax(0, 1.3fr)
    minmax(0, 1fr);
  gap: 16px;
  margin-bottom: 16px;
}

.instructor-feedback-score,
.instructor-feedback-stat,
.instructor-feedback-box {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 20px;
  background: var(--surface, #fff);
}

.instructor-feedback-score,
.instructor-feedback-stat {
  padding: 20px;
}

.instructor-feedback-score strong {
  display: block;
  font-size: 2.2rem;
  line-height: 1;
}

.instructor-feedback-score small,
.instructor-feedback-stat small {
  display: block;
  margin-top: 6px;
  opacity: 0.7;
}

.instructor-feedback-stars {
  display: block;
  margin-top: 8px;
  font-size: 1.15rem;
  letter-spacing: 2px;
}

.instructor-feedback-stat span {
  display: block;
  opacity: 0.72;
}

.instructor-feedback-stat strong {
  display: block;
  margin-top: 8px;
  font-size: 2rem;
}

.instructor-feedback-grid {
  display: grid;
  grid-template-columns:
    minmax(250px, 0.8fr)
    minmax(0, 1.4fr);
  gap: 16px;
}

.instructor-feedback-box {
  padding: 20px;
}

.instructor-feedback-box h3 {
  margin: 0 0 16px;
}

.instructor-feedback-distribution {
  display: grid;
  gap: 10px;
}

.instructor-feedback-distribution-row {
  display: grid;
  grid-template-columns:
    32px
    minmax(0, 1fr)
    30px;
  gap: 10px;
  align-items: center;
}

.instructor-feedback-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.08);
}

.instructor-feedback-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: currentColor;
  opacity: 0.7;
}

.instructor-feedback-comments {
  display: grid;
  gap: 12px;
}

.instructor-feedback-comment {
  padding: 14px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.instructor-feedback-comment:last-child {
  border-bottom: 0;
}

.instructor-feedback-comment-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.instructor-feedback-comment-top strong {
  letter-spacing: 1px;
}

.instructor-feedback-comment-top span {
  font-size: 0.88rem;
  opacity: 0.72;
}

.instructor-feedback-comment p {
  margin: 10px 0 7px;
  line-height: 1.5;
}

.instructor-feedback-comment small {
  opacity: 0.68;
}

@media (max-width: 680px) {
  .instructor-feedback-summary,
  .instructor-feedback-grid {
    grid-template-columns: 1fr;
  }

  .instructor-feedback-comment-top {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
}


/* EB_BULK_MESSAGING_CSS_2026_10_12 */

.bulk-message-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 18px 0 12px;
  padding: 12px 14px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  background: rgba(255,255,255,.6);
}

.bulk-message-toolbar > div:first-child {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.bulk-message-toolbar span {
  font-size: 12px;
  opacity: .68;
}

.bulk-check-cell {
  width: 42px;
  text-align: center;
}

.bulk-message-checkbox {
  width: 18px;
  height: 18px;
  cursor: pointer;
}

.bulk-message-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(0,0,0,.48);
  backdrop-filter: blur(4px);
}

.bulk-message-dialog {
  width: min(760px, 100%);
  max-height: 90vh;
  overflow: auto;
  padding: 22px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 20px 70px rgba(0,0,0,.24);
}

.bulk-message-dialog-head,
.bulk-message-dialog-footer,
.bulk-message-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.bulk-message-dialog-head {
  align-items: flex-start;
}

.bulk-message-dialog-head h2 {
  margin: 4px 0 5px;
}

.bulk-message-dialog-head p {
  margin: 0;
  max-width: 560px;
  opacity: .7;
}

.bulk-message-progress {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin: 20px 0 10px;
}

.bulk-message-progress strong {
  font-size: 26px;
}

.bulk-message-list {
  display: grid;
  gap: 10px;
}

.bulk-message-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
}

.bulk-message-item--sent {
  opacity: .62;
}

.bulk-message-person {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.bulk-message-person span,
.bulk-message-person small {
  font-size: 12px;
  opacity: .66;
}

.bulk-message-sent {
  pointer-events: none;
}

.bulk-message-dialog-footer {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(0,0,0,.08);
}

.bulk-message-dialog-footer > span {
  max-width: 470px;
  font-size: 12px;
  opacity: .65;
}

@media (max-width: 700px) {
  .bulk-message-toolbar,
  .bulk-message-dialog-head,
  .bulk-message-dialog-footer,
  .bulk-message-item {
    align-items: stretch;
    flex-direction: column;
  }

  .bulk-message-toolbar .admin-row-actions,
  .bulk-message-actions {
    width: 100%;
  }

  .bulk-message-actions > * {
    flex: 1;
    text-align: center;
  }
}

/* END EB_BULK_MESSAGING_CSS_2026_10_12 */


/* EB_TRIAL_CONFIRMATIONS_CSS_2026_10_12 */

.trial-confirmation-center {
  margin-top: 18px;
}

.trial-confirmation-summary {
  min-width: 110px;
  text-align: right;
}

.trial-confirmation-summary strong {
  display: block;
  font-size: 28px;
  line-height: 1;
}

.trial-confirmation-summary span {
  display: block;
  margin-top: 5px;
  font-size: 12px;
  opacity: .7;
}

.trial-confirmation-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0 18px;
  flex-wrap: wrap;
}

.trial-confirmation-toolbar > div:first-child {
  display: grid;
  gap: 3px;
}

.trial-confirmation-toolbar small {
  opacity: .7;
}

.trial-confirmation-toolbar-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.trial-confirmation-check-cell {
  width: 42px;
  text-align: center;
}

.trial-confirmation-check-cell input {
  width: 18px;
  height: 18px;
  cursor: pointer;
}

.trial-confirmation-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(0, 0, 0, .52);
}

.trial-confirmation-modal {
  width: min(780px, 100%);
  max-height: min(820px, 92vh);
  overflow: auto;
  background: var(--surface, #fff);
  border-radius: 22px;
  box-shadow: 0 20px 70px rgba(0, 0, 0, .24);
  padding: 22px;
}

.trial-confirmation-modal-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

.trial-confirmation-modal-head h2 {
  margin: 4px 0 6px;
}

.trial-confirmation-modal-head p {
  margin: 0;
  opacity: .72;
}

.trial-confirmation-modal-summary {
  display: flex;
  gap: 14px;
  align-items: center;
  margin: 18px 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--surface-soft, #f5f5f5);
}

.trial-confirmation-queue {
  display: grid;
  gap: 12px;
}

.trial-confirmation-message-card {
  padding: 16px;
  border: 1px solid var(--border, #ddd);
  border-radius: 16px;
}

.trial-confirmation-message-card > div:first-child {
  display: grid;
  gap: 3px;
}

.trial-confirmation-message-card p {
  margin: 12px 0;
  line-height: 1.5;
}

.trial-confirmation-card-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.trial-confirmation-modal-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
}

@media (max-width: 700px) {

  .trial-confirmation-modal-backdrop {
    padding: 10px;
    align-items: flex-end;
  }

  .trial-confirmation-modal {
    max-height: 94vh;
    border-radius: 20px 20px 0 0;
  }

  .trial-confirmation-toolbar-actions,
  .trial-confirmation-card-actions {
    width: 100%;
  }

  .trial-confirmation-toolbar-actions button,
  .trial-confirmation-card-actions button {
    flex: 1;
  }
}


/* =========================================================
   E-BALANCE · BRAND EXPERIENCE
   PERFORMANCE THEME
   Admin + Instructor + Client
   ========================================================= */

html[data-tenant-theme="PERFORMANCE"] {
  color-scheme: dark;

  --tenant-bg: #090909;
  --tenant-surface: #121212;
  --tenant-surface-2: #191919;
  --tenant-surface-3: #202020;

  --tenant-text: #ffffff;
  --tenant-muted: #a5a5a5;
  --tenant-silver: #c3c3c3;

  --tenant-border:
    color-mix(in srgb, var(--primary) 17%, #333333);

  background:#090909;
}


/* ---------- FONDO GENERAL ---------- */

html[data-tenant-theme="PERFORMANCE"] body,
html[data-tenant-theme="PERFORMANCE"] #app {
  background:
    radial-gradient(
      circle at 82% 6%,
      color-mix(in srgb, var(--primary) 11%, transparent),
      transparent 31%
    ),
    linear-gradient(
      145deg,
      #090909 0%,
      #101010 52%,
      #080808 100%
    );

  color:var(--tenant-text);
}


/* ---------- ADMIN ---------- */

html[data-tenant-theme="PERFORMANCE"]
.admin-brand-ui .admin-main {
  background:transparent;
  color:var(--tenant-text);
}

html[data-tenant-theme="PERFORMANCE"]
.admin-brand-ui .admin-sidebar {
  background:
    radial-gradient(
      circle at 30% 12%,
      color-mix(in srgb, var(--primary) 95%, white) 0%,
      transparent 32%
    ),
    linear-gradient(
      165deg,
      color-mix(in srgb, var(--primary) 86%, #150000) 0%,
      color-mix(in srgb, var(--primary) 54%, black) 46%,
      #080808 100%
    );

  box-shadow:
    14px 0 46px rgba(0,0,0,.34);
}

html[data-tenant-theme="PERFORMANCE"]
.admin-brand-ui .admin-nav-item.active {
  background:rgba(0,0,0,.34);

  box-shadow:
    inset 4px 0 0 #fff,
    0 5px 18px rgba(0,0,0,.15);

  color:#fff;
}

html[data-tenant-theme="PERFORMANCE"]
.admin-brand-ui .admin-nav-item.active svg {
  color:#fff;
}

html[data-tenant-theme="PERFORMANCE"]
.admin-brand-ui .admin-nav-item:not(.active) {
  color:rgba(255,255,255,.76);
}

html[data-tenant-theme="PERFORMANCE"]
.admin-brand-ui .admin-topbar h1,
html[data-tenant-theme="PERFORMANCE"]
.admin-brand-ui h1,
html[data-tenant-theme="PERFORMANCE"]
.admin-brand-ui h2,
html[data-tenant-theme="PERFORMANCE"]
.admin-brand-ui h3 {
  color:#fff;
}

html[data-tenant-theme="PERFORMANCE"]
.admin-brand-ui .admin-topbar .eyebrow,
html[data-tenant-theme="PERFORMANCE"]
.admin-brand-ui .eyebrow {
  color:
    color-mix(in srgb, var(--primary) 78%, white);
}


/* ---------- SUPERFICIES ---------- */

html[data-tenant-theme="PERFORMANCE"]
.admin-brand-ui .admin-panel,

html[data-tenant-theme="PERFORMANCE"]
.admin-brand-ui .card,

html[data-tenant-theme="PERFORMANCE"]
.instructor-brand-ui .staff-classes-panel,

html[data-tenant-theme="PERFORMANCE"]
.instructor-brand-ui .roster-panel,

html[data-tenant-theme="PERFORMANCE"]
.client-brand-ui .card,

html[data-tenant-theme="PERFORMANCE"]
.mobile-shell .card {

  background:
    linear-gradient(
      145deg,
      rgba(31,31,31,.98),
      rgba(15,15,15,.98)
    );

  border:
    1px solid var(--tenant-border);

  color:#fff;

  box-shadow:
    0 12px 30px rgba(0,0,0,.16);
}


/* ---------- TEXTOS SECUNDARIOS ---------- */

html[data-tenant-theme="PERFORMANCE"]
.admin-brand-ui p,

html[data-tenant-theme="PERFORMANCE"]
.instructor-brand-ui p,

html[data-tenant-theme="PERFORMANCE"]
.client-brand-ui p,

html[data-tenant-theme="PERFORMANCE"]
.mobile-shell .subtitle {

  color:var(--tenant-muted);
}


/* ---------- BOTONES ---------- */

html[data-tenant-theme="PERFORMANCE"] .primary-btn {
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--primary) 90%, black),
      var(--primary)
    );

  color:#fff;

  border:
    1px solid
    color-mix(in srgb, var(--primary) 70%, white);

  box-shadow:
    0 8px 24px
    color-mix(in srgb, var(--primary) 25%, transparent);
}

html[data-tenant-theme="PERFORMANCE"] .secondary-btn {
  background:#171717;
  border-color:#3b3b3b;
  color:#fff;
}


/* ---------- CLIENTE ---------- */

html[data-tenant-theme="PERFORMANCE"]
.client-brand-ui,

html[data-tenant-theme="PERFORMANCE"]
.mobile-shell {
  background:transparent;
  color:#fff;
}

html[data-tenant-theme="PERFORMANCE"]
.client-brand-ui .header,

html[data-tenant-theme="PERFORMANCE"]
.mobile-shell .header {
  background:
    linear-gradient(
      90deg,
      rgba(12,12,12,.98),
      rgba(22,22,22,.96)
    );

  border-bottom:
    1px solid
    color-mix(in srgb, var(--primary) 22%, #252525);
}

html[data-tenant-theme="PERFORMANCE"]
.client-brand-ui .header-brand strong,

html[data-tenant-theme="PERFORMANCE"]
.mobile-shell .header-brand strong {
  color:#fff;
}

html[data-tenant-theme="PERFORMANCE"]
.client-brand-ui .header-brand span,

html[data-tenant-theme="PERFORMANCE"]
.mobile-shell .header-brand span {
  color:#aaa;
}

html[data-tenant-theme="PERFORMANCE"]
.bottom-nav {
  background:
    rgba(10,10,10,.97);

  border-top:
    1px solid #303030;
}

html[data-tenant-theme="PERFORMANCE"]
.bottom-nav .nav-item {
  color:#8f8f8f;
}

html[data-tenant-theme="PERFORMANCE"]
.bottom-nav .nav-item.active {
  color:var(--primary);
}


/* ---------- CLASES ---------- */

html[data-tenant-theme="PERFORMANCE"]
.class-card {
  overflow:hidden;
}

html[data-tenant-theme="PERFORMANCE"]
.class-card::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:var(--primary);
}

html[data-tenant-theme="PERFORMANCE"]
.class-name {
  color:
    color-mix(in srgb, var(--primary) 82%, white);
}


/* ---------- ENTRENADOR ---------- */

html[data-tenant-theme="PERFORMANCE"]
.instructor-brand-ui {
  background:transparent;
  color:#fff;
}

html[data-tenant-theme="PERFORMANCE"]
.instructor-brand-ui .staff-header {
  background:
    linear-gradient(
      100deg,
      color-mix(in srgb, var(--primary) 36%, #080808),
      #080808 64%
    );

  border-bottom:
    1px solid
    color-mix(in srgb, var(--primary) 25%, #333);
}

html[data-tenant-theme="PERFORMANCE"]
.instructor-brand-ui .staff-hero h1,
html[data-tenant-theme="PERFORMANCE"]
.instructor-brand-ui h2,
html[data-tenant-theme="PERFORMANCE"]
.instructor-brand-ui h3 {
  color:#fff;
}


/* ---------- MÉTRICAS / PROGRESO ---------- */

html[data-tenant-theme="PERFORMANCE"] .progress {
  background:#333;
}

html[data-tenant-theme="PERFORMANCE"] .progress span,

html[data-tenant-theme="PERFORMANCE"] .membership-progress span,

html[data-tenant-theme="PERFORMANCE"] .staff-progress span {
  background:
    linear-gradient(
      90deg,
      color-mix(in srgb, var(--primary) 70%, black),
      var(--primary)
    );
}


/* ---------- INPUTS ---------- */

html[data-tenant-theme="PERFORMANCE"]
input,

html[data-tenant-theme="PERFORMANCE"]
select,

html[data-tenant-theme="PERFORMANCE"]
textarea {
  background:#151515;
  color:#fff;
  border-color:#3b3b3b;
}

html[data-tenant-theme="PERFORMANCE"]
option {
  background:#151515;
  color:#fff;
}


/* ---------- ACENTOS ---------- */

html[data-tenant-theme="PERFORMANCE"]
.status-pill.good,

html[data-tenant-theme="PERFORMANCE"]
.badge.active {
  background:
    color-mix(in srgb, var(--primary) 16%, #161616);

  color:
    color-mix(in srgb, var(--primary) 72%, white);
}


/* ---------- SCROLLBAR ---------- */

html[data-tenant-theme="PERFORMANCE"] {
  scrollbar-color:
    color-mix(in srgb, var(--primary) 65%, #444)
    #111;
}

/* E-BALANCE PERFORMANCE ADMIN V2 START */

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-shell,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-layout {
  background:
    radial-gradient(
      circle at 86% 3%,
      color-mix(in srgb, var(--primary) 13%, transparent),
      transparent 29%
    ),
    linear-gradient(
      145deg,
      #090909 0%,
      #101010 54%,
      #070707 100%
    ) !important;
  color:#f5f5f5;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-main {
  background:
    radial-gradient(
      circle at 85% 0%,
      color-mix(in srgb, var(--primary) 10%, transparent),
      transparent 26%
    ),
    linear-gradient(
      145deg,
      #0b0b0b 0%,
      #121212 58%,
      #080808 100%
    ) !important;
  color:#f5f5f5 !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-content,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-page,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-page-content {
  background:transparent !important;
  color:#f5f5f5 !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-topbar {
  background:
    linear-gradient(
      90deg,
      rgba(9,9,9,.96),
      rgba(20,20,20,.96)
    ) !important;
  border-bottom:
    1px solid
    color-mix(in srgb, var(--primary) 18%, #303030) !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui h1,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui h2,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui h3,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui h4 {
  color:#ffffff !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui p,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui small,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .subtitle {
  color:#9f9f9f;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .eyebrow {
  color:
    color-mix(in srgb, var(--primary) 84%, white) !important;
  letter-spacing:.12em;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .feedback-admin-shell {
  background:
    radial-gradient(
      circle at 92% 12%,
      color-mix(in srgb, var(--primary) 16%, transparent),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      #171717,
      #0d0d0d
    ) !important;

  border:
    1px solid
    color-mix(in srgb, var(--primary) 18%, #333) !important;

  box-shadow:
    0 18px 44px rgba(0,0,0,.22) !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .feedback-admin-head {
  background:transparent !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .feedback-score-hero {
  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .feedback-score-hero strong {
  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .feedback-score-stars,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .feedback-recent-rating {
  color:
    color-mix(in srgb, var(--primary) 84%, white) !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .feedback-admin-metric,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-metric-card {
  background:
    linear-gradient(
      145deg,
      #1a1a1a 0%,
      #101010 100%
    ) !important;

  border:
    1px solid
    color-mix(in srgb, var(--primary) 14%, #343434) !important;

  color:#fff !important;

  box-shadow:
    0 12px 28px rgba(0,0,0,.18) !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .feedback-admin-metric strong,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-metric-card strong {
  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .feedback-admin-metric span,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-metric-card span {
  color:#d4d4d4 !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .feedback-admin-metric small,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-metric-card small {
  color:#8e8e8e !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-metric-icon {
  background:
    color-mix(
      in srgb,
      var(--primary) 18%,
      #171717
    ) !important;

  border:
    1px solid
    color-mix(
      in srgb,
      var(--primary) 32%,
      #252525
    ) !important;

  color:
    color-mix(
      in srgb,
      var(--primary) 76%,
      white
    ) !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-panel {
  background:
    linear-gradient(
      145deg,
      #191919 0%,
      #101010 100%
    ) !important;

  border:
    1px solid
    color-mix(
      in srgb,
      var(--primary) 13%,
      #353535
    ) !important;

  box-shadow:
    0 14px 34px rgba(0,0,0,.18) !important;

  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-panel-head {
  border-color:#2d2d2d !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-panel-head h2 {
  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-panel-head p {
  color:#8f8f8f !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-panel-head > strong {
  color:
    color-mix(
      in srgb,
      var(--primary) 78%,
      white
    ) !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .empty-state {
  background:
    linear-gradient(
      145deg,
      #151515,
      #0d0d0d
    ) !important;

  color:#aaa !important;

  border:
    1px solid #303030 !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .feedback-recent-item,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .feedback-instructor-row,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .discipline-admin-row,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-alert {
  background:
    linear-gradient(
      145deg,
      rgba(30,30,30,.96),
      rgba(18,18,18,.96)
    ) !important;

  border-color:#303030 !important;

  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .feedback-recent-item p,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .discipline-admin-row strong,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-alert strong {
  color:#f2f2f2 !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .feedback-recent-item small,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .discipline-admin-row small,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-alert p {
  color:#8f8f8f !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .feedback-distribution-track,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-bar-track,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .discipline-progress {
  background:#303030 !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .feedback-distribution-track i,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-bar-track span,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .discipline-progress span {
  background:
    linear-gradient(
      90deg,
      color-mix(in srgb, var(--primary) 68%, #330000),
      var(--primary)
    ) !important;

  box-shadow:
    0 0 14px
    color-mix(in srgb, var(--primary) 18%, transparent);
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-bar-item b,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .discipline-admin-row > b {
  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-bar-item small {
  color:#888 !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-table-wrap {
  background:#121212 !important;
  border:
    1px solid #303030 !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-table {
  background:#121212 !important;
  color:#eee !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-table thead,
html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-table th {
  background:#191919 !important;
  color:#bdbdbd !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-table td {
  background:#121212 !important;
  color:#ededed !important;
  border-color:#2d2d2d !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .admin-table tr:hover td {
  background:#1b1b1b !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .class-label b {
  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .secondary-btn {
  background:#191919 !important;
  border-color:#3a3a3a !important;
  color:#eee !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .secondary-btn:hover {
  border-color:
    color-mix(in srgb, var(--primary) 65%, #555) !important;

  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .admin-brand-ui .status-pill.good {
  background:
    color-mix(
      in srgb,
      var(--primary) 15%,
      #181818
    ) !important;

  color:
    color-mix(
      in srgb,
      var(--primary) 70%,
      white
    ) !important;
}

/* E-BALANCE PERFORMANCE ADMIN V2 END */

/* E-BALANCE PERFORMANCE CLIENT INSTRUCTOR V2 START */

html[data-tenant-theme="PERFORMANCE"] body:has(.client-brand-ui),
html[data-tenant-theme="PERFORMANCE"] body:has(.instructor-brand-ui) {
  background:
    radial-gradient(
      circle at 85% 2%,
      color-mix(in srgb, var(--primary) 14%, transparent),
      transparent 30%
    ),
    linear-gradient(
      145deg,
      #090909 0%,
      #101010 58%,
      #070707 100%
    ) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui {
  background:
    linear-gradient(
      145deg,
      #0b0b0b 0%,
      #121212 55%,
      #080808 100%
    ) !important;
  color:#f4f4f4 !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .screen,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .staff-screen {
  background:transparent !important;
  color:#f4f4f4 !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .header,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .staff-header {
  background:
    linear-gradient(
      100deg,
      color-mix(in srgb, var(--primary) 32%, #080808),
      #0b0b0b 70%
    ) !important;

  border-bottom:
    1px solid
    color-mix(in srgb, var(--primary) 28%, #333) !important;

  box-shadow:
    0 8px 28px rgba(0,0,0,.24);
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .header-logo-wrap,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .header-logo-wrap {
  background:#f5f5f5 !important;
  border:
    1px solid
    color-mix(in srgb, var(--primary) 36%, #555) !important;
  box-shadow:
    0 5px 16px rgba(0,0,0,.24);
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .header-logo,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .header-logo {
  object-fit:contain !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .header-brand strong,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .header-brand strong {
  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .header-brand span,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .header-brand span {
  color:#aaa !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .screen > h1,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .staff-hero h1 {
  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .subtitle,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .staff-hero .subtitle {
  color:#aaa !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .section-title-row h2,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .section-title-row h2,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .roster-heading h2 {
  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .section-title-row button {
  color:
    color-mix(in srgb, var(--primary) 76%, white) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .membership-card {
  background:
    radial-gradient(
      circle at 100% 0%,
      color-mix(in srgb, var(--primary) 20%, transparent),
      transparent 40%
    ),
    linear-gradient(
      145deg,
      #1c1c1c,
      #101010
    ) !important;

  border:
    1px solid
    color-mix(in srgb, var(--primary) 25%, #353535) !important;

  color:#fff !important;

  box-shadow:
    0 16px 34px rgba(0,0,0,.22) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .membership-card::after {
  background:
    linear-gradient(
      135deg,
      transparent,
      color-mix(in srgb, var(--primary) 14%, transparent)
    ) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .membership-card h3 {
  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .membership-card p,
html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .membership-card small {
  color:#aaa !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .membership-card .eyebrow,
html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .membership-card .card-link {
  color:
    color-mix(in srgb, var(--primary) 78%, white) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .days-pill {
  background:
    color-mix(in srgb, var(--primary) 18%, #171717) !important;
  color:#fff !important;
  border:
    1px solid
    color-mix(in srgb, var(--primary) 30%, #333) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .membership-progress,
html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .progress {
  background:#303030 !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .membership-progress span,
html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .progress span {
  background:
    linear-gradient(
      90deg,
      color-mix(in srgb, var(--primary) 68%, #330000),
      var(--primary)
    ) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .class-card,
html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .booking-card {
  background:
    linear-gradient(
      145deg,
      #1b1b1b 0%,
      #101010 100%
    ) !important;

  border:
    1px solid
    color-mix(in srgb, var(--primary) 16%, #343434) !important;

  color:#fff !important;

  box-shadow:
    0 12px 30px rgba(0,0,0,.20) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .class-card::before {
  background:var(--primary) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .class-name,
html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .booking-content h3 {
  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .class-meta,
html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .class-time,
html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .booking-content p,
html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .availability {
  color:#aaa !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .week-nav {
  background:#151515 !important;
  border:
    1px solid #303030 !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .week-label {
  color:#eee !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .week-nav button {
  color:
    color-mix(in srgb, var(--primary) 78%, white) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .day-chip,
html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .filter-chip,
html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .tab {
  background:#171717 !important;
  color:#aaa !important;
  border-color:#333 !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .day-chip strong {
  color:#eee !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .day-chip.active,
html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .filter-chip.active,
html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .tab.active {
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--primary) 88%, #3b0000),
      var(--primary)
    ) !important;

  border-color:
    color-mix(in srgb, var(--primary) 74%, white) !important;

  color:#fff !important;

  box-shadow:
    0 6px 18px
    color-mix(in srgb, var(--primary) 20%, transparent);
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .day-chip.active strong {
  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .reserve-btn,
html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .primary-btn {
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--primary) 84%, #3a0000),
      var(--primary)
    ) !important;

  color:#fff !important;

  border:
    1px solid
    color-mix(in srgb, var(--primary) 68%, white) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .secondary-btn {
  background:#181818 !important;
  border-color:#3a3a3a !important;
  color:#eee !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .badge.confirmed {
  background:
    color-mix(in srgb, var(--primary) 16%, #171717) !important;
  color:
    color-mix(in srgb, var(--primary) 70%, white) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .empty-state {
  background:
    linear-gradient(
      145deg,
      #171717,
      #0f0f0f
    ) !important;

  border:1px solid #303030 !important;
  color:#aaa !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .empty-icon {
  color:
    color-mix(in srgb, var(--primary) 78%, white) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .bottom-nav {
  background:rgba(9,9,9,.97) !important;
  border-top:
    1px solid
    color-mix(in srgb, var(--primary) 18%, #333) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .nav-item {
  color:#808080 !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .nav-item.active {
  color:
    color-mix(in srgb, var(--primary) 78%, white) !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .staff-hero {
  background:
    radial-gradient(
      circle at 100% 0%,
      color-mix(in srgb, var(--primary) 20%, transparent),
      transparent 36%
    ),
    linear-gradient(
      145deg,
      #1b1b1b,
      #0f0f0f
    ) !important;

  border:
    1px solid
    color-mix(in srgb, var(--primary) 20%, #333) !important;

  box-shadow:
    0 16px 38px rgba(0,0,0,.22) !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .staff-hero::after {
  background:
    linear-gradient(
      135deg,
      transparent,
      color-mix(in srgb, var(--primary) 12%, transparent)
    ) !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .staff-hero .eyebrow,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .roster-heading .eyebrow {
  color:
    color-mix(in srgb, var(--primary) 78%, white) !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .attendance-date-field {
  background:#161616 !important;
  border:
    1px solid #333 !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .attendance-date-field span {
  color:#999 !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .attendance-date-field input {
  background:#111 !important;
  color:#fff !important;
  border-color:#333 !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .staff-classes-panel,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .roster-panel,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .instructor-feedback-panel {
  background:
    linear-gradient(
      145deg,
      #1a1a1a,
      #101010
    ) !important;

  border:
    1px solid
    color-mix(in srgb, var(--primary) 15%, #343434) !important;

  color:#fff !important;

  box-shadow:
    0 14px 34px rgba(0,0,0,.18) !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .staff-meta,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .roster-heading p,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .instructor-feedback-head p {
  color:#999 !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .staff-class-card,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .roster-row,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .instructor-feedback-score,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .instructor-feedback-stat,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .instructor-feedback-box,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .instructor-feedback-comment {
  background:
    linear-gradient(
      145deg,
      #1d1d1d,
      #111
    ) !important;

  border-color:#303030 !important;
  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .staff-class-card:hover,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .staff-class-card.active,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .staff-class-card.selected {
  border-color:
    color-mix(in srgb, var(--primary) 68%, #444) !important;

  background:
    linear-gradient(
      145deg,
      color-mix(in srgb, var(--primary) 14%, #1c1c1c),
      #111
    ) !important;

  box-shadow:
    0 8px 24px
    color-mix(in srgb, var(--primary) 14%, transparent);
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .roster-summary {
  background:#151515 !important;
  border-color:#303030 !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .roster-summary strong {
  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .roster-summary span {
  color:#929292 !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .roster-person strong,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .instructor-feedback-box h3,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .instructor-feedback-comment-top strong {
  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .roster-person span,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .instructor-feedback-comment p,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .instructor-feedback-comment small {
  color:#999 !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .roster-avatar {
  background:
    color-mix(in srgb, var(--primary) 18%, #1c1c1c) !important;
  color:#fff !important;
  border:
    1px solid
    color-mix(in srgb, var(--primary) 36%, #333) !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .attendance-action {
  background:#171717 !important;
  border-color:#353535 !important;
  color:#aaa !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .attendance-action.attended.selected {
  background:
    color-mix(in srgb, var(--primary) 18%, #171717) !important;
  border-color:var(--primary) !important;
  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .primary-btn {
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--primary) 84%, #3a0000),
      var(--primary)
    ) !important;

  border:
    1px solid
    color-mix(in srgb, var(--primary) 68%, white) !important;

  color:#fff !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .empty-state {
  background:
    linear-gradient(
      145deg,
      #171717,
      #0f0f0f
    ) !important;

  border:1px solid #303030 !important;
  color:#aaa !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .instructor-feedback-stars,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .instructor-feedback-comment-top span {
  color:
    color-mix(in srgb, var(--primary) 78%, white) !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .instructor-feedback-track {
  background:#303030 !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .instructor-feedback-track i {
  background:
    linear-gradient(
      90deg,
      color-mix(in srgb, var(--primary) 68%, #330000),
      var(--primary)
    ) !important;
}

/* E-BALANCE PERFORMANCE CLIENT INSTRUCTOR V2 END */

/* E-BALANCE PERFORMANCE GREEN CLEANUP START */

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .staff-hero {
  background-image:
    radial-gradient(
      circle at 100% 0%,
      color-mix(in srgb, var(--primary) 24%, transparent),
      transparent 38%
    ),
    linear-gradient(
      145deg,
      #1b1b1b 0%,
      #101010 58%,
      #090909 100%
    ) !important;

  background-color:#101010 !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .staff-hero::after {
  background:
    linear-gradient(
      135deg,
      transparent,
      color-mix(in srgb, var(--primary) 14%, transparent)
    ) !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .staff-hero .eyebrow {
  color:
    color-mix(in srgb, var(--primary) 74%, white) !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .staff-hero h1 {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:none !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .attendance-date-field {
  background:#1a1a1a !important;
  background-image:none !important;
  border-color:
    color-mix(in srgb, var(--primary) 20%, #3a3a3a) !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .staff-class-card,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .roster-row,
html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .empty-state {
  background:
    linear-gradient(
      145deg,
      #1b1b1b,
      #101010
    ) !important;
  color:#eee !important;
}

html[data-tenant-theme="PERFORMANCE"] .instructor-brand-ui .empty-state .empty-icon {
  background:
    color-mix(in srgb, var(--primary) 16%, #181818) !important;
  color:
    color-mix(in srgb, var(--primary) 72%, white) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .screen > h1 {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:none !important;
  background-image:none !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .avatar {
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--primary) 78%, #250000),
      #181818
    ) !important;

  color:#fff !important;

  border:
    1px solid
    color-mix(in srgb, var(--primary) 34%, #444) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .tab.active {
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--primary) 88%, #340000),
      var(--primary)
    ) !important;

  background-color:var(--primary) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;

  border-color:
    color-mix(in srgb, var(--primary) 65%, white) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .tab:not(.active) {
  background:#181818 !important;
  color:#aaa !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .booking-card,
html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .empty-state {
  background:
    linear-gradient(
      145deg,
      #1b1b1b,
      #101010
    ) !important;

  color:#aaa !important;

  border:
    1px solid #303030 !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .empty-state .empty-icon {
  background:
    color-mix(in srgb, var(--primary) 14%, #181818) !important;

  color:
    color-mix(in srgb, var(--primary) 72%, white) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .icon-button {
  background:#f1eee7 !important;
  color:#181818 !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .bottom-nav .nav-item.active,
html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .bottom-nav .nav-item.active .nav-icon {
  color:
    color-mix(in srgb, var(--primary) 78%, white) !important;
}

html[data-tenant-theme="PERFORMANCE"] .client-brand-ui .badge.confirmed {
  background:
    color-mix(in srgb, var(--primary) 16%, #171717) !important;
  color:
    color-mix(in srgb, var(--primary) 72%, white) !important;
}

/* E-BALANCE PERFORMANCE GREEN CLEANUP END */

/* EB_ADMIN_MOBILE_SHEET_SCROLL_FIX_2026_10_20 */
@media (max-width: 768px) {
  .sheet-backdrop {
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .bottom-sheet.admin-form-sheet {
    max-height: calc(100vh - 12px);
    max-height: calc(100dvh - 12px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
    margin-top: 12px;
    padding-bottom: max(20px, env(safe-area-inset-bottom));
  }

  .bottom-sheet.admin-form-sheet .admin-sheet-content {
    min-height: 0;
  }
}
/* END EB_ADMIN_MOBILE_SHEET_SCROLL_FIX_2026_10_20 */

/* EB_ADMIN_MOBILE_NAV_CLEARANCE_FIX_2026_10_20 */
@media (max-width: 768px) {
  .bottom-sheet.admin-form-sheet {
    padding-bottom: calc(120px + env(safe-area-inset-bottom)) !important;
    scroll-padding-bottom: calc(120px + env(safe-area-inset-bottom));
  }
}
/* END EB_ADMIN_MOBILE_NAV_CLEARANCE_FIX_2026_10_20 */


/* BOUTIQUE_LIGHT_BUTTON_TEXT_V1 */
html[data-tenant-theme="BOUTIQUE"] .primary-btn,
html[data-tenant-theme="BOUTIQUE"] .reserve-btn {
  color: #FFF8F2 !important;
}

html[data-tenant-theme="BOUTIQUE"] .primary-btn svg,
html[data-tenant-theme="BOUTIQUE"] .reserve-btn svg {
  color: #FFF8F2 !important;
  stroke: currentColor;
}


/* ARS_PREMIUM_THEME_V1 */
html[data-tenant-slug="ars-pilates-reformer"] {
  --ars-bg: #0D1014;
  --ars-surface: #171922;
  --ars-surface-soft: #20212B;
  --ars-plum: #7C6388;
  --ars-lavender: #D9B6E5;
  --ars-lavender-soft: #F0E3F4;
  --ars-cream: #FBF7F2;
  --ars-text: #F8F4FA;
  --ars-muted: #BEB7C4;
  --ars-border: rgba(217, 182, 229, .18);
}

/* Fondo general de la experiencia ARS */
html[data-tenant-slug="ars-pilates-reformer"] body,
html[data-tenant-slug="ars-pilates-reformer"] #app,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .admin-shell,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .admin-layout {
  background: var(--ars-bg) !important;
  color: var(--ars-text);
}

/* Sidebar premium oscuro */
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .admin-sidebar {
  background:
    radial-gradient(circle at 15% 5%, rgba(124, 99, 136, .24), transparent 34%),
    linear-gradient(180deg, #11131A 0%, #090B0F 100%) !important;
  border-right: 1px solid var(--ars-border) !important;
  box-shadow: 18px 0 50px rgba(0, 0, 0, .22);
}

/* Área principal */
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .admin-main,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .admin-content,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .admin-page,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .admin-page-content {
  background:
    radial-gradient(circle at 86% 0%, rgba(124, 99, 136, .13), transparent 28%),
    linear-gradient(145deg, #12141A 0%, #0D1014 55%, #15121A 100%) !important;
  color: var(--ars-text);
}

/* Encabezados editoriales */
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui h1,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .admin-page h1 {
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 500 !important;
  letter-spacing: -.02em;
  color: #FFF9FF !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui h2,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui h3,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui h4 {
  color: #F8F1FA !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .eyebrow {
  color: var(--ars-lavender) !important;
  letter-spacing: .18em !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui p,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui small,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .subtitle {
  color: var(--ars-muted) !important;
}

/* Tarjetas */
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .admin-panel,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .admin-metric-card,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .feedback-admin-shell,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .feedback-admin-metric {
  background:
    linear-gradient(145deg, rgba(34, 34, 45, .96), rgba(21, 22, 29, .98)) !important;
  border: 1px solid var(--ars-border) !important;
  box-shadow:
    0 18px 50px rgba(0, 0, 0, .22),
    inset 0 1px 0 rgba(255,255,255,.035) !important;
  border-radius: 22px !important;
}

/* Contenido interno de tarjetas */
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .admin-panel strong,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .admin-metric-card strong,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .feedback-admin-metric strong {
  color: #FFF9FF !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .admin-panel span,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .admin-metric-card span {
  color: var(--ars-muted) !important;
}

/* Elementos / filas internas */
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .feedback-recent-item,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .feedback-instructor-row,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .discipline-admin-row,
html[data-tenant-slug="ars-pilates-reformer"] .admin-brand-ui .admin-alert {
  background: rgba(255,255,255,.035) !important;
  border-color: var(--ars-border) !important;
  color: var(--ars-text) !important;
}

/* Botones principales */
html[data-tenant-slug="ars-pilates-reformer"] .primary-btn,
html[data-tenant-slug="ars-pilates-reformer"] .reserve-btn {
  background:
    linear-gradient(135deg, #CFA5DE 0%, #A77AB8 100%) !important;
  color: #17131A !important;
  border: 0 !important;
  box-shadow: 0 10px 30px rgba(167, 122, 184, .28) !important;
  font-weight: 700;
}

html[data-tenant-slug="ars-pilates-reformer"] .primary-btn:hover,
html[data-tenant-slug="ars-pilates-reformer"] .reserve-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
}

/* Botones secundarios */
html[data-tenant-slug="ars-pilates-reformer"] .secondary-btn {
  background: rgba(255,255,255,.045) !important;
  color: var(--ars-text) !important;
  border: 1px solid rgba(217,182,229,.24) !important;
}

/* Navegación lateral */
html[data-tenant-slug="ars-pilates-reformer"] .admin-sidebar .admin-nav button,
html[data-tenant-slug="ars-pilates-reformer"] .admin-sidebar .admin-nav a {
  color: #C8C2CC !important;
  border-radius: 14px !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .admin-sidebar .admin-nav button:hover,
html[data-tenant-slug="ars-pilates-reformer"] .admin-sidebar .admin-nav a:hover {
  background: rgba(217,182,229,.09) !important;
  color: #FFFFFF !important;
}

/* Formularios */
html[data-tenant-slug="ars-pilates-reformer"] input,
html[data-tenant-slug="ars-pilates-reformer"] select,
html[data-tenant-slug="ars-pilates-reformer"] textarea {
  background: #171922 !important;
  color: #F8F4FA !important;
  border-color: rgba(217,182,229,.20) !important;
}

html[data-tenant-slug="ars-pilates-reformer"] input:focus,
html[data-tenant-slug="ars-pilates-reformer"] select:focus,
html[data-tenant-slug="ars-pilates-reformer"] textarea:focus {
  border-color: #B68BC5 !important;
  box-shadow: 0 0 0 3px rgba(182,139,197,.15) !important;
}

/* Barras / progreso */
html[data-tenant-slug="ars-pilates-reformer"] .progress span,
html[data-tenant-slug="ars-pilates-reformer"] .membership-progress span,
html[data-tenant-slug="ars-pilates-reformer"] .staff-progress span,
html[data-tenant-slug="ars-pilates-reformer"] .admin-bar-track span,
html[data-tenant-slug="ars-pilates-reformer"] .discipline-progress span {
  background: linear-gradient(90deg, #8E6B9C, #D9B6E5) !important;
}

/* Scrollbar discreto */
html[data-tenant-slug="ars-pilates-reformer"] * {
  scrollbar-color: #6E5579 #11131A;
}


/* ARS_CLIENT_PREMIUM_V1 */

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui.mobile-shell {
  background:
    radial-gradient(circle at 85% -5%, rgba(188, 140, 206, .18), transparent 30%),
    linear-gradient(180deg, #12131A 0%, #0B0D12 100%) !important;
  color: #F8F3FA;
}

/* Pantalla */
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .screen {
  background: transparent !important;
}

/* Header */
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .header {
  margin-bottom: 28px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(217,182,229,.12);
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .header-brand {
  gap: 13px;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .header-brand img {
  width: 58px !important;
  height: 58px !important;
  object-fit: contain;
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  padding: 5px;
  box-shadow:
    0 12px 28px rgba(0,0,0,.22),
    0 0 0 1px rgba(217,182,229,.14);
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .header-brand strong {
  display: block;
  color: #FFF8FF !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-weight: 400;
  letter-spacing: -.01em;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .header-brand span {
  color: #BEB5C3 !important;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Avatar / notificaciones */
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .icon-button,
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .avatar {
  color: #E7D6ED !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(217,182,229,.14) !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .notification-count {
  color: #17131A !important;
  background: #D7AFE4 !important;
}

/* Saludo */
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui main > h1 {
  margin-top: 4px;
  margin-bottom: 7px;
  color: #FFF9FF !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(30px, 8vw, 42px);
  line-height: 1.02;
  font-weight: 400 !important;
  letter-spacing: -.035em;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .subtitle {
  margin-bottom: 28px;
  color: #AFA7B4 !important;
  font-size: 13px;
}

/* Títulos de sección */
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .section-title-row {
  margin-top: 34px;
  margin-bottom: 15px;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .section-title-row h2 {
  color: #F6EDF8 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 22px;
  font-weight: 400;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .section-title-row button {
  color: #D8B4E3 !important;
  background: rgba(216,180,227,.08) !important;
  border: 1px solid rgba(216,180,227,.14) !important;
}

/* Tarjetas base */
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .card {
  color: #F9F3FA;
  background:
    linear-gradient(145deg, rgba(32,32,43,.98), rgba(19,20,27,.98)) !important;
  border: 1px solid rgba(217,182,229,.13) !important;
  box-shadow:
    0 18px 46px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.025) !important;
  border-radius: 24px !important;
}

/* Membresía */
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .membership-card {
  color: #FFF8FF !important;
  background:
    radial-gradient(circle at 88% 16%, rgba(221,185,233,.22), transparent 31%),
    linear-gradient(140deg, #5E4768 0%, #3C3046 48%, #211C28 100%) !important;
  border: 1px solid rgba(230,202,238,.14) !important;
  box-shadow:
    0 22px 48px rgba(0,0,0,.30),
    0 12px 26px rgba(94,71,104,.18) !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .membership-card::after {
  border-color: rgba(237,209,244,.09) !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .membership-card .eyebrow {
  color: #E3C2EC !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .membership-card h3 {
  color: #FFFFFF !important;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .membership-card p {
  color: rgba(255,255,255,.70) !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .days-pill {
  color: #2A202F !important;
  background: rgba(245,226,249,.90) !important;
  border: 0 !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .membership-progress {
  background: rgba(255,255,255,.13) !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .membership-progress span {
  background: linear-gradient(90deg, #D39FDF, #F1D7F4) !important;
}

/* Clases */
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .class-card,
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .class-card.pilates,
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .class-card.yoga,
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .class-card.barre,
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .class-card.barré {
  background:
    linear-gradient(145deg, #20212A 0%, #16171E 100%) !important;
  border: 1px solid rgba(217,182,229,.13) !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .class-card::before,
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .class-card.pilates::before,
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .class-card.yoga::before,
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .class-card.barre::before,
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .class-card.barré::before {
  background: linear-gradient(180deg, #E0BDE8, #8D6999) !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .class-card::after {
  border-color: rgba(216,180,227,.055) !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .class-name {
  color: #E4C1EB !important;
  letter-spacing: .10em;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .class-meta {
  color: #A9A2AE !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .class-time {
  color: #FFF7FF !important;
  font-family: Georgia, "Times New Roman", serif !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .availability {
  color: #CBA5D7 !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .progress {
  background: #292A32 !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .progress span {
  background: linear-gradient(90deg, #896493, #DDB8E7) !important;
}

/* Botones */
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .reserve-btn,
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .primary-btn {
  color: #211823 !important;
  background:
    linear-gradient(135deg, #E1BEEA 0%, #B98AC8 100%) !important;
  border: 0 !important;
  box-shadow: 0 10px 25px rgba(185,138,200,.22) !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .reserve-btn:not(:disabled):hover,
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .primary-btn:not(:disabled):hover {
  background:
    linear-gradient(135deg, #E8CBF0 0%, #C799D4 100%) !important;
}

/* Calendario */
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .week-label {
  color: #F5EDF7 !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .week-nav button {
  color: #D9B7E2 !important;
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(217,182,229,.13) !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .day-chip {
  color: #AAA3AF !important;
  background: #191A21 !important;
  border: 1px solid rgba(217,182,229,.10) !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .day-chip.active {
  color: #211923 !important;
  background: #D8B3E2 !important;
  border-color: #D8B3E2 !important;
  box-shadow: 0 9px 20px rgba(216,179,226,.16) !important;
}

/* Filtros */
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .filter-chip {
  color: #C7B5CD !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(217,182,229,.11) !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .filter-chip.active {
  color: #211923 !important;
  background: #D8B3E2 !important;
  border-color: #D8B3E2 !important;
}

/* Tabs de reservas */
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .tabs {
  background: #17181F !important;
  border: 1px solid rgba(217,182,229,.11) !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .tab {
  color: #9F98A5 !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .tab.active {
  color: #211923 !important;
  background: #D6AFE1 !important;
}

/* Reservas */
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .booking-content h3 {
  color: #F8F0FA !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .booking-content p {
  color: #A9A2AE !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .badge.confirmed {
  color: #E1C1E9 !important;
  background: rgba(181,132,196,.15) !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .badge.waiting {
  color: #E9D1B4 !important;
  background: rgba(182,145,94,.15) !important;
}

/* Secundarios */
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .secondary-btn {
  color: #D9C2DF !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(217,182,229,.13) !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .secondary-btn.danger-btn {
  color: #E7AAA8 !important;
  border-color: rgba(231,170,168,.18) !important;
}

/* Estados vacíos */
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .empty-state {
  color: #AAA3AF !important;
  background: rgba(255,255,255,.025) !important;
  border: 1px dashed rgba(217,182,229,.16) !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .empty-icon {
  color: #C79ED3 !important;
}

/* Navegación inferior tipo app boutique */
html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .bottom-nav {
  background: rgba(12,13,18,.94) !important;
  border-top: 1px solid rgba(217,182,229,.12) !important;
  box-shadow: 0 -14px 34px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .nav-item {
  color: #7F7984 !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .nav-item.active {
  color: #E0BDE8 !important;
}

html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui .nav-item.active .nav-icon {
  color: #251C28 !important;
  background:
    linear-gradient(135deg, #E0BDE8, #B886C6) !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 18px rgba(184,134,198,.20);
}

/* Desktop: marco tipo app */
@media (min-width: 700px) {
  html[data-tenant-slug="ars-pilates-reformer"] body:has(.client-brand-ui) {
    background:
      radial-gradient(circle at 15% 15%, rgba(123,91,136,.28), transparent 30rem),
      radial-gradient(circle at 85% 85%, rgba(183,137,199,.16), transparent 28rem),
      #090A0E !important;
  }

  html[data-tenant-slug="ars-pilates-reformer"] .client-brand-ui.mobile-shell {
    border: 1px solid rgba(217,182,229,.14) !important;
    box-shadow:
      0 40px 100px rgba(0,0,0,.48),
      0 0 0 1px rgba(255,255,255,.025) !important;
  }
}

/* ARS_CLIENT_PREMIUM_V1_END */


/* ARS_ADMIN_HOME_HERO_V1 */

.ars-admin-home-hero {
  display: none;
}

html[data-tenant-slug="ars-pilates-reformer"] .ars-admin-home-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 280px;
  margin-bottom: 28px;
  overflow: hidden;
  border: 1px solid rgba(217, 182, 229, .16);
  border-radius: 26px;
  background:
    linear-gradient(
      90deg,
      rgba(12, 13, 18, .88) 0%,
      rgba(12, 13, 18, .46) 48%,
      rgba(12, 13, 18, .12) 100%
    ),
    url("/assets/ars-pilates-hero.png") center 52% / cover no-repeat;
  box-shadow:
    0 24px 60px rgba(0, 0, 0, .30),
    inset 0 1px 0 rgba(255, 255, 255, .04);
}

html[data-tenant-slug="ars-pilates-reformer"] .ars-admin-home-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      transparent 35%,
      rgba(13, 16, 20, .62) 100%
    );
  pointer-events: none;
}

html[data-tenant-slug="ars-pilates-reformer"] .ars-admin-home-hero-overlay {
  position: relative;
  z-index: 2;
  max-width: 570px;
  padding: 34px 38px;
}

html[data-tenant-slug="ars-pilates-reformer"] .ars-admin-home-hero-overlay span {
  display: block;
  margin-bottom: 8px;
  color: #DDB8E7;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .22em;
}

html[data-tenant-slug="ars-pilates-reformer"] .ars-admin-home-hero-overlay h2 {
  margin: 0;
  color: #FFF9FF;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.04;
  font-weight: 400;
  letter-spacing: -.025em;
}

@media (max-width: 700px) {
  html[data-tenant-slug="ars-pilates-reformer"] .ars-admin-home-hero {
    min-height: 220px;
    border-radius: 22px;
    background-position: center center;
  }

  html[data-tenant-slug="ars-pilates-reformer"] .ars-admin-home-hero-overlay {
    padding: 24px;
  }

  html[data-tenant-slug="ars-pilates-reformer"] .ars-admin-home-hero-overlay h2 {
    font-size: 28px;
  }
}

/* ARS_ADMIN_HOME_HERO_V1_END */


/* MOA_ADMIN_HOME_HERO_V1 */

.moa-admin-home-hero {
  display: none;
}

html[data-tenant-slug="moa-barre-studio"] .moa-admin-home-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 280px;
  margin-bottom: 28px;
  overflow: hidden;
  border: 1px solid rgba(227, 213, 199, .28);
  border-radius: 26px;
  background:
    linear-gradient(
      90deg,
      rgba(63, 24, 24, .78) 0%,
      rgba(79, 31, 31, .42) 48%,
      rgba(79, 31, 31, .08) 100%
    ),
    url("/assets/moa-barre-hero.png") center 50% / cover no-repeat;
  box-shadow:
    0 24px 60px rgba(70, 35, 30, .18),
    inset 0 1px 0 rgba(255, 255, 255, .14);
}

html[data-tenant-slug="moa-barre-studio"] .moa-admin-home-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      transparent 38%,
      rgba(64, 28, 27, .52) 100%
    );
  pointer-events: none;
}

html[data-tenant-slug="moa-barre-studio"] .moa-admin-home-hero-overlay {
  position: relative;
  z-index: 2;
  max-width: 560px;
  padding: 34px 38px;
}

html[data-tenant-slug="moa-barre-studio"] .moa-admin-home-hero-overlay span {
  display: block;
  margin-bottom: 8px;
  color: #E3D5C7;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .22em;
}

html[data-tenant-slug="moa-barre-studio"] .moa-admin-home-hero-overlay h2 {
  margin: 0;
  color: #FFF9F4;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.04;
  font-weight: 400;
  letter-spacing: -.025em;
}

@media (max-width: 700px) {
  html[data-tenant-slug="moa-barre-studio"] .moa-admin-home-hero {
    min-height: 220px;
    border-radius: 22px;
    background-position: center center;
  }

  html[data-tenant-slug="moa-barre-studio"] .moa-admin-home-hero-overlay {
    padding: 24px;
  }

  html[data-tenant-slug="moa-barre-studio"] .moa-admin-home-hero-overlay h2 {
    font-size: 28px;
  }
}

/* MOA_ADMIN_HOME_HERO_V1_END */


/* BUSINESS_CONTEXT_SELECT_CONTRAST_FIX */
.admin-brand-ui .business-context select {
  color: #12392f;
}

.admin-brand-ui .business-context option {
  color: #12392f;
  background: #ffffff;
}
/* BUSINESS_CONTEXT_SELECT_CONTRAST_FIX_END */


/* ENERGY_BALANCE_ADMIN_HOME_HERO_V1 */

.energy-balance-admin-home-hero {
  display: none;
}

html[data-tenant-slug="energy-balance"] .energy-balance-admin-home-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 280px;
  margin-bottom: 28px;
  overflow: hidden;
  border: 1px solid rgba(86, 117, 101, .18);
  border-radius: 26px;
  background:
    linear-gradient(
      90deg,
      rgba(17, 49, 42, .82) 0%,
      rgba(17, 49, 42, .42) 48%,
      rgba(17, 49, 42, .08) 100%
    ),
    url("/assets/energy-balance-hero.png") center 50% / cover no-repeat;
  box-shadow:
    0 24px 60px rgba(18, 57, 47, .18),
    inset 0 1px 0 rgba(255, 255, 255, .12);
}

html[data-tenant-slug="energy-balance"] .energy-balance-admin-home-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      transparent 40%,
      rgba(17, 49, 42, .50) 100%
    );
  pointer-events: none;
}

html[data-tenant-slug="energy-balance"] .energy-balance-admin-home-hero-overlay {
  position: relative;
  z-index: 2;
  max-width: 570px;
  padding: 34px 38px;
}

html[data-tenant-slug="energy-balance"] .energy-balance-admin-home-hero-overlay span {
  display: block;
  margin-bottom: 8px;
  color: #D9E5DF;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .22em;
}

html[data-tenant-slug="energy-balance"] .energy-balance-admin-home-hero-overlay h2 {
  margin: 0;
  color: #FFFFFF;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.04;
  font-weight: 400;
  letter-spacing: -.025em;
}

@media (max-width: 700px) {
  html[data-tenant-slug="energy-balance"] .energy-balance-admin-home-hero {
    min-height: 220px;
    border-radius: 22px;
    background-position: center center;
  }

  html[data-tenant-slug="energy-balance"] .energy-balance-admin-home-hero-overlay {
    padding: 24px;
  }

  html[data-tenant-slug="energy-balance"] .energy-balance-admin-home-hero-overlay h2 {
    font-size: 28px;
  }
}

/* ENERGY_BALANCE_ADMIN_HOME_HERO_V1_END */


/* E-BALANCE ADMIN INSTRUCTOR FEEDBACK DETAIL */
.feedback-instructor-row--clickable {
  cursor: pointer;
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    border-color .16s ease;
}

.feedback-instructor-row--clickable:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, .08);
}

.feedback-instructor-row--clickable:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.feedback-instructor-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(15, 23, 42, .58);
  backdrop-filter: blur(6px);
}

.feedback-instructor-modal {
  width: min(920px, 100%);
  max-height: min(820px, 90vh);
  overflow: auto;
  border-radius: 24px;
  background: var(--surface, #fff);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .24);
  padding: 28px;
}

.feedback-instructor-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}

.feedback-instructor-modal-head h2 {
  margin: 4px 0 6px;
}

.feedback-instructor-modal-head p {
  margin: 0;
  opacity: .72;
}

.feedback-instructor-modal-close {
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, .06);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.feedback-instructor-modal-summary {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 16px;
  margin-bottom: 20px;
}

.feedback-instructor-modal-score,
.feedback-instructor-modal-stat,
.feedback-instructor-modal-box {
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 18px;
  padding: 20px;
  background: rgba(255, 255, 255, .72);
}

.feedback-instructor-modal-score > strong {
  font-size: 42px;
  line-height: 1;
}

.feedback-instructor-modal-score > span {
  margin-left: 5px;
  opacity: .64;
}

.feedback-instructor-modal-score > div {
  margin-top: 10px;
  letter-spacing: 2px;
}

.feedback-instructor-modal-score > small {
  display: block;
  margin-top: 8px;
  opacity: .68;
}

.feedback-instructor-modal-stat {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.feedback-instructor-modal-stat span,
.feedback-instructor-modal-stat small {
  opacity: .66;
}

.feedback-instructor-modal-stat strong {
  margin: 6px 0;
  font-size: 34px;
}

.feedback-instructor-modal-grid {
  display: grid;
  grid-template-columns: .9fr 1.4fr;
  gap: 16px;
}

.feedback-instructor-modal-box h3 {
  margin-top: 0;
}

.feedback-instructor-modal-list {
  display: grid;
  gap: 12px;
}

.feedback-instructor-modal-item {
  padding: 14px 0;
  border-bottom: 1px solid rgba(0, 0, 0, .08);
}

.feedback-instructor-modal-item:last-child {
  border-bottom: 0;
}

.feedback-instructor-modal-item-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.feedback-instructor-modal-item-head span {
  white-space: nowrap;
  letter-spacing: 1px;
}

.feedback-instructor-modal-item small {
  display: block;
  margin-top: 4px;
  opacity: .62;
}

.feedback-instructor-modal-item p {
  margin: 10px 0 0;
  line-height: 1.5;
}

.feedback-instructor-modal-no-comment {
  opacity: .55;
  font-style: italic;
}

.feedback-instructor-modal-loading {
  padding: 36px 0;
  text-align: center;
  opacity: .65;
}

@media (max-width: 700px) {
  .feedback-instructor-modal-backdrop {
    padding: 10px;
    align-items: flex-end;
  }

  .feedback-instructor-modal {
    max-height: 92vh;
    border-radius: 22px 22px 14px 14px;
    padding: 20px;
  }

  .feedback-instructor-modal-summary,
  .feedback-instructor-modal-grid {
    grid-template-columns: 1fr;
  }
}


/* ARS_CLIENT_DASHBOARD_V2 */

html[data-tenant-slug="ars-pilates-reformer"]
.ars-client-dashboard {
  width: min(1480px, calc(100vw - 34px));
  max-width: none;
  min-height: calc(100vh - 34px);
  margin: 17px auto;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  background:
    radial-gradient(
      circle at 88% 0%,
      rgba(197, 151, 216, .12),
      transparent 34rem
    ),
    #0d0f15 !important;
  border: 1px solid rgba(217, 182, 229, .13);
  border-radius: 28px;
  overflow: hidden;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-client-dashboard .bottom-nav {
  display: none;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-client-sidebar {
  position: relative;
  min-height: 100%;
  padding: 30px 20px;
  display: flex;
  flex-direction: column;
  background:
    linear-gradient(
      180deg,
      #11131b 0%,
      #0b0d13 100%
    );
  border-right: 1px solid rgba(217, 182, 229, .10);
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-sidebar-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 36px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-sidebar-brand img {
  width: 54px !important;
  height: 54px !important;
  object-fit: contain;
  padding: 5px;
  background: #fff;
  border-radius: 50%;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-sidebar-brand strong {
  display: block;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: .08em;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-sidebar-brand span {
  display: block;
  margin-top: 2px;
  color: #bcb4c2;
  font-size: 8px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-sidebar-nav {
  display: grid;
  gap: 8px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-sidebar-nav button {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  gap: 13px;
  color: #aaa4af;
  background: transparent;
  border: 0;
  border-radius: 12px;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-sidebar-nav button svg {
  width: 19px;
  height: 19px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-sidebar-nav button:hover,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-sidebar-nav button.active {
  color: #f5e9f8;
  background:
    linear-gradient(
      90deg,
      rgba(159, 111, 176, .30),
      rgba(159, 111, 176, .13)
    );
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-sidebar-manifesto {
  margin-top: auto;
  padding: 34px 12px 10px;
  display: grid;
  gap: 8px;
  color: #a98eb2;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-sidebar-manifesto span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
  letter-spacing: .28em;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-sidebar-manifesto small {
  margin-top: 8px;
  color: #776d7c;
  font-size: 8px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-dashboard-main {
  width: 100%;
  max-width: none !important;
  padding: 28px 30px 42px !important;
  background: transparent !important;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-dashboard-topbar {
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-dashboard-topbar h1 {
  margin: 0 0 4px;
  color: #fff8ff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 400;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-dashboard-topbar p {
  margin: 0;
  color: #aaa3b0;
  font-size: 13px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-dashboard-user-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-dashboard-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(270px, .75fr);
  gap: 16px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-client-hero {
  min-height: 290px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  background:
    linear-gradient(
      90deg,
      rgba(245, 231, 244, .97) 0%,
      rgba(239, 217, 240, .88) 35%,
      rgba(26, 19, 31, .06) 61%
    ),
    url("/assets/ars-pilates-hero.png")
      center 48% / cover no-repeat;
  border-radius: 24px;
  box-shadow: 0 24px 50px rgba(0,0,0,.24);
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-client-hero-content {
  width: 54%;
  padding: 34px 38px;
  position: relative;
  z-index: 2;
  color: #342438;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-client-hero-content > span {
  color: #76547f;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .20em;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-client-hero h2 {
  margin: 18px 0 10px;
  color: #342438 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(34px, 4vw, 58px);
  line-height: .92;
  font-weight: 400;
  letter-spacing: .08em;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-client-hero p {
  margin: 0 0 24px;
  color: #67556b !important;
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: .15em;
  text-transform: uppercase;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-hero-btn,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-soft-btn {
  min-height: 42px;
  padding: 0 20px;
  color: #34213a;
  background: #dfb9ea;
  border: 0;
  border-radius: 22px;
  font-weight: 700;
  cursor: pointer;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-next-class-card {
  padding: 24px;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(
      circle at 95% 10%,
      rgba(228, 190, 238, .30),
      transparent 50%
    ),
    linear-gradient(
      145deg,
      #f4eaf5,
      #dfc9e4
    );
  border-radius: 24px;
  color: #342438;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-next-class-label {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #72547b;
  font-size: 12px;
  font-weight: 700;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-next-class-label svg {
  width: 19px;
  height: 19px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-next-class-body {
  height: 100%;
  margin-top: 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-next-class-body small,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-next-class-body span {
  display: block;
  color: #756879;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-next-class-body strong {
  display: block;
  margin: 7px 0;
  color: #2f2034;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 400;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-next-class-body .ars-soft-btn {
  margin-top: 22px;
  background: #c899d4;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-quick-actions {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-quick-actions > button {
  min-height: 82px;
  padding: 15px 16px;
  display: flex;
  align-items: center;
  gap: 13px;
  color: #eee5f0;
  background:
    linear-gradient(
      145deg,
      rgba(39, 37, 48, .98),
      rgba(24, 24, 32, .98)
    );
  border: 1px solid rgba(217,182,229,.11);
  border-radius: 16px;
  text-align: left;
  cursor: pointer;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-quick-actions > button:first-child {
  background:
    linear-gradient(
      145deg,
      #6a4d73,
      #4a3852
    );
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-quick-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  color: #dfb9e8;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-quick-icon svg {
  width: 25px;
  height: 25px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-quick-actions strong,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-quick-actions small {
  display: block;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-quick-actions strong {
  margin-bottom: 4px;
  color: #f6eff7;
  font-size: 13px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-quick-actions small {
  color: #98919d;
  font-size: 10px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-dashboard-lower-grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(310px, .85fr);
  gap: 16px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-dashboard-panel {
  padding: 22px;
  background: #f6f1f4;
  border-radius: 20px;
  color: #342438;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-dashboard-panel-head {
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-dashboard-panel-head span {
  color: #9a829f;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .16em;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-dashboard-panel-head h2 {
  margin: 4px 0 0;
  color: #342438 !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 400;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-dashboard-panel-head button {
  color: #75567d;
  background: transparent;
  border: 0;
  font-weight: 700;
  cursor: pointer;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-upcoming-list {
  display: grid;
  gap: 10px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-upcoming-row {
  padding: 10px;
  display: grid;
  grid-template-columns: 68px minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  background: #fff;
  border: 1px solid #eee4ee;
  border-radius: 14px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-upcoming-thumb {
  width: 68px;
  height: 58px;
  overflow: hidden;
  border-radius: 10px;
  background: #e8dbe9;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-upcoming-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-upcoming-thumb-placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: #8d6d96;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-upcoming-info strong,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-upcoming-info span,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-upcoming-info small {
  display: block;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-upcoming-info strong {
  color: #3c2a41;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-upcoming-info span {
  margin: 2px 0;
  color: #756978;
  font-size: 11px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-upcoming-info small {
  color: #9b8d9d;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-outline-btn {
  min-height: 36px;
  padding: 0 15px;
  color: #76547f;
  background: transparent;
  border: 1px solid #a47bab;
  border-radius: 20px;
  font-weight: 700;
  cursor: pointer;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-calendar-weekdays,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 5px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-calendar-weekdays {
  margin-bottom: 7px;
  color: #9d90a0;
  font-size: 9px;
  text-align: center;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-calendar-day {
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  position: relative;
  color: #655969;
  background: transparent;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-calendar-day.is-today {
  color: #fff;
  background: #845f90;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-calendar-day.has-class:not(.is-today)::after {
  content: "";
  width: 4px;
  height: 4px;
  position: absolute;
  bottom: 2px;
  left: 50%;
  translate: -50% 0;
  background: #a57ab0;
  border-radius: 50%;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-calendar-day--empty {
  pointer-events: none;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-calendar-legend {
  margin-top: 14px;
  color: #867889;
  font-size: 10px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-calendar-legend span {
  display: flex;
  align-items: center;
  gap: 6px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-calendar-legend i {
  width: 7px;
  height: 7px;
  background: #a57ab0;
  border-radius: 50%;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-home-membership-summary {
  margin-top: 16px;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background:
    linear-gradient(
      115deg,
      rgba(96, 69, 106, .88),
      rgba(50, 40, 58, .96)
    );
  border: 1px solid rgba(217,182,229,.13);
  border-radius: 18px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-home-membership-summary span,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-home-membership-summary strong,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-home-membership-summary small {
  display: block;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-home-membership-summary span {
  color: #cdaed6;
  font-size: 8px;
  letter-spacing: .16em;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-home-membership-summary strong {
  margin: 4px 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  font-weight: 400;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-home-membership-summary small {
  color: #bdb1c1;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-dashboard-empty {
  padding: 25px;
  color: #8d7f90;
  text-align: center;
}

@media (max-width: 980px) {

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-client-dashboard {
    width: 100%;
    min-height: 100vh;
    margin: 0;
    display: block;
    border: 0;
    border-radius: 0;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-client-sidebar {
    display: none;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-client-dashboard .bottom-nav {
    display: flex;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-dashboard-main {
    padding: 22px 16px 100px !important;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-dashboard-hero-grid,
  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-dashboard-lower-grid {
    grid-template-columns: 1fr;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-quick-actions {
    grid-template-columns: repeat(2, 1fr);
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-client-hero {
    min-height: 285px;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-client-hero-content {
    width: 66%;
    padding: 28px 22px;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-client-hero h2 {
    font-size: 36px;
  }

}

@media (max-width: 520px) {

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-dashboard-topbar h1 {
    font-size: 29px;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-client-hero {
    min-height: 250px;
    background-position: 58% 50%;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-client-hero-content {
    width: 72%;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-client-hero-content > span {
    font-size: 7px;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-client-hero h2 {
    font-size: 30px;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-client-hero p {
    font-size: 8px;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-upcoming-row {
    grid-template-columns: 58px minmax(0,1fr);
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-upcoming-row .ars-outline-btn {
    grid-column: 1 / -1;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-upcoming-thumb {
    width: 58px;
    height: 54px;
  }

}

/* ARS_CLIENT_DASHBOARD_V2_END */


/* ARS_CLIENT_POLISH_V3 */

html[data-tenant-slug="ars-pilates-reformer"]
.ars-sidebar-nav button {
  color: #b9aebd;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-sidebar-nav button svg,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-quick-icon svg,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-next-class-label svg {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-sidebar-nav button.active {
  color: #f3e4f6;
  background:
    linear-gradient(
      90deg,
      rgba(137, 91, 151, .38),
      rgba(137, 91, 151, .14)
    );
  box-shadow:
    inset 3px 0 0 #c79bd3;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-quick-icon {
  color: #d7aee2;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-next-class-label {
  color: #704a79;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-calendar-weekdays {
  color: #7d6d81;
  font-size: 10px;
  font-weight: 700;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-calendar-day {
  color: #584a5d;
  font-size: 12px;
  font-weight: 500;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-calendar-day.is-today {
  color: #fff;
  font-weight: 700;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-calendar-grid {
  gap: 7px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-dashboard-empty {
  min-height: 210px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-dashboard-empty::before {
  content: "◌";
  display: block;
  color: #aa7fb4;
  font-size: 30px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-dashboard-empty::after {
  content: "Consulta los próximos horarios disponibles.";
  display: block;
  color: #aa9dac;
  font-size: 11px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-sidebar-manifesto span {
  color: #b39abb;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-sidebar-manifesto small {
  color: #8c7f91;
}

/* ARS_CLIENT_POLISH_V3_END */


/* ARS_ADMIN_DASHBOARD_V2 */

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-dashboard-v2 {
  display: grid;
  gap: 18px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-welcome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-welcome > div:first-child > span,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-section-label,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-panel-head > div > span,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-kpis small {
  color: #caa8d4;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .19em;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-welcome h1 {
  margin: 7px 0 5px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 400;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-welcome p {
  margin: 0;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-welcome-mark img {
  width: 58px !important;
  height: 58px !important;
  padding: 5px;
  object-fit: contain;
  background: #fff;
  border-radius: 50%;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-hero-grid {
  display: grid;
  grid-template-columns:
    minmax(0, 1.65fr)
    minmax(260px, .7fr);
  gap: 16px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-dashboard-hero {
  min-height: 300px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  background:
    linear-gradient(
      90deg,
      rgba(13, 14, 19, .92) 0%,
      rgba(13, 14, 19, .56) 44%,
      rgba(13, 14, 19, .08) 74%
    ),
    url("/assets/ars-pilates-hero.png")
      center 50% / cover no-repeat;
  border: 1px solid rgba(217,182,229,.15);
  border-radius: 25px;
  box-shadow: 0 24px 55px rgba(0,0,0,.26);
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-dashboard-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      transparent 45%,
      rgba(10, 11, 15, .52)
    );
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-dashboard-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 520px;
  padding: 34px 38px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-dashboard-hero-copy > span {
  color: #ddb8e7;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .22em;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-dashboard-hero-copy h2 {
  margin: 12px 0;
  color: #fff9ff !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(31px, 4vw, 50px);
  line-height: .98;
  font-weight: 400;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-dashboard-hero-copy p {
  max-width: 320px;
  margin: 0;
  color: #d5cdd8 !important;
  line-height: 1.55;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-today-card {
  padding: 26px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #392940;
  background:
    radial-gradient(
      circle at 90% 0%,
      rgba(255,255,255,.65),
      transparent 45%
    ),
    linear-gradient(
      145deg,
      #f3e7f4,
      #d9bddf
    );
  border-radius: 25px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-today-number {
  display: block;
  margin: 17px 0 0;
  color: #332138;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 58px;
  line-height: .9;
  font-weight: 400;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-today-card h3 {
  margin: 8px 0 0;
  color: #4e3954 !important;
  font-size: 14px;
  font-weight: 600;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-today-divider {
  height: 1px;
  margin: 20px 0;
  background: rgba(91,61,98,.16);
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-today-stat {
  padding: 7px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-today-stat span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #735b79 !important;
  font-size: 11px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-today-stat svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-today-stat strong {
  color: #3b2840;
  font-size: 17px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 12px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-kpis > article {
  min-height: 112px;
  padding: 18px;
  display: flex;
  align-items: center;
  gap: 15px;
  background:
    linear-gradient(
      145deg,
      rgba(38,37,48,.96),
      rgba(23,23,31,.98)
    );
  border: 1px solid rgba(217,182,229,.13);
  border-radius: 18px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-kpi-icon {
  width: 43px;
  height: 43px;
  flex: 0 0 43px;
  display: grid;
  place-items: center;
  color: #d8b0e2 !important;
  background: rgba(217,182,229,.09);
  border-radius: 13px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-kpi-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-kpis strong {
  display: block;
  margin: 4px 0 2px;
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 400;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-kpis article div > span {
  color: #9f97a4 !important;
  font-size: 10px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-content-grid {
  display: grid;
  grid-template-columns:
    minmax(0, 1.55fr)
    minmax(300px, .75fr);
  gap: 16px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-content-grid--lower {
  grid-template-columns: repeat(2, minmax(0,1fr));
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-panel {
  padding: 22px;
  background:
    linear-gradient(
      145deg,
      rgba(35,34,45,.98),
      rgba(20,21,28,.98)
    );
  border: 1px solid rgba(217,182,229,.13);
  border-radius: 21px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-panel-head {
  margin-bottom: 18px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 15px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-panel-head h2 {
  margin: 4px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 400;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-panel-head > small {
  color: #a39ba7 !important;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-panel-value {
  color: #ddb8e7;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  font-weight: 400;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-today-classes {
  display: grid;
  gap: 10px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-class-card {
  padding: 13px;
  display: grid;
  grid-template-columns: 75px minmax(0,1fr);
  gap: 14px;
  align-items: center;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(217,182,229,.10);
  border-radius: 15px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-class-time {
  padding-right: 13px;
  border-right: 1px solid rgba(217,182,229,.11);
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-class-time strong,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-class-time span {
  display: block;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-class-time strong {
  color: #f5e9f7;
  font-size: 15px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-class-time span {
  margin-top: 3px;
  color: #928a97 !important;
  font-size: 9px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-class-heading {
  display: flex;
  align-items: center;
  gap: 9px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-class-heading strong,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-class-heading small {
  display: block;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-class-heading small {
  margin-top: 2px;
  color: #9d95a1 !important;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-class-progress,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-discipline-progress {
  height: 4px;
  margin-top: 10px;
  overflow: hidden;
  background: rgba(255,255,255,.08);
  border-radius: 999px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-class-progress span,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-discipline-progress span {
  height: 100%;
  display: block;
  background:
    linear-gradient(
      90deg,
      #8f6c9d,
      #d9b6e5
    );
  border-radius: inherit;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-class-meta {
  margin-top: 6px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-class-meta span {
  color: #918995 !important;
  font-size: 9px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-alerts-list {
  display: grid;
  gap: 9px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-alert-row {
  padding: 12px;
  display: flex;
  gap: 11px;
  align-items: flex-start;
  background: rgba(255,255,255,.035);
  border-radius: 13px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-alert-symbol {
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  display: grid;
  place-items: center;
  color: #d6addf !important;
  background: rgba(217,182,229,.09);
  border-radius: 10px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-alert-row strong,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-alert-row small {
  display: block;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-alert-row small {
  margin-top: 3px;
  color: #9d95a1 !important;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-week-chart {
  height: 210px;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
  align-items: end;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-week-item {
  height: 100%;
  display: grid;
  grid-template-rows: 1fr auto auto;
  gap: 6px;
  text-align: center;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-week-track {
  height: 100%;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: rgba(255,255,255,.045);
  border-radius: 9px 9px 4px 4px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-week-track span {
  width: 100%;
  min-height: 4px;
  display: block;
  background:
    linear-gradient(
      180deg,
      #d7afe1,
      #785985
    );
  border-radius: 9px 9px 3px 3px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-week-item strong {
  color: #ede3f0;
  font-size: 10px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-week-item small {
  color: #948b98 !important;
  font-size: 9px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-discipline-list {
  display: grid;
  gap: 14px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-discipline-row {
  display: grid;
  grid-template-columns:
    minmax(120px,1fr)
    minmax(90px,1fr)
    42px;
  gap: 12px;
  align-items: center;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-discipline-name {
  display: flex;
  align-items: center;
  gap: 9px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-discipline-name strong,
html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-discipline-name small {
  display: block;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-discipline-name small {
  margin-top: 2px;
  color: #8D7976 !important;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-discipline-row b {
  color: #E8C7C7;
  text-align: right;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-empty {
  min-height: 170px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  color: #8D7976;
  text-align: center;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-empty--compact {
  min-height: 110px;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-empty > span {
  color: #B98282 !important;
}

html[data-tenant-slug="ars-pilates-reformer"]
.ars-admin-empty svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
}

@media (max-width: 1100px) {

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-admin-kpis {
    grid-template-columns: repeat(2, 1fr);
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-admin-content-grid {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 780px) {

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-admin-hero-grid,
  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-admin-content-grid--lower {
    grid-template-columns: 1fr;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-admin-dashboard-hero {
    min-height: 245px;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-admin-dashboard-hero-copy {
    padding: 25px;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-admin-dashboard-hero-copy h2 {
    font-size: 32px;
  }

}

@media (max-width: 560px) {

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-admin-kpis {
    grid-template-columns: 1fr;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-admin-welcome-mark {
    display: none;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-admin-class-card {
    grid-template-columns: 62px minmax(0,1fr);
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-admin-discipline-row {
    grid-template-columns: minmax(0,1fr) 42px;
  }

  html[data-tenant-slug="ars-pilates-reformer"]
  .ars-admin-discipline-progress {
    grid-column: 1 / -1;
    grid-row: 2;
  }

}

/* ARS_ADMIN_DASHBOARD_V2_END */

/* LUMA_PREMIUM_THEME_V1 */

/* ARS_PREMIUM_THEME_V1 */
html[data-tenant-slug="luma-pilates"] {
  --ars-bg: #0D1014;
  --ars-surface: #171922;
  --ars-surface-soft: #20212B;
  --ars-plum: #7C6388;
  --ars-lavender: #D9B6E5;
  --ars-lavender-soft: #F0E3F4;
  --ars-cream: #FBF7F2;
  --ars-text: #F8F4FA;
  --ars-muted: #BEB7C4;
  --ars-border: rgba(217, 182, 229, .18);
}

/* Fondo general de la experiencia ARS */
html[data-tenant-slug="luma-pilates"] body,
html[data-tenant-slug="luma-pilates"] #app,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-shell,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-layout {
  background: var(--ars-bg) !important;
  color: var(--ars-text);
}

/* Sidebar premium oscuro */
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-sidebar {
  background:
    radial-gradient(circle at 15% 5%, rgba(124, 99, 136, .24), transparent 34%),
    linear-gradient(180deg, #11131A 0%, #090B0F 100%) !important;
  border-right: 1px solid var(--ars-border) !important;
  box-shadow: 18px 0 50px rgba(0, 0, 0, .22);
}

/* Área principal */
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-main,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-content,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-page,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-page-content {
  background:
    radial-gradient(circle at 86% 0%, rgba(124, 99, 136, .13), transparent 28%),
    linear-gradient(145deg, #12141A 0%, #0D1014 55%, #15121A 100%) !important;
  color: var(--ars-text);
}

/* Encabezados editoriales */
html[data-tenant-slug="luma-pilates"] .admin-brand-ui h1,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-page h1 {
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 500 !important;
  letter-spacing: -.02em;
  color: #FFF9FF !important;
}

html[data-tenant-slug="luma-pilates"] .admin-brand-ui h2,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui h3,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui h4 {
  color: #F8F1FA !important;
}

html[data-tenant-slug="luma-pilates"] .admin-brand-ui .eyebrow {
  color: var(--ars-lavender) !important;
  letter-spacing: .18em !important;
}

html[data-tenant-slug="luma-pilates"] .admin-brand-ui p,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui small,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .subtitle {
  color: var(--ars-muted) !important;
}

/* Tarjetas */
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-panel,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-metric-card,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .feedback-admin-shell,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .feedback-admin-metric {
  background:
    linear-gradient(145deg, rgba(34, 34, 45, .96), rgba(21, 22, 29, .98)) !important;
  border: 1px solid var(--ars-border) !important;
  box-shadow:
    0 18px 50px rgba(0, 0, 0, .22),
    inset 0 1px 0 rgba(255,255,255,.035) !important;
  border-radius: 22px !important;
}

/* Contenido interno de tarjetas */
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-panel strong,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-metric-card strong,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .feedback-admin-metric strong {
  color: #FFF9FF !important;
}

html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-panel span,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-metric-card span {
  color: var(--ars-muted) !important;
}

/* Elementos / filas internas */
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .feedback-recent-item,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .feedback-instructor-row,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .discipline-admin-row,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-alert {
  background: rgba(255,255,255,.035) !important;
  border-color: var(--ars-border) !important;
  color: var(--ars-text) !important;
}

/* Botones principales */
html[data-tenant-slug="luma-pilates"] .primary-btn,
html[data-tenant-slug="luma-pilates"] .reserve-btn {
  background:
    linear-gradient(135deg, #CFA5DE 0%, #A77AB8 100%) !important;
  color: #17131A !important;
  border: 0 !important;
  box-shadow: 0 10px 30px rgba(167, 122, 184, .28) !important;
  font-weight: 700;
}

html[data-tenant-slug="luma-pilates"] .primary-btn:hover,
html[data-tenant-slug="luma-pilates"] .reserve-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
}

/* Botones secundarios */
html[data-tenant-slug="luma-pilates"] .secondary-btn {
  background: rgba(255,255,255,.045) !important;
  color: var(--ars-text) !important;
  border: 1px solid rgba(217,182,229,.24) !important;
}

/* Navegación lateral */
html[data-tenant-slug="luma-pilates"] .admin-sidebar .admin-nav button,
html[data-tenant-slug="luma-pilates"] .admin-sidebar .admin-nav a {
  color: #C8C2CC !important;
  border-radius: 14px !important;
}

html[data-tenant-slug="luma-pilates"] .admin-sidebar .admin-nav button:hover,
html[data-tenant-slug="luma-pilates"] .admin-sidebar .admin-nav a:hover {
  background: rgba(217,182,229,.09) !important;
  color: #FFFFFF !important;
}

/* Formularios */
html[data-tenant-slug="luma-pilates"] input,
html[data-tenant-slug="luma-pilates"] select,
html[data-tenant-slug="luma-pilates"] textarea {
  background: #171922 !important;
  color: #F8F4FA !important;
  border-color: rgba(217,182,229,.20) !important;
}

html[data-tenant-slug="luma-pilates"] input:focus,
html[data-tenant-slug="luma-pilates"] select:focus,
html[data-tenant-slug="luma-pilates"] textarea:focus {
  border-color: #B68BC5 !important;
  box-shadow: 0 0 0 3px rgba(182,139,197,.15) !important;
}

/* Barras / progreso */
html[data-tenant-slug="luma-pilates"] .progress span,
html[data-tenant-slug="luma-pilates"] .membership-progress span,
html[data-tenant-slug="luma-pilates"] .staff-progress span,
html[data-tenant-slug="luma-pilates"] .admin-bar-track span,
html[data-tenant-slug="luma-pilates"] .discipline-progress span {
  background: linear-gradient(90deg, #8E6B9C, #D9B6E5) !important;
}

/* Scrollbar discreto */
html[data-tenant-slug="luma-pilates"] * {
  scrollbar-color: #6E5579 #11131A;
}


/* ARS_CLIENT_PREMIUM_V1 */

html[data-tenant-slug="luma-pilates"] .client-brand-ui.mobile-shell {
  background:
    radial-gradient(circle at 85% -5%, rgba(188, 140, 206, .18), transparent 30%),
    linear-gradient(180deg, #12131A 0%, #0B0D12 100%) !important;
  color: #F8F3FA;
}

/* Pantalla */
html[data-tenant-slug="luma-pilates"] .client-brand-ui .screen {
  background: transparent !important;
}

/* Header */
html[data-tenant-slug="luma-pilates"] .client-brand-ui .header {
  margin-bottom: 28px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(217,182,229,.12);
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .header-brand {
  gap: 13px;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .header-brand img {
  width: 58px !important;
  height: 58px !important;
  object-fit: contain;
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  padding: 5px;
  box-shadow:
    0 12px 28px rgba(0,0,0,.22),
    0 0 0 1px rgba(217,182,229,.14);
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .header-brand strong {
  display: block;
  color: #FFF8FF !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-weight: 400;
  letter-spacing: -.01em;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .header-brand span {
  color: #BEB5C3 !important;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Avatar / notificaciones */
html[data-tenant-slug="luma-pilates"] .client-brand-ui .icon-button,
html[data-tenant-slug="luma-pilates"] .client-brand-ui .avatar {
  color: #E7D6ED !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(217,182,229,.14) !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .notification-count {
  color: #17131A !important;
  background: #D7AFE4 !important;
}

/* Saludo */
html[data-tenant-slug="luma-pilates"] .client-brand-ui main > h1 {
  margin-top: 4px;
  margin-bottom: 7px;
  color: #FFF9FF !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(30px, 8vw, 42px);
  line-height: 1.02;
  font-weight: 400 !important;
  letter-spacing: -.035em;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .subtitle {
  margin-bottom: 28px;
  color: #AFA7B4 !important;
  font-size: 13px;
}

/* Títulos de sección */
html[data-tenant-slug="luma-pilates"] .client-brand-ui .section-title-row {
  margin-top: 34px;
  margin-bottom: 15px;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .section-title-row h2 {
  color: #F6EDF8 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 22px;
  font-weight: 400;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .section-title-row button {
  color: #D8B4E3 !important;
  background: rgba(216,180,227,.08) !important;
  border: 1px solid rgba(216,180,227,.14) !important;
}

/* Tarjetas base */
html[data-tenant-slug="luma-pilates"] .client-brand-ui .card {
  color: #F9F3FA;
  background:
    linear-gradient(145deg, rgba(32,32,43,.98), rgba(19,20,27,.98)) !important;
  border: 1px solid rgba(217,182,229,.13) !important;
  box-shadow:
    0 18px 46px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.025) !important;
  border-radius: 24px !important;
}

/* Membresía */
html[data-tenant-slug="luma-pilates"] .client-brand-ui .membership-card {
  color: #FFF8FF !important;
  background:
    radial-gradient(circle at 88% 16%, rgba(221,185,233,.22), transparent 31%),
    linear-gradient(140deg, #5E4768 0%, #3C3046 48%, #211C28 100%) !important;
  border: 1px solid rgba(230,202,238,.14) !important;
  box-shadow:
    0 22px 48px rgba(0,0,0,.30),
    0 12px 26px rgba(94,71,104,.18) !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .membership-card::after {
  border-color: rgba(237,209,244,.09) !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .membership-card .eyebrow {
  color: #E3C2EC !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .membership-card h3 {
  color: #FFFFFF !important;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .membership-card p {
  color: rgba(255,255,255,.70) !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .days-pill {
  color: #2A202F !important;
  background: rgba(245,226,249,.90) !important;
  border: 0 !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .membership-progress {
  background: rgba(255,255,255,.13) !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .membership-progress span {
  background: linear-gradient(90deg, #D39FDF, #F1D7F4) !important;
}

/* Clases */
html[data-tenant-slug="luma-pilates"] .client-brand-ui .class-card,
html[data-tenant-slug="luma-pilates"] .client-brand-ui .class-card.pilates,
html[data-tenant-slug="luma-pilates"] .client-brand-ui .class-card.yoga,
html[data-tenant-slug="luma-pilates"] .client-brand-ui .class-card.barre,
html[data-tenant-slug="luma-pilates"] .client-brand-ui .class-card.barré {
  background:
    linear-gradient(145deg, #20212A 0%, #16171E 100%) !important;
  border: 1px solid rgba(217,182,229,.13) !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .class-card::before,
html[data-tenant-slug="luma-pilates"] .client-brand-ui .class-card.pilates::before,
html[data-tenant-slug="luma-pilates"] .client-brand-ui .class-card.yoga::before,
html[data-tenant-slug="luma-pilates"] .client-brand-ui .class-card.barre::before,
html[data-tenant-slug="luma-pilates"] .client-brand-ui .class-card.barré::before {
  background: linear-gradient(180deg, #E0BDE8, #8D6999) !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .class-card::after {
  border-color: rgba(216,180,227,.055) !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .class-name {
  color: #E4C1EB !important;
  letter-spacing: .10em;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .class-meta {
  color: #A9A2AE !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .class-time {
  color: #FFF7FF !important;
  font-family: Georgia, "Times New Roman", serif !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .availability {
  color: #CBA5D7 !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .progress {
  background: #292A32 !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .progress span {
  background: linear-gradient(90deg, #896493, #DDB8E7) !important;
}

/* Botones */
html[data-tenant-slug="luma-pilates"] .client-brand-ui .reserve-btn,
html[data-tenant-slug="luma-pilates"] .client-brand-ui .primary-btn {
  color: #211823 !important;
  background:
    linear-gradient(135deg, #E1BEEA 0%, #B98AC8 100%) !important;
  border: 0 !important;
  box-shadow: 0 10px 25px rgba(185,138,200,.22) !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .reserve-btn:not(:disabled):hover,
html[data-tenant-slug="luma-pilates"] .client-brand-ui .primary-btn:not(:disabled):hover {
  background:
    linear-gradient(135deg, #E8CBF0 0%, #C799D4 100%) !important;
}

/* Calendario */
html[data-tenant-slug="luma-pilates"] .client-brand-ui .week-label {
  color: #F5EDF7 !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .week-nav button {
  color: #D9B7E2 !important;
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(217,182,229,.13) !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .day-chip {
  color: #AAA3AF !important;
  background: #191A21 !important;
  border: 1px solid rgba(217,182,229,.10) !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .day-chip.active {
  color: #211923 !important;
  background: #D8B3E2 !important;
  border-color: #D8B3E2 !important;
  box-shadow: 0 9px 20px rgba(216,179,226,.16) !important;
}

/* Filtros */
html[data-tenant-slug="luma-pilates"] .client-brand-ui .filter-chip {
  color: #C7B5CD !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(217,182,229,.11) !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .filter-chip.active {
  color: #211923 !important;
  background: #D8B3E2 !important;
  border-color: #D8B3E2 !important;
}

/* Tabs de reservas */
html[data-tenant-slug="luma-pilates"] .client-brand-ui .tabs {
  background: #17181F !important;
  border: 1px solid rgba(217,182,229,.11) !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .tab {
  color: #9F98A5 !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .tab.active {
  color: #211923 !important;
  background: #D6AFE1 !important;
}

/* Reservas */
html[data-tenant-slug="luma-pilates"] .client-brand-ui .booking-content h3 {
  color: #F8F0FA !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .booking-content p {
  color: #A9A2AE !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .badge.confirmed {
  color: #E1C1E9 !important;
  background: rgba(181,132,196,.15) !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .badge.waiting {
  color: #E9D1B4 !important;
  background: rgba(182,145,94,.15) !important;
}

/* Secundarios */
html[data-tenant-slug="luma-pilates"] .client-brand-ui .secondary-btn {
  color: #D9C2DF !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(217,182,229,.13) !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .secondary-btn.danger-btn {
  color: #E7AAA8 !important;
  border-color: rgba(231,170,168,.18) !important;
}

/* Estados vacíos */
html[data-tenant-slug="luma-pilates"] .client-brand-ui .empty-state {
  color: #AAA3AF !important;
  background: rgba(255,255,255,.025) !important;
  border: 1px dashed rgba(217,182,229,.16) !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .empty-icon {
  color: #C79ED3 !important;
}

/* Navegación inferior tipo app boutique */
html[data-tenant-slug="luma-pilates"] .client-brand-ui .bottom-nav {
  background: rgba(12,13,18,.94) !important;
  border-top: 1px solid rgba(217,182,229,.12) !important;
  box-shadow: 0 -14px 34px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .nav-item {
  color: #7F7984 !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .nav-item.active {
  color: #E0BDE8 !important;
}

html[data-tenant-slug="luma-pilates"] .client-brand-ui .nav-item.active .nav-icon {
  color: #251C28 !important;
  background:
    linear-gradient(135deg, #E0BDE8, #B886C6) !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 18px rgba(184,134,198,.20);
}

/* Desktop: marco tipo app */
@media (min-width: 700px) {
  html[data-tenant-slug="luma-pilates"] body:has(.client-brand-ui) {
    background:
      radial-gradient(circle at 15% 15%, rgba(123,91,136,.28), transparent 30rem),
      radial-gradient(circle at 85% 85%, rgba(183,137,199,.16), transparent 28rem),
      #090A0E !important;
  }

  html[data-tenant-slug="luma-pilates"] .client-brand-ui.mobile-shell {
    border: 1px solid rgba(217,182,229,.14) !important;
    box-shadow:
      0 40px 100px rgba(0,0,0,.48),
      0 0 0 1px rgba(255,255,255,.025) !important;
  }
}

/* ARS_CLIENT_PREMIUM_V1_END */

/* ARS_ADMIN_HOME_HERO_V1 */

.ars-admin-home-hero {
  display: none;
}

html[data-tenant-slug="luma-pilates"] .ars-admin-home-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 280px;
  margin-bottom: 28px;
  overflow: hidden;
  border: 1px solid rgba(217, 182, 229, .16);
  border-radius: 26px;
  background:
    linear-gradient(
      90deg,
      rgba(12, 13, 18, .88) 0%,
      rgba(12, 13, 18, .46) 48%,
      rgba(12, 13, 18, .12) 100%
    ),
    url("/assets/ars-pilates-hero.png") center 52% / cover no-repeat;
  box-shadow:
    0 24px 60px rgba(0, 0, 0, .30),
    inset 0 1px 0 rgba(255, 255, 255, .04);
}

html[data-tenant-slug="luma-pilates"] .ars-admin-home-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      transparent 35%,
      rgba(13, 16, 20, .62) 100%
    );
  pointer-events: none;
}

html[data-tenant-slug="luma-pilates"] .ars-admin-home-hero-overlay {
  position: relative;
  z-index: 2;
  max-width: 570px;
  padding: 34px 38px;
}

html[data-tenant-slug="luma-pilates"] .ars-admin-home-hero-overlay span {
  display: block;
  margin-bottom: 8px;
  color: #DDB8E7;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .22em;
}

html[data-tenant-slug="luma-pilates"] .ars-admin-home-hero-overlay h2 {
  margin: 0;
  color: #FFF9FF;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.04;
  font-weight: 400;
  letter-spacing: -.025em;
}

@media (max-width: 700px) {
  html[data-tenant-slug="luma-pilates"] .ars-admin-home-hero {
    min-height: 220px;
    border-radius: 22px;
    background-position: center center;
  }

  html[data-tenant-slug="luma-pilates"] .ars-admin-home-hero-overlay {
    padding: 24px;
  }

  html[data-tenant-slug="luma-pilates"] .ars-admin-home-hero-overlay h2 {
    font-size: 28px;
  }
}

/* ARS_ADMIN_HOME_HERO_V1_END */

/* ARS_CLIENT_DASHBOARD_V2 */

html[data-tenant-slug="luma-pilates"]
.ars-client-dashboard {
  width: min(1480px, calc(100vw - 34px));
  max-width: none;
  min-height: calc(100vh - 34px);
  margin: 17px auto;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  background:
    radial-gradient(
      circle at 88% 0%,
      rgba(197, 151, 216, .12),
      transparent 34rem
    ),
    #0d0f15 !important;
  border: 1px solid rgba(217, 182, 229, .13);
  border-radius: 28px;
  overflow: hidden;
}

html[data-tenant-slug="luma-pilates"]
.ars-client-dashboard .bottom-nav {
  display: none;
}

html[data-tenant-slug="luma-pilates"]
.ars-client-sidebar {
  position: relative;
  min-height: 100%;
  padding: 30px 20px;
  display: flex;
  flex-direction: column;
  background:
    linear-gradient(
      180deg,
      #11131b 0%,
      #0b0d13 100%
    );
  border-right: 1px solid rgba(217, 182, 229, .10);
}

html[data-tenant-slug="luma-pilates"]
.ars-sidebar-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 36px;
}

html[data-tenant-slug="luma-pilates"]
.ars-sidebar-brand img {
  width: 54px !important;
  height: 54px !important;
  object-fit: contain;
  padding: 5px;
  background: #fff;
  border-radius: 50%;
}

html[data-tenant-slug="luma-pilates"]
.ars-sidebar-brand strong {
  display: block;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: .08em;
}

html[data-tenant-slug="luma-pilates"]
.ars-sidebar-brand span {
  display: block;
  margin-top: 2px;
  color: #bcb4c2;
  font-size: 8px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

html[data-tenant-slug="luma-pilates"]
.ars-sidebar-nav {
  display: grid;
  gap: 8px;
}

html[data-tenant-slug="luma-pilates"]
.ars-sidebar-nav button {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  gap: 13px;
  color: #aaa4af;
  background: transparent;
  border: 0;
  border-radius: 12px;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

html[data-tenant-slug="luma-pilates"]
.ars-sidebar-nav button svg {
  width: 19px;
  height: 19px;
}

html[data-tenant-slug="luma-pilates"]
.ars-sidebar-nav button:hover,
html[data-tenant-slug="luma-pilates"]
.ars-sidebar-nav button.active {
  color: #f5e9f8;
  background:
    linear-gradient(
      90deg,
      rgba(159, 111, 176, .30),
      rgba(159, 111, 176, .13)
    );
}

html[data-tenant-slug="luma-pilates"]
.ars-sidebar-manifesto {
  margin-top: auto;
  padding: 34px 12px 10px;
  display: grid;
  gap: 8px;
  color: #a98eb2;
}

html[data-tenant-slug="luma-pilates"]
.ars-sidebar-manifesto span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
  letter-spacing: .28em;
}

html[data-tenant-slug="luma-pilates"]
.ars-sidebar-manifesto small {
  margin-top: 8px;
  color: #776d7c;
  font-size: 8px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

html[data-tenant-slug="luma-pilates"]
.ars-dashboard-main {
  width: 100%;
  max-width: none !important;
  padding: 28px 30px 42px !important;
  background: transparent !important;
}

html[data-tenant-slug="luma-pilates"]
.ars-dashboard-topbar {
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

html[data-tenant-slug="luma-pilates"]
.ars-dashboard-topbar h1 {
  margin: 0 0 4px;
  color: #fff8ff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 400;
}

html[data-tenant-slug="luma-pilates"]
.ars-dashboard-topbar p {
  margin: 0;
  color: #aaa3b0;
  font-size: 13px;
}

html[data-tenant-slug="luma-pilates"]
.ars-dashboard-user-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

html[data-tenant-slug="luma-pilates"]
.ars-dashboard-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(270px, .75fr);
  gap: 16px;
}

html[data-tenant-slug="luma-pilates"]
.ars-client-hero {
  min-height: 290px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  background:
    linear-gradient(
      90deg,
      rgba(245, 231, 244, .97) 0%,
      rgba(239, 217, 240, .88) 35%,
      rgba(26, 19, 31, .06) 61%
    ),
    url("/assets/ars-pilates-hero.png")
      center 48% / cover no-repeat;
  border-radius: 24px;
  box-shadow: 0 24px 50px rgba(0,0,0,.24);
}

html[data-tenant-slug="luma-pilates"]
.ars-client-hero-content {
  width: 54%;
  padding: 34px 38px;
  position: relative;
  z-index: 2;
  color: #342438;
}

html[data-tenant-slug="luma-pilates"]
.ars-client-hero-content > span {
  color: #76547f;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .20em;
}

html[data-tenant-slug="luma-pilates"]
.ars-client-hero h2 {
  margin: 18px 0 10px;
  color: #342438 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(34px, 4vw, 58px);
  line-height: .92;
  font-weight: 400;
  letter-spacing: .08em;
}

html[data-tenant-slug="luma-pilates"]
.ars-client-hero p {
  margin: 0 0 24px;
  color: #67556b !important;
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: .15em;
  text-transform: uppercase;
}

html[data-tenant-slug="luma-pilates"]
.ars-hero-btn,
html[data-tenant-slug="luma-pilates"]
.ars-soft-btn {
  min-height: 42px;
  padding: 0 20px;
  color: #34213a;
  background: #dfb9ea;
  border: 0;
  border-radius: 22px;
  font-weight: 700;
  cursor: pointer;
}

html[data-tenant-slug="luma-pilates"]
.ars-next-class-card {
  padding: 24px;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(
      circle at 95% 10%,
      rgba(228, 190, 238, .30),
      transparent 50%
    ),
    linear-gradient(
      145deg,
      #f4eaf5,
      #dfc9e4
    );
  border-radius: 24px;
  color: #342438;
}

html[data-tenant-slug="luma-pilates"]
.ars-next-class-label {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #72547b;
  font-size: 12px;
  font-weight: 700;
}

html[data-tenant-slug="luma-pilates"]
.ars-next-class-label svg {
  width: 19px;
  height: 19px;
}

html[data-tenant-slug="luma-pilates"]
.ars-next-class-body {
  height: 100%;
  margin-top: 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

html[data-tenant-slug="luma-pilates"]
.ars-next-class-body small,
html[data-tenant-slug="luma-pilates"]
.ars-next-class-body span {
  display: block;
  color: #756879;
}

html[data-tenant-slug="luma-pilates"]
.ars-next-class-body strong {
  display: block;
  margin: 7px 0;
  color: #2f2034;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 400;
}

html[data-tenant-slug="luma-pilates"]
.ars-next-class-body .ars-soft-btn {
  margin-top: 22px;
  background: #c899d4;
}

html[data-tenant-slug="luma-pilates"]
.ars-quick-actions {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

html[data-tenant-slug="luma-pilates"]
.ars-quick-actions > button {
  min-height: 82px;
  padding: 15px 16px;
  display: flex;
  align-items: center;
  gap: 13px;
  color: #eee5f0;
  background:
    linear-gradient(
      145deg,
      rgba(39, 37, 48, .98),
      rgba(24, 24, 32, .98)
    );
  border: 1px solid rgba(217,182,229,.11);
  border-radius: 16px;
  text-align: left;
  cursor: pointer;
}

html[data-tenant-slug="luma-pilates"]
.ars-quick-actions > button:first-child {
  background:
    linear-gradient(
      145deg,
      #6a4d73,
      #4a3852
    );
}

html[data-tenant-slug="luma-pilates"]
.ars-quick-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  color: #dfb9e8;
}

html[data-tenant-slug="luma-pilates"]
.ars-quick-icon svg {
  width: 25px;
  height: 25px;
}

html[data-tenant-slug="luma-pilates"]
.ars-quick-actions strong,
html[data-tenant-slug="luma-pilates"]
.ars-quick-actions small {
  display: block;
}

html[data-tenant-slug="luma-pilates"]
.ars-quick-actions strong {
  margin-bottom: 4px;
  color: #f6eff7;
  font-size: 13px;
}

html[data-tenant-slug="luma-pilates"]
.ars-quick-actions small {
  color: #98919d;
  font-size: 10px;
}

html[data-tenant-slug="luma-pilates"]
.ars-dashboard-lower-grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(310px, .85fr);
  gap: 16px;
}

html[data-tenant-slug="luma-pilates"]
.ars-dashboard-panel {
  padding: 22px;
  background: #f6f1f4;
  border-radius: 20px;
  color: #342438;
}

html[data-tenant-slug="luma-pilates"]
.ars-dashboard-panel-head {
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

html[data-tenant-slug="luma-pilates"]
.ars-dashboard-panel-head span {
  color: #9a829f;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .16em;
}

html[data-tenant-slug="luma-pilates"]
.ars-dashboard-panel-head h2 {
  margin: 4px 0 0;
  color: #342438 !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 400;
}

html[data-tenant-slug="luma-pilates"]
.ars-dashboard-panel-head button {
  color: #75567d;
  background: transparent;
  border: 0;
  font-weight: 700;
  cursor: pointer;
}

html[data-tenant-slug="luma-pilates"]
.ars-upcoming-list {
  display: grid;
  gap: 10px;
}

html[data-tenant-slug="luma-pilates"]
.ars-upcoming-row {
  padding: 10px;
  display: grid;
  grid-template-columns: 68px minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  background: #fff;
  border: 1px solid #eee4ee;
  border-radius: 14px;
}

html[data-tenant-slug="luma-pilates"]
.ars-upcoming-thumb {
  width: 68px;
  height: 58px;
  overflow: hidden;
  border-radius: 10px;
  background: #e8dbe9;
}

html[data-tenant-slug="luma-pilates"]
.ars-upcoming-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

html[data-tenant-slug="luma-pilates"]
.ars-upcoming-thumb-placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: #8d6d96;
}

html[data-tenant-slug="luma-pilates"]
.ars-upcoming-info strong,
html[data-tenant-slug="luma-pilates"]
.ars-upcoming-info span,
html[data-tenant-slug="luma-pilates"]
.ars-upcoming-info small {
  display: block;
}

html[data-tenant-slug="luma-pilates"]
.ars-upcoming-info strong {
  color: #3c2a41;
}

html[data-tenant-slug="luma-pilates"]
.ars-upcoming-info span {
  margin: 2px 0;
  color: #756978;
  font-size: 11px;
}

html[data-tenant-slug="luma-pilates"]
.ars-upcoming-info small {
  color: #9b8d9d;
}

html[data-tenant-slug="luma-pilates"]
.ars-outline-btn {
  min-height: 36px;
  padding: 0 15px;
  color: #76547f;
  background: transparent;
  border: 1px solid #a47bab;
  border-radius: 20px;
  font-weight: 700;
  cursor: pointer;
}

html[data-tenant-slug="luma-pilates"]
.ars-calendar-weekdays,
html[data-tenant-slug="luma-pilates"]
.ars-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 5px;
}

html[data-tenant-slug="luma-pilates"]
.ars-calendar-weekdays {
  margin-bottom: 7px;
  color: #9d90a0;
  font-size: 9px;
  text-align: center;
}

html[data-tenant-slug="luma-pilates"]
.ars-calendar-day {
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  position: relative;
  color: #655969;
  background: transparent;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
}

html[data-tenant-slug="luma-pilates"]
.ars-calendar-day.is-today {
  color: #fff;
  background: #845f90;
}

html[data-tenant-slug="luma-pilates"]
.ars-calendar-day.has-class:not(.is-today)::after {
  content: "";
  width: 4px;
  height: 4px;
  position: absolute;
  bottom: 2px;
  left: 50%;
  translate: -50% 0;
  background: #a57ab0;
  border-radius: 50%;
}

html[data-tenant-slug="luma-pilates"]
.ars-calendar-day--empty {
  pointer-events: none;
}

html[data-tenant-slug="luma-pilates"]
.ars-calendar-legend {
  margin-top: 14px;
  color: #867889;
  font-size: 10px;
}

html[data-tenant-slug="luma-pilates"]
.ars-calendar-legend span {
  display: flex;
  align-items: center;
  gap: 6px;
}

html[data-tenant-slug="luma-pilates"]
.ars-calendar-legend i {
  width: 7px;
  height: 7px;
  background: #a57ab0;
  border-radius: 50%;
}

html[data-tenant-slug="luma-pilates"]
.ars-home-membership-summary {
  margin-top: 16px;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background:
    linear-gradient(
      115deg,
      rgba(96, 69, 106, .88),
      rgba(50, 40, 58, .96)
    );
  border: 1px solid rgba(217,182,229,.13);
  border-radius: 18px;
}

html[data-tenant-slug="luma-pilates"]
.ars-home-membership-summary span,
html[data-tenant-slug="luma-pilates"]
.ars-home-membership-summary strong,
html[data-tenant-slug="luma-pilates"]
.ars-home-membership-summary small {
  display: block;
}

html[data-tenant-slug="luma-pilates"]
.ars-home-membership-summary span {
  color: #cdaed6;
  font-size: 8px;
  letter-spacing: .16em;
}

html[data-tenant-slug="luma-pilates"]
.ars-home-membership-summary strong {
  margin: 4px 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  font-weight: 400;
}

html[data-tenant-slug="luma-pilates"]
.ars-home-membership-summary small {
  color: #bdb1c1;
}

html[data-tenant-slug="luma-pilates"]
.ars-dashboard-empty {
  padding: 25px;
  color: #8d7f90;
  text-align: center;
}

@media (max-width: 980px) {

  html[data-tenant-slug="luma-pilates"]
  .ars-client-dashboard {
    width: 100%;
    min-height: 100vh;
    margin: 0;
    display: block;
    border: 0;
    border-radius: 0;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-client-sidebar {
    display: none;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-client-dashboard .bottom-nav {
    display: flex;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-dashboard-main {
    padding: 22px 16px 100px !important;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-dashboard-hero-grid,
  html[data-tenant-slug="luma-pilates"]
  .ars-dashboard-lower-grid {
    grid-template-columns: 1fr;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-quick-actions {
    grid-template-columns: repeat(2, 1fr);
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-client-hero {
    min-height: 285px;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-client-hero-content {
    width: 66%;
    padding: 28px 22px;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-client-hero h2 {
    font-size: 36px;
  }

}

@media (max-width: 520px) {

  html[data-tenant-slug="luma-pilates"]
  .ars-dashboard-topbar h1 {
    font-size: 29px;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-client-hero {
    min-height: 250px;
    background-position: 58% 50%;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-client-hero-content {
    width: 72%;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-client-hero-content > span {
    font-size: 7px;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-client-hero h2 {
    font-size: 30px;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-client-hero p {
    font-size: 8px;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-upcoming-row {
    grid-template-columns: 58px minmax(0,1fr);
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-upcoming-row .ars-outline-btn {
    grid-column: 1 / -1;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-upcoming-thumb {
    width: 58px;
    height: 54px;
  }

}

/* ARS_CLIENT_DASHBOARD_V2_END */

/* ARS_CLIENT_POLISH_V3 */

html[data-tenant-slug="luma-pilates"]
.ars-sidebar-nav button {
  color: #b9aebd;
}

html[data-tenant-slug="luma-pilates"]
.ars-sidebar-nav button svg,
html[data-tenant-slug="luma-pilates"]
.ars-quick-icon svg,
html[data-tenant-slug="luma-pilates"]
.ars-next-class-label svg {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html[data-tenant-slug="luma-pilates"]
.ars-sidebar-nav button.active {
  color: #f3e4f6;
  background:
    linear-gradient(
      90deg,
      rgba(137, 91, 151, .38),
      rgba(137, 91, 151, .14)
    );
  box-shadow:
    inset 3px 0 0 #c79bd3;
}

html[data-tenant-slug="luma-pilates"]
.ars-quick-icon {
  color: #d7aee2;
}

html[data-tenant-slug="luma-pilates"]
.ars-next-class-label {
  color: #704a79;
}

html[data-tenant-slug="luma-pilates"]
.ars-calendar-weekdays {
  color: #7d6d81;
  font-size: 10px;
  font-weight: 700;
}

html[data-tenant-slug="luma-pilates"]
.ars-calendar-day {
  color: #584a5d;
  font-size: 12px;
  font-weight: 500;
}

html[data-tenant-slug="luma-pilates"]
.ars-calendar-day.is-today {
  color: #fff;
  font-weight: 700;
}

html[data-tenant-slug="luma-pilates"]
.ars-calendar-grid {
  gap: 7px;
}

html[data-tenant-slug="luma-pilates"]
.ars-dashboard-empty {
  min-height: 210px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
}

html[data-tenant-slug="luma-pilates"]
.ars-dashboard-empty::before {
  content: "◌";
  display: block;
  color: #aa7fb4;
  font-size: 30px;
}

html[data-tenant-slug="luma-pilates"]
.ars-dashboard-empty::after {
  content: "Consulta los próximos horarios disponibles.";
  display: block;
  color: #aa9dac;
  font-size: 11px;
}

html[data-tenant-slug="luma-pilates"]
.ars-sidebar-manifesto span {
  color: #b39abb;
}

html[data-tenant-slug="luma-pilates"]
.ars-sidebar-manifesto small {
  color: #8c7f91;
}

/* ARS_CLIENT_POLISH_V3_END */

/* ARS_ADMIN_DASHBOARD_V2 */

html[data-tenant-slug="luma-pilates"]
.ars-admin-dashboard-v2 {
  display: grid;
  gap: 18px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-welcome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-welcome > div:first-child > span,
html[data-tenant-slug="luma-pilates"]
.ars-admin-section-label,
html[data-tenant-slug="luma-pilates"]
.ars-admin-panel-head > div > span,
html[data-tenant-slug="luma-pilates"]
.ars-admin-kpis small {
  color: #caa8d4;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .19em;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-welcome h1 {
  margin: 7px 0 5px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 400;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-welcome p {
  margin: 0;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-welcome-mark img {
  width: 58px !important;
  height: 58px !important;
  padding: 5px;
  object-fit: contain;
  background: #fff;
  border-radius: 50%;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-hero-grid {
  display: grid;
  grid-template-columns:
    minmax(0, 1.65fr)
    minmax(260px, .7fr);
  gap: 16px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-dashboard-hero {
  min-height: 300px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  background:
    linear-gradient(
      90deg,
      rgba(13, 14, 19, .92) 0%,
      rgba(13, 14, 19, .56) 44%,
      rgba(13, 14, 19, .08) 74%
    ),
    url("/assets/ars-pilates-hero.png")
      center 50% / cover no-repeat;
  border: 1px solid rgba(217,182,229,.15);
  border-radius: 25px;
  box-shadow: 0 24px 55px rgba(0,0,0,.26);
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-dashboard-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      transparent 45%,
      rgba(10, 11, 15, .52)
    );
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-dashboard-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 520px;
  padding: 34px 38px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-dashboard-hero-copy > span {
  color: #ddb8e7;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .22em;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-dashboard-hero-copy h2 {
  margin: 12px 0;
  color: #fff9ff !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(31px, 4vw, 50px);
  line-height: .98;
  font-weight: 400;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-dashboard-hero-copy p {
  max-width: 320px;
  margin: 0;
  color: #d5cdd8 !important;
  line-height: 1.55;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-today-card {
  padding: 26px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #392940;
  background:
    radial-gradient(
      circle at 90% 0%,
      rgba(255,255,255,.65),
      transparent 45%
    ),
    linear-gradient(
      145deg,
      #f3e7f4,
      #d9bddf
    );
  border-radius: 25px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-today-number {
  display: block;
  margin: 17px 0 0;
  color: #332138;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 58px;
  line-height: .9;
  font-weight: 400;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-today-card h3 {
  margin: 8px 0 0;
  color: #4e3954 !important;
  font-size: 14px;
  font-weight: 600;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-today-divider {
  height: 1px;
  margin: 20px 0;
  background: rgba(91,61,98,.16);
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-today-stat {
  padding: 7px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-today-stat span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #735b79 !important;
  font-size: 11px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-today-stat svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-today-stat strong {
  color: #3b2840;
  font-size: 17px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 12px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-kpis > article {
  min-height: 112px;
  padding: 18px;
  display: flex;
  align-items: center;
  gap: 15px;
  background:
    linear-gradient(
      145deg,
      rgba(38,37,48,.96),
      rgba(23,23,31,.98)
    );
  border: 1px solid rgba(217,182,229,.13);
  border-radius: 18px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-kpi-icon {
  width: 43px;
  height: 43px;
  flex: 0 0 43px;
  display: grid;
  place-items: center;
  color: #d8b0e2 !important;
  background: rgba(217,182,229,.09);
  border-radius: 13px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-kpi-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-kpis strong {
  display: block;
  margin: 4px 0 2px;
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 400;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-kpis article div > span {
  color: #9f97a4 !important;
  font-size: 10px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-content-grid {
  display: grid;
  grid-template-columns:
    minmax(0, 1.55fr)
    minmax(300px, .75fr);
  gap: 16px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-content-grid--lower {
  grid-template-columns: repeat(2, minmax(0,1fr));
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-panel {
  padding: 22px;
  background:
    linear-gradient(
      145deg,
      rgba(35,34,45,.98),
      rgba(20,21,28,.98)
    );
  border: 1px solid rgba(217,182,229,.13);
  border-radius: 21px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-panel-head {
  margin-bottom: 18px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 15px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-panel-head h2 {
  margin: 4px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 400;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-panel-head > small {
  color: #a39ba7 !important;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-panel-value {
  color: #ddb8e7;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  font-weight: 400;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-today-classes {
  display: grid;
  gap: 10px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-class-card {
  padding: 13px;
  display: grid;
  grid-template-columns: 75px minmax(0,1fr);
  gap: 14px;
  align-items: center;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(217,182,229,.10);
  border-radius: 15px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-class-time {
  padding-right: 13px;
  border-right: 1px solid rgba(217,182,229,.11);
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-class-time strong,
html[data-tenant-slug="luma-pilates"]
.ars-admin-class-time span {
  display: block;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-class-time strong {
  color: #f5e9f7;
  font-size: 15px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-class-time span {
  margin-top: 3px;
  color: #928a97 !important;
  font-size: 9px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-class-heading {
  display: flex;
  align-items: center;
  gap: 9px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-class-heading strong,
html[data-tenant-slug="luma-pilates"]
.ars-admin-class-heading small {
  display: block;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-class-heading small {
  margin-top: 2px;
  color: #9d95a1 !important;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-class-progress,
html[data-tenant-slug="luma-pilates"]
.ars-admin-discipline-progress {
  height: 4px;
  margin-top: 10px;
  overflow: hidden;
  background: rgba(255,255,255,.08);
  border-radius: 999px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-class-progress span,
html[data-tenant-slug="luma-pilates"]
.ars-admin-discipline-progress span {
  height: 100%;
  display: block;
  background:
    linear-gradient(
      90deg,
      #8f6c9d,
      #d9b6e5
    );
  border-radius: inherit;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-class-meta {
  margin-top: 6px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-class-meta span {
  color: #918995 !important;
  font-size: 9px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-alerts-list {
  display: grid;
  gap: 9px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-alert-row {
  padding: 12px;
  display: flex;
  gap: 11px;
  align-items: flex-start;
  background: rgba(255,255,255,.035);
  border-radius: 13px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-alert-symbol {
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  display: grid;
  place-items: center;
  color: #d6addf !important;
  background: rgba(217,182,229,.09);
  border-radius: 10px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-alert-row strong,
html[data-tenant-slug="luma-pilates"]
.ars-admin-alert-row small {
  display: block;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-alert-row small {
  margin-top: 3px;
  color: #9d95a1 !important;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-week-chart {
  height: 210px;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
  align-items: end;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-week-item {
  height: 100%;
  display: grid;
  grid-template-rows: 1fr auto auto;
  gap: 6px;
  text-align: center;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-week-track {
  height: 100%;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: rgba(255,255,255,.045);
  border-radius: 9px 9px 4px 4px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-week-track span {
  width: 100%;
  min-height: 4px;
  display: block;
  background:
    linear-gradient(
      180deg,
      #d7afe1,
      #785985
    );
  border-radius: 9px 9px 3px 3px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-week-item strong {
  color: #ede3f0;
  font-size: 10px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-week-item small {
  color: #948b98 !important;
  font-size: 9px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-discipline-list {
  display: grid;
  gap: 14px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-discipline-row {
  display: grid;
  grid-template-columns:
    minmax(120px,1fr)
    minmax(90px,1fr)
    42px;
  gap: 12px;
  align-items: center;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-discipline-name {
  display: flex;
  align-items: center;
  gap: 9px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-discipline-name strong,
html[data-tenant-slug="luma-pilates"]
.ars-admin-discipline-name small {
  display: block;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-discipline-name small {
  margin-top: 2px;
  color: #8D7976 !important;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-discipline-row b {
  color: #E8C7C7;
  text-align: right;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-empty {
  min-height: 170px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  color: #8D7976;
  text-align: center;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-empty--compact {
  min-height: 110px;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-empty > span {
  color: #B98282 !important;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-empty svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
}

@media (max-width: 1100px) {

  html[data-tenant-slug="luma-pilates"]
  .ars-admin-kpis {
    grid-template-columns: repeat(2, 1fr);
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-admin-content-grid {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 780px) {

  html[data-tenant-slug="luma-pilates"]
  .ars-admin-hero-grid,
  html[data-tenant-slug="luma-pilates"]
  .ars-admin-content-grid--lower {
    grid-template-columns: 1fr;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-admin-dashboard-hero {
    min-height: 245px;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-admin-dashboard-hero-copy {
    padding: 25px;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-admin-dashboard-hero-copy h2 {
    font-size: 32px;
  }

}

@media (max-width: 560px) {

  html[data-tenant-slug="luma-pilates"]
  .ars-admin-kpis {
    grid-template-columns: 1fr;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-admin-welcome-mark {
    display: none;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-admin-class-card {
    grid-template-columns: 62px minmax(0,1fr);
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-admin-discipline-row {
    grid-template-columns: minmax(0,1fr) 42px;
  }

  html[data-tenant-slug="luma-pilates"]
  .ars-admin-discipline-progress {
    grid-column: 1 / -1;
    grid-row: 2;
  }

}

/* ARS_ADMIN_DASHBOARD_V2_END */

/* LUMA_PREMIUM_THEME_V1_END */

/* LUMA_LIGHT_PALETTE_V2 */

html[data-tenant-slug="luma-pilates"] {
  --ars-bg: #F7F2ED;
  --ars-surface: #FFFDFC;
  --ars-surface-soft: #F1E7E2;
  --ars-plum: #A97878;
  --ars-lavender: #C99696;
  --ars-lavender-soft: #EEDDDD;
  --ars-cream: #FFFDFC;
  --ars-text: #4E3C3B;
  --ars-muted: #8D7976;
  --ars-border: rgba(169, 120, 120, .18);

  --primary: #B98282;
  --secondary: #6E5552;
}

/* Base clara */
html[data-tenant-slug="luma-pilates"] body,
html[data-tenant-slug="luma-pilates"] #app,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-shell,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-layout,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-main,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-content,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-page,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-page-content {
  background:
    radial-gradient(
      circle at 90% 0%,
      rgba(201, 150, 150, .10),
      transparent 30rem
    ),
    #F7F2ED !important;
  color: #4E3C3B !important;
}

/* Sidebar */
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-sidebar {
  background:
    linear-gradient(
      180deg,
      #FFFDFC 0%,
      #F3E9E4 100%
    ) !important;
  border-right: 1px solid rgba(169, 120, 120, .16) !important;
  box-shadow: 14px 0 42px rgba(91, 65, 62, .06) !important;
}

/* Tipografía */
html[data-tenant-slug="luma-pilates"] .admin-brand-ui h1,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui h2,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui h3,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui h4,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui strong {
  color: #4E3C3B !important;
}

html[data-tenant-slug="luma-pilates"] .admin-brand-ui p,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui small,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .subtitle {
  color: #8D7976 !important;
}

html[data-tenant-slug="luma-pilates"] .admin-brand-ui .eyebrow {
  color: #B98282 !important;
}

/* Tarjetas administrativas */
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-panel,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-metric-card,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .feedback-admin-shell,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .feedback-admin-metric,
html[data-tenant-slug="luma-pilates"] .ars-admin-panel,
html[data-tenant-slug="luma-pilates"] .ars-admin-today-card,
html[data-tenant-slug="luma-pilates"] .ars-admin-kpi {
  background:
    linear-gradient(
      145deg,
      rgba(255, 253, 252, .98),
      rgba(247, 239, 235, .98)
    ) !important;
  border-color: rgba(169, 120, 120, .16) !important;
  box-shadow:
    0 16px 38px rgba(91, 65, 62, .07),
    inset 0 1px 0 rgba(255, 255, 255, .88) !important;
}

/* Dashboard cliente */
html[data-tenant-slug="luma-pilates"] .ars-client-dashboard {
  background:
    radial-gradient(
      circle at 88% 0%,
      rgba(201, 150, 150, .13),
      transparent 34rem
    ),
    #F7F2ED !important;
  border-color: rgba(169, 120, 120, .16) !important;
  box-shadow: 0 24px 70px rgba(91, 65, 62, .10) !important;
}

/* Sidebar cliente */
html[data-tenant-slug="luma-pilates"] .ars-client-sidebar {
  background:
    linear-gradient(
      180deg,
      #FFFDFC 0%,
      #F1E7E2 100%
    ) !important;
  border-color: rgba(169, 120, 120, .14) !important;
}

/* Paneles y tarjetas cliente */
html[data-tenant-slug="luma-pilates"] .ars-dashboard-panel,
html[data-tenant-slug="luma-pilates"] .ars-next-class-card,
html[data-tenant-slug="luma-pilates"] .ars-home-membership-summary,
html[data-tenant-slug="luma-pilates"] .ars-upcoming-row {
  background: rgba(255, 253, 252, .94) !important;
  border-color: rgba(169, 120, 120, .15) !important;
  box-shadow: 0 14px 34px rgba(91, 65, 62, .06) !important;
}

/* Texto cliente */
html[data-tenant-slug="luma-pilates"] .ars-client-dashboard h1,
html[data-tenant-slug="luma-pilates"] .ars-client-dashboard h2,
html[data-tenant-slug="luma-pilates"] .ars-client-dashboard h3,
html[data-tenant-slug="luma-pilates"] .ars-client-dashboard strong {
  color: #4E3C3B !important;
}

html[data-tenant-slug="luma-pilates"] .ars-client-dashboard p,
html[data-tenant-slug="luma-pilates"] .ars-client-dashboard small {
  color: #8D7976 !important;
}

/* Acentos */
html[data-tenant-slug="luma-pilates"] .ars-quick-icon,
html[data-tenant-slug="luma-pilates"] .ars-calendar-day--active,
html[data-tenant-slug="luma-pilates"] .ars-admin-kpi-icon {
  color: #A97878 !important;
}

/* Botones principales */
html[data-tenant-slug="luma-pilates"] .ars-hero-btn,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .primary-btn,
html[data-tenant-slug="luma-pilates"] .client-brand-ui .primary-btn,
html[data-tenant-slug="luma-pilates"] .client-brand-ui .reserve-btn {
  background:
    linear-gradient(
      135deg,
      #C99696,
      #A97878
    ) !important;
  border-color: #A97878 !important;
  color: #FFFDFC !important;
  box-shadow: 0 10px 26px rgba(169, 120, 120, .20) !important;
}

/* Botones secundarios */
html[data-tenant-slug="luma-pilates"] .ars-outline-btn,
html[data-tenant-slug="luma-pilates"] .ars-soft-btn {
  background: rgba(255, 253, 252, .72) !important;
  border-color: rgba(169, 120, 120, .25) !important;
  color: #8F6464 !important;
}

/* Navegación */
html[data-tenant-slug="luma-pilates"] .ars-sidebar-nav a,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-nav a {
  color: #7D6966 !important;
}

html[data-tenant-slug="luma-pilates"] .ars-sidebar-nav a.active,
html[data-tenant-slug="luma-pilates"] .admin-brand-ui .admin-nav a.active {
  background: rgba(185, 130, 130, .12) !important;
  color: #8F6464 !important;
}

/* Campos */
html[data-tenant-slug="luma-pilates"] input,
html[data-tenant-slug="luma-pilates"] select,
html[data-tenant-slug="luma-pilates"] textarea {
  background: #FFFDFC !important;
  border-color: rgba(169, 120, 120, .20) !important;
  color: #4E3C3B !important;
}

html[data-tenant-slug="luma-pilates"] input::placeholder,
html[data-tenant-slug="luma-pilates"] textarea::placeholder {
  color: #AA9692 !important;
}

/* LUMA_LIGHT_PALETTE_V2_END */


/* LUMA_HERO_IDENTITY_V1 */

html[data-tenant-slug="luma-pilates"]
.ars-admin-home-hero {
  background:
    linear-gradient(
      125deg,
      #6E5552 0%,
      #A97878 48%,
      #C99696 100%
    );
}

html[data-tenant-slug="luma-pilates"]
.ars-client-hero {
  background:
    linear-gradient(
      125deg,
      #FFFDFC 0%,
      #F1E7E2 48%,
      #DDBBBB 100%
    );
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-dashboard-hero {
  background:
    linear-gradient(
      125deg,
      #4E3C3B 0%,
      #A97878 52%,
      #C99696 100%
    );
}

/* LUMA_HERO_IDENTITY_V1_END */


/* LUMA_HERO_IMAGE_V2 */
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard-hero {
  background:
    linear-gradient(
      90deg,
      rgba(64, 40, 43, 0.62) 0%,
      rgba(64, 40, 43, 0.36) 34%,
      rgba(64, 40, 43, 0.12) 62%,
      rgba(64, 40, 43, 0.08) 100%
    ),
    url("/assets/luma-hero.png") center center / cover no-repeat !important;
}

html[data-tenant-slug="luma-pilates"] .ars-client-hero {
  background:
    linear-gradient(
      90deg,
      rgba(110, 85, 82, 0.20) 0%,
      rgba(169, 120, 120, 0.12) 40%,
      rgba(255, 253, 252, 0.08) 100%
    ),
    url("/assets/luma-hero.png") center center / cover no-repeat !important;
}


/* LUMA_EXACT_ROSE_METRICS_CSS_V2 */
html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card {
  background: #C99696 !important;
  background-image: none !important;
  border-color: rgba(110, 85, 82, 0.10) !important;
  box-shadow: 0 8px 22px rgba(110, 85, 82, 0.10) !important;
  color: #4E3C3B !important;
}

html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card * {
  color: #4E3C3B !important;
  opacity: 1 !important;
}

html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card svg {
  color: #6E5552 !important;
  stroke: currentColor !important;
  opacity: 1 !important;
}

html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card [class*="icon"] {
  background: rgba(255, 253, 252, 0.24) !important;
  color: #6E5552 !important;
}

html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card small,
html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card [class*="muted"],
html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card [class*="subtitle"] {
  color: #6E5552 !important;
  opacity: 1 !important;
}


/* LUMA_METRIC_TYPOGRAPHY_V1 */
html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card {
  background: #C99696 !important;
}

/* Títulos: USUARIOS ACTIVOS, MEMBRESÍAS, etc. */
html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card
[class*="label"],
html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card
[class*="title"],
html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card
[class*="eyebrow"] {
  color: #6E5552 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  opacity: 1 !important;
}

/* Valores principales: 0, 0%, etc. */
html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card
[class*="value"],
html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card
[class*="number"],
html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card
[class*="count"] {
  color: #4E3C3B !important;
  font-size: 30px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  opacity: 1 !important;
}

/* Texto secundario */
html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card small,
html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card
[class*="muted"],
html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card
[class*="subtitle"] {
  color: #6E5552 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  opacity: 1 !important;
}

/* Iconos */
html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card
[class*="icon"] {
  background: rgba(255, 253, 252, 0.30) !important;
  color: #6E5552 !important;
}

html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card svg {
  color: #6E5552 !important;
  stroke: #6E5552 !important;
}


/* LUMA_METRIC_TEXT_STRONG_V1 */

html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card {
  background: #C99696 !important;
}

/* Título de cada cuadro */
html[data-tenant-slug="luma-pilates"] .luma-metric-title {
  color: #3F2E2D !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.10em !important;
  opacity: 1 !important;
}

/* Número principal */
html[data-tenant-slug="luma-pilates"] .luma-metric-value {
  color: #342423 !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  opacity: 1 !important;
}

/* Texto inferior */
html[data-tenant-slug="luma-pilates"] .luma-metric-secondary {
  color: #5A4140 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}

/* Iconos */
html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card svg {
  color: #4A3433 !important;
  stroke: #4A3433 !important;
  opacity: 1 !important;
}

html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card [class*="icon"] {
  background: rgba(255,255,255,0.30) !important;
  color: #4A3433 !important;
}


/* LUMA_METRIC_BOTTOM_TEXT_CSS_V1 */
html[data-tenant-slug="luma-pilates"]
.luma-rose-metric-card
.luma-metric-bottom-text {
  color: #3F2E2D !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}


/* LUMA_METRIC_VISIBILITY_FINAL */
html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card {
  background: #C99696 !important;
  color: #2F2221 !important;
}

/* Todo texto real dentro de las tarjetas */
html[data-tenant-slug="luma-pilates"]
.luma-rose-metric-card *:not(:has(*)):not(svg):not(path) {
  color: #2F2221 !important;
  -webkit-text-fill-color: #2F2221 !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  text-shadow: none !important;
}

/* Títulos */
html[data-tenant-slug="luma-pilates"] .luma-metric-title {
  color: #382827 !important;
  -webkit-text-fill-color: #382827 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  opacity: 1 !important;
}

/* Números */
html[data-tenant-slug="luma-pilates"] .luma-metric-value {
  color: #2F2221 !important;
  -webkit-text-fill-color: #2F2221 !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

/* Leyendas inferiores: 0 inactivos, 0 por vencer, etc. */
html[data-tenant-slug="luma-pilates"] .luma-metric-bottom-text,
html[data-tenant-slug="luma-pilates"] .luma-metric-secondary {
  color: #493332 !important;
  -webkit-text-fill-color: #493332 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

/* Iconos */
html[data-tenant-slug="luma-pilates"] .luma-rose-metric-card svg {
  color: #493332 !important;
  stroke: #493332 !important;
  opacity: 1 !important;
}


/* LUMA_REAL_LOGO_CSS_V1 */

html[data-tenant-slug="luma-pilates"] img.luma-real-logo {
  object-fit: contain !important;
  object-position: center !important;
  background: #FFFDFC !important;
  border-radius: 50% !important;
}

html[data-tenant-slug="luma-pilates"] .luma-real-logo-bg {
  background-image: url("/assets/luma-logo.png") !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}


/* LUMA_PALE_PINK_ACCENTS_V1 */
html[data-tenant-slug="luma-pilates"] {
  --luma-pale-pink: #CFA3A3;
  --luma-pale-pink-strong: #B98282;
  --luma-pale-pink-soft: #E7C9C9;
  --luma-pale-pink-text: #8B6262;
}

/* textos/accentos pequeños */
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard [class*="kicker"],
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard [class*="eyebrow"],
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard [class*="overline"],
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard [class*="tag"],
html[data-tenant-slug="luma-pilates"] .ars-admin-home [class*="kicker"],
html[data-tenant-slug="luma-pilates"] .ars-admin-home [class*="eyebrow"],
html[data-tenant-slug="luma-pilates"] .ars-admin-home [class*="overline"],
html[data-tenant-slug="luma-pilates"] .ars-admin-home [class*="tag"] {
  color: var(--luma-pale-pink-strong) !important;
}

/* iconos y detalles que salgan morados */
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard svg,
html[data-tenant-slug="luma-pilates"] .ars-admin-home svg {
  color: var(--luma-pale-pink-strong);
}

html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard svg circle,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard svg path,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard svg line,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard svg polyline,
html[data-tenant-slug="luma-pilates"] .ars-admin-home svg circle,
html[data-tenant-slug="luma-pilates"] .ars-admin-home svg path,
html[data-tenant-slug="luma-pilates"] .ars-admin-home svg line,
html[data-tenant-slug="luma-pilates"] .ars-admin-home svg polyline {
  stroke: var(--luma-pale-pink-strong) !important;
}

/* elementos rellenos */
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard svg rect,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard svg circle[fill],
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard svg path[fill],
html[data-tenant-slug="luma-pilates"] .ars-admin-home svg rect,
html[data-tenant-slug="luma-pilates"] .ars-admin-home svg circle[fill],
html[data-tenant-slug="luma-pilates"] .ars-admin-home svg path[fill] {
  fill: var(--luma-pale-pink-strong) !important;
}

/* barras/progreso/divisores/mini charts */
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .progress-bar-fill,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .bar-fill,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .chart-bar,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .mini-bar,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .trend-bar,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .progress-bar-fill,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .bar-fill,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .chart-bar,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .mini-bar,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .trend-bar {
  background: var(--luma-pale-pink-strong) !important;
}

/* circulitos/indicadores/empty states */
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .empty-state-icon,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .status-dot,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .indicator-dot,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .empty-state-icon,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .status-dot,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .indicator-dot {
  color: var(--luma-pale-pink-strong) !important;
  border-color: var(--luma-pale-pink-strong) !important;
}

/* bordes/accentos sutiles que se vean morados */
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard [style*="#b38"],
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard [style*="#B38"],
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard [style*="#a97"],
html[data-tenant-slug="luma-pilates"] .ars-admin-home [style*="#b38"],
html[data-tenant-slug="luma-pilates"] .ars-admin-home [style*="#B38"],
html[data-tenant-slug="luma-pilates"] .ars-admin-home [style*="#a97"] {
  color: var(--luma-pale-pink-strong) !important;
  border-color: var(--luma-pale-pink-strong) !important;
}


/* LUMA_ACCENT_TUNE_V2 */
html[data-tenant-slug="luma-pilates"] {
  --luma-palo-rosa: #CFA3A3;
  --luma-palo-rosa-strong: #B98282;
  --luma-palo-rosa-soft: #E8C7C7;
  --luma-palo-rosa-text: #8A6363;
}

html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .section-kicker,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .eyebrow,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .overline,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .tag,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .chip,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard [class*="kicker"],
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard [class*="eyebrow"],
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard [class*="overline"],
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard [class*="tag"],
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard [class*="accent"],
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard [class*="highlight"],
html[data-tenant-slug="luma-pilates"] .ars-admin-home .section-kicker,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .eyebrow,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .overline,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .tag,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .chip,
html[data-tenant-slug="luma-pilates"] .ars-admin-home [class*="kicker"],
html[data-tenant-slug="luma-pilates"] .ars-admin-home [class*="eyebrow"],
html[data-tenant-slug="luma-pilates"] .ars-admin-home [class*="overline"],
html[data-tenant-slug="luma-pilates"] .ars-admin-home [class*="tag"],
html[data-tenant-slug="luma-pilates"] .ars-admin-home [class*="accent"],
html[data-tenant-slug="luma-pilates"] .ars-admin-home [class*="highlight"] {
  color: var(--luma-palo-rosa-strong) !important;
}

html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .empty-state-icon,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .status-dot,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .indicator-dot,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .chart-point,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .chart-marker,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .timeline-dot,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .agenda-empty-icon,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard [class*="empty"] [class*="icon"],
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard [class*="status"] [class*="icon"],
html[data-tenant-slug="luma-pilates"] .ars-admin-home .empty-state-icon,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .status-dot,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .indicator-dot,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .chart-point,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .chart-marker,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .timeline-dot,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .agenda-empty-icon,
html[data-tenant-slug="luma-pilates"] .ars-admin-home [class*="empty"] [class*="icon"],
html[data-tenant-slug="luma-pilates"] .ars-admin-home [class*="status"] [class*="icon"] {
  color: var(--luma-palo-rosa-strong) !important;
  border-color: var(--luma-palo-rosa-strong) !important;
}

html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .progress-fill,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .bar-fill,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .chart-bar,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .mini-bar,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .spark-bar,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .occupancy-bar,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard .distribution-bar,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard [class*="bar-fill"],
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard [class*="progress-fill"],
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard [class*="chart-bar"],
html[data-tenant-slug="luma-pilates"] .ars-admin-home .progress-fill,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .bar-fill,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .chart-bar,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .mini-bar,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .spark-bar,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .occupancy-bar,
html[data-tenant-slug="luma-pilates"] .ars-admin-home .distribution-bar,
html[data-tenant-slug="luma-pilates"] .ars-admin-home [class*="bar-fill"],
html[data-tenant-slug="luma-pilates"] .ars-admin-home [class*="progress-fill"],
html[data-tenant-slug="luma-pilates"] .ars-admin-home [class*="chart-bar"] {
  background: var(--luma-palo-rosa-strong) !important;
  color: var(--luma-palo-rosa-strong) !important;
}

html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard svg,
html[data-tenant-slug="luma-pilates"] .ars-admin-home svg {
  color: var(--luma-palo-rosa-strong) !important;
}

html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard svg path,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard svg line,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard svg polyline,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard svg circle,
html[data-tenant-slug="luma-pilates"] .ars-admin-home svg path,
html[data-tenant-slug="luma-pilates"] .ars-admin-home svg line,
html[data-tenant-slug="luma-pilates"] .ars-admin-home svg polyline,
html[data-tenant-slug="luma-pilates"] .ars-admin-home svg circle {
  stroke: var(--luma-palo-rosa-strong) !important;
}

html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard svg rect,
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard svg path[fill],
html[data-tenant-slug="luma-pilates"] .ars-admin-dashboard svg circle[fill],
html[data-tenant-slug="luma-pilates"] .ars-admin-home svg rect,
html[data-tenant-slug="luma-pilates"] .ars-admin-home svg path[fill],
html[data-tenant-slug="luma-pilates"] .ars-admin-home svg circle[fill] {
  fill: var(--luma-palo-rosa-strong) !important;
}
/* LUMA_ACCENT_TUNE_V2_END */


/* LUMA_EXACT_ROSE_ACCENTS_FINAL */

/* AGENDA · ATENCIÓN · SEMANA · ACTIVIDAD */
html[data-tenant-slug="luma-pilates"]
.ars-admin-panel-head > div > span {
  color: #B98282 !important;
}

/* estados vacíos */
html[data-tenant-slug="luma-pilates"]
.ars-admin-empty {
  color: #8D7976 !important;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-empty > span {
  color: #B98282 !important;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-empty svg {
  color: #B98282 !important;
  stroke: #B98282 !important;
}

/* iconos de atención */
html[data-tenant-slug="luma-pilates"]
.ars-admin-alerts-list svg,
html[data-tenant-slug="luma-pilates"]
.ars-admin-alerts-list [class*="icon"] {
  color: #B98282 !important;
  stroke: #B98282 !important;
  border-color: #E8C7C7 !important;
}

/* textos de disciplina */
html[data-tenant-slug="luma-pilates"]
.ars-admin-discipline-row b {
  color: #B98282 !important;
}

html[data-tenant-slug="luma-pilates"]
.ars-admin-discipline-name small {
  color: #8D7976 !important;
}

/* barras de ocupación semanal */
html[data-tenant-slug="luma-pilates"]
.ars-admin-week-chart [style] {
  background-color: #B98282 !important;
  border-color: #B98282 !important;
}

/* cualquier barra de progreso del bloque disciplina */
html[data-tenant-slug="luma-pilates"]
.ars-admin-discipline-progress span,
html[data-tenant-slug="luma-pilates"]
.ars-admin-discipline-progress i,
html[data-tenant-slug="luma-pilates"]
.ars-admin-discipline-progress [style] {
  background: #B98282 !important;
  background-color: #B98282 !important;
}

/* acentos dentro de los paneles inferiores */
html[data-tenant-slug="luma-pilates"]
.ars-admin-content-grid--lower svg {
  color: #B98282 !important;
  stroke: #B98282 !important;
}

/* evita que queden los lilas heredados */
html[data-tenant-slug="luma-pilates"]
.ars-admin-content-grid--lower [class*="accent"],
html[data-tenant-slug="luma-pilates"]
.ars-admin-content-grid--lower [class*="highlight"] {
  color: #B98282 !important;
  border-color: #B98282 !important;
}

/* LUMA_TRIAL_PAYMENT_NOTE_CSS_V1 */
html[data-tenant-slug="luma-pilates"] .luma-trial-payment-note {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 10px 0 18px;
  padding: 12px 14px;
  border: 1px solid #E8C7C7;
  border-radius: 14px;
  background: #F7F2ED;
}

html[data-tenant-slug="luma-pilates"] .luma-trial-payment-note strong {
  color: #6E5552;
  font-size: 14px;
}

html[data-tenant-slug="luma-pilates"] .luma-trial-payment-note span {
  color: #8D7976;
  font-size: 12px;
}


/* DOLCE_CORE_THEME_START */
html[data-tenant-slug="dolce-core"] {
  --brand-primary: #D9A6B0;
  --brand-secondary: #DCC2E8;
  --brand-accent: #B77E94;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui {
  --primary: #D9A6B0;
  --primary-dark: #B77E94;
  --accent: #DCC2E8;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .reserve-btn {
  background: linear-gradient(135deg, #D9A6B0, #B77E94);
  border-color: #B77E94;
  color: #FFFFFF;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .membership-card {
  border-color: rgba(183,126,148,.25);
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .header {
  border-color: rgba(183,126,148,.18);
}
/* DOLCE_CORE_THEME_END */


/* DOLCE_CLIENT_HERO_START */
html[data-tenant-slug="dolce-core"] .dolce-client-hero {
  position: relative;
  width: 100%;
  min-height: 250px;
  margin: 16px 0 22px;
  border-radius: 22px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  background:
    linear-gradient(180deg, transparent 35%, rgba(56, 35, 49, .70) 100%),
    url("/assets/dolce-core-hero.jpg") center / cover no-repeat;
  box-shadow: 0 12px 30px rgba(120, 75, 105, .14);
}
html[data-tenant-slug="dolce-core"] .dolce-client-hero-copy {
  padding: 25px;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
html[data-tenant-slug="dolce-core"] .dolce-client-hero-copy span {
  font-size: 11px;
  letter-spacing: .2em;
  font-weight: 700;
}
html[data-tenant-slug="dolce-core"] .dolce-client-hero-copy strong {
  font-size: clamp(20px, 3vw, 29px);
  line-height: 1.2;
}
@media (max-width: 600px) {
  html[data-tenant-slug="dolce-core"] .dolce-client-hero {
    min-height: 215px;
  }
}
/* DOLCE_CLIENT_HERO_END */


/* DOLCE_CLIENT_PALETTE_START */
html[data-tenant-slug="dolce-core"] {
  --primary: #A76F8B;
  --secondary: #775063;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui {
  --primary: #A76F8B;
  --secondary: #775063;
  --accent: #D9A6B0;
  color: #533D48;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .screen,
html[data-tenant-slug="dolce-core"] .ars-client-dashboard,
html[data-tenant-slug="dolce-core"] .ars-dashboard-main {
  background-color: #FFF7F5;
  color: #533D48;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui h1,
html[data-tenant-slug="dolce-core"] .client-brand-ui h2,
html[data-tenant-slug="dolce-core"] .client-brand-ui h3 {
  color: #533D48;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .primary-btn,
html[data-tenant-slug="dolce-core"] .client-brand-ui .reserve-btn,
html[data-tenant-slug="dolce-core"] .client-brand-ui .ars-hero-btn,
html[data-tenant-slug="dolce-core"] .client-brand-ui button[data-nav="classes"].primary-btn {
  background: linear-gradient(135deg, #A76F8B, #86566E) !important;
  border-color: #86566E !important;
  color: #FFFFFF !important;
  box-shadow: 0 8px 20px rgba(134,86,110,.18) !important;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .ars-soft-btn,
html[data-tenant-slug="dolce-core"] .client-brand-ui .ars-outline-btn,
html[data-tenant-slug="dolce-core"] .client-brand-ui .soft-btn {
  background-color: #F8E7EB !important;
  border-color: #E9C9D5 !important;
  color: #775063 !important;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .bottom-nav {
  background: #FFF9F8 !important;
  border-color: #F0DEE5 !important;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .bottom-nav .active,
html[data-tenant-slug="dolce-core"] .client-brand-ui .bottom-nav button.active,
html[data-tenant-slug="dolce-core"] .client-brand-ui .bottom-nav [aria-current="page"] {
  background: #F5DFE7 !important;
  color: #86566E !important;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .bottom-nav button,
html[data-tenant-slug="dolce-core"] .client-brand-ui .bottom-nav a {
  color: #775063;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .profile-avatar,
html[data-tenant-slug="dolce-core"] .client-brand-ui .user-avatar,
html[data-tenant-slug="dolce-core"] .client-brand-ui .avatar,
html[data-tenant-slug="dolce-core"] .client-brand-ui .header-avatar {
  background: #86566E !important;
  color: #FFFFFF !important;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .membership-card,
html[data-tenant-slug="dolce-core"] .client-brand-ui .ars-next-class-card {
  border-color: #F0DEE5;
  box-shadow: 0 9px 24px rgba(134,86,110,.07);
}
/* DOLCE_CLIENT_PALETTE_END */


/* DOLCE_CLIENT_CONTROLS_V2_START */
html[data-tenant-slug="dolce-core"] .client-brand-ui .tabs .tab.active,
html[data-tenant-slug="dolce-core"] .client-brand-ui .day-chip.active,
html[data-tenant-slug="dolce-core"] .client-brand-ui .filter-chip.active {
  background: #86566E !important;
  border-color: #86566E !important;
  color: #FFFFFF !important;
  box-shadow: 0 5px 14px rgba(134,86,110,.16) !important;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .tabs .tab.active *,
html[data-tenant-slug="dolce-core"] .client-brand-ui .day-chip.active *,
html[data-tenant-slug="dolce-core"] .client-brand-ui .filter-chip.active * {
  color: #FFFFFF !important;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .tabs,
html[data-tenant-slug="dolce-core"] .client-brand-ui .day-chip,
html[data-tenant-slug="dolce-core"] .client-brand-ui .filter-chip {
  border-color: #EEDDE5;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .tabs {
  background: #F8EBEF !important;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .tab:not(.active),
html[data-tenant-slug="dolce-core"] .client-brand-ui .day-chip:not(.active),
html[data-tenant-slug="dolce-core"] .client-brand-ui .filter-chip:not(.active) {
  color: #775063 !important;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .week-label,
html[data-tenant-slug="dolce-core"] .client-brand-ui .week-nav button {
  color: #86566E !important;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .day-chip.active span,
html[data-tenant-slug="dolce-core"] .client-brand-ui .day-chip.active small {
  color: #FFFFFF !important;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .empty-state svg,
html[data-tenant-slug="dolce-core"] .client-brand-ui .ars-quick-icon,
html[data-tenant-slug="dolce-core"] .client-brand-ui .progress span {
  color: #A76F8B !important;
  stroke: #A76F8B;
}

html[data-tenant-slug="dolce-core"] .client-brand-ui .progress span {
  background: #A76F8B !important;
}
/* DOLCE_CLIENT_CONTROLS_V2_END */


/* DOLCE_INSTRUCTOR_THEME_START */
html[data-tenant-slug="dolce-core"] .instructor-brand-ui {
  --primary: #A76F8B;
  --secondary: #775063;
  background: #FFF7F5 !important;
  color: #533D48;
}

html[data-tenant-slug="dolce-core"] .instructor-brand-ui .staff-screen {
  background: #FFF7F5 !important;
}

html[data-tenant-slug="dolce-core"] .instructor-brand-ui .staff-hero {
  background: linear-gradient(135deg, #A76F8B, #775063) !important;
  border-color: #CBA6C8 !important;
  box-shadow: 0 16px 36px rgba(119,80,99,.16) !important;
}

html[data-tenant-slug="dolce-core"] .instructor-brand-ui .staff-hero::after {
  border-color: rgba(255,255,255,.15) !important;
}

html[data-tenant-slug="dolce-core"] .instructor-brand-ui .staff-hero h1,
html[data-tenant-slug="dolce-core"] .instructor-brand-ui .staff-hero .eyebrow,
html[data-tenant-slug="dolce-core"] .instructor-brand-ui .staff-hero .subtitle {
  color: #FFFFFF !important;
}

html[data-tenant-slug="dolce-core"] .instructor-brand-ui .staff-header,
html[data-tenant-slug="dolce-core"] .instructor-brand-ui .staff-classes-panel,
html[data-tenant-slug="dolce-core"] .instructor-brand-ui .roster-panel {
  background: #FFFCFB !important;
  border-color: #F0DEE5 !important;
}

html[data-tenant-slug="dolce-core"] .instructor-brand-ui .staff-logout,
html[data-tenant-slug="dolce-core"] .instructor-brand-ui .staff-meta {
  background: #F8E7EB !important;
  color: #775063 !important;
  border-color: #E9C9D5 !important;
}

html[data-tenant-slug="dolce-core"] .instructor-brand-ui .staff-class-card.active,
html[data-tenant-slug="dolce-core"] .instructor-brand-ui .staff-class-card.selected {
  background: #F7E5ED !important;
  border-color: #A76F8B !important;
}

html[data-tenant-slug="dolce-core"] .instructor-brand-ui .primary-btn {
  background: linear-gradient(135deg, #A76F8B, #86566E) !important;
  border-color: #86566E !important;
  color: #FFFFFF !important;
}

html[data-tenant-slug="dolce-core"] .instructor-brand-ui .attendance-date-field input {
  border-color: #E9C9D5 !important;
  color: #533D48 !important;
}

html[data-tenant-slug="dolce-core"] .instructor-brand-ui .attendance-date-field input:focus {
  border-color: #A76F8B !important;
  outline-color: #A76F8B !important;
}

html[data-tenant-slug="dolce-core"] .instructor-brand-ui .section-title-row h2,
html[data-tenant-slug="dolce-core"] .instructor-brand-ui .roster-heading h2 {
  color: #533D48 !important;
}
/* DOLCE_INSTRUCTOR_THEME_END */


/* EB_BIRTHDAY_FIELDS_V1 */
.birthday-prompt [data-birthday-form] > div {
  display: grid !important;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 12px !important;
}

.birthday-prompt [data-birthday-form] label {
  display: flex !important;
  flex-direction: column;
  gap: 7px;
  font-size: 13px;
  font-weight: 600;
}

.birthday-prompt [data-birthday-form] select,
.birthday-prompt [data-birthday-form] input {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  min-height: 44px;
  padding: 10px 12px !important;
  border: 1px solid #ded8d2;
  border-radius: 11px;
  background: #fff;
  color: #173b31;
  font: inherit;
}

.birthday-prompt [data-birthday-form] select:focus,
.birthday-prompt [data-birthday-form] input:focus {
  outline: 2px solid #a7c4b5;
  outline-offset: 1px;
}
