:root{
  --bg:#f7f5ef;
  --paper:#ffffff;
  --ink:#0b0b0b;
  --muted:#6d675f;
  --line:rgba(18,18,18,.10);
  --gold:#f2c400;
  --gold-dark:#9d7a00;
  --danger:#b42318;
  --ok:#12633f;
  --warn:#916500;
  --soft:#f1eee6;
  --shadow:0 24px 70px rgba(23,20,12,.11);
  --radius:28px;
}
*{box-sizing:border-box}
body{
  margin:0;min-height:100vh;font-family:Inter,Arial,sans-serif;color:var(--ink);
  background:
    radial-gradient(circle at 86% 0%,rgba(242,196,0,.16),transparent 30%),
    radial-gradient(circle at 0% 100%,rgba(0,0,0,.04),transparent 28%),
    linear-gradient(180deg,#fff 0%,var(--bg) 100%);
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
.app{width:min(1220px,calc(100% - 32px));margin:0 auto;padding:28px 0 44px}
.topbar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;padding:12px 14px;
  border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 14px 42px rgba(23,20,12,.08);
  position:sticky;top:12px;z-index:20;backdrop-filter:blur(14px)
}
.brand{display:flex;align-items:center;gap:10px;font-weight:950;letter-spacing:-.04em}
.brand-mark{width:38px;height:38px;border-radius:999px;display:grid;place-items:center;background:#111;color:var(--gold);font-weight:950;font-size:12px}
.nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.nav button,.btn{
  min-height:42px;border:0;border-radius:999px;background:#111;color:#fff;padding:0 16px;font-weight:950;font-size:11px;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;display:inline-flex;align-items:center;justify-content:center
}
.nav button{min-height:36px;background:#f2efe6;color:#111}
.nav button.active,.btn.gold{background:linear-gradient(135deg,#d8b24d,#f2c400);color:#111}
.nav button.dark{background:#111;color:#fff}.nav button.danger,.btn.danger{background:#fff0ef;color:var(--danger)}
.hero{
  min-height:32vh;border-radius:34px;padding:46px;background:
  radial-gradient(circle at 80% 14%,rgba(242,196,0,.24),transparent 36%),
  linear-gradient(135deg,#111 0%,#15120b 52%,#050505 100%);
  color:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center;margin-bottom:18px;overflow:hidden
}
.badge{width:max-content;padding:8px 12px;border-radius:999px;border:1px solid rgba(242,196,0,.28);background:rgba(242,196,0,.10);color:var(--gold);font-size:10px;font-weight:950;letter-spacing:.14em;margin-bottom:16px;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1{max-width:780px;font-size:clamp(42px,7vw,86px);line-height:.9;letter-spacing:-.07em;margin-bottom:16px}
.hero p{max-width:720px;color:rgba(255,255,255,.75);font-size:17px;line-height:1.6;margin-bottom:0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid.two{grid-template-columns:repeat(2,1fr)}
.grid.four{grid-template-columns:repeat(4,1fr)}
.card,.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);padding:22px}
.card small{width:34px;height:34px;border-radius:999px;background:#111;color:var(--gold);font-weight:950;display:grid;place-items:center;margin-bottom:14px}
.card h2,.panel h2{font-size:28px;line-height:1;letter-spacing:-.045em;margin-bottom:10px}
.card h3{font-size:18px;margin-bottom:6px;letter-spacing:-.02em}
.card p,.panel p{color:var(--muted);line-height:1.55;margin-bottom:0}
.metric{font-size:38px;font-weight:950;letter-spacing:-.07em;line-height:1;margin-bottom:8px}
.status-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 12px;background:#f3efe4;color:#111;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.status-pill.ok{background:#e7f7ee;color:var(--ok)}
.status-pill.warn{background:#fff7dc;color:var(--warn)}
.status-pill.danger{background:#fff0ef;color:var(--danger)}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.form{display:grid;gap:10px;margin-top:14px}
label{font-size:10px;text-transform:uppercase;letter-spacing:.10em;font-weight:950;color:#5b554b}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:16px;background:#fbfaf6;min-height:46px;padding:0 13px;color:#111;outline:none}
textarea{padding:13px;min-height:90px;resize:vertical}
.message{padding:12px;border-radius:16px;background:#f1eee6;color:#111;font-size:14px;line-height:1.45;margin:12px 0}
.message.error{background:#fff0ef;color:var(--danger)}
.message.ok{background:#eaf7ef;color:var(--ok)}
.list{display:grid;gap:10px;margin-top:12px}
.row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:18px;background:#fbfaf6;padding:12px}
.row strong{display:block}.row span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.price{font-size:24px;font-weight:950;letter-spacing:-.06em}
.table-wrap{overflow:auto;margin-top:12px;border-radius:18px;border:1px solid var(--line)}
table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}
th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:top}
th{font-size:10px;text-transform:uppercase;letter-spacing:.10em;background:#fbfaf6}
.skeleton{animation:pulse 1.2s ease-in-out infinite alternate;background:#f1eee6;border-radius:16px;min-height:52px}
@keyframes pulse{from{opacity:.55}to{opacity:1}}
.footer-note{margin-top:18px;color:var(--muted);font-size:12px;line-height:1.5;text-align:center}
.modal-backdrop{position:fixed;inset:0;background:rgba(7,7,7,.62);backdrop-filter:blur(12px);z-index:999;display:grid;place-items:center;padding:20px}
.modal-card{width:min(560px,100%);border-radius:32px;background:#fff;box-shadow:0 40px 120px rgba(0,0,0,.30);padding:30px;border:1px solid rgba(255,255,255,.45)}
.modal-icon{width:62px;height:62px;border-radius:999px;background:linear-gradient(135deg,#111,#312811);color:var(--gold);display:grid;place-items:center;font-size:30px;font-weight:950;margin-bottom:18px}
.modal-card h2{font-size:42px;letter-spacing:-.06em;line-height:.92;margin-bottom:12px}
.modal-card p{color:var(--muted);line-height:1.55;margin-bottom:12px}
.modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.verify-steps{display:grid;gap:8px;margin-top:16px}
.verify-steps div{border:1px solid var(--line);border-radius:16px;background:#fbfaf6;padding:12px;font-weight:800}
@media(max-width:980px){.grid,.grid.two,.grid.four{grid-template-columns:1fr 1fr}}
@media(max-width:680px){
  .app{width:min(100% - 22px,1220px);padding:14px 0 30px}
  .topbar{border-radius:22px;align-items:flex-start;position:relative;top:auto}
  .nav{justify-content:flex-start}.hero{border-radius:26px;padding:28px;min-height:34vh}
  .grid,.grid.two,.grid.four{grid-template-columns:1fr}.row{grid-template-columns:1fr}h1{font-size:44px}.modal-card h2{font-size:34px}
}

/* M4RTIAL V83 — splash máscara portal M4.
   La calidad se conserva porque el logo no se amplía de forma destructiva.
   La apertura real la hace la máscara desde el hueco del 4, revelando la app directamente. */
@property --m4-portal-size {
  syntax: '<length>';
  inherits: false;
  initial-value: 0px;
}
:root{
  --m4-logo-size: clamp(186px, 28vw, 264px);
  --m4-hole-x: calc(50% + (var(--m4-logo-size) * 0.165));
  --m4-hole-y: calc(50% - (var(--m4-logo-size) * 0.052));
}
body:not(.m4rtial-splash-ready) #app{
  opacity:1;
  transform:scale(1.028);
  transform-origin:var(--m4-hole-x) var(--m4-hole-y);
  filter:blur(8px) saturate(.96);
  will-change:transform,filter;
}
body.m4rtial-splash-ready #app{
  animation:m4AppRevealV83 1220ms cubic-bezier(.18,.9,.2,1) forwards;
}
.m4rtial-launch-splash{
  position:fixed;
  inset:0;
  z-index:2147483000;
  overflow:hidden;
  pointer-events:auto;
  isolation:isolate;
  will-change:opacity,visibility;
}
.m4rtial-splash-surface{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,#ffffff 0%, #fbfaf6 100%);
  --m4-portal-size: 0px;
  -webkit-mask-image: radial-gradient(circle at var(--m4-hole-x) var(--m4-hole-y), transparent 0 var(--m4-portal-size), #000 calc(var(--m4-portal-size) + 1px));
  mask-image: radial-gradient(circle at var(--m4-hole-x) var(--m4-hole-y), transparent 0 var(--m4-portal-size), #000 calc(var(--m4-portal-size) + 1px));
  will-change:opacity,mask-image,-webkit-mask-image;
}
.m4rtial-splash-surface::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at var(--m4-hole-x) var(--m4-hole-y), rgba(244,207,88,.18) 0 0.65%, rgba(255,255,255,0) 8%);
  opacity:.9;
}
.m4rtial-splash-mark-wrap{
  position:absolute;
  left:50%;
  top:50%;
  width:var(--m4-logo-size);
  height:var(--m4-logo-size);
  transform:translate(-50%,-50%) scale(.92);
  transform-origin:66.5% 44.8%;
  display:grid;
  place-items:center;
  will-change:transform,opacity,filter;
}
.m4rtial-splash-mark-wrap::before{
  content:"";
  position:absolute;
  inset:-8%;
  background:radial-gradient(circle at 50% 50%, rgba(243,196,0,.22), rgba(243,196,0,.08) 34%, rgba(255,255,255,0) 68%);
  filter:blur(16px);
  opacity:.85;
  z-index:-1;
}
.m4rtial-splash-mark{
  width:100%;
  height:100%;
  object-fit:contain;
  image-rendering:auto;
  transform-origin:66.5% 44.8%;
  filter:drop-shadow(0 14px 24px rgba(170,126,0,.14)) drop-shadow(0 0 12px rgba(243,196,0,.12));
  will-change:transform,opacity,filter;
  backface-visibility:hidden;
}
.m4rtial-splash-loader,.m4rtial-splash-noise,.m4rtial-splash-portal{display:none!important}
body.m4rtial-splash-ready .m4rtial-splash-surface{
  animation:m4PortalMaskV83 1220ms cubic-bezier(.7,0,.18,1) forwards;
}
body.m4rtial-splash-ready .m4rtial-splash-mark-wrap{
  animation:m4LogoWrapV83 1220ms cubic-bezier(.55,0,.18,1) forwards;
}
body.m4rtial-splash-ready .m4rtial-splash-mark{
  animation:m4LogoMarkV83 1220ms cubic-bezier(.55,0,.18,1) forwards;
}
body.m4rtial-splash-ready .m4rtial-launch-splash{
  animation:m4SplashHideV83 1ms linear 1180ms forwards;
}
@keyframes m4PortalMaskV83{
  0%{--m4-portal-size: 0px}
  14%{--m4-portal-size: 10px}
  28%{--m4-portal-size: 22px}
  44%{--m4-portal-size: 48px}
  58%{--m4-portal-size: 110px}
  70%{--m4-portal-size: 210px}
  82%{--m4-portal-size: 520px}
  100%{--m4-portal-size: 180vmax}
}
@keyframes m4LogoWrapV83{
  0%{opacity:0; transform:translate(-50%,-50%) scale(.86)}
  10%{opacity:1; transform:translate(-50%,-50%) scale(.98)}
  26%{opacity:1; transform:translate(-50%,-50%) scale(1)}
  52%{opacity:1; transform:translate(-50%,-50%) scale(1.015)}
  66%{opacity:.98; transform:translate(-50%,-50%) scale(1.03)}
  80%{opacity:.70; transform:translate(-50%,-50%) scale(1.055)}
  100%{opacity:0; transform:translate(-50%,-50%) scale(1.08)}
}
@keyframes m4LogoMarkV83{
  0%{opacity:0; filter:blur(7px) brightness(.98) drop-shadow(0 10px 18px rgba(170,126,0,.08))}
  10%{opacity:1; filter:blur(0) brightness(1) drop-shadow(0 14px 24px rgba(170,126,0,.14))}
  40%{opacity:1; filter:blur(0) brightness(1.015) drop-shadow(0 14px 24px rgba(170,126,0,.14))}
  64%{opacity:1; filter:blur(0) brightness(1.02) drop-shadow(0 14px 24px rgba(170,126,0,.12))}
  82%{opacity:.54; filter:blur(.1px) brightness(1.04) drop-shadow(0 0 18px rgba(243,196,0,.10))}
  100%{opacity:0; filter:blur(.8px) brightness(1.06) drop-shadow(0 0 18px rgba(243,196,0,.08))}
}
@keyframes m4AppRevealV83{
  0%{opacity:1; filter:blur(8px) saturate(.96); transform:scale(1.028)}
  42%{opacity:1; filter:blur(5px) saturate(.98); transform:scale(1.016)}
  68%{opacity:1; filter:blur(2px) saturate(1); transform:scale(1.006)}
  100%{opacity:1; filter:none; transform:none}
}
@keyframes m4SplashHideV83{
  to{opacity:0; visibility:hidden; pointer-events:none}
}
@media (prefers-reduced-motion: reduce){
  body:not(.m4rtial-splash-ready) #app{opacity:1;filter:none;transform:none}
  .m4rtial-launch-splash{animation:m4SplashHideV83 1ms linear 120ms forwards}
  .m4rtial-splash-surface,.m4rtial-splash-mark-wrap,.m4rtial-splash-mark{animation:none!important}
}

/* M4RTIAL V83 — TPV Redsys / Bizum */
.tpv-card{
  border:1px solid rgba(242,196,0,.25);
  background:linear-gradient(180deg,#fff 0%,#fff9df 100%);
}
.pay-methods{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}
.method-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  border-radius:999px;
  padding:0 12px;
  background:#111;
  color:#f2c400;
  font-size:10px;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.pay-form{
  display:inline;
}

/* M4RTIAL V83 — Acceso clientes y vinculación por email */
.access-card{
  border:1px solid rgba(242,196,0,.25);
  background:linear-gradient(180deg,#fff 0%,#fffaf0 100%);
}
.access-card.linked{
  border-color:rgba(22,125,67,.22);
  background:linear-gradient(180deg,#fff 0%,#effaf3 100%);
}
.access-card.pending{
  border-color:rgba(166,111,0,.22);
  background:linear-gradient(180deg,#fff 0%,#fff7df 100%);
}
.access-card.blocked{
  border-color:rgba(181,45,35,.22);
  background:linear-gradient(180deg,#fff 0%,#fff1ef 100%);
}
.access-admin{
  border:1px solid rgba(242,196,0,.25);
  background:linear-gradient(180deg,#fff 0%,#fffaf0 100%);
}
.section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}
.access-row .actions.compact{
  margin-top:0;
  justify-content:flex-end;
}
@media(max-width:680px){
  .section-head{display:grid;gap:10px}
  .access-row .actions.compact{justify-content:flex-start}
}

/* M4RTIAL V83 — Gestión manual de accesos de clientes */
.table-actions{
  margin-top:0;
  gap:6px;
  flex-wrap:nowrap;
}
.table-actions .btn,
.actions.compact .btn{
  min-height:34px;
  padding:0 10px;
  font-size:10px;
}
@media(max-width:680px){
  .table-actions{flex-wrap:wrap;justify-content:flex-start}
}

/* M4RTIAL V83 — Seguridad admin + interfaz cliente más compacta */
:root{
  --radius:22px;
  --shadow:0 14px 44px rgba(23,20,12,.08);
}
.hero{
  min-height:22vh;
  padding:34px;
  border-radius:26px;
  margin-bottom:14px;
}
.hero.client-hero,
.hero.admin-hero{
  min-height:auto;
}
h1{
  font-size:clamp(34px,5vw,58px);
  line-height:.96;
  letter-spacing:-.055em;
}
.hero p{
  font-size:15px;
  line-height:1.48;
}
.card,.panel{
  padding:18px;
}
.card h2,.panel h2{
  font-size:24px;
}
.metric{
  font-size:30px;
}
.secure-panel{
  max-width:720px;
  margin:24px auto;
}
.secure-panel h1{
  font-size:42px;
}

@media(max-width:680px){
  body{
    background:linear-gradient(180deg,#fff 0%,#f7f5ef 100%);
  }
  .app{
    width:min(100% - 16px,1220px);
    padding:10px 0 24px;
  }
  .topbar{
    border-radius:18px;
    padding:10px;
    margin-bottom:10px;
    align-items:center;
    gap:8px;
    box-shadow:0 8px 24px rgba(23,20,12,.07);
  }
  .brand{
    gap:8px;
    min-width:max-content;
    font-size:13px;
  }
  .brand-mark{
    width:32px;
    height:32px;
    font-size:10px;
  }
  .nav{
    flex-wrap:nowrap;
    overflow-x:auto;
    justify-content:flex-start;
    width:100%;
    gap:6px;
    scrollbar-width:none;
  }
  .nav::-webkit-scrollbar{display:none}
  .nav button,
  .btn{
    min-height:34px;
    padding:0 12px;
    font-size:10px;
    letter-spacing:.06em;
    flex:0 0 auto;
  }
  .hero,
  .hero.client-hero,
  .hero.admin-hero{
    min-height:auto;
    border-radius:18px;
    padding:18px;
    margin-bottom:10px;
  }
  .badge{
    padding:6px 9px;
    font-size:9px;
    margin-bottom:8px;
    letter-spacing:.10em;
  }
  h1{
    font-size:28px;
    line-height:1.02;
    letter-spacing:-.04em;
    margin-bottom:8px;
  }
  .hero p{
    font-size:13px;
    line-height:1.38;
  }
  .grid,
  .grid.two{
    grid-template-columns:1fr;
    gap:10px;
  }
  .grid.four{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .card,
  .panel{
    border-radius:18px;
    padding:14px;
    box-shadow:0 8px 26px rgba(23,20,12,.06);
  }
  .card small{
    width:28px;
    height:28px;
    font-size:10px;
    margin-bottom:8px;
  }
  .card h2,
  .panel h2{
    font-size:20px;
    line-height:1.05;
    margin-bottom:6px;
  }
  .card h3{
    font-size:15px;
    margin-bottom:5px;
  }
  .card p,
  .panel p{
    font-size:13px;
    line-height:1.38;
  }
  .metric{
    font-size:22px;
    letter-spacing:-.04em;
  }
  .status-pill{
    padding:6px 9px;
    font-size:9px;
    letter-spacing:.06em;
  }
  input,select,textarea{
    min-height:40px;
    border-radius:12px;
    padding:0 11px;
    font-size:14px;
  }
  textarea{
    padding:11px;
    min-height:76px;
  }
  .form{
    gap:8px;
    margin-top:10px;
  }
  label{
    font-size:9px;
  }
  .row{
    grid-template-columns:1fr;
    gap:8px;
    border-radius:14px;
    padding:10px;
  }
  .row span{
    font-size:12px;
  }
  .price{
    font-size:20px;
  }
  .gc-meta{
    gap:6px;
  }
  .gc-meta div{
    display:grid;
    gap:4px;
    border-radius:12px;
    padding:9px 10px;
    font-size:12px;
  }
  .gc-meta span{
    text-align:left;
  }
  .actions{
    gap:8px;
    margin-top:12px;
  }
  .actions .btn{
    min-width:0;
  }
  .modal-card{
    border-radius:22px;
    padding:20px;
  }
  .modal-card h2{
    font-size:28px;
  }
  .footer-note{
    display:none;
  }
  .table-wrap{
    border-radius:14px;
  }
  th,td{
    padding:10px;
    font-size:12px;
  }
}

/* M4RTIAL V83 — Admin separado, cartera, eliminación y login limpio */
.public-topbar{
  justify-content:flex-start;
}
.public-topbar .brand{
  margin:0 auto 0 0;
}
.admin-topbar .admin-nav{
  margin-left:auto;
}
.admin-mode .client-only,
.client-mode .admin-only{
  display:none!important;
}
.admin-clients-panel .table-actions{
  display:flex;
  gap:6px;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  min-width:240px;
}
.btn.danger,
.nav button.danger{
  background:#fff0ef!important;
  color:var(--danger)!important;
}
.admin-clients-panel table{
  min-width:980px;
}
.admin-clients-panel td:last-child{
  width:280px;
}
.login-shell .topbar,
.public-mode .topbar{
  padding:12px 16px;
}
.public-mode .nav{
  display:none;
}
.client-mode .hero,
.public-mode .hero{
  min-height:auto;
}
.client-mode .panel,
.client-mode .card{
  border-radius:18px;
}
@media(max-width:680px){
  .app{
    width:min(100% - 16px,1220px);
    padding:10px 0 20px;
  }
  .topbar{
    padding:10px 12px;
    border-radius:18px;
    margin-bottom:10px;
  }
  .brand{
    font-size:14px;
  }
  .brand-mark{
    width:32px;
    height:32px;
  }
  .nav{
    gap:6px;
    width:100%;
  }
  .client-nav button,
  .admin-nav button,
  .btn{
    min-height:34px;
    padding:0 10px;
    font-size:9px;
    letter-spacing:.06em;
  }
  .hero{
    padding:18px;
    border-radius:18px;
    margin-bottom:10px;
  }
  h1{
    font-size:28px;
    letter-spacing:-.045em;
    margin-bottom:8px;
  }
  .hero p{
    font-size:13px;
    line-height:1.34;
  }
  .badge{
    padding:6px 9px;
    font-size:9px;
    margin-bottom:9px;
  }
  .grid{
    gap:10px;
  }
  .card,.panel{
    padding:12px;
    border-radius:16px;
  }
  .card h2,.panel h2{
    font-size:18px;
  }
  .metric{
    font-size:18px;
    line-height:1.1;
  }
  .admin-clients-panel .table-actions{
    min-width:0;
  }
  .admin-clients-panel td:last-child{
    width:auto;
  }
  .section-head{
    gap:8px;
    margin-bottom:10px;
  }
}

/* V83 · Mensajería cliente-admin */
.compact-hero{min-height:22vh;padding:34px}
.support-thread-list{display:grid;gap:12px;margin-top:14px}
.support-thread{border:1px solid var(--line);border-radius:22px;background:#fbfaf6;padding:14px}
.thread-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.thread-head strong{display:block;font-size:16px;letter-spacing:-.02em}
.thread-head span{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.thread-messages{display:grid;gap:10px}
.message-bubble{max-width:82%;border:1px solid var(--line);border-radius:18px;padding:12px;background:#fff}
.message-bubble.admin{margin-left:auto;background:#111;color:#fff;border-color:#111}
.message-bubble.client{margin-right:auto;background:#fff}
.message-bubble p{margin:6px 0 0;line-height:1.45;color:inherit}
.message-meta{display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.72}
.support-admin-row{grid-template-columns:minmax(0,1fr) auto}
@media(max-width:760px){
  .compact-hero{min-height:auto;padding:24px;border-radius:24px}
  .compact-hero h1{font-size:30px;line-height:.95}
  .support-thread{padding:12px;border-radius:18px}
  .thread-head{align-items:flex-start;flex-direction:column}
  .message-bubble{max-width:100%;font-size:14px}
  .support-admin-row{grid-template-columns:1fr}
}

/* V83 — matrícula digital compacta */
.enrollment-form{display:grid;gap:14px;margin-top:14px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form-grid label,.enrollment-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#555}
.form-grid input,.form-grid select,.enrollment-form input,.enrollment-form select,.enrollment-form textarea{font:inherit;text-transform:none;letter-spacing:0;border:1px solid #e7dec8;background:#fff;border-radius:14px;padding:11px 12px;color:#111;min-height:44px}
.enrollment-form textarea{min-height:96px;resize:vertical}
.checkline{flex-direction:row!important;align-items:flex-start!important;text-transform:none!important;font-weight:700!important;letter-spacing:0!important;line-height:1.45;color:#222!important;background:#faf7ef;border:1px solid #eee4d1;border-radius:14px;padding:12px;margin-top:10px}
.checkline input{min-height:auto!important;width:18px;height:18px;margin:1px 8px 0 0;flex:0 0 auto}
.checkline.required{background:#fffaf0}
.legal-box{background:#faf7ef;border:1px solid #eadfca;border-radius:16px;padding:14px;color:#333;line-height:1.55;margin:10px 0}
.clickable-pill{border:0;cursor:pointer;font:inherit;text-transform:uppercase}
.admin-clients-panel table th,.admin-clients-panel table td{vertical-align:middle}

@media (max-width:760px){
  .form-grid{grid-template-columns:1fr;gap:9px}
  .enrollment-form{gap:10px}
  .enrollment-form .panel{padding:14px;border-radius:18px}
  .enrollment-form h2{font-size:18px;margin:0 0 4px}
  .enrollment-form p{font-size:13px;margin:0}
  .form-grid input,.form-grid select,.enrollment-form input,.enrollment-form select,.enrollment-form textarea{min-height:40px;padding:10px;border-radius:12px}
  .checkline{padding:10px;font-size:13px}
}

/* V83 — Landing pública sin encabezado + login principal */
.public-mode{
  padding-top:20px;
}
.public-mode .footer-note{
  margin-top:14px;
}
.landing-page{
  display:grid;
  gap:14px;
}
.landing-login-block{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
  gap:16px;
  align-items:stretch;
  border:1px solid var(--line);
  border-radius:32px;
  padding:18px;
  background:linear-gradient(135deg,#111 0%,#17130b 56%,#050505 100%);
  box-shadow:var(--shadow);
  overflow:hidden;
  position:relative;
}
.landing-login-block:before{
  content:"";
  position:absolute;
  inset:-120px -80px auto auto;
  width:320px;
  height:320px;
  border-radius:999px;
  background:rgba(242,196,0,.18);
  filter:blur(2px);
}
.landing-copy{
  position:relative;
  z-index:1;
  min-height:360px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px;
  color:#fff;
}
.landing-mark{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}
.landing-mark span{
  width:38px;
  height:38px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#000;
  color:var(--gold);
  font-size:12px;
  font-weight:950;
}
.landing-mark strong{
  font-size:14px;
  letter-spacing:-.03em;
}
.landing-copy h1{
  max-width:720px;
  font-size:clamp(38px,5vw,68px);
  line-height:.92;
  letter-spacing:-.065em;
  margin:0 0 14px;
}
.landing-copy p{
  max-width:720px;
  color:rgba(255,255,255,.75);
  font-size:16px;
  line-height:1.6;
  margin:0;
}
.landing-points{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:22px;
}
.landing-points span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.landing-form-card{
  position:relative;
  z-index:1;
  align-self:stretch;
  border-radius:24px;
  background:#fff;
  padding:24px;
  border:1px solid rgba(255,255,255,.45);
  box-shadow:0 22px 60px rgba(0,0,0,.18);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.landing-form-card h2{
  font-size:28px;
  line-height:1;
  letter-spacing:-.045em;
  margin:0 0 8px;
}
.landing-form-card p{
  color:var(--muted);
  line-height:1.5;
  margin:0 0 4px;
}
.btn.ghost{
  margin-top:10px;
  background:#f2efe6;
  color:#111;
}
.landing-feature-grid .card{
  padding:18px;
  border-radius:22px;
}
.landing-feature-grid .card h2{
  font-size:22px;
}
@media(max-width:860px){
  .public-mode{
    width:min(100% - 18px,1220px);
    padding-top:10px;
  }
  .landing-login-block{
    grid-template-columns:1fr;
    border-radius:24px;
    padding:10px;
    gap:10px;
  }
  .landing-copy{
    min-height:auto;
    padding:18px 16px 10px;
  }
  .landing-mark{
    margin-bottom:12px;
  }
  .landing-copy h1{
    font-size:34px;
    line-height:.96;
    margin-bottom:10px;
  }
  .landing-copy p{
    font-size:14px;
    line-height:1.5;
  }
  .landing-points{
    gap:6px;
    margin-top:14px;
  }
  .landing-points span{
    min-height:28px;
    padding:0 9px;
    font-size:9px;
  }
  .landing-form-card{
    border-radius:18px;
    padding:16px;
    box-shadow:none;
  }
  .landing-form-card h2{
    font-size:22px;
  }
  .landing-form-card p{
    font-size:13px;
  }
  .landing-feature-grid{
    gap:10px;
  }
  .landing-feature-grid .card{
    padding:14px;
    border-radius:18px;
  }
  .landing-feature-grid .card h2{
    font-size:18px;
  }
}

/* V83 — sesiones aisladas para pruebas */
.session-slot-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:#f3c400;
  color:#111;
  font-size:11px;
  font-weight:900;
  letter-spacing:.03em;
  margin-left:8px;
  white-space:nowrap;
}
@media(max-width:760px){
  .session-slot-pill{font-size:10px;padding:5px 8px;margin-left:4px}
}

/* V83 — admin limpio, registro privado y eliminación de popups de acciones */
.admin-only-topbar{
  justify-content:center;
  padding:10px 14px;
}
.admin-only-topbar .centered-admin-nav{
  margin:0 auto;
  justify-content:center;
  width:auto;
}
.admin-only-topbar .centered-admin-nav button{
  min-width:110px;
  text-align:center;
}
.invite-only-note{
  margin-top:12px;
  font-size:13px;
  background:#faf7ef;
  color:#5b554b;
}
.enrollment-admin-detail{
  max-width:980px;
  margin:0 auto;
}
@media(max-width:760px){
  .admin-only-topbar{
    position:sticky;
    top:8px;
    border-radius:18px;
    padding:8px;
  }
  .admin-only-topbar .centered-admin-nav{
    width:auto;
    overflow:visible;
    justify-content:center;
  }
  .admin-only-topbar .centered-admin-nav button{
    min-width:96px;
  }
}


/* V83 — panel admin compacto + cartera separada */
.admin-compact-layout{
  display:block;
}
.admin-compact-layout .admin-clients-panel{
  margin-top:12px!important;
}
.compact-admin-panel{
  padding:16px;
  border-radius:20px;
  box-shadow:0 10px 32px rgba(23,20,12,.07);
}
.compact-admin-panel h2,
.admin-clients-panel h2{
  font-size:22px;
  line-height:1;
  margin-bottom:6px;
}
.compact-section-head{
  margin-bottom:10px;
}
.compact-list{
  gap:8px;
}
.compact-row{
  padding:10px;
  border-radius:15px;
}
.compact-form{
  gap:8px;
  margin-top:10px;
}
.compact-form input,
.compact-form select,
.compact-form textarea{
  min-height:42px;
  border-radius:14px;
}
.compact-form textarea{
  min-height:74px;
}
.admin-main-grid{
  gap:12px;
}
.admin-only-topbar .centered-admin-nav button{
  min-width:96px;
}
@media(max-width:760px){
  .admin-only-topbar .centered-admin-nav{
    width:100%;
    display:flex;
    justify-content:center;
    gap:6px;
  }
  .admin-only-topbar .centered-admin-nav button{
    min-width:0;
    flex:1;
    max-width:112px;
    padding:0 8px;
    font-size:10px;
  }
  .compact-admin-panel{
    padding:13px;
    border-radius:18px;
  }
  .compact-admin-panel h2,
  .admin-clients-panel h2{
    font-size:19px;
  }
  .compact-section-head{
    gap:8px;
  }
  .compact-row{
    padding:9px;
  }
  .compact-row .actions.compact{
    margin-top:8px;
  }
  .admin-main-grid{
    gap:10px;
  }
}


/* V83 — páginas separadas de clientes, ficha visual y foto de perfil */
.admin-action-strip{display:flex;justify-content:center;gap:10px;margin:0 0 12px;flex-wrap:wrap}
.client-page-section,.client-detail-page{display:grid;gap:14px}
.clients-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:22px;border-radius:24px;background:linear-gradient(135deg,#111 0%,#17140d 58%,#2b240a 100%);color:#fff;box-shadow:var(--shadow)}
.clients-page-head h1{font-size:clamp(32px,4.8vw,58px);line-height:.95;margin:0 0 8px;color:#fff}
.clients-page-head p{color:rgba(255,255,255,.72);margin:0}.eyebrow{display:inline-flex;align-items:center;width:max-content;margin-bottom:9px;color:var(--gold);font-size:10px;font-weight:950;letter-spacing:.16em;text-transform:uppercase}
.client-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.client-profile-card{border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.94);box-shadow:var(--shadow);padding:16px;display:grid;gap:14px}.client-card-top{display:flex;gap:12px;align-items:flex-start}.client-avatar{width:74px;height:74px;border-radius:22px;overflow:hidden;flex:0 0 auto;background:linear-gradient(135deg,#111,#372e11);display:grid;place-items:center;color:var(--gold);border:1px solid rgba(242,196,0,.28)}.client-avatar.large{width:118px;height:118px;border-radius:30px}.client-avatar img{width:100%;height:100%;object-fit:cover;display:block}.client-avatar span{font-weight:950;font-size:22px;letter-spacing:-.04em}.client-avatar.large span{font-size:34px}.client-card-main{min-width:0;flex:1}.client-card-main h2{font-size:22px;line-height:1.05;letter-spacing:-.04em;margin:0 0 5px}.client-card-main p{color:var(--muted);margin:0;word-break:break-word}.client-card-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.client-card-data,.detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.client-card-data div,.detail-meta div{border:1px solid var(--line);border-radius:15px;background:#fbfaf6;padding:10px;min-width:0}.client-card-data strong,.detail-meta strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.10em;color:#5b554b;margin-bottom:5px}.client-card-data span,.detail-meta span{display:block;color:#111;font-weight:800;overflow-wrap:anywhere}.dark-soft{background:#111!important;color:#fff!important}.client-detail-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:22px;border-radius:28px;background:linear-gradient(135deg,#111 0%,#17140d 58%,#2b240a 100%);color:#fff;box-shadow:var(--shadow)}.detail-hero-main{display:flex;align-items:center;gap:18px;min-width:0}.client-detail-hero h1{font-size:clamp(34px,5.5vw,64px);line-height:.92;margin:0 0 8px;color:#fff}.client-detail-hero p{color:rgba(255,255,255,.72);margin:0}.detail-actions{margin-top:0;justify-content:flex-end}.detail-grid{margin-top:0}.legal-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1050px){.client-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.clients-page-head,.client-detail-hero{display:grid;padding:16px;border-radius:22px}.client-card-grid{grid-template-columns:1fr}.client-card-data,.detail-meta,.legal-meta{grid-template-columns:1fr}.detail-hero-main{display:grid;gap:12px}.client-avatar.large{width:96px;height:96px;border-radius:24px}.detail-actions{justify-content:flex-start}.admin-action-strip .btn{flex:1;min-width:140px}}

/* V83 — admin con calendario y formularios a ancho completo y planes automáticos */
.admin-stack-layout{
  display:grid;
  gap:14px;
}
.admin-full-panel{
  width:100%;
}
.admin-create-client-panel{
  background:linear-gradient(180deg,#fff 0%,#fffaf0 100%);
  border-color:rgba(242,196,0,.24);
}
.admin-notice-panel{
  background:linear-gradient(180deg,#fff 0%,#fbfaf6 100%);
}
.admin-section-title h2{
  font-size:26px;
  letter-spacing:-.045em;
}
.admin-section-title p{
  max-width:740px;
}
.admin-wide-form{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.admin-wide-form label{
  display:grid;
  gap:7px;
  min-width:0;
}
.admin-wide-form input,
.admin-wide-form select,
.admin-wide-form textarea{
  background:#fff;
}
.admin-wide-form input[readonly]{
  background:#f3efe4;
  color:#111;
  font-weight:900;
}
.admin-wide-form .span-2{
  grid-column:span 2;
}
.admin-form-submit{
  display:flex;
  align-items:end;
  justify-content:flex-end;
}
.admin-form-submit .btn{
  width:100%;
  min-height:46px;
}
.notice-wide-form{
  grid-template-columns:1fr 240px 180px;
}
.notice-wide-form textarea{
  min-height:104px;
}
.admin-action-strip{
  display:none!important;
}
@media(max-width:980px){
  .admin-wide-form,
  .notice-wide-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .admin-wide-form .span-2{
    grid-column:1 / -1;
  }
}
@media(max-width:680px){
  .admin-stack-layout{
    gap:10px;
  }
  .admin-wide-form,
  .notice-wide-form{
    grid-template-columns:1fr;
    gap:9px;
  }
  .admin-wide-form .span-2{
    grid-column:auto;
  }
  .admin-section-title h2{
    font-size:21px;
  }
  .admin-form-submit{
    justify-content:stretch;
  }
}

/* M4RTIAL V83 — Calendario clases de prueba + admin sin crear aviso */
.trial-calendar-panel{
  border:1px solid rgba(242,196,0,.24);
  background:linear-gradient(180deg,#fff 0%,#fffaf0 100%);
}
.trial-form{
  margin-bottom:18px;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}
.trial-calendar-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:8px 0 12px;
}
.trial-calendar-toolbar h3{
  margin:0;
  font-size:22px;
  letter-spacing:-.04em;
  text-transform:capitalize;
}
.trial-weekdays{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
  margin-bottom:8px;
}
.trial-weekdays span{
  text-align:center;
  font-size:10px;
  font-weight:950;
  letter-spacing:.12em;
  color:var(--muted);
  text-transform:uppercase;
}
.trial-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
}
.trial-day{
  min-height:132px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:10px;
  overflow:hidden;
}
.trial-day.empty{
  background:transparent;
  border-color:transparent;
  box-shadow:none;
}
.trial-day.today{
  border-color:rgba(242,196,0,.75);
  box-shadow:inset 0 0 0 1px rgba(242,196,0,.35);
}
.trial-day-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:8px;
}
.trial-day-head strong{
  font-size:13px;
}
.trial-day-head span{
  min-width:22px;
  height:22px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#111;
  color:var(--gold);
  font-size:10px;
  font-weight:950;
}
.trial-items{
  display:grid;
  gap:6px;
}
.trial-item{
  border:1px solid rgba(18,18,18,.08);
  background:#fbfaf6;
  border-radius:14px;
  padding:8px;
}
.trial-item strong{
  display:block;
  font-size:12px;
  line-height:1.2;
}
.trial-item span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
}
.trial-item-actions{
  display:flex;
  gap:4px;
  flex-wrap:wrap;
  margin-top:8px;
}
.mini-action{
  border:0;
  border-radius:999px;
  min-height:24px;
  padding:0 8px;
  background:#111;
  color:#fff;
  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.mini-action.muted{background:#f2efe6;color:#111}
.mini-action.danger{background:#fff0ef;color:var(--danger)}
.trial-item-actions .status-pill{
  min-height:24px;
  padding:0 8px;
  font-size:9px;
}
@media(max-width:980px){
  .trial-calendar-grid,.trial-weekdays{grid-template-columns:repeat(2,1fr)}
  .trial-weekdays{display:none}
  .trial-day.empty{display:none}
}
@media(max-width:680px){
  .trial-calendar-toolbar{display:grid;grid-template-columns:1fr;align-items:stretch}
  .trial-calendar-toolbar h3{order:-1;font-size:18px;text-align:center}
  .trial-calendar-grid{grid-template-columns:1fr}
  .trial-day{min-height:auto}
}

/* ============================================================
   V83 — WEB PUBLICA SISTEMA M4RTIAL + ADMIN SUITE
   ============================================================ */
:root{--m4-black:#0c0c0d;--m4-dark:#151515;--m4-gold:#f3c400;--m4-soft:#f4f1e8;--m4-border:#e7dec8;--m4-muted:#6d6a62;}
.public-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px clamp(16px,4vw,46px);background:rgba(12,12,13,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(243,196,0,.18)}
.public-brand{display:flex;align-items:center;gap:10px;color:#fff;cursor:pointer;font-weight:900;letter-spacing:.02em}.public-brand span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--m4-gold);color:#111;font-weight:900}.public-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.public-nav a{color:#efe8d7;text-decoration:none;font-size:13px;font-weight:750;padding:9px 10px;border-radius:999px}.public-nav a:hover{background:rgba(255,255,255,.08)}.compact-btn{padding:9px 13px!important;font-size:13px!important}
.public-landing{background:linear-gradient(180deg,#0b0b0c 0%,#151515 42%,#f4f1e8 42%,#f4f1e8 100%);min-height:100vh}.public-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.62fr);gap:28px;align-items:stretch;padding:clamp(28px,6vw,78px) clamp(16px,5vw,70px) 28px}.public-hero-copy{color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:460px}.public-hero-copy h1{font-size:clamp(36px,6vw,76px);line-height:.95;margin:16px 0 18px;max-width:900px;letter-spacing:-.06em}.public-hero-copy p{font-size:clamp(15px,1.5vw,19px);line-height:1.65;color:#d6d0c2;max-width:720px}.public-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.public-login-card{background:#fff;border:1px solid rgba(243,196,0,.35);border-radius:26px;padding:26px;box-shadow:0 28px 70px rgba(0,0,0,.28);align-self:center}.public-login-card h2{font-size:26px;margin:16px 0 8px}.public-login-card p{color:#605c52;line-height:1.55}.landing-mark{display:flex;align-items:center;gap:10px}.landing-mark span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#111;color:var(--m4-gold);font-weight:900}.landing-mark strong{font-size:14px;letter-spacing:.06em}.info-carousel{padding:0 clamp(16px,5vw,70px) 34px;background:#151515;overflow:hidden}.carousel-track{display:flex;gap:14px;animation:m4carousel 25s linear infinite;width:max-content}.carousel-card{width:min(360px,78vw);min-height:142px;text-decoration:none;color:#fff;background:linear-gradient(135deg,#202020,#111);border:1px solid rgba(243,196,0,.23);border-radius:22px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 14px 32px rgba(0,0,0,.24)}.carousel-card span{color:#f3c400;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.12em}.carousel-card strong{font-size:20px}.carousel-card p{font-size:13px;color:#cfc8b8;line-height:1.45}@keyframes m4carousel{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.public-section{padding:clamp(36px,6vw,74px) clamp(16px,5vw,70px);background:#f4f1e8}.public-section h2{font-size:clamp(30px,4vw,52px);line-height:1;margin:8px 0 12px;letter-spacing:-.04em;color:#111}.section-kicker,.eyebrow{color:#8d7100;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:900}.section-subtitle{font-size:clamp(18px,2.2vw,26px);font-weight:800;max-width:950px;color:#111}.section-lead{font-size:16px;line-height:1.7;color:#3e3b35;max-width:980px}.section-lead.muted{color:#6d675c}.public-card-grid,.system-grid,.program-grid{display:grid;gap:16px;margin-top:28px}.public-card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.system-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.program-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.public-card-grid article,.system-grid article,.program-grid article{background:#fff;border:1px solid #e8dfca;border-radius:22px;padding:22px;box-shadow:0 10px 28px rgba(0,0,0,.05)}.system-grid article span,.icon-dot{font-size:26px}.system-grid h3,.program-grid h3,.public-card-grid h3{margin:10px 0 8px;color:#111}.system-grid p,.program-grid p,.public-card-grid p{color:#615d54;line-height:1.55;font-size:14px}.program-grid article{background:#111;color:#fff;border-color:#2a2a2a}.program-grid article span{display:inline-block;color:#111;background:#f3c400;border-radius:999px;padding:6px 10px;font-weight:900;font-size:11px}.program-grid article h3{color:#fff}.program-grid article p{color:#d6d0c2}.roadmap-section{background:#111;color:#fff}.roadmap-section h2{color:#fff}.timeline{display:grid;gap:14px;margin-top:28px}.timeline-item{display:grid;grid-template-columns:48px 1fr;gap:16px;background:#1a1a1b;border:1px solid rgba(243,196,0,.18);border-radius:22px;padding:20px}.timeline-index{width:42px;height:42px;border-radius:14px;background:#f3c400;color:#111;display:grid;place-items:center;font-weight:900}.timeline-item h3{margin:0 0 8px;color:#fff}.timeline-item p{margin:0;color:#cfc8b6;line-height:1.55}.chip-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.chip-list span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:7px 10px;font-size:12px;color:#f6efd9}.roadmap-note{margin-top:18px;background:#f3c400;color:#111;border-radius:20px;padding:18px 20px;font-weight:800;line-height:1.5}.admin-suite-topbar{justify-content:center;padding:10px 12px}.admin-main-nav{width:100%;justify-content:center;gap:8px;display:flex;flex-wrap:wrap}.admin-main-nav button{font-size:12px;padding:9px 11px}.admin-dashboard-page,.admin-form-page,.admin-system-page{padding:20px clamp(12px,3vw,34px)}.admin-page-title{margin:4px 0 18px}.admin-page-title h1{font-size:clamp(30px,4vw,48px);line-height:1;margin:6px 0 8px;letter-spacing:-.04em}.admin-page-title p{color:#676159;margin:0}.dashboard-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.metric-card{background:#111;color:#fff;border-radius:20px;padding:18px;border:1px solid rgba(243,196,0,.2);min-height:118px;display:flex;flex-direction:column;justify-content:space-between}.metric-card span{font-size:12px;color:#cfc8b6;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.metric-card strong{font-size:clamp(26px,3vw,38px);line-height:1;color:#f3c400}.metric-card small{color:#aaa192}.reports-grid .metric-card{background:#fff;color:#111;border-color:#e7dec8}.reports-grid .metric-card span,.reports-grid .metric-card small{color:#605a50}.rich-admin-form{grid-template-columns:repeat(4,minmax(0,1fr))}.client-system-card{background:linear-gradient(135deg,#111,#1d1d1d);color:#fff}.client-system-card h2{color:#fff}.m4rtial-identity-panel{border:1px solid rgba(243,196,0,.35)!important;background:linear-gradient(180deg,#fff,#fffaf0)}.trial-item-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mini-action{border:0;border-radius:999px;padding:6px 8px;font-size:11px;font-weight:800;background:#f3c400;color:#111;cursor:pointer}.mini-action.muted{background:#ece7d8}.mini-action.danger{background:#331515;color:#fff}.detail-meta div{min-width:0}.detail-meta span{overflow-wrap:anywhere}.footer-note{display:none}.admin-mode .footer-note,.client-mode .footer-note{display:block}
@media(max-width:1100px){.public-hero{grid-template-columns:1fr}.public-hero-copy{min-height:auto}.system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rich-admin-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.public-header{position:relative;align-items:flex-start}.public-nav{gap:6px}.public-nav a{display:none}.public-hero{padding:22px 12px 18px}.public-hero-copy h1{font-size:38px}.public-login-card{padding:18px;border-radius:20px}.public-section{padding:34px 12px}.public-card-grid.three,.system-grid,.program-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:38px 1fr;padding:16px}.timeline-index{width:34px;height:34px;border-radius:11px}.dashboard-metrics-grid{grid-template-columns:1fr}.admin-main-nav{justify-content:center;overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.admin-main-nav button{white-space:nowrap}.admin-dashboard-page,.admin-form-page,.admin-system-page{padding:14px 10px}.rich-admin-form{grid-template-columns:1fr}.public-hero-actions .btn{width:100%;text-align:center}.carousel-card{width:82vw}.trial-calendar-grid{font-size:12px}.trial-day{min-height:120px}}


/* M4RTIAL V83 — PWA */
@media(display-mode: standalone){
  body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
  .public-header,.topbar{top:max(12px, env(safe-area-inset-top));}
}
.pwa-install-section{padding-top:0!important;}
.pwa-install-card{
  border:1px solid rgba(242,196,0,.28);
  border-radius:28px;
  background:linear-gradient(135deg,#111 0%,#17130a 60%,#050505 100%);
  color:#fff;
  box-shadow:0 24px 70px rgba(23,20,12,.16);
  padding:24px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
}
.pwa-install-card h2{font-size:clamp(26px,4vw,42px);line-height:.98;letter-spacing:-.055em;margin-bottom:10px;color:#fff;}
.pwa-install-card p{color:rgba(255,255,255,.72);line-height:1.55;margin:0 0 8px;max-width:780px;}
.pwa-install-help{font-size:13px;color:#f2c400!important;font-weight:800;}
@media(max-width:680px){
  .pwa-install-card{grid-template-columns:1fr;padding:20px;border-radius:22px;}
  .pwa-install-card .btn{width:100%;}
}



/* ============================================================
   M4RTIAL V83 — OPTIMIZACIÓN MÓVIL COMPACTA GLOBAL
   Objetivo: reducir scroll, compactar tarjetas, formularios, tablas,
   cabeceras, grids, calendarios y áreas de cliente/admin.
   ============================================================ */

@media (max-width: 760px){

  html{
    font-size:14px;
    scroll-padding-top:8px;
  }

  body{
    line-height:1.38;
    overflow-x:hidden;
  }

  .app{
    width:min(100% - 16px, 1220px);
    padding:8px 0 18px;
  }

  .topbar{
    border-radius:16px;
    padding:8px 10px;
    gap:8px;
    min-height:auto;
    align-items:center;
  }

  .brand,
  .brandline,
  .brand-area{
    gap:8px;
    min-height:auto;
  }

  .brand img,
  .brand-logo,
  .logo,
  .m4-logo{
    width:34px!important;
    height:34px!important;
    max-width:34px!important;
    max-height:34px!important;
  }

  .brand h1,
  .brand-title,
  .panel-title{
    font-size:15px!important;
    line-height:1.1;
    margin:0;
  }

  .brand p,
  .brand-subtitle,
  .topbar p{
    font-size:11px!important;
    line-height:1.25;
    margin:0;
  }

  .nav{
    gap:6px;
    justify-content:center;
    width:100%;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:2px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

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

  .nav a,
  .nav button,
  .btn,
  button,
  input[type="submit"]{
    min-height:34px;
    padding:8px 11px;
    border-radius:12px;
    font-size:12px;
    line-height:1.1;
    white-space:nowrap;
  }

  .btn.big,
  .btn-large,
  .button-large{
    min-height:38px;
    padding:9px 13px;
    font-size:12.5px;
  }

  .hero{
    min-height:auto!important;
    border-radius:20px;
    padding:18px 16px!important;
    margin:0 0 10px 0;
  }

  .hero h1,
  h1{
    font-size:28px!important;
    line-height:1.03!important;
    letter-spacing:-.04em;
    margin:6px 0 8px!important;
  }

  .hero h2,
  h2{
    font-size:21px!important;
    line-height:1.1!important;
    letter-spacing:-.025em;
    margin:0 0 8px!important;
  }

  h3{
    font-size:16px!important;
    line-height:1.15!important;
    margin:0 0 7px!important;
  }

  h4{
    font-size:14px!important;
    line-height:1.15!important;
    margin:0 0 6px!important;
  }

  p,
  li,
  label,
  .muted,
  .small{
    font-size:12.5px!important;
    line-height:1.38!important;
  }

  .hero p{
    font-size:13px!important;
    line-height:1.42!important;
    margin:0 0 10px!important;
  }

  .badge,
  .pill,
  .status,
  .tag{
    padding:5px 8px;
    font-size:10.5px!important;
    border-radius:999px;
  }

  section,
  .section{
    margin:10px 0!important;
  }

  .card,
  .panel,
  .box,
  .admin-card,
  .client-card,
  .program-card,
  .timeline-card,
  .metric-card,
  .notice-card,
  .message-card,
  .form-card{
    border-radius:16px!important;
    padding:12px!important;
    margin-bottom:8px!important;
  }

  .grid,
  .grid.two,
  .grid.three,
  .grid.four,
  .cards,
  .admin-grid,
  .client-grid,
  .metrics-grid,
  .program-grid,
  .dashboard-grid{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .grid.compact-mobile,
  .metrics-grid,
  .dashboard-grid{
    grid-template-columns:1fr 1fr!important;
  }

  .row,
  .form-row,
  .input-row{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  input,
  select,
  textarea{
    min-height:36px!important;
    padding:9px 10px!important;
    border-radius:11px!important;
    font-size:13px!important;
  }

  textarea{
    min-height:78px!important;
  }

  label{
    margin-bottom:4px!important;
    font-weight:700;
  }

  form{
    gap:8px!important;
  }

  .form-actions,
  .actions,
  .button-row{
    gap:6px!important;
    flex-wrap:wrap;
  }

  .table-wrap,
  .table-container{
    border-radius:14px!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch;
  }

  table{
    font-size:12px!important;
    min-width:620px;
  }

  th,
  td{
    padding:8px 9px!important;
    line-height:1.25!important;
  }

  .calendar,
  .calendar-card,
  .trial-calendar,
  .month-calendar{
    border-radius:16px!important;
    padding:10px!important;
  }

  .calendar-header,
  .month-header{
    gap:6px!important;
    margin-bottom:8px!important;
  }

  .calendar-grid,
  .month-grid{
    gap:4px!important;
  }

  .calendar-day,
  .day-cell,
  .trial-day{
    min-height:58px!important;
    padding:5px!important;
    border-radius:10px!important;
    font-size:11px!important;
  }

  .calendar-day strong,
  .day-number{
    font-size:11px!important;
  }

  .calendar-event,
  .trial-chip,
  .event-chip{
    padding:3px 5px!important;
    border-radius:7px!important;
    font-size:10.5px!important;
    line-height:1.15!important;
    margin-top:3px!important;
  }

  .client-card{
    display:grid!important;
    grid-template-columns:48px 1fr!important;
    column-gap:10px!important;
    align-items:center!important;
  }

  .client-card .avatar,
  .client-avatar,
  .profile-photo,
  .client-photo{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    border-radius:14px!important;
  }

  .client-card .actions,
  .client-card .button-row{
    grid-column:1 / -1;
    margin-top:8px!important;
  }

  .profile-hero,
  .client-profile-hero,
  .account-hero{
    padding:14px!important;
    border-radius:18px!important;
    display:grid!important;
    grid-template-columns:58px 1fr!important;
    gap:10px!important;
    align-items:center!important;
  }

  .profile-hero .avatar,
  .client-profile-hero .avatar,
  .account-hero .avatar{
    width:58px!important;
    height:58px!important;
    border-radius:16px!important;
  }

  .metric,
  .stat,
  .kpi,
  .dashboard-stat{
    padding:10px!important;
    border-radius:14px!important;
  }

  .metric strong,
  .stat strong,
  .kpi strong,
  .dashboard-stat strong{
    font-size:20px!important;
    line-height:1!important;
  }

  .metric span,
  .stat span,
  .kpi span,
  .dashboard-stat span{
    font-size:11px!important;
    line-height:1.2!important;
  }

  .landing-login,
  .login-card,
  .auth-card{
    padding:16px!important;
    border-radius:20px!important;
  }

  .auth-shell,
  .login-shell{
    min-height:auto!important;
    padding:10px!important;
  }

  .roadmap,
  .timeline{
    gap:8px!important;
  }

  .timeline-item,
  .roadmap-item{
    padding:12px!important;
    border-radius:16px!important;
  }

  .timeline-item ul,
  .roadmap-item ul{
    margin:8px 0 0!important;
    padding-left:16px!important;
  }

  .system-block,
  .feature-card{
    padding:12px!important;
    min-height:auto!important;
  }

  .carousel,
  .info-carousel{
    min-height:auto!important;
    padding:0!important;
  }

  .carousel-card,
  .slide-card{
    min-height:120px!important;
    padding:14px!important;
    border-radius:18px!important;
  }

  .modal,
  .modal-card{
    width:min(100% - 18px, 520px)!important;
    border-radius:18px!important;
    padding:14px!important;
    max-height:88vh!important;
    overflow:auto!important;
  }

  .modal-card h2{
    font-size:21px!important;
  }

  .hide-mobile{
    display:none!important;
  }

  .mobile-compact-hidden{
    display:none!important;
  }

  .desktop-only{
    display:none!important;
  }

  .mobile-tight{
    margin:0!important;
    padding:0!important;
  }
}

@media (max-width: 420px){
  .app{
    width:min(100% - 12px, 1220px);
    padding-top:6px;
  }

  .topbar{
    padding:7px 8px;
    border-radius:14px;
  }

  .hero{
    padding:16px 14px!important;
    border-radius:18px;
  }

  .hero h1,
  h1{
    font-size:25px!important;
  }

  h2{
    font-size:19px!important;
  }

  .card,
  .panel,
  .box,
  .admin-card,
  .client-card,
  .form-card{
    padding:10px!important;
    border-radius:14px!important;
  }

  .grid.compact-mobile,
  .metrics-grid,
  .dashboard-grid{
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
  }

  .nav a,
  .nav button,
  .btn,
  button{
    min-height:32px;
    padding:7px 9px;
    font-size:11.5px!important;
  }

  .calendar-day,
  .day-cell,
  .trial-day{
    min-height:50px!important;
    padding:4px!important;
  }

  .calendar-event,
  .trial-chip,
  .event-chip{
    font-size:9.8px!important;
    padding:3px 4px!important;
  }
}


/* M4RTIAL V83 — integración coherente del emblema M4 en páginas públicas, cliente y administración */
.public-brand,.brand,.landing-mark{align-items:center}
.public-brand-logo,.brand-logo,.landing-mark-logo{display:block;object-fit:contain;flex:0 0 auto}
.public-brand-logo{width:42px;height:42px;filter:drop-shadow(0 10px 16px rgba(243,196,0,.18))}
.brand-logo{width:40px;height:40px;filter:drop-shadow(0 8px 14px rgba(243,196,0,.12))}
.landing-mark-logo{width:44px;height:44px;filter:drop-shadow(0 10px 16px rgba(243,196,0,.14))}
.public-brand-copy,.brand-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.public-brand-copy strong{color:#fff;font-size:14px;line-height:1;letter-spacing:.08em}
.public-brand-copy small{color:#d8cfbc;font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.14em}
.brand-copy strong{display:block;color:#111;font-weight:950;line-height:1;letter-spacing:-.04em}
.client-topbar .brand-copy strong{font-size:14px}
.brand-copy .session-slot-pill{width:fit-content}

.hero,.panel,.public-login-card,.landing-form-card,.pwa-install-card,.client-detail-hero,.client-profile-card,.metric-card,.timeline-item,.program-grid article,.public-card-grid article,.system-grid article{position:relative;overflow:hidden;isolation:isolate}
.hero::after,.panel::after,.public-login-card::after,.landing-form-card::after,.pwa-install-card::after,.client-profile-card::after,.public-card-grid article::after,.system-grid article::after,.program-grid article::after{
  content:"";
  position:absolute;
  top:14px;
  right:14px;
  width:54px;
  height:54px;
  background:url('/icons/m4-emblem-premium.png?v=205') center/contain no-repeat;
  opacity:.075;
  pointer-events:none;
  filter:drop-shadow(0 8px 14px rgba(243,196,0,.12));
  z-index:0;
}
.metric-card::after,.timeline-item::after{content:"";position:absolute;top:12px;right:12px;width:40px;height:40px;background:url('/icons/m4-emblem-premium.png?v=205') center/contain no-repeat;opacity:.06;pointer-events:none;z-index:0}
.client-detail-hero::after{content:"";position:absolute;top:18px;right:18px;width:84px;height:84px;background:url('/icons/m4-emblem-premium.png?v=205') center/contain no-repeat;opacity:.14;pointer-events:none;z-index:0}
.public-hero-copy{position:relative;overflow:hidden}
.public-hero-copy::after{content:"";position:absolute;right:0;bottom:0;width:120px;height:120px;background:url('/icons/m4-emblem-premium.png?v=205') center/contain no-repeat;opacity:.08;pointer-events:none;filter:drop-shadow(0 12px 18px rgba(243,196,0,.10))}
.hero > *, .panel > *, .public-login-card > *, .landing-form-card > *, .pwa-install-card > *, .client-detail-hero > *, .client-profile-card > *, .metric-card > *, .timeline-item > *, .program-grid article > *, .public-card-grid article > *, .system-grid article > *{position:relative;z-index:1}

@media(max-width:760px){
  .public-brand-logo{width:36px;height:36px}
  .brand-logo{width:34px;height:34px}
  .landing-mark-logo{width:38px;height:38px}
  .hero::after,.panel::after,.public-login-card::after,.landing-form-card::after,.pwa-install-card::after,.client-profile-card::after,.public-card-grid article::after,.system-grid article::after,.program-grid article::after{width:40px;height:40px;top:10px;right:10px;opacity:.07}
  .metric-card::after,.timeline-item::after{width:28px;height:28px;top:10px;right:10px;opacity:.055}
  .client-detail-hero::after{width:58px;height:58px;top:12px;right:12px;opacity:.12}
  .public-hero-copy::after{width:80px;height:80px;opacity:.07}
}



/* ============================================================
   M4RTIAL V83 — encabezado minimalista con logotipo central
   y menú desplegable tipo selector.
   ============================================================ */

.public-header,
.topbar,
.admin-suite-topbar,
.client-topbar{
  display:none!important;
}

.m4-minimal-header{
  width:min(100% - 28px,1220px);
  margin:14px auto 18px;
  min-height:66px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  position:relative;
  z-index:50;
}

.m4-header-logo{
  grid-column:2;
  justify-self:center;
  display:grid;
  place-items:center;
  cursor:pointer;
}

.m4-centered-logo{
  width:74px;
  height:74px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 14px 22px rgba(162,119,0,.16));
}

.m4-header-menu{
  grid-column:3;
  justify-self:end;
  display:flex;
  align-items:center;
}

.m4-menu-select{
  appearance:none;
  -webkit-appearance:none;
  min-height:38px;
  min-width:150px;
  border-radius:999px;
  border:1px solid rgba(185,146,23,.36);
  background:
    linear-gradient(135deg,#ffffff,#f8f3df),
    url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23111' stroke-width='1.7' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 13px center/12px 8px;
  color:#111;
  padding:9px 36px 9px 15px;
  font-weight:900;
  font-size:12px;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(0,0,0,.08);
}

.m4-menu-select:focus{
  outline:2px solid rgba(243,196,0,.42);
  outline-offset:2px;
}

.logo-only-mark{
  justify-content:center;
  margin-bottom:10px;
}

.logo-only-mark .landing-mark-logo{
  width:62px;
  height:62px;
}

.landing-mark strong{
  display:none!important;
}

.m4-status-card{
  max-width:520px;
}

@media(max-width:760px){
  .m4-minimal-header{
    width:min(100% - 16px,1220px);
    margin:8px auto 10px;
    min-height:56px;
    grid-template-columns:1fr auto 1fr;
  }

  .m4-centered-logo{
    width:58px;
    height:58px;
  }

  .m4-menu-select{
    min-width:118px;
    min-height:34px;
    padding:8px 31px 8px 12px;
    font-size:11.5px;
    background-position:right 11px center;
  }

  .m4-header-menu{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
  }

  .logo-only-mark .landing-mark-logo{
    width:50px;
    height:50px;
  }
}

@media(max-width:420px){
  .m4-centered-logo{
    width:52px;
    height:52px;
  }

  .m4-menu-select{
    min-width:106px;
    font-size:11px;
  }
}



/* ============================================================
   M4RTIAL V83 — SISTEMA M4RTIAL MÁS VISUAL Y ESPACIADO
   ============================================================ */

.sistema-publico{
  background:
    radial-gradient(circle at 18% 8%, rgba(243,196,0,.12), transparent 26%),
    radial-gradient(circle at 86% 24%, rgba(17,17,17,.07), transparent 28%),
    linear-gradient(180deg,#f8f5eb 0%,#f4f1e8 100%);
}

.sistema-publico .section-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#111;
  color:#f3c400;
  border-radius:999px;
  padding:8px 12px;
  font-size:11px;
  letter-spacing:.14em;
  margin-bottom:14px;
}

.sistema-publico h2{
  margin-top:14px!important;
  margin-bottom:16px!important;
  max-width:860px;
}

.sistema-publico .section-subtitle{
  max-width:920px;
  margin:0 0 18px 0;
  line-height:1.35;
  color:#111;
}

.sistema-publico .section-lead{
  max-width:920px;
  margin:0 0 14px 0;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(231,222,200,.95);
  border-radius:20px;
  padding:18px 20px;
  box-shadow:0 10px 28px rgba(0,0,0,.04);
}

.sistema-publico .section-lead.muted{
  margin-top:10px;
  background:rgba(255,255,255,.48);
}

.sistema-publico .system-grid{
  margin-top:34px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}

.sistema-publico .system-grid article{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:230px;
  padding:26px;
  border-radius:26px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,251,239,.94));
  border:1px solid rgba(231,222,200,.95);
  box-shadow:0 18px 42px rgba(0,0,0,.065);
  overflow:hidden;
}

.sistema-publico .system-grid article::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:linear-gradient(90deg,#111,#f3c400,#111);
  opacity:.85;
}

.sistema-publico .system-grid article > span{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(135deg,#111 0%,#2b250f 55%,#f3c400 160%);
  color:#f3c400;
  font-size:23px!important;
  box-shadow:0 12px 24px rgba(0,0,0,.13);
  margin-bottom:4px;
}

.sistema-publico .system-grid article h3{
  margin:2px 0 0!important;
  font-size:20px!important;
  line-height:1.12!important;
  letter-spacing:-.025em;
  color:#111;
}

.sistema-publico .system-grid article p{
  margin:0;
  color:#5e584e;
  line-height:1.58!important;
  font-size:14px!important;
}

.sistema-publico .system-grid article:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 54px rgba(0,0,0,.09);
  transition:transform .22s ease, box-shadow .22s ease;
}

@media(max-width:980px){
  .sistema-publico .system-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }
}

@media(max-width:760px){
  .sistema-publico{
    padding-top:28px!important;
    padding-bottom:30px!important;
  }

  .sistema-publico .section-kicker{
    padding:7px 10px;
    font-size:10px!important;
    margin-bottom:10px;
  }

  .sistema-publico h2{
    margin-top:10px!important;
    margin-bottom:10px!important;
  }

  .sistema-publico .section-subtitle{
    margin-bottom:10px;
  }

  .sistema-publico .section-lead{
    padding:13px 14px;
    border-radius:16px;
    margin-bottom:8px;
  }

  .sistema-publico .system-grid{
    margin-top:18px;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .sistema-publico .system-grid article{
    min-height:auto;
    padding:14px 14px 14px 74px!important;
    border-radius:18px!important;
    gap:5px;
  }

  .sistema-publico .system-grid article > span{
    position:absolute;
    left:14px;
    top:14px;
    width:44px;
    height:44px;
    border-radius:14px;
    font-size:20px!important;
    margin:0;
  }

  .sistema-publico .system-grid article h3{
    font-size:16px!important;
    margin-bottom:3px!important;
  }

  .sistema-publico .system-grid article p{
    font-size:12.5px!important;
    line-height:1.42!important;
  }
}

@media(max-width:420px){
  .sistema-publico .system-grid article{
    padding-left:66px!important;
  }

  .sistema-publico .system-grid article > span{
    width:38px;
    height:38px;
    font-size:18px!important;
  }
}


/* ============================================================
   M4RTIAL V83 — Sistema de asistencia por disciplinas
   ============================================================ */
.attendance-page{padding:20px clamp(12px,3vw,34px)}
.attendance-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.8fr);gap:16px;margin-bottom:16px}
.attendance-create-panel,.attendance-sessions-panel,.attendance-register-panel{border-radius:24px}
.attendance-session-form{grid-template-columns:repeat(3,minmax(0,1fr))}
.attendance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.attendance-toolbar h2{margin:0;font-size:22px!important;text-transform:capitalize}
.attendance-session-list{display:grid;gap:8px;max-height:420px;overflow:auto;padding-right:4px}
.attendance-session-row{display:grid;text-align:left;gap:4px;border:1px solid var(--line);border-radius:16px;background:#fbfaf6;padding:12px;cursor:pointer;color:#111}
.attendance-session-row.active{border-color:rgba(243,196,0,.7);background:linear-gradient(135deg,#111,#2a230b);color:#fff}
.attendance-session-row span{font-size:12px;color:inherit;opacity:.72}
.attendance-register-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin-bottom:14px}
.attendance-register-head h2{margin:4px 0 6px!important}
.attendance-register-head p{margin:0;color:var(--muted)}
.attendance-kpis{display:grid;grid-template-columns:repeat(4,80px);gap:8px}
.attendance-kpis div{border:1px solid var(--line);background:#fbfaf6;border-radius:16px;padding:10px;text-align:center}
.attendance-kpis strong{display:block;font-size:24px;line-height:1;color:#111}
.attendance-kpis span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#6a6258;font-weight:900}
.attendance-actions-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.attendance-client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.attendance-client-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:18px;padding:12px;box-shadow:0 8px 24px rgba(0,0,0,.04)}
.attendance-client-main{min-width:0}.attendance-client-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-client-main span{display:block;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px}
.attendance-status-pill{border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900;text-transform:capitalize;background:#eee7d8;color:#111}.attendance-status-pill.ok{background:#dff7e8;color:#126532}.attendance-status-pill.warn{background:#fff0bf;color:#735600}.attendance-status-pill.danger{background:#ffe1df;color:#84201c}.attendance-status-pill.neutral{background:#ece7d8;color:#6a6258}
.attendance-buttons{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}.attendance-buttons button{border:0;border-radius:999px;padding:7px 9px;font-size:11px;font-weight:900;background:#f3c400;color:#111;cursor:pointer}.attendance-buttons button:nth-child(2),.attendance-buttons button:nth-child(3){background:#eee7d8}.attendance-buttons button.danger{background:#2d1111;color:#fff}
@media(max-width:980px){.attendance-layout{grid-template-columns:1fr}.attendance-client-grid{grid-template-columns:1fr}.attendance-session-form{grid-template-columns:1fr 1fr}.attendance-register-head{grid-template-columns:1fr}.attendance-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.attendance-page{padding:10px 8px}.attendance-session-form{grid-template-columns:1fr}.attendance-toolbar{align-items:stretch}.attendance-toolbar .btn{flex:1}.attendance-toolbar h2{text-align:center;font-size:16px!important}.attendance-client-card{padding:10px;border-radius:15px}.attendance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-kpis strong{font-size:20px}.attendance-buttons button{flex:1;min-width:72px}}



/* ============================================================
   M4RTIAL V83 — filtros de clientes activos y exclusión admin
   ============================================================ */

.client-filter-panel{
  margin-bottom:16px!important;
  background:
    radial-gradient(circle at 96% 12%, rgba(243,196,0,.12), transparent 24%),
    linear-gradient(180deg,#fff,#fffaf0);
  border:1px solid rgba(231,222,200,.95);
}

.client-filter-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}

.client-filter-head h2{
  margin:8px 0 5px!important;
}

.client-filter-head p{
  margin:0;
  color:#6b6459;
}

.client-filter-count{
  min-width:112px;
  border-radius:18px;
  background:#111;
  color:#fff;
  padding:14px 16px;
  text-align:center;
  box-shadow:0 14px 32px rgba(0,0,0,.12);
}

.client-filter-count strong{
  display:block;
  color:#f3c400;
  font-size:32px;
  line-height:1;
}

.client-filter-count span{
  display:block;
  margin-top:5px;
  font-size:11px;
  color:#d8cfbc;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.client-filter-grid{
  display:grid;
  grid-template-columns:1.25fr repeat(5,minmax(0,1fr));
  gap:10px;
  align-items:end;
}

.client-filter-grid label{
  display:grid;
  gap:5px;
  font-weight:900;
  font-size:12px;
  color:#2a261f;
}

.client-filter-grid input,
.client-filter-grid select{
  width:100%;
  min-height:40px;
  border:1px solid rgba(231,222,200,.98);
  border-radius:14px;
  background:#fff;
  color:#111;
  padding:9px 11px;
  font-weight:750;
}

.client-filter-actions{
  margin-top:12px;
  justify-content:flex-end;
}

@media(max-width:980px){
  .client-filter-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .client-filter-panel{
    padding:12px!important;
  }

  .client-filter-head{
    align-items:stretch;
    gap:10px;
    margin-bottom:10px;
  }

  .client-filter-count{
    min-width:82px;
    padding:10px 12px;
    border-radius:14px;
  }

  .client-filter-count strong{
    font-size:24px;
  }

  .client-filter-count span{
    font-size:9.5px;
  }

  .client-filter-grid{
    grid-template-columns:1fr 1fr!important;
    gap:8px;
  }

  .client-filter-grid label:first-child{
    grid-column:1 / -1;
  }

  .client-filter-grid input,
  .client-filter-grid select{
    min-height:34px!important;
    border-radius:11px;
    font-size:12px!important;
    padding:7px 9px!important;
  }
}

@media(max-width:420px){
  .client-filter-grid{
    grid-template-columns:1fr!important;
  }

  .client-filter-head{
    display:grid;
  }

  .client-filter-count{
    width:100%;
  }
}



/* ============================================================
   M4RTIAL V83 — dashboard de facturación y cobros por periodicidad
   ============================================================ */

.billing-dashboard-panel{
  margin-top:18px;
  padding:22px;
  border-radius:26px;
  background:
    radial-gradient(circle at 96% 10%, rgba(243,196,0,.16), transparent 26%),
    linear-gradient(135deg,#111 0%,#18160f 55%,#2d2506 100%);
  color:#fff;
  box-shadow:0 24px 64px rgba(0,0,0,.18);
  border:1px solid rgba(243,196,0,.20);
  overflow:hidden;
  position:relative;
}

.billing-dashboard-panel::after{
  content:"";
  position:absolute;
  right:18px;
  top:18px;
  width:88px;
  height:88px;
  background:url('/icons/m4-emblem-premium.png?v=205') center/contain no-repeat;
  opacity:.12;
  pointer-events:none;
}

.billing-dashboard-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  position:relative;
  z-index:1;
}

.billing-dashboard-head h2{
  color:#fff;
  margin:8px 0 8px!important;
  font-size:clamp(24px,3vw,38px)!important;
  letter-spacing:-.04em;
}

.billing-dashboard-head p{
  max-width:860px;
  color:#d8cfbc;
  margin:0;
  line-height:1.55;
}

.billing-total-box{
  min-width:230px;
  border-radius:22px;
  padding:18px;
  background:#f3c400;
  color:#111;
  box-shadow:0 18px 42px rgba(0,0,0,.20);
}

.billing-total-box span{
  display:block;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.billing-total-box strong{
  display:block;
  font-size:34px;
  line-height:1;
  margin:8px 0 6px;
}

.billing-total-box small{
  font-weight:850;
  color:#332b05;
}

.billing-summary-grid{
  margin-top:20px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  position:relative;
  z-index:1;
}

.billing-summary-card{
  border-radius:20px;
  padding:16px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  backdrop-filter:blur(10px);
}

.billing-summary-card span{
  display:block;
  color:#f3c400;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.10em;
}

.billing-summary-card strong{
  display:block;
  font-size:30px;
  line-height:1;
  margin:8px 0;
}

.billing-summary-card small{
  color:#d8cfbc;
  font-size:12px;
}

.billing-card-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:12px;
}

.billing-card-meta div{
  border-radius:14px;
  background:rgba(255,255,255,.08);
  padding:9px;
}

.billing-card-meta b{
  display:block;
  color:#fff;
  font-size:13px;
}

.billing-card-meta em{
  display:block;
  color:#cfc6b4;
  font-style:normal;
  font-size:10px;
  margin-top:3px;
}

.billing-current-month{
  margin-top:14px;
  border-radius:20px;
  background:rgba(243,196,0,.12);
  border:1px solid rgba(243,196,0,.25);
  padding:16px 18px;
  position:relative;
  z-index:1;
}

.billing-current-month h3{
  color:#f3c400;
  font-size:32px!important;
  margin:6px 0!important;
}

.billing-current-month p{
  color:#d8cfbc;
  margin:0;
}

.billing-table-wrap{
  margin-top:16px;
  background:#fff;
  color:#111;
  border-radius:22px;
  padding:18px;
  position:relative;
  z-index:1;
}

.billing-table-wrap h3{
  margin:0 0 12px!important;
  color:#111;
}

.billing-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}

.billing-table th{
  background:#111;
  color:#f3c400;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:11px;
}

.billing-table td,
.billing-table th{
  padding:12px;
  border-bottom:1px solid #eee5d0;
  text-align:left;
}

.billing-table td span{
  display:block;
  color:#6d675c;
  font-size:12px;
  margin-top:3px;
}

@media(max-width:980px){
  .billing-dashboard-head{
    display:grid;
  }

  .billing-total-box{
    min-width:0;
    width:100%;
  }

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

@media(max-width:760px){
  .billing-dashboard-panel{
    padding:14px!important;
    border-radius:20px;
    margin-top:12px;
  }

  .billing-dashboard-panel::after{
    width:58px;
    height:58px;
    right:12px;
    top:12px;
  }

  .billing-dashboard-head h2{
    font-size:22px!important;
  }

  .billing-total-box{
    border-radius:17px;
    padding:13px;
  }

  .billing-total-box strong{
    font-size:27px;
  }

  .billing-summary-grid{
    grid-template-columns:1fr 1fr!important;
    gap:8px;
    margin-top:12px;
  }

  .billing-summary-card{
    padding:12px;
    border-radius:16px;
  }

  .billing-summary-card strong{
    font-size:24px;
  }

  .billing-card-meta{
    grid-template-columns:1fr;
    gap:6px;
  }

  .billing-current-month{
    padding:12px;
    border-radius:16px;
  }

  .billing-current-month h3{
    font-size:26px!important;
  }

  .billing-table-wrap{
    padding:12px;
    border-radius:17px;
  }

  .billing-table{
    min-width:720px;
  }
}

@media(max-width:420px){
  .billing-summary-grid{
    grid-template-columns:1fr!important;
  }
}



/* ============================================================
   M4RTIAL V83 — facturación ordenada sin estimaciones
   ============================================================ */

.billing-dashboard-panel-v83{
  display:grid;
  gap:16px;
}

.billing-direct-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  position:relative;
  z-index:1;
}

.billing-direct-grid article{
  border-radius:20px;
  padding:17px;
  background:rgba(255,255,255,.095);
  border:1px solid rgba(255,255,255,.13);
  color:#fff;
}

.billing-direct-grid span{
  display:block;
  color:#f3c400;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.10em;
}

.billing-direct-grid strong{
  display:block;
  margin:8px 0 6px;
  color:#fff;
  font-size:28px;
  line-height:1;
}

.billing-direct-grid small{
  display:block;
  color:#d8cfbc;
  font-size:12px;
}

.billing-summary-grid-v83{
  margin-top:0!important;
}

.billing-summary-clickable{
  outline:1px solid rgba(243,196,0,.28);
}

.billing-count-button{
  display:block;
  width:fit-content;
  border:0;
  background:transparent;
  color:#fff;
  padding:0;
  margin:8px 0;
  font-size:34px;
  line-height:1;
  font-weight:950;
  cursor:pointer;
  text-align:left;
}

.billing-summary-clickable .billing-count-button{
  color:#f3c400;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:5px;
}

.billing-click-hint{
  margin:10px 0 0!important;
  color:#f3c400!important;
  font-size:11px!important;
  font-weight:850;
}

.billing-breakdown-panel{
  position:relative;
  z-index:1;
  border-radius:22px;
  background:#fff;
  color:#111;
  padding:18px;
  box-shadow:0 18px 42px rgba(0,0,0,.16);
  border:1px solid rgba(243,196,0,.28);
}

.billing-breakdown-panel[hidden]{
  display:none!important;
}

.billing-breakdown-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.billing-breakdown-head h3{
  margin:6px 0!important;
  color:#111;
}

.billing-breakdown-head p{
  margin:0;
  color:#625b50;
}

.billing-nonmonthly-wrap{
  margin-top:0!important;
}

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

@media(max-width:760px){
  .billing-direct-grid{
    gap:8px;
  }

  .billing-direct-grid article{
    border-radius:16px;
    padding:12px;
  }

  .billing-direct-grid strong{
    font-size:24px;
  }

  .billing-count-button{
    font-size:27px;
  }

  .billing-breakdown-panel{
    padding:12px;
    border-radius:17px;
  }

  .billing-breakdown-head{
    display:grid;
    gap:10px;
  }

  .billing-detail-table{
    min-width:760px;
  }
}



/* ============================================================
   M4RTIAL V83 — desgloses completos + admin móvil más ordenado
   ============================================================ */

.billing-dashboard-panel-v83{
  display:grid;
  gap:14px;
}

.billing-summary-grid-v83{
  margin-top:0!important;
}

.billing-client-list{
  display:grid;
  gap:8px;
}

.billing-client-row{
  display:grid;
  grid-template-columns:1.2fr 1fr .7fr .8fr;
  gap:10px;
  align-items:center;
  border:1px solid #eee5d0;
  border-radius:15px;
  padding:10px 12px;
  background:#fffaf0;
}

.billing-client-row strong{
  display:block;
  color:#111;
  font-size:13px;
  line-height:1.2;
}

.billing-client-row span{
  display:block;
  color:#6a6256;
  font-size:11.5px;
  margin-top:3px;
  overflow-wrap:anywhere;
}

.billing-client-row small{
  display:block;
  color:#8d7100;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  font-size:9.5px;
  margin-bottom:3px;
}

.billing-client-row b{
  display:block;
  color:#111;
  font-size:12.5px;
  line-height:1.25;
}

/* Admin móvil: más información visible, bloques compactos y lectura cómoda */
@media(max-width:760px){
  .admin-mode .app{
    width:min(100% - 10px,1220px);
    padding-top:4px;
  }

  .admin-dashboard-page,
  .admin-form-page,
  .admin-system-page{
    padding:8px 5px!important;
  }

  .admin-page-title{
    margin:0 0 8px!important;
  }

  .admin-page-title .eyebrow{
    font-size:9.5px!important;
    padding:0;
  }

  .admin-page-title h1{
    font-size:24px!important;
    line-height:1.03!important;
    margin:4px 0!important;
    letter-spacing:-.04em;
  }

  .admin-page-title p{
    font-size:11.5px!important;
    line-height:1.32!important;
    margin:0!important;
    max-width:96%;
  }

  .admin-dashboard-page .dashboard-metrics-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    margin-bottom:9px!important;
  }

  .admin-dashboard-page .metric-card{
    min-height:74px!important;
    padding:10px!important;
    border-radius:14px!important;
  }

  .admin-dashboard-page .metric-card span{
    font-size:9px!important;
    line-height:1.15!important;
    letter-spacing:.065em!important;
  }

  .admin-dashboard-page .metric-card strong{
    font-size:20px!important;
    line-height:1.05!important;
    margin:5px 0 3px!important;
    word-break:break-word;
  }

  .admin-dashboard-page .metric-card small{
    font-size:10px!important;
    line-height:1.15!important;
  }

  .billing-dashboard-panel,
  .billing-dashboard-panel-v83{
    margin-top:9px!important;
    padding:11px!important;
    border-radius:18px!important;
    gap:9px!important;
  }

  .billing-dashboard-head{
    display:grid!important;
    gap:9px!important;
  }

  .billing-dashboard-head h2{
    font-size:20px!important;
    line-height:1.08!important;
    margin:5px 0!important;
  }

  .billing-dashboard-head p{
    font-size:11.5px!important;
    line-height:1.35!important;
  }

  .billing-total-box{
    padding:11px!important;
    border-radius:15px!important;
  }

  .billing-total-box span{
    font-size:9px!important;
  }

  .billing-total-box strong{
    font-size:25px!important;
    margin:5px 0 3px!important;
  }

  .billing-total-box small{
    font-size:10.5px!important;
  }

  .billing-direct-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }

  .billing-direct-grid article{
    padding:10px!important;
    border-radius:14px!important;
    display:grid;
    grid-template-columns:1fr auto;
    column-gap:10px;
    align-items:center;
  }

  .billing-direct-grid span{
    font-size:9px!important;
    line-height:1.15!important;
  }

  .billing-direct-grid strong{
    font-size:19px!important;
    margin:0!important;
    text-align:right;
  }

  .billing-direct-grid small{
    grid-column:1 / -1;
    font-size:10px!important;
    margin-top:3px;
  }

  .billing-summary-grid,
  .billing-summary-grid-v83{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .billing-summary-card{
    padding:10px!important;
    border-radius:14px!important;
  }

  .billing-summary-card span{
    font-size:9px!important;
    line-height:1.15!important;
  }

  .billing-count-button{
    font-size:24px!important;
    margin:5px 0!important;
  }

  .billing-summary-card small{
    font-size:10px!important;
    line-height:1.2!important;
  }

  .billing-card-meta{
    margin-top:7px!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
  }

  .billing-card-meta div{
    padding:7px!important;
    border-radius:10px!important;
  }

  .billing-card-meta b{
    font-size:12px!important;
  }

  .billing-card-meta em{
    font-size:9px!important;
  }

  .billing-click-hint{
    font-size:9.5px!important;
    margin-top:6px!important;
  }

  .billing-breakdown-panel{
    padding:10px!important;
    border-radius:16px!important;
  }

  .billing-breakdown-head{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
  }

  .billing-breakdown-head h3{
    font-size:17px!important;
    margin:4px 0!important;
  }

  .billing-breakdown-head p{
    font-size:11px!important;
    line-height:1.25!important;
  }

  .billing-breakdown-head .btn{
    min-height:30px!important;
    padding:7px 9px!important;
    font-size:11px!important;
  }

  .billing-client-list{
    gap:6px!important;
  }

  .billing-client-row{
    grid-template-columns:1fr auto!important;
    gap:6px 8px!important;
    padding:8px!important;
    border-radius:12px!important;
  }

  .billing-client-row > div:first-child{
    grid-column:1 / -1;
  }

  .billing-client-row strong{
    font-size:12.5px!important;
  }

  .billing-client-row span{
    font-size:10.5px!important;
  }

  .billing-client-row small{
    font-size:8.8px!important;
  }

  .billing-client-row b{
    font-size:11.5px!important;
  }

  .admin-dashboard-page .grid.two{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin-top:9px!important;
  }

  .admin-dashboard-page .compact-admin-panel{
    padding:10px!important;
    border-radius:15px!important;
  }

  .admin-dashboard-page .compact-admin-panel h2{
    font-size:16px!important;
    margin-bottom:7px!important;
  }

  .admin-dashboard-page .compact-row{
    padding:7px!important;
    border-radius:11px!important;
  }

  .admin-dashboard-page .compact-row strong{
    font-size:12.5px!important;
  }

  .admin-dashboard-page .compact-row span{
    font-size:10.5px!important;
  }
}

@media(max-width:420px){
  .admin-dashboard-page .dashboard-metrics-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }

  .billing-summary-grid,
  .billing-summary-grid-v83{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }

  .admin-dashboard-page .metric-card strong{
    font-size:18px!important;
  }

  .billing-total-box strong{
    font-size:22px!important;
  }
}



/* ============================================================
   M4RTIAL V83 — selector más atractivo + calendario móvil compacto
   ============================================================ */

/* Selector superior tipo idioma, más pequeño y premium */
.m4-minimal-header{
  min-height:54px;
  margin:10px auto 12px;
}

.m4-centered-logo{
  width:62px;
  height:62px;
  filter:drop-shadow(0 10px 18px rgba(162,119,0,.14));
}

.m4-menu-select{
  min-height:32px;
  min-width:124px;
  max-width:164px;
  border-radius:999px;
  border:1px solid rgba(243,196,0,.42);
  background:
    linear-gradient(135deg,rgba(17,17,17,.98),rgba(43,36,10,.96)),
    url("data:image/svg+xml,%3Csvg width='10' height='7' viewBox='0 0 10 7' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.3L5 5.3L9 1.3' stroke='%23f3c400' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 11px center/10px 7px;
  color:#f3c400;
  padding:7px 29px 7px 12px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.035em;
  box-shadow:0 8px 22px rgba(0,0,0,.12), inset 0 0 0 1px rgba(255,255,255,.04);
}

.m4-menu-select:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(0,0,0,.16), 0 0 0 3px rgba(243,196,0,.10);
}

.m4-menu-select option{
  background:#111;
  color:#f3c400;
  font-weight:800;
}

/* Calendario admin más compacto también en escritorio */
.trial-calendar-panel{
  padding:16px!important;
}

.trial-form{
  margin-bottom:12px!important;
  padding-bottom:12px!important;
}

.trial-calendar-toolbar{
  margin:6px 0 8px!important;
}

.trial-calendar-toolbar h3{
  font-size:18px!important;
}

.trial-weekdays{
  gap:5px!important;
  margin-bottom:5px!important;
}

.trial-calendar-grid{
  gap:5px!important;
}

.trial-day{
  min-height:96px!important;
  padding:7px!important;
  border-radius:13px!important;
}

.trial-day-head{
  margin-bottom:5px!important;
}

.trial-day-head strong{
  font-size:11.5px!important;
}

.trial-day-head span{
  min-width:18px!important;
  height:18px!important;
  font-size:9px!important;
}

.trial-item{
  padding:6px!important;
  border-radius:10px!important;
}

.trial-item strong{
  font-size:11.5px!important;
  line-height:1.15!important;
}

.trial-item span{
  font-size:10px!important;
  line-height:1.2!important;
}

.trial-item-actions{
  gap:4px!important;
}

.trial-item-actions .status-pill,
.trial-item-actions .mini-action{
  font-size:9px!important;
  padding:4px 6px!important;
}

/* Móvil administrador: selector y calendario compactos sin letra apretada */
@media(max-width:760px){
  .m4-minimal-header{
    width:min(100% - 12px,1220px);
    min-height:48px;
    margin:6px auto 7px;
  }

  .m4-centered-logo{
    width:46px;
    height:46px;
  }

  .m4-header-menu{
    right:0;
  }

  .m4-menu-select{
    min-width:92px;
    max-width:118px;
    min-height:30px;
    padding:6px 25px 6px 10px;
    font-size:10.5px;
    background-position:right 9px center;
    border-color:rgba(243,196,0,.50);
  }

  .trial-calendar-panel{
    padding:10px!important;
    border-radius:16px!important;
    margin-top:8px!important;
  }

  .trial-calendar-panel .section-head,
  .trial-calendar-panel .compact-section-head{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:8px!important;
    margin-bottom:8px!important;
  }

  .trial-calendar-panel .section-head h2{
    font-size:16px!important;
    line-height:1.12!important;
    margin:0 0 3px!important;
  }

  .trial-calendar-panel .section-head p{
    font-size:10.5px!important;
    line-height:1.24!important;
    margin:0!important;
  }

  .trial-calendar-panel .section-head .status-pill{
    font-size:9px!important;
    padding:4px 6px!important;
    white-space:nowrap;
  }

  .trial-form{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    margin-bottom:8px!important;
    padding-bottom:8px!important;
  }

  .trial-form label{
    font-size:10px!important;
    gap:3px!important;
  }

  .trial-form input,
  .trial-form select{
    min-height:30px!important;
    padding:6px 7px!important;
    border-radius:9px!important;
    font-size:11px!important;
  }

  .trial-form textarea{
    min-height:46px!important;
    padding:6px 7px!important;
    border-radius:9px!important;
    font-size:11px!important;
  }

  .trial-form .span-2{
    grid-column:1 / -1!important;
  }

  .trial-form .admin-form-submit{
    grid-column:1 / -1!important;
  }

  .trial-form .admin-form-submit .btn,
  .trial-form button{
    min-height:30px!important;
    padding:7px 10px!important;
    font-size:10.5px!important;
  }

  .trial-calendar-toolbar{
    display:grid!important;
    grid-template-columns:auto 1fr auto!important;
    gap:5px!important;
    align-items:center!important;
    margin:5px 0 6px!important;
  }

  .trial-calendar-toolbar h3{
    font-size:13px!important;
    line-height:1.1!important;
    text-align:center!important;
    margin:0!important;
  }

  .trial-calendar-toolbar .btn{
    min-height:28px!important;
    padding:6px 8px!important;
    font-size:0!important;
    border-radius:10px!important;
  }

  .trial-calendar-toolbar .btn:first-child::after{
    content:"‹";
    font-size:16px;
    line-height:1;
  }

  .trial-calendar-toolbar .btn:last-child::after{
    content:"›";
    font-size:16px;
    line-height:1;
  }

  .trial-weekdays{
    gap:3px!important;
    margin-bottom:3px!important;
  }

  .trial-weekdays span{
    font-size:8.5px!important;
    letter-spacing:.06em!important;
  }

  .trial-calendar-grid{
    gap:3px!important;
  }

  .trial-day{
    min-height:42px!important;
    padding:3px!important;
    border-radius:8px!important;
  }

  .trial-day-head{
    margin-bottom:2px!important;
  }

  .trial-day-head strong{
    font-size:9.5px!important;
  }

  .trial-day-head span{
    min-width:14px!important;
    height:14px!important;
    font-size:8px!important;
  }

  .trial-items{
    display:grid!important;
    gap:2px!important;
  }

  .trial-item{
    padding:3px!important;
    border-radius:6px!important;
  }

  .trial-item strong{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:8.8px!important;
    line-height:1.05!important;
  }

  .trial-item span{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:8px!important;
    line-height:1.05!important;
  }

  .trial-item-actions{
    display:none!important;
  }

  .trial-day:has(.trial-item){
    min-height:56px!important;
  }
}

@media(max-width:420px){
  .m4-minimal-header{
    min-height:44px;
    margin:5px auto 6px;
  }

  .m4-centered-logo{
    width:42px;
    height:42px;
  }

  .m4-menu-select{
    min-width:86px;
    max-width:106px;
    min-height:28px;
    font-size:10px;
    padding:5px 22px 5px 9px;
  }

  .trial-calendar-panel{
    padding:8px!important;
  }

  .trial-form{
    grid-template-columns:1fr 1fr!important;
    gap:5px!important;
  }

  .trial-day{
    min-height:38px!important;
  }

  .trial-day:has(.trial-item){
    min-height:50px!important;
  }

  .trial-item strong{
    font-size:8.2px!important;
  }

  .trial-item span{
    font-size:7.6px!important;
  }
}



/* ============================================================
   M4RTIAL V83 — admin minimalista + calendario semanal + selector premium
   ============================================================ */

/* Selector: sin sombra defectuosa, degradado dorado real y limpio */
.m4-menu-select{
  min-height:31px!important;
  min-width:116px!important;
  max-width:156px!important;
  border:1px solid rgba(111,78,0,.38)!important;
  background:
    linear-gradient(180deg,#fff2a6 0%,#f3c400 46%,#bd8900 100%)!important;
  color:#161005!important;
  padding:7px 28px 7px 12px!important;
  font-size:10.8px!important;
  font-weight:950!important;
  letter-spacing:.035em!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.70),
    inset 0 -1px 0 rgba(93,62,0,.24),
    0 6px 14px rgba(0,0,0,.08)!important;
}

.m4-menu-select:hover{
  transform:none!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.75),
    inset 0 -1px 0 rgba(93,62,0,.24),
    0 0 0 3px rgba(243,196,0,.13)!important;
}

.m4-menu-select:focus{
  outline:0!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.75),
    inset 0 -1px 0 rgba(93,62,0,.24),
    0 0 0 3px rgba(243,196,0,.24)!important;
}

.m4-menu-select option{
  background:#111!important;
  color:#f3c400!important;
}

/* Panel admin minimalista: fuera títulos/subtítulos visuales, quedan textos explicativos */
.admin-mode .admin-page-title .eyebrow,
.admin-mode .admin-page-title h1,
.admin-mode .admin-section-title h2,
.admin-mode .section-head h2,
.admin-mode .billing-dashboard-head .eyebrow,
.admin-mode .billing-dashboard-head h2,
.admin-mode .billing-breakdown-head .eyebrow,
.admin-mode .billing-breakdown-head h3,
.admin-mode .clients-page-head .eyebrow,
.admin-mode .clients-page-head h1,
.admin-mode .client-filter-head .badge,
.admin-mode .client-filter-head h2{
  display:none!important;
}

.admin-mode .admin-page-title,
.admin-mode .section-head,
.admin-mode .billing-dashboard-head,
.admin-mode .clients-page-head,
.admin-mode .client-filter-head{
  margin-bottom:10px!important;
}

.admin-mode .admin-page-title p,
.admin-mode .section-head p,
.admin-mode .billing-dashboard-head p,
.admin-mode .clients-page-head p,
.admin-mode .client-filter-head p{
  font-size:13px!important;
  line-height:1.42!important;
  color:#5e584e!important;
  margin:0!important;
  max-width:900px!important;
}

.admin-mode .billing-dashboard-head p{
  color:#d8cfbc!important;
}

.admin-mode .compact-admin-panel > h2{
  display:none!important;
}

/* Calendario semanal: no se muestran todos los días del mes */
.trial-calendar-weekly-panel .trial-weekdays,
.trial-calendar-weekly-panel .trial-calendar-grid{
  display:none!important;
}

.trial-week-toolbar{
  margin:8px 0 10px!important;
}

.trial-week-list{
  display:grid;
  gap:8px;
}

.trial-week-card{
  border:1px solid rgba(231,222,200,.95);
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}

.trial-week-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  background:linear-gradient(135deg,#111,#201a08);
  color:#fff;
}

.trial-week-head strong{
  display:block;
  color:#f3c400;
  font-size:13px;
  line-height:1.1;
}

.trial-week-head span{
  display:block;
  color:#d8cfbc;
  font-size:11px;
  margin-top:2px;
}

.trial-week-head em{
  font-style:normal;
  color:#111;
  background:#f3c400;
  border-radius:999px;
  padding:5px 8px;
  font-weight:900;
  font-size:10px;
  white-space:nowrap;
}

.trial-week-body{
  display:grid;
  gap:6px;
  padding:8px;
}

.trial-week-dayline{
  display:grid;
  grid-template-columns:68px 1fr;
  gap:8px;
  align-items:stretch;
  border:1px solid #eee5d0;
  border-radius:13px;
  padding:7px;
  background:#fffaf0;
}

.trial-week-dayline.today{
  border-color:rgba(243,196,0,.75);
  box-shadow:inset 0 0 0 1px rgba(243,196,0,.18);
}

.trial-week-date{
  display:grid;
  place-items:center;
  text-align:center;
  border-radius:11px;
  background:#111;
  color:#fff;
  min-height:54px;
}

.trial-week-date strong{
  color:#f3c400;
  text-transform:uppercase;
  font-size:11px;
  line-height:1;
}

.trial-week-date span{
  color:#fff;
  font-size:12px;
  font-weight:900;
}

.trial-week-events{
  display:grid;
  gap:6px;
}

.trial-week-event{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
  background:#fff;
  border-radius:11px;
  padding:7px 8px;
}

.trial-week-event strong{
  display:block;
  font-size:12.5px;
  line-height:1.18;
  color:#111;
}

.trial-week-event span{
  display:block;
  margin-top:2px;
  font-size:11px;
  color:#655d52;
}

.trial-week-empty{
  padding:9px 10px;
  border-radius:12px;
  background:#fbfaf6;
  color:#746b5c;
  font-size:12px;
}

/* Móvil: calendario semanal compacto y selector limpio */
@media(max-width:760px){
  .m4-menu-select{
    min-width:86px!important;
    max-width:108px!important;
    min-height:28px!important;
    padding:5px 22px 5px 9px!important;
    font-size:9.8px!important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.70),
      inset 0 -1px 0 rgba(93,62,0,.22),
      0 4px 10px rgba(0,0,0,.06)!important;
  }

  .admin-mode .admin-page-title p,
  .admin-mode .section-head p,
  .admin-mode .billing-dashboard-head p,
  .admin-mode .clients-page-head p,
  .admin-mode .client-filter-head p{
    font-size:11.2px!important;
    line-height:1.32!important;
  }

  .trial-calendar-weekly-panel{
    padding:8px!important;
  }

  .trial-week-toolbar{
    margin:4px 0 6px!important;
  }

  .trial-week-list{
    gap:6px!important;
  }

  .trial-week-card{
    border-radius:13px!important;
  }

  .trial-week-head{
    padding:7px 8px!important;
  }

  .trial-week-head strong{
    font-size:11px!important;
  }

  .trial-week-head span{
    font-size:9.5px!important;
  }

  .trial-week-head em{
    font-size:8.8px!important;
    padding:4px 6px!important;
  }

  .trial-week-body{
    padding:6px!important;
    gap:5px!important;
  }

  .trial-week-dayline{
    grid-template-columns:48px 1fr!important;
    gap:5px!important;
    padding:5px!important;
    border-radius:10px!important;
  }

  .trial-week-date{
    min-height:42px!important;
    border-radius:9px!important;
  }

  .trial-week-date strong{
    font-size:9px!important;
  }

  .trial-week-date span{
    font-size:10px!important;
  }

  .trial-week-events{
    gap:4px!important;
  }

  .trial-week-event{
    grid-template-columns:1fr!important;
    gap:4px!important;
    padding:5px 6px!important;
    border-radius:9px!important;
  }

  .trial-week-event strong{
    font-size:10.8px!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .trial-week-event span{
    font-size:9.8px!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .trial-week-event .trial-item-actions{
    display:none!important;
  }

  .trial-week-empty{
    font-size:10.5px!important;
    padding:7px!important;
  }
}

@media(max-width:420px){
  .m4-menu-select{
    min-width:80px!important;
    max-width:100px!important;
    font-size:9.3px!important;
  }

  .trial-week-dayline{
    grid-template-columns:44px 1fr!important;
  }

  .trial-week-date{
    min-height:38px!important;
  }
}



/* ============================================================
   M4RTIAL V83 — selector blanco limpio y sin descripciones de fuente
   ============================================================ */

.m4-menu-select{
  min-height:31px!important;
  min-width:114px!important;
  max-width:158px!important;
  border:1px solid rgba(17,17,17,.14)!important;
  border-radius:999px!important;
  background:
    url("data:image/svg+xml,%3Csvg width='10' height='7' viewBox='0 0 10 7' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.2L5 5.2L9 1.2' stroke='%23111' stroke-width='1.55' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 11px center/10px 7px,
    #ffffff!important;
  color:#111!important;
  padding:7px 28px 7px 12px!important;
  font-size:10.8px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  box-shadow:none!important;
}

.m4-menu-select:hover{
  transform:none!important;
  border-color:rgba(17,17,17,.24)!important;
  background:
    url("data:image/svg+xml,%3Csvg width='10' height='7' viewBox='0 0 10 7' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.2L5 5.2L9 1.2' stroke='%23111' stroke-width='1.55' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 11px center/10px 7px,
    #ffffff!important;
  box-shadow:none!important;
}

.m4-menu-select:focus{
  outline:0!important;
  border-color:#111!important;
  box-shadow:0 0 0 2px rgba(17,17,17,.08)!important;
}

.m4-menu-select option{
  background:#ffffff!important;
  color:#111!important;
  font-weight:800!important;
}

/* Facturación: sin textos de fuente */
.billing-direct-grid article small{
  color:#d8cfbc!important;
}

@media(max-width:760px){
  .m4-menu-select{
    min-width:84px!important;
    max-width:108px!important;
    min-height:28px!important;
    padding:5px 22px 5px 9px!important;
    font-size:9.8px!important;
    background:
      url("data:image/svg+xml,%3Csvg width='9' height='6' viewBox='0 0 9 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 .9L4.5 4.4L8 .9' stroke='%23111' stroke-width='1.45' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 9px center/9px 6px,
      #ffffff!important;
    box-shadow:none!important;
  }
}

@media(max-width:420px){
  .m4-menu-select{
    min-width:78px!important;
    max-width:100px!important;
    font-size:9.3px!important;
  }
}



/* ============================================================
   M4RTIAL V83 — sin resumen operativo de facturación
   ============================================================ */

.billing-dashboard-panel .billing-direct-grid{
  display:none!important;
}

.billing-dashboard-panel{
  gap:12px!important;
}

.billing-summary-grid,
.billing-summary-grid-v83{
  margin-top:0!important;
}



/* ============================================================
   M4RTIAL V83 — resumen operativo dentro de facturación
   ============================================================ */

.billing-operational-panel{
  position:relative;
  z-index:1;
  border-radius:20px;
  padding:14px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}

.billing-operational-panel p{
  margin:0 0 10px!important;
  color:#d8cfbc!important;
  font-size:13px!important;
  line-height:1.35!important;
}

.billing-operational-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
}

.billing-operational-card{
  border-radius:14px;
  padding:10px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  min-width:0;
}

.billing-operational-card span{
  display:block;
  color:#f3c400;
  font-size:9.5px;
  font-weight:950;
  line-height:1.15;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.billing-operational-card strong{
  display:block;
  color:#fff;
  font-size:20px;
  line-height:1;
  margin:7px 0 4px;
}

.billing-operational-card small{
  display:block;
  color:#d8cfbc;
  font-size:10px;
  line-height:1.2;
}

@media(max-width:1180px){
  .billing-operational-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .billing-operational-panel{
    padding:9px!important;
    border-radius:15px!important;
  }

  .billing-operational-panel p{
    font-size:11px!important;
    line-height:1.28!important;
    margin-bottom:7px!important;
  }

  .billing-operational-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }

  .billing-operational-card{
    padding:8px!important;
    border-radius:11px!important;
    min-height:62px;
  }

  .billing-operational-card span{
    font-size:8.5px!important;
    line-height:1.1!important;
  }

  .billing-operational-card strong{
    font-size:17px!important;
    margin:5px 0 3px!important;
  }

  .billing-operational-card small{
    font-size:9.2px!important;
    line-height:1.12!important;
  }
}

@media(max-width:420px){
  .billing-operational-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}



/* ============================================================
   M4RTIAL V83 — asistencia avanzada
   ============================================================ */

.attendance-advanced-page{
  display:grid;
  gap:12px;
}

.attendance-dashboard-panel{
  border-radius:22px;
  padding:16px;
  background:linear-gradient(135deg,#111,#201a08);
  color:#fff;
  border:1px solid rgba(243,196,0,.20);
  box-shadow:0 20px 46px rgba(0,0,0,.14);
}

.attendance-dashboard-panel p{
  color:#d8cfbc!important;
  margin:0 0 12px!important;
  font-size:13px!important;
  line-height:1.38!important;
}

.attendance-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
}

.attendance-dashboard-grid article{
  border-radius:15px;
  padding:10px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
}

.attendance-dashboard-grid span{
  display:block;
  color:#f3c400;
  font-size:9.5px;
  font-weight:950;
  line-height:1.15;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.attendance-dashboard-grid strong{
  display:block;
  color:#fff;
  font-size:22px;
  line-height:1;
  margin:7px 0 4px;
}

.attendance-dashboard-grid small{
  display:block;
  color:#d8cfbc;
  font-size:10px;
  line-height:1.2;
}

.attendance-filter-panel{
  padding:14px!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#fff,#fffaf0);
  border:1px solid rgba(231,222,200,.95);
}

.attendance-filter-panel p{
  margin:0 0 10px!important;
  color:#5e584e!important;
  font-size:13px!important;
}

.attendance-filter-grid{
  display:grid;
  grid-template-columns:1.2fr repeat(3, minmax(0, .8fr)) auto;
  gap:8px;
  align-items:end;
}

.attendance-filter-grid label{
  display:grid;
  gap:4px;
  font-size:11px;
  font-weight:900;
  color:#2a261f;
}

.attendance-filter-grid input,
.attendance-filter-grid select{
  width:100%;
  min-height:36px;
  border:1px solid rgba(231,222,200,.98);
  border-radius:12px;
  background:#fff;
  color:#111;
  padding:8px 10px;
  font-weight:750;
  font-size:12px;
}

.attendance-week-strip{
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding-top:10px;
}

.attendance-week-chip{
  min-width:130px;
  border:1px solid #eee5d0;
  border-radius:14px;
  background:#fff;
  padding:8px 10px;
  text-align:left;
  cursor:pointer;
}

.attendance-week-chip.active{
  background:#111;
  color:#fff;
  border-color:#111;
}

.attendance-week-chip strong{
  display:block;
  color:inherit;
  font-size:12px;
}

.attendance-week-chip span{
  display:block;
  color:#6d675c;
  font-size:10px;
  margin-top:2px;
}

.attendance-week-chip.active span{
  color:#f3c400;
}

.attendance-client-grid-v83{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.attendance-client-meta{
  display:grid;
  gap:4px;
  margin:7px 0;
}

.attendance-client-meta span:not(.status-pill){
  display:block;
  color:#6a6256;
  font-size:11px;
  line-height:1.25;
}

@media(max-width:1100px){
  .attendance-dashboard-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

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

  .attendance-filter-grid .btn{
    grid-column:1 / -1;
  }

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

@media(max-width:760px){
  .attendance-advanced-page{
    gap:8px!important;
  }

  .attendance-dashboard-panel{
    padding:10px!important;
    border-radius:17px!important;
  }

  .attendance-dashboard-panel p{
    font-size:11px!important;
    line-height:1.28!important;
    margin-bottom:7px!important;
  }

  .attendance-dashboard-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }

  .attendance-dashboard-grid article{
    padding:8px!important;
    border-radius:11px!important;
  }

  .attendance-dashboard-grid span{
    font-size:8.5px!important;
  }

  .attendance-dashboard-grid strong{
    font-size:18px!important;
    margin:5px 0 3px!important;
  }

  .attendance-dashboard-grid small{
    font-size:9.2px!important;
  }

  .attendance-filter-panel{
    padding:9px!important;
    border-radius:15px!important;
  }

  .attendance-filter-panel p{
    font-size:11px!important;
    line-height:1.25!important;
    margin-bottom:7px!important;
  }

  .attendance-filter-grid{
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
  }

  .attendance-filter-grid label{
    font-size:9.5px!important;
  }

  .attendance-filter-grid input,
  .attendance-filter-grid select{
    min-height:31px!important;
    padding:6px 7px!important;
    border-radius:9px!important;
    font-size:10.8px!important;
  }

  .attendance-filter-grid label:first-child{
    grid-column:1 / -1;
  }

  .attendance-week-strip{
    gap:5px!important;
    padding-top:7px!important;
  }

  .attendance-week-chip{
    min-width:108px!important;
    border-radius:11px!important;
    padding:7px!important;
  }

  .attendance-week-chip strong{
    font-size:10.5px!important;
  }

  .attendance-week-chip span{
    font-size:9px!important;
  }

  .attendance-layout{
    gap:8px!important;
  }

  .attendance-create-panel,
  .attendance-sessions-panel,
  .attendance-register-panel{
    padding:10px!important;
    border-radius:16px!important;
  }

  .attendance-session-form{
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
  }

  .attendance-session-form label{
    font-size:9.5px!important;
  }

  .attendance-session-form input,
  .attendance-session-form select,
  .attendance-session-form textarea{
    min-height:30px!important;
    font-size:10.8px!important;
    padding:6px 7px!important;
    border-radius:9px!important;
  }

  .attendance-session-form .span-2{
    grid-column:1 / -1!important;
  }

  .attendance-toolbar{
    gap:5px!important;
  }

  .attendance-toolbar h2{
    font-size:13px!important;
  }

  .attendance-toolbar .btn{
    min-height:28px!important;
    padding:6px 8px!important;
    font-size:10px!important;
  }

  .attendance-session-row{
    padding:8px!important;
    border-radius:11px!important;
  }

  .attendance-session-row strong{
    font-size:11px!important;
  }

  .attendance-session-row span{
    font-size:9.5px!important;
  }

  .attendance-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
  }

  .attendance-kpis div{
    padding:7px!important;
    border-radius:10px!important;
  }

  .attendance-kpis strong{
    font-size:16px!important;
  }

  .attendance-kpis span{
    font-size:8.5px!important;
  }

  .attendance-client-card{
    padding:9px!important;
    border-radius:13px!important;
  }

  .attendance-client-main strong{
    font-size:12px!important;
  }

  .attendance-client-main span,
  .attendance-client-meta span:not(.status-pill){
    font-size:10px!important;
  }

  .attendance-buttons{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:4px!important;
  }

  .attendance-buttons button{
    padding:6px 4px!important;
    font-size:9.5px!important;
    border-radius:8px!important;
  }
}


/* =====================================================================
   M4RTIAL APP V83 — botón para ver/ocultar contraseña en login
   ===================================================================== */
.password-field-label{
  display:grid;
  gap:8px;
}

.password-field{
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
}

.password-field input{
  width:100%;
  padding-right:82px!important;
}

.password-toggle{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(197,163,75,.30);
  background:rgba(242,196,0,.12);
  color:#111;
  font-family:var(--font-display, Inter, Arial, sans-serif);
  font-size:10px;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
}

.password-toggle:hover{
  background:#f2c400;
  border-color:#f2c400;
}

.password-toggle:focus-visible{
  outline:3px solid rgba(242,196,0,.35);
  outline-offset:2px;
}

@media(max-width:640px){
  .password-field input{
    padding-right:76px!important;
  }

  .password-toggle{
    right:7px;
    min-height:28px;
    padding:0 10px;
    font-size:9.5px;
  }
}

/* =====================================================================
   M4RTIAL APP V83 — Login limpio + recordar correo + ojo contraseña
   ===================================================================== */
.clean-login-app{
  min-height:100svh!important;
  width:100%!important;
  max-width:none!important;
  padding:24px 16px!important;
  display:grid!important;
  place-items:center!important;
  background:
    radial-gradient(circle at 12% 12%, rgba(242,196,0,.22), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(196,145,18,.12), transparent 22%),
    radial-gradient(circle at 50% 78%, rgba(255,220,120,.14), transparent 32%),
    linear-gradient(145deg, #fffef9 0%, #faf5e8 48%, #f6efdb 100%)!important;
  position:relative!important;
  overflow:hidden!important;
}


.login-only-clean{
  width:min(100% - 28px, 430px)!important;
  margin:auto!important;
  display:grid!important;
  place-items:center!important;
}

.login-clean-card{
  width:100%!important;
  border:1px solid rgba(197,163,75,.22)!important;
  border-radius:30px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 30px 90px rgba(31,23,4,.14)!important;
  padding:28px!important;
  display:grid!important;
  gap:18px!important;
}

.login-clean-logo{
  display:grid!important;
  place-items:center!important;
}

.login-clean-logo img{
  width:78px!important;
  height:auto!important;
  display:block!important;
  filter:drop-shadow(0 16px 24px rgba(117,83,0,.16))!important;
}

.login-clean-heading{
  text-align:center!important;
  display:grid!important;
  gap:10px!important;
}

.login-clean-heading .badge{
  justify-self:center!important;
}

.login-clean-heading h1{
  margin:0!important;
  font-size:clamp(32px, 7vw, 44px)!important;
  line-height:.95!important;
  letter-spacing:-.055em!important;
}

.login-clean-form{
  display:grid!important;
  gap:11px!important;
}

.login-clean-form input[type="email"],
.login-clean-form input[type="password"],
.login-clean-form input[type="text"]{
  min-height:52px!important;
  border-radius:16px!important;
  font-size:16px!important;
}

.password-field-clean input{
  padding-right:56px!important;
}

.password-toggle-eye{
  width:40px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0!important;
  right:7px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
  background:rgba(17,17,17,.06)!important;
  border:1px solid rgba(17,17,17,.10)!important;
  color:#151515!important;
}

.password-toggle-eye svg{
  width:21px!important;
  height:21px!important;
  fill:currentColor!important;
  display:block!important;
}

.password-toggle-eye .eye-slash{
  position:absolute!important;
  width:24px!important;
  height:2px!important;
  border-radius:999px!important;
  background:#151515!important;
  transform:rotate(-42deg) scaleX(0)!important;
  transition:transform .16s ease!important;
}

.password-toggle-eye.is-visible .eye-slash{
  transform:rotate(-42deg) scaleX(1)!important;
}

.password-toggle-eye:hover{
  background:#f2c400!important;
  border-color:#f2c400!important;
}

.remember-login-row{
  margin-top:2px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:12px 13px!important;
  border:1px solid rgba(197,163,75,.18)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg, rgba(242,196,0,.08), rgba(255,255,255,.85))!important;
  cursor:pointer!important;
  user-select:none!important;
  font-size:13px!important;
  font-weight:800!important;
  color:#1d1d1d!important;
}

.remember-login-row input{
  width:18px!important;
  height:18px!important;
  accent-color:#d4aa16!important;
  flex:0 0 auto!important;
}

.login-security-note{
  margin:0!important;
  font-size:11.5px!important;
  line-height:1.45!important;
  color:rgba(35,35,35,.62)!important;
}

.login-submit-btn{
  margin-top:4px!important;
  min-height:52px!important;
  border-radius:16px!important;
  font-size:12px!important;
}

@media(max-width:520px){
  .clean-login-app{
    align-items:start!important;
    padding-top:24px!important;
  }

  .login-only-clean{
    width:min(100% - 20px, 430px)!important;
  }

  .login-clean-card{
    border-radius:24px!important;
    padding:22px!important;
    gap:15px!important;
  }

  .login-clean-logo img{
    width:64px!important;
  }

  .login-clean-heading h1{
    font-size:34px!important;
  }

  .login-clean-form input[type="email"],
  .login-clean-form input[type="password"],
  .login-clean-form input[type="text"]{
    min-height:50px!important;
  }
}


.clean-login-app::before{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(120deg, rgba(255,255,255,.32), rgba(255,255,255,0) 42%),
    repeating-linear-gradient(135deg, rgba(212,170,22,.03) 0 2px, transparent 2px 22px)!important;
  opacity:.9!important;
}

.clean-login-app::after{
  content:""!important;
  position:fixed!important;
  width:480px!important;
  height:480px!important;
  right:-140px!important;
  top:-120px!important;
  border-radius:50%!important;
  background:radial-gradient(circle, rgba(242,196,0,.16), rgba(242,196,0,0) 70%)!important;
  filter:blur(8px)!important;
  pointer-events:none!important;
}

.login-clean-card{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  border:1px solid rgba(197,163,75,.24)!important;
  border-radius:30px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,251,239,.96))!important;
  box-shadow:0 28px 70px rgba(31,23,4,.12), 0 10px 24px rgba(117,83,0,.08)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  padding:30px!important;
  display:grid!important;
  gap:18px!important;
}

.login-clean-heading{
  text-align:center!important;
  display:grid!important;
  gap:6px!important;
}

.login-clean-heading h1{
  margin:0!important;
  font-size:clamp(32px, 7vw, 44px)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
}

@media(max-width:520px){
  .clean-login-app::after{
    width:320px!important;
    height:320px!important;
    right:-110px!important;
    top:-70px!important;
  }
  .login-clean-card{
    padding:24px!important;
    border-radius:24px!important;
  }
}


/* =====================================================================
   M4RTIAL APP V83 — eliminar texto M4RTIAL debajo del logotipo login
   ===================================================================== */
.login-v83-no-brand-text .login-clean-heading .badge,
.login-only-clean .login-clean-heading .badge{
  display:none!important;
}

.clean-login-app{
  background:
    radial-gradient(circle at 14% 12%, rgba(242,196,0,.24), transparent 30%),
    radial-gradient(circle at 84% 18%, rgba(180,126,16,.16), transparent 24%),
    radial-gradient(circle at 48% 84%, rgba(255,222,128,.18), transparent 34%),
    linear-gradient(145deg, #fffefa 0%, #fbf5e6 50%, #f2ead2 100%)!important;
}

.login-clean-card{
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,250,235,.97))!important;
  box-shadow:0 34px 90px rgba(31,23,4,.15), 0 12px 30px rgba(117,83,0,.10)!important;
}


/* =====================================================================
   M4RTIAL APP V83 — Push notifications
   ===================================================================== */
.push-admin-page .push-counter{
  width:90px;
  height:90px;
  border-radius:26px;
  display:grid;
  place-items:center;
  background:#111;
  color:#f2c400;
  font-size:34px;
  font-weight:950;
  letter-spacing:-.04em;
  box-shadow:0 20px 40px rgba(0,0,0,.16);
  margin:8px 0 12px;
}

.push-admin-page textarea{
  min-height:120px;
}

.push-admin-page .muted{
  color:rgba(35,35,35,.65);
  font-size:13px;
  line-height:1.45;
}

@media(max-width:720px){
  .push-admin-page .grid.two{
    grid-template-columns:1fr!important;
  }
}


/* =====================================================================
   M4RTIAL APP V83 — fondo animado abstracto en login
   ===================================================================== */
.clean-login-app{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 18% 18%, rgba(242,196,0,.18), transparent 26%),
    radial-gradient(circle at 82% 16%, rgba(214,165,35,.14), transparent 22%),
    radial-gradient(circle at 50% 82%, rgba(255,233,160,.14), transparent 28%),
    linear-gradient(145deg, #fffef9 0%, #faf4e3 52%, #efe5c8 100%)!important;
}

.clean-login-app::before,
.clean-login-app::after{
  content:""!important;
  position:fixed!important;
  inset:auto!important;
  pointer-events:none!important;
  border-radius:50%!important;
  filter:blur(18px)!important;
  will-change:transform, opacity!important;
  opacity:.95!important;
}

.clean-login-app::before{
  width:560px!important;
  height:560px!important;
  left:-140px!important;
  top:-110px!important;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.72) 0%, rgba(255,255,255,.15) 28%, rgba(255,255,255,0) 58%),
    radial-gradient(circle at 62% 44%, rgba(242,196,0,.28) 0%, rgba(242,196,0,.10) 30%, rgba(242,196,0,0) 68%),
    radial-gradient(circle at 70% 72%, rgba(212,166,48,.18) 0%, rgba(212,166,48,0) 62%);
  animation:m4LoginFloatA 18s ease-in-out infinite alternate;
}

.clean-login-app::after{
  width:620px!important;
  height:620px!important;
  right:-180px!important;
  bottom:-180px!important;
  background:
    radial-gradient(circle at 38% 38%, rgba(255,255,255,.42) 0%, rgba(255,255,255,.08) 24%, rgba(255,255,255,0) 54%),
    radial-gradient(circle at 56% 42%, rgba(242,196,0,.20) 0%, rgba(242,196,0,.08) 28%, rgba(242,196,0,0) 62%),
    radial-gradient(circle at 66% 68%, rgba(186,140,22,.16) 0%, rgba(186,140,22,0) 58%);
  animation:m4LoginFloatB 22s ease-in-out infinite alternate;
}

.login-clean-card{
  position:relative!important;
  z-index:3!important;
  background:linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,251,241,.82))!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  border:1px solid rgba(197,163,75,.22)!important;
  box-shadow:0 34px 90px rgba(31,23,4,.16), 0 12px 30px rgba(117,83,0,.08)!important;
}

.login-clean-card::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  pointer-events:none!important;
  background:linear-gradient(135deg, rgba(255,255,255,.34), rgba(255,255,255,0) 42%, rgba(242,196,0,.05) 100%)!important;
}

@keyframes m4LoginFloatA{
  0%{transform:translate3d(0,0,0) scale(1) rotate(0deg)}
  25%{transform:translate3d(36px,24px,0) scale(1.05) rotate(5deg)}
  50%{transform:translate3d(18px,64px,0) scale(1.09) rotate(9deg)}
  75%{transform:translate3d(58px,34px,0) scale(1.04) rotate(3deg)}
  100%{transform:translate3d(26px,84px,0) scale(1.12) rotate(10deg)}
}

@keyframes m4LoginFloatB{
  0%{transform:translate3d(0,0,0) scale(1) rotate(0deg)}
  25%{transform:translate3d(-34px,-18px,0) scale(1.03) rotate(-4deg)}
  50%{transform:translate3d(-70px,-54px,0) scale(1.08) rotate(-8deg)}
  75%{transform:translate3d(-26px,-82px,0) scale(1.04) rotate(-3deg)}
  100%{transform:translate3d(-82px,-44px,0) scale(1.11) rotate(-11deg)}
}

@media (prefers-reduced-motion: reduce){
  .clean-login-app::before,
  .clean-login-app::after{
    animation:none!important;
  }
}

@media(max-width:520px){
  .clean-login-app::before{
    width:360px!important;
    height:360px!important;
    left:-110px!important;
    top:-70px!important;
    filter:blur(14px)!important;
  }

  .clean-login-app::after{
    width:400px!important;
    height:400px!important;
    right:-130px!important;
    bottom:-120px!important;
    filter:blur(16px)!important;
  }

  .login-clean-card{
    background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,251,241,.86))!important;
  }
}

/* =====================================================================
   M4RTIAL APP V83 — login móvil optimizado + checkbox profesional
   ===================================================================== */

.remember-login-clean{
  position:relative!important;
  gap:10px!important;
  padding:10px 12px!important;
  min-height:42px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg, rgba(255,255,255,.82), rgba(246,232,184,.42))!important;
  border:1px solid rgba(197,163,75,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;
}

.remember-login-clean input{
  position:absolute!important;
  opacity:0!important;
  width:1px!important;
  height:1px!important;
  pointer-events:none!important;
}

.remember-login-clean .remember-check{
  width:22px!important;
  height:22px!important;
  border-radius:8px!important;
  flex:0 0 22px!important;
  display:grid!important;
  place-items:center!important;
  border:1.5px solid rgba(35,35,35,.24)!important;
  background:linear-gradient(180deg,#fff,#f6f0dc)!important;
  box-shadow:0 4px 10px rgba(31,23,4,.08)!important;
  transition:all .16s ease!important;
}

.remember-login-clean .remember-check::after{
  content:""!important;
  width:10px!important;
  height:6px!important;
  border-left:2.3px solid #111!important;
  border-bottom:2.3px solid #111!important;
  transform:rotate(-45deg) scale(.55)!important;
  opacity:0!important;
  margin-top:-2px!important;
  transition:all .16s ease!important;
}

.remember-login-clean input:checked + .remember-check{
  background:linear-gradient(180deg,#f5cc32,#d7aa14)!important;
  border-color:#c49710!important;
  box-shadow:0 8px 16px rgba(160,114,0,.20)!important;
}

.remember-login-clean input:checked + .remember-check::after{
  opacity:1!important;
  transform:rotate(-45deg) scale(1)!important;
}

.remember-login-clean .remember-text{
  font-size:12.5px!important;
  font-weight:850!important;
  color:#1c1c1c!important;
  line-height:1.2!important;
}

.remember-login-clean:has(input:focus-visible){
  outline:3px solid rgba(242,196,0,.32)!important;
  outline-offset:2px!important;
}

.login-clean-card{
  max-width:430px!important;
  margin-inline:auto!important;
}

@media(max-width:520px){
  .clean-login-app{
    min-height:100svh!important;
    padding:12px 10px!important;
    align-items:center!important;
    place-items:center!important;
  }

  .login-only-clean{
    width:min(100%, 360px)!important;
    margin:0 auto!important;
  }

  .login-clean-card{
    width:100%!important;
    max-width:360px!important;
    border-radius:22px!important;
    padding:18px 17px!important;
    gap:11px!important;
    box-shadow:0 22px 58px rgba(31,23,4,.13), 0 8px 20px rgba(117,83,0,.08)!important;
  }

  .login-clean-logo img{
    width:50px!important;
    filter:drop-shadow(0 10px 18px rgba(117,83,0,.14))!important;
  }

  .login-clean-heading{
    gap:2px!important;
  }

  .login-clean-heading h1{
    font-size:28px!important;
    line-height:.98!important;
    letter-spacing:-.052em!important;
  }

  .login-clean-form{
    gap:8px!important;
  }

  .login-clean-form label:not(.remember-login-row):not(.password-field-label){
    font-size:11.5px!important;
    margin-top:0!important;
  }

  .login-clean-form input[type="email"],
  .login-clean-form input[type="password"],
  .login-clean-form input[type="text"]{
    min-height:44px!important;
    border-radius:13px!important;
    font-size:15px!important;
    padding:0 12px!important;
  }

  .password-field-clean input{
    padding-right:48px!important;
  }

  .password-toggle-eye{
    width:35px!important;
    height:35px!important;
    min-height:35px!important;
    right:5px!important;
    border-radius:12px!important;
  }

  .password-toggle-eye svg{
    width:19px!important;
    height:19px!important;
  }

  .password-toggle-eye .eye-slash{
    width:21px!important;
  }

  .remember-login-clean{
    min-height:38px!important;
    padding:8px 10px!important;
    border-radius:13px!important;
    gap:9px!important;
  }

  .remember-login-clean .remember-check{
    width:20px!important;
    height:20px!important;
    flex-basis:20px!important;
    border-radius:7px!important;
  }

  .remember-login-clean .remember-text{
    font-size:12px!important;
  }

  .login-security-note{
    font-size:10.5px!important;
    line-height:1.32!important;
  }

  .login-submit-btn{
    min-height:44px!important;
    border-radius:13px!important;
    font-size:11.5px!important;
    margin-top:2px!important;
  }

  .clean-login-app::before{
    width:320px!important;
    height:320px!important;
    left:-110px!important;
    top:-70px!important;
    filter:blur(14px)!important;
  }

  .clean-login-app::after{
    width:350px!important;
    height:350px!important;
    right:-128px!important;
    bottom:-112px!important;
    filter:blur(16px)!important;
  }
}

@media(max-width:380px){
  .login-only-clean{
    width:min(100%, 338px)!important;
  }

  .login-clean-card{
    max-width:338px!important;
    padding:16px 15px!important;
    gap:10px!important;
  }

  .login-clean-heading h1{
    font-size:26px!important;
  }

  .login-clean-logo img{
    width:46px!important;
  }
}

/* =====================================================================
   M4RTIAL APP V83 — Auth, matrícula digital y revisión admin
   ===================================================================== */
.auth-register-page,
.pending-matricula-page{
  min-height:calc(100svh - 90px);
  display:grid;
  place-items:center;
  padding:22px 12px;
}

.register-clean-panel{
  width:min(100%, 760px);
  border-radius:26px;
}

.auth-register-form .span-2,
.enrollment-v83-form .span-2{
  grid-column:1 / -1;
}

.login-secondary-action{
  display:flex;
  justify-content:center;
  margin-top:6px;
}

.link-btn{
  border:0;
  background:transparent;
  color:#111;
  text-decoration:underline;
  font-weight:850;
  cursor:pointer;
  padding:8px;
}

.pending-matricula-card{
  width:min(100%, 680px);
  text-align:center;
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,250,235,.94));
  box-shadow:0 26px 70px rgba(31,23,4,.12);
}

.matriculas-admin-page .matricula-row{
  align-items:flex-start;
}

.matriculas-admin-page .matricula-row .actions{
  justify-content:flex-end;
  gap:8px;
}

.matricula-detail-page .detail-meta{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.enrollment-v83-form{
  display:grid;
  gap:14px;
}

.enrollment-v83-form textarea{
  min-height:110px;
}

@media(max-width:720px){
  .auth-register-form .form-grid,
  .matricula-detail-page .detail-meta{
    grid-template-columns:1fr!important;
  }

  .matriculas-admin-page .matricula-row{
    display:grid!important;
    gap:10px!important;
  }

  .matriculas-admin-page .matricula-row .actions{
    justify-content:flex-start;
  }
}

@media(max-width:520px){
  .auth-register-page,
  .pending-matricula-page{
    padding:12px 10px;
    align-items:start;
  }

  .register-clean-panel,
  .pending-matricula-card{
    border-radius:22px;
    padding:18px;
  }

  .enrollment-v83-form .panel{
    padding:16px;
    border-radius:20px;
  }
}

/* =====================================================================
   M4RTIAL APP V83 — Alta automática de clientes
   ===================================================================== */
.auto-flow-note{
  border:1px solid rgba(197,163,75,.18);
  background:linear-gradient(135deg,rgba(242,196,0,.08),rgba(255,255,255,.9));
  border-radius:18px;
  padding:14px;
  font-size:13px;
  line-height:1.45;
}

.matricula-row .actions{
  flex-wrap:wrap;
}

.trial-item-actions .mini-action{
  white-space:nowrap;
}

.pending-matricula-card .actions{
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}

@media(max-width:560px){
  .trial-item-actions{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
  }
  .trial-item-actions .mini-action{
    font-size:10.5px;
    padding:7px 8px;
  }
}

/* =====================================================================
   M4RTIAL WEB V83 — login sin desplegable
   ===================================================================== */
.login-no-topbar .m4-minimal-header,
.login-no-topbar .client-minimal-header,
.login-no-topbar .admin-minimal-header,
.login-no-topbar .public-minimal-header,
.login-no-topbar .footer-note,
.login-v83-simple-only select,
.login-v83-simple-only .session-selector,
.login-v83-simple-only .slot-selector,
.login-v83-simple-only .mode-selector,
.login-v83-simple-only .compact-menu,
.login-v83-simple-only .m4-header-menu{
  display:none!important;
}

.login-v83-simple-only{
  width:min(100% - 24px, 430px)!important;
  margin:auto!important;
}

.login-v83-simple-only .login-clean-card{
  margin:auto!important;
}

@media(max-width:520px){
  .login-v83-simple-only{
    width:min(100% - 18px, 360px)!important;
  }
}

/* =====================================================================
   M4RTIAL WEB V83 — login restaurado visualmente como V83
   ===================================================================== */

/* El login vuelve al comportamiento V83: sin header/footer y solo tarjeta de acceso */
.clean-login-app{
  min-height:100svh!important;
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 18% 18%, rgba(242,196,0,.18), transparent 26%),
    radial-gradient(circle at 82% 16%, rgba(214,165,35,.14), transparent 22%),
    radial-gradient(circle at 50% 82%, rgba(255,233,160,.14), transparent 28%),
    linear-gradient(145deg, #fffef9 0%, #faf4e3 52%, #efe5c8 100%)!important;
}

.clean-login-app .m4-minimal-header,
.clean-login-app .client-minimal-header,
.clean-login-app .admin-minimal-header,
.clean-login-app .public-minimal-header,
.clean-login-app .footer-note,
.login-v83-v83 select,
.login-v83-v83 .session-selector,
.login-v83-v83 .slot-selector,
.login-v83-v83 .mode-selector,
.login-v83-v83 .compact-menu,
.login-v83-v83 .m4-header-menu,
.login-v83-v83 .login-secondary-action{
  display:none!important;
}

.clean-login-app::before,
.clean-login-app::after{
  content:""!important;
  position:fixed!important;
  inset:auto!important;
  pointer-events:none!important;
  border-radius:50%!important;
  filter:blur(18px)!important;
  will-change:transform, opacity!important;
  opacity:.95!important;
}

.clean-login-app::before{
  width:560px!important;
  height:560px!important;
  left:-140px!important;
  top:-110px!important;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.72) 0%, rgba(255,255,255,.15) 28%, rgba(255,255,255,0) 58%),
    radial-gradient(circle at 62% 44%, rgba(242,196,0,.28) 0%, rgba(242,196,0,.10) 30%, rgba(242,196,0,0) 68%),
    radial-gradient(circle at 70% 72%, rgba(212,166,48,.18) 0%, rgba(212,166,48,0) 62%)!important;
  animation:m4LoginFloatA 18s ease-in-out infinite alternate!important;
}

.clean-login-app::after{
  width:620px!important;
  height:620px!important;
  right:-180px!important;
  bottom:-180px!important;
  background:
    radial-gradient(circle at 38% 38%, rgba(255,255,255,.42) 0%, rgba(255,255,255,.08) 24%, rgba(255,255,255,0) 54%),
    radial-gradient(circle at 56% 42%, rgba(242,196,0,.20) 0%, rgba(242,196,0,.08) 28%, rgba(242,196,0,0) 62%),
    radial-gradient(circle at 66% 68%, rgba(186,140,22,.16) 0%, rgba(186,140,22,0) 58%)!important;
  animation:m4LoginFloatB 22s ease-in-out infinite alternate!important;
}

.login-only-clean.login-v83-v83{
  width:min(100% - 28px, 430px)!important;
  margin:auto!important;
  display:grid!important;
  place-items:center!important;
}

.login-v83-v83 .login-clean-card{
  position:relative!important;
  z-index:3!important;
  width:100%!important;
  max-width:430px!important;
  border:1px solid rgba(197,163,75,.22)!important;
  border-radius:30px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,251,241,.82))!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  box-shadow:0 34px 90px rgba(31,23,4,.16), 0 12px 30px rgba(117,83,0,.08)!important;
  padding:28px!important;
  display:grid!important;
  gap:18px!important;
}

.login-v83-v83 .login-clean-card::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  pointer-events:none!important;
  background:linear-gradient(135deg, rgba(255,255,255,.34), rgba(255,255,255,0) 42%, rgba(242,196,0,.05) 100%)!important;
}

.login-v83-v83 .login-clean-logo{
  display:grid!important;
  place-items:center!important;
}

.login-v83-v83 .login-clean-logo img{
  width:78px!important;
  height:auto!important;
  display:block!important;
  filter:drop-shadow(0 16px 24px rgba(117,83,0,.16))!important;
}

.login-v83-v83 .login-clean-heading{
  text-align:center!important;
  display:grid!important;
  gap:10px!important;
}

.login-v83-v83 .login-clean-heading h1{
  margin:0!important;
  font-size:clamp(32px, 7vw, 44px)!important;
  line-height:.95!important;
  letter-spacing:-.055em!important;
}

.login-v83-v83 .login-clean-form{
  display:grid!important;
  gap:11px!important;
}

.login-v83-v83 .login-clean-form input[type="email"],
.login-v83-v83 .login-clean-form input[type="password"],
.login-v83-v83 .login-clean-form input[type="text"]{
  min-height:52px!important;
  border-radius:16px!important;
  font-size:16px!important;
}

.login-v83-v83 .password-field-clean input{
  padding-right:56px!important;
}

.login-v83-v83 .password-toggle-eye{
  width:40px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0!important;
  right:7px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
  background:rgba(17,17,17,.06)!important;
  border:1px solid rgba(17,17,17,.10)!important;
  color:#151515!important;
}

.login-v83-v83 .password-toggle-eye svg{
  width:21px!important;
  height:21px!important;
  fill:currentColor!important;
  display:block!important;
}

.login-v83-v83 .password-toggle-eye .eye-slash{
  position:absolute!important;
  width:24px!important;
  height:2px!important;
  border-radius:999px!important;
  background:#151515!important;
  transform:rotate(-42deg) scaleX(0)!important;
  transition:transform .16s ease!important;
}

.login-v83-v83 .password-toggle-eye.is-visible .eye-slash{
  transform:rotate(-42deg) scaleX(1)!important;
}

.login-v83-v83 .password-toggle-eye:hover{
  background:#f2c400!important;
  border-color:#f2c400!important;
}

/* Checkbox original tipo V83 */
.login-v83-v83 .remember-login-row{
  margin-top:2px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:12px 13px!important;
  border:1px solid rgba(197,163,75,.18)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg, rgba(242,196,0,.08), rgba(255,255,255,.85))!important;
  cursor:pointer!important;
  user-select:none!important;
  font-size:13px!important;
  font-weight:800!important;
  color:#1d1d1d!important;
}

.login-v83-v83 .remember-login-row input{
  position:static!important;
  opacity:1!important;
  width:18px!important;
  height:18px!important;
  accent-color:#d4aa16!important;
  flex:0 0 auto!important;
  pointer-events:auto!important;
}

.login-v83-v83 .login-security-note{
  margin:0!important;
  font-size:11.5px!important;
  line-height:1.45!important;
  color:rgba(35,35,35,.62)!important;
}

.login-v83-v83 .login-submit-btn{
  margin-top:4px!important;
  min-height:52px!important;
  border-radius:16px!important;
  font-size:12px!important;
}

@keyframes m4LoginFloatA{
  0%{transform:translate3d(0,0,0) scale(1) rotate(0deg)}
  25%{transform:translate3d(36px,24px,0) scale(1.05) rotate(5deg)}
  50%{transform:translate3d(18px,64px,0) scale(1.09) rotate(9deg)}
  75%{transform:translate3d(58px,34px,0) scale(1.04) rotate(3deg)}
  100%{transform:translate3d(26px,84px,0) scale(1.12) rotate(10deg)}
}

@keyframes m4LoginFloatB{
  0%{transform:translate3d(0,0,0) scale(1) rotate(0deg)}
  25%{transform:translate3d(-34px,-18px,0) scale(1.03) rotate(-4deg)}
  50%{transform:translate3d(-70px,-54px,0) scale(1.08) rotate(-8deg)}
  75%{transform:translate3d(-26px,-82px,0) scale(1.04) rotate(-3deg)}
  100%{transform:translate3d(-82px,-44px,0) scale(1.11) rotate(-11deg)}
}

@media (prefers-reduced-motion: reduce){
  .clean-login-app::before,
  .clean-login-app::after{
    animation:none!important;
  }
}

@media(max-width:520px){
  .clean-login-app{
    align-items:start!important;
    padding-top:24px!important;
  }

  .login-only-clean.login-v83-v83{
    width:min(100% - 20px, 430px)!important;
  }

  .login-v83-v83 .login-clean-card{
    border-radius:24px!important;
    padding:22px!important;
    gap:15px!important;
  }

  .login-v83-v83 .login-clean-logo img{
    width:64px!important;
  }

  .login-v83-v83 .login-clean-heading h1{
    font-size:34px!important;
  }

  .login-v83-v83 .login-clean-form input[type="email"],
  .login-v83-v83 .login-clean-form input[type="password"],
  .login-v83-v83 .login-clean-form input[type="text"]{
    min-height:50px!important;
  }

  .clean-login-app::before{
    width:360px!important;
    height:360px!important;
    left:-110px!important;
    top:-70px!important;
    filter:blur(14px)!important;
  }

  .clean-login-app::after{
    width:400px!important;
    height:400px!important;
    right:-130px!important;
    bottom:-120px!important;
    filter:blur(16px)!important;
  }

  .login-v83-v83 .login-clean-card{
    background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,251,241,.86))!important;
  }
}
/* =====================================================================
   M4RTIAL WEB V83 — inicio directo al login estilo V83
   ===================================================================== */
.login-v83-v83 select,
.login-v83-v83 .session-selector,
.login-v83-v83 .slot-selector,
.login-v83-v83 .mode-selector,
.login-v83-v83 .compact-menu,
.login-v83-v83 .m4-header-menu,
.login-v83-v83 .login-secondary-action{
  display:none!important;
}

/* Si el usuario entra a /?slot=cliente, la app ya renderiza login limpio. */
.clean-login-app{
  min-height:100svh!important;
  width:100%!important;
}
/* =====================================================================
   M4RTIAL WEB V83 — login V83 conservando crear cuenta / matrícula
   ===================================================================== */
.login-v83-v83 .login-create-account-action{
  display:grid!important;
  gap:7px!important;
  justify-items:center!important;
  text-align:center!important;
  padding-top:2px!important;
}

.login-v83-v83 .login-create-account-action span{
  font-size:12px!important;
  color:rgba(35,35,35,.62)!important;
  font-weight:700!important;
}

.login-v83-v83 .login-create-account-action .link-btn{
  border:1px solid rgba(197,163,75,.22)!important;
  background:linear-gradient(135deg, rgba(242,196,0,.10), rgba(255,255,255,.88))!important;
  color:#111!important;
  text-decoration:none!important;
  font-weight:900!important;
  border-radius:14px!important;
  padding:10px 14px!important;
  cursor:pointer!important;
  letter-spacing:.02em!important;
}

.login-v83-v83 .login-create-account-action .link-btn:hover{
  background:#f2c400!important;
}

/* Mantiene ocultos solo desplegables/menús, no el botón de crear cuenta */
.login-v83-v83 select,
.login-v83-v83 .session-selector,
.login-v83-v83 .slot-selector,
.login-v83-v83 .mode-selector,
.login-v83-v83 .compact-menu,
.login-v83-v83 .m4-header-menu{
  display:none!important;
}

@media(max-width:520px){
  .login-v83-v83 .login-create-account-action .link-btn{
    width:100%!important;
    padding:11px 12px!important;
  }
}


/* =====================================================================
   M4RTIAL WEB V83 — login móvil minimal + fondo abstracto animado premium
   ===================================================================== */
.clean-login-app{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 12% 14%, rgba(242,196,0,.20) 0%, rgba(242,196,0,.06) 18%, rgba(242,196,0,0) 36%),
    radial-gradient(circle at 86% 12%, rgba(205,164,54,.15) 0%, rgba(205,164,54,.06) 18%, rgba(205,164,54,0) 34%),
    radial-gradient(circle at 52% 74%, rgba(255,240,190,.20) 0%, rgba(255,240,190,.08) 20%, rgba(255,240,190,0) 42%),
    linear-gradient(145deg, #fbf8ef 0%, #f5efdc 45%, #efe4c4 100%)!important;
  background-size:140% 140%, 150% 150%, 150% 150%, 100% 100%!important;
  animation:m4LoginBackdropShiftV83 18s ease-in-out infinite alternate!important;
}

.clean-login-app::before,
.clean-login-app::after{
  content:""!important;
  position:fixed!important;
  pointer-events:none!important;
  border-radius:44% 56% 58% 42% / 42% 40% 60% 58%!important;
  filter:blur(20px)!important;
  opacity:.95!important;
  will-change:transform, opacity!important;
}

.clean-login-app::before{
  width:540px!important;
  height:540px!important;
  left:-110px!important;
  top:-90px!important;
  background:
    radial-gradient(circle at 34% 34%, rgba(255,255,255,.70) 0%, rgba(255,255,255,.18) 26%, rgba(255,255,255,0) 58%),
    radial-gradient(circle at 62% 38%, rgba(242,196,0,.28) 0%, rgba(242,196,0,.12) 30%, rgba(242,196,0,0) 70%),
    radial-gradient(circle at 70% 72%, rgba(178,136,28,.18) 0%, rgba(178,136,28,0) 58%)!important;
  animation:m4LoginBlobLeftV83 17s ease-in-out infinite alternate!important;
}

.clean-login-app::after{
  width:620px!important;
  height:620px!important;
  right:-170px!important;
  bottom:-180px!important;
  background:
    radial-gradient(circle at 36% 34%, rgba(255,255,255,.44) 0%, rgba(255,255,255,.10) 24%, rgba(255,255,255,0) 52%),
    radial-gradient(circle at 54% 42%, rgba(242,196,0,.22) 0%, rgba(242,196,0,.08) 28%, rgba(242,196,0,0) 62%),
    radial-gradient(circle at 68% 68%, rgba(160,116,10,.15) 0%, rgba(160,116,10,0) 58%)!important;
  animation:m4LoginBlobRightV83 22s ease-in-out infinite alternate!important;
}

.login-only-clean.login-v83-v83{
  width:min(100% - 40px, 408px)!important;
}

.login-v83-v83 .login-clean-card{
  max-width:408px!important;
  border-radius:28px!important;
  padding:24px!important;
  gap:16px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,251,242,.76))!important;
  box-shadow:0 28px 70px rgba(31,23,4,.14), 0 12px 24px rgba(117,83,0,.07)!important;
}

.login-v83-v83 .login-clean-card::after{
  content:""!important;
  position:absolute!important;
  inset:auto -90px -100px auto!important;
  width:210px!important;
  height:210px!important;
  border-radius:50%!important;
  background:radial-gradient(circle, rgba(242,196,0,.12) 0%, rgba(242,196,0,.04) 34%, rgba(242,196,0,0) 70%)!important;
  filter:blur(2px)!important;
  pointer-events:none!important;
}

.login-v83-v83 .login-clean-logo img{
  width:70px!important;
  filter:drop-shadow(0 12px 22px rgba(117,83,0,.14))!important;
}

.login-v83-v83 .login-clean-heading{
  gap:6px!important;
}

.login-v83-v83 .login-clean-heading h1{
  font-size:clamp(29px, 6vw, 40px)!important;
}

.login-v83-v83 .login-clean-form{
  gap:9px!important;
}

.login-v83-v83 .login-clean-form label:not(.remember-login-row):not(.password-field-label){
  font-size:11.5px!important;
  letter-spacing:.07em!important;
}

.login-v83-v83 .login-clean-form input[type="email"],
.login-v83-v83 .login-clean-form input[type="password"],
.login-v83-v83 .login-clean-form input[type="text"]{
  min-height:48px!important;
  border-radius:15px!important;
  padding:0 13px!important;
  font-size:15px!important;
}

.login-v83-v83 .password-field-clean input{
  padding-right:52px!important;
}

.login-v83-v83 .password-toggle-eye{
  width:36px!important;
  height:36px!important;
  min-height:36px!important;
  right:6px!important;
  border-radius:13px!important;
}

.login-v83-v83 .remember-login-row{
  padding:10px 12px!important;
  min-height:auto!important;
  border-radius:15px!important;
  gap:9px!important;
  font-size:12px!important;
}

.login-v83-v83 .remember-login-row input{
  width:17px!important;
  height:17px!important;
}

.login-v83-v83 .login-security-note{
  font-size:10.5px!important;
  line-height:1.38!important;
}

.login-v83-v83 .login-submit-btn{
  min-height:48px!important;
  border-radius:15px!important;
}

.login-v83-v83 .login-create-account-action{
  gap:6px!important;
  padding-top:0!important;
}

.login-v83-v83 .login-create-account-action span{
  font-size:11px!important;
}

.login-v83-v83 .login-create-account-action .link-btn{
  padding:9px 13px!important;
  border-radius:13px!important;
  font-size:12px!important;
}

@keyframes m4LoginBackdropShiftV83{
  0%{background-position:0% 0%, 100% 0%, 50% 100%, 0 0}
  50%{background-position:10% 8%, 92% 16%, 46% 88%, 0 0}
  100%{background-position:18% 12%, 84% 8%, 54% 80%, 0 0}
}

@keyframes m4LoginBlobLeftV83{
  0%{transform:translate3d(0,0,0) scale(1) rotate(0deg)}
  35%{transform:translate3d(34px,22px,0) scale(1.05) rotate(6deg)}
  70%{transform:translate3d(20px,64px,0) scale(1.09) rotate(11deg)}
  100%{transform:translate3d(58px,84px,0) scale(1.12) rotate(16deg)}
}

@keyframes m4LoginBlobRightV83{
  0%{transform:translate3d(0,0,0) scale(1) rotate(0deg)}
  35%{transform:translate3d(-30px,-24px,0) scale(1.03) rotate(-5deg)}
  70%{transform:translate3d(-72px,-58px,0) scale(1.08) rotate(-10deg)}
  100%{transform:translate3d(-94px,-36px,0) scale(1.10) rotate(-15deg)}
}

@media(max-width:520px){
  .clean-login-app{
    padding:16px 12px 24px!important;
    align-items:center!important;
  }

  .login-only-clean.login-v83-v83{
    width:min(100% - 54px, 312px)!important;
  }

  .login-v83-v83 .login-clean-card{
    max-width:312px!important;
    border-radius:21px!important;
    padding:16px 14px!important;
    gap:11px!important;
    box-shadow:0 20px 42px rgba(31,23,4,.12), 0 8px 16px rgba(117,83,0,.06)!important;
  }

  .login-v83-v83 .login-clean-logo img{
    width:46px!important;
  }

  .login-v83-v83 .login-clean-heading h1{
    font-size:26px!important;
    letter-spacing:-.05em!important;
  }

  .login-v83-v83 .login-clean-form{
    gap:7px!important;
  }

  .login-v83-v83 .login-clean-form label:not(.remember-login-row):not(.password-field-label){
    font-size:10.5px!important;
  }

  .login-v83-v83 .login-clean-form input[type="email"],
  .login-v83-v83 .login-clean-form input[type="password"],
  .login-v83-v83 .login-clean-form input[type="text"]{
    min-height:42px!important;
    border-radius:12px!important;
    font-size:14px!important;
    padding:0 11px!important;
  }

  .login-v83-v83 .password-field-clean input{
    padding-right:44px!important;
  }

  .login-v83-v83 .password-toggle-eye{
    width:31px!important;
    height:31px!important;
    min-height:31px!important;
    right:5px!important;
    border-radius:10px!important;
  }

  .login-v83-v83 .password-toggle-eye svg{
    width:17px!important;
    height:17px!important;
  }

  .login-v83-v83 .password-toggle-eye .eye-slash{
    width:18px!important;
  }

  .login-v83-v83 .remember-login-row{
    padding:8px 10px!important;
    border-radius:12px!important;
    font-size:11px!important;
    gap:8px!important;
  }

  .login-v83-v83 .remember-login-row input{
    width:16px!important;
    height:16px!important;
  }

  .login-v83-v83 .login-security-note{
    font-size:10px!important;
    line-height:1.3!important;
  }

  .login-v83-v83 .login-submit-btn{
    min-height:42px!important;
    border-radius:12px!important;
    font-size:11px!important;
    margin-top:1px!important;
  }

  .login-v83-v83 .login-create-account-action span{
    font-size:10.5px!important;
  }

  .login-v83-v83 .login-create-account-action .link-btn{
    width:100%!important;
    padding:9px 10px!important;
    border-radius:12px!important;
    font-size:11px!important;
  }

  .clean-login-app::before{
    width:300px!important;
    height:300px!important;
    left:-100px!important;
    top:-60px!important;
    filter:blur(14px)!important;
  }

  .clean-login-app::after{
    width:340px!important;
    height:340px!important;
    right:-120px!important;
    bottom:-130px!important;
    filter:blur(16px)!important;
  }
}

@media(max-width:380px){
  .login-only-clean.login-v83-v83{
    width:min(100% - 42px, 296px)!important;
  }

  .login-v83-v83 .login-clean-card{
    max-width:296px!important;
    padding:15px 13px!important;
  }

  .login-v83-v83 .login-clean-heading h1{
    font-size:24px!important;
  }
}

@media (prefers-reduced-motion: reduce){
  .clean-login-app,
  .clean-login-app::before,
  .clean-login-app::after{
    animation:none!important;
  }
}

/* =====================================================================
   M4RTIAL WEB V83 — login móvil más pequeño, limpio y con más aire
   ===================================================================== */

/* Escritorio/tablet: un poco más elegante y contenido */
.login-only-clean.login-v83-v83{
  width:min(100% - 54px, 392px)!important;
}

.login-v83-v83 .login-clean-card{
  max-width:392px!important;
  padding:22px!important;
  gap:14px!important;
  border-radius:26px!important;
}

/* Móvil: tarjeta mucho más pequeña para que respire el fondo */
@media(max-width:520px){
  .clean-login-app{
    min-height:100svh!important;
    padding:34px 0!important;
    align-items:center!important;
    place-items:center!important;
  }

  .login-only-clean.login-v83-v83{
    width:min(calc(100% - 96px), 282px)!important;
    max-width:282px!important;
    margin:auto!important;
  }

  .login-v83-v83 .login-clean-card{
    width:100%!important;
    max-width:282px!important;
    border-radius:18px!important;
    padding:13px 12px!important;
    gap:8px!important;
    background:linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,251,241,.70))!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
    box-shadow:0 16px 34px rgba(31,23,4,.11), 0 6px 14px rgba(117,83,0,.06)!important;
  }

  .login-v83-v83 .login-clean-card::before{
    opacity:.58!important;
  }

  .login-v83-v83 .login-clean-logo img{
    width:38px!important;
    filter:drop-shadow(0 8px 14px rgba(117,83,0,.13))!important;
  }

  .login-v83-v83 .login-clean-heading{
    gap:0!important;
  }

  .login-v83-v83 .login-clean-heading h1{
    font-size:22px!important;
    line-height:1!important;
    letter-spacing:-.045em!important;
  }

  .login-v83-v83 .message{
    padding:9px 10px!important;
    border-radius:12px!important;
    font-size:11px!important;
    line-height:1.32!important;
  }

  .login-v83-v83 .login-clean-form{
    gap:6px!important;
  }

  .login-v83-v83 .login-clean-form label:not(.remember-login-row):not(.password-field-label){
    font-size:9.5px!important;
    letter-spacing:.075em!important;
    margin-bottom:0!important;
  }

  .login-v83-v83 .login-clean-form input[type="email"],
  .login-v83-v83 .login-clean-form input[type="password"],
  .login-v83-v83 .login-clean-form input[type="text"]{
    min-height:38px!important;
    height:38px!important;
    border-radius:11px!important;
    font-size:13px!important;
    padding:0 10px!important;
  }

  .login-v83-v83 .password-field-clean input{
    padding-right:40px!important;
  }

  .login-v83-v83 .password-toggle-eye{
    width:28px!important;
    height:28px!important;
    min-height:28px!important;
    right:5px!important;
    border-radius:9px!important;
  }

  .login-v83-v83 .password-toggle-eye svg{
    width:15px!important;
    height:15px!important;
  }

  .login-v83-v83 .password-toggle-eye .eye-slash{
    width:16px!important;
    height:1.8px!important;
  }

  .login-v83-v83 .remember-login-row{
    padding:7px 9px!important;
    border-radius:11px!important;
    gap:7px!important;
    font-size:10px!important;
    line-height:1.15!important;
  }

  .login-v83-v83 .remember-login-row input{
    width:14px!important;
    height:14px!important;
  }

  .login-v83-v83 .login-security-note{
    font-size:9.2px!important;
    line-height:1.25!important;
  }

  .login-v83-v83 .login-submit-btn{
    min-height:38px!important;
    height:38px!important;
    border-radius:11px!important;
    font-size:10px!important;
    margin-top:1px!important;
    letter-spacing:.05em!important;
  }

  .login-v83-v83 .login-create-account-action{
    gap:4px!important;
    padding-top:0!important;
  }

  .login-v83-v83 .login-create-account-action span{
    font-size:9.7px!important;
  }

  .login-v83-v83 .login-create-account-action .link-btn{
    width:100%!important;
    padding:8px 9px!important;
    border-radius:11px!important;
    font-size:10px!important;
    letter-spacing:.02em!important;
  }

  /* Más aire visual en el fondo */
  .clean-login-app::before{
    width:340px!important;
    height:340px!important;
    left:-140px!important;
    top:-96px!important;
    filter:blur(18px)!important;
    opacity:.86!important;
  }

  .clean-login-app::after{
    width:400px!important;
    height:400px!important;
    right:-168px!important;
    bottom:-156px!important;
    filter:blur(20px)!important;
    opacity:.82!important;
  }

  .login-v83-v83 .login-clean-card::after{
    width:150px!important;
    height:150px!important;
    right:-72px!important;
    bottom:-78px!important;
    opacity:.72!important;
  }
}

/* Móviles estrechos: todavía más compacto */
@media(max-width:390px){
  .clean-login-app{
    padding:28px 0!important;
  }

  .login-only-clean.login-v83-v83{
    width:min(calc(100% - 86px), 268px)!important;
    max-width:268px!important;
  }

  .login-v83-v83 .login-clean-card{
    max-width:268px!important;
    padding:12px 11px!important;
    gap:7px!important;
    border-radius:17px!important;
  }

  .login-v83-v83 .login-clean-logo img{
    width:35px!important;
  }

  .login-v83-v83 .login-clean-heading h1{
    font-size:21px!important;
  }

  .login-v83-v83 .login-clean-form input[type="email"],
  .login-v83-v83 .login-clean-form input[type="password"],
  .login-v83-v83 .login-clean-form input[type="text"]{
    min-height:36px!important;
    height:36px!important;
  }

  .login-v83-v83 .login-submit-btn{
    min-height:36px!important;
    height:36px!important;
  }
}

/* =====================================================================
   M4RTIAL WEB V83 — legal, cookies, idiomas y login móvil ultra limpio
   ===================================================================== */

/* Legal pages */
.legal-page{
  min-height:100svh;
  padding:28px 14px;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 12% 14%, rgba(242,196,0,.10), transparent 30%),
    linear-gradient(145deg,#fffdf7,#f4edd8);
}
.legal-panel{
  width:min(100%,860px);
  border-radius:26px;
}
.legal-panel h1{
  margin:8px 0 12px;
  font-size:clamp(30px,5vw,52px);
  letter-spacing:-.05em;
}
.legal-copy{
  display:grid;
  gap:12px;
  line-height:1.62;
  color:#4b473d;
}
.legal-links{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:18px;
}

/* Cookie banner */
.m4-cookie-banner{
  position:fixed;
  left:14px;
  right:14px;
  bottom:14px;
  z-index:20050;
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  max-width:980px;
  margin:0 auto;
  padding:14px;
  border-radius:22px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(197,163,75,.22);
  box-shadow:0 22px 60px rgba(31,23,4,.18);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.m4-cookie-banner.open{
  display:flex;
}
.m4-cookie-copy{
  display:grid;
  gap:5px;
}
.m4-cookie-copy strong{
  font-weight:950;
  color:#111;
}
.m4-cookie-copy p{
  margin:0;
  font-size:12.5px;
  line-height:1.42;
  color:#5b554a;
}
.m4-cookie-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.m4-cookie-links a{
  font-size:11px;
  font-weight:850;
  color:#111;
  text-decoration:underline;
}
.m4-cookie-actions{
  display:flex;
  gap:7px;
  flex:0 0 auto;
}
.m4-cookie-actions button,
.m4-cookie-modal-actions button{
  border:1px solid rgba(17,17,17,.12);
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:9px 12px;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.m4-cookie-actions button.gold,
.m4-cookie-modal-actions button.gold{
  background:#f2c400;
  border-color:#f2c400;
}
.m4-cookie-modal{
  position:fixed;
  inset:0;
  z-index:20060;
  display:none;
  place-items:center;
  padding:18px;
  background:rgba(17,17,17,.38);
  backdrop-filter:blur(4px);
}
.m4-cookie-modal.open{
  display:grid;
}
.m4-cookie-modal-card{
  width:min(100%,430px);
  border-radius:24px;
  padding:22px;
  background:#fff;
  border:1px solid rgba(197,163,75,.24);
  box-shadow:0 28px 80px rgba(0,0,0,.22);
}
.m4-cookie-modal-card h2{
  margin:8px 0;
  font-size:28px;
  letter-spacing:-.04em;
}
.m4-cookie-modal-card p{
  color:#5b554a;
  line-height:1.5;
  font-size:13px;
}
.m4-cookie-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  margin:9px 0;
  padding:11px;
  border-radius:14px;
  background:#faf7eb;
  font-weight:850;
  font-size:13px;
}
.m4-cookie-toggle input{
  width:18px;
  height:18px;
  accent-color:#d4aa16;
}
.m4-cookie-toggle.disabled{
  opacity:.72;
}
.m4-cookie-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:14px;
}

/* Selector de idioma como m4rtial.es */
.language-switcher{
  position:fixed;
  right:14px;
  bottom:18px;
  z-index:10010;
  display:flex;
  align-items:center;
  gap:3px;
  padding:4px;
  border-radius:999px;
  background:#ffffff;
  border:1px solid rgba(16,16,16,.10);
  box-shadow:0 10px 24px rgba(23,20,12,.10);
  opacity:.92;
}
.language-switcher-label{
  padding:0 5px 0 7px;
  color:#111;
  font-size:8px;
  font-weight:900;
  letter-spacing:.075em;
  text-transform:uppercase;
  white-space:nowrap;
}
.language-switcher button{
  min-width:29px;
  width:29px;
  height:24px;
  border:1px solid rgba(16,16,16,.10);
  border-radius:999px;
  background:#fff;
  color:#111;
  font-size:8px;
  font-weight:900;
  letter-spacing:.04em;
  cursor:pointer;
}
.language-switcher button:hover,
.language-switcher button.active{
  background:#111;
  color:#fff;
  border-color:#111;
}
#google_translate_element,
.goog-te-banner-frame,
.goog-te-balloon-frame,
.skiptranslate iframe{
  display:none!important;
}
body{
  top:0!important;
}
.goog-tooltip,
.goog-tooltip:hover,
.goog-text-highlight{
  display:none!important;
  box-shadow:none!important;
  background:none!important;
}

/* Checkbox recordar correo más atractivo */
.login-v83-v83 .remember-m4-checkbox{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px 10px!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(242,196,0,.10))!important;
  border:1px solid rgba(197,163,75,.22)!important;
}
.login-v83-v83 .remember-m4-checkbox input{
  position:absolute!important;
  opacity:0!important;
  width:1px!important;
  height:1px!important;
  pointer-events:none!important;
}
.login-v83-v83 .remember-m4-box{
  width:18px!important;
  height:18px!important;
  border-radius:7px!important;
  flex:0 0 18px!important;
  border:1.5px solid rgba(17,17,17,.18)!important;
  background:linear-gradient(180deg,#fff,#f6efd8)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 5px 12px rgba(31,23,4,.08)!important;
  display:grid!important;
  place-items:center!important;
}
.login-v83-v83 .remember-m4-box::after{
  content:""!important;
  width:8px!important;
  height:5px!important;
  border-left:2px solid #111!important;
  border-bottom:2px solid #111!important;
  transform:rotate(-45deg) scale(.55)!important;
  opacity:0!important;
  margin-top:-1px!important;
  transition:all .16s ease!important;
}
.login-v83-v83 .remember-m4-checkbox input:checked + .remember-m4-box{
  background:linear-gradient(180deg,#f5cb34,#d1a20f)!important;
  border-color:#c49710!important;
  box-shadow:0 8px 16px rgba(160,114,0,.18)!important;
}
.login-v83-v83 .remember-m4-checkbox input:checked + .remember-m4-box::after{
  opacity:1!important;
  transform:rotate(-45deg) scale(1)!important;
}
.login-v83-v83 .remember-m4-text{
  font-size:11.2px!important;
  font-weight:900!important;
  color:#171717!important;
  letter-spacing:.01em!important;
}

/* Móvil: todavía más pequeño y con mucho más aire de fondo */
@media(max-width:860px){
  .language-switcher{
    top:60px;
    right:5px;
    left:auto;
    bottom:auto;
    width:auto;
    max-width:none;
    justify-content:flex-end;
    gap:2px;
    padding:3px;
    border-radius:999px;
    transform:none;
    opacity:.94;
    box-shadow:0 8px 20px rgba(23,20,12,.11);
  }
  .language-switcher-label{
    display:none;
  }
  .language-switcher button{
    flex:0 0 auto;
    min-width:31px;
    width:31px;
    height:25px;
    padding:0;
    font-size:8.5px;
    letter-spacing:.035em;
  }
}

@media(max-width:520px){
  .clean-login-app{
    padding:54px 0 62px!important;
    align-items:center!important;
    place-items:center!important;
  }

  .login-only-clean.login-v83-v83{
    width:clamp(218px, 64vw, 252px)!important;
    max-width:252px!important;
    margin:auto!important;
  }

  .login-v83-v83 .login-clean-card{
    max-width:252px!important;
    border-radius:16px!important;
    padding:11px 10px!important;
    gap:6px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,251,242,.66))!important;
    box-shadow:0 14px 30px rgba(31,23,4,.10),0 5px 12px rgba(117,83,0,.055)!important;
  }

  .login-v83-v83 .login-clean-logo img{
    width:32px!important;
  }

  .login-v83-v83 .login-clean-heading h1{
    font-size:20px!important;
    line-height:1!important;
  }

  .login-v83-v83 .login-clean-form{
    gap:5px!important;
  }

  .login-v83-v83 .login-clean-form label:not(.remember-login-row):not(.password-field-label){
    font-size:8.8px!important;
    letter-spacing:.075em!important;
  }

  .login-v83-v83 .login-clean-form input[type="email"],
  .login-v83-v83 .login-clean-form input[type="password"],
  .login-v83-v83 .login-clean-form input[type="text"]{
    height:34px!important;
    min-height:34px!important;
    border-radius:10px!important;
    font-size:12px!important;
    padding:0 9px!important;
  }

  .login-v83-v83 .password-field-clean input{
    padding-right:36px!important;
  }

  .login-v83-v83 .password-toggle-eye{
    width:25px!important;
    height:25px!important;
    min-height:25px!important;
    right:5px!important;
    border-radius:8px!important;
  }

  .login-v83-v83 .password-toggle-eye svg{
    width:14px!important;
    height:14px!important;
  }

  .login-v83-v83 .remember-m4-checkbox{
    padding:6px 8px!important;
    border-radius:10px!important;
    gap:6px!important;
  }

  .login-v83-v83 .remember-m4-box{
    width:15px!important;
    height:15px!important;
    flex-basis:15px!important;
    border-radius:5px!important;
  }

  .login-v83-v83 .remember-m4-box::after{
    width:7px!important;
    height:4px!important;
    border-left-width:1.8px!important;
    border-bottom-width:1.8px!important;
  }

  .login-v83-v83 .remember-m4-text{
    font-size:9.6px!important;
  }

  .login-v83-v83 .login-security-note{
    font-size:8.8px!important;
    line-height:1.22!important;
  }

  .login-v83-v83 .login-submit-btn{
    height:34px!important;
    min-height:34px!important;
    border-radius:10px!important;
    font-size:9.2px!important;
  }

  .login-v83-v83 .login-create-account-action{
    gap:3px!important;
  }

  .login-v83-v83 .login-create-account-action span{
    font-size:8.8px!important;
  }

  .login-v83-v83 .login-create-account-action .link-btn{
    padding:7px 8px!important;
    border-radius:10px!important;
    font-size:9.4px!important;
  }

  .clean-login-app::before{
    width:370px!important;
    height:370px!important;
    left:-160px!important;
    top:-120px!important;
    opacity:.80!important;
    filter:blur(22px)!important;
  }

  .clean-login-app::after{
    width:430px!important;
    height:430px!important;
    right:-190px!important;
    bottom:-190px!important;
    opacity:.76!important;
    filter:blur(24px)!important;
  }

  .m4-cookie-banner{
    left:10px;
    right:10px;
    bottom:10px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    padding:12px;
    border-radius:18px;
  }
  .m4-cookie-banner.open{
    display:flex;
  }
  .m4-cookie-actions{
    justify-content:space-between;
  }
  .m4-cookie-actions button{
    flex:1;
    padding:9px 8px;
    font-size:10px;
  }
}

@media(max-width:380px){
  .login-only-clean.login-v83-v83{
    width:clamp(208px, 64vw, 238px)!important;
    max-width:238px!important;
  }

  .login-v83-v83 .login-clean-card{
    max-width:238px!important;
    padding:10px 9px!important;
    gap:5px!important;
  }

  .login-v83-v83 .login-clean-logo img{
    width:30px!important;
  }

  .login-v83-v83 .login-clean-heading h1{
    font-size:19px!important;
  }
}

/* =====================================================================
   M4RTIAL WEB V83 — checkbox móvil refinada + selector idioma discreto
   ===================================================================== */

/* Checkbox visual más limpio: sin deformaciones y alineado */
.login-v83-v83 .remember-m4-checkbox{
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  padding:7px 9px!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(242,196,0,.08))!important;
  border:1px solid rgba(197,163,75,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 5px 14px rgba(31,23,4,.045)!important;
}

.login-v83-v83 .remember-m4-checkbox input{
  position:absolute!important;
  opacity:0!important;
  width:1px!important;
  height:1px!important;
  pointer-events:none!important;
}

.login-v83-v83 .remember-m4-box{
  position:relative!important;
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  flex:0 0 17px!important;
  border-radius:6px!important;
  border:1.4px solid rgba(17,17,17,.20)!important;
  background:linear-gradient(180deg,#ffffff,#f5eed5)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 4px 9px rgba(31,23,4,.07)!important;
  display:block!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}

.login-v83-v83 .remember-m4-box::after{
  content:""!important;
  position:absolute!important;
  left:4px!important;
  top:4px!important;
  width:7px!important;
  height:4px!important;
  border-left:2px solid #111!important;
  border-bottom:2px solid #111!important;
  transform:rotate(-45deg) scale(.45)!important;
  opacity:0!important;
  transition:opacity .14s ease,transform .14s ease!important;
}

.login-v83-v83 .remember-m4-checkbox input:checked + .remember-m4-box{
  background:linear-gradient(180deg,#f6cc35,#d4a713)!important;
  border-color:#c39912!important;
  box-shadow:0 7px 14px rgba(160,114,0,.18)!important;
}

.login-v83-v83 .remember-m4-checkbox input:checked + .remember-m4-box::after{
  opacity:1!important;
  transform:rotate(-45deg) scale(1)!important;
}

.login-v83-v83 .remember-m4-checkbox:active .remember-m4-box{
  transform:scale(.94)!important;
}

.login-v83-v83 .remember-m4-text{
  display:block!important;
  font-size:10.3px!important;
  line-height:1.1!important;
  font-weight:900!important;
  color:#171717!important;
  letter-spacing:.01em!important;
  white-space:nowrap!important;
}

/* Selector de idioma más pequeño, abajo derecha y con opacidad */
.language-switcher{
  left:auto!important;
  top:auto!important;
  right:10px!important;
  bottom:10px!important;
  transform:scale(.78)!important;
  transform-origin:right bottom!important;
  opacity:.58!important;
  gap:2px!important;
  padding:3px!important;
  border-radius:999px!important;
  box-shadow:0 8px 18px rgba(23,20,12,.10)!important;
  transition:opacity .18s ease,transform .18s ease!important;
}

.language-switcher:hover,
.language-switcher:focus-within{
  opacity:.94!important;
  transform:scale(.86)!important;
}

.language-switcher-label{
  display:none!important;
}

.language-switcher button{
  min-width:25px!important;
  width:25px!important;
  height:21px!important;
  padding:0!important;
  font-size:7.2px!important;
  letter-spacing:.02em!important;
}

/* Ajuste específico móvil */
@media(max-width:520px){
  .language-switcher{
    top:auto!important;
    left:auto!important;
    right:8px!important;
    bottom:8px!important;
    transform:scale(.70)!important;
    transform-origin:right bottom!important;
    opacity:.48!important;
    padding:3px!important;
    gap:2px!important;
  }

  .language-switcher:hover,
  .language-switcher:focus-within{
    opacity:.90!important;
    transform:scale(.78)!important;
  }

  .language-switcher button{
    min-width:24px!important;
    width:24px!important;
    height:20px!important;
    font-size:7px!important;
  }

  .login-v83-v83 .remember-m4-checkbox{
    min-height:30px!important;
    padding:6px 8px!important;
    gap:7px!important;
    border-radius:10px!important;
  }

  .login-v83-v83 .remember-m4-box{
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    flex-basis:15px!important;
    border-radius:5px!important;
  }

  .login-v83-v83 .remember-m4-box::after{
    left:3.5px!important;
    top:3.5px!important;
    width:6.5px!important;
    height:3.8px!important;
    border-left-width:1.8px!important;
    border-bottom-width:1.8px!important;
  }

  .login-v83-v83 .remember-m4-text{
    font-size:9.2px!important;
  }
}

@media(max-width:380px){
  .language-switcher{
    right:6px!important;
    bottom:6px!important;
    transform:scale(.66)!important;
    opacity:.45!important;
  }

  .language-switcher:hover,
  .language-switcher:focus-within{
    transform:scale(.74)!important;
  }

  .login-v83-v83 .remember-m4-text{
    font-size:8.8px!important;
  }
}

/* =====================================================================
   M4RTIAL WEB V83 — checkbox global + idiomas algo mayor + móvil minimal
   ===================================================================== */

/* Selector de idioma: un poco más grande, discreto y abajo derecha */
.language-switcher{
  left:auto!important;
  top:auto!important;
  right:10px!important;
  bottom:10px!important;
  transform:scale(.86)!important;
  transform-origin:right bottom!important;
  opacity:.62!important;
  gap:3px!important;
  padding:4px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(17,17,17,.10)!important;
  box-shadow:0 9px 22px rgba(23,20,12,.11)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  transition:opacity .18s ease, transform .18s ease!important;
}

.language-switcher:hover,
.language-switcher:focus-within{
  opacity:.95!important;
  transform:scale(.94)!important;
}

.language-switcher-label{
  display:none!important;
}

.language-switcher button{
  min-width:28px!important;
  width:28px!important;
  height:23px!important;
  padding:0!important;
  border-radius:999px!important;
  font-size:7.8px!important;
  letter-spacing:.025em!important;
  font-weight:950!important;
}

/* Checkbox global M4RTIAL: mismo lenguaje visual en toda la web/app */
input[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  box-sizing:border-box!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  flex:0 0 18px!important;
  display:inline-grid!important;
  place-content:center!important;
  margin:0!important;
  border-radius:7px!important;
  border:1.45px solid rgba(17,17,17,.22)!important;
  background:linear-gradient(180deg,#ffffff,#f6efd8)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 4px 10px rgba(31,23,4,.07)!important;
  cursor:pointer!important;
  vertical-align:middle!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}

input[type="checkbox"]::before{
  content:""!important;
  width:8px!important;
  height:5px!important;
  border-left:2px solid #111!important;
  border-bottom:2px solid #111!important;
  transform:rotate(-45deg) scale(.45)!important;
  opacity:0!important;
  margin-top:-1px!important;
  transition:opacity .14s ease,transform .14s ease!important;
}

input[type="checkbox"]:checked{
  background:linear-gradient(180deg,#f6cc35,#d4a713)!important;
  border-color:#c39912!important;
  box-shadow:0 7px 14px rgba(160,114,0,.18)!important;
}

input[type="checkbox"]:checked::before{
  opacity:1!important;
  transform:rotate(-45deg) scale(1)!important;
}

input[type="checkbox"]:focus-visible{
  outline:3px solid rgba(242,196,0,.30)!important;
  outline-offset:2px!important;
}

input[type="checkbox"]:active{
  transform:scale(.94)!important;
}

input[type="checkbox"]:disabled{
  opacity:.55!important;
  cursor:not-allowed!important;
}

/* Labels con checkbox: más limpios y coherentes */
.checkline,
.remember-login-row,
.remember-m4-checkbox,
.m4-cookie-toggle,
label:has(> input[type="checkbox"]){
  align-items:center!important;
}

.checkline,
label.checkline{
  gap:9px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.80),rgba(242,196,0,.075))!important;
  border:1px solid rgba(197,163,75,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.76)!important;
}

/* Checkbox recordar correo: usa la misma estética global, sin deformaciones */
.login-v83-v83 .remember-m4-checkbox{
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  padding:7px 9px!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(242,196,0,.08))!important;
  border:1px solid rgba(197,163,75,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 5px 14px rgba(31,23,4,.045)!important;
}

.login-v83-v83 .remember-m4-checkbox input{
  position:static!important;
  opacity:1!important;
  pointer-events:auto!important;
}

.login-v83-v83 .remember-m4-box{
  display:none!important;
}

.login-v83-v83 .remember-m4-text{
  display:block!important;
  font-size:10.6px!important;
  line-height:1.1!important;
  font-weight:900!important;
  color:#171717!important;
  letter-spacing:.01em!important;
  white-space:nowrap!important;
}

/* Principio móvil global: secciones más pequeñas, minimalistas y con aire */
@media(max-width:720px){
  .app:not(.clean-login-app){
    padding-inline:0!important;
  }

  .hero,
  .panel,
  .public-login-card,
  .landing-form-card,
  .pwa-install-card,
  .client-detail-hero,
  .client-profile-card,
  .metric-card,
  .timeline-item,
  .program-grid article,
  .public-card-grid article,
  .system-grid article,
  .compact-admin-panel,
  .auth-panel,
  .legal-panel{
    border-radius:18px!important;
    padding:15px!important;
  }

  .hero{
    margin:10px!important;
    padding:18px 14px!important;
  }

  .hero h1,
  .admin-page-title h1,
  .legal-panel h1{
    font-size:clamp(25px, 8vw, 36px)!important;
    line-height:1!important;
  }

  .admin-dashboard-page,
  .admin-form-page,
  .admin-system-page,
  .legal-page{
    padding:12px 10px!important;
  }

  .grid,
  .grid.two,
  .grid.three,
  .dashboard-metrics-grid,
  .public-card-grid.three,
  .system-grid,
  .program-grid{
    gap:10px!important;
  }

  .form,
  .compact-form,
  .rich-admin-form,
  .enrollment-v83-form{
    gap:9px!important;
  }

  input,
  select,
  textarea{
    border-radius:12px!important;
  }

  textarea{
    min-height:82px!important;
  }

  .section-head,
  .compact-section-head{
    gap:8px!important;
    margin-bottom:8px!important;
  }

  .section-head h2{
    font-size:18px!important;
  }

  .badge,
  .status-pill{
    transform:scale(.92)!important;
    transform-origin:left center!important;
  }
}

@media(max-width:520px){
  /* Idiomas algo mayor que V83, pero sigue discreto */
  .language-switcher{
    top:auto!important;
    left:auto!important;
    right:8px!important;
    bottom:8px!important;
    transform:scale(.78)!important;
    transform-origin:right bottom!important;
    opacity:.54!important;
    padding:3px!important;
    gap:2px!important;
  }

  .language-switcher:hover,
  .language-switcher:focus-within{
    opacity:.92!important;
    transform:scale(.86)!important;
  }

  .language-switcher button{
    min-width:27px!important;
    width:27px!important;
    height:22px!important;
    font-size:7.6px!important;
  }

  /* Checkbox global móvil más pequeña pero legible */
  input[type="checkbox"]{
    width:16px!important;
    height:16px!important;
    min-width:16px!important;
    flex-basis:16px!important;
    border-radius:6px!important;
  }

  input[type="checkbox"]::before{
    width:7px!important;
    height:4.2px!important;
    border-left-width:1.8px!important;
    border-bottom-width:1.8px!important;
  }

  .checkline,
  label.checkline{
    padding:8px 9px!important;
    gap:7px!important;
    border-radius:11px!important;
    font-size:11px!important;
    line-height:1.28!important;
  }

  .login-v83-v83 .remember-m4-checkbox{
    min-height:29px!important;
    padding:6px 8px!important;
    gap:7px!important;
    border-radius:10px!important;
  }

  .login-v83-v83 .remember-m4-text{
    font-size:9.5px!important;
  }

  /* Más aire y menos volumen en el login móvil */
  .clean-login-app{
    padding:62px 0 74px!important;
  }

  .login-only-clean.login-v83-v83{
    width:clamp(210px, 61vw, 242px)!important;
    max-width:242px!important;
  }

  .login-v83-v83 .login-clean-card{
    max-width:242px!important;
    border-radius:15px!important;
    padding:10px 9px!important;
    gap:5.5px!important;
  }

  .login-v83-v83 .login-clean-logo img{
    width:30px!important;
  }

  .login-v83-v83 .login-clean-heading h1{
    font-size:19px!important;
  }

  .login-v83-v83 .login-clean-form input[type="email"],
  .login-v83-v83 .login-clean-form input[type="password"],
  .login-v83-v83 .login-clean-form input[type="text"]{
    height:33px!important;
    min-height:33px!important;
  }

  .login-v83-v83 .login-submit-btn{
    height:33px!important;
    min-height:33px!important;
  }

  .login-v83-v83 .login-security-note{
    font-size:8.4px!important;
  }

  .login-v83-v83 .login-create-account-action .link-btn{
    padding:6.5px 8px!important;
  }

  .auth-register-page,
  .pending-matricula-page{
    padding:18px 10px!important;
  }

  .register-clean-panel,
  .pending-matricula-card,
  .m4-cookie-modal-card{
    border-radius:17px!important;
    padding:14px!important;
  }

  .enrollment-v83-form .panel{
    padding:13px!important;
    border-radius:16px!important;
  }

  .m4-cookie-banner{
    max-width:calc(100% - 22px)!important;
    border-radius:16px!important;
    padding:10px!important;
  }

  .m4-cookie-copy p{
    font-size:11px!important;
  }

  .m4-cookie-actions button{
    font-size:9.5px!important;
    padding:8px 7px!important;
  }
}

@media(max-width:380px){
  .language-switcher{
    right:6px!important;
    bottom:6px!important;
    transform:scale(.74)!important;
    opacity:.50!important;
  }

  .language-switcher:hover,
  .language-switcher:focus-within{
    transform:scale(.82)!important;
  }

  .login-only-clean.login-v83-v83{
    width:clamp(204px, 61vw, 232px)!important;
    max-width:232px!important;
  }

  .login-v83-v83 .login-clean-card{
    max-width:232px!important;
  }
}

/* =====================================================================
   M4RTIAL WEB V83 — filtros sin recargar mientras escribes
   ===================================================================== */
.client-filter-grid input,
.attendance-filter-grid input{
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease!important;
}

.client-filter-grid input:focus,
.attendance-filter-grid input:focus{
  border-color:rgba(212,167,19,.55)!important;
  box-shadow:0 0 0 3px rgba(242,196,0,.16)!important;
  background:rgba(255,255,255,.96)!important;
}

@media(max-width:720px){
  .client-filter-grid,
  .attendance-filter-grid{
    gap:8px!important;
  }

  .client-filter-grid input,
  .attendance-filter-grid input{
    min-height:38px!important;
    font-size:13px!important;
  }
}

/* =====================================================================
   M4RTIAL WEB V83 — matrícula legal completa
   ===================================================================== */
.enrollment-v83-form{
  display:grid!important;
  gap:14px!important;
}

.enrollment-v83-form .span-2{
  grid-column:1 / -1;
}

.enrollment-section-card{
  border-radius:24px!important;
}

.legal-clause-box{
  border:1px solid rgba(197,163,75,.20);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(242,196,0,.055));
  padding:12px 13px;
  margin:10px 0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

.legal-clause-box strong{
  display:block;
  color:#111;
  font-size:13px;
  font-weight:950;
  margin-bottom:4px;
  letter-spacing:.01em;
}

.legal-clause-box p{
  margin:0;
  color:#4d473d;
  font-size:12.5px;
  line-height:1.52;
}

.legal-critical-section{
  border:1px solid rgba(168,48,48,.18)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,247,236,.92))!important;
}

.legal-critical-section .legal-clause-box{
  border-color:rgba(168,48,48,.18);
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,230,210,.40));
}

.enrollment-v83-form .checkline{
  margin-top:7px;
}

.enrollment-v83-form textarea{
  min-height:96px!important;
}

.matricula-detail-page .message.warn{
  border:1px solid rgba(168,48,48,.18);
  background:rgba(255,238,220,.72);
  color:#3a241a;
}

@media(max-width:720px){
  .enrollment-v83-form{
    gap:10px!important;
  }

  .enrollment-section-card{
    border-radius:18px!important;
    padding:14px!important;
  }

  .legal-clause-box{
    padding:10px 11px;
    border-radius:13px;
    margin:8px 0;
  }

  .legal-clause-box strong{
    font-size:11.5px;
  }

  .legal-clause-box p{
    font-size:11px;
    line-height:1.44;
  }

  .enrollment-v83-form textarea{
    min-height:76px!important;
  }

  .enrollment-hero{
    padding:16px 13px!important;
  }
}

@media(max-width:520px){
  .enrollment-section-card{
    padding:12px!important;
    border-radius:16px!important;
  }

  .enrollment-v83-form .section-head h2{
    font-size:17px!important;
  }

  .enrollment-v83-form .section-head p{
    font-size:11px!important;
  }

  .enrollment-v83-form input,
  .enrollment-v83-form select,
  .enrollment-v83-form textarea{
    min-height:36px!important;
    font-size:12px!important;
  }

  .legal-clause-box{
    padding:9px 10px;
  }

  .legal-clause-box p{
    font-size:10.7px;
  }
}

/* =====================================================================
   M4RTIAL WEB V83 — matrícula con más aire + PDF por email
   ===================================================================== */
.enrollment-v82-form{
  gap:18px!important;
}

.enrollment-v82-form .enrollment-section-card{
  padding:22px!important;
}

.enrollment-v82-form .section-head{
  margin-bottom:16px!important;
}

.enrollment-v82-form .section-head p,
.enrollment-v82-form label,
.enrollment-v82-form .checkline{
  line-height:1.55!important;
}

.enrollment-v82-form .form-grid{
  gap:15px!important;
}

.enrollment-v82-form input,
.enrollment-v82-form select,
.enrollment-v82-form textarea{
  margin-top:6px!important;
}

.enrollment-v82-form .legal-clause-box{
  margin:13px 0!important;
  padding:14px 15px!important;
}

.enrollment-v82-form .legal-clause-box p{
  line-height:1.68!important;
}

.enrollment-v82-form .checkline{
  margin-top:10px!important;
  padding:11px 12px!important;
}

@media(max-width:720px){
  .enrollment-v82-form{
    gap:14px!important;
  }

  .enrollment-v82-form .enrollment-section-card{
    padding:16px!important;
  }

  .enrollment-v82-form .section-head{
    margin-bottom:12px!important;
  }

  .enrollment-v82-form .form-grid{
    gap:12px!important;
  }

  .enrollment-v82-form .legal-clause-box{
    margin:10px 0!important;
    padding:12px!important;
  }

  .enrollment-v82-form .legal-clause-box p{
    line-height:1.58!important;
  }

  .enrollment-v82-form .checkline{
    padding:9px 10px!important;
    line-height:1.42!important;
  }
}

@media(max-width:520px){
  .enrollment-v82-form .enrollment-section-card{
    padding:14px!important;
  }

  .enrollment-v82-form{
    gap:12px!important;
  }

  .enrollment-v82-form .legal-clause-box p{
    line-height:1.52!important;
  }
}

/* =====================================================================
   M4RTIAL APP V84 — seguimiento manual de clases de prueba en admin
   ===================================================================== */
.trial-followup-card{
  align-items:start!important;
  grid-template-columns:minmax(160px,.9fr) minmax(260px,1.4fr)!important;
}

.trial-followup-main small{
  display:block;
  margin-top:5px;
  color:#7a7062;
  font-size:11px;
  line-height:1.35;
  max-width:520px;
}

.trial-followup-form{
  display:grid;
  grid-template-columns:150px minmax(220px,1fr);
  gap:7px;
  align-items:end;
}

.trial-followup-form label{
  display:grid;
  gap:3px;
  margin:0;
  color:#7b725f;
  font-size:9.5px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.trial-followup-form select,
.trial-followup-form textarea{
  width:100%;
  border:1px solid #e5dcc8;
  border-radius:10px;
  background:#fffaf0;
  color:#111;
  font:inherit;
  font-size:11px;
  padding:7px 8px;
  outline:none;
}

.trial-followup-form textarea{
  min-height:34px;
  resize:vertical;
  line-height:1.25;
}

.trial-followup-actions{
  grid-column:1 / -1;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}

.trial-followup-actions .status-pill{
  margin-right:auto;
}

@media(max-width:760px){
  .trial-week-event.trial-followup-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
  }

  .trial-followup-main small{
    font-size:9.6px!important;
    line-height:1.25!important;
    max-height:34px;
    overflow:auto;
  }

  .trial-followup-form{
    grid-template-columns:1fr!important;
    gap:5px!important;
  }

  .trial-followup-form label{
    font-size:8.5px!important;
    gap:2px!important;
  }

  .trial-followup-form select,
  .trial-followup-form textarea{
    font-size:10px!important;
    padding:6px 7px!important;
    border-radius:9px!important;
  }

  .trial-followup-form textarea{
    min-height:30px!important;
  }

  .trial-week-event .trial-followup-actions{
    display:flex!important;
    gap:4px!important;
    justify-content:flex-start!important;
  }

  .trial-followup-actions .status-pill{
    font-size:8.8px!important;
    padding:4px 6px!important;
    margin-right:0!important;
  }

  .trial-followup-actions .mini-action{
    font-size:8.8px!important;
    padding:5px 6px!important;
  }
}

/* =====================================================================
   M4RTIAL APP V85 — ficha individual de clase de prueba en nueva pestaña
   ===================================================================== */
.trial-followup-row{
  grid-template-columns:minmax(170px,1fr) auto!important;
  align-items:center!important;
}

.trial-followup-row-actions{
  justify-content:flex-end!important;
  align-items:center!important;
  gap:7px!important;
}

.trial-followup-row-actions .mini-action{
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.trial-detail-page{
  max-width:1040px;
  margin:0 auto;
}

.trial-detail-title{
  margin-bottom:12px!important;
}

.trial-detail-card{
  padding:18px!important;
}

.trial-detail-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(17,17,17,.08);
}

.trial-detail-topline div{
  display:grid;
  gap:3px;
}

.trial-detail-topline strong{
  font-size:18px;
  color:#111;
}

.trial-detail-topline span:not(.status-pill){
  color:#706752;
  font-size:12px;
  font-weight:800;
}

.trial-detail-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}

.trial-detail-grid div{
  border:1px solid #eadfc7;
  background:#fffaf0;
  border-radius:13px;
  padding:10px;
  display:grid;
  gap:4px;
}

.trial-detail-grid span{
  color:#85795e;
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.trial-detail-grid strong{
  color:#111;
  font-size:12px;
  line-height:1.25;
  overflow-wrap:anywhere;
}

.trial-detail-form{
  display:grid;
  gap:12px;
}

.trial-detail-form label{
  display:grid;
  gap:5px;
  color:#7b725f;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.trial-detail-form input,
.trial-detail-form select,
.trial-detail-form textarea{
  width:100%;
  border:1px solid #e5dcc8;
  border-radius:12px;
  background:#fffaf0;
  color:#111;
  font:inherit;
  font-size:13px;
  padding:10px;
  outline:none;
}

.trial-detail-form textarea{
  min-height:150px;
  resize:vertical;
  line-height:1.45;
}

.trial-detail-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}

.trial-detail-actions .btn.danger{
  border-color:#f0c6c6!important;
  color:#9b1c1c!important;
  background:#fff5f5!important;
}

@media(max-width:760px){
  .trial-followup-row{
    grid-template-columns:1fr!important;
  }

  .trial-followup-row-actions{
    justify-content:flex-start!important;
  }

  .trial-detail-card{
    padding:13px!important;
  }

  .trial-detail-topline{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
    padding-bottom:10px;
  }

  .trial-detail-topline strong{
    font-size:15px;
  }

  .trial-detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    margin:10px 0;
  }

  .trial-detail-grid div{
    padding:8px;
    border-radius:10px;
  }

  .trial-detail-grid span{
    font-size:7.8px;
  }

  .trial-detail-grid strong{
    font-size:10.5px;
  }

  .trial-detail-form{
    gap:9px;
  }

  .trial-detail-form label{
    font-size:8.5px;
    gap:4px;
  }

  .trial-detail-form input,
  .trial-detail-form select,
  .trial-detail-form textarea{
    font-size:11px!important;
    padding:8px!important;
    border-radius:10px!important;
  }

  .trial-detail-form textarea{
    min-height:118px;
  }

  .trial-detail-actions{
    gap:6px;
  }

  .trial-detail-actions .btn{
    font-size:10px!important;
    padding:8px 9px!important;
  }
}


/* V90 - clientes activos compacto: la información completa queda en la ficha individual */
.compact-clients-head p{display:none!important}
.compact-active-client-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.compact-client-card{padding:12px!important;border-radius:18px!important;gap:10px!important;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.compact-client-card:hover{transform:translateY(-2px);border-color:rgba(216,178,77,.55);box-shadow:0 14px 32px rgba(0,0,0,.10)}
.compact-client-top{align-items:center!important;gap:10px!important}
.compact-client-card .client-avatar{width:48px!important;height:48px!important;border-radius:15px!important}
.compact-client-card .client-avatar span{font-size:15px!important}
.compact-client-card .client-card-main h2{font-size:15px!important;line-height:1.1!important;margin:0!important;letter-spacing:-.03em!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.compact-client-card .client-card-main p,.compact-client-card .client-card-data{display:none!important}
.compact-client-pills{gap:4px!important;margin-top:7px!important}
.compact-client-pills .status-pill{font-size:9px!important;padding:5px 7px!important;border-radius:999px!important;line-height:1!important}
.compact-client-actions .actions{gap:5px!important;margin-top:2px!important}
.compact-client-actions .btn{font-size:9px!important;padding:7px 8px!important;border-radius:10px!important;min-height:auto!important}
@media(max-width:1180px){.compact-active-client-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:820px){.compact-active-client-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.compact-client-card{padding:10px!important;border-radius:16px!important}.compact-client-card .client-avatar{width:42px!important;height:42px!important;border-radius:13px!important}.compact-client-card .client-card-main h2{font-size:14px!important}.compact-client-actions .actions{display:grid!important;grid-template-columns:1fr 1fr!important}.compact-client-actions .btn{width:100%!important}}
@media(max-width:520px){.compact-active-client-grid{grid-template-columns:1fr!important}.compact-client-actions .actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.client-filter-panel{padding:12px!important;border-radius:18px!important}.client-filter-grid{gap:8px!important}.client-filter-grid label{font-size:10px!important}.client-filter-grid input,.client-filter-grid select{min-height:38px!important;font-size:12px!important;padding:8px 10px!important}}


/* =====================================================================
   M4RTIAL APP V94 — edición de datos de reserva en ficha de prueba
   ===================================================================== */
.trial-reservation-edit-form{
  gap:10px!important;
}
.trial-detail-edit-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.trial-detail-edit-grid label{
  margin:0;
}
.trial-detail-edit-grid label:last-child{
  grid-column:span 3;
}
@media(max-width:760px){
  .trial-detail-edit-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .trial-detail-edit-grid label:last-child{
    grid-column:1 / -1;
  }
}
@media(max-width:430px){
  .trial-detail-edit-grid{
    grid-template-columns:1fr;
  }
  .trial-detail-edit-grid label:last-child{
    grid-column:auto;
  }
}


/* =====================================================================
   M4RTIAL APP V95 — Registro con diseño de login y contraseña obligatoria
   ===================================================================== */
.register-v95-clean .login-clean-card{
  max-width:460px!important;
}
.register-v95-clean .login-clean-heading h1{
  font-size:clamp(30px, 6.4vw, 42px)!important;
}
.register-v95-lead{
  margin:0!important;
  color:rgba(35,35,35,.64)!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:700!important;
}
.register-v95-form{
  gap:10px!important;
}
.register-v95-form label:not(.remember-login-row):not(.password-field-label){
  margin:0!important;
  font-size:11px!important;
  font-weight:900!important;
  color:#2b2b2b!important;
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
}
.register-v95-form input[type="email"],
.register-v95-form input[type="password"],
.register-v95-form input[type="text"],
.register-v95-form input:not([type]){
  min-height:50px!important;
  border-radius:16px!important;
  font-size:15px!important;
  background:#fff!important;
  border:1px solid rgba(197,163,75,.22)!important;
}
.register-v95-form .password-field-clean input{
  padding-right:56px!important;
}
.password-rules-v95{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin:-2px 0 2px!important;
}
.password-rules-v95 span{
  border:1px solid rgba(17,17,17,.09)!important;
  background:rgba(17,17,17,.035)!important;
  border-radius:999px!important;
  padding:6px 8px!important;
  font-size:10.5px!important;
  font-weight:900!important;
  color:rgba(20,20,20,.58)!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
}
.password-rules-v95 span.ok{
  background:rgba(212,170,22,.16)!important;
  border-color:rgba(212,170,22,.36)!important;
  color:#151515!important;
}
.register-accept-row{
  align-items:flex-start!important;
  line-height:1.35!important;
}
.register-accept-row span{
  color:#1d1d1d!important;
}
.register-login-action{
  margin-top:-2px!important;
}
@media(max-width:520px){
  .register-v95-clean .login-clean-card{
    max-width:100%!important;
    padding:18px!important;
    gap:13px!important;
  }
  .register-v95-clean .login-clean-logo img{
    width:56px!important;
  }
  .register-v95-clean .login-clean-heading h1{
    font-size:30px!important;
  }
  .register-v95-lead{
    font-size:12px!important;
  }
  .register-v95-form input[type="email"],
  .register-v95-form input[type="password"],
  .register-v95-form input[type="text"],
  .register-v95-form input:not([type]){
    min-height:46px!important;
    font-size:14px!important;
  }
  .password-rules-v95 span{
    font-size:9.5px!important;
    padding:5px 7px!important;
  }
}


/* =====================================================================
   M4RTIAL APP V96 — revisión global de espacios en blanco y registro compacto
   ===================================================================== */
html, body{
  min-height:100%;
  overflow-x:hidden;
}
#app{
  min-height:100dvh;
}
.clean-login-app{
  min-height:100dvh!important;
  height:auto!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:20px 12px!important;
  background:
    radial-gradient(circle at 14% 12%, rgba(242,196,0,.24), transparent 30%),
    radial-gradient(circle at 84% 18%, rgba(180,126,16,.16), transparent 24%),
    radial-gradient(circle at 48% 84%, rgba(255,222,128,.18), transparent 34%),
    linear-gradient(145deg, #fffefa 0%, #fbf5e6 50%, #f2ead2 100%)!important;
}
.clean-login-app:has(.register-v95-clean){
  align-items:flex-start!important;
  padding:18px 12px 22px!important;
}
.register-v95-clean{
  width:min(100%, 690px)!important;
  max-width:690px!important;
  margin:0 auto!important;
  align-self:flex-start!important;
}
.register-v95-clean .login-clean-card{
  width:100%!important;
  max-width:690px!important;
  padding:18px 20px!important;
  gap:10px!important;
  border-radius:24px!important;
}
.register-v95-clean .login-clean-logo img{
  width:52px!important;
}
.register-v95-clean .login-clean-heading{
  gap:2px!important;
}
.register-v95-clean .login-clean-heading h1{
  font-size:30px!important;
  line-height:.95!important;
}
.register-v95-lead{
  font-size:12px!important;
  line-height:1.25!important;
}
.register-v96-form{
  gap:0!important;
}
.register-v96-grid{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  gap:9px 10px!important;
  width:100%!important;
}
.register-v96-grid .span-2{
  grid-column:1 / -1!important;
}
.register-v96-field{
  display:grid!important;
  gap:5px!important;
  margin:0!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  color:#111!important;
}
.register-v96-field > span{
  font-size:9.5px!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:#3e392f!important;
}
.register-v96-field input,
.register-v96-form input[type="email"],
.register-v96-form input[type="password"],
.register-v96-form input[type="text"],
.register-v96-form input:not([type]){
  min-height:42px!important;
  height:42px!important;
  border-radius:13px!important;
  font-size:14px!important;
  padding:0 11px!important;
}
.register-v96-form .password-field-clean input{
  padding-right:46px!important;
}
.register-v96-form .password-toggle-eye{
  width:32px!important;
  height:32px!important;
  min-height:32px!important;
  right:5px!important;
  border-radius:10px!important;
}
.register-v96-form .password-toggle-eye svg{
  width:17px!important;
  height:17px!important;
}
.register-v96-form .password-rules-v95{
  margin:0!important;
  gap:5px!important;
}
.register-v96-form .password-rules-v95 span{
  padding:5px 7px!important;
  font-size:9px!important;
}
.register-v96-form .register-accept-row{
  min-height:38px!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  font-size:10.5px!important;
}
.register-v96-form .login-submit-btn{
  min-height:42px!important;
  height:42px!important;
  border-radius:13px!important;
  font-size:11px!important;
  margin:0!important;
}
.register-v95-clean .register-login-action{
  margin-top:0!important;
  padding-top:0!important;
  gap:4px!important;
}
.register-v95-clean .register-login-action span{
  font-size:10.5px!important;
}
.register-v95-clean .register-login-action .link-btn{
  padding:7px 10px!important;
  border-radius:12px!important;
  font-size:10.5px!important;
}
.app:not(.clean-login-app){
  min-height:auto!important;
}
@media(max-width:760px){
  .app:not(.clean-login-app){
    width:min(100% - 18px,1220px)!important;
    padding-top:10px!important;
    padding-bottom:24px!important;
  }
  .hero{
    min-height:auto!important;
    padding:18px!important;
    border-radius:20px!important;
    margin-bottom:12px!important;
  }
  .hero h1,
  h1{
    font-size:clamp(28px,10vw,40px)!important;
    line-height:.96!important;
  }
  .hero p{
    font-size:13px!important;
    line-height:1.45!important;
  }
  .panel,.card{
    padding:14px!important;
    border-radius:18px!important;
  }
  .grid,.grid.two,.grid.four{
    gap:10px!important;
  }
  .topbar{
    margin-bottom:10px!important;
    padding:10px!important;
  }
  .footer-note{
    margin-top:10px!important;
  }
}
@media(max-width:620px){
  .clean-login-app:has(.register-v95-clean){
    padding:12px 10px 18px!important;
    align-items:flex-start!important;
  }
  .register-v95-clean{
    width:min(100%, 380px)!important;
    max-width:380px!important;
  }
  .register-v95-clean .login-clean-card{
    max-width:380px!important;
    padding:14px 13px!important;
    gap:8px!important;
    border-radius:20px!important;
  }
  .register-v95-clean .login-clean-logo img{
    width:42px!important;
  }
  .register-v95-clean .login-clean-heading h1{
    font-size:24px!important;
  }
  .register-v95-lead{
    display:none!important;
  }
  .register-v96-grid{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .register-v96-grid .span-2{
    grid-column:auto!important;
  }
  .register-v96-field > span{
    font-size:9px!important;
  }
  .register-v96-field input,
  .register-v96-form input[type="email"],
  .register-v96-form input[type="password"],
  .register-v96-form input[type="text"],
  .register-v96-form input:not([type]){
    min-height:36px!important;
    height:36px!important;
    border-radius:11px!important;
    font-size:13px!important;
  }
  .register-v96-form .password-toggle-eye{
    width:28px!important;
    height:28px!important;
    min-height:28px!important;
  }
  .register-v96-form .password-rules-v95 span{
    padding:4px 6px!important;
    font-size:8.5px!important;
  }
  .register-v96-form .register-accept-row{
    min-height:36px!important;
    padding:7px 9px!important;
    font-size:9.6px!important;
  }
  .register-v96-form .login-submit-btn{
    min-height:38px!important;
    height:38px!important;
  }
}
@media(max-width:390px){
  .register-v95-clean{
    max-width:340px!important;
  }
  .register-v95-clean .login-clean-card{
    padding:12px!important;
    border-radius:18px!important;
  }
}


/* =====================================================================
   M4RTIAL WEB PRIVADA V97 — fondo login aplicado globalmente
   ===================================================================== */
html, body{
  min-height:100%;
}
body{
  background:
    radial-gradient(circle at 18% 18%, rgba(242,196,0,.18), transparent 26%),
    radial-gradient(circle at 82% 16%, rgba(214,165,35,.14), transparent 22%),
    radial-gradient(circle at 50% 82%, rgba(255,233,160,.14), transparent 28%),
    linear-gradient(145deg, #fffef9 0%, #faf4e3 52%, #efe5c8 100%)!important;
  background-attachment:fixed!important;
  position:relative;
  overflow-x:hidden;
}
body::before,
body::after{
  content:"";
  position:fixed;
  pointer-events:none;
  border-radius:50%;
  filter:blur(18px);
  opacity:.78;
  z-index:0;
  will-change:transform, opacity;
}
body::before{
  width:560px;
  height:560px;
  left:-140px;
  top:-110px;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.72) 0%, rgba(255,255,255,.15) 28%, rgba(255,255,255,0) 58%),
    radial-gradient(circle at 62% 44%, rgba(242,196,0,.28) 0%, rgba(242,196,0,.10) 30%, rgba(242,196,0,0) 68%),
    radial-gradient(circle at 70% 72%, rgba(212,166,48,.18) 0%, rgba(212,166,48,0) 62%);
  animation:m4LoginFloatA 18s ease-in-out infinite alternate;
}
body::after{
  width:620px;
  height:620px;
  right:-180px;
  bottom:-180px;
  background:
    radial-gradient(circle at 38% 38%, rgba(255,255,255,.42) 0%, rgba(255,255,255,.08) 24%, rgba(255,255,255,0) 54%),
    radial-gradient(circle at 56% 42%, rgba(242,196,0,.20) 0%, rgba(242,196,0,.08) 28%, rgba(242,196,0,0) 62%),
    radial-gradient(circle at 66% 68%, rgba(186,140,22,.16) 0%, rgba(186,140,22,0) 58%);
  animation:m4LoginFloatB 22s ease-in-out infinite alternate;
}
#app,
.app{
  position:relative;
  z-index:1;
}
.app.admin-mode,
.app.client-mode,
.app.public-mode{
  background:transparent!important;
}
.app.admin-mode > *,
.app.client-mode > *,
.app.public-mode > *{
  position:relative;
  z-index:1;
}
.clean-login-app{
  background:
    radial-gradient(circle at 18% 18%, rgba(242,196,0,.18), transparent 26%),
    radial-gradient(circle at 82% 16%, rgba(214,165,35,.14), transparent 22%),
    radial-gradient(circle at 50% 82%, rgba(255,233,160,.14), transparent 28%),
    linear-gradient(145deg, #fffef9 0%, #faf4e3 52%, #efe5c8 100%)!important;
}
@media(max-width:760px){
  body::before{
    width:360px;
    height:360px;
    left:-110px;
    top:-70px;
    filter:blur(14px);
  }
  body::after{
    width:400px;
    height:400px;
    right:-130px;
    bottom:-120px;
    filter:blur(16px);
  }
}
@media (prefers-reduced-motion: reduce){
  body::before,
  body::after{
    animation:none!important;
  }
}


/* =====================================================================
   M4RTIAL APP V99 — logotipo nuevo + animación privada igualada a pública
   ===================================================================== */
.m4rtial-launch-splash{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  pointer-events:none!important;
  isolation:isolate!important;
  background:#f8f6ef!important;
  opacity:1!important;
  visibility:visible!important;
  contain:layout paint style!important;
  will-change:opacity,visibility!important;
}
.m4rtial-splash-surface{
  position:absolute!important;
  inset:0!important;
  background:
    radial-gradient(circle at 50% 47%, rgba(242,196,0,.18), transparent 22%),
    radial-gradient(circle at 50% 47%, rgba(120,86,0,.07), transparent 43%),
    linear-gradient(180deg,#fff 0%,#f8f6ef 64%,#fff 100%)!important;
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  will-change:opacity,transform!important;
}
.m4rtial-splash-surface::before{display:none!important;}
.m4rtial-splash-orb{
  position:absolute!important;
  z-index:1!important;
  left:50%!important;
  top:50%!important;
  width:min(44vmin,430px)!important;
  height:min(44vmin,430px)!important;
  border-radius:999px!important;
  transform:translate3d(-50%,-50%,0) scale(.80)!important;
  background:radial-gradient(circle, rgba(242,196,0,.22), rgba(242,196,0,.08) 44%, rgba(242,196,0,0) 72%)!important;
  filter:blur(10px)!important;
  opacity:0!important;
  will-change:opacity,transform!important;
}
.m4rtial-splash-ring{
  position:absolute!important;
  z-index:2!important;
  left:50%!important;
  top:50%!important;
  width:min(58vw,380px)!important;
  height:min(58vw,380px)!important;
  border-radius:999px!important;
  border:1px solid rgba(197,163,75,.25)!important;
  transform:translate3d(-50%,-50%,0) scale(.76)!important;
  opacity:0!important;
  box-shadow:inset 0 0 34px rgba(242,196,0,.07),0 0 46px rgba(242,196,0,.10)!important;
  will-change:opacity,transform!important;
}
.m4rtial-splash-mark-wrap{
  position:relative!important;
  z-index:4!important;
  left:auto!important;
  top:auto!important;
  width:min(66vw,330px)!important;
  height:auto!important;
  opacity:0!important;
  transform:translate3d(0,8px,0) scale(.88)!important;
  transform-origin:center center!important;
  display:grid!important;
  place-items:center!important;
  will-change:transform,opacity!important;
  filter:drop-shadow(0 30px 64px rgba(120,86,0,.20))!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.m4rtial-splash-mark-wrap::before{display:none!important;}
.m4rtial-splash-mark{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
  image-rendering:auto!important;
  transform:translate3d(0,0,0)!important;
  transform-origin:center center!important;
  filter:none!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.m4rtial-splash-shine{
  position:absolute!important;
  z-index:5!important;
  left:50%!important;
  top:50%!important;
  width:min(76vw,420px)!important;
  height:min(76vw,420px)!important;
  transform:translate3d(-125%,-66%,0) rotate(18deg)!important;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.62) 48%, transparent 100%)!important;
  opacity:0!important;
  filter:blur(5px)!important;
  mix-blend-mode:screen!important;
  will-change:opacity,transform!important;
}
.m4rtial-splash-portal{
  position:absolute!important;
  z-index:3!important;
  left:50%!important;
  top:50%!important;
  width:18vmin!important;
  height:18vmin!important;
  border-radius:999px!important;
  background:transparent!important;
  transform:translate3d(-50%,-50%,0) scale(.08)!important;
  opacity:0!important;
  box-shadow:0 0 0 120vmax #f8f6ef!important;
  will-change:transform,opacity,box-shadow!important;
}
body:not(.m4rtial-splash-ready) #app{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
}
body.m4rtial-splash-ready .m4rtial-splash-mark-wrap{animation:m4PrivateLogoV99 1.88s cubic-bezier(.18,.86,.18,1) forwards!important;}
body.m4rtial-splash-ready .m4rtial-splash-surface{animation:m4PrivateBgV99 1.88s cubic-bezier(.18,.86,.18,1) forwards!important;}
body.m4rtial-splash-ready .m4rtial-splash-orb{animation:m4PrivateOrbV99 1.88s cubic-bezier(.18,.86,.18,1) forwards!important;}
body.m4rtial-splash-ready .m4rtial-splash-ring{animation:m4PrivateRingV99 1.88s cubic-bezier(.18,.86,.18,1) forwards!important;}
body.m4rtial-splash-ready .m4rtial-splash-shine{animation:m4PrivateShineV99 1.88s cubic-bezier(.18,.86,.18,1) forwards!important;}
body.m4rtial-splash-ready .m4rtial-splash-portal{animation:m4PrivatePortalV99 1.88s cubic-bezier(.18,.86,.18,1) forwards!important;}
body.m4rtial-splash-ready .m4rtial-launch-splash{animation:m4PrivateSplashHideV99 .34s cubic-bezier(.22,.8,.22,1) 1.88s forwards!important;}

@keyframes m4PrivateLogoV99{
  0%{opacity:0;transform:translate3d(0,10px,0) scale(.88);}
  14%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  48%{opacity:1;transform:translate3d(0,0,0) scale(1.025);}
  78%{opacity:1;transform:translate3d(0,-26px,0) scale(.72);}
  100%{opacity:0;transform:translate3d(0,-34px,0) scale(.62);}
}
@keyframes m4PrivateBgV99{
  0%,48%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  74%{opacity:.36;transform:translate3d(0,0,0) scale(1.035);}
  100%{opacity:0;transform:translate3d(0,0,0) scale(1.055);}
}
@keyframes m4PrivateOrbV99{
  0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.80);}
  16%{opacity:.92;}
  58%{opacity:.72;transform:translate3d(-50%,-50%,0) scale(1.08);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.50);}
}
@keyframes m4PrivateRingV99{
  0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.76);}
  18%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1);}
  60%{opacity:.52;}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.24);}
}
@keyframes m4PrivateShineV99{
  0%,16%{opacity:0;transform:translate3d(-125%,-66%,0) rotate(18deg);}
  26%{opacity:.72;}
  48%{opacity:0;transform:translate3d(24%,-28%,0) rotate(18deg);}
  100%{opacity:0;}
}
@keyframes m4PrivatePortalV99{
  0%,46%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.10);box-shadow:0 0 0 120vmax #f8f6ef;}
  54%{opacity:1;}
  82%{opacity:1;transform:translate3d(-50%,-50%,0) scale(8.8);box-shadow:0 0 0 120vmax rgba(248,246,239,.24);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(13.4);box-shadow:0 0 0 120vmax rgba(248,246,239,0);}
}
@keyframes m4PrivateSplashHideV99{
  to{opacity:0;visibility:hidden;}
}
.login-clean-logo img{
  width:96px!important;
  max-width:28vw!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
  image-rendering:auto!important;
  filter:drop-shadow(0 16px 26px rgba(117,83,0,.18))!important;
}
.m4-header-logo img,
.m4-centered-logo,
.landing-mark-logo{
  content:url('/icons/m4-emblem-premium.png?v=205');
}
@media(max-width:520px){
  .m4rtial-splash-mark-wrap{width:min(72vw,292px)!important;}
  .login-clean-logo img{width:84px!important;max-width:30vw!important;}
}
@media(prefers-reduced-motion:reduce){
  .m4rtial-launch-splash{display:none!important;}
}


/* =====================================================================
   M4RTIAL APP V100 — animación solo en login, dashboard admin y dashboard usuario
   Concepto visual igualado a la web pública.
   ===================================================================== */
.m4rtial-launch-splash{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  pointer-events:none!important;
  isolation:isolate!important;
  background:#f8f6ef!important;
  opacity:1!important;
  visibility:visible!important;
  contain:layout paint style!important;
  will-change:opacity,visibility!important;
}
.m4rtial-splash-surface{
  position:absolute!important;
  inset:0!important;
  background:
    radial-gradient(circle at 50% 47%, rgba(242,196,0,.18), transparent 22%),
    radial-gradient(circle at 50% 47%, rgba(120,86,0,.07), transparent 43%),
    linear-gradient(180deg,#fff 0%,#f8f6ef 64%,#fff 100%)!important;
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  will-change:opacity,transform!important;
}
.m4rtial-splash-surface::before{display:none!important;}
.m4rtial-splash-orb{
  position:absolute!important;
  z-index:1!important;
  left:50%!important;
  top:50%!important;
  width:min(44vmin,430px)!important;
  height:min(44vmin,430px)!important;
  border-radius:999px!important;
  transform:translate3d(-50%,-50%,0) scale(.80)!important;
  background:radial-gradient(circle, rgba(242,196,0,.22), rgba(242,196,0,.08) 44%, rgba(242,196,0,0) 72%)!important;
  filter:blur(10px)!important;
  opacity:0!important;
  will-change:opacity,transform!important;
}
.m4rtial-splash-ring{
  position:absolute!important;
  z-index:2!important;
  left:50%!important;
  top:50%!important;
  width:min(58vw,380px)!important;
  height:min(58vw,380px)!important;
  border-radius:999px!important;
  border:1px solid rgba(197,163,75,.25)!important;
  transform:translate3d(-50%,-50%,0) scale(.76)!important;
  opacity:0!important;
  box-shadow:inset 0 0 34px rgba(242,196,0,.07),0 0 46px rgba(242,196,0,.10)!important;
  will-change:opacity,transform!important;
}
.m4rtial-splash-mark-wrap{
  position:relative!important;
  z-index:4!important;
  left:auto!important;
  top:auto!important;
  width:min(66vw,330px)!important;
  height:auto!important;
  opacity:0!important;
  transform:translate3d(0,8px,0) scale(.88)!important;
  transform-origin:center center!important;
  display:grid!important;
  place-items:center!important;
  will-change:transform,opacity!important;
  filter:drop-shadow(0 30px 64px rgba(120,86,0,.20))!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.m4rtial-splash-mark-wrap::before{display:none!important;}
.m4rtial-splash-mark{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
  image-rendering:auto!important;
  transform:translate3d(0,0,0)!important;
  transform-origin:center center!important;
  filter:none!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.m4rtial-splash-shine{
  position:absolute!important;
  z-index:5!important;
  left:50%!important;
  top:50%!important;
  width:min(76vw,420px)!important;
  height:min(76vw,420px)!important;
  transform:translate3d(-125%,-66%,0) rotate(18deg)!important;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.62) 48%, transparent 100%)!important;
  opacity:0!important;
  filter:blur(5px)!important;
  mix-blend-mode:screen!important;
  will-change:opacity,transform!important;
}
.m4rtial-splash-portal{
  position:absolute!important;
  z-index:3!important;
  left:50%!important;
  top:50%!important;
  width:18vmin!important;
  height:18vmin!important;
  border-radius:999px!important;
  background:transparent!important;
  transform:translate3d(-50%,-50%,0) scale(.08)!important;
  opacity:0!important;
  box-shadow:0 0 0 120vmax #f8f6ef!important;
  will-change:transform,opacity,box-shadow!important;
}
body:not(.m4rtial-splash-ready) #app{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
}
body.m4rtial-splash-ready .m4rtial-splash-mark-wrap{animation:m4PrivateLogoV100 1.88s cubic-bezier(.18,.86,.18,1) forwards!important;}
body.m4rtial-splash-ready .m4rtial-splash-surface{animation:m4PrivateBgV100 1.88s cubic-bezier(.18,.86,.18,1) forwards!important;}
body.m4rtial-splash-ready .m4rtial-splash-orb{animation:m4PrivateOrbV100 1.88s cubic-bezier(.18,.86,.18,1) forwards!important;}
body.m4rtial-splash-ready .m4rtial-splash-ring{animation:m4PrivateRingV100 1.88s cubic-bezier(.18,.86,.18,1) forwards!important;}
body.m4rtial-splash-ready .m4rtial-splash-shine{animation:m4PrivateShineV100 1.88s cubic-bezier(.18,.86,.18,1) forwards!important;}
body.m4rtial-splash-ready .m4rtial-splash-portal{animation:m4PrivatePortalV100 1.88s cubic-bezier(.18,.86,.18,1) forwards!important;}
body.m4rtial-splash-ready .m4rtial-launch-splash{animation:m4PrivateSplashHideV100 .34s cubic-bezier(.22,.8,.22,1) 1.88s forwards!important;}

@keyframes m4PrivateLogoV100{
  0%{opacity:0;transform:translate3d(0,10px,0) scale(.88);}
  14%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  45%{opacity:1;transform:translate3d(0,0,0) scale(1.025);}
  76%{opacity:1;transform:translate3d(0,-32px,0) scale(.72);}
  100%{opacity:0;transform:translate3d(0,-42px,0) scale(.62);}
}
@keyframes m4PrivateBgV100{
  0%,48%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  74%{opacity:.36;transform:translate3d(0,0,0) scale(1.035);}
  100%{opacity:0;transform:translate3d(0,0,0) scale(1.055);}
}
@keyframes m4PrivateOrbV100{
  0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.80);}
  16%{opacity:.92;}
  58%{opacity:.72;transform:translate3d(-50%,-50%,0) scale(1.08);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.50);}
}
@keyframes m4PrivateRingV100{
  0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.76);}
  18%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1);}
  60%{opacity:.52;}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.24);}
}
@keyframes m4PrivateShineV100{
  0%,16%{opacity:0;transform:translate3d(-125%,-66%,0) rotate(18deg);}
  26%{opacity:.72;}
  48%{opacity:0;transform:translate3d(24%,-28%,0) rotate(18deg);}
  100%{opacity:0;}
}
@keyframes m4PrivatePortalV100{
  0%,46%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.10);box-shadow:0 0 0 120vmax #f8f6ef;}
  54%{opacity:1;}
  82%{opacity:1;transform:translate3d(-50%,-50%,0) scale(8.8);box-shadow:0 0 0 120vmax rgba(248,246,239,.24);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(13.4);box-shadow:0 0 0 120vmax rgba(248,246,239,0);}
}
@keyframes m4PrivateSplashHideV100{
  to{opacity:0;visibility:hidden;}
}
.login-clean-logo img{
  width:96px!important;
  max-width:28vw!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
  image-rendering:auto!important;
  filter:drop-shadow(0 16px 26px rgba(117,83,0,.18))!important;
}
@media(max-width:520px){
  .m4rtial-splash-mark-wrap{width:min(72vw,292px)!important;}
  .login-clean-logo img{width:84px!important;max-width:30vw!important;}
}
@media(prefers-reduced-motion:reduce){
  .m4rtial-launch-splash{display:none!important;}
}


/* =====================================================================
   M4RTIAL APP V101 — corrección: animación visible, sin pantalla blanca
   ===================================================================== */
.m4rtial-launch-splash{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  pointer-events:none!important;
  isolation:isolate!important;
  background:#f8f6ef!important;
  opacity:1!important;
  visibility:visible!important;
  contain:layout paint style!important;
}
.m4rtial-splash-surface{
  position:absolute!important;
  inset:0!important;
  background:
    radial-gradient(circle at 50% 47%, rgba(242,196,0,.18), transparent 22%),
    radial-gradient(circle at 50% 47%, rgba(120,86,0,.07), transparent 43%),
    linear-gradient(180deg,#fff 0%,#f8f6ef 64%,#fff 100%)!important;
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  will-change:opacity,transform!important;
}
.m4rtial-splash-orb{
  position:absolute!important;
  z-index:1!important;
  left:50%!important;
  top:50%!important;
  width:min(44vmin,430px)!important;
  height:min(44vmin,430px)!important;
  border-radius:999px!important;
  transform:translate3d(-50%,-50%,0) scale(.80)!important;
  background:radial-gradient(circle, rgba(242,196,0,.22), rgba(242,196,0,.08) 44%, rgba(242,196,0,0) 72%)!important;
  filter:blur(10px)!important;
  opacity:0!important;
  will-change:opacity,transform!important;
}
.m4rtial-splash-ring{
  position:absolute!important;
  z-index:2!important;
  left:50%!important;
  top:50%!important;
  width:min(58vw,380px)!important;
  height:min(58vw,380px)!important;
  border-radius:999px!important;
  border:1px solid rgba(197,163,75,.25)!important;
  transform:translate3d(-50%,-50%,0) scale(.76)!important;
  opacity:0!important;
  box-shadow:inset 0 0 34px rgba(242,196,0,.07),0 0 46px rgba(242,196,0,.10)!important;
  will-change:opacity,transform!important;
}
.m4rtial-splash-mark-wrap{
  position:relative!important;
  z-index:4!important;
  left:auto!important;
  top:auto!important;
  width:min(66vw,330px)!important;
  height:auto!important;
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  transform-origin:center center!important;
  display:grid!important;
  place-items:center!important;
  will-change:transform,opacity!important;
  filter:drop-shadow(0 30px 64px rgba(120,86,0,.20))!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.m4rtial-splash-mark{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
  image-rendering:auto!important;
  transform:translate3d(0,0,0)!important;
  transform-origin:center center!important;
  filter:none!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.m4rtial-splash-shine{
  position:absolute!important;
  z-index:5!important;
  left:50%!important;
  top:50%!important;
  width:min(76vw,420px)!important;
  height:min(76vw,420px)!important;
  transform:translate3d(-125%,-66%,0) rotate(18deg)!important;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.62) 48%, transparent 100%)!important;
  opacity:0!important;
  filter:blur(5px)!important;
  mix-blend-mode:screen!important;
  will-change:opacity,transform!important;
}
.m4rtial-splash-portal{
  position:absolute!important;
  z-index:3!important;
  left:50%!important;
  top:50%!important;
  width:18vmin!important;
  height:18vmin!important;
  border-radius:999px!important;
  background:transparent!important;
  transform:translate3d(-50%,-50%,0) scale(.08)!important;
  opacity:0!important;
  box-shadow:0 0 0 120vmax #f8f6ef!important;
  will-change:transform,opacity,box-shadow!important;
}
.m4rtial-launch-splash.is-playing .m4rtial-splash-mark-wrap{animation:m4PrivateLogoV101 1.88s cubic-bezier(.18,.86,.18,1) forwards!important;}
.m4rtial-launch-splash.is-playing .m4rtial-splash-surface{animation:m4PrivateBgV101 1.88s cubic-bezier(.18,.86,.18,1) forwards!important;}
.m4rtial-launch-splash.is-playing .m4rtial-splash-orb{animation:m4PrivateOrbV101 1.88s cubic-bezier(.18,.86,.18,1) forwards!important;}
.m4rtial-launch-splash.is-playing .m4rtial-splash-ring{animation:m4PrivateRingV101 1.88s cubic-bezier(.18,.86,.18,1) forwards!important;}
.m4rtial-launch-splash.is-playing .m4rtial-splash-shine{animation:m4PrivateShineV101 1.88s cubic-bezier(.18,.86,.18,1) forwards!important;}
.m4rtial-launch-splash.is-playing .m4rtial-splash-portal{animation:m4PrivatePortalV101 1.88s cubic-bezier(.18,.86,.18,1) forwards!important;}
.m4rtial-launch-splash.is-playing{animation:m4PrivateSplashHideV101 .34s cubic-bezier(.22,.8,.22,1) 1.88s forwards!important;}

@keyframes m4PrivateLogoV101{
  0%{opacity:0;transform:translate3d(0,10px,0) scale(.88);}
  14%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  45%{opacity:1;transform:translate3d(0,0,0) scale(1.025);}
  76%{opacity:1;transform:translate3d(0,-32px,0) scale(.72);}
  100%{opacity:0;transform:translate3d(0,-42px,0) scale(.62);}
}
@keyframes m4PrivateBgV101{
  0%,48%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  74%{opacity:.36;transform:translate3d(0,0,0) scale(1.035);}
  100%{opacity:0;transform:translate3d(0,0,0) scale(1.055);}
}
@keyframes m4PrivateOrbV101{
  0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.80);}
  16%{opacity:.92;}
  58%{opacity:.72;transform:translate3d(-50%,-50%,0) scale(1.08);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.50);}
}
@keyframes m4PrivateRingV101{
  0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.76);}
  18%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1);}
  60%{opacity:.52;}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.24);}
}
@keyframes m4PrivateShineV101{
  0%,16%{opacity:0;transform:translate3d(-125%,-66%,0) rotate(18deg);}
  26%{opacity:.72;}
  48%{opacity:0;transform:translate3d(24%,-28%,0) rotate(18deg);}
  100%{opacity:0;}
}
@keyframes m4PrivatePortalV101{
  0%,46%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.10);box-shadow:0 0 0 120vmax #f8f6ef;}
  54%{opacity:1;}
  82%{opacity:1;transform:translate3d(-50%,-50%,0) scale(8.8);box-shadow:0 0 0 120vmax rgba(248,246,239,.24);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(13.4);box-shadow:0 0 0 120vmax rgba(248,246,239,0);}
}
@keyframes m4PrivateSplashHideV101{
  to{opacity:0;visibility:hidden;}
}
@media(max-width:520px){
  .m4rtial-splash-mark-wrap{width:min(72vw,292px)!important;}
}
@media(prefers-reduced-motion:reduce){
  .m4rtial-launch-splash{display:none!important;}
}


/* =====================================================================
   M4RTIAL APP V102 — animación igual a pública: pulso + reducción al logo real
   ===================================================================== */
.m4rtial-launch-splash{
  --m4-target-x:0px;
  --m4-target-y:-42px;
  --m4-target-scale:.62;
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  pointer-events:none!important;
  isolation:isolate!important;
  background:#f8f6ef!important;
  opacity:1!important;
  visibility:visible!important;
  contain:layout paint style!important;
}
.m4rtial-splash-surface{
  position:absolute!important;
  inset:0!important;
  background:
    radial-gradient(circle at 50% 47%, rgba(242,196,0,.18), transparent 22%),
    radial-gradient(circle at 50% 47%, rgba(120,86,0,.07), transparent 43%),
    linear-gradient(180deg,#fff 0%,#f8f6ef 64%,#fff 100%)!important;
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  will-change:opacity,transform!important;
}
.m4rtial-splash-orb{
  position:absolute!important;
  z-index:1!important;
  left:50%!important;
  top:50%!important;
  width:min(44vmin,430px)!important;
  height:min(44vmin,430px)!important;
  border-radius:999px!important;
  transform:translate3d(-50%,-50%,0) scale(.78)!important;
  background:radial-gradient(circle, rgba(242,196,0,.22), rgba(242,196,0,.08) 44%, rgba(242,196,0,0) 72%)!important;
  filter:blur(10px)!important;
  opacity:0!important;
  will-change:opacity,transform!important;
}
.m4rtial-splash-ring{
  position:absolute!important;
  z-index:2!important;
  left:50%!important;
  top:50%!important;
  width:min(58vw,380px)!important;
  height:min(58vw,380px)!important;
  border-radius:999px!important;
  border:1px solid rgba(197,163,75,.25)!important;
  transform:translate3d(-50%,-50%,0) scale(.74)!important;
  opacity:0!important;
  box-shadow:inset 0 0 34px rgba(242,196,0,.07),0 0 46px rgba(242,196,0,.10)!important;
  will-change:opacity,transform!important;
}
.m4rtial-splash-ring::after{
  content:""!important;
  position:absolute!important;
  inset:-18%!important;
  border-radius:999px!important;
  border:1px solid rgba(197,163,75,.20)!important;
  opacity:0!important;
  transform:scale(.72)!important;
}
.m4rtial-splash-mark-wrap{
  position:relative!important;
  z-index:4!important;
  left:auto!important;
  top:auto!important;
  width:min(66vw,330px)!important;
  height:auto!important;
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  transform-origin:center center!important;
  display:grid!important;
  place-items:center!important;
  will-change:transform,opacity!important;
  filter:drop-shadow(0 30px 64px rgba(120,86,0,.20))!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.m4rtial-splash-mark{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
  image-rendering:auto!important;
  transform:translate3d(0,0,0)!important;
  transform-origin:center center!important;
  filter:none!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.m4rtial-splash-shine{
  position:absolute!important;
  z-index:5!important;
  left:50%!important;
  top:50%!important;
  width:min(76vw,420px)!important;
  height:min(76vw,420px)!important;
  transform:translate3d(-125%,-66%,0) rotate(18deg)!important;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.62) 48%, transparent 100%)!important;
  opacity:0!important;
  filter:blur(5px)!important;
  mix-blend-mode:screen!important;
  will-change:opacity,transform!important;
}
.m4rtial-splash-portal{
  position:absolute!important;
  z-index:3!important;
  left:50%!important;
  top:50%!important;
  width:18vmin!important;
  height:18vmin!important;
  border-radius:999px!important;
  background:transparent!important;
  transform:translate3d(-50%,-50%,0) scale(.08)!important;
  opacity:0!important;
  box-shadow:0 0 0 120vmax #f8f6ef!important;
  will-change:transform,opacity,box-shadow!important;
}
.m4rtial-launch-splash.is-playing .m4rtial-splash-mark-wrap{animation:m4PrivateLogoV102 2.05s cubic-bezier(.18,.86,.18,1) forwards!important;}
.m4rtial-launch-splash.is-playing .m4rtial-splash-surface{animation:m4PrivateBgV102 2.05s cubic-bezier(.18,.86,.18,1) forwards!important;}
.m4rtial-launch-splash.is-playing .m4rtial-splash-orb{animation:m4PrivateOrbV102 2.05s cubic-bezier(.18,.86,.18,1) forwards!important;}
.m4rtial-launch-splash.is-playing .m4rtial-splash-ring{animation:m4PrivateRingV102 2.05s cubic-bezier(.18,.86,.18,1) forwards!important;}
.m4rtial-launch-splash.is-playing .m4rtial-splash-ring::after{animation:m4PrivatePulseV102 2.05s cubic-bezier(.18,.86,.18,1) forwards!important;}
.m4rtial-launch-splash.is-playing .m4rtial-splash-shine{animation:m4PrivateShineV102 2.05s cubic-bezier(.18,.86,.18,1) forwards!important;}
.m4rtial-launch-splash.is-playing .m4rtial-splash-portal{animation:m4PrivatePortalV102 2.05s cubic-bezier(.18,.86,.18,1) forwards!important;}
.m4rtial-launch-splash.is-playing{animation:m4PrivateSplashHideV102 .34s cubic-bezier(.22,.8,.22,1) 2.05s forwards!important;}

@keyframes m4PrivateLogoV102{
  0%{opacity:0;transform:translate3d(0,10px,0) scale(.88);}
  14%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  42%{opacity:1;transform:translate3d(0,0,0) scale(1.025);}
  76%{opacity:1;transform:translate3d(var(--m4-target-x),var(--m4-target-y),0) scale(var(--m4-target-scale));}
  100%{opacity:0;transform:translate3d(var(--m4-target-x),var(--m4-target-y),0) scale(var(--m4-target-scale));}
}
@keyframes m4PrivateBgV102{
  0%,46%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  74%{opacity:.36;transform:translate3d(0,0,0) scale(1.035);}
  100%{opacity:0;transform:translate3d(0,0,0) scale(1.055);}
}
@keyframes m4PrivateOrbV102{
  0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.78);}
  16%{opacity:.95;}
  48%{opacity:.75;transform:translate3d(-50%,-50%,0) scale(1.10);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.55);}
}
@keyframes m4PrivateRingV102{
  0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.74);}
  16%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1);}
  38%{opacity:.92;transform:translate3d(-50%,-50%,0) scale(1.08);}
  68%{opacity:.50;transform:translate3d(-50%,-50%,0) scale(1.18);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.34);}
}
@keyframes m4PrivatePulseV102{
  0%,10%{opacity:0;transform:scale(.72);}
  22%{opacity:.62;transform:scale(.92);}
  48%{opacity:.20;transform:scale(1.28);}
  76%,100%{opacity:0;transform:scale(1.62);}
}
@keyframes m4PrivateShineV102{
  0%,16%{opacity:0;transform:translate3d(-125%,-66%,0) rotate(18deg);}
  26%{opacity:.72;}
  48%{opacity:0;transform:translate3d(24%,-28%,0) rotate(18deg);}
  100%{opacity:0;}
}
@keyframes m4PrivatePortalV102{
  0%,44%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.10);box-shadow:0 0 0 120vmax #f8f6ef;}
  52%{opacity:1;}
  82%{opacity:1;transform:translate3d(-50%,-50%,0) scale(8.8);box-shadow:0 0 0 120vmax rgba(248,246,239,.24);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(13.4);box-shadow:0 0 0 120vmax rgba(248,246,239,0);}
}
@keyframes m4PrivateSplashHideV102{
  to{opacity:0;visibility:hidden;}
}
@media(max-width:520px){
  .m4rtial-splash-mark-wrap{width:min(72vw,292px)!important;}
}
@media(prefers-reduced-motion:reduce){
  .m4rtial-launch-splash{display:none!important;}
}


/* =====================================================================
   M4RTIAL APP V103 — animación exacta de la web pública V95
   ===================================================================== */
/* M4RTIAL APP PRIVADA V103 — animación fluida en landing cada entrada */
.m4rtial-private-public-intro{
  position:fixed;
  inset:0;
  z-index:999999;
  display:grid;
  place-items:center;
  background:#f8f6ef;
  overflow:hidden;
  pointer-events:none;
  opacity:1;
  visibility:visible;
  contain:layout paint style;
  will-change:opacity;
}
.m4rtial-private-public-intro.is-hidden{
  opacity:0;
  visibility:hidden;
  transition:opacity .34s cubic-bezier(.22,.8,.22,1), visibility .34s ease;
}
.m4rtial-private-public-intro-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 47%, rgba(242,196,0,.18), transparent 22%),
    radial-gradient(circle at 50% 47%, rgba(120,86,0,.07), transparent 43%),
    linear-gradient(180deg,#fff 0%,#f8f6ef 64%,#fff 100%);
  transform:translate3d(0,0,0) scale(1);
  will-change:opacity,transform;
}
.m4rtial-private-public-intro-orb{
  position:absolute;
  z-index:1;
  left:50%;
  top:50%;
  width:min(44vmin,430px);
  height:min(44vmin,430px);
  border-radius:999px;
  transform:translate3d(-50%,-50%,0) scale(.80);
  background:radial-gradient(circle, rgba(242,196,0,.22), rgba(242,196,0,.08) 44%, rgba(242,196,0,0) 72%);
  filter:blur(10px);
  opacity:0;
  will-change:opacity,transform;
}
.m4rtial-private-public-intro-ring{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:min(58vw,380px);
  height:min(58vw,380px);
  border-radius:999px;
  border:1px solid rgba(197,163,75,.25);
  transform:translate3d(-50%,-50%,0) scale(.76);
  opacity:0;
  box-shadow:inset 0 0 34px rgba(242,196,0,.07),0 0 46px rgba(242,196,0,.10);
  will-change:opacity,transform;
}
.m4rtial-private-public-intro-logo-wrap{
  position:relative;
  z-index:4;
  width:min(66vw,330px);
  opacity:0;
  transform:translate3d(0,8px,0) scale(.88);
  will-change:transform,opacity;
  filter:drop-shadow(0 30px 64px rgba(120,86,0,.20));
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.m4rtial-private-public-intro-logo{
  display:block;
  width:100%;
  height:auto;
  user-select:none;
  -webkit-user-drag:none;
  image-rendering:auto;
  transform:translate3d(0,0,0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.m4rtial-private-public-intro-shine{
  position:absolute;
  z-index:5;
  left:50%;
  top:50%;
  width:min(76vw,420px);
  height:min(76vw,420px);
  transform:translate3d(-125%,-66%,0) rotate(18deg);
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.62) 48%, transparent 100%);
  opacity:0;
  filter:blur(5px);
  mix-blend-mode:screen;
  will-change:opacity,transform;
}
.m4rtial-private-public-intro-portal{
  position:absolute;
  z-index:3;
  left:50%;
  top:50%;
  width:18vmin;
  height:18vmin;
  border-radius:999px;
  background:transparent;
  transform:translate3d(-50%,-50%,0) scale(.08);
  opacity:0;
  box-shadow:0 0 0 120vmax #f8f6ef;
  will-change:transform,opacity,box-shadow;
}

.m4rtial-private-public-intro.play-full .m4rtial-private-public-intro-logo-wrap{animation:m4LogoToHeaderV95 1.88s cubic-bezier(.18,.86,.18,1) forwards;}
.m4rtial-private-public-intro.play-full .m4rtial-private-public-intro-bg{animation:m4BgRevealV95 1.88s cubic-bezier(.18,.86,.18,1) forwards;}
.m4rtial-private-public-intro.play-full .m4rtial-private-public-intro-orb{animation:m4OrbRevealV95 1.88s cubic-bezier(.18,.86,.18,1) forwards;}
.m4rtial-private-public-intro.play-full .m4rtial-private-public-intro-ring{animation:m4RingRevealV95 1.88s cubic-bezier(.18,.86,.18,1) forwards;}
.m4rtial-private-public-intro.play-full .m4rtial-private-public-intro-shine{animation:m4ShineRevealV95 1.88s cubic-bezier(.18,.86,.18,1) forwards;}
.m4rtial-private-public-intro.play-full .m4rtial-private-public-intro-portal{animation:m4PortalRevealV95 1.88s cubic-bezier(.18,.86,.18,1) forwards;}

@keyframes m4LogoToHeaderV95{
  0%{opacity:0;transform:translate3d(0,10px,0) scale(.88);}
  14%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  45%{opacity:1;transform:translate3d(0,0,0) scale(1.025);}
  76%{opacity:1;transform:translate3d(0,calc(-50vh + 40px),0) scale(.18);}
  100%{opacity:0;transform:translate3d(0,calc(-50vh + 40px),0) scale(.18);}
}
@keyframes m4BgRevealV95{
  0%,48%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  74%{opacity:.34;transform:translate3d(0,0,0) scale(1.035);}
  100%{opacity:0;transform:translate3d(0,0,0) scale(1.055);}
}
@keyframes m4OrbRevealV95{
  0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.80);}
  16%{opacity:.92;}
  58%{opacity:.72;transform:translate3d(-50%,-50%,0) scale(1.08);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.50);}
}
@keyframes m4RingRevealV95{
  0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.76);}
  18%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1);}
  60%{opacity:.52;}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.24);}
}
@keyframes m4ShineRevealV95{
  0%,16%{opacity:0;transform:translate3d(-125%,-66%,0) rotate(18deg);}
  26%{opacity:.72;}
  48%{opacity:0;transform:translate3d(24%,-28%,0) rotate(18deg);}
  100%{opacity:0;}
}
@keyframes m4PortalRevealV95{
  0%,46%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.10);box-shadow:0 0 0 120vmax #f8f6ef;}
  54%{opacity:1;}
  82%{opacity:1;transform:translate3d(-50%,-50%,0) scale(8.8);box-shadow:0 0 0 120vmax rgba(248,246,239,.24);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(13.4);box-shadow:0 0 0 120vmax rgba(248,246,239,0);}
}
@media(max-width:860px){
  .m4rtial-private-public-intro-logo-wrap{width:min(72vw,292px);}
  @keyframes m4LogoToHeaderV95{
    0%{opacity:0;transform:translate3d(0,10px,0) scale(.88);}
    14%{opacity:1;transform:translate3d(0,0,0) scale(1);}
    45%{opacity:1;transform:translate3d(0,0,0) scale(1.025);}
    76%{opacity:1;transform:translate3d(0,calc(-50vh + 34px),0) scale(.145);}
    100%{opacity:0;transform:translate3d(0,calc(-50vh + 34px),0) scale(.145);}
  }
}
@media(prefers-reduced-motion:reduce){
  .m4rtial-private-public-intro{display:none!important;}
}

/* V103: desactiva cualquier splash antiguo de la app privada */
.m4rtial-launch-splash{display:none!important;}


/* =====================================================================
   M4RTIAL V107 — Outdoor admin + usuario
   ===================================================================== */
.outdoor-page{max-width:1180px;margin:0 auto;padding:18px 14px 28px;}
.outdoor-tabs{display:flex;gap:8px;overflow:auto;padding:8px 0 14px;margin-bottom:8px;position:sticky;top:0;z-index:5;background:linear-gradient(180deg,rgba(247,245,239,.96),rgba(247,245,239,.86));backdrop-filter:blur(10px)}
.outdoor-tabs button{border:1px solid rgba(36,32,22,.12);background:rgba(255,255,255,.82);color:#17140f;border-radius:999px;padding:9px 12px;font-weight:800;white-space:nowrap;font-size:.84rem}
.outdoor-tabs button.active{background:#17140f;color:#f2c400;border-color:rgba(242,196,0,.45)}
.outdoor-hero,.outdoor-client-hero,.outdoor-page-title{border:1px solid rgba(36,32,22,.10);background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(247,245,239,.80));border-radius:22px;padding:18px;margin-bottom:14px;box-shadow:0 16px 40px rgba(20,16,10,.06)}
.outdoor-hero{display:flex;align-items:center;justify-content:space-between;gap:14px}
.outdoor-hero h1,.outdoor-page-title h1,.outdoor-client-hero h1{margin:4px 0 6px;font-size:clamp(1.45rem,3vw,2.15rem);letter-spacing:-.03em}
.outdoor-hero p,.outdoor-page-title p,.outdoor-client-hero p{margin:0;color:#5f594d;max-width:760px}
.outdoor-metric-grid,.outdoor-mini-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0}
.outdoor-metric{border:1px solid rgba(36,32,22,.10);background:rgba(255,255,255,.84);border-radius:18px;padding:14px;min-height:90px}
.outdoor-metric span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#6d6251;font-weight:900}
.outdoor-metric strong{display:block;margin-top:5px;font-size:1.22rem;color:#17140f}
.outdoor-metric small{display:block;margin-top:4px;color:#756b5c}
.outdoor-calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.outdoor-activity-card{border:1px solid rgba(36,32,22,.10);background:rgba(255,255,255,.86);border-radius:20px;padding:14px;box-shadow:0 14px 34px rgba(20,16,10,.055);display:flex;flex-direction:column;gap:10px}
.outdoor-card-head,.outdoor-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}
.outdoor-month{font-weight:950;color:#17140f;background:linear-gradient(135deg,rgba(242,196,0,.26),rgba(255,255,255,.8));border:1px solid rgba(197,163,75,.24);border-radius:999px;padding:5px 9px;font-size:.78rem}
.outdoor-activity-card h3{font-size:1.05rem;margin:0;letter-spacing:-.02em}
.outdoor-activity-card p{margin:0;color:#5f594d;font-size:.92rem;line-height:1.35}
.outdoor-card-meta{display:flex;flex-wrap:wrap;gap:6px}
.outdoor-card-meta span,.outdoor-card-foot span{background:rgba(23,20,15,.055);border-radius:999px;padding:5px 8px;font-size:.75rem;color:#5f594d;font-weight:750}
.outdoor-price-line{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center}
.outdoor-price-line b{color:#17140f}
.outdoor-price-line small{color:#756b5c;font-size:.75rem}
.outdoor-form{display:flex;flex-direction:column;gap:12px}
.outdoor-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.outdoor-form label{font-weight:850;color:#2a251c;font-size:.86rem}
.outdoor-form input,.outdoor-form select,.outdoor-form textarea,.outdoor-admin-section select{width:100%;border:1px solid rgba(36,32,22,.13);border-radius:14px;padding:10px 11px;background:rgba(255,255,255,.92);font:inherit}
.outdoor-form textarea{min-height:84px;resize:vertical}
.outdoor-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}
.outdoor-version-box{border:1px solid rgba(197,163,75,.18);background:rgba(242,196,0,.045);border-radius:18px;padding:12px}
.outdoor-version-box h3{margin:0 0 10px;font-size:1rem}
.outdoor-list{display:grid;gap:10px;margin-top:12px}
.outdoor-row-card{border:1px solid rgba(36,32,22,.10);background:rgba(255,255,255,.86);border-radius:18px;padding:12px;display:grid;grid-template-columns:minmax(0,1.5fr) auto auto;gap:10px;align-items:center}
.outdoor-row-card strong{display:block}.outdoor-row-card span,.outdoor-row-card small{display:block;color:#6d6251;font-size:.82rem}
.outdoor-pass-card strong{display:block;font-size:1.8rem;color:#17140f;margin:8px 0}
.billing-plan-row strong{font-size:.95rem}
@media(max-width:720px){
  .outdoor-page{padding:10px 8px 20px}
  .outdoor-tabs{gap:6px;padding-bottom:10px}
  .outdoor-tabs button{font-size:.76rem;padding:8px 10px}
  .outdoor-hero,.outdoor-client-hero,.outdoor-page-title{padding:13px;border-radius:18px}
  .outdoor-hero{display:block}
  .outdoor-hero .btn{margin-top:10px;width:100%}
  .outdoor-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .outdoor-metric{min-height:auto;padding:11px;border-radius:15px}
  .outdoor-metric strong{font-size:1rem}
  .outdoor-calendar-grid{grid-template-columns:1fr;gap:9px}
  .outdoor-activity-card{padding:12px;border-radius:17px}
  .outdoor-activity-card h3{font-size:1rem}
  .outdoor-activity-card p{font-size:.86rem}
  .outdoor-form-grid,.outdoor-check-grid{grid-template-columns:1fr}
  .outdoor-row-card{grid-template-columns:1fr;gap:8px}
  .outdoor-row-card .actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
}


/* =====================================================================
   M4RTIAL V108 — Outdoor integrado en landing del usuario
   ===================================================================== */
.outdoor-user-landing{
  margin:14px 0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.outdoor-user-hero-card{
  border:1px solid rgba(36,32,22,.10);
  border-radius:22px;
  background:
    radial-gradient(circle at 88% 15%, rgba(242,196,0,.18), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(247,245,239,.82));
  box-shadow:0 16px 38px rgba(20,16,10,.055);
  padding:16px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(190px,250px);
  gap:14px;
  align-items:center;
}
.outdoor-user-hero-card h2{
  margin:3px 0 6px;
  font-size:clamp(1.28rem,2.2vw,1.85rem);
  letter-spacing:-.035em;
}
.outdoor-user-hero-card p{
  margin:0;
  color:#62594b;
  line-height:1.42;
  max-width:780px;
}
.outdoor-user-pass-compact{
  border:1px solid rgba(197,163,75,.22);
  background:rgba(255,255,255,.74);
  border-radius:18px;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.outdoor-user-pass-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:7px 10px;
  font-weight:950;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.outdoor-user-pass-pill.ok{background:rgba(29,138,78,.12);color:#14643b;}
.outdoor-user-pass-pill.warn{background:rgba(242,196,0,.18);color:#5f4700;}
.outdoor-user-pass-compact small{color:#6d6251;text-align:center;}
.outdoor-user-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);
  gap:12px;
}
.outdoor-user-next-card,
.outdoor-user-pricing-card,
.outdoor-user-calendar-compact,
.outdoor-user-history-compact{
  border:1px solid rgba(36,32,22,.10);
  background:rgba(255,255,255,.88);
  border-radius:20px;
  padding:14px;
  box-shadow:0 14px 34px rgba(20,16,10,.045);
}
.outdoor-section-minihead{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  margin-bottom:8px;
}
.outdoor-section-minihead span{
  color:#6d6251;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-size:.72rem;
  font-weight:950;
}
.outdoor-section-minihead b{
  background:rgba(242,196,0,.18);
  border:1px solid rgba(197,163,75,.22);
  color:#4d3a00;
  border-radius:999px;
  padding:5px 9px;
  font-size:.78rem;
}
.outdoor-user-next-card h3{
  margin:0 0 6px;
  font-size:1.16rem;
  letter-spacing:-.02em;
}
.outdoor-user-next-card p,
.outdoor-user-pricing-card p{
  margin:0 0 10px;
  color:#62594b;
  line-height:1.38;
  font-size:.92rem;
}
.outdoor-user-price-compact{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  background:rgba(23,20,15,.045);
  border-radius:14px;
  padding:10px;
  margin:10px 0;
}
.outdoor-user-price-compact strong{font-size:1.05rem;color:#17140f;}
.outdoor-user-price-compact small{color:#6d6251;text-align:right;}
.outdoor-user-price-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:8px 0 10px;
}
.outdoor-user-price-grid div{
  border:1px solid rgba(36,32,22,.08);
  background:linear-gradient(135deg, rgba(242,196,0,.12), rgba(255,255,255,.82));
  border-radius:15px;
  padding:10px;
}
.outdoor-user-price-grid strong{
  display:block;
  font-size:1.18rem;
  color:#17140f;
}
.outdoor-user-price-grid span{
  display:block;
  color:#6d6251;
  font-size:.78rem;
  font-weight:800;
}
.outdoor-section-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.outdoor-section-title-row h3{
  margin:2px 0 0;
  font-size:1.15rem;
  letter-spacing:-.02em;
}
.outdoor-user-month-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.outdoor-user-month-card{
  border:1px solid rgba(36,32,22,.09);
  background:rgba(247,245,239,.68);
  border-radius:16px;
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:7px;
  min-height:170px;
}
.outdoor-user-month-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:5px;
}
.outdoor-user-month-top > span{
  font-weight:950;
  font-size:.77rem;
  color:#17140f;
}
.outdoor-user-month-card .status-pill{
  font-size:.65rem;
  padding:4px 6px;
}
.outdoor-user-month-card h4{
  margin:0;
  font-size:.9rem;
  letter-spacing:-.015em;
  line-height:1.15;
}
.outdoor-user-month-card p{
  margin:0;
  color:#6d6251;
  font-size:.76rem;
  line-height:1.2;
  flex:1;
}
.outdoor-user-month-meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.outdoor-user-month-meta span{
  background:rgba(23,20,15,.055);
  color:#6d6251;
  border-radius:999px;
  padding:4px 6px;
  font-size:.68rem;
  font-weight:800;
}
.outdoor-user-month-card .btn{
  min-height:32px;
  padding:7px 9px;
  font-size:.78rem;
}
.outdoor-user-history-list .row{
  border-radius:14px;
}
.client-mode .outdoor-page.outdoor-client-page-v108{
  max-width:1120px;
}
@media(max-width:980px){
  .outdoor-user-hero-card,
  .outdoor-user-main-grid{
    grid-template-columns:1fr;
  }
  .outdoor-user-month-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:720px){
  .outdoor-user-landing{
    margin:10px 0;
    gap:9px;
  }
  .outdoor-user-hero-card,
  .outdoor-user-next-card,
  .outdoor-user-pricing-card,
  .outdoor-user-calendar-compact,
  .outdoor-user-history-compact{
    border-radius:17px;
    padding:11px;
  }
  .outdoor-user-hero-card h2{
    font-size:1.22rem;
    margin-bottom:4px;
  }
  .outdoor-user-hero-card p,
  .outdoor-user-next-card p,
  .outdoor-user-pricing-card p{
    font-size:.84rem;
    line-height:1.3;
  }
  .outdoor-user-pass-compact{
    display:grid;
    grid-template-columns:1fr;
    padding:10px;
    border-radius:15px;
  }
  .outdoor-user-main-grid{
    gap:9px;
  }
  .outdoor-user-price-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px;
  }
  .outdoor-user-price-grid div{
    padding:7px 5px;
    border-radius:12px;
    text-align:center;
  }
  .outdoor-user-price-grid strong{
    font-size:.96rem;
  }
  .outdoor-user-price-grid span{
    font-size:.62rem;
    line-height:1.12;
  }
  .outdoor-section-title-row{
    margin-bottom:8px;
  }
  .outdoor-section-title-row .btn{
    padding:7px 9px;
    font-size:.75rem;
  }
  .outdoor-user-month-grid{
    display:flex;
    overflow-x:auto;
    gap:8px;
    padding:1px 2px 8px;
    scroll-snap-type:x mandatory;
  }
  .outdoor-user-month-card{
    min-width:184px;
    max-width:184px;
    min-height:154px;
    scroll-snap-align:start;
  }
  .outdoor-user-month-card h4{
    font-size:.84rem;
  }
  .outdoor-user-month-card p{
    font-size:.72rem;
  }
  .outdoor-user-price-compact{
    padding:8px;
    margin:8px 0;
  }
}
@media(max-width:420px){
  .outdoor-user-price-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* =====================================================================
   M4RTIAL V109 — anti-flash carga inicial + registro sin error nativo
   ===================================================================== */
html.m4-v109-loading #app{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html:not(.m4-v109-loading) #app{
  opacity:1;
  visibility:visible;
}
.register-v96-form input:invalid{
  box-shadow:none;
}
.register-v96-form input:focus:invalid{
  outline:1px solid rgba(242,196,0,.55);
}


/* =====================================================================
   M4RTIAL V110 — transición login → panel sin flash
   ===================================================================== */
html.m4-v109-loading body,
html.m4-v109-loading .app{
  overflow:hidden!important;
}
html.m4-v109-loading #app,
html.m4-v109-loading .app{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html.m4-v109-loading #m4rtial-private-public-intro{
  opacity:1!important;
  visibility:visible!important;
  display:grid!important;
}


/* =====================================================================
   M4RTIAL V111 — fix móvil login blanco + animación reforzada
   ===================================================================== */
html.m4-v109-loading,
html.m4-v109-loading body{
  min-height:100%;
  background:#f8f6ef!important;
}
html.m4-v109-loading::before{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  z-index:2147482500!important;
  background:
    radial-gradient(circle at 50% 46%, rgba(242,196,0,.22), transparent 24%),
    radial-gradient(circle at 50% 46%, rgba(120,86,0,.08), transparent 46%),
    linear-gradient(180deg,#fff 0%,#f8f6ef 64%,#fff 100%)!important;
  pointer-events:none!important;
}
html.m4-v109-loading #m4rtial-private-public-intro{
  opacity:1!important;
  visibility:visible!important;
  display:grid!important;
  background:#f8f6ef!important;
  z-index:2147483000!important;
}
html.m4-v109-loading .m4rtial-private-public-intro-logo-wrap{
  opacity:1!important;
  visibility:visible!important;
  width:min(72vw,330px)!important;
  transform:translate3d(0,0,0) scale(1)!important;
}
html.m4-v109-loading .m4rtial-private-public-intro-logo{
  opacity:1!important;
  visibility:visible!important;
  display:block!important;
}
html.m4-v109-loading #app,
html.m4-v109-loading .app{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.m4rtial-private-public-intro.play-full .m4rtial-private-public-intro-logo-wrap{
  animation:m4IntroLogoV111 2.15s cubic-bezier(.18,.86,.18,1) forwards!important;
}
.m4rtial-private-public-intro.play-full .m4rtial-private-public-intro-ring{
  animation:m4IntroRingV111 2.15s cubic-bezier(.18,.86,.18,1) forwards!important;
}
.m4rtial-private-public-intro.play-full .m4rtial-private-public-intro-orb{
  animation:m4IntroOrbV111 2.15s cubic-bezier(.18,.86,.18,1) forwards!important;
}
@keyframes m4IntroLogoV111{
  0%{opacity:1;transform:translate3d(0,8px,0) scale(.92);}
  18%{opacity:1;transform:translate3d(0,0,0) scale(1.03);}
  48%{opacity:1;transform:translate3d(0,0,0) scale(1.08);}
  82%{opacity:1;transform:translate3d(0,-34vh,0) scale(.28);}
  100%{opacity:0;transform:translate3d(0,-38vh,0) scale(.18);}
}
@keyframes m4IntroRingV111{
  0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.74);}
  18%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1);}
  55%{opacity:.55;transform:translate3d(-50%,-50%,0) scale(1.24);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.62);}
}
@keyframes m4IntroOrbV111{
  0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.76);}
  20%{opacity:.9;}
  65%{opacity:.45;transform:translate3d(-50%,-50%,0) scale(1.24);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.62);}
}
@media(max-width:520px){
  html.m4-v109-loading .m4rtial-private-public-intro-logo-wrap{
    width:min(76vw,292px)!important;
  }
  @keyframes m4IntroLogoV111{
    0%{opacity:1;transform:translate3d(0,6px,0) scale(.92);}
    18%{opacity:1;transform:translate3d(0,0,0) scale(1.03);}
    54%{opacity:1;transform:translate3d(0,0,0) scale(1.06);}
    84%{opacity:1;transform:translate3d(0,-34vh,0) scale(.30);}
    100%{opacity:0;transform:translate3d(0,-38vh,0) scale(.20);}
  }
}


/* =====================================================================
   M4RTIAL V112 — Dashboard cliente tipo landing, sin selector
   ===================================================================== */
.client-landing-header-v112{
  background:rgba(8,8,8,.94)!important;
  border-bottom:1px solid rgba(242,196,0,.16)!important;
  color:#fff!important;
  box-shadow:0 12px 34px rgba(0,0,0,.28)!important;
}
.client-header-logo-v112{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  color:#fff!important;
  font-weight:950!important;
  letter-spacing:.02em!important;
}
.client-header-logo-v112 img{
  width:42px!important;
  height:42px!important;
}
.client-header-logo-v112 span{
  color:#f3f0e8;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.10em;
}
.client-header-actions-v112{
  display:flex;
  gap:8px;
  align-items:center;
}
.client-header-link-v112{
  border:1px solid rgba(242,196,0,.28);
  background:linear-gradient(135deg,rgba(242,196,0,.18),rgba(255,255,255,.05));
  color:#f5f1e7;
  border-radius:999px;
  padding:9px 12px;
  font-weight:900;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  cursor:pointer;
}
.client-header-link-v112.ghost{
  background:rgba(255,255,255,.05);
  color:#d7d1c5;
}
.client-mode{
  background:#080808!important;
}
.client-mode .footer-note{
  color:rgba(255,255,255,.48)!important;
}
.client-dashboard-v112{
  width:min(1160px,calc(100% - 28px));
  margin:0 auto;
  padding:18px 0 34px;
  color:#f8f5ed;
}
.client-v112-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,340px);
  gap:14px;
  align-items:stretch;
  border:1px solid rgba(242,196,0,.18);
  border-radius:26px;
  padding:18px;
  background:
    radial-gradient(circle at 78% 12%, rgba(242,196,0,.18), transparent 30%),
    linear-gradient(135deg,#15120b,#070707 72%);
  box-shadow:0 24px 70px rgba(0,0,0,.42);
}
.client-v112-hero .eyebrow{
  color:#f2c400;
}
.client-v112-hero h1{
  margin:7px 0 8px;
  font-size:clamp(1.9rem,4vw,3.35rem);
  line-height:.94;
  letter-spacing:-.055em;
  color:#fff;
}
.client-v112-hero p{
  margin:0;
  max-width:760px;
  line-height:1.45;
  color:rgba(255,255,255,.72);
}
.client-v112-status-line{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
}
.client-v112-status-line .status-pill{
  border:1px solid rgba(255,255,255,.14);
}
.client-v112-hero-panel{
  border:1px solid rgba(242,196,0,.22);
  background:rgba(255,255,255,.07);
  border-radius:22px;
  padding:15px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:9px;
}
.client-v112-hero-panel span{
  color:#f2c400;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  font-size:.74rem;
}
.client-v112-hero-panel strong{
  font-size:1.25rem;
  color:#fff;
  line-height:1.12;
}
.client-v112-hero-panel small{
  color:rgba(255,255,255,.66);
}
.client-v112-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:13px 0;
}
.client-v112-metric{
  border:1px solid rgba(242,196,0,.12);
  background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  border-radius:20px;
  padding:13px;
  min-height:112px;
}
.client-v112-metric.ok{
  border-color:rgba(24,174,105,.25);
}
.client-v112-metric.warn{
  border-color:rgba(242,196,0,.34);
}
.client-v112-metric span{
  display:block;
  color:rgba(255,255,255,.58);
  text-transform:uppercase;
  letter-spacing:.07em;
  font-size:.72rem;
  font-weight:950;
}
.client-v112-metric strong{
  display:block;
  margin-top:7px;
  color:#fff;
  font-size:1.08rem;
  line-height:1.12;
}
.client-v112-metric small{
  display:block;
  margin-top:6px;
  color:rgba(255,255,255,.52);
  line-height:1.28;
}
.client-v112-alert{
  border:1px solid rgba(242,196,0,.22);
  background:linear-gradient(135deg,rgba(242,196,0,.16),rgba(255,255,255,.045));
  border-radius:20px;
  padding:13px;
  margin:12px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.client-v112-alert strong{
  color:#fff;
  display:block;
}
.client-v112-alert p{
  margin:4px 0 0;
  color:rgba(255,255,255,.68);
}
.client-v112-access-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:13px 0;
}
.client-v112-access-card{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.055);
  border-radius:20px;
  padding:13px;
  min-height:168px;
  display:flex;
  flex-direction:column;
  gap:9px;
}
.client-v112-access-card.primary{
  border-color:rgba(242,196,0,.28);
  background:linear-gradient(135deg,rgba(242,196,0,.16),rgba(255,255,255,.055));
}
.client-v112-access-icon{
  width:36px;
  height:36px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:#111;
  background:linear-gradient(135deg,#f2c400,#c5a34b);
  font-weight:950;
}
.client-v112-access-card h3{
  margin:0;
  color:#fff;
  font-size:1.02rem;
}
.client-v112-access-card p{
  margin:0;
  color:rgba(255,255,255,.64);
  line-height:1.33;
  font-size:.9rem;
  flex:1;
}
.client-dashboard-v112 .outdoor-user-landing{
  margin-top:14px;
}
.client-dashboard-v112 .outdoor-user-hero-card,
.client-dashboard-v112 .outdoor-user-next-card,
.client-dashboard-v112 .outdoor-user-pricing-card,
.client-dashboard-v112 .outdoor-user-calendar-compact,
.client-dashboard-v112 .outdoor-user-history-compact{
  background:rgba(255,255,255,.058)!important;
  color:#fff!important;
  border-color:rgba(242,196,0,.13)!important;
  box-shadow:0 16px 42px rgba(0,0,0,.22)!important;
}
.client-dashboard-v112 .outdoor-user-hero-card h2,
.client-dashboard-v112 .outdoor-user-next-card h3,
.client-dashboard-v112 .outdoor-section-title-row h3,
.client-dashboard-v112 .outdoor-user-month-card h4,
.client-dashboard-v112 .outdoor-user-price-compact strong,
.client-dashboard-v112 .outdoor-user-price-grid strong{
  color:#fff!important;
}
.client-dashboard-v112 .outdoor-user-hero-card p,
.client-dashboard-v112 .outdoor-user-next-card p,
.client-dashboard-v112 .outdoor-user-pricing-card p,
.client-dashboard-v112 .outdoor-user-month-card p,
.client-dashboard-v112 .outdoor-user-price-compact small,
.client-dashboard-v112 .outdoor-user-price-grid span{
  color:rgba(255,255,255,.64)!important;
}
.client-dashboard-v112 .outdoor-user-month-card,
.client-dashboard-v112 .outdoor-user-price-grid div,
.client-dashboard-v112 .outdoor-user-pass-compact{
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(242,196,0,.13)!important;
}
.client-dashboard-v112 .outdoor-user-month-top > span,
.client-dashboard-v112 .outdoor-section-minihead span{
  color:#f2c400!important;
}
.client-v112-panels{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.client-v112-panel{
  border:1px solid rgba(242,196,0,.13);
  background:rgba(255,255,255,.058);
  border-radius:20px;
  padding:14px;
  color:#fff;
}
.client-v112-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.client-v112-panel-head span{
  color:#f2c400;
  font-size:.76rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.client-v112-panel-head b{
  color:#fff;
  font-size:.86rem;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  padding:5px 8px;
  border-radius:999px;
}
.client-v112-info-list{
  display:grid;
  gap:8px;
}
.client-v112-info-list div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:9px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.client-v112-info-list strong{
  color:rgba(255,255,255,.58);
  font-size:.82rem;
}
.client-v112-info-list span{
  color:#fff;
  text-align:right;
  word-break:break-word;
}
.client-v112-list .row,
.client-dashboard-v112 .message{
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#fff!important;
}
.client-v112-list .row span,
.client-dashboard-v112 .message{
  color:rgba(255,255,255,.68)!important;
}
@media(max-width:900px){
  .client-dashboard-v112{
    width:min(100% - 18px,1160px);
    padding-top:12px;
  }
  .client-v112-hero,
  .client-v112-panels{
    grid-template-columns:1fr;
  }
  .client-v112-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .client-v112-access-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .client-landing-header-v112{
    min-height:58px!important;
    padding:0 10px!important;
  }
  .client-header-logo-v112 span{
    display:none;
  }
  .client-header-actions-v112{
    gap:6px;
  }
  .client-header-link-v112{
    padding:7px 9px;
    font-size:.68rem;
  }
  .client-v112-hero{
    border-radius:20px;
    padding:13px;
  }
  .client-v112-hero h1{
    font-size:1.65rem;
  }
  .client-v112-hero p{
    font-size:.88rem;
  }
  .client-v112-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .client-v112-metric{
    min-height:96px;
    padding:10px;
    border-radius:16px;
  }
  .client-v112-metric strong{
    font-size:.95rem;
  }
  .client-v112-access-grid{
    grid-template-columns:1fr;
    gap:8px;
  }
  .client-v112-access-card{
    min-height:auto;
    border-radius:16px;
    padding:11px;
  }
  .client-v112-alert{
    display:block;
    border-radius:16px;
  }
  .client-v112-alert .btn{
    width:100%;
    margin-top:10px;
  }
  .client-v112-panel{
    border-radius:16px;
    padding:11px;
  }
}


/* =====================================================================
   M4RTIAL V113 — Dashboard cliente real, limpio, sin selector y sin bloque Outdoor gigante
   ===================================================================== */
#languageSwitcher,
.language-switcher,
#google_translate_element{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

.client-mode{
  background:#070707!important;
  color:#f7f2e8!important;
}
.client-mode .app{
  background:
    radial-gradient(circle at 76% 0%, rgba(242,196,0,.14), transparent 30%),
    linear-gradient(180deg,#070707 0%,#101010 42%,#070707 100%)!important;
  min-height:100vh!important;
}
.client-mode .footer-note{
  color:rgba(255,255,255,.45)!important;
}
.client-landing-header-v112{
  background:rgba(5,5,5,.96)!important;
  border-bottom:1px solid rgba(242,196,0,.18)!important;
  box-shadow:0 12px 36px rgba(0,0,0,.35)!important;
}
.client-dashboard-v113{
  width:min(1160px,calc(100% - 28px));
  margin:0 auto;
  padding:18px 0 34px;
  color:#f7f2e8;
}
.client-v113-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,340px);
  gap:14px;
  align-items:stretch;
  border:1px solid rgba(242,196,0,.22);
  background:
    radial-gradient(circle at 84% 12%, rgba(242,196,0,.18), transparent 28%),
    linear-gradient(135deg,#17130a 0%,#080808 68%);
  border-radius:28px;
  padding:22px;
  box-shadow:0 24px 80px rgba(0,0,0,.48);
  overflow:hidden;
}
.client-v113-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#f2c400;
  font-weight:950;
  font-size:.76rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.client-v113-kicker:before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:#f2c400;
  box-shadow:0 0 0 6px rgba(242,196,0,.12);
}
.client-v113-hero h1{
  margin:8px 0 8px;
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:.94;
  letter-spacing:-.06em;
  color:#fff;
}
.client-v113-hero p{
  margin:0;
  color:rgba(255,255,255,.72);
  line-height:1.45;
  max-width:760px;
}
.client-v113-pills{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:13px;
}
.client-v113-pills span{
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.08);
  color:#f5f1e8;
  border-radius:999px;
  padding:7px 10px;
  font-size:.76rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.client-v113-pills span.ok{
  background:rgba(26,166,98,.16);
  border-color:rgba(26,166,98,.30);
  color:#bdf3d5;
}
.client-v113-pills span.warn{
  background:rgba(242,196,0,.18);
  border-color:rgba(242,196,0,.34);
  color:#ffeaa3;
}
.client-v113-next{
  border:1px solid rgba(242,196,0,.24);
  background:rgba(255,255,255,.065);
  border-radius:22px;
  padding:15px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
}
.client-v113-next span{
  color:#f2c400;
  font-size:.75rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.client-v113-next strong{
  color:#fff;
  font-size:1.28rem;
  line-height:1.08;
}
.client-v113-next small{
  color:rgba(255,255,255,.62);
}
.client-v113-alert{
  margin:12px 0;
  border:1px solid rgba(242,196,0,.26);
  background:linear-gradient(135deg,rgba(242,196,0,.16),rgba(255,255,255,.04));
  border-radius:20px;
  padding:13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.client-v113-alert.neutral{
  border-color:rgba(255,255,255,.13);
  background:rgba(255,255,255,.06);
}
.client-v113-alert strong{
  display:block;
  color:#fff;
}
.client-v113-alert p{
  margin:4px 0 0;
  color:rgba(255,255,255,.66);
}
.client-v113-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:12px 0;
}
.client-v113-metric{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.055);
  border-radius:20px;
  padding:13px;
  min-height:104px;
}
.client-v113-metric.ok{
  border-color:rgba(26,166,98,.25);
}
.client-v113-metric.warn{
  border-color:rgba(242,196,0,.34);
}
.client-v113-metric span{
  display:block;
  color:rgba(255,255,255,.54);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.client-v113-metric strong{
  display:block;
  color:#fff;
  font-size:1.06rem;
  line-height:1.14;
  margin-top:7px;
}
.client-v113-metric small{
  display:block;
  color:rgba(255,255,255,.56);
  line-height:1.28;
  margin-top:6px;
}
.client-v113-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.32fr) minmax(280px,.68fr);
  gap:12px;
  margin-top:12px;
}
.client-v113-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.client-v113-action{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.055);
  border-radius:20px;
  padding:13px;
  min-height:162px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.client-v113-action.primary{
  border-color:rgba(242,196,0,.30);
  background:linear-gradient(135deg,rgba(242,196,0,.16),rgba(255,255,255,.055));
}
.client-v113-action-icon{
  width:36px;
  height:36px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#f2c400,#c5a34b);
  color:#111;
  font-weight:950;
}
.client-v113-action h3{
  margin:0;
  color:#fff;
  font-size:1rem;
}
.client-v113-action p{
  margin:0;
  color:rgba(255,255,255,.62);
  line-height:1.32;
  font-size:.88rem;
  flex:1;
}
.client-v113-side{
  display:grid;
  gap:10px;
}
.client-v113-card,
.client-v113-outdoor-mini{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.055);
  border-radius:20px;
  padding:14px;
  box-shadow:0 14px 42px rgba(0,0,0,.22);
}
.client-v113-card-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.client-v113-card-head span{
  color:#f2c400;
  font-size:.74rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.client-v113-card-head button{
  border:1px solid rgba(242,196,0,.26);
  background:rgba(242,196,0,.12);
  color:#f8df80;
  border-radius:999px;
  padding:6px 9px;
  font-size:.72rem;
  font-weight:900;
  cursor:pointer;
}
.client-v113-card-head b{
  color:#fff;
  font-size:.82rem;
  background:rgba(255,255,255,.07);
  border-radius:999px;
  padding:5px 8px;
}
.client-v113-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.075);
}
.client-v113-row:last-child{
  border-bottom:0;
}
.client-v113-row strong{
  display:block;
  color:#fff;
  font-size:.9rem;
}
.client-v113-row span{
  display:block;
  color:rgba(255,255,255,.58);
  font-size:.8rem;
  margin-top:3px;
}
.client-v113-row em{
  color:#f8df80;
  font-style:normal;
  font-size:.72rem;
  font-weight:900;
  text-align:right;
}
.client-v113-empty{
  padding:12px;
  border-radius:14px;
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.62);
}
.client-v113-empty.ok{
  color:#bcf4d4;
  background:rgba(26,166,98,.12);
}
.client-v113-outdoor-mini{
  margin-top:12px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  background:
    radial-gradient(circle at 92% 12%, rgba(242,196,0,.18), transparent 28%),
    rgba(255,255,255,.055);
}
.client-v113-outdoor-mini h2{
  color:#fff;
  margin:6px 0 6px;
  font-size:1.22rem;
}
.client-v113-outdoor-mini p{
  margin:0;
  color:rgba(255,255,255,.62);
  line-height:1.4;
}
.client-v113-outdoor-prices{
  display:grid;
  grid-template-columns:repeat(2,110px);
  gap:8px;
  align-items:stretch;
}
.client-v113-outdoor-prices span{
  border:1px solid rgba(242,196,0,.16);
  background:rgba(242,196,0,.08);
  border-radius:16px;
  padding:10px;
  text-align:center;
}
.client-v113-outdoor-prices strong{
  color:#fff;
  display:block;
  font-size:1.15rem;
}
.client-v113-outdoor-prices small{
  color:rgba(255,255,255,.56);
  display:block;
  margin-top:3px;
}
.client-v113-outdoor-prices .btn{
  grid-column:1 / -1;
}
.client-v113-profile-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.client-v113-info{
  display:grid;
  gap:8px;
}
.client-v113-info div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,.075);
}
.client-v113-info strong{
  color:rgba(255,255,255,.55);
  font-size:.82rem;
}
.client-v113-info span{
  color:#fff;
  text-align:right;
}
.client-dashboard-v113 .btn{
  min-height:38px;
  border-radius:999px;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.client-dashboard-v113 .btn:not(.gold){
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
}
.client-dashboard-v113 .btn.gold{
  background:linear-gradient(135deg,#f2c400,#c5a34b);
  color:#111;
  border:0;
}
@media(max-width:980px){
  .client-dashboard-v113{
    width:min(100% - 18px,1160px);
    padding-top:12px;
  }
  .client-v113-hero,
  .client-v113-main-grid,
  .client-v113-outdoor-mini,
  .client-v113-profile-grid{
    grid-template-columns:1fr;
  }
  .client-v113-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:680px){
  .client-v113-hero{
    padding:14px;
    border-radius:21px;
  }
  .client-v113-hero h1{
    font-size:1.7rem;
  }
  .client-v113-hero p{
    font-size:.88rem;
  }
  .client-v113-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .client-v113-metric{
    min-height:94px;
    border-radius:16px;
    padding:10px;
  }
  .client-v113-metric strong{
    font-size:.94rem;
  }
  .client-v113-actions{
    grid-template-columns:1fr;
    gap:8px;
  }
  .client-v113-action{
    min-height:auto;
    border-radius:16px;
    padding:11px;
  }
  .client-v113-alert{
    display:block;
    border-radius:16px;
  }
  .client-v113-alert .btn{
    width:100%;
    margin-top:10px;
  }
  .client-v113-card,
  .client-v113-outdoor-mini{
    border-radius:16px;
    padding:11px;
  }
  .client-v113-outdoor-prices{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* =====================================================================
   M4RTIAL V114 — contraste real de secciones privadas
   ===================================================================== */
.client-mode .app{
  background:
    radial-gradient(circle at 78% -4%, rgba(242,196,0,.10), transparent 34%),
    linear-gradient(180deg,#050505 0%,#0a0a0a 36%,#050505 100%)!important;
}

/* Base de lectura: texto siempre claro */
.client-dashboard-v113,
.client-dashboard-v113 h1,
.client-dashboard-v113 h2,
.client-dashboard-v113 h3,
.client-dashboard-v113 h4,
.client-dashboard-v113 strong,
.client-dashboard-v113 b{
  color:#fff8e8!important;
}
.client-dashboard-v113 p,
.client-dashboard-v113 small,
.client-dashboard-v113 span,
.client-dashboard-v113 .client-v113-row span,
.client-dashboard-v113 .client-v113-info strong{
  color:rgba(255,248,232,.76)!important;
}

/* Secciones principales: color distinto del fondo */
.client-v113-hero{
  background:
    radial-gradient(circle at 85% 10%, rgba(242,196,0,.22), transparent 27%),
    linear-gradient(135deg,#1d1708 0%,#11100c 48%,#070707 100%)!important;
  border:1px solid rgba(242,196,0,.34)!important;
  box-shadow:0 24px 80px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.08)!important;
}

.client-v113-next,
.client-v113-card,
.client-v113-action,
.client-v113-metric,
.client-v113-outdoor-mini,
.client-v113-alert{
  background:linear-gradient(145deg,#181818 0%,#101010 100%)!important;
  border:1px solid rgba(242,196,0,.24)!important;
  box-shadow:0 18px 45px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.055)!important;
}

/* Tarjetas de acceso: diferenciadas por bloque */
.client-v113-action{
  background:
    linear-gradient(145deg,rgba(35,35,35,.98),rgba(16,16,16,.98))!important;
}
.client-v113-action.primary,
.client-v113-alert{
  background:
    linear-gradient(145deg,rgba(60,45,9,.96),rgba(24,20,10,.98))!important;
  border-color:rgba(242,196,0,.42)!important;
}

/* Métricas con fondo más sólido */
.client-v113-metric{
  background:
    linear-gradient(145deg,#202020,#111)!important;
}
.client-v113-metric.ok{
  background:
    linear-gradient(145deg,rgba(18,47,32,.96),rgba(12,18,14,.98))!important;
  border-color:rgba(26,166,98,.40)!important;
}
.client-v113-metric.warn{
  background:
    linear-gradient(145deg,rgba(65,49,8,.96),rgba(20,17,9,.98))!important;
  border-color:rgba(242,196,0,.48)!important;
}

/* Bloque Outdoor resumido, visible sin parecer fondo */
.client-v113-outdoor-mini{
  background:
    radial-gradient(circle at 92% 8%,rgba(242,196,0,.20),transparent 28%),
    linear-gradient(145deg,#20190a,#101010)!important;
}

/* Filas internas */
.client-v113-row,
.client-v113-info div,
.client-v113-empty{
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:13px!important;
  padding:10px!important;
  margin-bottom:7px!important;
}
.client-v113-row:last-child,
.client-v113-info div:last-child{
  margin-bottom:0!important;
}
.client-v113-row em,
.client-v113-card-head span,
.client-v113-kicker{
  color:#f2c400!important;
}

/* Píldoras y estados */
.client-v113-pills span,
.client-dashboard-v113 .status-pill{
  background:#222!important;
  color:#fff8e8!important;
  border:1px solid rgba(255,255,255,.16)!important;
}
.client-v113-pills span.ok,
.client-dashboard-v113 .status-pill.ok{
  background:rgba(22,96,58,.95)!important;
  color:#d7ffe8!important;
  border-color:rgba(50,214,127,.44)!important;
}
.client-v113-pills span.warn,
.client-dashboard-v113 .status-pill.warn{
  background:rgba(112,82,6,.95)!important;
  color:#fff1b8!important;
  border-color:rgba(242,196,0,.48)!important;
}

/* Botones: mayor lectura */
.client-dashboard-v113 .btn.gold{
  background:linear-gradient(135deg,#f2c400,#d6a900)!important;
  color:#0b0b0b!important;
  border:1px solid rgba(255,226,112,.45)!important;
  box-shadow:0 10px 22px rgba(242,196,0,.16)!important;
}
.client-dashboard-v113 .btn:not(.gold){
  background:#f4efe0!important;
  color:#111!important;
  border:1px solid rgba(255,255,255,.18)!important;
}
.client-v113-card-head button{
  background:#f2c400!important;
  color:#111!important;
  border-color:#f2c400!important;
}

/* Header cliente */
.client-landing-header-v112{
  background:#050505!important;
  border-bottom:1px solid rgba(242,196,0,.28)!important;
}
.client-header-link-v112{
  background:#f2c400!important;
  color:#111!important;
  border-color:#f2c400!important;
}
.client-header-link-v112.ghost{
  background:#1c1c1c!important;
  color:#fff8e8!important;
  border-color:rgba(255,255,255,.16)!important;
}

/* Evitar que otros estilos anteriores vuelvan a poner beige/blanco translúcido */
.client-dashboard-v113 .panel,
.client-dashboard-v113 .card,
.client-dashboard-v113 article{
  color:#fff8e8;
}

/* Móvil: más contraste y menos sensación de bloque lavado */
@media(max-width:680px){
  .client-dashboard-v113{
    width:min(100% - 16px,1160px)!important;
  }
  .client-v113-hero,
  .client-v113-next,
  .client-v113-card,
  .client-v113-action,
  .client-v113-metric,
  .client-v113-outdoor-mini,
  .client-v113-alert{
    border-radius:17px!important;
  }
  .client-v113-hero{
    background:
      radial-gradient(circle at 85% 5%, rgba(242,196,0,.18), transparent 30%),
      linear-gradient(145deg,#191407,#080808)!important;
  }
}


/* =====================================================================
   M4RTIAL V115 — Dashboard cliente compacto y minimalista
   ===================================================================== */
.client-dashboard-v113{width:min(1180px,calc(100% - 24px))!important;padding:10px 0 22px!important;}
.client-v113-hero{grid-template-columns:minmax(0,1.45fr) minmax(230px,.55fr)!important;gap:10px!important;border-radius:20px!important;padding:14px!important;min-height:auto!important;}
.client-v113-hero h1{font-size:clamp(1.45rem,2.7vw,2.35rem)!important;margin:4px 0 5px!important;line-height:.98!important;}
.client-v113-hero p{font-size:.86rem!important;line-height:1.28!important;max-width:640px!important;}
.client-v113-kicker{font-size:.66rem!important;letter-spacing:.10em!important;}
.client-v113-pills{margin-top:8px!important;gap:5px!important;}
.client-v113-pills span{padding:5px 8px!important;font-size:.66rem!important;}
.client-v113-next{border-radius:16px!important;padding:11px!important;gap:6px!important;}
.client-v113-next span{font-size:.66rem!important;}
.client-v113-next strong{font-size:1rem!important;}
.client-v113-next small{font-size:.76rem!important;}
.client-v113-next .btn{min-height:31px!important;padding:7px 10px!important;font-size:.68rem!important;}
.client-v113-alert{margin:8px 0!important;border-radius:15px!important;padding:9px 11px!important;}
.client-v113-alert strong{font-size:.92rem!important;}
.client-v113-alert p{font-size:.8rem!important;line-height:1.22!important;}
.client-v113-alert .btn{min-height:32px!important;padding:7px 10px!important;font-size:.68rem!important;}
.client-v113-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;margin:8px 0!important;}
.client-v113-metric{min-height:74px!important;border-radius:15px!important;padding:9px 10px!important;}
.client-v113-metric span{font-size:.62rem!important;}
.client-v113-metric strong{font-size:.88rem!important;margin-top:4px!important;line-height:1.1!important;}
.client-v113-metric small{font-size:.68rem!important;margin-top:3px!important;line-height:1.12!important;}
.client-v113-main-grid{grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr)!important;gap:10px!important;margin-top:8px!important;}
.client-v113-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
.client-v113-action{min-height:112px!important;border-radius:15px!important;padding:10px!important;gap:6px!important;}
.client-v113-action-icon{width:29px!important;height:29px!important;border-radius:11px!important;font-size:.8rem!important;}
.client-v113-action h3{font-size:.88rem!important;}
.client-v113-action p{font-size:.74rem!important;line-height:1.18!important;}
.client-v113-action .btn{min-height:30px!important;padding:6px 9px!important;font-size:.65rem!important;}
.client-v113-side{gap:8px!important;}
.client-v113-card{border-radius:15px!important;padding:10px!important;}
.client-v113-card-head{margin-bottom:6px!important;}
.client-v113-card-head span{font-size:.64rem!important;}
.client-v113-card-head button,.client-v113-card-head b{padding:4px 7px!important;font-size:.64rem!important;}
.client-v113-row{padding:7px 8px!important;margin-bottom:5px!important;border-radius:10px!important;}
.client-v113-row strong{font-size:.78rem!important;}
.client-v113-row span{font-size:.68rem!important;margin-top:2px!important;line-height:1.15!important;}
.client-v113-row em{font-size:.62rem!important;}
.client-v113-empty{padding:9px!important;font-size:.76rem!important;border-radius:11px!important;}
.client-v113-outdoor-mini{margin-top:8px!important;border-radius:16px!important;padding:10px!important;grid-template-columns:minmax(0,1fr) minmax(210px,auto)!important;gap:10px!important;}
.client-v113-outdoor-mini h2{font-size:1rem!important;margin:3px 0!important;}
.client-v113-outdoor-mini p{font-size:.78rem!important;line-height:1.2!important;}
.client-v113-outdoor-prices{grid-template-columns:repeat(2,86px)!important;gap:6px!important;}
.client-v113-outdoor-prices span{padding:7px!important;border-radius:12px!important;}
.client-v113-outdoor-prices strong{font-size:.95rem!important;}
.client-v113-outdoor-prices small{font-size:.62rem!important;}
.client-v113-outdoor-prices .btn{grid-column:1 / -1;min-height:30px!important;padding:6px 9px!important;font-size:.64rem!important;}
.client-v113-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:8px!important;}
.client-v113-info{gap:5px!important;}
.client-v113-info div{padding:6px 8px!important;border-radius:10px!important;margin-bottom:0!important;}
.client-v113-info strong,.client-v113-info span{font-size:.74rem!important;}
.client-landing-header-v112{min-height:54px!important;}
.client-header-logo-v112 img{width:36px!important;height:36px!important;}
.client-header-logo-v112 span{font-size:.72rem!important;}
.client-header-link-v112{min-height:30px!important;padding:7px 10px!important;font-size:.66rem!important;}
@media(max-width:980px){
  .client-v113-hero,.client-v113-main-grid,.client-v113-outdoor-mini,.client-v113-profile-grid{grid-template-columns:1fr!important;}
  .client-v113-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important;overflow-x:auto!important;padding-bottom:4px!important;}
  .client-v113-metric{min-width:132px!important;}
  .client-v113-actions{grid-template-columns:repeat(3,minmax(150px,1fr))!important;}
}
@media(max-width:680px){
  .client-dashboard-v113{width:min(100% - 14px,1180px)!important;padding:8px 0 16px!important;}
  .client-v113-hero{padding:11px!important;gap:8px!important;border-radius:16px!important;}
  .client-v113-hero h1{font-size:1.38rem!important;}
  .client-v113-hero p{font-size:.78rem!important;line-height:1.18!important;}
  .client-v113-pills span{font-size:.6rem!important;padding:4px 6px!important;}
  .client-v113-next{padding:9px!important;}
  .client-v113-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important;}
  .client-v113-metric{min-width:0!important;min-height:68px!important;padding:8px!important;}
  .client-v113-metric small{display:none!important;}
  .client-v113-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;}
  .client-v113-action{min-height:96px!important;padding:8px!important;}
  .client-v113-action p{display:none!important;}
  .client-v113-action .btn{width:100%!important;}
  .client-v113-side{grid-template-columns:1fr!important;}
  .client-v113-outdoor-prices{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .client-v113-outdoor-prices .btn{grid-column:auto!important;}
  .client-v113-profile-grid{grid-template-columns:1fr!important;}
}
@media(max-width:420px){
  .client-v113-actions{grid-template-columns:1fr!important;}
  .client-v113-action{min-height:auto!important;flex-direction:row!important;align-items:center!important;}
  .client-v113-action div:nth-child(2){flex:1!important;}
  .client-v113-action .btn{width:auto!important;min-width:78px!important;}
}


/* =====================================================================
   M4RTIAL V116 — Limpieza dashboard cliente + logotipo correcto
   ===================================================================== */

/* Logotipo: no deformar, no cortar, no pixelar */
.client-landing-header-v112 .m4-header-logo,
.client-header-logo-v112{
  min-width:auto!important;
  width:auto!important;
  height:46px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  overflow:visible!important;
}
.client-landing-header-v112 .m4-header-logo img,
.client-header-logo-v112 img,
.m4-centered-logo{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  max-width:38px!important;
  max-height:38px!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  image-rendering:auto!important;
  filter:drop-shadow(0 6px 12px rgba(242,196,0,.16))!important;
  border-radius:0!important;
  background:transparent!important;
}
.client-header-logo-v112 span{
  line-height:1!important;
  white-space:nowrap!important;
}

/* Dashboard sin secciones sobrantes */
.client-dashboard-v113{
  padding:8px 0 16px!important;
}
.client-v113-hero{
  padding:12px!important;
  border-radius:18px!important;
}
.client-v113-hero h1{
  font-size:clamp(1.32rem,2.45vw,2.05rem)!important;
}
.client-v113-hero p{
  max-width:560px!important;
}

/* Métricas más discretas */
.client-v113-metrics{
  margin:7px 0!important;
}
.client-v113-metric{
  min-height:64px!important;
  padding:8px!important;
}
.client-v113-metric small{
  display:none!important;
}

/* Accesos: solo 4 y en una banda compacta */
.client-v113-main-grid{
  grid-template-columns:minmax(0,1fr) minmax(300px,.52fr)!important;
  gap:8px!important;
}
.client-v113-actions{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
}
.client-v113-action{
  min-height:92px!important;
  padding:8px!important;
  border-radius:14px!important;
}
.client-v113-action p{
  display:none!important;
}
.client-v113-action-icon{
  width:27px!important;
  height:27px!important;
}
.client-v113-action h3{
  font-size:.82rem!important;
}
.client-v113-action .btn{
  min-height:28px!important;
  padding:5px 8px!important;
  font-size:.62rem!important;
}

/* Reservas y avisos: altura reducida */
.client-v113-side{
  gap:7px!important;
}
.client-v113-card{
  padding:9px!important;
  border-radius:14px!important;
}
.client-v113-card-head{
  margin-bottom:5px!important;
}
.client-v113-row{
  padding:6px 7px!important;
  margin-bottom:4px!important;
}
.client-v113-row strong{
  font-size:.74rem!important;
}
.client-v113-row span{
  font-size:.64rem!important;
}
.client-v113-empty{
  padding:7px!important;
  font-size:.72rem!important;
}

/* Se eliminan secciones sobrantes si quedasen por caché CSS */
.client-v113-profile-grid,
.client-v113-outdoor-mini{
  display:none!important;
}

/* Alertas más limpias */
.client-v113-alert{
  padding:8px 10px!important;
  margin:7px 0!important;
}
.client-v113-alert p{
  display:none!important;
}

/* Móvil: una landing corta, no una página larga */
@media(max-width:980px){
  .client-v113-main-grid{
    grid-template-columns:1fr!important;
  }
  .client-v113-actions{
    grid-template-columns:repeat(4,minmax(120px,1fr))!important;
    overflow-x:auto!important;
    padding-bottom:4px!important;
  }
  .client-v113-action{
    min-width:120px!important;
  }
}
@media(max-width:680px){
  .client-dashboard-v113{
    width:min(100% - 12px,1180px)!important;
  }
  .client-v113-hero{
    padding:10px!important;
  }
  .client-v113-hero p{
    display:none!important;
  }
  .client-v113-next small{
    display:none!important;
  }
  .client-v113-metrics{
    grid-template-columns:repeat(4,minmax(104px,1fr))!important;
    overflow-x:auto!important;
    padding-bottom:4px!important;
  }
  .client-v113-metric{
    min-width:104px!important;
    min-height:58px!important;
  }
  .client-v113-actions{
    grid-template-columns:repeat(4,112px)!important;
  }
  .client-v113-action{
    min-width:112px!important;
    min-height:82px!important;
  }
  .client-v113-side{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .client-v113-card:nth-child(2){
    display:none!important; /* Avisos se ocultan en móvil para reducir scroll; acceso por soporte si se necesita */
  }
}


/* =====================================================================
   M4RTIAL V117 — Próxima sesión por disciplina, sin reservas generales
   ===================================================================== */
.client-dashboard-v117 .client-v113-hero.single{
  grid-template-columns:1fr!important;
}
.client-dashboard-v117 .client-v113-hero.single .client-v113-hero-left{
  max-width:760px!important;
}
.client-v117-main-grid{
  grid-template-columns:minmax(0,1fr) minmax(270px,.46fr)!important;
}
.client-v117-session-card{
  border-color:rgba(26,166,98,.36)!important;
  background:linear-gradient(145deg,rgba(18,47,32,.96),rgba(12,18,14,.98))!important;
}
.client-v117-session-main{
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:12px!important;
  padding:9px!important;
}
.client-v117-session-main strong{
  display:block!important;
  color:#fff8e8!important;
  font-size:.86rem!important;
}
.client-v117-session-main span{
  display:block!important;
  color:rgba(255,248,232,.76)!important;
  font-size:.72rem!important;
  margin-top:3px!important;
}
.client-v113-metrics.no-session{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
@media(max-width:980px){
  .client-v117-main-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:680px){
  .client-v113-metrics.no-session{
    grid-template-columns:repeat(3,minmax(104px,1fr))!important;
    overflow-x:auto!important;
  }
  .client-v117-session-main{
    padding:7px!important;
  }
}


/* =====================================================================
   M4RTIAL V118 — Carrusel visual de accesos principales cliente
   ===================================================================== */
.client-v118-carousel-shell{
  min-width:0!important;
  border:1px solid rgba(242,196,0,.22)!important;
  background:
    radial-gradient(circle at 12% 18%, rgba(242,196,0,.13), transparent 32%),
    linear-gradient(145deg,#171717,#0d0d0d)!important;
  border-radius:18px!important;
  padding:10px!important;
  box-shadow:0 18px 46px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.055)!important;
}
.client-v118-carousel-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-bottom:8px!important;
}
.client-v118-carousel-head span{
  display:block!important;
  color:#f2c400!important;
  font-size:.62rem!important;
  font-weight:950!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
.client-v118-carousel-head strong{
  display:block!important;
  color:#fff8e8!important;
  font-size:.9rem!important;
  line-height:1!important;
  margin-top:2px!important;
}
.client-v118-carousel-controls{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
}
.client-v118-carousel-controls button{
  width:30px!important;
  height:30px!important;
  border-radius:999px!important;
  border:1px solid rgba(242,196,0,.34)!important;
  background:linear-gradient(135deg,rgba(242,196,0,.22),rgba(255,255,255,.05))!important;
  color:#fff8e8!important;
  font-size:1.15rem!important;
  line-height:1!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.client-v118-action-carousel{
  display:flex!important;
  grid-template-columns:none!important;
  gap:9px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  -webkit-overflow-scrolling:touch!important;
  padding:1px 2px 6px!important;
}
.client-v118-action-carousel::-webkit-scrollbar{
  height:5px!important;
}
.client-v118-action-carousel::-webkit-scrollbar-track{
  background:rgba(255,255,255,.06)!important;
  border-radius:999px!important;
}
.client-v118-action-carousel::-webkit-scrollbar-thumb{
  background:linear-gradient(90deg,#f2c400,#9d7600)!important;
  border-radius:999px!important;
}
.client-v118-action-carousel .client-v113-action{
  position:relative!important;
  flex:0 0 clamp(138px,22vw,184px)!important;
  min-width:clamp(138px,22vw,184px)!important;
  min-height:116px!important;
  scroll-snap-align:start!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 78% 12%, rgba(242,196,0,.18), transparent 30%),
    linear-gradient(145deg,#242424,#111)!important;
  border:1px solid rgba(242,196,0,.20)!important;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease!important;
}
.client-v118-action-carousel .client-v113-action::after{
  content:""!important;
  position:absolute!important;
  inset:auto -18px -28px auto!important;
  width:84px!important;
  height:84px!important;
  border-radius:999px!important;
  background:rgba(242,196,0,.08)!important;
  pointer-events:none!important;
}
.client-v118-action-carousel .client-v113-action:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(242,196,0,.48)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.34)!important;
}
.client-v118-action-carousel .client-v113-action.primary{
  background:
    radial-gradient(circle at 76% 10%, rgba(242,196,0,.26), transparent 31%),
    linear-gradient(145deg,#4b3708,#15120a)!important;
}
.client-v118-action-carousel .client-v113-action-icon{
  width:32px!important;
  height:32px!important;
  font-size:.92rem!important;
  box-shadow:0 8px 20px rgba(242,196,0,.16)!important;
}
.client-v118-action-carousel .client-v113-action h3{
  font-size:.9rem!important;
}
.client-v118-action-carousel .client-v113-action p{
  display:block!important;
  font-size:.68rem!important;
  line-height:1.12!important;
  color:rgba(255,248,232,.68)!important;
}
.client-v118-action-carousel .client-v113-action .btn{
  position:relative!important;
  z-index:2!important;
  min-height:29px!important;
  padding:5px 9px!important;
  font-size:.62rem!important;
}

/* La retícula antigua no debe forzar columnas cuando el bloque ya es carrusel */
.client-v113-main-grid .client-v118-carousel-shell .client-v113-actions{
  grid-template-columns:none!important;
}

@media(max-width:980px){
  .client-v118-action-carousel{
    overflow-x:auto!important;
  }
  .client-v118-action-carousel .client-v113-action{
    flex-basis:158px!important;
    min-width:158px!important;
  }
}
@media(max-width:680px){
  .client-v118-carousel-shell{
    padding:9px!important;
    border-radius:16px!important;
  }
  .client-v118-carousel-head{
    margin-bottom:7px!important;
  }
  .client-v118-carousel-head strong{
    font-size:.84rem!important;
  }
  .client-v118-carousel-controls button{
    width:28px!important;
    height:28px!important;
  }
  .client-v118-action-carousel .client-v113-action{
    flex-basis:136px!important;
    min-width:136px!important;
    min-height:104px!important;
  }
  .client-v118-action-carousel .client-v113-action p{
    display:block!important;
    font-size:.63rem!important;
  }
}


/* =====================================================================
   M4RTIAL V119 — Header cliente blanco + menú derecho
   ===================================================================== */
.client-header-white-v119,
.client-landing-header-v112.client-header-white-v119{
  background:#ffffff!important;
  color:#111111!important;
  border-bottom:1px solid rgba(0,0,0,.08)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.08)!important;
}
.client-header-white-v119 .client-header-logo-v112,
.client-header-white-v119 .client-header-logo-v112 span{
  color:#111111!important;
}
.client-header-white-v119 .m4-header-logo img,
.client-header-white-v119 .client-header-logo-v112 img,
.client-header-white-v119 .m4-centered-logo{
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.10))!important;
  background:transparent!important;
  object-fit:contain!important;
}
.client-header-white-v119 .client-header-actions-v112{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
}
.client-header-white-v119 .client-header-menu-v119{
  position:relative!important;
  z-index:80!important;
}
.client-header-white-v119 .client-header-menu-v119 summary{
  list-style:none!important;
  cursor:pointer!important;
  min-height:32px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:0 13px!important;
  border-radius:999px!important;
  background:#111111!important;
  color:#ffffff!important;
  border:1px solid #111111!important;
  font-size:.70rem!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  user-select:none!important;
}
.client-header-white-v119 .client-header-menu-v119 summary::-webkit-details-marker{
  display:none!important;
}
.client-header-white-v119 .client-header-menu-v119 summary::after{
  content:"⌄"!important;
  font-size:.85rem!important;
  line-height:1!important;
  transform:translateY(-1px)!important;
  opacity:.9!important;
}
.client-header-white-v119 .client-header-menu-v119[open] summary::after{
  content:"⌃"!important;
}
.client-header-white-v119 .client-header-dropdown-v119{
  position:absolute!important;
  top:calc(100% + 8px)!important;
  right:0!important;
  min-width:132px!important;
  padding:7px!important;
  border-radius:14px!important;
  background:#ffffff!important;
  border:1px solid rgba(0,0,0,.10)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.16)!important;
}
.client-header-white-v119 .client-header-dropdown-v119 button{
  width:100%!important;
  min-height:34px!important;
  border:0!important;
  border-radius:10px!important;
  background:#111111!important;
  color:#ffffff!important;
  font-size:.74rem!important;
  font-weight:950!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
}
.client-header-white-v119 .client-header-dropdown-v119 button:hover{
  background:#f2c400!important;
  color:#111111!important;
}

/* Neutralizar botones antiguos Dashboard/Salir si alguna caché conservase la clase */
.client-header-white-v119 .client-header-link-v112{
  display:none!important;
}

@media(max-width:680px){
  .client-header-white-v119{
    min-height:54px!important;
    padding:0 10px!important;
  }
  .client-header-white-v119 .client-header-logo-v112 span{
    display:none!important;
  }
  .client-header-white-v119 .client-header-menu-v119 summary{
    min-height:30px!important;
    padding:0 11px!important;
    font-size:.66rem!important;
  }
  .client-header-white-v119 .client-header-dropdown-v119{
    right:0!important;
    min-width:118px!important;
  }
}


/* =====================================================================
   M4RTIAL V120 — Menú cliente blanco/dorado, minimalista y legible
   ===================================================================== */

/* Header completo blanco con degradado dorado muy suave */
.client-header-white-v119,
.client-landing-header-v112.client-header-white-v119{
  background:
    linear-gradient(135deg,#ffffff 0%,#fffaf0 54%,#f7e6a9 100%)!important;
  color:#111111!important;
  border-bottom:1px solid rgba(157,118,0,.18)!important;
  box-shadow:0 10px 28px rgba(23,20,12,.10)!important;
}

/* Logo y texto del encabezado con contraste negro */
.client-header-white-v119 .client-header-logo-v112,
.client-header-white-v119 .client-header-logo-v112 span,
.client-header-white-v119 .m4-header-logo,
.client-header-white-v119 .m4-header-logo span{
  color:#111111!important;
  text-shadow:none!important;
}
.client-header-white-v119 .client-header-logo-v112 span{
  font-weight:950!important;
  letter-spacing:.10em!important;
}

/* Botón Menú: blanco/dorado, no negro */
.client-header-white-v119 .client-header-menu-v119 summary{
  background:
    linear-gradient(135deg,#ffffff 0%,#fff7dc 58%,#f2c400 100%)!important;
  color:#111111!important;
  border:1px solid rgba(157,118,0,.35)!important;
  box-shadow:
    0 8px 20px rgba(157,118,0,.13),
    inset 0 1px 0 rgba(255,255,255,.90)!important;
  font-weight:950!important;
  text-shadow:none!important;
}
.client-header-white-v119 .client-header-menu-v119 summary::after{
  color:#8a6700!important;
  font-weight:950!important;
}

/* Dropdown del menú: blanco limpio con línea dorada */
.client-header-white-v119 .client-header-dropdown-v119{
  background:
    linear-gradient(145deg,#ffffff 0%,#fffaf0 72%,#f8eab8 100%)!important;
  border:1px solid rgba(157,118,0,.22)!important;
  box-shadow:
    0 18px 42px rgba(23,20,12,.14),
    inset 0 1px 0 rgba(255,255,255,.92)!important;
  color:#111111!important;
}

/* Opciones del desplegable: texto negro claro, hover dorado */
.client-header-white-v119 .client-header-dropdown-v119 button{
  background:#ffffff!important;
  color:#111111!important;
  border:1px solid rgba(157,118,0,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95)!important;
  text-shadow:none!important;
}
.client-header-white-v119 .client-header-dropdown-v119 button:hover{
  background:linear-gradient(135deg,#f2c400,#d6a900)!important;
  color:#111111!important;
  border-color:#d6a900!important;
}

/* Evitar cualquier herencia oscura dentro del menú */
.client-header-white-v119 details,
.client-header-white-v119 summary,
.client-header-white-v119 button,
.client-header-white-v119 .client-header-dropdown-v119 *{
  text-shadow:none!important;
}

/* Separación visual ordenada en móvil */
@media(max-width:680px){
  .client-header-white-v119,
  .client-landing-header-v112.client-header-white-v119{
    background:linear-gradient(135deg,#ffffff 0%,#fff9e8 68%,#f3dc8c 100%)!important;
  }
  .client-header-white-v119 .client-header-menu-v119 summary{
    min-width:78px!important;
  }
}


/* =====================================================================
   M4RTIAL V121 — Área privada clientes blanca con degradado dorado
   ===================================================================== */

/* Fondo general del área cliente */
.client-mode,
.client-mode body,
.client-mode .app{
  background:
    radial-gradient(circle at 82% 0%, rgba(242,196,0,.20), transparent 34%),
    radial-gradient(circle at 8% 18%, rgba(214,169,0,.10), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#fffaf0 42%,#f6e7ad 100%)!important;
  color:#111111!important;
}

/* Header cliente claro */
.client-mode .client-header-white-v119,
.client-mode .client-landing-header-v112,
.client-mode .client-minimal-header{
  background:
    linear-gradient(135deg,#ffffff 0%,#fff9e8 58%,#f3dc8c 100%)!important;
  color:#111111!important;
  border-bottom:1px solid rgba(157,118,0,.20)!important;
  box-shadow:0 10px 28px rgba(23,20,12,.10)!important;
}

/* Tipografía global cliente: siempre oscura y legible */
.client-mode,
.client-mode main,
.client-mode section,
.client-mode article,
.client-mode div,
.client-mode h1,
.client-mode h2,
.client-mode h3,
.client-mode h4,
.client-mode p,
.client-mode span,
.client-mode small,
.client-mode strong,
.client-mode b,
.client-mode label,
.client-mode li,
.client-mode td,
.client-mode th{
  color:#111111!important;
  text-shadow:none!important;
}
.client-mode p,
.client-mode small,
.client-mode span,
.client-mode li,
.client-mode .muted,
.client-mode .footer-note{
  color:rgba(17,17,17,.72)!important;
}

/* Hero y bloques principales */
.client-mode .hero,
.client-mode .client-v113-hero,
.client-mode .client-v113-next,
.client-mode .client-v113-card,
.client-mode .client-v113-action,
.client-mode .client-v113-metric,
.client-mode .client-v113-alert,
.client-mode .client-v118-carousel-shell,
.client-mode .panel,
.client-mode .card,
.client-mode .message,
.client-mode .row,
.client-mode .list,
.client-mode .client-v113-row,
.client-mode .client-v113-empty,
.client-mode .client-v117-session-main{
  background:
    linear-gradient(145deg,rgba(255,255,255,.96) 0%,rgba(255,250,238,.94) 64%,rgba(246,231,173,.80) 100%)!important;
  border:1px solid rgba(157,118,0,.18)!important;
  box-shadow:
    0 16px 38px rgba(23,20,12,.10),
    inset 0 1px 0 rgba(255,255,255,.96)!important;
  color:#111111!important;
}

/* Dashboard cliente más elegante sobre blanco */
.client-mode .client-v113-hero{
  background:
    radial-gradient(circle at 86% 10%, rgba(242,196,0,.24), transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#fff8df 58%,#efd67a 100%)!important;
  border-color:rgba(157,118,0,.24)!important;
}
.client-mode .client-v118-carousel-shell{
  background:
    radial-gradient(circle at 12% 16%, rgba(242,196,0,.16), transparent 32%),
    linear-gradient(145deg,#ffffff,#fff8df 70%,#f1dc91)!important;
}
.client-mode .client-v118-action-carousel .client-v113-action{
  background:
    radial-gradient(circle at 78% 12%, rgba(242,196,0,.22), transparent 30%),
    linear-gradient(145deg,#ffffff,#fff6d8)!important;
}
.client-mode .client-v118-action-carousel .client-v113-action.primary,
.client-mode .client-v113-action.primary,
.client-mode .client-v113-alert{
  background:
    radial-gradient(circle at 82% 10%, rgba(242,196,0,.25), transparent 32%),
    linear-gradient(145deg,#fff8df,#f0d77d)!important;
  border-color:rgba(157,118,0,.30)!important;
}

/* Sesión por disciplina */
.client-mode .client-v117-session-card{
  background:
    linear-gradient(145deg,#ffffff,#eefaf2 62%,#d8f0df 100%)!important;
  border-color:rgba(24,120,72,.24)!important;
}
.client-mode .client-v117-session-card .client-v113-card-head b,
.client-mode .client-v113-metric.ok{
  background:
    linear-gradient(145deg,#ffffff,#eefaf2 60%,#d8f0df 100%)!important;
  border-color:rgba(24,120,72,.24)!important;
}

/* Estados y píldoras */
.client-mode .client-v113-pills span,
.client-mode .status-pill,
.client-mode .badge{
  background:#ffffff!important;
  color:#111111!important;
  border:1px solid rgba(157,118,0,.22)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.client-mode .client-v113-pills span.ok,
.client-mode .status-pill.ok,
.client-mode .message.ok,
.client-mode .client-v113-empty.ok{
  background:#eaf8ef!important;
  color:#0d3b24!important;
  border-color:rgba(24,120,72,.25)!important;
}
.client-mode .client-v113-pills span.warn,
.client-mode .status-pill.warn,
.client-mode .message.warn,
.client-mode .client-v113-metric.warn{
  background:#fff4cc!important;
  color:#4d3600!important;
  border-color:rgba(157,118,0,.28)!important;
}

/* Botones: visibles sobre blanco */
.client-mode .btn,
.client-mode button,
.client-mode summary{
  text-shadow:none!important;
}
.client-mode .btn.gold,
.client-mode button.btn.gold{
  background:linear-gradient(135deg,#f2c400,#d6a900)!important;
  color:#111111!important;
  border:1px solid rgba(157,118,0,.28)!important;
  box-shadow:0 10px 22px rgba(157,118,0,.12)!important;
}
.client-mode .btn:not(.gold),
.client-mode .client-dashboard-v113 .btn:not(.gold),
.client-mode .client-v118-carousel-controls button,
.client-mode .client-v113-card-head button{
  background:#111111!important;
  color:#ffffff!important;
  border:1px solid #111111!important;
}
.client-mode .client-v118-carousel-controls button:hover,
.client-mode .client-v113-card-head button:hover,
.client-mode .btn:not(.gold):hover{
  background:linear-gradient(135deg,#f2c400,#d6a900)!important;
  color:#111111!important;
  border-color:#d6a900!important;
}

/* Formularios del área cliente */
.client-mode input,
.client-mode select,
.client-mode textarea{
  background:#ffffff!important;
  color:#111111!important;
  border:1px solid rgba(157,118,0,.24)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.client-mode input::placeholder,
.client-mode textarea::placeholder{
  color:rgba(17,17,17,.48)!important;
}

/* Tablas/listas interiores */
.client-mode .client-v113-row strong,
.client-mode .client-v113-info strong,
.client-mode .client-v117-session-main strong,
.client-mode .row strong,
.client-mode .list strong{
  color:#111111!important;
}
.client-mode .client-v113-row span,
.client-mode .client-v117-session-main span,
.client-mode .row span,
.client-mode .client-v113-row em,
.client-mode .client-v113-card-head span,
.client-mode .client-v118-carousel-head span,
.client-mode .client-v113-kicker{
  color:#8a6700!important;
}

/* Carrusel en claro */
.client-mode .client-v118-carousel-head strong{
  color:#111111!important;
}
.client-mode .client-v118-action-carousel::-webkit-scrollbar-track{
  background:rgba(17,17,17,.08)!important;
}
.client-mode .client-v118-action-carousel::-webkit-scrollbar-thumb{
  background:linear-gradient(90deg,#f2c400,#9d7600)!important;
}

/* Footer cliente */
.client-mode .footer-note{
  color:rgba(17,17,17,.60)!important;
}

/* Evitar que clases antiguas vuelvan a dejar bloques oscuros */
.client-mode .client-dashboard-v113 .btn:not(.gold){
  background:#111111!important;
  color:#ffffff!important;
}
.client-mode .client-dashboard-v113 .client-v113-action p,
.client-mode .client-dashboard-v113 .client-v113-metric small,
.client-mode .client-dashboard-v113 p{
  color:rgba(17,17,17,.68)!important;
}

/* Menú header blanco/dorado refinado */
.client-mode .client-header-menu-v119 summary{
  background:linear-gradient(135deg,#ffffff 0%,#fff7dc 58%,#f2c400 100%)!important;
  color:#111111!important;
  border:1px solid rgba(157,118,0,.35)!important;
}
.client-mode .client-header-dropdown-v119{
  background:linear-gradient(145deg,#ffffff 0%,#fffaf0 74%,#f8eab8 100%)!important;
  border:1px solid rgba(157,118,0,.22)!important;
}
.client-mode .client-header-dropdown-v119 button{
  background:#ffffff!important;
  color:#111111!important;
  border:1px solid rgba(157,118,0,.20)!important;
}
.client-mode .client-header-dropdown-v119 button:hover{
  background:linear-gradient(135deg,#f2c400,#d6a900)!important;
  color:#111111!important;
}

/* Móvil */
@media(max-width:680px){
  .client-mode .app{
    background:
      radial-gradient(circle at 80% -2%, rgba(242,196,0,.20), transparent 34%),
      linear-gradient(180deg,#ffffff 0%,#fffaf0 48%,#f6e7ad 100%)!important;
  }
  .client-mode .client-v113-hero,
  .client-mode .client-v118-carousel-shell,
  .client-mode .client-v113-card,
  .client-mode .client-v113-action,
  .client-mode .client-v113-metric{
    box-shadow:0 10px 24px rgba(23,20,12,.08), inset 0 1px 0 rgba(255,255,255,.96)!important;
  }
}


/* =====================================================================
   M4RTIAL V122 — Carrusel cliente con más espacio visual
   ===================================================================== */

/* El carrusel deja de sentirse comprimido: más aire, tarjetas más grandes y lectura clara */
.client-mode .client-v118-carousel-shell{
  padding:16px!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 10% 12%, rgba(242,196,0,.18), transparent 34%),
    linear-gradient(145deg,#ffffff 0%,#fff9e6 64%,#efd77c 100%)!important;
  border:1px solid rgba(157,118,0,.24)!important;
  box-shadow:
    0 20px 48px rgba(23,20,12,.12),
    inset 0 1px 0 rgba(255,255,255,.96)!important;
}

.client-mode .client-v118-carousel-head{
  margin-bottom:14px!important;
  padding:0 2px!important;
}

.client-mode .client-v118-carousel-head span{
  font-size:.70rem!important;
  color:#9d7600!important;
}

.client-mode .client-v118-carousel-head strong{
  font-size:1.08rem!important;
  color:#111!important;
}

/* Controles más limpios y separados */
.client-mode .client-v118-carousel-controls{
  gap:8px!important;
}

.client-mode .client-v118-carousel-controls button{
  width:36px!important;
  height:36px!important;
  background:#ffffff!important;
  color:#111!important;
  border:1px solid rgba(157,118,0,.26)!important;
  box-shadow:0 8px 18px rgba(23,20,12,.10)!important;
}

.client-mode .client-v118-carousel-controls button:hover{
  background:linear-gradient(135deg,#f2c400,#d6a900)!important;
  color:#111!important;
}

/* Más separación horizontal entre tarjetas */
.client-mode .client-v118-action-carousel{
  gap:18px!important;
  padding:4px 8px 14px!important;
  scroll-padding-left:8px!important;
}

/* Tarjetas más amplias: ya no intentan caber todas a la vez */
.client-mode .client-v118-action-carousel .client-v113-action{
  flex:0 0 clamp(220px,30vw,286px)!important;
  min-width:clamp(220px,30vw,286px)!important;
  min-height:172px!important;
  padding:18px!important;
  border-radius:24px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  background:
    radial-gradient(circle at 82% 12%, rgba(242,196,0,.24), transparent 32%),
    linear-gradient(145deg,#ffffff 0%,#fff8df 70%,#f3dd93 100%)!important;
  border:1px solid rgba(157,118,0,.24)!important;
  box-shadow:
    0 16px 34px rgba(23,20,12,.10),
    inset 0 1px 0 rgba(255,255,255,.96)!important;
}

.client-mode .client-v118-action-carousel .client-v113-action.primary{
  background:
    radial-gradient(circle at 82% 12%, rgba(242,196,0,.30), transparent 34%),
    linear-gradient(145deg,#fff8df 0%,#f2df9b 72%,#e4c252 100%)!important;
  border-color:rgba(157,118,0,.34)!important;
}

.client-mode .client-v118-action-carousel .client-v113-action-icon{
  width:42px!important;
  height:42px!important;
  border-radius:16px!important;
  font-size:1.10rem!important;
  background:linear-gradient(135deg,#f2c400,#d6a900)!important;
  color:#111!important;
  box-shadow:0 10px 22px rgba(157,118,0,.16)!important;
}

.client-mode .client-v118-action-carousel .client-v113-action h3{
  font-size:1.12rem!important;
  line-height:1.05!important;
  color:#111!important;
  margin:0!important;
}

.client-mode .client-v118-action-carousel .client-v113-action p{
  display:block!important;
  font-size:.86rem!important;
  line-height:1.35!important;
  color:rgba(17,17,17,.70)!important;
  margin:0!important;
  min-height:38px!important;
}

.client-mode .client-v118-action-carousel .client-v113-action .btn{
  margin-top:auto!important;
  min-height:38px!important;
  padding:9px 14px!important;
  font-size:.72rem!important;
  border-radius:999px!important;
}

/* Scrollbar más elegante */
.client-mode .client-v118-action-carousel::-webkit-scrollbar{
  height:7px!important;
}
.client-mode .client-v118-action-carousel::-webkit-scrollbar-track{
  background:rgba(17,17,17,.08)!important;
}
.client-mode .client-v118-action-carousel::-webkit-scrollbar-thumb{
  background:linear-gradient(90deg,#f2c400,#9d7600)!important;
}

/* En escritorio, el bloque lateral respira mejor con el carrusel amplio */
.client-v117-main-grid{
  grid-template-columns:minmax(0,1.28fr) minmax(285px,.48fr)!important;
  gap:16px!important;
}

/* Tablet: carrusel con tarjetas grandes pero manejable */
@media(max-width:980px){
  .client-v117-main-grid{
    grid-template-columns:1fr!important;
  }
  .client-mode .client-v118-action-carousel .client-v113-action{
    flex-basis:250px!important;
    min-width:250px!important;
    min-height:162px!important;
  }
}

/* Móvil: una tarjeta principal clara por vista, no comprimida */
@media(max-width:680px){
  .client-mode .client-v118-carousel-shell{
    padding:13px!important;
    border-radius:20px!important;
  }

  .client-mode .client-v118-carousel-head{
    margin-bottom:11px!important;
  }

  .client-mode .client-v118-carousel-head strong{
    font-size:.98rem!important;
  }

  .client-mode .client-v118-action-carousel{
    gap:12px!important;
    padding:3px 4px 12px!important;
  }

  .client-mode .client-v118-action-carousel .client-v113-action{
    flex:0 0 min(78vw,292px)!important;
    min-width:min(78vw,292px)!important;
    min-height:154px!important;
    padding:15px!important;
    border-radius:20px!important;
  }

  .client-mode .client-v118-action-carousel .client-v113-action-icon{
    width:38px!important;
    height:38px!important;
    border-radius:14px!important;
  }

  .client-mode .client-v118-action-carousel .client-v113-action h3{
    font-size:1rem!important;
  }

  .client-mode .client-v118-action-carousel .client-v113-action p{
    display:block!important;
    font-size:.78rem!important;
    line-height:1.28!important;
    min-height:32px!important;
  }

  .client-mode .client-v118-action-carousel .client-v113-action .btn{
    min-height:34px!important;
    padding:8px 12px!important;
  }
}

/* Muy estrecho: mantener lectura, no apretar */
@media(max-width:420px){
  .client-mode .client-v118-action-carousel .client-v113-action{
    flex-basis:82vw!important;
    min-width:82vw!important;
  }
}


/* =====================================================================
   M4RTIAL V123 — Área cliente mobile-first, visual y operativa
   ===================================================================== */

/* Barra inferior móvil: accesos principales siempre a mano */
.client-mobile-bottom-nav-v123{
  display:none;
}
@media(max-width:760px){
  .client-mode .app{
    padding-bottom:76px!important;
  }
  .client-mobile-bottom-nav-v123{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    z-index:5000!important;
    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    gap:6px!important;
    padding:7px!important;
    border-radius:22px!important;
    background:
      linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,248,223,.96) 62%,rgba(242,196,0,.88))!important;
    border:1px solid rgba(157,118,0,.20)!important;
    box-shadow:0 16px 42px rgba(23,20,12,.18), inset 0 1px 0 rgba(255,255,255,.95)!important;
    backdrop-filter:blur(12px)!important;
  }
  .client-mobile-bottom-nav-v123 button{
    min-height:48px!important;
    border:0!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.70)!important;
    color:#111!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    font-weight:950!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
    cursor:pointer!important;
  }
  .client-mobile-bottom-nav-v123 button span{
    color:#9d7600!important;
    font-size:1.05rem!important;
    line-height:1!important;
  }
  .client-mobile-bottom-nav-v123 button b{
    color:#111!important;
    font-size:.62rem!important;
    line-height:1!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
  }
}

/* Header móvil más limpio e intuitivo */
@media(max-width:760px){
  .client-header-white-v119,
  .client-landing-header-v112.client-header-white-v119{
    position:sticky!important;
    top:0!important;
    z-index:3000!important;
    min-height:56px!important;
    padding:0 12px!important;
    border-radius:0 0 18px 18px!important;
  }
  .client-header-white-v119 .client-header-logo-v112 img,
  .client-header-white-v119 .m4-centered-logo{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    max-width:34px!important;
    max-height:34px!important;
  }
  .client-header-white-v119 .client-header-menu-v119 summary{
    min-width:74px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 12px!important;
    font-size:.66rem!important;
  }
  .client-header-white-v119 .client-header-dropdown-v119{
    top:calc(100% + 9px)!important;
    min-width:126px!important;
    border-radius:16px!important;
  }
}

/* Dashboard móvil: primera pantalla clara, sin saturación */
@media(max-width:760px){
  .client-dashboard-v113{
    width:calc(100% - 16px)!important;
    padding:10px 0 18px!important;
  }

  .client-v113-hero{
    grid-template-columns:1fr!important;
    gap:9px!important;
    padding:13px!important;
    border-radius:20px!important;
  }

  .client-v113-hero h1{
    font-size:1.42rem!important;
    line-height:1!important;
    margin:4px 0 4px!important;
    letter-spacing:-.04em!important;
  }

  .client-v113-kicker{
    font-size:.62rem!important;
  }

  .client-v113-hero p{
    display:block!important;
    font-size:.78rem!important;
    line-height:1.22!important;
    max-width:100%!important;
  }

  .client-v113-pills{
    gap:5px!important;
    margin-top:8px!important;
  }

  .client-v113-pills span{
    font-size:.58rem!important;
    padding:4px 7px!important;
  }

  .client-v113-next{
    padding:10px!important;
    border-radius:16px!important;
  }

  .client-v113-next strong{
    font-size:.96rem!important;
  }

  .client-v113-next small{
    display:block!important;
    font-size:.72rem!important;
    line-height:1.15!important;
  }

  .client-v113-next .btn{
    min-height:34px!important;
    font-size:.66rem!important;
  }
}

/* Métricas móviles: 2x2 real, más legible que scroll horizontal */
@media(max-width:760px){
  .client-v113-metrics,
  .client-v113-metrics.no-session{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    overflow:visible!important;
    margin:8px 0!important;
    padding:0!important;
  }

  .client-v113-metric{
    min-width:0!important;
    min-height:70px!important;
    padding:9px!important;
    border-radius:16px!important;
  }

  .client-v113-metric span{
    font-size:.58rem!important;
    letter-spacing:.06em!important;
  }

  .client-v113-metric strong{
    font-size:.88rem!important;
    line-height:1.08!important;
  }

  .client-v113-metric small{
    display:none!important;
  }
}

/* Carrusel móvil: más claro, una tarjeta dominante, gesto intuitivo */
@media(max-width:760px){
  .client-v118-carousel-shell{
    padding:13px!important;
    border-radius:22px!important;
    margin-top:2px!important;
  }

  .client-v118-carousel-head{
    margin-bottom:12px!important;
  }

  .client-v118-carousel-head span{
    font-size:.62rem!important;
  }

  .client-v118-carousel-head strong{
    font-size:1rem!important;
  }

  .client-v118-carousel-controls button{
    width:32px!important;
    height:32px!important;
  }

  .client-v118-action-carousel{
    gap:14px!important;
    padding:2px 3px 13px!important;
    scroll-padding-left:3px!important;
  }

  .client-v118-action-carousel::after{
    content:"Desliza para ver más";
    flex:0 0 92px;
    min-width:92px;
    align-self:stretch;
    border-radius:18px;
    display:grid;
    place-items:center;
    padding:10px;
    color:#8a6700;
    font-size:.68rem;
    line-height:1.12;
    text-align:center;
    font-weight:900;
    background:rgba(255,255,255,.50);
    border:1px dashed rgba(157,118,0,.28);
  }

  .client-v118-action-carousel .client-v113-action{
    flex:0 0 min(82vw,310px)!important;
    min-width:min(82vw,310px)!important;
    min-height:168px!important;
    padding:17px!important;
    border-radius:23px!important;
  }

  .client-v118-action-carousel .client-v113-action-icon{
    width:42px!important;
    height:42px!important;
    border-radius:16px!important;
  }

  .client-v118-action-carousel .client-v113-action h3{
    font-size:1.08rem!important;
  }

  .client-v118-action-carousel .client-v113-action p{
    display:block!important;
    font-size:.80rem!important;
    line-height:1.32!important;
    min-height:38px!important;
  }

  .client-v118-action-carousel .client-v113-action .btn{
    min-height:38px!important;
    font-size:.70rem!important;
    padding:8px 13px!important;
  }
}

/* Avisos / sesión: legibles, pero no alargados */
@media(max-width:760px){
  .client-v117-main-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .client-v113-side{
    gap:8px!important;
  }

  .client-v113-card{
    padding:11px!important;
    border-radius:18px!important;
  }

  .client-v113-card:nth-child(2){
    display:block!important;
  }

  .client-v113-card-head span{
    font-size:.62rem!important;
  }

  .client-v113-row{
    padding:8px!important;
    border-radius:12px!important;
  }

  .client-v113-row strong{
    font-size:.78rem!important;
  }

  .client-v113-row span{
    font-size:.68rem!important;
    line-height:1.18!important;
  }
}

/* Formularios y secciones internas de cliente: botones tocables y lectura clara */
@media(max-width:760px){
  .client-mode .panel,
  .client-mode .card{
    border-radius:18px!important;
    padding:14px!important;
  }

  .client-mode input,
  .client-mode select,
  .client-mode textarea{
    min-height:44px!important;
    font-size:16px!important; /* evita zoom automático en iPhone */
    border-radius:14px!important;
  }

  .client-mode .btn,
  .client-mode button{
    min-height:42px!important;
    border-radius:999px!important;
  }

  .client-mode .grid,
  .client-mode .grid.two,
  .client-mode .grid.four{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
}


/* =====================================================================
   M4RTIAL V124 — estabilización responsive global app privada
   Prioridad: cliente mobile-first + admin estable
   ===================================================================== */

/* Base anti-rotura */
*,*::before,*::after{box-sizing:border-box!important;}
html,body,#app,.app{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}
img,svg,video,canvas,iframe{
  max-width:100%!important;
}
button,input,select,textarea{
  max-width:100%!important;
}
.app{
  min-height:100svh!important;
}

/* Contenedores generales */
.app > main,
.app > section,
.client-dashboard-v113,
.admin-dashboard,
.admin-page,
.panel,
.grid,
.list{
  max-width:100%!important;
  min-width:0!important;
}

/* Header global privado: evitar solapes en tamaños intermedios */
.m4-minimal-header{
  width:100%!important;
  max-width:100%!important;
  min-height:60px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:0 16px!important;
  overflow:visible!important;
  z-index:3000!important;
}
.m4-header-logo,
.client-header-logo-v112{
  min-width:0!important;
  max-width:70%!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.m4-header-logo img,
.client-header-logo-v112 img,
.logo,
.logo img{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  max-width:40px!important;
  max-height:40px!important;
  object-fit:contain!important;
  object-position:center!important;
}
.m4-header-logo span,
.client-header-logo-v112 span{
  max-width:160px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Menús privados: que no rompan en tablet/escritorio pequeño */
.m4-header-menu,
.client-header-actions-v112{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
}
.m4-header-menu select,
.m4-header-menu button,
.client-header-actions-v112 button,
.client-header-menu-v119 summary{
  white-space:nowrap!important;
}

/* Cliente: diseño blanco/dorado estable en todos los anchos */
.client-mode .app{
  background:
    radial-gradient(circle at 82% 0%, rgba(242,196,0,.20), transparent 34%),
    radial-gradient(circle at 8% 18%, rgba(214,169,0,.10), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#fffaf0 42%,#f6e7ad 100%)!important;
}
.client-dashboard-v113{
  width:min(1180px,calc(100% - 24px))!important;
  margin-inline:auto!important;
}
.client-v113-hero,
.client-v113-main-grid,
.client-v113-metrics,
.client-v118-carousel-shell,
.client-v113-side,
.client-v113-card,
.client-v113-action,
.client-v113-metric{
  min-width:0!important;
  max-width:100%!important;
}

/* Hero cliente: no debe partirse ni tapar contenido */
.client-v113-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1.2fr) minmax(260px,.55fr)!important;
  gap:14px!important;
  align-items:stretch!important;
}
.client-v113-hero h1{
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}
.client-v113-pills{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}
.client-v113-pills span{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Métricas: estables en 320-1440 */
.client-v113-metrics{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
.client-v113-metric strong,
.client-v113-metric span{
  overflow-wrap:anywhere!important;
}

/* Carrusel cliente: evitar tarjetas comprimidas y textos cortados */
.client-v118-carousel-shell{
  overflow:hidden!important;
}
.client-v118-action-carousel{
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x mandatory!important;
}
.client-v118-action-carousel .client-v113-action{
  scroll-snap-align:start!important;
  flex-shrink:0!important;
}
.client-v118-action-carousel .client-v113-action h3,
.client-v118-action-carousel .client-v113-action p{
  overflow-wrap:normal!important;
}

/* Paneles secundarios */
.client-v113-side{
  display:grid!important;
  gap:10px!important;
}
.client-v113-row{
  min-width:0!important;
}
.client-v113-row > div{
  min-width:0!important;
}
.client-v113-row span{
  overflow-wrap:anywhere!important;
}

/* Barra inferior móvil: que no tape acciones importantes */
.client-mobile-bottom-nav-v123{
  max-width:calc(100% - 20px)!important;
}
@media(max-width:760px){
  .client-mode .footer-note{
    padding-bottom:78px!important;
  }
}

/* Formularios privados */
.form,
form,
.form-grid,
.admin-form,
.registration-form{
  max-width:100%!important;
  min-width:0!important;
}
input,select,textarea{
  min-width:0!important;
}
.form input,
.form select,
.form textarea,
.admin-form input,
.admin-form select,
.admin-form textarea{
  width:100%!important;
}

/* Tablas y listados admin/cliente: scroll horizontal controlado, no rompe pantalla */
.table-wrap,
.admin-table-wrap,
.data-table-wrap,
.table-responsive,
.list,
.admin-list,
.panel:has(table){
  max-width:100%!important;
  overflow-x:auto!important;
}
table{
  max-width:100%!important;
  border-collapse:collapse!important;
}
td,th{
  overflow-wrap:anywhere!important;
}

/* Admin: estabilidad en portátil/tablet */
.admin-mode .grid,
.admin-mode .grid.two,
.admin-mode .grid.three,
.admin-mode .grid.four{
  max-width:100%!important;
  min-width:0!important;
}
.admin-mode .panel{
  min-width:0!important;
}
.admin-mode .m4-minimal-header{
  gap:10px!important;
}
.admin-mode .m4-header-menu{
  overflow-x:auto!important;
  scrollbar-width:none!important;
}
.admin-mode .m4-header-menu::-webkit-scrollbar{
  display:none!important;
}

/* Breakpoints revisados: 320, 375, 430, 500, 768, 820, 1024, 1280, 1440 */
@media(max-width:1280px){
  .client-dashboard-v113{
    width:min(1160px,calc(100% - 22px))!important;
  }
}
@media(max-width:1024px){
  .client-v113-hero,
  .client-v113-main-grid,
  .client-v117-main-grid{
    grid-template-columns:1fr!important;
  }
  .client-v113-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .admin-mode .grid.three,
  .admin-mode .grid.four,
  .grid.three,
  .grid.four{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:820px){
  .m4-minimal-header{
    min-height:58px!important;
    padding:0 12px!important;
  }
  .m4-header-logo span,
  .client-header-logo-v112 span{
    max-width:120px!important;
  }
  .admin-mode .m4-header-logo span{
    display:none!important;
  }
}
@media(max-width:768px){
  .grid,
  .grid.two,
  .grid.three,
  .grid.four,
  .admin-mode .grid,
  .admin-mode .grid.two,
  .admin-mode .grid.three,
  .admin-mode .grid.four{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .panel,
  .card{
    border-radius:18px!important;
  }
}
@media(max-width:500px){
  .client-dashboard-v113{
    width:calc(100% - 14px)!important;
  }
  .m4-header-logo span,
  .client-header-logo-v112 span{
    display:none!important;
  }
  .m4-header-logo,
  .client-header-logo-v112{
    max-width:48px!important;
  }
  .client-header-menu-v119 summary{
    min-width:72px!important;
  }
}
@media(max-width:430px){
  .client-v113-hero{
    padding:12px!important;
  }
  .client-v113-hero h1{
    font-size:1.34rem!important;
  }
  .client-v113-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .client-v113-metric{
    min-height:66px!important;
    padding:8px!important;
  }
  .client-v118-action-carousel .client-v113-action{
    flex-basis:82vw!important;
    min-width:82vw!important;
  }
}
@media(max-width:375px){
  .client-mobile-bottom-nav-v123{
    left:7px!important;
    right:7px!important;
    bottom:7px!important;
    max-width:calc(100% - 14px)!important;
    gap:4px!important;
    padding:6px!important;
  }
  .client-mobile-bottom-nav-v123 button{
    min-height:45px!important;
  }
  .client-mobile-bottom-nav-v123 button b{
    font-size:.56rem!important;
  }
}
@media(max-width:320px){
  .client-dashboard-v113{
    width:calc(100% - 10px)!important;
  }
  .client-v113-metrics{
    grid-template-columns:1fr!important;
  }
  .client-v118-action-carousel .client-v113-action{
    flex-basis:86vw!important;
    min-width:86vw!important;
  }
  .client-header-menu-v119 summary{
    min-width:64px!important;
    padding:0 9px!important;
  }
}

/* Login/registro: no romper en móviles bajos */
@media(max-width:760px){
  .login-only-clean,
  .clean-login-app,
  .auth-shell,
  .login-card,
  .register-card{
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  .login-card,
  .register-card,
  .panel{
    width:min(100%,calc(100vw - 18px))!important;
  }
}

/* Animaciones: evitar efectos que corten o generen pantalla blanca en móvil */
@media(max-width:760px){
  .m4rtial-private-public-intro,
  #m4rtial-private-public-intro{
    max-width:100vw!important;
    overflow:hidden!important;
  }
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}


/* =====================================================================
   M4RTIAL V127 — edición de reserva sin pantalla blanca
   ===================================================================== */
.trial-detail-page,
.trial-reservation-edit-page{
  width:min(1180px,calc(100% - 22px))!important;
  margin:0 auto!important;
  max-width:100%!important;
}
.trial-detail-card{
  max-width:100%!important;
  overflow:hidden!important;
}
.trial-detail-grid,
.trial-detail-edit-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:12px!important;
  max-width:100%!important;
}
.trial-detail-form input,
.trial-detail-form select,
.trial-detail-form textarea{
  width:100%!important;
  min-width:0!important;
}
.trial-detail-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}
@media(max-width:500px){
  .trial-detail-page{width:calc(100% - 14px)!important;}
  .trial-detail-grid,
  .trial-detail-edit-grid{grid-template-columns:1fr!important;}
  .trial-detail-actions{display:grid!important;grid-template-columns:1fr!important;}
  .trial-detail-actions .btn{width:100%!important;}
}


/* =====================================================================
   M4RTIAL V128 — eliminación global de pantallas blancas
   ===================================================================== */
html.m4-v109-loading #app,
html.m4-private-intro-running #app{
  opacity:1!important;
  visibility:visible!important;
  display:block!important;
}
html.m4-v109-loading body{
  background:#fffaf0!important;
}
.m4rtial-private-public-intro.is-hidden,
.m4rtial-launch-splash.is-hidden{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.m4-no-blank-fallback{
  width:min(920px,calc(100% - 24px));
  margin:28px auto;
  padding:22px;
  border-radius:24px;
  background:#fff;
  color:#111;
  border:1px solid rgba(17,17,17,.12);
  box-shadow:0 22px 60px rgba(0,0,0,.10);
}
.m4-no-blank-fallback h1{margin:0 0 8px;font-size:clamp(1.7rem,5vw,2.8rem);line-height:1;}
.m4-no-blank-fallback p{color:#6d6557;line-height:1.5;}
.m4-no-blank-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.m4-no-blank-actions a,
.m4-no-blank-actions button{
  min-height:42px;
  border-radius:999px;
  border:1px solid rgba(17,17,17,.16);
  background:#fff;
  color:#111;
  font-weight:900;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  cursor:pointer;
}
.m4-no-blank-actions .gold{background:linear-gradient(135deg,#fff5cb,#f2c400);border-color:rgba(214,169,0,.55);}
@media(max-width:520px){
  .m4-no-blank-actions{display:grid;grid-template-columns:1fr;}
  .m4-no-blank-actions a,.m4-no-blank-actions button{width:100%;}
}

/* =====================================================================
   M4RTIAL V129 — eliminación de sección de avisos
   ===================================================================== */
a[href="/avisos"],
a[href^="/avisos?"],
button[onclick*="/avisos"],
[data-section="avisos"],
[data-panel="avisos"],
[data-card="avisos"],
.avisos-section,
.notificaciones-section,
.admin-alerts-panel,
.client-alerts-panel{
  display:none!important;
}


/* =====================================================================
   M4RTIAL V130 — degradados visuales menos monótonos cliente/admin
   ===================================================================== */
:root{
  --m4-gold:#d6a900; --m4-gold-bright:#f2c400; --m4-gold-soft:#ffe78a;
  --m4-champagne:#fff4ce; --m4-ivory:#fffaf0; --m4-cream:#f7ecd0;
  --m4-copper:#b8871d; --m4-graphite:#17130c; --m4-ink:#111111;
  --m4-grad-client-bg: radial-gradient(circle at 12% 8%,rgba(255,231,138,.34),transparent 30%), radial-gradient(circle at 86% 2%,rgba(214,169,0,.20),transparent 34%), linear-gradient(180deg,#ffffff 0%,#fffaf0 44%,#f5e8bb 100%);
  --m4-grad-admin-bg: radial-gradient(circle at 8% 0%,rgba(242,196,0,.20),transparent 30%), radial-gradient(circle at 92% 12%,rgba(184,135,29,.16),transparent 32%), linear-gradient(180deg,#fffdf7 0%,#f8efd2 46%,#ead9a6 100%);
  --m4-grad-section-a: linear-gradient(145deg,rgba(255,255,255,.96) 0%,rgba(255,250,240,.92) 48%,rgba(255,231,138,.36) 100%);
  --m4-grad-section-b: radial-gradient(circle at 90% 0%,rgba(242,196,0,.22),transparent 34%), linear-gradient(145deg,rgba(255,255,255,.96),rgba(247,236,208,.90));
  --m4-grad-section-c: radial-gradient(circle at 0% 100%,rgba(214,169,0,.18),transparent 38%), linear-gradient(145deg,rgba(255,255,255,.95),rgba(255,244,206,.82));
  --m4-grad-section-dark: radial-gradient(circle at 92% 0%,rgba(242,196,0,.38),transparent 36%), linear-gradient(145deg,#211a0d 0%,#15120c 62%,#080806 100%);
  --m4-grad-button-primary: linear-gradient(135deg,#fff8de 0%,#ffe173 42%,#d6a900 100%);
  --m4-grad-button-secondary: linear-gradient(135deg,#ffffff 0%,#fff0b6 54%,#e7c650 100%);
  --m4-grad-button-soft: linear-gradient(135deg,#ffffff 0%,#fffaf0 42%,#f4df9d 100%);
  --m4-grad-button-dark: linear-gradient(135deg,#282015 0%,#11100d 55%,#4a3510 100%);
}
.client-mode .app, body.client-mode, .client-mode{background:var(--m4-grad-client-bg)!important;}
.admin-mode .app, body.admin-mode, .admin-mode{background:var(--m4-grad-admin-bg)!important;}
.client-mode .panel,.client-mode .card,.client-mode .client-v113-card,.client-mode .client-v113-hero,.client-mode .client-v113-action,.client-mode .client-v113-metric,.client-mode .client-v118-carousel-shell,
.admin-mode .panel,.admin-mode .card,.admin-mode .admin-card,.admin-mode .dashboard-card,.admin-mode .metric,.admin-mode .stat-card{
  background:var(--m4-grad-section-a)!important; border:1px solid rgba(143,105,16,.16)!important; box-shadow:0 18px 48px rgba(104,78,0,.10)!important;
}
.client-mode .client-v113-card:nth-of-type(3n+2),.client-mode .client-v113-action:nth-of-type(3n+2),.client-mode .client-v113-metric:nth-of-type(3n+2),.admin-mode .panel:nth-of-type(3n+2),.admin-mode .card:nth-of-type(3n+2),.admin-mode .dashboard-card:nth-of-type(3n+2){background:var(--m4-grad-section-b)!important;}
.client-mode .client-v113-card:nth-of-type(3n+3),.client-mode .client-v113-action:nth-of-type(3n+3),.client-mode .client-v113-metric:nth-of-type(3n+3),.admin-mode .panel:nth-of-type(3n+3),.admin-mode .card:nth-of-type(3n+3),.admin-mode .dashboard-card:nth-of-type(3n+3){background:var(--m4-grad-section-c)!important;}
.client-mode .client-v113-hero,.admin-mode .admin-hero,.admin-mode .hero-card{
  background:radial-gradient(circle at 82% 0%,rgba(242,196,0,.32),transparent 34%),radial-gradient(circle at 6% 100%,rgba(184,135,29,.13),transparent 36%),linear-gradient(145deg,#ffffff 0%,#fff8df 48%,#efd47b 100%)!important;
  border-color:rgba(184,135,29,.24)!important;
}
.client-mode .client-v113-action:nth-of-type(4n),.admin-mode .dashboard-card:nth-of-type(4n),.admin-mode .stat-card:nth-of-type(4n){background:var(--m4-grad-section-dark)!important;color:#fff!important;border-color:rgba(242,196,0,.28)!important;box-shadow:0 22px 60px rgba(23,19,12,.18)!important;}
.client-mode .client-v113-action:nth-of-type(4n) *,.admin-mode .dashboard-card:nth-of-type(4n) *,.admin-mode .stat-card:nth-of-type(4n) *{color:#fff!important;}
.client-mode .client-v113-action:nth-of-type(4n) strong,.admin-mode .dashboard-card:nth-of-type(4n) strong,.admin-mode .stat-card:nth-of-type(4n) strong{color:#ffe78a!important;}
.client-mode .btn,.admin-mode .btn,.client-mode button.btn,.admin-mode button.btn,.client-mode a.btn,.admin-mode a.btn{
  background:var(--m4-grad-button-soft)!important; color:#12100b!important; border:1px solid rgba(143,105,16,.20)!important; box-shadow:0 10px 24px rgba(104,78,0,.12)!important; transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.client-mode .btn.gold,.admin-mode .btn.gold,.client-mode .btn.primary,.admin-mode .btn.primary,.client-mode button[type="submit"],.admin-mode button[type="submit"],.client-mode .client-v113-action .btn,.admin-mode .panel .btn.gold{
  background:var(--m4-grad-button-primary)!important; color:#111!important; border-color:rgba(184,135,29,.34)!important; box-shadow:0 12px 28px rgba(168,126,0,.18)!important;
}
.client-mode .btn:nth-of-type(2n),.admin-mode .btn:nth-of-type(2n){background:var(--m4-grad-button-secondary)!important;}
.client-mode .btn:nth-of-type(3n),.admin-mode .btn:nth-of-type(3n){background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.85),transparent 28%),linear-gradient(135deg,#fffaf0 0%,#f2c400 100%)!important;}
.client-mode .btn.danger,.admin-mode .btn.danger,.client-mode button.danger,.admin-mode button.danger,.client-mode .danger,.admin-mode .danger{background:linear-gradient(135deg,#2a0f0f,#120909)!important;color:#fff!important;border-color:rgba(120,0,0,.42)!important;}
.client-mode .btn.dark,.admin-mode .btn.dark,.client-mode .btn.secondary-dark,.admin-mode .btn.secondary-dark{background:var(--m4-grad-button-dark)!important;color:#fff!important;border-color:rgba(242,196,0,.22)!important;}
.client-mode .btn:hover,.admin-mode .btn:hover{transform:translateY(-1px)!important;filter:saturate(1.04)!important;box-shadow:0 16px 34px rgba(104,78,0,.18)!important;}
.client-mobile-bottom-nav-v123{background:radial-gradient(circle at 12% 0%,rgba(255,231,138,.55),transparent 36%),linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,244,206,.94) 55%,rgba(242,196,0,.78))!important;border-color:rgba(184,135,29,.25)!important;box-shadow:0 18px 44px rgba(104,78,0,.20)!important;}
.client-mobile-bottom-nav-v123 button{background:rgba(255,255,255,.58)!important;border:1px solid rgba(143,105,16,.10)!important;}
.client-mobile-bottom-nav-v123 button:nth-child(2n){background:rgba(255,245,203,.72)!important;}
.client-mode input,.client-mode select,.client-mode textarea,.admin-mode input,.admin-mode select,.admin-mode textarea{background:linear-gradient(180deg,#fff,#fffaf0)!important;border-color:rgba(143,105,16,.18)!important;}
.client-mode input:focus,.client-mode select:focus,.client-mode textarea:focus,.admin-mode input:focus,.admin-mode select:focus,.admin-mode textarea:focus{border-color:rgba(214,169,0,.85)!important;box-shadow:0 0 0 4px rgba(242,196,0,.15)!important;}
.admin-mode table thead,.admin-mode .table-head,.admin-mode .list-head{background:linear-gradient(135deg,#fff7d8,#ecd079)!important;}
.admin-mode tr:nth-child(even),.admin-mode .list-row:nth-child(even){background:rgba(255,250,240,.72)!important;}
.admin-mode tr:nth-child(odd),.admin-mode .list-row:nth-child(odd){background:rgba(255,255,255,.86)!important;}
.client-mode .pill,.client-mode .badge,.client-mode .status-pill,.admin-mode .pill,.admin-mode .badge,.admin-mode .status-pill{background:linear-gradient(135deg,#15120c,#4a3510)!important;color:#fff!important;border:1px solid rgba(242,196,0,.24)!important;}
.client-mode .eyebrow,.admin-mode .eyebrow{background:linear-gradient(135deg,rgba(255,244,206,.95),rgba(242,196,0,.28))!important;color:#5f4900!important;border:1px solid rgba(214,169,0,.20)!important;}
@media(max-width:520px){
  .client-mode .panel,.client-mode .card,.client-mode .client-v113-card,.client-mode .client-v113-hero,.client-mode .client-v113-action,.client-mode .client-v113-metric,.admin-mode .panel,.admin-mode .card,.admin-mode .dashboard-card{box-shadow:0 12px 32px rgba(104,78,0,.09)!important;}
  .client-mode .btn:hover,.admin-mode .btn:hover{transform:none!important;}
}


/* =====================================================================
   M4RTIAL V131 — Menú móvil Liquid Glass tipo selector social
   Solo versión móvil. Adaptado a cliente y administrador.
   ===================================================================== */

/* El selector clásico se mantiene en escritorio */
.m4-liquid-header-selector{
  display:none;
}

/* Dock Liquid Glass móvil */
.m4-liquid-mobile-dock{
  display:none;
}

@media(max-width:760px){
  .app.client-mode,
  .app.admin-mode{
    padding-bottom:96px!important;
  }

  .footer-note{
    padding-bottom:94px!important;
  }

  /* Ocultar selector clásico en móvil para evitar monotonía visual */
  .admin-minimal-header .m4-menu-select,
  .client-minimal-header .m4-menu-select{
    display:none!important;
  }

  /* Selector superior líquido cuando el menú esté dentro del header */
  .m4-liquid-header-selector{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    max-width:calc(100vw - 86px)!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:5px!important;
    border-radius:999px!important;
    background:
      radial-gradient(circle at 18% 0%, rgba(255,255,255,.84), transparent 36%),
      linear-gradient(135deg,rgba(255,255,255,.48),rgba(255,244,206,.34) 48%,rgba(242,196,0,.18))!important;
    border:1px solid rgba(255,255,255,.50)!important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.72),
      0 12px 30px rgba(104,78,0,.12)!important;
    backdrop-filter:blur(18px) saturate(1.45)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.45)!important;
    scrollbar-width:none!important;
  }

  .m4-liquid-header-selector::-webkit-scrollbar{
    display:none!important;
  }

  .m4-liquid-header-chip{
    appearance:none!important;
    border:0!important;
    outline:0!important;
    min-width:48px!important;
    min-height:38px!important;
    padding:5px 9px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    background:rgba(255,255,255,.18)!important;
    color:#231b0e!important;
    font-weight:950!important;
    white-space:nowrap!important;
    position:relative!important;
    overflow:hidden!important;
    transition:transform .18s ease, background .18s ease, box-shadow .18s ease!important;
  }

  .m4-liquid-header-chip span{
    width:25px!important;
    height:25px!important;
    border-radius:50%!important;
    display:grid!important;
    place-items:center!important;
    background:rgba(255,255,255,.55)!important;
    border:1px solid rgba(143,105,16,.10)!important;
    font-size:13px!important;
    line-height:1!important;
  }

  .m4-liquid-header-chip b{
    display:none!important;
    font-size:.62rem!important;
    letter-spacing:-.02em!important;
  }

  .m4-liquid-header-chip.is-active{
    min-width:auto!important;
    padding-right:12px!important;
    background:
      radial-gradient(circle at 82% 12%, rgba(255,255,255,.82), transparent 28%),
      linear-gradient(135deg,#fff7d2,#f2c400)!important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.72),
      0 8px 18px rgba(168,126,0,.18)!important;
  }

  .m4-liquid-header-chip.is-active b{
    display:block!important;
  }

  /* Dock inferior estilo WhatsApp/Instagram adaptado a M4RTIAL */
  .m4-liquid-mobile-dock{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    z-index:4600!important;
    min-height:66px!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:6px!important;
    padding:7px!important;
    border-radius:28px!important;
    isolation:isolate!important;
    overflow:hidden!important;
    background:
      radial-gradient(circle at 12% 0%, rgba(255,255,255,.86), transparent 34%),
      radial-gradient(circle at 80% 110%, rgba(242,196,0,.40), transparent 40%),
      linear-gradient(135deg,rgba(255,255,255,.52),rgba(255,244,206,.32) 52%,rgba(214,169,0,.22))!important;
    border:1px solid rgba(255,255,255,.55)!important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.78),
      inset 0 -1px 0 rgba(143,105,16,.10),
      0 20px 50px rgba(23,19,12,.20)!important;
    backdrop-filter:blur(22px) saturate(1.55)!important;
    -webkit-backdrop-filter:blur(22px) saturate(1.55)!important;
  }

  .m4-liquid-mobile-dock::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:-2!important;
    background:
      linear-gradient(120deg,rgba(255,255,255,.42),transparent 42%,rgba(255,255,255,.22)),
      radial-gradient(circle at var(--m4-x,50%) 30%,rgba(255,255,255,.55),transparent 24%)!important;
    pointer-events:none!important;
  }

  .m4-liquid-mobile-dock::after{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    bottom:5px!important;
    width:38%!important;
    height:3px!important;
    transform:translateX(-50%)!important;
    border-radius:999px!important;
    background:rgba(17,17,17,.16)!important;
    pointer-events:none!important;
  }

  .m4-liquid-dock-glow{
    position:absolute!important;
    width:88px!important;
    height:88px!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    border-radius:50%!important;
    background:radial-gradient(circle,rgba(242,196,0,.20),transparent 64%)!important;
    filter:blur(4px)!important;
    z-index:-1!important;
    pointer-events:none!important;
  }

  .m4-liquid-tab{
    appearance:none!important;
    border:0!important;
    min-width:0!important;
    min-height:52px!important;
    border-radius:22px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    background:rgba(255,255,255,.16)!important;
    color:rgba(23,19,12,.78)!important;
    position:relative!important;
    overflow:hidden!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
    transition:
      transform .18s ease,
      background .18s ease,
      color .18s ease,
      box-shadow .18s ease!important;
  }

  .m4-liquid-tab::before{
    content:""!important;
    position:absolute!important;
    inset:4px!important;
    border-radius:19px!important;
    background:
      radial-gradient(circle at 30% 12%,rgba(255,255,255,.70),transparent 30%),
      linear-gradient(135deg,rgba(255,255,255,.28),rgba(255,244,206,.08))!important;
    opacity:.55!important;
    pointer-events:none!important;
  }

  .m4-liquid-icon{
    width:28px!important;
    height:28px!important;
    border-radius:999px!important;
    display:grid!important;
    place-items:center!important;
    background:rgba(255,255,255,.50)!important;
    border:1px solid rgba(143,105,16,.10)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.55)!important;
    font-size:15px!important;
    line-height:1!important;
    position:relative!important;
    z-index:2!important;
  }

  .m4-liquid-tab b{
    position:relative!important;
    z-index:2!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:.56rem!important;
    letter-spacing:-.02em!important;
    font-weight:950!important;
  }

  .m4-liquid-tab.is-active{
    color:#111!important;
    background:
      radial-gradient(circle at 82% 8%,rgba(255,255,255,.88),transparent 28%),
      linear-gradient(135deg,#fff8de 0%,#ffe173 48%,#d6a900 100%)!important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.80),
      0 10px 22px rgba(168,126,0,.22)!important;
    transform:translateY(-4px)!important;
  }

  .m4-liquid-tab.is-active .m4-liquid-icon{
    background:rgba(255,255,255,.76)!important;
    border-color:rgba(184,135,29,.20)!important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.92),
      0 6px 14px rgba(104,78,0,.12)!important;
  }

  .m4-liquid-tab:active{
    transform:scale(.96)!important;
  }

  .m4-liquid-tab.is-active:active{
    transform:translateY(-3px) scale(.98)!important;
  }

  /* Diferenciación sutil cliente/admin */
  .m4-liquid-mobile-dock.m4-liquid-admin{
    background:
      radial-gradient(circle at 12% 0%, rgba(255,255,255,.78), transparent 34%),
      radial-gradient(circle at 86% 110%, rgba(184,135,29,.38), transparent 42%),
      linear-gradient(135deg,rgba(255,255,255,.46),rgba(255,244,206,.28),rgba(23,19,12,.14))!important;
  }

  .m4-liquid-mobile-dock.m4-liquid-admin .m4-liquid-tab.is-active{
    background:
      radial-gradient(circle at 78% 10%,rgba(255,255,255,.80),transparent 28%),
      linear-gradient(135deg,#282015 0%,#4a3510 42%,#f2c400 100%)!important;
    color:#fff!important;
  }

  .m4-liquid-mobile-dock.m4-liquid-admin .m4-liquid-tab.is-active .m4-liquid-icon{
    color:#111!important;
  }

  /* El bottom nav anterior queda desactivado si alguna versión cacheada lo conserva */
  .client-mobile-bottom-nav-v123{
    display:none!important;
  }
}

@media(max-width:380px){
  .m4-liquid-mobile-dock{
    left:7px!important;
    right:7px!important;
    bottom:7px!important;
    min-height:62px!important;
    gap:4px!important;
    padding:6px!important;
    border-radius:24px!important;
  }

  .m4-liquid-tab{
    min-height:49px!important;
    border-radius:19px!important;
  }

  .m4-liquid-icon{
    width:25px!important;
    height:25px!important;
    font-size:13px!important;
  }

  .m4-liquid-tab b{
    font-size:.50rem!important;
  }
}

/* En escritorio no aparece nada del selector móvil */
@media(min-width:761px){
  .m4-liquid-mobile-dock,
  .m4-liquid-header-selector{
    display:none!important;
  }
}


/* =====================================================================
   M4RTIAL V132 — Menú Liquid Glass en parte inferior central
   ===================================================================== */

@media(max-width:760px){
  /* El selector líquido superior queda desactivado: solo menú inferior central */
  .m4-liquid-header-selector{
    display:none!important;
  }

  .m4-liquid-mobile-dock{
    left:50%!important;
    right:auto!important;
    bottom:14px!important;
    width:min(430px,calc(100vw - 22px))!important;
    max-width:430px!important;
    min-width:0!important;
    transform:translateX(-50%)!important;
    margin:0 auto!important;
    border-radius:30px!important;
  }

  .m4-liquid-mobile-dock.m4-liquid-admin{
    width:min(440px,calc(100vw - 22px))!important;
    max-width:440px!important;
  }

  .m4-liquid-mobile-dock::after{
    bottom:5px!important;
    width:34%!important;
  }

  .app.client-mode,
  .app.admin-mode{
    padding-bottom:104px!important;
  }

  .footer-note{
    padding-bottom:104px!important;
  }

  /* Las pantallas standalone de admin también dejan espacio inferior */
  body:has(.m4-liquid-mobile-dock){
    padding-bottom:96px!important;
  }
}

@media(max-width:430px){
  .m4-liquid-mobile-dock{
    bottom:10px!important;
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    border-radius:26px!important;
  }
}

@media(max-width:360px){
  .m4-liquid-mobile-dock{
    width:calc(100vw - 10px)!important;
    max-width:calc(100vw - 10px)!important;
    bottom:6px!important;
    gap:3px!important;
    padding:5px!important;
  }
}


/* =====================================================================
   M4RTIAL V133 — menú Liquid Glass fijo inferior central
   ===================================================================== */

@media(max-width:760px){
  html,
  body{
    overflow-x:hidden!important;
  }

  .m4-liquid-mobile-dock,
  .m4-liquid-mobile-dock.m4-liquid-fixed-bottom-center-v133,
  body > .m4-liquid-mobile-dock{
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:max(12px, env(safe-area-inset-bottom))!important;
    width:min(430px,calc(100vw - 22px))!important;
    max-width:430px!important;
    min-width:0!important;
    transform:translate3d(-50%,0,0)!important;
    margin:0!important;
    z-index:99999!important;
    will-change:transform!important;
    contain:layout paint!important;
  }

  body > .m4-liquid-mobile-dock.m4-liquid-admin{
    width:min(440px,calc(100vw - 22px))!important;
    max-width:440px!important;
  }

  .m4-has-fixed-liquid-dock-v133 body,
  .m4-has-fixed-liquid-dock-v133 .app.client-mode,
  .m4-has-fixed-liquid-dock-v133 .app.admin-mode{
    padding-bottom:112px!important;
  }

  .m4-has-fixed-liquid-dock-v133 .footer-note{
    padding-bottom:112px!important;
  }

  .m4-liquid-mobile-dock{
    pointer-events:auto!important;
  }
}

@media(max-width:430px){
  .m4-liquid-mobile-dock,
  body > .m4-liquid-mobile-dock{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    bottom:max(10px, env(safe-area-inset-bottom))!important;
  }
}

@media(max-width:360px){
  .m4-liquid-mobile-dock,
  body > .m4-liquid-mobile-dock{
    width:calc(100vw - 10px)!important;
    max-width:calc(100vw - 10px)!important;
    bottom:max(6px, env(safe-area-inset-bottom))!important;
  }
}

@media(min-width:761px){
  body > .m4-liquid-mobile-dock{
    display:none!important;
  }
}


/* =====================================================================
   M4RTIAL V134 — Intro logo una sola vez y animación más fluida
   ===================================================================== */

.m4rtial-private-public-intro.m4-intro-v134{
  background:#fffaf0!important;
  opacity:1;
  visibility:visible;
  pointer-events:none;
  transform:translate3d(0,0,0);
  backdrop-filter:blur(0px);
  -webkit-backdrop-filter:blur(0px);
}

.m4rtial-private-public-intro.m4-intro-v134.is-hidden{
  opacity:0!important;
  visibility:hidden!important;
  transition:
    opacity .52s cubic-bezier(.16,1,.3,1),
    visibility .52s ease!important;
}

.m4-intro-v134 .m4rtial-private-public-intro-bg{
  background:
    radial-gradient(circle at 50% 46%, rgba(255,231,138,.30), transparent 24%),
    radial-gradient(circle at 50% 46%, rgba(214,169,0,.16), transparent 45%),
    radial-gradient(circle at 18% 10%, rgba(255,255,255,.96), transparent 32%),
    linear-gradient(180deg,#ffffff 0%,#fffaf0 58%,#f6e8b8 100%)!important;
  transform:translate3d(0,0,0) scale(1);
}

.m4-intro-v134 .m4rtial-private-public-intro-orb{
  width:min(46vmin,430px)!important;
  height:min(46vmin,430px)!important;
  background:
    radial-gradient(circle, rgba(255,231,138,.36), rgba(242,196,0,.16) 42%, rgba(242,196,0,0) 74%)!important;
  filter:blur(8px)!important;
}

.m4-intro-v134 .m4rtial-private-public-intro-ring{
  border-color:rgba(214,169,0,.32)!important;
  box-shadow:
    inset 0 0 44px rgba(242,196,0,.10),
    0 0 56px rgba(242,196,0,.13)!important;
}

.m4-intro-v134 .m4rtial-private-public-intro-ring-soft{
  width:min(68vw,470px)!important;
  height:min(68vw,470px)!important;
  border-color:rgba(255,255,255,.56)!important;
  box-shadow:0 0 90px rgba(255,231,138,.16)!important;
}

.m4-intro-v134 .m4rtial-private-public-intro-logo-wrap{
  width:min(62vw,310px)!important;
  transform:translate3d(0,12px,0) scale(.92);
  filter:
    drop-shadow(0 28px 54px rgba(104,78,0,.18))
    drop-shadow(0 8px 18px rgba(214,169,0,.10))!important;
  transform-origin:center center!important;
}

.m4-intro-v134 .m4rtial-private-public-intro-logo{
  image-rendering:auto!important;
  -webkit-font-smoothing:antialiased;
  transform:translateZ(0);
  filter:saturate(1.04) contrast(1.01);
}

.m4-intro-v134 .m4rtial-private-public-intro-shine{
  width:min(72vw,390px)!important;
  height:min(72vw,390px)!important;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.72) 48%, transparent 100%)!important;
  filter:blur(7px)!important;
}

.m4rtial-private-public-intro.m4-intro-v134.play-full .m4rtial-private-public-intro-logo-wrap{
  animation:m4LogoToHeaderV134 2.08s cubic-bezier(.16,1,.3,1) forwards!important;
}
.m4rtial-private-public-intro.m4-intro-v134.play-full .m4rtial-private-public-intro-bg{
  animation:m4BgRevealV134 2.08s cubic-bezier(.16,1,.3,1) forwards!important;
}
.m4rtial-private-public-intro.m4-intro-v134.play-full .m4rtial-private-public-intro-orb{
  animation:m4OrbRevealV134 2.08s cubic-bezier(.16,1,.3,1) forwards!important;
}
.m4rtial-private-public-intro.m4-intro-v134.play-full .m4rtial-private-public-intro-ring{
  animation:m4RingRevealV134 2.08s cubic-bezier(.16,1,.3,1) forwards!important;
}
.m4rtial-private-public-intro.m4-intro-v134.play-full .m4rtial-private-public-intro-ring-soft{
  animation:m4RingSoftRevealV134 2.08s cubic-bezier(.16,1,.3,1) forwards!important;
}
.m4rtial-private-public-intro.m4-intro-v134.play-full .m4rtial-private-public-intro-shine{
  animation:m4ShineRevealV134 2.08s cubic-bezier(.16,1,.3,1) forwards!important;
}
.m4rtial-private-public-intro.m4-intro-v134.play-full .m4rtial-private-public-intro-portal{
  animation:m4PortalRevealV134 2.08s cubic-bezier(.16,1,.3,1) forwards!important;
}

@keyframes m4LogoToHeaderV134{
  0%{opacity:0;transform:translate3d(0,14px,0) scale(.90);}
  16%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  42%{opacity:1;transform:translate3d(0,0,0) scale(1.018);}
  68%{opacity:1;transform:translate3d(0,-14px,0) scale(.96);}
  86%{opacity:.72;transform:translate3d(0,-40px,0) scale(.72);}
  100%{opacity:0;transform:translate3d(0,-72px,0) scale(.48);}
}

@keyframes m4BgRevealV134{
  0%,46%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  74%{opacity:.52;transform:translate3d(0,0,0) scale(1.022);}
  100%{opacity:0;transform:translate3d(0,0,0) scale(1.045);}
}

@keyframes m4OrbRevealV134{
  0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.76);}
  18%{opacity:.88;transform:translate3d(-50%,-50%,0) scale(1);}
  58%{opacity:.68;transform:translate3d(-50%,-50%,0) scale(1.12);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.68);}
}

@keyframes m4RingRevealV134{
  0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.72);}
  20%{opacity:.92;transform:translate3d(-50%,-50%,0) scale(1);}
  60%{opacity:.46;transform:translate3d(-50%,-50%,0) scale(1.08);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.34);}
}

@keyframes m4RingSoftRevealV134{
  0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.66);}
  24%{opacity:.55;transform:translate3d(-50%,-50%,0) scale(.96);}
  72%{opacity:.24;transform:translate3d(-50%,-50%,0) scale(1.16);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.44);}
}

@keyframes m4ShineRevealV134{
  0%,18%{opacity:0;transform:translate3d(-128%,-64%,0) rotate(18deg);}
  30%{opacity:.62;}
  54%{opacity:0;transform:translate3d(32%,-30%,0) rotate(18deg);}
  100%{opacity:0;}
}

@keyframes m4PortalRevealV134{
  0%,54%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.08);box-shadow:0 0 0 120vmax #fffaf0;}
  60%{opacity:.72;}
  86%{opacity:.52;transform:translate3d(-50%,-50%,0) scale(7.4);box-shadow:0 0 0 120vmax rgba(255,250,240,.30);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(12.2);box-shadow:0 0 0 120vmax rgba(255,250,240,0);}
}

@media(max-width:860px){
  .m4-intro-v134 .m4rtial-private-public-intro-logo-wrap{
    width:min(68vw,280px)!important;
  }
  @keyframes m4LogoToHeaderV134{
    0%{opacity:0;transform:translate3d(0,14px,0) scale(.90);}
    16%{opacity:1;transform:translate3d(0,0,0) scale(1);}
    42%{opacity:1;transform:translate3d(0,0,0) scale(1.014);}
    72%{opacity:1;transform:translate3d(0,-12px,0) scale(.95);}
    88%{opacity:.66;transform:translate3d(0,-36px,0) scale(.70);}
    100%{opacity:0;transform:translate3d(0,-62px,0) scale(.46);}
  }
}

@media(prefers-reduced-motion:reduce){
  .m4rtial-private-public-intro.m4-intro-v134{
    display:none!important;
  }
}


/* =====================================================================
   M4RTIAL V135 — burbuja Liquid Glass desplazable del menú móvil
   ===================================================================== */
@media(max-width:760px){
  .m4-liquid-mobile-dock{
    --m4-bubble-x:7px;
    --m4-bubble-y:7px;
    --m4-bubble-w:calc((100% - 42px) / 5);
    --m4-bubble-h:52px;
    --m4-bubble-center:50%;
  }
  .m4-liquid-active-bubble{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:var(--m4-bubble-w)!important;
    height:var(--m4-bubble-h)!important;
    transform:translate3d(var(--m4-bubble-x),var(--m4-bubble-y),0)!important;
    z-index:0!important;
    border-radius:22px!important;
    opacity:0!important;
    pointer-events:none!important;
    background:
      radial-gradient(circle at 28% 18%, rgba(255,255,255,.96), transparent 28%),
      radial-gradient(circle at 76% 82%, rgba(255,231,138,.48), transparent 42%),
      linear-gradient(135deg, rgba(255,255,255,.62), rgba(255,244,206,.50) 42%, rgba(242,196,0,.44))!important;
    border:1px solid rgba(255,255,255,.72)!important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.92),
      inset 0 -8px 18px rgba(184,135,29,.10),
      0 12px 24px rgba(168,126,0,.18),
      0 0 34px rgba(242,196,0,.13)!important;
    backdrop-filter:blur(18px) saturate(1.65)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.65)!important;
    transition:
      transform .46s cubic-bezier(.18,.95,.22,1.18),
      width .46s cubic-bezier(.18,.95,.22,1.18),
      height .46s cubic-bezier(.18,.95,.22,1.18),
      opacity .20s ease!important;
  }
  .m4-liquid-bubble-ready .m4-liquid-active-bubble{opacity:1!important;}
  .m4-liquid-bubble-instant .m4-liquid-active-bubble{transition:none!important;}
  .m4-liquid-active-bubble::before{
    content:""!important;
    position:absolute!important;
    inset:4px!important;
    border-radius:19px!important;
    background:
      linear-gradient(120deg, rgba(255,255,255,.62), transparent 38%, rgba(255,255,255,.24)),
      radial-gradient(circle at 22% 12%, rgba(255,255,255,.78), transparent 30%)!important;
    opacity:.78!important;
    mix-blend-mode:screen!important;
  }
  .m4-liquid-active-bubble::after{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    bottom:5px!important;
    width:36%!important;
    height:3px!important;
    transform:translateX(-50%)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.60)!important;
    box-shadow:0 0 12px rgba(255,255,255,.38)!important;
  }
  .m4-liquid-dock-glow{
    left:var(--m4-bubble-center)!important;
    transition:left .48s cubic-bezier(.18,.95,.22,1.18), opacity .24s ease!important;
  }
  .m4-liquid-mobile-dock::before{
    background:
      linear-gradient(120deg,rgba(255,255,255,.42),transparent 42%,rgba(255,255,255,.22)),
      radial-gradient(circle at var(--m4-bubble-center) 38%,rgba(255,255,255,.54),transparent 24%),
      radial-gradient(circle at var(--m4-bubble-center) 74%,rgba(242,196,0,.18),transparent 34%)!important;
  }
  .m4-liquid-tab{
    z-index:2!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .m4-liquid-tab.is-active{
    background:transparent!important;
    box-shadow:none!important;
    transform:translateY(-5px)!important;
  }
  .m4-liquid-tab.is-active .m4-liquid-icon{
    transform:translateY(-1px) scale(1.06)!important;
    background:rgba(255,255,255,.80)!important;
    border-color:rgba(184,135,29,.26)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 8px 17px rgba(104,78,0,.15)!important;
  }
  .m4-liquid-tab.is-pressing .m4-liquid-icon{
    animation:m4LiquidIconPopV135 .42s cubic-bezier(.18,.95,.22,1.18) both!important;
  }
  .m4-liquid-mobile-dock.m4-liquid-admin .m4-liquid-active-bubble{
    background:
      radial-gradient(circle at 28% 18%, rgba(255,255,255,.72), transparent 28%),
      radial-gradient(circle at 76% 82%, rgba(242,196,0,.48), transparent 42%),
      linear-gradient(135deg, rgba(40,32,21,.88), rgba(74,53,16,.78) 42%, rgba(242,196,0,.56))!important;
    border-color:rgba(242,196,0,.30)!important;
  }
  .m4-liquid-mobile-dock.m4-liquid-admin .m4-liquid-tab.is-active{
    background:transparent!important;
    box-shadow:none!important;
    color:#fff!important;
  }
  .m4-liquid-mobile-dock.m4-liquid-admin .m4-liquid-tab.is-active .m4-liquid-icon{
    color:#111!important;
    background:rgba(255,255,255,.84)!important;
  }
}
@keyframes m4LiquidIconPopV135{
  0%{transform:translateY(0) scale(1);}
  44%{transform:translateY(-2px) scale(1.13);}
  100%{transform:translateY(-1px) scale(1.06);}
}
@media(prefers-reduced-motion:reduce){
  .m4-liquid-active-bubble,.m4-liquid-dock-glow,.m4-liquid-tab,.m4-liquid-tab .m4-liquid-icon{
    transition:none!important;
    animation:none!important;
  }
}


/* =====================================================================
   M4RTIAL V136 — diseño cliente/admin más minimalista, elegante y menos repetitivo
   ===================================================================== */

:root{
  --m4-v136-ink:#11100c;
  --m4-v136-muted:#716959;
  --m4-v136-border:rgba(54,43,18,.10);
  --m4-v136-border-strong:rgba(143,105,16,.18);
  --m4-v136-gold:#d6a900;
  --m4-v136-gold-pale:#fff1b8;
  --m4-v136-shadow:0 16px 42px rgba(62,45,0,.075);
  --m4-v136-shadow-soft:0 10px 28px rgba(62,45,0,.055);
}

.app.client-mode,
.app.admin-mode,
body.client-mode,
body.admin-mode{color:var(--m4-v136-ink)!important;}
.app.client-mode{background:radial-gradient(circle at 8% 0%, rgba(255,241,184,.34), transparent 30%),linear-gradient(180deg,#ffffff 0%,#fffdf8 45%,#f6ecd2 100%)!important;}
.app.admin-mode{background:radial-gradient(circle at 92% 2%, rgba(214,169,0,.16), transparent 28%),linear-gradient(180deg,#ffffff 0%,#fbf7ec 48%,#efe1bd 100%)!important;}

.client-mode .panel,.client-mode .card,.client-mode .hero,.client-mode .client-v113-card,.client-mode .client-v113-hero,.client-mode .client-v113-action,.client-mode .client-v113-metric,.client-mode .client-v118-carousel-shell,.client-mode .client-v121-section,.client-mode .client-v122-card,
.admin-mode .panel,.admin-mode .card,.admin-mode .hero,.admin-mode .admin-card,.admin-mode .dashboard-card,.admin-mode .metric,.admin-mode .stat-card,.admin-mode .list-card,.admin-mode .table-card{
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(255,253,248,.88))!important;
  border:1px solid var(--m4-v136-border)!important;
  box-shadow:var(--m4-v136-shadow-soft)!important;
  backdrop-filter:blur(10px) saturate(1.04)!important;
  -webkit-backdrop-filter:blur(10px) saturate(1.04)!important;
}

.client-mode .panel:nth-of-type(4n+1),.client-mode .card:nth-of-type(4n+1),.client-mode .client-v113-card:nth-of-type(4n+1),.client-mode .client-v113-action:nth-of-type(4n+1),.client-mode .client-v113-metric:nth-of-type(4n+1),
.admin-mode .panel:nth-of-type(4n+1),.admin-mode .card:nth-of-type(4n+1),.admin-mode .dashboard-card:nth-of-type(4n+1),.admin-mode .metric:nth-of-type(4n+1),.admin-mode .stat-card:nth-of-type(4n+1){background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,250,240,.90))!important;}
.client-mode .panel:nth-of-type(4n+2),.client-mode .card:nth-of-type(4n+2),.client-mode .client-v113-card:nth-of-type(4n+2),.client-mode .client-v113-action:nth-of-type(4n+2),.client-mode .client-v113-metric:nth-of-type(4n+2),
.admin-mode .panel:nth-of-type(4n+2),.admin-mode .card:nth-of-type(4n+2),.admin-mode .dashboard-card:nth-of-type(4n+2),.admin-mode .metric:nth-of-type(4n+2),.admin-mode .stat-card:nth-of-type(4n+2){background:radial-gradient(circle at 100% 0%, rgba(255,241,184,.22), transparent 30%),linear-gradient(145deg,rgba(255,255,255,.96),rgba(247,239,220,.86))!important;}
.client-mode .panel:nth-of-type(4n+3),.client-mode .card:nth-of-type(4n+3),.client-mode .client-v113-card:nth-of-type(4n+3),.client-mode .client-v113-action:nth-of-type(4n+3),.client-mode .client-v113-metric:nth-of-type(4n+3),
.admin-mode .panel:nth-of-type(4n+3),.admin-mode .card:nth-of-type(4n+3),.admin-mode .dashboard-card:nth-of-type(4n+3),.admin-mode .metric:nth-of-type(4n+3),.admin-mode .stat-card:nth-of-type(4n+3){background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(255,246,216,.82))!important;}
.client-mode .panel:nth-of-type(4n+4),.client-mode .card:nth-of-type(4n+4),.client-mode .client-v113-card:nth-of-type(4n+4),.client-mode .client-v113-action:nth-of-type(4n+4),.client-mode .client-v113-metric:nth-of-type(4n+4),
.admin-mode .panel:nth-of-type(4n+4),.admin-mode .card:nth-of-type(4n+4),.admin-mode .dashboard-card:nth-of-type(4n+4),.admin-mode .metric:nth-of-type(4n+4),.admin-mode .stat-card:nth-of-type(4n+4){background:radial-gradient(circle at 0% 100%, rgba(214,169,0,.12), transparent 30%),linear-gradient(145deg,rgba(255,255,255,.95),rgba(255,253,248,.88))!important;}

.client-mode .client-v113-hero,.client-mode .hero,.admin-mode .admin-hero,.admin-mode .hero,.admin-mode .hero-card{
  background:radial-gradient(circle at 88% 10%, rgba(214,169,0,.18), transparent 34%),linear-gradient(145deg,#ffffff 0%,#fffdf8 54%,#f4e7bd 100%)!important;
  border-color:var(--m4-v136-border-strong)!important;
  box-shadow:var(--m4-v136-shadow)!important;
}

.client-mode .client-v113-action:nth-of-type(4n),.admin-mode .dashboard-card:nth-of-type(4n),.admin-mode .stat-card:nth-of-type(4n){color:var(--m4-v136-ink)!important;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,250,240,.88))!important;border:1px solid var(--m4-v136-border)!important;}
.client-mode .client-v113-action:nth-of-type(4n) h1,.client-mode .client-v113-action:nth-of-type(4n) h2,.client-mode .client-v113-action:nth-of-type(4n) h3,.client-mode .client-v113-action:nth-of-type(4n) p,.client-mode .client-v113-action:nth-of-type(4n) span,
.admin-mode .dashboard-card:nth-of-type(4n) h1,.admin-mode .dashboard-card:nth-of-type(4n) h2,.admin-mode .dashboard-card:nth-of-type(4n) h3,.admin-mode .dashboard-card:nth-of-type(4n) p,.admin-mode .dashboard-card:nth-of-type(4n) span,
.admin-mode .stat-card:nth-of-type(4n) h1,.admin-mode .stat-card:nth-of-type(4n) h2,.admin-mode .stat-card:nth-of-type(4n) h3,.admin-mode .stat-card:nth-of-type(4n) p,.admin-mode .stat-card:nth-of-type(4n) span{color:inherit!important;}

.client-mode p,.client-mode small,.client-mode .muted,.admin-mode p,.admin-mode small,.admin-mode .muted{color:var(--m4-v136-muted)!important;}
.client-mode h1,.client-mode h2,.client-mode h3,.admin-mode h1,.admin-mode h2,.admin-mode h3{color:var(--m4-v136-ink)!important;letter-spacing:-.035em;}

.client-mode .btn,.admin-mode .btn,.client-mode button.btn,.admin-mode button.btn,.client-mode a.btn,.admin-mode a.btn{
  background:linear-gradient(180deg,#ffffff,#fffaf0)!important;
  color:var(--m4-v136-ink)!important;
  border:1px solid rgba(54,43,18,.14)!important;
  box-shadow:0 8px 20px rgba(62,45,0,.065)!important;
  font-weight:880!important;
}
.client-mode .btn.gold,.admin-mode .btn.gold,.client-mode .btn.primary,.admin-mode .btn.primary,.client-mode button[type="submit"],.admin-mode button[type="submit"]{
  background:linear-gradient(135deg,#fffdf8 0%,#fff1b8 48%,#e7c650 100%)!important;
  color:#15120c!important;
  border-color:rgba(143,105,16,.20)!important;
  box-shadow:0 10px 24px rgba(168,126,0,.12)!important;
}
.client-mode .actions .btn:nth-child(2n),.admin-mode .actions .btn:nth-child(2n),.client-mode .btn:nth-of-type(2n),.admin-mode .btn:nth-of-type(2n){background:linear-gradient(180deg,#ffffff,#f7efdc)!important;}
.client-mode .actions .btn:nth-child(3n),.admin-mode .actions .btn:nth-child(3n),.client-mode .btn:nth-of-type(3n),.admin-mode .btn:nth-of-type(3n){background:linear-gradient(135deg,#fffdf8,#f1d77b)!important;}
.client-mode .btn.danger,.admin-mode .btn.danger,.client-mode button.danger,.admin-mode button.danger,.client-mode .danger,.admin-mode .danger{background:linear-gradient(180deg,#271313,#140b0b)!important;color:#fff!important;border-color:rgba(120,0,0,.34)!important;box-shadow:0 8px 20px rgba(40,0,0,.14)!important;}

.client-mode .pill,.client-mode .badge,.client-mode .status-pill,.admin-mode .pill,.admin-mode .badge,.admin-mode .status-pill{background:linear-gradient(135deg,#17130c,#3d2c0f)!important;color:#fff!important;border:1px solid rgba(242,196,0,.16)!important;box-shadow:0 8px 18px rgba(23,19,12,.10)!important;}
.client-mode .eyebrow,.admin-mode .eyebrow{background:linear-gradient(135deg,rgba(255,253,248,.95),rgba(255,241,184,.58))!important;color:#6b5100!important;border:1px solid rgba(143,105,16,.14)!important;}

.client-mode input,.client-mode select,.client-mode textarea,.admin-mode input,.admin-mode select,.admin-mode textarea{background:#fffdf8!important;border:1px solid rgba(54,43,18,.13)!important;box-shadow:none!important;}
.client-mode input:focus,.client-mode select:focus,.client-mode textarea:focus,.admin-mode input:focus,.admin-mode select:focus,.admin-mode textarea:focus{border-color:rgba(214,169,0,.62)!important;box-shadow:0 0 0 4px rgba(214,169,0,.105)!important;}
.admin-mode table,.admin-mode .table,.admin-mode .list{border-color:var(--m4-v136-border)!important;}
.admin-mode table thead,.admin-mode .table-head,.admin-mode .list-head{background:linear-gradient(180deg,#fffdf8,#f7efdc)!important;color:var(--m4-v136-ink)!important;}
.admin-mode tr:nth-child(even),.admin-mode .list-row:nth-child(even){background:rgba(255,253,248,.78)!important;}
.admin-mode tr:nth-child(odd),.admin-mode .list-row:nth-child(odd){background:rgba(255,255,255,.88)!important;}

@media(max-width:760px){
  .m4-liquid-mobile-dock{background:radial-gradient(circle at 14% 0%, rgba(255,255,255,.72), transparent 34%),linear-gradient(135deg,rgba(255,255,255,.58),rgba(255,250,240,.42) 54%,rgba(214,169,0,.16))!important;border:1px solid rgba(255,255,255,.58)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.74),0 18px 44px rgba(23,19,12,.16)!important;}
  .m4-liquid-active-bubble{background:radial-gradient(circle at 28% 18%, rgba(255,255,255,.92), transparent 30%),linear-gradient(135deg,rgba(255,255,255,.64),rgba(255,241,184,.50),rgba(214,169,0,.28))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.90),0 10px 22px rgba(168,126,0,.14)!important;}
  .m4-liquid-mobile-dock.m4-liquid-admin .m4-liquid-active-bubble{background:radial-gradient(circle at 28% 18%, rgba(255,255,255,.60), transparent 30%),linear-gradient(135deg,rgba(35,28,17,.82),rgba(94,69,22,.58),rgba(214,169,0,.38))!important;}
}
@media(max-width:520px){
  .client-mode .panel,.client-mode .card,.client-mode .client-v113-card,.client-mode .client-v113-hero,.client-mode .client-v113-action,.client-mode .client-v113-metric,.admin-mode .panel,.admin-mode .card,.admin-mode .dashboard-card,.admin-mode .metric,.admin-mode .stat-card{box-shadow:0 10px 26px rgba(62,45,0,.055)!important;border-radius:20px!important;}
  .client-mode .btn,.admin-mode .btn{box-shadow:0 7px 16px rgba(62,45,0,.055)!important;}
}


/* =====================================================================
   M4RTIAL V137 — logotipo de carga solo una vez, más fluido y limpio
   ===================================================================== */

.m4rtial-private-public-intro.m4-intro-v134,
.m4rtial-private-public-intro.m4-intro-v137{
  background:#fffaf0!important;
  opacity:1;
  visibility:visible;
  pointer-events:none;
  transform:translate3d(0,0,0);
  contain:layout paint style;
}

.m4rtial-private-public-intro.m4-intro-v134.is-hidden,
.m4rtial-private-public-intro.m4-intro-v137.is-hidden{
  opacity:0!important;
  visibility:hidden!important;
  transition:
    opacity .56s cubic-bezier(.16,1,.3,1),
    visibility .56s ease!important;
}

.m4-intro-v134 .m4rtial-private-public-intro-bg,
.m4-intro-v137 .m4rtial-private-public-intro-bg{
  background:
    radial-gradient(circle at 50% 46%, rgba(255,235,156,.28), transparent 24%),
    radial-gradient(circle at 50% 46%, rgba(214,169,0,.12), transparent 46%),
    linear-gradient(180deg,#ffffff 0%,#fffaf0 62%,#f6e8b8 100%)!important;
  transform:translate3d(0,0,0) scale(1);
}

.m4-intro-v134 .m4rtial-private-public-intro-logo-wrap,
.m4-intro-v137 .m4rtial-private-public-intro-logo-wrap{
  width:min(60vw,300px)!important;
  transform:translate3d(0,14px,0) scale(.92);
  filter:
    drop-shadow(0 26px 54px rgba(104,78,0,.16))
    drop-shadow(0 8px 18px rgba(214,169,0,.10))!important;
  transform-origin:center center!important;
  will-change:transform,opacity,filter!important;
}

.m4-intro-v134 .m4rtial-private-public-intro-logo,
.m4-intro-v137 .m4rtial-private-public-intro-logo{
  image-rendering:auto!important;
  transform:translate3d(0,0,0);
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  filter:saturate(1.06) contrast(1.025)!important;
}

.m4-intro-v134 .m4rtial-private-public-intro-orb,
.m4-intro-v137 .m4rtial-private-public-intro-orb{
  width:min(45vmin,420px)!important;
  height:min(45vmin,420px)!important;
  background:radial-gradient(circle, rgba(255,231,138,.32), rgba(242,196,0,.13) 42%, rgba(242,196,0,0) 74%)!important;
  filter:blur(8px)!important;
}

.m4-intro-v134 .m4rtial-private-public-intro-ring,
.m4-intro-v137 .m4rtial-private-public-intro-ring{
  border-color:rgba(214,169,0,.30)!important;
  box-shadow:
    inset 0 0 42px rgba(242,196,0,.08),
    0 0 56px rgba(242,196,0,.11)!important;
}

.m4-intro-v134 .m4rtial-private-public-intro-ring-soft,
.m4-intro-v137 .m4rtial-private-public-intro-ring-soft{
  width:min(67vw,460px)!important;
  height:min(67vw,460px)!important;
  border-color:rgba(255,255,255,.58)!important;
  box-shadow:0 0 86px rgba(255,231,138,.14)!important;
}

.m4rtial-private-public-intro.m4-intro-v134.play-full .m4rtial-private-public-intro-logo-wrap,
.m4rtial-private-public-intro.m4-intro-v137.play-full .m4rtial-private-public-intro-logo-wrap{
  animation:m4LogoToHeaderV137 2.14s cubic-bezier(.16,1,.3,1) forwards!important;
}
.m4rtial-private-public-intro.m4-intro-v134.play-full .m4rtial-private-public-intro-bg,
.m4rtial-private-public-intro.m4-intro-v137.play-full .m4rtial-private-public-intro-bg{
  animation:m4BgRevealV137 2.14s cubic-bezier(.16,1,.3,1) forwards!important;
}
.m4rtial-private-public-intro.m4-intro-v134.play-full .m4rtial-private-public-intro-orb,
.m4rtial-private-public-intro.m4-intro-v137.play-full .m4rtial-private-public-intro-orb{
  animation:m4OrbRevealV137 2.14s cubic-bezier(.16,1,.3,1) forwards!important;
}
.m4rtial-private-public-intro.m4-intro-v134.play-full .m4rtial-private-public-intro-ring,
.m4rtial-private-public-intro.m4-intro-v137.play-full .m4rtial-private-public-intro-ring{
  animation:m4RingRevealV137 2.14s cubic-bezier(.16,1,.3,1) forwards!important;
}
.m4rtial-private-public-intro.m4-intro-v134.play-full .m4rtial-private-public-intro-shine,
.m4rtial-private-public-intro.m4-intro-v137.play-full .m4rtial-private-public-intro-shine{
  animation:m4ShineRevealV137 2.14s cubic-bezier(.16,1,.3,1) forwards!important;
}
.m4rtial-private-public-intro.m4-intro-v134.play-full .m4rtial-private-public-intro-portal,
.m4rtial-private-public-intro.m4-intro-v137.play-full .m4rtial-private-public-intro-portal{
  animation:m4PortalRevealV137 2.14s cubic-bezier(.16,1,.3,1) forwards!important;
}

@keyframes m4LogoToHeaderV137{
  0%{opacity:0;transform:translate3d(0,16px,0) scale(.91);filter:blur(.5px);}
  15%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0);}
  44%{opacity:1;transform:translate3d(0,0,0) scale(1.012);}
  72%{opacity:1;transform:translate3d(0,-10px,0) scale(.96);}
  88%{opacity:.64;transform:translate3d(0,-34px,0) scale(.72);}
  100%{opacity:0;transform:translate3d(0,-58px,0) scale(.52);}
}

@keyframes m4BgRevealV137{
  0%,48%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  76%{opacity:.48;transform:translate3d(0,0,0) scale(1.018);}
  100%{opacity:0;transform:translate3d(0,0,0) scale(1.04);}
}

@keyframes m4OrbRevealV137{
  0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.76);}
  18%{opacity:.82;transform:translate3d(-50%,-50%,0) scale(1);}
  60%{opacity:.58;transform:translate3d(-50%,-50%,0) scale(1.10);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.58);}
}

@keyframes m4RingRevealV137{
  0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.72);}
  20%{opacity:.88;transform:translate3d(-50%,-50%,0) scale(1);}
  64%{opacity:.38;transform:translate3d(-50%,-50%,0) scale(1.08);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.30);}
}

@keyframes m4ShineRevealV137{
  0%,18%{opacity:0;transform:translate3d(-128%,-64%,0) rotate(18deg);}
  31%{opacity:.52;}
  55%{opacity:0;transform:translate3d(28%,-30%,0) rotate(18deg);}
  100%{opacity:0;}
}

@keyframes m4PortalRevealV137{
  0%,56%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.08);box-shadow:0 0 0 120vmax #fffaf0;}
  62%{opacity:.62;}
  88%{opacity:.38;transform:translate3d(-50%,-50%,0) scale(7.2);box-shadow:0 0 0 120vmax rgba(255,250,240,.26);}
  100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(11.8);box-shadow:0 0 0 120vmax rgba(255,250,240,0);}
}

/* Regla defensiva: en asistencia y rutas internas no puede quedar el logo superpuesto */
body:has(.app.admin-mode) #m4rtial-private-public-intro.is-hidden,
body:has(.app.client-mode) #m4rtial-private-public-intro.is-hidden{
  display:none!important;
}

@media(max-width:860px){
  .m4-intro-v134 .m4rtial-private-public-intro-logo-wrap,
  .m4-intro-v137 .m4rtial-private-public-intro-logo-wrap{
    width:min(66vw,274px)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .m4rtial-private-public-intro.m4-intro-v134,
  .m4rtial-private-public-intro.m4-intro-v137{
    display:none!important;
  }
}


/* =====================================================================
   M4RTIAL V138 — cliente: menú Salir, dashboard simplificado e iconos SVG
   ===================================================================== */

.m4-svg-icon{
  width:1.15em;
  height:1.15em;
  display:block;
  color:currentColor;
}

.client-header-v138 .client-header-actions-v112{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
}

.client-exit-button-v138{
  min-height:42px!important;
  border-radius:999px!important;
  border:1px solid rgba(54,43,18,.12)!important;
  background:linear-gradient(180deg,#ffffff,#fffaf0)!important;
  color:#11100c!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  font-weight:900!important;
  box-shadow:0 8px 20px rgba(62,45,0,.07)!important;
}

.client-exit-button-v138 .m4-svg-icon{
  width:18px!important;
  height:18px!important;
}

.client-dashboard-v138{
  width:min(1160px,calc(100% - 24px));
  margin:0 auto;
  padding:12px 0 120px;
  display:grid;
  gap:14px;
}

.client-v138-carousel-first,
.client-v138-recommended,
.client-v138-plan-calendar,
.client-v138-calendar-card{
  border:1px solid rgba(54,43,18,.10);
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,253,248,.88));
  border-radius:26px;
  box-shadow:0 14px 36px rgba(62,45,0,.065);
  overflow:hidden;
}

.client-v138-carousel-first{
  padding:16px;
  background:
    radial-gradient(circle at 96% 0%, rgba(214,169,0,.12), transparent 34%),
    linear-gradient(145deg,#fff,#fffdf8 54%,#f7efdc);
}

.client-v138-section-head,
.client-v138-calendar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}

.client-v138-section-head span,
.client-v138-recommended span,
.client-v138-plan-summary span,
.client-v138-calendar-head span,
.client-v138-day span{
  display:block;
  color:#7a6c50;
  font-size:.72rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.10em;
}

.client-v138-section-head h1,
.client-v138-recommended h2,
.client-v138-calendar-head h2{
  margin:4px 0 0;
  color:#11100c;
  letter-spacing:-.045em;
  line-height:1;
}

.client-v138-section-head h1{
  font-size:clamp(1.65rem,5vw,2.8rem);
}

.client-v138-carousel{
  display:flex;
  gap:10px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:3px;
  scrollbar-width:none;
}

.client-v138-carousel::-webkit-scrollbar{
  display:none;
}

.client-v138-carousel-card{
  flex:0 0 min(76vw,250px);
  min-height:126px;
  scroll-snap-align:start;
  border-radius:22px;
  border:1px solid rgba(54,43,18,.10);
  background:linear-gradient(145deg,#fff,#fffaf0);
  padding:14px;
  display:grid;
  gap:12px;
  align-content:space-between;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(62,45,0,.055);
}

.client-v138-carousel-card:nth-child(2n){
  background:
    radial-gradient(circle at 100% 0%, rgba(255,241,184,.26), transparent 34%),
    linear-gradient(145deg,#fff,#f7efdc);
}

.client-v138-carousel-card:nth-child(3n){
  background:linear-gradient(155deg,#fff,#fff1b8);
}

.client-v138-carousel-card.primary{
  border-color:rgba(214,169,0,.28);
  background:
    radial-gradient(circle at 90% 0%, rgba(242,196,0,.18), transparent 36%),
    linear-gradient(145deg,#fff,#fff1b8);
}

.client-v138-card-icon,
.client-v138-recommended-icon{
  width:42px;
  height:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#fff,#fff1b8);
  color:#11100c;
  border:1px solid rgba(143,105,16,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}

.client-v138-card-icon .m4-svg-icon,
.client-v138-recommended-icon .m4-svg-icon{
  width:23px;
  height:23px;
}

.client-v138-carousel-card strong{
  display:block;
  font-size:1.02rem;
  color:#11100c;
}

.client-v138-carousel-card span{
  display:block;
  margin-top:4px;
  color:#716959;
  font-size:.88rem;
  line-height:1.35;
}

.client-v138-recommended{
  padding:16px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  background:
    radial-gradient(circle at 0% 100%, rgba(214,169,0,.10), transparent 32%),
    linear-gradient(145deg,#fff,#fffdf8);
}

.client-v138-recommended.primary{
  background:
    radial-gradient(circle at 100% 0%, rgba(214,169,0,.18), transparent 34%),
    linear-gradient(145deg,#fff,#fff1b8);
}

.client-v138-recommended p{
  margin:6px 0 0;
  color:#716959;
}

.client-v138-plan-calendar{
  padding:16px;
  display:grid;
  gap:14px;
  background:
    radial-gradient(circle at 100% 100%, rgba(214,169,0,.10), transparent 30%),
    linear-gradient(145deg,#fff,#fffdf8);
}

.client-v138-plan-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.client-v138-plan-summary article{
  border:1px solid rgba(54,43,18,.10);
  border-radius:22px;
  padding:14px;
  background:linear-gradient(145deg,#fff,#fffaf0);
}

.client-v138-plan-summary article:nth-child(2){
  background:
    radial-gradient(circle at 100% 0%, rgba(255,241,184,.26), transparent 34%),
    linear-gradient(145deg,#fff,#f7efdc);
}

.client-v138-plan-summary strong{
  display:block;
  margin-top:6px;
  color:#11100c;
  font-size:1.08rem;
}

.client-v138-plan-summary small{
  display:block;
  margin-top:4px;
  color:#716959;
  line-height:1.35;
}

.client-v138-calendar-card{
  padding:14px;
  box-shadow:none;
}

.client-v138-week-calendar{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
}

.client-v138-day{
  min-height:102px;
  border:1px solid rgba(54,43,18,.10);
  border-radius:18px;
  padding:10px;
  background:linear-gradient(180deg,#fff,#fffdf8);
}

.client-v138-day.has-class{
  background:
    radial-gradient(circle at 100% 0%, rgba(214,169,0,.13), transparent 36%),
    linear-gradient(180deg,#fff,#fffaf0);
}

.client-v138-day strong{
  display:block;
  margin-top:7px;
  color:#11100c;
  font-size:.88rem;
  line-height:1.18;
}

.client-v138-day em{
  display:block;
  margin-top:10px;
  color:#8b806e;
  font-size:.78rem;
  font-style:normal;
}

.client-v138-empty-calendar{
  grid-column:1/-1;
  border:1px solid rgba(54,43,18,.10);
  border-radius:18px;
  padding:14px;
  background:linear-gradient(145deg,#fff,#fffaf0);
}

.client-v138-empty-calendar strong{
  display:block;
  color:#11100c;
}

.client-v138-empty-calendar p{
  color:#716959;
  margin:5px 0 0;
}

/* Iconos del dock central sin emojis */
.m4-liquid-icon .m4-svg-icon{
  width:17px!important;
  height:17px!important;
}

.m4-liquid-tab.is-active .m4-liquid-icon .m4-svg-icon{
  width:18px!important;
  height:18px!important;
}

@media(max-width:760px){
  .client-dashboard-v138{
    width:calc(100% - 14px);
    padding-top:8px;
    gap:12px;
  }

  .client-header-v138 .m4-header-logo span{
    display:none;
  }

  .client-exit-button-v138{
    min-height:38px!important;
    padding:0 12px!important;
  }

  .client-v138-carousel-first,
  .client-v138-recommended,
  .client-v138-plan-calendar{
    border-radius:22px;
    padding:14px;
  }

  .client-v138-recommended{
    grid-template-columns:auto minmax(0,1fr);
  }

  .client-v138-recommended .btn{
    grid-column:1/-1;
    width:100%;
  }

  .client-v138-plan-summary{
    grid-template-columns:1fr;
  }

  .client-v138-week-calendar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .client-v138-day{
    min-height:92px;
  }
}

@media(max-width:380px){
  .client-v138-week-calendar{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   M4RTIAL V139 — sin zoom al escribir, autoguardado visual y carga fluida
   ===================================================================== */

/* Evita zoom automático de iOS/Android al enfocar campos */
input,
select,
textarea,
button{
  font-size:16px!important;
}

@media(max-width:900px){
  input,
  select,
  textarea{
    font-size:16px!important;
    line-height:1.35!important;
    transform:translateZ(0);
  }
}

/* Fondo estable para evitar parpadeo blanco entre cargas */
html,
body,
#app{
  background:#fffaf0!important;
}

.app.client-mode,
.app.admin-mode{
  animation:m4PageSmoothInV139 .24s cubic-bezier(.16,1,.3,1) both;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transform:translateZ(0);
}

@keyframes m4PageSmoothInV139{
  from{opacity:.985; transform:translate3d(0,3px,0);}
  to{opacity:1; transform:translate3d(0,0,0);}
}

html.m4-dashboard-loading-v139 #app{
  opacity:1!important;
  visibility:visible!important;
}

.m4-dashboard-warmload-v139{
  min-height:100svh;
  display:grid;
  align-content:start;
}

.m4-dashboard-warm-card-v139{
  width:min(680px,calc(100% - 28px));
  margin:22px auto;
  padding:24px;
  border-radius:26px;
  background:
    radial-gradient(circle at 90% 0%, rgba(214,169,0,.13), transparent 32%),
    linear-gradient(145deg,#fff,#fffaf0);
  border:1px solid rgba(54,43,18,.10);
  box-shadow:0 16px 42px rgba(62,45,0,.07);
}

.m4-dashboard-warm-logo-v139{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#fff,#fff1b8);
  border:1px solid rgba(143,105,16,.14);
  margin-bottom:14px;
}

.m4-dashboard-warm-logo-v139 img{
  width:38px;
  height:38px;
  object-fit:contain;
}

.m4-dashboard-warm-card-v139 h1{
  margin:0;
  font-size:clamp(1.8rem,5vw,3rem);
  letter-spacing:-.05em;
  line-height:.95;
}

.m4-dashboard-warm-card-v139 p{
  margin:8px 0 0;
  color:#716959;
}

/* Evita flash del dashboard antiguo por loaders/splash */
.m4rtial-launch-splash,
.m4rtial-private-public-intro.is-hidden{
  display:none!important;
}


/* =====================================================================
   M4RTIAL V140 — calendario admin estable + menú inferior solo móvil
   ===================================================================== */

@media(min-width:761px){
  .m4-liquid-mobile-dock,
  body > .m4-liquid-mobile-dock,
  .m4-standalone-liquid-dock-v132{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
    opacity:0!important;
    transform:none!important;
  }

  .m4-liquid-header-selector{
    display:none!important;
  }

  .m4-menu-select{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

  .app.client-mode,
  .app.admin-mode,
  .footer-note{
    padding-bottom:24px!important;
  }
}

@media(max-width:760px){
  .m4-menu-select{
    display:none!important;
  }
}


/* =====================================================================
   M4RTIAL V141 — dashboard admin actualizado con clientes GoCardless CSV
   ===================================================================== */
.billing-sync-box-v141{
  background:
    radial-gradient(circle at 100% 0%, rgba(214,169,0,.16), transparent 34%),
    linear-gradient(145deg,#fff,#fff1b8)!important;
  border-color:rgba(143,105,16,.20)!important;
}
.billing-sync-box-v141 strong{
  letter-spacing:-.05em!important;
}


/* =====================================================================
   M4RTIAL V142 — admin escritorio con desplegable superior derecho
   y Liquid Glass inferior solo móvil
   ===================================================================== */

.admin-header-v142{
  position:sticky!important;
  top:0!important;
  z-index:5000!important;
}

.admin-header-menu-v142{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
}

.admin-desktop-dropdown-v142{
  position:relative!important;
  display:block!important;
  z-index:5200!important;
}

.admin-desktop-dropdown-v142 summary{
  list-style:none!important;
  min-height:44px!important;
  border-radius:999px!important;
  padding:0 15px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  cursor:pointer!important;
  color:#11100c!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(214,169,0,.14), transparent 34%),
    linear-gradient(180deg,#ffffff,#fffaf0)!important;
  border:1px solid rgba(54,43,18,.13)!important;
  box-shadow:0 10px 26px rgba(62,45,0,.08)!important;
  font-weight:950!important;
}

.admin-desktop-dropdown-v142 summary::-webkit-details-marker{
  display:none!important;
}

.admin-desktop-dropdown-v142 summary::after{
  content:"";
  width:7px;
  height:7px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  opacity:.68;
  margin-left:2px;
}

.admin-desktop-dropdown-v142[open] summary::after{
  transform:rotate(225deg) translateY(-1px);
}

.admin-desktop-dropdown-v142 summary .m4-svg-icon{
  width:18px!important;
  height:18px!important;
}

.admin-desktop-dropdown-panel-v142{
  position:absolute!important;
  right:0!important;
  top:calc(100% + 10px)!important;
  width:min(300px,calc(100vw - 28px))!important;
  padding:8px!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(214,169,0,.12), transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,250,240,.94))!important;
  border:1px solid rgba(54,43,18,.12)!important;
  box-shadow:0 22px 54px rgba(23,19,12,.18)!important;
  backdrop-filter:blur(18px) saturate(1.12)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12)!important;
}

.admin-desktop-option-v142{
  width:100%!important;
  min-height:44px!important;
  border:0!important;
  background:transparent!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  padding:0 10px!important;
  border-radius:16px!important;
  color:#11100c!important;
  font-weight:900!important;
  text-align:left!important;
  cursor:pointer!important;
  box-shadow:none!important;
}

.admin-desktop-option-v142:hover,
.admin-desktop-option-v142.is-active{
  background:
    linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,241,184,.54))!important;
}

.admin-desktop-option-icon-v142{
  width:30px!important;
  height:30px!important;
  border-radius:12px!important;
  display:grid!important;
  place-items:center!important;
  color:#11100c!important;
  background:linear-gradient(145deg,#fff,#fff1b8)!important;
  border:1px solid rgba(143,105,16,.13)!important;
}

.admin-desktop-option-icon-v142 .m4-svg-icon{
  width:17px!important;
  height:17px!important;
}

@media(min-width:761px){
  html.m4-desktop-classic-menu-v142 .m4-liquid-mobile-dock,
  html.m4-desktop-classic-menu-v142 body > .m4-liquid-mobile-dock,
  html.m4-desktop-classic-menu-v142 .m4-standalone-liquid-dock-v132,
  .m4-liquid-mobile-dock,
  body > .m4-liquid-mobile-dock,
  .m4-standalone-liquid-dock-v132{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    width:0!important;
    height:0!important;
    overflow:hidden!important;
    position:absolute!important;
    left:-9999px!important;
    bottom:auto!important;
    transform:none!important;
    z-index:-1!important;
  }

  .admin-mobile-menu-holder-v142,
  .admin-mobile-menu-holder-v142 .m4-menu-select,
  .admin-mobile-menu-holder-v142 .m4-liquid-header-selector{
    display:none!important;
  }

  .admin-desktop-dropdown-v142{
    display:block!important;
  }

  .admin-header-v142 .m4-header-logo{
    flex:0 0 auto!important;
  }
}

@media(max-width:760px){
  .admin-desktop-dropdown-v142{
    display:none!important;
  }

  .admin-mobile-menu-holder-v142{
    display:none!important;
  }

  html.m4-mobile-liquid-menu-v142 .m4-liquid-mobile-dock{
    display:grid!important;
  }
}


/* =====================================================================
   M4RTIAL V143 — menú Liquid Glass solo en móvil real, no en escritorio estrecho
   ===================================================================== */

.m4-liquid-mobile-dock,
body > .m4-liquid-mobile-dock,
.m4-standalone-liquid-dock-v132{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

html.m4-real-desktop-menu-v143 .m4-liquid-mobile-dock,
html.m4-real-desktop-menu-v143 body > .m4-liquid-mobile-dock,
html.m4-real-desktop-menu-v143 .m4-standalone-liquid-dock-v132{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  width:0!important;
  height:0!important;
  overflow:hidden!important;
  position:absolute!important;
  left:-99999px!important;
  bottom:auto!important;
  z-index:-1!important;
}

html.m4-real-desktop-menu-v143 .admin-desktop-dropdown-v142,
html.m4-real-desktop-menu-v143 .admin-standalone-dropdown-v142{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

html.m4-real-desktop-menu-v143 .admin-mobile-menu-holder-v142,
html.m4-real-desktop-menu-v143 .admin-mobile-menu-holder-v142 .m4-menu-select,
html.m4-real-desktop-menu-v143 .admin-mobile-menu-holder-v142 .m4-liquid-header-selector{
  display:none!important;
}

@media (hover:hover), (pointer:fine){
  .m4-liquid-mobile-dock,
  body > .m4-liquid-mobile-dock,
  .m4-standalone-liquid-dock-v132{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    width:0!important;
    height:0!important;
    overflow:hidden!important;
    position:absolute!important;
    left:-99999px!important;
    bottom:auto!important;
    z-index:-1!important;
  }

  .admin-desktop-dropdown-v142,
  .admin-standalone-dropdown-v142{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
}

@media(max-width:760px) and (hover:none) and (pointer:coarse){
  html.m4-real-mobile-menu-v143 .m4-liquid-mobile-dock,
  html.m4-real-mobile-menu-v143 body > .m4-liquid-mobile-dock,
  html.m4-real-mobile-menu-v143 .m4-standalone-liquid-dock-v132{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    width:min(430px,calc(100vw - 22px))!important;
    height:auto!important;
    overflow:visible!important;
    position:fixed!important;
    left:50%!important;
    bottom:max(12px, env(safe-area-inset-bottom))!important;
    z-index:99999!important;
  }

  html.m4-real-mobile-menu-v143 .admin-desktop-dropdown-v142,
  html.m4-real-mobile-menu-v143 .admin-standalone-dropdown-v142{
    display:none!important;
  }
}

@media(max-width:760px) and (hover:hover), (max-width:760px) and (pointer:fine){
  .m4-liquid-mobile-dock,
  body > .m4-liquid-mobile-dock,
  .m4-standalone-liquid-dock-v132{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    width:0!important;
    height:0!important;
    overflow:hidden!important;
    position:absolute!important;
    left:-99999px!important;
    bottom:auto!important;
    z-index:-1!important;
  }

  .admin-desktop-dropdown-v142,
  .admin-standalone-dropdown-v142{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
}


/* =====================================================================
   M4RTIAL V144 — desplegable admin visible y botón rediseñado
   ===================================================================== */

/* Corrige reglas antiguas que ocultaban .admin-minimal-header */
.admin-mode .admin-header-v142,
.admin-header-v142.admin-minimal-header,
.m4-minimal-header.admin-header-v142{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center!important;
  justify-content:space-between!important;
  overflow:visible!important;
  position:sticky!important;
  top:0!important;
  z-index:9000!important;
  min-height:72px!important;
  padding:10px 18px!important;
  background:
    linear-gradient(180deg,rgba(255,250,240,.94),rgba(255,250,240,.70))!important;
  backdrop-filter:blur(14px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(14px) saturate(1.08)!important;
}

.admin-header-v142 .m4-header-logo{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 0 auto!important;
}

.admin-header-v142 .m4-centered-logo{
  width:58px!important;
  height:58px!important;
}

.admin-header-menu-v142{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  margin-left:auto!important;
  overflow:visible!important;
  position:relative!important;
  z-index:9200!important;
}

/* Oculta versiones antiguas del dropdown para evitar conflicto */
.admin-desktop-dropdown-v142{
  display:none!important;
}

/* Nuevo botón */
.admin-desktop-dropdown-v144{
  position:relative!important;
  display:block!important;
  z-index:9500!important;
}

.admin-desktop-trigger-v144{
  min-height:50px!important;
  border:0!important;
  border-radius:20px!important;
  padding:6px 10px 6px 7px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  color:#fff!important;
  cursor:pointer!important;
  background:
    radial-gradient(circle at 88% 0%, rgba(242,196,0,.32), transparent 42%),
    linear-gradient(135deg,#17130c 0%,#3b2b0f 56%,#11100c 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 14px 34px rgba(23,19,12,.24)!important;
  font-family:inherit!important;
}

.admin-desktop-trigger-v144:hover,
.admin-desktop-dropdown-v144.is-open .admin-desktop-trigger-v144{
  transform:translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 18px 42px rgba(23,19,12,.28)!important;
}

.admin-desktop-trigger-icon-v144{
  width:38px!important;
  height:38px!important;
  border-radius:15px!important;
  display:grid!important;
  place-items:center!important;
  color:#11100c!important;
  background:
    radial-gradient(circle at 30% 18%, rgba(255,255,255,.95), transparent 30%),
    linear-gradient(145deg,#fff,#f2c400)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.90),
    0 8px 20px rgba(214,169,0,.18)!important;
}

.admin-desktop-trigger-icon-v144 .m4-svg-icon{
  width:20px!important;
  height:20px!important;
}

.admin-desktop-trigger-copy-v144{
  display:grid!important;
  gap:1px!important;
  text-align:left!important;
  line-height:1!important;
  min-width:92px!important;
}

.admin-desktop-trigger-copy-v144 small{
  display:block!important;
  color:rgba(255,255,255,.62)!important;
  font-size:.62rem!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.10em!important;
}

.admin-desktop-trigger-copy-v144 b{
  display:block!important;
  color:#fff!important;
  font-size:.92rem!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
}

.admin-desktop-trigger-chevron-v144{
  width:8px!important;
  height:8px!important;
  border-right:2px solid rgba(255,255,255,.82)!important;
  border-bottom:2px solid rgba(255,255,255,.82)!important;
  transform:rotate(45deg) translateY(-2px)!important;
  margin-left:3px!important;
  transition:transform .22s ease!important;
}

.admin-desktop-dropdown-v144.is-open .admin-desktop-trigger-chevron-v144{
  transform:rotate(225deg) translateY(-1px)!important;
}

/* Panel visible con JS */
.admin-desktop-dropdown-panel-v144{
  position:absolute!important;
  right:0!important;
  top:calc(100% + 12px)!important;
  width:min(312px,calc(100vw - 28px))!important;
  padding:10px!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(214,169,0,.14), transparent 36%),
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,250,240,.96))!important;
  border:1px solid rgba(54,43,18,.12)!important;
  box-shadow:0 24px 60px rgba(23,19,12,.22)!important;
  backdrop-filter:blur(18px) saturate(1.15)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.15)!important;
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  transform:translateY(-6px) scale(.98)!important;
  transform-origin:top right!important;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease!important;
}

.admin-desktop-dropdown-v144.is-open .admin-desktop-dropdown-panel-v144{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
}

.admin-desktop-dropdown-title-v144{
  padding:7px 9px 9px!important;
  color:#7a6c50!important;
  font-size:.68rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
}

.admin-desktop-option-v144{
  width:100%!important;
  min-height:46px!important;
  border:0!important;
  border-radius:17px!important;
  background:transparent!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  padding:0 9px!important;
  color:#11100c!important;
  font-weight:920!important;
  text-align:left!important;
  cursor:pointer!important;
  box-shadow:none!important;
  font-family:inherit!important;
}

.admin-desktop-option-v144:hover,
.admin-desktop-option-v144.is-active{
  background:
    radial-gradient(circle at 100% 0%, rgba(214,169,0,.13), transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.80),rgba(255,241,184,.58))!important;
}

.admin-desktop-option-v144.is-logout{
  margin-top:6px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#21130f,#140b0b)!important;
}

.admin-desktop-option-icon-v144{
  width:32px!important;
  height:32px!important;
  flex:0 0 32px!important;
  border-radius:13px!important;
  display:grid!important;
  place-items:center!important;
  color:#11100c!important;
  background:linear-gradient(145deg,#fff,#fff1b8)!important;
  border:1px solid rgba(143,105,16,.13)!important;
}

.admin-desktop-option-v144.is-logout .admin-desktop-option-icon-v144{
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.18)!important;
}

.admin-desktop-option-icon-v144 .m4-svg-icon{
  width:17px!important;
  height:17px!important;
}

.admin-desktop-option-text-v144{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Escritorio: desplegable visible, dock inferior fuera */
@media(min-width:761px), (hover:hover), (pointer:fine){
  .admin-desktop-dropdown-v144{
    display:block!important;
  }

  .m4-liquid-mobile-dock,
  body > .m4-liquid-mobile-dock,
  .m4-standalone-liquid-dock-v132{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}

/* Móvil real: se usa dock inferior, no dropdown superior */
@media(max-width:760px) and (hover:none) and (pointer:coarse){
  .admin-desktop-dropdown-v144{
    display:none!important;
  }
}


/* =====================================================================
   M4RTIAL V145 — corrección función global desplegable admin
   ===================================================================== */

.admin-desktop-dropdown-v144{
  display:block!important;
}

.admin-desktop-dropdown-v144.is-open .admin-desktop-dropdown-panel-v144{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

.admin-desktop-trigger-v144{
  outline:none!important;
}

.admin-desktop-trigger-v144:focus-visible{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 0 0 4px rgba(214,169,0,.22),
    0 18px 42px rgba(23,19,12,.28)!important;
}


/* =====================================================================
   M4RTIAL V146 — desplegable admin funcional con portal fijo en body
   ===================================================================== */

.admin-desktop-dropdown-v144,
.admin-desktop-dropdown-panel-v144,
.admin-desktop-dropdown-v142,
.admin-desktop-dropdown-panel-v142{
  display:none!important;
}

.admin-desktop-dropdown-v146{
  position:relative!important;
  display:block!important;
  z-index:9600!important;
}

.admin-desktop-trigger-v146{
  min-height:48px!important;
  border:0!important;
  border-radius:18px!important;
  padding:6px 10px 6px 7px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  color:#fff!important;
  cursor:pointer!important;
  background:
    linear-gradient(135deg,#15110b 0%,#30230d 58%,#11100c 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 12px 30px rgba(23,19,12,.22)!important;
  font-family:inherit!important;
  transition:transform .18s ease, box-shadow .18s ease!important;
}

.admin-desktop-trigger-v146:hover,
.admin-desktop-dropdown-v146.is-open .admin-desktop-trigger-v146{
  transform:translateY(-1px)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 17px 38px rgba(23,19,12,.27)!important;
}

.admin-desktop-trigger-icon-v146{
  width:36px!important;
  height:36px!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  color:#11100c!important;
  background:
    radial-gradient(circle at 30% 18%, rgba(255,255,255,.96), transparent 30%),
    linear-gradient(145deg,#fff,#f2c400)!important;
}

.admin-desktop-trigger-icon-v146 .m4-svg-icon{
  width:19px!important;
  height:19px!important;
}

.admin-desktop-trigger-copy-v146{
  display:grid!important;
  gap:1px!important;
  text-align:left!important;
  line-height:1!important;
  min-width:92px!important;
}

.admin-desktop-trigger-copy-v146 small{
  color:rgba(255,255,255,.62)!important;
  font-size:.61rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.10em!important;
}

.admin-desktop-trigger-copy-v146 b{
  color:#fff!important;
  font-size:.91rem!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
}

.admin-desktop-trigger-chevron-v146{
  width:8px!important;
  height:8px!important;
  border-right:2px solid rgba(255,255,255,.82)!important;
  border-bottom:2px solid rgba(255,255,255,.82)!important;
  transform:rotate(45deg) translateY(-2px)!important;
  margin-left:2px!important;
  transition:transform .18s ease!important;
}

.admin-desktop-dropdown-v146.is-open .admin-desktop-trigger-chevron-v146{
  transform:rotate(225deg) translateY(-1px)!important;
}

/* Portal real en body: no depende de overflow del header */
.admin-portal-dropdown-v146{
  position:fixed!important;
  z-index:2147483000!important;
  display:block!important;
  visibility:visible!important;
  opacity:0!important;
  pointer-events:auto!important;
  transform:translateY(-8px) scale(.985)!important;
  transform-origin:top right!important;
  transition:opacity .18s ease, transform .18s ease!important;
}

.admin-portal-dropdown-v146.is-visible{
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
}

.admin-portal-panel-v146{
  width:100%!important;
  padding:10px!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(214,169,0,.15), transparent 36%),
    linear-gradient(145deg,rgba(255,255,255,.99),rgba(255,250,240,.97))!important;
  border:1px solid rgba(54,43,18,.12)!important;
  box-shadow:0 26px 70px rgba(23,19,12,.26)!important;
  backdrop-filter:blur(18px) saturate(1.15)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.15)!important;
}

.admin-portal-title-v146{
  padding:7px 9px 9px!important;
  color:#7a6c50!important;
  font-size:.68rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
}

.admin-portal-option-v146{
  width:100%!important;
  min-height:46px!important;
  border:0!important;
  border-radius:17px!important;
  background:transparent!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  padding:0 9px!important;
  color:#11100c!important;
  font-weight:920!important;
  text-align:left!important;
  cursor:pointer!important;
  box-shadow:none!important;
  font-family:inherit!important;
}

.admin-portal-option-v146:hover,
.admin-portal-option-v146.is-active{
  background:
    radial-gradient(circle at 100% 0%, rgba(214,169,0,.13), transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.84),rgba(255,241,184,.60))!important;
}

.admin-portal-option-v146.is-logout{
  margin-top:6px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#21130f,#140b0b)!important;
}

.admin-portal-option-icon-v146{
  width:32px!important;
  height:32px!important;
  flex:0 0 32px!important;
  border-radius:13px!important;
  display:grid!important;
  place-items:center!important;
  color:#11100c!important;
  background:linear-gradient(145deg,#fff,#fff1b8)!important;
  border:1px solid rgba(143,105,16,.13)!important;
}

.admin-portal-option-v146.is-logout .admin-portal-option-icon-v146{
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.18)!important;
}

.admin-portal-option-icon-v146 .m4-svg-icon{
  width:17px!important;
  height:17px!important;
}

@media(max-width:760px) and (hover:none) and (pointer:coarse){
  .admin-desktop-dropdown-v146,
  .admin-portal-dropdown-v146{
    display:none!important;
  }
}


/* =====================================================================
   M4RTIAL V147 — calendario/clases de prueba funcional
   ===================================================================== */

.trial-card .trial-actions .btn.danger{
  cursor:pointer!important;
}

#screen .loading .actions{
  margin-top:14px!important;
}

#screen .message.error,
#screen .message.ok,
#screen .message{
  margin-top:12px!important;
}


/* =====================================================================
   M4RTIAL V148 — eliminar sección calendario/clases de prueba del menú
   ===================================================================== */

/* Refuerzo visual: el calendario standalone ya no se presenta como sección separada */
.admin-portal-option-v146[onclick*="/clases-prueba"],
.admin-desktop-option-v144[onclick*="/clases-prueba"],
.admin-desktop-option-v142[onclick*="/clases-prueba"],
.admin-standalone-dropdown-panel-v142 a[href="/clases-prueba"]{
  display:none!important;
}


/* =====================================================================
   M4RTIAL V149 — calendario mensual compacto en dashboard administrador
   ===================================================================== */

.trial-calendar-month-panel-v149{
  padding:14px!important;
  overflow:visible!important;
}

.trial-month-layout-v149{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 280px!important;
  gap:14px!important;
  align-items:start!important;
}

.trial-month-main-v149,
.trial-month-side-v149{
  min-width:0!important;
}

.trial-month-header-v149{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:10px!important;
}

.trial-month-header-v149 h2{
  margin:5px 0 2px!important;
  font-size:clamp(1.3rem,2.5vw,2rem)!important;
  letter-spacing:-.045em!important;
}

.trial-month-header-v149 p{
  margin:0!important;
  color:#716959!important;
}

.trial-month-toolbar-v149{
  margin:8px 0 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}

.trial-month-toolbar-v149 h3{
  margin:0!important;
  text-align:center!important;
  font-size:1rem!important;
  letter-spacing:-.02em!important;
}

.trial-month-board-scroll-v149{
  width:100%!important;
  overflow-x:auto!important;
  padding-bottom:4px!important;
  scrollbar-width:thin!important;
}

.trial-month-board-v149{
  min-width:820px!important;
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:6px!important;
}

.trial-month-weekday-v149{
  height:28px!important;
  display:grid!important;
  place-items:center!important;
  color:#7a6c50!important;
  font-size:.68rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.10em!important;
  border-radius:12px!important;
  background:rgba(255,241,184,.42)!important;
}

.trial-month-day-v149{
  min-height:118px!important;
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:16px!important;
  padding:8px!important;
  background:linear-gradient(145deg,#fff,#fffdf8)!important;
  box-shadow:0 8px 18px rgba(62,45,0,.04)!important;
  overflow:hidden!important;
}

.trial-month-day-v149.out-month{
  opacity:.48!important;
  background:linear-gradient(145deg,#fff,#f7efdc)!important;
}

.trial-month-day-v149.has-events{
  border-color:rgba(214,169,0,.22)!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(214,169,0,.10), transparent 34%),
    linear-gradient(145deg,#fff,#fffaf0)!important;
}

.trial-month-day-v149.is-today{
  box-shadow:inset 0 0 0 2px rgba(214,169,0,.34), 0 10px 20px rgba(62,45,0,.05)!important;
}

.trial-month-day-top-v149{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  margin-bottom:6px!important;
}

.trial-month-day-top-v149 strong{
  width:28px!important;
  height:28px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:10px!important;
  color:#11100c!important;
  background:rgba(255,255,255,.72)!important;
  font-size:.88rem!important;
}

.trial-month-day-v149.is-today .trial-month-day-top-v149 strong{
  color:#111!important;
  background:linear-gradient(145deg,#fff,#f2c400)!important;
}

.trial-month-day-top-v149 span{
  color:#8b806e!important;
  font-size:.70rem!important;
  font-weight:850!important;
  text-transform:uppercase!important;
}

.trial-month-events-v149{
  display:grid!important;
  gap:4px!important;
}

.trial-month-event-v149{
  min-height:25px!important;
  border-radius:10px!important;
  padding:4px 6px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  grid-template-areas:"time name" "time discipline"!important;
  column-gap:6px!important;
  text-decoration:none!important;
  color:#11100c!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(54,43,18,.08)!important;
}

.trial-month-event-v149:hover{
  background:linear-gradient(135deg,#fff,#fff1b8)!important;
}

.trial-month-event-v149 b{
  grid-area:time!important;
  align-self:center!important;
  font-size:.68rem!important;
  font-weight:950!important;
  color:#6b5100!important;
}

.trial-month-event-v149 span{
  grid-area:name!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:.72rem!important;
  font-weight:900!important;
}

.trial-month-event-v149 em{
  grid-area:discipline!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:.62rem!important;
  color:#716959!important;
  font-style:normal!important;
}

.trial-month-event-v149.ok{
  background:rgba(238,249,233,.82)!important;
}

.trial-month-event-v149.warn{
  background:rgba(255,244,194,.86)!important;
}

.trial-month-event-v149.danger{
  background:rgba(255,232,232,.78)!important;
}

.trial-month-more-v149{
  border:0!important;
  border-radius:10px!important;
  min-height:24px!important;
  background:#17130c!important;
  color:#fff!important;
  font-size:.68rem!important;
  font-weight:900!important;
  cursor:pointer!important;
}

.trial-month-side-v149{
  display:grid!important;
  gap:10px!important;
  position:sticky!important;
  top:92px!important;
}

.trial-month-kpis-v149{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}

.trial-month-kpis-v149 article,
.trial-month-create-v149,
.trial-month-next-v149{
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#fff,#fffaf0)!important;
  box-shadow:0 8px 18px rgba(62,45,0,.045)!important;
}

.trial-month-kpis-v149 article{
  padding:10px!important;
}

.trial-month-kpis-v149 span{
  display:block!important;
  color:#7a6c50!important;
  font-size:.64rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}

.trial-month-kpis-v149 strong{
  display:block!important;
  margin-top:3px!important;
  color:#11100c!important;
  font-size:1.45rem!important;
  letter-spacing:-.05em!important;
}

.trial-month-create-v149{
  padding:0!important;
  overflow:hidden!important;
}

.trial-month-create-v149 summary{
  min-height:48px!important;
  padding:0 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  cursor:pointer!important;
  font-weight:950!important;
  color:#11100c!important;
  list-style:none!important;
}

.trial-month-create-v149 summary::-webkit-details-marker{
  display:none!important;
}

.trial-month-create-v149 summary::after{
  content:"+"!important;
  width:26px!important;
  height:26px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:#17130c!important;
  color:#fff!important;
}

.trial-month-create-v149[open] summary::after{
  content:"–"!important;
}

.trial-month-create-v149 form{
  padding:12px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
}

.trial-month-create-v149 .span-2{
  grid-column:auto!important;
}

.trial-month-next-v149{
  padding:12px!important;
}

.trial-month-next-v149 h3{
  margin:0 0 8px!important;
  font-size:1rem!important;
}

.trial-month-next-v149 a{
  display:block!important;
  padding:8px 0!important;
  border-top:1px solid rgba(54,43,18,.08)!important;
  color:#11100c!important;
  text-decoration:none!important;
}

.trial-month-next-v149 a:first-of-type{
  border-top:0!important;
}

.trial-month-next-v149 strong{
  display:block!important;
  font-size:.88rem!important;
}

.trial-month-next-v149 span,
.trial-month-next-v149 p{
  color:#716959!important;
  font-size:.78rem!important;
}

@media(max-width:980px){
  .trial-month-layout-v149{
    grid-template-columns:1fr!important;
  }

  .trial-month-side-v149{
    position:static!important;
    grid-template-columns:1fr!important;
  }

  .trial-month-kpis-v149{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

@media(max-width:620px){
  .trial-calendar-month-panel-v149{
    padding:10px!important;
  }

  .trial-month-header-v149{
    display:grid!important;
  }

  .trial-month-toolbar-v149{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }

  .trial-month-toolbar-v149 h3{
    grid-column:1/-1!important;
    grid-row:1!important;
  }

  .trial-month-board-v149{
    min-width:760px!important;
  }

  .trial-month-day-v149{
    min-height:104px!important;
  }

  .trial-month-kpis-v149{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* =====================================================================
   M4RTIAL V150 — eliminar Outdoor/actividades de administrador y cliente
   ===================================================================== */

.admin-portal-option-v146[onclick*="/outdoor"],
.admin-desktop-option-v144[onclick*="/outdoor"],
.admin-desktop-option-v142[onclick*="/outdoor"],
.admin-standalone-dropdown-panel-v142 a[href="/outdoor"],
.client-v138-carousel-card[onclick*="/outdoor"],
.m4-liquid-tab[onclick*="/outdoor"],
.outdoor-page,
.outdoor-admin-page,
.outdoor-client-page{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}



/* =====================================================================
   M4RTIAL V151 — botón admin más elegante + facturación más compacta
   ===================================================================== */

/* Botón superior administrador: menos pesado, más elegante y coherente con la marca */
.admin-desktop-trigger-v146,
.admin-desktop-trigger-v144{
  min-height:42px!important;
  border-radius:999px!important;
  padding:5px 10px 5px 6px!important;
  gap:8px!important;
  color:#17130c!important;
  background:
    radial-gradient(circle at 92% 0%, rgba(214,169,0,.16), transparent 38%),
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,247,222,.94))!important;
  border:1px solid rgba(54,43,18,.12)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 8px 22px rgba(62,45,0,.08)!important;
  transform:none!important;
}

.admin-desktop-trigger-v146:hover,
.admin-desktop-dropdown-v146.is-open .admin-desktop-trigger-v146,
.admin-desktop-trigger-v144:hover,
.admin-desktop-dropdown-v144.is-open .admin-desktop-trigger-v144{
  transform:translateY(-1px)!important;
  background:
    radial-gradient(circle at 92% 0%, rgba(214,169,0,.22), transparent 38%),
    linear-gradient(180deg,#ffffff,#fff1b8)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 12px 28px rgba(62,45,0,.11)!important;
}

.admin-desktop-trigger-icon-v146,
.admin-desktop-trigger-icon-v144{
  width:32px!important;
  height:32px!important;
  border-radius:999px!important;
  color:#11100c!important;
  background:
    linear-gradient(145deg,#fff,#f2c400)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.86),
    0 5px 12px rgba(214,169,0,.14)!important;
}

.admin-desktop-trigger-icon-v146 .m4-svg-icon,
.admin-desktop-trigger-icon-v144 .m4-svg-icon{
  width:16px!important;
  height:16px!important;
}

.admin-desktop-trigger-copy-v146,
.admin-desktop-trigger-copy-v144{
  min-width:72px!important;
  gap:0!important;
}

.admin-desktop-trigger-copy-v146 small,
.admin-desktop-trigger-copy-v144 small{
  color:#8a7442!important;
  font-size:.55rem!important;
  letter-spacing:.12em!important;
}

.admin-desktop-trigger-copy-v146 b,
.admin-desktop-trigger-copy-v144 b{
  color:#17130c!important;
  font-size:.82rem!important;
  letter-spacing:-.01em!important;
}

.admin-desktop-trigger-chevron-v146,
.admin-desktop-trigger-chevron-v144{
  width:7px!important;
  height:7px!important;
  border-right:2px solid rgba(23,19,12,.68)!important;
  border-bottom:2px solid rgba(23,19,12,.68)!important;
}

/* Panel del desplegable: más sobrio */
.admin-portal-panel-v146,
.admin-desktop-dropdown-panel-v144{
  border-radius:20px!important;
  box-shadow:0 20px 48px rgba(23,19,12,.18)!important;
}

.admin-portal-option-v146,
.admin-desktop-option-v144{
  min-height:42px!important;
  border-radius:15px!important;
}

/* Facturación: sección más compacta sin perder datos */
.billing-dashboard-panel,
.billing-dashboard-panel-v83{
  padding:14px!important;
  border-radius:24px!important;
}

.billing-dashboard-head{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(180px,.55fr) minmax(170px,.50fr)!important;
  gap:10px!important;
  align-items:stretch!important;
  margin-bottom:10px!important;
}

.billing-dashboard-head > div:first-child{
  min-width:0!important;
}

.billing-dashboard-head .eyebrow{
  margin-bottom:4px!important;
}

.billing-dashboard-head h2{
  margin:2px 0 4px!important;
  font-size:clamp(1.25rem,2.1vw,1.85rem)!important;
  line-height:.98!important;
  letter-spacing:-.05em!important;
}

.billing-dashboard-head p{
  margin:0!important;
  font-size:.82rem!important;
  line-height:1.25!important;
  max-width:760px!important;
}

.billing-total-box,
.billing-sync-box-v141{
  min-height:86px!important;
  padding:12px 13px!important;
  border-radius:18px!important;
  display:grid!important;
  align-content:center!important;
  box-shadow:0 10px 24px rgba(62,45,0,.065)!important;
}

.billing-total-box span,
.billing-sync-box-v141 span{
  font-size:.62rem!important;
  letter-spacing:.10em!important;
}

.billing-total-box strong,
.billing-sync-box-v141 strong{
  margin-top:3px!important;
  font-size:clamp(1.45rem,3vw,2.25rem)!important;
  line-height:.92!important;
  letter-spacing:-.06em!important;
}

.billing-total-box small,
.billing-sync-box-v141 small{
  margin-top:5px!important;
  font-size:.72rem!important;
  line-height:1.15!important;
}

.billing-operational-panel{
  padding:10px!important;
  border-radius:20px!important;
  margin:8px 0 10px!important;
}

.billing-operational-panel > p{
  margin:0 0 8px!important;
  font-size:.76rem!important;
  line-height:1.2!important;
}

.billing-operational-grid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:7px!important;
}

.billing-operational-card{
  min-height:70px!important;
  padding:9px 10px!important;
  border-radius:15px!important;
  box-shadow:0 6px 16px rgba(62,45,0,.045)!important;
}

.billing-operational-card span{
  font-size:.58rem!important;
  letter-spacing:.08em!important;
  line-height:1!important;
}

.billing-operational-card strong{
  margin-top:5px!important;
  font-size:clamp(1.15rem,2vw,1.55rem)!important;
  line-height:.88!important;
  letter-spacing:-.045em!important;
}

.billing-operational-card small{
  margin-top:5px!important;
  font-size:.64rem!important;
  line-height:1.1!important;
}

.billing-summary-grid,
.billing-summary-grid-v83{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:0!important;
}

.billing-summary-card{
  min-height:112px!important;
  padding:10px!important;
  border-radius:17px!important;
  box-shadow:0 7px 18px rgba(62,45,0,.05)!important;
}

.billing-summary-card > span{
  font-size:.60rem!important;
  letter-spacing:.09em!important;
  line-height:1!important;
}

.billing-count-button{
  margin-top:5px!important;
  font-size:clamp(1.25rem,2.4vw,1.75rem)!important;
  line-height:.9!important;
  min-height:28px!important;
}

.billing-summary-card > small{
  margin-top:3px!important;
  font-size:.64rem!important;
  line-height:1.1!important;
}

.billing-card-meta{
  margin-top:7px!important;
  gap:6px!important;
}

.billing-card-meta div{
  padding:6px!important;
  border-radius:12px!important;
}

.billing-card-meta b{
  font-size:.80rem!important;
}

.billing-card-meta em{
  margin-top:2px!important;
  font-size:.56rem!important;
}

.billing-click-hint{
  display:none!important;
}

/* Responsive: compacto pero legible */
@media(max-width:1180px){
  .billing-dashboard-head{
    grid-template-columns:1fr 1fr!important;
  }

  .billing-dashboard-head > div:first-child{
    grid-column:1/-1!important;
  }

  .billing-operational-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  .billing-dashboard-panel,
  .billing-dashboard-panel-v83{
    padding:10px!important;
    border-radius:20px!important;
  }

  .billing-dashboard-head{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

  .billing-dashboard-head > div:first-child{
    grid-column:1/-1!important;
  }

  .billing-total-box,
  .billing-sync-box-v141{
    min-height:78px!important;
    padding:10px!important;
  }

  .billing-total-box strong,
  .billing-sync-box-v141 strong{
    font-size:1.45rem!important;
  }

  .billing-operational-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .billing-summary-grid,
  .billing-summary-grid-v83{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .billing-summary-card{
    min-height:104px!important;
  }
}


/* =====================================================================
   M4RTIAL V152 — botón admin limpio + dock móvil 4 botones recentrado
   ===================================================================== */

/* El contenedor del botón no debe aportar ningún recuadro gris ni fondo propio */
.admin-header-menu-v142,
.admin-header-v142 .m4-header-menu,
.admin-desktop-dropdown-v146,
.admin-desktop-dropdown-v144,
.admin-desktop-dropdown-v142{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
  padding:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
  border-radius:0!important;
  overflow:visible!important;
}

/* Botón superior admin más limpio: solo se ve el pill, sin caja exterior */
.admin-desktop-trigger-v146,
.admin-desktop-trigger-v144{
  appearance:none!important;
  -webkit-appearance:none!important;
  background:
    radial-gradient(circle at 92% 0%, rgba(214,169,0,.18), transparent 38%),
    linear-gradient(180deg,#ffffff 0%,#fffaf0 100%)!important;
  border:1px solid rgba(177,132,18,.18)!important;
  outline:0!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.94),
    0 7px 18px rgba(62,45,0,.075)!important;
  min-height:40px!important;
  border-radius:999px!important;
  padding:4px 10px 4px 5px!important;
  color:#17130c!important;
}

.admin-desktop-trigger-v146:hover,
.admin-desktop-dropdown-v146.is-open .admin-desktop-trigger-v146,
.admin-desktop-trigger-v144:hover,
.admin-desktop-dropdown-v144.is-open .admin-desktop-trigger-v144{
  background:
    radial-gradient(circle at 92% 0%, rgba(214,169,0,.24), transparent 38%),
    linear-gradient(180deg,#ffffff 0%,#fff4c8 100%)!important;
  border-color:rgba(177,132,18,.24)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 10px 24px rgba(62,45,0,.10)!important;
}

.admin-desktop-trigger-v146:focus,
.admin-desktop-trigger-v144:focus{
  outline:0!important;
}

.admin-desktop-trigger-v146:focus-visible,
.admin-desktop-trigger-v144:focus-visible{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 0 0 3px rgba(214,169,0,.18),
    0 10px 24px rgba(62,45,0,.10)!important;
}

.admin-desktop-trigger-icon-v146,
.admin-desktop-trigger-icon-v144{
  width:30px!important;
  height:30px!important;
  border-radius:999px!important;
  box-shadow:none!important;
  border:1px solid rgba(177,132,18,.16)!important;
}

.admin-desktop-trigger-copy-v146 small,
.admin-desktop-trigger-copy-v144 small{
  color:#846a28!important;
}

.admin-desktop-trigger-copy-v146 b,
.admin-desktop-trigger-copy-v144 b{
  color:#17130c!important;
}

/* Dock inferior: ahora hay 4 botones reales en admin y cliente.
   Se reduce anchura, se centra y se recalcula la burbuja activa. */
@media(max-width:760px) and (hover:none) and (pointer:coarse){
  html.m4-real-mobile-menu-v143 .m4-liquid-mobile-dock.m4-liquid-count-4,
  html.m4-real-mobile-menu-v143 body > .m4-liquid-mobile-dock.m4-liquid-count-4,
  .m4-liquid-mobile-dock.m4-liquid-count-4{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:min(372px,calc(100vw - 24px))!important;
    max-width:372px!important;
    left:50%!important;
    right:auto!important;
    transform:translate3d(-50%,0,0)!important;
    margin:0!important;
    padding:7px!important;
    gap:6px!important;
    --m4-bubble-w:calc((100% - 38px) / 4)!important;
    --m4-bubble-h:52px!important;
  }

  html.m4-real-mobile-menu-v143 .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-4,
  html.m4-real-mobile-menu-v143 body > .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-4{
    width:min(382px,calc(100vw - 24px))!important;
    max-width:382px!important;
  }

  .m4-liquid-mobile-dock.m4-liquid-count-4 .m4-liquid-tab{
    min-width:0!important;
  }

  .m4-liquid-mobile-dock.m4-liquid-count-4 .m4-liquid-tab b{
    font-size:.64rem!important;
    letter-spacing:-.01em!important;
  }

  .m4-liquid-mobile-dock.m4-liquid-count-4 .m4-liquid-icon{
    width:30px!important;
    height:30px!important;
  }

  .m4-liquid-mobile-dock.m4-liquid-count-4 .m4-liquid-icon .m4-svg-icon{
    width:16px!important;
    height:16px!important;
  }
}

@media(max-width:380px) and (hover:none) and (pointer:coarse){
  html.m4-real-mobile-menu-v143 .m4-liquid-mobile-dock.m4-liquid-count-4,
  html.m4-real-mobile-menu-v143 body > .m4-liquid-mobile-dock.m4-liquid-count-4,
  .m4-liquid-mobile-dock.m4-liquid-count-4{
    width:calc(100vw - 14px)!important;
    max-width:calc(100vw - 14px)!important;
    gap:4px!important;
    padding:6px!important;
    --m4-bubble-w:calc((100% - 28px) / 4)!important;
  }

  .m4-liquid-mobile-dock.m4-liquid-count-4 .m4-liquid-tab b{
    font-size:.58rem!important;
  }
}


/* =====================================================================
   M4RTIAL V153 — sin asistencia + matrículas pendientes completas
   ===================================================================== */

.admin-portal-option-v146[onclick*="/asistencia"],
.admin-desktop-option-v144[onclick*="/asistencia"],
.admin-desktop-option-v142[onclick*="/asistencia"],
.admin-standalone-dropdown-panel-v142 a[href="/asistencia"],
.m4-liquid-tab[onclick*="/asistencia"],
.m4-liquid-header-chip[onclick*="/asistencia"]{
  display:none!important;
}

/* Menú inferior admin tras quitar Asistencia: 3 botones reales */
@media(max-width:760px) and (hover:none) and (pointer:coarse){
  html.m4-real-mobile-menu-v143 .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3,
  html.m4-real-mobile-menu-v143 body > .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3,
  .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:min(304px,calc(100vw - 28px))!important;
    max-width:304px!important;
    left:50%!important;
    right:auto!important;
    transform:translate3d(-50%,0,0)!important;
    margin:0!important;
    padding:7px!important;
    gap:7px!important;
    --m4-bubble-w:calc((100% - 35px) / 3)!important;
    --m4-bubble-h:52px!important;
  }

  .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3 .m4-liquid-tab{
    min-width:0!important;
  }

  .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3 .m4-liquid-tab b{
    font-size:.66rem!important;
  }

  .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3 .m4-liquid-icon{
    width:31px!important;
    height:31px!important;
  }
}

@media(max-width:360px) and (hover:none) and (pointer:coarse){
  html.m4-real-mobile-menu-v143 .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3,
  html.m4-real-mobile-menu-v143 body > .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3,
  .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3{
    width:min(286px,calc(100vw - 16px))!important;
    gap:5px!important;
    --m4-bubble-w:calc((100% - 27px) / 3)!important;
  }
}

/* Matrículas pendientes */
.matriculas-admin-page-v153{
  display:grid!important;
  gap:14px!important;
}

.matricula-stats-v153{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}

.matricula-stats-v153 article{
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:18px!important;
  padding:12px!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(214,169,0,.12), transparent 34%),
    linear-gradient(145deg,#fff,#fffaf0)!important;
  box-shadow:0 8px 20px rgba(62,45,0,.055)!important;
}

.matricula-stats-v153 span{
  display:block!important;
  color:#7a6c50!important;
  font-size:.64rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.10em!important;
}

.matricula-stats-v153 strong{
  display:block!important;
  margin-top:4px!important;
  font-size:1.7rem!important;
  line-height:.9!important;
  color:#11100c!important;
  letter-spacing:-.055em!important;
}

.matricula-stats-v153 small{
  display:block!important;
  margin-top:6px!important;
  color:#716959!important;
  font-size:.75rem!important;
}

.matricula-client-pending-v153{
  background:
    radial-gradient(circle at 100% 0%, rgba(214,169,0,.10), transparent 34%),
    linear-gradient(145deg,#fff,#fffdf8)!important;
}

@media(max-width:760px){
  .matricula-stats-v153{
    grid-template-columns:1fr!important;
  }
}


/* =====================================================================
   M4RTIAL V154 - salida admin movil + resumen desplegable de pruebas
   ===================================================================== */

.admin-mobile-exit-v154{
  display:none!important;
}

.trial-summary-first-v154{
  margin-bottom:14px!important;
  padding:12px!important;
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(214,169,0,.12),transparent 34%),
    linear-gradient(145deg,#fff,#fffaf0)!important;
}

.trial-summary-title-v154{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:10px!important;
}

.trial-summary-title-v154 h2{
  margin:4px 0 0!important;
  font-size:1.2rem!important;
  letter-spacing:-.035em!important;
}

.trial-summary-grid-v154{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}

.trial-summary-group-v154{
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 7px 16px rgba(62,45,0,.035)!important;
}

.trial-summary-group-v154.is-converted{
  background:rgba(238,249,233,.72)!important;
}

.trial-summary-group-v154.is-closed{
  background:rgba(255,238,238,.68)!important;
}

.trial-summary-group-v154 summary{
  min-height:54px!important;
  padding:8px 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  list-style:none!important;
  cursor:pointer!important;
  color:#11100c!important;
}

.trial-summary-group-v154 summary::-webkit-details-marker{
  display:none!important;
}

.trial-summary-group-v154 summary span{
  min-width:0!important;
  font-size:.72rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
}

.trial-summary-group-v154 summary strong{
  width:32px!important;
  height:32px!important;
  flex:0 0 32px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:11px!important;
  color:#11100c!important;
  background:linear-gradient(145deg,#fff,#fff1b8)!important;
  font-size:1.05rem!important;
  letter-spacing:-.04em!important;
}

.trial-summary-group-v154 summary::after{
  content:"+"!important;
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  color:#fff!important;
  background:#17130c!important;
  font-size:.9rem!important;
  font-weight:900!important;
}

.trial-summary-group-v154[open]{
  grid-column:span 2!important;
}

.trial-summary-group-v154[open] summary::after{
  content:"-"!important;
}

.trial-summary-list-v154{
  padding:0 10px 10px!important;
  display:grid!important;
  gap:6px!important;
}

.trial-summary-row-v154{
  min-width:0!important;
  padding:8px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  border-top:1px solid rgba(54,43,18,.08)!important;
  border-radius:10px!important;
  color:#11100c!important;
  text-decoration:none!important;
  background:rgba(255,255,255,.72)!important;
}

.trial-summary-row-v154:hover{
  background:linear-gradient(135deg,#fff,#fff1b8)!important;
}

.trial-summary-row-v154 > span{
  min-width:0!important;
}

.trial-summary-row-v154 > span:last-child{
  text-align:right!important;
}

.trial-summary-row-v154 strong,
.trial-summary-row-v154 small,
.trial-summary-row-v154 b,
.trial-summary-row-v154 em{
  display:block!important;
}

.trial-summary-row-v154 strong{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:.84rem!important;
}

.trial-summary-row-v154 small,
.trial-summary-row-v154 b{
  color:#716959!important;
  font-size:.70rem!important;
  font-weight:800!important;
}

.trial-summary-row-v154 em{
  width:max-content!important;
  margin:4px 0 0 auto!important;
  padding:2px 7px!important;
  border-radius:999px!important;
  color:#5f4a05!important;
  background:rgba(255,226,102,.42)!important;
  font-size:.63rem!important;
  font-style:normal!important;
  font-weight:900!important;
}

.trial-summary-row-v154 em.ok{
  color:#28521e!important;
  background:rgba(191,230,174,.58)!important;
}

.trial-summary-row-v154 em.danger{
  color:#772727!important;
  background:rgba(248,190,190,.58)!important;
}

.trial-summary-empty-v154{
  margin:0!important;
  padding:8px!important;
  color:#716959!important;
  font-size:.76rem!important;
}

@media(max-width:900px){
  .trial-summary-grid-v154{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:760px) and (hover:none) and (pointer:coarse){
  .admin-header-v142 .admin-mobile-exit-v154{
    min-height:38px!important;
    padding:0 12px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    border:1px solid rgba(54,43,18,.12)!important;
    border-radius:999px!important;
    color:#11100c!important;
    background:linear-gradient(180deg,#fff,#fffaf0)!important;
    box-shadow:0 7px 16px rgba(62,45,0,.06)!important;
    font-weight:900!important;
    cursor:pointer!important;
  }

  .admin-mobile-exit-v154 .m4-svg-icon{
    width:17px!important;
    height:17px!important;
  }

  .trial-summary-first-v154{
    padding:10px!important;
    border-radius:17px!important;
  }

  .trial-summary-grid-v154{
    grid-template-columns:1fr!important;
  }

  .trial-summary-group-v154[open]{
    grid-column:auto!important;
  }

  .trial-summary-row-v154{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .trial-summary-row-v154 > span:last-child{
    text-align:left!important;
  }

  .trial-summary-row-v154 em{
    margin-left:0!important;
  }
}

@media(max-width:380px){
  .admin-mobile-exit-v154 span{
    display:none!important;
  }

  .admin-header-v142 .admin-mobile-exit-v154{
    width:38px!important;
    padding:0!important;
  }
}


/* =====================================================================
   M4RTIAL V156 - base V154 con salida movil pequena y bien alineada
   ===================================================================== */

.admin-mobile-exit-v156{
  display:none!important;
}

@media(max-width:760px) and (hover:none) and (pointer:coarse){
  .admin-mode .admin-header-v142{
    position:sticky!important;
    min-height:64px!important;
    padding:8px 14px!important;
    display:flex!important;
    align-items:center!important;
  }

  .admin-mode .admin-header-v142 .m4-centered-logo{
    width:48px!important;
    height:48px!important;
  }

  .admin-mode .admin-header-v142 > .admin-mobile-exit-v156{
    position:absolute!important;
    top:50%!important;
    right:14px!important;
    width:auto!important;
    min-width:0!important;
    height:34px!important;
    min-height:34px!important;
    margin:0!important;
    padding:0 10px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    transform:translateY(-50%)!important;
    border:1px solid rgba(54,43,18,.12)!important;
    border-radius:999px!important;
    color:#17130c!important;
    background:#fff!important;
    box-shadow:0 5px 12px rgba(62,45,0,.05)!important;
    font-family:inherit!important;
    font-size:.68rem!important;
    font-weight:900!important;
    line-height:1!important;
    cursor:pointer!important;
    z-index:3!important;
  }

  .admin-mobile-exit-v156 .m4-svg-icon{
    width:14px!important;
    height:14px!important;
  }

  .admin-mode .admin-header-v142 .admin-header-menu-v142{
    display:none!important;
  }
}

@media(max-width:360px) and (hover:none) and (pointer:coarse){
  .admin-mode .admin-header-v142 > .admin-mobile-exit-v156{
    width:34px!important;
    padding:0!important;
  }

  .admin-mobile-exit-v156 span{
    display:none!important;
  }
}


/* =====================================================================
   M4RTIAL V157 - Liquid Glass admin mas corto horizontalmente
   ===================================================================== */

@media(max-width:760px) and (hover:none) and (pointer:coarse){
  html.m4-real-mobile-menu-v143 .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3,
  html.m4-real-mobile-menu-v143 body > .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3,
  .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3{
    width:268px!important;
    max-width:calc(100vw - 24px)!important;
    left:50%!important;
    right:auto!important;
    transform:translate3d(-50%,0,0)!important;
  }
}

@media(max-width:360px) and (hover:none) and (pointer:coarse){
  html.m4-real-mobile-menu-v143 .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3,
  html.m4-real-mobile-menu-v143 body > .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3,
  .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3{
    width:252px!important;
    max-width:calc(100vw - 16px)!important;
  }
}


/* =====================================================================
   M4RTIAL V165 - facturacion: metricas principales en una sola caja
   ===================================================================== */

.billing-dashboard-panel-v165 .billing-dashboard-head{
  grid-template-columns:1fr!important;
}

.billing-dashboard-panel-v165 .billing-dashboard-head > div:first-child{
  max-width:880px!important;
}

.billing-dashboard-panel-v165 .billing-operational-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}

.billing-dashboard-panel-v165 .billing-operational-card{
  min-height:92px!important;
}

.billing-dashboard-panel-v165 .billing-operational-card strong{
  font-size:1.55rem!important;
}

@media(max-width:1080px){
  .billing-dashboard-panel-v165 .billing-operational-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:720px){
  .billing-dashboard-panel-v165 .billing-operational-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:420px){
  .billing-dashboard-panel-v165 .billing-operational-grid{
    grid-template-columns:1fr!important;
  }
}


/* =====================================================================
   M4RTIAL V166 - dashboard admin movil mas compacto
   ===================================================================== */

@media(max-width:760px){
  .admin-dashboard-page{
    width:100%!important;
    padding:8px 7px 104px!important;
    gap:8px!important;
  }

  .billing-dashboard-panel-v165{
    padding:8px!important;
    border-radius:16px!important;
  }

  .billing-dashboard-panel-v165 .billing-dashboard-head{
    margin-bottom:6px!important;
  }

  .billing-dashboard-panel-v165 .billing-dashboard-head h2{
    margin:1px 0 3px!important;
    font-size:1.18rem!important;
    line-height:1!important;
  }

  .billing-dashboard-panel-v165 .billing-dashboard-head p{
    font-size:.72rem!important;
    line-height:1.15!important;
  }

  .billing-dashboard-panel-v165 .billing-operational-panel{
    margin:6px 0 8px!important;
    padding:7px!important;
    border-radius:14px!important;
  }

  .billing-dashboard-panel-v165 .billing-operational-panel > p{
    display:none!important;
  }

  .billing-dashboard-panel-v165 .billing-operational-grid,
  .billing-dashboard-panel-v165 .billing-summary-grid,
  .billing-dashboard-panel-v165 .billing-summary-grid-v83{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }

  .billing-dashboard-panel-v165 .billing-operational-card{
    min-height:58px!important;
    padding:7px 8px!important;
    border-radius:12px!important;
  }

  .billing-dashboard-panel-v165 .billing-operational-card span,
  .billing-dashboard-panel-v165 .billing-summary-card > span{
    font-size:.52rem!important;
    line-height:1!important;
    letter-spacing:.065em!important;
  }

  .billing-dashboard-panel-v165 .billing-operational-card strong{
    margin-top:4px!important;
    font-size:1.05rem!important;
    line-height:.95!important;
    letter-spacing:-.04em!important;
  }

  .billing-dashboard-panel-v165 .billing-operational-card small{
    margin-top:3px!important;
    font-size:.56rem!important;
    line-height:1.05!important;
  }

  .billing-dashboard-panel-v165 .billing-summary-card{
    min-height:82px!important;
    padding:7px!important;
    border-radius:12px!important;
  }

  .billing-dashboard-panel-v165 .billing-count-button{
    margin-top:3px!important;
    min-height:22px!important;
    font-size:1.22rem!important;
  }

  .billing-dashboard-panel-v165 .billing-summary-card > small{
    margin-top:2px!important;
    font-size:.55rem!important;
  }

  .billing-dashboard-panel-v165 .billing-card-meta{
    margin-top:5px!important;
    gap:4px!important;
  }

  .billing-dashboard-panel-v165 .billing-card-meta div{
    padding:4px!important;
    border-radius:9px!important;
  }

  .billing-dashboard-panel-v165 .billing-card-meta b{
    font-size:.68rem!important;
  }

  .billing-dashboard-panel-v165 .billing-card-meta em{
    font-size:.48rem!important;
  }

  .admin-dashboard-messages-v162{
    margin:8px 0!important;
    padding:10px!important;
    border-radius:14px!important;
  }

  .admin-dashboard-messages-v162 h2{
    margin:0 0 6px!important;
    font-size:1rem!important;
  }

  .admin-dashboard-messages-v162 .compact-row{
    min-height:0!important;
    padding:8px!important;
    border-radius:11px!important;
  }

  .admin-client-services-entry-v160{
    padding:10px!important;
    gap:8px!important;
    border-radius:14px!important;
  }

  .admin-client-services-entry-v160 h2{
    margin:1px 0 2px!important;
    font-size:1.05rem!important;
  }

  .admin-client-services-entry-v160 p{
    font-size:.72rem!important;
    line-height:1.15!important;
  }

  .admin-client-services-entry-v160 .btn{
    min-height:36px!important;
  }

  .trial-calendar-month-panel-v149{
    padding:8px!important;
    border-radius:16px!important;
  }

  .trial-summary-first-v154{
    margin-bottom:8px!important;
    padding:8px!important;
    border-radius:14px!important;
  }

  .trial-summary-title-v154{
    margin-bottom:6px!important;
    gap:8px!important;
  }

  .trial-summary-title-v154 h2{
    margin:2px 0 0!important;
    font-size:1rem!important;
  }

  .trial-summary-grid-v154{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }

  .trial-summary-group-v154 summary{
    min-height:42px!important;
    padding:7px 9px!important;
  }

  .trial-summary-group-v154 summary span{
    font-size:.58rem!important;
  }

  .trial-summary-group-v154 summary strong{
    font-size:1.08rem!important;
  }

  .trial-month-layout-v149{
    gap:8px!important;
  }

  .trial-month-header-v149{
    gap:6px!important;
    margin-bottom:6px!important;
  }

  .trial-month-header-v149 h2{
    margin:2px 0!important;
    font-size:1.05rem!important;
  }

  .trial-month-header-v149 p{
    display:none!important;
  }

  .trial-month-toolbar-v149{
    margin:4px 0 7px!important;
    gap:6px!important;
  }

  .trial-month-toolbar-v149 .btn{
    min-height:34px!important;
    padding:0 9px!important;
  }

  .trial-month-board-scroll-v149{
    overflow-x:visible!important;
    padding-bottom:0!important;
  }

  .trial-month-board-v149{
    min-width:0!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
  }

  .trial-month-weekday-v149,
  .trial-month-day-v149:not(.has-events):not(.is-today){
    display:none!important;
  }

  .trial-month-day-v149{
    min-height:0!important;
    padding:7px!important;
    border-radius:12px!important;
  }

  .trial-month-day-top-v149{
    margin-bottom:4px!important;
  }

  .trial-month-day-top-v149 strong{
    width:24px!important;
    height:24px!important;
    border-radius:8px!important;
    font-size:.78rem!important;
  }

  .trial-month-event-v149{
    min-height:22px!important;
    padding:3px 6px!important;
  }

  .trial-month-side-v149{
    gap:7px!important;
  }

  .trial-month-kpis-v149{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px!important;
  }

  .trial-month-kpis-v149 article{
    padding:7px!important;
    border-radius:12px!important;
  }

  .trial-month-kpis-v149 span{
    font-size:.50rem!important;
    letter-spacing:.05em!important;
  }

  .trial-month-kpis-v149 strong{
    margin-top:2px!important;
    font-size:1rem!important;
  }

  .trial-month-next-v149{
    padding:9px!important;
    border-radius:12px!important;
  }

  .trial-month-next-v149 h3{
    margin-bottom:4px!important;
    font-size:.92rem!important;
  }

  .trial-month-next-v149 a{
    padding:6px 0!important;
  }
}

@media(max-width:380px){
  .billing-dashboard-panel-v165 .billing-operational-grid,
  .billing-dashboard-panel-v165 .billing-summary-grid,
  .billing-dashboard-panel-v165 .billing-summary-grid-v83{
    gap:5px!important;
  }

  .billing-dashboard-panel-v165 .billing-operational-card strong{
    font-size:.98rem!important;
  }

  .trial-month-kpis-v149{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* =====================================================================
   M4RTIAL V162 - filtros compactos matriculas + orden dashboard admin
   ===================================================================== */

.matricula-toolbar-v162{
  display:grid!important;
  grid-template-columns:minmax(220px,1.6fr) minmax(130px,.65fr) minmax(170px,.8fr) auto auto!important;
  gap:8px!important;
  align-items:center!important;
  padding:10px!important;
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,#fff,#fffaf0)!important;
  box-shadow:0 8px 20px rgba(62,45,0,.045)!important;
}

.matricula-toolbar-v162 input,
.matricula-toolbar-v162 select{
  width:100%!important;
  min-height:38px!important;
  border:1px solid rgba(54,43,18,.12)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#17130c!important;
  font-size:.84rem!important;
  font-weight:750!important;
  padding:0 10px!important;
  outline:0!important;
}

.matricula-toolbar-v162 input:focus,
.matricula-toolbar-v162 select:focus{
  border-color:rgba(214,169,0,.42)!important;
  box-shadow:0 0 0 3px rgba(214,169,0,.12)!important;
}

.matricula-toolbar-v162 .btn{
  min-height:38px!important;
  padding:0 12px!important;
  white-space:nowrap!important;
}

.matricula-toolbar-v162 .status-pill{
  justify-self:end!important;
  white-space:nowrap!important;
}

.matricula-filter-row-v162[hidden],
.matricula-empty-v162[hidden]{
  display:none!important;
}

.admin-dashboard-messages-v162{
  margin-top:16px!important;
  margin-bottom:12px!important;
}

.admin-dashboard-messages-v162 + .admin-client-services-entry-v160{
  margin-top:0!important;
  margin-bottom:16px!important;
}

@media(max-width:980px){
  .matricula-toolbar-v162{
    grid-template-columns:1fr 1fr!important;
  }

  .matricula-toolbar-v162 input,
  .matricula-toolbar-v162 .status-pill{
    grid-column:1/-1!important;
  }

  .matricula-toolbar-v162 .status-pill{
    justify-self:start!important;
  }
}

@media(max-width:620px){
  .matricula-toolbar-v162{
    grid-template-columns:1fr!important;
  }
}


/* =====================================================================
   M4RTIAL V160 - servicios completos para cliente y administrador
   ===================================================================== */

.client-message-button-v160{
  min-height:42px!important;
  padding:0 13px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border:1px solid rgba(54,43,18,.12)!important;
  border-radius:999px!important;
  color:#17130c!important;
  background:#fff!important;
  box-shadow:0 7px 18px rgba(62,45,0,.055)!important;
  font-weight:900!important;
  cursor:pointer!important;
  position:relative!important;
}

.client-message-button-v160 .m4-svg-icon{
  width:17px!important;
  height:17px!important;
}

.client-message-count-v160{
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  color:#fff!important;
  background:#9d1f1f!important;
  font-size:.60rem!important;
  font-style:normal!important;
  font-weight:950!important;
}

.client-message-count-v160[hidden]{
  display:none!important;
}

@media(max-width:760px){
  .client-message-count-v160{
    position:absolute!important;
    top:-3px!important;
    right:-3px!important;
  }
}

.client-service-page-v160{
  width:min(1160px,calc(100% - 28px))!important;
  margin:0 auto!important;
  padding:20px 0 124px!important;
  display:grid!important;
  gap:14px!important;
}

.client-service-title-v160{
  min-height:118px!important;
  padding:20px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(214,169,0,.12),transparent 34%),
    linear-gradient(145deg,#fff,#fffaf0)!important;
}

.client-service-title-v160 h1{
  margin:0!important;
  color:#17130c!important;
  font-size:clamp(1.8rem,4vw,2.8rem)!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
}

.client-service-title-v160 p{
  margin:8px 0 0!important;
  color:#716959!important;
}

.client-service-stats-v160,
.admin-client-service-stats-v160{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}

.admin-client-service-stats-v160{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

.client-service-stats-v160 article,
.admin-client-service-stats-v160 article{
  min-width:0!important;
  min-height:108px!important;
  padding:15px!important;
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(62,45,0,.045)!important;
}

.client-service-stats-v160 span,
.admin-client-service-stats-v160 span,
.client-next-session-v160 span{
  display:block!important;
  color:#7a6c50!important;
  font-size:.65rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.09em!important;
}

.client-service-stats-v160 strong,
.admin-client-service-stats-v160 strong{
  display:block!important;
  margin-top:7px!important;
  color:#17130c!important;
  font-size:1.65rem!important;
  line-height:1!important;
  letter-spacing:-.05em!important;
  overflow-wrap:anywhere!important;
}

.client-service-stats-v160 small,
.admin-client-service-stats-v160 small{
  display:block!important;
  margin-top:7px!important;
  color:#716959!important;
}

.client-service-panel-v160{
  padding:18px!important;
  border-radius:16px!important;
  box-shadow:none!important;
}

.client-service-list-v160{
  display:grid!important;
  gap:8px!important;
  margin-top:12px!important;
}

.client-service-row-v160{
  min-width:0!important;
  padding:12px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:12px!important;
  border:1px solid rgba(54,43,18,.09)!important;
  border-radius:12px!important;
  background:#fffdf8!important;
}

.client-service-row-v160 > div:first-child{
  min-width:0!important;
}

.client-service-row-v160 strong,
.client-service-row-v160 span,
.client-service-row-v160 small{
  display:block!important;
}

.client-service-row-v160 span,
.client-service-row-v160 small{
  margin-top:4px!important;
  color:#716959!important;
  font-size:.76rem!important;
  overflow-wrap:anywhere!important;
}

.client-service-row-v160 .actions{
  margin:0!important;
}

.client-next-session-v160{
  padding:18px!important;
  border:1px solid rgba(177,132,18,.20)!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,#fff,#fff1b8)!important;
}

.client-next-session-v160 strong{
  display:block!important;
  margin-top:6px!important;
  color:#17130c!important;
  font-size:1.45rem!important;
}

.client-next-session-v160 small{
  display:block!important;
  margin-top:5px!important;
  color:#716959!important;
}

.client-schedule-grid-v160{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:8px!important;
}

.client-schedule-grid-v160 article{
  min-height:112px!important;
  padding:12px!important;
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:12px!important;
  background:#fffdf8!important;
}

.client-schedule-grid-v160 span,
.client-schedule-grid-v160 strong,
.client-schedule-grid-v160 small{
  display:block!important;
}

.client-schedule-grid-v160 span{
  color:#7a6c50!important;
  font-size:.65rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
}

.client-schedule-grid-v160 strong{
  margin-top:9px!important;
  font-size:.85rem!important;
}

.client-schedule-grid-v160 small{
  margin-top:9px!important;
  color:#8b806e!important;
}

.client-service-form-v160,
.client-request-form-v160,
.admin-service-form-v160{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

.client-request-form-v160{
  grid-template-columns:1fr 1fr auto!important;
  align-items:end!important;
}

.client-request-form-v160 .span-2{
  grid-column:1/-1!important;
}

.client-service-form-v160 label,
.client-request-form-v160 label,
.admin-service-form-v160 label{
  display:grid!important;
  gap:6px!important;
}

.client-service-form-v160 input,
.client-service-form-v160 select,
.client-service-form-v160 textarea,
.client-request-form-v160 input,
.client-request-form-v160 select,
.client-request-form-v160 textarea,
.admin-service-form-v160 input,
.admin-service-form-v160 select,
.admin-service-form-v160 textarea{
  min-height:44px!important;
  padding:10px!important;
  border:1px solid rgba(54,43,18,.14)!important;
  border-radius:10px!important;
  background:#fff!important;
}

.client-service-form-v160 textarea,
.client-request-form-v160 textarea,
.admin-service-form-v160 textarea{
  min-height:84px!important;
}

.client-account-grid-v160,
.admin-service-grid-v160{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}

.client-account-lines-v160,
.client-account-actions-v160{
  display:grid!important;
  gap:8px!important;
  margin-top:12px!important;
}

.client-account-lines-v160{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

.client-account-lines-v160 > div{
  padding:10px!important;
  border:1px solid rgba(54,43,18,.09)!important;
  border-radius:10px!important;
  background:#fffdf8!important;
}

.client-account-lines-v160 strong,
.client-account-lines-v160 span{
  display:block!important;
}

.client-account-lines-v160 strong{
  color:#7a6c50!important;
  font-size:.63rem!important;
  text-transform:uppercase!important;
}

.client-account-lines-v160 span{
  margin-top:5px!important;
  overflow-wrap:anywhere!important;
}

.client-account-actions-v160{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

.client-password-form-v160{
  margin-top:16px!important;
  padding-top:16px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr auto!important;
  align-items:end!important;
  gap:10px!important;
  border-top:1px solid rgba(54,43,18,.09)!important;
}

.client-password-form-v160 label{
  display:grid!important;
  gap:6px!important;
}

.client-password-form-v160 input{
  min-height:44px!important;
  padding:10px!important;
  border:1px solid rgba(54,43,18,.14)!important;
  border-radius:10px!important;
  background:#fff!important;
}

.client-progress-row-v160{
  padding:12px!important;
  border:1px solid rgba(54,43,18,.09)!important;
  border-radius:12px!important;
  background:#fffdf8!important;
}

.client-progress-row-v160 span,
.client-progress-row-v160 strong,
.client-progress-row-v160 small{
  display:block!important;
}

.client-progress-row-v160 span{
  color:#8b6b00!important;
  font-size:.67rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
}

.client-progress-row-v160 strong{
  margin-top:5px!important;
}

.client-progress-row-v160 small{
  margin-top:5px!important;
  color:#716959!important;
}

.admin-client-services-v160{
  width:min(1240px,calc(100% - 28px))!important;
  margin:0 auto!important;
  padding:20px 0 124px!important;
  display:grid!important;
  gap:14px!important;
}

.admin-client-services-entry-v160{
  padding:16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  border:1px solid rgba(177,132,18,.20)!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,#fff,#fff1b8)!important;
}

.admin-client-services-entry-v160 h2{
  margin:3px 0 4px!important;
}

.admin-client-services-entry-v160 p{
  margin:0!important;
  color:#716959!important;
}

.admin-service-fold-v160{
  padding:0!important;
  overflow:hidden!important;
}

.admin-service-fold-v160 > summary{
  min-height:64px!important;
  padding:13px 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  list-style:none!important;
  cursor:pointer!important;
}

.admin-service-fold-v160 > summary::-webkit-details-marker{
  display:none!important;
}

.admin-service-fold-v160 > summary > span{
  min-width:0!important;
  display:grid!important;
  gap:3px!important;
}

.admin-service-fold-v160 > summary b{
  font-size:1rem!important;
}

.admin-service-fold-v160 > summary small{
  color:#716959!important;
  font-size:.75rem!important;
}

.admin-service-fold-v160 > summary > strong{
  min-width:34px!important;
  height:34px!important;
  padding:0 8px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:10px!important;
  background:#fff1b8!important;
}

.admin-service-fold-v160[open] > summary{
  border-bottom:1px solid rgba(54,43,18,.09)!important;
}

.admin-service-fold-content-v160{
  padding:16px!important;
}

.admin-request-list-v160,
.admin-mini-list-v160{
  display:grid!important;
  gap:8px!important;
}

.admin-request-row-v160{
  padding:12px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.3fr) minmax(130px,.45fr) minmax(140px,.45fr)!important;
  gap:10px!important;
  align-items:end!important;
  border:1px solid rgba(54,43,18,.09)!important;
  border-radius:12px!important;
  background:#fffdf8!important;
}

.admin-request-main-v160{
  min-width:0!important;
}

.admin-request-main-v160 strong,
.admin-request-main-v160 span,
.admin-request-main-v160 small{
  display:block!important;
}

.admin-request-main-v160 span,
.admin-request-main-v160 small,
.admin-request-main-v160 p{
  margin:4px 0 0!important;
  color:#716959!important;
  font-size:.76rem!important;
  overflow-wrap:anywhere!important;
}

.admin-request-row-v160 label{
  display:grid!important;
  gap:5px!important;
}

.admin-request-row-v160 .span-2{
  grid-column:2/-1!important;
}

.admin-request-row-v160 select,
.admin-request-row-v160 input,
.admin-request-row-v160 textarea{
  min-height:40px!important;
  padding:8px!important;
  border:1px solid rgba(54,43,18,.14)!important;
  border-radius:9px!important;
  background:#fff!important;
}

.admin-request-row-v160 .actions{
  grid-column:2/-1!important;
  margin:0!important;
}

.admin-service-form-v160{
  margin-bottom:14px!important;
}

.admin-service-form-v160 .checkbox{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}

.admin-service-form-v160 .checkbox input{
  width:18px!important;
  min-height:18px!important;
}

.admin-mini-list-v160 > div{
  padding:9px 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  border-top:1px solid rgba(54,43,18,.08)!important;
}

.admin-payment-list-v160{
  display:grid!important;
  gap:7px!important;
  margin-top:12px!important;
}

.admin-payment-row-v160{
  padding:9px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 120px auto!important;
  align-items:center!important;
  gap:8px!important;
  border-top:1px solid rgba(54,43,18,.08)!important;
}

.admin-payment-row-v160 span,
.admin-payment-row-v160 b,
.admin-payment-row-v160 small{
  display:block!important;
}

.admin-payment-row-v160 small{
  margin-top:3px!important;
  color:#716959!important;
}

.admin-payment-row-v160 select{
  min-height:38px!important;
  border:1px solid rgba(54,43,18,.14)!important;
  border-radius:9px!important;
  background:#fff!important;
}

.admin-mini-list-v160 span,
.admin-mini-list-v160 b,
.admin-mini-list-v160 small{
  display:block!important;
}

.admin-mini-list-v160 small{
  margin-top:3px!important;
  color:#716959!important;
}

.admin-notification-actions-v160{
  margin-top:12px!important;
}

@media(max-width:900px){
  .client-schedule-grid-v160{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .admin-client-service-stats-v160{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .admin-request-row-v160{
    grid-template-columns:1fr 1fr!important;
  }

  .admin-request-main-v160{
    grid-column:1/-1!important;
  }

  .admin-request-row-v160 .span-2,
  .admin-request-row-v160 .actions{
    grid-column:1/-1!important;
  }
}

@media(max-width:760px){
  .client-message-button-v160{
    width:38px!important;
    min-height:38px!important;
    padding:0!important;
  }

  .client-message-button-v160 span{
    display:none!important;
  }

  .client-service-page-v160,
  .admin-client-services-v160{
    width:calc(100% - 14px)!important;
    padding-top:10px!important;
    gap:10px!important;
  }

  .client-service-title-v160{
    min-height:0!important;
    padding:16px!important;
    border-radius:14px!important;
  }

  .client-service-title-v160 h1{
    font-size:1.75rem!important;
  }

  .client-service-stats-v160,
  .admin-client-service-stats-v160{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .client-service-stats-v160 article,
  .admin-client-service-stats-v160 article{
    min-height:82px!important;
    padding:12px!important;
  }

  .client-service-panel-v160{
    padding:14px!important;
    border-radius:14px!important;
  }

  .client-service-row-v160{
    grid-template-columns:1fr!important;
  }

  .client-service-row-v160 .actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .client-service-row-v160 .actions .btn{
    width:100%!important;
  }

  .client-schedule-grid-v160{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .client-schedule-grid-v160 article{
    min-height:92px!important;
  }

  .client-service-form-v160,
  .client-request-form-v160,
  .admin-service-form-v160,
  .client-password-form-v160,
  .client-account-grid-v160,
  .admin-service-grid-v160{
    grid-template-columns:1fr!important;
  }

  .client-request-form-v160 .span-2{
    grid-column:auto!important;
  }

  .client-account-actions-v160{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .admin-client-services-entry-v160{
    display:grid!important;
  }

  .admin-client-services-entry-v160 .btn{
    width:100%!important;
  }

  .admin-request-row-v160{
    grid-template-columns:1fr!important;
  }

  .admin-request-main-v160,
  .admin-request-row-v160 .span-2,
  .admin-request-row-v160 .actions{
    grid-column:auto!important;
  }

  .admin-payment-row-v160{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:390px){
  .client-account-lines-v160,
  .client-account-actions-v160{
    grid-template-columns:1fr!important;
  }
}


/* =====================================================================
   M4RTIAL V159 - Liquid Glass algo mas ancho y con menor altura
   ===================================================================== */

@media(max-width:760px) and (hover:none) and (pointer:coarse){
  html.m4-real-mobile-menu-v143 .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3,
  html.m4-real-mobile-menu-v143 body > .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3,
  .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3{
    width:244px!important;
    max-width:calc(100vw - 24px)!important;
    min-height:56px!important;
    padding:5px 6px!important;
    gap:5px!important;
    border-radius:24px!important;
    --m4-bubble-y:5px!important;
    --m4-bubble-w:calc((100% - 31px) / 3)!important;
    --m4-bubble-h:44px!important;
  }

  .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3 .m4-liquid-active-bubble{
    border-radius:18px!important;
  }

  .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3 .m4-liquid-tab{
    min-height:44px!important;
    gap:1px!important;
    border-radius:18px!important;
  }

  .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3 .m4-liquid-icon{
    width:25px!important;
    height:25px!important;
  }

  .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3 .m4-liquid-icon .m4-svg-icon{
    width:14px!important;
    height:14px!important;
  }

  .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3 .m4-liquid-tab b{
    font-size:.60rem!important;
  }

  .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3 .m4-liquid-tab.is-active{
    transform:translateY(-3px)!important;
  }
}

@media(max-width:360px) and (hover:none) and (pointer:coarse){
  html.m4-real-mobile-menu-v143 .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3,
  html.m4-real-mobile-menu-v143 body > .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3,
  .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3{
    width:236px!important;
    max-width:calc(100vw - 16px)!important;
  }
}


/* =====================================================================
   M4RTIAL V158 - Liquid Glass admin mas estrecho y ligero
   ===================================================================== */

@media(max-width:760px) and (hover:none) and (pointer:coarse){
  html.m4-real-mobile-menu-v143 .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3,
  html.m4-real-mobile-menu-v143 body > .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3,
  .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3{
    width:232px!important;
    max-width:calc(100vw - 24px)!important;
    gap:4px!important;
    --m4-bubble-w:calc((100% - 29px) / 3)!important;
  }

  .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3 .m4-liquid-tab b{
    font-size:.62rem!important;
  }
}

@media(max-width:360px) and (hover:none) and (pointer:coarse){
  html.m4-real-mobile-menu-v143 .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3,
  html.m4-real-mobile-menu-v143 body > .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3,
  .m4-liquid-mobile-dock.m4-liquid-admin.m4-liquid-count-3{
    width:224px!important;
    max-width:calc(100vw - 16px)!important;
  }
}


/* =====================================================================
   M4RTIAL V166 FINAL - prioridad movil dashboard administrador
   ===================================================================== */

@media(max-width:760px){
  .admin-dashboard-page{
    padding:8px 7px 104px!important;
    gap:8px!important;
  }

  .billing-dashboard-panel-v165 .billing-operational-grid,
  .billing-dashboard-panel-v165 .billing-summary-grid,
  .billing-dashboard-panel-v165 .billing-summary-grid-v83{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }

  .billing-dashboard-panel-v165 .billing-operational-card{
    min-height:58px!important;
    padding:7px 8px!important;
    border-radius:12px!important;
  }

  .billing-dashboard-panel-v165 .billing-operational-card strong{
    font-size:1.05rem!important;
    line-height:.95!important;
  }

  .billing-dashboard-panel-v165 .billing-operational-panel > p,
  .trial-month-header-v149 p{
    display:none!important;
  }

  .billing-dashboard-panel-v165 .billing-summary-card{
    min-height:82px!important;
    padding:7px!important;
    border-radius:12px!important;
  }

  .admin-dashboard-messages-v162{
    margin:8px 0!important;
    padding:10px!important;
    border-radius:14px!important;
  }

  .admin-client-services-entry-v160{
    padding:10px!important;
    gap:8px!important;
    border-radius:14px!important;
  }

  .admin-client-services-entry-v160 p{
    font-size:.72rem!important;
    line-height:1.15!important;
  }

  .trial-calendar-month-panel-v149{
    padding:8px!important;
    border-radius:16px!important;
  }

  .trial-summary-first-v154{
    padding:8px!important;
    margin-bottom:8px!important;
    border-radius:14px!important;
  }

  .trial-summary-grid-v154{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }

  .trial-summary-group-v154 summary{
    min-height:42px!important;
    padding:7px 9px!important;
  }

  .trial-month-board-v149{
    min-width:0!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
  }

  .trial-month-weekday-v149,
  .trial-month-day-v149:not(.has-events):not(.is-today){
    display:none!important;
  }

  .trial-month-day-v149{
    min-height:0!important;
    padding:7px!important;
    border-radius:12px!important;
  }

  .trial-month-kpis-v149{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px!important;
  }

  .trial-month-kpis-v149 article{
    padding:7px!important;
    border-radius:12px!important;
  }
}

@media(max-width:380px){
  .trial-month-kpis-v149{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
/* =====================================================================
   M4RTIAL V168 — disciplina seleccionable por cliente
   ===================================================================== */
.client-discipline-form-v168{
  margin-top:12px!important;
  padding-top:12px!important;
  border-top:1px solid rgba(54,43,18,.08)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:end!important;
}

.client-discipline-form-v168 label{
  margin:0!important;
  color:#6d6250!important;
  font-size:.72rem!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}

.client-discipline-form-v168 select{
  margin-top:6px!important;
  min-height:40px!important;
  border-radius:12px!important;
  border:1px solid rgba(54,43,18,.12)!important;
  background:#fff!important;
  color:#17130c!important;
  font-size:.9rem!important;
  font-weight:800!important;
  padding:0 10px!important;
}

.client-discipline-form-v168 .btn{
  min-height:40px!important;
  padding:0 14px!important;
  white-space:nowrap!important;
}

@media(max-width:760px){
  .client-discipline-form-v168{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .client-discipline-form-v168 .btn{
    width:100%!important;
  }
}

/* =====================================================================
   M4RTIAL V169 — limpieza de login y títulos privados más minimalistas
   ===================================================================== */

body:has(.clean-login-app) > .m4-liquid-mobile-dock,
body:has(.login-only-clean) > .m4-liquid-mobile-dock,
.clean-login-app .m4-liquid-mobile-dock,
.login-only-clean .m4-liquid-mobile-dock,
.public-mode .m4-liquid-mobile-dock{
  display:none!important;
  pointer-events:none!important;
}

.app.admin-mode .admin-page-title > p,
.app.admin-mode .outdoor-page-title > p,
.app.admin-mode .admin-service-summary-v160 p,
.app.admin-mode .section-head p,
.app.client-mode .client-service-title-v160 > p,
.app.client-mode .client-v138-section-head p,
.app.client-mode .hero.compact-hero > p,
.app.client-mode .section-head p{
  display:none!important;
}

.app.client-mode .enrollment-section-card .section-head p,
.app.client-mode .legal-critical-section .section-head p,
.app.client-mode .legal-clause-box p,
.app.admin-mode .enrollment-section-card .section-head p,
.app.admin-mode .legal-critical-section .section-head p,
.app.admin-mode .legal-clause-box p{
  display:block!important;
}

.app.admin-mode .admin-page-title,
.app.client-mode .client-service-title-v160,
.app.admin-mode .outdoor-page-title{
  gap:4px!important;
  margin-bottom:12px!important;
}

.app.admin-mode .admin-page-title h1,
.app.client-mode .client-service-title-v160 h1,
.app.admin-mode .outdoor-page-title h1{
  margin-bottom:0!important;
}

.app.admin-mode .section-head,
.app.client-mode .section-head{
  gap:8px!important;
  align-items:center!important;
}

/* =====================================================================
   M4RTIAL V171 — calendario cliente más intuitivo + MMA Alto Rendimiento
   ===================================================================== */

.client-v171-calendar-priority{
  order:2!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(214,169,0,.16), transparent 34%),
    linear-gradient(145deg,#fff,#fffaf0 58%,#f7efdc)!important;
}

.client-v171-calendar-priority + .client-v138-recommended{
  order:3!important;
}

.client-v138-calendar-card{
  border:0!important;
  background:transparent!important;
  padding:0!important;
}

.client-v138-calendar-head{
  align-items:flex-start!important;
  margin-bottom:12px!important;
}

.client-v138-calendar-head h2{
  font-size:clamp(1.35rem,4vw,2rem)!important;
}

.client-v171-next-pill{
  min-width:154px!important;
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:18px!important;
  padding:10px 12px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
  text-align:right!important;
}

.client-v171-next-pill span{
  display:block!important;
  color:#7a6c50!important;
  font-size:.62rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
}

.client-v171-next-pill strong{
  display:block!important;
  margin-top:3px!important;
  color:#11100c!important;
  font-size:.88rem!important;
  line-height:1.18!important;
}

.client-v138-week-calendar{
  gap:10px!important;
}

.client-v171-day{
  position:relative!important;
  min-height:128px!important;
  padding:12px!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.64)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78)!important;
}

.client-v171-day.has-class{
  border-color:rgba(143,105,16,.16)!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(214,169,0,.14), transparent 36%),
    linear-gradient(180deg,#fff,#fffaf0)!important;
}

.client-v171-day.is-today{
  border-color:rgba(214,169,0,.42)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 10px 24px rgba(168,126,0,.12)!important;
}

.client-v171-day-top{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:8px!important;
}

.client-v171-day-top i{
  font-style:normal!important;
  border-radius:999px!important;
  padding:3px 8px!important;
  background:#11100c!important;
  color:#fff!important;
  font-size:.58rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}

.client-v171-class-slot{
  margin-top:9px!important;
  border-radius:15px!important;
  padding:9px!important;
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(54,43,18,.08)!important;
}

.client-v171-class-slot strong{
  display:block!important;
  margin:0!important;
  color:#11100c!important;
  font-size:.95rem!important;
  line-height:1.05!important;
}

.client-v171-class-slot small{
  display:block!important;
  margin-top:4px!important;
  color:#6f624b!important;
  font-size:.72rem!important;
  font-weight:850!important;
  line-height:1.2!important;
}

.client-v171-day em{
  border:1px dashed rgba(54,43,18,.12)!important;
  border-radius:14px!important;
  padding:10px!important;
  text-align:center!important;
}

@media(max-width:760px){
  .client-v138-calendar-head{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .client-v171-next-pill{
    min-width:0!important;
    width:100%!important;
    text-align:left!important;
  }

  .client-v138-week-calendar{
    grid-template-columns:1fr!important;
  }

  .client-v171-day{
    min-height:auto!important;
  }
}

/* =====================================================================
   M4RTIAL V172 — foto de perfil visible y editable por alumno
   ===================================================================== */

.client-v172-name-row,
.client-account-title-v172{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
}

.client-v172-name-row .client-avatar{
  width:54px!important;
  height:54px!important;
  border-radius:18px!important;
  box-shadow:0 10px 22px rgba(23,19,12,.12)!important;
}

.client-account-title-v172 .client-avatar{
  width:64px!important;
  height:64px!important;
  border-radius:20px!important;
  box-shadow:0 10px 22px rgba(23,19,12,.12)!important;
}

.client-v172-name-row h1,
.client-account-title-v172 h1{
  overflow-wrap:anywhere!important;
}

.client-photo-form-v172{
  margin:0 0 12px!important;
  padding:10px!important;
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,#fff,#fffaf0)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:end!important;
}

.client-photo-form-v172 label{
  margin:0!important;
  color:#6d6250!important;
  font-size:.72rem!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}

.client-photo-form-v172 input[type="file"]{
  margin-top:6px!important;
  width:100%!important;
  border:1px solid rgba(54,43,18,.12)!important;
  border-radius:12px!important;
  background:#fff!important;
  padding:8px!important;
  font-size:.82rem!important;
}

.client-photo-form-v172 .btn{
  min-height:40px!important;
  padding:0 14px!important;
  white-space:nowrap!important;
}

@media(max-width:760px){
  .client-v172-name-row,
  .client-account-title-v172{
    gap:10px!important;
  }

  .client-v172-name-row .client-avatar{
    width:48px!important;
    height:48px!important;
    border-radius:16px!important;
  }

  .client-account-title-v172 .client-avatar{
    width:56px!important;
    height:56px!important;
    border-radius:18px!important;
  }

  .client-photo-form-v172{
    grid-template-columns:1fr!important;
  }

  .client-photo-form-v172 .btn{
    width:100%!important;
  }
}

/* =====================================================================
   M4RTIAL V173 — área cliente sin calendario principal
   ===================================================================== */

.client-v173-next-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr)!important;
  gap:12px!important;
}

.client-v173-next-class,
.client-v173-plan-card{
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(214,169,0,.14), transparent 34%),
    linear-gradient(145deg,#fff,#fffaf0)!important;
  box-shadow:0 14px 32px rgba(62,45,0,.06)!important;
  padding:18px!important;
}

.client-v173-next-class{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}

.client-v173-next-class span,
.client-v173-plan-card span{
  display:block!important;
  color:#7a6c50!important;
  font-size:.68rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
}

.client-v173-next-class h2{
  margin:5px 0 0!important;
  color:#11100c!important;
  font-size:clamp(1.35rem,4vw,2.2rem)!important;
  letter-spacing:-.045em!important;
  line-height:.98!important;
}

.client-v173-next-class strong{
  display:block!important;
  margin-top:8px!important;
  width:max-content!important;
  max-width:100%!important;
  border-radius:999px!important;
  padding:8px 12px!important;
  background:#11100c!important;
  color:#fff!important;
  font-size:.92rem!important;
  line-height:1.15!important;
}

.client-v173-next-class .btn{
  min-width:128px!important;
  background:#fff!important;
}

.client-v173-plan-card{
  display:grid!important;
  align-content:center!important;
}

.client-v173-plan-card strong{
  display:block!important;
  margin-top:6px!important;
  color:#11100c!important;
  font-size:1.12rem!important;
  line-height:1.12!important;
}

.client-v173-plan-card small{
  display:block!important;
  margin-top:6px!important;
  color:#716959!important;
  font-weight:800!important;
}

@media(max-width:760px){
  .client-v173-next-layout{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .client-v173-next-class{
    display:grid!important;
    gap:12px!important;
  }

  .client-v173-next-class .btn{
    width:100%!important;
  }
}

/* =====================================================================
   M4RTIAL V174 — cuenta cliente más compacta y botones legibles
   ===================================================================== */

.client-account-page-v174{
  gap:10px!important;
}

.client-account-title-v174{
  min-height:auto!important;
  padding:14px 16px!important;
  border-radius:18px!important;
}

.client-account-title-v174 h1{
  font-size:clamp(1.45rem,3vw,2.2rem)!important;
  line-height:1!important;
}

.client-account-title-v174 .eyebrow{
  margin-bottom:4px!important;
}

.client-v174-card{
  padding:14px!important;
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,#fff,#fffdf8)!important;
}

.client-v174-card h2,
.client-v174-config-head h2{
  margin:0!important;
  color:#17130c!important;
  font-size:1.05rem!important;
  letter-spacing:-.025em!important;
}

.client-v174-top-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:10px!important;
}

.client-v174-secondary-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

.client-account-page-v174 .client-account-lines-v160{
  margin-top:10px!important;
  gap:7px!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

.client-account-page-v174 .client-account-lines-v160 > div{
  padding:8px 9px!important;
  border-radius:12px!important;
}

.client-account-page-v174 .client-account-lines-v160 strong{
  font-size:.58rem!important;
  line-height:1.1!important;
}

.client-account-page-v174 .client-account-lines-v160 span{
  margin-top:4px!important;
  font-size:.88rem!important;
  line-height:1.16!important;
}

.client-account-page-v174 .client-photo-form-v172,
.client-account-page-v174 .client-discipline-form-v168{
  margin:8px 0 0!important;
  padding:8px!important;
  border-radius:14px!important;
  gap:8px!important;
}

.client-account-page-v174 .client-photo-form-v172 input[type="file"],
.client-account-page-v174 .client-discipline-form-v168 select{
  min-height:38px!important;
  padding:7px 8px!important;
}

.client-account-page-v174 .client-photo-form-v172 .btn,
.client-account-page-v174 .client-discipline-form-v168 .btn,
.client-account-page-v174 .client-v174-membership-card > .actions .btn{
  min-height:38px!important;
  padding:8px 12px!important;
  border-radius:999px!important;
}

.client-account-page-v174 .client-v174-membership-card > .actions{
  margin-top:8px!important;
}

.client-v174-section-head{
  margin-bottom:8px!important;
}

.client-v174-compact-details{
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:14px!important;
  background:#fffdf8!important;
  overflow:hidden!important;
}

.client-v174-compact-details + .client-service-list-v160{
  margin-top:8px!important;
}

.client-v174-compact-details summary{
  min-height:48px!important;
  padding:10px 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  cursor:pointer!important;
  list-style:none!important;
}

.client-v174-compact-details summary::-webkit-details-marker{
  display:none!important;
}

.client-v174-compact-details summary span,
.client-v174-compact-details summary b,
.client-v174-compact-details summary small{
  display:block!important;
}

.client-v174-compact-details summary b{
  color:#17130c!important;
  font-size:.92rem!important;
  line-height:1.05!important;
}

.client-v174-compact-details summary small{
  margin-top:3px!important;
  color:#716959!important;
  font-size:.72rem!important;
  line-height:1.15!important;
}

.client-v174-compact-details summary > strong{
  flex:0 0 auto!important;
  min-width:42px!important;
  min-height:28px!important;
  padding:6px 9px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:#17130c!important;
  color:#fff!important;
  font-size:.72rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
}

.client-v174-compact-details[open] summary{
  border-bottom:1px solid rgba(54,43,18,.08)!important;
}

.client-request-form-v174,
.client-password-form-v174{
  margin:0!important;
  padding:10px!important;
  border:0!important;
}

.client-request-form-v174 textarea{
  min-height:66px!important;
}

.client-account-page-v174 .client-service-list-v160{
  gap:7px!important;
}

.client-account-page-v174 .client-service-row-v160,
.client-account-page-v174 .client-progress-row-v160{
  padding:9px 10px!important;
  border-radius:12px!important;
}

.client-v174-config-card{
  display:grid!important;
  gap:10px!important;
}

.client-v174-action-grid{
  margin-top:0!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
}

.client-v174-action-grid .btn{
  min-height:40px!important;
  padding:8px 10px!important;
  border-radius:999px!important;
  font-size:.75rem!important;
  font-weight:950!important;
  line-height:1.05!important;
  white-space:normal!important;
  box-shadow:0 8px 18px rgba(23,19,12,.08)!important;
}

.client-v174-action-grid .client-v174-action-primary{
  background:linear-gradient(135deg,#f2c400,#d6a900)!important;
  color:#141006!important;
  border:1px solid rgba(118,89,0,.24)!important;
}

.client-v174-action-grid .client-v174-action-dark{
  background:linear-gradient(180deg,#211c13,#0f0d09)!important;
  color:#fff!important;
  border:1px solid rgba(242,196,0,.22)!important;
}

.client-v174-action-grid .client-v174-action-light,
.client-v174-plain-btn{
  background:#fff!important;
  color:#17130c!important;
  border:1px solid rgba(23,19,12,.18)!important;
}

.client-v174-password-details{
  margin-top:0!important;
}

@media(max-width:900px){
  .client-v174-action-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  .client-account-page-v174{
    width:min(100% - 18px,680px)!important;
    padding-top:10px!important;
    gap:8px!important;
  }

  .client-account-title-v174{
    padding:10px 12px!important;
    border-radius:16px!important;
  }

  .client-account-title-v174 .client-avatar{
    width:46px!important;
    height:46px!important;
    border-radius:15px!important;
  }

  .client-account-title-v174 h1{
    font-size:1.25rem!important;
  }

  .client-v174-card{
    padding:10px!important;
    border-radius:14px!important;
  }

  .client-v174-top-grid,
  .client-v174-secondary-grid{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .client-account-page-v174 .client-account-lines-v160{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }

  .client-account-page-v174 .client-photo-form-v172,
  .client-account-page-v174 .client-discipline-form-v168{
    grid-template-columns:1fr auto!important;
    padding:7px!important;
  }

  .client-v174-action-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .client-v174-action-grid .btn{
    min-height:36px!important;
    padding:7px 8px!important;
    font-size:.70rem!important;
  }

  .client-v174-compact-details summary{
    min-height:44px!important;
    padding:8px 10px!important;
  }

  .client-request-form-v174,
  .client-password-form-v174{
    padding:8px!important;
  }
}

@media(max-width:390px){
  .client-account-page-v174 .client-account-lines-v160{
    grid-template-columns:1fr!important;
  }

  .client-account-page-v174 .client-photo-form-v172,
  .client-account-page-v174 .client-discipline-form-v168{
    grid-template-columns:1fr!important;
  }
}

/* =====================================================================
   M4RTIAL V177 — horario cliente en formato calendario y botones de cuenta visibles
   ===================================================================== */

.client-schedule-page-v177{
  gap:10px!important;
}

.client-schedule-title-v177{
  min-height:auto!important;
  padding:15px 18px!important;
  border-radius:18px!important;
}

.client-schedule-title-v177 strong{
  width:max-content!important;
  max-width:100%!important;
  margin-top:8px!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  background:#17130c!important;
  color:#fff!important;
  font-size:.78rem!important;
  line-height:1.1!important;
}

.client-v177-next-session{
  padding:14px 16px!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(214,169,0,.16),transparent 36%),
    linear-gradient(145deg,#fff,#fff6d8)!important;
}

.client-v177-next-session strong{
  font-size:1.18rem!important;
  line-height:1.05!important;
}

.client-v177-calendar-panel{
  padding:12px!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#fff,#fffdf8)!important;
}

.client-v177-calendar-head{
  margin-bottom:10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}

.client-v177-calendar-head h2{
  margin:2px 0 0!important;
  color:#17130c!important;
  font-size:1.18rem!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
}

.client-v177-calendar-head > strong{
  flex:0 0 auto!important;
  padding:8px 11px!important;
  border-radius:999px!important;
  background:#17130c!important;
  color:#fff!important;
  font-size:.76rem!important;
  line-height:1!important;
}

.client-v177-calendar-grid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:8px!important;
}

.client-v177-calendar-day{
  min-height:188px!important;
  display:grid!important;
  grid-template-rows:auto 1fr!important;
  overflow:hidden!important;
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 18px rgba(62,45,0,.045)!important;
}

.client-v177-calendar-day header{
  min-height:50px!important;
  padding:10px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:8px!important;
  border-bottom:1px solid rgba(54,43,18,.08)!important;
  background:linear-gradient(180deg,#fffaf0,#fff)!important;
}

.client-v177-calendar-day header span,
.client-v177-calendar-day header strong{
  display:block!important;
}

.client-v177-calendar-day header span{
  color:#6e6048!important;
  font-size:.66rem!important;
  font-weight:950!important;
  line-height:1.1!important;
  text-transform:uppercase!important;
  letter-spacing:.10em!important;
}

.client-v177-calendar-day header strong{
  color:#17130c!important;
  font-size:.78rem!important;
  line-height:1.1!important;
  text-align:right!important;
  white-space:nowrap!important;
}

.client-v177-calendar-day.is-today{
  border-color:rgba(214,169,0,.42)!important;
  box-shadow:0 12px 26px rgba(177,132,18,.12)!important;
}

.client-v177-calendar-day.is-today header{
  background:linear-gradient(135deg,#f2c400,#fff4bd)!important;
}

.client-v177-calendar-day.is-empty{
  background:#fbfaf6!important;
}

.client-v177-calendar-body{
  padding:8px!important;
  display:grid!important;
  align-content:start!important;
  gap:7px!important;
}

.client-v177-class-block{
  min-width:0!important;
  padding:9px!important;
  border:1px solid rgba(23,19,12,.12)!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,#211c13,#0f0d09)!important;
  color:#fff!important;
}

.client-v177-class-block strong,
.client-v177-class-block span{
  display:block!important;
}

.client-v177-class-block strong{
  font-size:.88rem!important;
  line-height:1.05!important;
  letter-spacing:-.02em!important;
}

.client-v177-class-block span{
  margin-top:5px!important;
  color:rgba(255,255,255,.78)!important;
  font-size:.72rem!important;
  line-height:1.15!important;
  overflow-wrap:anywhere!important;
}

.client-v177-calendar-body em{
  min-height:78px!important;
  display:grid!important;
  place-items:center!important;
  border:1px dashed rgba(54,43,18,.16)!important;
  border-radius:13px!important;
  color:#8a806f!important;
  font-size:.78rem!important;
  font-style:normal!important;
  font-weight:800!important;
}

.client-v177-absence-panel{
  padding:12px!important;
}

.client-v177-section-head{
  margin-bottom:8px!important;
}

.client-v177-absence-form{
  grid-template-columns:minmax(150px,.45fr) minmax(0,1fr) auto!important;
  align-items:end!important;
}

.client-v177-absence-form textarea{
  min-height:48px!important;
}

@media(max-width:980px){
  .client-v177-calendar-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  .client-schedule-page-v177{
    width:calc(100% - 14px)!important;
    gap:8px!important;
  }

  .client-schedule-title-v177{
    padding:12px!important;
  }

  .client-schedule-title-v177 h1{
    font-size:1.55rem!important;
  }

  .client-v177-next-session{
    padding:12px!important;
  }

  .client-v177-calendar-panel{
    padding:10px!important;
  }

  .client-v177-calendar-head{
    align-items:flex-start!important;
  }

  .client-v177-calendar-head h2{
    font-size:1.02rem!important;
  }

  .client-v177-calendar-grid{
    grid-template-columns:none!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(138px,42vw)!important;
    gap:7px!important;
    overflow-x:auto!important;
    padding-bottom:4px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .client-v177-calendar-day{
    min-height:164px!important;
    scroll-snap-align:start!important;
  }

  .client-v177-calendar-day header{
    min-height:44px!important;
    padding:8px!important;
  }

  .client-v177-calendar-body{
    padding:7px!important;
    gap:6px!important;
  }

  .client-v177-class-block{
    padding:8px!important;
    border-radius:12px!important;
  }

  .client-v177-class-block strong{
    font-size:.80rem!important;
  }

  .client-v177-class-block span{
    font-size:.68rem!important;
  }

  .client-v177-absence-form{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .client-v177-absence-form textarea{
    min-height:58px!important;
  }
}

@media(max-width:390px){
  .client-v177-calendar-grid{
    grid-auto-columns:minmax(130px,46vw)!important;
  }
}

/* M4RTIAL V177 - contraste final para botones de Configuracion y comunicacion */
.client-account-page-v174 .client-v174-config-card .client-v174-action-grid > .btn{
  opacity:1!important;
  text-shadow:none!important;
  filter:none!important;
  background-clip:border-box!important;
  -webkit-background-clip:border-box!important;
  text-decoration:none!important;
  letter-spacing:0!important;
}

.client-account-page-v174 .client-v174-config-card .client-v174-action-grid > .client-v174-action-primary,
.client-account-page-v174 .client-v174-config-card .client-v174-action-grid > .client-v174-action-primary:hover,
.client-account-page-v174 .client-v174-config-card .client-v174-action-grid > .client-v174-action-primary:focus{
  background:linear-gradient(135deg,#ffd84d 0%,#f2c400 54%,#c99600 100%)!important;
  color:#120f08!important;
  -webkit-text-fill-color:#120f08!important;
  border:1px solid rgba(96,70,0,.34)!important;
  box-shadow:0 10px 22px rgba(194,150,0,.18)!important;
}

.client-account-page-v174 .client-v174-config-card .client-v174-action-grid > .client-v174-action-dark,
.client-account-page-v174 .client-v174-config-card .client-v174-action-grid > .client-v174-action-dark:hover,
.client-account-page-v174 .client-v174-config-card .client-v174-action-grid > .client-v174-action-dark:focus{
  background:linear-gradient(180deg,#252017 0%,#100e0a 100%)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border:1px solid rgba(242,196,0,.30)!important;
  box-shadow:0 10px 22px rgba(16,14,10,.20)!important;
}

.client-account-page-v174 .client-v174-config-card .client-v174-action-grid > .client-v174-action-danger,
.client-account-page-v174 .client-v174-config-card .client-v174-action-grid > .client-v174-action-danger:hover,
.client-account-page-v174 .client-v174-config-card .client-v174-action-grid > .client-v174-action-danger:focus{
  background:linear-gradient(180deg,#fff5f1 0%,#f4ddd5 100%)!important;
  color:#6f1f12!important;
  -webkit-text-fill-color:#6f1f12!important;
  border:1px solid rgba(111,31,18,.24)!important;
  box-shadow:0 10px 22px rgba(111,31,18,.10)!important;
}

.client-account-page-v174 .client-v174-config-card .client-v174-action-grid > .btn *{
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
  text-shadow:none!important;
}

/* =====================================================================
   M4RTIAL V207 - admin aplicado tambien al index principal
   ===================================================================== */

.app.admin-mode{
  min-height:100svh!important;
  padding-bottom:18px!important;
}

.app.admin-mode .footer-note,
.app.admin-mode .m4-liquid-mobile-dock,
body > .m4-liquid-mobile-dock.m4-liquid-admin{
  display:none!important;
}

.app.admin-mode .admin-header-v207{
  width:min(100% - 28px,1180px)!important;
  min-height:74px!important;
  margin:10px auto 8px!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  position:relative!important;
  z-index:60!important;
}

.app.admin-mode .admin-header-v207 .m4-header-logo{
  grid-column:2!important;
  justify-self:center!important;
  pointer-events:auto!important;
}

.app.admin-mode .admin-header-logo-square-v207{
  width:62px!important;
  height:62px!important;
  min-width:62px!important;
  min-height:62px!important;
  border-radius:18px!important;
  border:1px solid rgba(54,43,18,.12)!important;
  background:rgba(255,255,255,.76)!important;
  box-shadow:0 12px 26px rgba(23,19,12,.08)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  padding:6px!important;
  display:grid!important;
  place-items:center!important;
}

.app.admin-mode .admin-header-v207 .m4-centered-logo{
  width:52px!important;
  height:52px!important;
  filter:drop-shadow(0 13px 18px rgba(127,91,0,.18))!important;
}

.admin-header-actions-v207{
  grid-column:3!important;
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
}

.admin-header-action-v207{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  border-radius:16px!important;
  border:1px solid rgba(54,43,18,.14)!important;
  background:rgba(255,255,255,.78)!important;
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  position:relative!important;
  box-shadow:0 12px 26px rgba(23,19,12,.08)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  cursor:pointer!important;
}

.admin-header-action-v207 .m4-svg-icon{
  width:22px!important;
  height:22px!important;
}

.admin-header-bell-v207{
  margin-right:4px!important;
}

.admin-message-count-v207{
  position:absolute!important;
  top:-6px!important;
  right:-6px!important;
  min-width:20px!important;
  height:20px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  background:#f2c400!important;
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
  border:1px solid rgba(23,19,12,.12)!important;
  font-size:10px!important;
  font-style:normal!important;
  font-weight:950!important;
  line-height:1!important;
  box-shadow:0 8px 18px rgba(242,196,0,.24)!important;
}

.admin-message-count-v207[hidden]{
  display:none!important;
}

.app.admin-mode .admin-header-v207 .admin-header-menu-v142,
.app.admin-mode .admin-header-v207 .admin-mobile-exit-v156{
  display:none!important;
}

.admin-home-actions-v207{
  width:min(100%,640px)!important;
  margin:0 auto 18px!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
  justify-content:center!important;
}

.admin-home-square-v207{
  aspect-ratio:1/1!important;
  min-width:0!important;
  min-height:0!important;
  border:1px solid rgba(54,43,18,.12)!important;
  border-radius:20px!important;
  background:radial-gradient(circle at 100% 0%,rgba(242,196,0,.16),rgba(242,196,0,0) 38%),rgba(255,255,255,.82)!important;
  box-shadow:0 14px 34px rgba(23,19,12,.08)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  padding:14px 10px!important;
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
  text-align:center!important;
  position:relative!important;
  overflow:hidden!important;
  cursor:pointer!important;
}

.admin-home-square-icon-v207{
  width:44px!important;
  height:44px!important;
  border-radius:15px!important;
  display:grid!important;
  place-items:center!important;
  background:#17130c!important;
  color:#f2c400!important;
  -webkit-text-fill-color:#f2c400!important;
}

.admin-home-square-icon-v207 .m4-svg-icon{
  width:24px!important;
  height:24px!important;
}

.admin-home-square-v207 strong{
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
  font-size:14px!important;
  font-weight:950!important;
  line-height:1.05!important;
  letter-spacing:-.02em!important;
}

.admin-home-square-v207 small{
  color:#6b6255!important;
  -webkit-text-fill-color:#6b6255!important;
  font-size:10px!important;
  font-weight:850!important;
  line-height:1.1!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}

.admin-home-square-v207 i{
  position:absolute!important;
  top:9px!important;
  right:9px!important;
  min-width:22px!important;
  height:22px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  background:#f2c400!important;
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
  font-size:10px!important;
  font-style:normal!important;
  font-weight:950!important;
  box-shadow:0 8px 16px rgba(242,196,0,.24)!important;
}

@media(max-width:760px){
  .app.admin-mode{
    padding-bottom:12px!important;
  }

  .app.admin-mode .admin-header-v207{
    width:calc(100% - 22px)!important;
    min-height:64px!important;
    margin:8px auto 6px!important;
  }

  .app.admin-mode .admin-header-v207 .m4-centered-logo{
    width:46px!important;
    height:46px!important;
  }

  .app.admin-mode .admin-header-logo-square-v207{
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    min-height:54px!important;
    border-radius:16px!important;
    padding:4px!important;
  }

  .admin-header-actions-v207{
    gap:9px!important;
  }

  .admin-header-action-v207{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    border-radius:14px!important;
  }

  .admin-home-actions-v207{
    width:min(100%,390px)!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
    margin:0 auto 12px!important;
  }

  .admin-home-square-v207{
    border-radius:16px!important;
    padding:10px 6px!important;
    gap:6px!important;
  }

  .admin-home-square-icon-v207{
    width:32px!important;
    height:32px!important;
    border-radius:11px!important;
  }

  .admin-home-square-icon-v207 .m4-svg-icon{
    width:18px!important;
    height:18px!important;
  }

  .admin-home-square-v207 strong{
    font-size:11px!important;
  }

  .admin-home-square-v207 small{
    font-size:8px!important;
  }
}

/* M4RTIAL V177 - proximos cobros GoCardless en area de pagos */
.client-billing-v177{
  display:grid!important;
  gap:12px!important;
}

.client-billing-summary-v177{
  display:grid!important;
  grid-template-columns:1.2fr .8fr .9fr!important;
  gap:10px!important;
}

.client-billing-summary-v177 article{
  min-width:0!important;
  padding:12px!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#fff 0%,#fffaf0 100%)!important;
  border:1px solid rgba(23,19,12,.08)!important;
  box-shadow:0 10px 22px rgba(23,19,12,.05)!important;
}

.client-billing-summary-v177 span,
.client-billing-summary-v177 strong,
.client-billing-summary-v177 small{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.client-billing-summary-v177 span{
  color:#7a6a45!important;
  font-size:.70rem!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}

.client-billing-summary-v177 strong{
  margin-top:4px!important;
  color:#15120c!important;
  font-size:1rem!important;
  font-weight:950!important;
}

.client-billing-summary-v177 small{
  margin-top:3px!important;
  color:#6f6655!important;
  font-size:.74rem!important;
  font-weight:750!important;
}

.client-billing-upcoming-v177{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}

.client-billing-upcoming-v177 div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  min-width:0!important;
  padding:10px 12px!important;
  border-radius:999px!important;
  background:#17130c!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(23,19,12,.12)!important;
}

.client-billing-upcoming-v177 span,
.client-billing-upcoming-v177 strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.client-billing-upcoming-v177 span{
  color:#f8e6a7!important;
  font-size:.72rem!important;
  font-weight:900!important;
}

.client-billing-upcoming-v177 strong{
  color:#fff!important;
  font-size:.78rem!important;
  font-weight:950!important;
}

/* M4RTIAL V178 - carrusel informativo publico dentro del area cliente */
.client-v178-public-carousel-shell{
  width:100%!important;
  overflow:hidden!important;
  border-radius:0!important;
}

.client-v178-public-carousel{
  display:flex!important;
  gap:14px!important;
  overflow-x:auto!important;
  scroll-snap-type:x mandatory!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
  padding:2px 0 8px!important;
}

.client-v178-public-carousel::-webkit-scrollbar{
  display:none!important;
}

.client-v178-public-card{
  flex:0 0 min(285px,76vw)!important;
  scroll-snap-align:start!important;
  display:grid!important;
  grid-template-rows:170px minmax(220px,auto)!important;
  min-height:390px!important;
  overflow:hidden!important;
  border:1px solid rgba(214,169,0,.22)!important;
  background:linear-gradient(180deg,#fff 0%,#fff1b8 100%)!important;
  box-shadow:0 16px 38px rgba(62,45,0,.09)!important;
}

.client-v178-public-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  background:#17130c!important;
}

.client-v178-public-card > div{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:9px!important;
  min-width:0!important;
  padding:18px!important;
}

.client-v178-public-card span{
  color:#b78900!important;
  font-size:.68rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}

.client-v178-public-card h2{
  margin:0!important;
  color:#11100c!important;
  font-size:1.28rem!important;
  line-height:1.02!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
}

.client-v178-public-card p{
  margin:0!important;
  color:#332d20!important;
  font-size:.88rem!important;
  line-height:1.35!important;
}

.client-v178-public-card .btn{
  margin-top:auto!important;
  min-height:34px!important;
  padding:9px 13px!important;
  border-radius:999px!important;
  background:#050505!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border:0!important;
  font-size:.66rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}

@media(min-width:980px){
  .client-v178-public-card{
    flex-basis:calc((100% - 42px) / 4)!important;
  }
}

@media(max-width:760px){
  .client-billing-summary-v177{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .client-billing-summary-v177 article{
    padding:10px!important;
    border-radius:12px!important;
  }

  .client-billing-upcoming-v177{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }

  .client-billing-upcoming-v177 div{
    padding:9px 10px!important;
  }

  .client-v178-public-carousel{
    gap:10px!important;
    padding-bottom:6px!important;
  }

  .client-v178-public-card{
    flex-basis:min(260px,78vw)!important;
    grid-template-rows:150px minmax(194px,auto)!important;
    min-height:344px!important;
  }

  .client-v178-public-card > div{
    padding:14px!important;
    gap:7px!important;
  }

  .client-v178-public-card h2{
    font-size:1.12rem!important;
  }

  .client-v178-public-card p{
    font-size:.80rem!important;
  }

  .client-v178-public-card .btn{
    min-height:32px!important;
    padding:8px 11px!important;
    font-size:.62rem!important;
  }
}

/* M4RTIAL V179 - ajuste definitivo del carrusel publico en movil */
.client-mode .client-v178-public-carousel-shell,
.client-dashboard-v138 .client-v178-public-carousel-shell{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.client-mode .client-v178-public-carousel,
.client-dashboard-v138 .client-v178-public-carousel{
  display:flex!important;
  align-items:stretch!important;
  gap:12px!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 2px 10px!important;
  scroll-snap-type:x mandatory!important;
  -webkit-overflow-scrolling:touch!important;
}

.client-mode .client-v178-public-card,
.client-dashboard-v138 .client-v178-public-card{
  flex:0 0 clamp(250px,74vw,330px)!important;
  width:clamp(250px,74vw,330px)!important;
  min-width:clamp(250px,74vw,330px)!important;
  max-width:330px!important;
  min-height:0!important;
  height:auto!important;
  display:grid!important;
  grid-template-rows:168px minmax(210px,auto)!important;
  scroll-snap-align:start!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#fff1b8!important;
  border:1px solid rgba(180,132,0,.22)!important;
  box-shadow:0 12px 26px rgba(48,37,12,.10)!important;
  contain:layout paint!important;
}

.client-mode .client-v178-public-card img,
.client-dashboard-v138 .client-v178-public-card img{
  width:100%!important;
  height:168px!important;
  min-height:168px!important;
  max-height:168px!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  image-rendering:auto!important;
  transform:translateZ(0)!important;
  background:#100e0a!important;
}

.client-mode .client-v178-public-card > div,
.client-dashboard-v138 .client-v178-public-card > div{
  min-height:210px!important;
  height:auto!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  gap:8px!important;
  padding:16px 16px 15px!important;
  background:linear-gradient(180deg,#fffaf0 0%,#ffe99a 100%)!important;
  color:#11100c!important;
  -webkit-text-fill-color:initial!important;
}

.client-mode .client-v178-public-card span,
.client-dashboard-v138 .client-v178-public-card span{
  display:block!important;
  width:100%!important;
  color:#a97900!important;
  -webkit-text-fill-color:#a97900!important;
  font-size:.69rem!important;
  line-height:1.15!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.055em!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

.client-mode .client-v178-public-card h2,
.client-dashboard-v138 .client-v178-public-card h2{
  display:block!important;
  width:100%!important;
  margin:0!important;
  color:#0b0a08!important;
  -webkit-text-fill-color:#0b0a08!important;
  font-size:1.18rem!important;
  line-height:1.04!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  text-shadow:none!important;
}

.client-mode .client-v178-public-card p,
.client-dashboard-v138 .client-v178-public-card p{
  display:block!important;
  width:100%!important;
  margin:0!important;
  color:#2f2819!important;
  -webkit-text-fill-color:#2f2819!important;
  font-size:.84rem!important;
  line-height:1.35!important;
  font-weight:650!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  text-shadow:none!important;
}

.client-mode .client-v178-public-card .btn,
.client-dashboard-v138 .client-v178-public-card .btn{
  margin-top:auto!important;
  width:auto!important;
  min-width:0!important;
  min-height:34px!important;
  padding:9px 13px!important;
  border-radius:999px!important;
  background:#050505!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border:0!important;
  opacity:1!important;
  text-shadow:none!important;
  font-size:.64rem!important;
  line-height:1!important;
  font-weight:950!important;
}

@media(max-width:430px){
  .client-mode .client-v178-public-carousel,
  .client-dashboard-v138 .client-v178-public-carousel{
    gap:10px!important;
    padding-left:1px!important;
    padding-right:1px!important;
  }

  .client-mode .client-v178-public-card,
  .client-dashboard-v138 .client-v178-public-card{
    flex-basis:86vw!important;
    width:86vw!important;
    min-width:86vw!important;
    max-width:86vw!important;
    grid-template-rows:164px minmax(214px,auto)!important;
  }

  .client-mode .client-v178-public-card img,
  .client-dashboard-v138 .client-v178-public-card img{
    height:164px!important;
    min-height:164px!important;
    max-height:164px!important;
  }

  .client-mode .client-v178-public-card > div,
  .client-dashboard-v138 .client-v178-public-card > div{
    min-height:214px!important;
    padding:15px!important;
  }
}

@media(max-width:360px){
  .client-mode .client-v178-public-card,
  .client-dashboard-v138 .client-v178-public-card{
    flex-basis:88vw!important;
    width:88vw!important;
    min-width:88vw!important;
    max-width:88vw!important;
    grid-template-rows:154px minmax(220px,auto)!important;
  }

  .client-mode .client-v178-public-card img,
  .client-dashboard-v138 .client-v178-public-card img{
    height:154px!important;
    min-height:154px!important;
    max-height:154px!important;
  }

  .client-mode .client-v178-public-card h2,
  .client-dashboard-v138 .client-v178-public-card h2{
    font-size:1.08rem!important;
  }

  .client-mode .client-v178-public-card p,
  .client-dashboard-v138 .client-v178-public-card p{
    font-size:.80rem!important;
  }
}

/* M4RTIAL V180 - assets nuevos adaptados, sin recortes de captura */
.client-mode .client-v178-public-card,
.client-dashboard-v138 .client-v178-public-card{
  grid-template-rows:150px minmax(192px,auto)!important;
  background:#fff4c5!important;
}

.client-mode .client-v178-public-card img,
.client-dashboard-v138 .client-v178-public-card img{
  height:150px!important;
  min-height:150px!important;
  max-height:150px!important;
  object-fit:cover!important;
  object-position:center!important;
}

.client-mode .client-v178-public-card > div,
.client-dashboard-v138 .client-v178-public-card > div{
  min-height:192px!important;
  background:linear-gradient(180deg,#fffaf0 0%,#ffeaa3 100%)!important;
}

@media(max-width:430px){
  .client-mode .client-v178-public-card,
  .client-dashboard-v138 .client-v178-public-card{
    flex-basis:84vw!important;
    width:84vw!important;
    min-width:84vw!important;
    max-width:84vw!important;
    grid-template-rows:142px minmax(198px,auto)!important;
  }

  .client-mode .client-v178-public-card img,
  .client-dashboard-v138 .client-v178-public-card img{
    height:142px!important;
    min-height:142px!important;
    max-height:142px!important;
  }

  .client-mode .client-v178-public-card > div,
  .client-dashboard-v138 .client-v178-public-card > div{
    min-height:198px!important;
  }
}

@media(max-width:360px){
  .client-mode .client-v178-public-card,
  .client-dashboard-v138 .client-v178-public-card{
    grid-template-rows:132px minmax(204px,auto)!important;
  }

  .client-mode .client-v178-public-card img,
  .client-dashboard-v138 .client-v178-public-card img{
    height:132px!important;
    min-height:132px!important;
    max-height:132px!important;
  }

  .client-mode .client-v178-public-card > div,
  .client-dashboard-v138 .client-v178-public-card > div{
    min-height:204px!important;
  }
}

/* M4RTIAL V181 - carrusel publico con fotos reales de la web publica y sin carrusel interno de accesos */
.client-v203-account-head{
  width:100%!important;
  padding:2px 0 4px!important;
  margin:0!important;
}

.client-v203-account-head .client-v172-name-row{
  width:100%!important;
  min-width:0!important;
}

.client-v203-account-head .client-v172-name-row h1{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.client-mode .client-v178-public-carousel,
.client-dashboard-v138 .client-v178-public-carousel{
  gap:14px!important;
  padding:2px 1px 12px!important;
  align-items:stretch!important;
}

.client-mode .client-v178-public-card,
.client-dashboard-v138 .client-v178-public-card{
  flex:0 0 clamp(270px,72vw,330px)!important;
  width:clamp(270px,72vw,330px)!important;
  min-width:clamp(270px,72vw,330px)!important;
  max-width:330px!important;
  grid-template-rows:178px minmax(208px,auto)!important;
  min-height:386px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fff9e7 100%)!important;
  border-color:rgba(184,138,36,.22)!important;
  box-shadow:0 14px 32px rgba(48,37,12,.10)!important;
}

.client-mode .client-v178-public-card img,
.client-dashboard-v138 .client-v178-public-card img{
  width:100%!important;
  height:178px!important;
  min-height:178px!important;
  max-height:178px!important;
  object-fit:cover!important;
  object-position:center center!important;
  image-rendering:auto!important;
  filter:none!important;
}

.client-mode .client-v178-public-card:nth-child(1) img,
.client-dashboard-v138 .client-v178-public-card:nth-child(1) img{
  object-position:34% center!important;
}

.client-mode .client-v178-public-card:nth-child(2) img,
.client-dashboard-v138 .client-v178-public-card:nth-child(2) img{
  object-position:center center!important;
}

.client-mode .client-v178-public-card:nth-child(3) img,
.client-dashboard-v138 .client-v178-public-card:nth-child(3) img{
  object-position:center 36%!important;
}

.client-mode .client-v178-public-card > div,
.client-dashboard-v138 .client-v178-public-card > div{
  min-height:208px!important;
  padding:15px 15px 16px!important;
  gap:8px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fff4c6 100%)!important;
}

.client-mode .client-v178-public-card h2,
.client-dashboard-v138 .client-v178-public-card h2{
  font-size:1.13rem!important;
  line-height:1.02!important;
  letter-spacing:-.018em!important;
}

.client-mode .client-v178-public-card p,
.client-dashboard-v138 .client-v178-public-card p{
  font-size:.82rem!important;
  line-height:1.34!important;
}

@media(min-width:980px){
  .client-mode .client-v178-public-card,
  .client-dashboard-v138 .client-v178-public-card{
    flex-basis:calc((100% - 28px) / 3)!important;
    width:calc((100% - 28px) / 3)!important;
    min-width:0!important;
    max-width:none!important;
    grid-template-rows:190px minmax(218px,auto)!important;
  }

  .client-mode .client-v178-public-card img,
  .client-dashboard-v138 .client-v178-public-card img{
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
  }
}

@media(max-width:430px){
  .client-mode .client-v178-public-carousel,
  .client-dashboard-v138 .client-v178-public-carousel{
    gap:10px!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  .client-mode .client-v178-public-card,
  .client-dashboard-v138 .client-v178-public-card{
    flex-basis:84vw!important;
    width:84vw!important;
    min-width:84vw!important;
    max-width:84vw!important;
    grid-template-rows:172px minmax(216px,auto)!important;
    min-height:388px!important;
  }

  .client-mode .client-v178-public-card img,
  .client-dashboard-v138 .client-v178-public-card img{
    height:172px!important;
    min-height:172px!important;
    max-height:172px!important;
  }

  .client-mode .client-v178-public-card > div,
  .client-dashboard-v138 .client-v178-public-card > div{
    min-height:216px!important;
    padding:14px 14px 15px!important;
  }

  .client-mode .client-v178-public-card h2,
  .client-dashboard-v138 .client-v178-public-card h2{
    font-size:1.08rem!important;
  }

  .client-mode .client-v178-public-card p,
  .client-dashboard-v138 .client-v178-public-card p{
    font-size:.79rem!important;
  }
}

@media(max-width:360px){
  .client-mode .client-v178-public-card,
  .client-dashboard-v138 .client-v178-public-card{
    flex-basis:86vw!important;
    width:86vw!important;
    min-width:86vw!important;
    max-width:86vw!important;
    grid-template-rows:160px minmax(224px,auto)!important;
  }

  .client-mode .client-v178-public-card img,
  .client-dashboard-v138 .client-v178-public-card img{
    height:160px!important;
    min-height:160px!important;
    max-height:160px!important;
  }
}

/* M4RTIAL V183 - area cliente mas compacta y carrusel reducido */
.client-mode,
.client-dashboard-v138{
  --m4-client-gap:12px;
  --m4-client-pad:14px;
}

.client-dashboard-v138{
  gap:var(--m4-client-gap)!important;
  padding-top:8px!important;
  padding-bottom:14px!important;
}

.client-v203-account-head{
  padding:0!important;
  margin:0 0 2px!important;
}

.client-v203-account-head .client-v172-name-row{
  min-height:46px!important;
  gap:10px!important;
}

.client-v203-account-head .client-v172-name-row h1{
  font-size:clamp(1.18rem,4.8vw,1.7rem)!important;
  line-height:1!important;
}

.client-v203-account-head .client-v172-name-row span{
  font-size:.66rem!important;
}

.client-mode .client-v178-public-carousel-shell,
.client-dashboard-v138 .client-v178-public-carousel-shell{
  margin-top:0!important;
}

.client-mode .client-v178-public-carousel,
.client-dashboard-v138 .client-v178-public-carousel{
  gap:10px!important;
  padding:0 1px 8px!important;
}

.client-mode .client-v178-public-card,
.client-dashboard-v138 .client-v178-public-card{
  flex-basis:clamp(238px,62vw,292px)!important;
  width:clamp(238px,62vw,292px)!important;
  min-width:clamp(238px,62vw,292px)!important;
  max-width:292px!important;
  grid-template-rows:132px minmax(164px,auto)!important;
  min-height:296px!important;
  box-shadow:0 10px 22px rgba(48,37,12,.08)!important;
}

.client-mode .client-v178-public-card img,
.client-dashboard-v138 .client-v178-public-card img{
  height:132px!important;
  min-height:132px!important;
  max-height:132px!important;
}

.client-mode .client-v178-public-card > div,
.client-dashboard-v138 .client-v178-public-card > div{
  min-height:164px!important;
  padding:12px!important;
  gap:6px!important;
}

.client-mode .client-v178-public-card span,
.client-dashboard-v138 .client-v178-public-card span{
  font-size:.58rem!important;
  line-height:1.1!important;
  letter-spacing:.05em!important;
}

.client-mode .client-v178-public-card h2,
.client-dashboard-v138 .client-v178-public-card h2{
  font-size:.98rem!important;
  line-height:1.02!important;
}

.client-mode .client-v178-public-card p,
.client-dashboard-v138 .client-v178-public-card p{
  font-size:.72rem!important;
  line-height:1.26!important;
}

.client-mode .client-v178-public-card .btn,
.client-dashboard-v138 .client-v178-public-card .btn{
  min-height:30px!important;
  padding:7px 11px!important;
  font-size:.56rem!important;
}

.client-mode .panel,
.client-mode .client-service-panel-v160,
.client-dashboard-v138 .panel,
.client-dashboard-v138 .client-v138-recommended,
.client-dashboard-v138 .client-v173-next-class,
.client-dashboard-v138 .client-v173-side-card{
  padding:var(--m4-client-pad)!important;
  border-radius:18px!important;
}

.client-mode .section-head,
.client-mode .client-service-title-v160,
.client-dashboard-v138 .client-v138-section-head{
  margin-bottom:10px!important;
  gap:8px!important;
}

.client-mode .section-head h1,
.client-mode .section-head h2,
.client-mode .client-service-title-v160 h1,
.client-dashboard-v138 .client-v138-section-head h1,
.client-dashboard-v138 .client-v173-next-class h2{
  line-height:1!important;
}

.client-mode .client-service-title-v160 h1,
.client-dashboard-v138 .client-v173-next-class h2{
  font-size:clamp(1.22rem,5.3vw,1.8rem)!important;
}

.client-mode .section-head p,
.client-mode .client-service-title-v160 p,
.client-dashboard-v138 .client-v173-next-class p,
.client-dashboard-v138 .client-v173-side-card p{
  font-size:.82rem!important;
  line-height:1.34!important;
}

.client-v173-next-layout{
  gap:10px!important;
  margin-top:0!important;
}

.client-dashboard-v138 .client-v138-recommended{
  min-height:0!important;
  gap:10px!important;
}

.client-dashboard-v138 .client-v138-recommended h2{
  font-size:1.08rem!important;
  line-height:1.02!important;
}

.client-dashboard-v138 .client-v138-recommended p{
  font-size:.78rem!important;
  line-height:1.3!important;
}

.client-billing-summary-v177,
.client-billing-upcoming-v177,
.client-v174-grid,
.client-v174-form-grid{
  gap:8px!important;
}

.client-billing-summary-v177 article,
.client-billing-upcoming-v177 div,
.client-mode .client-v174-card,
.client-mode .client-v175-calendar-panel,
.client-mode .client-v175-absence-panel{
  padding:12px!important;
  border-radius:16px!important;
}

.client-mode .btn,
.client-dashboard-v138 .btn{
  min-height:34px!important;
  padding:8px 13px!important;
  font-size:.68rem!important;
}

@media(min-width:980px){
  .client-dashboard-v138{
    gap:14px!important;
  }

  .client-mode .client-v178-public-card,
  .client-dashboard-v138 .client-v178-public-card{
    flex-basis:calc((100% - 20px) / 3)!important;
    width:calc((100% - 20px) / 3)!important;
    min-width:0!important;
    max-width:none!important;
    grid-template-rows:150px minmax(168px,auto)!important;
    min-height:318px!important;
  }

  .client-mode .client-v178-public-card img,
  .client-dashboard-v138 .client-v178-public-card img{
    height:150px!important;
    min-height:150px!important;
    max-height:150px!important;
  }

  .client-mode .client-v178-public-card > div,
  .client-dashboard-v138 .client-v178-public-card > div{
    min-height:168px!important;
  }

  .client-v173-next-layout{
    grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)!important;
  }
}

@media(max-width:760px){
  .client-mode,
  .client-dashboard-v138{
    --m4-client-gap:9px;
    --m4-client-pad:12px;
  }

  .client-dashboard-v138{
    padding-top:6px!important;
    padding-bottom:84px!important;
  }

  .client-mode .client-v178-public-card,
  .client-dashboard-v138 .client-v178-public-card{
    flex-basis:72vw!important;
    width:72vw!important;
    min-width:72vw!important;
    max-width:260px!important;
    grid-template-rows:120px minmax(154px,auto)!important;
    min-height:274px!important;
  }

  .client-mode .client-v178-public-card img,
  .client-dashboard-v138 .client-v178-public-card img{
    height:120px!important;
    min-height:120px!important;
    max-height:120px!important;
  }

  .client-mode .client-v178-public-card > div,
  .client-dashboard-v138 .client-v178-public-card > div{
    min-height:154px!important;
    padding:10px!important;
  }

  .client-mode .client-v178-public-card h2,
  .client-dashboard-v138 .client-v178-public-card h2{
    font-size:.92rem!important;
  }

  .client-mode .client-v178-public-card p,
  .client-dashboard-v138 .client-v178-public-card p{
    font-size:.68rem!important;
    line-height:1.24!important;
  }
}

@media(max-width:380px){
  .client-mode .client-v178-public-card,
  .client-dashboard-v138 .client-v178-public-card{
    flex-basis:76vw!important;
    width:76vw!important;
    min-width:76vw!important;
    max-width:246px!important;
    grid-template-rows:112px minmax(158px,auto)!important;
  }

  .client-mode .client-v178-public-card img,
  .client-dashboard-v138 .client-v178-public-card img{
    height:112px!important;
    min-height:112px!important;
    max-height:112px!important;
  }
}

/* =====================================================================
   M4RTIAL V185 - horario cliente como calendario semanal completo
   ===================================================================== */

.client-schedule-page-v203{
  gap:10px!important;
}

.client-schedule-title-v203{
  min-height:auto!important;
  padding:14px 16px!important;
  border-radius:18px!important;
}

.client-schedule-title-v203 p{
  margin:5px 0 0!important;
}

.client-v203-title-meta{
  margin-top:9px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:7px!important;
}

.client-v203-title-meta strong,
.client-v203-title-meta span{
  width:max-content!important;
  max-width:100%!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  font-size:.72rem!important;
  line-height:1.1!important;
  font-weight:950!important;
}

.client-v203-title-meta strong{
  background:#17130c!important;
  color:#fff!important;
}

.client-v203-title-meta span{
  background:#fff7d8!important;
  color:#5f4b0d!important;
  border:1px solid rgba(143,105,16,.16)!important;
}

.client-v203-next-session{
  padding:13px 15px!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(214,169,0,.16),transparent 36%),
    linear-gradient(145deg,#fff,#fff6d8)!important;
}

.client-v203-calendar-panel{
  padding:12px!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#fff,#fffdf8)!important;
}

.client-v203-calendar-head{
  margin-bottom:10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}

.client-v203-calendar-head h2{
  margin:2px 0 0!important;
  color:#17130c!important;
  font-size:1.18rem!important;
  line-height:1.05!important;
  letter-spacing:0!important;
}

.client-v203-calendar-head > strong{
  flex:0 0 auto!important;
  padding:8px 11px!important;
  border-radius:999px!important;
  background:#17130c!important;
  color:#fff!important;
  font-size:.76rem!important;
  line-height:1!important;
}

.client-v203-week-calendar{
  display:grid!important;
  grid-template-columns:74px repeat(6,minmax(120px,1fr))!important;
  gap:6px!important;
  overflow-x:auto!important;
  padding-bottom:3px!important;
  -webkit-overflow-scrolling:touch!important;
}

.client-v203-time-head,
.client-v203-day-head,
.client-v203-time-cell,
.client-v203-calendar-cell{
  min-width:0!important;
}

.client-v203-time-head,
.client-v203-day-head{
  position:sticky!important;
  top:0!important;
  z-index:2!important;
  min-height:46px!important;
  padding:9px!important;
  display:grid!important;
  align-content:center!important;
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:14px!important;
  background:#fffaf0!important;
}

.client-v203-time-head{
  color:#786a51!important;
  font-size:.66rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
}

.client-v203-day-head span,
.client-v203-day-head strong{
  display:block!important;
}

.client-v203-day-head span{
  color:#17130c!important;
  font-size:.73rem!important;
  font-weight:950!important;
  line-height:1.1!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
}

.client-v203-day-head strong{
  margin-top:3px!important;
  color:#74664d!important;
  font-size:.78rem!important;
  line-height:1.1!important;
}

.client-v203-day-head.is-today{
  border-color:rgba(214,169,0,.45)!important;
  background:linear-gradient(135deg,#f2c400,#fff4bd)!important;
}

.client-v203-time-cell{
  min-height:86px!important;
  padding:9px 8px!important;
  display:grid!important;
  align-content:start!important;
  border-radius:13px!important;
  background:#17130c!important;
  color:#fff!important;
  font-size:.78rem!important;
  font-weight:950!important;
  line-height:1!important;
}

.client-v203-calendar-cell{
  min-height:86px!important;
  padding:6px!important;
  display:grid!important;
  align-content:start!important;
  gap:6px!important;
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 8px 18px rgba(62,45,0,.04)!important;
}

.client-v203-calendar-cell.is-today{
  border-color:rgba(214,169,0,.26)!important;
  background:#fffdf5!important;
}

.client-v203-calendar-cell.is-empty{
  background:#fbfaf6!important;
}

.client-v203-class-card{
  min-width:0!important;
  padding:8px!important;
  display:block!important;
  border:1px solid rgba(23,19,12,.12)!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#252017,#100e0a)!important;
  color:#fff!important;
  outline:none!important;
}

.client-v203-class-card:focus{
  box-shadow:0 0 0 3px rgba(242,196,0,.35)!important;
}

.client-v203-class-card.is-own{
  border-color:rgba(143,105,16,.42)!important;
  background:linear-gradient(135deg,#f2c400,#d6a900)!important;
  color:#17130c!important;
}

.client-v203-class-card span,
.client-v203-class-card strong,
.client-v203-class-card small{
  display:block!important;
}

.client-v203-class-card span{
  font-size:.70rem!important;
  line-height:1.05!important;
  font-weight:950!important;
}

.client-v203-class-card strong{
  margin-top:4px!important;
  color:inherit!important;
  font-size:.82rem!important;
  line-height:1.08!important;
  font-weight:950!important;
  overflow-wrap:anywhere!important;
}

.client-v203-class-card small{
  margin-top:4px!important;
  color:rgba(255,255,255,.76)!important;
  font-size:.66rem!important;
  line-height:1.15!important;
  font-weight:850!important;
  overflow-wrap:anywhere!important;
}

.client-v203-class-card.is-own small{
  color:#463707!important;
}

.client-v203-calendar-cell em,
.client-v203-mobile-day em{
  min-height:58px!important;
  display:grid!important;
  place-items:center!important;
  border:1px dashed rgba(54,43,18,.16)!important;
  border-radius:12px!important;
  color:#8a806f!important;
  font-size:.74rem!important;
  font-style:normal!important;
  font-weight:850!important;
}

.client-v203-mobile-days{
  display:none!important;
}

.client-v203-absence-panel{
  padding:12px!important;
}

.client-v203-section-head{
  margin-bottom:8px!important;
}

.client-v203-absence-form{
  grid-template-columns:minmax(150px,.45fr) minmax(0,1fr) auto!important;
  align-items:end!important;
}

.client-v203-absence-form textarea{
  min-height:48px!important;
}

@media(max-width:980px){
  .client-v203-week-calendar{
    grid-template-columns:68px repeat(6,minmax(132px,1fr))!important;
  }
}

@media(max-width:760px){
  .client-schedule-page-v203{
    width:calc(100% - 14px)!important;
    gap:8px!important;
    padding-bottom:84px!important;
  }

  .client-schedule-title-v203{
    padding:12px!important;
  }

  .client-schedule-title-v203 h1{
    font-size:1.55rem!important;
  }

  .client-v203-title-meta{
    gap:6px!important;
  }

  .client-v203-title-meta strong,
  .client-v203-title-meta span{
    width:100%!important;
  }

  .client-v203-next-session,
  .client-v203-calendar-panel{
    padding:10px!important;
  }

  .client-v203-calendar-head{
    align-items:flex-start!important;
  }

  .client-v203-calendar-head h2{
    font-size:1.02rem!important;
  }

  .client-v203-week-calendar{
    display:none!important;
  }

  .client-v203-mobile-days{
    display:grid!important;
    gap:8px!important;
  }

  .client-v203-mobile-day{
    display:grid!important;
    grid-template-columns:76px minmax(0,1fr)!important;
    gap:7px!important;
    padding:7px!important;
    border:1px solid rgba(54,43,18,.10)!important;
    border-radius:15px!important;
    background:#fff!important;
  }

  .client-v203-mobile-day.is-today{
    border-color:rgba(214,169,0,.38)!important;
    background:#fffaf0!important;
  }

  .client-v203-mobile-day header{
    padding:7px!important;
    border-radius:12px!important;
    background:#17130c!important;
    color:#fff!important;
  }

  .client-v203-mobile-day header span,
  .client-v203-mobile-day header strong{
    display:block!important;
  }

  .client-v203-mobile-day header span{
    font-size:.66rem!important;
    line-height:1.05!important;
    font-weight:950!important;
    text-transform:uppercase!important;
  }

  .client-v203-mobile-day header strong{
    margin-top:5px!important;
    font-size:.72rem!important;
    line-height:1.1!important;
  }

  .client-v203-mobile-day > div{
    display:grid!important;
    gap:6px!important;
  }

  .client-v203-class-card{
    padding:8px!important;
    border-radius:12px!important;
  }

  .client-v203-class-card strong{
    font-size:.82rem!important;
  }

  .client-v203-class-card small{
    font-size:.66rem!important;
  }

  .client-v203-absence-form{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .client-v203-absence-form textarea{
    min-height:58px!important;
  }
}

@media(max-width:390px){
  .client-v203-mobile-day{
    grid-template-columns:68px minmax(0,1fr)!important;
    gap:6px!important;
  }

  .client-v203-mobile-day header{
    padding:7px 6px!important;
  }
}

/* =====================================================================
   M4RTIAL V186 - horario semanal compacto sin formulario de ausencia
   ===================================================================== */

.client-schedule-page-v203{
  gap:9px!important;
}

.client-schedule-title-v203{
  min-height:auto!important;
  padding:12px 15px!important;
  border-radius:18px!important;
}

.client-schedule-title-v203 h1{
  font-size:clamp(1.35rem,3vw,1.9rem)!important;
  line-height:1!important;
}

.client-schedule-title-v203 p{
  margin:5px 0 0!important;
  max-width:720px!important;
  font-size:.82rem!important;
  line-height:1.28!important;
}

.client-v203-title-meta{
  margin-top:8px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:6px!important;
}

.client-v203-title-meta strong,
.client-v203-title-meta span{
  width:max-content!important;
  max-width:100%!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  font-size:.70rem!important;
  line-height:1.1!important;
  font-weight:950!important;
}

.client-v203-title-meta strong{
  background:#17130c!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

.client-v203-title-meta span{
  background:#fff7d8!important;
  color:#5f4b0d!important;
  -webkit-text-fill-color:#5f4b0d!important;
  border:1px solid rgba(143,105,16,.16)!important;
}

.client-v203-next-session{
  padding:12px 14px!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(214,169,0,.14),transparent 34%),
    linear-gradient(145deg,#fff,#fff8df)!important;
}

.client-v203-next-session span,
.client-v203-next-session strong,
.client-v203-next-session small{
  -webkit-text-fill-color:currentColor!important;
}

.client-v203-calendar-panel{
  padding:11px!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#fff,#fffdf8)!important;
}

.client-v203-calendar-head{
  margin-bottom:9px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}

.client-v203-calendar-head h2{
  margin:2px 0 0!important;
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
  font-size:1.08rem!important;
  line-height:1.05!important;
  letter-spacing:0!important;
}

.client-v203-calendar-head > strong{
  flex:0 0 auto!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:#17130c!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:.72rem!important;
  line-height:1!important;
}

.client-v203-week-board{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:7px!important;
  overflow:visible!important;
}

.client-v203-day-card{
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto 1fr!important;
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:15px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 8px 18px rgba(62,45,0,.04)!important;
}

.client-v203-day-card.is-today{
  border-color:rgba(214,169,0,.38)!important;
  box-shadow:0 10px 22px rgba(177,132,18,.10)!important;
}

.client-v203-day-card header{
  min-height:42px!important;
  padding:8px 9px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:7px!important;
  border-bottom:1px solid rgba(54,43,18,.08)!important;
  background:#fffaf0!important;
}

.client-v203-day-card.is-today header{
  background:linear-gradient(135deg,#f2c400,#fff4bd)!important;
}

.client-v203-day-card header span,
.client-v203-day-card header strong{
  display:block!important;
}

.client-v203-day-card header span{
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
  font-size:.66rem!important;
  font-weight:950!important;
  line-height:1.05!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}

.client-v203-day-card header strong{
  color:#74664d!important;
  -webkit-text-fill-color:#74664d!important;
  font-size:.72rem!important;
  line-height:1.05!important;
  text-align:right!important;
  white-space:nowrap!important;
}

.client-v203-day-classes{
  padding:7px!important;
  display:grid!important;
  align-content:start!important;
  gap:6px!important;
}

.client-v203-class-card{
  min-width:0!important;
  padding:7px 8px!important;
  display:block!important;
  border:1px solid rgba(54,43,18,.12)!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
  outline:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
}

.client-v203-class-card:focus{
  box-shadow:0 0 0 3px rgba(242,196,0,.34)!important;
}

.client-v203-class-card.is-own{
  border-color:rgba(143,105,16,.38)!important;
  background:linear-gradient(135deg,#f2c400,#ffe681)!important;
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
}

.client-v203-class-card span,
.client-v203-class-card strong,
.client-v203-class-card small{
  display:block!important;
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
}

.client-v203-class-card span{
  font-size:.68rem!important;
  line-height:1.05!important;
  font-weight:950!important;
}

.client-v203-class-card strong{
  margin-top:3px!important;
  font-size:.78rem!important;
  line-height:1.08!important;
  font-weight:950!important;
  overflow-wrap:anywhere!important;
}

.client-v203-class-card small{
  margin-top:3px!important;
  color:#6f624b!important;
  -webkit-text-fill-color:#6f624b!important;
  font-size:.62rem!important;
  line-height:1.12!important;
  font-weight:850!important;
  overflow-wrap:anywhere!important;
}

.client-v203-class-card.is-own small{
  color:#4b3904!important;
  -webkit-text-fill-color:#4b3904!important;
}

.client-v203-day-classes em{
  min-height:44px!important;
  display:grid!important;
  place-items:center!important;
  border:1px dashed rgba(54,43,18,.16)!important;
  border-radius:11px!important;
  color:#8a806f!important;
  -webkit-text-fill-color:#8a806f!important;
  font-size:.70rem!important;
  font-style:normal!important;
  font-weight:850!important;
}

.client-schedule-page-v203 .btn,
.client-schedule-page-v203 button{
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
  text-shadow:none!important;
}

.client-schedule-page-v203 .btn:not(.gold){
  background:#fff!important;
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
  border-color:rgba(23,19,12,.18)!important;
}

.client-schedule-page-v203 .btn.gold{
  background:linear-gradient(135deg,#f2c400,#d6a900)!important;
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
}

@media(max-width:1180px){
  .client-v203-week-board{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  .client-schedule-page-v203{
    width:calc(100% - 14px)!important;
    gap:8px!important;
    padding-bottom:84px!important;
  }

  .client-schedule-title-v203{
    padding:11px 12px!important;
  }

  .client-schedule-title-v203 h1{
    font-size:1.48rem!important;
  }

  .client-v203-title-meta strong,
  .client-v203-title-meta span{
    width:100%!important;
  }

  .client-v203-next-session,
  .client-v203-calendar-panel{
    padding:10px!important;
  }

  .client-v203-calendar-head{
    align-items:flex-start!important;
  }

  .client-v203-calendar-head h2{
    font-size:1rem!important;
  }

  .client-v203-week-board{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }

  .client-v203-day-card{
    grid-template-columns:72px minmax(0,1fr)!important;
    grid-template-rows:1fr!important;
  }

  .client-v203-day-card header{
    min-height:0!important;
    padding:8px 7px!important;
    display:grid!important;
    align-content:start!important;
    border-right:1px solid rgba(54,43,18,.08)!important;
    border-bottom:0!important;
    background:#17130c!important;
  }

  .client-v203-day-card.is-today header{
    background:linear-gradient(135deg,#f2c400,#fff4bd)!important;
  }

  .client-v203-day-card:not(.is-today) header span,
  .client-v203-day-card:not(.is-today) header strong{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }

  .client-v203-day-card header strong{
    margin-top:5px!important;
    text-align:left!important;
    white-space:normal!important;
  }

  .client-v203-day-classes{
    padding:7px!important;
  }

  .client-v203-class-card{
    padding:8px!important;
  }
}

@media(max-width:390px){
  .client-v203-day-card{
    grid-template-columns:66px minmax(0,1fr)!important;
  }

  .client-v203-day-card header{
    padding:7px 6px!important;
  }
}

/* =====================================================================
   M4RTIAL V187 - horario minimalista: menos es mas
   ===================================================================== */

.client-schedule-page-v203{
  gap:8px!important;
}

.client-schedule-title-v203{
  min-height:auto!important;
  padding:12px 14px!important;
  border-radius:16px!important;
}

.client-schedule-title-v203 h1{
  margin:0!important;
  font-size:clamp(1.35rem,3vw,1.85rem)!important;
  line-height:1!important;
  letter-spacing:0!important;
}

.client-v203-title-meta{
  margin-top:8px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}

.client-v203-title-meta strong,
.client-v203-title-meta span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  font-size:.70rem!important;
  line-height:1!important;
  font-weight:950!important;
}

.client-v203-title-meta strong{
  background:#17130c!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

.client-v203-title-meta span{
  background:#fff7d8!important;
  color:#5f4b0d!important;
  -webkit-text-fill-color:#5f4b0d!important;
  border:1px solid rgba(143,105,16,.16)!important;
}

.client-v203-next-line{
  min-height:46px!important;
  padding:9px 12px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:9px!important;
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,#fff,#fff8df)!important;
  box-shadow:0 8px 18px rgba(62,45,0,.045)!important;
}

.client-v203-next-line span,
.client-v203-next-line strong,
.client-v203-next-line small{
  min-width:0!important;
  display:block!important;
  line-height:1.08!important;
  -webkit-text-fill-color:currentColor!important;
}

.client-v203-next-line span{
  padding:5px 8px!important;
  border-radius:999px!important;
  background:#17130c!important;
  color:#fff!important;
  font-size:.62rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}

.client-v203-next-line strong{
  color:#17130c!important;
  font-size:.92rem!important;
  font-weight:950!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.client-v203-next-line small{
  color:#685b44!important;
  font-size:.72rem!important;
  font-weight:850!important;
  white-space:nowrap!important;
}

.client-v203-agenda-panel{
  padding:10px!important;
  border-radius:16px!important;
  background:#fff!important;
}

.client-v203-agenda-head{
  margin-bottom:7px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}

.client-v203-agenda-head h2{
  margin:0!important;
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
  font-size:1.02rem!important;
  line-height:1!important;
  letter-spacing:0!important;
}

.client-v203-agenda-head span{
  flex:0 0 auto!important;
  color:#76694f!important;
  -webkit-text-fill-color:#76694f!important;
  font-size:.70rem!important;
  font-weight:900!important;
  line-height:1!important;
}

.client-v203-agenda-list{
  display:grid!important;
  gap:5px!important;
}

.client-v203-day-line{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:104px minmax(0,1fr)!important;
  align-items:start!important;
  gap:8px!important;
  padding:7px!important;
  border:1px solid rgba(54,43,18,.09)!important;
  border-radius:13px!important;
  background:#fffdf8!important;
}

.client-v203-day-line.is-today{
  border-color:rgba(214,169,0,.36)!important;
  background:#fff9e7!important;
}

.client-v203-day-label{
  min-height:34px!important;
  padding:7px 8px!important;
  display:grid!important;
  align-content:center!important;
  border-radius:10px!important;
  background:#17130c!important;
  color:#fff!important;
}

.client-v203-day-line.is-today .client-v203-day-label{
  background:linear-gradient(135deg,#f2c400,#ffe681)!important;
  color:#17130c!important;
}

.client-v203-day-label strong,
.client-v203-day-label span{
  display:block!important;
  line-height:1.05!important;
  -webkit-text-fill-color:currentColor!important;
}

.client-v203-day-label strong{
  font-size:.70rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}

.client-v203-day-label span{
  margin-top:3px!important;
  font-size:.66rem!important;
  font-weight:850!important;
  opacity:.82!important;
}

.client-v203-day-slots{
  min-width:0!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px!important;
}

.client-v203-class-chip{
  min-width:0!important;
  max-width:100%!important;
  min-height:34px!important;
  padding:6px 8px!important;
  display:inline-grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:6px!important;
  border:1px solid rgba(54,43,18,.12)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
  outline:none!important;
}

.client-v203-class-chip:focus{
  box-shadow:0 0 0 3px rgba(242,196,0,.32)!important;
}

.client-v203-class-chip.is-own{
  border-color:rgba(143,105,16,.42)!important;
  background:linear-gradient(135deg,#f2c400,#ffe681)!important;
}

.client-v203-class-chip b,
.client-v203-class-chip span,
.client-v203-class-chip i{
  min-width:0!important;
  display:block!important;
  line-height:1!important;
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
}

.client-v203-class-chip b{
  font-size:.70rem!important;
  font-weight:950!important;
  white-space:nowrap!important;
}

.client-v203-class-chip span{
  font-size:.74rem!important;
  font-weight:900!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.client-v203-class-chip i{
  padding:4px 6px!important;
  border-radius:999px!important;
  background:rgba(23,19,12,.10)!important;
  font-size:.56rem!important;
  font-style:normal!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.03em!important;
  white-space:nowrap!important;
}

.client-v203-day-slots em{
  min-height:34px!important;
  padding:8px 10px!important;
  display:inline-grid!important;
  place-items:center!important;
  border:1px dashed rgba(54,43,18,.14)!important;
  border-radius:999px!important;
  color:#8a806f!important;
  -webkit-text-fill-color:#8a806f!important;
  font-size:.70rem!important;
  font-style:normal!important;
  font-weight:850!important;
}

.client-schedule-page-v203 .btn,
.client-schedule-page-v203 button{
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
  text-shadow:none!important;
}

@media(max-width:760px){
  .client-schedule-page-v203{
    width:calc(100% - 14px)!important;
    padding-bottom:84px!important;
  }

  .client-schedule-title-v203,
  .client-v203-agenda-panel{
    padding:10px!important;
  }

  .client-v203-title-meta strong,
  .client-v203-title-meta span{
    width:100%!important;
  }

  .client-v203-next-line{
    grid-template-columns:1fr!important;
    gap:5px!important;
  }

  .client-v203-next-line span{
    width:max-content!important;
  }

  .client-v203-next-line strong,
  .client-v203-next-line small{
    white-space:normal!important;
  }

  .client-v203-agenda-head{
    align-items:flex-start!important;
  }

  .client-v203-day-line{
    grid-template-columns:74px minmax(0,1fr)!important;
    gap:6px!important;
    padding:6px!important;
  }

  .client-v203-day-label{
    min-height:100%!important;
    padding:7px 6px!important;
  }

  .client-v203-day-slots{
    gap:5px!important;
  }

  .client-v203-class-chip{
    width:100%!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    border-radius:11px!important;
  }

  .client-v203-class-chip i{
    grid-column:1 / -1!important;
    width:max-content!important;
  }
}

@media(max-width:390px){
  .client-v203-day-line{
    grid-template-columns:66px minmax(0,1fr)!important;
  }

  .client-v203-day-label strong{
    font-size:.64rem!important;
  }
}

/* =====================================================================
   M4RTIAL V188 - calendario semanal seleccionable por dia
   ===================================================================== */

.client-schedule-page-v203{
  gap:8px!important;
}

.client-schedule-title-v203{
  min-height:auto!important;
  padding:12px 14px!important;
  border-radius:16px!important;
}

.client-schedule-title-v203 h1{
  margin:0!important;
  font-size:clamp(1.35rem,3vw,1.85rem)!important;
  line-height:1!important;
  letter-spacing:0!important;
}

.client-v203-title-meta{
  margin-top:8px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}

.client-v203-title-meta strong,
.client-v203-title-meta span{
  min-height:28px!important;
  padding:6px 9px!important;
  display:inline-flex!important;
  align-items:center!important;
  border-radius:999px!important;
  font-size:.70rem!important;
  line-height:1!important;
  font-weight:950!important;
}

.client-v203-title-meta strong{
  background:#17130c!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

.client-v203-title-meta span{
  background:#fff7d8!important;
  color:#5f4b0d!important;
  -webkit-text-fill-color:#5f4b0d!important;
  border:1px solid rgba(143,105,16,.16)!important;
}

.client-v203-next-line{
  min-height:44px!important;
  padding:8px 11px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:9px!important;
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,#fff,#fff8df)!important;
  box-shadow:0 8px 18px rgba(62,45,0,.045)!important;
}

.client-v203-next-line span,
.client-v203-next-line strong,
.client-v203-next-line small{
  min-width:0!important;
  display:block!important;
  line-height:1.08!important;
  -webkit-text-fill-color:currentColor!important;
}

.client-v203-next-line span{
  padding:5px 8px!important;
  border-radius:999px!important;
  background:#17130c!important;
  color:#fff!important;
  font-size:.62rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}

.client-v203-next-line strong{
  color:#17130c!important;
  font-size:.92rem!important;
  font-weight:950!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.client-v203-next-line small{
  color:#685b44!important;
  font-size:.72rem!important;
  font-weight:850!important;
  white-space:nowrap!important;
}

.client-v203-calendar-panel{
  padding:10px!important;
  border-radius:16px!important;
  background:#fff!important;
}

.client-v203-calendar-head{
  margin-bottom:8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}

.client-v203-calendar-head h2{
  margin:0!important;
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
  font-size:1.02rem!important;
  line-height:1!important;
  letter-spacing:0!important;
}

.client-v203-calendar-head span{
  flex:0 0 auto!important;
  color:#76694f!important;
  -webkit-text-fill-color:#76694f!important;
  font-size:.70rem!important;
  font-weight:900!important;
  line-height:1!important;
}

.client-v203-week-picker{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:6px!important;
}

.client-v203-day-button{
  min-width:0!important;
  min-height:82px!important;
  padding:8px 7px!important;
  display:grid!important;
  align-content:center!important;
  justify-items:center!important;
  gap:4px!important;
  border:1px solid rgba(54,43,18,.11)!important;
  border-radius:14px!important;
  background:#fffdf8!important;
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
  box-shadow:none!important;
  cursor:pointer!important;
  text-align:center!important;
}

.client-v203-day-button:hover,
.client-v203-day-button:focus{
  border-color:rgba(214,169,0,.42)!important;
  box-shadow:0 0 0 3px rgba(242,196,0,.20)!important;
  outline:none!important;
}

.client-v203-day-button.is-selected{
  border-color:rgba(143,105,16,.44)!important;
  background:linear-gradient(135deg,#f2c400,#ffe681)!important;
}

.client-v203-day-button.is-today:not(.is-selected){
  border-color:rgba(214,169,0,.34)!important;
}

.client-v203-day-button span,
.client-v203-day-button strong,
.client-v203-day-button small{
  display:block!important;
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  line-height:1!important;
}

.client-v203-day-button span{
  font-size:.68rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
}

.client-v203-day-button strong{
  font-size:1.28rem!important;
  font-weight:950!important;
}

.client-v203-day-button small{
  color:#76694f!important;
  -webkit-text-fill-color:#76694f!important;
  font-size:.64rem!important;
  font-weight:850!important;
}

.client-v203-day-button.is-selected small{
  color:#4b3904!important;
  -webkit-text-fill-color:#4b3904!important;
}

.client-v203-day-panels{
  margin-top:8px!important;
}

.client-v203-day-panel[hidden]{
  display:none!important;
}

.client-v203-day-panel{
  padding:10px!important;
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:15px!important;
  background:#fffaf0!important;
}

.client-v203-day-panel header{
  margin-bottom:8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}

.client-v203-day-panel header span,
.client-v203-day-panel header strong,
.client-v203-day-panel header small{
  display:block!important;
  line-height:1.05!important;
  -webkit-text-fill-color:currentColor!important;
}

.client-v203-day-panel header span{
  color:#76694f!important;
  font-size:.66rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
}

.client-v203-day-panel header strong{
  margin-top:3px!important;
  color:#17130c!important;
  font-size:1rem!important;
  font-weight:950!important;
}

.client-v203-day-panel header small{
  flex:0 0 auto!important;
  color:#76694f!important;
  font-size:.70rem!important;
  font-weight:850!important;
}

.client-v203-day-classes{
  display:grid!important;
  gap:6px!important;
}

.client-v203-class-row{
  min-height:46px!important;
  padding:8px 9px!important;
  display:grid!important;
  grid-template-columns:98px minmax(0,1fr)!important;
  align-items:center!important;
  gap:9px!important;
  border:1px solid rgba(54,43,18,.10)!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
  outline:none!important;
}

.client-v203-class-row:focus{
  box-shadow:0 0 0 3px rgba(242,196,0,.28)!important;
}

.client-v203-class-row.is-own{
  border-color:rgba(143,105,16,.38)!important;
  background:linear-gradient(135deg,#fff,#fff4bd)!important;
}

.client-v203-class-row time{
  padding:6px 8px!important;
  display:block!important;
  border-radius:999px!important;
  background:#17130c!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:.70rem!important;
  font-weight:950!important;
  line-height:1!important;
  text-align:center!important;
}

.client-v203-class-row.is-own time{
  background:#f2c400!important;
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
}

.client-v203-class-row div,
.client-v203-class-row strong,
.client-v203-class-row span{
  min-width:0!important;
  display:block!important;
  line-height:1.1!important;
  -webkit-text-fill-color:currentColor!important;
}

.client-v203-class-row strong{
  color:#17130c!important;
  font-size:.88rem!important;
  font-weight:950!important;
}

.client-v203-class-row span{
  margin-top:3px!important;
  color:#6b5f48!important;
  font-size:.70rem!important;
  font-weight:850!important;
}

.client-v203-day-classes em{
  min-height:46px!important;
  display:grid!important;
  place-items:center!important;
  border:1px dashed rgba(54,43,18,.16)!important;
  border-radius:13px!important;
  color:#8a806f!important;
  -webkit-text-fill-color:#8a806f!important;
  font-size:.76rem!important;
  font-style:normal!important;
  font-weight:850!important;
}

@media(max-width:760px){
  .client-schedule-page-v203{
    width:calc(100% - 14px)!important;
    padding-bottom:84px!important;
  }

  .client-schedule-title-v203,
  .client-v203-calendar-panel{
    padding:10px!important;
  }

  .client-v203-title-meta strong,
  .client-v203-title-meta span{
    width:100%!important;
  }

  .client-v203-next-line{
    grid-template-columns:1fr!important;
    gap:5px!important;
  }

  .client-v203-next-line span{
    width:max-content!important;
  }

  .client-v203-next-line strong,
  .client-v203-next-line small{
    white-space:normal!important;
  }

  .client-v203-calendar-head{
    align-items:flex-start!important;
  }

  .client-v203-week-picker{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .client-v203-day-button{
    min-height:72px!important;
    padding:7px!important;
  }

  .client-v203-day-button strong{
    font-size:1.12rem!important;
  }

  .client-v203-day-panel{
    padding:9px!important;
  }

  .client-v203-day-panel header{
    align-items:flex-start!important;
  }

  .client-v203-day-panel header small{
    text-align:right!important;
  }

  .client-v203-class-row{
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:7px!important;
  }
}

@media(max-width:390px){
  .client-v203-week-picker{
    gap:5px!important;
  }

  .client-v203-day-button small{
    font-size:.58rem!important;
  }

  .client-v203-class-row{
    grid-template-columns:1fr!important;
  }

  .client-v203-class-row time{
    width:max-content!important;
  }
}

/* =====================================================================
   M4RTIAL V190 - recorte de espacio inferior sobrante global
   ===================================================================== */

.app,
.app.client-mode,
.app.admin-mode{
  padding-bottom:12px!important;
}

.client-dashboard-v138,
.client-service-page-v160,
.client-schedule-page-v203,
.client-account-page-v174,
.admin-dashboard-page,
.admin-form-page,
.admin-system-page,
.admin-service-page-v160,
.outdoor-page,
.public-landing{
  margin-bottom:0!important;
}

.client-service-page-v160,
.client-dashboard-v138,
.admin-dashboard-page,
.admin-form-page,
.admin-system-page{
  padding-bottom:8px!important;
}

.client-mode .panel:last-child,
.client-mode .card:last-child,
.client-mode section:last-child,
.admin-mode .panel:last-child,
.admin-mode .card:last-child,
.admin-mode section:last-child{
  margin-bottom:0!important;
}

.footer-note{
  margin-top:8px!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}

@media(min-width:761px){
  .app,
  .app.client-mode,
  .app.admin-mode,
  .footer-note{
    padding-bottom:10px!important;
  }
}

@media(max-width:760px){
  .app,
  .app.client-mode,
  .app.admin-mode{
    padding-bottom:10px!important;
  }

  .client-dashboard-v138,
  .client-service-page-v160,
  .client-schedule-page-v203,
  .client-account-page-v174,
  .admin-dashboard-page,
  .admin-form-page,
  .admin-system-page{
    padding-bottom:calc(58px + env(safe-area-inset-bottom))!important;
  }

  .client-mode .panel:last-child,
  .client-mode .card:last-child,
  .client-mode section:last-child,
  .admin-mode .panel:last-child,
  .admin-mode .card:last-child,
  .admin-mode section:last-child{
    margin-bottom:0!important;
  }

  .footer-note{
    display:none!important;
  }
}

/* =====================================================================
   M4RTIAL V191 - fondo unico sin marco rectangular en web privada
   ===================================================================== */

html,
body,
#app{
  background:#fffaf0!important;
  background-image:none!important;
}

.app.client-mode,
.app.admin-mode{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
}

.app.client-mode::before,
.app.client-mode::after,
.app.admin-mode::before,
.app.admin-mode::after{
  display:none!important;
  content:none!important;
}

.app.client-mode main,
.app.admin-mode main,
.client-dashboard-v138,
.client-service-page-v160,
.client-schedule-page-v203,
.client-account-page-v174,
.admin-dashboard-page,
.admin-form-page,
.admin-system-page,
.admin-service-page-v160,
.outdoor-page,
.admin-page-shell,
.client-page-shell{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
}

.client-dashboard-v138::before,
.client-dashboard-v138::after,
.client-service-page-v160::before,
.client-service-page-v160::after,
.admin-dashboard-page::before,
.admin-dashboard-page::after,
.admin-form-page::before,
.admin-form-page::after,
.admin-system-page::before,
.admin-system-page::after{
  display:none!important;
  content:none!important;
}

.client-mode .hero,
.admin-mode .hero,
.app.client-mode > .panel,
.app.admin-mode > .panel{
  background-clip:border-box!important;
}

@media(max-width:760px){
  html,
  body,
  #app{
    background:#fffaf0!important;
    background-image:none!important;
  }

  .app.client-mode,
  .app.admin-mode,
  .client-dashboard-v138,
  .client-service-page-v160,
  .client-schedule-page-v203,
  .client-account-page-v174,
  .admin-dashboard-page,
  .admin-form-page,
  .admin-system-page{
    background:transparent!important;
    background-image:none!important;
    border:0!important;
    box-shadow:none!important;
  }
}

/* =====================================================================
   M4RTIAL V192 - eliminar todos los marcos/fondos de secciones privadas
   ===================================================================== */

html,
body,
#app,
.app.client-mode,
.app.admin-mode{
  background:#fffaf0!important;
  background-image:none!important;
}

.client-mode .panel,
.client-mode .card,
.client-mode .hero,
.client-mode .client-service-panel-v160,
.client-mode .client-service-title-v160,
.client-mode .client-dashboard-v138,
.client-mode .client-v138-recommended,
.client-mode .client-v173-next-class,
.client-mode .client-v173-side-card,
.client-mode .client-v174-card,
.client-mode .client-v203-calendar-panel,
.client-mode .client-v203-day-panel,
.admin-mode .panel,
.admin-mode .card,
.admin-mode .hero,
.admin-mode .dashboard-card,
.admin-mode .metric-card,
.admin-mode .stat-card,
.admin-mode .admin-page-title,
.admin-mode .admin-dashboard-page,
.admin-mode .admin-form-page,
.admin-mode .admin-system-page,
.admin-mode .compact-admin-panel,
.admin-mode .billing-dashboard-panel,
.admin-mode .billing-sync-box-v141,
.admin-mode .trial-calendar-month-panel-v149{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
  border-radius:0!important;
}

.client-mode .panel::before,
.client-mode .panel::after,
.client-mode .card::before,
.client-mode .card::after,
.client-mode .hero::before,
.client-mode .hero::after,
.client-mode .client-service-panel-v160::before,
.client-mode .client-service-panel-v160::after,
.client-mode .client-dashboard-v138::before,
.client-mode .client-dashboard-v138::after,
.admin-mode .panel::before,
.admin-mode .panel::after,
.admin-mode .card::before,
.admin-mode .card::after,
.admin-mode .hero::before,
.admin-mode .hero::after,
.admin-mode .dashboard-card::before,
.admin-mode .dashboard-card::after,
.admin-mode .metric-card::before,
.admin-mode .metric-card::after,
.admin-mode .stat-card::before,
.admin-mode .stat-card::after{
  display:none!important;
  content:none!important;
  background:none!important;
}

.client-mode main,
.admin-mode main,
.client-mode section,
.admin-mode section{
  background-color:transparent!important;
  background-image:none!important;
}

.client-mode .row,
.client-mode .message,
.client-mode .status-pill,
.client-mode input,
.client-mode select,
.client-mode textarea,
.client-mode .client-v203-day-button,
.client-mode .client-v203-class-row,
.admin-mode .row,
.admin-mode .message,
.admin-mode .status-pill,
.admin-mode input,
.admin-mode select,
.admin-mode textarea,
.admin-mode table,
.admin-mode .table-wrap{
  box-shadow:none!important;
}

@media(max-width:760px){
  .client-mode .panel,
  .client-mode .card,
  .client-mode .hero,
  .client-mode .client-service-panel-v160,
  .client-mode .client-service-title-v160,
  .admin-mode .panel,
  .admin-mode .card,
  .admin-mode .hero,
  .admin-mode .dashboard-card,
  .admin-mode .metric-card,
  .admin-mode .stat-card{
    background:transparent!important;
    background-image:none!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
}

/* =====================================================================
   M4RTIAL V203 - area cliente visual premium sin marco global
   ===================================================================== */

html:has(.app.client-mode),
body:has(.app.client-mode),
#app:has(.app.client-mode){
  background:
    radial-gradient(circle at 12% 0%, rgba(242,196,0,.20) 0, rgba(242,196,0,0) 34%),
    radial-gradient(circle at 88% 8%, rgba(23,19,12,.10) 0, rgba(23,19,12,0) 28%),
    linear-gradient(180deg,#fff9e8 0%,#f7edd0 42%,#fffaf0 100%)!important;
  background-attachment:fixed!important;
}

.app.client-mode{
  width:min(1120px, calc(100% - 22px))!important;
  margin-inline:auto!important;
  padding-top:clamp(8px,2vw,16px)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.client-dashboard-v138,
.client-service-page-v160{
  max-width:1120px!important;
  margin-inline:auto!important;
  gap:clamp(10px,1.8vw,16px)!important;
  color:#17130c!important;
}

.client-dashboard-v138,
.client-service-page-v160,
.client-dashboard-v138 section,
.client-service-page-v160 section{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.client-mode .eyebrow,
.client-mode .section-head span,
.client-mode .client-v178-public-card span,
.client-mode .client-v203-title-meta strong,
.client-mode .client-v203-title-meta span{
  color:#8b6500!important;
  -webkit-text-fill-color:#8b6500!important;
}

.client-v203-account-head{
  padding:4px 2px 2px!important;
}

.client-v203-account-head .client-v172-name-row{
  padding:8px 0!important;
}

.client-v203-account-head .client-v172-name-row h1{
  color:#14110b!important;
  -webkit-text-fill-color:#14110b!important;
  letter-spacing:-.03em!important;
  text-shadow:0 10px 30px rgba(105,76,0,.10)!important;
}

.client-v203-account-head .client-v172-name-row span{
  color:#8b6500!important;
  -webkit-text-fill-color:#8b6500!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
}

.client-v203-account-head .client-avatar-v172,
.client-account-title-v172 .client-avatar-v172{
  border:2px solid rgba(242,196,0,.62)!important;
  box-shadow:0 12px 28px rgba(77,55,0,.16)!important;
}

.client-mode .client-v178-public-carousel-shell,
.client-dashboard-v138 .client-v178-public-carousel-shell{
  position:relative!important;
  margin:0!important;
  padding:2px 0 4px!important;
  overflow:hidden!important;
}

.client-mode .client-v178-public-carousel,
.client-dashboard-v138 .client-v178-public-carousel{
  gap:12px!important;
  padding:2px 2px 10px!important;
  scroll-padding-inline:2px!important;
}

.client-mode .client-v178-public-card,
.client-dashboard-v138 .client-v178-public-card{
  position:relative!important;
  overflow:hidden!important;
  flex-basis:clamp(230px,58vw,282px)!important;
  width:clamp(230px,58vw,282px)!important;
  min-width:clamp(230px,58vw,282px)!important;
  max-width:282px!important;
  min-height:288px!important;
  grid-template-rows:134px minmax(154px,auto)!important;
  border:1px solid rgba(138,100,12,.12)!important;
  border-radius:18px!important;
  background:rgba(255,252,242,.76)!important;
  box-shadow:0 16px 38px rgba(59,43,8,.12)!important;
  backdrop-filter:blur(16px)!important;
  transform:translateZ(0)!important;
}

.client-mode .client-v178-public-card::after,
.client-dashboard-v138 .client-v178-public-card::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,rgba(255,255,255,0) 32%,rgba(255,246,205,.34) 100%)!important;
}

.client-mode .client-v178-public-card img,
.client-dashboard-v138 .client-v178-public-card img{
  height:134px!important;
  min-height:134px!important;
  max-height:134px!important;
  transform:scale(1.015)!important;
  filter:saturate(1.08) contrast(1.04)!important;
}

.client-mode .client-v178-public-card > div,
.client-dashboard-v138 .client-v178-public-card > div{
  position:relative!important;
  z-index:1!important;
  min-height:154px!important;
  padding:12px 12px 13px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,244,192,.78))!important;
}

.client-mode .client-v178-public-card h2,
.client-dashboard-v138 .client-v178-public-card h2{
  color:#14110b!important;
  -webkit-text-fill-color:#14110b!important;
  font-size:.98rem!important;
  line-height:1.03!important;
  letter-spacing:-.025em!important;
}

.client-mode .client-v178-public-card p,
.client-dashboard-v138 .client-v178-public-card p{
  color:#463b25!important;
  -webkit-text-fill-color:#463b25!important;
  font-size:.72rem!important;
  line-height:1.32!important;
}

.client-v173-next-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.22fr) minmax(220px,.78fr)!important;
  gap:12px!important;
  align-items:stretch!important;
}

.client-dashboard-v138 .client-v173-next-class,
.client-dashboard-v138 .client-v173-plan-card,
.client-dashboard-v138 .client-v138-recommended,
.client-mode .client-service-panel-v160,
.client-mode .client-v174-card,
.client-mode .client-billing-summary-v177 article,
.client-mode .client-billing-upcoming-v177 div,
.client-mode .client-service-row-v160,
.client-mode .client-progress-row-v160,
.client-mode .client-v203-next-line,
.client-mode .client-v203-calendar-panel,
.client-mode .client-v203-day-panel{
  border:1px solid rgba(138,100,12,.12)!important;
  border-radius:18px!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,244,202,.62))!important;
  box-shadow:0 14px 34px rgba(59,43,8,.10)!important;
  backdrop-filter:blur(14px)!important;
}

.client-dashboard-v138 .client-v173-next-class,
.client-dashboard-v138 .client-v173-plan-card{
  min-height:104px!important;
  padding:15px!important;
}

.client-dashboard-v138 .client-v173-next-class{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}

.client-dashboard-v138 .client-v173-next-class span,
.client-dashboard-v138 .client-v173-plan-card span{
  color:#8b6500!important;
  -webkit-text-fill-color:#8b6500!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.09em!important;
}

.client-dashboard-v138 .client-v173-next-class h2,
.client-dashboard-v138 .client-v173-plan-card strong{
  color:#14110b!important;
  -webkit-text-fill-color:#14110b!important;
  letter-spacing:-.025em!important;
}

.client-dashboard-v138 .client-v173-next-class strong,
.client-dashboard-v138 .client-v173-plan-card small{
  color:#5f5134!important;
  -webkit-text-fill-color:#5f5134!important;
}

.client-dashboard-v138 .client-v138-recommended{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  padding:15px!important;
  gap:12px!important;
}

.client-dashboard-v138 .client-v138-recommended.primary{
  background:
    radial-gradient(circle at 0% 0%,rgba(242,196,0,.28),rgba(242,196,0,0) 42%),
    linear-gradient(135deg,rgba(23,19,12,.96),rgba(49,39,16,.92))!important;
  border-color:rgba(242,196,0,.26)!important;
}

.client-dashboard-v138 .client-v138-recommended.primary h2,
.client-dashboard-v138 .client-v138-recommended.primary p,
.client-dashboard-v138 .client-v138-recommended.primary span{
  color:#fff7d8!important;
  -webkit-text-fill-color:#fff7d8!important;
}

.client-dashboard-v138 .client-v138-recommended-icon{
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#f2c400,#ffe991)!important;
  box-shadow:0 10px 20px rgba(124,89,0,.18)!important;
}

.client-mode .btn,
.client-mode button.btn,
.client-dashboard-v138 .btn{
  border:1px solid rgba(23,19,12,.10)!important;
  border-radius:999px!important;
  background:#17130c!important;
  color:#fffaf0!important;
  -webkit-text-fill-color:#fffaf0!important;
  box-shadow:0 10px 20px rgba(23,19,12,.12)!important;
}

.client-mode .btn.gold,
.client-mode button.btn.gold,
.client-mode button[type="submit"],
.client-dashboard-v138 .btn.gold{
  border-color:rgba(143,105,16,.24)!important;
  background:linear-gradient(135deg,#f2c400,#ffe784)!important;
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
  box-shadow:0 10px 22px rgba(155,112,0,.18)!important;
}

.client-mode .btn:hover,
.client-mode button.btn:hover{
  transform:translateY(-1px)!important;
}

.client-mode input,
.client-mode select,
.client-mode textarea{
  border:1px solid rgba(138,100,12,.16)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.82)!important;
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
}

.client-mode input:focus,
.client-mode select:focus,
.client-mode textarea:focus{
  border-color:rgba(242,196,0,.58)!important;
  box-shadow:0 0 0 3px rgba(242,196,0,.20)!important;
  outline:none!important;
}

.client-mode .client-service-title-v160{
  padding:2px 0 4px!important;
}

.client-mode .client-service-title-v160 h1{
  color:#14110b!important;
  -webkit-text-fill-color:#14110b!important;
  letter-spacing:-.035em!important;
}

.client-mode .client-service-title-v160 p,
.client-mode .section-head p{
  color:#5f5134!important;
  -webkit-text-fill-color:#5f5134!important;
}

.client-mode .client-service-stats-v160{
  gap:10px!important;
}

.client-mode .client-service-stats-v160 article{
  border:1px solid rgba(138,100,12,.12)!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,244,202,.66))!important;
  box-shadow:0 14px 34px rgba(59,43,8,.10)!important;
  backdrop-filter:blur(14px)!important;
}

.client-mode .client-service-stats-v160 article strong,
.client-mode .client-billing-summary-v177 article strong,
.client-mode .client-billing-upcoming-v177 div strong{
  color:#14110b!important;
  -webkit-text-fill-color:#14110b!important;
}

.client-mode .client-service-stats-v160 article span,
.client-mode .client-billing-summary-v177 article span,
.client-mode .client-billing-upcoming-v177 div span{
  color:#8b6500!important;
  -webkit-text-fill-color:#8b6500!important;
}

.client-mode .status-pill,
.client-mode .badge{
  border:1px solid rgba(138,100,12,.14)!important;
  background:rgba(255,247,216,.82)!important;
  color:#3e310f!important;
  -webkit-text-fill-color:#3e310f!important;
}

.client-v203-calendar-panel{
  padding:12px!important;
}

.client-v203-week-picker{
  gap:7px!important;
}

.client-v203-day-button{
  border-color:rgba(138,100,12,.14)!important;
  background:rgba(255,255,255,.74)!important;
  box-shadow:0 10px 20px rgba(59,43,8,.06)!important;
}

.client-v203-day-button.is-selected{
  background:linear-gradient(135deg,#17130c,#3a2e14)!important;
  color:#fff8dc!important;
  -webkit-text-fill-color:#fff8dc!important;
  border-color:rgba(242,196,0,.42)!important;
}

.client-v203-day-button.is-selected small{
  color:#ffe784!important;
  -webkit-text-fill-color:#ffe784!important;
}

.client-v203-class-row{
  border-color:rgba(138,100,12,.12)!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 8px 18px rgba(59,43,8,.06)!important;
}

.client-v203-class-row.is-own{
  background:linear-gradient(135deg,#17130c,#3a2e14)!important;
  border-color:rgba(242,196,0,.42)!important;
}

.client-v203-class-row.is-own strong,
.client-v203-class-row.is-own span{
  color:#fff8dc!important;
  -webkit-text-fill-color:#fff8dc!important;
}

.client-v203-class-row.is-own time{
  background:#f2c400!important;
}

.client-account-grid-v160,
.client-v174-top-grid,
.client-v174-secondary-grid,
.client-billing-summary-v177{
  gap:12px!important;
}

.client-v174-compact-details summary{
  border:1px solid rgba(138,100,12,.12)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.68)!important;
}

.client-mode .footer-note{
  display:none!important;
}

@media(min-width:980px){
  .client-mode .client-v178-public-card,
  .client-dashboard-v138 .client-v178-public-card{
    flex-basis:calc((100% - 24px) / 3)!important;
    width:calc((100% - 24px) / 3)!important;
    min-width:0!important;
    max-width:none!important;
    grid-template-rows:146px minmax(156px,auto)!important;
    min-height:302px!important;
  }

  .client-mode .client-v178-public-card img,
  .client-dashboard-v138 .client-v178-public-card img{
    height:146px!important;
    min-height:146px!important;
    max-height:146px!important;
  }
}

@media(max-width:760px){
  .app.client-mode{
    width:calc(100% - 16px)!important;
    padding-top:6px!important;
  }

  .client-dashboard-v138,
  .client-service-page-v160{
    gap:10px!important;
    padding-bottom:calc(64px + env(safe-area-inset-bottom))!important;
  }

  .client-v203-account-head .client-v172-name-row{
    min-height:42px!important;
    padding:4px 0!important;
  }

  .client-mode .client-v178-public-carousel,
  .client-dashboard-v138 .client-v178-public-carousel{
    gap:9px!important;
    padding-bottom:8px!important;
  }

  .client-mode .client-v178-public-card,
  .client-dashboard-v138 .client-v178-public-card{
    flex-basis:70vw!important;
    width:70vw!important;
    min-width:70vw!important;
    max-width:252px!important;
    min-height:270px!important;
    grid-template-rows:118px minmax(152px,auto)!important;
    border-radius:16px!important;
  }

  .client-mode .client-v178-public-card img,
  .client-dashboard-v138 .client-v178-public-card img{
    height:118px!important;
    min-height:118px!important;
    max-height:118px!important;
  }

  .client-mode .client-v178-public-card > div,
  .client-dashboard-v138 .client-v178-public-card > div{
    min-height:152px!important;
    padding:10px!important;
  }

  .client-v173-next-layout,
  .client-dashboard-v138 .client-v138-recommended{
    grid-template-columns:1fr!important;
  }

  .client-dashboard-v138 .client-v173-next-class{
    align-items:flex-start!important;
  }

  .client-dashboard-v138 .client-v173-next-class,
  .client-dashboard-v138 .client-v173-plan-card,
  .client-dashboard-v138 .client-v138-recommended,
  .client-mode .client-service-panel-v160,
  .client-mode .client-v203-calendar-panel{
    border-radius:16px!important;
    padding:12px!important;
  }

  .client-v203-week-picker{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .client-v203-day-button{
    min-height:68px!important;
    padding:7px 6px!important;
  }

  .client-v203-day-button strong{
    font-size:1.06rem!important;
  }

  .client-v203-day-panel header{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:4px!important;
  }

  .client-v203-class-row{
    grid-template-columns:84px minmax(0,1fr)!important;
    gap:8px!important;
  }
}

@media(max-width:380px){
  .client-mode .client-v178-public-card,
  .client-dashboard-v138 .client-v178-public-card{
    flex-basis:74vw!important;
    width:74vw!important;
    min-width:74vw!important;
    max-width:238px!important;
  }

  .client-v203-week-picker{
    gap:5px!important;
  }
}

/* =====================================================================
   M4RTIAL V203 - correccion bloque proxima clase
   ===================================================================== */

.client-dashboard-v138 .client-v173-next-layout{
  gap:10px!important;
}

.client-dashboard-v138 .client-v173-next-class,
.client-dashboard-v138 .client-v173-plan-card{
  min-height:78px!important;
  padding:12px 13px!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,244,202,.72))!important;
}

.client-dashboard-v138 .client-v173-next-class{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
}

.client-dashboard-v138 .client-v173-next-class > div,
.client-dashboard-v138 .client-v173-plan-card{
  min-width:0!important;
}

.client-dashboard-v138 .client-v173-next-class span,
.client-dashboard-v138 .client-v173-next-class h2,
.client-dashboard-v138 .client-v173-next-class strong,
.client-dashboard-v138 .client-v173-plan-card span,
.client-dashboard-v138 .client-v173-plan-card strong,
.client-dashboard-v138 .client-v173-plan-card small{
  display:block!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
}

.client-dashboard-v138 .client-v173-next-class span,
.client-dashboard-v138 .client-v173-plan-card span{
  margin:0 0 4px!important;
  color:#8b6500!important;
  font-size:.62rem!important;
  line-height:1!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}

.client-dashboard-v138 .client-v173-next-class h2{
  margin:0!important;
  max-width:100%!important;
  color:#14110b!important;
  font-size:clamp(1rem,3.8vw,1.26rem)!important;
  line-height:1.03!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
  overflow-wrap:anywhere!important;
}

.client-dashboard-v138 .client-v173-next-class strong{
  margin-top:4px!important;
  color:#493c22!important;
  font-size:.76rem!important;
  line-height:1.15!important;
  font-weight:900!important;
  overflow-wrap:anywhere!important;
}

.client-dashboard-v138 .client-v173-next-class .btn{
  width:auto!important;
  min-width:0!important;
  min-height:30px!important;
  height:30px!important;
  padding:6px 11px!important;
  align-self:center!important;
  justify-self:end!important;
  border-radius:999px!important;
  font-size:.60rem!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:0 8px 16px rgba(23,19,12,.10)!important;
}

.client-dashboard-v138 .client-v173-plan-card{
  display:grid!important;
  align-content:center!important;
  gap:3px!important;
}

.client-dashboard-v138 .client-v173-plan-card strong{
  color:#14110b!important;
  font-size:clamp(1rem,3.8vw,1.25rem)!important;
  line-height:1.03!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
  overflow-wrap:anywhere!important;
}

.client-dashboard-v138 .client-v173-plan-card small{
  color:#493c22!important;
  font-size:.72rem!important;
  line-height:1.15!important;
  font-weight:850!important;
}

@media(max-width:760px){
  .client-dashboard-v138 .client-v173-next-layout{
    gap:8px!important;
  }

  .client-dashboard-v138 .client-v173-next-class,
  .client-dashboard-v138 .client-v173-plan-card{
    min-height:70px!important;
    padding:11px!important;
  }

  .client-dashboard-v138 .client-v173-next-class{
    grid-template-columns:minmax(0,1fr) auto!important;
  }

  .client-dashboard-v138 .client-v173-next-class .btn{
    min-height:28px!important;
    height:28px!important;
    padding:6px 10px!important;
    font-size:.57rem!important;
  }
}

@media(max-width:390px){
  .client-dashboard-v138 .client-v173-next-class{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }

  .client-dashboard-v138 .client-v173-next-class .btn{
    justify-self:start!important;
    margin-top:2px!important;
  }
}

/* =====================================================================
   M4RTIAL V203 - horario mas compacto y proxima clase por disciplina
   ===================================================================== */

.client-schedule-page-v203{
  gap:8px!important;
  padding-top:4px!important;
}

.client-schedule-page-v203 .client-schedule-title-v203{
  margin:0!important;
  padding:0 1px 2px!important;
  min-height:0!important;
}

.client-schedule-page-v203 .client-schedule-title-v203 .eyebrow,
.client-schedule-page-v203 .client-v203-title-meta{
  display:none!important;
}

.client-schedule-page-v203 .client-schedule-title-v203 h1{
  margin:0!important;
  color:#14110b!important;
  -webkit-text-fill-color:#14110b!important;
  font-size:clamp(1.38rem,4.6vw,2rem)!important;
  line-height:.95!important;
  letter-spacing:-.04em!important;
}

.client-schedule-page-v203 .client-v203-next-line{
  min-height:0!important;
  padding:9px 11px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  border-radius:15px!important;
}

.client-schedule-page-v203 .client-v203-next-line span,
.client-schedule-page-v203 .client-v203-next-line strong,
.client-schedule-page-v203 .client-v203-next-line small{
  margin:0!important;
  min-width:0!important;
  display:block!important;
  line-height:1.05!important;
  -webkit-text-fill-color:currentColor!important;
}

.client-schedule-page-v203 .client-v203-next-line span{
  color:#8b6500!important;
  font-size:.62rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
  white-space:nowrap!important;
}

.client-schedule-page-v203 .client-v203-next-line strong{
  color:#14110b!important;
  font-size:clamp(.98rem,3.6vw,1.18rem)!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.client-schedule-page-v203 .client-v203-next-line small{
  color:#493c22!important;
  font-size:.70rem!important;
  font-weight:850!important;
  text-align:right!important;
  white-space:nowrap!important;
}

.client-schedule-page-v203 .client-v203-calendar-panel{
  padding:10px!important;
}

.client-schedule-page-v203 .client-v203-calendar-head{
  margin-bottom:7px!important;
}

.client-schedule-page-v203 .client-v203-calendar-head h2{
  font-size:.98rem!important;
}

.client-schedule-page-v203 .client-v203-week-picker{
  gap:6px!important;
}

.client-schedule-page-v203 .client-v203-day-button{
  min-height:70px!important;
  padding:7px 6px!important;
}

.client-schedule-page-v203 .client-v203-day-panel{
  margin-top:7px!important;
  padding:9px!important;
}

@media(max-width:760px){
  .client-schedule-page-v203{
    gap:7px!important;
  }

  .client-schedule-page-v203 .client-schedule-title-v203 h1{
    font-size:1.32rem!important;
  }

  .client-schedule-page-v203 .client-v203-next-line{
    grid-template-columns:1fr!important;
    gap:3px!important;
    padding:9px 10px!important;
  }

  .client-schedule-page-v203 .client-v203-next-line strong{
    white-space:normal!important;
  }

  .client-schedule-page-v203 .client-v203-next-line small{
    text-align:left!important;
    white-space:normal!important;
  }

  .client-schedule-page-v203 .client-v203-day-button{
    min-height:62px!important;
  }
}

/* =====================================================================
   M4RTIAL V203 - proxima clase solo boton, sin tocar admin
   ===================================================================== */

.client-dashboard-v138 .client-v203-next-class-button-only,
.client-schedule-page-v203 .client-v203-next-line{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  grid-template-columns:unset!important;
  min-height:74px!important;
  padding:12px!important;
  text-align:center!important;
}

.client-dashboard-v138 .client-v203-next-class-button-only .btn,
.client-schedule-page-v203 .client-v203-next-line .btn{
  width:min(100%,220px)!important;
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  background:#111111!important;
  border-color:#111111!important;
}

/* =====================================================================
   M4RTIAL V203 - encabezado compacto y atractivo en pagos cliente
   ===================================================================== */

.client-payments-page-v203{
  gap:10px!important;
}

.client-payments-page-v203 .client-payments-hero-v203{
  min-height:0!important;
  margin:0!important;
  padding:10px 12px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:11px!important;
  border:1px solid rgba(138,100,12,.14)!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 0% 0%,rgba(242,196,0,.26),rgba(242,196,0,0) 42%),
    linear-gradient(135deg,rgba(23,19,12,.96),rgba(58,46,20,.92))!important;
  box-shadow:0 16px 34px rgba(23,19,12,.16)!important;
  color:#fffaf0!important;
  -webkit-text-fill-color:initial!important;
}

.client-payments-hero-mark-v203{
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,#f2c400,#ffe784)!important;
  color:#17130c!important;
  -webkit-text-fill-color:#17130c!important;
  font-size:1.25rem!important;
  font-weight:950!important;
  box-shadow:0 10px 22px rgba(242,196,0,.22)!important;
}

.client-payments-hero-copy-v203{
  min-width:0!important;
  display:grid!important;
  gap:2px!important;
}

.client-payments-hero-copy-v203 strong,
.client-payments-hero-copy-v203 span{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.client-payments-hero-copy-v203 strong{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  font-size:clamp(1.12rem,3vw,1.55rem)!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
}

.client-payments-hero-copy-v203 span{
  color:#ffe784!important;
  -webkit-text-fill-color:#ffe784!important;
  font-size:.78rem!important;
  font-weight:850!important;
}

.client-payments-hero-pill-v203{
  justify-self:end!important;
  padding:8px 10px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,231,132,.24)!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff8dc!important;
  -webkit-text-fill-color:#fff8dc!important;
  font-size:.68rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  white-space:nowrap!important;
}

.client-payments-page-v203 .client-service-stats-v160{
  margin-top:0!important;
}

@media(max-width:760px){
  .client-payments-page-v203 .client-payments-hero-v203{
    grid-template-columns:auto minmax(0,1fr)!important;
    padding:10px!important;
    gap:9px!important;
  }

  .client-payments-hero-mark-v203{
    width:38px!important;
    height:38px!important;
    border-radius:14px!important;
  }

  .client-payments-hero-pill-v203{
    grid-column:1 / -1!important;
    justify-self:start!important;
    padding:6px 9px!important;
  }
}

/* =====================================================================
   M4RTIAL V203 - facturacion admin forzada
   ===================================================================== */

.billing-dashboard-panel,
.billing-dashboard-panel-v83,
.billing-dashboard-panel-v165{
  background:#15120c!important;
  background-image:linear-gradient(145deg,#19150d 0%,#0d0b08 100%)!important;
  border:1px solid rgba(242,196,0,.34)!important;
  color:#fffaf0!important;
  -webkit-text-fill-color:initial!important;
}

.billing-operational-card,
.billing-summary-card,
.billing-total-box,
.billing-sync-box-v141,
.billing-direct-grid article,
.billing-client-row,
.billing-card-meta div{
  background:#241d10!important;
  background-image:linear-gradient(145deg,#2a2112 0%,#15110b 100%)!important;
  border:1px solid rgba(242,196,0,.34)!important;
  color:#fffaf0!important;
  -webkit-text-fill-color:initial!important;
  box-shadow:0 14px 30px rgba(0,0,0,.18)!important;
}

.billing-dashboard-panel span,
.billing-dashboard-panel-v83 span,
.billing-dashboard-panel-v165 span,
.billing-operational-card span,
.billing-summary-card > span,
.billing-client-row small,
.billing-card-meta em,
.billing-direct-grid span{
  color:#f2c400!important;
  -webkit-text-fill-color:#f2c400!important;
  opacity:1!important;
}

.billing-dashboard-panel strong,
.billing-dashboard-panel-v83 strong,
.billing-dashboard-panel-v165 strong,
.billing-operational-card strong,
.billing-summary-card strong,
.billing-total-box strong,
.billing-sync-box-v141 strong,
.billing-client-row strong,
.billing-client-row b,
.billing-card-meta b,
.billing-direct-grid strong,
.billing-count-button{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  opacity:1!important;
}

.billing-dashboard-panel p,
.billing-dashboard-panel small,
.billing-dashboard-panel-v83 p,
.billing-dashboard-panel-v83 small,
.billing-dashboard-panel-v165 p,
.billing-dashboard-panel-v165 small,
.billing-operational-card small,
.billing-summary-card > small,
.billing-client-row span,
.billing-direct-grid small{
  color:#d8cfbc!important;
  -webkit-text-fill-color:#d8cfbc!important;
  opacity:1!important;
}

.billing-click-hint{
  color:#ffe784!important;
  -webkit-text-fill-color:#ffe784!important;
}
