:root{
  --azul:#5f8798;
  --azul-profundo:#233f52;
  --verde:#bdd9cf;
  --verde-claro:#e8f1ee;
  --crema:#f2ece8;
  --crema-claro:#fbf8f5;
  --blanco:#fff;
  --texto:#34404a;
  --muted:#5f6d75;
  --linea:#d6e3e6;
  --sombra:0 10px 24px rgba(25,48,61,.22);
  --radio:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--texto);font-family:'Nunito Sans',Arial,sans-serif;line-height:1.45;font-size:16px}
a{color:var(--azul-profundo);text-decoration:none}a:hover{color:var(--azul)}
img{max-width:100%;display:block}.container{width:min(1040px,calc(100% - 36px));margin-inline:auto}.skip{position:absolute;left:-999px}.skip:focus{left:14px;top:14px;z-index:200;background:#fff;padding:8px;border:1px solid var(--linea)}
.site-strip{height:8px;background:#2f363a}.main-nav{background:var(--crema);border-bottom:1px solid #eee7e2;position:sticky;top:0;z-index:50}.main-nav__inner{height:104px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:26px}.main-nav__side{display:flex;align-items:center;gap:26px}.main-nav__side--left{justify-content:flex-start}.main-nav__side--right{justify-content:flex-end}.main-nav__side a,.dropdown__button{font-family:'Nunito Sans',Arial,sans-serif;font-weight:500;font-size:15px;color:#344653;background:transparent;border:0;padding:8px 0;cursor:pointer}.main-nav__side a.is-active{font-weight:700;color:var(--azul)}.main-logo{justify-self:center}.main-logo img{width:205px;height:auto}.main-nav__toggle{display:none;border:1px solid var(--linea);background:#fff;border-radius:999px;padding:8px 14px;font-weight:800;color:var(--azul-profundo)}
.dropdown{position:relative}.dropdown__button span{font-size:14px;margin-left:3px}.dropdown__menu{position:absolute;top:100%;left:-10px;min-width:190px;background:#fff;border:1px solid var(--linea);box-shadow:var(--sombra);border-radius:16px;padding:8px;display:none}.dropdown:hover .dropdown__menu,.dropdown:focus-within .dropdown__menu{display:block}.dropdown__menu a{display:block;padding:9px 12px;border-radius:10px}.dropdown__menu a:hover{background:var(--verde-claro)}
.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--azul);background:var(--azul);color:#fff;border-radius:3px;padding:12px 25px;font-family:'Nunito Sans',Arial,sans-serif;font-weight:700;box-shadow:0 9px 18px rgba(35,63,82,.18);cursor:pointer;text-align:center;text-decoration:none}.btn:hover{transform:translateY(-1px);color:#fff}.btn--line{background:#fff;color:#9abeb6;border-color:var(--azul);box-shadow:0 8px 18px rgba(0,0,0,.18)}.btn--line:hover{color:var(--azul-profundo);background:#fff}.btn--outline{background:#fff;color:var(--azul-profundo)}.btn--soft{background:var(--verde-claro);color:var(--azul-profundo);border-color:var(--linea);box-shadow:none}.btn--small{padding:9px 16px;font-size:.9rem}.btn--block{width:100%}
.home-hero{background:#fff;padding:34px 0 48px}.home-hero__grid{display:grid;grid-template-columns:1fr 1.04fr;gap:74px;align-items:center}.home-hero__image img{width:100%;height:310px;object-fit:cover;border-radius:18px;box-shadow:var(--sombra)}.home-hero__content{padding-top:2px}.kicker{margin:0 0 2px;color:var(--azul);font-weight:800;font-size:17px}.home-hero h1{font-family:'Comfortaa',Arial,sans-serif;color:var(--azul);font-weight:500;font-size:clamp(1.75rem,3.5vw,2.25rem);line-height:1.08;margin:0 0 25px;max-width:520px}.home-hero p{max-width:560px;margin:0 0 14px;color:#47525a}.home-hero__actions{display:flex;justify-content:flex-end;margin-top:48px;padding-right:65px}.phone-band{background:var(--crema);text-align:center;padding:26px 0 22px}.phone-band p{margin:0;color:var(--azul);font-weight:800;font-size:18px}.phone-band strong{display:block;color:var(--azul);font-size:28px;letter-spacing:.02em;line-height:1.05;margin-bottom:16px;font-weight:600}.phone-band .btn{padding:10px 26px}.section{padding:72px 0}.section--tight{padding:38px 0 42px}.section--tint{background:var(--verde-claro)}.section__head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:30px}.section__head--center{display:block;text-align:center;margin-bottom:28px}.section__head--center p{max-width:900px;margin:12px auto 0}.section h2,.virtual h2,.page-title h1{font-family:'Comfortaa',Arial,sans-serif;color:var(--azul);font-weight:500;line-height:1.12}.section h2{font-size:clamp(1.8rem,3vw,2.4rem);margin:0}.section__head p{color:var(--muted)}
.home-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:54px}.home-card{text-align:center;color:var(--texto)}.home-card img{width:100%;height:152px;object-fit:cover;border-radius:18px;box-shadow:var(--sombra);margin-bottom:22px}.home-card h2{font-family:'Comfortaa',Arial,sans-serif;color:var(--azul);font-weight:500;font-size:21px;margin:0 0 12px}.home-card p{margin:0 auto;color:#56626b;line-height:1.35;max-width:210px}.grid{display:grid;gap:24px}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);box-shadow:0 10px 24px rgba(30,65,80,.08);padding:26px}.card h3{font-family:'Comfortaa',Arial,sans-serif;margin:10px 0 8px;color:var(--azul-profundo);font-size:1.18rem}.card p{color:#425763}.icon{font-size:2rem}.card--service{min-height:210px}.card--coverage ul{margin:0;padding-left:18px}.notice{border-left:5px solid var(--azul);background:var(--verde-claro);padding:18px;border-radius:14px}
.pros{display:grid;grid-template-columns:repeat(4,1fr);gap:50px;text-align:center}.pros--original{gap:50px}.pro-card__photo{height:154px;border-radius:18px;box-shadow:var(--sombra);overflow:hidden;background:var(--crema);display:grid;place-items:end}.pro-card__photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.pro-card h3{font-family:'Comfortaa',Arial,sans-serif;color:var(--azul);font-weight:500;font-size:18px;margin:26px 0 5px}.pro-card p{margin:0;color:#5b656d;line-height:1.16}.more-pros{display:flex;justify-content:flex-end;margin-top:28px}.more-pros .btn{min-width:260px}.pro-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.pro-list .pro-card{background:#fff;border:1px solid var(--linea);border-radius:22px;padding:16px}.pro-list .pro-card__photo{height:260px}
.virtual{display:grid;grid-template-columns:1fr 1fr;gap:62px;align-items:center}.virtual--original{align-items:start}.virtual h2{font-size:28px;margin:0 0 20px}.virtual p{margin:0 0 14px}.virtual ul{padding-left:20px;margin:0 0 18px}.virtual li{margin:6px 0}.virtual__image{border-radius:18px;overflow:hidden;box-shadow:var(--sombra);background:var(--crema)}.virtual__image img{width:100%;height:438px;object-fit:cover}.page-title{background:linear-gradient(135deg,var(--crema),var(--verde-claro));padding:54px 0}.page-title h1{font-size:clamp(2rem,4vw,3.2rem);margin:0 0 10px}.page-title p{margin:0;color:#4f626d;max-width:820px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.pill{display:inline-flex;border:1px solid var(--linea);background:#fff;border-radius:999px;padding:8px 14px;color:var(--azul-profundo);font-weight:750}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form{display:grid;gap:14px}.form input,.form textarea,.form select{width:100%;border:1px solid var(--linea);border-radius:16px;padding:13px 15px;font:inherit;background:#fff}.form textarea{min-height:140px}.login-wrap{min-height:calc(100vh - 160px);display:grid;place-items:center;background:linear-gradient(135deg,var(--crema),var(--verde-claro));padding:52px 16px}.login-card{width:min(460px,100%);background:#fff;border:1px solid var(--linea);border-radius:30px;box-shadow:var(--sombra);padding:32px}.login-card__logo{width:220px;height:auto;margin:0 auto 22px}.demo-box{background:var(--crema-claro);border:1px solid #eadfd5;border-radius:18px;padding:14px;font-size:.92rem;color:#4b5e68}.clean-list{padding-left:20px;margin:0}.clean-list li{margin:10px 0}.access-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch}.access-card h2{font-family:'Comfortaa',Arial,sans-serif;color:var(--azul-profundo);margin-top:0}.access-card--soft{background:var(--verde-claro)}.mini-note{font-size:.92rem;color:var(--muted);margin-top:18px}
.app-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh;background:#f7fbfb}.sidebar{background:#f4eee8;border-right:1px solid #e4d7cd;padding:24px}.sidebar img{width:180px;height:auto}.sidebar a{display:block;border-radius:14px;padding:10px 12px;margin:4px 0;font-weight:800;color:var(--azul-profundo)}.sidebar a.is-active,.sidebar a:hover{background:#dbeef6;color:var(--azul-profundo)}.app-main{padding:28px}.app-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.metric{font-size:2rem;font-weight:900;color:var(--azul-profundo)}.badge{display:inline-flex;background:var(--verde-claro);color:var(--azul-profundo);border:1px solid var(--linea);border-radius:999px;padding:6px 10px;font-size:.88rem;font-weight:800;margin:4px}.tech{background:#0f2633;color:#ecf6f7;border-radius:26px;padding:28px}.tech h3{color:#fff}.tech code{background:#17384a;border-radius:8px;padding:2px 6px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px;border-bottom:1px solid var(--linea);text-align:left}.table th{color:var(--azul-profundo);font-weight:900;background:#f6fbfc}.side-group{margin:12px 0 8px;padding-top:8px;border-top:1px solid rgba(23,56,74,.12)}.side-group span{display:block;padding:6px 12px 4px;color:#6b7d86;text-transform:uppercase;letter-spacing:.06em;font-weight:900;font-size:.72rem}.side-group a{font-size:.92rem;margin:2px 0}.admin-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.admin-section-card h3{margin-top:0}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.module-card h2{font-family:'Comfortaa',Arial,sans-serif;color:var(--azul-profundo);font-size:clamp(1.6rem,3vw,2.4rem);margin:.35em 0}.section--compact{padding:28px 0}.app-role-admin .sidebar{background:#fbfbfd}.app-role-empleado .sidebar{background:#f0f2f8}.app-role-profesional .sidebar{background:#f7f1ec}.app-role-paciente .sidebar{background:#eef6f3}
.footer{background:#f7f7f7;color:#4e5e66;padding:42px 0 36px;text-align:center;border-top:1px solid #e7eded}.footer a{color:var(--azul)}.footer__center{max-width:860px}.footer__logo{width:190px;height:auto;margin:0 auto 16px}.footer__links{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;font-weight:700}.footer__note{opacity:.8;max-width:720px;margin:14px auto 0}.wa-float{position:fixed;right:18px;bottom:18px;z-index:40;background:#25d366;color:#fff;border-radius:999px;padding:13px 18px;font-weight:900;box-shadow:var(--sombra)}.wa-float:hover{text-decoration:none;color:#fff}.modal{position:fixed;inset:0;background:rgba(10,28,38,.56);display:grid;place-items:center;z-index:100;padding:20px}.modal[hidden]{display:none}.modal__box{width:min(520px,100%);background:#fff;border-radius:24px;padding:30px;box-shadow:var(--sombra);position:relative}.modal__close{position:absolute;top:12px;right:14px;border:0;background:transparent;font-size:2rem;cursor:pointer}.modal__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
@media (max-width:980px){.main-nav__inner{display:flex;justify-content:space-between}.main-nav__side--left{display:none}.main-nav__toggle{display:inline-flex}.main-nav__side--right{display:none;position:absolute;top:104px;left:16px;right:16px;background:#fff;border:1px solid var(--linea);border-radius:22px;padding:18px;box-shadow:var(--sombra);flex-direction:column;align-items:stretch}.main-nav__side--right.is-open{display:flex}.home-hero__grid,.virtual,.contact-grid,.access-grid{grid-template-columns:1fr}.home-hero__actions{justify-content:flex-start;padding-right:0;margin-top:24px}.home-card-grid,.pros,.grid--4{grid-template-columns:repeat(2,1fr)}.grid--3,.pro-list,.admin-home-grid{grid-template-columns:1fr 1fr}.more-pros{justify-content:center}.app-shell{grid-template-columns:1fr}.app-head{display:block}.home-hero__image img{height:auto}.virtual__image img{height:auto}}
@media (max-width:600px){.container{width:min(100% - 24px,1040px)}.site-strip{height:6px}.main-nav__inner{height:82px}.main-logo img{width:170px}.main-nav__side--right{top:82px}.home-hero{padding:22px 0 34px}.home-hero__grid{gap:28px}.home-hero h1{font-size:1.78rem}.phone-band strong{font-size:24px}.home-card-grid,.pros,.grid--3,.grid--4,.pro-list,.quick{grid-template-columns:1fr}.home-card-grid{gap:30px}.pro-card__photo{height:190px}.section{padding:52px 0}.app-main{padding:18px}.footer__links{gap:10px}}


/* v5: ajustes visuales solicitados */
.main-logo img{width:222px;max-height:58px;object-fit:contain}
.home-cards{overflow:hidden}.home-card{display:block}.home-card img{height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:18px;box-shadow:var(--sombra);background:var(--crema)}
.home-card h2{margin-top:18px}.home-card p{min-height:3.4em}
.pros-section{background:var(--verde-claro)}
.pros--original{gap:52px;align-items:start}.pro-card__photo{height:auto;aspect-ratio:4/3;border-radius:18px;box-shadow:0 8px 19px rgba(25,48,61,.18);overflow:hidden;background:#f5efeb;display:flex;align-items:flex-end;justify-content:center}.pro-card__photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block}.pro-card h3{font-size:18px;margin-top:24px}.pro-card p{font-size:15px;line-height:1.18}.pro-list .pro-card__photo{height:auto;aspect-ratio:1/1}.virtual__image img{object-position:center}
.footer{background:var(--crema);color:#4e5e66;padding:42px 0 22px;text-align:center;border-top:0}.footer__grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:44px;align-items:start}.footer__col h2{font-family:'Comfortaa',Arial,sans-serif;color:var(--azul);font-size:25px;font-weight:500;margin:0 0 8px}.footer__col p{margin:4px 0;line-height:1.3}.footer__contact{text-align:center}.footer__quick{text-align:center;display:flex;flex-direction:column;align-items:center}.footer__quick a{color:#9abeb6;margin:2px 0;font-weight:500}.footer__quick a:hover{color:var(--azul-profundo)}.footer__social{text-align:center}.footer__social-icons{display:flex;gap:9px;justify-content:center;margin:8px 0 10px}.social-icon{width:30px;height:30px;border-radius:3px;background:var(--azul);color:#fff!important;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:20px;line-height:1;text-decoration:none}.social-icon:hover{background:var(--azul-profundo);color:#fff}.footer__qr-link{display:inline-block}.footer__qr{width:96px;height:96px;object-fit:contain;margin:0 auto}.footer__credits{text-align:center;margin-top:24px;font-style:italic}.footer__credits a{color:#0c2434}.footer__center,.footer__logo,.footer__links,.footer__note{display:none!important}
@media (max-width:980px){.footer__grid{grid-template-columns:1fr;gap:28px}.home-card-grid{gap:34px}.pros--original{gap:34px}.footer__credits{margin-top:12px}}
@media (max-width:600px){.home-card img{aspect-ratio:16/10}.pro-card__photo{aspect-ratio:16/11}.main-logo img{width:185px}.footer__col h2{font-size:22px}}

/* v6 ajustes solicitados: formularios públicos, imágenes más adaptables y profesionales sin reborde ajeno */
.home-card-grid{gap:46px;align-items:start}.home-card{display:block}.home-card img{width:100%;max-width:245px;aspect-ratio:16/9;height:auto;object-fit:cover;object-position:center center;border-radius:17px;display:block;margin:0 auto 22px;box-shadow:0 9px 19px rgba(25,48,61,.18);background:transparent}.home-card:hover img{transform:translateY(-2px);transition:.18s ease}.home-card:nth-child(1) img{object-position:center center}.home-card:nth-child(2) img{object-position:center center}.home-card:nth-child(3) img{object-position:center center}.home-card:nth-child(4) img{object-position:center center}
.pros--original{gap:52px;align-items:start}.pro-card__photo{height:auto;aspect-ratio:4/3;border-radius:18px;box-shadow:0 8px 19px rgba(25,48,61,.18);overflow:hidden;background:transparent;display:block}.pro-card__photo img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;background:transparent}.pro-card h3{font-size:18px;margin-top:24px}.pro-card p{font-size:15px;line-height:1.18}.pro-list .pro-card__photo{height:auto;aspect-ratio:4/3;background:transparent}.pro-list .pro-card__photo img{object-fit:cover;object-position:center center}
.form-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:26px;align-items:start}.form-card{padding:30px}.form-side{position:sticky;top:128px}.form--public{margin-top:18px}.form-grid{display:grid;gap:14px}.form-grid--2{grid-template-columns:1fr 1fr}.form-grid--3{grid-template-columns:1fr 1.25fr 1fr}.form label{font-weight:800;color:var(--azul-profundo);font-size:.95rem}.form label input,.form label textarea,.form label select,.form select{margin-top:7px}.fieldset-inline{border:1px solid var(--linea);border-radius:16px;padding:15px 16px;margin:0;display:flex;gap:22px;flex-wrap:wrap;align-items:center;background:#fff}.fieldset-inline legend{font-weight:900;color:var(--azul-profundo);padding:0 6px}.fieldset-inline label{display:inline-flex;align-items:center;gap:8px;margin:0;color:#425763}.form-note{font-size:.92rem;color:#667983;margin:0}.form-alert{border-radius:16px;padding:14px 16px;margin:16px 0;font-weight:800}.form-alert--ok{background:#eef8f0;color:#1f6b3c;border:1px solid #cae8d1}.form-alert--error{background:#fff2f2;color:#9c2f2f;border:1px solid #efcaca}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.footer__grid{grid-template-columns:1fr 1fr 1fr;max-width:960px;margin:0 auto}.footer__credits a{font-weight:900;text-decoration:none}.footer__credits a:hover{text-decoration:underline}.footer__social-icons a{transition:.18s ease}.footer__social-icons a:hover{transform:translateY(-1px)}
@media (max-width:980px){.form-layout{grid-template-columns:1fr}.form-side{position:static}.form-grid--2,.form-grid--3{grid-template-columns:1fr}.home-card img{max-width:280px}.pro-card__photo,.pro-list .pro-card__photo{aspect-ratio:16/10}.pro-card__photo img,.pro-list .pro-card__photo img{object-fit:cover}.footer__grid{grid-template-columns:1fr;max-width:540px}}
@media (max-width:600px){.home-card img{max-width:100%;aspect-ratio:16/10}.pro-card__photo{aspect-ratio:16/10}.form-card{padding:22px}.form-side{padding:22px}}


/* v7: acceso público sin detalle interno de portales */
.access-single{max-width:620px;margin:0 auto}.access-card--primary{text-align:center;padding:36px}.access-card--primary .btn{margin-top:10px}.mini-note{font-size:.93rem;color:#667983;margin-top:16px}.access-card--soft{display:none!important}
.status-list{display:grid;gap:10px;margin:18px 0}.status-item{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--linea);border-radius:14px;padding:11px 13px;background:#fff}.status-ok{color:#1f6b3c;font-weight:900}.status-warn{color:#9c6b1f;font-weight:900}.status-bad{color:#9c2f2f;font-weight:900}.code-box{background:#0f2430;color:#eef8fb;border-radius:18px;padding:16px;overflow:auto;font-size:.9rem}.split-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}

/* v10: mini modal de canal WhatsApp visible, cerrable y sin botón flotante */
.main-logo img{
  width:292px!important;
  max-height:none!important;
  object-fit:contain;
}
.main-nav__inner{height:96px;}
.home-card img{
  max-width:246px;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:center center;
}
.pros-section .section__head--center{
  text-align:left;
  margin-bottom:38px;
}
.pros-section .section__head--center p{
  margin:12px 0 0;
  max-width:100%;
}
.pros--original .pro-card__photo{
  aspect-ratio:4/3;
  background:transparent;
}
.pros--original .pro-card__photo img{
  object-fit:cover;
  object-position:center center;
}
.page-title--simple{
  padding:48px 0 52px;
  background:linear-gradient(90deg,var(--crema) 0%,var(--verde-claro) 100%);
}
.page-title--simple .kicker{
  margin:0 0 8px;
  font-size:17px;
}
.page-title--simple h1{
  font-size:clamp(2rem,3.2vw,2.75rem);
  margin:0 0 12px;
  max-width:820px;
}
.section--form{padding:56px 0 72px;}
.form-layout--stacked{
  display:block;
  max-width:850px;
}
.form-layout--stacked .form-side--top{
  position:static;
  margin:0 0 26px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px 28px;
  align-items:center;
}
.form-layout--stacked .form-side--top h3,
.form-layout--stacked .form-side--top p{margin:0;}
.form-layout--stacked .form-side--top .btn{justify-self:end;grid-row:1 / span 3;}
.wa-float{
  right:20px;
  bottom:20px;
  width:62px;
  height:62px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:transparent;
  box-shadow:0 9px 22px rgba(18,93,51,.28);
  overflow:hidden;
}
.wa-float img{width:62px;height:62px;display:block;}
.wa-channel-float{
  position:fixed;
  right:22px;
  bottom:92px;
  z-index:41;
  border:1px solid #d5e5e0;
  background:#fff;
  color:var(--azul-profundo);
  border-radius:999px;
  padding:10px 16px;
  font-family:'Nunito Sans',Arial,sans-serif;
  font-weight:900;
  box-shadow:0 8px 20px rgba(25,48,61,.16);
  cursor:pointer;
}
.wa-channel-float:hover{transform:translateY(-1px);}
.modal--mini{padding:18px;}
.wa-modal{text-align:center;max-width:430px;padding:26px 26px 28px;}
.wa-modal__image{width:210px;max-width:72%;height:auto;margin:0 auto 12px;border-radius:16px;}
.wa-modal h2{
  font-family:'Comfortaa',Arial,sans-serif;
  color:var(--azul);
  font-size:1.55rem;
  margin:8px 0 8px;
  font-weight:500;
}
.wa-modal p{margin:0 auto;color:#4f626d;max-width:320px;}
.wa-modal .modal__actions{justify-content:center;}
@media (max-width:980px){
  .main-logo img{width:246px!important;}
  .main-nav__inner{height:88px;}
  .main-nav__side--right{top:88px;}
  .pros-section .section__head--center{text-align:center;}
  .pros-section .section__head--center p{margin:12px auto 0;}
}
@media (max-width:600px){
  .main-logo img{width:218px!important;}
  .main-nav__inner{height:82px;}
  .main-nav__side--right{top:82px;}
  .form-layout--stacked .form-side--top{display:block;}
  .form-layout--stacked .form-side--top .btn{margin-top:14px;width:100%;}
  .wa-float{width:58px;height:58px;right:16px;bottom:16px;}
  .wa-float img{width:58px;height:58px;}
  .wa-channel-float{right:17px;bottom:82px;padding:9px 14px;}
}

/* v9: acceso final, páginas en construcción y formularios simplificados */
.access-portal-body{
  margin:0;
  min-height:100vh;
  font-family:'Nunito Sans',Arial,sans-serif;
}
.access-portal{
  position:relative;
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:32px 16px;
  background:
    linear-gradient(rgba(247,250,250,.78),rgba(247,250,250,.78)),
    url('../img/brand/pattern.jpg') center/cover no-repeat;
}
.access-portal__overlay{position:absolute;inset:0;background:rgba(255,255,255,.16)}
.access-portal__card{
  position:relative;
  z-index:1;
  width:min(440px,100%);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(4px);
  border:1px solid #dce6e7;
  border-radius:24px;
  box-shadow:0 18px 42px rgba(27,53,67,.16);
  padding:32px 28px 30px;
}
.access-portal__logo{width:240px;max-width:88%;height:auto;margin:0 auto 18px}
.access-portal__card h1{
  font-family:'Comfortaa',Arial,sans-serif;
  color:var(--azul);
  font-size:clamp(2rem,4vw,2.35rem);
  line-height:1.05;
  margin:0 0 14px;
  font-weight:500;
}
.access-portal__notes{margin:0 0 16px;padding-left:18px;color:#53616c;font-size:.96rem}
.access-portal__notes li{margin:6px 0}
.access-portal__form{gap:12px}
.access-portal__form label{font-size:.95rem;font-weight:800;color:var(--azul-profundo)}
.access-portal__form input{
  margin-top:7px;
  border-radius:14px;
  border:1px solid #cad7dd;
  padding:13px 14px;
  background:#eef4fb;
}
.access-portal__help{display:inline-block;font-size:.95rem;color:#5b8af8;margin-top:-2px}
.access-portal__btn{width:100%;border-radius:999px;padding:13px 24px;font-size:1.02rem}
.access-portal__btn--secondary{margin-top:-2px;background:#dbe7f3;border-color:#cfdde8;color:#20384b}
.section--construction{padding:92px 0;background:linear-gradient(180deg,#faf8f6 0%,#edf4f1 100%)}
.construction-wrap{display:flex;justify-content:center}
.construction-card{max-width:640px;text-align:center;padding:44px 34px}
.construction-card__icon{display:inline-grid;place-items:center;width:78px;height:78px;border-radius:999px;background:var(--verde-claro);font-size:2rem;margin:0 auto 18px}
.construction-card h1{font-family:'Comfortaa',Arial,sans-serif;color:var(--azul);font-size:clamp(2rem,4vw,2.8rem);font-weight:500;margin:0 0 16px}
.construction-card p{max-width:520px;margin:0 auto 12px;color:#51616c}
.services-grid--full{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service-specialty{padding:24px 22px;min-height:220px}
.service-specialty__icon{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--verde-claro);font-size:1.8rem;margin-bottom:14px}
.service-specialty h3{margin-top:0;color:var(--azul-profundo)}
.service-specialty__label{margin:0 0 10px;font-weight:800;color:#43545d}
.service-specialty ul{margin:0;padding-left:18px;color:#55656e}
.service-specialty li{margin:6px 0}
.section--form-flat{padding:54px 0 64px;background:#fbfbfb}
.form-centered-wrap{display:flex;justify-content:center}
.form-card--centered{width:min(760px,100%);padding:34px 28px 26px}
.form-card--centered h1{font-family:'Comfortaa',Arial,sans-serif;color:#141b22;font-size:clamp(2rem,4vw,2.65rem);font-weight:500;line-height:1.08;margin:0 0 14px}
.form-card--centered > p{margin:0 0 22px;color:#566872}
.fieldset-inline--stacked{display:block;padding:16px 16px 14px}
.fieldset-inline--stacked legend{margin-bottom:10px}
.radio-inline{display:flex;gap:18px;flex-wrap:wrap}
.radio-inline label{font-weight:600;color:#53616c}
.btn--pill{width:100%;border-radius:999px;padding:15px 24px;font-size:1.04rem}
@media (max-width:980px){
  .services-grid--full{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .access-portal__card{padding:28px 20px 24px}
  .access-portal__logo{width:215px}
  .services-grid--full{grid-template-columns:1fr}
  .form-card--centered{padding:26px 20px 22px}
}

/* v9: acceso final, servicios por especialidad y páginas en construcción */
.portal-access-body{
  min-height:100vh;
  margin:0;
  background:#dceff1 url('../img/brand/pattern.jpg') center center / cover no-repeat fixed;
  font-family:'Nunito Sans',Arial,sans-serif;
  color:var(--azul-profundo);
}
.portal-access-wrap{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:42px 18px;
  background:rgba(255,255,255,.18);
}
.portal-access-card{
  width:min(470px,100%);
  background:rgba(255,255,255,.96);
  border:1px solid rgba(214,227,230,.9);
  border-radius:22px;
  box-shadow:0 18px 38px rgba(35,63,82,.16);
  padding:40px 34px 34px;
}
.portal-access-logo{
  width:285px;
  max-width:92%;
  height:auto;
  margin:0 auto 24px;
}
.portal-access-card h1{
  font-family:'Comfortaa',Arial,sans-serif;
  color:var(--azul);
  font-size:1.55rem;
  font-weight:600;
  margin:0 0 12px;
}
.portal-access-help{
  list-style:none;
  padding:0;
  margin:0 0 22px;
  font-size:.91rem;
  line-height:1.23;
  color:#344653;
}
.portal-access-help li{
  position:relative;
  padding-left:18px;
  margin:3px 0;
}
.portal-access-help li::before{
  content:'✦';
  position:absolute;
  left:0;
  top:0;
  color:#2f7ecb;
  font-size:.72rem;
  line-height:1.7;
}
.portal-login-form{
  gap:12px;
}
.portal-login-form label{
  font-weight:800;
  color:var(--azul-profundo);
  font-size:.92rem;
}
.portal-login-form input{
  margin-top:6px;
  border-radius:12px;
  background:#eaf1fb;
  border-color:#c5d4e5;
  min-height:45px;
}
.portal-forgot{
  display:inline-block;
  width:max-content;
  font-weight:800;
  color:#2d65d8;
  font-size:.9rem;
  margin:2px 0 4px;
}
.portal-login-btn{
  width:235px;
  max-width:100%;
  margin:0 auto;
  border-radius:999px;
  padding:11px 18px;
  background:#c7dbe9;
  border-color:#b8cfdf;
  color:#1a2430;
  box-shadow:none;
}
.portal-login-btn:hover{
  background:#b8d1e1;
  color:#1a2430;
}
.portal-login-btn--soft{
  background:#d5e3ee;
  border-color:#c3d8e8;
  margin-top:2px;
}
.services-page{background:#fff;}
.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.service-specialty-card{
  display:grid;
  grid-template-columns:62px 1fr;
  gap:18px;
  align-items:start;
  background:#fff;
  border:1px solid var(--linea);
  border-radius:22px;
  box-shadow:0 10px 22px rgba(30,65,80,.08);
  padding:22px;
}
.service-specialty-icon{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:linear-gradient(135deg,var(--verde-claro),#fff);
  color:var(--azul);
  font-size:1.75rem;
  border:1px solid var(--linea);
}
.service-specialty-card h2{
  font-family:'Comfortaa',Arial,sans-serif;
  color:var(--azul);
  font-size:1.1rem;
  line-height:1.2;
  font-weight:600;
  margin:0 0 8px;
}
.service-specialty-card p{
  margin:0 0 4px;
  color:#5f6d75;
  font-weight:800;
  font-size:.92rem;
}
.service-specialty-card ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:2px;
}
.service-specialty-card li{
  color:#344653;
  font-weight:650;
}
.construction-section{
  min-height:380px;
  display:grid;
  align-items:center;
}
.construction-card{
  max-width:720px;
  text-align:center;
  background:#fff;
  border:1px solid var(--linea);
  border-radius:28px;
  box-shadow:0 12px 28px rgba(30,65,80,.1);
  padding:42px 32px;
}
.construction-icon{
  width:76px;
  height:76px;
  border-radius:24px;
  display:grid;
  place-items:center;
  margin:0 auto 18px;
  background:var(--verde-claro);
  color:var(--azul);
  font-family:'Comfortaa',Arial,sans-serif;
  font-weight:800;
  font-size:2rem;
  border:1px solid var(--linea);
}
.construction-card h2{
  font-size:2rem;
  margin:0 0 10px;
}
.construction-card p{
  max-width:560px;
  margin:0 auto 22px;
  color:#4f626d;
}
@media (max-width:980px){
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .portal-access-card{padding:34px 26px;}
}
@media (max-width:640px){
  .portal-access-wrap{padding:26px 14px;}
  .portal-access-card{padding:30px 22px;border-radius:20px;}
  .portal-access-logo{width:235px;margin-bottom:20px;}
  .portal-access-card h1{font-size:1.35rem;}
  .services-grid{grid-template-columns:1fr;}
  .service-specialty-card{grid-template-columns:52px 1fr;padding:18px;}
  .service-specialty-icon{width:52px;height:52px;font-size:1.45rem;border-radius:17px;}
}


/* v10: popup real del canal de WhatsApp, sin botón intermedio */
.wa-channel-float{display:none!important;}
.modal--channel-pop{
  position:fixed;
  inset:auto 22px 98px auto;
  width:min(360px,calc(100vw - 44px));
  min-height:0;
  padding:0;
  background:transparent;
  display:block;
  place-items:unset;
  z-index:90;
}
.modal--channel-pop[hidden]{display:none!important;}
.modal--channel-pop .wa-modal{
  width:100%;
  max-width:none;
  padding:18px 18px 20px;
  border-radius:20px;
  border:1px solid rgba(200,217,231,.95);
  box-shadow:0 18px 42px rgba(22,45,58,.18);
  text-align:left;
}
.modal--channel-pop .modal__close{
  width:32px;
  height:32px;
  top:10px;
  right:10px;
  border-radius:999px;
  background:#f5efeb;
  color:#577b8c;
  font-size:1.45rem;
  line-height:1;
}
.modal--channel-pop .wa-modal__image{
  width:116px;
  max-width:42%;
  margin:0 0 10px;
  border-radius:14px;
}
.modal--channel-pop .wa-modal h2{
  font-size:1.2rem;
  margin:0 38px 6px 0;
  color:#577b8c;
}
.modal--channel-pop .wa-modal p{
  max-width:none;
  margin:0;
  font-size:.95rem;
}
.modal--channel-pop .modal__actions{
  margin-top:14px;
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.modal--channel-pop .btn,
.modal--channel-pop .btn--outline{
  width:100%;
  justify-content:center;
  text-align:center;
}
@media (max-width: 680px){
  .modal--channel-pop{right:14px;bottom:86px;width:min(330px,calc(100vw - 28px));}
  .modal--channel-pop .wa-modal{padding:16px;}
}


/* v11: correcciones solicitadas */
.main-nav .dropdown__menu{min-width:168px;}

.page-title--compact,
.page-title--simple.page-title--compact{
  padding:42px 0 44px;
  background:linear-gradient(90deg,var(--crema) 0%,var(--verde-claro) 100%);
}
.page-title--compact .kicker{font-size:15px;margin:0 0 6px;color:var(--azul-profundo);}
.page-title--compact h1,
.page-title--simple.page-title--compact h1{
  font-size:clamp(1.75rem,3vw,2.25rem);
  line-height:1.12;
  max-width:720px;
  margin:0 0 12px;
}
.page-title--compact p{font-size:1rem;max-width:760px;}

.portal-access-body{
  background:#dceff6 url('../img/brand/pattern-celeste.jpg') center center / cover no-repeat fixed!important;
}
.portal-access-wrap{
  background:rgba(255,255,255,.30)!important;
}
.portal-access-card{
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 42px rgba(35,63,82,.12);
}

.wa-float{
  width:74px;
  height:74px;
  right:22px;
  bottom:22px;
  padding:9px;
  background:#fff;
  border:1px solid rgba(37,211,102,.22);
  box-shadow:0 12px 28px rgba(35,63,82,.18);
}
.wa-float img{
  width:56px;
  height:56px;
  border-radius:999px;
}
.wa-float::after{
  content:'';
  position:absolute;
  inset:6px;
  border-radius:999px;
  border:1px solid rgba(37,211,102,.18);
  pointer-events:none;
}
.modal--channel-pop{
  right:26px;
  bottom:112px;
  width:min(286px,calc(100vw - 52px));
}
.modal--channel-pop .wa-modal.wa-modal--image-only{
  padding:18px;
  border-radius:22px;
  background:#fff;
  text-align:center;
}
.wa-modal__link{display:block;border-radius:18px;overflow:hidden;}
.modal--channel-pop .wa-modal--image-only .wa-modal__image{
  display:block;
  width:100%;
  max-width:none;
  margin:0;
  border-radius:18px;
  box-shadow:none;
}
.modal--channel-pop .wa-modal--image-only .modal__close{
  top:-10px;
  right:-10px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid var(--linea);
  color:var(--azul-profundo);
  box-shadow:0 6px 18px rgba(35,63,82,.16);
}
.modal--channel-pop .wa-modal--image-only h2,
.modal--channel-pop .wa-modal--image-only p,
.modal--channel-pop .wa-modal--image-only .modal__actions{display:none!important;}

.services-grid--v11{
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.service-specialty-card--v11{
  min-height:155px;
  padding:20px 20px;
  grid-template-columns:58px 1fr;
}
.service-specialty-card--v11 .service-specialty-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  font-size:1.55rem;
}
.service-specialty-card--v11 h2{
  font-size:1rem;
  line-height:1.22;
  margin:0 0 9px;
  color:#577b8c;
}
.service-specialty-card--v11 p:not(.service-note){display:none!important;}
.service-specialty-card--v11 ul{gap:5px;}
.service-specialty-card--v11 li{
  line-height:1.28;
  color:#2e4158;
}
.service-specialty-card--v11 li strong{font-weight:800;}
.service-specialty-card--v11 li span{
  display:block;
  font-size:.9rem;
  color:#5f6d75;
  font-weight:600;
  margin-top:1px;
}
.service-note{
  display:block!important;
  margin:8px 0 0!important;
  color:#5f6d75!important;
  font-weight:650!important;
  font-size:.91rem!important;
}

.about-hero__grid{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:34px;
}
.about-hero__mark{
  width:116px;
  opacity:.72;
}
.about-section{background:#fff;padding-top:64px;}
.about-values{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.about-value-card{
  background:#2e4158;
  color:#fff;
  border-radius:22px;
  padding:26px 24px;
  box-shadow:0 12px 28px rgba(35,63,82,.16);
}
.about-value-card h2{
  font-size:1.28rem;
  margin:0 0 12px;
  color:#fff;
  font-family:'Comfortaa',Arial,sans-serif;
  font-weight:500;
}
.about-value-card p{margin:0;color:rgba(255,255,255,.92);}
.about-story-soon{padding:56px 0;}
.about-soon-card{
  display:grid;
  grid-template-columns:1fr 290px;
  gap:30px;
  align-items:center;
  background:#fff;
  border:1px solid var(--linea);
  border-radius:26px;
  padding:30px;
  box-shadow:0 10px 24px rgba(30,65,80,.08);
}
.about-soon-card h2{
  margin:0 0 10px;
  font-size:clamp(1.7rem,2.6vw,2.15rem);
}
.about-soon-card img{
  border-radius:18px;
  height:170px;
  object-fit:cover;
  box-shadow:0 8px 20px rgba(35,63,82,.12);
}

@media (max-width:980px){
  .services-grid--v11{grid-template-columns:repeat(2,1fr);}
  .about-values{grid-template-columns:1fr;}
  .about-soon-card{grid-template-columns:1fr;}
  .about-soon-card img{height:190px;width:100%;}
}
@media (max-width:680px){
  .page-title--compact,.page-title--simple.page-title--compact{padding:34px 0 36px;}
  .services-grid--v11{grid-template-columns:1fr;}
  .about-hero__grid{grid-template-columns:1fr;}
  .about-hero__mark{width:92px;}
  .wa-float{width:66px;height:66px;padding:8px;right:16px;bottom:16px;}
  .wa-float img{width:50px;height:50px;}
  .modal--channel-pop{right:18px;bottom:96px;width:min(270px,calc(100vw - 36px));}
}

/* v12: ajustes solicitados 07/07 */
.portal-access-body{
  background-color:#e6f6fb!important;
  background-image:url('../img/brand/pattern-celeste.jpg')!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
}
.portal-access-wrap{
  position:relative;
  background:rgba(232,247,252,.68)!important;
}
.portal-access-wrap::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(232,247,252,.72),rgba(255,255,255,.58));
  pointer-events:none;
}
.portal-access-card{
  position:relative;
  z-index:1;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 18px 38px rgba(35,63,82,.10)!important;
}
.form-card--alquiler h1,
.form-card--suggestions h1{
  color:var(--azul)!important;
  text-align:center!important;
  font-size:clamp(1.8rem,3vw,2.25rem)!important;
  line-height:1.12!important;
  max-width:720px;
  margin:0 auto 14px!important;
}
.form-card--alquiler > p,
.form-card--suggestions > p{
  text-align:center;
  max-width:720px;
  margin:0 auto 24px!important;
  color:#566872;
}
.form-card--suggestions{width:min(850px,100%)}
.footer__quick a[href="index.php"],
.footer__quick a[href="profesionales.php"],
.footer__quick a[href="sobre-nosotros.php"]{display:none!important;}

/* v13: canal de WhatsApp definitivo y botón profesionales a servicios */


/* v14: ajustes solicitados 07/07 tarde */
.portal-access-body{
  background-color:#ecf8fb!important;
  background-image:url('../img/brand/access-bg-tile.png')!important;
  background-repeat:repeat!important;
  background-position:center top!important;
  background-size:161px 159px!important;
  background-attachment:scroll!important;
}
.portal-access-wrap{
  background:rgba(236,248,251,.56)!important;
}
.portal-access-wrap::before{
  background:linear-gradient(180deg,rgba(236,248,251,.30),rgba(236,248,251,.22))!important;
}
.page-title--compact,
.page-title--simple.page-title--compact{
  padding:30px 0 32px!important;
}
.page-title--compact .kicker{font-size:14px!important;margin:0 0 4px!important;}
.page-title--compact h1,
.page-title--simple.page-title--compact h1{
  font-size:clamp(1.38rem,2.35vw,1.82rem)!important;
  line-height:1.12!important;
  margin:0 0 8px!important;
  max-width:640px!important;
}
.page-title--compact p{
  font-size:.97rem!important;
  max-width:680px!important;
}
.form-card--alquiler h1,
.form-card--suggestions h1{
  color:var(--azul)!important;
  text-align:center!important;
  font-size:clamp(1.42rem,2.1vw,1.85rem)!important;
  line-height:1.14!important;
  max-width:680px!important;
  margin:0 auto 10px!important;
}
.form-card--alquiler > p,
.form-card--suggestions > p{
  text-align:center!important;
  max-width:640px!important;
  margin:0 auto 20px!important;
}
.wa-float{
  width:72px!important;
  height:72px!important;
  right:18px!important;
  bottom:18px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.wa-float::after{display:none!important;}
.wa-float img{
  width:72px!important;
  height:72px!important;
  border-radius:0!important;
  filter:drop-shadow(0 10px 16px rgba(37,211,102,.22));
}
@media (max-width:680px){
  .page-title--compact,
  .page-title--simple.page-title--compact{padding:26px 0 28px!important;}
  .page-title--compact h1,
  .page-title--simple.page-title--compact h1{font-size:1.52rem!important;}
  .form-card--alquiler h1,
  .form-card--suggestions h1{font-size:1.52rem!important;}
  .wa-float{width:64px!important;height:64px!important;right:14px!important;bottom:14px!important;}
  .wa-float img{width:64px!important;height:64px!important;}
}


/* v15: acceso con entramado más visible y WhatsApp sin fondo */
.portal-access-body{
  background:#e4f7fb!important;
  background-image:none!important;
}
.portal-access-wrap{
  position:relative;
  overflow:hidden;
  background:#e4f7fb!important;
}
.portal-access-wrap::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:url('../img/brand/access-bg-tile.png')!important;
  background-repeat:repeat!important;
  background-position:center center!important;
  background-size:322px 318px!important;
  opacity:.72!important;
  pointer-events:none;
}
.portal-access-wrap::after{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(228,247,251,.10);
  pointer-events:none;
}
.portal-access-card{
  position:relative!important;
  z-index:2!important;
}
.wa-float{
  width:76px!important;
  height:76px!important;
  right:20px!important;
  bottom:20px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.wa-float::after{display:none!important;}
.wa-float img{
  width:76px!important;
  height:76px!important;
  border-radius:0!important;
  object-fit:contain!important;
  filter:drop-shadow(0 9px 13px rgba(37,211,102,.24));
}
@media (max-width:680px){
  .portal-access-wrap::before{background-size:260px 257px!important;opacity:.74!important;}
  .wa-float{width:66px!important;height:66px!important;right:15px!important;bottom:15px!important;}
  .wa-float img{width:66px!important;height:66px!important;}
}


/* v16: WhatsApp correcto en footer */
.footer__social-icons .social-icon--whatsapp{
  background:var(--azul)!important;
  color:#fff!important;
  font-size:0!important;
}
.footer__social-icons .social-icon--whatsapp img{
  width:20px;
  height:20px;
  display:block;
  object-fit:contain;
}
.footer__social-icons .social-icon--whatsapp:hover{
  background:var(--azul-profundo)!important;
}


/* v17: sistema interno reconstruido según portales actuales */
.cp-private-shell,
.cp-admin-page,
.cp-wa-operator{
  --cp-nav:#f2ece8;
  --cp-bg:#fbfbfd;
  --cp-panel:#ffffff;
  --cp-line:#d9e6ec;
  --cp-blue:#5f8798;
  --cp-dark:#0d3c52;
  --cp-yellow:#fff4c9;
  --cp-yellow-border:#f3c54a;
  min-height:100vh;
  font-family:'Nunito Sans',Arial,sans-serif;
  color:#0c2940;
}
.cp-private-shell{
  display:grid;
  grid-template-columns:250px 1fr;
  background:var(--cp-bg);
}
.cp-side{
  background:#eef3f9;
  border-right:1px solid var(--cp-line);
  padding:16px 12px;
  min-height:100vh;
  overflow:auto;
}
.cp-side--professional{background:var(--cp-nav);}
.cp-side__brand{
  padding:0 4px 12px;
  border-bottom:1px solid rgba(12,41,64,.12);
  margin-bottom:14px;
}
.cp-side__brand strong{display:block;font-size:1.05rem;color:#001c47;font-weight:900;}
.cp-side__brand span{display:block;font-size:.82rem;color:#567;}
.cp-side__big{
  display:grid;
  grid-template-columns:28px 1fr;
  align-items:center;
  gap:9px;
  border-radius:10px;
  padding:11px 13px;
  margin:10px 0;
  font-weight:900;
  color:#06203d;
  border:1px solid var(--cp-line);
}
.cp-side__big small{display:block;font-size:.73rem;font-weight:700;color:#667;line-height:1.1;}
.cp-side__big--warn{background:var(--cp-yellow);border-color:var(--cp-yellow-border);color:#7a3e00;}
.cp-side__big--wa{background:#e8f5ff;border-color:#c6def0;}
.cp-side-menu,.cp-pro-menu{display:grid;gap:4px;}
.cp-menu-group{margin:7px 0;}
.cp-menu-group button{
  width:100%;
  border:0;
  background:transparent;
  display:flex;
  align-items:center;
  justify-content:space-between;
  text-transform:uppercase;
  letter-spacing:.02em;
  color:#29425c;
  font-weight:900;
  padding:8px 6px 5px;
  cursor:pointer;
}
.cp-menu-group button::after{content:'▾';color:#8797a4;}
.cp-menu-group button em{
  background:#ffa400;
  color:#fff;
  font-style:normal;
  border-radius:999px;
  min-width:18px;
  height:18px;
  display:inline-grid;
  place-items:center;
  font-size:.72rem;
  margin-left:5px;
}
.cp-menu-group a,
.cp-pro-menu a{
  display:block;
  padding:8px 12px;
  border-radius:8px;
  color:#0c2940;
  font-weight:800;
  line-height:1.15;
}
.cp-menu-group a.is-alert,
.cp-pro-menu a.is-alert{
  background:var(--cp-yellow);
  border:1px solid var(--cp-yellow-border);
  color:#6e3b00;
}
.cp-pro-menu a{font-size:1rem;margin:4px 0;}
.cp-pro-menu a.is-active{background:#cfe1f1;color:#001c47;}
.cp-private-main{
  padding:22px 24px;
  background:#fbfbfd;
}
.cp-welcome-card{
  background:#fff;
  border:1px solid var(--cp-line);
  border-radius:14px;
  min-height:360px;
  padding:22px 26px;
  box-shadow:0 3px 12px rgba(35,63,82,.03);
}
.cp-welcome-card h1{
  margin:0 0 18px;
  color:var(--cp-blue);
  font-family:'Comfortaa',Arial,sans-serif;
  font-size:1.45rem;
  line-height:1.2;
}
.cp-welcome-card h2{
  color:var(--cp-blue);
  font-size:1rem;
  margin:18px 0 8px;
  font-weight:900;
}
.cp-dash-list{margin:0 0 8px;padding-left:0;list-style:none;display:grid;gap:7px;}
.cp-dash-list li::before{content:'– ';color:#647988;}
.cp-important{
  border:1px solid var(--cp-line);
  border-radius:12px;
  padding:10px 12px;
  background:#fcfcfe;
  color:#485765;
}
.cp-chat-float{
  position:fixed;
  right:24px;
  bottom:24px;
  width:58px;
  height:58px;
  border-radius:999px;
  background:#fff;
  border:0;
  box-shadow:0 8px 24px rgba(35,63,82,.16);
  cursor:pointer;
  font-size:1.3rem;
}
.cp-admin-page{
  background:#fbfbfd;
  padding:26px 22px 70px;
}
.cp-admin-hero{
  display:flex;
  align-items:center;
  gap:18px;
  border:1px solid var(--cp-line);
  border-radius:18px;
  background:#fff;
  padding:20px 24px;
  margin-bottom:14px;
}
.cp-admin-hero__icon,
.cp-admin-card__icon{
  width:74px;
  height:74px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:#eef7fd;
  font-size:2.1rem;
  flex:0 0 auto;
}
.cp-admin-hero h1{
  margin:0 0 4px;
  font-family:'Comfortaa',Arial,sans-serif;
  color:#001c47;
  font-size:1.6rem;
}
.cp-admin-hero p{margin:0;color:#30485d;}
.cp-admin-logout{
  margin-left:auto;
  background:#e0f2ff;
  border:1px solid #b7d6eb;
  color:#001c47;
  border-radius:999px;
  padding:9px 18px;
  font-weight:900;
}
.cp-admin-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:14px;
}
.cp-admin-card{
  display:grid;
  grid-template-columns:86px 1fr;
  gap:18px;
  background:#fff;
  border:1px solid #eadfd7;
  border-radius:16px;
  min-height:170px;
  padding:22px 16px;
  overflow:hidden;
  position:relative;
}
.cp-admin-card::after{
  content:'';
  position:absolute;
  right:-35px;
  bottom:-35px;
  width:110px;
  height:110px;
  border-radius:999px;
  background:#eef4f6;
}
.cp-admin-card h2{margin:0 0 8px;color:#001c47;font-size:1.15rem;font-weight:900;}
.cp-admin-card p{margin:0 0 10px;color:#28465d;font-size:.92rem;}
.cp-admin-pills{display:flex;flex-wrap:wrap;gap:6px;position:relative;z-index:1;}
.cp-admin-pills a{
  background:#e8f6ff;
  border:1px solid #b8daef;
  color:#001c47;
  border-radius:999px;
  padding:5px 9px;
  font-size:.82rem;
  font-weight:900;
}
.cp-wa-admin-panel{
  background:#fff;
  border:1px solid var(--cp-line);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(35,63,82,.06);
}
.cp-wa-admin-panel > header{
  background:#0d3c52;
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:9px 14px;
}
.cp-wa-admin-panel h2{font-size:1.05rem;margin:0;color:#fff;}
.cp-wa-admin-panel header span{font-weight:900;font-size:.82rem;}
.cp-wa-admin-body{display:grid;grid-template-columns:285px 1fr;min-height:230px;}
.cp-wa-admin-body aside{
  background:#f0f8fc;
  border-right:1px solid var(--cp-line);
  padding:10px;
  display:grid;
  align-content:start;
  gap:8px;
}
.cp-wa-admin-body input{border:1px solid var(--cp-line);border-radius:10px;padding:10px;}
.cp-wa-admin-body aside button{
  border:1px solid var(--cp-line);
  border-radius:10px;
  background:#fff;
  display:grid;
  grid-template-columns:32px 1fr;
  text-align:left;
  gap:8px;
  padding:10px;
}
.cp-wa-admin-body aside b{
  background:#d7ffe2;
  color:#168542;
  display:grid;
  place-items:center;
  border-radius:999px;
}
.cp-wa-empty{
  border:1px dashed #9bc4df;
  border-radius:14px;
  max-width:520px;
  margin:70px auto;
  text-align:center;
  padding:24px 34px;
  color:#2f4960;
}
.cp-wa-empty h3{margin:0 0 12px;color:#001c47;font-family:'Comfortaa',Arial,sans-serif;}
.cp-wa-operator{
  display:grid;
  grid-template-columns:320px minmax(520px,1fr) 310px;
  background:#edf5fa;
  height:100vh;
  overflow:hidden;
}
.cp-wa-left{
  background:#fff;
  border-right:1px solid #bdd2df;
  display:grid;
  grid-template-rows:auto 1fr auto;
  min-height:0;
}
.cp-wa-left header,
.cp-wa-center > header{
  background:#0d3c52;
  color:#fff;
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:52px;
}
.cp-wa-left h1,
.cp-wa-center h2{
  margin:0;
  color:#fff;
  font-size:1rem;
  font-weight:900;
}
.cp-wa-refresh{
  background:#164d66;
  color:#fff;
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
  padding:5px 13px;
  font-weight:900;
}
.cp-wa-left__body{
  padding:8px;
  overflow:auto;
}
.cp-wa-new{
  width:100%;
  border:0;
  background:#0d3c52;
  color:#fff;
  border-radius:8px;
  padding:11px 12px;
  font-weight:900;
  margin-bottom:12px;
}
.cp-wa-search{
  width:100%;
  border:1px solid #c6dbe8;
  border-radius:9px;
  padding:10px;
  margin-bottom:10px;
}
.cp-wa-chat-list{display:grid;gap:4px;}
.cp-wa-chat{
  border:0;
  background:#f8fbfd;
  border-radius:8px;
  padding:7px 6px;
  display:grid;
  grid-template-columns:36px 1fr 42px 18px;
  gap:6px;
  align-items:start;
  text-align:left;
  cursor:pointer;
}
.cp-wa-chat.is-active{background:#e9f4ff;box-shadow:inset 3px 0 #25d366;}
.cp-wa-pill{
  background:#25d366;
  color:#fff;
  font-weight:900;
  border-radius:999px;
  display:grid;
  place-items:center;
  width:32px;
  height:25px;
  font-size:.76rem;
}
.cp-wa-meta b{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#0c2940;
  font-size:.84rem;
}
.cp-wa-meta small{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#314c60;
  font-size:.77rem;
}
.cp-wa-time{font-size:.78rem;color:#4b5e68;}
.cp-wa-dots{color:#789;}
.cp-wa-left footer{padding:8px 12px;border-top:1px solid var(--cp-line);}
.cp-wa-center{
  display:grid;
  grid-template-rows:auto 1fr auto;
  min-width:0;
}
.cp-wa-topbar button{
  background:transparent;
  border:0;
  color:#b9cedb;
  font-size:1.1rem;
}
.cp-wa-conversation{display:grid;grid-template-rows:auto 1fr;min-height:0;}
.cp-wa-contact-bar{
  min-height:36px;
  background:#f7fbff;
  border-bottom:1px solid #c8ddea;
  padding:8px 12px;
  display:flex;
  gap:10px;
  align-items:center;
}
.cp-wa-contact-bar span{
  background:#e6f7ff;
  border:1px solid #bddbed;
  border-radius:999px;
  padding:3px 10px;
  font-size:.83rem;
}
.cp-wa-thread{
  padding:28px 24px;
  overflow:auto;
}
.cp-wa-thread .msg{
  max-width:620px;
  background:#fff;
  border:1px solid var(--cp-line);
  border-radius:14px;
  padding:13px 15px;
  margin-bottom:10px;
}
.cp-wa-thread .msg.out{
  margin-left:auto;
  background:#daf8e3;
  border-color:#a9e8bb;
}
.cp-wa-compose{
  background:#f7fbff;
  border-top:1px solid #c8ddea;
  padding:7px 10px;
}
.cp-wa-compose p{margin:0 0 5px;color:#647788;font-size:.82rem;}
.cp-wa-templates{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  max-height:56px;
  overflow:auto;
  margin-bottom:7px;
}
.cp-wa-templates button,
.cp-wa-light{
  border:1px solid #c8ddea;
  background:#edf7fc;
  border-radius:8px;
  padding:6px 10px;
  color:#678;
  font-weight:700;
}
.cp-wa-inputrow{display:grid;grid-template-columns:34px 1fr 38px;gap:8px;}
.cp-wa-inputrow input{
  border:1px solid #c8ddea;
  border-radius:9px;
  padding:11px 12px;
}
.cp-wa-inputrow button{
  border:1px solid #c8ddea;
  background:#fff;
  border-radius:9px;
}
.cp-wa-inputrow .cp-wa-send{
  background:#0d3c52;
  color:#fff;
  border-color:#0d3c52;
  font-size:1.2rem;
}
.cp-wa-tools{
  background:#f2f7fc;
  border-left:1px solid #bdd2df;
  overflow:auto;
}
.cp-wa-tools a{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 14px;
  color:#0c2940;
  border-bottom:1px solid #d4e4ee;
  font-weight:800;
}
.cp-wa-tools span{width:20px;}
.cp-wa-dni{padding:12px 14px;border-bottom:1px solid #d4e4ee;background:#fff;}
.cp-wa-dni label{font-size:.8rem;font-weight:900;color:#524064;letter-spacing:.05em;}
.cp-wa-dni div{display:grid;grid-template-columns:1fr auto;gap:8px;margin:8px 0;}
.cp-wa-dni input{border:1px solid #c8ddea;border-radius:8px;padding:10px;}
.cp-wa-dni button{
  border:1px solid #9cc8df;
  background:#e7f7ff;
  border-radius:8px;
  padding:8px 12px;
  font-weight:900;
  color:#0c2940;
}
.cp-wa-dni .cp-wa-light{width:auto;display:inline-block;}
@media (max-width:1100px){
  .cp-admin-grid{grid-template-columns:1fr 1fr;}
  .cp-private-shell{grid-template-columns:220px 1fr;}
  .cp-wa-operator{grid-template-columns:300px 1fr;overflow:auto;height:auto;min-height:100vh;}
  .cp-wa-tools{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,1fr);}
  .cp-wa-dni{grid-column:1 / -1;}
}
@media (max-width:760px){
  .cp-private-shell{grid-template-columns:1fr;}
  .cp-side{min-height:auto;}
  .cp-admin-grid{grid-template-columns:1fr;}
  .cp-admin-hero{display:block;}
  .cp-admin-logout{display:inline-block;margin-top:12px;}
  .cp-wa-operator{grid-template-columns:1fr;}
  .cp-wa-left,.cp-wa-tools{min-height:auto;}
  .cp-wa-tools{grid-template-columns:1fr;}
}

/* v22: tipografía interna más fina + operador WhatsApp autorefrescante */
.cp-private-shell,
.cp-admin-page,
.cp-wa-operator,
.app-shell,
.app-main,
.sidebar{
  font-family:'Inter','Nunito Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif!important;
  font-weight:400;
  letter-spacing:-.012em;
  color:#193243;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
.cp-private-shell{grid-template-columns:258px 1fr;}
.cp-private-main{padding:24px 26px;background:#fbfcfd;}
.cp-side{padding:18px 14px;background:#edf4f8;}
.cp-side__brand strong,
.cp-admin-hero h1,
.cp-welcome-card h1,
.cp-wa-left h1,
.cp-wa-center h2,
.cp-wa-tools a,
.cp-menu-group a,
.cp-pro-menu a,
.cp-menu-group button,
.cp-admin-card h2,
.cp-wa-admin-panel h2{
  font-family:'Inter','Nunito Sans',system-ui,sans-serif!important;
  letter-spacing:-.02em;
}
.cp-side__brand strong{font-size:1.02rem;font-weight:650;color:#0d2f47;}
.cp-side__brand span{font-size:.82rem;font-weight:400;color:#627789;}
.cp-side__big{
  font-weight:650;
  border-radius:13px;
  padding:12px 13px;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
}
.cp-side__big small{font-weight:400;font-size:.76rem;line-height:1.25;}
.cp-menu-group button{
  font-size:.78rem;
  font-weight:650;
  letter-spacing:.045em;
  color:#496274;
}
.cp-menu-group a,
.cp-pro-menu a{
  font-size:.92rem;
  font-weight:550;
  line-height:1.22;
  padding:8px 10px;
}
.cp-menu-group a.is-alert,
.cp-pro-menu a.is-alert{font-weight:650;}
.cp-welcome-card{
  border-radius:16px;
  padding:24px 28px;
  box-shadow:0 8px 26px rgba(33,63,82,.045);
}
.cp-welcome-card h1{
  font-size:1.35rem;
  font-weight:500;
  color:#5f8798;
}
.cp-welcome-card h2{font-weight:600;color:#5f8798;}
.cp-welcome-card p,
.cp-dash-list,
.cp-important{font-weight:400;line-height:1.55;}
.cp-admin-hero h1{font-weight:600;color:#0d2f47;}
.cp-admin-card h2{font-weight:600;color:#0d2f47;}
.cp-admin-card p{font-weight:400;line-height:1.45;}
.cp-admin-pills a{font-weight:550;}
.cp-wa-operator{
  grid-template-columns:330px minmax(540px,1fr) 318px;
  background:#eef6fa;
}
.cp-wa-left header,
.cp-wa-center > header,
.cp-wa-admin-panel > header{
  background:#0b3d52;
}
.cp-wa-left h1,
.cp-wa-center h2,
.cp-wa-admin-panel h2{
  font-weight:650;
  font-size:.98rem;
}
.cp-wa-refresh,
.cp-wa-new,
.cp-wa-dni button,
.cp-wa-inputrow .cp-wa-send{
  font-family:'Inter','Nunito Sans',system-ui,sans-serif!important;
  font-weight:650;
}
.cp-wa-refresh{padding:7px 14px;background:#205b74;}
.cp-wa-new{font-weight:650;border-radius:10px;}
.cp-wa-search,
.cp-wa-dni input,
.cp-wa-inputrow input{
  font-family:'Inter','Nunito Sans',system-ui,sans-serif!important;
  font-weight:400;
  font-size:.92rem;
}
.cp-wa-chat{
  border-radius:11px;
  padding:8px 7px;
  grid-template-columns:36px minmax(0,1fr) 44px 16px;
}
.cp-wa-chat.is-active{background:#edf8ff;box-shadow:inset 3px 0 #55c981;}
.cp-wa-meta b{font-size:.83rem;font-weight:600;color:#102c3e;}
.cp-wa-meta small{font-size:.77rem;font-weight:400;color:#526a7b;}
.cp-wa-time{font-weight:400;font-size:.74rem;color:#5f7180;}
.cp-wa-contact-bar b{font-weight:600;}
.cp-wa-contact-bar span{font-weight:400;}
.cp-wa-thread{font-weight:400;line-height:1.45;}
.cp-wa-thread .msg{
  border-radius:15px;
  padding:13px 15px;
  font-size:.96rem;
  box-shadow:0 2px 8px rgba(33,63,82,.035);
}
.cp-wa-thread .msg b{font-weight:600;}
.cp-wa-thread .msg time{display:block;margin-top:5px;font-size:.72rem;color:#6f8190;text-align:right;}
.cp-wa-thread .msg.out{background:#dbf6e2;border-color:#aee6bd;}
.cp-wa-compose p{font-size:.8rem;font-weight:400;}
.cp-wa-templates button,
.cp-wa-light{font-weight:500;font-size:.82rem;border-radius:9px;}
.cp-wa-tools a{font-size:.95rem;font-weight:550;}
.cp-wa-dni label{font-weight:650;}
.cp-wa-empty-list{
  padding:18px 12px;
  color:#607789;
  font-size:.92rem;
  text-align:center;
}
@media (max-width:1100px){
  .cp-private-shell{grid-template-columns:230px 1fr;}
  .cp-wa-operator{grid-template-columns:310px 1fr;}
}


/* v23: tipografía interna real, fina y consistente en todos los portales */
:root{
  --cp-font-ui:'Alegreya Sans','Segoe UI',Roboto,Arial,sans-serif;
  --cp-font-title:'Alegreya Sans','Segoe UI',Roboto,Arial,sans-serif;
}
body .cp-private-shell,
body .cp-private-shell *,
body .cp-admin-page,
body .cp-admin-page *,
body .cp-wa-operator,
body .cp-wa-operator *,
body .app-shell,
body .app-shell *,
body .app-main,
body .app-main *,
body .sidebar,
body .sidebar *{
  font-family:var(--cp-font-ui)!important;
  letter-spacing:.005em!important;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body .cp-private-shell,
body .cp-admin-page,
body .cp-wa-operator,
body .app-shell{
  font-weight:400!important;
  color:#173245!important;
  font-size:16px!important;
}
body .cp-private-shell b,
body .cp-private-shell strong,
body .cp-admin-page b,
body .cp-admin-page strong,
body .cp-wa-operator b,
body .cp-wa-operator strong,
body .app-shell b,
body .app-shell strong{
  font-weight:500!important;
}
body .cp-welcome-card h1,
body .cp-welcome-card h2,
body .cp-admin-hero h1,
body .cp-admin-card h2,
body .cp-pro-main h1,
body .cp-pro-main h2,
body .cp-wa-left h1,
body .cp-wa-center h2,
body .cp-wa-admin-panel h2,
body .app-head h1,
body .module-card h1,
body .module-card h2{
  font-family:var(--cp-font-title)!important;
  font-weight:400!important;
  color:#5e8da0!important;
  letter-spacing:.01em!important;
  line-height:1.18!important;
}
body .cp-welcome-card h1{font-size:1.44rem!important;margin:0 0 16px!important;}
body .cp-welcome-card h2{font-size:1.04rem!important;font-weight:500!important;margin-top:18px!important;}
body .cp-welcome-card p,
body .cp-dash-list,
body .cp-dash-list li,
body .cp-important,
body .cp-admin-card p,
body .cp-pro-main p,
body .module-card p{
  font-size:1.02rem!important;
  font-weight:400!important;
  line-height:1.46!important;
  color:#123047!important;
}
body .cp-dash-list{padding-left:0!important;list-style:none!important;}
body .cp-dash-list li{margin:7px 0!important;}
body .cp-dash-list li::before{content:'– ';color:#5e8da0;font-weight:400;}
body .cp-side__brand strong{
  font-size:1.08rem!important;
  font-weight:500!important;
  color:#123047!important;
}
body .cp-side__brand span{
  font-size:.92rem!important;
  font-weight:300!important;
  color:#526d7e!important;
}
body .cp-side__big,
body .cp-side__big b,
body .cp-menu-group a,
body .cp-pro-menu a,
body .cp-menu-group button,
body .cp-pro-menu button,
body .cp-admin-pills a,
body .cp-wa-tools a,
body .cp-wa-new,
body .cp-wa-refresh,
body .cp-wa-dni button,
body .cp-wa-inputrow button,
body .cp-wa-templates button{
  font-family:var(--cp-font-ui)!important;
  font-weight:500!important;
  letter-spacing:.01em!important;
}
body .cp-side__big{
  font-size:1rem!important;
  line-height:1.14!important;
}
body .cp-side__big small{
  font-weight:300!important;
  font-size:.83rem!important;
  line-height:1.12!important;
}
body .cp-menu-group button{
  font-size:.78rem!important;
  text-transform:uppercase!important;
  font-weight:500!important;
  color:#4c6575!important;
}
body .cp-menu-group a,
body .cp-pro-menu a{
  font-size:1.02rem!important;
  font-weight:400!important;
  color:#102d44!important;
}
body .cp-menu-group a.is-alert,
body .cp-pro-menu a.is-alert{
  font-weight:500!important;
  color:#7a4a00!important;
}
body .cp-important{
  border-radius:11px!important;
  background:#fbfdfe!important;
  color:#486273!important;
}
body .cp-wa-left h1,
body .cp-wa-center h2,
body .cp-wa-admin-panel h2{
  color:#ffffff!important;
  font-weight:500!important;
  font-size:1.03rem!important;
}
body .cp-wa-chat,
body .cp-wa-chat *,
body .cp-wa-thread,
body .cp-wa-thread *,
body .cp-wa-contact-bar,
body .cp-wa-contact-bar *,
body .cp-wa-tools a,
body .cp-wa-dni,
body .cp-wa-dni *,
body .cp-wa-compose,
body .cp-wa-compose *{
  font-family:var(--cp-font-ui)!important;
}
body .cp-wa-meta b{font-size:.93rem!important;font-weight:500!important;letter-spacing:.002em!important;}
body .cp-wa-meta small{font-size:.84rem!important;font-weight:300!important;line-height:1.14!important;}
body .cp-wa-time{font-size:.78rem!important;font-weight:300!important;}
body .cp-wa-thread .msg{font-size:1.04rem!important;font-weight:400!important;line-height:1.35!important;}
body .cp-wa-thread .msg b{font-weight:500!important;}
body .cp-wa-tools a{font-size:1.06rem!important;font-weight:500!important;}
body .cp-wa-dni label{font-size:.86rem!important;font-weight:500!important;}
body .cp-wa-search,
body .cp-wa-dni input,
body .cp-wa-inputrow input{
  font-size:1rem!important;
  font-weight:300!important;
}
body .cp-chat-float{font-family:var(--cp-font-ui)!important;}


/* v26: WhatsApp operativo - remitente completo, plantillas Meta y tipografía real */
.cp-wa-operator{
  grid-template-columns:340px minmax(620px,1fr) 318px!important;
}
.cp-wa-chat{
  grid-template-columns:36px minmax(0,1fr) 44px 16px!important;
  align-items:flex-start!important;
  padding:9px 7px!important;
  min-height:auto!important;
}
.cp-wa-meta b,
.cp-wa-meta small{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.cp-wa-meta b{
  line-height:1.12!important;
  margin-bottom:2px!important;
}
.cp-wa-meta small{
  display:block!important;
  line-height:1.18!important;
  max-height:none!important;
}
.cp-wa-chat-list{
  gap:6px!important;
}
.cp-wa-thread .msg{
  max-width:min(760px,72%)!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
}
.cp-wa-thread .msg__text{
  white-space:pre-wrap!important;
}
.cp-wa-compose{
  padding:8px 10px 9px!important;
}
.cp-wa-templates{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  max-height:128px!important;
  overflow:auto!important;
  padding-right:8px!important;
  margin-bottom:8px!important;
}
.cp-wa-templates button,
.cp-wa-template-note{
  white-space:normal!important;
  line-height:1.12!important;
}
.cp-wa-templates button{
  color:#37576b!important;
  border-color:#bdd8e6!important;
  background:#edf8fd!important;
}
.cp-wa-templates button:not(:disabled):hover{
  background:#dff2fb!important;
  border-color:#91bfd5!important;
}
.cp-wa-templates button.is-disabled,
.cp-wa-templates button:disabled{
  opacity:.48!important;
  cursor:not-allowed!important;
}
.cp-wa-template-note{
  color:#607789!important;
  font-size:.9rem!important;
}
.cp-wa-refresh{
  min-width:102px!important;
}
body .cp-wa-operator,
body .cp-wa-operator *{
  font-family:'Alegreya Sans','Segoe UI',Roboto,Arial,sans-serif!important;
}
body .cp-wa-meta b{font-weight:500!important;}
body .cp-wa-meta small{font-weight:300!important;}
@media (max-width:1200px){
  .cp-wa-operator{grid-template-columns:330px minmax(560px,1fr)!important;}
}

/* v26: menú empleado limpio + operador WhatsApp con herramientas internas sin recargar */
.app-shell .sidebar nav > a[href$="index.php"],
.app-shell .sidebar nav > a[href$="panel.php"]{
  display:none!important;
}
.cp-wa-operator--v26{
  grid-template-columns:340px minmax(620px,1fr) 560px!important;
}
.cp-wa-operator--v26 .cp-wa-tools{
  background:#f7fbff!important;
  border-left:1px solid #bdd2df!important;
  overflow:hidden!important;
  display:block!important;
}
.cp-wa-tool-shell{
  height:100vh;
  display:grid;
  grid-template-columns:156px minmax(0,1fr);
  min-width:0;
}
.cp-wa-tool-tabs{
  background:#eef6fb;
  border-right:1px solid #d2e4ee;
  overflow:auto;
  padding:8px 0;
}
.cp-wa-tool-tab{
  width:100%;
  border:0;
  border-left:4px solid transparent;
  background:transparent;
  color:#123047;
  min-height:48px;
  display:grid;
  grid-template-columns:26px 1fr;
  align-items:center;
  gap:7px;
  text-align:left;
  padding:9px 10px 9px 8px;
  cursor:pointer;
}
.cp-wa-tool-tab span{width:24px;text-align:center;font-size:1rem;line-height:1;}
.cp-wa-tool-tab b{
  font-size:.96rem;
  line-height:1.05;
  font-weight:500!important;
}
.cp-wa-tool-tab:hover{background:#e3f0f8;}
.cp-wa-tool-tab.is-active{
  background:#fff;
  border-left-color:#5e8da0;
  color:#0d3c52;
  box-shadow:0 1px 0 rgba(190,215,228,.5),0 -1px 0 rgba(190,215,228,.35);
}
.cp-wa-tool-panels{
  overflow:auto;
  background:#fff;
  min-width:0;
}
.cp-wa-tool-panel{
  display:none;
  padding:15px 16px 22px;
  min-height:100vh;
}
.cp-wa-tool-panel.is-active{display:block;}
.cp-wa-tool-panel h3{
  margin:0 0 12px;
  color:#5e8da0!important;
  font-family:'Alegreya Sans','Segoe UI',Roboto,Arial,sans-serif!important;
  font-weight:500!important;
  font-size:1.35rem!important;
  line-height:1.12!important;
}
.cp-wa-tool-panel label{
  display:block;
  margin:9px 0;
  color:#15364c;
  font-weight:500;
  font-size:.94rem;
}
.cp-wa-tool-panel input,
.cp-wa-tool-panel select,
.cp-wa-tool-panel textarea{
  width:100%;
  box-sizing:border-box;
  margin-top:5px;
  border:1px solid #c8ddea;
  border-radius:9px;
  padding:9px 10px;
  background:#fff;
  color:#102d44;
  font-family:'Alegreya Sans','Segoe UI',Roboto,Arial,sans-serif!important;
  font-size:1rem;
  font-weight:300;
}
.cp-wa-tool-panel textarea{min-height:76px;resize:vertical;}
.cp-wa-tool-panel input[type="file"]{padding:8px;background:#f9fcfe;}
.cp-tool-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:10px 0;
}
.cp-tool-grid button,
.cp-tool-list button,
.cp-wa-tool-panel button{
  border:1px solid #b7d6e8;
  background:#eaf7fd;
  color:#123047;
  border-radius:10px;
  padding:9px 10px;
  font-family:'Alegreya Sans','Segoe UI',Roboto,Arial,sans-serif!important;
  font-weight:500!important;
  font-size:.96rem;
  cursor:pointer;
}
.cp-tool-grid button:hover,
.cp-tool-list button:hover,
.cp-wa-tool-panel button:hover{background:#dff0f8;border-color:#91bfd5;}
.cp-tool-list{display:grid;gap:8px;margin:10px 0;}
.cp-tool-note{
  border-left:4px solid #5e8da0;
  background:#eef6f4;
  border-radius:10px;
  padding:10px 12px;
  color:#344e5f;
  line-height:1.35;
  margin:10px 0;
}
.cp-wa-dni--inline{
  padding:0 0 11px!important;
  border-bottom:1px solid #d8e8f0!important;
  margin-bottom:8px!important;
  background:#fff!important;
}
.cp-wa-dni--inline div{display:grid;grid-template-columns:1fr auto;gap:8px;margin:7px 0;}
.cp-wa-dni--inline label{margin:0!important;}
.cp-wa-operator--v26 .cp-wa-chat{
  grid-template-columns:36px minmax(0,1fr) 44px 16px!important;
  min-height:auto!important;
}
.cp-wa-operator--v26 .cp-wa-meta b,
.cp-wa-operator--v26 .cp-wa-meta small{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}
.cp-wa-operator--v26 .cp-wa-meta small{line-height:1.22!important;}
@media (max-width:1380px){
  .cp-wa-operator--v26{grid-template-columns:330px minmax(540px,1fr) 500px!important;}
  .cp-wa-tool-shell{grid-template-columns:140px minmax(0,1fr);}
  .cp-wa-tool-tab b{font-size:.9rem;}
}
@media (max-width:1120px){
  .cp-wa-operator--v26{grid-template-columns:320px minmax(520px,1fr)!important;overflow:auto!important;height:auto!important;}
  .cp-wa-operator--v26 .cp-wa-tools{grid-column:1 / -1;min-height:520px;}
  .cp-wa-tool-shell{height:520px;grid-template-columns:160px 1fr;}
  .cp-wa-tool-panel{min-height:520px;}
}
@media (max-width:760px){
  .cp-wa-tool-shell{grid-template-columns:1fr;height:auto;}
  .cp-wa-tool-tabs{display:grid;grid-template-columns:repeat(2,1fr);border-right:0;border-bottom:1px solid #d2e4ee;}
  .cp-wa-tool-panel{min-height:420px;}
}

/* v27 - Operador WhatsApp: datos reales de Administración */
.cp-live-status{font-size:.92rem;color:#5e7f8f;margin:8px 0 10px;font-weight:500}
.cp-tool-note--strong{border-left:5px solid var(--brand-primary,#5f8ea2);background:#edf6f3;color:#244958}
.cp-empty-panel{border:1px dashed #bdd4df;background:#f7fbfd;border-radius:14px;padding:14px;color:#56717c;font-size:.96rem;line-height:1.4}
.cp-admin-price-list,.cp-admin-info-list{display:grid;gap:10px;margin-top:10px;max-height:calc(100vh - 260px);overflow:auto;padding-right:4px}
.cp-admin-price-item{border:1px solid #c8dfe9;background:#fbfeff;border-radius:15px;padding:11px;display:grid;gap:10px;box-shadow:0 6px 20px rgba(57,89,101,.06)}
.cp-admin-price-main{display:grid;gap:4px;color:#173445}
.cp-admin-price-main strong{font-family:'Comfortaa','Alegreya Sans',sans-serif;font-weight:500;color:#5c8aa0;font-size:1rem;line-height:1.25}
.cp-admin-price-main span{font-size:.94rem;color:#173445}
.cp-admin-price-main b{font-weight:600;color:#082b3d}
.cp-admin-price-item button,.cp-admin-info-body button,.cp-mail-toolbar button{border:1px solid #9ac8dc;background:#e6f5fb;color:#08314a;border-radius:12px;padding:8px 10px;font-weight:600;cursor:pointer;font-family:inherit}
.cp-admin-price-item button:hover,.cp-admin-info-body button:hover,.cp-mail-toolbar button:hover{background:#d6edf7}
.cp-admin-info-item{border:1px solid #c8dfe9;background:#fbfeff;border-radius:15px;overflow:hidden;box-shadow:0 6px 20px rgba(57,89,101,.06)}
.cp-admin-info-title{width:100%;border:0;background:#eaf6fb;color:#5c8aa0;text-align:left;padding:12px 13px;font-family:'Comfortaa','Alegreya Sans',sans-serif;font-weight:500;font-size:1rem;cursor:pointer}
.cp-admin-info-body{display:none;padding:12px 13px;color:#173445;line-height:1.45;font-size:.96rem}
.cp-admin-info-item.is-open .cp-admin-info-body{display:grid;gap:12px}
.cp-mail-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid #c8dfe9;background:#f7fbfd;border-radius:15px;padding:11px;margin:10px 0}
.cp-mail-toolbar strong{color:#173445;font-weight:600}
.cp-mail-toolbar span{font-size:.9rem;color:#5e7f8f}
.cp-mail-layout{display:grid;grid-template-columns:minmax(190px,.9fr) minmax(240px,1.2fr);gap:10px;min-height:380px;max-height:calc(100vh - 250px)}
.cp-mail-list,.cp-mail-view{border:1px solid #c8dfe9;border-radius:15px;background:#fff;overflow:auto;padding:8px}
.cp-mail-item{width:100%;display:grid;gap:3px;text-align:left;border:0;border-bottom:1px solid #edf3f6;background:#fff;padding:10px 8px;cursor:pointer;color:#173445;font-family:inherit}
.cp-mail-item:hover{background:#f1f8fb}
.cp-mail-item.is-unread strong{font-weight:700;color:#082b3d}
.cp-mail-item strong{font-weight:600;line-height:1.2}
.cp-mail-item span{font-size:.9rem;color:#466776;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-mail-item small{font-size:.82rem;color:#78909b}
.cp-mail-read h4{font-family:'Comfortaa','Alegreya Sans',sans-serif;font-weight:500;color:#5c8aa0;margin:0 0 8px;font-size:1.05rem;line-height:1.25}
.cp-mail-read p{font-size:.9rem;color:#466776;margin:0 0 10px}
.cp-mail-body{font-size:.94rem;line-height:1.45;color:#173445;overflow:auto}
.cp-mail-body img{max-width:100%;height:auto}
@media(max-width:900px){.cp-mail-layout{grid-template-columns:1fr;max-height:none}.cp-admin-price-list,.cp-admin-info-list{max-height:none}}

/* v28 - Operador: listas reales sin buscadores falsos */
.cp-wa-operator--v28 .cp-admin-price-list,
.cp-wa-operator--v28 .cp-admin-info-list{max-height:calc(100vh - 190px);}
.cp-wa-operator--v28 .cp-admin-price-row-v28{grid-template-columns:1fr auto;align-items:center;}
.cp-wa-operator--v28 .cp-wa-tool-panel[data-wa-panel="facturas"] select{width:100%;border:1px solid #b9d7e5;border-radius:12px;padding:10px 12px;background:#fff;color:#082b3d;font-family:inherit;font-size:1rem;line-height:1.2;}
.cp-wa-operator--v28 .cp-live-status{font-size:.92rem;color:#557384;margin:6px 0 10px;line-height:1.35;}
.cp-wa-operator--v28 .cp-admin-info-body div{white-space:normal;}
@media(max-width:900px){.cp-wa-operator--v28 .cp-admin-price-row-v28{grid-template-columns:1fr;}}


/* v29 - Precios: lista real + envío de plantilla Meta precio */
.cp-wa-operator--v29 .cp-admin-price-row-v29{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
}
.cp-wa-operator--v29 .cp-price-send-template{
  min-width:86px;
  border-color:#9ac8dc!important;
  background:#e6f5fb!important;
  color:#08314a!important;
  border-radius:12px!important;
  font-weight:500!important;
}
.cp-wa-operator--v29 .cp-price-send-template:hover{background:#d6edf7!important;}
.cp-wa-operator--v29 .cp-price-send-template.is-sent{
  background:#eaf7ef!important;
  border-color:#95d3aa!important;
  color:#1f6b38!important;
}
.cp-wa-operator--v29 .cp-price-send-template:disabled{opacity:.75;cursor:wait;}
@media(max-width:900px){
  .cp-wa-operator--v29 .cp-admin-price-row-v29{grid-template-columns:1fr;}
  .cp-wa-operator--v29 .cp-price-send-template{width:100%;}
}

/* v31 - Operador WhatsApp / Precios: cuadro prolijo Descripción | Lista | Ef/TB | Enviar */
.cp-wa-operator--v31 .cp-admin-price-list{
  display:block;
  max-height:calc(100vh - 190px);
  overflow:auto;
  padding-right:6px;
}
.cp-wa-operator--v31 .cp-price-table{
  width:100%;
  border:1px solid #b9d7e5;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 8px 22px rgba(57,89,101,.07);
}
.cp-wa-operator--v31 .cp-price-table__head,
.cp-wa-operator--v31 .cp-price-table__row{
  display:grid;
  grid-template-columns:minmax(130px,1fr) 72px 72px 72px;
  align-items:center;
  gap:0;
}
.cp-wa-operator--v31 .cp-price-table__head{
  position:sticky;
  top:0;
  z-index:2;
  background:#e6f5fb;
  border-bottom:1px solid #b9d7e5;
}
.cp-wa-operator--v31 .cp-price-table__head span{
  padding:10px 9px;
  color:#31586a;
  font-size:.86rem;
  font-weight:700;
  line-height:1.15;
  border-right:1px solid #cfe5ef;
}
.cp-wa-operator--v31 .cp-price-table__head span:last-child{border-right:0;text-align:center;}
.cp-wa-operator--v31 .cp-price-table__row{
  min-height:54px;
  border-bottom:1px solid #edf4f7;
  background:#fbfeff;
}
.cp-wa-operator--v31 .cp-price-table__row:nth-child(even){background:#f6fbfd;}
.cp-wa-operator--v31 .cp-price-table__row:last-child{border-bottom:0;}
.cp-wa-operator--v31 .cp-price-table__desc,
.cp-wa-operator--v31 .cp-price-table__amount,
.cp-wa-operator--v31 .cp-price-table__action{
  padding:10px 9px;
  min-width:0;
  color:#082b3d;
  border-right:1px solid #edf4f7;
}
.cp-wa-operator--v31 .cp-price-table__desc{
  font-family:'Comfortaa','Alegreya Sans',sans-serif;
  font-weight:500;
  color:#5c8aa0;
  font-size:.94rem;
  line-height:1.25;
}
.cp-wa-operator--v31 .cp-price-table__amount{
  font-size:.92rem;
  line-height:1.15;
  white-space:nowrap;
  font-weight:600;
  color:#082b3d;
}
.cp-wa-operator--v31 .cp-price-table__action{
  border-right:0;
  text-align:center;
}
.cp-wa-operator--v31 .cp-price-send-template{
  min-width:0!important;
  width:100%;
  padding:8px 7px!important;
  border:1px solid #9ac8dc!important;
  background:#e6f5fb!important;
  color:#08314a!important;
  border-radius:10px!important;
  font-size:.88rem;
  font-weight:600!important;
  line-height:1!important;
}
.cp-wa-operator--v31 .cp-price-send-template:hover{background:#d6edf7!important;}
.cp-wa-operator--v31 .cp-price-send-template.is-sent{background:#eaf7ef!important;border-color:#95d3aa!important;color:#1f6b38!important;}
.cp-wa-operator--v31 .cp-price-send-template:disabled{opacity:.75;cursor:wait;}
@media(max-width:900px){
  .cp-wa-operator--v31 .cp-price-table__head,
  .cp-wa-operator--v31 .cp-price-table__row{grid-template-columns:minmax(118px,1fr) 64px 64px 66px;}
  .cp-wa-operator--v31 .cp-price-table__head span,
  .cp-wa-operator--v31 .cp-price-table__desc,
  .cp-wa-operator--v31 .cp-price-table__amount,
  .cp-wa-operator--v31 .cp-price-table__action{padding:9px 7px;}
  .cp-wa-operator--v31 .cp-price-table__desc{font-size:.88rem;}
  .cp-wa-operator--v31 .cp-price-table__amount{font-size:.85rem;}
}


/* v31 - fichaje y navegación interna */
.side-clock-btn{
  display:flex; align-items:center; gap:10px; padding:12px 14px; margin:10px 0 16px;
  border:1px solid #b7d7e6; background:#eaf6fb; color:#073850; border-radius:16px; text-decoration:none;
}
.side-clock-btn b{display:block;font-weight:600;line-height:1.1}
.side-clock-btn small{display:block;font-size:.82rem;color:#5e7888;margin-top:2px}
.side-clock-btn.is-active{background:#d9eff8; border-color:#6aa5be; box-shadow:inset 4px 0 0 #5b8fa5}
.cp-clock-card{max-width:860px}
.cp-clock-status{background:#e8f2ef;border-left:5px solid #5b8fa5;border-radius:14px;padding:14px 16px;margin:16px 0;color:#073850}
.cp-clock-actions{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0 18px}
.cp-clock-recent{margin-top:10px}
.cp-clock-table{border:1px solid #cfe1e7;border-radius:14px;overflow:hidden;background:#fff}
.cp-clock-table>div{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid #e6f0f4}
.cp-clock-table>div:last-child{border-bottom:0}
.cp-clock-table span,.cp-clock-table b{padding:10px 12px;text-align:left}
.cp-clock-table b{background:#eef7fb;color:#5b8fa5;font-weight:600}
.cp-private-main[data-cp-private-main] .app-head{display:none}
@media(max-width:760px){.cp-clock-table>div{grid-template-columns:1fr}.cp-clock-table b:nth-child(2){display:none}}

/* v33 - Agendas reales migradas desde CP Agendas */
.cp-side__big--wa small{display:none!important;}
.cpag-module h2{color:var(--blue,#5f8fa4);font-weight:500;letter-spacing:.01em;margin-bottom:.4rem;}
.cpag-module h3{color:#5f8fa4;font-weight:600;margin:22px 0 10px;}
.cpag-filters,.cpag-extra-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end;margin:16px 0 18px;}
.cpag-filters label,.cpag-extra-form label{display:grid;gap:6px;font-weight:600;color:#0d2a3d;}
.cpag-filters input,.cpag-filters select,.cpag-extra-form input,.cpag-extra-form select{width:100%;border:1px solid #c7dde6;border-radius:14px;padding:10px 12px;background:#fff;color:#0d2a3d;font:inherit;}
.cpag-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 18px;}
.cpag-summary>div{background:#edf7f8;border:1px solid #c7dde6;border-radius:16px;padding:12px 14px;display:grid;gap:2px;}
.cpag-summary b{font-size:1.5rem;color:#5f8fa4;font-weight:600;line-height:1;}
.cpag-summary span{font-size:.95rem;color:#0d2a3d;}
.cpag-table-wrap{overflow:auto;border:1px solid #d4e5eb;border-radius:18px;background:#fff;}
.cpag-table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px;}
.cpag-table th{position:sticky;top:0;background:#edf7f8;color:#0d2a3d;text-align:left;font-weight:700;padding:11px 12px;border-bottom:1px solid #c7dde6;}
.cpag-table td{padding:12px;border-bottom:1px solid #eef5f7;vertical-align:top;color:#0d2a3d;}
.cpag-table tr:last-child td{border-bottom:0;}
.cpag-table td small{display:block;color:#6d8795;margin-top:2px;}
.cpag-status{display:inline-flex;align-items:center;justify-content:center;background:#eaf4ee;border:1px solid #cfe5d8;border-radius:999px;padding:4px 10px;font-weight:600;font-size:.9rem;white-space:nowrap;}
.cpag-actions{display:flex;flex-wrap:wrap;gap:5px;min-width:210px;}
.cpag-actions button{border:1px solid #a8cfdf;background:#e9f6fb;color:#0d2a3d;border-radius:999px;padding:5px 8px;font:inherit;font-size:.82rem;cursor:pointer;}
.cpag-actions button:hover{filter:brightness(.97);}
.cpag-actions .is-danger{border-color:#e4b4b4;background:#fff1f1;}
.cpag-agenda-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:10px 0 18px;}
.cpag-agenda-grid section{border:1px solid #cfe2e8;background:#fff;border-radius:16px;padding:12px;display:grid;gap:4px;}
.cpag-agenda-grid strong{color:#0d2a3d;font-weight:700;}
.cpag-agenda-grid span{color:#5f8fa4;font-weight:600;}
.cpag-agenda-grid small{color:#607c8c;}
.cpag-month-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px;overflow:auto;padding-bottom:4px;}
.cpag-day{min-height:98px;border:1px solid #d4e5eb;background:#fff;border-radius:14px;padding:9px;display:grid;align-content:start;gap:4px;}
.cpag-day b{color:#5f8fa4;font-weight:700;}
.cpag-day small{color:#607c8c;}
.cpag-day span{display:block;background:#f3fafb;border-radius:8px;padding:3px 5px;font-size:.84rem;color:#0d2a3d;}
.cpag-day em{font-style:normal;color:#5f8fa4;font-size:.84rem;}
@media(max-width:760px){.cpag-summary{grid-template-columns:1fr}.cpag-month-grid{grid-template-columns:repeat(2,minmax(130px,1fr));}.cpag-table{min-width:760px}}

/* v34 - Agendas del día migradas desde CP Agendas */
.cpag-summary--four{grid-template-columns:repeat(4,minmax(0,1fr));}
.cpag-day-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;margin-top:18px;align-items:start;}
.cpag-day-col{background:#fff;border:1px solid #cfe2ea;border-radius:20px;overflow:hidden;box-shadow:0 12px 30px rgba(15,38,51,.06);}
.cpag-day-col__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:13px 14px;background:#eef8fa;border-bottom:1px solid #cfe2ea;}
.cpag-day-col__head strong{font-size:1rem;font-weight:700;color:#0d2a3d;line-height:1.2;}
.cpag-day-col__head small{color:#5f7d8b;font-weight:500;text-align:right;white-space:nowrap;}
.cpag-slot-list{display:grid;gap:8px;padding:10px;max-height:68vh;overflow:auto;}
.cpag-agenda-label{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 0 4px;padding:7px 10px;border-radius:12px;background:#f6fbfc;border:1px solid #d6e8ef;color:#5f8fa4;}
.cpag-agenda-label span{font-weight:700;color:#426f82;}
.cpag-agenda-label em{font-style:normal;font-size:.82rem;color:#6b8794;text-transform:capitalize;}
.cpag-slot{display:grid;grid-template-columns:64px 1fr;gap:10px;border:1px solid #d8e9ef;background:#fbfdfe;border-radius:14px;padding:9px;}
.cpag-slot__time{display:grid;align-content:center;text-align:center;border-right:1px solid #e2eef2;padding-right:8px;}
.cpag-slot__time strong{font-size:1rem;color:#426f82;font-weight:700;}
.cpag-slot__time small{font-size:.78rem;color:#7a93a0;}
.cpag-slot__body{display:grid;gap:4px;min-width:0;}
.cpag-slot__body>strong{font-weight:700;color:#0d2a3d;}
.cpag-slot__body>small,.cpag-slot-appt small{display:block;color:#647f8d;line-height:1.3;}
.cpag-slot--libre{background:#fbfdfe;}
.cpag-slot--bloqueado{background:#f7f0eb;border-color:#e9d5c8;}
.cpag-slot--turno{background:#eef8f1;border-color:#bfe2c8;}
.cpag-slot-appt{display:grid;gap:4px;}
.cpag-slot-appt strong{font-weight:700;color:#0d2a3d;}
.cpag-slot-appt .cpag-status{justify-self:start;margin-top:2px;}
.cpag-day-empty{padding:14px;color:#617c89;}
@media(max-width:900px){.cpag-summary--four{grid-template-columns:repeat(2,minmax(0,1fr));}.cpag-day-grid{grid-template-columns:1fr;}.cpag-slot-list{max-height:none;}}
@media(max-width:560px){.cpag-summary--four{grid-template-columns:1fr;}.cpag-slot{grid-template-columns:54px 1fr;}}

/* v36 - Vista diaria en columnas por profesional */
.cpag-slot--libre{background:#eef8f5;border-color:#d6ebe5;}
.cpag-free-label{color:#00865b!important;letter-spacing:.02em;font-weight:800!important;}
.cpag-slot--turno{background:#fff;border-color:#e2e8ec;}
.cpag-slot-appt strong{font-size:.94rem;line-height:1.2;}


/* v38 - Turnos del día: vista real del plugin CP Agendas con menú contextual */
.cpag-day-module{position:relative;overflow:visible;}
.cpag-daylist{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:18px;align-items:start;}
.cpag-daycol{background:#fff;border:1px solid #e1edf1;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(15,38,51,.05);}
.cpag-daycol-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(0,0,0,.06);background:#fbfdfe;}
.cpag-daycol-title{font-weight:900;font-size:14px;color:#0d2a3d;line-height:1.2;}
.cpag-pro-menu{border:1px solid rgba(0,0,0,.10);background:#fff;border-radius:12px;padding:6px 10px;cursor:pointer;font-weight:900;line-height:1;color:#334155;}
.cpag-pro-menu:hover{background:#f5efeb;}
.cpag-daycol-body{padding:10px 12px;display:flex;flex-direction:column;gap:10px;max-height:68vh;overflow:auto;}
.cpag-td-muted{padding:14px;color:#607c8c;}
.cpag-td-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(0,0,0,.06);border-radius:14px;background:#fff;cursor:pointer;min-height:42px;}
.cpag-td-item:hover{filter:brightness(.985);}
.cpag-td-item + .cpag-td-item{margin-top:8px;}
.cpag-td-time{width:54px;min-width:54px;text-align:center;font-weight:900;font-size:13px;line-height:1;color:#111827;}
.cpag-td-info{flex:1;min-width:0;}
.cpag-td-name{font-weight:800;font-size:13px;color:#111827;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cpag-td-prest{margin-top:2px;font-size:12px;color:#426f82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cpag-td-sub{margin-top:2px;font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cpag-td-item.is-available{background:rgba(16,185,129,.06);border-color:rgba(16,185,129,.16);}
.cpag-td-item.is-available .cpag-td-name{color:#059669;font-weight:900;letter-spacing:.2px;}
.cpag-td-item.is-event{background:#fff;border-color:#e5e7eb;}
.cpag-td-item.is-waiting{background:rgba(56,189,248,.14);border-color:rgba(56,189,248,.35);}
.cpag-td-item.is-attended{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.35);}
.cpag-td-item.is-absent{background:rgba(236,72,153,.12);border-color:rgba(236,72,153,.30);}
.cpag-td-item.is-confirmed{border-color:rgba(109,40,217,.24);}
.cpag-td-item.is-authorized{box-shadow:inset 4px 0 0 rgba(34,197,94,.45);}
.cpag-td-item.is-block{background:#f5efeb;border-color:rgba(124,45,18,.18);}
.cpag-td-item.is-block .cpag-td-name{color:#7c2d12;font-weight:900;}
.cpag-agenda-sections{display:flex;flex-direction:column;gap:12px;}
.cpag-agenda-section{padding-top:2px;}
.cpag-agenda-section-head{font-weight:900;font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:#334155;margin:6px 0 10px 0;opacity:.9;}
.cpag-agenda-section + .cpag-agenda-section{border-top:1px dashed rgba(0,0,0,.12);padding-top:12px;}
.cpag-pop{position:fixed;z-index:999999;background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.12);overflow:hidden;min-width:220px;}
.cpag-pop[hidden]{display:none!important;}
.cpag-pop-item{display:block;width:100%;text-align:left;border:0;background:#fff;padding:12px 14px;font-weight:700;cursor:pointer;color:#0d2a3d;font-family:inherit;}
.cpag-pop-item:hover{background:#f5efeb;}
.cpag-pop-danger{color:#9f1d1d;}
.cpag-badge-confirmed,.cpag-badge-auto{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;width:18px;height:18px;border-radius:999px;font-size:12px;font-weight:900;vertical-align:middle;}
.cpag-badge-confirmed{background:#6d28d9;color:#fff;}
.cpag-badge-auto{background:rgba(14,165,233,.18);color:#0ea5e9;border:1px solid rgba(14,165,233,.35);}
.cpag-badge-st{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:0 6px;height:18px;border-radius:999px;font-size:11px;font-weight:900;background:#f59e0b;color:#111827;vertical-align:middle;}
@media(max-width:900px){.cpag-daylist{grid-template-columns:1fr}.cpag-daycol-body{max-height:none;}}

/* v39 - Ajustes Turnos del día solicitados: título único, fecha arriba derecha y tarjetas adaptables */
.app-head .eyebrow{display:none!important;}
.cpag-day-module{padding-top:18px;}
.cpag-day-toolbar{display:flex;justify-content:flex-end;align-items:center;margin:0 0 14px;}
.cpag-date-form{display:flex;justify-content:flex-end;align-items:flex-end;margin:0;}
.cpag-date-form label{display:flex;align-items:center;gap:10px;font-weight:800;color:#0d2a3d;margin:0;}
.cpag-date-form label span{font-size:13px;}
.cpag-date-form input[type="date"]{height:42px;border:1px solid #c7dfe8;border-radius:14px;background:#fff;padding:0 14px;font:inherit;font-weight:800;color:#0d2a3d;box-shadow:none;min-width:165px;}
.cpag-day-module .cpag-summary{display:none!important;}
.cpag-daylist{margin-top:8px;}
.cpag-daycol{overflow:hidden;}
.cpag-daycol-body{gap:8px;}
.cpag-td-item{height:auto!important;min-height:42px;align-items:center;padding:10px 12px;overflow:visible;}
.cpag-td-info{min-width:0;overflow:visible;}
.cpag-td-name,.cpag-td-prest,.cpag-td-sub{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:normal;overflow-wrap:anywhere;}
.cpag-td-name{font-size:12.6px;line-height:1.22;}
.cpag-td-prest{font-size:11px!important;line-height:1.2;color:#426f82;margin-top:3px;}
.cpag-td-sub{font-size:10.5px!important;line-height:1.2;color:#7a7f87;margin-top:3px;}
.cpag-td-time{align-self:center;}
.cpag-td-item.is-available .cpag-td-name{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
@media(max-width:760px){.cpag-day-toolbar{justify-content:flex-start}.cpag-date-form label{width:100%;align-items:flex-start;flex-direction:column}.cpag-date-form input[type="date"]{width:100%;}}

/* v40: empleado con menú clásico, turnos adaptables y bienvenida compacta */
.cp-private-shell--classic-module{
  grid-template-columns:250px 1fr!important;
  background:#fbfbfd!important;
}
.cp-private-shell--classic-module .cp-private-main{
  padding:24px 26px!important;
  background:#fbfbfd!important;
}
.cp-private-shell--classic-module .app-head{
  margin:0 0 26px!important;
  align-items:center!important;
}
.cp-private-shell--classic-module .app-head h1{
  margin:0!important;
  font-size:1.95rem!important;
  color:#5e8da0!important;
  font-weight:400!important;
}
.cp-private-shell--classic-module .module-card{
  border-radius:18px!important;
}
.cp-side-menu a.is-active,
.cp-side__big.is-active{
  background:#d8edf6!important;
  color:#0d2f47!important;
}
.cp-side__brand{
  background:none!important;
}
.cp-side__brand strong::before,
.cp-side__brand strong::after{content:none!important;display:none!important;}

.cp-welcome-card{
  padding:20px 26px!important;
  min-height:0!important;
}
.cp-welcome-card h1{
  margin:0 0 10px!important;
  line-height:1.18!important;
}
.cp-welcome-card h2{
  margin:12px 0 6px!important;
  line-height:1.18!important;
}
.cp-welcome-card p,
.cp-important{
  margin:0 0 9px!important;
  line-height:1.28!important;
}
.cp-dash-list{
  margin:6px 0 14px!important;
  padding-left:0!important;
}
.cp-dash-list li{
  margin:2px 0!important;
  line-height:1.24!important;
}

.cpag-daylist{
  grid-template-columns:repeat(auto-fit,minmax(295px,1fr))!important;
  align-items:start!important;
}
.cpag-daycol-body{
  align-items:stretch!important;
  gap:9px!important;
}
.cpag-td-item{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  align-items:start!important;
  gap:10px!important;
  height:auto!important;
  min-height:44px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
  padding:9px 10px!important;
}
.cpag-td-item + .cpag-td-item{
  margin-top:0!important;
}
.cpag-td-time{
  width:auto!important;
  min-width:0!important;
  align-self:start!important;
  padding-top:3px!important;
  line-height:1.15!important;
  font-size:12px!important;
}
.cpag-td-info{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
}
.cpag-td-name,
.cpag-td-prest,
.cpag-td-sub{
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  max-width:100%!important;
}
.cpag-td-name{
  font-size:12.2px!important;
  line-height:1.18!important;
  font-weight:800!important;
}
.cpag-td-prest{
  font-size:10.4px!important;
  line-height:1.16!important;
  color:#5d7f90!important;
  margin-top:3px!important;
}
.cpag-td-sub{
  font-size:9.8px!important;
  line-height:1.16!important;
  color:#7d8790!important;
  margin-top:3px!important;
}
.cpag-badge-confirmed,
.cpag-badge-auto{
  width:14px!important;
  height:14px!important;
  font-size:9px!important;
  margin-left:4px!important;
  vertical-align:baseline!important;
}
.cpag-badge-st{
  min-width:16px!important;
  height:14px!important;
  padding:0 4px!important;
  font-size:8.5px!important;
  margin-left:4px!important;
  vertical-align:baseline!important;
}
.cpag-td-item.is-available{
  align-items:center!important;
}
.cpag-td-item.is-available .cpag-td-time{
  align-self:center!important;
  padding-top:0!important;
}
.cpag-td-item.is-available .cpag-td-name{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}


/* v41 - Turnos del día legible: columnas más anchas y turnos sin superposición */
.cpag-day-module .cpag-daylist{
  display:flex!important;
  grid-template-columns:none!important;
  gap:16px!important;
  align-items:flex-start!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding:0 0 16px!important;
  margin-top:10px!important;
  scroll-snap-type:x proximity;
}
.cpag-day-module .cpag-daycol{
  flex:0 0 372px!important;
  width:372px!important;
  min-width:372px!important;
  max-width:372px!important;
  overflow:hidden!important;
  scroll-snap-align:start;
}
.cpag-day-module .cpag-daycol-body{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:12px!important;
  padding:12px 14px!important;
  max-height:70vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.cpag-day-module .cpag-td-item{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
  width:100%!important;
  box-sizing:border-box!important;
  height:auto!important;
  min-height:56px!important;
  padding:12px 14px!important;
  border-radius:18px!important;
  overflow:visible!important;
  line-height:1.25!important;
}
.cpag-day-module .cpag-td-item.is-event,
.cpag-day-module .cpag-td-item.has-detail{
  min-height:92px!important;
}
.cpag-day-module .cpag-td-item.is-available{
  min-height:56px!important;
  align-items:center!important;
}
.cpag-day-module .cpag-td-item.is-available .cpag-td-time,
.cpag-day-module .cpag-td-item.is-available .cpag-td-info{
  align-self:center!important;
}
.cpag-day-module .cpag-td-time{
  width:auto!important;
  min-width:0!important;
  padding:4px 0 0!important;
  align-self:start!important;
  text-align:center!important;
  font-size:12.5px!important;
  font-weight:900!important;
  line-height:1.15!important;
  color:#0d2a3d!important;
}
.cpag-day-module .cpag-td-info{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
.cpag-day-module .cpag-td-name{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:3px 6px!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  font-size:12.7px!important;
  line-height:1.25!important;
  font-weight:850!important;
  color:#111827!important;
}
.cpag-day-module .cpag-td-name-text{
  display:inline!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
}
.cpag-day-module .cpag-td-prest,
.cpag-day-module .cpag-td-sub{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  font-size:10.5px!important;
  line-height:1.35!important;
  color:#6f7f89!important;
  margin-top:3px!important;
}
.cpag-day-module .cpag-badge-confirmed,
.cpag-day-module .cpag-badge-auto,
.cpag-day-module .cpag-badge-st{
  flex:0 0 auto!important;
  margin-left:0!important;
  transform:translateY(1px);
}
.cpag-day-module .cpag-td-item.is-available .cpag-td-name{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#00865b!important;
  font-weight:900!important;
}
@media(max-width:760px){
  .cpag-day-module .cpag-daylist{display:block!important;overflow-x:visible!important;padding-bottom:0!important;}
  .cpag-day-module .cpag-daycol{width:100%!important;min-width:0!important;max-width:none!important;flex:1 1 auto!important;margin-bottom:16px!important;}
  .cpag-day-module .cpag-daycol-body{max-height:none!important;}
}

/* v42 - Turnos del día sin desplazamiento lateral: columnas adaptables y tarjetas legibles */
.cpag-day-module{
  overflow-x:hidden!important;
}
.cpag-day-module .cpag-daylist{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;
  gap:16px!important;
  align-items:start!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  padding:0!important;
  margin-top:10px!important;
  scroll-snap-type:none!important;
}
.cpag-day-module .cpag-daycol{
  flex:initial!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  overflow:hidden!important;
  scroll-snap-align:none!important;
}
.cpag-day-module .cpag-daycol-body{
  gap:12px!important;
  padding:12px 14px!important;
  max-height:70vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.cpag-day-module .cpag-td-item{
  grid-template-columns:54px minmax(0,1fr)!important;
  gap:10px!important;
  min-height:64px!important;
  padding:12px 13px!important;
  margin-top:0!important;
  overflow:visible!important;
}
.cpag-day-module .cpag-td-item.is-event,
.cpag-day-module .cpag-td-item.has-detail{
  min-height:100px!important;
}
.cpag-day-module .cpag-td-item.is-available{
  min-height:58px!important;
}
.cpag-day-module .cpag-td-name{
  font-size:12.5px!important;
  line-height:1.28!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}
.cpag-day-module .cpag-td-prest,
.cpag-day-module .cpag-td-sub{
  font-size:10.2px!important;
  line-height:1.35!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}
.cpag-day-module .cpag-badge-confirmed,
.cpag-day-module .cpag-badge-auto,
.cpag-day-module .cpag-badge-st{
  flex:0 0 auto!important;
  position:relative!important;
  top:0!important;
}
@media(max-width:1280px){
  .cpag-day-module .cpag-daylist{grid-template-columns:repeat(auto-fit,minmax(285px,1fr))!important;}
}
@media(max-width:760px){
  .cpag-day-module .cpag-daylist{display:block!important;overflow-x:hidden!important;padding-bottom:0!important;}
  .cpag-day-module .cpag-daycol{width:100%!important;min-width:0!important;max-width:none!important;margin-bottom:16px!important;}
  .cpag-day-module .cpag-daycol-body{max-height:none!important;}
}

/* v43 - Turnos del día: nombre del paciente más legible sin agrandar de más */
.cpag-day-module .cpag-td-item.is-event .cpag-td-name,
.cpag-day-module .cpag-td-item.has-detail .cpag-td-name{
  font-size:13.8px!important;
  line-height:1.32!important;
  font-weight:900!important;
  color:#0d2a3d!important;
  letter-spacing:0!important;
}
.cpag-day-module .cpag-td-item.is-event .cpag-td-name-text,
.cpag-day-module .cpag-td-item.has-detail .cpag-td-name-text{
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.cpag-day-module .cpag-td-item.is-event,
.cpag-day-module .cpag-td-item.has-detail{
  min-height:106px!important;
}
.cpag-day-module .cpag-td-time{
  font-size:12.8px!important;
}

/* v44 - Agenda diaria lista para uso: legible, sin scroll lateral y sin superposición */
.cpag-day-module .cpag-daylist{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(360px,1fr))!important;
  gap:18px!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  padding:0!important;
  align-items:start!important;
}
.cpag-day-module .cpag-daycol{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  border-radius:18px!important;
}
.cpag-day-module .cpag-daycol-head{
  min-height:50px!important;
  padding:14px 16px!important;
}
.cpag-day-module .cpag-daycol-title{
  font-size:15px!important;
  line-height:1.25!important;
  color:#0d2a3d!important;
}
.cpag-day-module .cpag-daycol-body{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  padding:14px!important;
  max-height:70vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.cpag-day-module .cpag-td-item{
  display:grid!important;
  grid-template-columns:60px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  padding:13px 14px!important;
  border-radius:18px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  line-height:1.35!important;
  margin-top:0!important;
}
.cpag-day-module .cpag-td-item.is-available{
  min-height:58px!important;
  align-items:center!important;
}
.cpag-day-module .cpag-td-item.is-event,
.cpag-day-module .cpag-td-item.has-detail{
  min-height:88px!important;
}
.cpag-day-module .cpag-td-time{
  width:auto!important;
  min-width:0!important;
  text-align:center!important;
  align-self:start!important;
  padding-top:3px!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:900!important;
  color:#0d2a3d!important;
}
.cpag-day-module .cpag-td-item.is-available .cpag-td-time{
  align-self:center!important;
  padding-top:0!important;
}
.cpag-day-module .cpag-td-info{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
}
.cpag-day-module .cpag-td-name{
  display:flex!important;
  align-items:flex-start!important;
  flex-wrap:wrap!important;
  gap:3px 6px!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:14.3px!important;
  line-height:1.32!important;
  font-weight:900!important;
  color:#0d2a3d!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}
.cpag-day-module .cpag-td-name-text{
  display:inline!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}
.cpag-day-module .cpag-td-prest,
.cpag-day-module .cpag-td-sub{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  font-size:11.4px!important;
  line-height:1.34!important;
  color:#667985!important;
  margin-top:4px!important;
}
.cpag-day-module .cpag-td-prest{color:#527989!important;}
.cpag-day-module .cpag-td-item.is-available .cpag-td-name{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#00865b!important;
  font-size:13.2px!important;
}
.cpag-day-module .cpag-badge-confirmed,
.cpag-day-module .cpag-badge-auto{
  width:17px!important;
  height:17px!important;
  font-size:10px!important;
  line-height:1!important;
  margin-left:0!important;
  flex:0 0 auto!important;
}
.cpag-day-module .cpag-badge-st{
  height:17px!important;
  min-width:20px!important;
  font-size:9px!important;
  margin-left:0!important;
  flex:0 0 auto!important;
}
.cpag-pop{z-index:999998!important;}
.cpag-pop-primary{color:#0d5f80!important;}
.cpag-modal[hidden]{display:none!important;}
.cpag-modal{
  position:fixed!important;
  inset:0!important;
  z-index:999999!important;
  background:rgba(15,31,42,.35)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:22px!important;
}
.cpag-modal-card{
  width:min(680px,96vw)!important;
  max-height:88vh!important;
  overflow:auto!important;
  background:#fff!important;
  border:1px solid #d7e5ea!important;
  border-radius:20px!important;
  box-shadow:0 24px 70px rgba(15,31,42,.22)!important;
  padding:0!important;
}
.cpag-modal-header{
  display:flex!important;
  justify-content:space-between!important;
  gap:14px!important;
  align-items:flex-start!important;
  padding:18px 20px!important;
  border-bottom:1px solid #eef3f5!important;
}
.cpag-modal-title{font-size:1.2rem!important;font-weight:900!important;color:#0d2a3d!important;line-height:1.2!important;}
.cpag-muted{font-size:.92rem!important;color:#667985!important;line-height:1.3!important;margin-top:3px!important;}
.cpag-modal-close{border:1px solid #d6e5eb!important;background:#fff!important;border-radius:12px!important;width:34px!important;height:34px!important;cursor:pointer!important;font-size:22px!important;line-height:1!important;color:#0d2a3d!important;}
.cpag-details-body,.cpag-quick-fields{padding:18px 20px!important;}
.cpag-details-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:10px!important;}
.cpag-details-grid div{border:1px solid #e1edf1!important;background:#fbfdfe!important;border-radius:14px!important;padding:10px 12px!important;}
.cpag-details-grid strong{display:block!important;font-size:.78rem!important;color:#5f8fa4!important;text-transform:uppercase!important;letter-spacing:.03em!important;margin-bottom:4px!important;}
.cpag-details-grid span{display:block!important;color:#0d2a3d!important;font-weight:700!important;line-height:1.3!important;overflow-wrap:anywhere!important;}
.cpag-quick-form{margin:0!important;}
.cpag-quick-fields{display:grid!important;gap:12px!important;}
.cpag-quick-fields label{display:grid!important;gap:6px!important;font-weight:800!important;color:#0d2a3d!important;}
.cpag-quick-fields input{width:100%!important;border:1px solid #c7dde6!important;border-radius:14px!important;padding:11px 12px!important;background:#fff!important;color:#0d2a3d!important;font:inherit!important;box-sizing:border-box!important;}
.cpag-modal-actions{display:flex!important;justify-content:flex-end!important;gap:10px!important;padding:14px 20px 18px!important;border-top:1px solid #eef3f5!important;flex-wrap:wrap!important;}
.cpag-btn-primary,.cpag-btn-lite{border-radius:14px!important;padding:10px 14px!important;font-weight:900!important;cursor:pointer!important;font-family:inherit!important;}
.cpag-btn-primary{border:1px solid #5f8fa4!important;background:#5f8fa4!important;color:#fff!important;}
.cpag-btn-lite{border:1px solid #c9dce4!important;background:#eef8fb!important;color:#0d2a3d!important;}
.cpag-toast{position:fixed!important;right:22px!important;bottom:22px!important;z-index:1000000!important;background:#0d2a3d!important;color:#fff!important;border-radius:14px!important;padding:12px 14px!important;box-shadow:0 12px 34px rgba(0,0,0,.22)!important;font-weight:800!important;max-width:min(420px,calc(100vw - 44px))!important;}
.cpag-toast.is-error{background:#9f1d1d!important;}
.cpag-error{border:1px solid #efcaca!important;background:#fff3f3!important;color:#7f1d1d!important;border-radius:14px!important;padding:12px!important;font-weight:800!important;}
.cp-private-shell--employee .cp-welcome-card p,
.cp-private-shell--employee .cp-welcome-card li{line-height:1.24!important;margin-bottom:5px!important;}
.cp-private-shell--employee .cp-welcome-card h1{margin-bottom:10px!important;}
.cp-private-shell--employee .cp-dash-list{display:grid!important;gap:4px!important;margin:8px 0 14px!important;}
@media(max-width:1500px){.cpag-day-module .cpag-daylist{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))!important;}}
@media(max-width:760px){.cpag-day-module .cpag-daylist{grid-template-columns:1fr!important;}.cpag-day-module .cpag-daycol-body{max-height:none!important;}.cpag-modal{padding:12px!important;align-items:flex-start!important;}.cpag-modal-card{max-height:94vh!important;}}


/* v45 - Turnos del día y modal de detalles: tarjetas legibles, sin desborde y acciones completas */
.cpag-day-module .cpag-daylist{
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important;
}
.cpag-day-module .cpag-daycol-body{
  gap:14px!important;
}
.cpag-day-module .cpag-td-item{
  grid-template-columns:62px minmax(0,1fr)!important;
  align-items:start!important;
  align-content:start!important;
  min-height:0!important;
  height:auto!important;
  padding:14px 15px!important;
  overflow:visible!important;
}
.cpag-day-module .cpag-td-item.is-event,
.cpag-day-module .cpag-td-item.has-detail{
  min-height:0!important;
}
.cpag-day-module .cpag-td-info{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:4px!important;
  min-width:0!important;
  overflow:visible!important;
}
.cpag-day-module .cpag-td-name{
  display:flex!important;
  align-items:flex-start!important;
  flex-wrap:wrap!important;
  gap:4px 6px!important;
  margin:0!important;
}
.cpag-day-module .cpag-td-name-text{
  flex:1 1 180px!important;
  display:block!important;
  min-width:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}
.cpag-day-module .cpag-td-meta{
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}
.cpag-day-module .cpag-td-prest,
.cpag-day-module .cpag-td-sub{
  margin-top:0!important;
}
.cpag-day-module .cpag-td-prest{
  font-size:11px!important;
  line-height:1.28!important;
}
.cpag-day-module .cpag-td-sub{
  font-size:10.4px!important;
  line-height:1.28!important;
}
.cpag-day-module .cpag-td-item.is-available{
  min-height:58px!important;
  align-items:center!important;
}
.cpag-day-module .cpag-td-item.is-available .cpag-td-name-text{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.cpag-modal-actions--details{
  justify-content:flex-start!important;
}
.cpag-btn-danger{
  border-color:#efcaca!important;
  background:#fff4f4!important;
  color:#8f1d1d!important;
}

/* v46 - Cobro como modal real del plugin Agendas + tarjetas sin texto fuera */
.cpag-day-module .cpag-td-item{
  overflow:visible!important;
  padding-bottom:16px!important;
}
.cpag-day-module .cpag-td-info,
.cpag-day-module .cpag-td-meta,
.cpag-day-module .cpag-td-prest,
.cpag-day-module .cpag-td-sub{
  overflow:visible!important;
  min-height:max-content!important;
}
.cpag-cobro-card{width:min(640px,96vw)!important;}
.cpag-cobro-body{padding:18px 20px!important;display:grid!important;gap:12px!important;}
.cpag-form-row.cpag-cobro-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin:0!important;}
.cpag-cobro-mixto{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.cpag-cobro-row label{display:grid!important;gap:6px!important;font-weight:800!important;color:#0d2a3d!important;}
.cpag-cobro-row input,.cpag-cobro-row select{width:100%!important;box-sizing:border-box!important;border:1px solid #c7dde6!important;border-radius:14px!important;padding:11px 12px!important;background:#fff!important;color:#0d2a3d!important;font:inherit!important;}
.cpag-cobro-row[hidden]{display:none!important;}
.cpag-cobro-msg{min-height:22px!important;margin-top:2px!important;font-weight:800!important;}
.cpag-badge-paid{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:17px!important;height:17px!important;border-radius:999px!important;background:#16a34a!important;color:#fff!important;font-size:10px!important;font-weight:900!important;line-height:1!important;flex:0 0 auto!important;}
@media(max-width:760px){.cpag-form-row.cpag-cobro-row,.cpag-cobro-mixto{grid-template-columns:1fr!important;}}

/* v47 - Turnos del día igual al plugin CP Agendas original */
.cp-private-shell--classic-module .app-head h1,
.cp-private-shell--employee .app-head h1,
.app-main > .app-head h1{
  color:#5b61b2!important;
  font-size:34px!important;
  font-weight:500!important;
  letter-spacing:-.3px!important;
}
.cpag-day-module{background:#fff!important;border:0!important;box-shadow:none!important;padding:0 10px 20px!important;overflow:visible!important;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif!important;}
.cpag-day-topbar{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:16px!important;margin:-6px 0 14px!important;}
.cpag-cal-controls{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important;width:100%!important;}
.cpag-date-nav{display:flex!important;align-items:center!important;gap:8px!important;}
.cpag-date-form{margin:0!important;display:flex!important;align-items:center!important;}
.cpag-date-form label{display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;font-weight:800!important;color:#0d2a3d!important;}
.cpag-date-form label span{font-size:12px!important;font-weight:900!important;}
.cpag-date-form input[type="date"], .cpag-date{border:1px solid #e5e5e5!important;border-radius:10px!important;padding:7px 10px!important;height:36px!important;background:#fff!important;color:#0d2a3d!important;font-weight:800!important;min-width:145px!important;box-shadow:none!important;}
.cpag-btn-lite{border:1px solid #e5e5e5!important;background:#fff!important;border-radius:999px!important;padding:7px 13px!important;font-weight:800!important;cursor:pointer!important;color:#0d2a3d!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1.2!important;}
.cpag-btn-lite:hover{background:#f5efeb!important;}
.cpag-day-module .cpag-daylist{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;gap:16px!important;align-items:start!important;overflow-x:hidden!important;overflow-y:visible!important;padding:0!important;margin-top:6px!important;}
.cpag-day-module .cpag-daycol{background:#fff!important;border:1px solid #e5e5e5!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 14px 32px rgba(15,38,51,.04)!important;min-width:0!important;}
.cpag-day-module .cpag-daycol-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:12px 14px!important;border-bottom:1px solid rgba(0,0,0,.06)!important;background:#fff!important;min-height:48px!important;}
.cpag-day-module .cpag-daycol-title{font-weight:900!important;font-size:14px!important;color:#111827!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.cpag-day-module .cpag-pro-menu{border:1px solid rgba(0,0,0,.10)!important;background:#fff!important;border-radius:12px!important;padding:6px 10px!important;cursor:pointer!important;font-weight:900!important;line-height:1!important;color:#334155!important;}
.cpag-day-module .cpag-pro-menu:hover{background:#f5efeb!important;}
.cpag-day-module .cpag-daycol-body{padding:10px 12px!important;display:flex!important;flex-direction:column!important;gap:10px!important;max-height:74vh!important;overflow-y:auto!important;overflow-x:hidden!important;}
.cpag-day-module .cpag-td-item{display:flex!important;align-items:center!important;gap:12px!important;padding:10px 12px!important;border:1px solid rgba(0,0,0,.06)!important;border-radius:14px!important;background:#fff!important;cursor:pointer!important;width:100%!important;box-sizing:border-box!important;min-height:54px!important;height:auto!important;overflow:hidden!important;line-height:1.15!important;margin-top:0!important;}
.cpag-day-module .cpag-td-item + .cpag-td-item{margin-top:0!important;}
.cpag-day-module .cpag-td-item.is-available{background:rgba(16,185,129,.06)!important;border-color:rgba(16,185,129,.14)!important;min-height:44px!important;}
.cpag-day-module .cpag-td-item.is-event,.cpag-day-module .cpag-td-item.has-detail{min-height:72px!important;}
.cpag-day-module .cpag-td-item.is-waiting{background:rgba(56,189,248,.14)!important;border-color:rgba(56,189,248,.35)!important;}
.cpag-day-module .cpag-td-item.is-attended{background:rgba(34,197,94,.14)!important;border-color:rgba(34,197,94,.35)!important;}
.cpag-day-module .cpag-td-item.is-absent{background:rgba(236,72,153,.12)!important;border-color:rgba(236,72,153,.30)!important;}
.cpag-day-module .cpag-td-item.is-confirmed{border-color:rgba(59,178,225,.45)!important;}
.cpag-day-module .cpag-td-time{min-width:62px!important;width:62px!important;text-align:center!important;font-weight:900!important;font-size:14px!important;color:#111827!important;line-height:1!important;padding:0!important;align-self:center!important;}
.cpag-day-module .cpag-td-info{flex:1!important;min-width:0!important;display:block!important;overflow:hidden!important;}
.cpag-day-module .cpag-td-name{display:flex!important;align-items:center!important;gap:4px!important;font-weight:900!important;font-size:13px!important;color:#111827!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}
.cpag-day-module .cpag-td-name-text{display:block!important;min-width:0!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.cpag-day-module .cpag-td-prest{margin-top:2px!important;font-size:10.5px!important;line-height:1.15!important;color:#374151!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important;max-width:100%!important;}
.cpag-day-module .cpag-td-sub{margin-top:2px!important;font-size:11px!important;line-height:1.15!important;color:#6b7280!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important;max-width:100%!important;}
.cpag-day-module .cpag-td-item.is-available .cpag-td-name{color:#059669!important;font-weight:900!important;letter-spacing:.2px!important;}
.cpag-badge-confirmed,.cpag-badge-auto,.cpag-badge-paid{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-left:4px!important;width:18px!important;height:18px!important;border-radius:999px!important;font-size:11px!important;font-weight:900!important;flex:0 0 auto!important;line-height:1!important;}
.cpag-badge-confirmed{background:#6d28d9!important;color:#fff!important;}
.cpag-badge-auto{background:rgba(14,165,233,.18)!important;color:#0ea5e9!important;border:1px solid rgba(14,165,233,.35)!important;}
.cpag-badge-paid{background:rgba(34,197,94,.16)!important;color:#15803d!important;border:1px solid rgba(34,197,94,.40)!important;}
.cpag-badge-st{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-left:4px!important;padding:0 6px!important;height:18px!important;border-radius:999px!important;font-size:10px!important;font-weight:900!important;background:#f59e0b!important;color:#111827!important;flex:0 0 auto!important;}
.cpag-pop,.cpag-pro-pop{position:fixed!important;z-index:999999!important;background:#fff!important;border:1px solid #e5e5e5!important;border-radius:12px!important;box-shadow:0 14px 30px rgba(0,0,0,.12)!important;overflow:hidden!important;min-width:230px!important;padding:0!important;}
.cpag-pop[hidden],.cpag-pro-pop[hidden]{display:none!important;}
.cpag-pop-item{display:block!important;width:100%!important;text-align:left!important;border:0!important;background:#fff!important;padding:12px 14px!important;font-weight:800!important;cursor:pointer!important;color:#0d2a3d!important;font-family:inherit!important;font-size:13px!important;line-height:1.2!important;}
.cpag-pop-item:hover{background:#f5efeb!important;}
.cpag-pop .cpag-pop-primary{background:#e6f6ff!important;color:#0f5f7b!important;font-weight:900!important;border-left:4px solid #5db8d6!important;}
.cpag-pop-danger{color:#9f1d1d!important;}
.cpag-modal[hidden]{display:none!important;}
.cpag-modal{position:fixed!important;inset:0!important;z-index:999998!important;background:rgba(0,0,0,.35)!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;}
.cpag-modal-card{background:#fff!important;border-radius:18px!important;max-width:720px!important;width:100%!important;box-shadow:0 10px 40px rgba(0,0,0,.25)!important;overflow:hidden!important;border:0!important;}
.cpag-modal-header{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;padding:16px 18px!important;border-bottom:1px solid #eee!important;gap:14px!important;}
.cpag-modal-title{font-size:22px!important;font-weight:900!important;margin-top:2px!important;color:#1c4058!important;line-height:1.1!important;}
.cpag-muted{font-size:12px!important;color:#666!important;font-weight:700!important;line-height:1.3!important;margin-top:2px!important;}
.cpag-modal-close{border:0!important;background:transparent!important;font-size:26px!important;line-height:1!important;cursor:pointer!important;color:#111827!important;width:auto!important;height:auto!important;border-radius:0!important;}
.cpag-details-card{max-width:980px!important;width:min(980px,96vw)!important;border-radius:20px!important;padding:22px 24px 18px!important;box-shadow:0 20px 55px rgba(15,47,70,.18)!important;}
.cpag-details-card .cpag-modal-header{padding:0 0 14px!important;margin-bottom:16px!important;border-bottom:1px solid #e6eef4!important;}
.cpag-details-card .cpag-modal-title{font-size:28px!important;color:#1c4058!important;font-weight:900!important;}
.cpag-details-body{padding:2px 4px 12px!important;}
.cpag-details-grid{display:grid!important;grid-template-columns:210px 1fr!important;gap:12px 18px!important;margin-top:8px!important;}
.cpag-details-label{font-weight:900!important;color:#173047!important;background:#f3f8fb!important;border-radius:12px!important;padding:12px 14px!important;display:flex!important;align-items:center!important;}
.cpag-details-value{background:#fff!important;border:1px solid #dcebf3!important;border-radius:12px!important;padding:12px 14px!important;min-height:24px!important;overflow-wrap:anywhere!important;word-break:break-word!important;color:#4f5b62!important;font-weight:700!important;}
.cpag-details-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;padding:16px 0 0!important;margin-top:8px!important;border-top:1px solid #e6eef4!important;}
.cpag-details-actions .cpag-btn-lite{white-space:normal!important;border-radius:999px!important;padding:10px 18px!important;border:1px solid #b9d9e9!important;background:#d8eef9!important;color:#12384e!important;font-weight:900!important;box-shadow:none!important;}
.cpag-details-actions .cpag-details-close{background:#fff!important;color:#344!important;border-color:#d8e5ec!important;}
.cpag-cobro-card{max-width:720px!important;width:min(720px,96vw)!important;border-radius:18px!important;}
.cpag-cobro-body{padding:18px!important;}
.cpag-form-row{display:flex!important;gap:14px!important;flex-wrap:wrap!important;}
.cpag-form-row label{flex:1 1 180px!important;font-weight:900!important;color:#173047!important;font-size:13px!important;display:grid!important;gap:9px!important;}
.cpag-form-row input,.cpag-form-row select,.cpag-quick-fields input{border:1px solid #cfe3ee!important;border-radius:10px!important;padding:10px 12px!important;background:#fff!important;color:#4f5b62!important;font:inherit!important;box-sizing:border-box!important;min-height:38px!important;}
.cpag-modal-actions{display:flex!important;justify-content:center!important;gap:10px!important;padding:14px 18px!important;border-top:1px solid #eee!important;flex-wrap:wrap!important;}
.cpag-btn-primary{border:1px solid #a7cfc8!important;background:#afd2cd!important;color:#12384e!important;border-radius:12px!important;padding:11px 18px!important;font-weight:900!important;cursor:pointer!important;font-family:inherit!important;}
.cpag-quick-fields{padding:18px!important;display:grid!important;gap:12px!important;}
.cpag-quick-fields label{display:grid!important;gap:9px!important;font-weight:900!important;color:#173047!important;}
@media(max-width:1300px){.cpag-day-module .cpag-daylist{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;}.cpag-day-module .cpag-td-time{min-width:52px!important;width:52px!important}.cpag-day-module .cpag-td-name{font-size:12.5px!important}}
@media(max-width:640px){.cpag-details-grid{grid-template-columns:1fr!important;gap:8px!important}.cpag-details-label{margin-top:6px!important}.cpag-details-actions{justify-content:stretch!important}.cpag-details-actions .cpag-btn-lite{width:100%!important}.cpag-day-module .cpag-daylist{grid-template-columns:1fr!important}.cpag-day-module .cpag-daycol-body{max-height:none!important}.cpag-day-topbar{align-items:stretch!important}.cpag-cal-controls,.cpag-date-nav{width:100%!important}.cpag-date-nav{justify-content:space-between!important}.cpag-date-form input[type="date"]{min-width:0!important;width:100%!important}}


/* v48 - Turnos del día: menú/estados reales y sin scroll por agenda */
.cpag-day-module .cpag-daycol-body{
  max-height:none!important;
  overflow:visible!important;
  overflow-y:visible!important;
  overflow-x:hidden!important;
}
.cpag-day-module .cpag-daycol{
  overflow:hidden!important;
  align-self:start!important;
}
.cpag-day-module .cpag-daylist{
  align-items:start!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
}
.cpag-day-module .cpag-td-item.is-waiting{
  background:rgba(56,189,248,.14)!important;
  border-color:rgba(56,189,248,.45)!important;
}
.cpag-day-module .cpag-td-item.is-absent{
  background:rgba(236,72,153,.12)!important;
  border-color:rgba(236,72,153,.35)!important;
}
.cpag-day-module .cpag-pop,
.cpag-day-module .cpag-pro-pop{
  min-width:220px!important;
  max-width:260px!important;
  border-radius:12px!important;
  border:1px solid #e5e5e5!important;
  box-shadow:0 10px 30px rgba(0,0,0,.12)!important;
  overflow:hidden!important;
  padding:0!important;
}
.cpag-day-module .cpag-pop-item{
  padding:12px 14px!important;
  font-weight:700!important;
  font-size:13px!important;
  line-height:1.2!important;
  color:#0d2a3d!important;
  background:#fff!important;
}
.cpag-day-module .cpag-pop-item:hover{background:#f5efeb!important;}
.cpag-day-module .cpag-pop .cpag-pop-primary{
  background:#e6f6ff!important;
  color:#0f5f7b!important;
  font-weight:800!important;
  border-left:4px solid #5db8d6!important;
}
.cpag-day-module .cpag-pop-danger{color:#b00020!important;font-weight:600!important;}


/* v50 - Menú contextual igual al flujo CP Agendas: sólo muestra opciones del contexto real */
.cpag-day-module .cpag-pop-item[hidden],
.cpag-day-module .cpag-pro-pop .cpag-pop-item[hidden],
.cpag-pop-item[hidden]{
  display:none!important;
}
.cpag-day-module .cpag-pop,
.cpag-day-module .cpag-pro-pop{
  min-width:230px!important;
  max-width:260px!important;
  border-radius:12px!important;
  border:1px solid #e5e5e5!important;
  box-shadow:0 10px 30px rgba(0,0,0,.12)!important;
  overflow:hidden!important;
  padding:0!important;
}
.cpag-day-module .cpag-pop-item:not([hidden]){
  display:block!important;
  width:100%!important;
  text-align:left!important;
  padding:12px 14px!important;
  font-weight:700!important;
  font-size:13px!important;
  line-height:1.2!important;
  color:#0d2a3d!important;
  background:#fff!important;
}
.cpag-day-module .cpag-pop-item:not([hidden]):hover{background:#f5efeb!important;}
.cpag-day-module .cpag-pop .cpag-pop-primary:not([hidden]){
  background:#e6f6ff!important;
  color:#0f5f7b!important;
  font-weight:800!important;
  border-left:4px solid #5db8d6!important;
}
.cpag-day-module .cpag-pop-danger:not([hidden]){color:#b00020!important;font-weight:600!important;}
.cpag-day-module .cpag-daycol-body{
  max-height:none!important;
  overflow:visible!important;
  overflow-y:visible!important;
  overflow-x:hidden!important;
}
.cpag-day-module .cpag-daycol{
  overflow:visible!important;
  align-self:start!important;
}
.cpag-day-module .cpag-daylist{
  overflow-x:hidden!important;
  overflow-y:visible!important;
  align-items:start!important;
}
.cpag-day-module .cpag-td-item.is-waiting{
  background:#e6f6ff!important;
  border-color:#8dd7ee!important;
}
.cpag-day-module .cpag-td-item.is-absent{
  background:#fff0f6!important;
  border-color:#f4a9c8!important;
}


/* v50 - Turnos del día: columnas más anchas, sin barra lateral, y salto a filas inferiores */
.cpag-day-module .cpag-daylist{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(360px,1fr))!important;
  gap:22px!important;
  align-items:start!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  padding:0!important;
  margin-top:8px!important;
}
.cpag-day-module .cpag-daycol{
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  overflow:visible!important;
  align-self:start!important;
}
.cpag-day-module .cpag-daycol-body{
  max-height:none!important;
  overflow:visible!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  padding:14px 16px!important;
  gap:12px!important;
}
.cpag-day-module .cpag-td-item{
  grid-template-columns:64px minmax(0,1fr)!important;
  gap:12px!important;
  min-height:0!important;
  height:auto!important;
  padding:13px 15px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.cpag-day-module .cpag-td-item.is-event,
.cpag-day-module .cpag-td-item.has-detail{
  min-height:0!important;
}
.cpag-day-module .cpag-td-name{
  font-size:13px!important;
  line-height:1.18!important;
}
.cpag-day-module .cpag-td-prest,
.cpag-day-module .cpag-td-sub{
  font-size:10.5px!important;
  line-height:1.25!important;
}
@media(max-width:1500px){
  .cpag-day-module .cpag-daylist{
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr))!important;
  }
}
@media(max-width:1180px){
  .cpag-day-module .cpag-daylist{
    grid-template-columns:repeat(auto-fit,minmax(330px,1fr))!important;
  }
}
@media(max-width:760px){
  .cpag-day-module .cpag-daylist{
    grid-template-columns:1fr!important;
  }
}

/* v51 - Bloqueos en rojo, columnas anchas sin compresión y modales operativos */
.cpag-day-module .cpag-daylist{
  grid-template-columns:repeat(auto-fit,minmax(390px,1fr))!important;
  gap:24px!important;
}
.cpag-day-module .cpag-daycol{
  min-width:0!important;
  max-width:none!important;
}
.cpag-day-module .cpag-td-item.is-block{
  background:#fff1f1!important;
  border-color:#ef9a9a!important;
  box-shadow:inset 4px 0 0 #dc2626!important;
}
.cpag-day-module .cpag-td-item.is-block .cpag-td-name{
  color:#b91c1c!important;
  font-weight:900!important;
}
.cpag-day-module .cpag-td-item.is-block .cpag-td-sub{
  color:#991b1b!important;
}
.cpag-day-module .cpag-td-item.is-block .cpag-td-time{
  color:#991b1b!important;
}
.cpag-patient-lookup-row{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:-4px!important;
  flex-wrap:wrap!important;
}
.cpag-patient-lookup-row button{
  border:1px solid #b9d9e9!important;
  background:#d8eef9!important;
  color:#12384e!important;
  border-radius:999px!important;
  padding:8px 14px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.cpag-patient-lookup-result{
  font-weight:800!important;
  color:#5c6870!important;
  font-size:12px!important;
}
.cpag-quick-fields label input[data-cpag-dni-input]{
  border-color:#a8d7eb!important;
}
@media(max-width:1600px){.cpag-day-module .cpag-daylist{grid-template-columns:repeat(auto-fit,minmax(370px,1fr))!important;}}
@media(max-width:1250px){.cpag-day-module .cpag-daylist{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))!important;}}
@media(max-width:760px){.cpag-day-module .cpag-daylist{grid-template-columns:1fr!important;}}

/* v52 - Calendario como plugin original: vista/profesional/fecha, sin botón de turnos disponibles */
.cpag-calendar-module{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif!important;
}
.cpag-calendar-module .cpag-back-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  color:#111827!important;
  text-decoration:none!important;
  font-weight:800!important;
  margin:0 0 6px!important;
}
.cpag-calendar-module .cpag-calendar-toolbar{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:16px!important;
  margin:0 0 14px!important;
}
.cpag-calendar-module .cpag-cal-title h2{
  color:#5b61b2!important;
  font-size:34px!important;
  font-weight:500!important;
  letter-spacing:-.3px!important;
  margin:0!important;
  line-height:1.15!important;
}
.cpag-calendar-module .cpag-cal-controls{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  width:auto!important;
}
.cpag-calendar-module .cpag-pill-group{
  display:inline-flex!important;
  align-items:center!important;
  gap:2px!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
  border-radius:999px!important;
  padding:4px!important;
}
.cpag-calendar-module .cpag-pill-label{
  font-size:12px!important;
  color:#6b7280!important;
  font-weight:700!important;
  padding:0 7px!important;
}
.cpag-calendar-module .cpag-pill{
  border:0!important;
  background:transparent!important;
  color:#111827!important;
  border-radius:999px!important;
  padding:8px 14px!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.cpag-calendar-module .cpag-pill.is-active{
  background:#f2ebe8!important;
}
.cpag-calendar-module .cpag-calendar-tools{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
}
.cpag-calendar-module .cpag-pro-select,
.cpag-calendar-module .cpag-date{
  height:36px!important;
  border:1px solid #d8dee6!important;
  border-radius:3px!important;
  background:#fff!important;
  color:#111827!important;
  padding:0 10px!important;
  font:inherit!important;
  font-size:13px!important;
  font-weight:600!important;
  min-width:180px!important;
  box-shadow:none!important;
}
.cpag-calendar-module .cpag-date{min-width:145px!important;border-radius:10px!important;font-weight:900!important;}
.cpag-calendar-module .cpag-date-nav{display:flex!important;align-items:center!important;gap:8px!important;}
.cpag-calendar-module .cpag-btn-lite{
  height:36px!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
  border-radius:999px!important;
  padding:0 14px!important;
  font-size:13px!important;
  font-weight:900!important;
  color:#111827!important;
  text-decoration:none!important;
}
.cpag-calendar-body-card{
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-radius:18px!important;
  min-height:220px!important;
  padding:20px 22px!important;
  box-shadow:none!important;
}
.cpag-calendar-empty{
  color:#374151!important;
  font-size:15px!important;
  font-weight:700!important;
  padding:8px 2px!important;
}
.cpag-calendar-daylist{
  max-width:520px!important;
  grid-template-columns:minmax(390px,520px)!important;
  margin:0!important;
}
.cpag-calendar-module .cpag-daycol-body{
  max-height:none!important;
  overflow:visible!important;
}
.cpag-week-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
  gap:12px!important;
}
.cpag-week-day{
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
  background:#fff!important;
  padding:12px!important;
  min-height:120px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:9px!important;
}
.cpag-week-day>strong{font-size:14px!important;color:#111827!important;font-weight:900!important;}
.cpag-week-day small{color:#6b7280!important;font-weight:700!important;}
.cpag-week-day span{
  display:block!important;
  border:1px solid #d8eee8!important;
  background:#eefaf6!important;
  border-radius:10px!important;
  padding:6px 8px!important;
  font-size:12px!important;
  color:#0d2a3d!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.cpag-week-day span.has-turn{background:#fff!important;border-color:#dce5eb!important;}
.cpag-week-day span.is-block{background:#fff1f1!important;border-color:#ef9a9a!important;color:#991b1b!important;}
.cpag-week-day span b{font-weight:900!important;margin-right:5px!important;}
.cpag-week-day em{font-style:normal!important;color:#5f8fa4!important;font-size:12px!important;font-weight:800!important;}
.cpag-month-title{font-size:18px!important;font-weight:900!important;color:#0d2a3d!important;margin:0 0 12px!important;text-transform:capitalize!important;}
.cpag-month-calendar{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(110px,1fr))!important;
  gap:8px!important;
}
.cpag-month-head{
  color:#5f8fa4!important;
  font-size:13px!important;
  font-weight:900!important;
  text-align:center!important;
  padding:6px!important;
}
.cpag-month-cell{
  min-height:98px!important;
  border:1px solid #e5e7eb!important;
  border-radius:14px!important;
  background:#fff!important;
  padding:9px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  overflow:hidden!important;
}
.cpag-month-cell.is-empty{background:transparent!important;border-color:transparent!important;}
.cpag-month-cell.has-turns{border-color:#b8ddec!important;background:#fafdff!important;}
.cpag-month-cell b{font-weight:900!important;color:#111827!important;}
.cpag-month-cell small{color:#6b7280!important;font-size:11px!important;font-weight:700!important;}
.cpag-month-cell span{font-size:11px!important;color:#0d2a3d!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.cpag-month-cell em{font-style:normal!important;color:#5f8fa4!important;font-size:11px!important;font-weight:900!important;}
@media(max-width:1200px){
  .cpag-calendar-module .cpag-calendar-toolbar{align-items:flex-start!important;flex-direction:column!important;}
  .cpag-calendar-module .cpag-cal-controls{justify-content:flex-start!important;}
}
@media(max-width:760px){
  .cpag-calendar-module .cpag-cal-title h2{font-size:30px!important;}
  .cpag-calendar-module .cpag-calendar-tools,.cpag-calendar-module .cpag-date-nav{width:100%!important;}
  .cpag-calendar-module .cpag-pro-select,.cpag-calendar-module .cpag-date{width:100%!important;min-width:0!important;}
  .cpag-calendar-module .cpag-calendar-tools{flex-direction:column!important;align-items:stretch!important;}
  .cpag-calendar-daylist{max-width:none!important;grid-template-columns:1fr!important;}
  .cpag-month-calendar{grid-template-columns:repeat(2,minmax(120px,1fr))!important;}
  .cpag-month-head{display:none!important;}
}

/* v53 - Configuración Agendas completa */
.cpag-config-module{width:100%;}
.cpag-config-card{width:100%;max-width:none!important;padding:18px 20px!important;border-radius:18px!important;box-sizing:border-box;}
.cpag-config-title{margin:0 0 12px!important;color:#5f8fa4!important;font-size:2rem!important;font-weight:500!important;line-height:1.1!important;}
.cpag-mode{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.cpag-label{display:block;font-weight:800;margin:10px 0 6px;color:#0d2a3d;}
.cpag-input,.cpag-select{width:100%;padding:10px 12px;border:1px solid #cfe0e7;border-radius:12px;outline:none;background:#fff;color:#0d2a3d;font:inherit;box-sizing:border-box;}
.cpag-input:focus,.cpag-select:focus{box-shadow:0 0 0 3px rgba(95,143,164,.18);border-color:#5f8fa4;}
.cpag-muted{color:#5d7080;font-size:13px;line-height:1.35;}
.cpag-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr;}
.cpag-btn{display:inline-flex;justify-content:center;align-items:center;width:auto;padding:12px 16px;border-radius:14px;border:1px solid #b7d2e8;background:#b9d8d4;color:#0f2438;font-weight:900;cursor:pointer;box-shadow:0 2px 5px rgba(0,0,0,.04);font-family:inherit;}
.cpag-btn:hover{filter:brightness(.98);}
.cpag-btn-secondary{background:#eef8fb;color:#0f2438;border-color:#c8d9e7;}
.cpag-btn:disabled{opacity:.65;cursor:not-allowed;}
.cpag-btn--ghost{background:#fff;color:#0f172a;border:1px solid #d9e3ec;font-weight:800;padding:10px 13px;}
.cpag-btn--ghost.cpag-active{box-shadow:0 0 0 3px rgba(126,87,194,.16);border-color:#9177e8;}
.cpag-weekdays{display:flex;flex-wrap:wrap;gap:8px;}
.cpag-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #d9e3ec;border-radius:999px;cursor:pointer;user-select:none;background:#fff;}
.cpag-chip input{margin:0;}
.cpag-switch{display:flex;gap:10px;align-items:center;margin-top:8px;font-weight:800;color:#0d2a3d;}
.cpag-switch input{transform:scale(1.08);}
.cpag-config-switches{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;}
.cpag-config-form{margin-top:14px;}
.cpag-config-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:14px;}
.cpag-ok{color:#0f766e!important;font-weight:800;}
.cpag-err{color:#b91c1c!important;font-weight:800;}
.cpag-blocks-wrap{margin-top:12px;}
.cpag-blocks-wrap #cpag_add_block{margin-top:8px;}
#cpag_blocks_box{margin-top:10px;}
.cpag-extra-block{border:1px solid #d9e3ec;border-radius:12px;padding:12px;margin-top:10px;background:#fff;}
.cpag-extra-block-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.cpag-extra-block-head .cpag-btn{padding:8px 10px;font-size:13px;}
.cpag-danger-wrap{margin-top:16px;}
.cpag-danger-title{font-weight:900;margin-bottom:8px;color:#0d2a3d;}
.cpag-delete-zone{display:grid;gap:10px;padding:12px;border:1px solid #f2c9c9;background:#fff7f7;border-radius:12px;}
.cpag-btn-danger{background:#b91c1c!important;color:#fff!important;border-color:#b91c1c!important;}
@media(max-width:720px){.cpag-grid{grid-template-columns:1fr;}.cpag-config-title{font-size:1.6rem!important;}}

/* v55 - Portal Paciente / Historias Clínicas */
.cpc-module{max-width:1280px;margin:0 auto 22px!important}
.cpc-patient-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border:1px solid #d7e8ef;background:#fbfdfe;border-radius:18px;padding:16px 18px;margin:14px 0 18px}
.cpc-patient-head h2{margin:0 0 4px;color:#123047;font-size:1.5rem}.cpc-patient-head p{margin:0;color:#637985}.cpc-patient-mini{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:10px;min-width:min(560px,100%)}.cpc-patient-mini span{border:1px solid #e0edf2;border-radius:14px;background:#fff;padding:9px 12px;color:#66808c;font-size:.82rem}.cpc-patient-mini strong{color:#123047;font-size:.95rem}.cpc-searchbar{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin:12px 0}.cpc-searchbar label{font-weight:800;color:#123047;display:grid;gap:6px}.cpc-searchbar input,.cpc-hc-form input,.cpc-hc-form textarea,.cpc-hc-form select,.cpc-hc-box textarea{width:100%;border:1px solid #cfe0e8;border-radius:13px;padding:10px 12px;font:inherit;box-sizing:border-box;background:#fff;color:#123047}.cpc-patient-results{display:grid;gap:8px;margin:14px 0}.cpc-patient-results a{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #dce9ee;border-radius:14px;background:#fff;padding:12px 14px;text-decoration:none;color:#123047}.cpc-patient-results span{color:#66808c}.cpc-hc-box{border:1px solid #dce9ee;border-radius:18px;background:#fff;padding:16px;margin:14px 0}.cpc-hc-box h3{margin:0 0 12px;color:#123047}.cpc-read-box{border:1px solid #eef3f5;border-radius:14px;background:#fbfdfe;padding:12px;color:#123047;line-height:1.35}.cpc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:12px}.cpc-form-grid label,.cpc-hc-form label{display:grid;gap:6px;font-weight:800;color:#123047}.cpc-form-grid--small{grid-template-columns:1fr 2fr}.cpc-timeline{display:grid;gap:12px}.cpc-evo{border:1px solid #e4edf1;border-radius:16px;padding:13px;background:#fbfdfe}.cpc-evo header{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;color:#54798a}.cpc-evo header strong{color:#123047}.cpc-evo-field{margin:8px 0}.cpc-evo-field strong{display:block;color:#5f8fa4;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}.cpc-evo-field p{margin:2px 0 0;color:#123047;line-height:1.35}.cpc-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.cpc-check-grid label{border:1px solid #e5eef2;border-radius:13px;padding:9px 10px;background:#fbfdfe;font-weight:700;color:#123047}.cpc-doc-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.cpc-doc-list article{border:1px solid #e4edf1;border-radius:16px;background:#fbfdfe;padding:12px;display:grid;gap:6px}.cpc-doc-list span{font-size:.86rem;color:#66808c}.cpc-table-wrap{overflow:auto}.cpc-portal-grid{max-width:1280px;margin:0 auto 22px!important}.cp-wa-tool-result{margin-top:12px;white-space:normal}.notice--error{border-color:#efcaca!important;background:#fff4f4!important;color:#7a1d1d!important}@media(max-width:900px){.cpc-patient-head{display:block}.cpc-patient-mini{grid-template-columns:1fr;margin-top:12px;min-width:0}.cpc-form-grid,.cpc-form-grid--small,.cpc-searchbar{grid-template-columns:1fr}}

/* v56 - WhatsApp: plantillas reales desde Meta */
.cp-wa-template-status{font-size:12px;color:#5f7f8c;margin:2px 0 6px;line-height:1.25}
.cp-wa-template-status.is-ok{color:#1d7a4a}
.cp-wa-template-status.is-warn{color:#9a6412}
.cp-wa-operator--v56 .cp-wa-templates button[data-template-name]{white-space:normal;text-align:left;line-height:1.15}

/* v57 - Fichaje como modal simple */
.cp-clock-modal[hidden]{display:none!important;}
.cp-clock-modal{position:fixed!important;inset:0!important;z-index:1000000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;}
.cp-clock-modal__backdrop{position:absolute!important;inset:0!important;background:rgba(15,42,55,.38)!important;backdrop-filter:blur(2px);}
.cp-clock-modal__card{position:relative!important;width:min(430px,calc(100vw - 28px))!important;max-height:86vh!important;overflow:auto!important;background:#fff!important;border:1px solid #d7e7ee!important;border-radius:22px!important;box-shadow:0 24px 70px rgba(12,33,46,.24)!important;padding:0!important;}
.cp-clock-modal__close{position:absolute!important;right:12px!important;top:12px!important;width:34px!important;height:34px!important;border:1px solid #d6e5eb!important;background:#fff!important;border-radius:999px!important;color:#0d2a3d!important;font-size:22px!important;line-height:1!important;cursor:pointer!important;z-index:2!important;}
.cp-clock-card--modal{box-shadow:none!important;border:0!important;max-width:none!important;padding:22px 22px 20px!important;margin:0!important;background:#fff!important;}
.cp-clock-modal__head{padding-right:38px!important;}
.cp-clock-modal__head h2{margin:8px 0 4px!important;color:#5f8fa4!important;font-weight:500!important;font-size:1.45rem!important;line-height:1.1!important;}
.cp-clock-modal__head p{margin:0!important;color:#607985!important;line-height:1.3!important;font-size:.95rem!important;}
.cp-clock-card--modal .cp-clock-status{margin:16px 0 12px!important;padding:12px 13px!important;border-radius:14px!important;font-size:.94rem!important;line-height:1.35!important;}
.cp-clock-card--modal .cp-clock-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin:12px 0 8px!important;}
.cp-clock-card--modal .cp-clock-actions .btn{width:100%!important;text-align:center!important;justify-content:center!important;padding:10px 12px!important;}
.cp-clock-recent-box{margin-top:14px!important;border-top:1px solid #edf4f6!important;padding-top:10px!important;}
.cp-clock-recent-box summary{cursor:pointer!important;color:#5f8fa4!important;font-weight:700!important;font-size:.92rem!important;}
.cp-clock-recent-box .cp-clock-table{margin-top:10px!important;font-size:.86rem!important;}
.cp-clock-modal-open body{overflow:hidden!important;}
@media(max-width:480px){.cp-clock-card--modal .cp-clock-actions{grid-template-columns:1fr!important}.cp-clock-modal{align-items:flex-start!important;padding-top:24px!important}.cp-clock-modal__card{max-height:92vh!important}}

/* v58 - Portal Paciente por botones cuadrados */
.cpc-module--patient{max-width:1180px!important}
.cpc-patient-home{margin-top:16px}
.cpc-patient-intro{border:1px solid #d7e8ef;background:linear-gradient(180deg,#fafdff,#eef8fb);border-radius:20px;padding:18px 20px;margin-bottom:16px}
.cpc-patient-intro h3{margin:0 0 4px;color:#123047;font-size:1.35rem}.cpc-patient-intro p{margin:0;color:#5b7683}
.cpc-square-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;align-items:stretch}.cpc-square-grid--small{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.cpc-tile{position:relative;min-height:168px;border:1px solid #cfe5ee;background:#fff;border-radius:22px;box-shadow:0 14px 34px rgba(23,67,84,.08);padding:0;text-decoration:none;color:#123047;overflow:hidden}.cpc-tile[open]{grid-column:span 2;min-height:168px}.cpc-tile summary{list-style:none;cursor:pointer;display:flex;min-height:168px;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px;gap:8px}.cpc-tile summary::-webkit-details-marker{display:none}.cpc-tile--direct{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:8px;padding:20px;box-sizing:border-box}.cpc-tile-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:#e7f5fa;font-size:28px}.cpc-tile strong{font-family:Comfortaa,Alegreya Sans,sans-serif;font-size:1.1rem}.cpc-tile small{color:#6d8792;font-weight:700}.cpc-subbuttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;border-top:1px solid #e2eff4;background:#f8fcfd;padding:14px}.cpc-subbutton{border:1px solid #cfe0e8;background:#fff;border-radius:16px;padding:13px 14px;text-align:center;text-decoration:none;color:#123047;font-weight:900;box-shadow:0 8px 18px rgba(23,67,84,.05)}.cpc-subbutton:hover,.cpc-tile:hover{transform:translateY(-1px)}
.cpc-patient-back{max-width:1280px;margin:0 auto 12px}.cpc-action-form{margin-top:14px}.cpc-action-form .btn{margin-top:12px}.cpc-doc-list--wide{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.cpc-doc-list article p{margin:4px 0 6px;color:#365867;line-height:1.35}.cpc-inline-form{margin-top:8px}.cpc-inline-form .btn{width:100%}
@media(max-width:720px){.cpc-tile[open]{grid-column:span 1}.cpc-square-grid{grid-template-columns:1fr 1fr}.cpc-tile,.cpc-tile summary,.cpc-tile--direct{min-height:145px}.cpc-tile-icon{width:46px;height:46px;font-size:24px}.cpc-tile strong{font-size:.95rem}.cpc-tile small{font-size:.76rem}.cpc-subbuttons{grid-template-columns:1fr}.cpc-patient-head{margin-left:0;margin-right:0}}
@media(max-width:460px){.cpc-square-grid{grid-template-columns:1fr}}
@media print{.sidebar,.app-head,.cpc-patient-back,.btn,.cpc-square-grid{display:none!important}.app-shell{display:block}.app-main{padding:0}.card{box-shadow:none!important;border:0!important}}
.cpc-vax-calendar{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:14px}.cpc-vax-calendar section{border:1px solid #dce9ee;background:#fff;border-radius:18px;padding:14px}.cpc-vax-calendar h3{margin:0 0 10px;color:#123047;font-size:1rem}.cpc-vax-items{display:grid;gap:7px}.cpc-vax-item{display:flex;gap:8px;align-items:center;border:1px solid #edf3f6;border-radius:12px;background:#fbfdfe;padding:8px 9px;color:#5f7480;font-weight:800}.cpc-vax-item span{width:20px;height:20px;border-radius:7px;background:#edf6fa;display:grid;place-items:center}.cpc-vax-item.is-done{border-color:#b8dcca;background:#f0fbf4;color:#123047}.cpc-vax-item.is-done span{background:#dff5e6}
.cpc-vax-calendar{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:14px}.cpc-vax-calendar section{border:1px solid #dce9ee;background:#fff;border-radius:18px;padding:14px}.cpc-vax-calendar h3{margin:0 0 10px;color:#123047;font-size:1rem}.cpc-vax-items{display:grid;gap:7px}.cpc-vax-item{display:flex;gap:8px;align-items:center;border:1px solid #edf3f6;border-radius:12px;background:#fbfdfe;padding:8px 9px;color:#5f7480;font-weight:800}.cpc-vax-item span{width:20px;height:20px;border-radius:7px;background:#edf6fa;display:grid;place-items:center}.cpc-vax-item.is-done{border-color:#b8dcca;background:#f0fbf4;color:#123047}.cpc-vax-item.is-done span{background:#dff5e6}

/* v59 - Portal profesional real */
.cpag-extra-wrap{max-width:none;background:#fff;border:1px solid #d9e8f2;border-radius:18px;padding:18px;color:#17384b;box-sizing:border-box;box-shadow:0 5px 20px rgba(16,52,73,.04)}
.cpag-extra-title{font-size:26px;font-weight:800;margin:0 0 6px;color:#17384b}.cpag-extra-sub{margin:0 0 16px;color:#5b7280;font-weight:600}.cpag-extra-form{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;align-items:end;background:#f7fbfe;border:1px solid #d9e8f2;border-radius:16px;padding:14px;margin-bottom:16px}.cpag-extra-field label{display:block;font-weight:800;margin-bottom:5px;color:#17384b}.cpag-extra-field input,.cpag-extra-field select{width:100%;border:1px solid #cfe1ed;border-radius:12px;padding:10px;background:#fff;box-sizing:border-box}.cpag-extra-link{grid-column:span 2}.cpag-check-line{display:flex!important;align-items:center;gap:8px;font-weight:700!important}.cpag-check-line input{width:auto!important}.cpag-extra-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.cpag-extra-btn{border:1px solid #a8c5dc;background:#cfe3f4;color:#0d2238;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-block}.cpag-extra-btn-light{background:#fff}.cpag-extra-loaded-title{margin:18px 0 8px;color:#507286;font-size:22px}.cpag-extra-scroll{overflow-x:auto}.cpag-extra-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:8px}.cpag-extra-table th{text-align:left;font-size:12px;color:#517084;padding:8px}.cpag-extra-table td{background:#fff;border-top:1px solid #e2edf4;border-bottom:1px solid #e2edf4;padding:10px 8px;vertical-align:middle}.cpag-extra-table td:first-child{border-left:1px solid #e2edf4;border-radius:12px 0 0 12px}.cpag-extra-table td:last-child{border-right:1px solid #e2edf4;border-radius:0 12px 12px 0}.cpag-extra-badge{display:inline-block;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;background:#e6f3ff;color:#17384b}.cpag-extra-badge.off{background:#f1f1f1;color:#777}.cpc-module--hc .cpc-searchbar:first-child{margin-top:0}.cpc-hc-evo-new{border-color:#b7d9e9;background:#f7fcff}.cpc-consultas{display:flex;flex-direction:column;gap:12px}.cpc-consulta-card{background:#fff;border:1px solid #dbe7f2;border-radius:16px;padding:14px}.cpc-consulta-card.is-pending{background:#fff7ed;border-color:#fb923c;box-shadow:0 0 0 2px rgba(251,146,60,.12)}.cpc-consulta-card.is-closed{opacity:.82}.cpc-bubble{border-radius:14px;padding:10px 11px;background:#f6f9fc;border:1px solid #e1ebf4;margin-top:8px}.cpc-bubble.profesional{background:#eef8ff}.cpc-bubble.paciente{background:#f2fbf5}.cpc-bubble.empleado,.cpc-bubble.operador{background:#fff8ec}.cpc-bubble-meta{font-size:11px;color:#667085;font-weight:800;margin-bottom:4px}.cpc-reply{margin-top:10px;border-top:1px dashed #dbe7f2;padding-top:10px}.cpc-reply textarea,.cpc-action-form textarea{width:100%;border:1px solid #d4e2ee;border-radius:12px;padding:10px;box-sizing:border-box}.cpc-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.cpvc-hc-embed{padding:14px;background:#f6fbfc;min-height:100vh;box-sizing:border-box}
@media(max-width:1000px){.cpag-extra-form{grid-template-columns:1fr 1fr}.cpag-extra-link{grid-column:span 2}}@media(max-width:640px){.cpag-extra-form{grid-template-columns:1fr}.cpag-extra-link{grid-column:span 1}}

/* v60 - Portal Paciente sin menú lateral, bienvenida real y solicitud por staff */
.cp-patient-shell{
  min-height:100vh;
  background:#f7fbfb;
}
.cp-patient-main{
  max-width:none;
  width:100%;
  padding:32px 12px 54px;
}
.cp-patient-topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin:0 0 18px;
  color:#102f47;
  font-weight:900;
}
.cp-patient-backlink,
.cp-patient-logout{
  color:#102f47;
  text-decoration:none;
  font-weight:900;
}
.cp-patient-logout{
  margin-left:auto;
}
.cpc-patient-welcome{
  background:#fff;
  border:1px solid #d8e8ef;
  border-radius:18px;
  padding:24px 26px;
  color:#23384d;
  box-shadow:0 4px 14px rgba(21,70,93,.04);
  margin-bottom:18px;
}
.cpc-patient-welcome h1{
  font-family:'Comfortaa',Arial,sans-serif;
  font-size:clamp(1.5rem,2vw,2rem);
  margin:0 0 16px;
  color:#123047;
}
.cpc-patient-welcome p{
  margin:12px 0;
  line-height:1.55;
}
.cpc-welcome-lead{margin-top:24px!important;}
.cpc-patient-welcome ul{
  list-style:none;
  padding:0;
  margin:6px 0 26px;
  line-height:1.65;
}
.cpc-patient-home{margin-top:0;}
.cpc-square-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(210px,1fr));
  gap:16px;
}
.cpc-tile{
  display:block;
  min-height:178px;
  background:#fff;
  border:1px solid #d8e8ef;
  border-radius:18px;
  padding:0;
  box-shadow:0 4px 14px rgba(21,70,93,.04);
  overflow:hidden;
}
.cpc-tile summary,
.cpc-tile--direct{
  cursor:pointer;
  list-style:none;
  min-height:178px;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:8px;
  color:#102f47;
  text-decoration:none;
}
.cpc-tile summary::-webkit-details-marker{display:none;}
.cpc-tile-icon{font-size:2rem;line-height:1;}
.cpc-tile strong{font-family:'Comfortaa',Arial,sans-serif;font-size:1.25rem;color:#102f47;}
.cpc-tile small{color:#66808c;font-weight:800;}
.cpc-subbuttons{
  border-top:1px solid #e3eff4;
  padding:12px;
  display:grid;
  gap:8px;
}
.cpc-subbutton{
  display:block;
  border-radius:12px;
  padding:11px 12px;
  background:#dbeaf4;
  color:#102f47;
  text-align:center;
  text-decoration:none;
  font-weight:900;
}
.cpc-subbutton:hover,.cpc-staff-btn:hover{filter:brightness(.98);transform:translateY(-1px);}
.cpc-patient-staff h1{
  text-align:center;
  font-family:'Comfortaa',Arial,sans-serif;
  color:#5b8296;
  font-size:clamp(1.7rem,2.5vw,2.55rem);
  margin:40px 0 24px;
}
.cpc-staff-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(280px,1fr));
  gap:22px;
}
.cpc-staff-card{
  background:#fff;
  border:1px solid #d8e8ef;
  border-radius:12px;
  padding:22px 24px;
  min-height:188px;
  box-shadow:0 4px 14px rgba(21,70,93,.04);
}
.cpc-staff-head{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:14px;
}
.cpc-staff-head img{
  width:58px;
  height:58px;
  border-radius:50%;
  object-fit:cover;
  background:#eaf4f7;
  border:1px solid #e7f1f5;
}
.cpc-staff-head h3{
  font-family:'Comfortaa',Arial,sans-serif;
  color:#19324d;
  font-size:1.15rem;
  margin:0;
}
.cpc-staff-specialty{
  color:#6b6f73;
  font-style:italic;
  font-weight:900;
  margin:0 0 8px;
}
.cpc-staff-card p{color:#6b6f73;margin:8px 0;}
.cpc-staff-btn{
  display:block;
  margin-top:14px;
  border-radius:10px;
  background:#c7ddec;
  color:#102f47;
  text-align:center;
  text-decoration:none;
  font-weight:900;
  padding:12px 16px;
}
.cpc-turno-form{max-width:1120px;margin:0 auto;}
.cpc-wide-label{display:block;margin-top:12px;font-weight:900;}
@media(max-width:900px){.cpc-square-grid,.cpc-staff-grid{grid-template-columns:1fr}.cp-patient-main{padding:22px 10px}.cpc-patient-welcome{padding:18px}.cpc-patient-topbar{position:sticky;top:0;background:#f7fbfb;padding:8px 0;z-index:5}}


/* v61 - Portal paciente: consultar turnos limpio, sin detalle/tipo de turno */
.cpc-patient-appointments{max-width:1180px;margin:0 auto 32px;padding:0 8px;}
.cpc-patient-appointments>h1{font-family:var(--font-title);font-size:clamp(28px,3vw,42px);font-weight:500;color:#557f95;text-align:center;margin:22px 0 20px;}
.cpc-absence-box{border:1px solid #bfe8d0;background:#f1fff7;border-radius:16px;padding:14px 18px;margin:0 0 18px;color:#17324a;font-size:15px;}
.cpc-absence-box strong{font-weight:800;}
.cpc-appointments-table th,.cpc-appointments-table td{font-size:15px;padding:14px 16px;}
.cpc-appointments-table .pill{display:inline-flex;align-items:center;justify-content:center;min-width:104px;}

/* v63 - Administración sin menú lateral */
.cp-admin-noside-shell{min-height:100vh;background:linear-gradient(180deg,#f7fbfc 0%,#f5f8f9 100%);}
.cp-admin-noside-main{width:100%;max-width:1720px;margin:0 auto;padding:24px 28px 44px;}
.cp-admin-noside-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;font-weight:700;color:#102842;}
.cp-admin-backlink,.cp-admin-noside-logout{color:#102842;text-decoration:none;border:1px solid transparent;border-radius:12px;padding:8px 10px;}
.cp-admin-backlink:hover,.cp-admin-noside-logout:hover{background:#e7f3f8;border-color:#cfe3ed;}
.cp-admin-noside-title h1{font-size:34px;line-height:1.1;margin:0 0 24px;color:#5b88a0;}
.cp-admin-noside-shell .module-card{max-width:none;margin:0 auto;}
.cp-admin-noside-shell .card{border:1px solid #d5e8f0;border-radius:18px;box-shadow:0 18px 42px rgba(16,40,66,.06);}

/* v63 - Configuración real de profesionales */
.cp-admin-prof-config{width:100%;}
.cp-admin-prof-card{padding:28px;}
.cp-admin-prof-select{display:flex;gap:12px;align-items:end;margin:16px 0 22px;}
.cp-admin-prof-select label{flex:1;font-weight:700;color:#102842;}
.cp-admin-prof-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px;align-items:start;}
.cp-admin-prof-photo{display:grid;gap:12px;}
.cp-admin-prof-photo-box{width:180px;height:180px;border-radius:999px;border:1px solid #d4e8ef;background:#eef7f8;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#678;font-weight:700;}
.cp-admin-prof-photo-box img{width:100%;height:100%;object-fit:cover;display:block;}
.cp-admin-prof-photo label,.cp-admin-prof-fields label{font-weight:700;color:#102842;}
.cp-admin-prof-photo input,.cp-admin-prof-fields input,.cp-admin-prof-fields textarea,.cp-admin-prof-fields select,.cp-admin-prof-select select{width:100%;border:1px solid #c9dfe8;border-radius:13px;padding:12px 13px;background:#fff;color:#102842;font:inherit;}
.cp-admin-wide{display:block;margin-top:14px;}
.cp-admin-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;}
.cp-admin-checks label{border:1px solid #d5e8f0;background:#f4fbfc;border-radius:14px;padding:13px;display:flex;gap:9px;align-items:flex-start;}
.cp-admin-actions{margin-top:12px;}
@media(max-width:900px){.cp-admin-prof-layout{grid-template-columns:1fr}.cp-admin-checks{grid-template-columns:1fr}.cp-admin-prof-select{display:block}.cp-admin-noside-main{padding:18px 14px 36px}}

/* v63 - Portal paciente turnos: vista original de autogestión */
.cpc-patient-booking{max-width:1560px;margin:0 auto;}
.cpc-pac-turno-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 16px;}
.cpc-pac-turno-head h1{margin:0;font-size:34px;color:#5b88a0;font-weight:500;}
.cpag-pac-att{border:1px solid #9cc7ff;background:#eaf4ff;border-radius:8px;padding:15px 18px;margin:0 0 16px;font-weight:600;color:#536678;}
.cpc-book-preselect{border:1px solid #d4e8ef;border-radius:18px;background:#fff;padding:24px;margin:0 0 18px;}
.cpag-pac-booking-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:center;}
.cpag-pac-booking-row label{font-weight:800;color:#102842;}
.cpag-pac-booking-row select{border:1px solid #c8dfe8;border-radius:13px;padding:12px 14px;background:#fff;font:inherit;color:#102842;}
.cpag-pac-preselect-note{margin-top:14px;border:1px solid #ffc94b;background:#fff3cd;color:#6b4c00;border-radius:12px;padding:12px 14px;font-weight:800;}
.cpc-available-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px;margin-top:16px;}
.cpc-available-day{border:1px solid #d4e8ef;border-radius:16px;background:#fff;padding:14px;}
.cpc-available-day h3{margin:0 0 12px;color:#5b88a0;}
.cpc-slot-buttons{display:flex;flex-wrap:wrap;gap:8px;}
.cpc-slot-form{margin:0;}
.cpc-slot-form button{border:0;border-radius:10px;background:#c5ddeb;color:#102842;font-weight:800;padding:9px 13px;cursor:pointer;}
.cpc-slot-form button:hover{filter:brightness(.96)}

/* v64 - Admin optimizado y portal paciente con iconos centrados */
.cp-admin-noside-main{
  max-width:1760px;
  padding-top:10px;
}
.cp-admin-noside-topbar{
  margin:0 0 10px;
  padding:0 4px;
}
.cp-admin-module-tabs{
  display:grid;
  grid-template-columns:repeat(6,minmax(150px,1fr));
  gap:10px;
  margin:6px 0 8px;
}
.cp-admin-module-tab{
  min-height:74px;
  border:1px solid #d0e2ed;
  background:#fff;
  border-radius:16px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:7px;
  color:#082b43;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 4px 14px rgba(21,70,93,.035);
}
.cp-admin-module-tab span{font-size:24px;line-height:1;}
.cp-admin-module-tab b{font-weight:900;}
.cp-admin-module-tab.is-active{
  background:#d9ecf7;
  border-color:#b6d8ea;
}
.cp-admin-module-subtabs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  border:1px solid #d7e8ef;
  background:#fff;
  border-radius:16px;
  padding:9px 11px;
  margin-bottom:110px;
}
.cp-admin-module-subtabs a{
  border:1px solid #c7e0ee;
  background:#eef8fd;
  color:#082b43;
  border-radius:999px;
  padding:7px 13px;
  text-decoration:none;
  font-weight:900;
  font-size:14px;
  line-height:1;
}
.cp-admin-module-subtabs a.is-active{
  background:#cfe9f7;
  border-color:#a9d1e6;
}
.cp-admin-prof-card{
  padding:24px 26px!important;
}
.cp-admin-prof-card h2{
  margin-top:0!important;
  color:#123047!important;
  font-size:28px!important;
  font-weight:900!important;
}
.cp-admin-prof-card h3{
  margin:20px 0 10px;
  color:#123047;
  font-size:24px;
  font-weight:900;
}
.cp-admin-prof-select--legacy{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:end;
  margin:12px 0 6px!important;
}
.cp-admin-help{margin:8px 0 16px!important;}
.cp-admin-form-grid{
  display:grid;
  gap:14px 18px;
  margin-top:10px;
}
.cp-admin-form-grid--2{grid-template-columns:repeat(2,minmax(240px,1fr));}
.cp-admin-form-grid--3{grid-template-columns:repeat(3,minmax(190px,1fr));}
.cp-admin-prof-form label,
.cp-admin-prof-select label{
  display:grid;
  gap:7px;
  font-weight:900;
  color:#061f35;
}
.cp-admin-prof-form input,
.cp-admin-prof-form textarea,
.cp-admin-prof-form select,
.cp-admin-prof-select select{
  width:100%;
  border:1px solid #cbdbe3;
  border-radius:13px;
  background:#fff;
  color:#123047;
  padding:12px 14px;
  font:inherit;
  box-sizing:border-box;
}
.cp-admin-prof-form small{
  color:#4f6878;
  font-weight:700;
  line-height:1.25;
}
.cp-admin-sep{
  border:0;
  border-top:1px solid #d9e2e8;
  margin:18px 0;
}
.cp-admin-checks{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.cp-admin-checks label{
  line-height:1.25;
}
.cp-admin-media-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(240px,1fr));
  gap:18px;
  margin-top:10px;
}
.cp-admin-media-row>div{
  border:1px solid #d7e8ef;
  border-radius:16px;
  background:#fbfdfe;
  padding:14px;
  display:grid;
  gap:10px;
}
.cp-admin-preview{
  min-height:118px;
  border:1px dashed #b9d6e4;
  border-radius:14px;
  background:#fff;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#607b8a;
  font-weight:900;
}
.cp-admin-preview img{
  max-width:100%;
  max-height:160px;
  object-fit:contain;
  display:block;
}
.cp-admin-preview:not(.cp-admin-preview--signature) img{
  width:110px;
  height:110px;
  object-fit:cover;
  border-radius:999px;
}
.cp-admin-actions{
  margin:18px 0;
}

.cp-patient-main .cpc-tile summary,
.cp-patient-main .cpc-tile--direct{
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.cp-patient-main .cpc-tile-icon{
  display:grid!important;
  place-items:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  width:54px!important;
  height:54px!important;
  border-radius:18px!important;
  background:#e7f5fa!important;
}
.cp-patient-main .cpc-square-grid .cpc-tile,
.cp-patient-main .cpc-square-grid .cpc-tile *{
  text-align:center;
}

@media(max-width:1180px){
  .cp-admin-module-tabs{grid-template-columns:repeat(3,minmax(150px,1fr));}
  .cp-admin-module-subtabs{margin-bottom:42px;}
  .cp-admin-form-grid--3{grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
  .cp-admin-module-tabs{grid-template-columns:1fr 1fr;}
  .cp-admin-module-tab{min-height:64px;}
  .cp-admin-module-subtabs{margin-bottom:24px;}
  .cp-admin-prof-select--legacy,
  .cp-admin-form-grid--2,
  .cp-admin-form-grid--3,
  .cp-admin-media-row,
  .cp-admin-checks{grid-template-columns:1fr!important;}
}

/* v67 - Portal paciente: calendario mensual para turnos online */
.cpc-patient-booking{max-width:1560px;margin:0 auto 44px;}
.cpc-patient-booking .cpag-pac-att{border:1px solid #89b7ff;background:#e5f2ff;border-radius:8px;padding:16px 18px;margin:0 0 16px;font-weight:700;color:#5a6774;}
.cpc-patient-booking .cpc-book-preselect{border:1px solid #d6e8ef;border-radius:18px;background:#fff;padding:22px 24px;margin:0 0 16px;}
.cpc-patient-booking .cpag-pac-booking-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:center;}
.cpc-patient-booking .cpag-pac-booking-row label{font-weight:900;color:#102842;}
.cpc-patient-booking .cpag-pac-booking-row select{width:100%;border:1px solid #c8dfe8;border-radius:13px;padding:12px 14px;background:#fff;font:inherit;color:#102842;}
.cpc-pac-calendar{margin-top:8px;}
.cpc-pac-calendar .cpag-pac-cal-top{display:flex;justify-content:center;align-items:center;gap:16px;margin:10px 0 14px;}
.cpc-pac-calendar .cpag-pac-nav{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;border:1px solid #cfdbe3;background:#fff;color:#102842;text-decoration:none;cursor:pointer;font-size:22px;font-weight:900;line-height:1;}
.cpc-pac-calendar .cpag-pac-month{font-weight:900;font-size:18px;color:#6b6f76;min-width:120px;text-align:center;}
.cpc-pac-calendar .cpag-pac-monthgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;}
.cpc-pac-calendar .cpag-day{min-height:88px;border-radius:10px;padding:14px 10px;border:1px solid #e6eef6;background:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#60656f;}
.cpc-pac-calendar .cpag-day .d{font-weight:900;font-size:16px;line-height:1.2;}
.cpc-pac-calendar .cpag-day .s{font-size:12px;opacity:.78;margin-top:4px;font-weight:700;}
.cpc-pac-calendar .cpag-day.is-free{cursor:pointer;}
.cpc-pac-calendar .cpag-day.is-free:hover{filter:brightness(.985);transform:translateY(-1px);}
.cpc-pac-calendar .cpag-day.is-presencial{border-color:#e2c7b9;background:#f7f0ec;}
.cpc-pac-calendar .cpag-day.is-virtual{border-color:#7dc6b4;background:#effaf6;}
.cpc-pac-calendar .cpag-day.is-hibrida{border-color:#f3d27a;background:#fff8e5;}
.cpc-pac-calendar .cpag-day.is-past,.cpc-pac-calendar .cpag-day.is-empty{opacity:.35;pointer-events:none;}
.cpc-pac-calendar .cpag-day.is-holiday{background:#f7fafc;color:#a0a7af;opacity:.7;}
.cpc-pac-calendar .cpag-day-chips{margin-top:8px;display:flex;gap:6px;justify-content:center;flex-wrap:wrap;}
.cpc-pac-calendar .cpag-chip-mini{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;padding:3px 8px;border-radius:999px;border:1px solid #d0d7de;background:#fff;color:#2e4158;}
.cpc-pac-calendar .cpag-chip-mini.presencial{background:rgba(226,199,185,.35);border-color:#e2c7b9;}
.cpc-pac-calendar .cpag-chip-mini.virtual{background:rgba(125,198,180,.25);border-color:#7dc6b4;}
.cpc-pac-calendar .cpag-chip-mini.hibrida{background:#fff7d6;border-color:#f3d27a;color:#6b4e00;}
.cpc-pac-calendar .cpag-pac-legend{display:flex;justify-content:center;gap:12px;margin-top:12px;flex-wrap:wrap;}
.cpc-pac-calendar .cpag-leg{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:900;color:#6b6f76;}
.cpc-pac-calendar .cpag-leg::before{content:"";display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid #d0d7de;}
.cpc-pac-calendar .cpag-leg-pres::before{border-color:#e2c7b9;background:#f7f0ec;}
.cpc-pac-calendar .cpag-leg-virt::before{border-color:#7dc6b4;background:#effaf6;}
.cpc-pac-calendar .cpag-leg-hib::before{border-color:#f3d27a;background:#fff8e5;}
.cpc-selected-slots{border:1px solid #d6e8ef;background:#fff;border-radius:18px;padding:18px 20px;margin-top:18px;}
.cpc-selected-slots h2{margin:0 0 14px;color:#5b88a0;font-size:22px;font-weight:700;}
.cpc-selected-slots .cpc-slot-buttons{display:flex;flex-wrap:wrap;gap:10px;}
.cpc-selected-slots .cpc-slot-form{margin:0;}
.cpc-selected-slots .cpc-slot-form button{border:1px solid #c5ddeb;border-radius:10px;background:#c5ddeb;color:#102842;font-weight:900;padding:10px 14px;cursor:pointer;}
.cpc-selected-slots .cpc-slot-form button.is-presencial{border-color:#e2c7b9;background:#f7f0ec;}
.cpc-selected-slots .cpc-slot-form button.is-virtual{border-color:#7dc6b4;background:#effaf6;}
.cpc-selected-slots .cpc-slot-form button.is-hibrida{border-color:#f3d27a;background:#fff8e5;}
@media(max-width:900px){.cpc-pac-calendar .cpag-pac-monthgrid{grid-template-columns:repeat(2,minmax(0,1fr));}.cpc-pac-calendar .cpag-day.is-empty{display:none}.cpc-patient-booking .cpag-pac-booking-row{grid-template-columns:1fr;gap:8px}.cpc-pac-turno-head h1{font-size:26px;}}
@media(max-width:560px){.cpc-pac-calendar .cpag-pac-monthgrid{grid-template-columns:1fr}.cpc-pac-calendar .cpag-day{min-height:74px;align-items:flex-start;text-align:left}.cpc-pac-calendar .cpag-day-chips{justify-content:flex-start}.cpc-pac-calendar .cpag-pac-cal-top{gap:10px}}

/* v68 - Portal paciente: tarjetas con página de acciones, perfil y familiares */
.cpc-active-patient{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #d6e8ef;background:#fff;border-radius:18px;padding:14px 16px;margin:0 0 16px;box-shadow:0 4px 14px rgba(21,70,93,.04)}
.cpc-active-patient-info{display:flex;align-items:center;gap:12px;min-width:0}.cpc-active-patient-info img,.cpc-active-avatar{width:54px;height:54px;border-radius:18px;object-fit:cover;background:#e7f5fa;display:grid;place-items:center;font-size:28px;flex:0 0 auto}.cpc-active-patient-info div{display:grid;gap:2px;min-width:0}.cpc-active-patient-info small{font-weight:900;color:#5e7b89}.cpc-active-patient-info strong{font-family:Comfortaa,Alegreya Sans,sans-serif;color:#123047;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cpc-active-patient-info em{font-style:normal;color:#66808c;font-weight:800}.cpc-active-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cpc-active-actions a{border:1px solid #cfe0e8;background:#eef8fc;border-radius:999px;padding:9px 13px;color:#102f47;text-decoration:none;font-weight:900}
.cpc-action-page,.cpc-profile-page,.cpc-patient-select-page{max-width:1180px;margin:0 auto 36px}.cpc-action-head{display:flex;align-items:center;gap:16px;border:1px solid #d6e8ef;background:linear-gradient(180deg,#fff,#f7fcfe);border-radius:22px;padding:22px;margin-bottom:16px}.cpc-action-head>span{width:64px;height:64px;border-radius:22px;background:#e7f5fa;display:grid;place-items:center;font-size:34px;flex:0 0 auto}.cpc-action-head h1{font-family:Comfortaa,Alegreya Sans,sans-serif;color:#557f95;font-size:clamp(1.6rem,3vw,2.4rem);margin:0 0 4px}.cpc-action-head p{margin:0;color:#647985;font-weight:800}.cpc-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.cpc-action-card{background:#fff;border:1px solid #d8e8ef;border-radius:22px;min-height:170px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;text-decoration:none;color:#102f47;box-shadow:0 12px 28px rgba(21,70,93,.07)}.cpc-action-card span{width:58px;height:58px;border-radius:20px;background:#e7f5fa;display:grid;place-items:center;font-size:30px}.cpc-action-card strong{font-family:Comfortaa,Alegreya Sans,sans-serif;font-size:1.08rem;color:#102f47}.cpc-action-card small{color:#667c87;font-weight:800;line-height:1.25}.cpc-action-card:hover{transform:translateY(-2px);filter:brightness(.99)}
.cpc-patient-select-page{display:flex;align-items:center;justify-content:center;min-height:55vh}.cpc-select-card{width:min(880px,100%);background:#fff;border:1px solid #d8e8ef;border-radius:24px;padding:28px;box-shadow:0 16px 38px rgba(21,70,93,.08)}.cpc-select-card h1{font-family:Comfortaa,Alegreya Sans,sans-serif;color:#557f95;margin:0 0 8px}.cpc-select-card p{color:#637985;font-weight:800;margin:0 0 18px}.cpc-patient-selector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.cpc-patient-choice{margin:0}.cpc-patient-choice button{width:100%;min-height:150px;border:1px solid #d7e8ef;border-radius:20px;background:#fafdff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;padding:18px;color:#102f47}.cpc-patient-choice img,.cpc-patient-choice span{width:56px;height:56px;border-radius:18px;object-fit:cover;background:#e7f5fa;display:grid;place-items:center;font-size:30px}.cpc-patient-choice strong{font-family:Comfortaa,Alegreya Sans,sans-serif;font-size:1rem}.cpc-patient-choice small{font-weight:900;color:#66808c}.cpc-select-note a{color:#102f47;font-weight:900;text-decoration:none}
.cpc-profile-page{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:16px}.cpc-profile-card{background:#fff;border:1px solid #d8e8ef;border-radius:22px;padding:22px;box-shadow:0 12px 28px rgba(21,70,93,.05)}.cpc-profile-title{display:flex;gap:14px;align-items:center;margin-bottom:16px}.cpc-profile-title img,.cpc-profile-title span{width:72px;height:72px;border-radius:24px;object-fit:cover;background:#e7f5fa;display:grid;place-items:center;font-size:36px;flex:0 0 auto}.cpc-profile-title h1{font-family:Comfortaa,Alegreya Sans,sans-serif;margin:0 0 4px;color:#557f95}.cpc-profile-title p{margin:0;color:#637985;font-weight:800}.cpc-profile-form .btn,.cpc-family-add .btn{margin-top:14px}.cpc-profile-form input,.cpc-family-add input{width:100%;box-sizing:border-box;border:1px solid #cfe0e8;border-radius:13px;padding:11px 12px;font:inherit}.cpc-family-list{display:grid;gap:10px}.cpc-family-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #e2edf3;border-radius:16px;padding:10px;background:#fbfdfe}.cpc-family-item img,.cpc-family-item>span{width:46px;height:46px;border-radius:15px;object-fit:cover;background:#e7f5fa;display:grid;place-items:center;font-size:24px}.cpc-family-item strong{display:block;color:#102f47}.cpc-family-item small{color:#66808c;font-weight:800}.cpc-family-item form{margin:0}.cpc-family-add{border-top:1px dashed #d8e8ef;margin-top:16px;padding-top:16px}.cpc-family-add h3{margin:0 0 10px;color:#102f47}.cp-patient-main .cpc-square-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.cp-patient-main .cpc-tile{min-height:188px}.cp-patient-main .cpc-tile--direct{min-height:188px}.cp-patient-main .cpc-tile-icon{font-size:30px!important}
@media(max-width:900px){.cpc-profile-page{grid-template-columns:1fr}.cpc-active-patient{align-items:flex-start;flex-direction:column}.cpc-active-actions{justify-content:flex-start}.cpc-action-head{align-items:flex-start}.cpc-family-item{grid-template-columns:auto minmax(0,1fr)}.cpc-family-item form{grid-column:1/-1}.cp-patient-main .cpc-square-grid{grid-template-columns:1fr 1fr}.cpc-select-card{padding:20px}}
@media(max-width:560px){.cp-patient-main .cpc-square-grid,.cpc-action-grid,.cpc-patient-selector-grid{grid-template-columns:1fr}.cpc-action-head{display:block;text-align:center}.cpc-action-head>span{margin:0 auto 12px}.cpc-active-patient-info strong{white-space:normal}.cpc-profile-title{display:block;text-align:center}.cpc-profile-title img,.cpc-profile-title span{margin:0 auto 12px}}

/* v69 - WhatsApp operador: menú ordenado y paneles de paciente */
.cp-wa-operator--v69 .cp-wa-tool-tabs{background:#edf5fb;}
.cp-wa-operator--v69 .cp-wa-tool-tab{min-height:48px;align-items:center;}
.cp-wa-operator--v69 .cp-wa-tool-tab b{font-size:.92rem;}
.cp-wa-operator--v69 .cp-wa-tool-panel h3{margin-bottom:12px;}
.cp-wa-patient-search{background:#f7fbfd;border:1px solid #d4e6f0;border-radius:14px;padding:12px;margin-bottom:12px;}
.cp-wa-patient-search label{display:block;font-weight:800;color:#003d58;margin-bottom:8px;}
.cp-wa-patient-search > div:first-of-type{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;}
.cp-wa-patient-search input{width:100%;border:1px solid #c9dfec;border-radius:12px;padding:11px 12px;background:#fff;color:#002847;}
.cp-wa-patient-search button,
.cp-wa-subtabs button,
.cp-wa-form button,
.cp-wa-mini-item button{border:1px solid #bfdcec;background:#e8f5fc;color:#003047;border-radius:12px;padding:9px 12px;font-weight:800;cursor:pointer;}
.cp-wa-patient-search button:hover,
.cp-wa-subtabs button:hover,
.cp-wa-form button:hover,
.cp-wa-mini-item button:hover{background:#d7ecf8;}
.cp-wa-patient-results{display:grid;gap:7px;margin-top:10px;max-height:170px;overflow:auto;}
.cp-wa-patient-results button{display:grid;text-align:left;gap:2px;background:#fff;border:1px solid #d3e5ef;border-radius:12px;padding:9px 10px;}
.cp-wa-patient-results button b{color:#002847;font-size:.9rem;}
.cp-wa-patient-results button small{color:#607282;font-size:.77rem;}
.cp-wa-selected-patient{border:1px dashed #a8cfe2;background:#f4fbff;border-radius:14px;padding:11px 12px;color:#274359;margin-bottom:12px;line-height:1.35;}
.cp-wa-selected-patient strong{color:#002847;}
.cp-wa-selected-patient span{font-size:.86rem;color:#5d7180;}
.cp-tool-grid--wide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;}
.cp-wa-action-card{display:grid!important;place-items:center;text-align:center;gap:5px;min-height:92px;border:1px solid #c6dfea;background:#f6fbfe;border-radius:16px;text-decoration:none;color:#002847;padding:12px;box-shadow:0 6px 18px rgba(0,61,88,.06);}
.cp-wa-action-card span{font-size:1.4rem;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#e3f3fb;}
.cp-wa-action-card b{font-size:.92rem;}
.cp-wa-action-card small{font-size:.72rem;color:#627889;line-height:1.2;}
.cp-wa-action-card:hover{background:#eaf6fc;border-color:#9ac8df;}
.cp-wa-mini-list{display:grid;gap:8px;margin-top:10px;}
.cp-wa-mini-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid #d7e6ee;background:#fff;border-radius:13px;padding:10px;}
.cp-wa-mini-item b{display:block;color:#002847;font-size:.86rem;line-height:1.25;}
.cp-wa-mini-item small{display:block;color:#607282;font-size:.76rem;margin-top:3px;}
.cp-wa-empty-mini{border:1px dashed #c9dfec;background:#fbfdff;border-radius:12px;padding:10px;color:#617483;font-size:.86rem;text-align:center;}
.cp-wa-subtabs{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0;}
.cp-wa-subtabs button{background:#fff;}
.cp-wa-subtabs button.is-active{background:#cfe7f5;border-color:#90bfd5;color:#002847;}
.cp-wa-subpanel{display:none;}
.cp-wa-subpanel.is-active{display:block;}
.cp-wa-form{display:none;gap:10px;}
.cp-wa-form.is-active,.cp-wa-tool-panel .cp-wa-form:not(.cp-wa-subpanel){display:grid;}
.cp-wa-form label{display:grid;gap:5px;font-weight:800;color:#003047;font-size:.86rem;}
.cp-wa-form input,.cp-wa-form select,.cp-wa-form textarea{border:1px solid #c9dfec;border-radius:12px;background:#fff;padding:10px;color:#002847;width:100%;}
.cp-wa-form textarea{min-height:86px;resize:vertical;}
.cp-wa-form input[readonly]{background:#edf4f8;color:#6b7b87;}
.cp-wa-profile-form{grid-template-columns:1fr 1fr;}
.cp-wa-profile-form label:first-child,.cp-wa-profile-form label:nth-child(9),.cp-wa-profile-form button{grid-column:1 / -1;}
.cp-wa-check{display:flex!important;grid-template-columns:none!important;flex-direction:row;align-items:center;gap:8px;font-weight:700!important;color:#365469!important;}
.cp-wa-check input{width:auto!important;}
.cp-wa-op-toast{position:fixed;right:18px;bottom:18px;z-index:9999;background:#003d58;color:#fff;border-radius:14px;padding:12px 16px;box-shadow:0 10px 30px rgba(0,0,0,.22);opacity:0;transform:translateY(8px);pointer-events:none;transition:.18s ease;max-width:360px;font-weight:800;}
.cp-wa-op-toast.is-visible{opacity:1;transform:translateY(0);}
@media (min-width: 1101px){
  .cp-wa-operator--v69{grid-template-columns:330px minmax(520px,1fr) minmax(420px,520px)!important;}
  .cp-wa-operator--v69 .cp-wa-tool-shell{grid-template-columns:146px minmax(0,1fr);}
}
@media (max-width: 1100px){
  .cp-wa-operator--v69{grid-template-columns:320px minmax(460px,1fr)!important;height:auto!important;overflow:auto!important;}
  .cp-wa-operator--v69 .cp-wa-tools{grid-column:1 / -1;min-height:540px;}
  .cp-wa-operator--v69 .cp-wa-tool-shell{grid-template-columns:160px 1fr;height:auto;min-height:540px;}
}
@media (max-width: 760px){
  .cp-wa-operator--v69{display:grid!important;grid-template-columns:1fr!important;min-height:100vh;}
  .cp-wa-operator--v69 .cp-wa-left,.cp-wa-operator--v69 .cp-wa-center,.cp-wa-operator--v69 .cp-wa-tools{grid-column:auto;min-width:0;}
  .cp-wa-operator--v69 .cp-wa-tool-shell{grid-template-columns:1fr;height:auto;}
  .cp-wa-operator--v69 .cp-wa-tool-tabs{display:flex;overflow-x:auto;gap:8px;padding:8px;position:sticky;top:0;z-index:5;}
  .cp-wa-operator--v69 .cp-wa-tool-tab{min-width:132px;border-radius:13px;border:1px solid #c9dfec;}
  .cp-tool-grid--wide{grid-template-columns:1fr;}
  .cp-wa-patient-search > div:first-of-type{grid-template-columns:1fr;}
  .cp-wa-profile-form{grid-template-columns:1fr;}
  .cp-wa-mini-item{grid-template-columns:1fr;}
}
.cp-wa-subpanel.cp-wa-form.is-active{display:grid;}

/* v74 - emergencia: empleado unificado estable, sin tocar imágenes */
.cp-wa-operator--v69 .cp-wa-tools{
  background:#f6fbfe!important;
  border-left:1px solid #cddfec!important;
}
.cp-wa-operator--v69 .cp-wa-tool-shell{
  grid-template-columns:156px minmax(0,1fr)!important;
  background:#f6fbfe!important;
}
.cp-wa-operator--v69 .cp-wa-tool-tabs{
  background:#eef6fb!important;
  border-right:1px solid #cddfec!important;
}
.cp-wa-operator--v69 .cp-wa-tool-tab{
  min-height:46px!important;
  padding:10px 12px!important;
  border-bottom:1px solid #d8e7ef!important;
  color:#07304a!important;
  background:transparent!important;
}
.cp-wa-operator--v69 .cp-wa-tool-tab span{
  width:22px!important;
  min-width:22px!important;
  text-align:center!important;
}
.cp-wa-operator--v69 .cp-wa-tool-tab b{
  font-size:.9rem!important;
  line-height:1.15!important;
}
.cp-wa-operator--v69 .cp-wa-tool-tab.is-active{
  background:#fff!important;
  border-left:4px solid #0d4a63!important;
  color:#06293f!important;
}
.cp-wa-operator--v69 .cp-wa-tool-panels{
  background:#fff!important;
  padding:16px!important;
}
.cp-wa-operator--v69 .cp-wa-tool-panel h3{
  color:#5c8aa2!important;
  font-size:1.35rem!important;
  margin:0 0 14px!important;
}
.cp-wa-operator--v69 .cp-wa-patient-search{
  background:#fbfdfe!important;
  border:1px solid #d9e9f0!important;
  border-radius:16px!important;
  padding:12px!important;
  margin-bottom:12px!important;
}
.cp-wa-operator--v69 .cp-wa-selected-patient{
  border:1px dashed #c3dbe7!important;
  background:#f6fbfe!important;
  color:#6a7f8b!important;
  border-radius:14px!important;
  padding:12px!important;
  margin-bottom:12px!important;
}
.cp-wa-tool-panel:not(.has-selected-patient) .cp-wa-requires-patient,
.cp-wa-tool-panel:not(.has-selected-patient) .cp-wa-subtabs,
.cp-wa-tool-panel:not(.has-selected-patient) .cp-wa-subpanel,
.cp-wa-tool-panel:not(.has-selected-patient) .cp-wa-mini-list[data-op-appointments-list],
.cp-wa-tool-panel:not(.has-selected-patient) .cp-wa-profile-form{
  display:none!important;
}
.cp-wa-tool-panel.has-selected-patient .cp-wa-requires-patient.cp-tool-grid{
  display:grid!important;
}
.cp-wa-operator--v69 .cp-wa-action-card{
  min-height:88px!important;
  padding:12px!important;
  border-radius:16px!important;
  background:#f3f9fd!important;
  border:1px solid #cae1ed!important;
  box-shadow:none!important;
}
.cp-wa-operator--v69 .cp-wa-action-card span{
  background:#e1f2fa!important;
  border-radius:14px!important;
  width:44px!important;
  height:44px!important;
}
.cp-wa-operator--v69 .cp-wa-action-card b{
  font-size:.94rem!important;
  color:#07304a!important;
}
.cp-wa-operator--v69 .cp-wa-action-card small{
  font-size:.74rem!important;
  color:#5e7582!important;
}
.cp-wa-templates{
  max-height:132px!important;
  overflow:auto!important;
  align-content:flex-start!important;
  padding-right:6px!important;
}
.cp-wa-templates button[data-template-name]{
  white-space:normal!important;
  line-height:1.15!important;
}
.cp-wa-template-status{
  font-size:.78rem!important;
  color:#607985!important;
  margin-bottom:6px!important;
}
.cp-wa-template-status.is-ok{color:#247046!important;}
.cp-wa-template-status.is-warn{color:#9a6a00!important;}
@media(max-width:1180px){
  .cp-wa-operator--v69 .cp-wa-tool-shell{grid-template-columns:1fr!important;}
  .cp-wa-operator--v69 .cp-wa-tool-tabs{display:flex!important;overflow-x:auto!important;border-right:0!important;border-bottom:1px solid #cddfec!important;}
  .cp-wa-operator--v69 .cp-wa-tool-tab{min-width:128px!important;border-left:0!important;border-radius:12px!important;border:1px solid #d2e4ee!important;margin:8px 0 8px 8px!important;}
  .cp-wa-operator--v69 .cp-wa-tool-tab.is-active{border:1px solid #94c3d8!important;background:#fff!important;}
}
@media(max-width:760px){
  .cp-wa-operator--v69 .cp-wa-tool-panels{padding:12px!important;}
  .cp-tool-grid--wide{grid-template-columns:1fr!important;}
}

/* v77 - fichaje real del empleado dentro del operador WhatsApp */
.cp-wa-tool-panel--clock .cp-clock-card--operator{
  border:1px solid #d7e8f0!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f6fbfe 100%)!important;
  padding:18px!important;
  box-shadow:0 12px 30px rgba(13,74,99,.08)!important;
  max-width:560px!important;
}
.cp-clock-hero{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin-bottom:14px!important;
}
.cp-clock-hero__icon{
  width:58px!important;
  height:58px!important;
  border-radius:18px!important;
  display:grid!important;
  place-items:center!important;
  background:#e3f3fb!important;
  border:1px solid #c9e2ee!important;
  font-size:1.8rem!important;
  flex:0 0 auto!important;
}
.cp-clock-hero b{display:block!important;color:#08304a!important;font-size:1.05rem!important;margin-bottom:3px!important;}
.cp-clock-hero p{margin:0 0 5px!important;color:#4f6573!important;line-height:1.35!important;}
.cp-clock-hero small{display:inline-flex!important;border:1px solid #cce3ee!important;border-radius:999px!important;background:#fff!important;padding:4px 10px!important;color:#5a8498!important;font-weight:700!important;}
.cp-wa-tool-panel--clock .cp-clock-actions .btn{
  border:1px solid #bad6e4!important;
  background:#d8ebf5!important;
  color:#082b3d!important;
  border-radius:999px!important;
  padding:10px 16px!important;
  font-weight:800!important;
}
.cp-wa-tool-panel--clock .cp-clock-actions .btn--outline{background:#fff!important;}
@media(max-width:720px){
  .cp-wa-tool-panel--clock .cp-clock-card--operator{max-width:none!important;padding:14px!important;}
  .cp-clock-hero{align-items:flex-start!important;}
  .cp-wa-tool-panel--clock .cp-clock-actions{display:grid!important;grid-template-columns:1fr!important;}
}

/* v83 - Fichaje correcto + agenda dentro del operador */
.cp-wa-clock-launch{display:grid;place-items:center;min-height:260px;padding:16px!important;}
.cp-wa-clock-launch__btn{width:min(260px,100%)!important;min-height:170px!important;border:1px solid #c7dfea!important;background:#fff!important;border-radius:24px!important;box-shadow:0 18px 45px rgba(14,48,67,.10)!important;display:grid!important;place-items:center!important;text-align:center!important;gap:8px!important;color:#082b3d!important;cursor:pointer!important;}
.cp-wa-clock-launch__btn span{width:58px!important;height:58px!important;display:grid!important;place-items:center!important;border-radius:18px!important;background:#e5f4fb!important;font-size:1.8rem!important;}
.cp-wa-clock-launch__btn b{font-size:1.08rem!important;line-height:1.15!important;}
.cp-wa-clock-launch__btn small{font-size:.82rem!important;color:#607b89!important;line-height:1.25!important;}
.cp-clock-modal__card{width:min(430px,calc(100vw - 32px))!important;border-radius:22px!important;}
.cp-clock-card--modal{padding:28px 26px 24px!important;text-align:center!important;}
.cp-clock-modal__head{padding-right:0!important;}
.cp-clock-modal__head h2{font-size:1.35rem!important;font-weight:800!important;color:#202a3a!important;margin:0 0 4px!important;}
.cp-clock-modal-time{font-size:clamp(48px,12vw,66px)!important;line-height:1!important;font-weight:800!important;letter-spacing:.02em!important;color:#2b354c!important;margin:2px 0 8px!important;}
.cp-clock-modal__head p{font-size:1rem!important;color:#5d7080!important;margin:0 0 18px!important;}
.cp-clock-card--modal .cp-clock-status{display:none!important;}
.cp-clock-card--modal .cp-clock-actions{display:flex!important;justify-content:center!important;gap:10px!important;margin:0!important;}
.cp-clock-card--modal .cp-clock-actions .btn{width:auto!important;min-width:138px!important;border-radius:999px!important;padding:10px 18px!important;font-weight:800!important;box-shadow:none!important;}
.cp-clock-card--modal .cp-clock-actions .btn--outline{background:#d9ebf4!important;border-color:#b7d1df!important;color:#122b3d!important;}

.cp-wa-scheduler-modal[hidden]{display:none!important;}
.cp-wa-scheduler-modal{position:fixed!important;inset:0!important;z-index:999998!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;}
.cp-wa-scheduler-modal__backdrop{position:absolute!important;inset:0!important;background:rgba(12,36,50,.48)!important;backdrop-filter:blur(2px)!important;}
.cp-wa-scheduler-modal__card{position:relative!important;width:min(1180px,calc(100vw - 28px))!important;height:min(820px,calc(100vh - 28px))!important;background:#fff!important;border:1px solid #cfe2eb!important;border-radius:22px!important;box-shadow:0 28px 90px rgba(0,30,45,.28)!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto 1fr!important;}
.cp-wa-scheduler-modal__card header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:14px 18px!important;background:#f5fbfe!important;border-bottom:1px solid #dbeaf1!important;color:#08304a!important;}
.cp-wa-scheduler-modal__card header b{display:block!important;font-size:1.05rem!important;}
.cp-wa-scheduler-modal__card header span{display:block!important;font-size:.9rem!important;color:#5f7b8a!important;margin-top:2px!important;}
.cp-wa-scheduler-modal__card header button{width:38px!important;height:38px!important;border-radius:999px!important;border:1px solid #c7dfea!important;background:#fff!important;color:#0b3048!important;font-size:24px!important;line-height:1!important;cursor:pointer!important;}
.cp-wa-scheduler-modal iframe{width:100%!important;height:100%!important;border:0!important;background:#fff!important;}
.cp-wa-scheduler-open body{overflow:hidden!important;}
.cp-wa-tool-panel[data-wa-panel="turnos"] [data-op-appointments-list]:empty{display:none!important;}
@media(max-width:760px){
  .cp-wa-scheduler-modal{padding:8px!important;align-items:stretch!important;}
  .cp-wa-scheduler-modal__card{width:100%!important;height:100%!important;border-radius:16px!important;}
  .cp-wa-scheduler-modal__card header{padding:10px 12px!important;}
  .cp-wa-action-card{min-height:108px!important;}
}

/* v84 - operador prolijo: fichaje compacto + dar turno inline (sin modal) */
.cp-wa-operator--v83 .cp-wa-tool-panels,
.cp-wa-operator--v84 .cp-wa-tool-panels{padding:12px!important;}
.cp-wa-operator--v83 .cp-wa-tool-panel,
.cp-wa-operator--v84 .cp-wa-tool-panel{font-size:.9rem!important;padding:12px 13px 18px!important;}
.cp-wa-operator--v83 .cp-wa-tool-panel h3,
.cp-wa-operator--v84 .cp-wa-tool-panel h3{font-size:1.18rem!important;margin:0 0 10px!important;line-height:1.15!important;}
.cp-wa-operator--v83 .cp-wa-tool-panel label,
.cp-wa-operator--v84 .cp-wa-tool-panel label{font-size:.84rem!important;margin:7px 0!important;}
.cp-wa-operator--v83 .cp-wa-tool-panel input,
.cp-wa-operator--v83 .cp-wa-tool-panel select,
.cp-wa-operator--v83 .cp-wa-tool-panel textarea,
.cp-wa-operator--v84 .cp-wa-tool-panel input,
.cp-wa-operator--v84 .cp-wa-tool-panel select,
.cp-wa-operator--v84 .cp-wa-tool-panel textarea{font-size:.88rem!important;padding:7px 9px!important;border-radius:10px!important;}
.cp-wa-operator--v83 .cp-wa-patient-search,
.cp-wa-operator--v84 .cp-wa-patient-search{padding:10px!important;border-radius:14px!important;margin-bottom:10px!important;}
.cp-wa-operator--v83 .cp-wa-selected-patient,
.cp-wa-operator--v84 .cp-wa-selected-patient{font-size:.88rem!important;padding:10px!important;border-radius:13px!important;margin-bottom:10px!important;}
.cp-wa-operator--v83 .cp-wa-action-card,
.cp-wa-operator--v84 .cp-wa-action-card{min-height:82px!important;padding:9px!important;border-radius:14px!important;gap:4px!important;}
.cp-wa-operator--v83 .cp-wa-action-card span,
.cp-wa-operator--v84 .cp-wa-action-card span{width:38px!important;height:38px!important;border-radius:12px!important;font-size:1.15rem!important;}
.cp-wa-operator--v83 .cp-wa-action-card b,
.cp-wa-operator--v84 .cp-wa-action-card b{font-size:.86rem!important;line-height:1.08!important;}
.cp-wa-operator--v83 .cp-wa-action-card small,
.cp-wa-operator--v84 .cp-wa-action-card small{font-size:.68rem!important;line-height:1.12!important;}
.cp-wa-mini-list--next[hidden]{display:none!important;}

.cp-wa-inline-scheduler[hidden]{display:none!important;}
.cp-wa-inline-scheduler{border:1px solid #cfe3ec!important;background:#fbfdfe!important;border-radius:16px!important;overflow:hidden!important;margin:12px 0!important;box-shadow:0 8px 24px rgba(13,74,99,.07)!important;}
.cp-wa-inline-scheduler>header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;padding:10px 12px!important;border-bottom:1px solid #dcebf2!important;background:#f4fafd!important;color:#082d45!important;}
.cp-wa-inline-scheduler>header b{display:block!important;font-size:.98rem!important;}
.cp-wa-inline-scheduler>header span{display:block!important;font-size:.78rem!important;color:#607986!important;margin-top:1px!important;}
.cp-wa-inline-scheduler>header button{width:30px!important;height:30px!important;border-radius:999px!important;border:1px solid #c5dfea!important;background:#fff!important;font-size:20px!important;line-height:1!important;padding:0!important;}
.cp-op-agenda-form{padding:12px!important;}
.cp-op-agenda-patient{border:1px solid #d6e8f0!important;background:#fff!important;border-radius:13px!important;padding:9px 10px!important;margin:0 0 10px!important;color:#082d45!important;}
.cp-op-agenda-patient b{display:block!important;font-size:.9rem!important;}
.cp-op-agenda-patient small{display:block!important;color:#617886!important;font-size:.76rem!important;margin-top:2px!important;}
.cp-op-agenda-two{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
.cp-op-agenda-day-btn,.cp-op-agenda-main-btn{width:100%!important;margin:6px 0 8px!important;background:#dceff8!important;border-color:#bad6e4!important;font-size:.86rem!important;}
.cp-op-agenda-main-btn{background:#083d58!important;color:#fff!important;border-color:#083d58!important;border-radius:12px!important;font-weight:800!important;}
.cp-op-agenda-main-btn:disabled{opacity:.45!important;cursor:not-allowed!important;}
.cp-op-agenda-slots{border:1px dashed #cadfe9!important;background:#fff!important;border-radius:13px!important;padding:9px!important;margin:7px 0 10px!important;color:#627886!important;font-size:.82rem!important;min-height:42px!important;}
.cp-op-slot-grid{display:flex!important;flex-wrap:wrap!important;gap:6px!important;}
.cp-op-slot-grid button{width:auto!important;min-width:58px!important;padding:7px 9px!important;border-radius:12px!important;background:#d6ebf6!important;border:1px solid #b8d8e8!important;color:#052d45!important;font-size:.82rem!important;font-weight:800!important;}
.cp-op-slot-grid button.is-active{background:#083d58!important;color:#fff!important;border-color:#083d58!important;}
.cp-op-agenda-status{font-size:.82rem!important;color:#5f7886!important;margin-top:8px!important;line-height:1.25!important;}

.cp-clock-modal__card{width:min(350px,calc(100vw - 32px))!important;border-radius:20px!important;}
.cp-clock-card--modal{padding:22px 22px 20px!important;text-align:center!important;}
.cp-clock-modal__close{width:30px!important;height:30px!important;font-size:20px!important;right:10px!important;top:10px!important;}
.cp-clock-modal__head h2{font-size:1.08rem!important;margin:0 0 4px!important;}
.cp-clock-modal-time{font-size:clamp(42px,9vw,54px)!important;line-height:.98!important;letter-spacing:.01em!important;margin:2px 0 6px!important;white-space:nowrap!important;}
.cp-clock-modal__head p{font-size:.9rem!important;margin:0 0 14px!important;}
.cp-clock-card--modal .cp-clock-actions{gap:8px!important;align-items:center!important;}
.cp-clock-card--modal .cp-clock-actions .btn{min-width:112px!important;padding:8px 14px!important;font-size:.86rem!important;}
.cp-clock-card--modal .cp-clock-actions .btn--outline{min-width:88px!important;background:#fff!important;}
@media(max-width:760px){
  .cp-op-agenda-two{grid-template-columns:1fr!important;}
  .cp-wa-operator--v83 .cp-tool-grid--wide,.cp-wa-operator--v84 .cp-tool-grid--wide{grid-template-columns:1fr!important;}
}


/* v85 operador prolijo / inline */
.cp-wa-operator--v85{font-size:13px!important;line-height:1.25!important;}
.cp-wa-operator--v85 .cp-wa-tools{width:430px!important;max-width:430px!important;}
.cp-wa-operator--v85 .cp-wa-tool-tabs{width:150px!important;}
.cp-wa-operator--v85 .cp-wa-tool-tab{font-size:.86rem!important;padding:10px 9px!important;gap:9px!important;}
.cp-wa-operator--v85 .cp-wa-tool-panels{padding:11px!important;}
.cp-wa-operator--v85 .cp-wa-tool-panel{font-size:.82rem!important;padding:10px 11px 16px!important;}
.cp-wa-operator--v85 .cp-wa-tool-panel h3{font-size:1.05rem!important;margin:0 0 10px!important;color:#557f98!important;font-weight:700!important;}
.cp-wa-operator--v85 .cp-wa-tool-panel label{font-size:.78rem!important;font-weight:750!important;margin:6px 0!important;gap:5px!important;}
.cp-wa-operator--v85 .cp-wa-tool-panel input,
.cp-wa-operator--v85 .cp-wa-tool-panel select,
.cp-wa-operator--v85 .cp-wa-tool-panel textarea{font-size:.8rem!important;padding:7px 9px!important;border-radius:10px!important;min-height:34px!important;}
.cp-wa-operator--v85 .cp-wa-tool-panel textarea{min-height:62px!important;}
.cp-wa-operator--v85 .cp-wa-patient-results{display:grid;gap:6px;margin-top:7px;}
.cp-wa-operator--v85 .cp-wa-tool-panel.has-selected-patient [data-op-patient-results]{display:none!important;}
.cp-wa-operator--v85 .cp-wa-selected-patient{font-size:.78rem!important;margin:7px 0 10px!important;padding:9px 10px!important;border-radius:12px!important;}
.cp-wa-operator--v85 .cp-wa-selected-patient strong{font-size:.86rem!important;}
.cp-wa-operator--v85 .cp-wa-action-card{min-height:76px!important;padding:8px!important;border-radius:13px!important;gap:4px!important;}
.cp-wa-operator--v85 .cp-wa-action-card span{width:34px!important;height:34px!important;font-size:1.08rem!important;border-radius:11px!important;}
.cp-wa-operator--v85 .cp-wa-action-card b{font-size:.8rem!important;line-height:1.05!important;}
.cp-wa-operator--v85 .cp-wa-action-card small{font-size:.64rem!important;line-height:1.1!important;}
.cp-wa-operator--v85 .cp-tool-grid--wide{grid-template-columns:repeat(3,1fr)!important;gap:9px!important;}
.cp-wa-operator--v85 .cp-op-agenda-patient{display:none!important;}
.cp-wa-operator--v85 .cp-wa-inline-scheduler{margin-top:8px!important;border-radius:14px!important;overflow:hidden!important;}
.cp-wa-operator--v85 .cp-wa-inline-scheduler header{padding:9px 11px!important;}
.cp-wa-operator--v85 .cp-op-agenda-form{padding:10px!important;}
.cp-wa-operator--v85 .cp-op-agenda-two{gap:9px!important;}
.cp-wa-operator--v85 .cp-op-agenda-slots{font-size:.76rem!important;min-height:38px!important;padding:8px!important;}
.cp-wa-operator--v85 .cp-op-slot-grid{display:flex!important;flex-wrap:wrap!important;gap:6px!important;}
.cp-wa-operator--v85 .cp-op-slot-grid button{width:auto!important;min-width:54px!important;padding:7px 9px!important;font-size:.78rem!important;}
.cp-wa-operator--v85 .cp-wa-mini-list{display:grid;gap:7px;margin-top:8px;}
.cp-wa-operator--v85 .cp-wa-mini-item,.cp-wa-operator--v85 .cp-confirm-item,.cp-wa-operator--v85 .cp-caja-item,.cp-wa-operator--v85 .cp-mp-item,.cp-wa-operator--v85 .cp-reception-turn{border:1px solid #cfe3ed;background:#fff;border-radius:12px;padding:9px 10px;text-align:left;display:grid;gap:3px;color:#082b3d;text-decoration:none;}
.cp-wa-operator--v85 .cp-wa-mini-item b,.cp-wa-operator--v85 .cp-confirm-item b,.cp-wa-operator--v85 .cp-caja-item b,.cp-wa-operator--v85 .cp-mp-item b{font-size:.82rem;}
.cp-wa-operator--v85 .cp-wa-mini-item small,.cp-wa-operator--v85 .cp-confirm-item small,.cp-wa-operator--v85 .cp-caja-item small,.cp-wa-operator--v85 .cp-mp-item small,.cp-wa-operator--v85 .cp-reception-turn small{font-size:.7rem;color:#647b89;line-height:1.2;}
.cp-wa-operator--v85 .cp-confirm-actions{display:grid;grid-template-columns:1fr;gap:5px;margin-top:6px;}
.cp-wa-operator--v85 .cp-confirm-actions button,.cp-wa-operator--v85 .cp-confirm-actions input{width:100%!important;font-size:.75rem!important;}
.cp-wa-operator--v85 .cp-caja-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:8px 0;}
.cp-wa-operator--v85 .cp-caja-summary div,.cp-wa-operator--v85 .cp-mp-balance{background:#eef7fb;border:1px solid #c8e2ee;border-radius:12px;padding:8px;text-align:center;}
.cp-wa-operator--v85 .cp-caja-summary span,.cp-wa-operator--v85 .cp-mp-balance span{display:block;font-size:.68rem;color:#617b89;}
.cp-wa-operator--v85 .cp-caja-summary b,.cp-wa-operator--v85 .cp-mp-balance b{font-size:.9rem;color:#063a56;}
.cp-wa-operator--v85 .cp-mp-list{display:grid;gap:8px;margin-top:9px;}
.cp-wa-operator--v85 .cp-mp-item{grid-template-columns:1fr auto;align-items:center;}
.cp-wa-operator--v85 .cp-mp-item.is-in strong{color:#237044;}.cp-wa-operator--v85 .cp-mp-item.is-out strong{color:#8d2632;}
.cp-wa-operator--v85 .cp-mp-item button{grid-column:1/-1;width:100%;font-size:.76rem!important;padding:7px!important;border-radius:10px!important;}
.cp-tag-ok{display:inline-flex;border-radius:999px;background:#dff4e8;color:#236c42;font-size:.7rem;padding:4px 8px;font-weight:800;}
.cp-wa-operator--v85 .cp-wa-chat-media-hint{font-size:.72rem;color:#5d7583;background:#f7fbfd;border:1px dashed #cddfea;border-radius:10px;padding:7px 8px;margin:0 0 6px;}
.cp-wa-operator--v85 .cp-tool-list.cp-reception-actions{display:grid!important;gap:9px!important;margin-top:8px!important;}
.cp-wa-operator--v85 .cp-wa-tool-panel:not(.has-selected-patient) .cp-reception-actions,
.cp-wa-operator--v85 .cp-wa-tool-panel:not(.has-selected-patient) [data-op-reception-list],
.cp-wa-operator--v85 .cp-wa-tool-panel:not(.has-selected-patient) [data-op-study-form]{display:none!important;}
.cp-modal--mp[hidden]{display:none!important;}
.cp-modal--mp{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px;}
.cp-modal--mp .cp-modal__backdrop{position:absolute;inset:0;background:rgba(26,43,54,.48);backdrop-filter:blur(2px);}
.cp-modal--mp .cp-modal__dialog{position:relative;width:min(410px,96vw);background:#fff;border:1px solid #cfe0e9;border-radius:22px;padding:18px;box-shadow:0 28px 70px rgba(0,0,0,.25);display:grid;gap:9px;}
.cp-modal--mp h3{margin:0 0 4px;text-align:center;color:#12384a;font-size:1.2rem;}
.cp-modal--mp label{display:grid;gap:4px;font-size:.76rem;font-weight:800;color:#546272;text-transform:uppercase;letter-spacing:.03em;}
.cp-modal--mp input,.cp-modal--mp select{border:1px solid #c9dbe6;border-radius:10px;padding:8px 10px;font-size:.86rem;}
.cp-modal--mp .cp-modal__x{position:absolute;right:12px;top:12px;width:30px;height:30px;border:0;border-radius:999px;background:#eef7fb;font-size:1rem;cursor:pointer;}
.cp-modal--mp .cp-modal__actions{display:flex;justify-content:center;gap:8px;margin-top:6px;}
.cp-modal--mp .cp-modal__actions button{border:1px solid #bcd5e3;border-radius:12px;padding:8px 12px;font-weight:800;}
.cp-modal--mp .cp-modal__actions button[type="submit"]{background:#073b58;color:#fff;border-color:#073b58;}
@media(max-width:980px){.cp-wa-operator--v85{grid-template-columns:1fr!important;height:auto!important;min-height:100vh!important;}.cp-wa-operator--v85 .cp-wa-left,.cp-wa-operator--v85 .cp-wa-center,.cp-wa-operator--v85 .cp-wa-tools{width:100%!important;max-width:none!important;}.cp-wa-operator--v85 .cp-wa-tools{display:grid!important;grid-template-columns:116px 1fr!important;}.cp-wa-operator--v85 .cp-wa-tool-tabs{width:116px!important;}.cp-wa-operator--v85 .cp-tool-grid--wide{grid-template-columns:repeat(3,1fr)!important;}}
@media(max-width:560px){.cp-wa-operator--v85 .cp-wa-tools{grid-template-columns:94px 1fr!important;}.cp-wa-operator--v85 .cp-wa-tool-tabs{width:94px!important;}.cp-wa-operator--v85 .cp-wa-tool-tab{font-size:.72rem!important;padding:8px 6px!important;}.cp-wa-operator--v85 .cp-tool-grid--wide{grid-template-columns:1fr!important;}.cp-wa-operator--v85 .cp-caja-summary{grid-template-columns:1fr!important;}.cp-wa-operator--v85 .cp-op-agenda-two{grid-template-columns:1fr!important;}}

/* v86 - Facturas + Google Contacts */
.cp-wa-operator--v86 .cp-section-kicker{
  background:#f0f6fb!important;
  color:#3e5164!important;
  font-size:.76rem!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  padding:7px 9px!important;
  border-radius:8px!important;
  margin:8px 0!important;
}
.cp-wa-operator--v86 .cp-contacts-box{
  border:1px solid #d4e5ee!important;
  border-radius:14px!important;
  padding:9px!important;
  background:#fff!important;
  margin-bottom:10px!important;
}
.cp-wa-operator--v86 .cp-contacts-form{display:grid!important;gap:6px!important;}
.cp-wa-operator--v86 .cp-contacts-form button,
.cp-wa-operator--v86 .cp-contacts-search button,
.cp-wa-operator--v86 .cp-primary-action{
  border:1px solid #b9d5e4!important;
  border-radius:10px!important;
  padding:8px 10px!important;
  font-weight:850!important;
  background:#e3f2f9!important;
  color:#07334d!important;
  cursor:pointer!important;
}
.cp-wa-operator--v86 .cp-contacts-form .cp-primary-action,
.cp-wa-operator--v86 .cp-primary-action{
  background:#073b58!important;
  color:#fff!important;
  border-color:#073b58!important;
}
.cp-wa-operator--v86 .cp-contacts-search{display:grid!important;grid-template-columns:1fr auto!important;gap:9px!important;margin:7px 0!important;}
.cp-wa-operator--v86 .cp-contact-item{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important;align-items:center!important;border:1px solid #cfe3ed!important;background:#fff!important;border-radius:12px!important;padding:8px 9px!important;}
.cp-wa-operator--v86 .cp-contact-item b{display:block!important;font-size:.82rem!important;color:#08304a!important;}
.cp-wa-operator--v86 .cp-contact-item small{display:block!important;font-size:.7rem!important;color:#617987!important;}
.cp-wa-operator--v86 .cp-contact-item button{border:1px solid #bad5e4!important;background:#eef8fc!important;border-radius:9px!important;padding:6px 8px!important;font-weight:800!important;color:#07334d!important;}
.cp-wa-operator--v86 .cp-fact-search-row{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important;align-items:end!important;margin-bottom:8px!important;}
.cp-wa-operator--v86 .cp-fact-search-row button{height:36px!important;border:1px solid #b8d5e4!important;background:#e3f2f9!important;border-radius:11px!important;padding:0 12px!important;font-weight:850!important;color:#07334d!important;}
.cp-wa-operator--v86 .cp-fact-form{display:grid!important;gap:6px!important;}
.cp-wa-operator--v86 .cp-live-status.is-ok{color:#237044!important;background:#eefaf2!important;border-color:#cbead6!important;}
.cp-wa-operator--v86 .cp-live-status.is-warn{color:#9a5a00!important;background:#fff8e6!important;border-color:#f0d8a4!important;}
@media(max-width:560px){
  .cp-wa-operator--v86 .cp-fact-search-row,
  .cp-wa-operator--v86 .cp-contacts-search{grid-template-columns:1fr!important;}
}

/* v87 - Operador WhatsApp: quitar franja celeste derecha en vista angosta */
.cp-wa-operator--v86 .cp-wa-tools{
  background:#fff!important;
}
.cp-wa-operator--v86 .cp-wa-tool-shell{
  width:100%!important;
  max-width:100%!important;
  background:#fff!important;
}
.cp-wa-operator--v86 .cp-wa-tool-panels,
.cp-wa-operator--v86 .cp-wa-tool-panel{
  background:#fff!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
@media(max-width:980px){
  .cp-wa-operator--v86 .cp-wa-tools{
    display:block!important;
    grid-template-columns:none!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    background:#fff!important;
  }
  .cp-wa-operator--v86 .cp-wa-tool-shell{
    display:grid!important;
    grid-template-columns:120px minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:100vh!important;
    background:#fff!important;
  }
  .cp-wa-operator--v86 .cp-wa-tool-tabs{
    width:auto!important;
    min-width:0!important;
    background:#eef6fb!important;
  }
  .cp-wa-operator--v86 .cp-wa-tool-panels{
    min-width:0!important;
    overflow:auto!important;
    background:#fff!important;
  }
}
@media(max-width:560px){
  .cp-wa-operator--v86 .cp-wa-tool-shell{
    grid-template-columns:104px minmax(0,1fr)!important;
  }
}

/* v89 - Operador: eliminar franja celeste derecha en panel lateral */
.cp-wa-operator .cp-wa-tools,
.cp-wa-operator .cp-wa-tool-shell,
.cp-wa-operator .cp-wa-tool-panels,
.cp-wa-operator .cp-wa-tool-panel{
  background:#fff!important;
}
.cp-wa-operator .cp-wa-tools{
  overflow:hidden!important;
}
.cp-wa-operator .cp-wa-tool-shell{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.cp-wa-operator .cp-wa-tool-panels{
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
  box-sizing:border-box!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.cp-wa-operator .cp-wa-tool-panel{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.cp-wa-operator .cp-wa-tool-tabs{
  background:#eef6fb!important;
}
@media(max-width:980px){
  .cp-wa-operator .cp-wa-tools{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    background:#fff!important;
  }
  .cp-wa-operator .cp-wa-tool-shell{
    grid-template-columns:120px minmax(0,1fr)!important;
    background:#fff!important;
  }
}
@media(max-width:560px){
  .cp-wa-operator .cp-wa-tool-shell{
    grid-template-columns:104px minmax(0,1fr)!important;
  }
}

/* v90 - quitar definitivamente franja derecha: columna de herramientas sin sobrante */
@media (min-width:981px){
  body:has(.cp-wa-operator){
    background:#fff!important;
    overflow:hidden!important;
  }
  .cp-wa-operator.cp-wa-operator--v85,
  .cp-wa-operator.cp-wa-operator--v86,
  .cp-wa-operator.cp-wa-operator--v88{
    width:100vw!important;
    max-width:100vw!important;
    grid-template-columns:320px minmax(0,1fr) 430px!important;
    background:#fff!important;
    overflow:hidden!important;
  }
  .cp-wa-operator .cp-wa-left{width:320px!important;min-width:0!important;}
  .cp-wa-operator .cp-wa-center{min-width:0!important;background:#edf5fa!important;}
  .cp-wa-operator .cp-wa-tools{
    width:430px!important;
    max-width:430px!important;
    min-width:430px!important;
    justify-self:stretch!important;
    align-self:stretch!important;
    background:#fff!important;
    border-left:1px solid #bdd2df!important;
    overflow:hidden!important;
  }
  .cp-wa-operator .cp-wa-tool-shell{
    width:430px!important;
    max-width:430px!important;
    min-width:0!important;
    grid-template-columns:150px minmax(0,280px)!important;
    background:#fff!important;
  }
  .cp-wa-operator .cp-wa-tool-panels{
    width:280px!important;
    max-width:280px!important;
    min-width:0!important;
    background:#fff!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .cp-wa-operator .cp-wa-tool-panel{width:100%!important;max-width:100%!important;background:#fff!important;}
}
@media (max-width:980px){
  body:has(.cp-wa-operator){background:#fff!important;overflow:auto!important;}
  .cp-wa-operator.cp-wa-operator--v85,
  .cp-wa-operator.cp-wa-operator--v86,
  .cp-wa-operator.cp-wa-operator--v88{
    width:100vw!important;
    max-width:100vw!important;
    background:#fff!important;
  }
  .cp-wa-operator .cp-wa-tools{background:#fff!important;overflow:hidden!important;}
  .cp-wa-operator .cp-wa-tool-shell{width:100%!important;max-width:100%!important;background:#fff!important;}
  .cp-wa-operator .cp-wa-tool-panels{background:#fff!important;overflow-x:hidden!important;}
}

/* v93 - Operador: achicar conversación y dar más aire al panel derecho */
@media (min-width:981px){
  .cp-wa-operator{
    grid-template-columns:260px minmax(0,1fr) 535px!important;
    width:100vw!important;
    max-width:100vw!important;
  }
  .cp-wa-operator .cp-wa-left{
    width:260px!important;
    max-width:260px!important;
  }
  .cp-wa-operator .cp-wa-tools{
    width:535px!important;
    max-width:535px!important;
    min-width:535px!important;
  }
  .cp-wa-operator .cp-wa-tool-shell{
    width:535px!important;
    max-width:535px!important;
    grid-template-columns:150px minmax(0,385px)!important;
  }
  .cp-wa-operator .cp-wa-tool-panels{
    width:385px!important;
    max-width:385px!important;
  }
}

@media (max-width:980px){
  .cp-wa-operator{
    grid-template-columns:150px minmax(0,1fr) minmax(390px,45vw)!important;
  }
  .cp-wa-operator .cp-wa-left{
    width:150px!important;
    max-width:150px!important;
  }
  .cp-wa-operator .cp-wa-center{
    min-width:0!important;
  }
  .cp-wa-operator .cp-wa-tools{
    width:min(450px,calc(100vw - 150px))!important;
    max-width:min(450px,calc(100vw - 150px))!important;
    min-width:0!important;
  }
  .cp-wa-operator .cp-wa-tool-shell{
    grid-template-columns:126px minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
  }
  .cp-wa-operator .cp-wa-tool-panels{
    width:100%!important;
    max-width:100%!important;
  }
}

@media (max-width:620px){
  .cp-wa-operator{
    grid-template-columns:118px minmax(0,1fr) calc(100vw - 118px)!important;
  }
  .cp-wa-operator .cp-wa-left{
    width:118px!important;
    max-width:118px!important;
  }
  .cp-wa-operator .cp-wa-tools{
    width:calc(100vw - 118px)!important;
    max-width:calc(100vw - 118px)!important;
  }
  .cp-wa-operator .cp-wa-tool-shell{
    grid-template-columns:104px minmax(0,1fr)!important;
  }
}

/* v95 - operador: layout corregido, bandeja interna y fichaje compacto */
.cp-wa-operator--v95{
  gap:0!important;
  column-gap:0!important;
  background:#fff!important;
}
@media (min-width:981px){
  .cp-wa-operator--v95{
    grid-template-columns:240px minmax(0,1fr) 600px!important;
    width:100vw!important;
    max-width:100vw!important;
    overflow:hidden!important;
  }
  .cp-wa-operator--v95 .cp-wa-left{
    width:240px!important;
    max-width:240px!important;
    min-width:240px!important;
    margin:0!important;
    grid-column:1!important;
  }
  .cp-wa-operator--v95 .cp-wa-center{
    grid-column:2!important;
    min-width:0!important;
    margin:0!important;
  }
  .cp-wa-operator--v95 .cp-wa-tools{
    grid-column:3!important;
    width:600px!important;
    min-width:600px!important;
    max-width:600px!important;
    margin:0!important;
    background:#fff!important;
    border-left:1px solid #bdd2df!important;
  }
  .cp-wa-operator--v95 .cp-wa-tool-shell{
    width:600px!important;
    max-width:600px!important;
    grid-template-columns:150px minmax(0,450px)!important;
    background:#fff!important;
  }
  .cp-wa-operator--v95 .cp-wa-tool-panels{
    width:450px!important;
    max-width:450px!important;
    background:#fff!important;
  }
}
@media (max-width:980px){
  .cp-wa-operator--v95{
    grid-template-columns:132px minmax(0,1fr) minmax(430px,calc(100vw - 132px))!important;
    width:100vw!important;
    overflow-x:auto!important;
  }
  .cp-wa-operator--v95 .cp-wa-left{width:172px!important;max-width:172px!important;min-width:132px!important;}
  .cp-wa-operator--v95 .cp-wa-tools{width:calc(100vw - 132px)!important;max-width:560px!important;min-width:430px!important;background:#fff!important;}
  .cp-wa-operator--v95 .cp-wa-tool-shell{grid-template-columns:126px minmax(0,1fr)!important;width:100%!important;}
}
.cp-wa-operator--v95 .cp-wa-chat--internal .cp-wa-pill{background:#7b5aa7!important;font-size:.68rem!important;}
.cp-wa-operator--v95 .cp-wa-chat--internal{background:#f7f1ff!important;}
.cp-wa-operator--v95 .msg__operator{display:block;margin-top:4px;color:#607985;font-size:.72rem;line-height:1.1;text-align:right;}
.cp-wa-operator--v95 .cp-wa-clock-launch{display:block;margin-top:10px;}
.cp-wa-operator--v95 .cp-wa-clock-launch__btn{
  width:auto!important;
  max-width:260px!important;
  min-height:0!important;
  display:inline-grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  grid-template-areas:'ico title' 'ico sub'!important;
  align-items:center!important;
  gap:2px 10px!important;
  border:1px solid #cbe1ec!important;
  background:#f7fbfd!important;
  border-radius:15px!important;
  padding:12px 14px!important;
  box-shadow:none!important;
  text-align:left!important;
  color:#0b3148!important;
}
.cp-wa-operator--v95 .cp-wa-clock-launch__btn span{grid-area:ico;width:34px!important;height:34px!important;border-radius:12px!important;background:#e4f3fa!important;display:grid!important;place-items:center!important;font-size:1.2rem!important;}
.cp-wa-operator--v95 .cp-wa-clock-launch__btn b{grid-area:title;font-size:.96rem!important;line-height:1.15!important;}
.cp-wa-operator--v95 .cp-wa-clock-launch__btn small{grid-area:sub;font-size:.78rem!important;color:#66808d!important;}
.cp-clock-modal__card{max-width:430px!important;border-radius:22px!important;}
.cp-clock-modal__head h2{font-size:1.25rem!important;margin-bottom:4px!important;}
.cp-clock-modal-time{font-size:3.1rem!important;line-height:1!important;font-weight:900!important;color:#2d3d59!important;}
.cp-clock-actions{display:flex!important;gap:10px!important;justify-content:center!important;flex-wrap:wrap!important;}
.cp-clock-actions .btn{border-radius:999px!important;padding:8px 18px!important;}
.cp-wa-operator--v95 [data-wa-template-status]:empty{display:none!important;}

/* v96 - operador: layout sin franja, menú ordenado y panel derecho más legible */
html:has(.cp-wa-operator--v95),
body:has(.cp-wa-operator--v95){
  margin:0!important;
  padding:0!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  background:#fff!important;
}
.cp-wa-operator--v95{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  max-width:100vw!important;
  max-height:100vh!important;
  margin:0!important;
  padding:0!important;
  gap:0!important;
  column-gap:0!important;
  background:#fff!important;
  overflow:hidden!important;
  display:grid!important;
}
@media (min-width:981px){
  .cp-wa-operator--v95{
    grid-template-columns:220px minmax(420px,calc(100vw - 220px - 720px)) 720px!important;
  }
  .cp-wa-operator--v95 .cp-wa-left{
    grid-column:1!important;
    width:220px!important;
    min-width:220px!important;
    max-width:220px!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .cp-wa-operator--v95 .cp-wa-center{
    grid-column:2!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .cp-wa-operator--v95 .cp-wa-tools{
    grid-column:3!important;
    width:720px!important;
    min-width:720px!important;
    max-width:720px!important;
    margin:0!important;
    overflow:hidden!important;
    background:#fff!important;
    border-left:1px solid #bcd4e1!important;
  }
  .cp-wa-operator--v95 .cp-wa-tool-shell{
    width:720px!important;
    min-width:720px!important;
    max-width:720px!important;
    height:100vh!important;
    display:grid!important;
    grid-template-columns:170px minmax(0,550px)!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .cp-wa-operator--v95 .cp-wa-tool-tabs{
    width:170px!important;
    min-width:170px!important;
    max-width:170px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:#eaf4fa!important;
  }
  .cp-wa-operator--v95 .cp-wa-tool-panels{
    width:550px!important;
    max-width:550px!important;
    min-width:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:#fff!important;
    padding:18px 22px!important;
  }
  .cp-wa-operator--v95 .cp-wa-tool-panel{
    width:100%!important;
    max-width:100%!important;
    background:#fff!important;
  }
}
.cp-wa-operator--v95 .cp-wa-tool-tab{
  min-height:52px!important;
  padding:10px 12px!important;
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  align-items:center!important;
  gap:9px!important;
}
.cp-wa-operator--v95 .cp-wa-tool-tab span{
  width:24px!important;
  text-align:center!important;
}
.cp-wa-operator--v95 .cp-wa-tool-tab b{
  font-size:.9rem!important;
  line-height:1.15!important;
  white-space:normal!important;
}
.cp-wa-operator--v95 .cp-wa-left__body,
.cp-wa-operator--v95 .cp-wa-thread,
.cp-wa-operator--v95 .cp-wa-tool-panels{
  scrollbar-gutter:stable!important;
}
.cp-wa-operator--v95 .cp-wa-compose{overflow:hidden!important;}
.cp-wa-operator--v95 .cp-wa-templates{max-height:92px!important;overflow-y:auto!important;overflow-x:hidden!important;}
@media (max-width:980px){
  html:has(.cp-wa-operator--v95),body:has(.cp-wa-operator--v95){overflow:auto!important;}
  .cp-wa-operator--v95{
    position:relative!important;
    min-height:100vh!important;
    height:auto!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    grid-template-columns:1fr!important;
  }
  .cp-wa-operator--v95 .cp-wa-left,
  .cp-wa-operator--v95 .cp-wa-center,
  .cp-wa-operator--v95 .cp-wa-tools{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  .cp-wa-operator--v95 .cp-wa-tools{overflow:hidden!important;background:#fff!important;}
  .cp-wa-operator--v95 .cp-wa-tool-shell{
    display:grid!important;
    grid-template-columns:150px minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:560px!important;
    background:#fff!important;
  }
  .cp-wa-operator--v95 .cp-wa-tool-tabs{width:150px!important;max-width:150px!important;background:#eaf4fa!important;overflow-x:hidden!important;}
  .cp-wa-operator--v95 .cp-wa-tool-panels{width:100%!important;max-width:none!important;background:#fff!important;padding:14px 16px!important;overflow-x:hidden!important;}
}
@media (max-width:620px){
  .cp-wa-operator--v95 .cp-wa-tool-shell{grid-template-columns:118px minmax(0,1fr)!important;}
  .cp-wa-operator--v95 .cp-wa-tool-tabs{width:118px!important;max-width:118px!important;}
  .cp-wa-operator--v95 .cp-wa-tool-tab{grid-template-columns:1fr!important;text-align:center!important;justify-items:center!important;gap:4px!important;padding:9px 5px!important;}
  .cp-wa-operator--v95 .cp-wa-tool-tab b{font-size:.78rem!important;}
}

/* fix 2026-07-09: operador WhatsApp sin franja blanca, menú funcional y panel derecho ancho */
@media (min-width: 1500px){
  html:has(.cp-wa-operator--v95),
  body:has(.cp-wa-operator--v95){
    margin:0!important;
    padding:0!important;
    width:100vw!important;
    height:100vh!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .cp-wa-operator--v95{
    position:fixed!important;
    inset:0!important;
    display:grid!important;
    grid-template-columns:220px minmax(0,1fr) 720px!important;
    width:100vw!important;
    max-width:100vw!important;
    height:100vh!important;
    min-height:100vh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .cp-wa-operator--v95 .cp-wa-left{
    grid-column:1!important;
    width:220px!important;
    min-width:220px!important;
    max-width:220px!important;
    margin:0!important;
  }
  .cp-wa-operator--v95 .cp-wa-center{
    grid-column:2!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
  }
  .cp-wa-operator--v95 .cp-wa-tools{
    grid-column:3!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    background:#fff!important;
    border-left:1px solid #bdd2df!important;
    overflow:hidden!important;
  }
  .cp-wa-operator--v95 .cp-wa-tool-shell{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:100vh!important;
    display:grid!important;
    grid-template-columns:170px minmax(0,1fr)!important;
    background:#fff!important;
    overflow:hidden!important;
  }
  .cp-wa-operator--v95 .cp-wa-tool-tabs{
    width:170px!important;
    min-width:170px!important;
    max-width:170px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:#eaf4fa!important;
  }
  .cp-wa-operator--v95 .cp-wa-tool-panels{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:18px 24px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:#fff!important;
  }
}
@media (min-width:981px) and (max-width:1499px){
  html:has(.cp-wa-operator--v95),
  body:has(.cp-wa-operator--v95){margin:0!important;padding:0!important;overflow:hidden!important;background:#fff!important;}
  .cp-wa-operator--v95{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100vh!important;
    display:grid!important;
    grid-template-columns:210px minmax(0,1fr) 560px!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .cp-wa-operator--v95 .cp-wa-left{width:210px!important;min-width:210px!important;max-width:210px!important;margin:0!important;}
  .cp-wa-operator--v95 .cp-wa-center{min-width:0!important;margin:0!important;}
  .cp-wa-operator--v95 .cp-wa-tools{width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;background:#fff!important;overflow:hidden!important;}
  .cp-wa-operator--v95 .cp-wa-tool-shell{width:100%!important;height:100vh!important;grid-template-columns:150px minmax(0,1fr)!important;background:#fff!important;overflow:hidden!important;}
  .cp-wa-operator--v95 .cp-wa-tool-tabs{width:150px!important;min-width:150px!important;max-width:150px!important;overflow-y:auto!important;overflow-x:hidden!important;background:#eaf4fa!important;}
  .cp-wa-operator--v95 .cp-wa-tool-panels{width:100%!important;max-width:none!important;min-width:0!important;overflow-y:auto!important;overflow-x:hidden!important;background:#fff!important;padding:16px 18px!important;}
}
.cp-wa-tool-panel{display:none!important;}
.cp-wa-tool-panel.is-active{display:block!important;}
.cp-wa-tool-tab{cursor:pointer!important;}
.cp-wa-patient-results button,
.cp-wa-chat{
  width:100%;
  border:0;
  text-align:left;
  cursor:pointer;
}
.cp-wa-patient-results button{
  display:block;
  margin:6px 0;
  padding:9px 10px;
  border-radius:12px;
  background:#eef7fb;
  color:#0b3148;
}
.cp-wa-patient-results button small,
.cp-wa-selected-patient small{display:block;color:#607985;margin-top:2px;}
.cp-wa-template-note{padding:6px 10px;border-radius:10px;background:#eef7fb;color:#0b3148;margin-bottom:8px;font-size:.86rem;}
.cp-wa-template-note[data-kind="error"]{background:#fff2f2;color:#933;}
.cp-wa-template-note[data-kind="ok"]{background:#eef9f0;color:#236b35;}
.cp-clock-modal[hidden]{display:none!important;}
.cp-clock-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;}
.cp-clock-modal__backdrop{position:absolute;inset:0;background:rgba(6,27,40,.42);}
.cp-clock-modal__card{position:relative;width:min(430px,100%);background:#fff;border:1px solid #cde1eb;border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.22);padding:22px;text-align:center;}
.cp-clock-modal__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;}
.cp-clock-modal__head h2{margin:0;color:#0b3148;font-size:1.25rem;}
.cp-clock-modal__head button{border:0;background:#eef6fb;border-radius:999px;width:34px;height:34px;cursor:pointer;font-size:1.4rem;line-height:1;}
.cp-clock-recent{margin-top:14px;text-align:left;color:#526a7b;font-size:.9rem;display:grid;gap:5px;}

/* FIX 2026-07-09 · Portal paciente: familiares, cierre de sesión y selección de paciente para turnos */
.cpc-profile-page,
.cpc-profile-card,
.cpc-family-add,
.cpc-family-add .cpc-form-grid,
.cpc-family-add label,
.cpc-family-add input{
  box-sizing:border-box;
}
.cpc-profile-page{
  grid-template-columns:minmax(0,1fr) minmax(280px,.78fr);
  align-items:start;
}
.cpc-profile-card{
  width:100%;
  max-width:100%;
  overflow:hidden;
}
.cpc-family-add{
  width:100%;
  max-width:100%;
}
.cpc-family-add .cpc-form-grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
  width:100%;
  max-width:100%;
}
.cpc-family-add label{
  min-width:0;
  width:100%;
}
.cpc-family-add input{
  min-width:0;
  max-width:100%;
}
.cp-patient-topbar{
  justify-content:flex-start;
}
.cp-patient-topbar > span:empty{
  display:none;
}
.cpc-active-actions .cpc-action-logout{
  background:#fff;
}
.cpc-booking-patient{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  border:1px solid #d8e8ef;
  background:#fff;
  border-radius:18px;
  padding:12px 14px;
  margin:0 0 16px;
  box-shadow:0 8px 20px rgba(21,70,93,.05);
}
.cpc-booking-patient strong{
  color:#102f47;
  font-family:Comfortaa,Alegreya Sans,sans-serif;
}
.cpc-booking-patient span{
  color:#66808c;
  font-weight:800;
}
.cpc-booking-patient a{
  margin-left:auto;
  border:1px solid #cfe0e8;
  background:#eef8fc;
  border-radius:999px;
  padding:8px 12px;
  color:#102f47;
  text-decoration:none;
  font-weight:900;
}
.cpc-patient-choice-link{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:160px;
  border:1px solid #d8e8ef;
  background:#fff;
  border-radius:20px;
  padding:18px;
  color:#102f47;
  text-decoration:none;
  text-align:center;
  box-shadow:0 10px 24px rgba(21,70,93,.06);
}
.cpc-patient-choice-link > span{
  width:58px;
  height:58px;
  border-radius:20px;
  background:#e7f5fa;
  display:grid;
  place-items:center;
  font-size:30px;
  overflow:hidden;
}
.cpc-patient-choice-link img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.cpc-patient-choice-link strong{
  color:#102f47;
  font-family:Comfortaa,Alegreya Sans,sans-serif;
}
.cpc-patient-choice-link small{
  color:#66808c;
  font-weight:800;
}
@media (max-width:1100px){
  .cpc-profile-page{
    grid-template-columns:1fr;
  }
}
@media (max-width:640px){
  .cpc-profile-card{
    padding:18px;
    border-radius:18px;
  }
  .cpc-family-add .cpc-form-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .cpc-booking-patient a{
    margin-left:0;
  }
}




/* v98 · Operador WhatsApp: menú derecho más ancho y legible */
html:has(.cp-wa-operator--v97),
body:has(.cp-wa-operator--v97){
  margin:0!important;
  padding:0!important;
  width:100vw!important;
  height:100vh!important;
  max-width:100vw!important;
  overflow:hidden!important;
  background:#fff!important;
}
.cp-wa-operator--v97,
.cp-wa-operator--v97 *{box-sizing:border-box!important;}
.cp-wa-operator--v97{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  max-width:100vw!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  gap:0!important;
  column-gap:0!important;
  row-gap:0!important;
  background:#fff!important;
  overflow:hidden!important;
}
@media (min-width:1500px){
  .cp-wa-operator--v97{grid-template-columns:220px minmax(0,1fr) 760px!important;}
}
@media (min-width:1180px) and (max-width:1499px){
  .cp-wa-operator--v97{grid-template-columns:210px minmax(0,1fr) 680px!important;}
}
@media (min-width:981px) and (max-width:1179px){
  .cp-wa-operator--v97{grid-template-columns:200px minmax(0,1fr) 610px!important;}
}
@media (min-width:981px){
  .cp-wa-operator--v97 .cp-wa-left,
  .cp-wa-operator--v97 .cp-wa-center,
  .cp-wa-operator--v97 .cp-wa-tools{
    min-width:0!important;
    max-width:none!important;
    width:auto!important;
    height:100vh!important;
    max-height:100vh!important;
    margin:0!important;
    transform:none!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
  }
  .cp-wa-operator--v97 .cp-wa-left{grid-column:1!important;overflow:hidden!important;}
  .cp-wa-operator--v97 .cp-wa-center{grid-column:2!important;overflow:hidden!important;background:#edf5fa!important;}
  .cp-wa-operator--v97 .cp-wa-tools{grid-column:3!important;background:#fff!important;border-left:1px solid #bdd2df!important;overflow:hidden!important;}
  .cp-wa-operator--v97 .cp-wa-tool-shell{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:100vh!important;
    max-height:100vh!important;
    display:grid!important;
    grid-template-columns:188px minmax(0,1fr)!important;
    background:#fff!important;
    overflow:hidden!important;
  }
  .cp-wa-operator--v97 .cp-wa-tool-tabs{
    width:188px!important;
    min-width:188px!important;
    max-width:188px!important;
    height:100vh!important;
    max-height:100vh!important;
    display:grid!important;
    grid-template-rows:repeat(20,minmax(0,1fr))!important;
    overflow:hidden!important;
    background:#eaf4fa!important;
    border-right:1px solid #d4e4ee!important;
  }
  .cp-wa-operator--v97 .cp-wa-tool-panels{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:100vh!important;
    max-height:100vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:16px 22px!important;
    background:#fff!important;
  }
}
.cp-wa-operator--v97 .cp-wa-tool-tab{
  min-height:0!important;
  height:auto!important;
  padding:4px 12px!important;
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  align-items:center!important;
  gap:9px!important;
  border-radius:0!important;
  border:0!important;
  border-bottom:1px solid #d4e4ee!important;
  background:#eaf4fa!important;
  color:#062f45!important;
  text-align:left!important;
  cursor:pointer!important;
}
.cp-wa-operator--v97 .cp-wa-tool-tab span{
  width:22px!important;
  min-width:22px!important;
  text-align:center!important;
  font-size:.92rem!important;
  line-height:1!important;
}
.cp-wa-operator--v97 .cp-wa-tool-tab b{
  font-size:.84rem!important;
  line-height:1.08!important;
  font-weight:800!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.cp-wa-operator--v97 .cp-wa-tool-tab.is-active{background:#dcecf5!important;box-shadow:inset 3px 0 #0d3c52!important;}
.cp-wa-operator--v97 .cp-wa-tool-panel{display:none!important;width:100%!important;max-width:100%!important;}
.cp-wa-operator--v97 .cp-wa-tool-panel.is-active{display:block!important;}
.cp-wa-operator--v97 .cp-wa-left__body,
.cp-wa-operator--v97 .cp-wa-thread,
.cp-wa-operator--v97 .cp-wa-tool-panels{scrollbar-gutter:stable!important;}
.cp-wa-operator--v97 .cp-wa-templates{max-height:84px!important;overflow-y:auto!important;overflow-x:hidden!important;}
@media (max-width:980px){
  html:has(.cp-wa-operator--v97),body:has(.cp-wa-operator--v97){overflow:auto!important;height:auto!important;}
  .cp-wa-operator--v97{position:relative!important;height:auto!important;min-height:100vh!important;grid-template-columns:1fr!important;overflow:auto!important;}
  .cp-wa-operator--v97 .cp-wa-left,
  .cp-wa-operator--v97 .cp-wa-center,
  .cp-wa-operator--v97 .cp-wa-tools{width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;}
  .cp-wa-operator--v97 .cp-wa-tool-shell{grid-template-columns:172px minmax(0,1fr)!important;height:auto!important;min-height:560px!important;}
  .cp-wa-operator--v97 .cp-wa-tool-tabs{width:172px!important;max-width:172px!important;overflow-y:auto!important;}
}




<style id="cp-wa-v100-critical">
/* v100 · WhatsApp operador: panel derecho realmente más ancho */
html:has(.cp-wa-operator--v100),
body:has(.cp-wa-operator--v100){
  margin:0!important;
  padding:0!important;
  width:100vw!important;
  height:100vh!important;
  max-width:100vw!important;
  overflow:hidden!important;
  background:#fff!important;
}
.cp-wa-operator--v100,
.cp-wa-operator--v100 *{box-sizing:border-box!important;}
.cp-wa-operator--v100{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  max-width:100vw!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  gap:0!important;
  background:#fff!important;
  overflow:hidden!important;
}
@media (min-width:1600px){
  .cp-wa-operator--v100{grid-template-columns:220px minmax(0,1fr) 1040px!important;}
}
@media (min-width:1400px) and (max-width:1599px){
  .cp-wa-operator--v100{grid-template-columns:215px minmax(0,1fr) 960px!important;}
}
@media (min-width:1200px) and (max-width:1399px){
  .cp-wa-operator--v100{grid-template-columns:210px minmax(0,1fr) 880px!important;}
}
@media (min-width:981px) and (max-width:1199px){
  .cp-wa-operator--v100{grid-template-columns:200px minmax(0,1fr) 780px!important;}
}
@media (min-width:981px){
  .cp-wa-operator--v100 .cp-wa-left,
  .cp-wa-operator--v100 .cp-wa-center,
  .cp-wa-operator--v100 .cp-wa-tools{
    min-width:0!important;
    max-width:none!important;
    width:auto!important;
    height:100vh!important;
    max-height:100vh!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
  }
  .cp-wa-operator--v100 .cp-wa-left{grid-column:1!important;overflow:hidden!important;}
  .cp-wa-operator--v100 .cp-wa-center{grid-column:2!important;overflow:hidden!important;background:#edf5fa!important;}
  .cp-wa-operator--v100 .cp-wa-tools{grid-column:3!important;background:#fff!important;border-left:1px solid #bdd2df!important;overflow:hidden!important;}
  .cp-wa-operator--v100 .cp-wa-tool-shell{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:100vh!important;
    max-height:100vh!important;
    display:grid!important;
    grid-template-columns:270px minmax(500px,1fr)!important;
    background:#fff!important;
    overflow:hidden!important;
  }
  .cp-wa-operator--v100 .cp-wa-tool-tabs{
    width:270px!important;
    min-width:270px!important;
    max-width:270px!important;
    height:100vh!important;
    max-height:100vh!important;
    display:grid!important;
    grid-template-rows:repeat(20,minmax(0,1fr))!important;
    overflow:hidden!important;
    background:#eaf4fa!important;
    border-right:1px solid #d4e4ee!important;
  }
  .cp-wa-operator--v100 .cp-wa-tool-panels{
    width:100%!important;
    min-width:500px!important;
    max-width:none!important;
    height:100vh!important;
    max-height:100vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:18px 28px!important;
    background:#fff!important;
  }
}
.cp-wa-operator--v100 .cp-wa-tool-tab{
  min-height:0!important;
  height:auto!important;
  padding:3px 16px!important;
  display:grid!important;
  grid-template-columns:26px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  border-radius:0!important;
  border:0!important;
  border-bottom:1px solid #d4e4ee!important;
  background:#eaf4fa!important;
  color:#062f45!important;
  text-align:left!important;
  cursor:pointer!important;
}
.cp-wa-operator--v100 .cp-wa-tool-tab span{
  width:26px!important;
  min-width:26px!important;
  text-align:center!important;
  font-size:1rem!important;
  line-height:1!important;
}
.cp-wa-operator--v100 .cp-wa-tool-tab b{
  font-size:.9rem!important;
  line-height:1.08!important;
  font-weight:850!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.cp-wa-operator--v100 .cp-wa-tool-tab.is-active{background:#dcecf5!important;box-shadow:inset 4px 0 #0d3c52!important;}
.cp-wa-operator--v100 .cp-wa-tool-panel{display:none!important;width:100%!important;max-width:100%!important;}
.cp-wa-operator--v100 .cp-wa-tool-panel.is-active{display:block!important;}
.cp-wa-operator--v100 .cp-wa-tool-panel h3{font-size:1.15rem!important;margin:0 0 18px!important;}
.cp-wa-operator--v100 .cp-wa-clock-launch{display:block!important;min-height:0!important;padding:10px 0!important;}
.cp-wa-operator--v100 .cp-wa-clock-launch__btn{
  width:360px!important;
  max-width:100%!important;
  min-height:118px!important;
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  grid-template-areas:'ico title' 'ico sub'!important;
  align-items:center!important;
  justify-items:start!important;
  text-align:left!important;
  gap:4px 14px!important;
  padding:18px 22px!important;
  border:1px solid #c7dfea!important;
  border-radius:22px!important;
  background:#fff!important;
  color:#082b3d!important;
}
.cp-wa-operator--v100 .cp-wa-clock-launch__btn span{grid-area:ico;width:46px!important;height:46px!important;border-radius:15px!important;background:#e5f4fb!important;display:grid!important;place-items:center!important;font-size:1.35rem!important;}
.cp-wa-operator--v100 .cp-wa-clock-launch__btn b{grid-area:title;font-size:1.06rem!important;line-height:1.12!important;}
.cp-wa-operator--v100 .cp-wa-clock-launch__btn small{grid-area:sub;font-size:.86rem!important;line-height:1.18!important;color:#607b89!important;}
.cp-wa-operator--v100 .cp-wa-left__body,
.cp-wa-operator--v100 .cp-wa-thread,
.cp-wa-operator--v100 .cp-wa-tool-panels{scrollbar-gutter:stable!important;}
.cp-wa-operator--v100 .cp-wa-templates{max-height:84px!important;overflow-y:auto!important;overflow-x:hidden!important;}
@media (max-width:980px){
  html:has(.cp-wa-operator--v100),body:has(.cp-wa-operator--v100){overflow:auto!important;height:auto!important;}
  .cp-wa-operator--v100{position:relative!important;height:auto!important;min-height:100vh!important;grid-template-columns:1fr!important;overflow:auto!important;}
  .cp-wa-operator--v100 .cp-wa-left,
  .cp-wa-operator--v100 .cp-wa-center,
  .cp-wa-operator--v100 .cp-wa-tools{width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;}
  .cp-wa-operator--v100 .cp-wa-tool-shell{grid-template-columns:240px minmax(0,1fr)!important;height:auto!important;min-height:560px!important;}
  .cp-wa-operator--v100 .cp-wa-tool-tabs{width:240px!important;max-width:240px!important;overflow-y:auto!important;}
  .cp-wa-operator--v100 .cp-wa-tool-panels{min-width:0!important;}
}






/* v101 · WhatsApp operador: correr herramientas a la izquierda y ampliar el panel blanco */
html:has(.cp-wa-operator--v101),
body:has(.cp-wa-operator--v101){
  margin:0!important;
  padding:0!important;
  width:100vw!important;
  height:100vh!important;
  max-width:100vw!important;
  overflow:hidden!important;
  background:#fff!important;
}
.cp-wa-operator--v101,
.cp-wa-operator--v101 *{box-sizing:border-box!important;}
.cp-wa-operator--v101{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  max-width:100vw!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  gap:0!important;
  background:#fff!important;
  overflow:hidden!important;
}
@media (min-width:1600px){
  .cp-wa-operator--v101{grid-template-columns:220px 420px minmax(0,1fr)!important;}
}
@media (min-width:1400px) and (max-width:1599px){
  .cp-wa-operator--v101{grid-template-columns:210px 340px minmax(0,1fr)!important;}
}
@media (min-width:1200px) and (max-width:1399px){
  .cp-wa-operator--v101{grid-template-columns:200px 275px minmax(0,1fr)!important;}
}
@media (min-width:981px) and (max-width:1199px){
  .cp-wa-operator--v101{grid-template-columns:190px 245px minmax(0,1fr)!important;}
}
@media (min-width:981px){
  .cp-wa-operator--v101 .cp-wa-left,
  .cp-wa-operator--v101 .cp-wa-center,
  .cp-wa-operator--v101 .cp-wa-tools{
    min-width:0!important;
    max-width:none!important;
    width:auto!important;
    height:100vh!important;
    max-height:100vh!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
  }
  .cp-wa-operator--v101 .cp-wa-left{grid-column:1!important;overflow:hidden!important;}
  .cp-wa-operator--v101 .cp-wa-center{grid-column:2!important;overflow:hidden!important;background:#edf5fa!important;border-right:1px solid #bdd2df!important;}
  .cp-wa-operator--v101 .cp-wa-tools{grid-column:3!important;background:#fff!important;border-left:0!important;overflow:hidden!important;}
  .cp-wa-operator--v101 .cp-wa-tool-shell{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:100vh!important;
    max-height:100vh!important;
    display:grid!important;
    grid-template-columns:178px minmax(0,1fr)!important;
    background:#fff!important;
    overflow:hidden!important;
  }
  .cp-wa-operator--v101 .cp-wa-tool-tabs{
    width:178px!important;
    min-width:178px!important;
    max-width:178px!important;
    height:100vh!important;
    max-height:100vh!important;
    display:grid!important;
    grid-template-rows:repeat(20,minmax(0,1fr))!important;
    overflow:hidden!important;
    background:#eaf4fa!important;
    border-right:1px solid #d4e4ee!important;
  }
  .cp-wa-operator--v101 .cp-wa-tool-panels{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:100vh!important;
    max-height:100vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:18px 30px!important;
    background:#fff!important;
  }
}
.cp-wa-operator--v101 .cp-wa-tool-tab{
  min-height:0!important;
  height:auto!important;
  padding:3px 10px!important;
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  align-items:center!important;
  gap:9px!important;
  border-radius:0!important;
  border:0!important;
  border-bottom:1px solid #d4e4ee!important;
  background:#eaf4fa!important;
  color:#062f45!important;
  text-align:left!important;
  cursor:pointer!important;
}
.cp-wa-operator--v101 .cp-wa-tool-tab span{
  width:24px!important;
  min-width:24px!important;
  text-align:center!important;
  font-size:.96rem!important;
  line-height:1!important;
}
.cp-wa-operator--v101 .cp-wa-tool-tab b{
  font-size:.86rem!important;
  line-height:1.08!important;
  font-weight:850!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.cp-wa-operator--v101 .cp-wa-tool-tab.is-active{background:#dcecf5!important;box-shadow:inset 4px 0 #0d3c52!important;}
.cp-wa-operator--v101 .cp-wa-tool-panel{display:none!important;width:100%!important;max-width:100%!important;}
.cp-wa-operator--v101 .cp-wa-tool-panel.is-active{display:block!important;}
.cp-wa-operator--v101 .cp-wa-tool-panel h3{font-size:1.16rem!important;margin:0 0 18px!important;white-space:normal!important;}
.cp-wa-operator--v101 .cp-wa-clock-launch{display:block!important;min-height:0!important;padding:10px 0!important;}
.cp-wa-operator--v101 .cp-wa-clock-launch__btn{
  width:360px!important;
  max-width:100%!important;
  min-height:118px!important;
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  grid-template-areas:'ico title' 'ico sub'!important;
  align-items:center!important;
  justify-items:start!important;
  text-align:left!important;
  gap:4px 14px!important;
  padding:18px 22px!important;
  border:1px solid #c7dfea!important;
  border-radius:22px!important;
  background:#fff!important;
  color:#082b3d!important;
}
.cp-wa-operator--v101 .cp-wa-clock-launch__btn span{grid-area:ico;width:46px!important;height:46px!important;border-radius:15px!important;background:#e5f4fb!important;display:grid!important;place-items:center!important;font-size:1.35rem!important;}
.cp-wa-operator--v101 .cp-wa-clock-launch__btn b{grid-area:title;font-size:1.06rem!important;line-height:1.12!important;}
.cp-wa-operator--v101 .cp-wa-clock-launch__btn small{grid-area:sub;font-size:.86rem!important;line-height:1.18!important;color:#607b89!important;}
.cp-wa-operator--v101 .cp-wa-left__body,
.cp-wa-operator--v101 .cp-wa-thread,
.cp-wa-operator--v101 .cp-wa-tool-panels{scrollbar-gutter:stable!important;}
.cp-wa-operator--v101 .cp-wa-templates{max-height:84px!important;overflow-y:auto!important;overflow-x:hidden!important;}
@media (max-width:980px){
  html:has(.cp-wa-operator--v101),body:has(.cp-wa-operator--v101){overflow:auto!important;height:auto!important;}
  .cp-wa-operator--v101{position:relative!important;height:auto!important;min-height:100vh!important;grid-template-columns:1fr!important;overflow:auto!important;}
  .cp-wa-operator--v101 .cp-wa-left,
  .cp-wa-operator--v101 .cp-wa-center,
  .cp-wa-operator--v101 .cp-wa-tools{width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;}
  .cp-wa-operator--v101 .cp-wa-tool-shell{grid-template-columns:170px minmax(0,1fr)!important;height:auto!important;min-height:560px!important;}
  .cp-wa-operator--v101 .cp-wa-tool-tabs{width:170px!important;max-width:170px!important;overflow-y:auto!important;}
  .cp-wa-operator--v101 .cp-wa-tool-panels{min-width:0!important;padding:16px!important;}
}




/* v102 · WhatsApp operador: achica la conversación celeste y agranda el sector blanco */
html:has(.cp-wa-operator--v102),
body:has(.cp-wa-operator--v102){margin:0!important;padding:0!important;width:100vw!important;height:100vh!important;max-width:100vw!important;overflow:hidden!important;background:#fff!important;}
.cp-wa-operator--v102,.cp-wa-operator--v102 *{box-sizing:border-box!important;}
.cp-wa-operator--v102{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;max-width:100vw!important;min-height:0!important;margin:0!important;padding:0!important;display:grid!important;gap:0!important;background:#fff!important;overflow:hidden!important;}
@media (min-width:1600px){.cp-wa-operator--v102{grid-template-columns:210px 260px minmax(0,1fr)!important;}}
@media (min-width:1400px) and (max-width:1599px){.cp-wa-operator--v102{grid-template-columns:205px 210px minmax(0,1fr)!important;}}
@media (min-width:1200px) and (max-width:1399px){.cp-wa-operator--v102{grid-template-columns:195px 150px minmax(0,1fr)!important;}}
@media (min-width:981px) and (max-width:1199px){.cp-wa-operator--v102{grid-template-columns:185px 105px minmax(0,1fr)!important;}}
@media (min-width:981px){.cp-wa-operator--v102 .cp-wa-left,.cp-wa-operator--v102 .cp-wa-center,.cp-wa-operator--v102 .cp-wa-tools{min-width:0!important;max-width:none!important;width:auto!important;height:100vh!important;max-height:100vh!important;margin:0!important;padding:0!important;transform:none!important;position:relative!important;left:auto!important;right:auto!important}.cp-wa-operator--v102 .cp-wa-left{grid-column:1!important;overflow:hidden!important}.cp-wa-operator--v102 .cp-wa-center{grid-column:2!important;overflow:hidden!important;background:#edf5fa!important;border-right:1px solid #bdd2df!important}.cp-wa-operator--v102 .cp-wa-tools{grid-column:3!important;background:#fff!important;border-left:0!important;overflow:hidden!important}.cp-wa-operator--v102 .cp-wa-tool-shell{width:100%!important;max-width:none!important;min-width:0!important;height:100vh!important;max-height:100vh!important;display:grid!important;grid-template-columns:170px minmax(0,1fr)!important;background:#fff!important;overflow:hidden!important}.cp-wa-operator--v102 .cp-wa-tool-tabs{width:170px!important;min-width:170px!important;max-width:170px!important;height:100vh!important;max-height:100vh!important;display:grid!important;grid-template-rows:repeat(20,minmax(0,1fr))!important;overflow:hidden!important;background:#eaf4fa!important;border-right:1px solid #d4e4ee!important}.cp-wa-operator--v102 .cp-wa-tool-panels{width:100%!important;min-width:0!important;max-width:none!important;height:100vh!important;max-height:100vh!important;overflow-y:auto!important;overflow-x:hidden!important;padding:22px 44px!important;background:#fff!important}}
.cp-wa-operator--v102 .cp-wa-tool-tab{min-height:0!important;height:auto!important;padding:3px 10px!important;display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;align-items:center!important;gap:9px!important;border-radius:0!important;border:0!important;border-bottom:1px solid #d4e4ee!important;background:#eaf4fa!important;color:#062f45!important;text-align:left!important;cursor:pointer!important}.cp-wa-operator--v102 .cp-wa-tool-tab span{width:24px!important;min-width:24px!important;text-align:center!important;font-size:.96rem!important;line-height:1!important}.cp-wa-operator--v102 .cp-wa-tool-tab b{font-size:.86rem!important;line-height:1.08!important;font-weight:850!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.cp-wa-operator--v102 .cp-wa-tool-tab.is-active{background:#dcecf5!important;box-shadow:inset 4px 0 #0d3c52!important}.cp-wa-operator--v102 .cp-wa-tool-panel{display:none!important;width:100%!important;max-width:100%!important}.cp-wa-operator--v102 .cp-wa-tool-panel.is-active{display:block!important}.cp-wa-operator--v102 .cp-wa-tool-panel h3{font-size:1.2rem!important;line-height:1.15!important;margin:0 0 24px!important;white-space:nowrap!important}.cp-wa-operator--v102 .cp-wa-clock-launch{display:block!important;min-height:0!important;padding:10px 0!important}.cp-wa-operator--v102 .cp-wa-clock-launch__btn{width:460px!important;max-width:100%!important;min-height:122px!important;display:grid!important;grid-template-columns:56px minmax(0,1fr)!important;grid-template-areas:'ico title' 'ico sub'!important;align-items:center!important;justify-items:start!important;text-align:left!important;gap:4px 16px!important;padding:20px 24px!important;border:1px solid #c7dfea!important;border-radius:22px!important;background:#fff!important;color:#082b3d!important}.cp-wa-operator--v102 .cp-wa-clock-launch__btn span{grid-area:ico;width:48px!important;height:48px!important;border-radius:15px!important;background:#e5f4fb!important;display:grid!important;place-items:center!important;font-size:1.35rem!important}.cp-wa-operator--v102 .cp-wa-clock-launch__btn b{grid-area:title;font-size:1.08rem!important;line-height:1.15!important}.cp-wa-operator--v102 .cp-wa-clock-launch__btn small{grid-area:sub;font-size:.88rem!important;line-height:1.22!important;color:#607b89!important}.cp-wa-operator--v102 .cp-wa-left__body,.cp-wa-operator--v102 .cp-wa-thread,.cp-wa-operator--v102 .cp-wa-tool-panels{scrollbar-gutter:stable!important}.cp-wa-operator--v102 .cp-wa-templates{max-height:84px!important;overflow-y:auto!important;overflow-x:hidden!important}
@media (max-width:980px){html:has(.cp-wa-operator--v102),body:has(.cp-wa-operator--v102){overflow:auto!important;height:auto!important}.cp-wa-operator--v102{position:relative!important;height:auto!important;min-height:100vh!important;grid-template-columns:1fr!important;overflow:auto!important}.cp-wa-operator--v102 .cp-wa-left,.cp-wa-operator--v102 .cp-wa-center,.cp-wa-operator--v102 .cp-wa-tools{width:100%!important;max-width:none!important;min-width:0!important;height:auto!important}.cp-wa-operator--v102 .cp-wa-tool-shell{grid-template-columns:170px minmax(0,1fr)!important;height:auto!important;min-height:560px!important}.cp-wa-operator--v102 .cp-wa-tool-tabs{width:170px!important;max-width:170px!important;overflow-y:auto!important}.cp-wa-operator--v102 .cp-wa-tool-panels{min-width:0!important;padding:18px!important}}





/* v103 · WhatsApp operador: más espacio real para el panel blanco, achicando conversación */
html:has(.cp-wa-operator--v103),
body:has(.cp-wa-operator--v103){
  margin:0!important;
  padding:0!important;
  width:100vw!important;
  height:100vh!important;
  max-width:100vw!important;
  overflow:hidden!important;
  background:#fff!important;
}
.cp-wa-operator--v103,
.cp-wa-operator--v103 *{box-sizing:border-box!important;}
.cp-wa-operator--v103{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  max-width:100vw!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  gap:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
@media (min-width:1600px){
  .cp-wa-operator--v103{grid-template-columns:220px 260px minmax(720px,1fr)!important;}
}
@media (min-width:1400px) and (max-width:1599px){
  .cp-wa-operator--v103{grid-template-columns:210px 230px minmax(700px,1fr)!important;}
}
@media (min-width:1200px) and (max-width:1399px){
  .cp-wa-operator--v103{grid-template-columns:200px 170px minmax(680px,1fr)!important;}
}
@media (min-width:981px) and (max-width:1199px){
  .cp-wa-operator--v103{grid-template-columns:190px 90px minmax(660px,1fr)!important;}
}
@media (min-width:981px){
  .cp-wa-operator--v103 .cp-wa-left,
  .cp-wa-operator--v103 .cp-wa-center,
  .cp-wa-operator--v103 .cp-wa-tools{
    min-width:0!important;
    max-width:none!important;
    width:auto!important;
    height:100vh!important;
    max-height:100vh!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
  }
  .cp-wa-operator--v103 .cp-wa-left{grid-column:1!important;overflow:hidden!important;}
  .cp-wa-operator--v103 .cp-wa-center{grid-column:2!important;overflow:hidden!important;background:#edf5fa!important;border-right:1px solid #bdd2df!important;}
  .cp-wa-operator--v103 .cp-wa-tools{grid-column:3!important;background:#fff!important;border-left:0!important;overflow:hidden!important;}
  .cp-wa-operator--v103 .cp-wa-tool-shell{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:100vh!important;
    max-height:100vh!important;
    display:grid!important;
    grid-template-columns:172px minmax(520px,1fr)!important;
    background:#fff!important;
    overflow:hidden!important;
  }
  .cp-wa-operator--v103 .cp-wa-tool-tabs{
    width:172px!important;
    min-width:172px!important;
    max-width:172px!important;
    height:100vh!important;
    max-height:100vh!important;
    display:grid!important;
    grid-template-rows:repeat(20,minmax(0,1fr))!important;
    overflow:hidden!important;
    background:#eaf4fa!important;
    border-right:1px solid #d4e4ee!important;
  }
  .cp-wa-operator--v103 .cp-wa-tool-panels{
    width:100%!important;
    min-width:520px!important;
    max-width:none!important;
    height:100vh!important;
    max-height:100vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:28px 46px!important;
    background:#fff!important;
  }
}
.cp-wa-operator--v103 .cp-wa-tool-tab{
  min-height:0!important;
  height:auto!important;
  padding:3px 10px!important;
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  align-items:center!important;
  gap:9px!important;
  border-radius:0!important;
  border:0!important;
  border-bottom:1px solid #d4e4ee!important;
  background:#eaf4fa!important;
  color:#062f45!important;
  text-align:left!important;
  cursor:pointer!important;
}
.cp-wa-operator--v103 .cp-wa-tool-tab span{
  width:24px!important;
  min-width:24px!important;
  text-align:center!important;
  font-size:.96rem!important;
  line-height:1!important;
}
.cp-wa-operator--v103 .cp-wa-tool-tab b{
  font-size:.86rem!important;
  line-height:1.08!important;
  font-weight:850!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.cp-wa-operator--v103 .cp-wa-tool-tab.is-active{background:#dcecf5!important;box-shadow:inset 4px 0 #0d3c52!important;}
.cp-wa-operator--v103 .cp-wa-tool-panel{display:none!important;width:100%!important;max-width:100%!important;}
.cp-wa-operator--v103 .cp-wa-tool-panel.is-active{display:block!important;}
.cp-wa-operator--v103 .cp-wa-tool-panel h3{
  font-size:1.2rem!important;
  line-height:1.2!important;
  margin:0 0 24px!important;
  white-space:normal!important;
  max-width:none!important;
}
.cp-wa-operator--v103 .cp-wa-clock-launch{display:block!important;min-height:0!important;padding:8px 0!important;}
.cp-wa-operator--v103 .cp-wa-clock-launch__btn{
  width:430px!important;
  max-width:100%!important;
  min-height:122px!important;
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr)!important;
  grid-template-areas:'ico title' 'ico sub'!important;
  align-items:center!important;
  justify-items:start!important;
  text-align:left!important;
  gap:4px 16px!important;
  padding:20px 24px!important;
  border:1px solid #c7dfea!important;
  border-radius:22px!important;
  background:#fff!important;
  color:#082b3d!important;
}
.cp-wa-operator--v103 .cp-wa-clock-launch__btn span{grid-area:ico;width:48px!important;height:48px!important;border-radius:15px!important;background:#e5f4fb!important;display:grid!important;place-items:center!important;font-size:1.35rem!important;}
.cp-wa-operator--v103 .cp-wa-clock-launch__btn b{grid-area:title;font-size:1.08rem!important;line-height:1.15!important;}
.cp-wa-operator--v103 .cp-wa-clock-launch__btn small{grid-area:sub;font-size:.88rem!important;line-height:1.22!important;color:#607b89!important;}
.cp-wa-operator--v103 .cp-wa-left__body,
.cp-wa-operator--v103 .cp-wa-thread,
.cp-wa-operator--v103 .cp-wa-tool-panels{scrollbar-gutter:stable!important;}
.cp-wa-operator--v103 .cp-wa-templates{max-height:84px!important;overflow-y:auto!important;overflow-x:hidden!important;}
@media (max-width:980px){
  html:has(.cp-wa-operator--v103),body:has(.cp-wa-operator--v103){overflow:auto!important;height:auto!important;}
  .cp-wa-operator--v103{position:relative!important;height:auto!important;min-height:100vh!important;grid-template-columns:1fr!important;overflow:auto!important;}
  .cp-wa-operator--v103 .cp-wa-left,
  .cp-wa-operator--v103 .cp-wa-center,
  .cp-wa-operator--v103 .cp-wa-tools{width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;}
  .cp-wa-operator--v103 .cp-wa-tool-shell{grid-template-columns:165px minmax(0,1fr)!important;height:auto!important;min-height:560px!important;}
  .cp-wa-operator--v103 .cp-wa-tool-tabs{width:165px!important;max-width:165px!important;overflow-y:auto!important;}
  .cp-wa-operator--v103 .cp-wa-tool-panels{min-width:0!important;padding:22px!important;}
}






/* v104 · WhatsApp operador: panel blanco intermedio (10 a 12 cm aprox.), sin amontonar */
html:has(.cp-wa-operator--v104),
body:has(.cp-wa-operator--v104){
  margin:0!important;
  padding:0!important;
  width:100vw!important;
  height:100vh!important;
  max-width:100vw!important;
  overflow:hidden!important;
  background:#fff!important;
}
.cp-wa-operator--v104,
.cp-wa-operator--v104 *{box-sizing:border-box!important;}
.cp-wa-operator--v104{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  max-width:100vw!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  gap:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
@media (min-width:1600px){
  .cp-wa-operator--v104{grid-template-columns:210px minmax(0,1fr) 630px!important;}
}
@media (min-width:1400px) and (max-width:1599px){
  .cp-wa-operator--v104{grid-template-columns:205px minmax(0,1fr) 620px!important;}
}
@media (min-width:1200px) and (max-width:1399px){
  .cp-wa-operator--v104{grid-template-columns:200px minmax(0,1fr) 600px!important;}
}
@media (min-width:981px) and (max-width:1199px){
  .cp-wa-operator--v104{grid-template-columns:190px minmax(0,1fr) 580px!important;}
}
@media (min-width:981px){
  .cp-wa-operator--v104 .cp-wa-left,
  .cp-wa-operator--v104 .cp-wa-center,
  .cp-wa-operator--v104 .cp-wa-tools{
    min-width:0!important;
    max-width:none!important;
    width:auto!important;
    height:100vh!important;
    max-height:100vh!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
  }
  .cp-wa-operator--v104 .cp-wa-left{grid-column:1!important;overflow:hidden!important;}
  .cp-wa-operator--v104 .cp-wa-center{grid-column:2!important;overflow:hidden!important;background:#edf5fa!important;border-right:1px solid #bdd2df!important;}
  .cp-wa-operator--v104 .cp-wa-tools{grid-column:3!important;background:#fff!important;border-left:0!important;overflow:hidden!important;}
  .cp-wa-operator--v104 .cp-wa-tool-shell{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:100vh!important;
    max-height:100vh!important;
    display:grid!important;
    grid-template-columns:165px minmax(400px,1fr)!important;
    background:#fff!important;
    overflow:hidden!important;
  }
  .cp-wa-operator--v104 .cp-wa-tool-tabs{
    width:165px!important;
    min-width:165px!important;
    max-width:165px!important;
    height:100vh!important;
    max-height:100vh!important;
    display:grid!important;
    grid-template-rows:repeat(20,minmax(0,1fr))!important;
    overflow:hidden!important;
    background:#eaf4fa!important;
    border-right:1px solid #d4e4ee!important;
  }
  .cp-wa-operator--v104 .cp-wa-tool-panels{
    width:100%!important;
    min-width:0!important;
    max-width:465px!important;
    height:100vh!important;
    max-height:100vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:26px 32px!important;
    background:#fff!important;
  }
}
.cp-wa-operator--v104 .cp-wa-tool-tab{
  min-height:0!important;
  height:auto!important;
  padding:3px 10px!important;
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  align-items:center!important;
  gap:9px!important;
  border-radius:0!important;
  border:0!important;
  border-bottom:1px solid #d4e4ee!important;
  background:#eaf4fa!important;
  color:#062f45!important;
  text-align:left!important;
  cursor:pointer!important;
}
.cp-wa-operator--v104 .cp-wa-tool-tab span{width:24px!important;min-width:24px!important;text-align:center!important;font-size:.96rem!important;line-height:1!important;}
.cp-wa-operator--v104 .cp-wa-tool-tab b{font-size:.86rem!important;line-height:1.08!important;font-weight:850!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}
.cp-wa-operator--v104 .cp-wa-tool-tab.is-active{background:#dcecf5!important;box-shadow:inset 4px 0 #0d3c52!important;}
.cp-wa-operator--v104 .cp-wa-tool-panel{display:none!important;width:100%!important;max-width:100%!important;}
.cp-wa-operator--v104 .cp-wa-tool-panel.is-active{display:block!important;}
.cp-wa-operator--v104 .cp-wa-tool-panel h3{font-size:1.2rem!important;line-height:1.2!important;margin:0 0 22px!important;white-space:normal!important;max-width:100%!important;}
.cp-wa-operator--v104 .cp-wa-clock-launch{display:block!important;min-height:0!important;padding:8px 0!important;}
.cp-wa-operator--v104 .cp-wa-clock-launch__btn{
  width:380px!important;
  max-width:100%!important;
  min-height:116px!important;
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  grid-template-areas:'ico title' 'ico sub'!important;
  align-items:center!important;
  justify-items:start!important;
  text-align:left!important;
  gap:4px 15px!important;
  padding:18px 22px!important;
  border:1px solid #c7dfea!important;
  border-radius:22px!important;
  background:#fff!important;
  color:#082b3d!important;
}
.cp-wa-operator--v104 .cp-wa-clock-launch__btn span{grid-area:ico;width:46px!important;height:46px!important;border-radius:15px!important;background:#e5f4fb!important;display:grid!important;place-items:center!important;font-size:1.32rem!important;}
.cp-wa-operator--v104 .cp-wa-clock-launch__btn b{grid-area:title;font-size:1.06rem!important;line-height:1.15!important;}
.cp-wa-operator--v104 .cp-wa-clock-launch__btn small{grid-area:sub;font-size:.87rem!important;line-height:1.22!important;color:#607b89!important;}
.cp-wa-operator--v104 .cp-wa-left__body,
.cp-wa-operator--v104 .cp-wa-thread,
.cp-wa-operator--v104 .cp-wa-tool-panels{scrollbar-gutter:stable!important;}
.cp-wa-operator--v104 .cp-wa-templates{max-height:84px!important;overflow-y:auto!important;overflow-x:hidden!important;}
@media (max-width:980px){
  html:has(.cp-wa-operator--v104),body:has(.cp-wa-operator--v104){overflow:auto!important;height:auto!important;}
  .cp-wa-operator--v104{position:relative!important;height:auto!important;min-height:100vh!important;grid-template-columns:1fr!important;overflow:auto!important;}
  .cp-wa-operator--v104 .cp-wa-left,
  .cp-wa-operator--v104 .cp-wa-center,
  .cp-wa-operator--v104 .cp-wa-tools{width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;}
  .cp-wa-operator--v104 .cp-wa-tool-shell{grid-template-columns:165px minmax(0,1fr)!important;height:auto!important;min-height:560px!important;}
  .cp-wa-operator--v104 .cp-wa-tool-tabs{width:165px!important;max-width:165px!important;overflow-y:auto!important;}
  .cp-wa-operator--v104 .cp-wa-tool-panels{min-width:0!important;max-width:none!important;padding:22px!important;}
}



/* FIX 2026-07-09 · Admin v105: WhatsApp mitad izquierda + botones grandes */
body .cp-admin-page--v105{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:14px 20px 22px!important;
  box-sizing:border-box!important;
}
body .cp-admin-hero--v105{
  margin-bottom:14px!important;
}
.cp-admin-main-split{
  display:grid;
  grid-template-columns:minmax(560px,1fr) minmax(500px,1fr);
  gap:16px;
  align-items:stretch;
  min-height:calc(100vh - 158px);
}
.cp-admin-whatsapp-web,
.cp-admin-actions-v105,
.cp-admin-whatsapp-web * ,
.cp-admin-actions-v105 *{
  box-sizing:border-box;
}
.cp-admin-whatsapp-web{
  background:#fff;
  border:1px solid #cfe2ec;
  border-radius:18px;
  overflow:hidden;
  min-width:0;
  min-height:640px;
  box-shadow:0 12px 34px rgba(20,69,89,.06);
  display:grid;
  grid-template-rows:auto 1fr;
}
.cp-admin-wa-top{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 16px;
  background:#0b4558;
  color:#fff;
}
.cp-admin-wa-top strong{
  display:block;
  font-size:1rem;
  line-height:1.1;
}
.cp-admin-wa-top span{
  display:block;
  opacity:.9;
  font-size:.86rem;
  margin-top:3px;
}
.cp-admin-wa-top a{
  color:#fff!important;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.5);
  border-radius:999px;
  padding:8px 14px;
  font-weight:800;
  white-space:nowrap;
}
.cp-admin-wa-body{
  min-height:0;
  display:grid;
  grid-template-columns:270px minmax(0,1fr);
  background:#eaf4f9;
}
.cp-admin-wa-list{
  border-right:1px solid #c9dfe9;
  background:#f8fcfe;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:auto;
}
.cp-admin-wa-search{
  padding:12px;
  border-bottom:1px solid #d7e7ee;
}
.cp-admin-wa-search input{
  width:100%;
  border:1px solid #c9dfe9;
  border-radius:12px;
  padding:11px 12px;
  font:inherit;
  background:#fff;
  color:#103246;
}
.cp-admin-wa-list button{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:2px 10px;
  align-items:center;
  text-align:left;
  width:100%;
  border:0;
  border-bottom:1px solid #d9e8ef;
  background:#fff;
  padding:14px 12px;
  color:#0c3147;
  cursor:pointer;
}
.cp-admin-wa-list button.is-active{
  background:#e9f7f1;
}
.cp-admin-wa-list button span{
  grid-row:1/3;
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#c9f4d4;
  color:#0c8a4b;
  font-weight:900;
  font-size:.78rem;
}
.cp-admin-wa-list button b{
  font-size:.92rem;
  line-height:1.15;
  white-space:normal;
}
.cp-admin-wa-list button small{
  font-size:.78rem;
  color:#5d7684;
  line-height:1.15;
}
.cp-admin-wa-chat{
  min-width:0;
  display:grid;
  grid-template-rows:auto 1fr;
  background:
    linear-gradient(rgba(234,244,249,.88),rgba(234,244,249,.88)),
    radial-gradient(circle at 20% 20%,rgba(255,255,255,.85),transparent 28%),
    radial-gradient(circle at 80% 72%,rgba(255,255,255,.7),transparent 26%);
}
.cp-admin-wa-chat-head{
  height:58px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 16px;
  border-bottom:1px solid #c9dfe9;
  background:#f9fdff;
  color:#123047;
}
.cp-admin-wa-avatar{
  width:40px;
  height:40px;
  border-radius:50%;
  background:#c9f4d4;
  color:#0c8a4b;
  display:grid;
  place-items:center;
  font-weight:900;
  flex:0 0 auto;
}
.cp-admin-wa-chat-head strong{display:block;line-height:1.1;}
.cp-admin-wa-chat-head span{display:block;color:#5d7684;font-size:.82rem;margin-top:2px;}
.cp-admin-wa-qr-card{
  align-self:center;
  justify-self:center;
  width:min(420px,86%);
  min-height:420px;
  border:1px solid #c7dfea;
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 40px rgba(22,73,94,.12);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:28px;
  color:#123047;
}
.cp-admin-wa-qr-img{
  width:220px;
  height:220px;
  object-fit:contain;
  border:1px solid #d8e8ef;
  border-radius:16px;
  padding:10px;
  background:#fff;
}
.cp-admin-wa-qr-placeholder{
  width:220px;
  height:220px;
  display:grid;
  grid-template-columns:repeat(7,1fr);
  grid-template-rows:repeat(7,1fr);
  gap:5px;
  background:#fff;
  border:1px solid #d8e8ef;
  border-radius:16px;
  padding:14px;
}
.cp-admin-wa-qr-placeholder span{
  border-radius:4px;
  background:#dbeaf1;
}
.cp-admin-wa-qr-placeholder span:nth-child(1),
.cp-admin-wa-qr-placeholder span:nth-child(2),
.cp-admin-wa-qr-placeholder span:nth-child(3),
.cp-admin-wa-qr-placeholder span:nth-child(8),
.cp-admin-wa-qr-placeholder span:nth-child(10),
.cp-admin-wa-qr-placeholder span:nth-child(15),
.cp-admin-wa-qr-placeholder span:nth-child(16),
.cp-admin-wa-qr-placeholder span:nth-child(17),
.cp-admin-wa-qr-placeholder span:nth-child(5),
.cp-admin-wa-qr-placeholder span:nth-child(6),
.cp-admin-wa-qr-placeholder span:nth-child(7),
.cp-admin-wa-qr-placeholder span:nth-child(12),
.cp-admin-wa-qr-placeholder span:nth-child(14),
.cp-admin-wa-qr-placeholder span:nth-child(19),
.cp-admin-wa-qr-placeholder span:nth-child(20),
.cp-admin-wa-qr-placeholder span:nth-child(21),
.cp-admin-wa-qr-placeholder span:nth-child(33),
.cp-admin-wa-qr-placeholder span:nth-child(35),
.cp-admin-wa-qr-placeholder span:nth-child(37),
.cp-admin-wa-qr-placeholder span:nth-child(39),
.cp-admin-wa-qr-placeholder span:nth-child(43),
.cp-admin-wa-qr-placeholder span:nth-child(44),
.cp-admin-wa-qr-placeholder span:nth-child(48){
  background:#0b4558;
}
.cp-admin-wa-qr-card h2{
  margin:20px 0 8px;
  font-size:1.28rem;
  color:#0e3248;
}
.cp-admin-wa-qr-card p{
  margin:0;
  max-width:320px;
  color:#597481;
  line-height:1.4;
}
.cp-admin-wa-qr-card code{
  font-size:.82rem;
  background:#eef7fb;
  border:1px solid #d6e8ef;
  border-radius:8px;
  padding:2px 6px;
  color:#0b4558;
}
.cp-admin-actions-v105{
  min-width:0;
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  align-content:start;
  height:100%;
  overflow:auto;
}
.cp-admin-big-module{
  border:1px solid #d4e4ee;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(20,69,89,.05);
}
.cp-admin-big-module summary{
  list-style:none;
  cursor:pointer;
  min-height:92px;
  display:grid;
  grid-template-columns:66px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:16px 18px;
  color:#103246;
}
.cp-admin-big-module summary::-webkit-details-marker{display:none;}
.cp-admin-big-module summary::after{
  content:'Abrir';
  position:absolute;
  right:18px;
  color:#5a8499;
  font-size:.8rem;
  font-weight:900;
}
.cp-admin-big-module[open] summary::after{content:'Cerrar';}
.cp-admin-big-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:#eaf6fc;
  font-size:1.8rem;
}
.cp-admin-big-module summary strong{
  display:block;
  font-size:1.24rem;
  line-height:1.1;
  color:#0f3e55;
  padding-right:62px;
}
.cp-admin-big-module summary small{
  display:block;
  margin-top:6px;
  font-size:.88rem;
  color:#5b7481;
  line-height:1.25;
  padding-right:62px;
}
.cp-admin-big-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:0 18px 18px 98px;
}
.cp-admin-big-links a{
  text-decoration:none;
  border:1px solid #bcd8e6;
  background:#edf8fe;
  color:#06314a;
  border-radius:999px;
  padding:9px 13px;
  font-weight:850;
  font-size:.86rem;
  line-height:1;
}
@media(max-width:1180px){
  .cp-admin-main-split{grid-template-columns:1fr;}
  .cp-admin-whatsapp-web{min-height:620px;}
}
@media(max-width:720px){
  body .cp-admin-page--v105{padding:10px!important;}
  .cp-admin-wa-body{grid-template-columns:1fr;}
  .cp-admin-wa-list{max-height:260px;}
  .cp-admin-big-links{padding-left:18px;}
  .cp-admin-big-module summary{grid-template-columns:52px minmax(0,1fr);}
  .cp-admin-big-icon{width:48px;height:48px;font-size:1.45rem;}
}

/* FIX 2026-07-09 · Admin v106: submenú desplegable + módulos dentro del panel */
.cp-admin-page--v105 .cp-admin-big-module:not([open]) .cp-admin-big-links{
  display:none!important;
}
.cp-admin-page--v105 .cp-admin-big-module:not([open]){
  background:linear-gradient(180deg,#fff,#fbfdfe);
}
.cp-admin-page--v105 .cp-admin-big-module[open]{
  border-color:#b9d9e8;
  box-shadow:0 14px 32px rgba(20,69,89,.08);
}
.cp-admin-page--v105 .cp-admin-big-links a:focus,
.cp-admin-page--v105 .cp-admin-big-links a:hover{
  background:#dff2fb;
  border-color:#94c7df;
}
.cp-admin-inline-panel{
  margin-top:16px;
  border:1px solid #cfe2ec;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 16px 36px rgba(20,69,89,.08);
}
.cp-admin-inline-panel[hidden]{
  display:none!important;
}
.cp-admin-inline-panel header{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 16px;
  background:#0b4558;
  color:#fff;
}
.cp-admin-inline-panel header strong{
  display:block;
  font-size:1rem;
  line-height:1.1;
}
.cp-admin-inline-panel header span{
  display:block;
  opacity:.9;
  font-size:.84rem;
  margin-top:3px;
}
.cp-admin-inline-panel header button{
  border:1px solid rgba(255,255,255,.55);
  background:transparent;
  color:#fff;
  border-radius:999px;
  padding:8px 14px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.cp-admin-inline-panel iframe{
  display:block;
  width:100%;
  height:min(760px,calc(100vh - 140px));
  border:0;
  background:#f5fbfe;
}
@media(max-width:720px){
  .cp-admin-inline-panel iframe{height:680px;}
}

/* v107 · WhatsApp Administración real: estado dinámico + QR generado por bridge */
.cp-admin-wa-top .cp-admin-wa-refresh{
  color:#fff!important;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.5);
  border-radius:999px;
  padding:8px 14px;
  font-weight:800;
  white-space:nowrap;
  background:transparent;
  cursor:pointer;
  font:inherit;
}
.cp-admin-wa-top .cp-admin-wa-refresh:hover{background:rgba(255,255,255,.12);}
.cp-admin-wa-state{
  margin-top:16px;
  border:1px solid #d6e8ef;
  background:#f5fbfe;
  color:#496b7b;
  border-radius:999px;
  padding:7px 12px;
  font-size:.82rem;
  font-weight:900;
  max-width:100%;
}
.cp-admin-wa-state.is-ok{
  border-color:#b7e5c4;
  background:#effbf2;
  color:#247046;
}
.cp-admin-wa-state.is-warn{
  border-color:#f0ddb0;
  background:#fffaf0;
  color:#87620b;
}
.cp-admin-wa-state.is-error{
  border-color:#efc4c4;
  background:#fff3f3;
  color:#8a2424;
}
.cp-admin-wa-qr-img[hidden],
.cp-admin-wa-qr-placeholder[hidden]{display:none!important;}
.cp-admin-wa-qr-card{
  transition:width .18s ease, min-height .18s ease;
}

/* FIX 2026-07-09 · Admin v108: sin texto Abrir/Cerrar, despliegue sólo desde el título */
.cp-admin-page--v105 .cp-admin-big-module summary::after{
  content:none!important;
  display:none!important;
}
.cp-admin-page--v105 .cp-admin-big-module-head{
  min-height:92px;
  display:grid;
  grid-template-columns:66px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:16px 18px;
  color:#103246;
}
.cp-admin-page--v105 .cp-admin-big-title{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  text-align:left;
  font:inherit;
  color:inherit;
  cursor:pointer;
  width:max-content;
  max-width:100%;
}
.cp-admin-page--v105 .cp-admin-big-title strong{
  display:block;
  font-size:1.24rem;
  line-height:1.1;
  color:#0f3e55;
  padding-right:0!important;
}
.cp-admin-page--v105 .cp-admin-big-title small{
  display:block;
  margin-top:6px;
  font-size:.88rem;
  color:#5b7481;
  line-height:1.25;
  padding-right:0!important;
}
.cp-admin-page--v105 .cp-admin-big-title:hover strong,
.cp-admin-page--v105 .cp-admin-big-title:focus-visible strong{
  text-decoration:underline;
  text-underline-offset:3px;
}
.cp-admin-page--v105 .cp-admin-big-title:focus-visible{
  outline:2px solid #9bd1e8;
  outline-offset:6px;
  border-radius:10px;
}
.cp-admin-page--v105 .cp-admin-big-links[hidden]{
  display:none!important;
}
.cp-admin-page--v105 .cp-admin-big-module:not(.is-open){
  background:linear-gradient(180deg,#fff,#fbfdfe);
}
.cp-admin-page--v105 .cp-admin-big-module.is-open{
  border-color:#b9d9e8;
  box-shadow:0 14px 32px rgba(20,69,89,.08);
}
@media(max-width:720px){
  .cp-admin-page--v105 .cp-admin-big-module-head{
    grid-template-columns:52px minmax(0,1fr);
  }
}

/* FIX 2026-07-09 · Admin v109: despliegue nativo por título + panel inline sin abrir página nueva */
.cp-admin-page--v109 .cp-admin-big-module--native{
  overflow:hidden;
}
.cp-admin-page--v109 .cp-admin-big-module--native .cp-admin-big-module-head{
  min-height:92px;
  display:grid;
  grid-template-columns:66px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:16px 18px;
  color:#103246;
}
.cp-admin-page--v109 .cp-admin-big-module--native .cp-admin-big-title{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  text-align:left;
  font:inherit;
  color:inherit;
  cursor:pointer;
  width:max-content;
  max-width:100%;
  display:block;
}
.cp-admin-page--v109 .cp-admin-big-module--native .cp-admin-big-title strong{
  display:block;
  font-size:1.24rem;
  line-height:1.1;
  color:#0f3e55;
  padding-right:0!important;
}
.cp-admin-page--v109 .cp-admin-big-module--native .cp-admin-big-title small{
  display:block;
  margin-top:6px;
  font-size:.88rem;
  color:#5b7481;
  line-height:1.25;
  padding-right:0!important;
}
.cp-admin-page--v109 .cp-admin-big-module--native .cp-admin-big-title:hover strong,
.cp-admin-page--v109 .cp-admin-big-module--native .cp-admin-big-title:focus-visible strong{
  text-decoration:underline;
  text-underline-offset:3px;
}
.cp-admin-page--v109 .cp-admin-big-module--native .cp-admin-big-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:0 18px 18px 98px;
}
.cp-admin-page--v109 .cp-admin-big-module--native .cp-admin-module-check:not(:checked) ~ .cp-admin-big-links{
  display:none!important;
}
.cp-admin-page--v109 .cp-admin-big-module--native .cp-admin-module-check:checked ~ .cp-admin-big-module-head{
  background:linear-gradient(180deg,#fff,#f7fcff);
}
.cp-admin-page--v109 .cp-admin-big-module--native .cp-admin-module-check:checked ~ .cp-admin-big-links{
  border-top:1px solid #edf4f8;
  padding-top:14px;
}
.cp-admin-page--v109 .cp-admin-inline-panel--v109{
  margin-top:16px;
  border:1px solid #cfe2ec;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 16px 36px rgba(20,69,89,.08);
}
.cp-admin-page--v109 .cp-admin-inline-panel--v109 header{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 16px;
  background:#0b4558;
  color:#fff;
}
.cp-admin-page--v109 .cp-admin-inline-panel--v109 header strong{display:block;font-size:1rem;line-height:1.1;}
.cp-admin-page--v109 .cp-admin-inline-panel--v109 header span{display:block;opacity:.9;font-size:.84rem;margin-top:3px;}
.cp-admin-page--v109 .cp-admin-inline-panel--v109 header button{
  border:1px solid rgba(255,255,255,.55);
  background:transparent;
  color:#fff;
  border-radius:999px;
  padding:8px 14px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.cp-admin-page--v109 .cp-admin-inline-panel--v109 iframe{
  display:block;
  width:100%;
  height:min(760px,calc(100vh - 140px));
  border:0;
  background:#f5fbfe;
}
@media(max-width:720px){
  .cp-admin-page--v109 .cp-admin-big-module--native .cp-admin-big-module-head{grid-template-columns:52px minmax(0,1fr);}
  .cp-admin-page--v109 .cp-admin-big-module--native .cp-admin-big-links{padding-left:18px;}
  .cp-admin-page--v109 .cp-admin-inline-panel--v109 iframe{height:680px;}
}

/* FIX 2026-07-09 · Admin v110: WhatsApp chats reales + menú por título */
.cp-admin-page--v110 .cp-admin-big-module-head{
  width:100%;
  border:0;
  background:transparent;
  cursor:pointer;
  min-height:92px;
  display:grid;
  grid-template-columns:66px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:16px 18px;
  color:#103246;
  text-align:left;
  font:inherit;
}
.cp-admin-page--v110 .cp-admin-big-module-head:focus-visible{
  outline:3px solid rgba(77,157,196,.35);
  outline-offset:-4px;
}
.cp-admin-page--v110 .cp-admin-big-title strong{
  display:block;
  font-size:1.24rem;
  line-height:1.1;
  color:#0f3e55;
}
.cp-admin-page--v110 .cp-admin-big-title small{
  display:block;
  margin-top:6px;
  font-size:.88rem;
  color:#5b7481;
  line-height:1.25;
}
.cp-admin-page--v110 .cp-admin-big-module:not(.is-open) .cp-admin-big-links{
  display:none!important;
}
.cp-admin-page--v110 .cp-admin-big-module.is-open{
  border-color:#b9d9e8;
  box-shadow:0 14px 32px rgba(20,69,89,.08);
}
.cp-admin-page--v110 .cp-admin-wa-list-items{
  display:flex;
  flex-direction:column;
  min-height:0;
}
.cp-admin-page--v110 .cp-admin-wa-list-empty{
  padding:14px 16px;
  color:#607d8b;
  font-size:.86rem;
  line-height:1.25;
  border-bottom:1px solid #d9e8ef;
  background:#fbfdfe;
}
.cp-admin-page--v110 .cp-admin-wa-chat-stage{
  min-height:0;
  display:grid;
  place-items:center;
  padding:24px;
}
.cp-admin-page--v110 .cp-admin-wa-messages-panel{
  min-height:0;
  display:grid;
  grid-template-rows:1fr auto;
}
.cp-admin-page--v110 .cp-admin-wa-messages-panel[hidden]{
  display:none!important;
}
.cp-admin-page--v110 .cp-admin-wa-messages{
  min-height:0;
  overflow:auto;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:8px;
  background:
    linear-gradient(rgba(234,244,249,.80),rgba(234,244,249,.80)),
    radial-gradient(circle at 22% 14%,rgba(255,255,255,.8),transparent 28%),
    radial-gradient(circle at 80% 72%,rgba(255,255,255,.66),transparent 26%);
}
.cp-admin-page--v110 .cp-admin-wa-empty{
  margin:auto;
  color:#5d7684;
  background:#fff;
  border:1px solid #d5e7ef;
  border-radius:16px;
  padding:14px 18px;
  text-align:center;
  max-width:320px;
}
.cp-admin-page--v110 .cp-admin-wa-msg-row{
  display:flex;
  width:100%;
}
.cp-admin-page--v110 .cp-admin-wa-msg-row.is-out{
  justify-content:flex-end;
}
.cp-admin-page--v110 .cp-admin-wa-msg-row.is-in{
  justify-content:flex-start;
}
.cp-admin-page--v110 .cp-admin-wa-msg{
  max-width:min(74%,520px);
  border:1px solid #d5e7ef;
  border-radius:15px;
  padding:9px 11px 6px;
  box-shadow:0 5px 14px rgba(20,69,89,.04);
  color:#103246;
  line-height:1.32;
  overflow-wrap:anywhere;
}
.cp-admin-page--v110 .cp-admin-wa-msg-row.is-in .cp-admin-wa-msg{
  background:#fff;
  border-bottom-left-radius:5px;
}
.cp-admin-page--v110 .cp-admin-wa-msg-row.is-out .cp-admin-wa-msg{
  background:#dcf8e8;
  border-color:#bfe8d0;
  border-bottom-right-radius:5px;
}
.cp-admin-page--v110 .cp-admin-wa-msg-body{
  white-space:pre-wrap;
  font-size:.94rem;
}
.cp-admin-page--v110 .cp-admin-wa-msg small{
  display:block;
  text-align:right;
  margin-top:4px;
  color:#6b858f;
  font-size:.72rem;
}
.cp-admin-page--v110 .cp-admin-wa-compose{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
  padding:10px 12px;
  border-top:1px solid #c9dfe9;
  background:#f9fdff;
}
.cp-admin-page--v110 .cp-admin-wa-compose textarea{
  width:100%;
  min-height:42px;
  max-height:110px;
  resize:vertical;
  border:1px solid #c9dfe9;
  border-radius:14px;
  padding:11px 12px;
  font:inherit;
  color:#103246;
  background:#fff;
  box-sizing:border-box;
}
.cp-admin-page--v110 .cp-admin-wa-compose button{
  border:0;
  border-radius:14px;
  background:#0b4558;
  color:#fff;
  min-height:42px;
  padding:0 18px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.cp-admin-page--v110 .cp-admin-wa-compose button:hover{
  filter:brightness(1.08);
}
.cp-admin-page--v110 .cp-admin-wa-chat-head > div:last-child{
  min-width:0;
}
.cp-admin-page--v110 .cp-admin-wa-chat-head strong,
.cp-admin-page--v110 .cp-admin-wa-chat-head span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:720px){
  .cp-admin-page--v110 .cp-admin-big-module-head{grid-template-columns:52px minmax(0,1fr);}
  .cp-admin-page--v110 .cp-admin-wa-messages{min-height:420px;}
  .cp-admin-page--v110 .cp-admin-wa-msg{max-width:86%;}
}


/* FIX 2026-07-09 · Admin v111: despliegue nativo real al tocar el título */
.cp-admin-page--v111 details.cp-admin-big-module{
  display:block;
}
.cp-admin-page--v111 details.cp-admin-big-module > summary.cp-admin-big-module-head{
  list-style:none;
  cursor:pointer;
  user-select:none;
}
.cp-admin-page--v111 details.cp-admin-big-module > summary.cp-admin-big-module-head::-webkit-details-marker{
  display:none;
}
.cp-admin-page--v111 details.cp-admin-big-module > summary.cp-admin-big-module-head::after{
  content:none!important;
  display:none!important;
}
.cp-admin-page--v111 details.cp-admin-big-module:not([open]) .cp-admin-big-links{
  display:none!important;
}
.cp-admin-page--v111 details.cp-admin-big-module[open]{
  border-color:#b9d9e8;
  box-shadow:0 14px 32px rgba(20,69,89,.08);
}
.cp-admin-page--v111 details.cp-admin-big-module[open] .cp-admin-big-links{
  display:flex!important;
  flex-wrap:wrap;
  gap:8px;
  border-top:1px solid #edf4f8;
  padding:14px 18px 18px 98px;
}
.cp-admin-page--v111 details.cp-admin-big-module[open] > summary.cp-admin-big-module-head{
  background:linear-gradient(180deg,#fff,#f7fcff);
}
.cp-admin-page--v111 .cp-admin-big-title strong,
.cp-admin-page--v111 .cp-admin-big-title small{
  padding-right:0!important;
}
.cp-admin-page--v111 .cp-admin-big-module-head:hover .cp-admin-big-title strong,
.cp-admin-page--v111 .cp-admin-big-module-head:focus-visible .cp-admin-big-title strong{
  text-decoration:underline;
  text-underline-offset:3px;
}
@media(max-width:720px){
  .cp-admin-page--v111 details.cp-admin-big-module[open] .cp-admin-big-links{
    padding-left:18px;
  }
}

/* FIX v112 · Información real desde base original CP Core */
.cp-info-standalone{max-width:1180px;margin:0 auto 32px}.cp-info-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin:0 0 16px}.cp-info-toolbar p{margin:8px 0 0;color:#5e7683;font-weight:700}.cp-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.cp-info-card{background:#fff;border:1px solid #d8e9f0;border-radius:22px;padding:18px;box-shadow:0 10px 24px rgba(21,70,93,.05)}.cp-info-card header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.cp-info-card h3{margin:0;color:#0b2f48;font-family:Comfortaa,Alegreya Sans,sans-serif;font-size:1.05rem;line-height:1.25}.cp-info-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cp-info-actions form{margin:0}.cp-info-preview{margin-top:12px;color:#344f5d;line-height:1.45;font-weight:700}.btn--danger{background:#fff4f4!important;border-color:#f1c2c2!important;color:#8b1e1e!important}.cp-info-modal{position:fixed;inset:0;z-index:9999;background:rgba(7,32,46,.38);display:grid;place-items:center;padding:20px}.cp-info-modal[hidden]{display:none!important}.cp-info-modal__box{background:#fff;border:1px solid #cfe2ec;border-radius:24px;box-shadow:0 28px 80px rgba(9,48,70,.25);max-width:760px;width:min(760px,100%);max-height:86vh;overflow:auto;padding:24px;position:relative}.cp-info-modal__box--form{max-width:860px}.cp-info-modal__close{position:absolute;right:16px;top:14px;border:0;background:#e8f6fb;border-radius:999px;width:34px;height:34px;font-size:24px;line-height:1;cursor:pointer;color:#0b2f48}.cp-info-modal__box h3{margin:0 42px 16px 0;color:#0b2f48;font-family:Comfortaa,Alegreya Sans,sans-serif}.cp-info-modal__body{color:#123047;line-height:1.5}.cp-info-modal__body img{max-width:100%;height:auto;border-radius:14px}.cp-info-modal__body a{color:#0d5f84;font-weight:800}.cp-info-modal__box label{display:grid;gap:7px;margin:12px 0;color:#0b2f48;font-weight:800}.cp-info-modal__box input,.cp-info-modal__box textarea{width:100%;box-sizing:border-box;border:1px solid #cfe0e8;border-radius:14px;padding:11px 12px;font:inherit;color:#123047;background:#fff}.cp-info-modal__box textarea{min-height:220px;resize:vertical}.cp-info-modal__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}@media(max-width:700px){.cp-info-toolbar,.cp-info-card header{display:block}.cp-info-actions{justify-content:flex-start;margin-top:12px}.cp-info-grid{grid-template-columns:1fr}}

/* FIX v113 · Configuraciones admin reales */
.cp-info-standalone{max-width:none;margin:0}.cp-info-toolbar{margin:0 0 18px}.cp-info-toolbar p{display:none!important}.cp-info-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.cp-info-card{border-radius:24px;padding:18px 18px 16px;min-height:210px;display:flex;flex-direction:column;box-shadow:0 14px 32px rgba(21,70,93,.06)}.cp-info-card header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.cp-info-card h3{font-size:1rem;line-height:1.25;word-break:normal;overflow-wrap:anywhere}.cp-info-actions{display:grid;grid-template-columns:1fr;gap:8px;min-width:100px}.cp-info-actions .btn,.cp-info-actions button{width:100%;min-height:40px;padding:9px 12px!important}.cp-info-preview{margin-top:12px;font-weight:700;color:#385463;line-height:1.55;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.cp-info-card form{margin:0}.cp-info-modal__body{font-weight:500}.cp-info-modal__body p{margin:0 0 12px}
.cpst-admin-module{max-width:none;margin:0 auto 32px;color:#0b2f48}.cpst-module-intro{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px}.cpst-module-intro p{margin:0;color:#587282;font-weight:700}.cpst-config-card{background:#fff;border:1px solid #d8e9f0;border-radius:24px;padding:22px;box-shadow:0 16px 36px rgba(21,70,93,.06);margin-bottom:16px}.cpst-config-card h3{margin:0 0 14px;color:#0b2f48;font-family:Comfortaa,Alegreya Sans,sans-serif}.cpst-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cpst-form-grid label,.cpst-config-card label{display:grid;gap:7px;color:#0b2f48;font-weight:800}.cpst-form-grid input,.cpst-form-grid textarea,.cpst-form-grid select,.cpst-config-card input,.cpst-config-card textarea,.cpst-config-card select{width:100%;box-sizing:border-box;border:1px solid #cfe0e8;border-radius:14px;padding:11px 12px;font:inherit;color:#123047;background:#fff}.cpst-config-card textarea{resize:vertical;min-height:110px}.cpst-span-2{grid-column:1/-1}.cpst-actions{display:flex;justify-content:flex-end;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.cpst-table-wrap{width:100%;overflow:auto;border:1px solid #dcebf1;border-radius:18px;background:#fff}.cpst-edit-table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}.cpst-edit-table th{background:#eef8fc;color:#0b2f48;text-align:left;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;padding:12px}.cpst-edit-table td{border-top:1px solid #e4f0f5;padding:10px;vertical-align:middle}.cpst-edit-table input{min-width:150px}.cpst-check{text-align:center}.cpst-check input{width:auto;min-width:0;transform:scale(1.15)}.cpst-two{display:grid;grid-template-columns:minmax(280px,.6fr) minmax(0,1fr);gap:16px;align-items:start}.cpst-list{display:grid;gap:10px}.cpst-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;border:1px solid #e1edf3;background:#fbfdfe;border-radius:16px;padding:10px}.cpst-list-row strong{display:block;color:#0b2f48}.cpst-list-row small{display:block;color:#688290;font-weight:700}.cpst-list-row form{margin:0}.cpst-data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.cpst-data-card{background:#fff;border:1px solid #d8e9f0;border-radius:22px;padding:18px;box-shadow:0 12px 28px rgba(21,70,93,.05)}.cpst-data-card h3{margin:0 0 12px;color:#0b2f48;font-family:Comfortaa,Alegreya Sans,sans-serif}.cpst-data-card dl{display:grid;gap:8px;margin:0}.cpst-data-card dl div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px}.cpst-data-card dt{color:#64808e;font-weight:900}.cpst-data-card dd{margin:0;color:#17394d;font-weight:700;overflow-wrap:anywhere}.notice--error{background:#fff4f4!important;border-color:#f1c2c2!important;color:#8b1e1e!important}@media(max-width:900px){.cpst-form-grid,.cpst-two{grid-template-columns:1fr}.cpst-span-2{grid-column:auto}.cp-info-card header{grid-template-columns:1fr}.cp-info-actions{grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.cpst-list-row{grid-template-columns:1fr}.cpst-actions{justify-content:flex-start}}

/* FIX v114 · Configuraciones admin refinadas */
.cp-info-grid{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:18px;
  align-items:stretch;
}
.cp-info-card{
  display:flex;
  flex-direction:column;
  min-height:260px;
  padding:20px 20px 18px !important;
  border-radius:22px;
  overflow:hidden;
}
.cp-info-card header{
  display:block;
  margin:0 0 12px;
  min-height:auto;
}
.cp-info-card header h3{
  margin:0;
  line-height:1.25;
  max-width:100%;
}
.cp-info-preview{
  flex:1;
  margin:0;
  padding:12px 0 14px;
  line-height:1.55;
  overflow:hidden;
}
.cp-info-actions,
.cp-info-actions--bottom{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  margin-top:auto;
  width:100%;
}
.cp-info-actions form{display:inline-flex;margin:0;}
.cp-info-actions .btn,
.cp-info-actions button{
  width:auto !important;
  min-width:92px;
  height:38px;
  padding:0 14px;
  border-radius:10px;
  box-shadow:none;
}
.cp-info-actions .btn--danger,
.cp-info-actions button.btn--danger{
  background:#fff5f5;
  color:#9b1c1c;
  border:1px solid #ffc6c6;
}
.cpst-config-card--clean{
  padding:18px 20px;
}
.cpst-table-wrap{
  overflow:auto;
  border:1px solid #d6eaf3;
  border-radius:18px;
  background:#fff;
}
.cpst-edit-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.cpst-edit-table th{
  font-size:13px;
  text-align:left;
  padding:14px 16px;
  background:#eaf6fb;
  color:#06324a;
}
.cpst-edit-table td{
  padding:10px 12px;
  border-top:1px solid #dcecf3;
  vertical-align:middle;
}
.cpst-edit-table input,
.cpst-edit-table select,
.cpst-edit-table textarea{
  width:100%;
  min-height:42px;
  border:1px solid #bddceb;
  border-radius:12px;
  background:#fff;
  padding:8px 12px;
}
.cpst-edit-table .cpst-check{
  text-align:center;
  width:90px;
}
.cpst-edit-table .cpst-check input{
  width:auto;
  min-height:auto;
  transform:scale(1.05);
}
.cpst-actions--line{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:16px;
}
.cpst-edit-table--prices th:nth-child(1),
.cpst-edit-table--prices td:nth-child(1){min-width:360px;}
.cpst-edit-table--prices th:nth-child(2),
.cpst-edit-table--prices td:nth-child(2),
.cpst-edit-table--prices th:nth-child(3),
.cpst-edit-table--prices td:nth-child(3){min-width:180px;}
.cpst-edit-table--concepts th:nth-child(1),
.cpst-edit-table--concepts td:nth-child(1){min-width:520px;}
.cpst-edit-table--turns th:nth-child(1),
.cpst-edit-table--turns td:nth-child(1),
.cpst-edit-table--turns th:nth-child(2),
.cpst-edit-table--turns td:nth-child(2){min-width:280px;}
.cpst-edit-table--mail th,
.cpst-edit-table--mail td{min-width:170px;}
.cpst-edit-table--mail th:nth-child(4),
.cpst-edit-table--mail td:nth-child(4),
.cpst-edit-table--mail th:nth-child(5),
.cpst-edit-table--mail td:nth-child(5){min-width:220px;}
.cpst-edit-table--mail td:nth-child(4) input + input,
.cpst-edit-table--mail td:nth-child(5) input + input{margin-top:6px;}
.cpst-letterhead-preview{
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:14px;
  border:1px solid #d6eaf3;
  border-radius:16px;
  background:#f8fcfe;
}
.cpst-letterhead-preview img{
  max-width:360px;
  max-height:180px;
  object-fit:contain;
  border-radius:12px;
  background:#fff;
  border:1px solid #e5eef4;
}
.cpst-checkline{
  display:flex;
  gap:10px;
  align-items:center;
  margin:16px 0;
  padding:12px 14px;
  border:1px solid #d6eaf3;
  border-radius:14px;
  background:#fbfdfe;
}
.cpst-checkline input{width:auto;}
.cpst-prof-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(220px,1fr));
  gap:12px 18px;
  margin-top:12px;
}
.cpst-prof-toggle{
  display:flex;
  gap:10px;
  align-items:center;
  padding:12px 14px;
  border:1px solid #dcecf3;
  border-radius:14px;
  background:#fff;
}
.cpst-prof-toggle input{width:auto;}
.cpst-portal-config h2,
.cpst-portal-config h3{margin:0 0 12px;}
.cpst-portal-config h3{margin-top:22px;}
.cpc-patient-welcome .cpc-welcome-text{
  line-height:1.55;
  white-space:normal;
}
@media(max-width:900px){
  .cpst-prof-grid{grid-template-columns:1fr;}
  .cp-info-grid{grid-template-columns:1fr;}
}


/* FIX v115 · ARCA + casillas + acciones en tarjetas */
.cp-info-card{min-height:230px!important;}
.cp-info-card header{display:block!important;margin-bottom:8px!important;}
.cp-info-preview{padding:10px 0 12px!important;}
.cp-info-actions,.cp-info-actions--bottom{display:flex!important;flex-direction:row!important;gap:8px!important;margin-top:auto!important;align-items:center!important;justify-content:flex-start!important;}
.cp-info-actions .btn,.cp-info-actions button{width:auto!important;min-width:78px!important;height:34px!important;border-radius:9px!important;font-size:.9rem!important;padding:0 12px!important;}
.cp-info-actions .btn--danger,.cp-info-actions button.btn--danger{min-width:86px!important;}
.cpst-edit-table--mail select{min-width:185px;}
.cpst-arca-config input,.cpst-arca-config select{min-height:44px;}
.cpst-invoice-model h3{margin-bottom:2px!important;}
.cpst-invoice-preview{display:flex;justify-content:center;padding:18px;background:#f8fbfd;border:1px dashed #bddceb;border-radius:18px;overflow:auto;}
.cpst-inv-print{width:760px;min-height:1040px;background:#fff;color:#000;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.25;border:1px solid #888;padding:0;box-shadow:0 10px 26px rgba(0,0,0,.08);}
.cpst-inv-copy{text-align:center;font-weight:700;font-size:12px;padding:6px 0;border-bottom:1px solid #888;}
.cpst-inv-head{display:grid;grid-template-columns:1fr 86px 1fr;border-bottom:1px solid #888;min-height:150px;}
.cpst-inv-emitter{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-right:1px solid #888;padding:12px;gap:5px;}
.cpst-inv-emitter img{max-width:86px;max-height:58px;object-fit:contain;margin-bottom:6px;}
.cpst-inv-emitter strong{font-size:11px;}
.cpst-inv-emitter span{font-weight:700;font-size:12px;}
.cpst-inv-emitter small{font-size:11px;}
.cpst-inv-logo-placeholder{width:72px;height:52px;border:1px solid #ccc;border-radius:50%;display:grid;place-items:center;color:#777;margin-bottom:6px;}
.cpst-inv-letter{display:grid;place-items:center;border-right:1px solid #888;position:relative;}
.cpst-inv-letter b{font-size:30px;}
.cpst-inv-letter small{position:absolute;bottom:20px;font-size:9px;color:#333;}
.cpst-inv-meta{padding:26px 18px;}
.cpst-inv-meta h2{margin:0 0 8px;font-size:24px;color:#000;font-family:Arial,Helvetica,sans-serif;}
.cpst-inv-meta p{margin:3px 0;font-size:12px;}
.cpst-inv-section-title{text-align:center;font-weight:700;border-bottom:1px solid #888;padding:4px;font-size:11px;}
.cpst-inv-client{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:10px 12px;border-bottom:1px solid #888;min-height:84px;}
.cpst-inv-client div{font-size:11px;line-height:1.65;}
.cpst-inv-lines{width:100%;border-collapse:collapse;min-height:400px;}
.cpst-inv-lines th{border-bottom:1px solid #888;font-size:10px;text-align:left;padding:4px;background:#fff;color:#000;}
.cpst-inv-lines td{font-size:10px;padding:5px 4px;vertical-align:top;border:0;}
.cpst-inv-lines tbody{height:390px;display:table-row-group;}
.cpst-inv-bottom{display:grid;grid-template-columns:1.6fr 1fr;border-top:1px solid #888;min-height:215px;}
.cpst-inv-qr{display:grid;grid-template-columns:130px 1fr;align-items:end;gap:16px;padding:18px 12px;border-right:1px solid #888;}
.cpst-qr-demo{width:115px;height:115px;background:repeating-linear-gradient(45deg,#000 0 5px,#fff 5px 10px),repeating-linear-gradient(135deg,transparent 0 4px,rgba(0,0,0,.45) 4px 8px);background-blend-mode:multiply;border:4px solid #fff;box-shadow:0 0 0 1px #222;}
.cpst-inv-qr p{font-size:10px;margin:0 0 18px;}
.cpst-inv-totals{display:grid;grid-template-rows:44px 44px 58px 1fr;}
.cpst-inv-totals div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #888;padding:0 12px;font-size:11px;}
.cpst-inv-totals strong{font-size:32px;align-self:end;padding:18px 12px 0;}
.cpst-inv-totals small{font-size:9px;font-weight:700;padding:0 12px 18px;}
.cpst-inv-footer{text-align:center;font-size:9px;border-top:1px solid #888;padding:4px;}
@media(max-width:900px){.cpst-inv-print{transform:scale(.78);transform-origin:top center;margin-bottom:-220px}.cpst-inv-client{grid-template-columns:1fr}.cpst-inv-bottom{grid-template-columns:1fr}.cpst-inv-qr{border-right:0;border-bottom:1px solid #888}}


/* FIX v116 · Tipos de turno automáticos + profesionales del portal */
.cpst-edit-table--turns .cpst-auto-lista,
.cpst-edit-table--turns .cpst-auto-eftb{
  background:#f3f8fb!important;
  color:#0a3048!important;
  font-weight:700!important;
  cursor:not-allowed!important;
}
.cpst-prof-grid{
  grid-template-columns:repeat(4,minmax(210px,1fr))!important;
  gap:10px 12px!important;
  align-items:stretch!important;
}
.cpst-prof-toggle{
  min-height:54px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:left!important;
  gap:10px!important;
  padding:10px 14px!important;
  border-radius:13px!important;
}
.cpst-prof-toggle input[type="checkbox"]{
  flex:0 0 auto!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  margin:0!important;
  order:0!important;
  position:static!important;
  appearance:auto!important;
}
.cpst-prof-toggle span{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  text-align:left!important;
  order:1!important;
  line-height:1.25!important;
}
@media(max-width:1450px){.cpst-prof-grid{grid-template-columns:repeat(3,minmax(210px,1fr))!important;}}
@media(max-width:1050px){.cpst-prof-grid{grid-template-columns:repeat(2,minmax(210px,1fr))!important;}}
@media(max-width:700px){.cpst-prof-grid{grid-template-columns:1fr!important;}}

/* FIX v117 · Configuración integral de profesionales */
.cp-admin-prof-config--v117 .cp-admin-prof-card{
  max-width: none;
  overflow: visible;
}
.cp-admin-prof-config--v117 .cp-admin-prof-card > h2{
  margin-bottom: 6px;
}
.cp-admin-prof-create{
  margin: 18px 0;
  border: 1px solid var(--line, #cfe5ee);
  border-radius: 18px;
  background: #f7fcff;
  padding: 0;
  overflow: hidden;
}
.cp-admin-prof-create summary{
  cursor: pointer;
  padding: 14px 18px;
  font-weight: 800;
  color: var(--ink, #002b45);
}
.cp-admin-prof-create-form{
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr)) auto;
  gap: 12px;
  align-items: end;
  padding: 0 18px 18px;
}
.cp-admin-prof-select{
  display: grid;
  grid-template-columns: minmax(280px, 1fr);
  margin: 14px 0;
}
.cp-admin-prof-delete{
  display: flex;
  justify-content: flex-end;
  margin: 6px 0 14px;
}
.cp-prof-section{
  border: 1px solid var(--line, #cfe5ee);
  border-radius: 22px;
  background: #fff;
  padding: 22px;
  margin: 18px 0;
  box-shadow: 0 18px 45px rgba(13,72,96,.07);
}
.cp-prof-section h3{
  margin: 0 0 16px;
  color: var(--brand, #5b8aa0);
  font-size: 1.45rem;
}
.cp-prof-section h4{
  margin: 24px 0 10px;
  font-size: 1.05rem;
  color: var(--ink, #002b45);
}
.cp-admin-form-grid--3{
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 14px 18px;
}
.cp-admin-prof-form--sections input,
.cp-admin-prof-form--sections select,
.cp-admin-prof-form--sections textarea,
.cp-admin-prof-create input,
.cp-admin-prof-create select{
  width: 100%;
  box-sizing: border-box;
}
.cp-prof-repeat{
  display: grid;
  gap: 10px;
}
.cp-prof-repeat-row{
  display: grid;
  grid-template-columns: repeat(3, minmax(160px, 1fr)) auto;
  gap: 12px;
  align-items: end;
  border: 1px solid #d7eaf2;
  border-radius: 16px;
  background: #fbfeff;
  padding: 12px;
}
.cp-prof-repeat-row--wide{
  grid-template-columns: minmax(220px, .6fr) minmax(320px, 1.4fr) auto;
}
.cp-prof-agenda-list{
  display: grid;
  gap: 12px;
}
.cp-prof-agenda-block{
  grid-template-columns: minmax(250px,1.2fr) minmax(170px,.7fr) minmax(120px,.5fr) minmax(150px,.6fr) minmax(120px,.5fr) minmax(145px,.6fr) minmax(145px,.6fr) minmax(120px,.5fr) minmax(120px,.5fr) auto;
  align-items: end;
}
.cp-prof-days{
  display: grid;
  grid-template-columns: repeat(3, minmax(60px, 1fr));
  gap: 6px 10px;
  align-self: center;
}
.cp-prof-days label,
.cp-admin-checks--stack label{
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.2;
}
.cp-prof-days input,
.cp-admin-checks--stack input[type="checkbox"]{
  width: auto !important;
  min-width: 16px;
}
.cp-admin-checks--stack{
  display: grid;
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 12px 18px;
  align-items: start;
}
.cp-prof-suboptions{
  border-left: 4px solid #dff1f7;
  padding: 10px 0 10px 14px;
  display: grid;
  gap: 10px;
}
.cp-admin-actions--sticky{
  position: sticky;
  bottom: 0;
  background: rgba(247,252,255,.94);
  border: 1px solid var(--line, #cfe5ee);
  border-radius: 18px;
  padding: 14px;
  justify-content: flex-end;
  backdrop-filter: blur(6px);
}
.btn--danger{
  background: #fff1f1 !important;
  color: #9b1c1c !important;
  border-color: #f3b9b9 !important;
  box-shadow: none !important;
}
.btn--sm{
  min-height: auto !important;
  padding: 7px 10px !important;
  border-radius: 10px !important;
  font-size: .88rem !important;
}
.cp-users-actions{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.cp-users-actions form{
  margin: 0;
}
.cp-users-table td{
  vertical-align: middle;
}
.cpst-prof-grid,
.cpst-portal-prof-grid{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(220px, 1fr)) !important;
  gap: 10px 12px !important;
}
.cpst-prof-grid label,
.cpst-portal-prof-grid label,
.cpst-prof-card{
  justify-content: flex-start !important;
  text-align: left !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.cpst-prof-grid input[type="checkbox"],
.cpst-portal-prof-grid input[type="checkbox"],
.cpst-prof-card input[type="checkbox"]{
  order: -1;
  width: auto !important;
  margin: 0 !important;
  flex: 0 0 auto;
}
@media (max-width: 1500px){
  .cp-prof-agenda-block{grid-template-columns: repeat(3, minmax(220px, 1fr));}
  .cp-admin-prof-create-form{grid-template-columns: repeat(2, minmax(220px,1fr));}
  .cpst-prof-grid,.cpst-portal-prof-grid{grid-template-columns: repeat(3, minmax(220px,1fr)) !important;}
}
@media (max-width: 900px){
  .cp-admin-form-grid--3,.cp-admin-checks--stack,.cp-prof-repeat-row,.cp-prof-repeat-row--wide,.cp-prof-agenda-block,.cp-admin-prof-create-form{grid-template-columns: 1fr;}
  .cpst-prof-grid,.cpst-portal-prof-grid{grid-template-columns: 1fr !important;}
}


/* v118 · Ajustes admin: voucher, Meta, manuales y profesionales */
.cp-admin-meta-wa .cp-admin-meta-body{height:100%;min-height:470px;background:#eaf6fb;display:flex;align-items:center;justify-content:center;padding:28px;}
.cp-admin-meta-panel{width:min(520px,92%);background:#fff;border:1px solid #cbe2ee;border-radius:22px;box-shadow:0 24px 58px rgba(5,56,72,.12);padding:30px;text-align:left;}
.cp-admin-meta-icon{width:58px;height:58px;border-radius:50%;background:#c8f7d7;color:#0b6a3a;display:flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:14px;}
.cp-admin-meta-panel h2{margin:0 0 10px;color:#063451;font-size:1.55rem;}
.cp-admin-meta-panel p{margin:0 0 16px;color:#456273;line-height:1.45;}
.cp-admin-meta-panel ol{margin:0 0 18px 18px;color:#12384d;line-height:1.55;}
.cpst-voucher-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);gap:22px;align-items:start;}
.cpst-voucher-preview-wrap{background:#fff;border:1px solid #cfe4ef;border-radius:20px;padding:18px;box-shadow:0 18px 40px rgba(7,54,73,.08);}
.cpst-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.cp-voucher-print{background:#fff;border:1px solid #1f2d35;width:100%;max-width:720px;margin:auto;color:#000;font-family:Arial, sans-serif;font-size:12px;padding:0;}
.cp-voucher-print header{display:grid;grid-template-columns:1fr 220px;border-bottom:1px solid #1f2d35;min-height:92px;}
.cp-voucher-brand{padding:16px 18px;display:flex;flex-direction:column;gap:4px;align-items:flex-start;justify-content:center;}
.cp-voucher-brand strong{font-size:16px;text-transform:uppercase;}
.cp-voucher-title{border-left:1px solid #1f2d35;padding:16px;display:flex;flex-direction:column;justify-content:center;gap:6px;}
.cp-voucher-title b{font-size:19px;}
.cp-voucher-line{display:grid;grid-template-columns:70px 1fr 70px 1fr;border-bottom:1px solid #1f2d35;}
.cp-voucher-line span,.cp-voucher-line strong{padding:8px;border-right:1px solid #1f2d35;}
.cp-voucher-line strong:last-child{border-right:0;}
.cp-voucher-box{padding:12px 14px;border-bottom:1px solid #1f2d35;min-height:110px;}
.cp-voucher-box h3{margin:0 0 10px;text-align:center;font-size:13px;text-transform:uppercase;}
.cp-voucher-grid{display:grid;grid-template-columns:110px 1fr 100px 180px;gap:10px 8px;align-items:end;}
.cp-voucher-print footer{display:grid;grid-template-columns:1fr;gap:6px;padding:14px;min-height:80px;}
.cpst-manual-list{display:flex;flex-direction:column;gap:10px;}
.cpst-manual-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #d3e7f0;border-radius:16px;padding:12px 14px;background:#fff;}
.cpst-manual-row strong,.cpst-manual-row small{display:block;}.cpst-manual-row small{color:#617483;margin-top:3px;}
.cp-prof-inline-actions{margin-top:14px;padding-top:14px;border-top:1px dashed #cfe2ed;display:flex;justify-content:flex-start;}
@media(max-width:980px){.cpst-voucher-layout{grid-template-columns:1fr}.cp-voucher-grid{grid-template-columns:100px 1fr}.cp-voucher-print header{grid-template-columns:1fr}.cp-voucher-title{border-left:0;border-top:1px solid #1f2d35}}
@media print{body *{visibility:hidden!important}.cp-voucher-print,.cp-voucher-print *{visibility:visible!important}.cp-voucher-print{position:absolute;left:0;top:0;width:190mm;max-width:190mm;margin:0;border:1px solid #000;box-shadow:none}.cpst-preview-head,.cpst-voucher-form,.cpst-module-intro,.cp-admin-hero,.cp-admin-actions-v105,.cp-admin-whatsapp-web{display:none!important}}


/* v121 · Configuración de voucher con vista previa */
.cpst-voucher-top-card{background:#fff;border:1px solid #d8e8f0;border-radius:18px;padding:22px 28px;margin-bottom:18px;box-shadow:0 12px 28px rgba(7,54,73,.04)}
.cpst-voucher-top-card h2{margin:0 0 8px;color:#06344d;font-size:28px}.cpst-voucher-top-card p{margin:0;color:#405c6a}.cpst-voucher-config-grid{display:grid;grid-template-columns:minmax(420px,1fr) minmax(460px,1fr);gap:18px;align-items:start}.cpst-voucher-left,.cpst-voucher-right{display:grid;gap:18px}.cpst-voucher-formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cpst-voucher-formgrid label,.cpst-voucher-config label{font-weight:700;color:#06344d}.cpst-voucher-formgrid input,.cpst-voucher-formgrid select,.cpst-voucher-formgrid textarea,.cpst-voucher-config textarea,.cpst-voucher-config input,.cpst-voucher-config select{margin-top:8px;border:1px solid #c7dfea;border-radius:12px;padding:12px 14px;background:#fff;width:100%;box-sizing:border-box;color:#06344d;font:inherit}.cpst-voucher-logo-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.cpst-file-pick{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:0 22px;border-radius:14px;background:#c6ddeb;color:#06344d;font-weight:800;cursor:pointer;overflow:hidden}.cpst-file-pick input{position:absolute;inset:0;opacity:0;cursor:pointer}.cpst-checkline{display:flex!important;align-items:center;gap:12px;border:1px solid #eadbd4;background:#fbf8f6;border-radius:12px;padding:13px 16px;margin-top:2px}.cpst-checkline input{width:auto!important;margin:0!important}.cpst-voucher-fieldset{margin-top:12px}.cpst-voucher-fieldset>strong{display:block;margin-bottom:8px;color:#65727c}.cpst-voucher-checkgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.cpst-checktile{display:flex!important;align-items:center;gap:12px;border:1px solid #eadbd4;background:#fbf8f6;border-radius:12px;padding:12px 14px;min-height:44px}.cpst-checktile input{width:auto!important;margin:0!important}.cpst-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.cpst-preview-head h3{margin:0;color:#06344d}.cpst-voucher-preview-box{border:1px dashed #a8d3e8;border-radius:18px;background:#f6fcff;padding:18px;margin-top:14px}.cpst-voucher-preview-paper{--voucher-font:14px;background:#fff;border-radius:14px;color:#132d3b;font-family:Arial,sans-serif;font-size:var(--voucher-font);line-height:1.35;margin:auto;padding:18px;min-height:220px}.cpst-voucher-preview-paper.paper-a4{max-width:760px}.cpst-voucher-preview-paper.paper-a5{max-width:560px}.cpst-voucher-preview-paper.has-border{border:1px solid #d6e5ed}.cpst-voucher-preview-paper.no-border{border:0}.cpst-voucher-print-head{display:grid;grid-template-columns:88px 1fr;gap:16px;align-items:center;border-bottom:1px solid #dbe8ee;padding-bottom:14px;margin-bottom:12px}.cpst-voucher-print-head h2{margin:0 0 6px;font-size:1.25em;color:#06344d}.cpst-voucher-print-head strong,.cpst-voucher-print-head span{display:block}.cpst-voucher-logo-preview{width:76px;height:76px;border:1px solid #dbe8ee;border-radius:14px;background:#f4fbff;display:flex;align-items:center;justify-content:center;overflow:hidden}.cpst-voucher-logo-preview:empty:before{content:'Logo';color:#7a92a0}.cpst-voucher-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.cpst-voucher-emission{padding:8px 0;border-bottom:1px solid #edf3f6;margin-bottom:10px}.cpst-voucher-preview-section{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;padding:10px 0;border-bottom:1px solid #edf3f6}.cpst-voucher-preview-section div[hidden]{display:none}.cpst-voucher-preview-footer{padding-top:12px}.cpst-voucher-preview-footer p{margin:0 0 8px}.cpst-voucher-savebar{display:flex;justify-content:center;margin:28px 0}.cpst-voucher-savebar .btn{min-width:220px;border-radius:999px;background:#c4dbe9;color:#06344d}.cpst-config-card--clean h3{margin-top:0;color:#06344d;font-size:20px}.cpst-span-2{grid-column:1/-1}
@media(max-width:1100px){.cpst-voucher-config-grid{grid-template-columns:1fr}.cpst-voucher-formgrid,.cpst-voucher-checkgrid{grid-template-columns:1fr}}
@media print{body *{visibility:hidden!important}#cpVoucherPrint,#cpVoucherPrint *{visibility:visible!important}#cpVoucherPrint{position:absolute!important;left:10mm!important;top:10mm!important;width:190mm!important;max-width:190mm!important;box-shadow:none!important;border:1px solid #000!important;border-radius:0!important}.cpst-voucher-config>*:not(.cpst-voucher-config-grid),.cpst-voucher-left,.cpst-voucher-right>section:not(:has(#cpVoucherPrint)),.cpst-preview-head,.cp-admin-hero,.cp-admin-actions-v105{display:none!important}}

/* v124 - selección visible de horarios en el portal del paciente */
.cpc-select-day-notice{
  border:1px solid #b9d8e7;
  background:#eef8fc;
  color:#355a6d;
  border-radius:14px;
  padding:13px 16px;
  margin:0 0 14px;
  font-weight:800;
  text-align:center;
}
.cpc-selected-slots{
  scroll-margin-top:18px;
  margin:0 0 18px!important;
  box-shadow:0 10px 26px rgba(21,70,93,.08);
}
.cpc-selected-slots.is-empty{border-color:#e4c8c2;background:#fff8f6;}
.cpc-selected-slots-note{margin:-7px 0 14px;color:#607783;font-weight:700;}
.cpc-pac-calendar .cpag-day.is-selected{
  outline:3px solid #4f849c;
  outline-offset:2px;
  box-shadow:0 9px 24px rgba(25,90,118,.16);
}
.cpc-pac-calendar .cpag-day-action{
  margin-top:8px;
  padding:5px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(72,117,139,.28);
  color:#244f63;
  font-size:11px;
  font-weight:900;
}

/* v125 · Configuración profesional corregida */
.cp-admin-prof-config--v125 .cp-prof-data-grid{
  grid-template-columns:repeat(2,minmax(280px,1fr));
  align-items:start;
}
.cp-admin-prof-config--v125 .cp-prof-data-grid > label{
  min-width:0;
}
.cp-admin-prof-config--v125 .cp-prof-cuit-control{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  margin-top:7px;
}
.cp-admin-prof-config--v125 .cp-prof-cuit-control input{margin-top:0!important;}
.cp-admin-prof-config--v125 .cp-prof-cuit-control .btn{white-space:nowrap;min-height:46px;}
.cp-admin-prof-config--v125 .cp-prof-lookup-status{
  display:block;
  margin-top:7px;
  color:#607783;
  font-size:.86rem;
  font-weight:650;
  line-height:1.35;
}
.cp-admin-prof-config--v125 .cp-prof-lookup-status.is-loading{color:#6f5a00;}
.cp-admin-prof-config--v125 .cp-prof-lookup-status.is-ok{color:#14734a;}
.cp-admin-prof-config--v125 .cp-prof-lookup-status.is-error{color:#a22c2c;}
.cp-admin-prof-config--v125 [data-arca-field][readonly]{
  background:#f3f8fb;
  color:#244b5d;
  cursor:default;
}
.cp-admin-prof-config--v125 .cp-prof-matricula-row{
  grid-template-columns:minmax(170px,.45fr) minmax(230px,1fr) auto;
  max-width:900px;
}
.cp-admin-prof-config--v125 .cp-prof-specialty-row{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-items:stretch!important;
  gap:14px!important;
  padding:18px!important;
}
.cp-admin-prof-config--v125 .cp-prof-specialty-name{max-width:760px;}
.cp-admin-prof-config--v125 .cp-prof-coverages{
  display:grid;
  gap:10px;
  min-width:0;
}
.cp-admin-prof-config--v125 .cp-prof-coverages > strong{color:#06344d;}
.cp-admin-prof-config--v125 .cp-prof-coverage-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(190px,1fr));
  gap:9px 12px;
  padding:12px;
  border:1px solid #d9e9f0;
  border-radius:14px;
  background:#fff;
  max-height:300px;
  overflow:auto;
}
.cp-admin-prof-config--v125 .cp-prof-coverage-grid label{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:40px;
  padding:8px 10px;
  border:1px solid #e4eef3;
  border-radius:11px;
  background:#f8fcfe;
  color:#163d50;
  font-weight:700;
}
.cp-admin-prof-config--v125 .cp-prof-coverage-grid input{
  width:auto!important;
  flex:0 0 auto;
  margin:0!important;
}
.cp-admin-prof-config--v125 .cp-prof-no-coverages{
  border:1px dashed #d4a98b;
  border-radius:12px;
  background:#fff8f2;
  padding:12px 14px;
}
.cp-admin-prof-config--v125 .cp-prof-specialty-row > .btn{
  justify-self:start;
}
.cp-admin-prof-config--v125 .cp-prof-agenda-list{
  display:grid;
  gap:18px;
  max-width:860px;
}
.cp-admin-prof-config--v125 .cp-prof-agenda-block{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
  align-items:stretch!important;
  padding:18px!important;
  border:1px solid #cfe3ed!important;
  border-radius:18px!important;
  background:#fbfeff!important;
}
.cp-admin-prof-config--v125 .cp-prof-agenda-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-bottom:12px;
  border-bottom:1px solid #deebf1;
}
.cp-admin-prof-config--v125 .cp-prof-agenda-head strong{
  color:#06344d;
  font-size:1.05rem;
}
.cp-admin-prof-config--v125 .cp-prof-agenda-block > label{
  display:grid;
  gap:7px;
  max-width:100%;
}
.cp-admin-prof-config--v125 .cp-prof-days{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(150px,1fr))!important;
  gap:9px!important;
  margin:0;
  padding:12px;
  border:1px solid #d9e9f0;
  border-radius:14px;
  background:#fff;
}
.cp-admin-prof-config--v125 .cp-prof-days legend{
  padding:0 8px;
  color:#06344d;
  font-weight:800;
}
.cp-admin-prof-config--v125 .cp-prof-days label{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:40px;
  padding:8px 10px;
  border:1px solid #e3edf2;
  border-radius:11px;
  background:#f8fcfe;
  font-weight:750;
}
.cp-admin-prof-config--v125 .cp-prof-days input{width:auto!important;margin:0!important;}
.cp-admin-prof-config--v125 .cp-prof-agenda-visible{
  margin:0;
  border:1px solid #d8e8ef;
  border-radius:12px;
  background:#f4fafc;
  padding:12px 14px;
}
.cp-admin-prof-config--v125 .cp-prof-toggle-list{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  max-width:900px;
}
.cp-admin-prof-config--v125 .cp-prof-toggle-group{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  border:1px solid #d5e8f0;
  border-radius:16px;
  background:#f7fcfe;
  overflow:hidden;
}
.cp-admin-prof-config--v125 .cp-prof-toggle{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-height:52px;
  margin:0!important;
  padding:13px 16px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#06344d;
  font-weight:800;
}
.cp-admin-prof-config--v125 .cp-prof-toggle input{
  width:auto!important;
  min-width:17px;
  margin:0!important;
  flex:0 0 auto;
}
.cp-admin-prof-config--v125 .cp-prof-dependent{
  display:grid;
  grid-template-columns:1fr;
  gap:13px;
  padding:0 16px 16px 44px;
  border-top:1px solid #e0edf2;
  background:#fff;
}
.cp-admin-prof-config--v125 .cp-prof-dependent[hidden]{display:none!important;}
.cp-admin-prof-config--v125 .cp-prof-dependent > label:first-child{margin-top:14px;}
.cp-admin-prof-config--v125 .cp-prof-toggle--inner{
  min-height:44px;
  padding:10px 12px!important;
  border:1px solid #e1edf2!important;
  border-radius:12px!important;
  background:#f8fcfe!important;
}

@media(max-width:1100px){
  .cp-admin-prof-config--v125 .cp-prof-data-grid{grid-template-columns:1fr;}
  .cp-admin-prof-config--v125 .cp-prof-coverage-grid{grid-template-columns:repeat(2,minmax(180px,1fr));}
}
@media(max-width:700px){
  .cp-admin-prof-config--v125 .cp-prof-cuit-control{grid-template-columns:1fr;}
  .cp-admin-prof-config--v125 .cp-prof-matricula-row{grid-template-columns:1fr!important;}
  .cp-admin-prof-config--v125 .cp-prof-coverage-grid,
  .cp-admin-prof-config--v125 .cp-prof-days{grid-template-columns:1fr!important;}
  .cp-admin-prof-config--v125 .cp-prof-agenda-head{align-items:flex-start;flex-direction:column;}
  .cp-admin-prof-config--v125 .cp-prof-dependent{padding-left:16px;}
}

/* =========================================================
 * V126 — Calendario operativo + modalidad híbrida
 * ========================================================= */
.cpc-slot-form.is-hybrid{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:end;
  padding:9px;
  border:1px solid #ead18a;
  border-radius:14px;
  background:#fff9e8;
}
.cpc-slot-form.is-hybrid > button{min-width:82px;height:42px}
.cpc-slot-modality{display:flex;flex-direction:column;gap:4px;margin:0!important;font-size:12px;font-weight:700;color:#334e5c}
.cpc-slot-modality span{font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.cpc-slot-modality select{width:100%;min-width:128px;height:42px;border:1px solid #d9bd68;border-radius:10px;background:#fff;padding:0 10px;font:inherit;color:#17394a}

.cpwao-hybrid-choice{
  margin:10px 0 14px;
  padding:12px;
  border:1px solid #d8b65c;
  border-radius:14px;
  background:#fff9e5;
  color:#17394a;
}
.cpwao-hybrid-choice[hidden]{display:none!important}
.cpwao-hybrid-choice strong,.cpwao-hybrid-choice span{display:block}
.cpwao-hybrid-choice span{margin-top:3px;font-size:12px;color:#526b78}
.cpwao-hybrid-choice>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.cpwao-hybrid-choice label{display:flex!important;align-items:center;justify-content:center;gap:7px;margin:0!important;padding:9px;border:1px solid #d8c481;border-radius:10px;background:#fff;font-weight:700;cursor:pointer}
.cpwao-hybrid-choice input{width:auto!important;margin:0!important}
.cpwao-slot{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
.cpwao-slot>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cpwao-slot>small{flex:0 0 auto;font-size:10px;font-weight:700;opacity:.78}

.cpwa-calendar-day{position:relative;border:1px solid #d8e6ed;border-radius:16px;background:#fff;overflow:visible}
.cpwa-calendar-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 10px;border-bottom:1px solid #e4edf2}
.cpwa-calendar-head strong{font-size:14px;color:#082d43}
.cpwa-calendar-menu-btn{width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;border:1px solid #d7e3ea!important;border-radius:10px!important;background:#fff!important;color:#17394a!important;font-size:22px!important;line-height:1!important}
.cpwa-calendar-menu{position:absolute;top:48px;right:8px;z-index:80;width:min(270px,calc(100vw - 40px));padding:7px;border:1px solid #d8e2e8;border-radius:14px;background:#fff;box-shadow:0 14px 36px rgba(9,45,64,.18)}
.cpwa-calendar-menu[hidden]{display:none!important}
.cpwa-calendar-menu button{display:block;width:100%;min-height:0!important;padding:10px 11px!important;border:0!important;border-radius:8px!important;background:#fff!important;color:#102e3e!important;text-align:left!important;font-size:12px!important;font-weight:700!important}
.cpwa-calendar-menu button:hover{background:#eef7fb!important}
.cpwa-calendar-menu button.is-danger{color:#b42318!important}
.cpwa-calendar-slots{display:flex;flex-direction:column;gap:7px;padding:10px}
.cpwa-calendar-slot{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid #d9e7ec;border-radius:12px;background:#f8fbfc}
.cpwa-calendar-slot b{font-size:13px;color:#082d43}
.cpwa-calendar-slot span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;color:#244657}
.cpwa-calendar-slot small{font-size:10px;color:#647b86}
.cpwa-calendar-slot.is-free{border-color:#cce7df;background:#effaf7}
.cpwa-calendar-slot.is-free span{color:#008c62}
.cpwa-calendar-slot.is-turn{border-color:#cdddec;background:#f1f7fc}
.cpwa-calendar-slot.is-blocked{border-color:#ead8d2;background:#fbf3f0}

.cpag-calendar-daylist .cpag-daycol-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cpag-calendar-module .cpag-pro-pop{width:270px;max-height:calc(100vh - 30px);overflow:auto;box-shadow:0 18px 45px rgba(15,23,42,.22)}

@media (max-width:640px){
  .cpc-slot-form.is-hybrid{grid-template-columns:1fr}
  .cpc-slot-form.is-hybrid>button{width:100%}
  .cpwa-calendar-slot{grid-template-columns:52px minmax(0,1fr)}
  .cpwa-calendar-slot small{grid-column:2}
}

/* v129 · Calendario completo del operador/empleado */
.cp-wa-tool-panel[data-wa-panel="calendario"]{overflow:visible!important}
.cp-wa-tool-panel[data-wa-panel="calendario"] [data-op-calendar-list]{margin-top:12px;overflow:visible!important}
.cp-wa-tool-panel[data-wa-panel="calendario"] .cp-wa-empty-mini.is-error{border-color:#efb4aa;background:#fff1ef;color:#a52216}
.cpwa-calendar-day{min-width:0}
.cpwa-calendar-head strong{font-size:15px}
.cpwa-calendar-slots{max-height:calc(100vh - 285px);overflow:auto;overscroll-behavior:contain}
.cpwa-calendar-slot{width:100%;min-height:54px!important;margin:0!important;border-width:1px!important;text-align:left!important;font-family:inherit!important;cursor:pointer;box-shadow:none!important}
.cpwa-calendar-slot:hover{filter:brightness(.985);box-shadow:0 3px 10px rgba(8,45,67,.08)!important}
.cpwa-calendar-slot span{display:block;white-space:normal;line-height:1.25}
.cpwa-calendar-slot span strong{display:block;color:#082d43;font-size:13px}
.cpwa-calendar-slot span em{display:block;margin-top:3px;color:#476473;font-size:10px;font-style:normal;font-weight:500}
.cpwa-calendar-slot.is-continuation{cursor:default;opacity:.72;background:#f6f7f8}
.cpwa-calendar-slot.is-received{border-left:4px solid #50b8dd!important}
.cpwa-calendar-slot.is-confirmed{border-left:4px solid #34a853!important}
.cpwa-calendar-slot.is-attended{border-left:4px solid #6f42c1!important}
.cpwa-calendar-slot.is-absent{border-left:4px solid #e87945!important}
.cpwa-slot-menu{width:min(280px,calc(100vw - 24px));max-height:calc(100vh - 18px);overflow:auto;padding:7px;border:1px solid #d6e1e7;border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(8,45,67,.24)}
.cpwa-slot-menu[hidden]{display:none!important}
.cpwa-slot-menu button{display:block;width:100%;min-height:0!important;padding:11px 12px!important;border:0!important;border-radius:8px!important;background:#fff!important;color:#102e3e!important;text-align:left!important;font-size:12px!important;font-weight:700!important;line-height:1.25!important}
.cpwa-slot-menu button:hover{background:#eef7fb!important}
.cpwa-slot-menu button.is-primary{background:#e3f4fb!important;color:#073852!important}
.cpwa-slot-menu button.is-danger{color:#c01818!important}
.cpwa-calendar-modal{position:fixed;inset:0;z-index:200000;display:grid;place-items:center;padding:18px}
.cpwa-calendar-modal[hidden]{display:none!important}
.cpwa-calendar-modal__backdrop{position:absolute;inset:0;background:rgba(3,25,38,.48)}
.cpwa-calendar-modal__card{position:relative;width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.cpwa-calendar-modal__head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid #e1ebef;background:#fff}
.cpwa-calendar-modal__head h3{margin:0;color:#0b405b;font-size:18px}
.cpwa-calendar-modal__head button{width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border:1px solid #d6e2e8!important;border-radius:10px!important;background:#fff!important;color:#163b4e!important;font-size:24px!important}
.cpwa-calendar-modal__body{padding:16px 18px 20px}
.cpwa-calendar-detail{display:grid;gap:0;margin:0}
.cpwa-calendar-detail>div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid #edf2f4}
.cpwa-calendar-detail dt{font-weight:700;color:#173c4f}
.cpwa-calendar-detail dd{margin:0;color:#385664;word-break:break-word}
@media(max-width:640px){
  .cpwa-calendar-slots{max-height:none}
  .cpwa-calendar-slot{grid-template-columns:52px minmax(0,1fr)}
  .cpwa-calendar-slot small{grid-column:2}
  .cpwa-calendar-detail>div{grid-template-columns:1fr;gap:3px}
}
.cpwa-slot-menu button[hidden]{display:none!important}

/* v130 - Buscador único de pacientes en módulos del empleado */
.cp-wa-patient-search--standard{
  margin:0 0 14px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.cp-wa-patient-search--standard .cp-wa-patient-search__title{
  display:block!important;
  margin:0 0 10px!important;
  color:#17384a!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:0!important;
}
.cp-wa-patient-search--standard .cp-wa-patient-search__row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:9px!important;
  align-items:center!important;
}
.cp-wa-patient-search--standard .cp-wa-patient-search__row input{
  width:100%!important;
  min-width:0!important;
  height:46px!important;
  margin:0!important;
  padding:0 14px!important;
  border:1px solid #bfd9e8!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#17384a!important;
  font-size:15px!important;
  font-weight:500!important;
  box-sizing:border-box!important;
  outline:none!important;
}
.cp-wa-patient-search--standard .cp-wa-patient-search__row input:focus{
  border-color:#6fa9c8!important;
  box-shadow:0 0 0 3px rgba(111,169,200,.14)!important;
}
.cp-wa-patient-search--standard .cp-wa-patient-search__row button{
  height:46px!important;
  margin:0!important;
  padding:0 17px!important;
  border:1px solid #a9cfe3!important;
  border-radius:14px!important;
  background:#e8f5fc!important;
  color:#11384f!important;
  font-size:14px!important;
  font-weight:900!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
.cp-wa-patient-search--standard .cp-wa-patient-search__row button:hover{
  background:#dceef8!important;
}
.cp-wa-patient-search--standard .cp-wa-patient-results{
  margin-top:8px!important;
}
.cp-wa-patient-search--facturas + .cp-live-status{
  margin-top:2px!important;
}
.cp-fact-patient-card{
  display:grid!important;
  gap:3px!important;
  margin:10px 0!important;
  padding:11px 12px!important;
  border:1px solid #cfe2ed!important;
  border-radius:13px!important;
  background:#f7fbfd!important;
}
.cp-fact-patient-card strong{color:#17384a!important;}
.cp-fact-patient-card small{color:#607985!important;}
@media(max-width:560px){
  .cp-wa-patient-search--standard .cp-wa-patient-search__row{
    grid-template-columns:1fr!important;
  }
  .cp-wa-patient-search--standard .cp-wa-patient-search__row button{
    width:100%!important;
  }
}

/* v131 - Estado LIBRE completo y legible en la agenda */
.cpwa-calendar-slot.is-free{
  grid-template-columns:58px minmax(58px,1fr) max-content!important;
}
.cpwa-calendar-slot.is-free>span{
  min-width:58px!important;
  width:auto!important;
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}
.cpwa-calendar-slot.is-free>small{
  min-width:max-content!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  text-align:right!important;
}
@media(max-width:640px){
  .cpwa-calendar-slot.is-free{
    grid-template-columns:52px minmax(58px,1fr) max-content!important;
  }
  .cpwa-calendar-slot.is-free>small{
    grid-column:auto!important;
  }
}

/* v133 · Turnos legibles y alta completa en un único modal */
.cpwa-calendar-slot.is-turn{
  grid-template-columns:58px minmax(0,1fr) max-content!important;
  align-items:start!important;
  min-height:74px!important;
  padding:11px 12px!important;
}
.cpwa-calendar-slot.is-turn>span{
  min-width:0!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.25!important;
}
.cpwa-calendar-slot.is-turn>span strong{
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:13px!important;
  line-height:1.25!important;
}
.cpwa-calendar-slot.is-turn>span em{
  display:block!important;
  margin-top:4px!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:11px!important;
  line-height:1.35!important;
}
.cpwa-calendar-slot.is-turn>small{padding-top:2px;white-space:nowrap!important}

.cpwa-book-modal{position:fixed;inset:0;z-index:210000;display:grid;place-items:center;padding:16px}
.cpwa-book-modal__backdrop{position:absolute;inset:0;background:rgba(2,25,38,.55)}
.cpwa-book-modal__card{position:relative;width:min(780px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;border:1px solid #d6e4eb;border-radius:18px;background:#fff;box-shadow:0 26px 80px rgba(0,0,0,.3)}
.cpwa-book-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 19px;border-bottom:1px solid #e2ebef;background:#fff}
.cpwa-book-modal__head h3{margin:0;color:#0a3e58;font-size:20px;line-height:1.2}
.cpwa-book-modal__head p{margin:5px 0 0;color:#5c7480;font-size:12px}
.cpwa-book-modal__head>button{flex:0 0 auto;width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;border:1px solid #d6e2e8!important;border-radius:10px!important;background:#fff!important;color:#15394b!important;font-size:25px!important;line-height:1!important}
.cpwa-book-modal__body{min-height:0;overflow:auto;padding:17px 19px}
.cpwa-book-section{padding:0 0 16px;margin:0 0 16px;border-bottom:1px solid #e7eef2}
.cpwa-book-section:last-of-type{margin-bottom:0}
.cpwa-book-section h4{margin:0 0 11px;color:#123b50;font-size:14px}
.cpwa-book-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}
.cpwa-book-search input,.cpwa-book-grid input,.cpwa-book-grid select{width:100%!important;min-height:44px!important;padding:9px 12px!important;border:1px solid #bdd8e6!important;border-radius:11px!important;background:#fff!important;color:#173948!important;font:inherit!important}
.cpwa-book-search button,.cpwa-book-quick__action button{min-height:44px!important;padding:9px 17px!important;border:1px solid #7bb8d5!important;border-radius:11px!important;background:#eaf6fb!important;color:#083a53!important;font-weight:700!important}
.cpwa-book-results{display:grid;gap:7px;margin-top:9px}
.cpwa-book-results>button{display:grid!important;gap:3px!important;width:100%!important;min-height:0!important;padding:11px 13px!important;border:1px solid #d3e4eb!important;border-radius:11px!important;background:#f8fcfd!important;color:#173948!important;text-align:left!important}
.cpwa-book-results>button strong,.cpwa-book-patient>strong{font-size:13px}
.cpwa-book-results>button span,.cpwa-book-patient>span{display:block;color:#59717d;font-size:11px;font-weight:500}
.cpwa-book-no-results{display:grid;gap:3px;padding:11px 13px;border:1px dashed #d6b071;border-radius:11px;background:#fffaf0;color:#614515;font-size:12px}
.cpwa-book-patient{position:relative;display:grid;gap:3px;margin-top:10px;padding:12px 132px 12px 14px;border:1px solid #9bd7c3;border-radius:12px;background:#f0fbf7;color:#123c34}
.cpwa-book-patient[hidden]{display:none!important}
.cpwa-book-patient>button{position:absolute;top:10px;right:10px;min-height:34px!important;padding:7px 11px!important;border:1px solid #bdd8e6!important;border-radius:9px!important;background:#fff!important;color:#174157!important;font-size:11px!important;font-weight:700!important}
.cpwa-book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cpwa-book-grid>label{display:grid;gap:6px;margin:0!important;color:#274957;font-size:11px;font-weight:700}
.cpwa-book-grid--selects{align-items:end}
.cpwa-book-check{display:flex!important;align-items:center!important;gap:9px!important;align-self:end;min-height:44px;padding:10px 12px;border:1px solid #d5e4eb;border-radius:11px;background:#f8fbfc;cursor:pointer}
.cpwa-book-check input{width:17px!important;height:17px!important;min-height:0!important;margin:0!important;padding:0!important}
.cpwa-book-check span{font-size:12px;font-weight:700;color:#183c4e}
.cpwa-book-quick__action{display:flex;align-items:end}
.cpwa-book-quick__action button{width:100%!important}
.cpwa-book-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cpwa-book-choice label{display:flex;align-items:center;justify-content:center;gap:9px;min-height:47px;padding:10px;border:1px solid #bfd9e5;border-radius:11px;background:#f8fbfc;color:#173b4d;font-size:13px;font-weight:700;cursor:pointer}
.cpwa-book-choice input{width:18px!important;height:18px!important;margin:0!important}
.cpwa-book-deposit{display:grid;gap:6px}
.cpwa-book-deposit[hidden],.cpwa-book-quick[hidden],.cpwa-book-section[hidden]{display:none!important}
.cpwa-book-check--deposit{align-self:stretch;background:#fff9e9;border-color:#e6cf8b}
.cpwa-book-deposit small{color:#6a5b35;font-size:11px}
.cpwa-book-status{min-height:20px;color:#526f7c;font-size:12px;font-weight:600}
.cpwa-book-status.is-error{color:#b42318}
.cpwa-book-status.is-success{color:#087555}
.cpwa-book-status.is-loading{color:#1a617f}
.cpwa-book-modal__foot{display:flex;justify-content:flex-end;gap:9px;padding:13px 19px;border-top:1px solid #e2ebef;background:#fff}
.cpwa-book-modal__foot button{min-height:42px!important;padding:9px 18px!important;border-radius:10px!important;font-weight:700!important}
.cpwa-book-modal__foot .is-secondary{border:1px solid #bfd7e2!important;background:#fff!important;color:#173d50!important}
.cpwa-book-modal__foot .is-primary{border:1px solid #063b55!important;background:#063b55!important;color:#fff!important}
.cpwa-book-modal__foot .is-primary:disabled{opacity:.48;cursor:not-allowed}

@media(max-width:640px){
  .cpwa-calendar-slot.is-turn{grid-template-columns:52px minmax(0,1fr)!important;min-height:82px!important}
  .cpwa-calendar-slot.is-turn>small{grid-column:2!important;justify-self:start!important;padding-top:0!important}
  .cpwa-book-modal{padding:7px}
  .cpwa-book-modal__card{max-height:calc(100vh - 14px);border-radius:14px}
  .cpwa-book-modal__head,.cpwa-book-modal__body,.cpwa-book-modal__foot{padding-left:13px;padding-right:13px}
  .cpwa-book-grid,.cpwa-book-choice{grid-template-columns:1fr}
  .cpwa-book-patient{padding-right:14px;padding-bottom:52px}
  .cpwa-book-patient>button{top:auto;right:10px;bottom:10px}
  .cpwa-book-modal__foot button{flex:1}
}


/* V134 - Recepción funcional */
.cp-reception-panel .cp-wa-selected-patient{margin-bottom:10px}
.cp-reception-turns{margin-top:8px;border-top:1px solid #d8e8f0;border-bottom:1px solid #d8e8f0}
.cp-reception-turns>h4{margin:0;padding:9px 12px;background:#f1f6fb;color:#263f54;font-size:.76rem;letter-spacing:.02em}
.cp-reception-turns>h4 small{font-weight:500;color:#7a8b99}
.cp-reception-turn-list{padding:8px 10px;display:grid;gap:7px}
.cp-reception-appt{width:100%;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;border:1px solid #d5e5ee;border-radius:12px;background:#f7fbfe;padding:9px 10px;color:#0b3248;cursor:pointer}
.cp-reception-appt:hover,.cp-reception-appt.is-selected{background:#d9edf8;border-color:#2d7697}
.cp-reception-appt__dot{width:7px;height:7px;border-radius:50%;background:#3f86a6}
.cp-reception-appt span:nth-child(2){display:grid;gap:2px;min-width:0}
.cp-reception-appt strong{font-size:.83rem}
.cp-reception-appt small{font-size:.75rem;color:#50697a;white-space:normal}
.cp-reception-appt em{font-style:normal;font-size:.67rem;font-weight:800;background:#ddf5e8;color:#187043;border-radius:999px;padding:4px 7px;white-space:nowrap}
.cp-reception-detail{margin-top:10px;border:1px solid #d8e8f0;border-radius:14px;overflow:hidden;background:#fff}
.cp-reception-selected{padding:10px 12px;background:#eef5fa;display:grid;gap:3px}
.cp-reception-selected strong{font-size:.83rem}
.cp-reception-selected small{font-size:.74rem;color:#536b7a}
.cp-reception-block{padding:11px 12px;border-top:1px solid #dce8ee;display:grid;gap:8px}
.cp-reception-block h4{margin:0;font-size:.78rem;letter-spacing:.03em;color:#14384e}
.cp-reception-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.cp-reception-inline input,.cp-reception-inline button,.cp-reception-pay-grid input,.cp-reception-pay-grid select,.cp-reception-move-grid input,.cp-reception-move-grid select{min-height:38px;border:1px solid #c5dcea;border-radius:10px;background:#fff;padding:8px 10px;font:inherit}
.cp-reception-inline button{background:#e7f3f9;color:#0a3850;font-weight:800}
.cp-reception-pay-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.8fr);gap:8px}
.cp-reception-pay-grid [data-op-reception-operation]{grid-column:1/-1}
.cp-reception-move-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cp-reception-move-grid label{display:grid;gap:4px;font-size:.68rem;font-weight:800;color:#667988}
.cp-reception-availability{display:flex;flex-wrap:wrap;gap:7px}
.cp-reception-availability button{min-width:64px;border:1px solid #b9d8e7;border-radius:10px;background:#eef8fc;padding:8px 10px;font-weight:800;color:#0b3b53;cursor:pointer}
.cp-reception-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:11px 12px;border-top:1px solid #dce8ee}
.cp-reception-actions button{min-height:39px;border:1px solid #bfd8e5;border-radius:10px;background:#e9f4f9;color:#0b3850;font-weight:850}
.cp-reception-actions .is-danger{background:#fff0ef;border-color:#edc4c1;color:#a02222}
.cp-reception-panel [data-op-reception-status]{padding:0 12px 11px}
.cp-reception-panel [data-op-reception-status].is-ok{color:#08743d}
.cp-reception-panel [data-op-reception-status].is-error{color:#a42323}
@media(max-width:540px){
  .cp-reception-pay-grid,.cp-reception-move-grid{grid-template-columns:1fr}
  .cp-reception-pay-grid [data-op-reception-operation]{grid-column:auto}
}

/* V135 - Turnos tomados: tres líneas completas y legibles */
.cpwa-calendar-slot.is-turn{
  grid-template-columns:58px minmax(0,1fr)!important;
  align-items:center!important;
  gap:11px!important;
  min-height:82px!important;
  padding:10px 12px!important;
  overflow:visible!important;
}
.cpwa-calendar-slot.is-turn>.cpwa-turn-time{
  align-self:center!important;
  width:58px!important;
  min-width:58px!important;
  text-align:center!important;
  font-size:13px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.cpwa-calendar-slot.is-turn>.cpwa-turn-data{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:2px!important;
  min-width:0!important;
  width:100%!important;
  overflow:visible!important;
  white-space:normal!important;
  line-height:1.18!important;
}
.cpwa-calendar-slot.is-turn>.cpwa-turn-data>strong{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
  width:100%!important;
  color:#082d43!important;
  font-size:13px!important;
  line-height:1.18!important;
}
.cpwa-turn-name{
  display:block!important;
  min-width:0!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  font-weight:900!important;
}
.cpwa-turn-badges{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  flex:0 0 auto!important;
}
.cpwa-turn-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:17px!important;
  height:17px!important;
  margin:0!important;
  border-radius:999px!important;
  font-style:normal!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:900!important;
}
.cpwa-turn-badge.is-auto{background:#dff3fb!important;border:1px solid #72c5e3!important;color:#087ca8!important}
.cpwa-turn-badge.is-paid{background:#def7e9!important;border:1px solid #6dcea0!important;color:#08774a!important}
.cpwa-turn-badge.is-confirmed{background:#e7e2fb!important;border:1px solid #9b87de!important;color:#5639a6!important}
.cpwa-calendar-slot.is-turn>.cpwa-turn-data>em{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  font-style:normal!important;
  font-weight:500!important;
  font-size:11px!important;
  line-height:1.2!important;
  color:#294b5b!important;
}
.cpwa-calendar-slot.is-turn>.cpwa-turn-data>.cpwa-turn-coverage{color:#526b77!important}
@media(max-width:640px){
  .cpwa-calendar-slot.is-turn{grid-template-columns:50px minmax(0,1fr)!important;gap:8px!important;min-height:80px!important;padding:9px 10px!important}
  .cpwa-calendar-slot.is-turn>.cpwa-turn-time{width:50px!important;min-width:50px!important;font-size:12px!important}
  .cpwa-calendar-slot.is-turn>.cpwa-turn-data>strong{font-size:12px!important}
  .cpwa-calendar-slot.is-turn>.cpwa-turn-data>em{font-size:10.5px!important}
}

/* V136 - Tarjetas de turnos de Recepción legibles y a todo el ancho */
.cp-wa-operator .cp-reception-appt,
.cp-wa-operator--v85 .cp-reception-appt,
.cp-wa-operator--v95 .cp-reception-appt,
.cp-wa-operator--v97 .cp-reception-appt,
.cp-wa-operator--v100 .cp-reception-appt,
.cp-wa-operator--v101 .cp-reception-appt,
.cp-wa-operator--v102 .cp-reception-appt,
.cp-wa-operator--v103 .cp-reception-appt,
.cp-wa-operator--v104 .cp-reception-appt {
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content!important;
  align-items:center!important;
  column-gap:14px!important;
  padding:12px 14px!important;
  text-align:left!important;
}
.cp-wa-operator .cp-reception-appt__body,
.cp-wa-operator--v85 .cp-reception-appt__body,
.cp-wa-operator--v95 .cp-reception-appt__body,
.cp-wa-operator--v97 .cp-reception-appt__body,
.cp-wa-operator--v100 .cp-reception-appt__body,
.cp-wa-operator--v101 .cp-reception-appt__body,
.cp-wa-operator--v102 .cp-reception-appt__body,
.cp-wa-operator--v103 .cp-reception-appt__body,
.cp-wa-operator--v104 .cp-reception-appt__body {
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:3px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
.cp-reception-appt__when,
.cp-reception-appt__professional,
.cp-reception-appt__service {
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  text-overflow:clip!important;
  overflow:visible!important;
  line-height:1.25!important;
}
.cp-reception-appt__when {
  font-size:.84rem!important;
  font-weight:850!important;
  color:#092f46!important;
}
.cp-reception-appt__professional {
  font-size:.78rem!important;
  font-weight:750!important;
  color:#244d63!important;
}
.cp-reception-appt__service {
  font-size:.75rem!important;
  color:#506b7a!important;
}
.cp-reception-appt>em {
  align-self:center!important;
  justify-self:end!important;
  margin:0!important;
  flex:none!important;
}


/* v137 · Indicadores A/S/C junto al nombre y copia de turnos libres */
.cpwa-calendar-toolbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:8px!important;
  margin:6px 0 10px!important;
}
.cpwa-calendar-toolbar>button{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.cpwa-copy-free-btn{
  background:#eef7fb!important;
  border-color:#b9d8e7!important;
  color:#0a425e!important;
  font-weight:800!important;
}
.cpwa-copy-free-btn.is-copied{
  background:#def7e9!important;
  border-color:#6dcea0!important;
  color:#08774a!important;
}
.cpwa-calendar-slot.is-turn>.cpwa-turn-data>.cpwa-turn-name-row{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  width:100%!important;
  min-width:0!important;
}
.cpwa-calendar-slot.is-turn .cpwa-turn-name{
  display:block!important;
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  line-height:1.15!important;
}
.cpwa-calendar-slot.is-turn .cpwa-turn-badges{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  align-self:center!important;
  gap:3px!important;
  margin:0!important;
  vertical-align:middle!important;
}
.cpwa-calendar-slot.is-turn .cpwa-turn-badge{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  flex:0 0 17px!important;
  width:17px!important;
  height:17px!important;
  margin:0!important;
  padding:0!important;
}
.cpwa-calendar-slot.is-turn .cpwa-turn-badge.is-auto{background:#dff3fb!important;border:1px solid #45afd5!important;color:#04769f!important}
.cpwa-calendar-slot.is-turn .cpwa-turn-badge.is-paid{background:#def7e9!important;border:1px solid #45bc83!important;color:#08774a!important}
.cpwa-calendar-slot.is-turn .cpwa-turn-badge.is-confirmed{background:#eee9ff!important;border:1px solid #8b72d7!important;color:#5639a6!important}
@media(max-width:420px){
  .cpwa-calendar-toolbar{grid-template-columns:1fr!important}
}

/* v138 · Turnos tomados con ancho completo: hora + tres líneas legibles */
.cpwa-calendar-slot.is-turn{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
  min-height:78px!important;
  padding:10px 13px!important;
  overflow:hidden!important;
}
.cpwa-calendar-slot.is-turn>.cpwa-turn-time{
  display:block!important;
  flex:0 0 55px!important;
  width:55px!important;
  min-width:55px!important;
  max-width:55px!important;
  margin:0!important;
  padding:0!important;
  align-self:center!important;
  text-align:center!important;
  white-space:nowrap!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1!important;
}
.cpwa-calendar-slot.is-turn>.cpwa-turn-data{
  display:flex!important;
  flex:1 1 0!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:2px!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  white-space:normal!important;
  line-height:1.18!important;
}
.cpwa-calendar-slot.is-turn>.cpwa-turn-data>.cpwa-turn-name-row{
  display:flex!important;
  flex:0 0 auto!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  white-space:nowrap!important;
  line-height:1.16!important;
}
.cpwa-calendar-slot.is-turn .cpwa-turn-name{
  display:inline-block!important;
  flex:0 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.16!important;
  color:#082d43!important;
}
.cpwa-calendar-slot.is-turn .cpwa-turn-badges{
  display:inline-flex!important;
  flex:0 0 auto!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  gap:3px!important;
  width:auto!important;
  min-width:max-content!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  white-space:nowrap!important;
}
.cpwa-calendar-slot.is-turn>.cpwa-turn-data>.cpwa-turn-type,
.cpwa-calendar-slot.is-turn>.cpwa-turn-data>.cpwa-turn-coverage{
  display:block!important;
  flex:0 0 auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  font-size:11px!important;
  font-style:normal!important;
  font-weight:500!important;
  line-height:1.22!important;
}
@media(max-width:420px){
  .cpwa-calendar-slot.is-turn{gap:9px!important;padding:9px 10px!important}
  .cpwa-calendar-slot.is-turn>.cpwa-turn-time{flex-basis:48px!important;width:48px!important;min-width:48px!important;max-width:48px!important;font-size:12px!important}
  .cpwa-calendar-slot.is-turn .cpwa-turn-name{font-size:12px!important}
  .cpwa-calendar-slot.is-turn>.cpwa-turn-data>.cpwa-turn-type,
  .cpwa-calendar-slot.is-turn>.cpwa-turn-data>.cpwa-turn-coverage{font-size:10.5px!important}
}

/* V140 · Pedidos cargados desde la base */
.cp-pedido-db-card{
  display:block;
  width:100%;
  margin:0 0 10px;
  padding:12px 13px;
  border:1px solid #cfe1eb;
  border-radius:14px;
  background:#fff;
  color:#082d45;
  box-sizing:border-box;
}
.cp-pedido-db-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.cp-pedido-db-card__head strong{
  min-width:0;
  white-space:pre-line;
  overflow-wrap:anywhere;
  font-size:.92rem;
  line-height:1.28;
}
.cp-pedido-db-card__head span{
  flex:0 0 auto;
  padding:3px 7px;
  border-radius:999px;
  background:#e5f5ec;
  color:#167348;
  font-size:.72rem;
  font-weight:700;
}
.cp-pedido-db-card__meta{
  display:block;
  margin-top:5px;
  color:#617886;
  line-height:1.3;
}
.cp-pedido-db-card__prestaciones{
  display:grid;
  gap:6px;
  margin-top:9px;
}
.cp-pedido-prestacion{
  padding:8px 9px;
  border-radius:10px;
  background:#f3f8fb;
}
.cp-pedido-prestacion b,
.cp-pedido-prestacion small{display:block}
.cp-pedido-prestacion small{margin-top:2px;color:#617886}
.cp-pedido-db-card__auth{margin-top:8px;font-size:.82rem}
.cp-pedido-repeat-btn{margin-top:9px;width:auto!important;padding:7px 12px!important}
.cp-wa-empty-mini--error{color:#b42318!important;background:#fff2f0!important;border-color:#f3c6c1!important}

/* v141: modal de otorgamiento con tipografía interna y controles más livianos */
.cpwa-book-modal,
.cpwa-book-modal *{
  font-family:var(--cp-font-ui,'Alegreya Sans','Segoe UI',Roboto,Arial,sans-serif)!important;
  letter-spacing:.005em!important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.cpwa-book-modal__head h3{
  font-family:var(--cp-font-title,'Alegreya Sans','Segoe UI',Roboto,Arial,sans-serif)!important;
  font-size:1.5rem!important;
  line-height:1.15!important;
  font-weight:400!important;
  color:#5e8da0!important;
}
.cpwa-book-modal__head p{
  font-size:.94rem!important;
  font-weight:400!important;
  color:#5f7886!important;
}
.cpwa-book-section h4{
  font-size:1rem!important;
  font-weight:500!important;
  color:#173b50!important;
}
.cpwa-book-grid>label,
.cpwa-book-grid>label>span{
  font-size:.9rem!important;
  font-weight:500!important;
  color:#274957!important;
}
.cpwa-book-search input,
.cpwa-book-grid input,
.cpwa-book-grid select{
  min-height:44px!important;
  font-size:1rem!important;
  font-weight:400!important;
  line-height:1.25!important;
}
.cpwa-book-search button,
.cpwa-book-quick__action button,
.cpwa-book-modal__foot button,
.cpwa-book-patient>button{
  font-size:.95rem!important;
  font-weight:500!important;
}
.cpwa-book-patient>strong,
.cpwa-book-results>button strong{
  font-size:1rem!important;
  font-weight:500!important;
}
.cpwa-book-patient>span,
.cpwa-book-results>button span{
  font-size:.88rem!important;
  font-weight:400!important;
}
.cpwa-book-choice label,
.cpwa-book-check span{
  font-size:.95rem!important;
  font-weight:500!important;
}
.cpwa-book-status{
  font-size:.92rem!important;
  font-weight:500!important;
}

/* V142 · Identificación uniforme del paciente en todos los módulos */
.cp-wa-patient-results button b,
.cp-wa-selected-patient strong,
.cp-fact-patient-card strong{
  display:block!important;
  line-height:1.25!important;
}
.cp-wa-patient-results button small,
.cp-wa-selected-patient small,
.cp-fact-patient-card small{
  display:block!important;
  margin-top:3px!important;
  line-height:1.35!important;
  white-space:normal!important;
}
.cp-wa-patient-results button small b,
.cp-wa-selected-patient small b,
.cp-fact-patient-card small b{
  display:inline!important;
  color:inherit!important;
  font-size:inherit!important;
}


/* V143 · Guardado de turnos y lectura completa en la agenda */
.cpwa-book-modal__head p{
  font-variant-numeric:tabular-nums!important;
}
.cpwa-book-modal__foot [data-book-save][aria-busy="true"]{
  cursor:wait!important;
  opacity:.78!important;
}
.cpwa-calendar-slot.is-turn{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  align-items:center!important;
  gap:12px!important;
  padding:10px 12px!important;
  min-height:76px!important;
  grid-template-columns:none!important;
}
.cpwa-calendar-slot.is-turn>.cpwa-turn-time{
  flex:0 0 52px!important;
  width:52px!important;
  min-width:52px!important;
  max-width:52px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  text-align:center!important;
}
.cpwa-calendar-slot.is-turn>.cpwa-turn-data{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  overflow:visible!important;
  display:block!important;
}
.cpwa-calendar-slot.is-turn>.cpwa-turn-data>.cpwa-turn-name-row{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  white-space:normal!important;
}
.cpwa-calendar-slot.is-turn .cpwa-turn-name{
  display:inline!important;
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:none!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  line-height:1.15!important;
}
.cpwa-calendar-slot.is-turn>.cpwa-turn-data>.cpwa-turn-type,
.cpwa-calendar-slot.is-turn>.cpwa-turn-data>.cpwa-turn-coverage{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin-top:2px!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  line-height:1.18!important;
}
.cpwa-calendar-slot.is-turn>small{
  display:none!important;
}
@media(max-width:560px){
  .cpwa-calendar-slot.is-turn{gap:9px!important;padding:9px 10px!important;min-height:72px!important}
  .cpwa-calendar-slot.is-turn>.cpwa-turn-time{flex-basis:48px!important;width:48px!important;min-width:48px!important;max-width:48px!important}
}
/* V144 Pedidos: flujo completo */
.cp-pedidos-tabs{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;margin:10px 0 12px!important}
.cp-pedidos-tabs button{min-width:0!important;font-weight:700!important}
.cp-pedido-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}
.cp-pedido-form__wide{grid-column:1/-1!important}
.cp-pedido-form label{display:flex!important;flex-direction:column!important;gap:5px!important}
.cp-pedido-form textarea{min-height:92px!important;resize:vertical!important}
.cp-pedido-payment{grid-column:1/-1!important;border:1px solid #c9dee8!important;border-radius:12px!important;padding:12px!important}
.cp-pedido-payment legend{padding:0 6px!important;font-weight:700!important}
.cp-pedido-payment>div{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.cp-pedido-chat-media{border:1px dashed #b9d4e1!important;border-radius:12px!important;padding:12px!important}
.cp-pedido-chat-media>button{margin:8px 0!important;width:max-content!important;max-width:100%!important}
.cp-chat-media-option{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;padding:6px 0!important}
.cp-pedido-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.cp-pedido-save{background:#073e59!important;color:#fff!important}
.cp-pedido-voucher:disabled{opacity:.5!important}
@media(max-width:640px){.cp-pedido-form{grid-template-columns:1fr!important}.cp-pedido-form__wide,.cp-pedido-payment{grid-column:1!important}.cp-pedido-payment>div,.cp-pedido-actions{grid-template-columns:1fr!important}}


/* V146: Pedidos visibles únicamente después de seleccionar paciente */
.cp-wa-tool-panel[data-wa-panel="pedidos"].has-selected-patient .cp-pedidos-tabs{
  display:grid!important;
}
.cp-wa-tool-panel[data-wa-panel="pedidos"].has-selected-patient .cp-wa-subpanel.is-active{
  display:block!important;
}
.cp-wa-tool-panel[data-wa-panel="pedidos"].has-selected-patient form.cp-wa-subpanel.is-active{
  display:grid!important;
}

/* V147 — pedidos integrados entre portal paciente, admisión y profesional */
.cp-pedidos-global{margin:0 0 14px;padding:12px;border:1px solid #c9e0eb;border-radius:14px;background:#f7fbfd}
.cp-pedidos-global__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;color:#123b52;font-size:.78rem}
.cp-pedidos-global__head button,.cp-pedido-status-row button,.cp-pedido-global-actions button{border:1px solid #b9d7e5;border-radius:10px;background:#eaf6fb;color:#123b52;padding:8px 11px;font:inherit;font-weight:600;cursor:pointer}
.cp-pedido-db-card__patient{display:block;margin:5px 0;color:#173f56;font-weight:600;line-height:1.35}
.cp-pedido-status-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px;align-items:center}
.cp-pedido-status-row select{width:100%;min-width:0;border:1px solid #c7dde8;border-radius:10px;background:#fff;padding:8px 10px;color:#173f56;font:inherit}
.cp-pedido-global-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.cp-pedido-global-actions button:first-child{background:#0a405a;color:#fff;border-color:#0a405a}
.cp-pedido-global-actions button:last-child{background:#fff7df;border-color:#ecd38a;color:#614c08}
.cp-pedido-db-card.is-platform-pedido{border-left:4px solid #67b6d5}
@media(max-width:560px){.cp-pedido-status-row{grid-template-columns:1fr}.cp-pedidos-global__head{align-items:flex-start;flex-direction:column}.cp-pedido-global-actions>*{flex:1 1 100%}}

/* V148 Pedidos: navegación limpia y estados por tipo */
.cp-wa-tool-panel[data-wa-panel="pedidos"] .cp-pedidos-tabs{margin-top:8px!important}
.cp-pedidos-global-inline{margin:0 0 12px;padding:0;border:0;background:transparent}
.cp-pedidos-global-inline__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;color:#173f56;font-size:.76rem}
.cp-pedidos-global-inline__head button{border:1px solid #b9d7e5;border-radius:9px;background:#eef8fc;color:#173f56;padding:7px 10px;font:inherit;cursor:pointer}
.cp-pedido-db-card__prestaciones{display:none!important}
.cp-pedido-status-row{grid-template-columns:minmax(0,1fr) auto auto!important}
.cp-pedido-delete-btn{background:#fff1f1!important;border-color:#edbcbc!important;color:#a51d1d!important}
.cp-pedido-form label:has(select[name="tipo_pedido"]){grid-column:auto!important}
@media(max-width:560px){.cp-pedido-status-row{grid-template-columns:1fr!important}.cp-pedido-status-row button{width:100%!important}}

/* =========================================================
 * V150 — Ajustes puntuales: idioma/acceso, calendario empleado y fichaje
 * ========================================================= */

/* Encabezado público: selector de idioma e ingreso por ícono */
.cp-public-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex:0 0 auto;
}
.cp-language-switch{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.main-nav__side .cp-language-switch__button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:72px!important;
  height:38px!important;
  min-height:38px!important;
  margin:0!important;
  padding:0 13px!important;
  border:1px solid #c9dbe5!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#092f49!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.cp-language-switch__flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  line-height:1;
}
.cp-language-switch__chevron{display:none!important}
.cp-language-switch__menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:5000;
  width:158px;
  padding:6px;
  border:1px solid #d2e1e8;
  border-radius:13px;
  background:#fff;
  box-shadow:0 16px 38px rgba(7,47,70,.17);
}
.cp-language-switch__menu[hidden]{display:none!important}
.cp-language-switch__menu button{
  display:block!important;
  width:100%!important;
  min-height:36px!important;
  margin:0!important;
  padding:8px 10px!important;
  border:0!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#173b50!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-align:left!important;
  cursor:pointer!important;
}
.cp-language-switch__menu button:hover,
.cp-language-switch__menu button.is-active{background:#edf7fb!important}
.main-nav__side a.cp-access-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#092f49!important;
}
.cp-access-icon svg{
  display:block;
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cp-access-icon:hover,
.cp-access-icon.is-active{background:#edf7fb!important}
.cp-google-translate-host{
  position:fixed!important;
  left:-9999px!important;
  top:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.goog-te-banner-frame.skiptranslate,
.VIpgJd-ZVi9od-ORHb-OEVmcd,
.goog-te-gadget-icon{display:none!important}
html.translated-ltr body,
html.translated-rtl body,
body{top:0!important}

/* Calendario del empleado: próximos diez días seleccionables */
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-filters{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(155px,.75fr)!important;
  gap:10px!important;
  align-items:end!important;
  margin:0 0 12px!important;
}
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-filters label{
  display:grid!important;
  gap:5px!important;
  min-width:0!important;
  margin:0!important;
  color:#294b5d!important;
  font-size:12px!important;
  font-weight:800!important;
}
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-filters select,
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-filters input{
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  margin:0!important;
  padding:8px 10px!important;
  border:1px solid #c8dce7!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#173a4e!important;
  font:inherit!important;
}
.cpwa-calendar-upcoming{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(68px,1fr))!important;
  gap:7px!important;
  width:100%!important;
  margin:0 0 10px!important;
}
.cpwa-calendar-upcoming>.cp-wa-empty-mini{grid-column:1/-1}
.cpwa-calendar-day-choice{
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-items:center!important;
  align-content:center!important;
  gap:1px!important;
  width:100%!important;
  min-width:0!important;
  min-height:84px!important;
  margin:0!important;
  padding:8px 5px!important;
  border:1px solid #d2e1e8!important;
  border-radius:12px!important;
  background:#f8fbfd!important;
  color:#173b50!important;
  font-family:inherit!important;
  line-height:1!important;
  box-shadow:none!important;
  cursor:pointer!important;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease!important;
}
.cpwa-calendar-day-choice span,
.cpwa-calendar-day-choice em,
.cpwa-calendar-day-choice small{
  display:block!important;
  margin:0!important;
  padding:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-style:normal!important;
}
.cpwa-calendar-day-choice span{
  color:#5c7380!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.035em!important;
}
.cpwa-calendar-day-choice strong{
  color:#0b344d!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1.05!important;
}
.cpwa-calendar-day-choice em{
  color:#526d7c!important;
  font-size:9px!important;
  font-weight:800!important;
}
.cpwa-calendar-day-choice small{
  width:100%!important;
  margin-top:4px!important;
  color:#637985!important;
  font-size:9px!important;
  font-weight:800!important;
  line-height:1.15!important;
}
.cpwa-calendar-day-choice.has-free{
  border-color:#8fcfbb!important;
  background:#effaf6!important;
}
.cpwa-calendar-day-choice.has-free small{color:#08744e!important}
.cpwa-calendar-day-choice.is-full{
  border-color:#d6dfe4!important;
  background:#f4f6f7!important;
}
.cpwa-calendar-day-choice.is-no-agenda{background:#fafcfd!important}
.cpwa-calendar-day-choice.is-error{
  border-color:#efc2bc!important;
  background:#fff5f3!important;
}
.cpwa-calendar-day-choice.is-error small{color:#a33126!important}
.cpwa-calendar-day-choice.is-active{
  border-color:#0c668f!important;
  background:#e5f4fa!important;
  box-shadow:0 0 0 2px rgba(12,102,143,.16)!important;
}
.cpwa-calendar-day-choice.is-loading{
  cursor:default!important;
  opacity:.72!important;
  animation:cp-calendar-day-pulse 1.1s ease-in-out infinite alternate;
}
@keyframes cp-calendar-day-pulse{from{opacity:.55}to{opacity:.9}}
.cpwa-calendar-head>div{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}
.cpwa-calendar-head>div small{
  display:block!important;
  color:#607985!important;
  font-size:11px!important;
  font-weight:700!important;
}

/* Fichaje: modal compacto y proporcionado */
.cp-clock-modal{
  padding:16px!important;
}
.cp-clock-modal .cp-clock-modal__card{
  width:min(360px,calc(100vw - 28px))!important;
  max-width:360px!important;
  max-height:calc(100vh - 32px)!important;
  overflow:auto!important;
  box-sizing:border-box!important;
  padding:18px!important;
  border:1px solid #cfe0e8!important;
  border-radius:18px!important;
  background:#fff!important;
  text-align:center!important;
}
.cp-clock-modal .cp-clock-modal__head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 10px!important;
  padding:0!important;
}
.cp-clock-modal .cp-clock-modal__head h2{
  margin:0!important;
  color:#0b3148!important;
  font-family:inherit!important;
  font-size:20px!important;
  font-weight:800!important;
  line-height:1.1!important;
}
.cp-clock-modal .cp-clock-modal__head button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#eef6fa!important;
  color:#173b50!important;
  font-size:20px!important;
  font-weight:500!important;
  line-height:1!important;
  cursor:pointer!important;
}
.cp-clock-modal .cp-clock-modal-time{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:2px 0 12px!important;
  overflow:hidden!important;
  color:#2b3b58!important;
  font-family:inherit!important;
  font-size:36px!important;
  font-weight:900!important;
  font-variant-numeric:tabular-nums!important;
  letter-spacing:.01em!important;
  line-height:1.05!important;
  white-space:nowrap!important;
}
.cp-clock-modal .cp-clock-status{
  width:100%!important;
  box-sizing:border-box!important;
  margin:0 0 12px!important;
  padding:10px 12px!important;
  border-radius:11px!important;
  background:#edf7f8!important;
  color:#173b50!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.3!important;
  overflow-wrap:anywhere!important;
}
.cp-clock-modal .cp-clock-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:9px!important;
  width:100%!important;
  margin:0!important;
}
.cp-clock-modal .cp-clock-actions button{
  width:100%!important;
  min-width:0!important;
  min-height:39px!important;
  margin:0!important;
  padding:9px 8px!important;
  border-radius:999px!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
.cp-clock-modal .cp-clock-actions button:disabled{
  cursor:wait!important;
  opacity:.62!important;
}
.cp-clock-modal .cp-clock-recent{
  display:grid!important;
  gap:4px!important;
  max-height:92px!important;
  margin:12px 0 0!important;
  overflow:auto!important;
  color:#536d7a!important;
  font-size:11px!important;
  line-height:1.3!important;
  text-align:left!important;
}
.cp-clock-modal .cp-clock-recent:empty{display:none!important}

@media(max-width:980px){
  .main-nav__side--right .cp-public-tools{
    width:100%;
    justify-content:flex-start;
    margin-top:8px;
    padding-top:10px;
    border-top:1px solid #e2edf2;
  }
}
@media(max-width:620px){
  .cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-filters{grid-template-columns:1fr!important}
  .cpwa-calendar-upcoming{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cpwa-calendar-day-choice{min-height:76px!important}
}
@media(max-width:390px){
  .cp-clock-modal .cp-clock-modal-time{font-size:32px!important}
  .cp-clock-modal .cp-clock-actions{grid-template-columns:1fr!important}
}

/* V151 · ajustes puntuales del portal del empleado */
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="precios"],
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="info"],
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="contacts"],
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="mp"],
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="cierre_facturacion"],
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="stock"],
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="config_agendas"]{max-width:760px!important}
.cp-live-status[data-kind="ok"]{color:#087344!important}
.cp-live-status[data-kind="error"]{color:#a12d26!important}

.cp-admin-price-list,.cp-admin-info-list{max-height:none!important;overflow:visible!important}
.cp-admin-price-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important;gap:8px 14px!important;padding:10px 12px!important;border-radius:12px!important;box-shadow:none!important}
.cp-admin-price-item strong{font-size:.86rem!important;color:#153b50!important}
.cp-admin-price-item span{font-size:.75rem!important;color:#5b7381!important;white-space:nowrap!important}
.cp-admin-info-item{padding:11px 12px!important;border-radius:12px!important;box-shadow:none!important}
.cp-admin-info-item strong{display:block!important;margin-bottom:5px!important;color:#507e93!important;font-size:.92rem!important}
.cp-admin-info-item p{margin:0!important;color:#24485b!important;font-size:.82rem!important;line-height:1.4!important}

.cp-contacts-box{padding:10px!important;border-radius:13px!important}
.cp-contacts-form{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto!important;align-items:end!important;gap:8px!important}
.cp-contacts-form label{margin:0!important}
.cp-contacts-form button{min-height:38px!important;padding:8px 10px!important;white-space:nowrap!important}
.cp-contacts-search{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important}
.cp-contact-row{width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:8px 10px!important;border:1px solid #d2e4ec!important;border-radius:10px!important;background:#fff!important;color:#143b50!important;text-align:left!important;cursor:pointer!important}
.cp-contact-row strong{font-size:.82rem!important}.cp-contact-row span{font-size:.74rem!important;color:#5d7481!important}

.cp-mp-balance{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:10px!important;padding:10px 12px!important;border:1px solid #cfe2eb!important;border-radius:12px!important;background:#f7fbfd!important}
.cp-mp-balance strong{font-size:1.25rem!important}.cp-mp-balance small{font-size:.72rem!important;color:#607783!important}
.cp-mp-list{display:grid!important;gap:7px!important;margin-top:8px!important}
.cp-mp-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important;gap:8px!important;padding:9px 10px!important;border:1px solid #d2e3eb!important;border-radius:11px!important;background:#fff!important}
.cp-mp-item>div{display:grid!important;gap:2px!important}.cp-mp-item strong{font-size:.82rem!important}.cp-mp-item small{font-size:.69rem!important;color:#607884!important;line-height:1.2!important}
.cp-mp-item>b{font-size:.8rem!important;white-space:nowrap!important}.cp-mp-item>b.is-entrada{color:#087344!important}.cp-mp-item>b.is-salida{color:#a12d26!important}
.cp-mp-item button{padding:7px 9px!important;border:1px solid #b9d7e4!important;border-radius:9px!important;background:#eaf6fb!important;color:#0a3a53!important;font-size:.72rem!important;font-weight:800!important;cursor:pointer!important}
.cp-mp-in-caja{font-size:.68rem!important;color:#087344!important;font-weight:800!important}

.cp-study-form{gap:9px!important}.cp-study-consultation{margin:0!important;padding:9px 11px!important;border:1px solid #d4e4ec!important;border-radius:11px!important}
.cp-study-consultation legend{padding:0 5px!important;font-size:.77rem!important;font-weight:800!important;color:#294e60!important}
.cp-study-consultation label{display:inline-flex!important;align-items:center!important;gap:5px!important;margin-right:14px!important;font-size:.78rem!important}
.cp-study-consultation input{width:16px!important;height:16px!important;min-height:0!important;margin:0!important}
.cp-study-professional-fields{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding:9px!important;border:1px solid #d4e4ec!important;border-radius:11px!important;background:#f8fbfd!important}
.cp-study-professional-fields[hidden]{display:none!important}

.cp-stock-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:end!important;gap:8px!important}
.cp-stock-form .cp-live-status{grid-column:1/-1!important}.cp-stock-form button{min-height:40px!important}
.cp-stock-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:2px 8px!important;padding:8px 10px!important;border:1px solid #d2e4ec!important;border-radius:10px!important;background:#fff!important}
.cp-stock-item strong{font-size:.82rem!important}.cp-stock-item span{font-size:.7rem!important;font-weight:900!important;text-transform:uppercase!important}.cp-stock-item span.is-pendiente{color:#a06b00!important}.cp-stock-item small{grid-column:1/-1!important;font-size:.68rem!important;color:#637b87!important}

.cp-billing-close-toolbar{display:flex!important;align-items:end!important;gap:8px!important;margin-bottom:8px!important}.cp-billing-close-toolbar label{flex:1!important}.cp-billing-close-toolbar button{min-height:39px!important}
.cp-billing-day-list{display:grid!important;gap:8px!important;margin:8px 0 10px!important}
.cp-billing-item{padding:10px!important;border:1px solid #d4e4ec!important;border-radius:12px!important;background:#fff!important}
.cp-billing-item.is-missing{border-color:#efb7ae!important;background:#fff8f6!important}
.cp-billing-item header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}.cp-billing-item header strong{font-size:.84rem!important}.cp-billing-item header span{font-size:.66rem!important;font-weight:900!important;color:#087344!important}.cp-billing-item.is-missing header span{color:#a12d26!important}
.cp-billing-item>small{display:block!important;margin:3px 0 8px!important;font-size:.7rem!important;color:#607884!important}
.cp-billing-item__fields{display:grid!important;grid-template-columns:minmax(130px,1fr) minmax(120px,1fr) auto auto!important;align-items:end!important;gap:7px!important}.cp-billing-item.is-missing .cp-billing-item__fields{grid-template-columns:minmax(160px,1.2fr) minmax(120px,1fr) minmax(120px,1fr) auto!important}
.cp-billing-item__fields label{display:grid!important;gap:3px!important;font-size:.7rem!important;font-weight:800!important;color:#3c5b6b!important}.cp-billing-item__fields input,.cp-billing-item__fields select{min-height:36px!important;padding:7px 8px!important;border:1px solid #c8dce7!important;border-radius:9px!important;background:#fff!important;min-width:0!important}.cp-billing-item__fields button{min-height:36px!important;padding:7px 9px!important;border:1px solid #b7d4e2!important;border-radius:9px!important;background:#eaf6fb!important;color:#0b3850!important;font-size:.72rem!important;font-weight:850!important;cursor:pointer!important}

.cp-wa-tool-panel[data-wa-panel="config_agendas"] .cp-wa-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.cp-wa-tool-panel[data-wa-panel="config_agendas"] .cp-tool-note,.cp-wa-tool-panel[data-wa-panel="config_agendas"] .cp-primary-action,.cp-wa-tool-panel[data-wa-panel="config_agendas"] .cp-live-status{grid-column:1/-1!important}.cp-wa-tool-panel[data-wa-panel="config_agendas"] .cp-op-agenda-two{grid-column:1/-1!important}

@media(max-width:760px){
  .cp-admin-price-item{grid-template-columns:1fr!important}.cp-admin-price-item span{white-space:normal!important}
  .cp-contacts-form{grid-template-columns:1fr!important}.cp-contacts-form button{width:100%!important}
  .cp-mp-item{grid-template-columns:1fr auto!important}.cp-mp-item button,.cp-mp-in-caja{grid-column:1/-1!important}
  .cp-study-professional-fields,.cp-billing-item__fields,.cp-billing-item.is-missing .cp-billing-item__fields,.cp-wa-tool-panel[data-wa-panel="config_agendas"] .cp-wa-form{grid-template-columns:1fr!important}
  .cp-billing-item__fields button{width:100%!important}
}

/* V151 · Administración: stock y reportes de cierre */
.cpst-stock-summary{display:inline-flex;align-items:baseline;gap:8px;margin:0 0 12px;padding:9px 13px;border:1px solid #cfe2ea;border-radius:12px;background:#f5fbfd}.cpst-stock-summary strong{font-size:1.25rem;color:#123a61}.cpst-stock-summary span{font-size:.78rem;color:#55717e}.cpst-stock-admin{margin-top:12px!important}.cpst-stock-admin-list{display:grid;gap:8px}.cpst-stock-admin-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid #d7e6ec;border-radius:12px;background:#fff}.cpst-stock-admin-row>div{min-width:0}.cpst-stock-admin-row strong{display:block;font-size:.9rem;color:#123a61}.cpst-stock-admin-row small{display:block;margin-top:3px;font-size:.72rem;color:#647c87}.cpst-stock-admin-row form{margin:0;flex:0 0 auto}.cpst-stock-admin-row .btn{min-height:36px;padding:7px 12px;font-size:.75rem}.cpst-stock-done{font-size:.72rem;font-weight:800;color:#267456;background:#e8f7f0;border-radius:999px;padding:5px 9px}.cpst-billing-report-list{display:grid;gap:10px}.cpst-billing-report{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;border:1px solid #d3e4eb;border-radius:14px;background:#fff}.cpst-billing-report>div:first-child strong{display:block;color:#123a61}.cpst-billing-report>div:first-child small{display:block;margin-top:4px;color:#657c87;font-size:.72rem}.cpst-billing-report-numbers{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cpst-billing-report-numbers span,.cpst-billing-report-numbers em{padding:5px 8px;border-radius:9px;background:#f0f6f8;font-size:.7rem;font-style:normal}.cpst-billing-report-numbers .is-warning{background:#fff4d8;color:#8b5e00}.cpst-billing-report-numbers .is-ok{background:#e8f7f0;color:#267456}.cpst-billing-report-numbers em{font-weight:800;color:#274b64}@media(max-width:700px){.cpst-stock-admin-row,.cpst-billing-report{align-items:flex-start;flex-direction:column}.cpst-billing-report-numbers{justify-content:flex-start}}

/* =========================================================
 * V154 — Horarios legibles, menú obligatorio por turno y edición de duración
 * ========================================================= */
.cpwa-calendar-slot.is-turn{
  position:relative!important;
  display:grid!important;
  grid-template-columns:82px minmax(0,1fr) 32px!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  min-height:74px!important;
  margin:0!important;
  padding:9px 9px 9px 11px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  text-align:left!important;
  cursor:pointer!important;
}
.cpwa-calendar-slot.is-turn:focus-visible{
  outline:3px solid rgba(12,102,143,.22)!important;
  outline-offset:2px!important;
}
.cpwa-calendar-slot.is-turn>.cpwa-turn-time{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  color:#092f49!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.15!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.cpwa-calendar-slot.is-turn>.cpwa-turn-data{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
.cpwa-calendar-slot.is-turn>.cpwa-turn-data>.cpwa-turn-name-row{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  white-space:normal!important;
  overflow:visible!important;
}
.cpwa-calendar-slot.is-turn .cpwa-turn-name{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  color:#082d43!important;
  font-size:12.5px!important;
  font-weight:900!important;
  line-height:1.18!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.cpwa-calendar-slot.is-turn>.cpwa-turn-data>.cpwa-turn-type,
.cpwa-calendar-slot.is-turn>.cpwa-turn-data>.cpwa-turn-coverage{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin-top:3px!important;
  color:#496675!important;
  font-size:10.5px!important;
  font-style:normal!important;
  font-weight:550!important;
  line-height:1.2!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.cpwa-turn-menu-trigger{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:start!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #cbdde6!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#123c52!important;
  box-shadow:none!important;
  font-family:Arial,sans-serif!important;
  font-size:21px!important;
  font-weight:800!important;
  line-height:1!important;
  cursor:pointer!important;
}
.cpwa-turn-menu-trigger:hover,
.cpwa-turn-menu-trigger:focus-visible{
  border-color:#8fbdd1!important;
  background:#eaf6fb!important;
  outline:none!important;
}
.cpwa-slot-menu{
  position:fixed!important;
  z-index:100000!important;
  width:min(280px,calc(100vw - 24px))!important;
  max-height:calc(100vh - 18px)!important;
  box-sizing:border-box!important;
}
.cpwa-calendar-edit-form{
  display:grid!important;
  gap:12px!important;
  margin:0!important;
}
.cpwa-calendar-edit-summary{
  display:grid!important;
  gap:3px!important;
  padding:11px 12px!important;
  border:1px solid #d7e6ed!important;
  border-radius:12px!important;
  background:#f5fafc!important;
}
.cpwa-calendar-edit-summary strong{
  color:#113b52!important;
  font-size:15px!important;
}
.cpwa-calendar-edit-summary span{
  color:#607985!important;
  font-size:12px!important;
  font-weight:700!important;
}
.cpwa-calendar-edit-form>label{
  display:grid!important;
  gap:5px!important;
  margin:0!important;
  color:#294b5d!important;
  font-size:12px!important;
  font-weight:800!important;
}
.cpwa-calendar-edit-form input,
.cpwa-calendar-edit-form select,
.cpwa-calendar-edit-form textarea{
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:9px 10px!important;
  border:1px solid #c8dce7!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#173a4e!important;
  font:inherit!important;
}
.cpwa-calendar-edit-form textarea{
  min-height:76px!important;
  resize:vertical!important;
}
.cpwa-duration-control{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
}
.cpwa-duration-control small{
  color:#607985!important;
  font-size:12px!important;
  font-weight:700!important;
}
.cpwa-calendar-edit-status{
  min-height:18px!important;
  color:#5d7481!important;
  font-size:12px!important;
  line-height:1.3!important;
}
.cpwa-calendar-edit-status[data-kind="ok"]{color:#087344!important}
.cpwa-calendar-edit-status[data-kind="error"]{color:#a33126!important}
.cpwa-calendar-edit-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:9px!important;
  margin-top:2px!important;
}
.cpwa-calendar-edit-actions button{
  min-height:40px!important;
  margin:0!important;
  padding:9px 11px!important;
  border:1px solid #bfd5df!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#153b50!important;
  font:inherit!important;
  font-size:13px!important;
  font-weight:800!important;
  cursor:pointer!important;
}
.cpwa-calendar-edit-actions button.is-primary{
  border-color:#0a405a!important;
  background:#0a405a!important;
  color:#fff!important;
}
.cpwa-calendar-edit-actions button:disabled{opacity:.65!important;cursor:wait!important}
@media(max-width:560px){
  .cpwa-calendar-slot.is-turn{
    grid-template-columns:72px minmax(0,1fr) 30px!important;
    gap:8px!important;
    min-height:72px!important;
    padding:8px!important;
  }
  .cpwa-calendar-slot.is-turn>.cpwa-turn-time{font-size:11px!important}
  .cpwa-turn-menu-trigger{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important}
  .cpwa-calendar-edit-actions{grid-template-columns:1fr!important}
}

/* v163 · Ajustes puntuales Portal Empleado */
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="precios"]{
  max-width:900px!important;
}
.cp-wa-operator--v104 .cp-admin-price-list{
  margin-top:8px!important;
  padding:0!important;
  width:100%!important;
  overflow:visible!important;
}
.cp-wa-operator--v104 .cp-admin-price-table{
  display:grid!important;
  gap:5px!important;
  width:100%!important;
}
.cp-wa-operator--v104 .cp-admin-price-head,
.cp-wa-operator--v104 .cp-admin-price-item{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 78px 118px 88px!important;
  align-items:center!important;
  column-gap:8px!important;
  width:100%!important;
  min-width:0!important;
}
.cp-wa-operator--v104 .cp-admin-price-head{
  padding:0 9px 3px!important;
  color:#587487!important;
}
.cp-wa-operator--v104 .cp-admin-price-head b{
  min-width:0!important;
  font-size:.66rem!important;
  line-height:1.1!important;
  text-transform:uppercase!important;
  white-space:normal!important;
}
.cp-wa-operator--v104 .cp-admin-price-item{
  padding:7px 9px!important;
  min-height:42px!important;
  border:1px solid #cfe3ed!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.cp-wa-operator--v104 .cp-admin-price-item strong{
  min-width:0!important;
  font-size:.76rem!important;
  line-height:1.18!important;
  color:#0b3147!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.cp-wa-operator--v104 .cp-admin-price-item span{
  min-width:0!important;
  font-size:.7rem!important;
  line-height:1.15!important;
  color:#4f6b7a!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.cp-wa-operator--v104 .cp-admin-price-item button{
  width:88px!important;
  min-height:32px!important;
  padding:6px 7px!important;
  border:1px solid #9fcadb!important;
  border-radius:9px!important;
  background:#e8f6fb!important;
  color:#063650!important;
  font-size:.68rem!important;
  font-weight:850!important;
  line-height:1.05!important;
  white-space:nowrap!important;
}
.cp-wa-operator--v104 .cp-admin-price-item button:disabled{
  opacity:.58!important;
  cursor:wait!important;
}

.cp-wa-operator--v104 .cp-google-contacts-panel{
  max-width:560px!important;
}
.cp-wa-operator--v104 .cp-google-contacts-card{
  margin:0 0 12px!important;
  padding:0 10px 10px!important;
  border:1px solid #cfe2ec!important;
  border-radius:0 0 12px 12px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.cp-wa-operator--v104 .cp-google-contacts-card__title{
  margin:0 -10px 9px!important;
  padding:7px 10px!important;
  background:#f2f6fa!important;
  color:#52667a!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  line-height:1.1!important;
}
.cp-wa-operator--v104 .cp-contacts-form{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
}
.cp-wa-operator--v104 .cp-contacts-form label{
  display:grid!important;
  gap:4px!important;
  margin:0!important;
  color:#20374b!important;
  font-size:.7rem!important;
  font-weight:900!important;
  line-height:1.1!important;
}
.cp-wa-operator--v104 .cp-contacts-form input{
  width:100%!important;
  min-height:38px!important;
  padding:8px 10px!important;
  border:1px solid #cbdfea!important;
  border-radius:10px!important;
  background:#fff!important;
  font-size:.82rem!important;
}
.cp-wa-operator--v104 .cp-contacts-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  margin-top:2px!important;
}
.cp-wa-operator--v104 .cp-contacts-actions button{
  width:100%!important;
  min-height:38px!important;
  margin:0!important;
  padding:8px 12px!important;
  border-radius:9px!important;
  font-size:.78rem!important;
  font-weight:850!important;
}
.cp-wa-operator--v104 .cp-contacts-actions [data-op-contact-use-chat]{
  border:1px solid #bad7e4!important;
  background:#edf7fb!important;
  color:#0a3952!important;
}
.cp-wa-operator--v104 .cp-contacts-actions .cp-primary-action{
  border-color:#073b55!important;
  background:#073b55!important;
  color:#fff!important;
}
.cp-wa-operator--v104 .cp-google-contacts-card .cp-live-status{
  margin:7px 0 0!important;
  min-height:0!important;
  font-size:.72rem!important;
}
.cp-wa-operator--v104 .cp-contacts-search{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:7px!important;
  margin:0 0 8px!important;
}
.cp-wa-operator--v104 .cp-contacts-search input,
.cp-wa-operator--v104 .cp-contacts-search button{
  min-height:36px!important;
  margin:0!important;
}
.cp-wa-operator--v104 .cp-contact-row{
  min-height:38px!important;
  padding:7px 9px!important;
}

.cp-wa-operator--v104 .cp-stock-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:8px!important;
  max-width:680px!important;
}
.cp-wa-operator--v104 .cp-stock-form>label{
  margin:0!important;
  min-width:0!important;
}
.cp-wa-operator--v104 .cp-stock-form input{
  min-height:40px!important;
  margin:0!important;
}
.cp-wa-operator--v104 .cp-stock-form>button{
  align-self:end!important;
  min-height:40px!important;
  height:40px!important;
  margin:0!important;
  padding:7px 12px!important;
  white-space:nowrap!important;
}
.cp-wa-operator--v104 .cp-stock-form .cp-live-status{
  grid-column:1/-1!important;
  margin:2px 0 0!important;
}

.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="mp"] .cp-mp-balance{
  display:none!important;
}

@media (max-width:620px){
  .cp-wa-operator--v104 .cp-admin-price-head,
  .cp-wa-operator--v104 .cp-admin-price-item{
    grid-template-columns:minmax(0,1fr) 58px 78px 72px!important;
    column-gap:5px!important;
  }
  .cp-wa-operator--v104 .cp-admin-price-item{padding:6px!important;}
  .cp-wa-operator--v104 .cp-admin-price-item strong{font-size:.69rem!important;}
  .cp-wa-operator--v104 .cp-admin-price-item span{font-size:.62rem!important;}
  .cp-wa-operator--v104 .cp-admin-price-item button{width:72px!important;font-size:.61rem!important;padding:5px 3px!important;}
  .cp-wa-operator--v104 .cp-admin-price-head b{font-size:.58rem!important;}
  .cp-wa-operator--v104 .cp-stock-form{grid-template-columns:minmax(0,1fr) auto!important;}
}


/* V164 · Calendario: leyendas completas, sin elipsis ni columnas angostas */
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot:not(.is-turn){
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) max-content!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
  min-height:54px!important;
  padding:10px 12px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot:not(.is-turn)>b{
  display:block!important;
  width:58px!important;
  min-width:58px!important;
  max-width:58px!important;
  margin:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot:not(.is-turn)>.cpwa-calendar-slot-label,
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot:not(.is-turn)>span{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  color:#244657!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot:not(.is-turn)>small{
  display:block!important;
  grid-column:auto!important;
  min-width:max-content!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  justify-self:end!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot.is-free>.cpwa-calendar-slot-label{
  color:#087555!important;
}
@media(max-width:640px){
  .cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot:not(.is-turn){
    grid-template-columns:52px minmax(0,1fr) max-content!important;
    gap:9px!important;
  }
  .cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot:not(.is-turn)>b{
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
  }
  .cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot:not(.is-turn)>small{
    grid-column:auto!important;
  }
}


/* v172 · Detalle de turno: misma tipografía del portal */
.cpwa-calendar-modal,
.cpwa-calendar-modal *{
  font-family:var(--cp-font-ui,'Alegreya Sans','Segoe UI',Roboto,Arial,sans-serif)!important;
  letter-spacing:.005em!important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.cpwa-calendar-modal__head h3{
  font-family:var(--cp-font-title,'Alegreya Sans','Segoe UI',Roboto,Arial,sans-serif)!important;
  font-weight:600!important;
}
.cpwa-calendar-detail dt{font-weight:700!important}
.cpwa-calendar-detail dd{font-weight:400!important}

/* v174 · Precios en una sola columna de valor y mail apilado */
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="precios"]{max-width:900px!important}
.cp-wa-operator--v104 .cp-admin-price-list{width:100%!important;max-height:none!important;overflow:visible!important;padding:0!important}
.cp-wa-operator--v104 .cp-admin-price-table{display:grid!important;gap:5px!important;width:100%!important;min-width:0!important}
.cp-wa-operator--v104 .cp-admin-price-head,
.cp-wa-operator--v104 .cp-admin-price-item{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(120px,170px) 88px!important;align-items:center!important;gap:8px!important;width:100%!important;min-width:0!important;box-sizing:border-box!important}
.cp-wa-operator--v104 .cp-admin-price-head{padding:0 9px 3px!important;color:#587487!important}
.cp-wa-operator--v104 .cp-admin-price-head b{min-width:0!important;font-size:.66rem!important;line-height:1.15!important;text-transform:uppercase!important;white-space:normal!important}
.cp-wa-operator--v104 .cp-admin-price-item{min-height:42px!important;padding:7px 9px!important;border:1px solid #cfe3ed!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}
.cp-wa-operator--v104 .cp-admin-price-item strong{min-width:0!important;font-size:.76rem!important;line-height:1.18!important;color:#0b3147!important;white-space:normal!important;overflow-wrap:anywhere!important}
.cp-wa-operator--v104 .cp-admin-price-item span{min-width:0!important;font-size:.72rem!important;font-weight:750!important;color:#173445!important;white-space:nowrap!important}
.cp-wa-operator--v104 .cp-admin-price-item button{width:88px!important;min-height:32px!important;padding:6px 7px!important;border:1px solid #9fcadb!important;border-radius:9px!important;background:#e8f6fb!important;color:#063650!important;font-size:.68rem!important;font-weight:850!important;white-space:nowrap!important}

.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="mail"]{width:100%!important;max-width:860px!important;min-width:0!important;overflow-x:hidden!important}
.cp-wa-operator--v104 .cp-mail-toolbar{width:100%!important;max-width:100%!important;box-sizing:border-box!important;display:block!important;margin:10px 0!important;overflow:hidden!important}
.cp-wa-operator--v104 .cp-mail-toolbar [data-op-mail-refresh]{display:none!important}
.cp-wa-operator--v104 .cp-mail-layout{display:flex!important;flex-direction:column!important;gap:10px!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:0!important;max-height:none!important;overflow:visible!important}
.cp-wa-operator--v104 .cp-mail-list,
.cp-wa-operator--v104 .cp-mail-view{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;border:1px solid #c8dfe9!important;border-radius:15px!important;background:#fff!important;overflow:auto!important;padding:8px!important}
.cp-wa-operator--v104 .cp-mail-list{max-height:300px!important;min-height:90px!important}
.cp-wa-operator--v104 .cp-mail-view{min-height:260px!important;max-height:none!important;overflow:visible!important}
.cp-wa-operator--v104 .cp-mail-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:3px 10px!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;margin:0 0 7px!important;padding:10px 11px!important;border:1px solid #d1e4ed!important;border-radius:10px!important;background:#fff!important;color:#173445!important;text-align:left!important;font-family:inherit!important;cursor:pointer!important}
.cp-wa-operator--v104 .cp-mail-row:last-child{margin-bottom:0!important}
.cp-wa-operator--v104 .cp-mail-row.is-unread{border-left:4px solid #5c9db8!important;background:#f5fbfe!important}
.cp-wa-operator--v104 .cp-mail-row strong{grid-column:1/2!important;min-width:0!important;font-size:.82rem!important;overflow-wrap:anywhere!important}
.cp-wa-operator--v104 .cp-mail-row span{grid-column:1/2!important;min-width:0!important;font-size:.72rem!important;color:#526f7f!important;overflow-wrap:anywhere!important}
.cp-wa-operator--v104 .cp-mail-row small{grid-column:2/3!important;grid-row:1/3!important;align-self:center!important;font-size:.68rem!important;color:#617c8a!important;white-space:nowrap!important}
.cp-wa-operator--v104 .cp-mail-message{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
.cp-wa-operator--v104 .cp-mail-message header{padding:8px 9px 12px!important;border-bottom:1px solid #d7e6ed!important}
.cp-wa-operator--v104 .cp-mail-message h4{margin:0 0 6px!important;font-size:1rem!important;color:#173445!important}
.cp-wa-operator--v104 .cp-mail-message p{margin:0 0 4px!important;font-size:.78rem!important;color:#456474!important;overflow-wrap:anywhere!important}
.cp-wa-operator--v104 .cp-mail-message__frame{display:block!important;width:100%!important;max-width:100%!important;height:420px!important;border:0!important;background:#fff!important}

.cp-contact-row{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(92px,132px)!important;align-items:center!important;gap:10px!important;overflow:hidden!important}
.cp-contact-row strong{min-width:0!important;overflow-wrap:anywhere!important}
.cp-contact-row span{min-width:0!important;max-width:100%!important;text-align:right!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}
.cp-stock-item{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow:hidden!important;grid-template-columns:minmax(0,1fr) max-content!important;align-items:start!important}
.cp-stock-item .cp-stock-item__status{position:static!important;justify-self:end!important;max-width:100%!important;white-space:nowrap!important;overflow:visible!important}

@media(max-width:620px){
  .cp-wa-operator--v104 .cp-admin-price-head,
  .cp-wa-operator--v104 .cp-admin-price-item{grid-template-columns:minmax(0,1fr) 105px 76px!important;gap:5px!important}
  .cp-wa-operator--v104 .cp-admin-price-item{padding:6px!important}
  .cp-wa-operator--v104 .cp-admin-price-item strong{font-size:.69rem!important}
  .cp-wa-operator--v104 .cp-admin-price-item span{font-size:.64rem!important}
  .cp-wa-operator--v104 .cp-admin-price-item button{width:76px!important;font-size:.61rem!important;padding:5px 3px!important}
  .cp-wa-operator--v104 .cp-admin-price-head b{font-size:.58rem!important}
  .cp-wa-operator--v104 .cp-mail-row{grid-template-columns:1fr!important}
  .cp-wa-operator--v104 .cp-mail-row small{grid-column:1!important;grid-row:auto!important;justify-self:start!important}
}

/* v177 · Mover turnos dentro del mismo día mediante arrastre */
.cp-wa-tool-panel[data-wa-panel="calendario"].is-calendar-move-mode .cpwa-calendar-slots{
  position:relative;
}
.cpwa-calendar-move-guide{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 10px 8px;
  padding:10px 12px;
  border:1px solid #8fc9df;
  border-radius:12px;
  background:#eaf7fc;
  color:#123e53;
  font-family:inherit;
}
.cpwa-calendar-move-guide>div{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.cpwa-calendar-move-guide strong{
  font:700 13px/1.2 inherit;
  color:#07384f;
}
.cpwa-calendar-move-guide span{
  font:500 12px/1.35 inherit;
  color:#365d6f;
}
.cpwa-calendar-move-guide button{
  flex:0 0 auto;
  min-height:34px!important;
  padding:6px 12px!important;
  border:1px solid #7eb9cf!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#0b4f6a!important;
  font:700 12px/1 inherit!important;
}
.cpwa-calendar-move-guide[data-kind="error"]{
  border-color:#e5a295;
  background:#fff2ef;
}
.cpwa-calendar-move-guide[data-kind="error"] span{color:#9d2f24}
.cpwa-calendar-move-guide[data-kind="busy"]{
  border-color:#6dbb9c;
  background:#edf9f4;
}
.cp-wa-tool-panel[data-wa-panel="calendario"].is-calendar-move-mode .cpwa-calendar-slot{
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,opacity .15s ease,transform .15s ease;
}
.cp-wa-tool-panel[data-wa-panel="calendario"].is-calendar-move-mode .cpwa-calendar-slot.is-turn:not(.is-move-source),
.cp-wa-tool-panel[data-wa-panel="calendario"].is-calendar-move-mode .cpwa-calendar-slot.is-blocked,
.cp-wa-tool-panel[data-wa-panel="calendario"].is-calendar-move-mode .cpwa-calendar-slot.is-continuation,
.cp-wa-tool-panel[data-wa-panel="calendario"].is-calendar-move-mode .cpwa-calendar-slot.is-free:not(.is-move-target){
  opacity:.46;
}
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot.is-move-source{
  cursor:grab!important;
  border:2px solid #087ca8!important;
  background:#e4f5fb!important;
  box-shadow:0 0 0 3px rgba(8,124,168,.12)!important;
}
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot.is-move-source:active,
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot.is-move-source.is-dragging{
  cursor:grabbing!important;
  opacity:.72;
  transform:scale(.985);
}
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot.is-move-target{
  cursor:copy!important;
  border:2px dashed #2aa878!important;
  background:#eafaf3!important;
  box-shadow:inset 0 0 0 1px rgba(42,168,120,.12)!important;
}
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot.is-move-target::after{
  content:"Mover aquí";
  justify-self:end;
  align-self:center;
  padding:4px 7px;
  border-radius:999px;
  background:#c9f2df;
  color:#06744e;
  font:700 10px/1 inherit;
  white-space:nowrap;
}
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot.is-move-target>small{
  display:none!important;
}
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot.is-move-target.is-drag-over{
  border-style:solid!important;
  background:#d5f6e7!important;
  box-shadow:0 0 0 4px rgba(42,168,120,.18)!important;
  transform:translateY(-1px);
}
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot.is-move-target.is-move-busy{
  pointer-events:none;
  opacity:.7;
}
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot.is-move-target.is-move-busy::after{
  content:"Moviendo…";
}
@media (max-width:640px){
  .cpwa-calendar-move-guide{
    align-items:flex-start;
    margin-inline:8px;
  }
  .cpwa-calendar-move-guide button{
    min-width:auto!important;
  }
  .cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot.is-move-target::after{
    font-size:9px;
    padding:4px 6px;
  }
}

/* v178 · Estado de reposición completamente visible dentro de cada tarjeta */
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="stock"] .cp-wa-mini-list{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  padding-right:0!important;
}
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="stock"] .cp-stock-item{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(78px,max-content)!important;
  grid-template-areas:
    "item status"
    "date status"!important;
  align-items:center!important;
  column-gap:12px!important;
  row-gap:3px!important;
  padding:9px 12px!important;
  overflow:visible!important;
}
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="stock"] .cp-stock-item>strong{
  grid-area:item!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="stock"] .cp-stock-item>small{
  grid-area:date!important;
  min-width:0!important;
  margin:0!important;
  overflow-wrap:anywhere!important;
}
.cp-wa-operator--v104 .cp-wa-tool-panel[data-wa-panel="stock"] .cp-stock-item>.cp-stock-item__status{
  grid-area:status!important;
  position:static!important;
  inset:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:end!important;
  align-self:center!important;
  width:auto!important;
  min-width:78px!important;
  max-width:none!important;
  margin:0!important;
  padding:3px 7px!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  transform:none!important;
}

/* v179 · Mover turno: aviso compacto + cambio de fecha */
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-move-guide{
  width:calc(100% - 16px)!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 8px 8px!important;
  padding:7px 9px!important;
}
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-move-guide__copy{
  min-width:0!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:7px!important;
  white-space:normal!important;
}
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-move-guide__copy strong{
  flex:0 0 auto!important;
  font:700 12px/1.2 inherit!important;
}
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-move-guide__copy span{
  min-width:0!important;
  width:auto!important;
  font:500 11px/1.25 inherit!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-move-guide__actions{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  flex:0 0 auto!important;
}
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-move-guide__actions button{
  min-height:29px!important;
  padding:5px 8px!important;
  font-size:10px!important;
  white-space:nowrap!important;
}
.cpwa-move-date-form{
  display:grid;
  gap:10px;
  font-family:inherit;
}
.cpwa-move-date-summary{
  display:grid;
  gap:3px;
  padding:9px 11px;
  border:1px solid #cfe1ed;
  border-radius:10px;
  background:#f4f8fc;
  color:#365066;
}
.cpwa-move-date-summary strong{color:#0b3850;font-size:13px}
.cpwa-move-date-summary span{font-size:11px;line-height:1.3}
.cpwa-move-date-fields{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:8px;
}
.cpwa-move-date-fields label{
  display:grid;
  gap:4px;
  min-width:0;
}
.cpwa-move-date-fields label>span{
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  color:#526779;
}
.cpwa-move-date-fields input,
.cpwa-move-date-fields select{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  min-height:38px;
  padding:7px 9px;
  border:1px solid #bfd8e8;
  border-radius:9px;
  background:#fff;
  color:#18394d;
  font:500 12px/1.2 inherit;
}
.cpwa-move-date-load{
  width:100%;
  min-height:38px;
  border:0;
  border-radius:9px;
  background:#073f59;
  color:#fff;
  font:700 12px/1 inherit;
}
.cpwa-move-date-status{
  min-height:16px;
  font-size:11px;
  color:#496275;
}
.cpwa-move-date-status[data-kind="error"]{color:#a12e22}
.cpwa-move-date-status[data-kind="ok"]{color:#05734d}
.cpwa-move-date-slots{
  display:grid;
  gap:6px;
  max-height:280px;
  overflow:auto;
  padding-right:2px;
}
.cpwa-move-date-slot{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid #bfe0ee;
  border-radius:9px;
  background:#fff;
  color:#173e52;
  text-align:left;
  font-family:inherit;
}
.cpwa-move-date-slot strong{font-size:13px;color:#073f59}
.cpwa-move-date-slot span{font-size:11px;color:#5b6e7d}
.cpwa-move-date-slot b{
  padding:4px 8px;
  border-radius:999px;
  background:#d1f4e3;
  color:#08724e;
  font-size:10px;
}
.cpwa-move-date-slot:hover{background:#f3fbfe;border-color:#78bdd8}
@media(max-width:620px){
  .cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-move-guide{
    grid-template-columns:1fr auto!important;
  }
  .cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-move-guide__copy{
    display:grid!important;
    gap:1px!important;
  }
  .cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-move-guide__copy span{
    font-size:10px!important;
  }
  .cpwa-move-date-fields{grid-template-columns:1fr}
}

/* v180 · Estados visuales de turnos del portal del empleado */
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot.is-turn.is-attended{
  background:#e8f7ed!important;
  border-color:#72c993!important;
  border-left:4px solid #39a964!important;
}
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot.is-turn.is-received{
  background:#e8f6fc!important;
  border-color:#79c8e5!important;
  border-left:4px solid #43acd3!important;
}
.cp-wa-tool-panel[data-wa-panel="calendario"] .cpwa-calendar-slot.is-turn.is-absent{
  background:#fcebf2!important;
  border-color:#e6a0bc!important;
  border-left:4px solid #d86f99!important;
}
.cpwa-slot-menu button.is-unmark-attended{
  color:#1d6940!important;
  background:#edf9f1!important;
}

/* =========================================================
   Portal del Profesional v1
   ========================================================= */
.cpprof-dashboard{min-height:100vh;background:linear-gradient(180deg,#f6f1ed 0,#fff 340px);padding:28px clamp(18px,4vw,54px) 90px;font-family:'Alegreya Sans',Arial,sans-serif;color:var(--texto)}
.cpprof-header{max-width:1480px;margin:0 auto 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 26px;background:#fff;border:1px solid var(--linea);border-radius:24px;box-shadow:0 10px 28px rgba(35,63,82,.08)}
.cpprof-header span{display:block;color:var(--azul);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.cpprof-header h1{margin:3px 0 0;color:var(--azul-profundo);font-family:'Comfortaa',sans-serif;font-size:clamp(22px,2.5vw,34px)}.cpprof-header p{margin:4px 0 0;color:var(--muted);font-size:17px}
.cpprof-welcome{max-width:1480px;margin:0 auto 22px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:24px;padding:26px;background:#fff;border:1px solid var(--linea);border-radius:24px;box-shadow:0 10px 28px rgba(35,63,82,.07)}
.cpprof-welcome h2,.cpprof-waiting h2{margin:0 0 10px;color:var(--azul-profundo);font-family:'Comfortaa',sans-serif;font-size:24px}.cpprof-welcome-copy{font-size:17px;white-space:normal}.cpprof-downloads{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-left:22px;border-left:1px solid var(--linea)}.cpprof-downloads small{color:var(--muted)}.cpprof-file-link{display:block;font-weight:700;color:var(--azul-profundo)}
.cpprof-waiting{max-width:1480px;margin:0 auto 24px;padding:26px;background:#eaf2f1;border:1px solid #cddfdd;border-radius:24px}.cpprof-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.cpprof-section-head>div>span{display:block;color:#547a79;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.cpprof-wait-count{display:grid;place-items:center;min-width:46px;height:46px;padding:0 14px;background:#fff;color:var(--azul-profundo);border-radius:99px;font-size:20px;box-shadow:0 5px 14px rgba(35,63,82,.1)}
.cpprof-wait-empty{padding:24px;background:rgba(255,255,255,.72);border:1px dashed #b8d2cf;border-radius:18px;text-align:center;color:var(--muted);font-size:17px}.cpprof-wait-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px}.cpprof-wait-card{display:flex;align-items:stretch;justify-content:space-between;gap:18px;padding:20px;background:#fff;border:1px solid #d4e3e1;border-radius:20px;box-shadow:0 8px 18px rgba(35,63,82,.08)}.cpprof-wait-main{min-width:0;flex:1}.cpprof-wait-card h3{margin:8px 0 2px;color:var(--azul-profundo);font-size:22px}.cpprof-wait-card p{margin:0 0 12px}.cpprof-mode{display:inline-flex;padding:5px 10px;border-radius:99px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.cpprof-mode.is-presential{background:#dff0ea;color:#315e52}.cpprof-mode.is-virtual{background:#e0eaf4;color:#315273}.cpprof-wait-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px}.cpprof-wait-meta span{display:flex;flex-direction:column;color:var(--muted);font-size:13px}.cpprof-wait-meta b{color:var(--texto);font-size:15px;font-weight:700}.cpprof-attend-form{display:flex;align-items:flex-end}.cpprof-attend-form .btn{min-width:106px}
.cpprof-main-buttons{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cpprof-menu-card{background:#fff;border:1px solid var(--linea);border-radius:20px;overflow:hidden;box-shadow:0 8px 20px rgba(35,63,82,.06)}.cpprof-menu-card summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px;cursor:pointer;color:var(--azul-profundo);font-family:'Comfortaa',sans-serif;font-size:19px;font-weight:700;list-style:none}.cpprof-menu-card summary::-webkit-details-marker{display:none}.cpprof-menu-card summary b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--verde-claro);font-family:Arial;font-size:22px;transition:.2s}.cpprof-menu-card[open] summary b{transform:rotate(45deg)}.cpprof-menu-card>div{padding:0 12px 12px}.cpprof-menu-card a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 10px;border-top:1px solid #edf2f3;color:var(--texto);font-weight:700}.cpprof-menu-card a:hover{padding-left:14px;color:var(--azul-profundo);background:#f7faf9;border-radius:12px}.cpprof-menu-card a span{color:var(--azul)}
.cpc-hc-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}.cpc-hc-toolbar .cpc-searchbar{margin:0;flex:1}.cpc-hc-source-note{margin:0 0 18px;padding:13px 15px;background:#eef6f4;border-left:4px solid var(--azul);border-radius:10px;color:#35545d}.cpc-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 22px}.cpc-tabs a{padding:9px 15px;border:1px solid var(--linea);border-radius:99px;background:#fff;font-weight:700}.cpc-tabs a.is-active{background:var(--azul-profundo);border-color:var(--azul-profundo);color:#fff}.cpc-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.cpc-video-workspace{max-width:none!important}.cpc-video-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.cpc-video-workspace-head h2{margin:6px 0 0}.cpc-video-workspace-head p{margin:2px 0}.cpc-video-split{display:grid;grid-template-columns:minmax(480px,1.35fr) minmax(430px,1fr);gap:18px;align-items:start}.cpc-video-frame{position:sticky;top:16px;min-height:690px;background:#17242c;border-radius:18px;overflow:hidden}.cpc-video-frame iframe{display:block;width:100%;height:690px;border:0;background:#17242c}.cpc-video-hc{max-height:calc(100vh - 80px);overflow:auto;padding:4px 8px 28px}.cpc-video-hc .cpc-patient-head{position:sticky;top:0;z-index:3;background:#fff}.cpc-video-hc .cpc-form-grid{grid-template-columns:1fr}.cpc-video-hc .cpc-hc-box{padding:16px}
.cpprof-modal{position:fixed;inset:0;z-index:10000;display:none;place-items:center;padding:18px;background:rgba(20,38,48,.72)}.cpprof-modal[aria-hidden="false"]{display:grid}.cpprof-modal-panel{width:min(1180px,96vw);height:min(880px,92vh);display:flex;flex-direction:column;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.35)}.cpprof-modal-panel header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--azul-profundo);color:#fff}.cpprof-modal-panel header strong{font-size:18px}.cpprof-modal-panel header button{width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:25px;cursor:pointer}.cpprof-modal-panel iframe{flex:1;width:100%;border:0;background:#fff}.cpprof-modal-open{overflow:hidden}
.cpprof-chat-button{position:fixed!important;right:24px!important;bottom:24px!important;z-index:9000!important;display:grid!important;place-items:center!important;width:58px!important;height:58px!important;border-radius:50%!important}.cpprof-chat-button b{position:absolute;right:-3px;top:-3px;min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;border-radius:99px;background:#b7445f;color:#fff;font-size:12px;border:2px solid #fff}.cpprof-chat-drawer{position:fixed;right:24px;bottom:92px;z-index:8999;width:min(760px,calc(100vw - 32px));height:min(620px,calc(100vh - 130px));display:none;flex-direction:column;background:#fff;border:1px solid var(--linea);border-radius:22px;box-shadow:0 24px 70px rgba(27,48,61,.3);overflow:hidden}.cpprof-chat-drawer[aria-hidden="false"]{display:flex}.cpprof-chat-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;background:var(--azul-profundo);color:#fff}.cpprof-chat-head strong{font-size:18px}.cpprof-chat-head button{border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}.cpprof-chat-body{display:grid;grid-template-columns:245px 1fr;min-height:0;flex:1}.cpprof-chat-users{overflow:auto;border-right:1px solid var(--linea);background:#f7faf9}.cpprof-chat-users button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 14px;border:0;border-bottom:1px solid #e5edef;background:transparent;text-align:left;cursor:pointer}.cpprof-chat-users button:hover,.cpprof-chat-users button.is-active{background:#e9f2ef}.cpprof-chat-users span{display:flex;flex-direction:column;min-width:0}.cpprof-chat-users strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--azul-profundo)}.cpprof-chat-users small{color:var(--muted)}.cpprof-chat-users b{min-width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#b7445f;color:#fff;font-size:12px}.cpprof-chat-thread{display:flex;flex-direction:column;min-width:0;min-height:0}.cpprof-chat-thread>[data-internal-thread]{flex:1;overflow:auto;padding:16px;background:#fbfdfc}.cpprof-chat-message{max-width:82%;margin:0 0 10px;padding:10px 12px;border-radius:14px;background:#e6eeec}.cpprof-chat-message.is-me{margin-left:auto;background:#dbeaf2}.cpprof-chat-message p{margin:0;white-space:pre-wrap}.cpprof-chat-message small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.cpprof-chat-thread form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--linea)}.cpprof-chat-thread textarea{flex:1;resize:none;border:1px solid var(--linea);border-radius:12px;padding:10px;font:inherit}
.cpprof-admin-config summary{cursor:pointer}.cpprof-admin-config .cpc-hc-box{margin-top:18px}
@media(max-width:1100px){.cpprof-main-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.cpc-video-split{grid-template-columns:1fr}.cpc-video-frame{position:relative;top:auto}.cpc-video-hc{max-height:none;overflow:visible}.cpprof-welcome{grid-template-columns:1fr}.cpprof-downloads{padding-left:0;padding-top:18px;border-left:0;border-top:1px solid var(--linea)}}
@media(max-width:720px){.cpprof-dashboard{padding:14px 12px 80px}.cpprof-header{align-items:flex-start;padding:18px}.cpprof-header .btn{padding:8px 10px}.cpprof-welcome,.cpprof-waiting{padding:18px}.cpprof-main-buttons{grid-template-columns:1fr}.cpprof-wait-card{flex-direction:column}.cpprof-attend-form .btn{width:100%}.cpprof-wait-meta{grid-template-columns:1fr 1fr}.cpprof-chat-drawer{right:8px;bottom:78px;width:calc(100vw - 16px);height:calc(100vh - 92px)}.cpprof-chat-body{grid-template-columns:1fr}.cpprof-chat-users{max-height:180px;border-right:0;border-bottom:1px solid var(--linea)}.cpc-video-frame,.cpc-video-frame iframe{min-height:470px;height:470px}}

/* Identidad configurable de la sala virtual */
.cpc-video-frame{position:relative;background-position:center;background-size:cover;background-repeat:no-repeat;overflow:hidden}
.cpc-video-frame iframe{position:relative;z-index:2;background:transparent}
.cpc-video-brand{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:32px;background:rgba(255,255,255,.72);backdrop-filter:blur(2px)}
.cpc-video-brand img{max-width:min(360px,70%);max-height:180px;object-fit:contain}
.cpc-video-waiting-preview{min-height:220px;margin:18px 0;border-radius:18px;background-position:center;background-size:cover;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;padding:30px;border:1px solid rgba(22,77,96,.12)}
.cpc-video-waiting-preview img{max-width:min(360px,70%);max-height:160px;object-fit:contain;background:rgba(255,255,255,.82);padding:18px;border-radius:16px}
.cpc-hc-source-note{margin:14px 0;padding:12px 14px;border-left:4px solid currentColor;border-radius:10px;background:rgba(40,126,154,.08)}

/* =========================================================
   Portal del Profesional v2 · páginas sin menú lateral
   ========================================================= */
.cp-prof-noside-shell{min-height:100vh;background:linear-gradient(180deg,#f7fbfc 0%,#f4f8f9 100%)}
.cp-prof-noside-main{width:100%;max-width:1720px;margin:0 auto;padding:24px 32px 52px}
.cp-prof-noside-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.cp-prof-noside-backlink,.cp-prof-noside-logout{display:inline-flex;align-items:center;min-height:42px;padding:9px 13px;border:1px solid #cfe0e7;border-radius:12px;background:#fff;color:#17384b;text-decoration:none;font-weight:800;box-shadow:0 5px 14px rgba(26,61,78,.05)}
.cp-prof-noside-backlink:hover,.cp-prof-noside-logout:hover{background:#edf6f8;border-color:#aacbd7}
.cp-prof-noside-title h1{margin:0 0 24px;color:#5d70bd;font-family:'Comfortaa',sans-serif;font-size:clamp(27px,3vw,38px);line-height:1.12}
.cp-prof-noside-shell .module-card,.cp-prof-noside-shell .cpag-calendar-module{max-width:none!important;margin-left:0!important;margin-right:0!important}
.cp-prof-noside-shell .card{border-radius:20px}

/* Foto del profesional en portada y agendas */
.cpprof-profile{display:flex;align-items:center;gap:16px;min-width:0}
.cpprof-profile-photo{display:grid!important;place-items:center!important;flex:0 0 66px;width:66px;height:66px;border-radius:50%;overflow:hidden;background:#e8f2f5;border:3px solid #fff;box-shadow:0 0 0 1px #c9dfe7,0 8px 18px rgba(35,63,82,.12);color:#2c6577!important;font-size:22px!important;font-weight:800!important;letter-spacing:0!important;text-transform:none!important}
.cpprof-profile-photo img{width:100%;height:100%;object-fit:cover;display:block}
.cpprof-profile-photo>span{display:grid!important;place-items:center!important;width:100%;height:100%;color:#2c6577!important;font-size:22px!important;letter-spacing:0!important;text-transform:none!important}
.cpprof-profile>div{min-width:0}
.cp-prof-noside-shell .cpag-daycol-title{min-width:0}
.cpag-prof-identity{display:flex;align-items:center;gap:11px;min-width:0}
.cpag-prof-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#102f45;font-size:16px}
.cpag-prof-avatar{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;overflow:hidden;background:#e8f3f5;border:1px solid #c6dde5;color:#2d6677;font-size:13px;font-weight:900}
.cpag-prof-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.cpag-daycol-head .cpag-pro-menu{display:grid!important;place-items:center!important;flex:0 0 38px;width:38px;height:38px;border:1px solid #dbe7eb!important;border-radius:50%!important;background:#fff!important;color:#17384b!important;font-size:22px!important;line-height:1!important;cursor:pointer!important}
.cpag-daycol-head .cpag-pro-menu:hover{background:#edf6f8!important;border-color:#aacbd7!important}
.cp-prof-noside-shell .cpag-pro-pop{width:280px!important;max-height:calc(100vh - 24px)!important;overflow:auto!important;border-radius:16px!important;padding:8px!important}
.cp-prof-noside-shell .cpag-pro-pop .cpag-pop-item{border-radius:10px!important;padding:12px 13px!important;font-size:14px!important;font-weight:750!important}

/* Tareas pendientes */
.cpprof-tasks{max-width:1480px;margin:0 auto 24px;padding:26px;background:#fff;border:1px solid var(--linea);border-radius:24px;box-shadow:0 10px 28px rgba(35,63,82,.07)}
.cpprof-tasks h2{margin:0;color:var(--azul-profundo);font-family:'Comfortaa',sans-serif;font-size:24px}
.cpprof-task-total{display:grid;place-items:center;min-width:46px;height:46px;padding:0 14px;border-radius:99px;background:#f2e9ec;color:#a53d59;font-size:20px}
.cpprof-task-empty{margin-bottom:16px;padding:17px;border:1px dashed #cedee4;border-radius:15px;background:#f8fbfc;color:var(--muted);text-align:center}
.cpprof-task-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cpprof-task-card{min-width:0;padding:17px;border:1px solid #dce8ec;border-radius:18px;background:#fbfdfd}
.cpprof-task-card.is-invoice{background:#fff8f5;border-color:#ead9d0}
.cpprof-task-card.is-order{background:#f6f8fd;border-color:#d9dfef}
.cpprof-task-card.is-consultation{background:#f4faf9;border-color:#d3e6e2}
.cpprof-task-card.is-deposit{background:#fffaf0;border-color:#eadfc3}
.cpprof-task-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.cpprof-task-card-head>div{min-width:0}
.cpprof-task-card-head span{display:block;color:#4f6975;font-size:13px;font-weight:800;line-height:1.2}
.cpprof-task-card-head strong{display:block;margin-top:4px;color:#17384b;font-size:29px;line-height:1}
.cpprof-task-card-head a{flex:0 0 auto;color:#2e6d82;font-size:12px;font-weight:800;text-decoration:none}
.cpprof-task-card ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.cpprof-task-card li{display:grid;gap:2px;padding-top:8px;border-top:1px solid rgba(35,63,82,.09);min-width:0}
.cpprof-task-card li span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#263f4d;font-size:13px;font-weight:700}
.cpprof-task-card li small{color:#718791;font-size:11px}
.cpprof-task-none{margin:0;color:#7b8d95;font-size:13px}

/* Configuración de envío de agenda */
.cpprof-delivery{padding:28px!important;background:#fff!important}
.cpprof-delivery-title{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding-bottom:22px;border-bottom:1px solid #e2ebee}
.cpprof-delivery-title h2{margin:10px 0 6px!important;color:#527f97!important;font-size:32px!important;line-height:1.1}
.cpprof-delivery-title p{margin:0;color:#687f89;font-size:15px}
.cpprof-delivery-date{flex:0 0 auto}
.cpprof-delivery-date label{display:grid;gap:6px;color:#17384b;font-size:13px;font-weight:800}
.cpprof-delivery-date input{min-width:175px;height:44px;border:1px solid #cadde5;border-radius:12px;padding:0 12px;background:#fff;font:inherit}
.cpprof-delivery-form{padding:22px 0}
.cpprof-delivery-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.cpprof-delivery-option{display:grid;gap:10px;padding:18px;border:1px solid #d7e5ea;border-radius:17px;background:#f9fcfd}
.cpprof-delivery-check{display:flex;align-items:center;gap:10px;color:#17384b;font-size:17px}
.cpprof-delivery-check input{width:20px;height:20px;margin:0;accent-color:#5d8fa4}
.cpprof-delivery-option small{color:#718690;font-size:13px}
.cpprof-delivery-option>input{width:100%;height:46px;border:1px solid #cbdde5;border-radius:12px;padding:0 13px;background:#fff;font:inherit}
.cpprof-delivery-files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:22px;border-top:1px solid #e2ebee}
.cpprof-delivery-files article{padding:20px;border:1px solid #d9e6eb;border-radius:17px;background:#fbfdfd}
.cpprof-delivery-files article>span{display:inline-flex;padding:5px 9px;border-radius:99px;background:#e8f2f5;color:#356c7e;font-size:11px;font-weight:900;letter-spacing:.05em}
.cpprof-delivery-files h3{margin:11px 0 6px;color:#17384b;font-size:19px}
.cpprof-delivery-files p{min-height:42px;margin:0 0 15px;color:#6b818b;font-size:14px}
.cpprof-delivery-share{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:16px 18px;border-radius:15px;background:#edf6f5;border:1px solid #d0e4e1;color:#17384b}
.cpprof-delivery-share>div{display:flex;gap:10px;flex-wrap:wrap}

/* Calendario profesional: la fecha ocupa el lugar del selector eliminado */
.app-role-profesional .cpag-calendar-toolbar .cpag-calendar-tools{min-width:175px}
.app-role-profesional .cpag-calendar-toolbar .cpag-date{width:100%}

@media(max-width:1100px){
  .cpprof-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .cp-prof-noside-main{padding:14px 12px 38px}
  .cp-prof-noside-title h1{font-size:27px;margin-bottom:17px}
  .cpprof-profile-photo{flex-basis:54px;width:54px;height:54px}
  .cpprof-task-grid,.cpprof-delivery-options,.cpprof-delivery-files{grid-template-columns:1fr}
  .cpprof-tasks{padding:18px}
  .cpprof-delivery-title{align-items:stretch;flex-direction:column}
  .cpprof-delivery-date,.cpprof-delivery-date input{width:100%}
  .cpprof-delivery-share{align-items:flex-start;flex-direction:column}
}

/* Historia Clínica completa + configuración personal RCTA */
.cpc-module--hc{max-width:1180px;margin:0 auto}.cpc-module--hc .cpc-patient-head{background:#fff;border-color:#dce7eb;padding:18px 22px}.cpc-module--hc .cpc-patient-head h2{font-size:1.55rem;color:#5d8297;margin-bottom:12px}.cpc-module--hc .cpc-patient-head p{line-height:1.55;color:#183244}.cpc-hc-editor{display:grid;gap:0}.cpc-hc-recovery{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border:1px solid #e3cf9b;background:#fff9e8;border-radius:14px;margin-bottom:14px}.cpc-hc-recovery div:first-child{display:grid;gap:3px}.cpc-hc-recovery span{font-size:.86rem;color:#725f34}.cpc-hc-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}.cpc-hc-section-title h3{margin:0 0 3px}.cpc-hc-section-title small,.cpc-hc-box>small{color:#617783}.cpc-inline-status{display:block;min-height:18px;margin-top:8px;font-size:.86rem;font-weight:700;color:#4b788c}.cpc-hc-evolution{display:grid;gap:0}.cpc-exam-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:14px}.cpc-exam-grid label{font-weight:500}.cpc-exam-grid input[readonly]{background:#f7fafb;color:#55717e}.cpc-growth-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid #e2e9ec;border-radius:14px;padding:12px 14px;margin:14px 0 10px}.cpc-growth-summary>div{display:grid;gap:3px}.cpc-growth-summary small{color:#60747f}.cpc-growth-previews{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cpc-growth-chart{border:1px solid #e6ecef;border-radius:14px;padding:10px;background:#fff}.cpc-growth-chart>strong{display:block;margin:0 0 6px;color:#355c70}.cpc-growth-chart svg{display:block}.cpc-hc-rcta{display:flex;align-items:center;justify-content:space-between;gap:18px}.cpc-hc-rcta h3{margin-bottom:4px}.cpc-hc-rcta p{margin:0;color:#627985}.cpc-order-history{display:grid;gap:10px}.cpc-order-history article{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid #e4ebee;border-radius:14px;padding:12px 14px;background:#fbfcfd}.cpc-order-history article>div:first-child{min-width:0}.cpc-order-history strong,.cpc-order-history span{display:block}.cpc-order-history span{font-size:.83rem;color:#6d7e86;margin-top:2px}.cpc-order-history p{margin:6px 0 0;white-space:pre-line;color:#344f5d}.cpc-hc-savebar{position:sticky;bottom:10px;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #d7e3e7;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-radius:16px;padding:12px 14px;margin:16px 0;box-shadow:0 10px 28px rgba(24,57,72,.12)}.cpc-hc-savebar .cpc-actions{margin:0}.cpc-hc-savebar>div:last-child{display:grid;text-align:right;gap:2px}.cpc-hc-savebar small{color:#687d88}.cpc-growth-modal .cpprof-modal-panel{height:min(820px,92vh)}.cpc-growth-modal-body{padding:18px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px}.cpprof-rcta-config .cpc-hc-form{max-width:760px}.cpprof-rcta-config .notice{margin-top:18px}.cpprof-process-card{max-width:720px;border:1px dashed #bfcfd6;border-radius:18px;padding:24px;background:#fafcfd}.cpprof-process-card>span{display:inline-flex;border-radius:999px;padding:6px 10px;background:#edf3f5;color:#5c7480;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.cpprof-process-card h3{margin:14px 0 6px}.cpprof-process-card p{margin:0 0 16px;color:#617783}
@media(max-width:900px){.cpc-exam-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}.cpc-growth-previews,.cpc-growth-modal-body{grid-template-columns:1fr}.cpc-hc-savebar,.cpc-hc-rcta,.cpc-hc-recovery{align-items:stretch;flex-direction:column}.cpc-hc-savebar>div:last-child{text-align:left}.cpc-order-history article{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.cpc-exam-grid{grid-template-columns:1fr}.cpc-hc-section-title{align-items:stretch;flex-direction:column}.cpc-hc-savebar .cpc-actions{display:grid;width:100%}.cpc-hc-savebar .btn{width:100%}.cpc-hc-toolbar{align-items:stretch}.cpc-hc-toolbar .cpc-searchbar{width:100%}}
.cpprof-rcta-access{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #dce7eb;border-radius:16px;padding:18px;background:#fbfdfe;margin:18px 0}.cpprof-rcta-access>div{display:grid;gap:4px}.cpprof-rcta-access span{color:#637985}@media(max-width:700px){.cpprof-rcta-access{align-items:stretch;flex-direction:column}}

/* Historia Clínica profesional — modales, vacunas y acciones compactas */
.cpc-vax-calendar details{border:1px solid #e2e9ec;border-radius:14px;overflow:hidden;background:#fbfcfd}
.cpc-vax-calendar summary{cursor:pointer;padding:14px 16px;font-weight:800;color:#294d60;display:flex;align-items:center;justify-content:space-between;gap:12px}
.cpc-vax-calendar summary span{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 9px;border-radius:999px;background:#e5f1f5;color:#294d60}
.cpc-vax-groups{display:grid;grid-template-columns:repeat(3,minmax(210px,1fr));gap:12px;padding:0 14px 14px}
.cpc-vax-groups fieldset{min-width:0;border:1px solid #dce6ea;border-radius:12px;padding:10px 12px;background:#fff}
.cpc-vax-groups legend{padding:0 6px;font-weight:800;color:#557b8d}
.cpc-vax-groups label{display:flex;align-items:flex-start;gap:8px;padding:6px 0;font-weight:500;line-height:1.3}
.cpc-vax-groups input{margin-top:2px;flex:0 0 auto}
.cpc-hc-savebar .cpc-actions{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:10px;min-width:min(620px,100%)}
.cpc-hc-savebar .cpc-actions .btn{width:100%;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.cpc-hc-bottom-actions{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;margin:0 0 18px}
.cpc-hc-bottom-actions .btn{width:100%;min-height:46px;display:inline-flex;align-items:center;justify-content:center}
.cpc-hc-content-modal .cpprof-modal-panel,.cpc-hc-document-modal .cpprof-modal-panel,.cpc-hc-iframe-modal .cpprof-modal-panel{width:min(1160px,96vw);height:min(860px,92vh)}
.cpc-hc-modal-scroll{flex:1;overflow:auto;padding:18px;background:#f7fafb}
.cpc-hc-modal-list{display:grid;gap:10px}
.cpc-hc-modal-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #dce6ea;border-radius:14px;padding:14px 16px;background:#fff}
.cpc-hc-modal-item-main{min-width:0;display:grid;gap:3px}
.cpc-hc-modal-item-main strong{color:#17384b}
.cpc-hc-modal-item-main span{font-size:.84rem;color:#6a7e88}
.cpc-hc-modal-item-main p{margin:5px 0 0;white-space:pre-line;color:#365867;line-height:1.4}
.cpc-hc-modal-item-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex:0 0 auto}
.cpc-hc-modal-item-actions .btn{width:160px;min-height:42px;display:inline-flex;align-items:center;justify-content:center}
.cpc-hc-study-upload{margin:0 0 16px;border:1px solid #dce6ea;border-radius:14px;padding:16px;background:#fff}
.cpc-hc-study-upload h3{margin:0 0 12px}
.cpc-hc-document-modal{z-index:10020}
.cpc-hc-history-modal{z-index:10010}
.cpc-hc-iframe-modal{z-index:10010}
@media(max-width:900px){
  .cpc-vax-groups{grid-template-columns:repeat(2,minmax(180px,1fr))}
  .cpc-hc-savebar .cpc-actions{min-width:0;width:100%}
  .cpc-hc-modal-list article{align-items:stretch;flex-direction:column}
  .cpc-hc-modal-item-actions{justify-content:flex-start;width:100%}
  .cpc-hc-modal-item-actions .btn{width:100%}
}
@media(max-width:620px){
  .cpc-vax-groups{grid-template-columns:1fr}
  .cpc-hc-savebar .cpc-actions,.cpc-hc-bottom-actions{grid-template-columns:1fr}
}

/* Portal del Profesional v7 — períodos, prestaciones, liquidaciones y envío automático */
.cpprof-admin-list{max-width:100%;overflow:hidden}
.cpprof-admin-list>h2,.cpprof-delivery h2{color:#5f8798!important;font-family:'Comfortaa',Arial,sans-serif!important;font-weight:500!important}
.cpprof-module-lead{margin:-4px 0 20px;color:#5d737e}
.cpprof-period{display:grid!important;grid-template-columns:minmax(0,1fr);gap:10px;margin:18px 0 12px!important;padding:0!important;align-items:end!important}
.cpprof-period-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%}
.cpprof-period label{display:grid!important;gap:7px!important;min-width:0;color:#17384b;font-weight:800}
.cpprof-period input[type="date"]{display:block;width:100%!important;min-width:0!important;height:48px!important;box-sizing:border-box;border:1px solid #cadde5!important;border-radius:12px!important;padding:0 14px!important;background:#fff;font:inherit!important;color:#17384b}
.cpprof-period>.btn{width:100%!important;min-height:46px!important;margin:0!important}
.cpprof-list-actions{display:flex;justify-content:flex-start;gap:10px;margin:12px 0 16px}
.cpprof-prestations-table{border:1px solid #dce7eb;border-radius:16px;overflow:auto;background:#fff}
.cpprof-prestations-table table{width:100%;border-collapse:collapse;min-width:1050px}
.cpprof-prestations-table th{padding:13px 14px;background:#f1f7f7;color:#17384b;text-align:left;font-size:.82rem;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}
.cpprof-prestations-table td{padding:13px 14px;border-top:1px solid #e3ecee;vertical-align:top;color:#365563}
.cpprof-prestations-table td strong{color:#17384b}
.cpprof-prestations-table tbody tr:hover{background:#fbfdfd}
.cpprof-liquidations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.cpprof-liquidation-card{border:1px solid #d6e3e7;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 20px rgba(23,56,75,.06)}
.cpprof-liquidation-card>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;background:#f3ece7;border-bottom:1px solid #e3dcd7}
.cpprof-liquidation-card>header span{display:block;color:#6a7e87;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.cpprof-liquidation-card>header h3{margin:4px 0 0!important;color:#5f8798!important;font-family:'Comfortaa',Arial,sans-serif!important;font-size:1.2rem!important;font-weight:600!important}
.cpprof-liquidation-card>header>strong{font-size:1.35rem;color:#17384b;white-space:nowrap}
.cpprof-liquidation-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:18px 20px}
.cpprof-liquidation-values>div{display:grid;gap:5px;padding:3px 15px;border-left:1px solid #e2eaed}
.cpprof-liquidation-values>div:first-child{padding-left:0;border-left:0}
.cpprof-liquidation-values>div:last-child{padding-right:0}
.cpprof-liquidation-values span{font-size:.77rem;color:#6b7f89;font-weight:800;line-height:1.25}
.cpprof-liquidation-values b{color:#17384b;font-size:1rem}
.cpprof-liquidation-receipt{margin:0 20px 18px;border:1px solid #dce7ea;border-radius:12px;background:#f9fcfc;overflow:hidden}
.cpprof-liquidation-receipt summary{cursor:pointer;padding:12px 14px;font-weight:800;color:#446d7f}
.cpprof-liquidation-receipt>div{padding:14px;border-top:1px solid #dce7ea;overflow:auto}

.cpprof-delivery{max-width:1120px;margin:0 auto}
.cpprof-delivery-title{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding-bottom:20px;border-bottom:1px solid #e0e9ec}
.cpprof-delivery-title p{max-width:760px;margin:0;color:#5f737e}
.cpprof-delivery-state{display:inline-flex;align-items:center;white-space:nowrap;padding:8px 12px;border-radius:999px;background:#f2ece8;color:#7c665a;font-weight:900;font-size:.78rem}
.cpprof-delivery-state.is-active{background:#e5f2ee;color:#2e6c57}
.cpprof-delivery-form{display:grid;gap:18px;padding:22px 0 0}
.cpprof-delivery-master{display:flex;align-items:flex-start;gap:13px;padding:17px 18px;border:1px solid #d6e4e8;border-radius:16px;background:#f8fbfb;cursor:pointer}
.cpprof-delivery-master input{width:21px;height:21px;margin-top:2px;accent-color:#5f8798;flex:0 0 auto}
.cpprof-delivery-master span{display:grid;gap:3px}.cpprof-delivery-master b{color:#17384b;font-size:1rem}.cpprof-delivery-master small{color:#687e89}
.cpprof-delivery-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}
.cpprof-delivery-option{display:grid;gap:9px;padding:18px;border:1px solid #d7e5e8;border-radius:17px;background:#fff}
.cpprof-delivery-check{display:flex!important;align-items:center;gap:10px;color:#17384b}.cpprof-delivery-check input{width:20px;height:20px;accent-color:#5f8798}
.cpprof-delivery-option>small{color:#6b7f88}.cpprof-delivery-option>input{height:46px;border:1px solid #cadde5;border-radius:12px;padding:0 13px;font:inherit;color:#17384b}
.cpprof-delivery-settings{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(230px,.75fr);gap:16px}
.cpprof-delivery-settings fieldset{margin:0;border:1px solid #d7e5e8;border-radius:17px;padding:15px 17px;background:#f9fcfc;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cpprof-delivery-settings legend{padding:0 6px;color:#17384b;font-weight:900}
.cpprof-delivery-settings fieldset label{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid #dbe6e9;border-radius:13px;background:#fff;cursor:pointer}
.cpprof-delivery-settings fieldset input{margin-top:3px;accent-color:#5f8798}.cpprof-delivery-settings fieldset span{display:grid;gap:2px}.cpprof-delivery-settings fieldset b{color:#17384b}.cpprof-delivery-settings fieldset small{color:#6b7f88}
.cpprof-delivery-time{display:grid;align-content:start;gap:8px;padding:17px;border:1px solid #d7e5e8;border-radius:17px;background:#f9fcfc;color:#17384b;font-weight:900}
.cpprof-delivery-time input{height:46px;border:1px solid #cadde5;border-radius:12px;padding:0 12px;background:#fff;font:inherit}.cpprof-delivery-time small{font-weight:500;color:#6b7f88}
.cpprof-delivery-form>.btn{justify-self:start;min-width:220px}
.cpprof-delivery-note{display:flex;align-items:flex-start;gap:11px;margin-top:20px;padding:15px 17px;border-radius:14px;background:#edf5f3;border:1px solid #d3e4df;color:#315968}
.cpprof-delivery-note strong{color:#17384b}

/* Solicitudes del profesional que requieren autorización de Admisión */
.cpc-authorization-create{display:grid;gap:16px}
.cpc-authorization-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:15px 17px;border:1px solid #d8e5e8;border-radius:15px;background:#f7fbfb}
.cpc-authorization-head h3{margin:0 0 4px!important}.cpc-authorization-head p{margin:0;color:#657b86}
.cpc-prof-patient-picker{display:grid;gap:10px}.cpc-prof-patient-picker>label{font-weight:900;color:#17384b}.cpc-prof-patient-picker form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.cpc-prof-patient-picker input[type="search"]{height:46px;border:1px solid #cadde5;border-radius:12px;padding:0 14px;font:inherit}
.cpc-prof-patient-results{display:grid;gap:7px}.cpc-prof-patient-results a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid #dce7ea;border-radius:12px;background:#fff;color:#17384b}.cpc-prof-patient-results a:hover{background:#f3f8f8}
.cpc-prof-selected-patient{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 15px;border-radius:13px;background:#eaf4f1;border:1px solid #d1e4de;color:#17384b}
.cpc-authorization-edit{display:grid;gap:12px;border:1px solid #dce7ea;border-radius:16px;padding:16px;background:#fff}
.cpc-authorization-diagnosis{white-space:pre-line;color:#345563;background:#f8fbfb;border-radius:12px;padding:12px 14px}

/* Bandeja de autorización en el portal del empleado */
.cp-prof-authorization-inline{margin:0 0 14px;padding:14px;border:1px solid #d8e4e8;border-radius:14px;background:#f8fbfb}
.cp-prof-authorization-inline__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:#17384b}
.cp-prof-authorization-card{display:grid;gap:7px;padding:13px 14px;border:1px solid #dce7ea;border-radius:13px;background:#fff;margin-top:8px}
.cp-prof-authorization-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cp-prof-authorization-card__head strong{color:#17384b}.cp-prof-authorization-card__head span{font-size:.76rem;font-weight:900;color:#8b6d37;background:#fff4db;border-radius:999px;padding:5px 9px;white-space:nowrap}
.cp-prof-authorization-card small{color:#6a7e88}.cp-prof-authorization-card p{margin:2px 0;color:#345563;white-space:pre-line}
.cp-prof-authorization-card button{justify-self:start}

@media(max-width:1050px){
  .cpprof-liquidations{grid-template-columns:1fr}
  .cpprof-liquidation-values{grid-template-columns:repeat(3,minmax(120px,1fr))}
}
@media(max-width:760px){
  .cpprof-period-fields,.cpprof-delivery-options,.cpprof-delivery-settings{grid-template-columns:1fr}
  .cpprof-delivery-title,.cpc-authorization-head{flex-direction:column;align-items:stretch}
  .cpprof-delivery-settings fieldset{grid-template-columns:1fr}
  .cpprof-delivery-form>.btn{width:100%;justify-self:stretch}
  .cpprof-liquidation-card>header{align-items:flex-start;flex-direction:column}
  .cpprof-liquidation-values{grid-template-columns:1fr;padding:8px 18px 17px}
  .cpprof-liquidation-values>div{border-left:0;border-top:1px solid #e2eaed;padding:11px 0}.cpprof-liquidation-values>div:first-child{border-top:0}
  .cpc-prof-patient-picker form{grid-template-columns:1fr}
}

/* =========================================================
   Portal profesional v7 · Prestaciones, liquidaciones y envíos
   ========================================================= */
.cpprof-admin-list,
.cpprof-delivery,
.cpc-authorization-create{
  font-family:'Alegreya Sans',Arial,sans-serif;
}
.cpprof-admin-list>h2,
.cpprof-delivery h2{
  font-family:'Comfortaa',Arial,sans-serif!important;
  color:#5d70bd!important;
  letter-spacing:-.02em;
}
.cpprof-module-lead{margin:-4px 0 20px;color:#657d88;font-size:16px}
.cpprof-period{display:grid;gap:12px;margin:18px 0 14px}
.cpprof-period-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%}
.cpprof-period-fields label{display:grid;gap:7px;min-width:0;color:#17384b;font-size:14px;font-weight:800}
.cpprof-period-fields input{display:block;width:100%;min-width:0;box-sizing:border-box;height:48px;padding:0 14px;border:1px solid #c8dce5;border-radius:13px;background:#fff;color:#17384b;font:700 15px/1 'Alegreya Sans',Arial,sans-serif}
.cpprof-period>.btn{width:100%;min-height:46px;justify-content:center}
.cpprof-list-actions{display:flex;justify-content:flex-start;gap:10px;margin:12px 0 18px}
.cpprof-prestations-table{border:1px solid #dce7eb;border-radius:16px;overflow:auto;background:#fff}
.cpprof-prestations-table table{width:100%;min-width:1050px;border-collapse:collapse}
.cpprof-prestations-table th{padding:13px 14px;background:#edf5f7;color:#17384b;text-align:left;font-size:13px;font-weight:900;white-space:nowrap}
.cpprof-prestations-table td{padding:13px 14px;border-top:1px solid #e7eef1;color:#294756;vertical-align:top;font-size:14px}
.cpprof-prestations-table tr:hover td{background:#fafcfd}
.cpprof-prestations-table .pill{white-space:nowrap}
.cpprof-liquidations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cpprof-liquidation-card{overflow:hidden;border:1px solid #d6e4e9;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(29,66,82,.07)}
.cpprof-liquidation-card>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;background:linear-gradient(135deg,#f1f7f8,#f8fbfc);border-bottom:1px solid #dce8ec}
.cpprof-liquidation-card>header span{display:block;color:#66818c;font-size:12px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.cpprof-liquidation-card>header h3{margin:4px 0 0;color:#17384b;font-family:'Comfortaa',Arial,sans-serif;font-size:20px}
.cpprof-liquidation-card>header>strong{color:#5d70bd;font-family:'Comfortaa',Arial,sans-serif;font-size:23px;white-space:nowrap}
.cpprof-liquidation-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:18px 20px}
.cpprof-liquidation-values>div{display:grid;gap:5px;padding:4px 16px;border-left:1px solid #e2eaed}
.cpprof-liquidation-values>div:first-child{padding-left:0;border-left:0}
.cpprof-liquidation-values span{color:#71858e;font-size:13px}
.cpprof-liquidation-values b{color:#17384b;font-size:17px}
.cpprof-liquidation-receipt{margin:0 20px 18px;border:1px solid #dce7eb;border-radius:12px;background:#fafcfd}
.cpprof-liquidation-receipt summary{cursor:pointer;padding:12px 14px;color:#355f72;font-weight:800}
.cpprof-liquidation-receipt>div{overflow:auto;padding:0 14px 14px;color:#294756}

.cpprof-delivery-title{align-items:flex-start!important}
.cpprof-delivery-state{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 13px;border-radius:999px;background:#eef2f4;color:#667b85;font-size:13px;font-weight:900;white-space:nowrap}
.cpprof-delivery-state.is-active{background:#e1f2ea;color:#287054}
.cpprof-delivery-master{display:flex;align-items:center;gap:14px;padding:17px 18px;margin-bottom:18px;border:1px solid #cadfe5;border-radius:16px;background:#f5fafb;cursor:pointer}
.cpprof-delivery-master input{width:22px;height:22px;margin:0;accent-color:#5d8fa4;flex:0 0 auto}
.cpprof-delivery-master span{display:grid;gap:3px}
.cpprof-delivery-master b{color:#17384b;font-size:17px}
.cpprof-delivery-master small{color:#6f838c;font-size:13px}
.cpprof-delivery-settings{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);gap:18px;margin:18px 0}
.cpprof-delivery-settings fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:16px;border:1px solid #d7e5ea;border-radius:16px;background:#fbfdfe}
.cpprof-delivery-settings legend{padding:0 8px;color:#17384b;font-weight:900}
.cpprof-delivery-settings fieldset label{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #dbe7eb;border-radius:13px;background:#fff;cursor:pointer}
.cpprof-delivery-settings fieldset input{margin-top:3px;accent-color:#5d70bd}
.cpprof-delivery-settings fieldset span{display:grid;gap:3px}
.cpprof-delivery-settings fieldset b{color:#17384b}
.cpprof-delivery-settings fieldset small{color:#71858e}
.cpprof-delivery-time{display:grid;align-content:start;gap:8px;padding:16px;border:1px solid #d7e5ea;border-radius:16px;background:#fbfdfe;color:#17384b;font-weight:900}
.cpprof-delivery-time input{width:100%;height:47px;box-sizing:border-box;padding:0 13px;border:1px solid #c8dce5;border-radius:12px;background:#fff;color:#17384b;font:700 15px/1 'Alegreya Sans',Arial,sans-serif}
.cpprof-delivery-time small{color:#71858e;font-weight:500}
.cpprof-delivery-note{display:flex;gap:12px;padding:14px 16px;border-radius:14px;background:#f0f7f8;color:#496d7c}
.cpprof-delivery-note strong{color:#17384b}

.cpc-prof-patient-picker{display:grid;gap:12px;margin:15px 0}
.cpc-prof-patient-picker .cpc-searchbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin:0}
.cpc-prof-patient-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.cpc-prof-patient-results a{display:grid;gap:2px;padding:12px 14px;border:1px solid #d7e5ea;border-radius:13px;background:#fff;color:#17384b}
.cpc-prof-patient-results a.is-selected{border-color:#5d70bd;background:#f2f3fb;box-shadow:0 0 0 2px rgba(93,112,189,.12)}
.cpc-prof-patient-results span{color:#70848e;font-size:13px}
.cpc-prof-selected-patient{display:grid;gap:2px;padding:14px 16px;border-left:5px solid #5d8fa4;border-radius:12px;background:#edf6f7}
.cpc-prof-selected-patient>span{color:#607a86;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.cpc-prof-selected-patient strong{color:#17384b;font-size:18px}
.cpc-prof-selected-patient small{color:#607a86}
.cpc-authorization-create{margin:18px 0;padding:20px;border:1px solid #d8e5ea;border-radius:18px;background:#f9fcfd}
.cpc-authorization-head h3{margin:0 0 5px;color:#17384b;font-family:'Comfortaa',Arial,sans-serif;font-size:20px}
.cpc-authorization-head p{margin:0;color:#667f8a}
.cp-consulta-db-card{display:flex!important;align-items:center;justify-content:space-between;gap:14px}
.cp-consulta-db-card>div{display:grid;gap:3px;min-width:0}
.cp-consulta-db-card.is-authorization{border-color:#e8cf96!important;background:#fffbf1!important}
.cp-consulta-authorize-btn{flex:0 0 auto;min-height:38px;padding:0 13px;border:0;border-radius:10px;background:#5d70bd;color:#fff;font:800 12px/1 'Alegreya Sans',Arial,sans-serif;cursor:pointer}
.cp-consulta-authorize-btn:hover{filter:brightness(.96)}

@media(max-width:900px){
  .cpprof-liquidations{grid-template-columns:1fr}
  .cpprof-delivery-settings{grid-template-columns:1fr}
  .cpc-prof-patient-results{grid-template-columns:1fr}
}
@media(max-width:620px){
  .cpprof-period-fields{grid-template-columns:1fr}
  .cpprof-liquidation-card>header{align-items:flex-start;flex-direction:column}
  .cpprof-liquidation-values{grid-template-columns:1fr;gap:12px}
  .cpprof-liquidation-values>div{padding:0;border-left:0}
  .cpprof-delivery-settings fieldset{grid-template-columns:1fr}
  .cpc-prof-patient-picker .cpc-searchbar{grid-template-columns:1fr}
  .cp-consulta-db-card{align-items:stretch;flex-direction:column}
  .cp-consulta-authorize-btn{width:100%}
}

/* v8 - Mensajería interna integrada a la identidad del Portal del Profesional */
.cpprof-chat-drawer,
.cpprof-chat-drawer *{
  font-family:var(--cp-font-ui,'Alegreya Sans','Segoe UI',Roboto,Arial,sans-serif)!important;
  box-sizing:border-box;
}
.cpprof-chat-drawer{
  width:min(820px,calc(100vw - 40px))!important;
  height:min(640px,calc(100vh - 120px))!important;
  border:1px solid #cfe1e8!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 26px 70px rgba(20,51,69,.25)!important;
}
.cpprof-chat-head{
  min-height:64px;
  padding:15px 20px!important;
  background:#5f8798!important;
  border-bottom:1px solid rgba(255,255,255,.22);
}
.cpprof-chat-head strong{
  font-family:var(--cp-font-title,var(--cp-font-ui))!important;
  font-size:1.25rem!important;
  font-weight:500!important;
  letter-spacing:.01em!important;
}
.cpprof-chat-head button{
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.14)!important;
  font-size:25px!important;
  line-height:1!important;
}
.cpprof-chat-head button:hover{background:rgba(255,255,255,.24)!important;}
.cpprof-chat-body{grid-template-columns:300px minmax(0,1fr)!important;background:#fff!important;}
.cpprof-chat-users{
  padding:10px!important;
  background:#f7fbfc!important;
  border-right:1px solid #dbe8ed!important;
}
.cpprof-chat-users>p{margin:10px!important;color:#607985!important;line-height:1.35!important;}
.cpprof-chat-users button{
  position:relative;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  min-height:66px!important;
  padding:10px!important;
  margin:0 0 6px!important;
  border:1px solid transparent!important;
  border-radius:16px!important;
  background:transparent!important;
}
.cpprof-chat-users button:hover{
  background:#eef6f8!important;
  border-color:#d7e8ee!important;
}
.cpprof-chat-users button.is-active{
  background:#e3f1f5!important;
  border-color:#bcd8e2!important;
  box-shadow:0 7px 16px rgba(42,91,111,.08)!important;
}
.cpprof-chat-avatar{
  width:44px!important;
  height:44px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
  background:#d8ebf1!important;
  color:#24475c!important;
  font-size:.95rem!important;
  font-weight:700!important;
}
.cpprof-chat-usercopy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  min-width:0!important;
  line-height:1.15!important;
}
.cpprof-chat-usercopy strong{
  width:100%!important;
  color:#17384b!important;
  font-size:1rem!important;
  font-weight:600!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.cpprof-chat-usercopy small{
  color:#66808c!important;
  font-size:.82rem!important;
  font-weight:400!important;
}
.cpprof-chat-usercopy em{
  display:block!important;
  width:100%!important;
  margin-top:3px!important;
  color:#81939b!important;
  font-size:.76rem!important;
  font-style:normal!important;
  font-weight:300!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.cpprof-chat-users button>b{
  min-width:24px!important;
  height:24px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  background:#b7445f!important;
  font-weight:600!important;
}
.cpprof-chat-thread{background:#fff!important;}
.cpprof-chat-thread>[data-internal-thread]{
  padding:20px!important;
  background:linear-gradient(180deg,#fbfdfe 0%,#f5fafb 100%)!important;
}
.cpprof-chat-thread>[data-internal-thread]>p{
  margin:0!important;
  color:#6e838d!important;
  font-size:1rem!important;
}
.cpprof-chat-message{
  max-width:78%!important;
  padding:10px 13px!important;
  border:1px solid #dce8ec!important;
  border-radius:17px 17px 17px 5px!important;
  background:#fff!important;
  box-shadow:0 4px 12px rgba(32,71,89,.06)!important;
}
.cpprof-chat-message.is-me{
  border-radius:17px 17px 5px 17px!important;
  border-color:#c9e0e8!important;
  background:#e5f1f5!important;
}
.cpprof-chat-message p{
  color:#17384b!important;
  font-size:.98rem!important;
  line-height:1.35!important;
}
.cpprof-chat-message small{color:#748892!important;font-size:.73rem!important;}
.cpprof-chat-thread form{
  align-items:stretch!important;
  gap:10px!important;
  padding:14px!important;
  background:#fff!important;
  border-top:1px solid #dbe8ed!important;
}
.cpprof-chat-thread textarea{
  min-height:72px!important;
  border:1px solid #cfe0e8!important;
  border-radius:15px!important;
  padding:12px 14px!important;
  color:#17384b!important;
  background:#fff!important;
  font-size:1rem!important;
  line-height:1.3!important;
}
.cpprof-chat-thread textarea:focus{outline:2px solid rgba(95,135,152,.18)!important;border-color:#7fa8b8!important;}
.cpprof-chat-thread form .btn{
  min-width:96px!important;
  border-radius:12px!important;
  background:#5f8798!important;
  border-color:#5f8798!important;
  font-size:.95rem!important;
  font-weight:600!important;
  box-shadow:none!important;
}
.cpprof-chat-thread form .btn:disabled{opacity:.45!important;cursor:not-allowed!important;}
.cpprof-chat-empty{padding:18px 12px!important;text-align:center!important;}
@media(max-width:720px){
  .cpprof-chat-drawer{width:calc(100vw - 16px)!important;height:calc(100vh - 88px)!important;right:8px!important;bottom:76px!important;border-radius:20px!important;}
  .cpprof-chat-body{grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;}
  .cpprof-chat-users{max-height:205px!important;border-right:0!important;border-bottom:1px solid #dbe8ed!important;}
  .cpprof-chat-message{max-width:88%!important;}
}

/* V9 — Calendario completo y recuperación real de borradores de Historia Clínica */
.cpc-hc-recovery[hidden]{display:none!important;}
.cpag-week-day span{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.35!important;
  min-height:30px!important;
}
.cpag-week-day span.is-occupied{
  background:#f4f8fb!important;
  border-color:#c9dce7!important;
  color:#274d61!important;
}
.cpag-month-cell span{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}


/* Corrección HC v10: calendario de vacunas a ancho completo */
.cpc-hc-editor .cpc-vax-calendar--hc{
  display:block!important;
  width:100%;
  box-sizing:border-box;
}
.cpc-hc-editor .cpc-vax-calendar--hc>.cpc-hc-section-title{
  width:100%;
  box-sizing:border-box;
  margin-bottom:14px;
}
.cpc-hc-editor .cpc-vax-calendar--hc>details{
  display:block;
  width:100%;
  box-sizing:border-box;
  margin:0;
}
.cpc-hc-editor .cpc-vax-calendar--hc .cpc-vax-groups{
  grid-template-columns:repeat(4,minmax(180px,1fr));
  width:100%;
  box-sizing:border-box;
}
.cpc-hc-editor .cpc-vax-calendar--hc fieldset{
  height:auto;
  align-self:start;
}

/* Corrección HC v10: checkbox de envío alineado con su texto */
.cpc-hc-form label.cpc-inline-check{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start;
  gap:10px;
  min-height:46px;
  padding:0 2px;
  font-weight:800;
  line-height:1.25;
}
.cpc-hc-form label.cpc-inline-check input[type="checkbox"]{
  width:20px!important;
  height:20px!important;
  min-width:20px;
  margin:0!important;
  padding:0!important;
  flex:0 0 20px;
}
.cpc-hc-form label.cpc-inline-check span{
  display:inline-block;
}

@media(max-width:1180px){
  .cpc-hc-editor .cpc-vax-calendar--hc .cpc-vax-groups{
    grid-template-columns:repeat(3,minmax(180px,1fr));
  }
}
@media(max-width:860px){
  .cpc-hc-editor .cpc-vax-calendar--hc .cpc-vax-groups{
    grid-template-columns:repeat(2,minmax(170px,1fr));
  }
}
@media(max-width:560px){
  .cpc-hc-editor .cpc-vax-calendar--hc .cpc-vax-groups{
    grid-template-columns:1fr;
  }
}

/* =========================================================
 * V127 — Administración: documentos, selector y agendas
 * ========================================================= */
.cpst-doc-config{display:block}
.cpst-doc-config-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.cpst-doc-config-card{
  display:grid;
  gap:13px;
  min-width:0;
  padding:20px!important;
}
.cpst-doc-config-card h2{margin:0;color:#06344d}
.cpst-doc-config-card label{display:grid;gap:7px;font-weight:750;color:#17394a}
.cpst-doc-preview{
  display:flex;
  flex-direction:column;
  min-height:360px;
  margin-top:5px;
  padding:24px;
  border:1px solid #c9dce6;
  border-radius:14px;
  background:#fff;
  box-shadow:0 14px 32px rgba(8,55,74,.07);
  text-align:center;
}
.cpst-doc-preview-head{min-height:88px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #dbe8ee;padding-bottom:14px}
.cpst-doc-preview-head img{max-width:100%;max-height:100px;object-fit:contain}
.cpst-doc-preview h3{margin:18px 0 5px;color:#17394a}
.cpst-doc-preview p{margin:0;color:#607985;font-size:.9rem}
.cpst-doc-preview-lines{display:grid;gap:14px;margin:28px 0;flex:1}
.cpst-doc-preview-lines span{display:block;border-bottom:1px solid #d9e5ea}
.cpst-doc-preview small{display:block;color:#607985;white-space:pre-wrap}
.cpst-doc-savebar{position:sticky;bottom:0;z-index:5;justify-content:flex-end;margin-top:18px;padding:14px;border:1px solid #cfe3ec;border-radius:16px;background:rgba(247,252,255,.95);backdrop-filter:blur(6px)}

.cp-admin-prof-config--v127 .cp-admin-prof-card{width:100%;max-width:none}
.cp-admin-prof-config--v127 .cp-admin-prof-picker-wrap{
  margin:14px 0 12px;
  border:1px solid #cfe3ec;
  border-radius:17px;
  background:#f7fcfe;
  overflow:hidden;
}
.cp-admin-prof-config--v127 .cp-admin-prof-picker-head{
  display:grid;
  grid-template-columns:minmax(240px,1fr) minmax(260px,420px);
  align-items:end;
  gap:18px;
  padding:14px 16px;
  border-bottom:1px solid #dceaf0;
}
.cp-admin-prof-config--v127 .cp-admin-prof-picker-head>div{display:grid;gap:3px}
.cp-admin-prof-config--v127 .cp-admin-prof-picker-head>div strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#66818e}
.cp-admin-prof-config--v127 .cp-admin-prof-picker-head>div span{font-size:1.05rem;font-weight:800;color:#06344d}
.cp-admin-prof-config--v127 .cp-admin-prof-picker-head label{display:grid;gap:6px;margin:0;font-weight:750}
.cp-admin-prof-config--v127 .cp-admin-prof-picker{
  display:grid;
  grid-template-columns:repeat(4,minmax(190px,1fr));
  gap:8px;
  max-height:255px;
  overflow:auto;
  padding:10px;
}
.cp-admin-prof-config--v127 .cp-admin-prof-picker a{
  display:grid;
  gap:3px;
  min-width:0;
  padding:10px 12px;
  border:1px solid #dceaf0;
  border-radius:11px;
  background:#fff;
  color:#17394a;
  text-decoration:none;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
.cp-admin-prof-config--v127 .cp-admin-prof-picker a:hover{border-color:#8fb8c8;background:#f1f9fc;transform:translateY(-1px)}
.cp-admin-prof-config--v127 .cp-admin-prof-picker a.is-selected{border-color:#5f8798;background:#eaf5fa;box-shadow:inset 0 0 0 1px #5f8798}
.cp-admin-prof-config--v127 .cp-admin-prof-picker a strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-admin-prof-config--v127 .cp-admin-prof-picker a small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#66818e}
.cp-admin-prof-config--v127 .cp-admin-prof-delete{margin:10px 0 14px}

.cp-admin-prof-config--v127 .cp-prof-section--agenda{width:100%;padding:17px;margin:15px 0}
.cp-admin-prof-config--v127 .cp-prof-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:13px}
.cp-admin-prof-config--v127 .cp-prof-section-head h3{margin:0 0 4px}
.cp-admin-prof-config--v127 .cp-prof-section-head p{margin:0;max-width:900px}
.cp-admin-prof-config--v127 .cp-prof-section-head .pill{flex:0 0 auto;white-space:nowrap}
.cp-admin-prof-config--v127 .cp-prof-agenda-list{display:grid;gap:12px;max-width:none;width:100%}
.cp-admin-prof-config--v127 .cp-prof-agenda-block.cp-prof-repeat-row{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:11px!important;
  width:100%;
  min-width:0;
  padding:13px!important;
  border:1px solid #cfe3ed!important;
  border-radius:15px!important;
  background:#fbfeff!important;
  align-items:stretch!important;
}
.cp-admin-prof-config--v127 .cp-prof-agenda-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:9px;border-bottom:1px solid #deebf1}
.cp-admin-prof-config--v127 .cp-prof-agenda-head>div{display:flex;align-items:baseline;gap:10px;min-width:0}
.cp-admin-prof-config--v127 .cp-prof-agenda-head strong{font-size:1rem;color:#06344d}
.cp-admin-prof-config--v127 .cp-prof-agenda-head span{font-size:.78rem;color:#66818e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-admin-prof-config--v127 .cp-prof-agenda-main-grid{
  display:grid;
  grid-template-columns:minmax(220px,1.45fr) minmax(130px,.7fr) minmax(95px,.45fr) minmax(165px,.8fr) minmax(100px,.45fr) minmax(135px,.65fr) minmax(190px,.9fr);
  gap:9px 11px;
  align-items:end;
}
.cp-admin-prof-config--v127 .cp-prof-agenda-main-grid>label,
.cp-admin-prof-config--v127 .cp-prof-agenda-time-grid>label,
.cp-admin-prof-config--v127 .cp-prof-agenda-monthly>label{display:grid;gap:5px;margin:0;font-size:.8rem;font-weight:800;color:#284d60;min-width:0}
.cp-admin-prof-config--v127 .cp-prof-agenda-main-grid input,
.cp-admin-prof-config--v127 .cp-prof-agenda-main-grid select,
.cp-admin-prof-config--v127 .cp-prof-agenda-time-grid input,
.cp-admin-prof-config--v127 .cp-prof-agenda-monthly input{min-height:40px;padding:8px 10px}
.cp-admin-prof-config--v127 .cp-prof-agenda-switch{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
  min-height:40px!important;
  padding:8px 10px!important;
  border:1px solid #dce9ef!important;
  border-radius:10px!important;
  background:#fff!important;
  font-size:.78rem!important;
  line-height:1.15;
}
.cp-admin-prof-config--v127 .cp-prof-agenda-switch input{width:17px!important;height:17px!important;min-height:auto!important;flex:0 0 17px;margin:0!important;padding:0!important}
.cp-admin-prof-config--v127 .cp-prof-days{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(105px,1fr))!important;
  gap:7px!important;
  margin:0!important;
  padding:8px 10px 10px!important;
  border:1px solid #d9e9f0!important;
  border-radius:12px!important;
  background:#fff!important;
}
.cp-admin-prof-config--v127 .cp-prof-days legend{padding:0 7px;font-size:.8rem;color:#284d60;font-weight:800}
.cp-admin-prof-config--v127 .cp-prof-days label{min-height:36px!important;padding:6px 9px!important;border-radius:9px!important;font-size:.82rem!important}
.cp-admin-prof-config--v127 .cp-prof-agenda-monthly{
  display:grid;
  grid-template-columns:minmax(210px,300px) 1fr;
  align-items:end;
  gap:12px;
  padding:9px 11px;
  border:1px solid #d9e9f0;
  border-radius:11px;
  background:#f4fafc;
}
.cp-admin-prof-config--v127 .cp-prof-agenda-monthly[hidden]{display:none!important}
.cp-admin-prof-config--v127 .cp-prof-agenda-monthly small{align-self:center;color:#607985;line-height:1.35}
.cp-admin-prof-config--v127 .cp-prof-agenda-time-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:9px 11px}

@media(max-width:1380px){
  .cp-admin-prof-config--v127 .cp-admin-prof-picker{grid-template-columns:repeat(3,minmax(190px,1fr))}
  .cp-admin-prof-config--v127 .cp-prof-agenda-main-grid{grid-template-columns:repeat(4,minmax(160px,1fr))}
  .cp-admin-prof-config--v127 .cp-prof-agenda-name{grid-column:span 2}
  .cp-admin-prof-config--v127 .cp-prof-days{grid-template-columns:repeat(3,minmax(120px,1fr))!important}
}
@media(max-width:900px){
  .cpst-doc-config-grid{grid-template-columns:1fr}
  .cp-admin-prof-config--v127 .cp-admin-prof-picker-head{grid-template-columns:1fr}
  .cp-admin-prof-config--v127 .cp-admin-prof-picker{grid-template-columns:repeat(2,minmax(160px,1fr))}
  .cp-admin-prof-config--v127 .cp-prof-agenda-main-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cp-admin-prof-config--v127 .cp-prof-agenda-name{grid-column:1/-1}
  .cp-admin-prof-config--v127 .cp-prof-agenda-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .cp-admin-prof-config--v127 .cp-admin-prof-picker{grid-template-columns:1fr;max-height:320px}
  .cp-admin-prof-config--v127 .cp-prof-section-head,.cp-admin-prof-config--v127 .cp-prof-agenda-head{flex-direction:column;align-items:stretch}
  .cp-admin-prof-config--v127 .cp-prof-agenda-head>div{display:grid;gap:3px}
  .cp-admin-prof-config--v127 .cp-prof-agenda-main-grid,.cp-admin-prof-config--v127 .cp-prof-agenda-time-grid,.cp-admin-prof-config--v127 .cp-prof-agenda-monthly{grid-template-columns:1fr}
  .cp-admin-prof-config--v127 .cp-prof-days{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* v128: carátula configurable + recetario legal separado */
.cpst-legal-recipe-preview{font-size:12px!important;min-height:650px;position:relative;padding:24px!important}
.cpst-legal-header{text-align:center;margin-bottom:10px}.cpst-legal-header img{max-width:100%;max-height:90px;object-fit:contain}
.cpst-legal-prof{text-align:center;margin:8px 0 18px}.cpst-legal-prof strong,.cpst-legal-prof span,.cpst-legal-prof small{display:block}.cpst-legal-prof strong{font-size:15px}.cpst-legal-prof span{margin-top:2px}.cpst-legal-prof small{margin-top:2px;opacity:.75}
.cpst-legal-top{display:flex;justify-content:space-between;gap:20px;font-size:11px;line-height:1.55;margin-bottom:12px}.cpst-legal-top>div:last-child{text-align:right;opacity:.78}
.cpst-legal-recipe-preview>h3{font-size:17px;margin:6px 0 10px;color:#132d3b}
.cpst-legal-box{border:1px solid #d7e1e7;border-radius:10px;padding:13px}.cpst-legal-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;line-height:1.55}.cpst-legal-cols b{display:inline-block;margin-top:5px}.cpst-legal-cols small{opacity:.72}
.cpst-legal-box table{width:100%;border-collapse:collapse;margin-top:13px}.cpst-legal-box th,.cpst-legal-box td{border:1px solid #e0e7eb;padding:8px;text-align:left;vertical-align:top}.cpst-legal-box th{background:#f5f8fa}
.cpst-legal-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin:46px 0 24px}.cpst-legal-qr{width:82px;height:82px;border:1px solid #d7e1e7;border-radius:8px;display:grid;place-items:center;font-weight:800}.cpst-legal-sign{width:190px;border-top:1px solid #8198a5;padding-top:8px;text-align:center}
.cpst-legal-recipe-preview footer{text-align:center;border-top:1px solid #e1e8ec;padding-top:11px;font-size:10px;line-height:1.45}.cpst-legal-recipe-preview footer small{display:block;margin-top:5px;opacity:.72}
@media(max-width:720px){.cpst-legal-cols{grid-template-columns:1fr}.cpst-legal-top{flex-direction:column}.cpst-legal-top>div:last-child{text-align:left}.cpst-legal-bottom{gap:20px}.cpst-legal-sign{width:150px}}

/* v129 · Profesionales: habilitaciones compactas y agendas sin consultorio */
.cp-admin-prof-config--v129 .cp-prof-section--habilitaciones{
  width:100%;
  max-width:none;
  padding:16px;
  margin:14px 0;
}
.cp-admin-prof-config--v129 .cp-prof-section--habilitaciones>h3{
  margin:0 0 12px;
  font-size:1.25rem;
}
.cp-admin-prof-config--v129 .cp-prof-section--habilitaciones .cp-prof-toggle-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(220px,1fr));
  gap:9px;
  width:100%;
  max-width:none;
  align-items:start;
}
.cp-admin-prof-config--v129 .cp-prof-section--habilitaciones .cp-prof-toggle-group{
  min-width:0;
  border-radius:12px;
}
.cp-admin-prof-config--v129 .cp-prof-section--habilitaciones .cp-prof-toggle-group--wide{
  grid-column:1/-1;
}
.cp-admin-prof-config--v129 .cp-prof-section--habilitaciones .cp-prof-toggle{
  min-height:44px;
  padding:10px 12px!important;
  gap:9px!important;
  font-size:.88rem;
  line-height:1.25;
}
.cp-admin-prof-config--v129 .cp-prof-section--habilitaciones .cp-prof-dependent{
  padding:12px;
  border-top:1px solid #deebf1;
  background:#fff;
}
.cp-admin-prof-config--v129 .cp-prof-section--habilitaciones .cp-prof-dependent>label:first-child{
  margin-top:0;
}
.cp-admin-prof-config--v129 .cp-prof-firsttime{
  display:grid;
  gap:10px;
  width:100%;
}
.cp-admin-prof-config--v129 .cp-prof-firsttime-head{
  display:grid;
  gap:4px;
}
.cp-admin-prof-config--v129 .cp-prof-firsttime-head strong{
  color:#06344d;
  font-size:.96rem;
}
.cp-admin-prof-config--v129 .cp-prof-firsttime-head p{
  margin:0;
  color:#526f7d;
  font-size:.82rem;
  line-height:1.4;
}
.cp-admin-prof-config--v129 .cp-prof-firsttime-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.cp-admin-prof-config--v129 .cp-prof-firsttime-card{
  min-width:0;
  padding:10px;
  border:1px solid #e1ebf0;
  border-radius:11px;
  background:#f8fbfc;
}
.cp-admin-prof-config--v129 .cp-prof-firsttime-card>.cp-prof-toggle{
  min-height:auto;
  padding:0 0 9px!important;
  border:0!important;
  background:transparent!important;
}
.cp-admin-prof-config--v129 .cp-prof-firsttime-card>label:last-child{
  display:grid;
  gap:5px;
  margin:0;
  color:#284d60;
  font-size:.8rem;
  font-weight:800;
}
.cp-admin-prof-config--v129 .cp-prof-firsttime-card select{
  min-height:38px;
  padding:7px 9px;
}
.cp-admin-prof-config--v129 .cp-prof-agenda-main-grid{
  grid-template-columns:minmax(220px,1.55fr) minmax(135px,.72fr) minmax(165px,.8fr) minmax(105px,.48fr) minmax(145px,.7fr) minmax(190px,.9fr);
}
@media(max-width:1380px){
  .cp-admin-prof-config--v129 .cp-prof-section--habilitaciones .cp-prof-toggle-list{grid-template-columns:repeat(2,minmax(220px,1fr));}
  .cp-admin-prof-config--v129 .cp-prof-agenda-main-grid{grid-template-columns:repeat(3,minmax(170px,1fr));}
  .cp-admin-prof-config--v129 .cp-prof-agenda-name{grid-column:span 2;}
}
@media(max-width:760px){
  .cp-admin-prof-config--v129 .cp-prof-section--habilitaciones .cp-prof-toggle-list,
  .cp-admin-prof-config--v129 .cp-prof-firsttime-grid{grid-template-columns:1fr;}
  .cp-admin-prof-config--v129 .cp-prof-section--habilitaciones .cp-prof-toggle-group--wide{grid-column:auto;}
}

/* v131: carga directa de logo en la carátula de pedidos */
.cpst-logo-field{display:block}
.cpst-logo-upload-control{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;margin-top:8px}
.cpst-logo-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;margin:0!important;padding:0!important}
.cpst-logo-upload-button{min-height:46px;padding:0 22px;border:0;border-radius:13px;background:#c6ddeb;color:#06344d;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap}
.cpst-logo-upload-button:hover{filter:brightness(.97)}
.cpst-logo-file-name{min-height:46px;display:flex;align-items:center;padding:0 14px;border:1px solid #c7dfea;border-radius:12px;background:#fff;color:#506b79;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cpst-logo-url-input{margin-top:10px!important}
.cpst-logo-help{display:block;margin-top:7px;color:#667f8c;font-weight:500}
@media (max-width:680px){.cpst-logo-upload-control{grid-template-columns:1fr}.cpst-logo-upload-button{width:100%}}


/* v135 · Fuerza la vista compacta actual de agendas profesionales */
.cp-admin-prof-config--v135 .cp-prof-section--agenda{
  width:100%!important;
  max-width:none!important;
  padding:16px!important;
  margin:14px 0!important;
}
.cp-admin-prof-config--v135 .cp-prof-agenda-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  width:100%!important;
  max-width:none!important;
}
.cp-admin-prof-config--v135 .cp-prof-agenda-block.cp-prof-repeat-row{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  width:100%!important;
  max-width:none!important;
  padding:12px!important;
  border:1px solid #cfe3ed!important;
  border-radius:14px!important;
  background:#fbfeff!important;
}
.cp-admin-prof-config--v135 .cp-prof-agenda-main-grid{
  display:grid!important;
  grid-template-columns:minmax(220px,1.55fr) minmax(135px,.72fr) minmax(165px,.8fr) minmax(105px,.48fr) minmax(145px,.7fr) minmax(190px,.9fr)!important;
  gap:8px 10px!important;
  align-items:end!important;
}
.cp-admin-prof-config--v135 .cp-prof-days{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(105px,1fr))!important;
  gap:7px!important;
  width:100%!important;
  margin:0!important;
  padding:8px 10px 10px!important;
}
.cp-admin-prof-config--v135 .cp-prof-agenda-time-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(150px,1fr))!important;
  gap:8px 10px!important;
}
.cp-admin-prof-config--v135 .cp-prof-section--habilitaciones{
  width:100%!important;
  max-width:none!important;
  padding:15px!important;
}
.cp-admin-prof-config--v135 .cp-prof-section--habilitaciones .cp-prof-toggle-list{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(220px,1fr))!important;
  gap:9px!important;
  width:100%!important;
  max-width:none!important;
}
@media(max-width:1380px){
  .cp-admin-prof-config--v135 .cp-prof-agenda-main-grid{grid-template-columns:repeat(3,minmax(170px,1fr))!important}
  .cp-admin-prof-config--v135 .cp-prof-agenda-name{grid-column:span 2!important}
  .cp-admin-prof-config--v135 .cp-prof-days{grid-template-columns:repeat(3,minmax(120px,1fr))!important}
  .cp-admin-prof-config--v135 .cp-prof-section--habilitaciones .cp-prof-toggle-list{grid-template-columns:repeat(2,minmax(220px,1fr))!important}
}
@media(max-width:900px){
  .cp-admin-prof-config--v135 .cp-prof-agenda-main-grid,
  .cp-admin-prof-config--v135 .cp-prof-agenda-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cp-admin-prof-config--v135 .cp-prof-agenda-name{grid-column:1/-1!important}
}
@media(max-width:760px){
  .cp-admin-prof-config--v135 .cp-prof-section--habilitaciones .cp-prof-toggle-list{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  .cp-admin-prof-config--v135 .cp-prof-agenda-main-grid,
  .cp-admin-prof-config--v135 .cp-prof-agenda-time-grid{grid-template-columns:1fr!important}
  .cp-admin-prof-config--v135 .cp-prof-days{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* v181 · tipografía web, responsive integral y PWA */
:root{--cp-font-ui:'Nunito Sans',Arial,sans-serif!important;--cp-font-title:'Comfortaa','Nunito Sans',sans-serif!important}
body,button,input,select,textarea,.app-main,.cp-private-shell,.cp-admin-noside-shell,.cp-prof-noside-shell,.cp-patient-shell{font-family:var(--cp-font-ui)!important}
h1,h2,h3,.app-head h1,.cp-admin-noside-title h1,.cp-prof-noside-title h1,.cp-module-title,.cp-card-title{font-family:var(--cp-font-title)!important}
.cp-pwa-install{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:100000;border:0;border-radius:999px;padding:12px 18px;background:#0b4f66;color:#fff;font:800 .88rem var(--cp-font-ui);box-shadow:0 10px 28px rgba(6,42,68,.24);cursor:pointer}
.cp-pwa-install:hover{filter:brightness(1.08)}
.cpst-table-wrap,.cp-table-wrap,.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
img,svg,video,canvas{max-width:100%}
@media(max-width:980px){
  html,body{max-width:100%;overflow-x:hidden}
  .app-shell,.cp-private-shell,.cp-admin-shell,.cp-dashboard-shell{display:grid!important;grid-template-columns:1fr!important;width:100%!important;min-width:0!important}
  .sidebar,.cp-private-sidebar,.cp-admin-sidebar{position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;padding:8px!important;gap:6px!important;white-space:nowrap!important}
  .sidebar>img,.sidebar>p,.cp-private-sidebar__brand,.cp-private-sidebar__user{display:none!important}
  .sidebar nav,.cp-private-sidebar nav{display:flex!important;flex-direction:row!important;gap:6px!important;width:max-content!important}
  .side-group{display:flex!important;gap:6px!important;align-items:center!important}
  .side-group>span{display:none!important}
  .sidebar a,.cp-private-sidebar a{display:inline-flex!important;min-height:42px!important;align-items:center!important;border-radius:10px!important;padding:8px 11px!important}
  .app-main,.cp-private-main,.cp-admin-noside-main,.cp-prof-noside-main,.cp-patient-main{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:16px!important}
  .app-head,.cp-admin-noside-topbar,.cp-prof-noside-topbar{gap:10px!important;flex-wrap:wrap!important}
  .cpst-form-grid,.cpst-two,.cp-two,.form-grid,.cp-admin-grid,.cp-dashboard-grid{grid-template-columns:1fr!important}
  .cpst-span-2,.cp-span-2{grid-column:auto!important}
  .modal__box,.cp-modal,.cp-dialog{width:min(94vw,720px)!important;max-width:94vw!important;max-height:90vh!important;overflow:auto!important}
}
@media(max-width:640px){
  .app-main,.cp-private-main,.cp-admin-noside-main,.cp-prof-noside-main,.cp-patient-main{padding:11px!important}
  .app-head h1,.cp-admin-noside-title h1,.cp-prof-noside-title h1{font-size:1.45rem!important}
  .cpst-actions,.cp-actions,.form-actions{display:grid!important;grid-template-columns:1fr!important}
  .cpst-actions .btn,.cp-actions .btn,.form-actions button{width:100%!important}
  .cp-pwa-install{right:12px;bottom:12px;padding:10px 15px}
}
