:root{
  --elite-bg:#f7f4ed;
  --elite-card:rgba(255,255,255,.84);
  --elite-black:#111;
  --elite-muted:#6d6a63;
  --elite-gold:#C6A15B;
  --elite-blue:#0E2535;
  --elite-line:rgba(17,17,17,.10);
  --elite-shadow:0 24px 80px rgba(14,37,53,.12);
  --radius:28px;
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Montserrat,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--elite-black)}
body.elite-bg{
  background:
    radial-gradient(circle at 10% 10%, rgba(198,161,91,.18), transparent 28%),
    radial-gradient(circle at 90% 10%, rgba(14,37,53,.10), transparent 30%),
    linear-gradient(135deg,#fbfaf7,var(--elite-bg));
}

a{text-decoration:none;color:inherit}
.elite-shell,.elite-install{min-height:100vh;display:grid;place-items:center;padding:24px}
.hero-card,.elite-card{
  width:min(980px,100%);
  background:var(--elite-card);
  border:1px solid rgba(255,255,255,.8);
  box-shadow:var(--elite-shadow);
  border-radius:var(--radius);
  padding:clamp(24px,5vw,56px);
  backdrop-filter:blur(18px);
}
.elite-card-wide{width:min(1060px,100%)}
.elite-brand{font-size:clamp(64px,13vw,150px);font-weight:800;letter-spacing:-.1em;line-height:.8}
.elite-brand-mini{font-size:44px;font-weight:800;letter-spacing:-.09em;line-height:1;color:var(--elite-black)}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:800;color:var(--elite-gold);margin:0 0 10px}
h1{font-size:clamp(34px,6vw,72px);line-height:.95;margin:0 0 16px;letter-spacing:-.055em}
h2{font-size:18px;margin:28px 0 14px}
.lead{font-size:clamp(17px,2.4vw,23px);max-width:720px;color:var(--elite-muted)}
.muted{color:var(--elite-muted)}
.small{font-size:13px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 20px;border-radius:999px;font-weight:800;
  border:1px solid var(--elite-line);cursor:pointer;
}
.btn-dark{background:var(--elite-black);color:#fff}
.btn-soft{background:rgba(255,255,255,.76);color:var(--elite-black)}

.role-grid,.grid-3,.grid-2{
  display:grid;gap:16px;margin-top:24px;
}
.role-grid,.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.role-card,.dash-card,.empty-state{
  background:rgba(255,255,255,.72);
  border:1px solid var(--elite-line);
  border-radius:24px;
  padding:22px;
  min-height:120px;
}
.role-card strong,.dash-card strong,.empty-state strong{display:block;font-size:22px;margin-bottom:10px}
.role-card span,.dash-card span,.empty-state p{color:var(--elite-muted);line-height:1.5}

.elite-panel{width:min(1180px,100%);margin:0 auto;padding:28px}
.panel-header{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:rgba(255,255,255,.62);
  border:1px solid var(--elite-line);
  border-radius:28px;
  padding:22px;
  margin-bottom:18px;
  box-shadow:var(--elite-shadow);
}
.panel-header h1{font-size:clamp(32px,5vw,54px);margin:0}

.elite-form label{display:block;font-size:13px;font-weight:800;color:#2b2a27}
input,select,textarea{
  width:100%;margin-top:8px;border:1px solid var(--elite-line);border-radius:16px;
  min-height:48px;padding:12px 14px;background:rgba(255,255,255,.84);
  font:inherit;outline:none;
}
input:focus,select:focus,textarea:focus{border-color:var(--elite-gold);box-shadow:0 0 0 4px rgba(198,161,91,.16)}
.alert{border-radius:18px;padding:14px 16px;margin:18px 0;font-weight:750}
.alert-error{background:#ffe8e8;color:#8a1f1f}
.alert-ok{background:#e9f8ef;color:#116b33}
.alert-warn{background:#fff6dc;color:#7a5600}

@media(max-width:760px){
  .role-grid,.grid-3,.grid-2{grid-template-columns:1fr}
  .elite-shell,.elite-install{padding:14px}
  .hero-card,.elite-card{border-radius:22px;padding:24px}
  .panel-header{align-items:flex-start;flex-direction:column}
  .elite-panel{padding:14px}
}

/* === FASE 2 AUTH === */
.auth-shell{align-items:center}
.auth-hero{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:28px;
  align-items:center;
}
.auth-box{
  background:rgba(255,255,255,.78);
  border:1px solid var(--elite-line);
  border-radius:26px;
  padding:20px;
}
.auth-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  background:rgba(14,37,53,.07);
  border-radius:999px;
  padding:5px;
  margin-bottom:16px;
}
.auth-tab{
  border:0;
  border-radius:999px;
  min-height:42px;
  background:transparent;
  font-weight:850;
  cursor:pointer;
  color:var(--elite-muted);
}
.auth-tab.active{
  background:#fff;
  color:var(--elite-black);
  box-shadow:0 10px 26px rgba(14,37,53,.10);
}
.auth-form{display:none}
.auth-form.active{display:grid;gap:14px}
.full{width:100%;margin-top:10px}
.auth-pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}
.auth-pills span{
  background:rgba(255,255,255,.75);
  border:1px solid var(--elite-line);
  border-radius:999px;
  padding:9px 13px;
  font-weight:850;
}
.grid-4{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-bottom:18px;
}
.metric-card{
  background:rgba(255,255,255,.72);
  border:1px solid var(--elite-line);
  border-radius:24px;
  padding:20px;
}
.metric-card span{
  display:block;
  color:var(--elite-muted);
  font-weight:800;
  font-size:13px;
}
.metric-card strong{
  display:block;
  font-size:42px;
  line-height:1;
  margin-top:10px;
}
.mobile-app{
  width:min(540px,100%);
  margin:0 auto;
  min-height:100vh;
  padding:18px;
}
.keeper-top{
  display:flex;
  align-items:center;
  gap:14px;
  background:rgba(255,255,255,.72);
  border:1px solid var(--elite-line);
  border-radius:28px;
  padding:16px;
  margin-bottom:14px;
  box-shadow:var(--elite-shadow);
}
.keeper-top h1{
  font-size:30px;
  margin:0;
}
.avatar-circle{
  width:58px;
  height:58px;
  border-radius:50%;
  background:var(--elite-blue);
  color:white;
  display:grid;
  place-items:center;
  font-weight:900;
  font-size:24px;
}
.client-card{
  background:rgba(255,255,255,.80);
  border:1px solid var(--elite-line);
  border-radius:28px;
  padding:22px;
  margin-bottom:14px;
}
.client-card strong{
  display:block;
  font-size:26px;
  margin-bottom:8px;
}
.client-card p{color:var(--elite-muted);line-height:1.5}
.mini-list{
  display:grid;
  gap:8px;
  margin-top:14px;
}
.mini-list span{
  background:rgba(14,37,53,.06);
  border-radius:14px;
  padding:10px 12px;
  font-weight:750;
  color:#34322e;
}

@media(max-width:860px){
  .auth-hero{grid-template-columns:1fr}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .grid-4{grid-template-columns:1fr}
}

/* === FASE 3 ADMIN KEEPERS === */
.admin-layout{
  display:grid;
  grid-template-columns:minmax(320px,.88fr) minmax(420px,1.12fr);
  gap:18px;
  align-items:start;
}
.admin-form-card,
.admin-list-card{
  background:rgba(255,255,255,.72);
  border:1px solid var(--elite-line);
  border-radius:28px;
  padding:22px;
  box-shadow:var(--elite-shadow);
}
.section-title{
  margin-bottom:18px;
}
.section-title h2{
  font-size:clamp(26px,3.6vw,42px);
  letter-spacing:-.055em;
  line-height:.95;
  margin:0 0 8px;
}
.section-title span{
  color:var(--elite-muted);
}
.stacked{
  display:grid;
  gap:14px;
}
.compact{
  gap:12px;
  margin-top:0;
}
textarea{
  resize:vertical;
  min-height:92px;
}
.keeper-list{
  display:grid;
  gap:12px;
}
.keeper-admin-card{
  background:rgba(255,255,255,.82);
  border:1px solid var(--elite-line);
  border-radius:24px;
  padding:14px;
  transition:.2s ease;
}
.keeper-admin-card.is-off{
  opacity:.58;
}
.keeper-main{
  display:flex;
  gap:13px;
  align-items:flex-start;
}
.keeper-photo{
  width:62px;
  height:62px;
  flex:0 0 62px;
  border-radius:22px;
  background:var(--elite-blue);
  color:white;
  display:grid;
  place-items:center;
  font-weight:900;
  font-size:26px;
  overflow:hidden;
}
.keeper-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.keeper-info{
  min-width:0;
  display:grid;
  gap:5px;
}
.keeper-name-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.keeper-info strong{
  font-size:20px;
}
.keeper-info span{
  color:var(--elite-muted);
  font-size:13px;
  overflow-wrap:anywhere;
}
.keeper-info p{
  margin:6px 0 0;
  color:#34322e;
  line-height:1.45;
  font-size:14px;
}
.status-pill{
  border-radius:999px;
  padding:5px 9px;
  font-size:11px;
  font-weight:900;
}
.status-pill.ok{
  background:#e9f8ef;
  color:#116b33;
}
.status-pill.off{
  background:#f1f1f1;
  color:#777;
}
.keeper-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
  padding-left:75px;
}
.keeper-actions form{
  margin:0;
}
.mini-btn{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--elite-line);
  background:rgba(14,37,53,.06);
  color:var(--elite-black);
  border-radius:999px;
  padding:0 13px;
  font-weight:850;
  font-size:13px;
  cursor:pointer;
}
.mini-btn.danger{
  background:rgba(160,30,30,.08);
  color:#8a1f1f;
}
.small-empty{
  min-height:auto;
}

@media(max-width:980px){
  .admin-layout{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .keeper-main{
    align-items:center;
  }
  .keeper-actions{
    padding-left:0;
  }
}

/* === FASE 5 CITAS / COTIZADOR === */
.quote-box{
  border:1px solid var(--elite-line);
  background:rgba(14,37,53,.06);
  border-radius:22px;
  padding:16px;
  font-weight:850;
  color:var(--elite-muted);
}
.quote-box strong{
  display:block;
  color:var(--elite-black);
  font-size:30px;
  letter-spacing:-.04em;
  margin-bottom:4px;
}
.quote-box span{
  display:block;
  color:var(--elite-muted);
  line-height:1.4;
}
.quote-box.is-ok{
  background:#e9f8ef;
  color:#116b33;
  border-color:rgba(17,107,51,.16);
}
.quote-box.is-warn{
  background:#fff6dc;
  color:#7a5600;
  border-color:rgba(122,86,0,.16);
}
.appointment-list{
  display:grid;
  gap:12px;
}
.appointment-card{
  background:rgba(255,255,255,.84);
  border:1px solid var(--elite-line);
  border-radius:24px;
  padding:16px;
}
.appointment-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.appointment-top strong{
  display:block;
  font-size:20px;
}
.appointment-top span{
  color:var(--elite-muted);
  font-size:13px;
}
.appointment-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:12px 0 4px;
}
.appointment-meta span{
  background:rgba(14,37,53,.06);
  color:#333;
  border-radius:999px;
  padding:6px 9px;
  font-weight:850;
  font-size:12px;
}
.appointment-footer{
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--elite-line);
}
.appointment-footer strong{
  font-size:22px;
}
.appointment-footer span{
  color:var(--elite-muted);
  font-weight:750;
}
.appointment-actions{
  padding-left:0;
}

/* === FASE 6A CLIENTE REAL START === */
.app-tabs{
  display:flex;
  gap:8px;
  background:rgba(255,255,255,.62);
  border:1px solid var(--elite-line);
  border-radius:999px;
  padding:7px;
  margin:0 0 14px;
  box-shadow:var(--elite-shadow);
}
.app-tab{
  flex:1;
  border:0;
  background:transparent;
  border-radius:999px;
  min-height:40px;
  font-weight:900;
  color:var(--elite-muted);
  cursor:pointer;
}
.app-tab.active{
  background:var(--elite-black);
  color:#fff;
}
.app-panel{display:none}
.app-panel.active{display:block}
.client-app .client-card{box-shadow:0 18px 60px rgba(14,37,53,.08)}
.mt{margin-top:18px}
.address-list span{line-height:1.45}
.quote-box{
  border:1px solid var(--elite-line);
  background:rgba(14,37,53,.06);
  border-radius:22px;
  padding:16px;
  font-weight:850;
  color:var(--elite-muted);
}
.quote-box strong{
  display:block;
  color:var(--elite-black);
  font-size:30px;
  letter-spacing:-.04em;
  margin-bottom:4px;
}
.quote-box span{display:block;color:var(--elite-muted);line-height:1.4}
.quote-box.is-ok{background:#e9f8ef;color:#116b33;border-color:rgba(17,107,51,.16)}
.quote-box.is-warn{background:#fff6dc;color:#7a5600;border-color:rgba(122,86,0,.16)}
@media(max-width:460px){
  .app-tabs{border-radius:24px}
  .app-tab{font-size:13px;padding:0 8px}
}
/* === FASE 6A CLIENTE REAL END === */

/* === FASE 6B START === */
.assign-keeper-form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--elite-line);
}
.assign-keeper-form select{
  min-height:38px;
  border-radius:999px;
  margin:0;
}
.keeper-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:rgba(255,255,255,.76);
  border:1px solid var(--elite-line);
  border-radius:28px;
  padding:16px;
  margin-bottom:14px;
  box-shadow:var(--elite-shadow);
}
.keeper-summary span{
  display:block;
  color:var(--elite-muted);
  font-weight:800;
  font-size:13px;
}
.keeper-summary strong{
  display:block;
  font-size:44px;
  line-height:1;
}
.avatar-circle img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}
.service-action-form{
  margin-top:14px;
}
.keeper-checklist{
  padding-left:0;
  margin-top:14px;
}
.check-row{
  display:flex !important;
  align-items:center;
  gap:9px;
  background:rgba(14,37,53,.05);
  border:1px solid var(--elite-line);
  border-radius:14px;
  padding:10px 12px;
  font-weight:850 !important;
}
.check-row input{
  width:auto;
  min-height:auto;
  margin:0;
}
.keeper-service-card{
  position:relative;
  overflow:hidden;
}
.keeper-service-card:before{
  content:"";
  position:absolute;
  inset:auto 18px 0 18px;
  height:3px;
  background:linear-gradient(90deg, transparent, var(--elite-gold), transparent);
  opacity:.7;
}
[data-time-select]{
  font-weight:850;
}
@media(max-width:560px){
  .assign-keeper-form{
    grid-template-columns:1fr;
  }
}
@media(max-width:460px){
  .keeper-summary{
    align-items:flex-start;
    flex-direction:column;
  }
}
/* === FASE 6B END === */

/* === FASE 7A CONFIG START === */
.header-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
}
.config-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  align-items:start;
}
.mini-config-form{
  margin-bottom:18px;
}
.config-list{
  display:grid;
  gap:10px;
}
.config-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:rgba(255,255,255,.78);
  border:1px solid var(--elite-line);
  border-radius:18px;
  padding:13px;
}
.config-row.is-off{
  opacity:.58;
}
.config-row strong{
  display:block;
  font-size:16px;
}
.config-row span{
  display:block;
  color:var(--elite-muted);
  font-size:13px;
}
.config-check{
  display:flex !important;
  gap:12px;
  align-items:center;
  background:rgba(255,255,255,.78);
  border:1px solid var(--elite-line);
  border-radius:18px;
  padding:13px;
}
.config-check input{
  width:auto;
  min-height:auto;
  margin:0;
}
.config-check span{
  display:grid;
  gap:2px;
}
.config-check small{
  color:var(--elite-muted);
  font-weight:800;
}
.price-config-wrap{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.price-city-card{
  background:rgba(255,255,255,.74);
  border:1px solid var(--elite-line);
  border-radius:24px;
  padding:16px;
}
.price-city-card h3{
  font-size:24px;
  margin:0 0 12px;
  letter-spacing:-.04em;
}
.price-rate-block{
  border-top:1px solid var(--elite-line);
  padding-top:12px;
  margin-top:12px;
}
.price-rate-block strong{
  display:block;
  margin-bottom:8px;
}
.price-input-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.price-input-grid label{
  font-size:11px;
}
.price-input-grid input{
  min-height:38px;
  padding:8px;
  border-radius:12px;
  margin-top:5px;
}
@media(max-width:1100px){
  .price-config-wrap{
    grid-template-columns:1fr;
  }
}
@media(max-width:860px){
  .config-grid{
    grid-template-columns:1fr;
  }
  .header-actions{
    justify-content:flex-start;
  }
}
@media(max-width:520px){
  .price-input-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
/* === FASE 7A CONFIG END === */

/* === FASE 7B REPORTES START === */
.report-filter-card{
  background:rgba(255,255,255,.72);
  border:1px solid var(--elite-line);
  border-radius:28px;
  padding:18px;
  margin-bottom:18px;
  box-shadow:var(--elite-shadow);
}
.report-filter-form{
  display:flex;
  align-items:end;
  gap:12px;
  flex-wrap:wrap;
}
.report-filter-form label{
  min-width:220px;
  font-weight:850;
}
.report-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.report-bars{
  display:grid;
  gap:14px;
}
.bar-row{
  display:grid;
  gap:8px;
}
.bar-label{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-end;
}
.bar-label strong{
  font-size:16px;
}
.bar-label span{
  color:var(--elite-muted);
  font-size:13px;
  font-weight:800;
  text-align:right;
}
.bar-track{
  height:12px;
  background:rgba(14,37,53,.08);
  border-radius:999px;
  overflow:hidden;
}
.bar-fill{
  height:100%;
  background:var(--elite-blue);
  border-radius:999px;
}
.bar-fill.gold{
  background:var(--elite-gold);
}
.finance-list{
  display:grid;
  gap:14px;
}
.finance-card{
  background:rgba(255,255,255,.84);
  border:1px solid var(--elite-line);
  border-radius:24px;
  padding:16px;
}
.finance-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.finance-head strong{
  display:block;
  font-size:19px;
}
.finance-head span{
  color:var(--elite-muted);
  font-size:13px;
}
.finance-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0;
}
.finance-meta span{
  background:rgba(14,37,53,.06);
  color:#333;
  border-radius:999px;
  padding:6px 9px;
  font-weight:850;
  font-size:12px;
}
.payment-form{
  display:grid;
  grid-template-columns:120px 150px 170px 1fr auto;
  gap:10px;
  align-items:end;
  border-top:1px solid var(--elite-line);
  padding-top:12px;
}
.payment-form label{
  font-size:12px;
  font-weight:900;
  color:#333;
}
.payment-form input,
.payment-form select{
  min-height:38px;
  border-radius:13px;
  padding:8px 10px;
  margin-top:5px;
}
.status-pill.soft{
  background:rgba(14,37,53,.07);
  color:#344;
}
@media(max-width:1100px){
  .payment-form{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:860px){
  .report-grid{
    grid-template-columns:1fr;
  }
  .bar-label{
    display:grid;
  }
  .bar-label span{
    text-align:left;
  }
}
@media(max-width:560px){
  .payment-form{
    grid-template-columns:1fr;
  }
  .finance-head{
    display:grid;
  }
}
/* === FASE 7B REPORTES END === */

/* === FASE 8A OPS START === */
.ops-list{
  display:grid;
  gap:14px;
}
.ops-card{
  background:rgba(255,255,255,.84);
  border:1px solid var(--elite-line);
  border-radius:26px;
  padding:16px;
  box-shadow:0 18px 60px rgba(14,37,53,.08);
}
.ops-forms{
  display:grid;
  gap:12px;
  margin-top:14px;
  border-top:1px solid var(--elite-line);
  padding-top:14px;
}
.ops-mini-form{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) auto;
  gap:10px;
  align-items:end;
  background:rgba(14,37,53,.04);
  border:1px solid var(--elite-line);
  border-radius:18px;
  padding:12px;
}
.ops-mini-form label{
  font-size:12px;
  font-weight:900;
  color:#333;
}
.ops-mini-form input,
.ops-mini-form select{
  min-height:38px;
  border-radius:13px;
  padding:8px 10px;
  margin-top:5px;
}
.ops-mini-form.danger-zone{
  background:rgba(160,30,30,.055);
}
.ops-check{
  display:flex !important;
  align-items:center;
  gap:8px;
}
.ops-check input{
  width:auto;
  min-height:auto;
  margin:0;
}
.client-change-box{
  padding-left:0;
  margin-top:12px;
}
.client-request-list{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.client-request-pill{
  background:rgba(14,37,53,.07);
  color:#344;
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:900;
}
@media(max-width:1100px){
  .ops-mini-form{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:620px){
  .ops-mini-form{
    grid-template-columns:1fr;
  }
}
/* === FASE 8A OPS END === */

/* === FIX CLIENTE CANCELACION START === */
.client-cancelled-card{
  border-color:rgba(160,30,30,.22) !important;
  background:rgba(255,248,248,.88) !important;
}
.client-cancel-fee{
  margin-top:12px;
  border:1px solid rgba(160,30,30,.18);
  background:rgba(160,30,30,.07);
  border-radius:18px;
  padding:12px 14px;
}
.client-cancel-fee strong{
  display:block;
  color:#8a1f1f;
  font-size:15px;
  margin-bottom:4px;
}
.client-cancel-fee span{
  display:block;
  color:#6d2b2b;
  font-weight:850;
  line-height:1.4;
}
/* === FIX CLIENTE CANCELACION END === */

/* === FASE 8C KEEPER CONFLICT START === */
.ops-card .alert,
.admin-list-card .alert{
  margin-top:10px;
}
.status-pill.conflict{
  background:#fff0d8;
  color:#8a5a00;
}
/* === FASE 8C KEEPER CONFLICT END === */

/* === FASE 9A NOTIFICACIONES START === */
.notification-panel{
  max-width:980px;
}
.notification-actions-card{
  background:rgba(255,255,255,.72);
  border:1px solid var(--elite-line);
  border-radius:26px;
  padding:16px;
  margin-bottom:16px;
  box-shadow:var(--elite-shadow);
}
.notification-list{
  display:grid;
  gap:12px;
}
.notification-card{
  display:grid;
  grid-template-columns:14px 1fr;
  gap:12px;
  background:rgba(255,255,255,.82);
  border:1px solid var(--elite-line);
  border-radius:24px;
  padding:16px;
  box-shadow:0 18px 60px rgba(14,37,53,.08);
}
.notification-card.is-unread{
  border-color:rgba(196,154,82,.45);
  background:rgba(255,252,244,.92);
}
.notification-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:rgba(14,37,53,.18);
  margin-top:7px;
}
.notification-card.is-unread .notification-dot{
  background:var(--elite-gold);
  box-shadow:0 0 0 6px rgba(196,154,82,.14);
}
.notification-body{
  min-width:0;
}
.notification-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.notification-head strong{
  display:block;
  font-size:18px;
  letter-spacing:-.02em;
}
.notification-head span{
  color:var(--elite-muted);
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
}
.notification-body p{
  margin:7px 0 0;
  color:#3d4750;
  line-height:1.45;
  font-weight:650;
}
.notification-footer{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:12px;
}
.notification-footer form{
  margin:0;
}
@media(max-width:560px){
  .notification-card{
    grid-template-columns:1fr;
  }
  .notification-dot{
    display:none;
  }
  .notification-head{
    display:grid;
  }
}
/* === FASE 9A NOTIFICACIONES END === */

/* === FASE 9B PUSH START === */
.push-activation-card,
.push-inline-card{
  background:rgba(255,255,255,.78);
  border:1px solid var(--elite-line);
  border-radius:26px;
  padding:16px;
  margin-bottom:16px;
  box-shadow:var(--elite-shadow);
}
.push-activation-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
}
.push-activation-card strong,
.push-inline-card strong{
  display:block;
  font-size:18px;
  letter-spacing:-.02em;
}
.push-activation-card p,
.push-inline-card p{
  margin:5px 0 0;
  color:var(--elite-muted);
  font-weight:700;
  line-height:1.45;
}
.push-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.push-status{
  grid-column:1/-1;
  border-radius:16px;
  padding:11px 13px;
  background:rgba(14,37,53,.06);
  color:var(--elite-muted);
  font-weight:850;
}
.push-status.is-ok{
  background:#e9f8ef;
  color:#116b33;
}
.push-status.is-warn{
  background:#fff6dc;
  color:#7a5600;
}
.push-device-list{
  display:grid;
  gap:12px;
}
.push-device-card{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  background:rgba(255,255,255,.84);
  border:1px solid var(--elite-line);
  border-radius:22px;
  padding:14px;
}
.push-device-card.is-off{
  opacity:.55;
}
.push-device-card strong{
  display:block;
  font-size:17px;
}
.push-device-card span,
.push-device-card small{
  display:block;
  color:var(--elite-muted);
  font-weight:750;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.code-box{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  background:rgba(14,37,53,.06);
  border:1px solid var(--elite-line);
  border-radius:18px;
  padding:14px;
  font-size:12px;
}
@media(max-width:720px){
  .push-activation-card,
  .push-device-card{
    grid-template-columns:1fr;
    display:grid;
  }
}
/* === FASE 9B PUSH END === */

/* === FASE 9C PUSH SERVER START === */
.push-server-log{
  background:rgba(14,37,53,.06);
  border:1px solid var(--elite-line);
  border-radius:18px;
  padding:12px;
  font-weight:850;
}
.push-activation-card + .grid-4{
  margin-top:18px;
}
/* === FASE 9C PUSH SERVER END === */

/* === FASE 9D PUSH CRON START === */
.cron-box{
  display:grid;
  gap:10px;
}
.cron-box strong{
  display:block;
  font-size:15px;
  letter-spacing:-.01em;
}
.cron-box .code-box{
  margin:0 0 8px;
}
/* === FASE 9D PUSH CRON END === */

/* === FASE 10A GOOGLE MAPS START === */
.map-picker-card{
  background:rgba(255,255,255,.78);
  border:1px solid var(--elite-line);
  border-radius:24px;
  padding:14px;
  display:grid;
  gap:10px;
  box-shadow:0 16px 45px rgba(14,37,53,.07);
}
.map-picker-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
}
.map-picker-head strong{
  display:block;
  font-size:17px;
  letter-spacing:-.02em;
}
.map-picker-head span{
  color:var(--elite-muted);
  font-size:12px;
  font-weight:850;
  text-align:right;
}
.map-canvas{
  width:100%;
  height:280px;
  border-radius:20px;
  overflow:hidden;
  background:rgba(14,37,53,.08);
  border:1px solid var(--elite-line);
}
.map-help{
  margin:0;
  color:var(--elite-muted);
  font-size:12px;
  font-weight:850;
  line-height:1.35;
}
.map-help.is-ok{
  color:#116b33;
}
.map-help.is-warn{
  color:#8a5a00;
}
.mini-location-ok{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 10px;
  border-radius:999px;
  background:#e9f8ef;
  color:#116b33;
  font-size:12px;
  font-weight:900;
}
@media(max-width:520px){
  .map-canvas{
    height:240px;
  }
  .map-picker-head{
    display:grid;
  }
  .map-picker-head span{
    text-align:left;
  }
}
/* === FASE 10A GOOGLE MAPS END === */

/* === FASE 10B GOOGLE MAPS SEARCH START === */
.map-actions-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.map-picker-card:not(.has-location) .map-canvas{
  filter:grayscale(.18);
  opacity:.72;
}
.map-picker-card:not(.has-location) .map-canvas:after{
  content:"";
}
.map-picker-card.has-location{
  border-color:rgba(17,107,51,.20);
  background:rgba(248,255,250,.88);
}
.map-picker-card.has-location .map-canvas{
  opacity:1;
  filter:none;
}
.map-picker-card [data-map-search]{
  background:var(--elite-black);
  color:#fff;
}
@media(max-width:520px){
  .map-actions-row{
    display:grid;
  }
}
/* === FASE 10B GOOGLE MAPS SEARCH END === */

/* === FASE 10C GOOGLE MAPS AUTOCOMPLETE START === */
.pac-container{
  z-index:999999 !important;
  border-radius:18px;
  border:1px solid rgba(14,37,53,.10);
  box-shadow:0 18px 50px rgba(14,37,53,.18);
  overflow:hidden;
  font-family:inherit;
}
.pac-item{
  padding:11px 14px;
  font-size:14px;
  cursor:pointer;
}
.pac-item:hover{
  background:#f4f1ea;
}
.pac-item-query{
  font-size:14px;
  font-weight:900;
  color:#111;
}
.map-picker-card.has-location{
  border-color:rgba(17,107,51,.22);
  background:rgba(248,255,250,.9);
}
.map-picker-card:not(.has-location) .map-canvas{
  opacity:.78;
}
.map-actions-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.map-picker-card [data-map-search]{
  background:var(--elite-black);
  color:#fff;
}
@media(max-width:520px){
  .map-actions-row{
    display:grid;
  }
}
/* === FASE 10C GOOGLE MAPS AUTOCOMPLETE END === */

/* === FASE 10D GOOGLE MAPS NEW START === */
.elite-address-hidden{
  position:absolute !important;
  left:-99999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.elite-place-autocomplete-wrap{
  width:100%;
  margin-top:8px;
}
.elite-place-autocomplete-wrap gmp-place-autocomplete,
gmp-place-autocomplete{
  width:100%;
  display:block;
  border-radius:18px;
}
.pac-container{
  z-index:999999 !important;
}
.map-picker-card.has-location{
  border-color:rgba(17,107,51,.22);
  background:rgba(248,255,250,.9);
}
.map-actions-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.map-picker-card [data-map-search]{
  background:var(--elite-black);
  color:#fff;
}
@media(max-width:520px){
  .map-actions-row{
    display:grid;
  }
}
/* === FASE 10D GOOGLE MAPS NEW END === */

/* === FASE 10E DIRECCION LIMPIA START === */
.map-auto-fields{
  display:grid;
  gap:8px;
}
.map-detected-data{
  border:1px solid var(--elite-line);
  background:rgba(14,37,53,.05);
  color:var(--elite-muted);
  border-radius:16px;
  padding:10px 12px;
  font-size:12px;
  font-weight:850;
  line-height:1.35;
}
.map-detected-data.is-ok{
  background:#e9f8ef;
  border-color:rgba(17,107,51,.16);
  color:#116b33;
}
.map-detected-data.is-warn{
  background:#fff6dc;
  border-color:rgba(122,86,0,.16);
  color:#7a5600;
}
.elite-place-autocomplete-wrap{
  margin-top:10px;
}
.map-picker-card{
  margin-top:4px;
}
/* === FASE 10E DIRECCION LIMPIA END === */

/* === FASE 10F COBERTURA MAPS START === */
.map-help.is-warn{
  background:#fff6dc;
  border:1px solid rgba(122,86,0,.16);
  color:#7a5600;
  border-radius:14px;
  padding:9px 11px;
}
.map-help.is-ok{
  background:#e9f8ef;
  border:1px solid rgba(17,107,51,.16);
  color:#116b33;
  border-radius:14px;
  padding:9px 11px;
}
/* === FASE 10F COBERTURA MAPS END === */

/* === FASE 10N AUTO CITY START === */
.elite-city-field-hidden,
.elite-city-select-hidden{
  display:none !important;
}
.coverage-zones-card{
  border:1px solid var(--elite-line);
  background:rgba(14,37,53,.045);
  border-radius:18px;
  padding:13px 14px;
  display:grid;
  gap:5px;
  margin:8px 0 4px;
}
.coverage-zones-card strong{
  font-size:14px;
  letter-spacing:-.01em;
}
.coverage-zones-card span{
  font-size:13px;
  font-weight:900;
  color:var(--elite-black);
  line-height:1.35;
}
.coverage-zones-card small{
  font-size:12px;
  color:var(--elite-muted);
  font-weight:800;
  line-height:1.35;
}
.coverage-zones-card.is-detected{
  background:#e9f8ef;
  border-color:rgba(17,107,51,.18);
}
.elite-address-hidden{
  position:absolute !important;
  left:-99999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.elite-place-autocomplete-wrap{
  width:100%;
  margin-top:10px;
}
gmp-place-autocomplete{
  display:block;
  width:100%;
}
.map-help.is-ok,
.map-help.is-warn,
.map-detected-data{
  word-break:break-word;
}
button.is-loading,
input.is-loading{
  opacity:.65;
  pointer-events:none;
  filter:saturate(.7);
}
/* === FASE 10N AUTO CITY END === */


/* === FASE 11A UI BASE ELITE START === */
/* Premium lite: editorial, rápido y con menos peso visual */
:root{
  --elite-bg:#f5f1e8;
  --elite-bg-2:#eee7d9;
  --elite-paper:#fffdf8;
  --elite-ink:#111111;
  --elite-muted:#766f64;
  --elite-line:rgba(17,17,17,.115);
  --elite-gold:#b89455;
  --elite-radius:18px;
  --elite-radius-sm:12px;
  --elite-speed:160ms;
  --elite-ease:cubic-bezier(.2,.8,.2,1);
}

body.elite-bg{
  background:linear-gradient(180deg,var(--elite-bg),var(--elite-bg-2))!important;
  color:var(--elite-ink)!important;
  font-family:Montserrat,"Helvetica Neue",Arial,sans-serif!important;
  font-weight:400!important;
  letter-spacing:.005em;
}

body.elite-bg:before,
.panel-header:after,
.keeper-top:after{
  display:none!important;
}

.hero-card,
.elite-card,
.role-card,
.dash-card,
.empty-state,
.client-card,
.admin-form-card,
.admin-list-card,
.keeper-admin-card,
.appointment-card,
.keeper-service-card,
.ops-card,
.metric-card,
.finance-card,
.report-filter-card,
.notification-card,
.notification-actions-card,
.push-activation-card,
.push-inline-card,
.push-device-card,
.map-picker-card,
.coverage-zones-card,
.price-city-card,
.panel-header,
.keeper-top{
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  background:rgba(255,253,248,.64)!important;
  border:1px solid var(--elite-line)!important;
  border-radius:var(--elite-radius)!important;
}

.client-card,
.admin-form-card,
.admin-list-card,
.keeper-admin-card,
.appointment-card,
.keeper-service-card,
.ops-card,
.finance-card,
.report-filter-card,
.notification-card,
.push-device-card,
.price-city-card{
  padding:22px!important;
}

.section-title,
.header-actions{
  border-bottom:1px solid var(--elite-line)!important;
  padding-bottom:14px!important;
  margin-bottom:18px!important;
}

.panel-header h1,
.keeper-top h1,
.keeper-top h2,
.section-title h2,
.client-card > strong,
.admin-list-card > strong,
.admin-form-card > strong,
.keeper-service-card > strong,
.appointment-card > strong,
.ops-card > strong,
.metric-card strong,
.finance-card strong,
.empty-state strong{
  font-weight:500!important;
  text-transform:uppercase!important;
  letter-spacing:.075em!important;
  line-height:1.08!important;
}

.panel-header h1{
  font-size:clamp(30px,4.2vw,56px)!important;
}

.keeper-top h1,
.keeper-top h2{
  font-size:clamp(24px,4vw,40px)!important;
}

p,
span,
small,
label,
input,
select,
textarea,
button,
.btn,
.mini-btn{
  font-weight:400!important;
}

.eyebrow{
  color:var(--elite-gold)!important;
  font-size:10px!important;
  font-weight:500!important;
  text-transform:uppercase!important;
  letter-spacing:.22em!important;
}

.muted,
.section-title span,
.client-card p,
.empty-state p{
  color:var(--elite-muted)!important;
}

.btn,
.mini-btn,
button,
.app-tab,
[data-admin-tab]{
  border-radius:999px!important;
  transition:background var(--elite-speed) var(--elite-ease),color var(--elite-speed) var(--elite-ease),border-color var(--elite-speed) var(--elite-ease),transform var(--elite-speed) var(--elite-ease),opacity var(--elite-speed) var(--elite-ease)!important;
}

.btn,
.mini-btn,
button[type="submit"],
.app-tab,
[data-admin-tab]{
  text-transform:uppercase!important;
  letter-spacing:.075em!important;
  font-size:11px!important;
}

.btn-dark,
button.btn-dark,
button[type="submit"]:not(.btn-soft):not(.mini-btn){
  background:#111!important;
  color:#fff!important;
  box-shadow:none!important;
  border:1px solid #111!important;
}

.btn-soft,
.mini-btn{
  background:transparent!important;
  border:1px solid var(--elite-line)!important;
  color:var(--elite-ink)!important;
  box-shadow:none!important;
}

.btn:hover,
.mini-btn:hover,
button:hover{
  transform:translateY(-1px);
}

.elite-form input,
.elite-form select,
.elite-form textarea,
.report-filter-form input,
.report-filter-form select,
.payment-form input,
.payment-form select,
.ops-mini-form input,
.ops-mini-form select{
  background:rgba(255,255,255,.56)!important;
  border:1px solid var(--elite-line)!important;
  border-radius:14px!important;
  min-height:44px!important;
  box-shadow:none!important;
  font-weight:400!important;
}

.elite-form input:focus,
.elite-form select:focus,
.elite-form textarea:focus,
.report-filter-form input:focus,
.report-filter-form select:focus,
.payment-form input:focus,
.payment-form select:focus,
.ops-mini-form input:focus,
.ops-mini-form select:focus{
  outline:none!important;
  border-color:var(--elite-gold)!important;
  box-shadow:0 0 0 3px rgba(184,148,85,.12)!important;
}

.app-tabs{
  border:1px solid var(--elite-line)!important;
  background:rgba(255,253,248,.72)!important;
  box-shadow:none!important;
  border-radius:999px!important;
  padding:6px!important;
  gap:6px!important;
}

.app-tab{
  background:transparent!important;
  color:var(--elite-muted)!important;
  border:0!important;
  min-height:38px!important;
  padding:0 14px!important;
}

.app-tab.active{
  background:#111!important;
  color:#fff!important;
}

.admin-web-app .elite-panel{
  width:min(1500px,100%)!important;
}

.admin-web-app .panel-header{
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid var(--elite-line)!important;
  border-radius:0!important;
  padding:12px 0 24px!important;
  margin-bottom:22px!important;
}

/* FASE15A32_REMOVED_11A_OLD_DESKTOP_ADMIN_MENU */
.admin-web-app .metric-card,
.admin-web-app .admin-list-card,
.admin-web-app .admin-form-card,
.admin-web-app .ops-card,
.admin-web-app .finance-card,
.admin-web-app .report-filter-card{
  background:rgba(255,253,248,.52)!important;
}

.admin-web-app .grid-4{
  gap:10px!important;
}

.admin-web-app .metric-card{
  min-height:auto!important;
  padding:16px!important;
}

.admin-web-app .metric-card span{
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
}

.admin-web-app .metric-card strong{
  font-size:clamp(24px,3vw,40px)!important;
}

.appointment-card,
.keeper-service-card,
.ops-card{
  position:relative!important;
  overflow:hidden!important;
}

.appointment-card:before,
.keeper-service-card:before,
.ops-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:var(--elite-gold);
}

.appointment-card:hover,
.keeper-service-card:hover,
.ops-card:hover,
.client-card:hover,
.admin-list-card:hover{
  border-color:rgba(184,148,85,.38)!important;
  transform:none!important;
  box-shadow:none!important;
}

.map-canvas{
  border-radius:16px!important;
  border:1px solid var(--elite-line)!important;
}

.elite-panel,
.mobile-app{
  animation:none!important;
}

.elite-pressing{
  transform:scale(.992)!important;
}

.elite-submitting button[type="submit"]{
  opacity:.62;
  pointer-events:none;
}

@media (max-width:760px){
  .elite-panel,
  .mobile-app{
    padding:14px 14px 92px!important;
  }

  .panel-header,
  .keeper-top{
    border-radius:18px!important;
    padding:18px!important;
  }

  .client-app-page .app-tabs,
  .keeper-app-page .app-tabs{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    top:auto!important;
    width:auto!important;
    z-index:80!important;
    display:flex!important;
    flex-direction:row!important;
    overflow-x:auto!important;
    gap:6px!important;
    padding:7px!important;
    border-radius:999px!important;
    background:rgba(17,17,17,.94)!important;
    border:1px solid rgba(255,255,255,.12)!important;
  }

  .client-app-page .app-tab,
  .keeper-app-page .app-tab{
    color:rgba(255,255,255,.68)!important;
    min-width:max-content!important;
    min-height:38px!important;
    padding:0 13px!important;
  }

  .client-app-page .app-tab.active,
  .keeper-app-page .app-tab.active{
    background:#fff!important;
    color:#111!important;
  }

  .client-app-page .elite-menu-group,
  .keeper-app-page .elite-menu-group{
    display:none!important;
  }

  .client-card,
  .admin-form-card,
  .admin-list-card,
  .keeper-service-card,
  .appointment-card,
  .ops-card{
    padding:18px!important;
    border-radius:18px!important;
  }
}
/* FASE15A33_CLEANED_11A_MOBILE_ADMIN_MENU_REFS */
/* === FASE 11A UI BASE ELITE END === */

/* === FASE 11A6 QUITAR MENUS HEADER DUPLICADOS START === */
/* Oculta menús duplicados junto al título/header.
   El menú principal ya vive en .elite-main-sidebar. */
body.admin-web-app .elite-primary-actions-old,
body.admin-web-app .elite-header-menu-duplicate,
body.admin-web-app .panel-header > .header-actions,
body.admin-web-app .keeper-top > .header-actions{
  display:none!important;
}

/* Pero NO ocultar acciones internas dentro de cards/secciones */
body.admin-web-app .admin-form-card .header-actions,
body.admin-web-app .admin-list-card .header-actions,
body.admin-web-app .report-filter-card .header-actions,
body.admin-web-app .notification-panel .notification-actions-card,
body.admin-web-app .push-activation-card .push-actions,
body.admin-web-app .push-inline-card .push-actions{
  display:initial!important;
}

/* Limpieza visual del header cuando ya no tiene botones al lado */
body.admin-web-app .panel-header,
body.admin-web-app .keeper-top{
  display:block!important;
}

body.admin-web-app .panel-header h1,
body.admin-web-app .keeper-top h1,
body.admin-web-app .keeper-top h2{
  max-width:100%!important;
}
/* === FASE 11A6 QUITAR MENUS HEADER DUPLICADOS END === */

/* === FASE 11B ADMIN AGENDA CRM START === */
/* Operación: Agenda + CRM tipo app web */
.admin-web-app .elite-admin-subnav{
  margin-top:10px!important;
}

.admin-web-app .elite-admin-subnav [data-admin-tab]{
  font-size:10px!important;
  min-height:34px!important;
  padding:0 15px!important;
}

/* Agenda principal */
.elite-panel-agenda{
  position:relative;
}

.elite-agenda-planner{
  margin:18px 0 22px;
  border:1px solid var(--elite-line);
  border-radius:22px;
  background:rgba(255,253,248,.55);
  overflow:hidden;
}

.elite-agenda-toolbar{
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:center;
  padding:18px 20px;
  border-bottom:1px solid var(--elite-line);
}

.elite-agenda-toolbar h2{
  margin:0;
  font-size:21px;
  font-weight:500;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.elite-agenda-toolbar p{
  margin:4px 0 0;
  color:var(--elite-muted);
  font-size:13px;
}

.elite-agenda-filters{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.elite-agenda-filter{
  border:1px solid var(--elite-line);
  background:transparent;
  color:var(--elite-muted);
  border-radius:999px;
  min-height:32px;
  padding:0 12px;
  font-size:10px!important;
  text-transform:uppercase;
  letter-spacing:.08em;
  cursor:pointer;
}

.elite-agenda-filter.is-active{
  background:#111;
  color:#fff;
  border-color:#111;
}

.elite-calendar-board{
  display:grid;
  grid-template-columns:72px repeat(7,minmax(132px,1fr));
  overflow:auto;
  min-height:520px;
}

.elite-calendar-time-head,
.elite-calendar-day-head,
.elite-calendar-time-cell,
.elite-calendar-day-cell{
  border-right:1px solid var(--elite-line);
  border-bottom:1px solid var(--elite-line);
}

.elite-calendar-time-head,
.elite-calendar-day-head{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(255,253,248,.92);
}

.elite-calendar-time-head{
  left:0;
  z-index:3;
}

.elite-calendar-day-head{
  padding:14px 12px;
  text-align:center;
}

.elite-calendar-day-head small{
  display:block;
  color:var(--elite-muted);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:9px;
  margin-bottom:4px;
}

.elite-calendar-day-head strong{
  display:block;
  font-size:15px;
  font-weight:500!important;
  letter-spacing:.08em!important;
}

.elite-calendar-day-head.is-today{
  background:#111;
  color:#fff;
}

.elite-calendar-day-head.is-today small{
  color:rgba(255,255,255,.68)!important;
}

.elite-calendar-time-cell{
  padding:12px 10px;
  color:var(--elite-muted);
  font-size:10px;
  text-align:right;
  background:rgba(255,253,248,.45);
}

.elite-calendar-day-cell{
  min-height:82px;
  padding:7px;
  background:rgba(255,255,255,.22);
}

.elite-calendar-event{
  border:1px solid rgba(17,17,17,.10);
  background:#f2eddf;
  border-radius:14px;
  padding:10px;
  margin-bottom:6px;
  cursor:pointer;
  transition:border-color .16s ease, transform .16s ease;
}

.elite-calendar-event:hover{
  border-color:rgba(184,148,85,.52);
  transform:translateY(-1px);
}

.elite-calendar-event strong{
  display:block;
  font-size:12px;
  font-weight:500!important;
  letter-spacing:.04em!important;
  text-transform:uppercase;
  line-height:1.2;
}

.elite-calendar-event small{
  display:block;
  color:var(--elite-muted);
  margin-top:5px;
  font-size:10px;
}

.elite-calendar-event .elite-event-status{
  display:inline-flex;
  margin-top:8px;
  border-radius:999px;
  padding:3px 8px;
  background:rgba(255,255,255,.55);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.elite-calendar-event.is-completed{
  background:#e8eee0;
}

.elite-calendar-event.is-pending{
  background:#fff4ce;
}

.elite-calendar-event.is-cancelled{
  opacity:.55;
  background:#eee6e1;
}

.elite-calendar-event.is-assigned{
  background:#e9edf3;
}

/* Vista inferior: crear cita + detalle */
.elite-panel-agenda .admin-form-card{
  background:rgba(255,253,248,.52)!important;
}

.elite-panel-agenda .admin-list-card{
  background:rgba(255,253,248,.42)!important;
}

/* CRM Keepers / Clientes */
.elite-panel-crm{
  position:relative;
}

.elite-crm-toolbar{
  display:grid;
  grid-template-columns:1fr minmax(220px,360px);
  gap:16px;
  align-items:end;
  margin:18px 0;
  padding-bottom:16px;
  border-bottom:1px solid var(--elite-line);
}

.elite-crm-toolbar h2{
  margin:0;
  font-size:22px;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.elite-crm-toolbar p{
  margin:5px 0 0;
  color:var(--elite-muted);
  font-size:13px;
}

.elite-crm-search{
  width:100%;
  min-height:42px;
  border:1px solid var(--elite-line);
  border-radius:999px;
  background:rgba(255,255,255,.55);
  padding:0 16px;
  outline:none;
}

.elite-crm-search:focus{
  border-color:var(--elite-gold);
  box-shadow:0 0 0 3px rgba(184,148,85,.12);
}

.elite-panel-crm .admin-list-card,
.elite-panel-crm .client-card,
.elite-panel-crm .keeper-admin-card{
  box-shadow:none!important;
}

.elite-crm-row,
.elite-panel-crm .client-card,
.elite-panel-crm .keeper-admin-card{
  display:grid!important;
  grid-template-columns:minmax(220px,1.2fr) minmax(220px,1fr) auto;
  gap:16px;
  align-items:center;
  padding:16px 0!important;
  border:0!important;
  border-bottom:1px solid var(--elite-line)!important;
  border-radius:0!important;
  background:transparent!important;
}

.elite-panel-crm .client-card:hover,
.elite-panel-crm .keeper-admin-card:hover{
  background:rgba(255,255,255,.28)!important;
}

.elite-crm-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  justify-content:flex-end;
}

.elite-crm-actions a,
.elite-crm-actions button{
  min-height:30px!important;
  border:1px solid var(--elite-line)!important;
  background:transparent!important;
  color:#111!important;
  border-radius:999px!important;
  padding:0 10px!important;
  text-decoration:none!important;
  font-size:9px!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}

.elite-crm-actions a:hover,
.elite-crm-actions button:hover{
  border-color:var(--elite-gold)!important;
}

.elite-crm-muted{
  color:var(--elite-muted);
  font-size:12px;
  line-height:1.4;
}

.elite-crm-empty{
  padding:28px;
  border:1px dashed var(--elite-line);
  border-radius:18px;
  color:var(--elite-muted);
  text-align:center;
}

/* Responsive */
@media (max-width:980px){
  .elite-calendar-board{
    grid-template-columns:58px repeat(7,minmax(118px,1fr));
  }

  .elite-agenda-toolbar,
  .elite-crm-toolbar{
    grid-template-columns:1fr;
  }

  .elite-agenda-filters{
    justify-content:flex-start;
  }

  .elite-crm-row,
  .elite-panel-crm .client-card,
  .elite-panel-crm .keeper-admin-card{
    grid-template-columns:1fr!important;
    gap:8px;
  }

  .elite-crm-actions{
    justify-content:flex-start;
  }
}

@media (max-width:760px){
  .elite-agenda-planner{
    border-radius:18px;
  }

  .elite-agenda-toolbar{
    padding:16px;
  }

  .elite-calendar-board{
    min-height:420px;
    grid-template-columns:50px repeat(7,minmax(106px,1fr));
  }

  .elite-calendar-day-head{
    padding:12px 8px;
  }

  .elite-calendar-time-cell{
    padding:10px 6px;
  }

  .elite-calendar-day-cell{
    min-height:74px;
    padding:5px;
  }

  .elite-calendar-event{
    padding:8px;
    border-radius:12px;
  }

  .elite-calendar-event strong{
    font-size:10px;
  }
}
/* === FASE 11B ADMIN AGENDA CRM END === */

/* === FASE 11B2 OPERACION EN MENU START === */
/* Agenda / Keepers / Clientes ya viven en el sidebar, no como submenú superior */
body.admin-web-app .elite-admin-subnav,
body.admin-web-app .elite-admin-menu{
  display:none!important;
}

/* Menú principal: más alto y más claro con operación separada */
body.admin-web-app .elite-main-sidebar a{
  margin-bottom:3px!important;
}

/* Quitar espacio que dejaba el submenú */
body.admin-web-app [data-admin-panel]{
  margin-top:0!important;
}

/* Estado de pantalla interna */
body.admin-web-app .elite-operation-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:0 0 16px;
  margin:0 0 18px;
  border-bottom:1px solid var(--elite-line);
}

body.admin-web-app .elite-operation-title h2{
  margin:0;
  font-size:clamp(24px,3.4vw,42px);
  font-weight:400!important;
  text-transform:uppercase;
  letter-spacing:.12em!important;
}

body.admin-web-app .elite-operation-title p{
  margin:6px 0 0;
  color:var(--elite-muted);
  max-width:720px;
}

@media (max-width:760px){
  body.admin-web-app .elite-operation-title{
    display:block;
  }

  body.admin-web-app .elite-operation-title h2{
    font-size:28px;
    letter-spacing:.08em!important;
  }
}
/* === FASE 11B2 OPERACION EN MENU END === */

/* === FASE 11B3 OPERACION ARCHIVOS REALES START === */
/* Archivos reales de operación */
body.elite-operation-standalone .elite-admin-subnav,
body.elite-operation-standalone .elite-admin-menu{
  display:none!important;
}

/* Cada archivo muestra solo su panel correspondiente */
body.elite-operation-standalone [data-admin-panel]{
  display:none!important;
}

body.elite-view-agenda [data-admin-panel].elite-force-agenda,
body.elite-view-keepers [data-admin-panel].elite-force-keepers,
body.elite-view-clientes [data-admin-panel].elite-force-clientes{
  display:block!important;
}

/* Header más específico por módulo */
body.elite-operation-standalone .panel-header{
  display:block!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid var(--elite-line)!important;
  border-radius:0!important;
  padding:8px 0 18px!important;
  margin-bottom:18px!important;
}

body.elite-operation-standalone .panel-header .header-actions,
body.elite-operation-standalone .panel-header nav,
body.elite-operation-standalone .panel-header .actions{
  display:none!important;
}

body.elite-operation-standalone .panel-header h1{
  font-size:clamp(36px,5vw,68px)!important;
  font-weight:400!important;
  letter-spacing:.13em!important;
}

/* Título de módulo */
body.elite-operation-standalone .elite-operation-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:0 0 16px;
  margin:0 0 18px;
  border-bottom:1px solid var(--elite-line);
}

body.elite-operation-standalone .elite-operation-title h2{
  margin:0;
  font-size:clamp(24px,3.4vw,42px);
  font-weight:400!important;
  text-transform:uppercase;
  letter-spacing:.12em!important;
}

body.elite-operation-standalone .elite-operation-title p{
  margin:6px 0 0;
  color:var(--elite-muted);
  max-width:720px;
}

@media (max-width:760px){
  body.elite-operation-standalone .elite-operation-title{
    display:block;
  }

  body.elite-operation-standalone .elite-operation-title h2{
    font-size:28px;
    letter-spacing:.08em!important;
  }
}
/* === FASE 11B3 OPERACION ARCHIVOS REALES END === */

/* === FASE 11C AGENDA OPERATIVA REAL START === */
/* Agenda operativa real */
body.elite-view-agenda{
  --agenda-left:#111;
  --agenda-soft:#f4efe4;
  --agenda-soft-2:#ebe2d2;
  --agenda-line:rgba(17,17,17,.105);
  --agenda-green:#dfe9d6;
  --agenda-yellow:#fff0bb;
  --agenda-blue:#dfe7f4;
  --agenda-red:#efe1dc;
}

body.elite-view-agenda .panel-header h1{
  letter-spacing:.16em!important;
}

body.elite-view-agenda .elite-operation-title{
  display:none!important;
}

.elite-agenda-os{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:18px;
  align-items:start;
  margin-top:18px;
}

.elite-agenda-main{
  min-width:0;
}

.elite-agenda-side{
  position:sticky;
  top:22px;
  min-width:0;
}

.elite-agenda-head{
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  align-items:end;
  padding:0 0 18px;
  border-bottom:1px solid var(--agenda-line);
  margin-bottom:18px;
}

.elite-agenda-head h2{
  margin:0;
  font-size:clamp(28px,4vw,54px);
  font-weight:400!important;
  line-height:1;
  letter-spacing:.13em!important;
  text-transform:uppercase;
}

.elite-agenda-head p{
  margin:8px 0 0;
  color:var(--elite-muted);
  max-width:720px;
}

.elite-agenda-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.elite-agenda-actions button,
.elite-agenda-actions a{
  min-height:36px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  border:1px solid var(--agenda-line)!important;
  background:transparent!important;
  color:#111!important;
  text-decoration:none!important;
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}

.elite-agenda-actions .is-primary{
  background:#111!important;
  color:#fff!important;
  border-color:#111!important;
}

.elite-agenda-calendar{
  border:1px solid var(--agenda-line);
  border-radius:22px;
  overflow:hidden;
  background:rgba(255,253,248,.55);
}

.elite-agenda-calendar-top{
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:center;
  padding:16px 18px;
  border-bottom:1px solid var(--agenda-line);
}

.elite-agenda-range{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.elite-agenda-range strong{
  font-size:14px;
  font-weight:500!important;
  text-transform:uppercase;
  letter-spacing:.1em!important;
}

.elite-agenda-range button{
  width:34px;
  height:34px;
  padding:0!important;
  border-radius:999px!important;
  border:1px solid var(--agenda-line)!important;
  background:transparent!important;
  color:#111!important;
}

.elite-agenda-status-filters{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.elite-agenda-status-filters button{
  min-height:30px!important;
  padding:0 11px!important;
  border-radius:999px!important;
  border:1px solid var(--agenda-line)!important;
  background:transparent!important;
  color:var(--elite-muted)!important;
  font-size:9px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.elite-agenda-status-filters button.is-active{
  background:#111!important;
  color:#fff!important;
  border-color:#111!important;
}

.elite-agenda-week{
  display:grid;
  grid-template-columns:68px repeat(7,minmax(128px,1fr));
  overflow:auto;
  max-height:720px;
}

.elite-agenda-corner,
.elite-agenda-day,
.elite-agenda-hour,
.elite-agenda-cell{
  border-right:1px solid var(--agenda-line);
  border-bottom:1px solid var(--agenda-line);
}

.elite-agenda-corner,
.elite-agenda-day{
  position:sticky;
  top:0;
  z-index:3;
  background:rgba(255,253,248,.96);
}

.elite-agenda-corner{
  left:0;
  z-index:4;
}

.elite-agenda-day{
  min-height:72px;
  padding:13px 10px;
  text-align:center;
}

.elite-agenda-day small{
  display:block;
  font-size:9px;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--elite-muted);
  margin-bottom:5px;
}

.elite-agenda-day strong{
  font-size:15px;
  font-weight:500!important;
  letter-spacing:.08em!important;
}

.elite-agenda-day.is-today{
  background:#111;
  color:#fff;
}

.elite-agenda-day.is-today small{
  color:rgba(255,255,255,.68)!important;
}

.elite-agenda-hour{
  position:sticky;
  left:0;
  z-index:2;
  padding:10px 8px;
  text-align:right;
  color:var(--elite-muted);
  font-size:10px;
  background:rgba(255,253,248,.92);
}

.elite-agenda-cell{
  min-height:86px;
  padding:6px;
  background:rgba(255,255,255,.18);
}

.elite-agenda-event{
  display:block;
  width:100%;
  text-align:left;
  border:1px solid rgba(17,17,17,.09)!important;
  border-radius:14px!important;
  padding:10px!important;
  margin:0 0 6px!important;
  background:var(--agenda-blue)!important;
  color:#111!important;
  cursor:pointer;
}

.elite-agenda-event strong{
  display:block;
  font-size:11px;
  font-weight:500!important;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.055em!important;
}

.elite-agenda-event small{
  display:block;
  margin-top:5px;
  color:rgba(17,17,17,.62);
  font-size:10px;
  line-height:1.3;
}

.elite-agenda-event span{
  display:inline-flex;
  margin-top:7px;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.55);
  color:#111;
  font-size:8px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.elite-agenda-event.is-pending{background:var(--agenda-yellow)!important;}
.elite-agenda-event.is-assigned{background:var(--agenda-blue)!important;}
.elite-agenda-event.is-completed{background:var(--agenda-green)!important;}
.elite-agenda-event.is-cancelled{background:var(--agenda-red)!important;opacity:.72;}

.elite-agenda-detail{
  border:1px solid var(--agenda-line);
  border-radius:22px;
  background:rgba(255,253,248,.62);
  overflow:hidden;
}

.elite-agenda-detail-head{
  padding:18px;
  border-bottom:1px solid var(--agenda-line);
}

.elite-agenda-detail-head small{
  display:block;
  color:var(--elite-muted);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.14em;
  margin-bottom:6px;
}

.elite-agenda-detail-head strong{
  display:block;
  font-size:20px;
  font-weight:500!important;
  letter-spacing:.06em!important;
  text-transform:uppercase;
}

.elite-agenda-detail-body{
  padding:18px;
  color:var(--elite-muted);
  line-height:1.5;
}

.elite-agenda-detail-body .mini-btn,
.elite-agenda-detail-body .btn,
.elite-agenda-detail-body button,
.elite-agenda-detail-body a{
  margin:4px 4px 0 0;
}

.elite-agenda-source{
  margin-top:20px;
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);
  gap:18px;
}

body.elite-view-agenda .admin-form-card,
body.elite-view-agenda .admin-list-card{
  background:rgba(255,253,248,.48)!important;
}

body.elite-view-agenda .admin-form-card{
  position:sticky;
  top:22px;
}

body.elite-view-agenda .appointment-card,
body.elite-view-agenda .ops-card{
  border-radius:0!important;
  border:0!important;
  border-bottom:1px solid var(--agenda-line)!important;
  background:transparent!important;
  padding:18px 0!important;
}

body.elite-view-agenda .appointment-card:before,
body.elite-view-agenda .ops-card:before{
  width:2px!important;
}

@media (max-width:1180px){
  .elite-agenda-os{
    grid-template-columns:1fr;
  }

  .elite-agenda-side{
    position:relative;
    top:auto;
  }

  .elite-agenda-source{
    grid-template-columns:1fr;
  }

  body.elite-view-agenda .admin-form-card{
    position:relative;
    top:auto;
  }
}

@media (max-width:760px){
  .elite-agenda-head,
  .elite-agenda-calendar-top{
    grid-template-columns:1fr;
  }

  .elite-agenda-actions,
  .elite-agenda-status-filters{
    justify-content:flex-start;
  }

  .elite-agenda-week{
    grid-template-columns:52px repeat(7,minmax(104px,1fr));
    max-height:620px;
  }

  .elite-agenda-day{
    min-height:62px;
    padding:10px 6px;
  }

  .elite-agenda-cell{
    min-height:74px;
    padding:5px;
  }

  .elite-agenda-event{
    padding:8px!important;
    border-radius:12px!important;
  }

  .elite-agenda-event strong{
    font-size:9px;
  }
}
/* === FASE 11C AGENDA OPERATIVA REAL END === */

/* === FASE 11C2 AGENDA CALENDAR DRAWER START === */
/* Agenda 11C.2: solo calendario + drawer accionable */
body.elite-view-agenda .elite-operation-title,
body.elite-view-agenda .elite-agenda-side,
body.elite-view-agenda .elite-agenda-detail,
body.elite-view-agenda .elite-agenda-source{
  display:none!important;
}

body.elite-view-agenda .elite-agenda-os{
  display:block!important;
  margin-top:18px!important;
}

body.elite-view-agenda .elite-agenda-main{
  width:100%!important;
}

body.elite-view-agenda .elite-agenda-head{
  grid-template-columns:1fr auto!important;
  align-items:center!important;
}

body.elite-view-agenda .elite-agenda-head h2{
  font-size:clamp(32px,5vw,68px)!important;
  letter-spacing:.14em!important;
}

body.elite-view-agenda .elite-agenda-actions .is-primary{
  min-height:42px!important;
  padding:0 18px!important;
}

body.elite-view-agenda .elite-agenda-calendar{
  min-height:calc(100vh - 210px);
}

body.elite-view-agenda .elite-agenda-week{
  max-height:none!important;
  min-height:calc(100vh - 330px);
}

/* Ocultar módulos originales en primera pantalla: formulario y citas recientes */
body.elite-view-agenda .elite-agenda-hidden-source{
  display:none!important;
}

/* Drawer */
.elite-drawer-backdrop{
  position:fixed;
  inset:0;
  z-index:20000;
  background:rgba(17,17,17,.28);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}

.elite-drawer-backdrop.is-open{
  opacity:1;
  pointer-events:auto;
}

.elite-agenda-drawer{
  position:fixed;
  top:18px;
  right:18px;
  bottom:18px;
  z-index:20001;
  width:min(460px,calc(100vw - 36px));
  background:#fffdf8;
  border:1px solid rgba(17,17,17,.12);
  border-radius:28px;
  box-shadow:0 30px 90px rgba(0,0,0,.18);
  transform:translateX(calc(100% + 34px));
  transition:transform .22s cubic-bezier(.2,.8,.2,1);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.elite-agenda-drawer.is-open{
  transform:translateX(0);
}

.elite-agenda-drawer-head{
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px 20px;
  border-bottom:1px solid rgba(17,17,17,.1);
}

.elite-agenda-drawer-head strong{
  font-size:15px;
  font-weight:500!important;
  letter-spacing:.1em!important;
  text-transform:uppercase;
}

.elite-agenda-drawer-head small{
  display:block;
  margin-top:4px;
  color:var(--elite-muted);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.elite-agenda-drawer-close{
  width:38px;
  height:38px;
  border-radius:999px!important;
  border:1px solid rgba(17,17,17,.12)!important;
  background:transparent!important;
  color:#111!important;
  font-size:18px!important;
  padding:0!important;
}

.elite-agenda-drawer-body{
  padding:20px;
  overflow:auto;
  flex:1;
}

.elite-agenda-drawer-body .admin-form-card,
.elite-agenda-drawer-body .admin-list-card,
.elite-agenda-drawer-body .appointment-card,
.elite-agenda-drawer-body .ops-card{
  display:block!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}

.elite-agenda-drawer-body .section-title{
  margin-top:0!important;
}

.elite-agenda-drawer-body .appointment-card,
.elite-agenda-drawer-body .ops-card{
  border-bottom:0!important;
}

.elite-agenda-drawer-body .appointment-card:before,
.elite-agenda-drawer-body .ops-card:before{
  display:none!important;
}

.elite-agenda-drawer-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:14px 20px 20px;
  border-top:1px solid rgba(17,17,17,.1);
}

.elite-agenda-drawer-actions a,
.elite-agenda-drawer-actions button{
  min-height:36px!important;
  border-radius:999px!important;
  border:1px solid rgba(17,17,17,.12)!important;
  background:transparent!important;
  color:#111!important;
  text-decoration:none!important;
  padding:0 13px!important;
  font-size:10px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.elite-agenda-drawer-actions .is-primary{
  background:#111!important;
  color:#fff!important;
  border-color:#111!important;
}

/* Calendario más app */
.elite-agenda-event{
  position:relative;
}

.elite-agenda-event:after{
  content:"•••";
  position:absolute;
  top:7px;
  right:9px;
  color:rgba(17,17,17,.38);
  letter-spacing:.08em;
  font-size:11px;
}

.elite-agenda-event.is-selected{
  outline:2px solid rgba(17,17,17,.82)!important;
  outline-offset:2px;
}

/* Mobile tipo app */
@media (max-width:760px){
  body.elite-view-agenda .panel-header{
    display:none!important;
  }

  body.elite-view-agenda .elite-panel{
    padding-top:12px!important;
  }

  body.elite-view-agenda .elite-agenda-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding-bottom:12px!important;
    margin-bottom:12px!important;
  }

  body.elite-view-agenda .elite-agenda-head h2{
    font-size:22px!important;
    letter-spacing:.02em!important;
    text-transform:none!important;
    font-weight:500!important;
  }

  body.elite-view-agenda .elite-agenda-head p{
    display:none!important;
  }

  body.elite-view-agenda .elite-agenda-actions button:not(.is-primary){
    display:none!important;
  }

  body.elite-view-agenda .elite-agenda-actions .is-primary{
    width:42px!important;
    height:42px!important;
    padding:0!important;
    font-size:0!important;
    border-radius:999px!important;
  }

  body.elite-view-agenda .elite-agenda-actions .is-primary:before{
    content:"+";
    font-size:24px;
    line-height:1;
  }

  body.elite-view-agenda .elite-agenda-calendar{
    border-radius:24px!important;
    min-height:calc(100vh - 132px)!important;
  }

  body.elite-view-agenda .elite-agenda-calendar-top{
    padding:14px!important;
  }

  body.elite-view-agenda .elite-agenda-status-filters{
    overflow-x:auto;
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
    padding-bottom:2px;
  }

  body.elite-view-agenda .elite-agenda-week{
    grid-template-columns:52px repeat(7,minmax(150px,1fr))!important;
    min-height:calc(100vh - 245px)!important;
    overflow:auto!important;
  }

  body.elite-view-agenda .elite-agenda-day{
    min-height:58px!important;
  }

  body.elite-view-agenda .elite-agenda-cell{
    min-height:88px!important;
  }

  .elite-agenda-drawer{
    top:auto;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    height:min(86vh,760px);
    border-radius:28px 28px 0 0;
    transform:translateY(calc(100% + 24px));
  }

  .elite-agenda-drawer.is-open{
    transform:translateY(0);
  }

  .elite-agenda-drawer:before{
    content:"";
    width:44px;
    height:4px;
    border-radius:999px;
    background:rgba(17,17,17,.18);
    position:absolute;
    top:9px;
    left:50%;
    transform:translateX(-50%);
  }

  .elite-agenda-drawer-head{
    padding-top:24px;
  }
}
/* === FASE 11C2 AGENDA CALENDAR DRAWER END === */

/* === FASE 11C3 AGENDA OCULTAR MODULOS ORIGEN START === */
/* Agenda: pantalla principal solo calendario */
body.elite-view-agenda .elite-agenda-source-store,
body.elite-view-agenda .elite-agenda-source-store *{
  display:none!important;
}

/* Si algún wrapper original no recibió clase, ocultar tarjetas/listas originales dentro del panel activo */
body.elite-view-agenda [data-admin-panel].active > .admin-form-card,
body.elite-view-agenda [data-admin-panel].active > .admin-list-card,
body.elite-view-agenda [data-admin-panel].active > .client-card,
body.elite-view-agenda [data-admin-panel].active > .appointment-card,
body.elite-view-agenda [data-admin-panel].active > .ops-card,
body.elite-view-agenda [data-admin-panel].active > .grid-2,
body.elite-view-agenda [data-admin-panel].active > .grid-3,
body.elite-view-agenda [data-admin-panel].active > .grid-4{
  display:none!important;
}

/* No afectar el calendario ni el drawer */
body.elite-view-agenda [data-admin-panel].active > .elite-agenda-os,
body.elite-view-agenda .elite-agenda-os,
body.elite-view-agenda .elite-agenda-os *,
body.elite-view-agenda .elite-agenda-drawer,
body.elite-view-agenda .elite-agenda-drawer *{
  display:revert;
}

/* Reglas específicas porque revert no siempre reconstruye grid/flex */
body.elite-view-agenda .elite-agenda-os{display:block!important;}
body.elite-view-agenda .elite-agenda-head{display:grid!important;}
body.elite-view-agenda .elite-agenda-actions{display:flex!important;}
body.elite-view-agenda .elite-agenda-calendar-top{display:grid!important;}
body.elite-view-agenda .elite-agenda-status-filters{display:flex!important;}
body.elite-view-agenda .elite-agenda-week{display:grid!important;}
body.elite-view-agenda .elite-agenda-drawer{display:flex!important;}
body.elite-view-agenda .elite-agenda-drawer-head{display:flex!important;}
body.elite-view-agenda .elite-agenda-drawer-actions{display:flex!important;}
body.elite-view-agenda .elite-drawer-backdrop{display:block!important;}

/* Dentro del drawer sí se deben ver clones del formulario o cita */
body.elite-view-agenda .elite-agenda-drawer-body .admin-form-card,
body.elite-view-agenda .elite-agenda-drawer-body .admin-list-card,
body.elite-view-agenda .elite-agenda-drawer-body .client-card,
body.elite-view-agenda .elite-agenda-drawer-body .appointment-card,
body.elite-view-agenda .elite-agenda-drawer-body .ops-card,
body.elite-view-agenda .elite-agenda-drawer-body form,
body.elite-view-agenda .elite-agenda-drawer-body .elite-form{
  display:block!important;
}

body.elite-view-agenda .elite-agenda-drawer-body .grid-2,
body.elite-view-agenda .elite-agenda-drawer-body .grid-3,
body.elite-view-agenda .elite-agenda-drawer-body .grid-4{
  display:grid!important;
}
/* === FASE 11C3 AGENDA OCULTAR MODULOS ORIGEN END === */


/* === FASE 11C4 AGENDA MOBILE DAYVIEW METRICAS LITE START === */
/* FIX 11C.4: volver al calendario, pero responsivo */

/* Nunca mostrar la vista móvil experimental que se iba debajo */
body.elite-view-agenda .elite-agenda-mobile-view{
  display:none!important;
}

/* Métricas pequeñas, sin cards grandes */
body.elite-view-agenda .grid-4:has(.metric-card),
body.elite-view-agenda .elite-agenda-metrics-lite{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px 16px!important;
  margin:4px 0 12px!important;
  padding:0 0 10px!important;
  border-bottom:1px solid var(--elite-line)!important;
}

body.elite-view-agenda .grid-4:has(.metric-card) .metric-card,
body.elite-view-agenda .elite-agenda-metrics-lite .metric-card{
  display:inline-flex!important;
  align-items:baseline!important;
  gap:6px!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}

body.elite-view-agenda .grid-4:has(.metric-card) .metric-card span,
body.elite-view-agenda .elite-agenda-metrics-lite .metric-card span{
  order:1;
  font-size:9px!important;
  color:var(--elite-muted)!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
  white-space:nowrap!important;
}

body.elite-view-agenda .grid-4:has(.metric-card) .metric-card strong,
body.elite-view-agenda .elite-agenda-metrics-lite .metric-card strong{
  order:2;
  font-size:13px!important;
  font-weight:500!important;
  letter-spacing:.02em!important;
  line-height:1!important;
}

/* Calendario principal siempre visible */
body.elite-view-agenda .elite-agenda-week{
  display:grid!important;
}

/* Mobile: conservar calendario, hacerlo tipo app con scroll horizontal */
@media (max-width:760px){
  body.elite-view-agenda .panel-header{
    display:none!important;
  }

  body.elite-view-agenda .elite-panel{
    padding-top:12px!important;
  }

  body.elite-view-agenda .elite-agenda-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding-bottom:12px!important;
    margin-bottom:12px!important;
  }

  body.elite-view-agenda .elite-agenda-head h2{
    font-size:23px!important;
    letter-spacing:.01em!important;
    text-transform:none!important;
    font-weight:500!important;
  }

  body.elite-view-agenda .elite-agenda-head p{
    display:none!important;
  }

  body.elite-view-agenda .elite-agenda-actions button:not(.is-primary){
    display:none!important;
  }

  body.elite-view-agenda .elite-agenda-actions .is-primary{
    width:42px!important;
    height:42px!important;
    padding:0!important;
    font-size:0!important;
    border-radius:999px!important;
  }

  body.elite-view-agenda .elite-agenda-actions .is-primary:before{
    content:"+";
    font-size:24px;
    line-height:1;
  }

  body.elite-view-agenda .elite-agenda-calendar{
    border-radius:24px!important;
    min-height:calc(100vh - 126px)!important;
    overflow:hidden!important;
  }

  body.elite-view-agenda .elite-agenda-calendar-top{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:14px!important;
  }

  body.elite-view-agenda .elite-agenda-range{
    justify-content:center!important;
  }

  body.elite-view-agenda .elite-agenda-range strong{
    font-size:12px!important;
    letter-spacing:.09em!important;
  }

  body.elite-view-agenda .elite-agenda-status-filters{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    justify-content:flex-start!important;
    gap:6px!important;
    padding-bottom:2px!important;
    scrollbar-width:none;
  }

  body.elite-view-agenda .elite-agenda-status-filters::-webkit-scrollbar{
    display:none;
  }

  body.elite-view-agenda .elite-agenda-status-filters button{
    min-width:max-content!important;
    min-height:30px!important;
    font-size:8px!important;
    padding:0 10px!important;
  }

  body.elite-view-agenda .elite-agenda-week{
    display:grid!important;
    grid-template-columns:48px repeat(7,minmax(138px,1fr))!important;
    min-height:calc(100vh - 245px)!important;
    max-height:calc(100vh - 245px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch;
  }

  body.elite-view-agenda .elite-agenda-day{
    min-height:56px!important;
    padding:9px 6px!important;
  }

  body.elite-view-agenda .elite-agenda-day small{
    font-size:8px!important;
  }

  body.elite-view-agenda .elite-agenda-day strong{
    font-size:13px!important;
  }

  body.elite-view-agenda .elite-agenda-hour{
    padding:10px 5px!important;
    font-size:9px!important;
  }

  body.elite-view-agenda .elite-agenda-cell{
    min-height:86px!important;
    padding:5px!important;
  }

  body.elite-view-agenda .elite-agenda-event{
    padding:9px 24px 9px 9px!important;
    border-radius:13px!important;
  }

  body.elite-view-agenda .elite-agenda-event strong{
    font-size:10px!important;
    letter-spacing:.02em!important;
  }

  body.elite-view-agenda .elite-agenda-event small{
    font-size:9px!important;
  }

  body.elite-view-agenda .grid-4:has(.metric-card),
  body.elite-view-agenda .elite-agenda-metrics-lite{
    gap:7px 12px!important;
    margin:2px 0 10px!important;
    padding-bottom:9px!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    scrollbar-width:none;
  }

  body.elite-view-agenda .grid-4:has(.metric-card)::-webkit-scrollbar,
  body.elite-view-agenda .elite-agenda-metrics-lite::-webkit-scrollbar{
    display:none;
  }

  body.elite-view-agenda .grid-4:has(.metric-card) .metric-card span,
  body.elite-view-agenda .elite-agenda-metrics-lite .metric-card span{
    font-size:8px!important;
  }

  body.elite-view-agenda .grid-4:has(.metric-card) .metric-card strong,
  body.elite-view-agenda .elite-agenda-metrics-lite .metric-card strong{
    font-size:12px!important;
  }
}
/* === FASE 11C4 AGENDA MOBILE DAYVIEW METRICAS LITE END === */

/* === FASE 11C5 FIX DRAWER CONTENIDO OCULTO START === */
/* FIX: los módulos originales siguen ocultos en pantalla,
   pero sus clones dentro del drawer deben verse completos */
body.elite-view-agenda .elite-agenda-drawer .elite-agenda-source-store,
body.elite-view-agenda .elite-agenda-drawer .elite-agenda-source-store *,
body.elite-view-agenda .elite-agenda-drawer .elite-agenda-hidden-source,
body.elite-view-agenda .elite-agenda-drawer .elite-agenda-hidden-source *{
  display:revert!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Reconstruir layouts dentro del drawer */
body.elite-view-agenda .elite-agenda-drawer .admin-form-card,
body.elite-view-agenda .elite-agenda-drawer .admin-list-card,
body.elite-view-agenda .elite-agenda-drawer .client-card,
body.elite-view-agenda .elite-agenda-drawer .appointment-card,
body.elite-view-agenda .elite-agenda-drawer .ops-card{
  display:block!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

body.elite-view-agenda .elite-agenda-drawer form,
body.elite-view-agenda .elite-agenda-drawer .elite-form{
  display:block!important;
}

body.elite-view-agenda .elite-agenda-drawer .grid-2,
body.elite-view-agenda .elite-agenda-drawer .grid-3,
body.elite-view-agenda .elite-agenda-drawer .grid-4{
  display:grid!important;
}

body.elite-view-agenda .elite-agenda-drawer .section-title,
body.elite-view-agenda .elite-agenda-drawer .header-actions,
body.elite-view-agenda .elite-agenda-drawer .keeper-actions,
body.elite-view-agenda .elite-agenda-drawer .ops-forms,
body.elite-view-agenda .elite-agenda-drawer .assign-keeper-form,
body.elite-view-agenda .elite-agenda-drawer .service-action-form{
  display:flex!important;
}

/* Inputs/botones dentro del drawer */
body.elite-view-agenda .elite-agenda-drawer input,
body.elite-view-agenda .elite-agenda-drawer select,
body.elite-view-agenda .elite-agenda-drawer textarea,
body.elite-view-agenda .elite-agenda-drawer button,
body.elite-view-agenda .elite-agenda-drawer a{
  visibility:visible!important;
  opacity:1!important;
}
/* === FASE 11C5 FIX DRAWER CONTENIDO OCULTO END === */

/* === FASE 11C7 FIX CLIENTE SOLICITAR SERVICIO START === */
/* Cliente: no dejar pegado el botón Solicitar servicio en gris */
body.client-app-page .elite-submitting button[type="submit"],
body.client-app-page button.is-loading,
body.client-app-page input[type="submit"].is-loading{
  opacity:1!important;
  pointer-events:auto!important;
  filter:none!important;
}

body.client-app-page .elite-submitting button[type="submit"]::after,
body.client-app-page button.is-loading::after{
  display:none!important;
}

/* El botón puede verse presionado, pero nunca bloqueado permanentemente */
body.client-app-page button[type="submit"],
body.client-app-page input[type="submit"]{
  pointer-events:auto!important;
}
/* === FASE 11C7 FIX CLIENTE SOLICITAR SERVICIO END === */

/* === FASE 11C18 DRAWER UNICO Y ESTADO REAL START === */
body.elite-view-agenda .elite-agenda-event.is-unassigned{
  background:rgba(148,163,184,.30)!important;
  border-color:rgba(148,163,184,.45)!important;
  color:#111827!important;
}

body.elite-view-agenda .elite-agenda-event.is-assigned{
  background:var(--agenda-blue)!important;
}

body.elite-view-agenda .elite-agenda-event.is-completed{
  background:var(--agenda-green)!important;
}

body.elite-view-agenda .elite-agenda-event.is-cancelled{
  background:var(--agenda-red)!important;
  opacity:.78!important;
}

body.elite-view-agenda .elite-agenda-event.is-pending{
  background:var(--agenda-yellow)!important;
}

body.elite-view-agenda .elite-agenda-event span{
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}

body.elite-view-agenda .elite-agenda-event.is-unassigned span{
  background:rgba(255,255,255,.55)!important;
  color:#374151!important;
}

body.elite-drawer-open .elite-agenda-drawer.is-open,
body.elite-view-agenda .elite-agenda-drawer.is-open{
  display:flex!important;
}

body.elite-drawer-open .elite-drawer-backdrop.is-open,
body.elite-view-agenda .elite-drawer-backdrop.is-open{
  display:block!important;
  opacity:1!important;
  pointer-events:auto!important;
}

body.elite-view-agenda .elite-agenda-drawer .appointment-card,
body.elite-view-agenda .elite-agenda-drawer .admin-form-card,
body.elite-view-agenda .elite-agenda-drawer form,
body.elite-view-agenda .elite-agenda-drawer .elite-form{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

body.elite-view-agenda .elite-agenda-drawer .appointment-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}

body.elite-view-agenda .elite-agenda-drawer .appointment-meta span{
  display:inline-flex!important;
  align-items:center!important;
}

body.elite-view-agenda .appointment-card .appointment-top .status-pill.off{
  background:rgba(220,38,38,.12)!important;
  color:#991b1b!important;
}

body.elite-view-agenda .appointment-card .appointment-top .status-pill.ok{
  background:rgba(22,163,74,.12)!important;
  color:#166534!important;
}

body.elite-view-agenda .appointment-card .appointment-top .status-pill.soft{
  background:rgba(148,163,184,.18)!important;
  color:#374151!important;
}
/* === FASE 11C18 DRAWER UNICO Y ESTADO REAL END === */


/* === FASE 11D2B ACCIONES REALES DRAWER START === */
body.elite-view-agenda .elite-agenda-quick-actions.is-real{
  display:grid!important;
  gap:12px!important;
  margin:0 0 14px!important;
  padding:12px!important;
  border-radius:18px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 14px 36px rgba(15,23,42,.08)!important;
}

body.elite-view-agenda .elite-agenda-quick-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}

body.elite-view-agenda .elite-agenda-quick-title strong{
  font-size:13px!important;
  color:#0f172a!important;
}

body.elite-view-agenda .elite-agenda-quick-title span{
  font-size:11px!important;
  font-weight:900!important;
  color:rgba(15,23,42,.55)!important;
}

body.elite-view-agenda .elite-quick-real-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}

body.elite-view-agenda .elite-quick-form{
  display:grid!important;
  gap:8px!important;
  padding:10px!important;
  border-radius:16px!important;
  background:rgba(15,23,42,.035)!important;
  border:1px solid rgba(15,23,42,.06)!important;
}

body.elite-view-agenda .elite-quick-form label{
  display:grid!important;
  gap:5px!important;
  margin:0!important;
}

body.elite-view-agenda .elite-quick-form label span{
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  font-weight:900!important;
  color:rgba(15,23,42,.55)!important;
}

body.elite-view-agenda .elite-quick-form input,
body.elite-view-agenda .elite-quick-form select{
  width:100%!important;
  height:38px!important;
  border-radius:13px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:#fff!important;
  color:#0f172a!important;
  padding:0 10px!important;
  font-size:12px!important;
}

body.elite-view-agenda .elite-quick-form button,
body.elite-view-agenda .elite-quick-final-buttons button{
  min-height:38px!important;
  border:0!important;
  border-radius:13px!important;
  padding:0 12px!important;
  font-size:12px!important;
  font-weight:900!important;
  cursor:pointer!important;
  background:#0f172a!important;
  color:#fff!important;
}

body.elite-view-agenda .elite-quick-final-buttons{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}

body.elite-view-agenda .elite-quick-final-buttons button.is-success{
  background:rgba(22,163,74,.14)!important;
  color:#166534!important;
}

body.elite-view-agenda .elite-quick-final-buttons button.is-danger{
  background:rgba(220,38,38,.13)!important;
  color:#991b1b!important;
}

body.elite-view-agenda .elite-quick-form button:disabled,
body.elite-view-agenda .elite-quick-final-buttons button:disabled{
  opacity:.45!important;
  cursor:not-allowed!important;
}

body.elite-view-agenda .elite-agenda-action-notice{
  padding:10px 12px!important;
  border-radius:14px!important;
  background:rgba(15,23,42,.06)!important;
  color:#0f172a!important;
  font-size:12px!important;
  font-weight:800!important;
}

@media (min-width:900px){
  body.elite-view-agenda .elite-quick-real-grid{
    grid-template-columns:1fr 1fr!important;
  }

  body.elite-view-agenda .elite-quick-final-buttons{
    grid-column:1 / -1!important;
  }
}

@media (max-width:720px){
  body.elite-view-agenda .elite-quick-final-buttons{
    grid-template-columns:1fr!important;
  }
}
/* === FASE 11D2B ACCIONES REALES DRAWER END === */

/* === FASE 11D1B BUSCADOR FILTROS FUNCIONALES START === */
body.elite-view-agenda .elite-agenda-status-filters{
  display:none!important;
}

body.elite-view-agenda .elite-agenda-ops-filters{
  margin:12px 0 16px!important;
  padding:12px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:rgba(255,255,255,.78)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  border-radius:22px!important;
  box-shadow:0 14px 40px rgba(15,23,42,.06)!important;
}

body.elite-view-agenda .elite-agenda-ops-row{
  display:grid!important;
  grid-template-columns:minmax(230px,1.2fr) minmax(150px,.55fr) minmax(150px,.55fr) auto!important;
  gap:10px!important;
  align-items:end!important;
}

body.elite-view-agenda .elite-agenda-ops-filters label{
  display:grid!important;
  gap:5px!important;
  margin:0!important;
}

body.elite-view-agenda .elite-agenda-ops-filters label span{
  font-size:11px!important;
  color:rgba(15,23,42,.55)!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}

body.elite-view-agenda .elite-agenda-ops-filters input,
body.elite-view-agenda .elite-agenda-ops-filters select{
  width:100%!important;
  height:40px!important;
  border-radius:14px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:#fff!important;
  padding:0 12px!important;
  font-size:13px!important;
  color:#0f172a!important;
  outline:none!important;
}

body.elite-view-agenda .elite-agenda-ops-filters input:focus,
body.elite-view-agenda .elite-agenda-ops-filters select:focus{
  border-color:rgba(15,23,42,.32)!important;
  box-shadow:0 0 0 4px rgba(15,23,42,.06)!important;
}

body.elite-view-agenda .elite-agenda-visible-count{
  height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 12px!important;
  border-radius:14px!important;
  background:#0f172a!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}

body.elite-view-agenda .elite-agenda-ops-status{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:10px!important;
}

body.elite-view-agenda .elite-agenda-ops-status button{
  border:1px solid rgba(15,23,42,.08)!important;
  background:#fff!important;
  color:#0f172a!important;
  border-radius:999px!important;
  height:34px!important;
  padding:0 12px!important;
  font-size:12px!important;
  font-weight:850!important;
  cursor:pointer!important;
}

body.elite-view-agenda .elite-agenda-ops-status button.is-active{
  background:#0f172a!important;
  color:#fff!important;
}

body.elite-view-agenda .elite-agenda-event.is-hidden-by-filter,
body.elite-view-agenda .elite-agenda-event[data-elite-filter-visible="0"]{
  display:none!important;
}

@media (max-width:780px){
  body.elite-view-agenda .elite-agenda-ops-filters{
    margin:10px 0 12px!important;
    padding:10px!important;
    border-radius:18px!important;
  }

  body.elite-view-agenda .elite-agenda-ops-row{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  body.elite-view-agenda .elite-agenda-visible-count{
    justify-content:flex-start!important;
  }

  body.elite-view-agenda .elite-agenda-ops-status{
    overflow:auto!important;
    flex-wrap:nowrap!important;
    padding-bottom:2px!important;
  }

  body.elite-view-agenda .elite-agenda-ops-status::-webkit-scrollbar{
    display:none!important;
  }

  body.elite-view-agenda .elite-agenda-ops-status button{
    flex:0 0 auto!important;
  }
}
/* === FASE 11D1B BUSCADOR FILTROS FUNCIONALES END === */

/* === FASE 11D3 VISTA OPERATIVA DIARIA START === */
body.elite-view-agenda .elite-daily-ops{
  margin:12px 0 18px!important;
  padding:14px!important;
  border-radius:24px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:rgba(255,255,255,.82)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  box-shadow:0 16px 46px rgba(15,23,42,.07)!important;
}

body.elite-view-agenda .elite-daily-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:12px!important;
}

body.elite-view-agenda .elite-daily-kicker{
  display:block!important;
  font-size:11px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  color:rgba(15,23,42,.48)!important;
  margin-bottom:2px!important;
}

body.elite-view-agenda .elite-daily-head h3{
  margin:0!important;
  font-size:18px!important;
  letter-spacing:-.03em!important;
  color:#0f172a!important;
}

body.elite-view-agenda .elite-daily-controls{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}

body.elite-view-agenda .elite-daily-controls input,
body.elite-view-agenda .elite-daily-controls button{
  height:38px!important;
  border-radius:14px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:#fff!important;
  color:#0f172a!important;
  padding:0 12px!important;
  font-size:12px!important;
  font-weight:850!important;
}

body.elite-view-agenda .elite-daily-controls button{
  background:#0f172a!important;
  color:#fff!important;
  cursor:pointer!important;
}

body.elite-view-agenda .elite-daily-stats{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:8px!important;
  margin-bottom:12px!important;
}

body.elite-view-agenda .elite-daily-stat{
  min-height:58px!important;
  display:grid!important;
  align-content:center!important;
  gap:2px!important;
  padding:10px!important;
  border-radius:16px!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.07)!important;
}

body.elite-view-agenda .elite-daily-stat strong{
  font-size:18px!important;
  line-height:1!important;
  color:#0f172a!important;
}

body.elite-view-agenda .elite-daily-stat span{
  font-size:10px!important;
  font-weight:900!important;
  color:rgba(15,23,42,.52)!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}

body.elite-view-agenda .elite-daily-stat.is-unassigned{
  background:rgba(148,163,184,.16)!important;
}

body.elite-view-agenda .elite-daily-stat.is-pending{
  background:rgba(245,158,11,.13)!important;
}

body.elite-view-agenda .elite-daily-stat.is-assigned{
  background:rgba(37,99,235,.12)!important;
}

body.elite-view-agenda .elite-daily-stat.is-completed{
  background:rgba(22,163,74,.12)!important;
}

body.elite-view-agenda .elite-daily-stat.is-cancelled{
  background:rgba(220,38,38,.10)!important;
}

body.elite-view-agenda .elite-daily-list{
  display:grid!important;
  gap:12px!important;
}

body.elite-view-agenda .elite-daily-section{
  display:grid!important;
  gap:7px!important;
}

body.elite-view-agenda .elite-daily-section-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:0 2px!important;
}

body.elite-view-agenda .elite-daily-section-title strong{
  font-size:12px!important;
  color:#0f172a!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
}

body.elite-view-agenda .elite-daily-section-title span{
  min-width:24px!important;
  height:24px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:#0f172a!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
}

body.elite-view-agenda .elite-daily-row{
  width:100%!important;
  display:grid!important;
  grid-template-columns:110px minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  text-align:left!important;
  border:1px solid rgba(15,23,42,.07)!important;
  background:#fff!important;
  border-radius:18px!important;
  padding:10px!important;
  cursor:pointer!important;
  color:#0f172a!important;
}

body.elite-view-agenda .elite-daily-row:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 12px 30px rgba(15,23,42,.07)!important;
}

body.elite-view-agenda .elite-daily-time{
  font-size:12px!important;
  font-weight:950!important;
  color:#0f172a!important;
}

body.elite-view-agenda .elite-daily-main{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}

body.elite-view-agenda .elite-daily-main strong{
  font-size:13px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

body.elite-view-agenda .elite-daily-main small{
  font-size:11px!important;
  color:rgba(15,23,42,.55)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

body.elite-view-agenda .elite-daily-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:28px!important;
  border-radius:999px!important;
  padding:0 10px!important;
  font-size:10px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  background:rgba(15,23,42,.06)!important;
  color:#0f172a!important;
}

body.elite-view-agenda .elite-daily-row.is-unassigned{
  background:rgba(148,163,184,.10)!important;
}

body.elite-view-agenda .elite-daily-row.is-pending{
  background:rgba(245,158,11,.10)!important;
}

body.elite-view-agenda .elite-daily-row.is-assigned{
  background:rgba(37,99,235,.08)!important;
}

body.elite-view-agenda .elite-daily-row.is-completed{
  background:rgba(22,163,74,.08)!important;
}

body.elite-view-agenda .elite-daily-row.is-cancelled{
  background:rgba(220,38,38,.07)!important;
  opacity:.78!important;
}

body.elite-view-agenda .elite-daily-empty{
  display:grid!important;
  gap:3px!important;
  padding:18px!important;
  border-radius:18px!important;
  background:rgba(15,23,42,.04)!important;
  border:1px dashed rgba(15,23,42,.15)!important;
}

body.elite-view-agenda .elite-daily-empty strong{
  font-size:13px!important;
  color:#0f172a!important;
}

body.elite-view-agenda .elite-daily-empty span{
  font-size:12px!important;
  color:rgba(15,23,42,.55)!important;
}

@media (max-width:900px){
  body.elite-view-agenda .elite-daily-stats{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media (max-width:720px){
  body.elite-view-agenda .elite-daily-ops{
    padding:11px!important;
    border-radius:20px!important;
  }

  body.elite-view-agenda .elite-daily-head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }

  body.elite-view-agenda .elite-daily-controls{
    width:100%!important;
  }

  body.elite-view-agenda .elite-daily-controls input{
    flex:1!important;
  }

  body.elite-view-agenda .elite-daily-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  body.elite-view-agenda .elite-daily-row{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }

  body.elite-view-agenda .elite-daily-pill{
    justify-self:start!important;
  }

  body.elite-view-agenda .elite-daily-main strong,
  body.elite-view-agenda .elite-daily-main small{
    white-space:normal!important;
  }
}
/* === FASE 11D3 VISTA OPERATIVA DIARIA END === */

/* === FASE 11D3C HERRAMIENTAS TABS AGENDA START === */
body.elite-view-agenda .elite-agenda-tools-hub{
  margin:10px 0 14px!important;
  padding:10px!important;
  border-radius:22px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:rgba(255,255,255,.80)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  box-shadow:0 14px 40px rgba(15,23,42,.06)!important;
}

body.elite-view-agenda .elite-agenda-tools-tabs{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}

body.elite-view-agenda .elite-agenda-tools-tabs button{
  min-height:46px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#0f172a!important;
  font-size:13px!important;
  font-weight:950!important;
  cursor:pointer!important;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease!important;
}

body.elite-view-agenda .elite-agenda-tools-tabs button:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 12px 26px rgba(15,23,42,.08)!important;
}

body.elite-view-agenda .elite-agenda-tools-tabs button.is-active{
  background:#0f172a!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(15,23,42,.16)!important;
}

body.elite-view-agenda .elite-tools-tab-icon{
  width:25px!important;
  height:25px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
  background:rgba(15,23,42,.06)!important;
  color:inherit!important;
}

body.elite-view-agenda .elite-agenda-tools-tabs button.is-active .elite-tools-tab-icon{
  background:rgba(255,255,255,.14)!important;
}

body.elite-view-agenda .elite-tools-tab-icon svg{
  width:17px!important;
  height:17px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.15!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

body.elite-view-agenda .elite-agenda-tools-body{
  margin-top:10px!important;
  padding-top:10px!important;
  border-top:1px solid rgba(15,23,42,.07)!important;
}

body.elite-view-agenda .elite-agenda-tools-body[hidden]{
  display:none!important;
}

body.elite-view-agenda .elite-agenda-tools-hub .elite-tools-panel[hidden]{
  display:none!important;
}

body.elite-view-agenda .elite-agenda-tools-hub .elite-tools-panel.is-active{
  display:block!important;
}

/* Limpia las cards internas para que vivan visualmente dentro del mismo div */
body.elite-view-agenda .elite-agenda-tools-hub .elite-agenda-ops-filters,
body.elite-view-agenda .elite-agenda-tools-hub .elite-daily-ops{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border-radius:0!important;
  overflow:visible!important;
}

/* Si quedó basura del acordeón anterior, se oculta */
body.elite-view-agenda .elite-agenda-tools-hub .elite-segment-toggle{
  display:none!important;
}

body.elite-view-agenda .elite-agenda-tools-hub .elite-segment-content{
  display:block!important;
  padding:0!important;
}

@media (max-width:720px){
  body.elite-view-agenda .elite-agenda-tools-hub{
    padding:8px!important;
    border-radius:18px!important;
  }

  body.elite-view-agenda .elite-agenda-tools-tabs{
    gap:7px!important;
  }

  body.elite-view-agenda .elite-agenda-tools-tabs button{
    min-height:44px!important;
    font-size:12px!important;
    border-radius:14px!important;
  }

  body.elite-view-agenda .elite-tools-tab-icon{
    width:23px!important;
    height:23px!important;
  }
}
/* === FASE 11D3C HERRAMIENTAS TABS AGENDA END === */

/* === FASE 11D4 ALERTAS OPERATIVAS AGENDA START === */
body.elite-view-agenda .elite-agenda-tools-tabs{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

body.elite-view-agenda .elite-alerts-panel{
  display:grid!important;
  gap:12px!important;
}

body.elite-view-agenda .elite-alerts-panel[hidden]{
  display:none!important;
}

body.elite-view-agenda .elite-alerts-stats{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
}

body.elite-view-agenda .elite-alert-stat{
  min-height:58px!important;
  display:grid!important;
  align-content:center!important;
  gap:2px!important;
  padding:10px!important;
  border-radius:16px!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.07)!important;
}

body.elite-view-agenda .elite-alert-stat strong{
  font-size:18px!important;
  line-height:1!important;
  color:#0f172a!important;
}

body.elite-view-agenda .elite-alert-stat span{
  font-size:10px!important;
  font-weight:900!important;
  color:rgba(15,23,42,.52)!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}

body.elite-view-agenda .elite-alert-stat.is-sin-keeper{
  background:rgba(148,163,184,.16)!important;
}

body.elite-view-agenda .elite-alert-stat.is-vencida{
  background:rgba(220,38,38,.10)!important;
}

body.elite-view-agenda .elite-alert-stat.is-proxima{
  background:rgba(245,158,11,.13)!important;
}

body.elite-view-agenda .elite-alert-stat.is-cancelada{
  background:rgba(100,116,139,.12)!important;
}

body.elite-view-agenda .elite-alerts-list{
  display:grid!important;
  gap:8px!important;
}

body.elite-view-agenda .elite-alert-row{
  width:100%!important;
  display:grid!important;
  grid-template-columns:120px minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  text-align:left!important;
  border:1px solid rgba(15,23,42,.07)!important;
  background:#fff!important;
  border-radius:18px!important;
  padding:10px!important;
  cursor:pointer!important;
  color:#0f172a!important;
}

body.elite-view-agenda .elite-alert-row:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 12px 30px rgba(15,23,42,.07)!important;
}

body.elite-view-agenda .elite-alert-type{
  min-height:30px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  padding:0 10px!important;
  font-size:10px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  background:rgba(15,23,42,.06)!important;
  color:#0f172a!important;
}

body.elite-view-agenda .elite-alert-main{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}

body.elite-view-agenda .elite-alert-main strong{
  font-size:13px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

body.elite-view-agenda .elite-alert-main small{
  font-size:11px!important;
  color:rgba(15,23,42,.55)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

body.elite-view-agenda .elite-alert-main em{
  font-style:normal!important;
  font-size:11px!important;
  color:rgba(15,23,42,.68)!important;
}

body.elite-view-agenda .elite-alert-status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:28px!important;
  border-radius:999px!important;
  padding:0 10px!important;
  font-size:10px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  background:rgba(15,23,42,.06)!important;
  color:#0f172a!important;
}

body.elite-view-agenda .elite-alert-row.is-vencida{
  background:rgba(220,38,38,.07)!important;
}

body.elite-view-agenda .elite-alert-row.is-sin-keeper{
  background:rgba(148,163,184,.10)!important;
}

body.elite-view-agenda .elite-alert-row.is-proxima{
  background:rgba(245,158,11,.09)!important;
}

body.elite-view-agenda .elite-alert-row.is-cancelada{
  background:rgba(100,116,139,.08)!important;
  opacity:.85!important;
}

body.elite-view-agenda .elite-alert-empty{
  display:grid!important;
  gap:3px!important;
  padding:18px!important;
  border-radius:18px!important;
  background:rgba(15,23,42,.04)!important;
  border:1px dashed rgba(15,23,42,.15)!important;
}

body.elite-view-agenda .elite-alert-empty strong{
  font-size:13px!important;
  color:#0f172a!important;
}

body.elite-view-agenda .elite-alert-empty span{
  font-size:12px!important;
  color:rgba(15,23,42,.55)!important;
}

@media (max-width:900px){
  body.elite-view-agenda .elite-alerts-stats{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media (max-width:720px){
  body.elite-view-agenda .elite-agenda-tools-tabs button{
    font-size:11px!important;
    gap:6px!important;
  }

  body.elite-view-agenda .elite-alerts-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  body.elite-view-agenda .elite-alert-row{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }

  body.elite-view-agenda .elite-alert-type,
  body.elite-view-agenda .elite-alert-status{
    justify-self:start!important;
  }

  body.elite-view-agenda .elite-alert-main strong,
  body.elite-view-agenda .elite-alert-main small{
    white-space:normal!important;
  }
}
/* === FASE 11D4 ALERTAS OPERATIVAS AGENDA END === */

/* === FASE 11D5 PULIDO FINAL AGENDA ADMIN START === */
body.elite-view-agenda .elite-agenda-tools-tabs{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

body.elite-view-agenda .elite-agenda-tools-tabs button{
  position:relative!important;
}

body.elite-view-agenda .elite-tools-new-cita{
  background:#0f172a!important;
  color:#fff!important;
}

body.elite-view-agenda .elite-tools-new-cita .elite-tools-tab-icon{
  background:rgba(255,255,255,.14)!important;
}

body.elite-view-agenda .elite-tools-tab-badge{
  position:absolute!important;
  top:-6px!important;
  right:-5px!important;
  min-width:20px!important;
  height:20px!important;
  padding:0 6px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:#ef4444!important;
  color:#fff!important;
  border:2px solid #fff!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
  box-shadow:0 8px 18px rgba(239,68,68,.25)!important;
  pointer-events:none!important;
}

body.elite-view-agenda .elite-tools-tab-badge[hidden]{
  display:none!important;
}

body.elite-view-agenda .elite-system-message-polished{
  position:relative!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:12px 42px 12px 14px!important;
  border-radius:16px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:rgba(255,255,255,.94)!important;
  color:#0f172a!important;
  box-shadow:0 14px 34px rgba(15,23,42,.10)!important;
  transition:opacity .25s ease, transform .25s ease!important;
}

body.elite-view-agenda .elite-system-message-polished.is-fading{
  opacity:0!important;
  transform:translateY(-4px)!important;
}

body.elite-view-agenda .elite-system-message-close{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  width:26px!important;
  height:26px!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(15,23,42,.06)!important;
  color:#0f172a!important;
  font-size:18px!important;
  line-height:1!important;
  cursor:pointer!important;
}

body.elite-view-agenda .elite-agenda-tools-hub{
  position:relative!important;
}

body.elite-view-agenda .elite-agenda-tools-hub[data-elite-tools-active="none"]{
  padding-bottom:10px!important;
}

@media (max-width:860px){
  body.elite-view-agenda .elite-agenda-tools-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:480px){
  body.elite-view-agenda .elite-agenda-tools-tabs button{
    min-height:42px!important;
    font-size:11px!important;
  }

  body.elite-view-agenda .elite-tools-tab-icon{
    width:22px!important;
    height:22px!important;
  }
}
/* === FASE 11D5 PULIDO FINAL AGENDA ADMIN END === */

/* === FASE 11D5B BADGES SOLO OPS ALERTAS START === */
body.elite-view-agenda [data-elite-tools-tab="filters"] .elite-tools-tab-badge{
  display:none!important;
}

body.elite-view-agenda [data-elite-tools-tab="daily"] .elite-tools-tab-badge,
body.elite-view-agenda [data-elite-tools-tab="alerts"] .elite-tools-tab-badge{
  display:inline-flex!important;
}
/* === FASE 11D5B BADGES SOLO OPS ALERTAS END === */

/* === FASE 11E1 DETECTOR VISUAL CHOQUES START === */
body.elite-view-agenda .elite-agenda-event.has-keeper-conflict,
body.elite-view-agenda .appointment-card.has-keeper-conflict{
  outline:2px solid rgba(220,38,38,.75)!important;
  box-shadow:0 0 0 4px rgba(220,38,38,.12), 0 14px 30px rgba(220,38,38,.12)!important;
}

body.elite-view-agenda .elite-conflict-mini-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:20px!important;
  padding:0 7px!important;
  border-radius:999px!important;
  background:#dc2626!important;
  color:#fff!important;
  font-size:9px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  margin-left:6px!important;
}

body.elite-view-agenda .elite-agenda-event .elite-conflict-mini-badge{
  position:absolute!important;
  top:4px!important;
  right:4px!important;
  margin:0!important;
  z-index:4!important;
}
/* === FASE 11E1 DETECTOR VISUAL CHOQUES END === */

/* === FASE 11E2 ALERTAS CHOQUES SALUD OPERATIVA START === */
body.elite-view-agenda .elite-alerts-stats{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}

body.elite-view-agenda .elite-alert-stat.is-choque{
  background:rgba(220,38,38,.13)!important;
  border-color:rgba(220,38,38,.16)!important;
}

body.elite-view-agenda .elite-alert-stat.is-choque strong{
  color:#991b1b!important;
}

body.elite-view-agenda .elite-alert-row.is-choque{
  background:rgba(220,38,38,.08)!important;
  border-color:rgba(220,38,38,.18)!important;
  box-shadow:inset 3px 0 0 rgba(220,38,38,.75)!important;
}

body.elite-view-agenda .elite-alert-row.is-choque .elite-alert-type{
  background:#dc2626!important;
  color:#fff!important;
}

body.elite-view-agenda .elite-alert-row.is-choque .elite-alert-status{
  background:rgba(220,38,38,.12)!important;
  color:#991b1b!important;
}

body.elite-view-agenda .elite-alert-row.is-choque .elite-alert-main em{
  color:#991b1b!important;
  font-weight:850!important;
}

@media (max-width:980px){
  body.elite-view-agenda .elite-alerts-stats{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media (max-width:720px){
  body.elite-view-agenda .elite-alerts-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
/* === FASE 11E2 ALERTAS CHOQUES SALUD OPERATIVA END === */

/* === FASE 12E KEEPERS ADMIN CRM REAL START === */

/* Herramientas de Agenda nunca fuera de Agenda */
body:not(.elite-view-agenda) .elite-agenda-tools-hub,
body:not(.elite-view-agenda) [data-elite-tools-hub],
body:not(.elite-view-agenda) .elite-agenda-ops-filters,
body:not(.elite-view-agenda) [data-elite-agenda-ops-filters],
body:not(.elite-view-agenda) .elite-daily-ops,
body:not(.elite-view-agenda) [data-elite-daily-ops],
body:not(.elite-view-agenda) .elite-alerts-panel,
body:not(.elite-view-agenda) [data-elite-tools-panel="alerts"],
body.keeper-app-page .elite-agenda-tools-hub,
body.keeper-app-page [data-elite-tools-hub]{
  display:none!important;
}

/* Keepers.php: no necesitamos header general, métricas ni tabs globales */
body.elite-keepers-crm-real .panel-header,
body.elite-keepers-crm-real .grid-4,
body.elite-keepers-crm-real .admin-tabs,
body.elite-keepers-crm-real .admin-panel-tab:not([data-admin-panel="keepers"]){
  display:none!important;
}

body.elite-keepers-crm-real .admin-panel-tab[data-admin-panel="keepers"]{
  display:block!important;
}

body.elite-keepers-crm-real .elite-panel{
  padding-top:10px!important;
}

body.elite-keepers-crm-real .admin-panel-tab[data-admin-panel="keepers"] .admin-layout{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}

/* Form de agregar oculto hasta tocar Agregar Keeper */
body.elite-keepers-crm-real .admin-panel-tab[data-admin-panel="keepers"] .admin-form-card{
  display:none!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:0 18px 44px rgba(15,23,42,.08)!important;
}

body.elite-keepers-crm-real.elite-keeper-add-open .admin-panel-tab[data-admin-panel="keepers"] .admin-form-card{
  display:block!important;
}

/* Card CRM */
body.elite-keepers-crm-real .admin-panel-tab[data-admin-panel="keepers"] .admin-list-card{
  padding:14px!important;
  border-radius:30px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,255,255,.82))!important;
  border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:0 24px 70px rgba(15,23,42,.10)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}

/* Ocultar título/texto que no queremos en Keepers */
body.elite-keepers-crm-real .admin-panel-tab[data-admin-panel="keepers"] .admin-list-card > .section-title{
  display:none!important;
}

body.elite-keepers-crm-real .keeper-crm-real-toolbar{
  display:grid!important;
  grid-template-columns:1fr minmax(260px,.75fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  margin:0 0 12px!important;
}

body.elite-keepers-crm-real .keeper-crm-real-tabs{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}

body.elite-keepers-crm-real .keeper-crm-real-tabs button,
body.elite-keepers-crm-real .keeper-crm-real-add{
  min-height:38px!important;
  border-radius:999px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:#fff!important;
  color:#111827!important;
  padding:0 14px!important;
  font-size:12px!important;
  font-weight:900!important;
  cursor:pointer!important;
}

body.elite-keepers-crm-real .keeper-crm-real-tabs button.is-active,
body.elite-keepers-crm-real .keeper-crm-real-add{
  background:#111827!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(15,23,42,.16)!important;
}

body.elite-keepers-crm-real .keeper-crm-real-add{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  white-space:nowrap!important;
}

body.elite-keepers-crm-real .keeper-crm-real-search{
  height:40px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.08)!important;
  margin:0!important;
}

body.elite-keepers-crm-real .keeper-crm-real-search span,
body.elite-keepers-crm-real .keeper-crm-real-add span{
  width:18px!important;
  height:18px!important;
  display:inline-flex!important;
}

body.elite-keepers-crm-real .keeper-crm-real-search svg,
body.elite-keepers-crm-real .keeper-crm-real-add svg{
  width:18px!important;
  height:18px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

body.elite-keepers-crm-real .keeper-crm-real-search input{
  flex:1!important;
  height:100%!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#111827!important;
  font-size:13px!important;
}

/* Encabezado tipo tabla */
body.elite-keepers-crm-real .keeper-crm-real-head{
  display:grid!important;
  grid-template-columns:minmax(300px,1fr) minmax(220px,.7fr) minmax(210px,.7fr) minmax(220px,.75fr)!important;
  gap:10px!important;
  align-items:center!important;
  padding:12px 14px!important;
  color:rgba(15,23,42,.48)!important;
  font-size:10px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}

body.elite-keepers-crm-real .keeper-list{
  display:grid!important;
  gap:8px!important;
}

body.elite-keepers-crm-real .keeper-admin-card{
  display:grid!important;
  grid-template-columns:minmax(300px,1fr) minmax(220px,.7fr) minmax(210px,.7fr) minmax(220px,.75fr)!important;
  gap:10px!important;
  align-items:center!important;
  min-height:74px!important;
  padding:10px 14px!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.065)!important;
  box-shadow:none!important;
  color:#111827!important;
  transition:transform .16s ease, box-shadow .16s ease!important;
}

body.elite-keepers-crm-real .keeper-admin-card:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.075)!important;
}

body.elite-keepers-crm-real .keeper-main{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
  min-width:0!important;
}

body.elite-keepers-crm-real .keeper-photo{
  width:42px!important;
  height:42px!important;
  border-radius:999px!important;
  overflow:hidden!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#111827!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:950!important;
}

body.elite-keepers-crm-real .keeper-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

body.elite-keepers-crm-real .keeper-info{
  min-width:0!important;
  display:grid!important;
  gap:3px!important;
}

body.elite-keepers-crm-real .keeper-name-row{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}

body.elite-keepers-crm-real .keeper-name-row strong{
  color:#111827!important;
  font-size:13px!important;
  font-weight:920!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

body.elite-keepers-crm-real .keeper-info > span{
  color:rgba(15,23,42,.56)!important;
  font-size:11px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

body.elite-keepers-crm-real .keeper-info > span:nth-of-type(n+2),
body.elite-keepers-crm-real .keeper-info p{
  display:none!important;
}

body.elite-keepers-crm-real .keeper-crm-real-profile,
body.elite-keepers-crm-real .keeper-crm-real-contact{
  min-width:0!important;
  display:grid!important;
  gap:3px!important;
}

body.elite-keepers-crm-real .keeper-crm-real-profile strong,
body.elite-keepers-crm-real .keeper-crm-real-contact strong{
  color:#111827!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

body.elite-keepers-crm-real .keeper-crm-real-profile small,
body.elite-keepers-crm-real .keeper-crm-real-contact small{
  color:rgba(15,23,42,.55)!important;
  font-size:11px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

body.elite-keepers-crm-real .keeper-admin-card .status-pill{
  min-height:26px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  padding:0 9px!important;
  font-size:10px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.055em!important;
}

body.elite-keepers-crm-real .keeper-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  margin:0!important;
}

body.elite-keepers-crm-real .keeper-actions form{
  margin:0!important;
}

body.elite-keepers-crm-real .keeper-actions .mini-btn,
body.elite-keepers-crm-real .keeper-actions button,
body.elite-keepers-crm-real .keeper-actions a{
  min-height:30px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  padding:0 10px!important;
  font-size:11px!important;
  font-weight:900!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

body.elite-keepers-crm-real .keeper-admin-card[hidden],
body.elite-keepers-crm-real .keeper-admin-card.is-hidden-by-keeper-crm-real{
  display:none!important;
}

body.elite-keepers-crm-real .keeper-crm-real-empty{
  margin-top:10px!important;
  padding:18px!important;
  border-radius:18px!important;
  background:rgba(15,23,42,.035)!important;
  border:1px dashed rgba(15,23,42,.14)!important;
}

body.elite-keepers-crm-real .keeper-crm-real-empty strong{
  display:block!important;
  color:#111827!important;
  font-size:13px!important;
}

body.elite-keepers-crm-real .keeper-crm-real-empty span{
  color:rgba(15,23,42,.55)!important;
  font-size:12px!important;
}

@media (max-width:980px){
  body.elite-keepers-crm-real .keeper-crm-real-toolbar{
    grid-template-columns:1fr!important;
  }

  body.elite-keepers-crm-real .keeper-crm-real-head{
    display:none!important;
  }

  body.elite-keepers-crm-real .keeper-admin-card{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  body.elite-keepers-crm-real .keeper-actions{
    justify-content:flex-start!important;
  }
}

@media (max-width:560px){
  body.elite-keepers-crm-real .keeper-crm-real-tabs{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }

  body.elite-keepers-crm-real .keeper-crm-real-tabs button:first-child{
    grid-column:1 / -1!important;
  }
}
/* === FASE 12E KEEPERS ADMIN CRM REAL END === */

/* FASE12G7_RESTORE_KEEPERS_CRM_ICONS */
/* Keepers debe verse como CRM limpio, no como admin viejo */
body.elite-view-keepers,
body.elite-keepers-crm-real{
  --keeper-actions-width: 548px;
}

/* Ocultar duplicados: header general, métricas, tabs y título repetido */
body.elite-view-keepers .panel-header,
body.elite-view-keepers .grid-4,
body.elite-view-keepers .admin-tabs,
body.elite-view-keepers .elite-operation-title,
body.elite-keepers-crm-real .panel-header,
body.elite-keepers-crm-real .grid-4,
body.elite-keepers-crm-real .admin-tabs,
body.elite-keepers-crm-real .elite-operation-title{
  display:none!important;
}

body.elite-view-keepers .admin-panel-tab:not([data-admin-panel="keepers"]),
body.elite-keepers-crm-real .admin-panel-tab:not([data-admin-panel="keepers"]){
  display:none!important;
}

body.elite-view-keepers .admin-panel-tab[data-admin-panel="keepers"],
body.elite-keepers-crm-real .admin-panel-tab[data-admin-panel="keepers"]{
  display:block!important;
}

/* Volver al ancho moderno */
body.elite-view-keepers .elite-panel,
body.elite-keepers-crm-real .elite-panel{
  width:min(1760px,100%)!important;
  padding-top:10px!important;
}

body.elite-view-keepers .admin-panel-tab[data-admin-panel="keepers"] .admin-layout,
body.elite-keepers-crm-real .admin-panel-tab[data-admin-panel="keepers"] .admin-layout{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}

/* Formulario Agregar Keeper oculto hasta tocar botón */
body.elite-view-keepers .admin-panel-tab[data-admin-panel="keepers"] .admin-form-card,
body.elite-keepers-crm-real .admin-panel-tab[data-admin-panel="keepers"] .admin-form-card{
  display:none!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:0 18px 44px rgba(15,23,42,.08)!important;
}

body.elite-view-keepers.elite-keeper-add-open .admin-panel-tab[data-admin-panel="keepers"] .admin-form-card,
body.elite-keepers-crm-real.elite-keeper-add-open .admin-panel-tab[data-admin-panel="keepers"] .admin-form-card{
  display:block!important;
}

/* Card contenedor moderna */
body.elite-view-keepers .admin-panel-tab[data-admin-panel="keepers"] .admin-list-card,
body.elite-keepers-crm-real .admin-panel-tab[data-admin-panel="keepers"] .admin-list-card{
  padding:14px!important;
  border-radius:30px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,255,255,.82))!important;
  border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:0 24px 70px rgba(15,23,42,.10)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}

/* Ocultar título viejo "Equipo registrado" */
body.elite-view-keepers .admin-panel-tab[data-admin-panel="keepers"] .admin-list-card > .section-title,
body.elite-keepers-crm-real .admin-panel-tab[data-admin-panel="keepers"] .admin-list-card > .section-title{
  display:none!important;
}

/* Toolbar moderna */
body.elite-view-keepers .keeper-crm-real-toolbar,
body.elite-keepers-crm-real .keeper-crm-real-toolbar{
  display:grid!important;
  grid-template-columns:1fr minmax(280px,.72fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  margin:0 0 12px!important;
}

body.elite-view-keepers .keeper-crm-real-tabs,
body.elite-keepers-crm-real .keeper-crm-real-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}

body.elite-view-keepers .keeper-crm-real-tabs button,
body.elite-keepers-crm-real .keeper-crm-real-tabs button{
  min-height:38px!important;
  border-radius:999px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:#fff!important;
  color:#111827!important;
  padding:0 18px!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.05em!important;
  text-transform:none!important;
}

body.elite-view-keepers .keeper-crm-real-tabs button.is-active,
body.elite-keepers-crm-real .keeper-crm-real-tabs button.is-active{
  background:#111827!important;
  color:#fff!important;
  border-color:#111827!important;
}

body.elite-view-keepers .keeper-crm-real-search,
body.elite-keepers-crm-real .keeper-crm-real-search{
  min-height:38px!important;
  margin:0!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.08)!important;
}

body.elite-view-keepers .keeper-crm-real-add,
body.elite-keepers-crm-real .keeper-crm-real-add{
  min-height:38px!important;
  border-radius:999px!important;
  padding:0 18px!important;
  background:#111827!important;
  color:#fff!important;
  border:1px solid #111827!important;
  font-size:11px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}

/* Encabezado de columnas moderno */
body.elite-view-keepers .keeper-crm-real-head,
body.elite-keepers-crm-real .keeper-crm-real-head{
  display:grid!important;
  grid-template-columns:minmax(360px,1fr) var(--keeper-actions-width)!important;
  gap:14px!important;
  align-items:center!important;
  padding:12px 14px!important;
  color:#8b949e!important;
  font-size:10px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.16em!important;
}

body.elite-view-keepers .keeper-crm-real-head .keeper-crm-real-contact,
body.elite-keepers-crm-real .keeper-crm-real-head .keeper-crm-real-contact,
body.elite-view-keepers .keeper-crm-real-head > :nth-child(3),
body.elite-keepers-crm-real .keeper-crm-real-head > :nth-child(3){
  display:none!important;
}

body.elite-view-keepers .keeper-list,
body.elite-keepers-crm-real .keeper-list{
  display:grid!important;
  gap:10px!important;
}

/* Cards: expandido, no comprimido */
body.elite-view-keepers .keeper-admin-card,
body.elite-keepers-crm-real .keeper-admin-card{
  display:grid!important;
  grid-template-columns:minmax(360px,1fr) var(--keeper-actions-width)!important;
  gap:14px!important;
  align-items:center!important;
  padding:18px!important;
  min-height:104px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:none!important;
}

body.elite-view-keepers .keeper-admin-card.is-off,
body.elite-keepers-crm-real .keeper-admin-card.is-off{
  opacity:.58!important;
}

body.elite-view-keepers .keeper-main,
body.elite-keepers-crm-real .keeper-main{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-width:0!important;
}

body.elite-view-keepers .keeper-photo,
body.elite-keepers-crm-real .keeper-photo{
  width:54px!important;
  height:54px!important;
  flex:0 0 54px!important;
  border-radius:18px!important;
}

body.elite-view-keepers .keeper-info,
body.elite-keepers-crm-real .keeper-info{
  min-width:0!important;
  display:grid!important;
  gap:5px!important;
}

body.elite-view-keepers .keeper-name-row,
body.elite-keepers-crm-real .keeper-name-row{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}

body.elite-view-keepers .keeper-info strong,
body.elite-keepers-crm-real .keeper-info strong{
  font-size:18px!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
}

/* Solo dejar ciudad bajo el nombre; email y teléfono ya están en acciones */
body.elite-view-keepers .keeper-info > span:nth-of-type(n+2),
body.elite-keepers-crm-real .keeper-info > span:nth-of-type(n+2){
  display:none!important;
}

body.elite-view-keepers .keeper-info p,
body.elite-keepers-crm-real .keeper-info p{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  margin:4px 0 0!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  background:rgba(15,23,42,.045)!important;
  color:#111827!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.25!important;
}

/* Acciones tipo icono arriba + título abajo, en línea */
body.elite-view-keepers .keeper-actions,
body.elite-keepers-crm-real .keeper-actions,
body.elite-view-keepers .keeper-actions-final,
body.elite-keepers-crm-real .keeper-actions-final{
  display:grid!important;
  grid-template-columns:repeat(6,74px)!important;
  justify-content:end!important;
  align-items:center!important;
  gap:9px!important;
  padding-left:0!important;
  margin:0!important;
  overflow:visible!important;
  flex-wrap:nowrap!important;
}

body.elite-view-keepers .keeper-actions form,
body.elite-keepers-crm-real .keeper-actions form{
  display:contents!important;
  margin:0!important;
}

/* Quitar correo como botón: ya no lo quieres visualmente */
body.elite-view-keepers .keeper-actions a[href^="mailto:"],
body.elite-keepers-crm-real .keeper-actions a[href^="mailto:"],
body.elite-view-keepers .keeper-actions-final a[href^="mailto:"],
body.elite-keepers-crm-real .keeper-actions-final a[href^="mailto:"]{
  display:none!important;
}

body.elite-view-keepers .keeper-actions .mini-btn,
body.elite-keepers-crm-real .keeper-actions .mini-btn{
  width:74px!important;
  min-width:74px!important;
  height:64px!important;
  min-height:64px!important;
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  padding:6px 5px!important;
  border-radius:16px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:#fff!important;
  color:#111827!important;
  box-shadow:none!important;
  font-size:8.5px!important;
  line-height:1.05!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  white-space:normal!important;
  text-align:center!important;
}

body.elite-view-keepers .keeper-actions .mini-btn.danger,
body.elite-keepers-crm-real .keeper-actions .mini-btn.danger{
  color:#8a1f1f!important;
  border-color:rgba(138,31,31,.20)!important;
}

body.elite-view-keepers .keeper-action-icon,
body.elite-keepers-crm-real .keeper-action-icon{
  width:22px!important;
  height:22px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:0!important;
  line-height:1!important;
}

body.elite-view-keepers .keeper-action-icon svg,
body.elite-keepers-crm-real .keeper-action-icon svg{
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* Drawer estable */
.elite-keeper-drawer-backdrop[hidden],
.elite-keeper-side-drawer[hidden]{
  display:none!important;
}

.elite-keeper-drawer-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:10000!important;
  background:rgba(15,23,42,.32)!important;
  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
}

.elite-keeper-side-drawer{
  position:fixed!important;
  top:0!important;
  right:0!important;
  z-index:10001!important;
  width:min(500px,94vw)!important;
  height:100vh!important;
  padding:24px!important;
  background:#fffdf8!important;
  color:#111827!important;
  border-left:1px solid rgba(17,17,17,.12)!important;
  box-shadow:-26px 0 80px rgba(14,37,53,.22)!important;
  overflow:auto!important;
  transform:translateX(105%)!important;
  transition:transform .22s ease!important;
}

.elite-keeper-side-drawer.is-open{
  transform:translateX(0)!important;
}

.elite-keeper-drawer-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:20px!important;
  padding-bottom:14px!important;
  border-bottom:1px solid rgba(17,17,17,.10)!important;
}

.elite-keeper-drawer-head h2{
  margin:0!important;
  font-size:24px!important;
  letter-spacing:-.04em!important;
}

.keeper-drawer-close{
  width:38px!important;
  height:38px!important;
  border:1px solid rgba(17,17,17,.12)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#111!important;
  font-size:25px!important;
  line-height:1!important;
  cursor:pointer!important;
}

@media(max-width:1180px){
  body.elite-view-keepers,
  body.elite-keepers-crm-real{
    --keeper-actions-width: 260px;
  }

  body.elite-view-keepers .keeper-actions,
  body.elite-keepers-crm-real .keeper-actions{
    grid-template-columns:repeat(3,74px)!important;
    justify-content:start!important;
  }
}

@media(max-width:980px){
  body.elite-view-keepers .keeper-crm-real-toolbar,
  body.elite-keepers-crm-real .keeper-crm-real-toolbar{
    grid-template-columns:1fr!important;
  }

  body.elite-view-keepers .keeper-crm-real-head,
  body.elite-keepers-crm-real .keeper-crm-real-head{
    display:none!important;
  }

  body.elite-view-keepers .keeper-admin-card,
  body.elite-keepers-crm-real .keeper-admin-card{
    grid-template-columns:1fr!important;
  }
}

/* FASE12G8_KEEPERS_FILTROS_CIUDAD_FIX */
/* Apaga toolbar viejo para que no regrese a Todas */
body.elite-view-keepers [data-keeper-crm-real-toolbar],
body.elite-keepers-crm-real [data-keeper-crm-real-toolbar],
body.elite-view-keepers .keeper-crm-real-toolbar:not(.keeper-crm-v2-toolbar),
body.elite-keepers-crm-real .keeper-crm-real-toolbar:not(.keeper-crm-v2-toolbar){
  display:none!important;
}

body.elite-view-keepers .keeper-crm-v2-toolbar,
body.elite-keepers-crm-real .keeper-crm-v2-toolbar{
  display:grid!important;
  grid-template-columns:auto minmax(190px,230px) minmax(260px,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  margin:0 0 14px!important;
}

body.elite-view-keepers .keeper-crm-v2-tabs,
body.elite-keepers-crm-real .keeper-crm-v2-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:center!important;
}

body.elite-view-keepers .keeper-crm-v2-tabs button,
body.elite-keepers-crm-real .keeper-crm-v2-tabs button{
  min-height:38px!important;
  border-radius:999px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:#fff!important;
  color:#111827!important;
  padding:0 18px!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.05em!important;
  cursor:pointer!important;
}

body.elite-view-keepers .keeper-crm-v2-tabs button.is-active,
body.elite-keepers-crm-real .keeper-crm-v2-tabs button.is-active{
  background:#111827!important;
  color:#fff!important;
  border-color:#111827!important;
}

body.elite-view-keepers .keeper-crm-v2-city,
body.elite-keepers-crm-real .keeper-crm-v2-city,
body.elite-view-keepers .keeper-crm-v2-search,
body.elite-keepers-crm-real .keeper-crm-v2-search{
  min-height:38px!important;
  margin:0!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.08)!important;
  font-size:13px!important;
  padding:0 16px!important;
}

body.elite-view-keepers .keeper-crm-v2-add,
body.elite-keepers-crm-real .keeper-crm-v2-add{
  min-height:38px!important;
  border-radius:999px!important;
  padding:0 18px!important;
  background:#111827!important;
  color:#fff!important;
  border:1px solid #111827!important;
  font-size:11px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}

body.elite-view-keepers .keeper-admin-card.is-hidden-by-keeper-crm-v2,
body.elite-keepers-crm-real .keeper-admin-card.is-hidden-by-keeper-crm-v2{
  display:none!important;
}

body.elite-view-keepers .keeper-crm-v2-empty,
body.elite-keepers-crm-real .keeper-crm-v2-empty{
  margin-top:10px!important;
  padding:18px!important;
  border-radius:18px!important;
  background:rgba(15,23,42,.035)!important;
  border:1px dashed rgba(15,23,42,.14)!important;
}

body.elite-view-keepers .keeper-crm-v2-empty strong,
body.elite-keepers-crm-real .keeper-crm-v2-empty strong{
  display:block!important;
  color:#111827!important;
  font-size:13px!important;
}

body.elite-view-keepers .keeper-crm-v2-empty span,
body.elite-keepers-crm-real .keeper-crm-v2-empty span{
  display:block!important;
  color:rgba(15,23,42,.55)!important;
  font-size:12px!important;
  margin-top:4px!important;
}

@media(max-width:980px){
  body.elite-view-keepers .keeper-crm-v2-toolbar,
  body.elite-keepers-crm-real .keeper-crm-v2-toolbar{
    grid-template-columns:1fr!important;
  }

  body.elite-view-keepers .keeper-crm-v2-tabs,
  body.elite-keepers-crm-real .keeper-crm-v2-tabs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  body.elite-view-keepers .keeper-crm-v2-tabs button,
  body.elite-keepers-crm-real .keeper-crm-v2-tabs button{
    padding:0 10px!important;
  }
}

/* FASE12G9_FIX_DUPLICATE_KEEPERS_HEADERS */
/* Oculta cualquier encabezado viejo/duplicado que no sea el único normalizado */
body.elite-view-keepers .keeper-crm-real-head:not(.keeper-crm-v2-head),
body.elite-keepers-crm-real .keeper-crm-real-head:not(.keeper-crm-v2-head){
  display:none!important;
}

body.elite-view-keepers .keeper-crm-v2-head,
body.elite-keepers-crm-real .keeper-crm-v2-head{
  display:grid!important;
  grid-template-columns:minmax(360px,1fr) var(--keeper-actions-width,548px)!important;
  gap:14px!important;
  align-items:center!important;
  padding:12px 14px!important;
  color:#8b949e!important;
  font-size:10px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.16em!important;
  border-top:1px solid rgba(15,23,42,.08)!important;
}

body.elite-view-keepers .keeper-crm-v2-head span,
body.elite-keepers-crm-real .keeper-crm-v2-head span{
  display:block!important;
}

/* Perfil y Contacto ya no van como columnas */
body.elite-view-keepers .keeper-crm-v2-head .keeper-head-profile,
body.elite-view-keepers .keeper-crm-v2-head .keeper-head-contact,
body.elite-keepers-crm-real .keeper-crm-v2-head .keeper-head-profile,
body.elite-keepers-crm-real .keeper-crm-v2-head .keeper-head-contact{
  display:none!important;
}

@media(max-width:980px){
  body.elite-view-keepers .keeper-crm-v2-head,
  body.elite-keepers-crm-real .keeper-crm-v2-head{
    display:none!important;
  }
}


/* FASE12G13_WHATSAPP_ONLY_UPLOADED_NO_FLICKER */
body.elite-view-keepers .keeper-action-icon img.elite-wa-file-icon,
body.elite-keepers-crm-real .keeper-action-icon img.elite-wa-file-icon{
  width:20px!important;
  height:20px!important;
  display:block!important;
  object-fit:contain!important;
  transform:none!important;
  filter:none!important;
}

/* Si por caché queda algún SVG viejo dentro del botón de WhatsApp, no debe ganar */
body.elite-view-keepers .keeper-actions a[href*="wa.me"] .keeper-action-icon svg,
body.elite-keepers-crm-real .keeper-actions a[href*="wa.me"] .keeper-action-icon svg,
body.elite-view-keepers .keeper-actions-final a[href*="wa.me"] .keeper-action-icon svg,
body.elite-keepers-crm-real .keeper-actions-final a[href*="wa.me"] .keeper-action-icon svg{
  display:none!important;
}

/* FASE13A_CLIENTES_CRM_LIKE_KEEPERS */
/* Clientes como CRM limpio igual a Keepers */
body.elite-view-clientes,
body.elite-clientes-crm-real{
  --client-actions-width: 470px;
}

/* Ocultar layout viejo duplicado */
body.elite-view-clientes .panel-header,
body.elite-view-clientes .grid-4,
body.elite-view-clientes .admin-tabs,
body.elite-view-clientes .elite-operation-title,
body.elite-clientes-crm-real .panel-header,
body.elite-clientes-crm-real .grid-4,
body.elite-clientes-crm-real .admin-tabs,
body.elite-clientes-crm-real .elite-operation-title{
  display:none!important;
}

body.elite-view-clientes .admin-panel-tab:not([data-admin-panel="clientes"]),
body.elite-clientes-crm-real .admin-panel-tab:not([data-admin-panel="clientes"]){
  display:none!important;
}

body.elite-view-clientes .admin-panel-tab[data-admin-panel="clientes"],
body.elite-clientes-crm-real .admin-panel-tab[data-admin-panel="clientes"]{
  display:block!important;
}

body.elite-view-clientes .elite-panel,
body.elite-clientes-crm-real .elite-panel{
  width:min(1760px,100%)!important;
  padding-top:10px!important;
}

body.elite-view-clientes .admin-panel-tab[data-admin-panel="clientes"] .admin-layout,
body.elite-clientes-crm-real .admin-panel-tab[data-admin-panel="clientes"] .admin-layout{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}

/* Formulario oculto hasta tocar + Agregar Cliente */
body.elite-view-clientes .admin-panel-tab[data-admin-panel="clientes"] .admin-form-card,
body.elite-clientes-crm-real .admin-panel-tab[data-admin-panel="clientes"] .admin-form-card{
  display:none!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:0 18px 44px rgba(15,23,42,.08)!important;
}

body.elite-view-clientes.elite-client-add-open .admin-panel-tab[data-admin-panel="clientes"] .admin-form-card,
body.elite-clientes-crm-real.elite-client-add-open .admin-panel-tab[data-admin-panel="clientes"] .admin-form-card{
  display:block!important;
}

/* Contenedor moderno */
body.elite-view-clientes .admin-panel-tab[data-admin-panel="clientes"] .admin-list-card,
body.elite-clientes-crm-real .admin-panel-tab[data-admin-panel="clientes"] .admin-list-card{
  padding:14px!important;
  border-radius:30px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,255,255,.82))!important;
  border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:0 24px 70px rgba(15,23,42,.10)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}

/* Quitar título viejo CRM de clientes */
body.elite-view-clientes .admin-panel-tab[data-admin-panel="clientes"] .admin-list-card > .section-title,
body.elite-clientes-crm-real .admin-panel-tab[data-admin-panel="clientes"] .admin-list-card > .section-title{
  display:none!important;
}

/* Apagar toolbar/acciones viejas del enhanceCrm */
body.elite-view-clientes .elite-crm-toolbar,
body.elite-view-clientes .elite-crm-actions,
body.elite-clientes-crm-real .elite-crm-toolbar,
body.elite-clientes-crm-real .elite-crm-actions{
  display:none!important;
}

/* Toolbar filtros */
body.elite-view-clientes .client-crm-v2-toolbar,
body.elite-clientes-crm-real .client-crm-v2-toolbar{
  display:grid!important;
  grid-template-columns:auto minmax(190px,230px) minmax(260px,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  margin:0 0 14px!important;
}

body.elite-view-clientes .client-crm-v2-tabs,
body.elite-clientes-crm-real .client-crm-v2-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:center!important;
}

body.elite-view-clientes .client-crm-v2-tabs button,
body.elite-clientes-crm-real .client-crm-v2-tabs button{
  min-height:38px!important;
  border-radius:999px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:#fff!important;
  color:#111827!important;
  padding:0 18px!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.05em!important;
  cursor:pointer!important;
}

body.elite-view-clientes .client-crm-v2-tabs button.is-active,
body.elite-clientes-crm-real .client-crm-v2-tabs button.is-active{
  background:#111827!important;
  color:#fff!important;
  border-color:#111827!important;
}

body.elite-view-clientes .client-crm-v2-city,
body.elite-clientes-crm-real .client-crm-v2-city,
body.elite-view-clientes .client-crm-v2-search,
body.elite-clientes-crm-real .client-crm-v2-search{
  min-height:38px!important;
  margin:0!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.08)!important;
  font-size:13px!important;
  padding:0 16px!important;
}

body.elite-view-clientes .client-crm-v2-add,
body.elite-clientes-crm-real .client-crm-v2-add{
  min-height:38px!important;
  border-radius:999px!important;
  padding:0 18px!important;
  background:#111827!important;
  color:#fff!important;
  border:1px solid #111827!important;
  font-size:11px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}

/* Encabezado único */
body.elite-view-clientes .client-crm-v2-head,
body.elite-clientes-crm-real .client-crm-v2-head{
  display:grid!important;
  grid-template-columns:minmax(360px,1fr) var(--client-actions-width)!important;
  gap:14px!important;
  align-items:center!important;
  padding:12px 14px!important;
  color:#8b949e!important;
  font-size:10px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.16em!important;
  border-top:1px solid rgba(15,23,42,.08)!important;
}

body.elite-view-clientes .client-list,
body.elite-clientes-crm-real .client-list{
  display:grid!important;
  gap:10px!important;
}

/* Cards anchas */
body.elite-view-clientes .client-admin-card,
body.elite-clientes-crm-real .client-admin-card{
  display:grid!important;
  grid-template-columns:minmax(360px,1fr) var(--client-actions-width)!important;
  gap:14px!important;
  align-items:center!important;
  padding:18px!important;
  min-height:104px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:none!important;
}

body.elite-view-clientes .client-admin-card.is-off,
body.elite-clientes-crm-real .client-admin-card.is-off{
  opacity:.58!important;
}

body.elite-view-clientes .client-head,
body.elite-clientes-crm-real .client-head{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-width:0!important;
}

body.elite-view-clientes .client-avatar,
body.elite-clientes-crm-real .client-avatar{
  width:54px!important;
  height:54px!important;
  flex:0 0 54px!important;
  border-radius:18px!important;
  background:#111827!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  font-size:20px!important;
  font-weight:900!important;
}

body.elite-view-clientes .client-info,
body.elite-clientes-crm-real .client-info{
  min-width:0!important;
  display:grid!important;
  gap:5px!important;
}

body.elite-view-clientes .client-info strong,
body.elite-clientes-crm-real .client-info strong{
  font-size:18px!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
}

/* Teléfono/correo ya viven en acciones */
body.elite-view-clientes .client-info > span,
body.elite-clientes-crm-real .client-info > span{
  display:none!important;
}

body.elite-view-clientes .client-info .address-line,
body.elite-clientes-crm-real .client-info .address-line{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  margin:4px 0 0!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  background:rgba(15,23,42,.045)!important;
  color:#111827!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.25!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

body.elite-view-clientes .crm-meta,
body.elite-clientes-crm-real .crm-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin-top:4px!important;
}

body.elite-view-clientes .crm-meta span,
body.elite-clientes-crm-real .crm-meta span{
  display:inline-flex!important;
  min-height:24px!important;
  align-items:center!important;
  padding:0 9px!important;
  border-radius:999px!important;
  background:rgba(15,23,42,.045)!important;
  color:rgba(15,23,42,.72)!important;
  font-size:10px!important;
  font-weight:850!important;
}

body.elite-view-clientes .last-note,
body.elite-clientes-crm-real .last-note{
  margin:4px 0 0!important;
  color:rgba(15,23,42,.58)!important;
  font-size:12px!important;
  line-height:1.3!important;
}

/* Acciones icono arriba / texto abajo */
body.elite-view-clientes .client-actions,
body.elite-clientes-crm-real .client-actions,
body.elite-view-clientes .client-actions-final,
body.elite-clientes-crm-real .client-actions-final{
  display:grid!important;
  grid-template-columns:repeat(5,74px)!important;
  justify-content:end!important;
  align-items:center!important;
  gap:9px!important;
  padding-left:0!important;
  margin:0!important;
  overflow:visible!important;
  flex-wrap:nowrap!important;
}

body.elite-view-clientes .client-actions form,
body.elite-clientes-crm-real .client-actions form{
  display:contents!important;
  margin:0!important;
}

body.elite-view-clientes .client-actions .mini-btn,
body.elite-clientes-crm-real .client-actions .mini-btn,
body.elite-view-clientes .client-action-note,
body.elite-clientes-crm-real .client-action-note{
  width:74px!important;
  min-width:74px!important;
  height:64px!important;
  min-height:64px!important;
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  padding:6px 5px!important;
  border-radius:16px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:#fff!important;
  color:#111827!important;
  box-shadow:none!important;
  font-size:8.5px!important;
  line-height:1.05!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  white-space:normal!important;
  text-align:center!important;
  cursor:pointer!important;
}

body.elite-view-clientes .client-actions .mini-btn.danger,
body.elite-clientes-crm-real .client-actions .mini-btn.danger{
  color:#8a1f1f!important;
  border-color:rgba(138,31,31,.20)!important;
}

body.elite-view-clientes .client-action-icon,
body.elite-clientes-crm-real .client-action-icon{
  width:22px!important;
  height:22px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:0!important;
  line-height:1!important;
}

body.elite-view-clientes .client-action-icon svg,
body.elite-clientes-crm-real .client-action-icon svg{
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

body.elite-view-clientes .client-action-icon img.elite-wa-file-icon,
body.elite-clientes-crm-real .client-action-icon img.elite-wa-file-icon{
  width:20px!important;
  height:20px!important;
  display:block!important;
  object-fit:contain!important;
}

/* Nota CRM oculta hasta tocar Nota */
body.elite-view-clientes .crm-details,
body.elite-clientes-crm-real .crm-details{
  grid-column:1/-1!important;
  display:none!important;
  margin-top:8px!important;
  border-radius:18px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:rgba(15,23,42,.025)!important;
  padding:14px!important;
}

body.elite-view-clientes .client-admin-card.is-note-open .crm-details,
body.elite-clientes-crm-real .client-admin-card.is-note-open .crm-details{
  display:block!important;
}

body.elite-view-clientes .crm-details summary,
body.elite-clientes-crm-real .crm-details summary{
  display:none!important;
}

body.elite-view-clientes .client-admin-card.is-hidden-by-client-crm-v2,
body.elite-clientes-crm-real .client-admin-card.is-hidden-by-client-crm-v2{
  display:none!important;
}

body.elite-view-clientes .client-crm-v2-empty,
body.elite-clientes-crm-real .client-crm-v2-empty{
  margin-top:10px!important;
  padding:18px!important;
  border-radius:18px!important;
  background:rgba(15,23,42,.035)!important;
  border:1px dashed rgba(15,23,42,.14)!important;
}

@media(max-width:1180px){
  body.elite-view-clientes,
  body.elite-clientes-crm-real{
    --client-actions-width:260px;
  }

  body.elite-view-clientes .client-actions,
  body.elite-clientes-crm-real .client-actions{
    grid-template-columns:repeat(3,74px)!important;
    justify-content:start!important;
  }
}

@media(max-width:980px){
  body.elite-view-clientes .client-crm-v2-toolbar,
  body.elite-clientes-crm-real .client-crm-v2-toolbar{
    grid-template-columns:1fr!important;
  }

  body.elite-view-clientes .client-crm-v2-tabs,
  body.elite-clientes-crm-real .client-crm-v2-tabs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  body.elite-view-clientes .client-crm-v2-head,
  body.elite-clientes-crm-real .client-crm-v2-head{
    display:none!important;
  }

  body.elite-view-clientes .client-admin-card,
  body.elite-clientes-crm-real .client-admin-card{
    grid-template-columns:1fr!important;
  }
}

/* FASE13B_CLIENTES_TITULO_AGENDAR_DRAWER */
body.elite-view-clientes .client-crm-v2-title,
body.elite-clientes-crm-real .client-crm-v2-title{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:0 0 14px!important;
  padding:2px 2px 12px!important;
  border-bottom:1px solid rgba(15,23,42,.08)!important;
}

body.elite-view-clientes .client-crm-v2-title h2,
body.elite-clientes-crm-real .client-crm-v2-title h2{
  margin:0!important;
  font-size:clamp(28px,4vw,48px)!important;
  font-weight:500!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  line-height:1!important;
}

body.elite-view-clientes .client-crm-v2-title p,
body.elite-clientes-crm-real .client-crm-v2-title p{
  margin:6px 0 0!important;
  color:rgba(15,23,42,.58)!important;
  font-size:13px!important;
  font-weight:700!important;
}

.client-agenda-drawer-backdrop[hidden],
.client-agenda-drawer[hidden]{
  display:none!important;
}

.client-agenda-drawer-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:10000!important;
  background:rgba(15,23,42,.32)!important;
  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
}

.client-agenda-drawer{
  position:fixed!important;
  top:0!important;
  right:0!important;
  z-index:10001!important;
  width:min(620px,94vw)!important;
  height:100vh!important;
  padding:24px!important;
  background:#fffdf8!important;
  color:#111827!important;
  border-left:1px solid rgba(17,17,17,.12)!important;
  box-shadow:-26px 0 80px rgba(14,37,53,.22)!important;
  overflow:auto!important;
  transform:translateX(105%)!important;
  transition:transform .22s ease!important;
}

.client-agenda-drawer.is-open{
  transform:translateX(0)!important;
}

.client-agenda-drawer-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:20px!important;
  padding-bottom:14px!important;
  border-bottom:1px solid rgba(17,17,17,.10)!important;
}

.client-agenda-drawer-head h2{
  margin:0!important;
  font-size:24px!important;
  letter-spacing:-.04em!important;
}

.client-agenda-drawer-head p{
  margin:5px 0 0!important;
  color:rgba(15,23,42,.58)!important;
  font-size:13px!important;
  font-weight:750!important;
}

.client-agenda-drawer-close{
  width:38px!important;
  height:38px!important;
  border:1px solid rgba(17,17,17,.12)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#111!important;
  font-size:25px!important;
  line-height:1!important;
  cursor:pointer!important;
}

.client-agenda-drawer-body .elite-form{
  display:grid!important;
  gap:14px!important;
}

.client-agenda-drawer-body .form-divider{
  margin-top:4px!important;
}

.client-agenda-fixed-client{
  border:1px solid rgba(15,23,42,.08)!important;
  background:rgba(15,23,42,.035)!important;
  border-radius:18px!important;
  padding:12px 14px!important;
  margin-bottom:12px!important;
}

.client-agenda-fixed-client strong{
  display:block!important;
  font-size:14px!important;
}

.client-agenda-fixed-client span{
  display:block!important;
  margin-top:3px!important;
  color:rgba(15,23,42,.58)!important;
  font-size:12px!important;
  font-weight:750!important;
}

/* En drawer no queremos que el select de cliente estorbe: ya viene preseleccionado */
.client-agenda-drawer-body label.is-client-select-hidden{
  position:absolute!important;
  left:-99999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}


/* FASE13F_TITULOS_FINAL_COMO_KEEPERS_SIN_DUPLICADOS */
/* Apagar títulos viejos/dinámicos que causaban duplicados */
body.elite-view-agenda .elite-module-page-title,
body.elite-view-agenda .elite-page-title-keeper-format,
body.elite-view-agenda .panel-header,
body.elite-view-agenda .elite-operation-title,
body.elite-view-clientes .elite-module-page-title,
body.elite-view-clientes .elite-page-title-keeper-format,
body.elite-view-clientes .client-crm-v2-page-title,
body.elite-clientes-crm-real .client-crm-v2-page-title,
body.elite-view-clientes .admin-list-card > .client-crm-v2-title,
body.elite-clientes-crm-real .admin-list-card > .client-crm-v2-title,
body.elite-view-clientes .panel-header,
body.elite-clientes-crm-real .panel-header,
body.elite-view-clientes .elite-operation-title,
body.elite-clientes-crm-real .elite-operation-title{
  display:none!important;
}

/* Agenda: quitar el segundo título interno que se ve abajo del título principal */
body.elite-view-agenda .elite-agenda-head{
  display:none!important;
}

/* Título final: mismo espíritu visual de Keepers */
body.elite-view-agenda .elite-static-keeper-title,
body.elite-view-clientes .elite-static-keeper-title,
body.elite-clientes-crm-real .elite-static-keeper-title{
  display:block!important;
  width:100%!important;
  margin:0 0 18px!important;
  padding:0 0 14px!important;
  border-bottom:1px solid rgba(15,23,42,.10)!important;
  background:transparent!important;
}

body.elite-view-agenda .elite-static-keeper-title h1,
body.elite-view-clientes .elite-static-keeper-title h1,
body.elite-clientes-crm-real .elite-static-keeper-title h1{
  margin:0!important;
  color:#0f172a!important;
  font-size:clamp(24px,2.1vw,34px)!important;
  font-weight:500!important;
  line-height:1!important;
  letter-spacing:.24em!important;
  text-transform:uppercase!important;
}

body.elite-view-agenda .elite-static-keeper-title p,
body.elite-view-clientes .elite-static-keeper-title p,
body.elite-clientes-crm-real .elite-static-keeper-title p{
  margin:9px 0 0!important;
  color:rgba(15,23,42,.66)!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
}

/* Agenda: quitar mini métricas superiores si reaparecen sobre el título/card */
body.elite-view-agenda main.elite-panel > .grid-4,
body.elite-view-agenda main.elite-panel > .agenda-stats,
body.elite-view-agenda main.elite-panel > .agenda-summary,
body.elite-view-agenda main.elite-panel > .operation-stats,
body.elite-view-agenda main.elite-panel > .elite-stats-row{
  display:none!important;
}

/* Clientes: mantener card igual que Keepers, con título fuera */
body.elite-view-clientes .admin-panel-tab[data-admin-panel="clientes"] .admin-list-card,
body.elite-clientes-crm-real .admin-panel-tab[data-admin-panel="clientes"] .admin-list-card{
  margin-top:0!important;
}

/* Si algún JS viejo alcanza a marcar cosas como legacy, que no se vea */
body.elite-view-agenda .elite-title-legacy-hidden,
body.elite-view-clientes .elite-title-legacy-hidden,
body.elite-clientes-crm-real .elite-title-legacy-hidden{
  display:none!important;
}

@media(max-width:760px){
  body.elite-view-agenda .elite-static-keeper-title h1,
  body.elite-view-clientes .elite-static-keeper-title h1,
  body.elite-clientes-crm-real .elite-static-keeper-title h1{
    font-size:29px!important;
    letter-spacing:.18em!important;
  }
}

/* FASE13G_TITULOS_MISMO_TAMANO_KEEPERS */
/* Agenda/Clientes deben verse igual de compactos que Keepers */

/* Apagar cualquier título viejo o duplicado */
body.elite-view-agenda .elite-module-page-title,
body.elite-view-agenda .elite-page-title-keeper-format,
body.elite-view-agenda .panel-header,
body.elite-view-agenda .elite-operation-title,
body.elite-view-agenda .elite-agenda-head,
body.elite-view-clientes .elite-module-page-title,
body.elite-view-clientes .elite-page-title-keeper-format,
body.elite-view-clientes .client-crm-v2-page-title,
body.elite-clientes-crm-real .client-crm-v2-page-title,
body.elite-view-clientes .admin-list-card > .client-crm-v2-title,
body.elite-clientes-crm-real .admin-list-card > .client-crm-v2-title,
body.elite-view-clientes .panel-header,
body.elite-clientes-crm-real .panel-header,
body.elite-view-clientes .elite-operation-title,
body.elite-clientes-crm-real .elite-operation-title{
  display:none!important;
}

/* Título final más pequeño, como Keepers */
body.elite-view-agenda .elite-static-keeper-title,
body.elite-view-clientes .elite-static-keeper-title,
body.elite-clientes-crm-real .elite-static-keeper-title{
  display:block!important;
  width:100%!important;
  margin:0 0 18px!important;
  padding:0 0 14px!important;
  border-bottom:1px solid rgba(15,23,42,.10)!important;
  background:transparent!important;
}

body.elite-view-agenda .elite-static-keeper-title h1,
body.elite-view-clientes .elite-static-keeper-title h1,
body.elite-clientes-crm-real .elite-static-keeper-title h1{
  margin:0!important;
  color:#0f172a!important;
  font-size:clamp(24px,1.75vw,30px)!important;
  font-weight:500!important;
  line-height:1!important;
  letter-spacing:.26em!important;
  text-transform:uppercase!important;
}

body.elite-view-agenda .elite-static-keeper-title p,
body.elite-view-clientes .elite-static-keeper-title p,
body.elite-clientes-crm-real .elite-static-keeper-title p{
  margin:9px 0 0!important;
  color:rgba(15,23,42,.66)!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:700!important;
  letter-spacing:.015em!important;
  max-width:720px!important;
}

/* En Agenda quita cualquier métrica mini arriba que haga que se vea distinto */
body.elite-view-agenda main.elite-panel > .grid-4,
body.elite-view-agenda main.elite-panel > .agenda-stats,
body.elite-view-agenda main.elite-panel > .agenda-summary,
body.elite-view-agenda main.elite-panel > .operation-stats,
body.elite-view-agenda main.elite-panel > .elite-stats-row{
  display:none!important;
}

@media(max-width:760px){
  body.elite-view-agenda .elite-static-keeper-title h1,
  body.elite-view-clientes .elite-static-keeper-title h1,
  body.elite-clientes-crm-real .elite-static-keeper-title h1{
    font-size:28px!important;
    letter-spacing:.18em!important;
  }
}

/* FASE13H_TITULOS_H2_PEGADOS_COMO_KEEPERS */
/* Apagar títulos anteriores h1/dinámicos */
body.elite-view-agenda .elite-static-keeper-title,
body.elite-view-agenda .elite-module-page-title,
body.elite-view-agenda .elite-page-title-keeper-format,
body.elite-view-agenda .panel-header,
body.elite-view-agenda .elite-operation-title,
body.elite-view-agenda .elite-agenda-head,
body.elite-view-clientes .elite-static-keeper-title,
body.elite-view-clientes .elite-module-page-title,
body.elite-view-clientes .elite-page-title-keeper-format,
body.elite-view-clientes .client-crm-v2-page-title,
body.elite-clientes-crm-real .client-crm-v2-page-title,
body.elite-view-clientes .admin-list-card > .client-crm-v2-title,
body.elite-clientes-crm-real .admin-list-card > .client-crm-v2-title,
body.elite-view-clientes .panel-header,
body.elite-clientes-crm-real .panel-header,
body.elite-view-clientes .elite-operation-title,
body.elite-clientes-crm-real .elite-operation-title{
  display:none!important;
}

/* Misma distancia superior que Keepers */
body.elite-view-agenda .elite-panel,
body.elite-view-clientes .elite-panel,
body.elite-clientes-crm-real .elite-panel{
  padding-top:10px!important;
}

/* Título final h2, estilo Keepers */
body.elite-view-agenda .elite-title-keeper-h2,
body.elite-view-clientes .elite-title-keeper-h2,
body.elite-clientes-crm-real .elite-title-keeper-h2{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  width:100%!important;
  margin:0 0 18px!important;
  padding:0 0 16px!important;
  border-bottom:1px solid rgba(15,23,42,.10)!important;
  background:transparent!important;
}

body.elite-view-agenda .elite-title-keeper-h2 h2,
body.elite-view-clientes .elite-title-keeper-h2 h2,
body.elite-clientes-crm-real .elite-title-keeper-h2 h2{
  margin:0!important;
  color:#0f172a!important;
  font-size:clamp(24px,3.4vw,42px)!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

body.elite-view-agenda .elite-title-keeper-h2 p,
body.elite-view-clientes .elite-title-keeper-h2 p,
body.elite-clientes-crm-real .elite-title-keeper-h2 p{
  margin:6px 0 0!important;
  color:var(--elite-muted)!important;
  max-width:720px!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:700!important;
}

/* Quitar métricas/resúmenes arriba en agenda */
body.elite-view-agenda main.elite-panel > .grid-4,
body.elite-view-agenda main.elite-panel > .agenda-stats,
body.elite-view-agenda main.elite-panel > .agenda-summary,
body.elite-view-agenda main.elite-panel > .operation-stats,
body.elite-view-agenda main.elite-panel > .elite-stats-row{
  display:none!important;
}

@media(max-width:760px){
  body.elite-view-agenda .elite-title-keeper-h2,
  body.elite-view-clientes .elite-title-keeper-h2,
  body.elite-clientes-crm-real .elite-title-keeper-h2{
    display:block!important;
  }

  body.elite-view-agenda .elite-title-keeper-h2 h2,
  body.elite-view-clientes .elite-title-keeper-h2 h2,
  body.elite-clientes-crm-real .elite-title-keeper-h2 h2{
    font-size:28px!important;
    letter-spacing:.08em!important;
  }
}

/* FASE13I_TITULOS_22PX_EXACTOS */
/* Agenda y Clientes: título h2 exactamente 22px, no 42px */
body.elite-view-agenda .elite-title-keeper-h2,
body.elite-view-clientes .elite-title-keeper-h2,
body.elite-clientes-crm-real .elite-title-keeper-h2{
  margin-top:0!important;
  padding-top:0!important;
}

body.elite-view-agenda .elite-title-keeper-h2 h2,
body.elite-view-clientes .elite-title-keeper-h2 h2,
body.elite-clientes-crm-real .elite-title-keeper-h2 h2{
  font-size:22px!important;
  line-height:1.08!important;
  font-weight:500!important;
  letter-spacing:.24em!important;
  margin:0!important;
}

body.elite-view-agenda .elite-title-keeper-h2 p,
body.elite-view-clientes .elite-title-keeper-h2 p,
body.elite-clientes-crm-real .elite-title-keeper-h2 p{
  margin-top:7px!important;
  font-size:13px!important;
}

/* FASE13J_PADDING_TOP_28_AGENDA_CLIENTES */
/* Agenda y Clientes: mismo aire superior, pero sin agrandar título */
body.elite-view-agenda .elite-panel,
body.elite-view-clientes .elite-panel,
body.elite-clientes-crm-real .elite-panel{
  padding-top:28px!important;
}

/* FASE14A_NOTIFICACIONES_MENU_UNIFICADO */
body.elite-view-notificaciones .elite-app-shell{
  display: contents !important;
}

body.elite-view-notificaciones .elite-notificaciones-panel{
  padding-top: 28px !important;
}

body.elite-view-notificaciones .elite-notificaciones-panel h1{
  font-size: 22px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.03em;
}

body.elite-view-notificaciones .elite-main-sidebar{
  z-index: 50;
}

body.elite-view-notificaciones .n-card{
  border-radius: 22px;
}

@media (max-width: 980px){
  body.elite-view-notificaciones .elite-notificaciones-panel{
    padding-top: 22px !important;
  }
}

/* FASE15A2_MULTI_SERVICIOS_UI */
.elite-ms-original-select{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}

.elite-ms-box{
  margin:10px 0 14px;
  padding:14px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.94));
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}

.elite-ms-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:5px;
}

.elite-ms-title strong{
  font-size:13px;
  letter-spacing:-.01em;
  color:#0f172a;
}

.elite-ms-title span{
  font-size:11px;
  font-weight:900;
  color:#64748b;
  background:#f1f5f9;
  border-radius:999px;
  padding:5px 8px;
  white-space:nowrap;
}

.elite-ms-help{
  margin:0 0 12px;
  color:#64748b;
  font-size:12px;
  line-height:1.35;
}

.elite-ms-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px;
}

.elite-ms-chip{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:10px 11px;
  border:1px solid rgba(15,23,42,.09);
  border-radius:16px;
  background:#fff;
  color:#334155;
  font-size:12px;
  font-weight:850;
  cursor:pointer;
  transition:transform .15s ease, border-color .15s ease, background .15s ease, color .15s ease;
}

.elite-ms-chip:hover{
  transform:translateY(-1px);
  border-color:rgba(15,23,42,.22);
}

.elite-ms-chip input{
  width:16px;
  height:16px;
  accent-color:#0f172a;
  flex:0 0 auto;
}

.elite-ms-chip:has(input:checked){
  background:#0f172a;
  border-color:#0f172a;
  color:#fff;
}

.elite-ms-skill-chip:has(input:checked){
  background:#ecfdf5;
  border-color:#10b981;
  color:#047857;
}

.elite-ms-box.has-selection{
  border-color:rgba(15,23,42,.18);
}

@media(max-width:720px){
  .elite-ms-title{
    display:block;
  }

  .elite-ms-title span{
    display:inline-flex;
    margin-top:7px;
  }

  .elite-ms-grid{
    grid-template-columns:1fr;
  }
}

/* FASE15A3_FIX_MULTI_MODAL */
select.elite-ms-original-select,
select.elite-ms-original-select-fixed{
  display:none!important;
  visibility:hidden!important;
  position:absolute!important;
  left:-99999px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}

.elite-ms-field-full{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

.elite-ms-box-fixed,
.elite-ms-box{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

.elite-ms-box-fixed .elite-ms-grid,
.elite-ms-box .elite-ms-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
  gap:10px!important;
  width:100%!important;
}

.elite-ms-box-fixed .elite-ms-chip,
.elite-ms-box .elite-ms-chip{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  white-space:normal!important;
  overflow:visible!important;
  line-height:1.25!important;
}

.elite-ms-box-fixed .elite-ms-chip span,
.elite-ms-box .elite-ms-chip span{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  display:block!important;
  min-width:0!important;
}

.elite-ms-box-fixed .elite-ms-title,
.elite-ms-box .elite-ms-title{
  align-items:flex-start!important;
}

.elite-ms-box-fixed .elite-ms-help,
.elite-ms-box .elite-ms-help{
  max-width:720px;
}

@media(max-width:760px){
  .elite-ms-box-fixed .elite-ms-grid,
  .elite-ms-box .elite-ms-grid{
    grid-template-columns:1fr!important;
  }

  .elite-ms-box-fixed,
  .elite-ms-box{
    padding:12px!important;
    border-radius:18px!important;
  }
}

/* FASE15A4_HABILIDADES_KEEPER */
.elite-skills-original-hidden{
  position:absolute!important;
  left:-99999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}

.elite-skills-field-hidden{
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
}

.elite-skills-field-hidden > label,
.elite-skills-field-hidden > span,
.elite-skills-field-hidden > strong,
.elite-skills-field-hidden > p,
.elite-skills-field-hidden > .form-label,
.elite-skills-field-hidden > .field-label{
  display:none!important;
}

.elite-habilidades-box{
  margin-top:0!important;
  border-color:rgba(15,23,42,.10)!important;
}

.elite-habilidades-box .elite-ms-title strong{
  font-size:15px!important;
  letter-spacing:-.02em;
}

.elite-habilidades-box .elite-ms-title span{
  background:#eef2ff!important;
  color:#475569!important;
}

.elite-habilidades-box .elite-ms-skill-chip:has(input:checked),
.elite-habilidades-box .elite-ms-chip:has(input:checked){
  background:#0f172a!important;
  border-color:#0f172a!important;
  color:#fff!important;
}

.elite-habilidades-box .elite-ms-chip{
  min-height:68px;
  align-items:center;
}

/* FASE15A5_HABILIDADES_PRO_LIMPIAS */
.elite-skill-textarea-pro-hidden,
textarea.elite-skills-original-hidden,
textarea[name="skills"].elite-skills-original-hidden,
textarea[name="edit_skills"].elite-skills-original-hidden{
  display:none!important;
  visibility:hidden!important;
  position:absolute!important;
  left:-99999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}

.elite-skill-label-pro-hidden{
  display:none!important;
}

.elite-habilidades-pro-box{
  margin:8px 0 14px!important;
  padding:16px!important;
  border-radius:24px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:
    radial-gradient(circle at top left, rgba(15,23,42,.06), transparent 35%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.95))!important;
  box-shadow:0 18px 45px rgba(15,23,42,.06)!important;
}

.elite-pro-skills-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.elite-pro-skills-head strong{
  display:block;
  font-size:15px;
  line-height:1.1;
  letter-spacing:-.025em;
  color:#0f172a;
}

.elite-pro-skills-head p{
  margin:5px 0 0;
  max-width:520px;
  font-size:12px;
  line-height:1.35;
  color:#64748b;
}

.elite-pro-skills-head span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:#eef2ff;
  color:#475569;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}

.elite-pro-skills-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.elite-pro-skill-chip{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  padding:10px 12px;
  border-radius:18px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  color:#0f172a;
  font-size:13px;
  font-weight:900;
  letter-spacing:-.01em;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
  transition:transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}

.elite-pro-skill-chip:hover{
  transform:translateY(-1px);
  border-color:rgba(15,23,42,.22);
}

.elite-pro-skill-chip input{
  width:16px;
  height:16px;
  accent-color:#0f172a;
}

.elite-pro-skill-chip:has(input:checked){
  background:#0f172a;
  border-color:#0f172a;
  color:#fff;
}

@media(max-width:760px){
  .elite-pro-skills-head{
    display:block;
  }

  .elite-pro-skills-head span{
    margin-top:9px;
  }

  .elite-pro-skills-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:430px){
  .elite-pro-skills-grid{
    grid-template-columns:1fr;
  }
}

/* FASE15A6_HABILIDADES_HOGAR_OFICINA */
.elite-pro-skill-group{
  margin-top:12px;
}

.elite-pro-skill-group:first-of-type{
  margin-top:0;
}

.elite-pro-skill-group-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#64748b;
}

.elite-pro-skill-group-title::after{
  content:"";
  height:1px;
  flex:1;
  background:rgba(15,23,42,.08);
}

.elite-habilidades-pro-box .elite-pro-skill-chip{
  min-height:46px;
}

.elite-habilidades-pro-box .elite-pro-skill-chip span{
  font-size:13px;
  line-height:1.15;
}

/* FASE15A7_FIX_BLUR_SERVICIOS_PRO */
select.elite-cita-service-select-hidden{
  display:none!important;
  visibility:hidden!important;
  position:absolute!important;
  left:-99999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}

.elite-cita-services-pro-box{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:100%!important;
  margin:8px 0 14px!important;
  padding:16px!important;
  border-radius:24px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:
    radial-gradient(circle at top left, rgba(15,23,42,.06), transparent 35%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.95))!important;
  box-shadow:0 18px 45px rgba(15,23,42,.06)!important;
  overflow:visible!important;
}

.elite-cita-services-pro-box .elite-pro-skills-head strong{
  font-size:15px!important;
  letter-spacing:-.025em;
}

.elite-cita-services-pro-box .elite-pro-skills-head p{
  margin-top:5px!important;
  max-width:560px!important;
}

.elite-cita-services-pro-box .elite-pro-skills-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  gap:10px!important;
}

.elite-cita-service-chip{
  min-height:48px!important;
  justify-content:flex-start!important;
}

.elite-cita-service-chip span{
  font-size:13px!important;
  line-height:1.15!important;
}

.elite-cita-service-chip:has(input:checked){
  background:#0f172a!important;
  color:#fff!important;
  border-color:#0f172a!important;
}

.elite-cita-services-pro-box.has-selection{
  border-color:rgba(15,23,42,.18)!important;
}

body:not(.modal-open):not(.drawer-open):not(.is-modal-open):not(.is-drawer-open) .modal-backdrop,
body:not(.modal-open):not(.drawer-open):not(.is-modal-open):not(.is-drawer-open) .drawer-backdrop,
body:not(.modal-open):not(.drawer-open):not(.is-modal-open):not(.is-drawer-open) .elite-backdrop,
body:not(.modal-open):not(.drawer-open):not(.is-modal-open):not(.is-drawer-open) .elite-modal-backdrop,
body:not(.modal-open):not(.drawer-open):not(.is-modal-open):not(.is-drawer-open) .elite-drawer-backdrop{
  pointer-events:none;
}

@media(max-width:760px){
  .elite-cita-services-pro-box{
    padding:13px!important;
    border-radius:20px!important;
  }

  .elite-cita-services-pro-box .elite-pro-skills-grid{
    grid-template-columns:1fr!important;
  }
}

/* FASE15A8_FIX_KEEPER_DRAWER_REAL */
body.elite-view-keepers .elite-keeper-side-drawer{
  z-index:100020!important;
  pointer-events:auto!important;
}

body.elite-view-keepers .elite-keeper-drawer-backdrop{
  z-index:100010!important;
}

body.elite-view-keepers .elite-keeper-side-drawer[hidden],
body.elite-view-keepers .elite-keeper-drawer-backdrop[hidden]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

body.elite-view-keepers .elite-keeper-side-drawer:not([hidden]){
  display:block!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

body.elite-view-keepers .elite-keeper-side-drawer:not([hidden]) input,
body.elite-view-keepers .elite-keeper-side-drawer:not([hidden]) select,
body.elite-view-keepers .elite-keeper-side-drawer:not([hidden]) textarea,
body.elite-view-keepers .elite-keeper-side-drawer:not([hidden]) button,
body.elite-view-keepers .elite-keeper-side-drawer:not([hidden]) label,
body.elite-view-keepers .elite-keeper-side-drawer:not([hidden]) .elite-pro-skill-chip{
  pointer-events:auto!important;
  position:relative;
  z-index:100021;
}

body.elite-view-keepers:not(.drawer-open):not(.is-drawer-open):not(.elite-drawer-open)
  .elite-keeper-drawer-backdrop[hidden]{
  display:none!important;
  pointer-events:none!important;
}

/* FASE15A9_KEEPER_SKILLS_BLUR_FINAL */
body.elite-view-keepers .elite-keeper-drawer-backdrop:not([hidden]),
body.elite-keeper-drawer-open .elite-keeper-drawer-backdrop{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  z-index:100010!important;
  background:rgba(15,23,42,.38)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}

body.elite-view-keepers .elite-keeper-side-drawer:not([hidden]),
body.elite-keeper-drawer-open .elite-keeper-side-drawer:not([hidden]){
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  z-index:100020!important;
}

body.elite-view-keepers .elite-keeper-side-drawer:not([hidden]) *,
body.elite-keeper-drawer-open .elite-keeper-side-drawer:not([hidden]) *{
  pointer-events:auto;
}

.elite-a9-native-skills-hidden{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

.elite-a9-native-skills-label-hidden{
  display:none!important;
}

.elite-a9-skills-panel{
  margin:8px 0 16px!important;
  padding:16px!important;
  border-radius:24px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:
    radial-gradient(circle at top left, rgba(15,23,42,.06), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96))!important;
  box-shadow:0 18px 45px rgba(15,23,42,.08)!important;
  position:relative!important;
  z-index:100030!important;
}

.elite-a9-skills-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.elite-a9-skills-head strong{
  display:block;
  font-size:15px;
  line-height:1.1;
  letter-spacing:-.025em;
  color:#0f172a;
  text-transform:none!important;
}

.elite-a9-skills-head p{
  margin:5px 0 0;
  max-width:520px;
  font-size:12px;
  line-height:1.35;
  color:#64748b;
}

.elite-a9-skills-head span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:#eef2ff;
  color:#475569;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}

.elite-a9-skill-group{
  margin-top:13px;
}

.elite-a9-skill-group:first-of-type{
  margin-top:0;
}

.elite-a9-skill-group-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#64748b;
}

.elite-a9-skill-group-title:after{
  content:"";
  height:1px;
  flex:1;
  background:rgba(15,23,42,.08);
}

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

.elite-a9-skill{
  appearance:none!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  min-height:48px!important;
  padding:10px 12px!important;
  border-radius:18px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:#fff!important;
  color:#0f172a!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
  text-transform:none!important;
  cursor:pointer!important;
  box-shadow:0 10px 24px rgba(15,23,42,.04)!important;
  position:relative!important;
  z-index:100031!important;
}

.elite-a9-skill:hover{
  transform:translateY(-1px);
  border-color:rgba(15,23,42,.24)!important;
}

.elite-a9-skill.is-selected{
  background:#0f172a!important;
  border-color:#0f172a!important;
  color:#fff!important;
}

.elite-a9-check{
  width:18px;
  height:18px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(15,23,42,.22);
  color:transparent;
  flex:0 0 auto;
  font-size:11px;
  line-height:1;
}

.elite-a9-skill.is-selected .elite-a9-check{
  background:#fff;
  border-color:#fff;
  color:#0f172a;
}

@media(max-width:760px){
  .elite-a9-skills-head{
    display:block;
  }

  .elite-a9-skills-head span{
    margin-top:9px;
  }

  .elite-a9-skill-grid{
    grid-template-columns:1fr;
  }
}

/* FASE15A10_SERVICIOS_CITA_A9_STYLE */
select.elite-a10-service-select-hidden{
  display:none!important;
  visibility:hidden!important;
  position:absolute!important;
  left:-99999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}

.elite-a10-services-panel{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:100%!important;
  margin:8px 0 16px!important;
  padding:16px!important;
  border-radius:24px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:
    radial-gradient(circle at top left, rgba(15,23,42,.06), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96))!important;
  box-shadow:0 18px 45px rgba(15,23,42,.08)!important;
  overflow:visible!important;
}

.elite-a10-services-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.elite-a10-services-head strong{
  display:block;
  font-size:15px;
  line-height:1.1;
  letter-spacing:-.025em;
  color:#0f172a;
  text-transform:none!important;
}

.elite-a10-services-head p{
  margin:5px 0 0;
  max-width:560px;
  font-size:12px;
  line-height:1.35;
  color:#64748b;
}

.elite-a10-services-head span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:#eef2ff;
  color:#475569;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}

.elite-a10-service-group{
  margin-top:13px;
}

.elite-a10-service-group:first-of-type{
  margin-top:0;
}

.elite-a10-service-group-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#64748b;
}

.elite-a10-service-group-title:after{
  content:"";
  height:1px;
  flex:1;
  background:rgba(15,23,42,.08);
}

.elite-a10-service-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

.elite-a10-service{
  appearance:none!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  min-height:48px!important;
  padding:10px 12px!important;
  border-radius:18px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:#fff!important;
  color:#0f172a!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
  text-transform:none!important;
  cursor:pointer!important;
  box-shadow:0 10px 24px rgba(15,23,42,.04)!important;
  position:relative!important;
  line-height:1.15!important;
}

.elite-a10-service:hover{
  transform:translateY(-1px);
  border-color:rgba(15,23,42,.24)!important;
}

.elite-a10-service.is-selected{
  background:#0f172a!important;
  border-color:#0f172a!important;
  color:#fff!important;
}

.elite-a10-check{
  width:18px;
  height:18px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(15,23,42,.22);
  color:transparent;
  flex:0 0 auto;
  font-size:11px;
  line-height:1;
}

.elite-a10-service.is-selected .elite-a10-check{
  background:#fff;
  border-color:#fff;
  color:#0f172a;
}

@media(max-width:760px){
  .elite-a10-services-head{
    display:block;
  }

  .elite-a10-services-head span{
    margin-top:9px;
  }

  .elite-a10-service-grid{
    grid-template-columns:1fr!important;
  }
}

/* FASE15A11_CONFIG_SERVICIOS_HEADERS */
/* H2 dentro de drawers/desplegables: evita títulos gigantes como "Crear cita sin pago" */
.elite-agenda-drawer .section-title h2,
.elite-agenda-drawer .admin-form-card .section-title h2,
.elite-keeper-side-drawer .section-title h2,
.elite-keeper-side-drawer h2,
.elite-drawer .section-title h2,
.elite-modal .section-title h2,
[role="dialog"] .section-title h2{
  font-size:20px!important;
  line-height:1.1!important;
  letter-spacing:-.025em!important;
  text-transform:none!important;
  margin:0 0 6px!important;
  font-weight:850!important;
}

.elite-agenda-drawer .section-title,
.elite-keeper-side-drawer .section-title,
.elite-drawer .section-title,
.elite-modal .section-title{
  padding-bottom:12px!important;
  margin-bottom:14px!important;
}

.elite-agenda-drawer .section-title .eyebrow,
.elite-keeper-side-drawer .section-title .eyebrow,
.elite-drawer .section-title .eyebrow,
.elite-modal .section-title .eyebrow{
  font-size:10px!important;
}

/* Configuración: Servicios activos estilo habilidades */
.elite-a11-original-service-hidden{
  display:none!important;
}

.elite-a11-config-services-panel,
.elite-a11-add-service-form{
  margin:8px 0 16px!important;
  padding:16px!important;
  border-radius:24px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:
    radial-gradient(circle at top left, rgba(15,23,42,.06), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96))!important;
  box-shadow:0 18px 45px rgba(15,23,42,.08)!important;
}

.elite-a11-services-head,
.elite-a11-add-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.elite-a11-services-head strong,
.elite-a11-add-head strong{
  display:block;
  font-size:15px;
  line-height:1.1;
  letter-spacing:-.025em;
  color:#0f172a;
  text-transform:none!important;
}

.elite-a11-services-head p,
.elite-a11-add-head p{
  margin:5px 0 0;
  max-width:560px;
  font-size:12px;
  line-height:1.35;
  color:#64748b;
}

.elite-a11-services-head span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:#eef2ff;
  color:#475569;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}

.elite-a11-service-group{
  margin-top:13px;
}

.elite-a11-service-group:first-of-type{
  margin-top:0;
}

.elite-a11-service-group-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#64748b;
}

.elite-a11-service-group-title:after{
  content:"";
  height:1px;
  flex:1;
  background:rgba(15,23,42,.08);
}

.elite-a11-service-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

.elite-a11-service{
  appearance:none!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  min-height:48px!important;
  padding:10px 12px!important;
  border-radius:18px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:#fff!important;
  color:#0f172a!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
  text-transform:none!important;
  cursor:pointer!important;
  box-shadow:0 10px 24px rgba(15,23,42,.04)!important;
  line-height:1.15!important;
}

.elite-a11-service:hover{
  transform:translateY(-1px);
  border-color:rgba(15,23,42,.24)!important;
}

.elite-a11-service.is-selected{
  background:#0f172a!important;
  border-color:#0f172a!important;
  color:#fff!important;
}

.elite-a11-check{
  width:18px;
  height:18px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(15,23,42,.22);
  color:transparent;
  flex:0 0 auto;
  font-size:11px;
  line-height:1;
}

.elite-a11-service.is-selected .elite-a11-check{
  background:#fff;
  border-color:#fff;
  color:#0f172a;
}

.elite-a11-add-grid{
  display:grid;
  grid-template-columns:1fr 180px auto;
  gap:10px;
  align-items:end;
}

.elite-a11-add-grid label{
  font-size:12px!important;
  font-weight:850!important;
  color:#334155!important;
}

.elite-a11-add-grid input,
.elite-a11-add-grid select{
  margin-top:7px!important;
  min-height:44px!important;
  border-radius:16px!important;
}

.elite-a11-save-services{
  margin-top:10px!important;
}

@media(max-width:760px){
  .elite-a11-services-head,
  .elite-a11-add-head{
    display:block;
  }

  .elite-a11-services-head span{
    margin-top:9px;
  }

  .elite-a11-service-grid,
  .elite-a11-add-grid{
    grid-template-columns:1fr!important;
  }
}

/* FASE15A12_CONFIG_SERVICIOS_PHP_REAL */
.elite-config-services-card{
  overflow:visible!important;
}

.elite-config-services-panel,
.elite-config-add-service-form{
  margin:8px 0 16px!important;
  padding:16px!important;
  border-radius:24px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:
    radial-gradient(circle at top left, rgba(15,23,42,.06), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96))!important;
  box-shadow:0 18px 45px rgba(15,23,42,.08)!important;
}

.elite-config-services-head,
.elite-config-add-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.elite-config-services-head strong,
.elite-config-add-head strong{
  display:block;
  font-size:15px;
  line-height:1.1;
  letter-spacing:-.025em;
  color:#0f172a;
  text-transform:none!important;
}

.elite-config-services-head p,
.elite-config-add-head p{
  margin:5px 0 0;
  max-width:560px;
  font-size:12px;
  line-height:1.35;
  color:#64748b;
}

.elite-config-services-head > span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:#eef2ff;
  color:#475569;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}

.elite-config-service-group{
  margin-top:13px;
}

.elite-config-service-group:first-of-type{
  margin-top:0;
}

.elite-config-service-group-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#64748b;
}

.elite-config-service-group-title:after{
  content:"";
  height:1px;
  flex:1;
  background:rgba(15,23,42,.08);
}

.elite-config-service-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

.elite-config-service-chip{
  position:relative!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  min-height:48px!important;
  padding:10px 12px!important;
  border-radius:18px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:#fff!important;
  color:#0f172a!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
  text-transform:none!important;
  cursor:pointer!important;
  box-shadow:0 10px 24px rgba(15,23,42,.04)!important;
  line-height:1.15!important;
  margin:0!important;
  overflow:hidden!important;
}

.elite-config-service-chip:hover{
  transform:translateY(-1px);
  border-color:rgba(15,23,42,.24)!important;
}

.elite-config-service-chip input{
  position:absolute!important;
  inset:0!important;
  opacity:0!important;
  cursor:pointer!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  z-index:2!important;
}

.elite-config-service-check{
  width:18px;
  height:18px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(15,23,42,.22);
  color:transparent;
  flex:0 0 auto;
  font-size:11px;
  line-height:1;
  position:relative;
  z-index:1;
}

.elite-config-service-chip > span:last-child{
  position:relative;
  z-index:1;
}

.elite-config-service-chip:has(input:checked){
  background:#0f172a!important;
  border-color:#0f172a!important;
  color:#fff!important;
}

.elite-config-service-chip:has(input:checked) .elite-config-service-check{
  background:#fff;
  border-color:#fff;
  color:#0f172a;
}

.elite-config-service-empty{
  grid-column:1/-1;
  min-height:44px;
  display:flex;
  align-items:center;
  padding:10px 12px;
  border-radius:16px;
  border:1px dashed rgba(15,23,42,.16);
  color:#64748b;
  font-size:12px;
  font-weight:800;
}

.elite-config-add-grid{
  display:grid;
  grid-template-columns:1fr 180px auto;
  gap:10px;
  align-items:end;
}

.elite-config-add-grid label{
  font-size:12px!important;
  font-weight:850!important;
  color:#334155!important;
}

.elite-config-add-grid input,
.elite-config-add-grid select{
  margin-top:7px!important;
  min-height:44px!important;
  border-radius:16px!important;
}

.elite-config-add-grid .btn{
  min-height:44px!important;
  white-space:nowrap;
}

@media(max-width:760px){
  .elite-config-services-head,
  .elite-config-add-head{
    display:block;
  }

  .elite-config-services-head > span{
    margin-top:9px;
  }

  .elite-config-service-grid,
  .elite-config-add-grid{
    grid-template-columns:1fr!important;
  }
}

/* FASE15A13_DELETE_SERVICE_DYNAMIC */
.elite-config-service-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:stretch;
  min-width:0;
}

.elite-config-service-item .elite-config-service-chip{
  min-width:0!important;
}

.elite-config-delete-service-form{
  margin:0!important;
  display:flex!important;
}

.elite-config-delete-service{
  appearance:none!important;
  min-height:48px!important;
  padding:0 12px!important;
  border-radius:16px!important;
  border:1px solid rgba(160,30,30,.16)!important;
  background:rgba(160,30,30,.06)!important;
  color:#8a1f1f!important;
  font-size:11px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  cursor:pointer!important;
}

.elite-config-delete-service:hover{
  background:rgba(160,30,30,.10)!important;
  transform:translateY(-1px);
}

select.elite-a13-service-select-hidden{
  display:none!important;
  visibility:hidden!important;
  position:absolute!important;
  left:-99999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}

.elite-a13-services-panel{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:100%!important;
}

.elite-a13-service span:last-child{
  min-width:0;
  overflow-wrap:anywhere;
}

@media(max-width:760px){
  .elite-config-service-item{
    grid-template-columns:1fr;
  }

  .elite-config-delete-service{
    width:100%!important;
  }
}

/* FASE15A14_TRASH_BUTTON_CONFIG */
.elite-delete-service-hidden-form{
  display:none!important;
}

.elite-config-service-item{
  display:grid!important;
  grid-template-columns:1fr 48px!important;
  gap:8px!important;
  align-items:stretch!important;
  min-width:0!important;
}

.elite-config-delete-service{
  width:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border-radius:16px!important;
  border:1px solid rgba(160,30,30,.20)!important;
  background:rgba(160,30,30,.08)!important;
  color:#a11e1e!important;
  cursor:pointer!important;
  box-shadow:0 10px 24px rgba(160,30,30,.06)!important;
}

.elite-config-delete-service svg{
  width:18px!important;
  height:18px!important;
  display:block!important;
}

.elite-config-delete-service:hover{
  background:#a11e1e!important;
  color:#fff!important;
  border-color:#a11e1e!important;
  transform:translateY(-1px);
}

@media(max-width:760px){
  .elite-config-service-item{
    grid-template-columns:1fr 48px!important;
  }
}

/* FASE15A15_ADMIN_PUSH_ENABLE */
.elite-admin-push-card{
  position:fixed!important;
  right:24px!important;
  top:24px!important;
  z-index:100050!important;
  width:min(360px, calc(100vw - 32px))!important;
  padding:14px!important;
  border-radius:22px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:
    radial-gradient(circle at top left, rgba(15,23,42,.08), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96))!important;
  box-shadow:0 22px 70px rgba(15,23,42,.14)!important;
  display:grid!important;
  gap:10px!important;
}

.elite-admin-push-card strong{
  display:block;
  color:#0f172a;
  font-size:14px;
  font-weight:950;
  letter-spacing:-.02em;
}

.elite-admin-push-card p{
  margin:4px 0 0!important;
  color:#64748b!important;
  font-size:12px!important;
  line-height:1.35!important;
}

.elite-admin-push-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}

.elite-admin-push-actions .btn{
  min-height:38px!important;
  padding:0 12px!important;
  font-size:10px!important;
}

.elite-admin-push-status{
  border-radius:14px;
  padding:9px 10px;
  background:rgba(15,23,42,.055);
  color:#64748b;
  font-size:11px;
  font-weight:850;
  line-height:1.3;
}

.elite-admin-push-status.is-ok{
  background:#e9f8ef;
  color:#116b33;
}

.elite-admin-push-status.is-warn{
  background:#fff6dc;
  color:#7a5600;
}

@media(max-width:760px){
  .elite-admin-push-card{
    top:12px!important;
    right:12px!important;
    left:12px!important;
    width:auto!important;
  }
}

/* FASE15A16_ADMIN_PUSH_INLINE_CONFIG */
.elite-admin-push-card{
  position:static!important;
  inset:auto!important;
  right:auto!important;
  top:auto!important;
  left:auto!important;
  bottom:auto!important;
  z-index:auto!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 18px!important;
  padding:18px!important;
  border-radius:24px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:
    radial-gradient(circle at top left, rgba(15,23,42,.06), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96))!important;
  box-shadow:0 18px 45px rgba(15,23,42,.08)!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:14px!important;
  align-items:center!important;
}

.elite-admin-push-card strong{
  display:block!important;
  color:#0f172a!important;
  font-size:16px!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
  text-transform:none!important;
}

.elite-admin-push-card p{
  margin:4px 0 0!important;
  color:#64748b!important;
  font-size:12px!important;
  line-height:1.35!important;
}

.elite-admin-push-actions{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
}

.elite-admin-push-actions .btn{
  min-height:40px!important;
  padding:0 14px!important;
  font-size:10px!important;
}

.elite-admin-push-status{
  grid-column:1 / -1!important;
  border-radius:14px!important;
  padding:10px 12px!important;
  background:rgba(15,23,42,.055)!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:850!important;
  line-height:1.3!important;
}

.elite-admin-push-status.is-ok{
  background:#e9f8ef!important;
  color:#116b33!important;
}

.elite-admin-push-status.is-warn{
  background:#fff6dc!important;
  color:#7a5600!important;
}

@media(max-width:760px){
  .elite-admin-push-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    margin:0 0 14px!important;
    padding:14px!important;
  }

  .elite-admin-push-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-content:stretch!important;
  }

  .elite-admin-push-actions .btn{
    width:100%!important;
  }
}

/* FASE15A17_FIX_MOBILE_MENU_SERVICES */

/* El push admin NO debe flotar ni tapar menú/clicks fuera de configuración */
body:not(.elite-view-configuracion) .elite-admin-push-card{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

.elite-admin-push-card{
  position:static!important;
  inset:auto!important;
  z-index:auto!important;
}

/* Evitar que backdrops viejos invisibles bloqueen clicks */
body:not(.elite-keeper-drawer-open):not(.elite-drawer-open) .elite-keeper-drawer-backdrop,
body:not(.elite-keeper-drawer-open):not(.elite-drawer-open) .elite-drawer-backdrop,
body:not(.elite-keeper-drawer-open):not(.elite-drawer-open) .elite-modal-backdrop,
body:not(.elite-keeper-drawer-open):not(.elite-drawer-open) .modal-backdrop{
  pointer-events:none!important;
}

/* Selector único limpio para servicios */
select.elite-f17-select-hidden{
  display:none!important;
  visibility:hidden!important;
  position:absolute!important;
  left:-99999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}

.elite-f17-services-panel{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:100%!important;
  margin:8px 0 16px!important;
  padding:16px!important;
  border-radius:24px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:
    radial-gradient(circle at top left, rgba(15,23,42,.06), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96))!important;
  box-shadow:0 18px 45px rgba(15,23,42,.08)!important;
  overflow:visible!important;
}

.elite-f17-services-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.elite-f17-services-head strong{
  display:block;
  font-size:15px;
  line-height:1.1;
  letter-spacing:-.025em;
  color:#0f172a;
  text-transform:none!important;
}

.elite-f17-services-head p{
  margin:5px 0 0;
  max-width:560px;
  font-size:12px;
  line-height:1.35;
  color:#64748b;
}

.elite-f17-services-head span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:#eef2ff;
  color:#475569;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}

.elite-f17-service-group{
  margin-top:13px;
}

.elite-f17-service-group:first-of-type{
  margin-top:0;
}

.elite-f17-service-group-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#64748b;
}

.elite-f17-service-group-title:after{
  content:"";
  height:1px;
  flex:1;
  background:rgba(15,23,42,.08);
}

.elite-f17-service-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

.elite-f17-service{
  appearance:none!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  min-height:48px!important;
  padding:10px 12px!important;
  border-radius:18px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:#fff!important;
  color:#0f172a!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
  text-transform:none!important;
  cursor:pointer!important;
  box-shadow:0 10px 24px rgba(15,23,42,.04)!important;
  position:relative!important;
  line-height:1.15!important;
}

.elite-f17-service:hover{
  transform:translateY(-1px);
  border-color:rgba(15,23,42,.24)!important;
}

.elite-f17-service.is-selected{
  background:#0f172a!important;
  border-color:#0f172a!important;
  color:#fff!important;
}

.elite-f17-check{
  width:18px;
  height:18px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(15,23,42,.22);
  color:transparent;
  flex:0 0 auto;
  font-size:11px;
  line-height:1;
}

.elite-f17-service.is-selected .elite-f17-check{
  background:#fff;
  border-color:#fff;
  color:#0f172a;
}

.elite-f17-service-warn{
  margin-top:10px;
  border-radius:14px;
  padding:10px 12px;
  background:#fff6dc;
  color:#7a5600;
  font-size:12px;
  font-weight:850;
}

@media(max-width:760px){
  .elite-f17-services-head{
    display:block;
  }

  .elite-f17-services-head span{
    margin-top:9px;
  }

  .elite-f17-service-grid{
    grid-template-columns:1fr!important;
  }
}


/* FASE15A18V2_CENTRAL_GUARD */
.elite-hidden-skill-textarea{
  position:absolute!important;
  left:-99999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}

.elite-service-checklist,
.elite-keeper-skill-checklist{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:100%!important;
  margin:8px 0 16px!important;
  padding:16px!important;
  border-radius:24px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96))!important;
  box-shadow:0 18px 45px rgba(15,23,42,.08)!important;
}

.elite-service-checklist-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  font-size:14px!important;
  font-weight:900!important;
  margin-bottom:6px!important;
}

.elite-service-checklist-count{
  display:inline-flex!important;
  min-height:28px!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  background:rgba(15,23,42,.07)!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}

.elite-service-checklist-help{
  margin:0 0 12px!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.35!important;
}

.elite-service-checklist-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

.elite-service-chip{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:48px!important;
  padding:12px 13px!important;
  border-radius:18px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:rgba(255,255,255,.78)!important;
  cursor:pointer!important;
  user-select:none!important;
}

.elite-service-chip input{
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:0!important;
  flex:0 0 auto!important;
}

.elite-service-chip span{
  font-weight:850!important;
  line-height:1.25!important;
  color:#0f172a!important;
}

.elite-service-chip:has(input:checked){
  border-color:rgba(184,148,85,.52)!important;
  background:rgba(255,248,232,.98)!important;
}

body .elite-main-sidebar{
  pointer-events:auto!important;
}

body:not(.elite-drawer-open):not(.elite-keeper-drawer-open) .elite-drawer-backdrop:not(.is-open),
body:not(.elite-drawer-open):not(.elite-keeper-drawer-open) .elite-keeper-drawer-backdrop:not(.is-open),
body:not(.elite-drawer-open):not(.elite-keeper-drawer-open) .client-agenda-drawer-backdrop:not(.is-open),
body:not(.elite-drawer-open):not(.elite-keeper-drawer-open) .modal-backdrop:not(.show),
body:not(.elite-drawer-open):not(.elite-keeper-drawer-open) .drawer-backdrop:not(.show){
  display:none!important;
  pointer-events:none!important;
  visibility:hidden!important;
  opacity:0!important;
}

@media(max-width:640px){
  .elite-service-checklist-grid{
    grid-template-columns:1fr!important;
  }

  .elite-service-checklist-title{
    display:grid!important;
  }
}


/* FASE15A19_SERVICE_PICKER_LAYOUT_CONFIG_STYLE */

/* El label original solo carga el select oculto; no debe ocupar columna junto al cliente */
.elite-service-source-label-15a19{
  display:none!important;
}

/* Nueva cita: tarjeta completa, fuera del grid de Cliente/Dirección/Ciudad */
.elite-service-picker-detached-15a19,
.elite-config-like-service-picker{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:100%!important;
  margin:14px 0 16px!important;
  padding:16px!important;
  border-radius:22px!important;
  border:1px solid rgba(17,17,17,.10)!important;
  background:rgba(255,253,248,.82)!important;
  box-shadow:none!important;
  overflow:visible!important;
  position:relative!important;
  z-index:2!important;
  pointer-events:auto!important;
}

/* Encabezado tipo configuración */
.elite-config-like-service-picker .elite-f17-services-head,
.elite-config-like-service-picker .elite-service-checklist-title{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding-bottom:12px!important;
  margin-bottom:12px!important;
  border-bottom:1px solid rgba(17,17,17,.10)!important;
}

.elite-config-like-service-picker .elite-f17-services-head strong,
.elite-config-like-service-picker .elite-service-checklist-title{
  font-size:14px!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  color:#111!important;
  text-transform:none!important;
}

.elite-config-like-service-picker .elite-f17-services-head p,
.elite-config-like-service-picker .elite-service-checklist-help{
  margin:4px 0 0!important;
  color:#6d6a63!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:700!important;
}

.elite-config-like-service-picker .elite-f17-services-head span,
.elite-config-like-service-picker .elite-service-checklist-count{
  background:rgba(14,37,53,.06)!important;
  color:#34322e!important;
  border-radius:999px!important;
  padding:7px 10px!important;
  min-height:28px!important;
  font-size:11px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}

/* Servicios como opciones tipo configuración */
.elite-config-like-service-picker .elite-f17-service-grid,
.elite-config-like-service-picker .elite-service-checklist-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:10px!important;
}

.elite-config-like-service-picker .elite-f17-service,
.elite-config-like-service-picker .elite-service-chip{
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  padding:12px 13px!important;
  border-radius:16px!important;
  border:1px solid rgba(17,17,17,.10)!important;
  background:rgba(255,255,255,.86)!important;
  color:#111!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  position:relative!important;
  z-index:3!important;
  box-shadow:none!important;
  transform:none!important;
  text-align:left!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.15!important;
  user-select:none!important;
}

.elite-config-like-service-picker .elite-f17-service:hover,
.elite-config-like-service-picker .elite-service-chip:hover{
  border-color:rgba(184,148,85,.55)!important;
  background:rgba(255,250,239,.96)!important;
}

.elite-config-like-service-picker .elite-f17-service.is-selected,
.elite-config-like-service-picker .elite-service-chip:has(input:checked){
  background:#111!important;
  border-color:#111!important;
  color:#fff!important;
}

.elite-config-like-service-picker .elite-f17-service.is-selected span,
.elite-config-like-service-picker .elite-service-chip:has(input:checked) span{
  color:#fff!important;
}

.elite-config-like-service-picker .elite-f17-check{
  width:18px!important;
  height:18px!important;
  border-radius:999px!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 18px!important;
  border:1px solid rgba(17,17,17,.25)!important;
}

.elite-config-like-service-picker .elite-f17-service.is-selected .elite-f17-check{
  background:#fff!important;
  color:#111!important;
  border-color:#fff!important;
}

/* Keepers crear/editar: misma tarjeta que servicios */
.elite-config-like-keeper-skills{
  margin-top:10px!important;
}

.elite-config-like-keeper-skills .elite-service-chip input{
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:0!important;
  flex:0 0 18px!important;
  accent-color:#111!important;
  pointer-events:auto!important;
}

@media(max-width:760px){
  .elite-config-like-service-picker{
    padding:14px!important;
    border-radius:20px!important;
  }

  .elite-config-like-service-picker .elite-f17-services-head,
  .elite-config-like-service-picker .elite-service-checklist-title{
    display:grid!important;
    gap:8px!important;
  }

  .elite-config-like-service-picker .elite-f17-service-grid,
  .elite-config-like-service-picker .elite-service-checklist-grid{
    grid-template-columns:1fr!important;
  }
}


/* FASE15A21_F17_SAFE_MULTISELECT */

/* Nueva cita: mantener 2 columnas, incluso donde FASE15A17 la bajaba a 1 columna */
.elite-f17-service-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

/* Keepers crear/editar: mismo esquema 2 columnas */
.elite-service-checklist,
.elite-keeper-skill-checklist{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:100%!important;
  margin:12px 0 16px!important;
  padding:16px!important;
  border-radius:24px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:
    radial-gradient(circle at top left, rgba(15,23,42,.06), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96))!important;
  box-shadow:0 18px 45px rgba(15,23,42,.08)!important;
  overflow:visible!important;
  position:relative!important;
  z-index:2!important;
}

.elite-service-checklist-title{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding-bottom:12px!important;
  margin:0 0 14px!important;
  border-bottom:1px solid rgba(15,23,42,.08)!important;
  font-size:15px!important;
  line-height:1.1!important;
  letter-spacing:-.025em!important;
  color:#0f172a!important;
  text-transform:none!important;
  font-weight:950!important;
}

.elite-service-checklist-help{
  margin:0 0 12px!important;
  max-width:560px!important;
  color:#64748b!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:750!important;
}

.elite-service-checklist-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

.elite-service-chip{
  width:100%!important;
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  padding:10px 12px!important;
  border-radius:18px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:#fff!important;
  color:#0f172a!important;
  box-shadow:0 10px 24px rgba(15,23,42,.04)!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  position:relative!important;
  z-index:3!important;
  text-align:left!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
  line-height:1.15!important;
  user-select:none!important;
}

.elite-service-chip:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(15,23,42,.24)!important;
}

.elite-service-chip input[type="checkbox"]{
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:0!important;
  flex:0 0 18px!important;
  accent-color:#0f172a!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}

.elite-service-chip:has(input:checked){
  background:#0f172a!important;
  border-color:#0f172a!important;
  color:#fff!important;
}

.elite-service-chip:has(input:checked) span{
  color:#fff!important;
}

/* En celulares muy angostos se permite 1 columna; en móvil normal siguen 2 */
@media(max-width:760px){
  .elite-f17-service-grid,
  .elite-service-checklist-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:420px){
  .elite-f17-service-grid,
  .elite-service-checklist-grid{
    grid-template-columns:1fr!important;
  }

  .elite-service-checklist-title{
    display:grid!important;
    gap:8px!important;
  }
}

/* FASE15A22_2COLS_ONLY_SAFE */
/* Nueva cita: servicios en 2 columnas */
.elite-f17-services-panel .elite-f17-service-grid,
.elite-f17-service-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

/* Keepers agregar/editar: habilidades en 2 columnas */
[data-elite-keeper-skills] .elite-service-checklist-grid,
.elite-keeper-skill-checklist .elite-service-checklist-grid,
.elite-service-checklist-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

/* Evita que los textos rompan las columnas */
.elite-f17-service,
.elite-service-chip{
  min-width:0!important;
  width:100%!important;
  white-space:normal!important;
  line-height:1.2!important;
}

/* Mantener 2 columnas también en móvil */
@media(max-width:760px){
  .elite-f17-services-panel .elite-f17-service-grid,
  .elite-f17-service-grid,
  [data-elite-keeper-skills] .elite-service-checklist-grid,
  .elite-keeper-skill-checklist .elite-service-checklist-grid,
  .elite-service-checklist-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .elite-f17-service,
  .elite-service-chip{
    font-size:12px!important;
    padding:10px 9px!important;
  }
}

/* Solo en pantallas exageradamente angostas permite 1 columna */
@media(max-width:340px){
  .elite-f17-services-panel .elite-f17-service-grid,
  .elite-f17-service-grid,
  [data-elite-keeper-skills] .elite-service-checklist-grid,
  .elite-keeper-skill-checklist .elite-service-checklist-grid,
  .elite-service-checklist-grid{
    grid-template-columns:1fr!important;
  }
}
/* FASE15A22_2COLS_ONLY_SAFE END */

/* FASE15A29_MENU_FINAL_CLEAN */
/*
 * Menú admin final consolidado.
 * Reemplaza sidebar viejo 11A3/11A4/11A5, logo 12F y ajustes móviles 15A23-15A28.
 */

html,
body{
  overscroll-behavior-x:none!important;
  -webkit-text-size-adjust:100%!important;
  text-size-adjust:100%!important;
}

body.admin-web-app{
  --admin-sidebar:224px;
}

/* Apagar menús viejos duplicados: el menú real es .elite-main-sidebar */
body.admin-web-app .elite-admin-menu,
body.admin-web-app .elite-admin-subnav,
body.admin-web-app .elite-primary-actions-old,
body.admin-web-app .elite-header-menu-duplicate,
body.admin-web-app .panel-header > .header-actions,
body.admin-web-app .keeper-top > .header-actions{
  display:none!important;
}

/* Desktop sidebar */
body.admin-web-app .elite-main-sidebar{
  display:none;
}

@media(min-width:980px){
  body.admin-web-app .elite-panel,
  body.admin-web-app main:not(.mobile-app),
  body.admin-web-app .notification-panel,
  body.admin-web-app .report-panel,
  body.admin-web-app .config-panel{
    width:min(1520px,100%)!important;
    padding-left:calc(var(--admin-sidebar) + 44px)!important;
    padding-right:28px!important;
  }

  body.admin-web-app .elite-main-sidebar{
    position:fixed!important;
    left:24px!important;
    top:24px!important;
    bottom:24px!important;
    width:var(--admin-sidebar)!important;
    z-index:9999!important;
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
    padding:24px 16px!important;
    border-radius:22px!important;
    background:#111!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.10)!important;
    overflow:auto!important;
  }

  body.admin-web-app .elite-main-sidebar-logo-img{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:58px!important;
    padding:6px 8px 22px!important;
    margin:0 0 14px!important;
    border-bottom:1px solid rgba(255,255,255,.13)!important;
    text-decoration:none!important;
    color:inherit!important;
  }

  body.admin-web-app .elite-main-sidebar-logo-img img{
    display:block!important;
    width:min(132px,88%)!important;
    max-height:54px!important;
    height:auto!important;
    object-fit:contain!important;
    filter:none!important;
  }

  body.admin-web-app .elite-main-sidebar-logo-img::before{
    display:none!important;
  }

  body.admin-web-app .elite-main-sidebar-section{
    display:block!important;
    color:rgba(255,255,255,.34)!important;
    font-size:9px!important;
    letter-spacing:.18em!important;
    text-transform:uppercase!important;
    padding:12px 12px 7px!important;
  }

  body.admin-web-app .elite-main-sidebar a{
    min-height:40px!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    padding:0 13px!important;
    border-radius:999px!important;
    color:rgba(255,255,255,.68)!important;
    text-decoration:none!important;
    text-transform:uppercase!important;
    letter-spacing:.075em!important;
    font-size:11px!important;
    border:1px solid transparent!important;
    white-space:nowrap!important;
  }

  body.admin-web-app .elite-main-sidebar a:hover{
    color:#fff!important;
    background:rgba(255,255,255,.08)!important;
  }

  body.admin-web-app .elite-main-sidebar a.is-active{
    color:#111!important;
    background:#fff!important;
  }

  body.admin-web-app .elite-main-sidebar a.is-danger{
    margin-top:auto!important;
    color:rgba(255,255,255,.75)!important;
    border-top:1px solid rgba(255,255,255,.12)!important;
  }
}

/* Mobile bottom nav final */
@media(max-width:760px){
  body.admin-web-app .elite-panel,
  body.admin-web-app main:not(.mobile-app),
  body.admin-web-app .notification-panel,
  body.admin-web-app .report-panel,
  body.admin-web-app .config-panel{
    padding:14px 14px 96px!important;
  }

  body.admin-web-app .elite-main-sidebar{
    position:fixed!important;
    left:6px!important;
    right:6px!important;
    bottom:calc(env(safe-area-inset-bottom,0px) + 3px)!important;
    top:auto!important;
    z-index:9999!important;

    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:9px!important;

    width:auto!important;
    max-width:calc(100vw - 12px)!important;
    height:52px!important;
    min-height:52px!important;
    padding:6px 7px 6px 15px!important;

    background:rgba(17,17,17,.96)!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:999px!important;

    overflow-x:hidden!important;
    overflow-y:hidden!important;
    overscroll-behavior:none!important;
    -webkit-overflow-scrolling:auto!important;
    scrollbar-width:none!important;
    touch-action:none!important;

    contain:layout paint!important;
    transform:translate3d(0,0,0)!important;
    will-change:transform!important;
  }

  body.admin-web-app .elite-main-sidebar::-webkit-scrollbar{
    display:none!important;
  }

  body.admin-web-app .elite-main-sidebar-section{
    display:none!important;
  }

  body.admin-web-app .elite-main-sidebar-logo-img{
    display:flex!important;
    flex:0 0 38px!important;
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    order:-1!important;
    padding:0!important;
    margin:0 11px 0 5px!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    text-decoration:none!important;
  }

  body.admin-web-app .elite-main-sidebar-logo-img img{
    display:none!important;
  }

  body.admin-web-app .elite-main-sidebar-logo-img::before{
    content:""!important;
    display:block!important;
    width:24px!important;
    height:24px!important;
    background-image:url("../../uploads/e-29.svg")!important;
    background-repeat:no-repeat!important;
    background-position:center!important;
    background-size:contain!important;
  }

  body.admin-web-app .elite-main-sidebar a:not(.elite-main-sidebar-logo-img){
    flex:0 0 auto!important;
    min-width:max-content!important;
    height:38px!important;
    min-height:38px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 13px!important;
    margin:0!important;
    border-radius:999px!important;
    color:rgba(255,255,255,.68)!important;
    text-decoration:none!important;
    text-transform:uppercase!important;
    letter-spacing:.075em!important;
    font-size:10px!important;
    white-space:nowrap!important;
    touch-action:manipulation!important;
    -webkit-user-select:none!important;
    user-select:none!important;
    -webkit-touch-callout:none!important;
  }

  body.admin-web-app .elite-main-sidebar a.is-active{
    background:#fff!important;
    color:#111!important;
  }

  body.admin-web-app .elite-main-sidebar a.is-danger{
    margin-top:0!important;
  }

  body.elite-mobile-menu-dragging-15a25,
  body.elite-mobile-menu-dragging-15a24,
  body.elite-mobile-menu-dragging-15a29{
    overflow:hidden!important;
    overscroll-behavior:none!important;
    touch-action:none!important;
  }
}
/* FASE15A29_MENU_FINAL_CLEAN END */


/* FASE15A34_MENU_SAFE_AREA_LOWER_FIX */
@media(max-width:760px){
  /*
   * El menú no bajaba más porque env(safe-area-inset-bottom)
   * en iPhone/PWA agrega demasiado espacio.
   * Restamos parte del safe-area, con mínimo de 6px.
   */
  body.admin-web-app .elite-main-sidebar{
    bottom:max(6px, calc(env(safe-area-inset-bottom, 0px) - 12px))!important;
  }

  /*
   * Neutraliza margen viejo de links del menú que venía de FASE 11B2.
   */
  body.admin-web-app .elite-main-sidebar a{
    margin-bottom:0!important;
  }
}
/* FASE15A34_MENU_SAFE_AREA_LOWER_FIX END */


/* FASE15A36_STRIPE_CONFIG_CARD */
.elite-stripe-config-card{
  grid-column:1/-1;
  padding:14px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
  display:grid;
  gap:8px;
}
.elite-stripe-config-card > div{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.elite-stripe-config-card strong{
  font-size:14px;
}
.elite-stripe-config-card span{
  display:inline-flex;
  padding:5px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
}
.elite-stripe-config-card span.is-ok{
  background:#dcfce7;
  color:#166534;
}
.elite-stripe-config-card span.is-off{
  background:#fee2e2;
  color:#991b1b;
}
.elite-stripe-config-card p{
  margin:0;
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.elite-stripe-config-card code{
  display:block;
  width:100%;
  overflow:auto;
  padding:10px 12px;
  border-radius:12px;
  background:#0f172a;
  color:#fff;
  font-size:12px;
}
.elite-stripe-config-card small{
  color:#64748b;
  font-weight:800;
}
/* FASE15A36_STRIPE_CONFIG_CARD END */

/* FASE15A38_STRIPE_PWA_MODAL */
.elite-stripe-inline-note{
  margin:8px 0 0;
  color:#64748b;
  font-size:12px;
  font-weight:800;
  text-align:center;
}
.elite-stripe-pwa-open{
  overflow:hidden!important;
}
.elite-stripe-pwa-modal[hidden]{
  display:none!important;
}
.elite-stripe-pwa-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:end center;
  padding:16px;
}
.elite-stripe-pwa-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.54);
  backdrop-filter:blur(8px);
}
.elite-stripe-pwa-sheet{
  position:relative;
  width:min(100%,560px);
  max-height:min(88vh,760px);
  overflow:auto;
  background:#fff;
  border-radius:28px;
  box-shadow:0 30px 90px rgba(0,0,0,.32);
  padding:16px;
}
.elite-stripe-pwa-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:12px;
}
.elite-stripe-pwa-head strong{
  display:block;
  font-size:18px;
  letter-spacing:-.03em;
}
.elite-stripe-pwa-head span{
  display:block;
  color:#64748b;
  font-size:12px;
  font-weight:800;
  margin-top:2px;
}
.elite-stripe-pwa-close{
  border:0;
  width:36px;
  height:36px;
  border-radius:999px;
  background:#f1f5f9;
  color:#0f172a;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.elite-stripe-pwa-status{
  padding:11px 13px;
  border-radius:16px;
  background:#f8fafc;
  color:#334155;
  font-size:13px;
  font-weight:800;
  margin-bottom:12px;
}
.elite-stripe-pwa-checkout{
  min-height:280px;
}
.elite-stripe-pwa-done{
  padding:18px;
  border-radius:20px;
  background:#ecfdf5;
  border:1px solid rgba(22,163,74,.16);
  display:grid;
  gap:10px;
}
.elite-stripe-pwa-done[hidden]{
  display:none!important;
}
.elite-stripe-pwa-done strong{
  color:#166534;
  font-size:18px;
}
.elite-stripe-pwa-done p{
  margin:0;
  color:#166534;
  font-weight:700;
}
@media(min-width:760px){
  .elite-stripe-pwa-modal{
    place-items:center;
  }
}
@media(max-width:520px){
  .elite-stripe-pwa-modal{
    padding:0;
  }
  .elite-stripe-pwa-sheet{
    border-radius:28px 28px 0 0;
    max-height:92vh;
  }
}
/* FASE15A38_STRIPE_PWA_MODAL END */

/* FASE15A46_PAYMENT_BADGE */
.elite-payment-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.elite-payment-pill.paid{
  background:#dcfce7;
  color:#166534;
}
.elite-payment-pill.pending{
  background:#fef3c7;
  color:#92400e;
}
.elite-payment-pill.off{
  background:#fee2e2;
  color:#991b1b;
}
/* FASE15A46_PAYMENT_BADGE END */

/* FASE15A50_VISIBLE_PAID_UI */
.elite-stripe-report-paid-card{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 0 14px;
  padding:14px;
  border-radius:22px;
  background:#ecfdf5;
  border:1px solid rgba(22,163,74,.18);
}
.elite-stripe-report-paid-card div{
  background:rgba(255,255,255,.75);
  border-radius:16px;
  padding:12px;
}
.elite-stripe-report-paid-card span{
  display:block;
  color:#166534;
  font-size:12px;
  font-weight:900;
}
.elite-stripe-report-paid-card strong{
  display:block;
  color:#052e16;
  font-size:24px;
  letter-spacing:-.04em;
  margin-top:4px;
}
.elite-stripe-report-paid-card small{
  grid-column:1/-1;
  color:#166534;
  font-weight:800;
}
.elite-payment-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.elite-payment-pill.paid{
  background:#dcfce7;
  color:#166534;
}
.elite-payment-pill.pending{
  background:#fef3c7;
  color:#92400e;
}
.elite-payment-pill.off{
  background:#fee2e2;
  color:#991b1b;
}
@media(max-width:720px){
  .elite-stripe-report-paid-card{
    grid-template-columns:1fr;
  }
}
/* FASE15A50_VISIBLE_PAID_UI END */


/* FASE15A57_CALENDAR_PAYMENT_BADGE_STABLE */
.elite-agenda-event{
  position:relative !important;
  overflow:hidden !important;
  padding-right:52px !important;
}

.elite-agenda-event .elite-event-payment-pill{
  position:absolute !important;
  right:4px !important;
  top:4px !important;
  z-index:4 !important;

  width:46px !important;
  min-width:46px !important;
  max-width:46px !important;

  height:14px !important;
  min-height:14px !important;
  max-height:14px !important;

  padding:0 4px !important;
  margin:0 !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:999px !important;
  font-size:7px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:-.03em !important;

  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:clip !important;

  box-shadow:none !important;
  pointer-events:none !important;
}

.elite-agenda-event .elite-event-payment-pill.is-paid{
  background:#dcfce7 !important;
  color:#166534 !important;
  border:1px solid rgba(22,101,52,.14) !important;
}

.elite-agenda-event .elite-event-payment-pill.is-unpaid{
  background:#f1f5f9 !important;
  color:#475569 !important;
  border:1px solid rgba(71,85,105,.14) !important;
}

.elite-agenda-event .elite-event-payment-pill.is-pending{
  background:#fef3c7 !important;
  color:#92400e !important;
  border:1px solid rgba(146,64,14,.14) !important;
}

.elite-agenda-event .elite-event-payment-pill.is-off{
  background:#fee2e2 !important;
  color:#991b1b !important;
  border:1px solid rgba(153,27,27,.14) !important;
}

@media(max-width:640px){
  .elite-agenda-event{
    padding-right:46px !important;
  }

  .elite-agenda-event .elite-event-payment-pill{
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    height:13px !important;
    min-height:13px !important;
    max-height:13px !important;
    font-size:6.5px !important;
    right:3px !important;
    top:3px !important;
  }
}
/* FASE15A57_CALENDAR_PAYMENT_BADGE_STABLE END */

/* FASE15A58_FULL_TEXT_BADGE */
.elite-agenda-event{
  padding-right:68px !important;
}

.elite-agenda-event .elite-event-payment-pill{
  width:62px !important;
  min-width:62px !important;
  max-width:62px !important;
  height:15px !important;
  min-height:15px !important;
  max-height:15px !important;
  font-size:7px !important;
  padding:0 5px !important;
}

@media(max-width:640px){
  .elite-agenda-event{
    padding-right:62px !important;
  }

  .elite-agenda-event .elite-event-payment-pill{
    width:56px !important;
    min-width:56px !important;
    max-width:56px !important;
    height:14px !important;
    min-height:14px !important;
    max-height:14px !important;
    font-size:6.5px !important;
    padding:0 4px !important;
  }
}
/* FASE15A58_FULL_TEXT_BADGE END */

/* FASE15A61_CALENDAR_KEEPER_BADGE */
.elite-agenda-event .elite-event-keeper-pill{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;

  width:100% !important;
  max-width:calc(100% - 6px) !important;
  min-height:16px !important;

  margin-top:3px !important;
  padding:3px 7px !important;

  border-radius:999px !important;
  font-size:9px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;

  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;

  pointer-events:none !important;
}

.elite-agenda-event .elite-event-keeper-pill.is-assigned{
  background:rgba(219,234,254,.92) !important;
  color:#1d4ed8 !important;
  border:1px solid rgba(29,78,216,.12) !important;
}

.elite-agenda-event .elite-event-keeper-pill.is-unassigned{
  background:rgba(241,245,249,.94) !important;
  color:#475569 !important;
  border:1px solid rgba(71,85,105,.12) !important;
}

@media(max-width:640px){
  .elite-agenda-event .elite-event-keeper-pill{
    min-height:14px !important;
    padding:2px 6px !important;
    font-size:8px !important;
    margin-top:2px !important;
  }
}
/* FASE15A61_CALENDAR_KEEPER_BADGE END */

/* FASE15A64_RESTORE_TOP_PAYMENT_KEEPER_BOTTOM */
.elite-agenda-event{
  position:relative !important;
  overflow:hidden !important;
  padding-right:68px !important;
}

/* Pago arriba a la derecha como estaba */
.elite-agenda-event .elite-event-payment-pill{
  position:absolute !important;
  right:4px !important;
  top:4px !important;
  z-index:5 !important;

  width:62px !important;
  min-width:62px !important;
  max-width:62px !important;

  height:15px !important;
  min-height:15px !important;
  max-height:15px !important;

  padding:0 5px !important;
  margin:0 !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:999px !important;
  font-size:7px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:-.03em !important;

  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:clip !important;

  box-shadow:none !important;
  pointer-events:none !important;
}

/* Nombre de Keeper abajo, sin pegarse al texto */
.elite-agenda-event .elite-event-keeper-pill{
  position:static !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;

  width:100% !important;
  max-width:100% !important;
  min-height:16px !important;

  margin-top:4px !important;
  padding:3px 7px !important;

  border-radius:999px !important;
  font-size:9px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;

  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;

  pointer-events:none !important;
  clear:both !important;
}

/* Fuerza que la Keeper caiga en otra línea visual */
.elite-agenda-event .elite-event-keeper-pill::before{
  content:"" !important;
}

.elite-agenda-event .elite-event-keeper-pill.is-assigned{
  background:rgba(219,234,254,.94) !important;
  color:#1d4ed8 !important;
  border:1px solid rgba(29,78,216,.14) !important;
}

.elite-agenda-event .elite-event-keeper-pill.is-unassigned{
  background:rgba(241,245,249,.94) !important;
  color:#475569 !important;
  border:1px solid rgba(71,85,105,.14) !important;
}

/* Evitar que el texto principal se meta debajo del badge de pago */
.elite-agenda-event strong,
.elite-agenda-event small{
  max-width:calc(100% - 66px) !important;
}

/* Estado normal sigue en flujo */
.elite-agenda-event > span:not(.elite-event-payment-pill):not(.elite-event-keeper-pill){
  display:inline-flex !important;
  width:max-content !important;
  margin-top:3px !important;
}

/* Móvil */
@media(max-width:640px){
  .elite-agenda-event{
    padding-right:60px !important;
  }

  .elite-agenda-event .elite-event-payment-pill{
    width:56px !important;
    min-width:56px !important;
    max-width:56px !important;
    height:14px !important;
    min-height:14px !important;
    max-height:14px !important;
    font-size:6.5px !important;
    padding:0 4px !important;
    right:3px !important;
    top:3px !important;
  }

  .elite-agenda-event strong,
  .elite-agenda-event small{
    max-width:calc(100% - 58px) !important;
  }

  .elite-agenda-event .elite-event-keeper-pill{
    min-height:14px !important;
    padding:2px 6px !important;
    font-size:8px !important;
    margin-top:3px !important;
  }
}
/* FASE15A64_RESTORE_TOP_PAYMENT_KEEPER_BOTTOM END */


/* FASE15A69_CITY_RENDER_RESET */
body.elite-view-agenda .elite-agenda-event small{
  opacity:1 !important;
  visibility:visible !important;
}
/* FASE15A69_CITY_RENDER_RESET END */



/* FASE15A73_CITY_CSS_NO_FLICKER */
/* Oculta el small original largo: ciudad · estado · fecha · hora */
body.elite-view-agenda .elite-agenda-event small{
  display:none !important;
}

/* El evento se acomoda en líneas limpias */
body.elite-view-agenda .elite-agenda-event{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  position:relative !important;
  overflow:hidden !important;
  gap:3px !important;
}

/* Título */
body.elite-view-agenda .elite-agenda-event strong{
  order:1 !important;
  display:block !important;
  width:100% !important;
  max-width:calc(100% - 66px) !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

/* Ciudad real desde atributo del evento, sin esperar JS */
body.elite-view-agenda .elite-agenda-event::before{
  content:attr(data-elite-city-name) !important;
  order:2 !important;
  display:block !important;
  width:100% !important;
  max-width:calc(100% - 66px) !important;

  color:inherit !important;
  opacity:.88 !important;

  font-size:11px !important;
  line-height:1.12 !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;

  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  pointer-events:none !important;
}

/* Estado abajo */
body.elite-view-agenda .elite-agenda-event > span:not(.elite-event-payment-pill):not(.elite-event-keeper-pill){
  order:3 !important;
  display:inline-flex !important;
  width:max-content !important;
  margin-top:2px !important;
}

/* Keeper abajo del estado */
body.elite-view-agenda .elite-agenda-event .elite-event-keeper-pill{
  order:4 !important;
}

/* Oculta cualquier ciudad que haya quedado creada por JS viejo */
body.elite-view-agenda .elite-agenda-event .elite-event-city-only{
  display:none !important;
}

/* Pago sigue arriba a la derecha */
body.elite-view-agenda .elite-agenda-event .elite-event-payment-pill{
  position:absolute !important;
  right:4px !important;
  top:4px !important;
  z-index:5 !important;
}

@media(max-width:640px){
  body.elite-view-agenda .elite-agenda-event strong,
  body.elite-view-agenda .elite-agenda-event::before{
    max-width:calc(100% - 58px) !important;
  }

  body.elite-view-agenda .elite-agenda-event::before{
    font-size:10px !important;
  }
}
/* FASE15A73_CITY_CSS_NO_FLICKER END */

/* FASE15A74_EVENT_WIDTH_FIX */
/* El evento debe tener espacio vertical para la etiqueta Pagada arriba */
body.elite-view-agenda .elite-agenda-event{
  padding-top:20px !important;
  padding-right:8px !important;
  min-height:86px !important;
  box-sizing:border-box !important;
}

/* Pago arriba, flotante, sin quitar ancho al título/ciudad */
body.elite-view-agenda .elite-agenda-event .elite-event-payment-pill{
  position:absolute !important;
  top:4px !important;
  right:4px !important;
  z-index:6 !important;
}

/* Título con ancho real */
body.elite-view-agenda .elite-agenda-event strong{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  display:block !important;
  box-sizing:border-box !important;

  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

/* Ciudad por CSS con ancho real */
body.elite-view-agenda .elite-agenda-event::before{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  display:block !important;
  box-sizing:border-box !important;

  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

/* Estado y Keeper abajo, sin empujar raro */
body.elite-view-agenda .elite-agenda-event > span:not(.elite-event-payment-pill):not(.elite-event-keeper-pill){
  max-width:100% !important;
}

body.elite-view-agenda .elite-agenda-event .elite-event-keeper-pill{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

/* En móvil menos alto pero con aire */
@media(max-width:640px){
  body.elite-view-agenda .elite-agenda-event{
    padding-top:18px !important;
    padding-right:6px !important;
    min-height:78px !important;
  }

  body.elite-view-agenda .elite-agenda-event strong,
  body.elite-view-agenda .elite-agenda-event::before{
    max-width:100% !important;
  }
}
/* FASE15A74_EVENT_WIDTH_FIX END */

/* FASE16A2D_EXTRA_HOUR_UI */
.elite-extra-hour-form{
  margin:12px 0 4px !important;
  padding:12px !important;
  border:1px solid rgba(15,23,42,.10) !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#ffffff,#f8fafc) !important;
  box-shadow:0 12px 30px rgba(15,23,42,.06) !important;
}

.elite-extra-hour-form button{
  margin:0 !important;
}

.elite-extra-hour-form small{
  display:block !important;
  margin-top:8px !important;
  color:#64748b !important;
  font-size:12px !important;
  line-height:1.25 !important;
}
/* FASE16A2D_EXTRA_HOUR_UI END */

/* FASE16A2E_EXTRA_HOUR_STATUS_UI */
.elite-extra-hour-status{
  margin:12px 0 4px !important;
  padding:12px !important;
  border-radius:18px !important;
  border:1px solid rgba(15,23,42,.10) !important;
  background:#f8fafc !important;
  display:grid !important;
  gap:3px !important;
}

.elite-extra-hour-status strong{
  font-size:13px !important;
  color:#0f172a !important;
}

.elite-extra-hour-status span{
  font-size:12px !important;
  color:#64748b !important;
  line-height:1.25 !important;
}

.elite-extra-hour-status.is-paid{
  background:#ecfdf5 !important;
  border-color:rgba(16,185,129,.25) !important;
}

.elite-extra-hour-status.is-paid strong{
  color:#047857 !important;
}

.elite-extra-hour-status.is-pending{
  background:#fff7ed !important;
  border-color:rgba(249,115,22,.25) !important;
}

.elite-extra-hour-status.is-pending strong{
  color:#c2410c !important;
}
/* FASE16A2E_EXTRA_HOUR_STATUS_UI END */

/* FASE16A3C_CLIENT_CANCEL_UI_CSS */
.elite-cancel-inline-form{
  margin:12px 0 4px !important;
  padding:12px !important;
  border-radius:18px !important;
  border:1px solid rgba(239,68,68,.16) !important;
  background:#fff7f7 !important;
  display:grid !important;
  gap:8px !important;
}

.elite-cancel-inline-form small{
  display:block !important;
  color:#991b1b !important;
  font-size:12px !important;
  line-height:1.25 !important;
}

.elite-cancel-inline-form .mini-btn.danger,
.mini-btn.danger{
  background:#111827 !important;
  color:#fff !important;
  border-color:#111827 !important;
}

.elite-cancel-inline-form.is-paid-cancel{
  background:#fff7ed !important;
  border-color:rgba(249,115,22,.25) !important;
}

.elite-cancel-status{
  margin:12px 0 4px !important;
  padding:12px !important;
  border-radius:18px !important;
  border:1px solid rgba(15,23,42,.10) !important;
  background:#f8fafc !important;
  display:grid !important;
  gap:3px !important;
}

.elite-cancel-status strong{
  font-size:13px !important;
  color:#0f172a !important;
}

.elite-cancel-status span{
  font-size:12px !important;
  color:#64748b !important;
  line-height:1.25 !important;
}

.elite-cancel-status.is-pending{
  background:#fff7ed !important;
  border-color:rgba(249,115,22,.25) !important;
}

.elite-cancel-status.is-pending strong{
  color:#c2410c !important;
}
/* FASE16A3C_CLIENT_CANCEL_UI_CSS END */

/* FASE16B_CLIENT_UI_REFRESH_START */
/*
  Cliente PWA refresh.
  Scope cerrado a body.client-app-page para no tocar admin, agenda, keepers ni clientes CRM.
*/

body.client-app-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(184,148,85,.18), transparent 34%),
    radial-gradient(circle at top right, rgba(17,17,17,.10), transparent 30%),
    linear-gradient(180deg, #faf7f0 0%, #f6f1e8 46%, #fffaf2 100%);
  color: #151515;
  overflow-x: hidden;
}

body.client-app-page .client-app {
  width: min(100%, 560px);
  margin: 0 auto;
  padding: 18px 16px calc(118px + env(safe-area-inset-bottom));
}

/* Header cliente */
body.client-app-page .keeper-top {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px;
  margin: 4px 0 14px;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.74)),
    radial-gradient(circle at 16% 0%, rgba(184,148,85,.20), transparent 42%);
  box-shadow: 0 18px 50px rgba(17,17,17,.08);
  overflow: hidden;
}

body.client-app-page .keeper-top::after {
  content: "";
  position: absolute;
  right: -46px;
  top: -54px;
  width: 140px;
  height: 140px;
  border-radius: 999px;
  background: rgba(184,148,85,.12);
  pointer-events: none;
}

body.client-app-page .avatar-circle {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  border-radius: 20px;
  background: #111;
  color: #fff;
  box-shadow: 0 14px 28px rgba(17,17,17,.18);
  font-size: 22px;
  font-weight: 900;
}

body.client-app-page .keeper-top .eyebrow {
  margin: 0 0 4px;
  color: rgba(17,17,17,.50);
  letter-spacing: .14em;
  font-size: 10px;
  font-weight: 900;
}

body.client-app-page .keeper-top h1 {
  margin: 0;
  font-size: clamp(24px, 7vw, 34px);
  line-height: .98;
  letter-spacing: -.04em;
  font-weight: 900;
}

/* Alertas */
body.client-app-page .alert {
  border: 0;
  border-radius: 18px;
  padding: 13px 14px;
  margin: 10px 0 12px;
  box-shadow: 0 12px 26px rgba(17,17,17,.07);
}

body.client-app-page .alert-ok {
  background: #ecfdf3;
  color: #14532d;
}

body.client-app-page .alert-error {
  background: #fff1f2;
  color: #991b1b;
}

/* Tabs cliente */
body.client-app-page .app-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  padding: 7px;
  margin: 0 0 14px;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 22px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 16px 40px rgba(17,17,17,.07);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

body.client-app-page .app-tab {
  min-height: 44px;
  border: 0;
  border-radius: 17px;
  background: transparent;
  color: rgba(17,17,17,.58);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: -.01em;
}

body.client-app-page .app-tab.active {
  background: #111;
  color: #fff;
  box-shadow: 0 10px 22px rgba(17,17,17,.18);
}

/* Paneles */
body.client-app-page .app-panel {
  display: none;
  animation: eliteClientFade16b .22s ease both;
}

body.client-app-page .app-panel.active {
  display: block;
}

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

/* Cards */
body.client-app-page .client-card,
body.client-app-page .appointment-card,
body.client-app-page .push-inline-card,
body.client-app-page .empty-state {
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 28px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 46px rgba(17,17,17,.075);
}

body.client-app-page .client-card {
  padding: 18px;
}

body.client-app-page .client-card > strong,
body.client-app-page .push-inline-card > strong,
body.client-app-page .empty-state > strong {
  display: block;
  font-size: 22px;
  line-height: 1;
  letter-spacing: -.04em;
  margin-bottom: 8px;
}

body.client-app-page .client-card > p,
body.client-app-page .push-inline-card > p,
body.client-app-page .empty-state > p {
  color: rgba(17,17,17,.58);
  line-height: 1.45;
  margin-top: 0;
}

/* Formularios cliente */
body.client-app-page .elite-form.stacked {
  gap: 13px;
}

body.client-app-page .elite-form label {
  display: grid;
  gap: 7px;
  color: rgba(17,17,17,.70);
  font-size: 12px;
  font-weight: 900;
}

body.client-app-page .elite-form input,
body.client-app-page .elite-form select,
body.client-app-page .elite-form textarea {
  width: 100%;
  border: 1px solid rgba(17,17,17,.10);
  border-radius: 18px;
  background: #fff;
  color: #111;
  min-height: 48px;
  padding: 12px 13px;
  font-size: 15px;
  font-weight: 700;
  box-shadow: inset 0 1px 0 rgba(17,17,17,.03);
}

body.client-app-page .elite-form textarea {
  min-height: 86px;
  resize: vertical;
}

body.client-app-page .elite-form input:focus,
body.client-app-page .elite-form select:focus,
body.client-app-page .elite-form textarea:focus {
  outline: 0;
  border-color: rgba(184,148,85,.70);
  box-shadow: 0 0 0 4px rgba(184,148,85,.14);
}

body.client-app-page .grid-2.compact {
  gap: 12px;
}

body.client-app-page .form-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 6px 0 0;
  color: rgba(17,17,17,.45);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.client-app-page .form-divider::before,
body.client-app-page .form-divider::after {
  content: "";
  height: 1px;
  flex: 1;
  background: rgba(17,17,17,.08);
}

/* Cotización */
body.client-app-page .quote-box {
  border: 1px solid rgba(184,148,85,.25);
  border-radius: 22px;
  padding: 16px;
  background:
    radial-gradient(circle at top right, rgba(184,148,85,.18), transparent 38%),
    #fffaf0;
  color: rgba(17,17,17,.74);
  font-weight: 800;
}

body.client-app-page .quote-box strong {
  display: block;
  color: #111;
  font-size: 24px;
  line-height: 1;
  letter-spacing: -.04em;
  margin-bottom: 5px;
}

body.client-app-page .quote-box span {
  display: block;
  color: rgba(17,17,17,.55);
  font-size: 13px;
}

/* Servicios multiselección generado por JS */
body.client-app-page .elite-f17-services-panel {
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 24px;
  padding: 14px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(17,17,17,.06);
}

body.client-app-page .elite-f17-services-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}

body.client-app-page .elite-f17-services-head strong {
  display: block;
  font-size: 17px;
  line-height: 1;
  letter-spacing: -.03em;
}

body.client-app-page .elite-f17-services-head p {
  margin: 5px 0 0;
  color: rgba(17,17,17,.54);
  font-size: 12px;
  line-height: 1.35;
}

body.client-app-page .elite-f17-services-head [data-f17-service-count] {
  white-space: nowrap;
  border-radius: 999px;
  padding: 7px 10px;
  background: #f5efe4;
  color: #7a5b25;
  font-size: 11px;
  font-weight: 900;
}

body.client-app-page .elite-f17-service-group-title {
  margin: 12px 0 8px;
  color: rgba(17,17,17,.46);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.client-app-page .elite-f17-service-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

body.client-app-page .elite-f17-service {
  min-height: 44px;
  border: 1px solid rgba(17,17,17,.09);
  border-radius: 16px;
  background: #fafafa;
  color: #171717;
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-start;
  padding: 10px;
  text-align: left;
  font-size: 12px;
  font-weight: 900;
}

body.client-app-page .elite-f17-service.is-selected {
  border-color: rgba(17,17,17,.85);
  background: #111;
  color: #fff;
}

body.client-app-page .elite-f17-check {
  width: 19px;
  height: 19px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 19px;
  background: rgba(255,255,255,.75);
  color: #111;
  font-size: 11px;
}

/* Maps */
body.client-app-page .map-picker-card {
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 24px;
  padding: 12px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(17,17,17,.06);
}

body.client-app-page .map-picker-head {
  margin-bottom: 10px;
}

body.client-app-page .map-picker-head strong {
  display: block;
  font-size: 16px;
  letter-spacing: -.02em;
}

body.client-app-page .map-picker-head span,
body.client-app-page .map-help,
body.client-app-page .map-detected-data {
  color: rgba(17,17,17,.55);
  font-size: 12px;
  line-height: 1.4;
}

body.client-app-page .map-canvas {
  min-height: 220px;
  border-radius: 20px;
  overflow: hidden;
  background: #eee7dc;
}

body.client-app-page .map-actions-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 10px;
}

/* Botones */
body.client-app-page .btn,
body.client-app-page .mini-btn {
  border-radius: 18px;
  min-height: 46px;
  font-weight: 900;
}

body.client-app-page .btn-dark {
  background: #111;
  color: #fff;
  box-shadow: 0 14px 26px rgba(17,17,17,.18);
}

body.client-app-page .btn-soft {
  background: rgba(255,255,255,.78);
  color: #111;
  border: 1px solid rgba(17,17,17,.08);
}

body.client-app-page .elite-stripe-inline-note {
  margin: 10px 0 0;
  padding: 12px 13px;
  border-radius: 16px;
  background: #f8f1e6;
  color: #76551d;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

/* Direcciones */
body.client-app-page .mini-list.address-list {
  display: grid;
  gap: 9px;
  margin: 14px 0;
}

body.client-app-page .mini-list.address-list span {
  display: block;
  padding: 12px 13px;
  border-radius: 17px;
  background: #fafafa;
  border: 1px solid rgba(17,17,17,.07);
  color: rgba(17,17,17,.70);
  font-size: 13px;
  font-weight: 800;
}

/* Historial */
body.client-app-page .appointment-list {
  display: grid;
  gap: 14px;
}

body.client-app-page .appointment-card {
  padding: 16px;
  overflow: hidden;
}

body.client-app-page .appointment-top {
  align-items: flex-start;
  gap: 12px;
}

body.client-app-page .appointment-top strong {
  display: block;
  font-size: 18px;
  line-height: 1.05;
  letter-spacing: -.03em;
}

body.client-app-page .appointment-top span:not(.status-pill) {
  color: rgba(17,17,17,.55);
  font-size: 12px;
  font-weight: 800;
}

body.client-app-page .status-pill {
  border-radius: 999px;
  padding: 8px 10px;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

body.client-app-page .status-pill.ok {
  background: #ecfdf3;
  color: #166534;
}

body.client-app-page .status-pill.off {
  background: #fff1f2;
  color: #991b1b;
}

body.client-app-page .appointment-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 10px;
}

body.client-app-page .appointment-meta span {
  border-radius: 999px;
  padding: 8px 10px;
  background: #f5f5f5;
  color: rgba(17,17,17,.68);
  font-size: 12px;
  font-weight: 900;
}

body.client-app-page .address-line {
  border-radius: 18px;
  padding: 12px;
  background: #fafafa;
  color: rgba(17,17,17,.62);
  font-size: 13px;
  line-height: 1.42;
}

body.client-app-page .appointment-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

body.client-app-page .appointment-footer strong {
  font-size: 20px;
  letter-spacing: -.03em;
  margin-right: auto;
}

body.client-app-page .appointment-footer > span {
  border-radius: 999px;
  padding: 8px 10px;
  background: #f5f5f5;
  color: rgba(17,17,17,.58);
  font-size: 11px;
  font-weight: 900;
}

body.client-app-page .elite-payment-pill.paid {
  background: #ecfdf3;
  color: #166534;
}

body.client-app-page .elite-payment-pill.pending {
  background: #fff7ed;
  color: #9a3412;
}

/* Hora extra / cancelación / solicitudes */
body.client-app-page .elite-extra-hour-status,
body.client-app-page .client-cancel-fee,
body.client-app-page .elite-cancel-status,
body.client-app-page .elite-extra-hour-form,
body.client-app-page .elite-cancel-inline-form {
  margin-top: 12px;
  border-radius: 20px;
  padding: 13px;
  border: 1px solid rgba(17,17,17,.08);
  background: #fafafa;
}

body.client-app-page .elite-extra-hour-status strong,
body.client-app-page .client-cancel-fee strong,
body.client-app-page .elite-cancel-status strong {
  display: block;
  font-size: 14px;
  margin-bottom: 3px;
}

body.client-app-page .elite-extra-hour-status span,
body.client-app-page .client-cancel-fee span,
body.client-app-page .elite-cancel-status span,
body.client-app-page .elite-extra-hour-form small,
body.client-app-page .elite-cancel-inline-form small {
  display: block;
  color: rgba(17,17,17,.55);
  font-size: 12px;
  line-height: 1.35;
}

body.client-app-page .elite-extra-hour-status.is-paid {
  background: #ecfdf3;
  color: #166534;
}

body.client-app-page .elite-extra-hour-status.is-pending,
body.client-app-page .elite-cancel-status.is-pending {
  background: #fff7ed;
  color: #9a3412;
}

body.client-app-page .client-cancel-fee,
body.client-app-page .client-cancelled-card {
  background: #fff7f7;
}

body.client-app-page .mini-btn.danger {
  background: #991b1b;
  color: #fff;
  border-color: #991b1b;
}

body.client-app-page .client-request-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}

body.client-app-page .client-request-pill {
  border-radius: 999px;
  padding: 8px 10px;
  background: #f5efe4;
  color: #76551d;
  font-size: 11px;
  font-weight: 900;
}

body.client-app-page .client-change-box {
  margin-top: 12px;
  border-radius: 18px;
  border: 1px solid rgba(17,17,17,.08);
  background: #fff;
  overflow: hidden;
}

body.client-app-page .client-change-box summary {
  padding: 13px;
  cursor: pointer;
  font-weight: 900;
}

/* Push card */
body.client-app-page .push-inline-card {
  padding: 16px;
  margin-top: 16px;
}

body.client-app-page .push-actions {
  display: grid;
  gap: 9px;
}

body.client-app-page .push-status {
  margin-top: 10px;
  border-radius: 16px;
  padding: 11px;
  background: #fafafa;
  color: rgba(17,17,17,.56);
  font-size: 12px;
  font-weight: 800;
}

/* Stripe modal */
body.client-app-page .elite-stripe-pwa-sheet {
  border-radius: 28px 28px 0 0;
  background: #fff;
}

body.client-app-page .elite-stripe-pwa-head {
  border-bottom: 1px solid rgba(17,17,17,.08);
}

body.client-app-page .elite-stripe-pwa-head strong {
  font-size: 19px;
  letter-spacing: -.03em;
}

body.client-app-page .elite-stripe-pwa-status {
  border-radius: 18px;
  background: #fffaf0;
  color: #76551d;
  font-weight: 900;
}

body.client-app-page .elite-stripe-pwa-done {
  border-radius: 22px;
  background: #ecfdf3;
  color: #14532d;
}

/* Mobile bottom tabs */
@media (max-width: 760px) {
  body.client-app-page .app-tabs {
    position: fixed;
    left: 14px;
    right: 14px;
    bottom: calc(12px + env(safe-area-inset-bottom));
    z-index: 9000;
    max-width: 520px;
    margin: 0 auto;
    background: rgba(17,17,17,.86);
    border-color: rgba(255,255,255,.10);
    box-shadow: 0 18px 42px rgba(17,17,17,.28);
  }

  body.client-app-page .app-tab {
    color: rgba(255,255,255,.62);
  }

  body.client-app-page .app-tab.active {
    background: #fff;
    color: #111;
  }

  body.client-app-page .grid-2.compact,
  body.client-app-page .map-actions-row {
    grid-template-columns: 1fr;
  }
}

/* Web/tablet */
@media (min-width: 761px) {
  body.client-app-page .client-app {
    width: min(100%, 680px);
    padding-top: 30px;
    padding-bottom: 70px;
  }

  body.client-app-page .client-card,
  body.client-app-page .appointment-card,
  body.client-app-page .push-inline-card {
    padding: 22px;
  }

  body.client-app-page .app-tabs {
    position: sticky;
    top: 14px;
    z-index: 20;
  }
}
/* FASE16B_CLIENT_UI_REFRESH_END */

/* FASE16B2_CLIENT_SETTINGS_UI_START */
body.client-app-page .app-tabs {
  grid-template-columns: repeat(4, 1fr);
}

body.client-app-page .app-tab {
  font-size: 12px;
  padding-inline: 5px;
}

body.client-app-page .client-settings-card {
  display: grid;
  gap: 14px;
}

body.client-app-page .client-settings-section {
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 24px;
  background: #fff;
  padding: 15px;
  box-shadow: 0 12px 30px rgba(17,17,17,.045);
}

body.client-app-page .client-settings-section > strong {
  display: block;
  font-size: 18px;
  line-height: 1;
  letter-spacing: -.035em;
  margin-bottom: 6px;
}

body.client-app-page .client-settings-section > p {
  margin: 0 0 12px;
  color: rgba(17,17,17,.56);
  font-size: 13px;
  line-height: 1.4;
}

body.client-app-page .client-settings-card .push-inline-card {
  margin-top: 0;
}

body.client-app-page .client-push-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

body.client-app-page .client-settings-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}

body.client-app-page .client-password-form {
  margin-top: 0;
}

body.client-app-page .client-password-form input[type="password"] {
  letter-spacing: .08em;
}

body.client-app-page .push-status {
  margin-top: 10px;
}

@media (max-width: 380px) {
  body.client-app-page .app-tab {
    font-size: 11px;
  }

  body.client-app-page .client-push-toggle {
    grid-template-columns: 1fr;
  }
}
/* FASE16B2_CLIENT_SETTINGS_UI_END */

/* FASE16B3_CLIENT_NOTIFICATIONS_UI_START */
body.client-app-page .client-notification-history {
  margin-top: 12px;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 20px;
  background: #fafafa;
  overflow: hidden;
}

body.client-app-page .client-notification-history summary {
  list-style: none;
  cursor: pointer;
  padding: 13px;
  font-weight: 900;
  color: #111;
}

body.client-app-page .client-notification-history summary::-webkit-details-marker {
  display: none;
}

body.client-app-page .client-notification-history summary::after {
  content: "⌄";
  float: right;
  opacity: .55;
}

body.client-app-page .client-notification-history[open] summary::after {
  content: "⌃";
}

body.client-app-page .client-notification-list {
  display: grid;
  gap: 9px;
  padding: 0 12px 12px;
}

body.client-app-page .client-notification-item {
  border: 1px solid rgba(17,17,17,.07);
  border-radius: 16px;
  background: #fff;
  padding: 12px;
}

body.client-app-page .client-notification-item strong {
  display: block;
  font-size: 14px;
  line-height: 1.1;
  margin-bottom: 5px;
}

body.client-app-page .client-notification-item p {
  margin: 0;
  color: rgba(17,17,17,.58);
  font-size: 12px;
  line-height: 1.35;
}

body.client-app-page .client-notification-item span,
body.client-app-page .client-empty-notifications {
  display: block;
  margin-top: 7px;
  color: rgba(17,17,17,.42);
  font-size: 11px;
  font-weight: 800;
}

body.client-app-page .client-settings-actions {
  grid-template-columns: 1fr;
}
/* FASE16B3_CLIENT_NOTIFICATIONS_UI_END */

/* FASE16B4_STRIPE_MODAL_PERFORMANCE_START */
/*
  Modo ligero para Stripe Embedded Checkout en PWA instalada.
  Evita lag en inputs de tarjeta causado por blur, sombras, animaciones,
  fixed tabs y repintados caros detrás del iframe de Stripe.
*/

body.client-app-page.elite-stripe-modal-open {
  overflow: hidden !important;
  background: #fff !important;
}

/* Apagar UI pesada detrás del pago */
body.client-app-page.elite-stripe-modal-open .client-app > *:not(.elite-stripe-pwa-modal) {
  animation: none !important;
  transition: none !important;
}

body.client-app-page.elite-stripe-modal-open .app-tabs {
  display: none !important;
}

body.client-app-page.elite-stripe-modal-open .keeper-top,
body.client-app-page.elite-stripe-modal-open .client-card,
body.client-app-page.elite-stripe-modal-open .appointment-card,
body.client-app-page.elite-stripe-modal-open .push-inline-card {
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Modal Stripe ultra simple */
body.client-app-page .elite-stripe-pwa-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  background: #fff !important;
  overflow: hidden !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
  contain: layout paint style;
}

body.client-app-page .elite-stripe-pwa-modal[hidden] {
  display: none !important;
}

body.client-app-page .elite-stripe-pwa-backdrop {
  display: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: transparent !important;
}

body.client-app-page .elite-stripe-pwa-sheet {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  margin: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: #fff !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
  will-change: auto !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  -webkit-overflow-scrolling: touch;
  contain: layout paint;
}

body.client-app-page .elite-stripe-pwa-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 3 !important;
  min-height: 58px !important;
  padding: calc(10px + env(safe-area-inset-top)) 14px 10px !important;
  background: #fff !important;
  border-bottom: 1px solid rgba(17,17,17,.08) !important;
  box-shadow: none !important;
}

body.client-app-page .elite-stripe-pwa-close {
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  background: #f4f4f4 !important;
  color: #111 !important;
}

body.client-app-page .elite-stripe-pwa-status {
  margin: 10px 12px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  animation: none !important;
  background: #fff7ed !important;
  color: #9a3412 !important;
}

body.client-app-page .elite-stripe-pwa-checkout {
  width: 100% !important;
  min-height: calc(100dvh - 104px - env(safe-area-inset-top)) !important;
  padding: 0 10px calc(18px + env(safe-area-inset-bottom)) !important;
  overflow: visible !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
  contain: none !important;
}

/* No aplicar efectos sobre los iframes de Stripe */
body.client-app-page .elite-stripe-pwa-checkout iframe,
body.client-app-page .elite-stripe-pwa-modal iframe {
  transform: none !important;
  filter: none !important;
  will-change: auto !important;
  opacity: 1 !important;
}

/* Pantalla de éxito simple */
body.client-app-page .elite-stripe-pwa-done {
  margin: 14px !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  animation: none !important;
}

/* En móvil instalado, evitar layouts caros mientras está abierto */
@media (max-width: 760px) {
  body.client-app-page.elite-stripe-modal-open .elite-stripe-pwa-sheet {
    height: 100dvh !important;
    max-height: 100dvh !important;
  }

  body.client-app-page.elite-stripe-modal-open .elite-stripe-pwa-checkout {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}
/* FASE16B4_STRIPE_MODAL_PERFORMANCE_END */

/* FASE16B8_CLIENT_VIEWPORT_SCROLL_FIX_START */
/*
  Fix móvil cliente:
  - elimina scroll horizontal
  - compacta textos/botones
  - evita cards/divs fuera del viewport
  - corrige grids y tabs para PWA instalada
*/

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

body.client-app-page {
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden !important;
  overscroll-behavior-x: none;
  touch-action: pan-y;
}

body.client-app-page * {
  box-sizing: border-box;
}

body.client-app-page .client-app,
body.client-app-page main.client-app,
body.client-app-page .mobile-app {
  width: 100% !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

body.client-app-page .app-panel,
body.client-app-page .client-card,
body.client-app-page .appointment-card,
body.client-app-page .push-inline-card,
body.client-app-page .client-settings-card,
body.client-app-page .client-settings-section,
body.client-app-page .map-picker-card,
body.client-app-page .elite-f17-services-panel,
body.client-app-page .quote-box,
body.client-app-page .address-line,
body.client-app-page .client-change-box,
body.client-app-page details,
body.client-app-page form {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

body.client-app-page img,
body.client-app-page iframe,
body.client-app-page canvas,
body.client-app-page video,
body.client-app-page svg {
  max-width: 100% !important;
}

/* Evitar que textos largos empujen el ancho */
body.client-app-page p,
body.client-app-page span,
body.client-app-page strong,
body.client-app-page label,
body.client-app-page summary,
body.client-app-page button,
body.client-app-page a,
body.client-app-page input,
body.client-app-page select,
body.client-app-page textarea {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Inputs/selects nunca deben crecer más que la pantalla */
body.client-app-page .elite-form input,
body.client-app-page .elite-form select,
body.client-app-page .elite-form textarea,
body.client-app-page input,
body.client-app-page select,
body.client-app-page textarea {
  max-width: 100% !important;
  min-width: 0 !important;
  font-size: 14px;
}

/* Header más compacto */
body.client-app-page .keeper-top {
  width: 100%;
  max-width: 100%;
  padding: 15px;
  gap: 11px;
  border-radius: 22px;
}

body.client-app-page .avatar-circle {
  width: 48px;
  height: 48px;
  flex-basis: 48px;
  border-radius: 17px;
  font-size: 19px;
}

body.client-app-page .keeper-top h1 {
  font-size: clamp(21px, 6vw, 28px);
  line-height: 1;
}

body.client-app-page .keeper-top .eyebrow {
  font-size: 9px;
}

/* Cards más compactas */
body.client-app-page .client-card,
body.client-app-page .appointment-card,
body.client-app-page .push-inline-card,
body.client-app-page .empty-state {
  border-radius: 22px;
}

body.client-app-page .client-card {
  padding: 15px;
}

body.client-app-page .client-card > strong,
body.client-app-page .push-inline-card > strong,
body.client-app-page .empty-state > strong {
  font-size: 19px;
  letter-spacing: -.035em;
}

body.client-app-page .client-card > p,
body.client-app-page .push-inline-card > p,
body.client-app-page .empty-state > p {
  font-size: 13px;
}

/* Tabs inferiores compactos sin scroll horizontal */
@media (max-width: 760px) {
  body.client-app-page .client-app {
    padding-left: 12px !important;
    padding-right: 12px !important;
    padding-bottom: calc(104px + env(safe-area-inset-bottom)) !important;
  }

  body.client-app-page .app-tabs {
    left: 10px !important;
    right: 10px !important;
    bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: calc(100vw - 20px) !important;
    min-width: 0 !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 5px !important;
    padding: 6px !important;
    border-radius: 20px !important;
    overflow: hidden !important;
  }

  body.client-app-page .app-tab {
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 7px 3px !important;
    font-size: 10.5px !important;
    line-height: 1.05 !important;
    border-radius: 15px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

/* Formularios compactos */
body.client-app-page .elite-form.stacked {
  gap: 11px;
}

body.client-app-page .elite-form label {
  font-size: 11px;
  gap: 6px;
}

body.client-app-page .elite-form input,
body.client-app-page .elite-form select,
body.client-app-page .elite-form textarea {
  min-height: 44px;
  border-radius: 15px;
  padding: 10px 11px;
}

body.client-app-page .elite-form textarea {
  min-height: 74px;
}

body.client-app-page .grid-2.compact {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

/* Servicios: evitar que el grid se salga */
body.client-app-page .elite-f17-services-panel {
  padding: 12px;
  border-radius: 20px;
}

body.client-app-page .elite-f17-services-head {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

body.client-app-page .elite-f17-services-head strong {
  font-size: 15px;
}

body.client-app-page .elite-f17-services-head p {
  font-size: 11px;
}

body.client-app-page .elite-f17-services-head [data-f17-service-count] {
  justify-self: start;
  font-size: 10px;
  padding: 6px 9px;
}

body.client-app-page .elite-f17-service-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  width: 100%;
  max-width: 100%;
}

body.client-app-page .elite-f17-service {
  min-width: 0 !important;
  width: 100%;
  min-height: 40px;
  padding: 8px;
  border-radius: 14px;
  font-size: 10.8px;
  line-height: 1.12;
  overflow: hidden;
}

body.client-app-page .elite-f17-check {
  width: 17px;
  height: 17px;
  flex-basis: 17px;
  font-size: 10px;
}

@media (max-width: 360px) {
  body.client-app-page .elite-f17-service-grid {
    grid-template-columns: 1fr !important;
  }

  body.client-app-page .elite-f17-service {
    font-size: 11px;
  }
}

/* Mapa compacto y sin provocar ancho extra */
body.client-app-page .map-picker-card {
  padding: 10px;
  border-radius: 20px;
}

body.client-app-page .map-canvas {
  width: 100% !important;
  min-height: 190px;
  max-width: 100% !important;
  border-radius: 17px;
}

body.client-app-page .map-actions-row {
  grid-template-columns: 1fr !important;
  gap: 8px;
}

body.client-app-page .map-picker-head strong {
  font-size: 14px;
}

body.client-app-page .map-picker-head span,
body.client-app-page .map-help,
body.client-app-page .map-detected-data {
  font-size: 11px;
}

/* Google Autocomplete / Places: que no se vaya fuera de pantalla */
.pac-container,
.gm-style .pac-container {
  max-width: calc(100vw - 24px) !important;
  min-width: 0 !important;
  z-index: 999999 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

.pac-item {
  white-space: normal !important;
  line-height: 1.25 !important;
  padding: 9px 10px !important;
}

/* Historial compacto */
body.client-app-page .appointment-list {
  gap: 12px;
}

body.client-app-page .appointment-card {
  padding: 14px;
}

body.client-app-page .appointment-top {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}

body.client-app-page .appointment-top strong {
  font-size: 16px;
}

body.client-app-page .status-pill {
  justify-self: start;
  font-size: 10px;
  padding: 7px 9px;
}

body.client-app-page .appointment-meta {
  gap: 6px;
}

body.client-app-page .appointment-meta span,
body.client-app-page .appointment-footer > span {
  font-size: 10.5px;
  padding: 7px 8px;
}

body.client-app-page .appointment-footer strong {
  font-size: 17px;
  width: 100%;
  margin-right: 0;
}

body.client-app-page .address-line {
  font-size: 12px;
  padding: 10px;
}

/* Configuración compacta */
body.client-app-page .client-settings-section {
  padding: 13px;
  border-radius: 20px;
}

body.client-app-page .client-settings-section > strong {
  font-size: 16px;
}

body.client-app-page .client-settings-section > p {
  font-size: 12px;
}

body.client-app-page .client-push-toggle {
  grid-template-columns: 1fr !important;
}

/* Botones compactos */
body.client-app-page .btn,
body.client-app-page .mini-btn {
  min-height: 42px;
  border-radius: 15px;
  font-size: 13px;
  padding-left: 10px;
  padding-right: 10px;
}

/* Quitar cualquier desplazamiento lateral accidental */
body.client-app-page .elite-stripe-pwa-modal[hidden] {
  display: none !important;
}

body.client-app-page:not(.elite-stripe-modal-open) {
  overflow-y: auto !important;
}

/* Si el modal está oculto, no debe bloquear pantalla */
body.client-app-page .elite-stripe-pwa-modal[aria-hidden="true"] {
  pointer-events: none !important;
}
/* FASE16B8_CLIENT_VIEWPORT_SCROLL_FIX_END */

/* FASE16B9_CLIENT_DATE_MAP_INPUT_FIX_START */
/*
  Fix puntual cliente móvil:
  - input date no se sale del div
  - input Google Maps / Places no se come el card
  - autocomplete queda dentro del viewport
*/

body.client-app-page input[type="date"],
body.client-app-page .elite-form input[type="date"] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
  -webkit-appearance: none;
  appearance: none;
  padding-left: 10px !important;
  padding-right: 10px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
}

body.client-app-page label:has(input[type="date"]) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

/* Campo original de dirección */
body.client-app-page input[data-map-address],
body.client-app-page .elite-form input[data-map-address],
body.client-app-page input.pac-target-input {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
  font-size: 13px !important;
  overflow: hidden !important;
}

/* Google Places nuevo: custom element */
body.client-app-page gmp-place-autocomplete,
body.client-app-page .gmp-place-autocomplete,
body.client-app-page [data-map-picker] gmp-place-autocomplete,
body.client-app-page .map-picker-card gmp-place-autocomplete {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Contenedores donde Google inserta el autocomplete */
body.client-app-page .map-picker-card,
body.client-app-page .map-auto-fields,
body.client-app-page label:has(input[data-map-address]),
body.client-app-page label:has(gmp-place-autocomplete) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}
/* iOS / PWA: evita zoom y overflow por controles nativos */
@media (max-width: 760px) {
  body.client-app-page input[type="date"],
  body.client-app-page input[data-map-address],
  body.client-app-page input.pac-target-input {
    font-size: 16px !important;
    min-height: 42px !important;
    border-radius: 14px !important;
  }

  body.client-app-page .elite-form label {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
}
/* FASE16B9_CLIENT_DATE_MAP_INPUT_FIX_END */

/* FASE16B10_CLIENT_ADDRESS_SEARCH_INPUT_FIX_START */
/*
  Fix final solo para el campo "Busca tu dirección".
  Google Places puede inyectar elementos con ancho propio; aquí se encierra al viewport.
*/

body.client-app-page .client-address-search-label {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.client-app-page .client-address-search-label > input,
body.client-app-page .client-address-search-label input[data-map-address],
body.client-app-page .client-address-search-label input.pac-target-input {
  display: block !important;
  width: 100% !important;
  inline-size: 100% !important;
  max-width: 100% !important;
  max-inline-size: 100% !important;
  min-width: 0 !important;
  min-inline-size: 0 !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
}

/* Google nuevo puede meter web component */
body.client-app-page .client-address-search-label gmp-place-autocomplete,
body.client-app-page .client-address-search-label .gmp-place-autocomplete,
body.client-app-page .client-address-search-label [class*="place-autocomplete"],
body.client-app-page .client-address-search-label [class*="PlaceAutocomplete"] {
  display: block !important;
  width: 100% !important;
  inline-size: 100% !important;
  max-width: 100% !important;
  max-inline-size: 100% !important;
  min-width: 0 !important;
  min-inline-size: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Por si Google deja un wrapper hermano dentro del label */
body.client-app-page .client-address-search-label > * {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Mobile: fuente 16 evita zoom iOS/PWA y mantiene ancho real */
@media (max-width: 760px) {
  body.client-app-page .client-address-search-label,
  body.client-app-page .client-address-search-label > *,
  body.client-app-page .client-address-search-label input {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.client-app-page .client-address-search-label input[data-map-address],
  body.client-app-page .client-address-search-label input.pac-target-input {
    font-size: 16px !important;
    min-height: 42px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}
/* FASE16B10_CLIENT_ADDRESS_SEARCH_INPUT_FIX_END */

/* FASE16B17_MAPS_WEB_NATIVE_MOBILE_SHEET_START */
/*
  Web: Google Autocomplete nativo libre.
  Móvil/PWA: buscador de dirección en sheet seguro para evitar notch/teclado.
*/

body.client-app-page .client-address-search-label {
  overflow: visible !important;
}

body.client-app-page input[data-map-address],
body.client-app-page input.pac-target-input {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* No mover top/left del popup nativo en web */
.pac-container {
  z-index: 2147483647 !important;
}

.elite-mobile-address-sheet {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: none;
  background: rgba(17,17,17,.38);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.elite-mobile-address-sheet.is-open {
  display: block;
}

.elite-mobile-address-panel {
  position: absolute;
  left: 10px;
  right: 10px;
  top: calc(12px + env(safe-area-inset-top));
  max-height: calc(100dvh - 24px - env(safe-area-inset-top));
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0,0,0,.25);
  padding: 14px;
  overflow: visible;
}

.elite-mobile-address-head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}

.elite-mobile-address-close {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 0;
  background: #f3f3f3;
  color: #111;
  font-size: 22px;
  font-weight: 900;
}

.elite-mobile-address-title {
  min-width: 0;
}

.elite-mobile-address-title strong {
  display: block;
  font-size: 15px;
  line-height: 1.1;
  color: #111;
}

.elite-mobile-address-title span {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.2;
  color: rgba(17,17,17,.58);
  font-weight: 700;
}

.elite-mobile-address-input {
  width: 100%;
  min-height: 48px;
  border-radius: 16px;
  border: 1px solid rgba(17,17,17,.12);
  background: #fff;
  color: #111;
  font-size: 16px;
  font-weight: 800;
  padding: 0 13px;
  outline: none;
  box-sizing: border-box;
}

.elite-mobile-address-input:focus {
  border-color: rgba(17,17,17,.34);
  box-shadow: 0 0 0 4px rgba(17,17,17,.06);
}

.elite-mobile-address-help {
  margin-top: 10px;
  color: rgba(17,17,17,.55);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 800;
}

body.elite-mobile-address-sheet-open {
  overflow: hidden !important;
}

body.elite-mobile-address-sheet-open .app-tabs {
  display: none !important;
}

/* En móvil, el popup nativo de Google debe quedar sobre el panel, no bajo notch */
@media (max-width: 760px) {
  body.elite-mobile-address-sheet-open .pac-container {
    z-index: 2147483647 !important;
    max-width: calc(100vw - 24px) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 48px rgba(17,17,17,.24) !important;
    overflow: hidden !important;
  }

  body.client-app-page input[data-map-address] {
    cursor: pointer;
  }
}
/* FASE16B17_MAPS_WEB_NATIVE_MOBILE_SHEET_END */
/* FASE16B18_FIX_MOBILE_GOOGLE_PAC_POSITION_START */
/*
  Fix final para sugerencias Google Places en móvil/PWA.
  Solo actúa cuando está abierto el sheet móvil de dirección.
*/

body.elite-mobile-address-sheet-open {
  overflow: hidden !important;
}

/* El panel queda fijo arriba y estable */
body.elite-mobile-address-sheet-open .elite-mobile-address-panel {
  top: calc(12px + env(safe-area-inset-top, 0px)) !important;
  overflow: visible !important;
}

/* Input del sheet siempre visible y dentro del viewport */
body.elite-mobile-address-sheet-open .elite-mobile-address-input {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  font-size: 16px !important;
  position: relative !important;
  z-index: 2147483600 !important;
}

/*
  Google mete .pac-container directo al body con top/left inline.
  En móvil lo forzamos debajo del input del sheet.
*/
@media (max-width: 760px) {
  body.elite-mobile-address-sheet-open .pac-container {
    position: fixed !important;

    top: calc(env(safe-area-inset-top, 0px) + 126px) !important;
    left: 22px !important;
    right: 22px !important;

    width: calc(100vw - 44px) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 44px) !important;

    max-height: min(42vh, 320px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;

    z-index: 2147483647 !important;

    border-radius: 18px !important;
    border: 1px solid rgba(17,17,17,.10) !important;
    box-shadow: 0 20px 52px rgba(17,17,17,.26) !important;
    background: #fff !important;

    transform: none !important;
  }

  body.elite-mobile-address-sheet-open .pac-item {
    padding: 11px 12px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  body.elite-mobile-address-sheet-open .pac-item-query {
    font-size: 14px !important;
    font-weight: 900 !important;
  }
}

/* Pantallas muy chicas: un poquito más arriba y más angosto */
@media (max-width: 380px) {
  body.elite-mobile-address-sheet-open .pac-container {
    top: calc(env(safe-area-inset-top, 0px) + 116px) !important;
    left: 16px !important;
    right: 16px !important;
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
  }
}
/* FASE16B18_FIX_MOBILE_GOOGLE_PAC_POSITION_END */

/* FASE16B18_WEB_MAP_SUGGESTIONS_RESCUE
   Corrige sugerencias de Google Places en web.
   No toca el sheet móvil ni el ajuste móvil de 116px.
*/
@media (min-width: 761px) {
  body.client-app-page .client-address-search-label,
  body.client-app-page .elite-place-autocomplete-wrap,
  body.client-app-page [data-map-picker],
  body.client-app-page .map-picker-card {
    overflow: visible !important;
    contain: none !important;
  }

  body.client-app-page .elite-place-autocomplete-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
    z-index: 10020 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  body.client-app-page gmp-place-autocomplete,
  body.client-app-page .elite-place-autocomplete-wrap gmp-place-autocomplete,
  body.client-app-page .client-address-search-label gmp-place-autocomplete {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    position: relative !important;
    z-index: 10030 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    contain: none !important;
  }

  body.client-app-page .pac-container,
  body.client-app-page .gm-style .pac-container {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 2147483647 !important;
  }
}
/* FASE16B18_WEB_MAP_SUGGESTIONS_RESCUE END */

/* FASE16B19_WEB_CLASSIC_INPUT_VISIBLE
   En web usamos input real + Autocomplete clásico.
   No afecta móvil ni el sheet.
*/
@media (min-width: 761px) {
  body.client-app-page input[data-map-address] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: static !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 48px !important;
    transform: none !important;
  }

  body.client-app-page input[data-map-address].elite-address-hidden {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: static !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
  }

  body.client-app-page .pac-container {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 2147483647 !important;
  }
}
/* FASE16B19_WEB_CLASSIC_INPUT_VISIBLE END */

/* FASE16B20_MOBILE_FIXED_MAPS_SEARCH */
@media (max-width: 760px) {
  body.client-app-page .elite-mobile-address-sheet {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.client-app-page.elite-mobile-address-search-fixed::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 2147482500;
    background: rgba(17, 17, 17, .34);
    backdrop-filter: blur(10px);
    pointer-events: none;
  }

  body.client-app-page .client-address-search-label.is-mobile-address-fixed-active,
  body.client-app-page label.is-mobile-address-fixed-active {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    top: calc(env(safe-area-inset-top, 0px) + 10px) !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    z-index: 2147483000 !important;
    padding: 12px !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 22px 60px rgba(17,17,17,.24) !important;
    overflow: visible !important;
    transform: none !important;
    contain: none !important;
  }

  body.client-app-page .client-address-search-label.is-mobile-address-fixed-active > span,
  body.client-app-page label.is-mobile-address-fixed-active > span {
    display: block !important;
    margin-bottom: 8px !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    color: #7b6a55 !important;
  }

  body.client-app-page .client-address-search-label.is-mobile-address-fixed-active input[data-map-address],
  body.client-app-page label.is-mobile-address-fixed-active input[data-map-address],
  body.client-app-page input[data-map-address].elite-address-hidden {
    position: static !important;
    left: auto !important;
    top: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 52px !important;
    min-height: 52px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body.client-app-page.elite-mobile-address-search-fixed .pac-container {
    position: fixed !important;
    top: var(--elite-mobile-pac-top, 112px) !important;
    left: var(--elite-mobile-pac-left, 12px) !important;
    right: auto !important;
    width: var(--elite-mobile-pac-width, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    max-height: calc(100dvh - var(--elite-mobile-pac-top, 112px) - 20px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 2147483647 !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 48px rgba(17,17,17,.24) !important;
    transform: none !important;
  }

  body.client-app-page.elite-mobile-address-search-fixed .pac-container:empty {
    display: none !important;
  }
}
/* FASE16B20_MOBILE_FIXED_MAPS_SEARCH END */


/* FASE16B24_REMOVED_OLD_ADDRESS_TRASH_CSS */



/* FASE16B23_CLIENT_DELETE_ADDRESS_SVG */
body.client-app-page .client-address-list-16b23 {
  display: grid;
  gap: 10px;
}

body.client-app-page .client-address-row-16b23 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.88);
  box-shadow: inset 0 0 0 1px rgba(17,17,17,.06);
}

body.client-app-page .client-address-main-16b23 {
  min-width: 0;
  display: grid;
  gap: 3px;
}

body.client-app-page .client-address-main-16b23 strong {
  display: block;
  font-size: 14px;
  line-height: 1.25;
  color: #171717;
  overflow-wrap: anywhere;
}

body.client-app-page .client-address-main-16b23 span,
body.client-app-page .client-address-main-16b23 small {
  display: block;
  font-size: 12px;
  line-height: 1.3;
  color: rgba(17,17,17,.58);
  overflow-wrap: anywhere;
}

body.client-app-page .client-address-delete-form-16b23 {
  margin: 0;
}

body.client-app-page .client-address-trash-16b23 {
  appearance: none;
  border: 0;
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 999px;
  background: rgba(17,17,17,.05);
  color: #222;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(17,17,17,.08);
  transition: transform .16s ease, background .16s ease, opacity .16s ease;
}

body.client-app-page .client-address-trash-16b23:hover {
  background: rgba(17,17,17,.09);
  transform: translateY(-1px);
}

body.client-app-page .client-address-trash-16b23:active {
  transform: scale(.96);
}

body.client-app-page .client-address-trash-16b23 svg {
  width: 18px;
  height: 18px;
  display: block;
  fill: currentColor;
}

@media (max-width: 760px) {
  body.client-app-page .client-address-row-16b23 {
    grid-template-columns: minmax(0, 1fr) 40px;
    padding: 12px;
    border-radius: 18px;
  }
}
/* FASE16B23_CLIENT_DELETE_ADDRESS_SVG END */


/* FASE16B26_REMOVED_OPS_PENDING_REQUESTS_CSS */


/* FASE16B26_CALENDAR_REQUESTS_IN_DRAWER */
body.elite-view-agenda .elite-calendar-request-box-16b26,
body .elite-agenda-drawer .elite-calendar-request-box-16b26 {
  display: grid;
  gap: 10px;
  margin: 12px 0;
  padding: 12px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255, 248, 235, .96), rgba(255,255,255,.96));
  box-shadow: inset 0 0 0 1px rgba(194, 139, 64, .20);
}

body.elite-view-agenda .elite-calendar-request-head-16b26 {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
}

body.elite-view-agenda .elite-calendar-request-dot-16b26 {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #c28b40;
  box-shadow: 0 0 0 5px rgba(194, 139, 64, .14);
}

body.elite-view-agenda .elite-calendar-request-head-16b26 strong {
  display: block;
  font-size: 13px;
  line-height: 1.2;
  color: #171717;
}

body.elite-view-agenda .elite-calendar-request-head-16b26 small {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.2;
  color: rgba(17,17,17,.58);
}

body.elite-view-agenda .elite-calendar-request-item-16b26 {
  display: grid;
  gap: 10px;
  padding: 11px;
  border-radius: 16px;
  background: rgba(255,255,255,.78);
  box-shadow: inset 0 0 0 1px rgba(17,17,17,.06);
}

body.elite-view-agenda .elite-calendar-request-copy-16b26 {
  display: grid;
  gap: 3px;
}

body.elite-view-agenda .elite-calendar-request-copy-16b26 strong {
  font-size: 13px;
  line-height: 1.2;
  color: #171717;
}

body.elite-view-agenda .elite-calendar-request-copy-16b26 span,
body.elite-view-agenda .elite-calendar-request-copy-16b26 small {
  font-size: 12px;
  line-height: 1.3;
  color: rgba(17,17,17,.62);
}

body.elite-view-agenda .elite-calendar-request-actions-16b26 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

body.elite-view-agenda .elite-calendar-request-form-16b26 {
  margin: 0;
}

body.elite-view-agenda .elite-calendar-request-form-16b26 .mini-btn {
  width: 100%;
  justify-content: center;
}

body.elite-view-agenda .elite-agenda-event.has-request-16b26 {
  box-shadow: inset 0 0 0 2px rgba(194, 139, 64, .48), 0 12px 28px rgba(194, 139, 64, .16);
}

body.elite-view-agenda .elite-event-request-badge-16b26 {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin-top: 4px;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(194, 139, 64, .15);
  color: #8a5a18;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  line-height: 1;
}

@media (max-width: 760px) {
  body.elite-view-agenda .elite-calendar-request-actions-16b26 {
    grid-template-columns: 1fr;
  }
}
/* FASE16B26_CALENDAR_REQUESTS_IN_DRAWER END */

/* FASE16B28_CLIENT_HEADER_LOGO */
body.client-app-page .client-header-logo-16b28 {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
}

body.client-app-page .client-header-logo-16b28 img {
  display: block;
  width: 46px;
  height: 46px;
  object-fit: contain;
}

@media (max-width: 760px) {
  body.client-app-page .client-header-logo-16b28 img {
    width: 44px;
    height: 44px;
  }
}
/* FASE16B28_CLIENT_HEADER_LOGO END */

/* FASE16B29_CLIENT_HEADER_LOGO_BLACK_CIRCLE */
body.client-app-page .client-header-logo-16b28 {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 999px !important;
  background: #050505 !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.18) !important;
  border: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.client-app-page .client-header-logo-16b28 img {
  display: block !important;
  width: 26px !important;
  height: 26px !important;
  max-width: 26px !important;
  max-height: 26px !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: brightness(0) invert(1) !important;
}

@media (max-width: 760px) {
  body.client-app-page .client-header-logo-16b28 {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
  }

  body.client-app-page .client-header-logo-16b28 img {
    width: 24px !important;
    height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
  }
}
/* FASE16B29_CLIENT_HEADER_LOGO_BLACK_CIRCLE END */

/* FASE16B30_CLIENT_LOGO_NO_CROP */
body.client-app-page .keeper-top .avatar-circle.client-header-logo-16b28 {
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 999px !important;
  background: #000 !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.18) !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  flex: 0 0 54px !important;
  line-height: 0 !important;
  font-size: 0 !important;
}

body.client-app-page .keeper-top .avatar-circle.client-header-logo-16b28 img {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  filter: brightness(0) invert(1) !important;
}

@media (max-width: 760px) {
  body.client-app-page .keeper-top .avatar-circle.client-header-logo-16b28 {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    flex-basis: 52px !important;
  }

  body.client-app-page .keeper-top .avatar-circle.client-header-logo-16b28 img {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
  }
}
/* FASE16B30_CLIENT_LOGO_NO_CROP END */

/* FASE16B31_CLIENT_LOGO_REAL_COLORS_NO_CLIP */
body.client-app-page .keeper-top .client-header-logo-wrap-16b31 {
  position: relative !important;
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  flex: 0 0 58px !important;
  display: grid !important;
  place-items: center !important;
  overflow: visible !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.client-app-page .keeper-top .client-header-logo-bg-16b31 {
  position: absolute !important;
  inset: 4px !important;
  border-radius: 999px !important;
  background: #000 !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.18) !important;
  z-index: 0 !important;
}

body.client-app-page .keeper-top .client-header-logo-img-16b31 {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  width: 36px !important;
  height: 36px !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  overflow: visible !important;
  filter: none !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 760px) {
  body.client-app-page .keeper-top .client-header-logo-wrap-16b31 {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    flex-basis: 56px !important;
  }

  body.client-app-page .keeper-top .client-header-logo-img-16b31 {
    width: 35px !important;
    height: 35px !important;
  }
}
/* FASE16B31_CLIENT_LOGO_REAL_COLORS_NO_CLIP END */

/* FASE16B33_KEEPERS_HABILIDADES_SAFE */
body.elite-keepers-habilidades-safe-16b33 textarea[name="skills"],
body.elite-keepers-habilidades-safe-16b33 textarea[name="edit_skills"],
body.elite-keepers-habilidades-safe-16b33 .elite-hidden-skill-textarea {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

body.elite-keepers-habilidades-safe-16b33 .elite-ms-box.elite-skill-box,
body.elite-keepers-habilidades-safe-16b33 .elite-habilidades-box,
body.elite-keepers-habilidades-safe-16b33 .elite-habilidades-pro-box,
body.elite-keepers-habilidades-safe-16b33 .elite-a9-skills-panel {
  display: none !important;
}

body.elite-keepers-habilidades-safe-16b33 .elite-keeper-habilidades-source-16b33 {
  display: block !important;
  margin: 8px 0 14px !important;
}

body.elite-keepers-habilidades-safe-16b33 .elite-keeper-habilidades-source-16b33 .elite-keeper-skill-checklist {
  display: block !important;
}

body.elite-keepers-habilidades-safe-16b33 .elite-keeper-habilidades-source-16b33 .elite-service-checklist-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

body.elite-keepers-habilidades-safe-16b33 .elite-keeper-habilidades-source-16b33 .elite-service-chip {
  min-width: 0 !important;
}

@media (max-width: 760px) {
  body.elite-keepers-habilidades-safe-16b33 .elite-keeper-habilidades-source-16b33 .elite-service-checklist-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
/* FASE16B33_KEEPERS_HABILIDADES_SAFE END */

/* FASE16B34_KEEPERS_ONE_HABILIDADES_LIST */
body.elite-keepers-one-habilidades-16b34 textarea[name="skills"],
body.elite-keepers-one-habilidades-16b34 textarea[name="edit_skills"],
body.elite-keepers-one-habilidades-16b34 .elite-b34-hidden-skills-textarea {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

body.elite-keepers-one-habilidades-16b34 .elite-ms-box,
body.elite-keepers-one-habilidades-16b34 .elite-skill-box,
body.elite-keepers-one-habilidades-16b34 .elite-habilidades-box,
body.elite-keepers-one-habilidades-16b34 .elite-habilidades-pro-box,
body.elite-keepers-one-habilidades-16b34 .elite-a9-skills-panel {
  display: none !important;
}

body.elite-keepers-one-habilidades-16b34 .elite-keeper-habilidades-source-16b34,
body.elite-keepers-one-habilidades-16b34 .elite-keeper-habilidades-source-16b34 .elite-keeper-skill-checklist,
body.elite-keepers-one-habilidades-16b34 .elite-keeper-habilidades-source-16b34 .elite-service-checklist-grid,
body.elite-keepers-one-habilidades-16b34 .elite-keeper-habilidades-source-16b34 .elite-service-chip {
  display: revert !important;
}

body.elite-keepers-one-habilidades-16b34 .elite-keeper-habilidades-source-16b34 {
  display: block !important;
  margin: 8px 0 14px !important;
}

body.elite-keepers-one-habilidades-16b34 .elite-keeper-habilidades-source-16b34 .elite-service-checklist-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

body.elite-keepers-one-habilidades-16b34 .elite-keeper-habilidades-source-16b34 .elite-service-chip {
  min-width: 0 !important;
}

@media (max-width: 760px) {
  body.elite-keepers-one-habilidades-16b34 .elite-keeper-habilidades-source-16b34 .elite-service-checklist-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
/* FASE16B34_KEEPERS_ONE_HABILIDADES_LIST END */

/* FASE16B35_KEEPERS_HABILIDADES_RENDER_PROPIO */
body.elite-b35-keepers-habilidades textarea[name="skills"],
body.elite-b35-keepers-habilidades textarea[name="edit_skills"],
body.elite-b35-keepers-habilidades .elite-b35-hidden-skills-textarea,
body.elite-b35-keepers-habilidades .elite-hidden-skill-textarea {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

body.elite-b35-keepers-habilidades .elite-ms-box,
body.elite-b35-keepers-habilidades .elite-skill-box,
body.elite-b35-keepers-habilidades .elite-habilidades-box,
body.elite-b35-keepers-habilidades .elite-habilidades-pro-box,
body.elite-b35-keepers-habilidades .elite-a9-skills-panel,
body.elite-b35-keepers-habilidades [data-elite-keeper-skills] {
  display: none !important;
}

body.elite-b35-keepers-habilidades .elite-keeper-habilidades-source-16b35,
body.elite-b35-keepers-habilidades .elite-keeper-habilidades-source-16b35 .elite-b35-habilidades-picker {
  display: block !important;
}

.elite-b35-habilidades-picker {
  width: 100%;
  display: grid;
  gap: 14px;
  margin: 10px 0 16px;
  padding: 14px;
  border-radius: 22px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(17,17,17,.08);
}

.elite-b35-habilidades-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.elite-b35-habilidades-head strong {
  display: block;
  font-size: 15px;
  line-height: 1.15;
  color: #111;
}

.elite-b35-habilidades-head p {
  margin: 4px 0 0;
  font-size: 12px;
  line-height: 1.25;
  color: rgba(17,17,17,.58);
}

.elite-b35-habilidades-head span {
  flex: 0 0 auto;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(17,17,17,.06);
  font-size: 11px;
  font-weight: 800;
  color: rgba(17,17,17,.62);
}

.elite-b35-habilidades-group {
  display: grid;
  gap: 8px;
}

.elite-b35-habilidades-group-title {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(17,17,17,.46);
}

.elite-b35-habilidades-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.elite-b35-habilidad-chip {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 10px;
  border-radius: 16px;
  background: #f7f7f7;
  border: 1px solid rgba(17,17,17,.08);
  cursor: pointer;
  user-select: none;
}

.elite-b35-habilidad-chip input {
  width: 16px;
  height: 16px;
  accent-color: #111;
  flex: 0 0 auto;
}

.elite-b35-habilidad-chip span {
  min-width: 0;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  color: #171717;
}

.elite-b35-habilidad-chip:has(input:checked) {
  background: #111;
  border-color: #111;
}

.elite-b35-habilidad-chip:has(input:checked) span {
  color: #fff;
}

.elite-b35-habilidades-empty {
  grid-column: 1 / -1;
  padding: 10px;
  border-radius: 14px;
  background: rgba(17,17,17,.04);
  font-size: 12px;
  color: rgba(17,17,17,.58);
}

@media (max-width: 760px) {
  .elite-b35-habilidades-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .elite-b35-habilidades-head {
    flex-direction: column;
  }
}
/* FASE16B35_KEEPERS_HABILIDADES_RENDER_PROPIO END */

/* FASE16B36_KEEPERS_LIST_NO_DUP_SKILLS */

/* Evita resumen duplicado generado por fases viejas en la columna derecha */
body.elite-b36-keepers-list-clean .keeper-list .keeper-admin-card::before,
body.elite-b36-keepers-list-clean .keeper-list .keeper-admin-card::after,
body.elite-b36-keepers-list-clean .keeper-list .keeper-actions::before,
body.elite-b36-keepers-list-clean .keeper-list .keeper-actions::after,
body.elite-b36-keepers-list-clean .keeper-list .keeper-actions-final::before,
body.elite-b36-keepers-list-clean .keeper-list .keeper-actions-final::after {
  content: none !important;
  display: none !important;
}

body.elite-b36-keepers-list-clean .keeper-list .keeper-admin-card > :not(.keeper-main):not(.keeper-actions):not(.keeper-actions-final) {
  display: none !important;
}

body.elite-b36-keepers-list-clean .keeper-list .keeper-actions-final > :not(a):not(button):not(form),
body.elite-b36-keepers-list-clean .keeper-list .keeper-actions > :not(a):not(button):not(form) {
  display: none !important;
}

/* Habilidades visibles solo del lado izquierdo, tipo chips de configuración */
body.elite-b36-keepers-list-clean .keeper-info p.elite-b36-keeper-skills {
  margin: 8px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: block !important;
}

body.elite-b36-keepers-list-clean .elite-b36-keeper-skill-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  max-width: 560px !important;
}

body.elite-b36-keepers-list-clean .elite-b36-keeper-skill-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  padding: 8px 11px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid rgba(17,17,17,.09) !important;
  box-shadow: 0 8px 18px rgba(17,17,17,.045) !important;
  color: #141414 !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
  letter-spacing: -.01em !important;
  white-space: nowrap !important;
}

body.elite-b36-keepers-list-clean .elite-b36-keeper-skill-chip::before {
  content: "✓" !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 15px !important;
  height: 15px !important;
  margin-right: 6px !important;
  border-radius: 999px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 9px !important;
  font-weight: 900 !important;
}

@media (max-width: 760px) {
  body.elite-b36-keepers-list-clean .elite-b36-keeper-skill-row {
    gap: 6px !important;
  }

  body.elite-b36-keepers-list-clean .elite-b36-keeper-skill-chip {
    min-height: 30px !important;
    padding: 7px 9px !important;
    font-size: 10.5px !important;
  }
}
/* FASE16B36_KEEPERS_LIST_NO_DUP_SKILLS END */

/* FASE16B37_KEEPERS_HABILIDADES_CONFIG_STYLE */
body.elite-view-keepers .elite-keeper-habilidades-source-16b35 {
  margin: 4px 0 18px !important;
}

body.elite-view-keepers .elite-b35-habilidades-picker {
  width: 100% !important;
  display: grid !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 16px !important;
  border-radius: 24px !important;
  background: #fff !important;
  border: 1px solid rgba(17,17,17,.08) !important;
  box-shadow: 0 14px 34px rgba(17,17,17,.045) !important;
}

body.elite-view-keepers .elite-b35-habilidades-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin: 0 0 2px !important;
}

body.elite-view-keepers .elite-b35-habilidades-head strong {
  display: block !important;
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
  color: #111827 !important;
}

body.elite-view-keepers .elite-b35-habilidades-head p {
  margin: 6px 0 0 !important;
  max-width: 560px !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
  color: #6b7280 !important;
}

body.elite-view-keepers .elite-b35-habilidades-head > span {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 8px 13px !important;
  border-radius: 999px !important;
  background: #f4f4f5 !important;
  border: 1px solid rgba(17,17,17,.06) !important;
  color: #4b5563 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

body.elite-view-keepers .elite-b35-habilidades-group {
  display: grid !important;
  gap: 8px !important;
  margin: 0 !important;
}

body.elite-view-keepers .elite-b35-habilidades-group-title {
  margin: 2px 0 0 !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: #9ca3af !important;
}

body.elite-view-keepers .elite-b35-habilidades-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

body.elite-view-keepers label.elite-b35-habilidad-chip {
  min-width: 0 !important;
  min-height: 54px !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 11px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  background: #f8f8f8 !important;
  border: 1px solid rgba(17,17,17,.09) !important;
  box-shadow: none !important;
  cursor: pointer !important;
  user-select: none !important;
  transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease !important;
}

body.elite-view-keepers label.elite-b35-habilidad-chip:hover {
  transform: translateY(-1px) !important;
  background: #fff !important;
  border-color: rgba(17,17,17,.16) !important;
  box-shadow: 0 12px 24px rgba(17,17,17,.06) !important;
}

body.elite-view-keepers label.elite-b35-habilidad-chip input {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 19px !important;
  height: 19px !important;
  min-width: 19px !important;
  flex: 0 0 19px !important;
  margin: 0 !important;
  border-radius: 6px !important;
  border: 1.5px solid rgba(17,17,17,.35) !important;
  background: #fff !important;
  display: grid !important;
  place-items: center !important;
}

body.elite-view-keepers label.elite-b35-habilidad-chip input:checked {
  background: #111827 !important;
  border-color: #111827 !important;
}

body.elite-view-keepers label.elite-b35-habilidad-chip input:checked::after {
  content: "✓" !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}

body.elite-view-keepers label.elite-b35-habilidad-chip span {
  min-width: 0 !important;
  display: block !important;
  color: #111827 !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
  letter-spacing: -.02em !important;
}

body.elite-view-keepers label.elite-b35-habilidad-chip:has(input:checked) {
  background: #111827 !important;
  border-color: #111827 !important;
  box-shadow: 0 14px 28px rgba(17,24,39,.16) !important;
}

body.elite-view-keepers label.elite-b35-habilidad-chip:has(input:checked) span {
  color: #fff !important;
}

body.elite-view-keepers .elite-b35-habilidades-empty {
  grid-column: 1 / -1 !important;
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  background: #f8f8f8 !important;
  border: 1px dashed rgba(17,17,17,.12) !important;
  color: #9ca3af !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}

@media (max-width: 760px) {
  body.elite-view-keepers .elite-b35-habilidades-picker {
    padding: 14px !important;
    border-radius: 22px !important;
    gap: 12px !important;
  }

  body.elite-view-keepers .elite-b35-habilidades-head {
    flex-direction: column !important;
    gap: 8px !important;
  }

  body.elite-view-keepers .elite-b35-habilidades-head strong {
    font-size: 17px !important;
  }

  body.elite-view-keepers .elite-b35-habilidades-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.elite-view-keepers label.elite-b35-habilidad-chip {
    min-height: 50px !important;
    padding: 10px 11px !important;
    border-radius: 16px !important;
    gap: 9px !important;
  }

  body.elite-view-keepers label.elite-b35-habilidad-chip span {
    font-size: 12px !important;
  }
}
/* FASE16B37_KEEPERS_HABILIDADES_CONFIG_STYLE END */

/* === FASE16C2_KEEPER_UI_SENIOR_CONTACTO_ELITE START === */
/* UI keeper mobile-first: contacto solo con Elite, acciones grandes y lenguaje simple */
body.keeper-app-page{
  background:#f6f1e8;
}

body.keeper-app-page .keeper-app{
  width:min(100%, 720px);
  padding:18px 14px 28px;
}

body.keeper-app-page .keeper-top{
  border-radius:28px;
  padding:18px;
  background:#111;
  color:#fff;
  box-shadow:0 18px 45px rgba(0,0,0,.14);
}

body.keeper-app-page .keeper-top .eyebrow{
  color:rgba(255,255,255,.68);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.keeper-app-page .keeper-top h1{
  color:#fff;
  font-size:clamp(24px, 7vw, 36px);
  line-height:1;
  margin:4px 0 0;
}

body.keeper-app-page .avatar-circle{
  width:58px;
  height:58px;
  font-size:22px;
  background:#fff;
  color:#111;
  box-shadow:0 10px 26px rgba(0,0,0,.18);
}

body.keeper-app-page .keeper-summary{
  border-radius:24px;
  padding:16px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 14px 34px rgba(17,17,17,.08);
}

body.keeper-app-page .keeper-summary span{
  font-size:13px;
  color:#6f675d;
}

body.keeper-app-page .keeper-summary strong{
  font-size:42px;
  line-height:1;
  color:#111;
}

body.keeper-app-page .keeper-v2-card{
  border-radius:28px!important;
  padding:18px!important;
  background:#fff!important;
  border:1px solid rgba(17,17,17,.09)!important;
  box-shadow:0 18px 42px rgba(17,17,17,.09)!important;
}

body.keeper-app-page .keeper-v2-card:before{
  display:none!important;
}

body.keeper-app-page .keeper-v2-card .appointment-top{
  gap:12px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(17,17,17,.08);
}

body.keeper-app-page .keeper-v2-card .appointment-top strong{
  font-size:24px;
  line-height:1.05;
  letter-spacing:-.04em;
  color:#111;
}

body.keeper-app-page .keeper-v2-card .appointment-top span:not(.status-pill){
  display:block;
  margin-top:6px;
  font-size:15px;
  color:#625a51;
  line-height:1.35;
}

body.keeper-app-page .keeper-v2-status{
  white-space:nowrap;
  font-size:12px!important;
  padding:8px 10px!important;
  border-radius:999px!important;
}

body.keeper-app-page .keeper-v2-time-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:16px 0;
}

body.keeper-app-page .keeper-v2-time-grid span{
  display:block;
  padding:14px;
  border-radius:18px;
  background:#f8f3ea;
  color:#111;
  font-size:18px;
  font-weight:800;
  line-height:1.15;
}

body.keeper-app-page .keeper-v2-time-grid b{
  display:block;
  margin-bottom:6px;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7b7167;
}

body.keeper-app-page .keeper-v2-address{
  margin:14px 0;
  padding:16px;
  border-radius:20px;
  background:#fffaf1;
  border:1px solid rgba(17,17,17,.08);
  font-size:18px;
  line-height:1.35;
  font-weight:750;
  color:#17120d;
}

body.keeper-app-page .keeper-v2-label{
  display:block;
  margin-bottom:8px;
  font-size:11px;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#7d7268;
}

body.keeper-app-page .keeper-v2-contact-actions{
  display:grid!important;
  grid-template-columns:1fr;
  gap:10px!important;
  margin:16px 0!important;
}

body.keeper-app-page .keeper-v2-contact-actions .mini-btn,
body.keeper-app-page .service-action-form .btn,
body.keeper-app-page .keeper-v2-checklist .btn{
  min-height:56px;
  width:100%;
  display:flex!important;
  align-items:center;
  justify-content:center;
  border-radius:18px!important;
  font-size:16px!important;
  font-weight:850!important;
  text-align:center;
}

body.keeper-app-page .keeper-v2-contact-actions .keeper-v2-map-btn{
  background:#111!important;
  color:#fff!important;
  border-color:#111!important;
}

body.keeper-app-page .mini-location-ok{
  justify-content:center;
  text-align:center;
  padding:10px 12px;
  border-radius:999px;
  background:#edf7ea;
  color:#2f6a31;
  font-size:13px;
  font-weight:800;
}

body.keeper-app-page .keeper-v2-checklist{
  margin-top:16px;
  padding:16px;
  border-radius:22px;
  background:#f8f3ea;
  border:1px solid rgba(17,17,17,.08);
}

body.keeper-app-page .keeper-v2-checklist summary{
  cursor:pointer;
  font-size:18px;
  font-weight:900;
  color:#111;
  margin-bottom:14px;
}

body.keeper-app-page .keeper-v2-checklist .check-row{
  min-height:48px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  margin:8px 0;
  border-radius:16px;
  background:#fff;
  font-size:16px;
  font-weight:750;
}

body.keeper-app-page .keeper-v2-checklist input[type="checkbox"]{
  width:22px;
  height:22px;
  flex:0 0 auto;
}

body.keeper-app-page .keeper-v2-checklist textarea{
  min-height:96px;
  border-radius:18px!important;
  font-size:16px!important;
  padding:14px!important;
}

body.keeper-app-page .push-inline-card{
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 14px 32px rgba(17,17,17,.07);
}

@media (min-width:560px){
  body.keeper-app-page .keeper-v2-time-grid{
    grid-template-columns:1fr 1fr 1fr;
  }

  body.keeper-app-page .keeper-v2-contact-actions{
    grid-template-columns:1fr 1fr;
  }

  body.keeper-app-page .keeper-v2-contact-actions .keeper-v2-map-btn{
    grid-column:1 / -1;
  }
}
/* === FASE16C2_KEEPER_UI_SENIOR_CONTACTO_ELITE END === */

/* === FASE16C3_KEEPER_TABS_NUEVAS_TERMINADAS START === */
/* Pestañas simples sin JS: Nuevas citas / Terminadas */
body.keeper-app-page .keeper-v2-tabs{
  margin-top:16px;
}

body.keeper-app-page .keeper-v2-tabs > input[type="radio"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

body.keeper-app-page .keeper-v2-tab-buttons{
  position:sticky;
  top:0;
  z-index:5;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:8px;
  margin:0 0 14px;
  border-radius:22px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 12px 30px rgba(17,17,17,.08);
  backdrop-filter:blur(12px);
}

body.keeper-app-page .keeper-v2-tab-buttons label{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:16px;
  font-size:14px;
  font-weight:900;
  color:#635b52;
  cursor:pointer;
  user-select:none;
}

body.keeper-app-page .keeper-v2-tab-buttons label span{
  min-width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#f1eadf;
  color:#111;
  font-size:12px;
  font-weight:950;
}

body.keeper-app-page #keeper_v2_tab_open:checked ~ .keeper-v2-tab-buttons label[for="keeper_v2_tab_open"],
body.keeper-app-page #keeper_v2_tab_done:checked ~ .keeper-v2-tab-buttons label[for="keeper_v2_tab_done"]{
  background:#111;
  color:#fff;
}

body.keeper-app-page #keeper_v2_tab_open:checked ~ .keeper-v2-tab-buttons label[for="keeper_v2_tab_open"] span,
body.keeper-app-page #keeper_v2_tab_done:checked ~ .keeper-v2-tab-buttons label[for="keeper_v2_tab_done"] span{
  background:#fff;
  color:#111;
}

body.keeper-app-page .keeper-v2-tab-panel{
  display:none;
}

body.keeper-app-page #keeper_v2_tab_open:checked ~ .keeper-v2-tab-open{
  display:block;
}

body.keeper-app-page #keeper_v2_tab_done:checked ~ .keeper-v2-tab-done{
  display:block;
}

body.keeper-app-page .keeper-v2-day-box{
  background:#111!important;
  color:#fff!important;
}

body.keeper-app-page .keeper-v2-day-box b{
  color:rgba(255,255,255,.72)!important;
}

body.keeper-app-page .keeper-v2-contact-actions .mini-btn,
body.keeper-app-page .service-action-form .btn,
body.keeper-app-page .keeper-v2-checklist .btn{
  min-height:48px!important;
  border-radius:15px!important;
  font-size:15px!important;
}

body.keeper-app-page .keeper-v2-contact-actions{
  gap:8px!important;
}

body.keeper-app-page .keeper-v2-done-list{
  display:grid;
  gap:10px;
}

body.keeper-app-page .keeper-v2-done-card{
  padding:14px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 10px 28px rgba(17,17,17,.06);
}

body.keeper-app-page .keeper-v2-done-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(17,17,17,.08);
}

body.keeper-app-page .keeper-v2-done-head strong{
  display:block;
  font-size:18px;
  line-height:1.1;
  letter-spacing:-.02em;
  color:#111;
}

body.keeper-app-page .keeper-v2-done-head span:not(.status-pill){
  display:block;
  margin-top:5px;
  font-size:13px;
  color:#736a60;
}

body.keeper-app-page .keeper-v2-done-time{
  margin:12px 0 0!important;
}

body.keeper-app-page .keeper-v2-done-time span{
  font-size:15px!important;
  padding:12px!important;
}

body.keeper-app-page .keeper-v2-empty-mini{
  margin:0;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
}
/* === FASE16C3_KEEPER_TABS_NUEVAS_TERMINADAS END === */

/* === FASE16C4B_KEEPER_NOTIFICACIONES_INLINE_FIX START === */
/* 3 pestañas: Nuevas citas / Terminadas / Notificaciones */
body.keeper-app-page .keeper-v2-tab-buttons{
  grid-template-columns:1fr 1fr 1fr!important;
}

body.keeper-app-page .keeper-v2-tab-buttons label{
  min-height:42px!important;
  gap:5px!important;
  padding:6px!important;
  font-size:12px!important;
  line-height:1.05!important;
  flex-direction:column;
}

body.keeper-app-page .keeper-v2-tab-buttons label span{
  min-width:22px!important;
  height:22px!important;
  font-size:11px!important;
}

body.keeper-app-page #keeper_v2_tab_notify:checked ~ .keeper-v2-tab-buttons label[for="keeper_v2_tab_notify"]{
  background:#111;
  color:#fff;
}

body.keeper-app-page #keeper_v2_tab_notify:checked ~ .keeper-v2-tab-buttons label[for="keeper_v2_tab_notify"] span{
  background:#fff;
  color:#111;
}

body.keeper-app-page #keeper_v2_tab_notify:checked ~ .keeper-v2-tab-notify{
  display:block;
}

/* Día más visible en Nuevas citas */
body.keeper-app-page .keeper-v2-day-hero{
  margin:14px 0 12px;
  padding:16px;
  border-radius:22px;
  background:#111;
  color:#fff;
  box-shadow:0 12px 28px rgba(17,17,17,.12);
}

body.keeper-app-page .keeper-v2-day-hero span{
  display:block;
  margin-bottom:6px;
  font-size:22px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:-.04em;
}

body.keeper-app-page .keeper-v2-day-hero strong{
  display:block;
  font-size:18px;
  line-height:1.05;
  color:rgba(255,255,255,.78);
}

/* Botones un poco más pequeños */
body.keeper-app-page .keeper-v2-contact-actions .mini-btn,
body.keeper-app-page .service-action-form .btn,
body.keeper-app-page .keeper-v2-checklist .btn,
body.keeper-app-page .push-actions .btn{
  min-height:42px!important;
  border-radius:14px!important;
  font-size:14px!important;
  padding:10px 12px!important;
}

/* Notificaciones dentro de keeper.php */
body.keeper-app-page .keeper-v2-notify-box{
  margin:0 0 14px!important;
}

body.keeper-app-page .keeper-v2-notify-box strong{
  display:block;
  font-size:20px;
  line-height:1.1;
  letter-spacing:-.03em;
}

body.keeper-app-page .keeper-v2-notify-box p{
  margin:6px 0 12px;
  color:#6f675d;
  font-size:14px;
  line-height:1.35;
}

body.keeper-app-page .keeper-v2-section-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:10px 0 10px;
}

body.keeper-app-page .keeper-v2-section-title strong{
  display:block;
  font-size:18px;
  color:#111;
}

body.keeper-app-page .keeper-v2-section-title span{
  font-size:12px;
  color:#756d63;
}

body.keeper-app-page .keeper-v2-notification-list{
  display:grid;
  gap:10px;
}

body.keeper-app-page .keeper-v2-notification-card{
  padding:14px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 10px 24px rgba(17,17,17,.055);
}

body.keeper-app-page .keeper-v2-notification-card.is-unread{
  border-color:rgba(17,17,17,.22);
  box-shadow:0 12px 28px rgba(17,17,17,.09);
}

body.keeper-app-page .keeper-v2-notification-card strong{
  display:block;
  font-size:16px;
  line-height:1.15;
  color:#111;
}

body.keeper-app-page .keeper-v2-notification-card span{
  display:block;
  margin-top:5px;
  font-size:12px;
  color:#7b7167;
}

body.keeper-app-page .keeper-v2-notification-card p{
  margin:10px 0 0;
  color:#332d27;
  font-size:14px;
  line-height:1.35;
}

@media (max-width:380px){
  body.keeper-app-page .keeper-v2-tab-buttons label{
    font-size:11px!important;
  }

  body.keeper-app-page .keeper-v2-day-hero span{
    font-size:20px;
  }
}
/* === FASE16C4B_KEEPER_NOTIFICACIONES_INLINE_FIX END === */

/* === FASE16C5B_RECONSTRUIR_KEEPER_TABS_LIMPIO START === */
/* Tabs Keeper limpias */
body.keeper-app-page .keeper-v2-tabs .keeper-v2-tab-panel{
  display:none!important;
}

body.keeper-app-page #keeper_v2_tab_open:checked ~ .keeper-v2-tab-open,
body.keeper-app-page #keeper_v2_tab_done:checked ~ .keeper-v2-tab-done,
body.keeper-app-page #keeper_v2_tab_notify:checked ~ .keeper-v2-tab-notify{
  display:block!important;
}

body.keeper-app-page .keeper-v2-tab-buttons{
  grid-template-columns:1fr 1fr 1fr!important;
}

body.keeper-app-page .keeper-v2-tab-buttons label{
  min-height:42px!important;
  gap:5px!important;
  padding:6px!important;
  font-size:12px!important;
  line-height:1.05!important;
  flex-direction:column;
}

body.keeper-app-page .keeper-v2-tab-buttons label span{
  min-width:22px!important;
  height:22px!important;
  font-size:11px!important;
}

/* Día visible en Nuevas citas */
body.keeper-app-page .keeper-v2-tab-open .keeper-v2-day-hero{
  display:block!important;
  margin:12px 0 10px!important;
  padding:14px!important;
  border-radius:20px!important;
  background:#111!important;
  color:#fff!important;
}

body.keeper-app-page .keeper-v2-tab-open .keeper-v2-day-hero span{
  display:block!important;
  font-size:22px!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
  color:#fff!important;
}

body.keeper-app-page .keeper-v2-tab-open .keeper-v2-day-hero strong{
  display:block!important;
  margin-top:5px!important;
  font-size:16px!important;
  line-height:1.1!important;
  color:rgba(255,255,255,.78)!important;
}

/* En nuevas citas solo hora y duración debajo del día grande */
body.keeper-app-page .keeper-v2-tab-open .keeper-v2-time-grid{
  grid-template-columns:1fr 1fr!important;
}

/* Terminadas: formato simple, sin botones ni dirección */
body.keeper-app-page .keeper-v2-done-simple{
  margin-top:12px;
  padding:14px;
  border-radius:18px;
  background:#f8f3ea;
}

body.keeper-app-page .keeper-v2-done-simple span{
  display:block;
  font-size:17px;
  font-weight:950;
  line-height:1.05;
  color:#111;
}

body.keeper-app-page .keeper-v2-done-simple strong{
  display:block;
  margin-top:5px;
  font-size:15px;
  color:#5f574f;
}

body.keeper-app-page .keeper-v2-done-simple small{
  display:block;
  margin-top:5px;
  font-size:12px;
  color:#7a7168;
}

/* Ocultar cualquier push viejo fuera de pestaña notificaciones */
body.keeper-app-page .mobile-app > .push-inline-card:not(.keeper-v2-notify-box),
body.keeper-app-page main > .push-inline-card:not(.keeper-v2-notify-box){
  display:none!important;
}

/* Botones más compactos */
body.keeper-app-page .keeper-v2-contact-actions .mini-btn,
body.keeper-app-page .service-action-form .btn,
body.keeper-app-page .keeper-v2-checklist .btn,
body.keeper-app-page .push-actions .btn{
  min-height:38px!important;
  border-radius:13px!important;
  font-size:13px!important;
  padding:8px 10px!important;
}

body.keeper-app-page .keeper-v2-soft-note{
  margin:12px 0 0;
  padding:12px;
  border-radius:16px;
  background:#fff7df;
  color:#66531e;
  font-size:14px;
  font-weight:800;
}

@media (max-width:420px){
  body.keeper-app-page .keeper-v2-tab-open .keeper-v2-time-grid{
    grid-template-columns:1fr!important;
  }

  body.keeper-app-page .keeper-v2-tab-open .keeper-v2-day-hero span{
    font-size:20px!important;
  }
}
/* === FASE16C5B_RECONSTRUIR_KEEPER_TABS_LIMPIO END === */

/* === FASE16C7_KEEPER_RATING_ESTRELLAS_CLIENTE START === */
/* Header keeper: texto negro + estrellas */
body.keeper-app-page .keeper-top{
  background:#fff!important;
  color:#111!important;
  border:1px solid rgba(17,17,17,.08)!important;
}

body.keeper-app-page .keeper-top h1,
body.keeper-app-page .keeper-top h2,
body.keeper-app-page .keeper-top p,
body.keeper-app-page .keeper-top .eyebrow{
  color:#111!important;
}

body.keeper-app-page .keeper-top .eyebrow{
  opacity:.7;
}

body.keeper-app-page .keeper-top .avatar-circle{
  background:#111!important;
  color:#fff!important;
}

body.keeper-app-page .keeper-rating-inline{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
  padding:9px 11px;
  width:max-content;
  max-width:100%;
  border-radius:999px;
  background:#fff7dd;
  border:1px solid rgba(17,17,17,.08);
  color:#111;
}

body.keeper-app-page .keeper-rating-stars{
  color:#111;
  letter-spacing:1px;
  font-size:16px;
  line-height:1;
}

body.keeper-app-page .keeper-rating-inline strong{
  font-size:15px;
  line-height:1;
  color:#111;
}

body.keeper-app-page .keeper-rating-inline small{
  font-size:12px;
  color:#6e6258;
}

/* Cliente: panel de calificación */
.client-rating-panel{
  margin:18px 0;
  padding:16px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 14px 34px rgba(17,17,17,.07);
}

.client-rating-head strong{
  display:block;
  font-size:22px;
  line-height:1.05;
  letter-spacing:-.03em;
  color:#111;
}

.client-rating-head p,
.client-rating-empty{
  margin:6px 0 0;
  color:#6f675d;
  font-size:14px;
  line-height:1.35;
}

.client-rating-list{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.client-rating-card{
  padding:14px;
  border-radius:20px;
  background:#f8f3ea;
  border:1px solid rgba(17,17,17,.08);
}

.client-rating-card-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.client-rating-card-top strong{
  display:block;
  font-size:16px;
  color:#111;
}

.client-rating-card-top span{
  display:block;
  margin-top:4px;
  font-size:12px;
  color:#71685e;
}

.client-rating-card-top b{
  color:#111;
  white-space:nowrap;
}

.client-rating-form{
  display:grid;
  gap:10px;
}

.client-rating-stars{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.client-rating-stars label{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 10px;
  border-radius:15px;
  background:#fff;
  cursor:pointer;
  font-weight:900;
}

.client-rating-stars input{
  width:18px;
  height:18px;
}

.client-rating-stars span{
  letter-spacing:1px;
}

.client-rating-form textarea{
  min-height:74px;
  border-radius:16px!important;
  padding:12px!important;
  font-size:14px!important;
}
/* === FASE16C7_KEEPER_RATING_ESTRELLAS_CLIENTE END === */

/* === FASE16C8_CLIENTE_RATING_INLINE_HISTORIAL START === */
/* Ocultar panel viejo: ahora solo sirve como fuente interna */
.client-rating-source,
.client-rating-panel[data-rating-source]{
  display:none!important;
}

/* Calificación dentro de cada cita completada */
.client-rating-inline-slot{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(17,17,17,.08);
}

.client-rating-inline-slot .client-rating-card{
  margin:0!important;
  padding:12px!important;
  border-radius:18px!important;
  background:#fffaf1!important;
  border:1px solid rgba(17,17,17,.08)!important;
  box-shadow:none!important;
}

.client-rating-inline-slot .client-rating-card-top{
  margin-bottom:10px!important;
}

.client-rating-inline-slot .client-rating-card-top > div > strong{
  font-size:15px!important;
}

.client-rating-inline-slot .client-rating-card-top > div > span{
  display:none!important;
}

.client-rating-inline-slot .client-rating-card-top:before{
  content:"Califica este servicio";
  display:block;
  font-size:15px;
  font-weight:900;
  color:#111;
}

.client-rating-inline-slot .client-rating-card-top > div{
  display:none!important;
}

.client-rating-inline-slot .client-rating-form{
  gap:8px!important;
}

.client-rating-inline-slot .client-rating-stars{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:6px!important;
}

.client-rating-inline-slot .client-rating-stars label{
  min-height:38px!important;
  padding:8px 10px!important;
  border-radius:13px!important;
  background:#fff!important;
  font-size:14px!important;
}

.client-rating-inline-slot .client-rating-stars input{
  width:16px!important;
  height:16px!important;
}

.client-rating-inline-slot .client-rating-form textarea{
  min-height:64px!important;
  font-size:13px!important;
  border-radius:14px!important;
}

.client-rating-inline-slot .client-rating-form button{
  min-height:38px!important;
  border-radius:13px!important;
  font-size:13px!important;
}
/* === FASE16C8_CLIENTE_RATING_INLINE_HISTORIAL END === */

/* === FASE16C9_CLIENTE_RATING_DIRECTO_EN_HISTORIAL START === */
/* Rating directo dentro de cada cita completada del historial */
.client-app-page .client-completed-card .client-rating-inline-real{
  display:block!important;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(17,17,17,.08);
}

.client-app-page .client-rating-inline-real .client-rating-card{
  margin:0!important;
  padding:14px!important;
  border-radius:20px!important;
  background:#fffaf1!important;
  border:1px solid rgba(17,17,17,.08)!important;
  box-shadow:none!important;
}

.client-app-page .client-rating-inline-real .client-rating-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px!important;
}

.client-app-page .client-rating-inline-real .client-rating-card-top strong{
  display:block;
  font-size:16px!important;
  line-height:1.1;
  color:#111;
}

.client-app-page .client-rating-inline-real .client-rating-card-top span{
  display:block;
  margin-top:5px;
  font-size:12px!important;
  color:#6f675d;
}

.client-app-page .client-rating-inline-real .client-rating-card-top b{
  white-space:nowrap;
  color:#111;
  font-size:15px;
}

.client-app-page .client-rating-inline-real .client-rating-form{
  display:grid;
  gap:9px;
}

.client-app-page .client-rating-stars-inline{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:6px!important;
}

.client-app-page .client-rating-stars-inline label{
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px 10px!important;
  border-radius:13px!important;
  background:#fff!important;
  font-size:14px!important;
  font-weight:900!important;
}

.client-app-page .client-rating-stars-inline input{
  width:16px!important;
  height:16px!important;
}

.client-app-page .client-rating-inline-real textarea{
  min-height:64px!important;
  border-radius:14px!important;
  padding:10px 12px!important;
  font-size:13px!important;
}

.client-app-page .client-rating-inline-real button{
  min-height:38px!important;
  border-radius:13px!important;
  font-size:13px!important;
}

/* Mantener apagado cualquier panel viejo que haya quedado de fases anteriores */
.client-rating-source,
.client-rating-panel[data-rating-source]{
  display:none!important;
}
/* === FASE16C9_CLIENTE_RATING_DIRECTO_EN_HISTORIAL END === */

/* === FASE16C10_CLIENTE_RATING_ESTRELLAS_VISUALES START === */
/* Selector visual de estrellas: 5 grises, se rellenan al tocar */
.client-app-page .client-star-picker-visual{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:10px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
}

.client-app-page .client-star-picker-visual input[type="hidden"]{
  display:none!important;
}

.client-app-page .client-star-btn{
  appearance:none;
  -webkit-appearance:none;
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  border-radius:12px;
  background:#f0ece5;
  color:#b8afa3;
  font-size:25px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
  transition:transform .12s ease, background .12s ease, color .12s ease;
}

.client-app-page .client-star-btn.is-active{
  background:#111;
  color:#fff;
}

.client-app-page .client-star-btn:active{
  transform:scale(.92);
}

.client-app-page .client-star-btn:focus-visible{
  outline:3px solid rgba(17,17,17,.22);
  outline-offset:2px;
}

/* Apagar estilos viejos de radios si alguno quedó */
.client-app-page .client-rating-stars-inline{
  display:none!important;
}

@media (max-width:380px){
  .client-app-page .client-star-picker-visual{
    gap:5px;
    padding:8px;
  }

  .client-app-page .client-star-btn{
    width:34px;
    height:34px;
    font-size:22px;
  }
}
/* === FASE16C10_CLIENTE_RATING_ESTRELLAS_VISUALES END === */

/* === FASE16C11_CLIENTE_RATING_ESCALA_NUMERICA START === */
.client-app-page .client-rating-scale-box{
  display:grid;
  gap:10px;
}

.client-app-page .client-rating-scale-title{
  text-align:center;
  font-size:13px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.02em;
  color:#7a7a7a;
  text-transform:none;
}

.client-app-page .client-star-picker-visual.client-rating-scale-row{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.client-app-page .client-rating-scale-row [data-star-value]{
  display:none!important;
}

.client-app-page .client-rating-number-btn{
  appearance:none;
  -webkit-appearance:none;
  min-width:42px;
  height:38px;
  padding:0 12px;
  border:1px solid #d9d9d9;
  border-radius:10px;
  background:#f1f1f1!important;
  color:#9b9b9b!important;
  font-size:14px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
  transition:background .12s ease,color .12s ease,border-color .12s ease,transform .12s ease;
}

.client-app-page .client-rating-number-btn:hover{
  background:#111!important;
  color:#fff!important;
  border-color:#111!important;
}

.client-app-page .client-rating-number-btn.is-active{
  background:#111!important;
  color:#fff!important;
  border-color:#111!important;
}

.client-app-page .client-rating-number-btn:active{
  transform:scale(.96);
}

.client-app-page .client-rating-number-btn:focus-visible{
  outline:3px solid rgba(17,17,17,.16);
  outline-offset:2px;
}

@media (max-width:380px){
  .client-app-page .client-star-picker-visual.client-rating-scale-row{
    gap:6px;
  }

  .client-app-page .client-rating-number-btn{
    min-width:36px;
    height:34px;
    padding:0 10px;
    font-size:13px;
    border-radius:9px;
  }

  .client-app-page .client-rating-scale-title{
    font-size:12px;
  }
}
/* === FASE16C11_CLIENTE_RATING_ESCALA_NUMERICA END === */

/* === FASE16C12_CLIENTE_RATING_GRIS_SIN_DEFAULT START === */
/* Calificación más intuitiva: inicia gris, selección clara */
.client-app-page .client-rating-scale-title{
  display:grid!important;
  gap:3px!important;
  text-align:left!important;
  margin-bottom:2px!important;
}

.client-app-page .client-rating-scale-title strong{
  display:block;
  font-size:15px!important;
  line-height:1.1;
  color:#111!important;
  font-weight:950!important;
}

.client-app-page .client-rating-scale-title span{
  display:block;
  font-size:12px!important;
  line-height:1.2;
  color:#7a7168!important;
  font-weight:700!important;
}

.client-app-page .client-star-picker-visual.client-rating-scale-row{
  justify-content:stretch!important;
  display:grid!important;
  grid-template-columns:repeat(5, minmax(0, 1fr))!important;
  gap:7px!important;
}

.client-app-page .client-rating-number-btn{
  min-width:0!important;
  width:100%!important;
  height:auto!important;
  min-height:54px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  padding:8px 4px!important;
  border:1px solid #ddd7cf!important;
  border-radius:14px!important;
  background:#f1eee9!important;
  color:#91887f!important;
}

.client-app-page .client-rating-number-btn .client-rating-number{
  display:block;
  font-size:16px!important;
  line-height:1!important;
  font-weight:950!important;
}

.client-app-page .client-rating-number-btn small{
  display:block;
  max-width:100%;
  font-size:9px!important;
  line-height:1.05!important;
  font-weight:800!important;
  white-space:normal;
  text-align:center;
  color:inherit!important;
}

.client-app-page .client-rating-number-btn:hover,
.client-app-page .client-rating-number-btn.is-active{
  background:#111!important;
  color:#fff!important;
  border-color:#111!important;
}

.client-app-page .client-rating-scale-box.needs-rating .client-rating-number-btn{
  border-color:#111!important;
}

@media (max-width:380px){
  .client-app-page .client-star-picker-visual.client-rating-scale-row{
    gap:5px!important;
  }

  .client-app-page .client-rating-number-btn{
    min-height:50px!important;
    border-radius:12px!important;
    padding:7px 3px!important;
  }

  .client-app-page .client-rating-number-btn .client-rating-number{
    font-size:15px!important;
  }

  .client-app-page .client-rating-number-btn small{
    font-size:8px!important;
  }
}
/* === FASE16C12_CLIENTE_RATING_GRIS_SIN_DEFAULT END === */

/* === FASE16C13_RATING_BOTONES_MISMO_TAMANO START === */
.client-app-page .client-star-picker-visual.client-rating-scale-row{
  align-items:stretch!important;
}

.client-app-page .client-rating-number-btn{
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  display:grid!important;
  grid-template-rows:18px 20px!important;
  align-content:center!important;
  justify-items:center!important;
  gap:4px!important;
  overflow:hidden!important;
}

.client-app-page .client-rating-number-btn .client-rating-number{
  height:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:16px!important;
  line-height:18px!important;
}

.client-app-page .client-rating-number-btn small{
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  overflow:hidden!important;
  font-size:8px!important;
  line-height:9px!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

@media (max-width:380px){
  .client-app-page .client-rating-number-btn{
    height:54px!important;
    min-height:54px!important;
    max-height:54px!important;
    grid-template-rows:17px 19px!important;
  }

  .client-app-page .client-rating-number-btn small{
    height:19px!important;
    min-height:19px!important;
    max-height:19px!important;
    font-size:7.5px!important;
    line-height:8.5px!important;
  }
}
/* === FASE16C13_RATING_BOTONES_MISMO_TAMANO END === */

/* === FASE16C14_RATING_SOLO_LECTURA_Y_ADMIN_COMENTARIOS START === */
/* Cliente: después de calificar ya no se muestra formulario */
.client-app-page .client-rating-readonly{
  display:grid;
  gap:8px;
  padding:14px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
}

.client-app-page .client-rating-readonly strong{
  display:block;
  font-size:16px;
  color:#111;
}

.client-app-page .client-rating-readonly-stars{
  font-size:20px;
  line-height:1;
  letter-spacing:1px;
  color:#111;
}

.client-app-page .client-rating-readonly p{
  margin:0;
  padding:10px 12px;
  border-radius:14px;
  background:#f8f3ea;
  color:#332d27;
  font-size:13px;
  line-height:1.35;
}

.client-app-page .client-rating-readonly small{
  color:#756d63;
  font-size:12px;
}

/* Admin: página de calificaciones */
body.elite-view-calificaciones .elite-ratings-admin-panel{
  max-width:980px;
}

body.elite-view-calificaciones .elite-ratings-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:18px 0;
}

body.elite-view-calificaciones .elite-ratings-summary article{
  padding:16px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 12px 28px rgba(17,17,17,.06);
}

body.elite-view-calificaciones .elite-ratings-summary span,
body.elite-view-calificaciones .elite-ratings-summary small{
  display:block;
  color:#756d63;
  font-size:13px;
}

body.elite-view-calificaciones .elite-ratings-summary strong{
  display:block;
  margin:4px 0;
  font-size:34px;
  line-height:1;
  color:#111;
}

body.elite-view-calificaciones .elite-ratings-list{
  display:grid;
  gap:12px;
}

body.elite-view-calificaciones .elite-rating-card{
  padding:16px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 12px 28px rgba(17,17,17,.06);
}

body.elite-view-calificaciones .elite-rating-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

body.elite-view-calificaciones .elite-rating-card-head strong{
  display:block;
  font-size:22px;
  line-height:1;
  color:#111;
  letter-spacing:1px;
}

body.elite-view-calificaciones .elite-rating-card-head span{
  display:block;
  margin-top:6px;
  color:#756d63;
  font-size:13px;
  font-weight:800;
}

body.elite-view-calificaciones .elite-rating-card-head small{
  color:#756d63;
  font-weight:900;
}

body.elite-view-calificaciones .elite-rating-comment{
  margin:14px 0;
  padding:14px;
  border-radius:18px;
  background:#f8f3ea;
  color:#111;
  font-size:15px;
  line-height:1.4;
}

body.elite-view-calificaciones .elite-rating-comment.is-empty{
  color:#877d72;
}

body.elite-view-calificaciones .elite-rating-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

body.elite-view-calificaciones .elite-rating-meta span{
  padding:10px;
  border-radius:14px;
  background:#faf7f1;
  color:#111;
  font-size:13px;
}

body.elite-view-calificaciones .elite-rating-meta b{
  display:block;
  margin-bottom:3px;
  color:#7a7168;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

body.elite-view-calificaciones .elite-rating-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}

@media (max-width:640px){
  body.elite-view-calificaciones .elite-ratings-summary,
  body.elite-view-calificaciones .elite-rating-meta{
    grid-template-columns:1fr;
  }

  body.elite-view-calificaciones .elite-panel{
    padding:14px;
  }
}
/* === FASE16C14_RATING_SOLO_LECTURA_Y_ADMIN_COMENTARIOS END === */

/* === FASE16C16_KEEPERS_RATING_JS_SEGURO START === */
body.elite-view-keepers .keeper-rating-box-16c16,
body.elite-keepers-crm-real .keeper-rating-box-16c16{
  margin-top:12px;
  display:grid;
  gap:8px;
}

body.elite-view-keepers .keeper-rating-summary-16c16,
body.elite-keepers-crm-real .keeper-rating-summary-16c16{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-radius:18px;
  background:#fffaf1;
  border:1px solid rgba(17,17,17,.08);
}

body.elite-view-keepers .keeper-rating-score-16c16,
body.elite-keepers-crm-real .keeper-rating-score-16c16{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

body.elite-view-keepers .keeper-rating-score-16c16 strong,
body.elite-keepers-crm-real .keeper-rating-score-16c16 strong{
  font-size:20px;
  line-height:1;
  color:#111;
  font-weight:950;
}

body.elite-view-keepers .keeper-rating-score-16c16 span,
body.elite-keepers-crm-real .keeper-rating-score-16c16 span{
  color:#111;
  font-size:14px;
  letter-spacing:1px;
  white-space:nowrap;
}

body.elite-view-keepers .keeper-rating-summary-16c16 small,
body.elite-keepers-crm-real .keeper-rating-summary-16c16 small{
  color:#70675e;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

body.elite-view-keepers .keeper-rating-comments-16c16,
body.elite-keepers-crm-real .keeper-rating-comments-16c16{
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  overflow:hidden;
}

body.elite-view-keepers .keeper-rating-comments-16c16 summary,
body.elite-keepers-crm-real .keeper-rating-comments-16c16 summary{
  cursor:pointer;
  list-style:none;
  padding:10px 12px;
  font-size:13px;
  font-weight:900;
  color:#111;
}

body.elite-view-keepers .keeper-rating-comments-16c16 summary::-webkit-details-marker,
body.elite-keepers-crm-real .keeper-rating-comments-16c16 summary::-webkit-details-marker{
  display:none;
}

body.elite-view-keepers .keeper-rating-comments-16c16 summary:after,
body.elite-keepers-crm-real .keeper-rating-comments-16c16 summary:after{
  content:"⌄";
  float:right;
  color:#766d64;
}

body.elite-view-keepers .keeper-rating-comments-16c16[open] summary:after,
body.elite-keepers-crm-real .keeper-rating-comments-16c16[open] summary:after{
  content:"⌃";
}

body.elite-view-keepers .keeper-rating-empty-16c16,
body.elite-keepers-crm-real .keeper-rating-empty-16c16{
  margin:0;
  padding:0 12px 12px;
  color:#7b7268;
  font-size:13px;
}

body.elite-view-keepers .keeper-rating-comment-list-16c16,
body.elite-keepers-crm-real .keeper-rating-comment-list-16c16{
  display:grid;
  gap:8px;
  padding:0 10px 10px;
}

body.elite-view-keepers .keeper-rating-comment-16c16,
body.elite-keepers-crm-real .keeper-rating-comment-16c16{
  padding:10px;
  border-radius:14px;
  background:#f8f3ea;
}

body.elite-view-keepers .keeper-rating-comment-16c16 strong,
body.elite-keepers-crm-real .keeper-rating-comment-16c16 strong{
  display:block;
  color:#111;
  font-size:14px;
  letter-spacing:1px;
}

body.elite-view-keepers .keeper-rating-comment-16c16 span,
body.elite-keepers-crm-real .keeper-rating-comment-16c16 span{
  display:block;
  margin-top:4px;
  color:#71685f;
  font-size:11px;
  line-height:1.25;
}

body.elite-view-keepers .keeper-rating-comment-16c16 p,
body.elite-keepers-crm-real .keeper-rating-comment-16c16 p{
  margin:8px 0 0;
  color:#111;
  font-size:13px;
  line-height:1.35;
}

body.elite-view-keepers .keeper-rating-comment-16c16 p.is-empty,
body.elite-keepers-crm-real .keeper-rating-comment-16c16 p.is-empty{
  color:#887e73;
}

@media (max-width:640px){
  body.elite-view-keepers .keeper-rating-summary-16c16,
  body.elite-keepers-crm-real .keeper-rating-summary-16c16{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }

  body.elite-view-keepers .keeper-rating-summary-16c16 small,
  body.elite-keepers-crm-real .keeper-rating-summary-16c16 small{
    white-space:normal;
  }
}
/* === FASE16C16_KEEPERS_RATING_JS_SEGURO END === */

/* === FASE16C17_KEEPER_BOTON_INICIAR_SOLO_DIA_HORA START === */
body.keeper-app-page .keeper-start-lock-16c17{
  margin:12px 0 0;
  padding:12px 14px;
  border-radius:16px;
  background:#fff7df;
  border:1px solid rgba(17,17,17,.08);
  color:#6b551c;
  font-size:14px;
  line-height:1.35;
  font-weight:900;
}
/* === FASE16C17_KEEPER_BOTON_INICIAR_SOLO_DIA_HORA END === */

/* === FASE16C21_CLIENTE_STRIPE_ERROR_INLINE START === */
.client-app-page .elite-client-inline-error-16c21,
.elite-client-inline-error-16c21{
  margin:12px 0 16px;
  border-radius:18px;
  padding:13px 15px;
  font-size:14px;
  line-height:1.35;
  font-weight:850;
}
/* === FASE16C21_CLIENTE_STRIPE_ERROR_INLINE END === */

/* === FASE16C23_KEEPERS_MOBILE_RESPONSIVE_SKILLS_RATINGS START === */
/* Blindaje mobile: habilidades, rating, comentarios y acciones no deben salirse del card */
body.elite-view-keepers,
body.elite-keepers-crm-real{
  overflow-x:hidden!important;
}

body.elite-view-keepers .admin-layout,
body.elite-keepers-crm-real .admin-layout,
body.elite-view-keepers .admin-list-card,
body.elite-keepers-crm-real .admin-list-card,
body.elite-view-keepers .keeper-list,
body.elite-keepers-crm-real .keeper-list{
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
}

body.elite-view-keepers .keeper-admin-card,
body.elite-keepers-crm-real .keeper-admin-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}

body.elite-view-keepers .keeper-main,
body.elite-keepers-crm-real .keeper-main{
  max-width:100%!important;
  min-width:0!important;
}

body.elite-view-keepers .keeper-info,
body.elite-keepers-crm-real .keeper-info{
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}

body.elite-view-keepers .keeper-info *,
body.elite-keepers-crm-real .keeper-info *{
  max-width:100%;
}

body.elite-view-keepers .keeper-name-row,
body.elite-keepers-crm-real .keeper-name-row{
  min-width:0!important;
  max-width:100%!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}

body.elite-view-keepers .keeper-name-row strong,
body.elite-keepers-crm-real .keeper-name-row strong,
body.elite-view-keepers .keeper-info span,
body.elite-keepers-crm-real .keeper-info span,
body.elite-view-keepers .keeper-info p,
body.elite-keepers-crm-real .keeper-info p{
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}

/* Habilidades de la lista */
body.elite-view-keepers .elite-b36-keeper-skills,
body.elite-keepers-crm-real .elite-b36-keeper-skills{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}

body.elite-view-keepers .elite-b36-keeper-skill-row,
body.elite-keepers-crm-real .elite-b36-keeper-skill-row{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}

body.elite-view-keepers .elite-b36-keeper-skill-chip,
body.elite-keepers-crm-real .elite-b36-keeper-skill-chip{
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  line-height:1.15!important;
  text-align:left!important;
}

/* Rating y comentarios agregados por JS */
body.elite-view-keepers .keeper-rating-box-16c16,
body.elite-keepers-crm-real .keeper-rating-box-16c16,
body.elite-view-keepers .keeper-rating-comments-16c16,
body.elite-keepers-crm-real .keeper-rating-comments-16c16,
body.elite-view-keepers .keeper-rating-comment-list-16c16,
body.elite-keepers-crm-real .keeper-rating-comment-list-16c16,
body.elite-view-keepers .keeper-rating-comment-16c16,
body.elite-keepers-crm-real .keeper-rating-comment-16c16{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}

body.elite-view-keepers .keeper-rating-summary-16c16,
body.elite-keepers-crm-real .keeper-rating-summary-16c16{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
}

body.elite-view-keepers .keeper-rating-score-16c16,
body.elite-keepers-crm-real .keeper-rating-score-16c16{
  min-width:0!important;
  max-width:100%!important;
  flex-wrap:wrap!important;
}

body.elite-view-keepers .keeper-rating-score-16c16 span,
body.elite-keepers-crm-real .keeper-rating-score-16c16 span{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  font-size:13px!important;
  letter-spacing:.5px!important;
}

body.elite-view-keepers .keeper-rating-summary-16c16 small,
body.elite-keepers-crm-real .keeper-rating-summary-16c16 small{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

body.elite-view-keepers .keeper-rating-comments-16c16 summary,
body.elite-keepers-crm-real .keeper-rating-comments-16c16 summary{
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}

body.elite-view-keepers .keeper-rating-comment-16c16 span,
body.elite-keepers-crm-real .keeper-rating-comment-16c16 span,
body.elite-view-keepers .keeper-rating-comment-16c16 p,
body.elite-keepers-crm-real .keeper-rating-comment-16c16 p{
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}

/* Botones de acciones: que no formen una fila enorme */
body.elite-view-keepers .keeper-actions-final,
body.elite-keepers-crm-real .keeper-actions-final,
body.elite-view-keepers .keeper-actions,
body.elite-keepers-crm-real .keeper-actions{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  flex-wrap:wrap!important;
  overflow:hidden!important;
}

body.elite-view-keepers .keeper-actions-final form,
body.elite-keepers-crm-real .keeper-actions-final form{
  min-width:0!important;
}

/* Picker de habilidades al agregar/editar Keeper */
body.elite-view-keepers .elite-b35-habilidades-picker,
body.elite-keepers-crm-real .elite-b35-habilidades-picker,
body.elite-view-keepers .elite-b35-habilidades-group,
body.elite-keepers-crm-real .elite-b35-habilidades-group,
body.elite-view-keepers .elite-b35-habilidades-grid,
body.elite-keepers-crm-real .elite-b35-habilidades-grid{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}

body.elite-view-keepers .elite-b35-habilidad-chip,
body.elite-keepers-crm-real .elite-b35-habilidad-chip{
  min-width:0!important;
  max-width:100%!important;
}

body.elite-view-keepers .elite-b35-habilidad-chip span,
body.elite-keepers-crm-real .elite-b35-habilidad-chip span{
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}

@media (max-width:720px){
  body.elite-view-keepers .elite-panel,
  body.elite-keepers-crm-real .elite-panel{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  body.elite-view-keepers .admin-layout,
  body.elite-keepers-crm-real .admin-layout{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  body.elite-view-keepers .keeper-admin-card,
  body.elite-keepers-crm-real .keeper-admin-card{
    padding:14px!important;
    border-radius:22px!important;
  }

  body.elite-view-keepers .keeper-main,
  body.elite-keepers-crm-real .keeper-main{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:10px!important;
    align-items:flex-start!important;
  }

  body.elite-view-keepers .keeper-photo,
  body.elite-keepers-crm-real .keeper-photo{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
  }

  body.elite-view-keepers .keeper-actions-final,
  body.elite-keepers-crm-real .keeper-actions-final{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  body.elite-view-keepers .keeper-actions-final > a,
  body.elite-keepers-crm-real .keeper-actions-final > a,
  body.elite-view-keepers .keeper-actions-final > button,
  body.elite-keepers-crm-real .keeper-actions-final > button,
  body.elite-view-keepers .keeper-actions-final > form,
  body.elite-keepers-crm-real .keeper-actions-final > form{
    width:100%!important;
    min-width:0!important;
  }

  body.elite-view-keepers .keeper-actions-final .mini-btn,
  body.elite-keepers-crm-real .keeper-actions-final .mini-btn{
    width:100%!important;
    min-width:0!important;
    justify-content:center!important;
    padding-left:8px!important;
    padding-right:8px!important;
    white-space:normal!important;
    line-height:1.12!important;
  }

  body.elite-view-keepers .keeper-actions-final .keeper-mini-icon,
  body.elite-keepers-crm-real .keeper-actions-final .keeper-mini-icon{
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
  }

  body.elite-view-keepers .keeper-rating-summary-16c16,
  body.elite-keepers-crm-real .keeper-rating-summary-16c16{
    flex-direction:column!important;
    gap:6px!important;
  }

  body.elite-view-keepers .keeper-rating-score-16c16,
  body.elite-keepers-crm-real .keeper-rating-score-16c16{
    width:100%!important;
    justify-content:flex-start!important;
  }

  body.elite-view-keepers .elite-b35-habilidades-head,
  body.elite-keepers-crm-real .elite-b35-habilidades-head{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:8px!important;
  }

  body.elite-view-keepers .elite-b35-habilidades-grid,
  body.elite-keepers-crm-real .elite-b35-habilidades-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
}

@media (max-width:420px){
  body.elite-view-keepers .keeper-admin-card,
  body.elite-keepers-crm-real .keeper-admin-card{
    padding:12px!important;
  }

  body.elite-view-keepers .keeper-main,
  body.elite-keepers-crm-real .keeper-main{
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:9px!important;
  }

  body.elite-view-keepers .keeper-photo,
  body.elite-keepers-crm-real .keeper-photo{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    font-size:15px!important;
  }

  body.elite-view-keepers .keeper-actions-final,
  body.elite-keepers-crm-real .keeper-actions-final{
    grid-template-columns:1fr 1fr!important;
  }

  body.elite-view-keepers .keeper-rating-score-16c16 strong,
  body.elite-keepers-crm-real .keeper-rating-score-16c16 strong{
    font-size:18px!important;
  }

  body.elite-view-keepers .keeper-rating-score-16c16 span,
  body.elite-keepers-crm-real .keeper-rating-score-16c16 span{
    font-size:12px!important;
  }
}
/* === FASE16C23_KEEPERS_MOBILE_RESPONSIVE_SKILLS_RATINGS END === */

/* === FASE16C24_KEEPERS_MOBILE_NO_CLIP_RESPONSIVE START === */
/* Corrige C23: no recortar contenido, hacerlo crecer y acomodarse */
body.elite-view-keepers .keeper-admin-card,
body.elite-keepers-crm-real .keeper-admin-card,
body.elite-view-keepers .keeper-main,
body.elite-keepers-crm-real .keeper-main,
body.elite-view-keepers .keeper-info,
body.elite-keepers-crm-real .keeper-info,
body.elite-view-keepers .keeper-rating-box-16c16,
body.elite-keepers-crm-real .keeper-rating-box-16c16,
body.elite-view-keepers .keeper-rating-comments-16c16,
body.elite-keepers-crm-real .keeper-rating-comments-16c16,
body.elite-view-keepers .keeper-rating-comment-list-16c16,
body.elite-keepers-crm-real .keeper-rating-comment-list-16c16,
body.elite-view-keepers .keeper-rating-comment-16c16,
body.elite-keepers-crm-real .keeper-rating-comment-16c16,
body.elite-view-keepers .elite-b36-keeper-skills,
body.elite-keepers-crm-real .elite-b36-keeper-skills,
body.elite-view-keepers .elite-b36-keeper-skill-row,
body.elite-keepers-crm-real .elite-b36-keeper-skill-row{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}

body.elite-view-keepers .keeper-admin-card,
body.elite-keepers-crm-real .keeper-admin-card{
  display:grid!important;
  gap:14px!important;
  align-items:start!important;
}

/* La columna de texto puede crecer sin cortarse */
body.elite-view-keepers .keeper-info,
body.elite-keepers-crm-real .keeper-info{
  display:grid!important;
  gap:5px!important;
  align-content:start!important;
}

/* Habilidades iguales y responsivas */
body.elite-view-keepers .elite-b36-keeper-skill-row,
body.elite-keepers-crm-real .elite-b36-keeper-skill-row{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  gap:7px!important;
  width:100%!important;
}

body.elite-view-keepers .elite-b36-keeper-skill-chip,
body.elite-keepers-crm-real .elite-b36-keeper-skill-chip{
  width:100%!important;
  min-height:34px!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:8px 9px!important;
  border-radius:14px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.12!important;
}

/* Rating: mismo ancho, sin cortar estrellas */
body.elite-view-keepers .keeper-rating-summary-16c16,
body.elite-keepers-crm-real .keeper-rating-summary-16c16{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  width:100%!important;
  height:auto!important;
  overflow:visible!important;
}

body.elite-view-keepers .keeper-rating-score-16c16,
body.elite-keepers-crm-real .keeper-rating-score-16c16{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
}

body.elite-view-keepers .keeper-rating-score-16c16 strong,
body.elite-keepers-crm-real .keeper-rating-score-16c16 strong{
  flex:0 0 auto!important;
}

body.elite-view-keepers .keeper-rating-score-16c16 span,
body.elite-keepers-crm-real .keeper-rating-score-16c16 span{
  flex:1 1 auto!important;
  text-align:right!important;
  white-space:nowrap!important;
  overflow:visible!important;
  font-size:13px!important;
  letter-spacing:.4px!important;
}

/* Comentarios: crecer, no recortar */
body.elite-view-keepers .keeper-rating-comments-16c16,
body.elite-keepers-crm-real .keeper-rating-comments-16c16{
  width:100%!important;
  overflow:visible!important;
}

body.elite-view-keepers .keeper-rating-comments-16c16[open],
body.elite-keepers-crm-real .keeper-rating-comments-16c16[open]{
  overflow:visible!important;
}

body.elite-view-keepers .keeper-rating-comment-list-16c16,
body.elite-keepers-crm-real .keeper-rating-comment-list-16c16{
  display:grid!important;
  gap:8px!important;
  padding:0 10px 10px!important;
}

body.elite-view-keepers .keeper-rating-comment-16c16,
body.elite-keepers-crm-real .keeper-rating-comment-16c16{
  height:auto!important;
  min-height:0!important;
  padding:10px!important;
}

body.elite-view-keepers .keeper-rating-comment-16c16 span,
body.elite-keepers-crm-real .keeper-rating-comment-16c16 span,
body.elite-view-keepers .keeper-rating-comment-16c16 p,
body.elite-keepers-crm-real .keeper-rating-comment-16c16 p{
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

/* Botones iguales en móvil */
@media (max-width:720px){
  body.elite-view-keepers .keeper-actions-final,
  body.elite-keepers-crm-real .keeper-actions-final{
    display:grid!important;
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
    gap:8px!important;
    align-items:stretch!important;
    overflow:visible!important;
  }

  body.elite-view-keepers .keeper-actions-final .mini-btn,
  body.elite-keepers-crm-real .keeper-actions-final .mini-btn{
    min-height:50px!important;
    height:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
  }

  body.elite-view-keepers .keeper-main,
  body.elite-keepers-crm-real .keeper-main{
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr)!important;
    gap:11px!important;
    width:100%!important;
  }

  body.elite-view-keepers .keeper-info p,
  body.elite-keepers-crm-real .keeper-info p{
    margin-bottom:0!important;
  }
}

@media (max-width:430px){
  body.elite-view-keepers .elite-b36-keeper-skill-row,
  body.elite-keepers-crm-real .elite-b36-keeper-skill-row{
    grid-template-columns:1fr!important;
  }

  body.elite-view-keepers .keeper-rating-score-16c16,
  body.elite-keepers-crm-real .keeper-rating-score-16c16{
    align-items:flex-start!important;
    flex-direction:column!important;
  }

  body.elite-view-keepers .keeper-rating-score-16c16 span,
  body.elite-keepers-crm-real .keeper-rating-score-16c16 span{
    text-align:left!important;
  }
}
/* === FASE16C24_KEEPERS_MOBILE_NO_CLIP_RESPONSIVE END === */

/* === FASE16C25_KEEPERS_MOBILE_CARD_COMPACT START === */
/* Keepers mobile: tarjeta más compacta y proporcionada */
@media (max-width:720px){

  body.elite-view-keepers .keeper-list,
  body.elite-keepers-crm-real .keeper-list{
    display:grid!important;
    gap:16px!important;
  }

  body.elite-view-keepers .keeper-admin-card,
  body.elite-keepers-crm-real .keeper-admin-card{
    padding:16px!important;
    border-radius:26px!important;
    gap:12px!important;
  }

  body.elite-view-keepers .keeper-main,
  body.elite-keepers-crm-real .keeper-main{
    display:grid!important;
    grid-template-columns:62px minmax(0,1fr)!important;
    gap:12px!important;
    align-items:flex-start!important;
  }

  body.elite-view-keepers .keeper-photo,
  body.elite-keepers-crm-real .keeper-photo{
    width:62px!important;
    height:62px!important;
    min-width:62px!important;
    border-radius:22px!important;
  }

  body.elite-view-keepers .keeper-photo img,
  body.elite-keepers-crm-real .keeper-photo img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  body.elite-view-keepers .keeper-info,
  body.elite-keepers-crm-real .keeper-info{
    gap:4px!important;
  }

  body.elite-view-keepers .keeper-name-row,
  body.elite-keepers-crm-real .keeper-name-row{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin-bottom:2px!important;
  }

  body.elite-view-keepers .keeper-name-row strong,
  body.elite-keepers-crm-real .keeper-name-row strong{
    font-size:24px!important;
    line-height:1.05!important;
    letter-spacing:-.03em!important;
  }

  body.elite-view-keepers .keeper-name-row .status-pill,
  body.elite-keepers-crm-real .keeper-name-row .status-pill{
    padding:7px 11px!important;
    font-size:12px!important;
    border-radius:999px!important;
    line-height:1!important;
  }

  body.elite-view-keepers .keeper-info > span,
  body.elite-keepers-crm-real .keeper-info > span{
    font-size:14px!important;
    line-height:1.25!important;
  }

  /* Habilidades: dejar de ser bloques gigantes */
  body.elite-view-keepers .elite-b36-keeper-skills,
  body.elite-keepers-crm-real .elite-b36-keeper-skills{
    margin:10px 0 0!important;
  }

  body.elite-view-keepers .elite-b36-keeper-skill-row,
  body.elite-keepers-crm-real .elite-b36-keeper-skill-row{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:7px!important;
    width:100%!important;
  }

  body.elite-view-keepers .elite-b36-keeper-skill-chip,
  body.elite-keepers-crm-real .elite-b36-keeper-skill-chip{
    width:auto!important;
    max-width:100%!important;
    min-height:30px!important;
    height:auto!important;
    padding:7px 11px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    font-size:13px!important;
    line-height:1.1!important;
    font-weight:850!important;
    text-align:left!important;
    box-shadow:0 6px 16px rgba(17,17,17,.04)!important;
  }

  body.elite-view-keepers .elite-b36-keeper-skill-chip::before,
  body.elite-keepers-crm-real .elite-b36-keeper-skill-chip::before{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    font-size:11px!important;
  }

  /* Rating compacto */
  body.elite-view-keepers .keeper-rating-box-16c16,
  body.elite-keepers-crm-real .keeper-rating-box-16c16{
    margin-top:10px!important;
    gap:7px!important;
  }

  body.elite-view-keepers .keeper-rating-summary-16c16,
  body.elite-keepers-crm-real .keeper-rating-summary-16c16{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:9px!important;
    padding:10px 12px!important;
    border-radius:18px!important;
  }

  body.elite-view-keepers .keeper-rating-score-16c16,
  body.elite-keepers-crm-real .keeper-rating-score-16c16{
    width:auto!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    flex-wrap:nowrap!important;
  }

  body.elite-view-keepers .keeper-rating-score-16c16 strong,
  body.elite-keepers-crm-real .keeper-rating-score-16c16 strong{
    font-size:22px!important;
    line-height:1!important;
  }

  body.elite-view-keepers .keeper-rating-score-16c16 span,
  body.elite-keepers-crm-real .keeper-rating-score-16c16 span{
    font-size:15px!important;
    line-height:1!important;
    letter-spacing:.5px!important;
    white-space:nowrap!important;
    text-align:left!important;
  }

  body.elite-view-keepers .keeper-rating-summary-16c16 small,
  body.elite-keepers-crm-real .keeper-rating-summary-16c16 small{
    display:none!important;
  }

  /* Comentarios compacto */
  body.elite-view-keepers .keeper-rating-comments-16c16,
  body.elite-keepers-crm-real .keeper-rating-comments-16c16{
    border-radius:16px!important;
  }

  body.elite-view-keepers .keeper-rating-comments-16c16 summary,
  body.elite-keepers-crm-real .keeper-rating-comments-16c16 summary{
    padding:9px 12px!important;
    font-size:14px!important;
    line-height:1.1!important;
  }

  body.elite-view-keepers .keeper-rating-comment-list-16c16,
  body.elite-keepers-crm-real .keeper-rating-comment-list-16c16{
    padding:0 8px 8px!important;
    gap:7px!important;
  }

  body.elite-view-keepers .keeper-rating-comment-16c16,
  body.elite-keepers-crm-real .keeper-rating-comment-16c16{
    padding:9px!important;
    border-radius:13px!important;
  }

  body.elite-view-keepers .keeper-rating-comment-16c16 strong,
  body.elite-keepers-crm-real .keeper-rating-comment-16c16 strong{
    font-size:13px!important;
  }

  body.elite-view-keepers .keeper-rating-comment-16c16 span,
  body.elite-keepers-crm-real .keeper-rating-comment-16c16 span{
    font-size:10px!important;
  }

  body.elite-view-keepers .keeper-rating-comment-16c16 p,
  body.elite-keepers-crm-real .keeper-rating-comment-16c16 p{
    font-size:12px!important;
    margin-top:6px!important;
  }

  /* Acciones más compactas */
  body.elite-view-keepers .keeper-actions-final,
  body.elite-keepers-crm-real .keeper-actions-final{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:4px!important;
  }

  body.elite-view-keepers .keeper-actions-final > a,
  body.elite-keepers-crm-real .keeper-actions-final > a,
  body.elite-view-keepers .keeper-actions-final > button,
  body.elite-keepers-crm-real .keeper-actions-final > button,
  body.elite-view-keepers .keeper-actions-final > form,
  body.elite-keepers-crm-real .keeper-actions-final > form{
    width:100%!important;
    min-width:0!important;
  }

  body.elite-view-keepers .keeper-actions-final .mini-btn,
  body.elite-keepers-crm-real .keeper-actions-final .mini-btn{
    width:100%!important;
    min-height:58px!important;
    height:58px!important;
    padding:7px 5px!important;
    border-radius:18px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    font-size:11px!important;
    line-height:1.05!important;
    letter-spacing:.04em!important;
  }

  body.elite-view-keepers .keeper-actions-final .keeper-action-icon,
  body.elite-keepers-crm-real .keeper-actions-final .keeper-action-icon{
    font-size:24px!important;
    line-height:1!important;
  }
}

@media (max-width:430px){
  body.elite-view-keepers .keeper-admin-card,
  body.elite-keepers-crm-real .keeper-admin-card{
    padding:14px!important;
    border-radius:24px!important;
  }

  body.elite-view-keepers .keeper-main,
  body.elite-keepers-crm-real .keeper-main{
    grid-template-columns:54px minmax(0,1fr)!important;
    gap:10px!important;
  }

  body.elite-view-keepers .keeper-photo,
  body.elite-keepers-crm-real .keeper-photo{
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    border-radius:20px!important;
  }

  body.elite-view-keepers .keeper-name-row strong,
  body.elite-keepers-crm-real .keeper-name-row strong{
    font-size:21px!important;
  }

  body.elite-view-keepers .keeper-info > span,
  body.elite-keepers-crm-real .keeper-info > span{
    font-size:13px!important;
  }

  body.elite-view-keepers .elite-b36-keeper-skill-chip,
  body.elite-keepers-crm-real .elite-b36-keeper-skill-chip{
    font-size:12px!important;
    min-height:28px!important;
    padding:6px 9px!important;
  }

  body.elite-view-keepers .keeper-rating-summary-16c16,
  body.elite-keepers-crm-real .keeper-rating-summary-16c16{
    padding:9px 11px!important;
  }

  body.elite-view-keepers .keeper-rating-score-16c16 strong,
  body.elite-keepers-crm-real .keeper-rating-score-16c16 strong{
    font-size:20px!important;
  }

  body.elite-view-keepers .keeper-rating-score-16c16 span,
  body.elite-keepers-crm-real .keeper-rating-score-16c16 span{
    font-size:13px!important;
  }

  body.elite-view-keepers .keeper-actions-final .mini-btn,
  body.elite-keepers-crm-real .keeper-actions-final .mini-btn{
    min-height:54px!important;
    height:54px!important;
    border-radius:16px!important;
    font-size:10px!important;
  }

  body.elite-view-keepers .keeper-actions-final .keeper-action-icon,
  body.elite-keepers-crm-real .keeper-actions-final .keeper-action-icon{
    font-size:22px!important;
  }
}
/* === FASE16C25_KEEPERS_MOBILE_CARD_COMPACT END === */

/* === FASE16C26_KEEPERS_MOBILE_FULL_WIDTH_META START === */
/* Mobile Keepers: foto/nombre arriba, habilidades/rating/comentarios a ancho completo */
@media (max-width:720px){

  body.elite-view-keepers .keeper-admin-card,
  body.elite-keepers-crm-real .keeper-admin-card{
    overflow:visible!important;
    height:auto!important;
    max-height:none!important;
  }

  body.elite-view-keepers .keeper-main,
  body.elite-keepers-crm-real .keeper-main{
    display:grid!important;
    grid-template-columns:62px minmax(0,1fr)!important;
    gap:10px 12px!important;
    width:100%!important;
    overflow:visible!important;
    align-items:start!important;
  }

  /*
   * Esto libera los hijos de keeper-info para poder poner
   * habilidades/rating en todo el ancho de la card.
   */
  body.elite-view-keepers .keeper-info,
  body.elite-keepers-crm-real .keeper-info{
    display:contents!important;
    overflow:visible!important;
  }

  body.elite-view-keepers .keeper-photo,
  body.elite-keepers-crm-real .keeper-photo{
    grid-column:1!important;
    grid-row:1 / span 3!important;
  }

  body.elite-view-keepers .keeper-info > .keeper-name-row,
  body.elite-keepers-crm-real .keeper-info > .keeper-name-row,
  body.elite-view-keepers .keeper-info > span,
  body.elite-keepers-crm-real .keeper-info > span{
    grid-column:2!important;
    min-width:0!important;
    max-width:100%!important;
  }

  body.elite-view-keepers .keeper-info > p,
  body.elite-keepers-crm-real .keeper-info > p,
  body.elite-view-keepers .keeper-info > .keeper-rating-box-16c16,
  body.elite-keepers-crm-real .keeper-info > .keeper-rating-box-16c16{
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }

  /* Habilidades full width, sin recorte */
  body.elite-view-keepers .elite-b36-keeper-skills,
  body.elite-keepers-crm-real .elite-b36-keeper-skills{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    margin-top:8px!important;
  }

  body.elite-view-keepers .elite-b36-keeper-skill-row,
  body.elite-keepers-crm-real .elite-b36-keeper-skill-row{
    width:100%!important;
    max-width:100%!important;
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    align-items:stretch!important;
    gap:7px!important;
    overflow:visible!important;
  }

  body.elite-view-keepers .elite-b36-keeper-skill-chip,
  body.elite-keepers-crm-real .elite-b36-keeper-skill-chip{
    flex:1 1 calc(50% - 7px)!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:32px!important;
    height:auto!important;
    padding:7px 9px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    line-height:1.12!important;
  }

  /* Rating full width, sin que se corte */
  body.elite-view-keepers .keeper-rating-box-16c16,
  body.elite-keepers-crm-real .keeper-rating-box-16c16{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    margin-top:8px!important;
  }

  body.elite-view-keepers .keeper-rating-summary-16c16,
  body.elite-keepers-crm-real .keeper-rating-summary-16c16{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
  }

  body.elite-view-keepers .keeper-rating-score-16c16,
  body.elite-keepers-crm-real .keeper-rating-score-16c16{
    width:100%!important;
    max-width:100%!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    overflow:visible!important;
  }

  body.elite-view-keepers .keeper-rating-score-16c16 span,
  body.elite-keepers-crm-real .keeper-rating-score-16c16 span{
    white-space:nowrap!important;
    overflow:visible!important;
    text-align:right!important;
  }

  body.elite-view-keepers .keeper-rating-comments-16c16,
  body.elite-keepers-crm-real .keeper-rating-comments-16c16{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }

  body.elite-view-keepers .keeper-rating-comments-16c16[open],
  body.elite-keepers-crm-real .keeper-rating-comments-16c16[open]{
    overflow:visible!important;
  }
}

@media (max-width:430px){

  body.elite-view-keepers .keeper-main,
  body.elite-keepers-crm-real .keeper-main{
    grid-template-columns:54px minmax(0,1fr)!important;
  }

  body.elite-view-keepers .elite-b36-keeper-skill-chip,
  body.elite-keepers-crm-real .elite-b36-keeper-skill-chip{
    flex:1 1 100%!important;
    min-height:30px!important;
  }

  body.elite-view-keepers .keeper-rating-summary-16c16,
  body.elite-keepers-crm-real .keeper-rating-summary-16c16{
    align-items:flex-start!important;
    flex-direction:column!important;
  }

  body.elite-view-keepers .keeper-rating-score-16c16,
  body.elite-keepers-crm-real .keeper-rating-score-16c16{
    justify-content:flex-start!important;
  }

  body.elite-view-keepers .keeper-rating-score-16c16 span,
  body.elite-keepers-crm-real .keeper-rating-score-16c16 span{
    text-align:left!important;
  }
}
/* === FASE16C26_KEEPERS_MOBILE_FULL_WIDTH_META END === */

/* =========================================================
   FASE16C48_REPORTES_MENU_MOVIL_CSS_ONLY
   Reportes no carga app.js para ir rápido.
   Este override devuelve el scroll/carrusel móvil del menú
   solo en body.elite-view-reportes.
   ========================================================= */
@media (max-width: 920px) {
  body.admin-web-app.elite-view-reportes .elite-main-sidebar {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: none !important;

    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;

    white-space: nowrap !important;
    max-width: calc(100vw - 24px) !important;
    width: calc(100vw - 24px) !important;
    left: 12px !important;
    right: 12px !important;
    pointer-events: auto !important;
  }

  body.admin-web-app.elite-view-reportes .elite-main-sidebar::-webkit-scrollbar {
    display: none !important;
  }

  body.admin-web-app.elite-view-reportes .elite-main-sidebar a,
  body.admin-web-app.elite-view-reportes .elite-main-sidebar button,
  body.admin-web-app.elite-view-reportes .elite-main-sidebar-logo,
  body.admin-web-app.elite-view-reportes .elite-main-sidebar-logo-img,
  body.admin-web-app.elite-view-reportes .elite-main-sidebar-section {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    touch-action: pan-x !important;
  }

  body.admin-web-app.elite-view-reportes .elite-main-sidebar a {
    min-width: max-content !important;
  }
}

/* =========================================================
   FASE16C49_CLIENTE_MENU_MOVIL_BAJAR
   Baja ligeramente el menú inferior en cliente.php móvil.
   Solo aplica en body.client-app-page.
   ========================================================= */
@media (max-width: 760px) {
  body.client-app-page .client-bottom-nav,
  body.client-app-page .client-mobile-nav,
  body.client-app-page .elite-client-bottom-nav,
  body.client-app-page .elite-client-mobile-nav,
  body.client-app-page .mobile-bottom-nav,
  body.client-app-page .bottom-nav,
  body.client-app-page nav.client-nav,
  body.client-app-page [data-client-mobile-menu],
  body.client-app-page [data-client-bottom-nav] {
    bottom: max(4px, calc(env(safe-area-inset-bottom, 0px) - 6px)) !important;
    transform: translateY(10px) !important;
  }
}

/* =========================================================
   FASE16C51_CLIENTE_BAJAR_APP_TABS_REAL
   El menú real de cliente.php es nav.app-tabs.
   Baja el menú inferior móvil sin afectar keeper/admin.
   ========================================================= */
@media (max-width: 760px) {
  body.client-app-page .app-tabs {
    bottom: max(8px, calc(env(safe-area-inset-bottom, 0px) - 12px)) !important;
    transform: translateY(6px) !important;
  }
}

/* FASE16C65_ALERTAS_MISMA_AGENDA */
.elite-alert-focus-16c65 {
  outline: 3px solid rgba(238, 80, 0, .42) !important;
  box-shadow: 0 0 0 8px rgba(238, 80, 0, .12) !important;
  transform: scale(1.015);
  transition: box-shadow .22s ease, outline .22s ease, transform .22s ease;
}

/* FASE16C67_ALERTAS_SIN_PARPADEO */
body.elite-view-agenda .elite-alert-row,
body.elite-view-agenda .elite-alert-stat {
  backface-visibility:hidden!important;
}

body.elite-view-agenda .elite-alert-row.is-choque {
  background:rgba(220,38,38,.07)!important;
}

body.elite-view-agenda .elite-alert-row.is-pending {
  background:rgba(245,158,11,.09)!important;
}

/* FASE16C69_CLIENTE_MAPS_AUTOCOMPLETE_STABLE */
body .pac-container {
  z-index: 2147483647 !important;
  position: absolute !important;
}

body.elite-view-cliente .pac-container,
body.client-app-page .pac-container {
  z-index: 2147483647 !important;
}

body.elite-view-cliente input[data-map-address],
body.client-app-page input[data-map-address] {
  touch-action: manipulation;
}

/* FASE16C71_CLIENTE_FLASH_AUTO_HIDE */
.elite-flash-auto-hide-16c71 {
  transition: opacity .32s ease, transform .32s ease, max-height .32s ease, margin .32s ease, padding .32s ease !important;
  will-change: opacity, transform;
}

.elite-flash-auto-hide-16c71.is-hiding-16c71 {
  opacity: 0 !important;
  transform: translateY(-6px) !important;
  max-height: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: hidden !important;
}
