/* MisServicios v1.50.1 — Identidad Turquesa + Índigo */
:root{
  --ms-brand-primary:#0f9f94;
  --ms-brand-primary-dark:#0b7f77;
  --ms-brand-primary-soft:#eaf8f6;
  --ms-brand-indigo:#243b67;
  --ms-brand-indigo-dark:#172844;
  --ms-brand-indigo-soft:#eef2f8;
  --ms-brand-accent:#18b8aa;
  --ms-brand-ink:#1f2937;
  --ms-brand-muted:#6b7280;
  --ms-brand-bg:#f7f9fc;
  --ms-brand-card:#ffffff;
  --ms-brand-border:#e8edf4;
  --ms-brand-shadow:0 14px 36px rgba(36,59,103,.08);
  --ms-theme-primary:var(--ms-brand-primary);
  --ms-theme-accent:var(--ms-brand-indigo);
}

body{background:var(--ms-brand-bg);color:var(--ms-brand-ink)}
a{color:var(--ms-theme-primary)}
a:hover{color:var(--ms-brand-primary-dark)}

.btn{border-radius:12px;font-weight:750;transition:.18s ease}
.btn-primary{
  --bs-btn-bg:var(--ms-theme-primary);
  --bs-btn-border-color:var(--ms-theme-primary);
  --bs-btn-hover-bg:var(--ms-brand-primary-dark);
  --bs-btn-hover-border-color:var(--ms-brand-primary-dark);
  --bs-btn-active-bg:var(--ms-brand-primary-dark);
  --bs-btn-active-border-color:var(--ms-brand-primary-dark);
  box-shadow:0 8px 18px rgba(15,159,148,.18)
}
.btn-primary:hover{transform:translateY(-1px)}
.btn-outline-primary{
  --bs-btn-color:var(--ms-theme-primary);
  --bs-btn-border-color:rgba(15,159,148,.36);
  --bs-btn-hover-bg:var(--ms-theme-primary);
  --bs-btn-hover-border-color:var(--ms-theme-primary)
}
.form-control,.form-select{border-color:var(--ms-brand-border);border-radius:12px;box-shadow:none}
.form-control:focus,.form-select:focus{border-color:rgba(15,159,148,.58);box-shadow:0 0 0 .22rem rgba(15,159,148,.12)}
.card,.ms-card,.ms-panel-card,.ms-stat-card{border-color:var(--ms-brand-border)!important;box-shadow:var(--ms-brand-shadow)!important}


/* v1.50.3 — Cobertura global Bootstrap / vistas heredadas */
:root{
  --bs-primary:#0f9f94;
  --bs-primary-rgb:15,159,148;
  --bs-link-color:#0f9f94;
  --bs-link-hover-color:#0b7f77;
  --bs-focus-ring-color:rgba(15,159,148,.25);
}
.text-primary{color:#0f9f94!important}
.bg-primary{background-color:#0f9f94!important}
.border-primary{border-color:#0f9f94!important}
.link-primary{color:#0f9f94!important}
.badge.bg-primary{background-color:#0f9f94!important}
.btn-link{--bs-btn-color:#0f9f94;--bs-btn-hover-color:#0b7f77}
.nav-link{--bs-nav-link-hover-color:#0f9f94}
.nav-pills{--bs-nav-pills-link-active-bg:#0f9f94}
.pagination{--bs-pagination-active-bg:#0f9f94;--bs-pagination-active-border-color:#0f9f94;--bs-pagination-hover-color:#0b7f77;--bs-pagination-color:#0f9f94}
.form-check-input:checked{background-color:#0f9f94;border-color:#0f9f94}
.form-check-input:focus{border-color:#70cfc7;box-shadow:0 0 0 .25rem rgba(15,159,148,.18)}
.dropdown-item.active,.dropdown-item:active{background-color:#0f9f94}
.progress{--bs-progress-bar-bg:#0f9f94}

/* Perfil público / proveedor: varias vistas antiguas usan nombres genéricos */
.ms-profile-body,.ms-public-profile,.provider-profile,.perfil-publico{
  --ms-primary:#0f9f94;
  --ms-blue:#0f9f94;
  --ms-blue-dark:#0b7f77;
  --ms-accent:#243b67;
}
.ms-profile-header,.provider-hero,.perfil-hero{
  background:linear-gradient(135deg,#172844,#243b67 62%,#0f9f94)!important;
}

/* Marketplace */
.ms-market-body{
  --ms-blue:var(--ms-theme-primary);
  --ms-blue-dark:var(--ms-brand-primary-dark);
  --ms-ink:var(--ms-brand-ink);
  --ms-muted:var(--ms-brand-muted);
  --ms-border:var(--ms-brand-border);
  --ms-bg:var(--ms-brand-bg);
  background:var(--ms-brand-bg)!important
}
.ms-market-header{border-bottom:0!important;box-shadow:0 8px 28px rgba(36,59,103,.06)}
.ms-market-brand-mark,.ms-client-brand-mark,.ms-pro-brand .mark,.ms-brand-mark,.ms-auth-logo span:first-child{
  background:linear-gradient(135deg,var(--ms-theme-primary),var(--ms-theme-accent))!important;
  box-shadow:0 10px 24px rgba(36,59,103,.16)!important
}
.ms-market-brand strong{font-weight:900}
.ms-market-nav a:hover{color:var(--ms-theme-primary)!important}
.ms-market-hero{
  background:
    radial-gradient(circle at 82% 18%,rgba(15,159,148,.15),transparent 28%),
    radial-gradient(circle at 18% 20%,rgba(36,59,103,.12),transparent 34%),
    linear-gradient(180deg,#fff,#f7f9fc)!important
}
.ms-market-kicker{background:var(--ms-brand-primary-soft)!important;color:var(--ms-theme-primary)!important}
.ms-market-search{border:0!important;box-shadow:0 20px 48px rgba(36,59,103,.11)!important}
.ms-market-quick-links a,.ms-market-category{border-color:transparent!important;box-shadow:0 9px 24px rgba(36,59,103,.06)!important}
.ms-market-category:hover,.ms-market-category.active{border-color:rgba(15,159,148,.25)!important;box-shadow:0 16px 34px rgba(15,159,148,.11)!important}
.ms-market-category i,.ms-market-section-head span{color:var(--ms-theme-primary)!important}
.ms-market-hero-card{
  background:linear-gradient(145deg,var(--ms-brand-indigo-dark) 0%,var(--ms-brand-indigo) 55%,var(--ms-theme-primary) 140%)!important;
  box-shadow:0 26px 58px rgba(36,59,103,.22)!important
}
.ms-market-hero-example .icon{background:var(--ms-brand-primary-soft)!important;color:var(--ms-theme-primary)!important}
.ms-market-service-card,.ms-market-pro-card{border-color:transparent!important;box-shadow:0 12px 30px rgba(36,59,103,.07)!important}
.ms-market-service-card:hover,.ms-market-pro-card:hover{box-shadow:0 20px 42px rgba(36,59,103,.12)!important;transform:translateY(-3px)}
.ms-market-footer{background:var(--ms-brand-indigo-dark)!important}

/* Admin */
.ms-admin-body{
  --ms-primary:var(--ms-theme-primary);
  --ms-primary-soft:var(--ms-brand-primary-soft);
  --ms-text:var(--ms-brand-ink);
  --ms-muted:var(--ms-brand-muted);
  --ms-border:var(--ms-brand-border);
  --ms-bg:var(--ms-brand-bg);
  --ms-card:#fff
}
.ms-sidebar{background:linear-gradient(180deg,var(--ms-brand-indigo) 0%,var(--ms-brand-indigo-dark) 100%)!important}
.ms-sidebar-nav a:hover,.ms-sidebar-nav a.active{background:rgba(15,159,148,.18)!important}
.ms-sidebar-nav a.active{box-shadow:inset 3px 0 0 var(--ms-brand-accent)!important}
.ms-version i,.ms-eyebrow{color:var(--ms-theme-primary)!important}
.ms-topbar{border-bottom:0!important;box-shadow:0 6px 24px rgba(36,59,103,.05)}
.ms-avatar{background:linear-gradient(135deg,var(--ms-theme-primary),var(--ms-brand-indigo))!important}
.ms-stat-card,.ms-panel-card{border:0!important;border-radius:18px!important}
.ms-card-header{border-bottom-color:#edf1f6!important}
.ms-table thead th{background:#fafbfd!important;border-bottom-color:#edf1f6!important}
.tone-primary{background:var(--ms-brand-primary-soft)!important;color:var(--ms-theme-primary)!important}
.tone-purple{background:var(--ms-brand-indigo-soft)!important;color:var(--ms-brand-indigo)!important}
.ms-admin-public-link{
  display:flex!important;align-items:center!important;gap:13px!important;
  color:#d8fffb!important;background:rgba(15,159,148,.10)!important;
  border:1px solid rgba(15,159,148,.18)!important
}
.ms-admin-public-link:hover{background:rgba(15,159,148,.20)!important;color:#fff!important}

/* Cliente */
.ms-client-body{--ms-client-primary:var(--ms-theme-primary);--ms-client-border:var(--ms-brand-border);background:var(--ms-brand-bg)!important}
.ms-client-sidebar{background:linear-gradient(180deg,var(--ms-brand-indigo),var(--ms-brand-indigo-dark))!important}
.ms-client-nav a.active{background:rgba(15,159,148,.18)!important;box-shadow:inset 3px 0 0 var(--ms-brand-accent)!important}
.ms-client-avatar{background:linear-gradient(135deg,var(--ms-theme-primary),var(--ms-brand-indigo))!important}
.ms-client-topbar{border-bottom:0!important;box-shadow:0 6px 24px rgba(36,59,103,.05)!important}

/* Profesional */
.ms-pro-body{--ms-primary:var(--ms-theme-primary);--ms-border:var(--ms-brand-border);background:var(--ms-brand-bg)!important}
.ms-pro-sidebar{background:linear-gradient(180deg,var(--ms-brand-indigo),var(--ms-brand-indigo-dark))!important}
.ms-pro-nav a.active{background:rgba(15,159,148,.18)!important;box-shadow:inset 3px 0 0 var(--ms-brand-accent)!important}
.ms-pro-topbar{border-bottom:0!important;box-shadow:0 6px 24px rgba(36,59,103,.05)!important}

/* Login / registro */
body.ms-auth-themed,.ms-auth-themed{
  background:
    radial-gradient(circle at 10% 5%,rgba(15,159,148,.14),transparent 28%),
    radial-gradient(circle at 90% 10%,rgba(36,59,103,.12),transparent 25%),
    linear-gradient(135deg,#f6fbfb,#f7f9fc)!important
}
.ms-auth-card{border:0!important;box-shadow:0 28px 72px rgba(36,59,103,.14)!important}
.ms-auth-side{background:linear-gradient(145deg,var(--ms-brand-indigo-dark),var(--ms-brand-indigo) 58%,var(--ms-theme-primary))!important}
.ms-navbar{background:linear-gradient(135deg,var(--ms-brand-indigo-dark),var(--ms-brand-indigo),var(--ms-theme-primary))!important}

/* Franja temática pública — decorativa, solo Marketplace */
.ms-theme-banner{
  position:relative;
  overflow:hidden;
  color:#fff;
  text-align:center;
  padding:13px 18px;
  font-size:.8rem;
  font-weight:750;
  box-shadow:0 8px 22px rgba(36,59,103,.08);
  isolation:isolate;
}
.ms-theme-banner::before,
.ms-theme-banner::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:-1;
}
.ms-theme-banner strong{
  position:relative;
  z-index:2;
  font-weight:900;
  text-shadow:0 1px 2px rgba(0,0,0,.12);
}
.ms-theme-banner i{
  position:relative;
  z-index:2;
  margin-right:.45rem;
}

/* Base: Turquesa + Índigo */
html[data-ms-theme="base"] .ms-theme-banner{
  background:linear-gradient(90deg,#243b67,#0f9f94);
}

/* Día de Reyes: estrellas, coronas y confeti */
html[data-ms-theme="reyes"] .ms-theme-banner{
  background:
    radial-gradient(circle at 8% 25%,rgba(255,255,255,.20) 0 2px,transparent 3px),
    radial-gradient(circle at 18% 70%,rgba(255,215,100,.28) 0 3px,transparent 4px),
    radial-gradient(circle at 78% 30%,rgba(255,255,255,.18) 0 2px,transparent 3px),
    radial-gradient(circle at 92% 72%,rgba(255,215,100,.25) 0 3px,transparent 4px),
    linear-gradient(90deg,#5e4aa7,#8b6ccf 58%,#c89b42);
}
html[data-ms-theme="reyes"] .ms-theme-banner::before{
  background:
    linear-gradient(30deg,transparent 42%,rgba(255,255,255,.08) 43% 46%,transparent 47%) 0 0/48px 48px;
}
html[data-ms-theme="reyes"] .ms-theme-banner::after{
  content:"👑  ✦  👑  ✦";
  inset:auto 18px 50%;
  transform:translateY(50%);
  color:rgba(255,255,255,.20);
  font-size:1.55rem;
  letter-spacing:1.1rem;
  text-align:right;
  white-space:nowrap;
}

/* Amor y Amistad: corazones suaves */
html[data-ms-theme="amor"] .ms-theme-banner{
  background:
    radial-gradient(circle at 10% 30%,rgba(255,255,255,.17) 0 5px,transparent 6px),
    radial-gradient(circle at 88% 70%,rgba(255,255,255,.12) 0 7px,transparent 8px),
    linear-gradient(90deg,#b24d70,#d86886 52%,#9d5d91);
}
html[data-ms-theme="amor"] .ms-theme-banner::before{
  content:"♥  ♡  ♥  ♡  ♥  ♡";
  color:rgba(255,255,255,.18);
  font-size:1.7rem;
  letter-spacing:1.15rem;
  line-height:42px;
  transform:rotate(-4deg) scale(1.05);
}
html[data-ms-theme="amor"] .ms-theme-banner::after{
  background:
    radial-gradient(circle at 20% 50%,rgba(255,255,255,.08) 0 14px,transparent 15px),
    radial-gradient(circle at 80% 50%,rgba(255,255,255,.06) 0 18px,transparent 19px);
}

/* Día de las Madres: rosas/flores discretas */
html[data-ms-theme="madres"] .ms-theme-banner{
  background:
    radial-gradient(circle at 8% 20%,rgba(255,255,255,.16) 0 7px,transparent 8px),
    radial-gradient(circle at 90% 78%,rgba(255,255,255,.14) 0 9px,transparent 10px),
    linear-gradient(90deg,#9d5b87,#c9799e 52%,#7f6e9b);
}
html[data-ms-theme="madres"] .ms-theme-banner::before{
  content:"🌹   ✿   🌹   ✿   🌹";
  color:rgba(255,255,255,.21);
  font-size:1.45rem;
  letter-spacing:1.2rem;
  line-height:42px;
  transform:translateX(4%) rotate(-2deg);
}
html[data-ms-theme="madres"] .ms-theme-banner::after{
  background:
    linear-gradient(115deg,transparent 48%,rgba(255,255,255,.06) 49% 51%,transparent 52%) 0 0/70px 70px;
}

/* Fiestas Patrias: verde, blanco y rojo, con confeti */
html[data-ms-theme="patrio"] .ms-theme-banner{
  color:#173b2f;
  background:
    linear-gradient(90deg,
      #11875f 0 31%,
      #f6f6ef 31% 69%,
      #c84444 69% 100%);
}
html[data-ms-theme="patrio"] .ms-theme-banner strong{
  text-shadow:none;
}
html[data-ms-theme="patrio"] .ms-theme-banner::before{
  background:
    radial-gradient(circle at 8% 30%,rgba(255,255,255,.24) 0 2px,transparent 3px),
    radial-gradient(circle at 18% 70%,rgba(255,215,0,.22) 0 2px,transparent 3px),
    radial-gradient(circle at 82% 25%,rgba(255,255,255,.20) 0 2px,transparent 3px),
    radial-gradient(circle at 94% 70%,rgba(255,215,0,.18) 0 2px,transparent 3px);
}
html[data-ms-theme="patrio"] .ms-theme-banner::after{
  content:"🇲🇽   ✦   🇲🇽";
  inset:auto 20px 50%;
  transform:translateY(50%);
  color:rgba(0,0,0,.14);
  font-size:1.35rem;
  letter-spacing:1.2rem;
  text-align:right;
  white-space:nowrap;
}

/* Día de Muertos: calaveritas, pan y flores */
html[data-ms-theme="muertos"] .ms-theme-banner{
  background:
    radial-gradient(circle at 10% 25%,rgba(246,166,50,.20) 0 4px,transparent 5px),
    radial-gradient(circle at 88% 75%,rgba(255,255,255,.10) 0 5px,transparent 6px),
    linear-gradient(90deg,#4d326d,#6d467e 48%,#9a603d);
}
html[data-ms-theme="muertos"] .ms-theme-banner::before{
  content:"💀   ✿   🥖   ✿   💀   ✿   🥖";
  color:rgba(255,255,255,.18);
  font-size:1.35rem;
  letter-spacing:.85rem;
  line-height:42px;
  transform:translateX(3%) rotate(-2deg);
}
html[data-ms-theme="muertos"] .ms-theme-banner::after{
  background:
    linear-gradient(30deg,transparent 44%,rgba(243,143,45,.10) 45% 48%,transparent 49%) 0 0/54px 54px;
}

/* Navidad / fin de año: pinos, nieve, estrellas y piñatas */
html[data-ms-theme="navidad"] .ms-theme-banner{
  background:
    radial-gradient(circle at 8% 20%,rgba(255,255,255,.65) 0 2px,transparent 3px),
    radial-gradient(circle at 18% 70%,rgba(255,255,255,.50) 0 2px,transparent 3px),
    radial-gradient(circle at 78% 24%,rgba(255,255,255,.55) 0 2px,transparent 3px),
    radial-gradient(circle at 90% 72%,rgba(255,255,255,.45) 0 2px,transparent 3px),
    linear-gradient(90deg,#185c4b,#217760 48%,#31586c);
}
html[data-ms-theme="navidad"] .ms-theme-banner::before{
  content:"🎄   ❄   ✦   🪅   ❄   🎄";
  color:rgba(255,255,255,.21);
  font-size:1.35rem;
  letter-spacing:.9rem;
  line-height:42px;
  transform:translateX(2%);
}
html[data-ms-theme="navidad"] .ms-theme-banner::after{
  background:
    radial-gradient(circle at 30% 40%,rgba(255,255,255,.16) 0 5px,transparent 6px),
    radial-gradient(circle at 70% 60%,rgba(255,255,255,.12) 0 7px,transparent 8px);
}

/* Temas predefinidos del portal público */
html[data-ms-theme="base"]{--ms-theme-primary:#0f9f94;--ms-theme-accent:#243b67}
html[data-ms-theme="reyes"]{--ms-theme-primary:#4f8e9b;--ms-theme-accent:#6d54a6}
html[data-ms-theme="amor"]{--ms-theme-primary:#ba5c78;--ms-theme-accent:#7e4f86}
html[data-ms-theme="madres"]{--ms-theme-primary:#a05f8d;--ms-theme-accent:#6e719e}
html[data-ms-theme="patrio"]{--ms-theme-primary:#17855e;--ms-theme-accent:#2a654f}
html[data-ms-theme="muertos"]{--ms-theme-primary:#8a5a3d;--ms-theme-accent:#5f477f}
html[data-ms-theme="navidad"]{--ms-theme-primary:#18765c;--ms-theme-accent:#31586c}

@media(max-width:768px){.ms-theme-banner{font-size:.7rem;padding:7px 12px}}


/* v1.50.4 — Contraste y legibilidad de paneles privados */

/* CLIENTE: menú lateral */
.ms-client-sidebar,
.ms-client-sidebar a,
.ms-client-sidebar .ms-client-nav a,
.ms-client-sidebar .ms-client-nav a i,
.ms-client-sidebar .ms-client-nav a span,
.ms-client-sidebar .ms-client-nav .badge,
.ms-client-sidebar .ms-client-brand,
.ms-client-sidebar .ms-client-brand small{
  color:rgba(255,255,255,.88)!important;
}
.ms-client-sidebar .ms-client-brand strong{color:#fff!important}
.ms-client-sidebar .ms-client-nav a:hover{
  color:#fff!important;
  background:rgba(255,255,255,.08)!important;
}
.ms-client-sidebar .ms-client-nav a.active{
  color:#fff!important;
  background:rgba(15,159,148,.24)!important;
  box-shadow:inset 3px 0 0 #18b8aa!important;
}
.ms-client-sidebar .ms-client-nav a.active i,
.ms-client-sidebar .ms-client-nav a.active span{color:#fff!important}
.ms-client-sidebar .ms-client-nav a[aria-disabled="true"],
.ms-client-sidebar .ms-client-nav a.disabled{
  color:rgba(255,255,255,.48)!important;
}
.ms-client-sidebar .ms-client-nav a[aria-disabled="true"] *,
.ms-client-sidebar .ms-client-nav a.disabled *{
  color:rgba(255,255,255,.48)!important;
}
.ms-client-sidebar .ms-nav-label,
.ms-client-sidebar .ms-client-nav-label,
.ms-client-sidebar .nav-section-title{
  color:rgba(255,255,255,.70)!important;
}

/* PROFESIONAL: misma regla visual */
.ms-pro-sidebar,
.ms-pro-sidebar a,
.ms-pro-sidebar .ms-pro-nav a,
.ms-pro-sidebar .ms-pro-nav a i,
.ms-pro-sidebar .ms-pro-nav a span,
.ms-pro-sidebar .ms-pro-nav .badge,
.ms-pro-sidebar .ms-pro-brand,
.ms-pro-sidebar .ms-pro-brand small{
  color:rgba(255,255,255,.88)!important;
}
.ms-pro-sidebar .ms-pro-brand strong{color:#fff!important}
.ms-pro-sidebar .ms-pro-nav a:hover{
  color:#fff!important;
  background:rgba(255,255,255,.08)!important;
}
.ms-pro-sidebar .ms-pro-nav a.active{
  color:#fff!important;
  background:rgba(15,159,148,.24)!important;
  box-shadow:inset 3px 0 0 #18b8aa!important;
}
.ms-pro-sidebar .ms-pro-nav a.active i,
.ms-pro-sidebar .ms-pro-nav a.active span{color:#fff!important}
.ms-pro-sidebar .ms-pro-nav a[aria-disabled="true"],
.ms-pro-sidebar .ms-pro-nav a.disabled{
  color:rgba(255,255,255,.48)!important;
}
.ms-pro-sidebar .ms-pro-nav a[aria-disabled="true"] *,
.ms-pro-sidebar .ms-pro-nav a.disabled *{
  color:rgba(255,255,255,.48)!important;
}
.ms-pro-sidebar .ms-nav-label,
.ms-pro-sidebar .ms-pro-nav-label,
.ms-pro-sidebar .nav-section-title{
  color:rgba(255,255,255,.70)!important;
}

/* Encabezados/bienvenidas heredadas que aún usan azul */
.ms-client-body .text-primary,
.ms-pro-body .text-primary,
.ms-client-main .text-primary,
.ms-pro-main .text-primary,
.ms-client-content .text-primary,
.ms-pro-content .text-primary{
  color:#0f9f94!important;
}
.ms-client-body .bg-primary,
.ms-pro-body .bg-primary{
  background-color:#0f9f94!important;
}
