.rp-prof-panel{
  --rp-blue:#0b78aa;
  --rp-text:#1f2937;
  --rp-muted:#667085;
  --rp-border:#e5e7eb;
  --rp-bg:#f5f7fa;
  --rp-sidebar-closed:78px;
  --rp-sidebar-open:280px;
  display:grid;
  grid-template-columns:var(--rp-sidebar-closed) minmax(0,1fr);
  min-height:calc(100vh - 80px);
  background:var(--rp-bg);
  color:var(--rp-text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
  border:1px solid var(--rp-border);
  border-radius:18px;
  overflow:hidden;
  transition:grid-template-columns .22s ease;
  position:relative;
  isolation:isolate;
  width:min(1280px, calc(100vw - 32px));
  margin-left:50%;
  transform:translateX(-50%);
}
.rp-prof-panel *{box-sizing:border-box}

.rp-prof-panel.rp-sidebar-expanded{grid-template-columns:var(--rp-sidebar-open) minmax(0,1fr)}
.rp-prof-sidebar{
  background:#fff;
  border-right:1px solid var(--rp-border);
  padding:18px 10px;
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
  width:var(--rp-sidebar-closed);
  overflow:hidden;
  box-sizing:border-box;
  transition:width .22s ease,padding .22s ease;
  z-index:5;
}
.rp-prof-panel.rp-sidebar-expanded .rp-prof-sidebar{width:var(--rp-sidebar-open);padding:18px 16px}
.rp-prof-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 18px;width:100%;height:44px;overflow:hidden}
.rp-prof-panel.rp-sidebar-expanded .rp-prof-brand{justify-content:flex-start}
.rp-prof-brand span{width:42px;height:42px;min-width:42px;border-radius:14px;background:var(--rp-blue);color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px;line-height:1;flex:none}
.rp-prof-brand strong{display:block;opacity:0;max-width:0;overflow:hidden;white-space:nowrap;color:var(--rp-text);font-size:16px;line-height:1.2;font-weight:700;transition:opacity .16s ease,max-width .22s ease}
.rp-prof-panel.rp-sidebar-expanded .rp-prof-brand strong{opacity:1;max-width:200px}
.rp-sidebar-toggle{display:none}
.rp-prof-sidebar a{width:52px;height:52px;min-height:52px;margin:2px auto;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:0;box-sizing:border-box;color:#344054;background:transparent;text-decoration:none;font-size:0;line-height:1;overflow:hidden;white-space:nowrap;padding:0;transition:background .15s ease,color .15s ease,width .22s ease,justify-content .22s ease,padding .22s ease}
.rp-prof-panel.rp-sidebar-expanded .rp-prof-sidebar a{width:100%;height:48px;min-height:48px;margin:2px 0;padding:0 14px;justify-content:flex-start;gap:14px;font-size:15px}
.rp-prof-sidebar a.active,.rp-prof-sidebar a:hover{background:#e9f5fb;color:#075b82}
.rp-prof-sidebar a::before{content:none!important;display:none!important}
.rp-nav-icon{width:24px;height:24px;min-width:24px;display:inline-flex;align-items:center;justify-content:center;color:currentColor;flex:0 0 24px;overflow:hidden}
.rp-nav-icon svg,.rp-prof-sidebar a svg{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;transform:none!important}
.rp-nav-label{display:inline-block;opacity:0;max-width:0;width:0;overflow:hidden;white-space:nowrap;color:inherit;font-size:15px;font-weight:400;line-height:1.2;transition:opacity .16s ease,max-width .22s ease,width .22s ease}
.rp-prof-panel.rp-sidebar-expanded .rp-nav-label{opacity:1;max-width:190px;width:auto}
.rp-prof-main{padding:28px;overflow:hidden;min-width:0}
.rp-prof-section{display:none}.rp-prof-section.active{display:block}
.rp-prof-head{margin-bottom:22px}.rp-head-actions{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.rp-prof-head h1{font-size:34px;line-height:1.1;margin:0 0 8px;font-weight:700}.rp-prof-head p{margin:0;color:var(--rp-muted);font-size:16px}.rp-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.rp-kpis div,.rp-card,.rp-list-card,.rp-patient-card,.rp-table-card,.rp-calendar-shell,.rp-detail-card{background:#fff;border:1px solid var(--rp-border);border-radius:14px;padding:20px;box-shadow:none}.rp-kpis strong{display:block;font-size:30px}.rp-kpis span{color:var(--rp-muted)}.rp-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--rp-blue);color:#fff!important;border:0;border-radius:10px;padding:12px 18px;text-decoration:none;font-weight:500;cursor:pointer;line-height:1}.rp-btn-small{padding:9px 12px;font-size:13px}.rp-btn-light{background:#eef8fc!important;color:#075b82!important}.rp-calendar-toolbar{margin-bottom:16px}.rp-calendar-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.rp-calendar-title strong{font-size:20px}.rp-calendar-title span{color:var(--rp-muted);font-size:14px}.rp-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:8px}.rp-calendar-weekdays span{text-align:center;font-size:12px;color:var(--rp-muted);font-weight:600}.rp-admin-calendar{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:10px}.rp-day-cell{min-height:118px;text-align:left;background:#fff;border:1px solid var(--rp-border);border-radius:12px;padding:12px;cursor:pointer;color:var(--rp-text);transition:border-color .15s,transform .15s}.rp-day-cell:hover{border-color:var(--rp-blue);transform:translateY(-1px)}.rp-day-cell strong{display:block;font-size:18px;margin-bottom:8px}.rp-day-cell span{display:block;font-size:12px;background:#eef8fc;border-radius:8px;padding:4px 6px;margin:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-day-cell em{font-style:normal;font-size:12px;color:var(--rp-muted)}.rp-day-empty{visibility:hidden}.rp-day-cell.is-free{background:#fbfffd}.rp-day-cell.has-patients{background:#f7fbff;border-color:#c9e6f4}.rp-list-card{margin-top:22px}.rp-list-card h2,.rp-card h2{margin:0 0 16px;font-size:22px}.rp-row,.rp-note-row{display:grid;grid-template-columns:120px 1fr 140px;gap:12px;border-top:1px solid var(--rp-border);padding:12px 0}.rp-row:first-of-type,.rp-note-row:first-of-type{border-top:0}.rp-row em{font-style:normal;color:var(--rp-muted)}.rp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.rp-form-grid label{display:flex;flex-direction:column;gap:7px;font-weight:500}.rp-form-grid input,.rp-form-grid select,.rp-form-grid textarea{width:100%;border:1px solid var(--rp-border);border-radius:10px;padding:12px 13px;background:#fff;min-height:46px}.rp-form-grid textarea{min-height:110px}.rp-form-grid .full{grid-column:1/-1}.rp-checks{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:14px!important}.rp-checks strong{width:100%}.rp-checks label{flex-direction:row!important;align-items:center}.rp-modal{display:none;position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:99999;padding:30px;align-items:center;justify-content:center}.rp-modal.active{display:flex}.rp-modal-box{position:relative;background:#fff;width:min(860px,96vw);max-height:90vh;overflow:auto;border-radius:18px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.rp-modal-close{position:absolute;right:18px;top:14px;border:0;background:#f2f4f7;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer}.rp-modal h2{margin:0 0 18px;font-size:28px}.rp-login-required{padding:24px;background:#fff4e5;border:1px solid #ffd8a8;border-radius:12px}.rp-next-card{max-width:640px}.rp-note-row{display:block}.rp-note-row p{color:var(--rp-muted);margin:6px 0 0}.rp-table-tools{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}.rp-table-tools input{width:min(420px,100%);border:1px solid var(--rp-border);border-radius:10px;padding:12px 14px}.rp-table-tools span{color:var(--rp-muted);font-size:14px}.rp-responsive-table{overflow:auto}.rp-patient-table{width:100%;border-collapse:collapse;min-width:920px}.rp-patient-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--rp-muted);text-align:left;border-bottom:1px solid var(--rp-border);padding:12px}.rp-patient-table td{border-bottom:1px solid #eef0f3;padding:14px 12px;vertical-align:middle;font-size:14px}.rp-patient-table td strong{display:block;font-size:15px}.rp-patient-table small{display:block;color:var(--rp-muted);font-size:12px;margin-top:3px}.rp-patient-detail-screen{display:none}.rp-patient-detail-screen.active{display:block}.rp-patients-list-view.hidden{display:none}.rp-detail-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;color:var(--rp-muted)}.rp-detail-hero{background:#fff;border:1px solid var(--rp-border);border-radius:16px;padding:24px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.rp-detail-hero small{color:var(--rp-muted)}.rp-detail-hero h1{margin:6px 0 8px;font-size:38px;line-height:1.05}.rp-detail-hero p{margin:0;color:var(--rp-muted)}.rp-detail-actions{display:flex;gap:10px;flex-wrap:wrap}.rp-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.rp-detail-card h3{margin:0 0 14px;font-size:18px}.rp-detail-card table{width:100%;border-collapse:collapse}.rp-detail-card th,.rp-detail-card td{border-bottom:1px solid #eef0f3;padding:9px 0;text-align:left;vertical-align:top;font-size:14px}.rp-detail-card th{color:var(--rp-muted);font-weight:500;width:36%}.rp-detail-card td{color:var(--rp-text)}.rp-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rp-mini-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eef0f3;padding:9px 0;margin:0!important}.rp-mini-row span{font-weight:500;color:var(--rp-text)}.rp-mini-row em{font-style:normal;color:var(--rp-muted);text-align:right}.rp-history-item{border-bottom:1px solid #eef0f3;padding:10px 0}.rp-history-item:first-of-type{padding-top:0}.rp-history-item strong{display:block;margin-bottom:4px}.rp-history-item p{margin:0;color:var(--rp-muted);line-height:1.5}.rp-patient-grid,.rp-patient-grid-full,.rp-patient-file,.rp-file-grid,.rp-file-columns,.rp-file-actions{all:unset}
@media(max-width:1100px){.rp-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-detail-hero{display:block}.rp-detail-actions{margin-top:16px}}
@media(max-width:980px){.rp-prof-panel,.rp-prof-panel.rp-sidebar-expanded{display:block;grid-template-columns:1fr;min-height:auto;overflow:visible}.rp-prof-sidebar,.rp-prof-panel.rp-sidebar-expanded .rp-prof-sidebar{width:100%;min-width:0;max-width:none;height:auto;padding:12px;position:sticky;top:0;align-items:stretch}.rp-prof-brand{justify-content:flex-start;margin:0}.rp-prof-brand strong,.rp-nav-label{opacity:1;width:auto;max-width:none}.rp-sidebar-toggle{display:inline-grid;margin-left:auto;border:0;background:#f2f4f7;border-radius:10px;width:38px;height:38px;place-items:center;cursor:pointer;color:#344054}.rp-prof-sidebar a{display:none;width:100%;height:48px;font-size:15px;justify-content:flex-start;padding:0 14px;gap:14px;margin:2px 0}.rp-prof-sidebar.mobile-open a{display:flex}.rp-prof-main{padding:18px}.rp-kpis,.rp-form-grid,.rp-detail-grid,.rp-detail-columns{grid-template-columns:1fr}.rp-admin-calendar{grid-template-columns:repeat(2,1fr)}.rp-calendar-weekdays{display:none}.rp-row{grid-template-columns:1fr}.rp-prof-head h1{font-size:28px}.rp-head-actions,.rp-detail-topbar{display:block}.rp-detail-hero h1{font-size:30px}.rp-modal{padding:14px}.rp-responsive-table{margin-left:-8px;margin-right:-8px}.rp-table-tools{display:block}.rp-table-tools input{margin-bottom:10px}.rp-day-empty{display:none}}
.rp-form-title{font-size:18px!important;margin:8px 0 0!important;color:var(--rp-text);font-weight:650;border-top:1px solid var(--rp-border);padding-top:14px}.rp-form-title:first-of-type{border-top:0;padding-top:0}.rp-coverage-details-wrap{display:none}.rp-patient-form.has-coverage-details .rp-coverage-details-wrap{display:flex}.rp-next-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#f8fbfd;border:1px solid var(--rp-border);border-radius:14px;padding:16px 18px;margin-bottom:16px}.rp-next-banner strong{font-size:16px}.rp-next-banner span{color:var(--rp-text)}.rp-next-banner em{font-style:normal;color:var(--rp-muted);margin-left:auto}.rp-detail-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-patient-schedule-card{margin-bottom:16px}.rp-patient-schedule-card p{color:var(--rp-muted);margin-top:-4px}.rp-inline-appointment{margin-top:16px}.rp-debt-box{display:flex;justify-content:space-between;align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:12px 14px;margin-bottom:12px}.rp-debt-box span{font-size:20px;font-weight:700;color:#9a3412}.rp-payment-form{margin-top:16px;padding-top:14px;border-top:1px solid var(--rp-border)}
@media(max-width:1100px){.rp-detail-grid-wide{grid-template-columns:1fr}.rp-next-banner em{margin-left:0}}

/* Historia clínica avanzada */
.rp-history-list-view.hidden{display:none!important}
.rp-history-detail-screen{display:none}
.rp-history-detail-screen.active{display:block}
.rp-history-patient-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.rp-history-patient-card{appearance:none;background:#fff;border:1px solid var(--rp-border);border-radius:14px;padding:16px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px;color:var(--rp-text);transition:border-color .15s,transform .15s}
.rp-history-patient-card:hover{border-color:var(--rp-blue);transform:translateY(-1px)}
.rp-history-patient-card strong{font-size:15px;line-height:1.35}
.rp-history-patient-card span{font-size:13px;color:var(--rp-muted)}
.rp-history-patient-card em{font-size:12px;font-style:normal;color:var(--rp-blue)}
.rp-history-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,180px) minmax(0,180px);gap:12px;margin:0 0 16px;align-items:end;max-width:100%;overflow:hidden}
.rp-history-filter-field{display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0!important;max-width:100%!important;width:100%!important;margin:0!important;font-weight:600;color:var(--rp-text)}
.rp-history-filter-field span{font-size:12px;line-height:1.2;color:var(--rp-muted);font-weight:700}
.rp-history-filter-field span em{font-style:normal;font-weight:600;color:#98a2b3}
.rp-history-filters input{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;border:1px solid var(--rp-border);border-radius:10px;padding:12px 13px;background:#fff;min-height:46px}
.rp-history-timeline{display:flex;flex-direction:column;gap:14px}
.rp-history-entry{border:1px solid #e8edf2;border-radius:14px;padding:16px;background:#fff}
.rp-history-entry time{display:inline-flex;margin-bottom:10px;font-weight:700;color:var(--rp-blue)}
.rp-history-entry h3{font-size:14px;margin:10px 0 6px;color:var(--rp-text)}
.rp-history-entry p{margin:0;color:var(--rp-muted);line-height:1.65;white-space:pre-line}
.rp-history-inline-form{margin-top:16px;padding-top:14px;border-top:1px solid #eef0f3}
.rp-history-inline-form textarea{min-height:86px}
.rp-open-history-patient{margin-top:12px}
@media(max-width:980px){.rp-history-patient-grid{grid-template-columns:1fr}.rp-history-filters{grid-template-columns:1fr!important;width:100%!important;max-width:100%!important;gap:10px!important;overflow:hidden!important}.rp-history-filters input{width:100%!important;max-width:100%!important;min-width:0!important}.rp-history-search-card{padding:16px!important;overflow:hidden!important}.rp-history-search-card h2{font-size:28px!important;line-height:1.12!important}.rp-history-search-card .rp-muted{font-size:16px!important;line-height:1.45!important}.rp-history-filter-field span{display:block!important}}
@media(max-width:520px){.rp-history-search-card{padding:14px!important}.rp-history-filters{gap:9px!important}.rp-history-filter-search input::placeholder{font-size:14px}.rp-history-filters input{font-size:16px!important;padding:11px 12px!important}}

/* Disponibilidad: guardar bien y evitar checkboxes gigantes */
.rp-form-grid input[type="checkbox"],
.rp-form-grid input[type="radio"]{
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  padding:0!important;
  margin:0!important;
  flex:0 0 18px!important;
  accent-color:var(--rp-blue);
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
}
.rp-form-grid label.rp-switch-row{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  min-height:46px;
  padding:12px 13px;
  border:1px solid var(--rp-border);
  border-radius:10px;
  background:#fff;
  font-weight:500;
}
.rp-form-grid label.rp-switch-row span{line-height:1.2}
.rp-checks.rp-workdays{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:10px!important;
}
.rp-checks.rp-workdays strong{grid-column:1/-1;width:auto;margin-bottom:2px}
.rp-checks.rp-workdays label{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
  border:1px solid var(--rp-border);
  border-radius:10px;
  padding:10px 12px;
  background:#fff;
  font-weight:500;
}
.rp-saved-notice{background:#ecfdf3;border:1px solid #abefc6;color:#067647;border-radius:12px;padding:12px 14px;margin:0 0 14px;font-weight:600}
@media(max-width:980px){.rp-checks.rp-workdays{grid-template-columns:repeat(2,minmax(0,1fr));}}
.rp-btn-danger{background:#b42318!important;color:#fff!important}
.rp-detail-actions form{margin:0;display:inline-flex}
.rp-error-notice{background:#fff3f0;border:1px solid #fecdca;color:#b42318;border-radius:12px;padding:12px 14px;margin:12px 0;font-weight:600}
.rp-form-help{font-size:13px;color:var(--rp-muted);background:#f8fafc;border:1px solid var(--rp-border);border-radius:10px;padding:12px}
.rp-patient-calendar-picker{margin:16px 0 18px}
.rp-patient-calendar-grid .rp-day-cell.is-blocked{background:#f2f4f7;color:#98a2b3;cursor:not-allowed;opacity:.75}
.rp-patient-calendar-grid .rp-day-cell.selected{border-color:var(--rp-blue)!important;box-shadow:0 0 0 3px rgba(11,120,170,.12)}
.rp-patient-calendar-grid .rp-day-cell:disabled{transform:none!important}
.rp-inline-appointment{margin-top:16px;border-top:1px solid var(--rp-border);padding-top:16px}
@media(max-width:980px){.rp-admin-calendar{grid-template-columns:repeat(7,minmax(54px,1fr));gap:6px}.rp-day-cell{min-height:76px;padding:8px}.rp-day-cell span{display:none}.rp-detail-actions{width:100%}}

/* RP Psico v1.5.6 - calendario paciente multi-mes con globos de turnos estilo VBZ */
.rp-vbz-calendar-wrap{border:1px solid var(--rp-border);border-radius:16px;background:#fff;padding:14px;margin:16px 0 18px;overflow:hidden}
.rp-calendar-toolbar{display:grid;grid-template-columns:42px 1fr 42px;gap:12px;align-items:center;margin-bottom:12px}
.rp-calendar-toolbar strong{display:block;font-size:18px;color:var(--rp-text);line-height:1.2;text-transform:capitalize}
.rp-calendar-toolbar span{display:block;color:var(--rp-muted);font-size:13px;margin-top:3px}
.rp-cal-nav{width:42px;height:42px;border:1px solid var(--rp-border);border-radius:12px;background:#f8fafc;color:var(--rp-text);font-size:28px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .15s,border-color .15s,opacity .15s}
.rp-cal-nav:hover:not(:disabled){background:#edf7fb;border-color:#b6ddeb;color:var(--rp-blue)}
.rp-cal-nav:disabled{opacity:.35;cursor:not-allowed}
.rp-calendar-month[hidden]{display:none!important}
.rp-patient-calendar-grid{gap:8px!important}
.rp-patient-calendar-grid .rp-day-cell{position:relative;min-height:104px!important;align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important;padding:10px!important;border-radius:14px!important;overflow:hidden;background:#fff!important}
.rp-patient-calendar-grid .rp-day-cell strong{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;border-radius:9px;font-size:13px;font-weight:700;background:#f3f6f8;color:var(--rp-text);margin-bottom:6px}
.rp-patient-calendar-grid .rp-day-cell em{font-size:12px;color:var(--rp-muted);font-style:normal;display:block;margin-top:2px}
.rp-patient-calendar-grid .rp-day-cell.is-free{border:1px solid #d7e9ef!important;background:#fbfdfe!important}
.rp-patient-calendar-grid .rp-day-cell.has-patients{border:1px solid #b6ddeb!important;background:#eef9fd!important}
.rp-patient-calendar-grid .rp-day-cell.is-blocked{background:#f2f4f7!important;color:#98a2b3!important;border:1px solid #e4e7ec!important;cursor:not-allowed!important;opacity:.85!important}
.rp-patient-calendar-grid .rp-day-cell.selected{border-color:var(--rp-blue)!important;box-shadow:0 0 0 3px rgba(11,120,170,.14)!important;background:#e9f7fc!important}
.rp-turno-bubbles{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px;width:100%}
.rp-turno-bubble{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:44px!important;height:22px!important;border-radius:999px!important;padding:0 8px!important;background:var(--rp-blue)!important;color:#fff!important;font-size:11px!important;font-weight:650!important;line-height:1!important;box-shadow:none!important;border:0!important;white-space:nowrap!important}
.rp-turno-bubble.rp-status-pendiente{background:#f59e0b!important;color:#fff!important}
.rp-turno-bubble.rp-status-cancelado,.rp-turno-bubble.rp-status-ausente{background:#d92d20!important;color:#fff!important}
.rp-turno-bubble.rp-status-atendido{background:#16a34a!important;color:#fff!important}
.rp-turno-bubble.rp-more{background:#344054!important;color:#fff!important;min-width:30px!important}
.rp-patient-calendar-grid .rp-day-cell small{display:block;margin-top:7px;color:#0b789f;font-size:11px;font-weight:650}
@media(max-width:980px){.rp-calendar-toolbar{grid-template-columns:38px 1fr 38px}.rp-cal-nav{width:38px;height:38px;border-radius:10px}.rp-patient-calendar-grid{grid-template-columns:repeat(7,minmax(44px,1fr))!important;gap:5px!important}.rp-patient-calendar-grid .rp-day-cell{min-height:70px!important;padding:6px!important;border-radius:10px!important}.rp-patient-calendar-grid .rp-day-cell strong{min-width:22px;height:22px;font-size:12px}.rp-turno-bubbles{gap:3px}.rp-turno-bubble{min-width:28px!important;height:18px!important;font-size:9px!important;padding:0 5px!important}.rp-patient-calendar-grid .rp-day-cell small,.rp-patient-calendar-grid .rp-day-cell em{display:none!important}}

/* RP Psico v1.5.7 - agenda paciente compacta y vista previa */
.rp-compact-form{gap:10px!important;align-items:end}
.rp-compact-form label{gap:5px!important;font-size:13px!important;font-weight:500!important}
.rp-compact-form input,.rp-compact-form select,.rp-compact-form textarea{min-height:36px!important;padding:8px 10px!important;border-radius:8px!important;font-size:14px!important;line-height:1.25!important}
.rp-compact-form textarea{min-height:72px!important}
.rp-compact-form .rp-btn{min-height:36px!important;padding:9px 14px!important}
.rp-field-hint{font-size:11px!important;color:var(--rp-muted)!important;font-weight:400!important;margin-top:-2px!important}
.rp-patient-schedule-card{margin-top:18px!important;clear:both!important}
.rp-patient-schedule-card > h3{margin-bottom:6px!important}
.rp-patient-schedule-card > p{font-size:14px!important;line-height:1.35!important;margin:0 0 12px!important}
.rp-patient-calendar-picker{margin-bottom:14px!important}
.rp-patient-calendar-grid .rp-day-cell.preview-selected{outline:2px solid var(--rp-blue)!important;background:#eaf8ff!important;box-shadow:inset 0 0 0 2px rgba(14,129,173,.12)!important}
.rp-patient-calendar-grid .rp-day-cell.selected{border-color:var(--rp-blue)!important;background:#eef9ff!important}
.rp-appointment-preview{margin-top:4px!important;border-top:1px solid var(--rp-border)!important;padding-top:12px!important}
.rp-appointment-preview:empty{display:none!important}
.rp-appointment-preview h4{margin:0 0 10px!important;font-size:15px!important;font-weight:600!important;color:var(--rp-text)!important}
.rp-preview-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:8px!important}
.rp-preview-card{border:1px solid #cfe8f4!important;background:#f5fbff!important;border-radius:10px!important;padding:10px 12px!important;display:flex!important;flex-direction:column!important;gap:4px!important}
.rp-preview-card strong{font-size:14px!important;color:var(--rp-text)!important;font-weight:600!important}
.rp-preview-card span{font-size:12px!important;color:var(--rp-muted)!important}
.rp-preview-card.is-generated{background:#eef8fc!important}
.rp-preview-card.is-manual{background:#f8fbff!important;border-color:#b9dff0!important}
.rp-preview-alert{background:#fff7ed!important;border:1px solid #fed7aa!important;color:#9a3412!important;border-radius:10px!important;padding:10px 12px!important;margin-bottom:10px!important;font-size:13px!important;line-height:1.4!important}
.rp-manual-actions{margin-top:0!important}.rp-manual-actions .rp-btn{width:auto!important}
.rp-plan-edit-card .rp-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.rp-plan-edit-card .full{grid-column:1/-1!important}
@media(max-width:980px){.rp-plan-edit-card .rp-form-grid,.rp-compact-form{grid-template-columns:1fr!important}.rp-preview-grid{grid-template-columns:1fr!important}}

/* RP Psico v1.5.8 - ficha paciente compacta, calendario debajo y reprogramación */
.rp-patient-schedule-card{padding:18px!important}
.rp-patient-schedule-card .rp-inline-appointment{margin-top:10px!important;margin-bottom:14px!important}
.rp-patient-schedule-card .rp-form-grid.rp-compact-form{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;align-items:end!important}
.rp-patient-schedule-card .rp-compact-form label{font-size:12px!important;line-height:1.15!important;font-weight:500!important;gap:4px!important;margin:0!important}
.rp-patient-schedule-card .rp-compact-form input,
.rp-patient-schedule-card .rp-compact-form select,
.rp-patient-schedule-card .rp-compact-form textarea{min-height:30px!important;height:30px!important;padding:5px 8px!important;border-radius:7px!important;font-size:13px!important;line-height:1.15!important;box-sizing:border-box!important}
.rp-patient-schedule-card .rp-compact-form input[type="checkbox"]{width:15px!important;height:15px!important;min-height:15px!important;padding:0!important}
.rp-patient-schedule-card .rp-compact-form textarea{height:auto!important;min-height:58px!important}
.rp-patient-schedule-card .rp-compact-form .full{grid-column:1/-1!important}
.rp-patient-schedule-card .rp-compact-form .rp-btn{min-height:32px!important;padding:7px 12px!important;border-radius:8px!important;font-size:13px!important}
.rp-patient-schedule-card .rp-field-hint{font-size:10.5px!important;line-height:1.2!important;margin:0!important}
.rp-patient-schedule-card .rp-form-help{font-size:12px!important;padding:7px 10px!important;border-radius:8px!important;background:#f8fafc!important;color:#64748b!important}
.rp-patient-calendar-below{margin-top:10px!important;padding-top:10px!important;border-top:1px solid var(--rp-border)!important}
.rp-patient-calendar-below .rp-vbz-calendar-wrap{margin:0!important;padding:10px!important;border-radius:12px!important}
.rp-patient-calendar-below .rp-calendar-toolbar{margin-bottom:8px!important}
.rp-patient-calendar-below .rp-calendar-toolbar strong{font-size:15px!important}
.rp-patient-calendar-grid .rp-day-cell{min-height:88px!important;padding:8px!important;border-radius:10px!important}
.rp-mini-row.rp-session-row{display:grid!important;grid-template-columns:1fr auto auto!important;gap:8px!important;align-items:center!important}
.rp-mini-action{border:1px solid var(--rp-border)!important;background:#fff!important;color:var(--rp-blue)!important;border-radius:8px!important;padding:5px 8px!important;font-size:12px!important;font-weight:500!important;cursor:pointer!important;white-space:nowrap!important}
.rp-mini-action:hover{background:#eef9ff!important;border-color:#b6ddeb!important}
.rp-patient-appointment-form.is-reprogramming{outline:2px solid rgba(11,120,170,.12)!important;background:#fbfdff!important;border-radius:12px!important;padding:10px!important;margin-left:-10px!important;margin-right:-10px!important}
@media(max-width:1180px){.rp-patient-schedule-card .rp-form-grid.rp-compact-form{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){.rp-patient-schedule-card .rp-form-grid.rp-compact-form{grid-template-columns:1fr 1fr!important}.rp-mini-row.rp-session-row{grid-template-columns:1fr!important;align-items:start!important}.rp-mini-action{width:max-content!important}.rp-patient-calendar-grid .rp-day-cell{min-height:66px!important}}


/* RP Psico v1.5.9 - aviso moderno, ficha persistente y ajustes de reprogramación/pagos */
.rp-floating-notice{position:fixed;right:22px;bottom:22px;z-index:999999;background:#0f766e;color:#fff;border-radius:14px;padding:14px 18px;box-shadow:0 18px 40px rgba(15,23,42,.22);font-size:14px;font-weight:500;opacity:0;transform:translateY(14px);transition:opacity .25s ease,transform .25s ease;max-width:min(420px,calc(100vw - 32px))}.rp-floating-notice.show{opacity:1;transform:translateY(0)}.rp-floating-notice.is-error{background:#b42318}.rp-payment-form select[name="appointment_id"]{min-width:0}.rp-reprogram-session{cursor:pointer}.rp-patient-appointment-form.is-reprogramming .rp-save-appointment-btn{background:#075b82!important}

/* RP v1.5.8 - Reprogramación confirmada */
.rp-patient-date-pick.is-reprogram-old{outline:2px dashed #ef4444!important;opacity:.55;position:relative}
.rp-patient-date-pick.is-reprogram-old::after{content:'Reprogramando';display:block;font-size:10px;font-weight:600;color:#ef4444;margin-top:4px}
.rp-confirm-overlay{position:fixed;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;z-index:999999;padding:18px}
.rp-confirm-overlay.active{display:flex}
.rp-confirm-box{width:min(520px,100%);background:#fff;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 24px 70px rgba(15,23,42,.22);padding:24px;position:relative;color:#111827}
.rp-confirm-box h3{margin:0 0 12px;font-size:22px;font-weight:650;color:#111827}
.rp-confirm-text{font-size:15px;line-height:1.65;color:#374151;margin:0 0 18px}
.rp-confirm-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.rp-confirm-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:26px;line-height:1;cursor:pointer;color:#6b7280}
.rp-preview-alert.is-info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
/* RP Psico v1.6.0 - ajustes paciente: cancelar, suspender y día desde calendario */
.rp-selected-day-label input.rp-selected-day-view{background:#f8fafc!important;color:#334155!important;cursor:default!important}
.rp-inline-cancel-form,.rp-suspend-patient-form{margin:0!important;display:inline-flex!important}
.rp-mini-row.rp-session-row{grid-template-columns:1fr auto auto auto!important}
.rp-cancel-session{border-color:#fecaca!important;background:#fff5f5!important;color:#b42318!important}
.rp-btn-warning{background:#fff7ed!important;color:#9a3412!important;border:1px solid #fed7aa!important}
.rp-btn-warning:hover{background:#ffedd5!important}
@media(max-width:760px){.rp-mini-row.rp-session-row{grid-template-columns:1fr!important}.rp-inline-cancel-form,.rp-suspend-patient-form{width:100%!important}.rp-inline-cancel-form button,.rp-suspend-patient-form button{width:100%!important}}

/* Estado paciente */
.rp-patient-status{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:4px 10px;
    border-radius:999px;
    font-size:12px;
    line-height:1.2;
    font-weight:600;
    border:1px solid transparent;
    white-space:nowrap;
}
.rp-patient-status::before{
    content:'';
    width:7px;
    height:7px;
    border-radius:50%;
    background:currentColor;
}
.rp-patient-status-activo{
    color:#157347;
    background:#eaf7ef;
    border-color:#c9ead6;
}
.rp-patient-status-suspendido{
    color:#b42318;
    background:#fff0ed;
    border-color:#ffd5cc;
}
.rp-patient-state-line{
    display:block;
    margin-top:7px;
}
.rp-suspended-note{
    display:block;
    margin-top:8px;
    color:#6b7280;
    font-size:13px;
    line-height:1.35;
}
.rp-activate-patient-form,
.rp-suspend-patient-form,
.rp-delete-patient-form{
    margin:0;
}

/* v26 facturacion */
.rp-filter-inline{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:0 0 12px}.rp-filter-inline input{border:1px solid var(--rp-border);border-radius:10px;padding:10px 12px;min-height:42px}.rp-billing-table-card{margin-top:18px}.rp-invoices-table small,.rp-invoice-row small{display:block;color:var(--rp-muted);font-size:12px;margin-top:3px}.rp-invoice-row{align-items:flex-start}.rp-invoice-row.is-done{opacity:.72}.rp-inline-invoice-form{margin:0}.rp-billing-settings-card{margin-bottom:18px}.rp-patient-billing-card .rp-debt-box{margin:12px 0}.rp-invoices-table td,.rp-invoices-table th{vertical-align:top}.rp-invoices-table form{margin:0}

.rp-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.rp-card-title-row h3{margin:0}.rp-icon-edit{display:inline-flex;align-items:center;gap:7px;border:1px solid #dbe3ef;background:#fff;color:#334155;border-radius:10px;padding:8px 10px;cursor:pointer;font-size:13px;font-weight:400}.rp-icon-edit svg{width:18px!important;height:18px!important;flex:0 0 18px;fill:none!important}.rp-icon-edit:hover,.rp-icon-edit.is-open{background:#f8fafc;border-color:#b8c4d6}.rp-patient-edit-form{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.rp-billing-search-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:400;color:#475569}.rp-billing-search{height:38px;min-width:260px;border:1px solid #dbe3ef;border-radius:10px;padding:0 12px;background:#fff}.rp-table-tools{gap:12px;flex-wrap:wrap}.rp-patient-table td small.rp-patient-state-line{display:none!important}
@media(max-width:720px){.rp-billing-search-label{width:100%;align-items:stretch;flex-direction:column}.rp-billing-search{min-width:0;width:100%}.rp-card-title-row{align-items:flex-start}}

/* v28 ingresos: balance, gastos y graficos */
.rp-income-filter{margin-bottom:16px}.rp-income-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.rp-income-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;align-items:start;margin-top:18px}.rp-expense-form{margin-bottom:18px}.rp-balance-lines{display:grid;gap:10px;margin:14px 0 18px}.rp-balance-lines p{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e5e7eb;margin:0}.rp-balance-lines span{color:#475569}.rp-balance-lines strong{font-size:20px;color:#111827}.rp-balance-total{border-bottom:0!important;background:#f8fafc;border-radius:12px;padding:14px!important}.rp-mini-kpis{grid-template-columns:1fr 1fr;margin-top:14px}.rp-chart-card{margin-top:18px}.rp-chart-bars{height:230px;display:flex;align-items:end;gap:14px;padding:18px 8px 8px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}.rp-chart-month{flex:1;min-width:0;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:8px}.rp-chart-stack{height:180px;width:100%;display:flex;align-items:end;justify-content:center;gap:5px}.rp-chart-stack span{width:16px;border-radius:7px 7px 0 0;display:block;min-height:3px}.rp-bar-income{background:#2563eb}.rp-bar-mora{background:#f59e0b}.rp-bar-expense{background:#ef4444}.rp-bar-balance{background:#16a34a}.rp-chart-month small{font-size:12px;color:#64748b;white-space:nowrap}.rp-chart-legend{display:flex;gap:16px;align-items:center;justify-content:center;margin-top:12px;color:#475569;font-size:13px}.rp-chart-legend span{display:inline-flex;align-items:center;gap:6px}.rp-chart-legend span::before{content:'';width:10px;height:10px;border-radius:50%;display:inline-block}.rp-chart-legend span:nth-child(1)::before{background:#2563eb}.rp-chart-legend span:nth-child(2)::before{background:#f59e0b}.rp-chart-legend span:nth-child(3)::before{background:#ef4444}.rp-chart-legend span:nth-child(4)::before{background:#16a34a}.rp-year-table{overflow:auto}.rp-expense-table td,.rp-expense-table th{vertical-align:top}.rp-dashboard-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1180px){.rp-income-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.rp-income-grid{grid-template-columns:1fr}.rp-chart-bars{gap:8px}.rp-chart-stack span{width:12px}}
@media(max-width:720px){.rp-income-kpis,.rp-dashboard-kpis,.rp-mini-kpis{grid-template-columns:1fr!important}.rp-chart-bars{height:210px;overflow-x:auto;align-items:end}.rp-chart-month{min-width:62px}.rp-income-grid{gap:12px}.rp-balance-lines strong{font-size:17px}}

/* v29: ficha paciente sin edición duplicada */
.rp-patient-data-edit-only .rp-card-title-row-clean{margin-bottom:14px!important}
.rp-patient-data-edit-only .rp-patient-edit-form{display:grid!important;margin-top:0!important;padding-top:0!important;border-top:0!important}
.rp-patient-data-edit-only .rp-icon-edit{display:none!important}

/* v30 integraciones: configuracion Google / WooCommerce / WhatsApp */
.rp-config-section .rp-prof-head{margin-bottom:16px!important}
.rp-config-form{display:block!important}
.rp-config-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:start!important}
.rp-config-card{padding:20px!important;display:flex!important;flex-direction:column!important;gap:12px!important}
.rp-config-card label{display:flex!important;flex-direction:column!important;gap:6px!important;font-size:13px!important;font-weight:500!important;color:#334155!important}
.rp-config-card input,.rp-config-card select,.rp-config-card textarea{width:100%!important;border:1px solid #dbe3ef!important;border-radius:10px!important;padding:10px 12px!important;min-height:40px!important;background:#fff!important;color:#111827!important;font-size:14px!important;box-sizing:border-box!important}
.rp-config-card textarea{min-height:74px!important;resize:vertical!important;line-height:1.45!important}
.rp-config-card code{font-size:12px!important;background:#f1f5f9!important;padding:3px 6px!important;border-radius:6px!important;white-space:normal!important;word-break:break-all!important}
.rp-config-wide{grid-column:1/-1!important}
.rp-config-title{display:flex!important;align-items:flex-start!important;gap:12px!important;margin-bottom:2px!important}
.rp-config-title h2{font-size:20px!important;line-height:1.2!important;margin:0!important;color:#0f172a!important;font-weight:650!important}
.rp-config-title p{font-size:13px!important;line-height:1.35!important;margin:4px 0 0!important;color:#64748b!important;font-weight:400!important}
.rp-config-icon{width:38px!important;height:38px!important;border-radius:12px!important;background:#eef9ff!important;color:#0b78aa!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 38px!important}
.rp-config-icon svg{width:20px!important;height:20px!important;fill:none!important;stroke:currentColor!important}
.rp-config-status{margin-top:-2px!important}
.rp-status-pill{display:inline-flex!important;align-items:center!important;gap:7px!important;border-radius:999px!important;padding:5px 10px!important;font-size:12px!important;font-weight:600!important;border:1px solid transparent!important;width:max-content!important}
.rp-status-pill::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;display:block}
.rp-status-ok{color:#157347!important;background:#eaf7ef!important;border-color:#c9ead6!important}
.rp-status-off{color:#9a3412!important;background:#fff7ed!important;border-color:#fed7aa!important}
.rp-config-card .rp-switch-row{flex-direction:row!important;align-items:center!important;gap:10px!important;background:#f8fafc!important;border:1px solid #e5e7eb!important;border-radius:10px!important;padding:10px 12px!important;margin:0!important}
.rp-config-card .rp-switch-row input[type="checkbox"]{width:16px!important;height:16px!important;min-height:16px!important;padding:0!important;flex:0 0 16px!important}
.rp-config-card .rp-switch-row span{font-size:13px!important;color:#334155!important;font-weight:500!important}
.rp-sticky-save{position:sticky!important;bottom:14px!important;z-index:20!important;margin-top:18px!important;display:flex!important;justify-content:flex-end!important;padding:12px!important;background:rgba(248,250,252,.88)!important;backdrop-filter:blur(10px)!important;border:1px solid #e5e7eb!important;border-radius:14px!important}
@media(max-width:980px){.rp-config-grid{grid-template-columns:1fr!important}.rp-config-wide{grid-column:auto!important}.rp-sticky-save{position:static!important}}


/* RP Psico v1.6.7 - disponibilidad visual dentro del calendario del paciente */
.rp-patient-calendar-grid .rp-day-cell{position:relative!important}
.rp-day-availability-dot{position:absolute!important;top:7px!important;right:7px!important;width:11px!important;height:11px!important;border-radius:999px!important;border:2px solid #fff!important;box-shadow:0 2px 6px rgba(15,23,42,.18)!important;background:#94a3b8!important;z-index:2!important}
.rp-day-availability-dot.is-on{background:#10b981!important}
.rp-day-availability-dot.is-off{background:#cbd5e1!important}
.rp-patient-date-pick.is-blocked{opacity:.72!important;cursor:pointer!important;background:#f8fafc!important;color:#94a3b8!important}
.rp-patient-date-pick.selected-unavailable{outline:2px solid #cbd5e1!important;background:#f1f5f9!important}
.rp-day-availability-panel{grid-column:1/-1!important;margin:8px 0 10px!important}
.rp-day-availability-card{display:flex!important;align-items:flex-start!important;gap:10px!important;border:1px solid #bfdbfe!important;background:#eff6ff!important;border-radius:12px!important;padding:10px 12px!important;color:#1e3a8a!important;font-size:13px!important;line-height:1.35!important}
.rp-day-availability-card.is-off{border-color:#e5e7eb!important;background:#f8fafc!important;color:#64748b!important}
.rp-day-availability-card strong{display:block!important;font-weight:650!important;color:inherit!important;margin:0 0 2px!important}
.rp-day-availability-card p{margin:0!important;color:inherit!important;font-size:13px!important;line-height:1.35!important}
.rp-day-availability-icon{width:14px!important;height:14px!important;border-radius:999px!important;display:inline-block!important;background:#10b981!important;margin-top:2px!important;box-shadow:0 0 0 4px rgba(16,185,129,.14)!important;flex:0 0 auto!important}
.rp-day-availability-card.is-off .rp-day-availability-icon{background:#cbd5e1!important;box-shadow:0 0 0 4px rgba(148,163,184,.16)!important}

/* RP Psico v1.6.8 - panel claro de rango disponible al tocar día */
.rp-calendar-day-info{display:flex!important;align-items:flex-start!important;gap:10px!important;margin:8px 0 10px!important;padding:10px 12px!important;border:1px solid #dbeafe!important;background:#eff6ff!important;border-radius:12px!important;color:#1e3a8a!important;font-size:13px!important;line-height:1.35!important}
.rp-calendar-day-info strong{display:block!important;margin:0 0 2px!important;font-weight:650!important;color:inherit!important}
.rp-calendar-day-info p{margin:0!important;color:inherit!important;font-size:13px!important;line-height:1.35!important}
.rp-calendar-day-info.is-off{border-color:#e5e7eb!important;background:#f8fafc!important;color:#64748b!important}
.rp-calendar-day-info .rp-day-availability-icon.is-neutral{background:#94a3b8!important;box-shadow:0 0 0 4px rgba(148,163,184,.16)!important}
.rp-calendar-day-info.has-day{animation:rpCalInfoPulse .22s ease-out both}
@keyframes rpCalInfoPulse{from{transform:translateY(-2px);opacity:.75}to{transform:translateY(0);opacity:1}}

/* RP Psico v2.1.5 - disponibilidad visible y panel no-cache */
.rp-calendar-day-info.is-on{border-color:#bbf7d0!important;background:#f0fdf4!important;color:#166534!important}
.rp-calendar-day-info.is-off{border-color:#e5e7eb!important;background:#f8fafc!important;color:#64748b!important}
.rp-calendar-day-info .rp-day-availability-icon.is-on{background:#10b981!important;box-shadow:0 0 0 4px rgba(16,185,129,.14)!important}
.rp-calendar-day-info .rp-day-availability-icon.is-off{background:#cbd5e1!important;box-shadow:0 0 0 4px rgba(148,163,184,.16)!important}
.rp-day-availability-panel{display:block!important;min-height:44px!important}
.rp-day-availability-card{width:100%!important;box-sizing:border-box!important}
.rp-preview-card.is-generated,.rp-preview-card.is-manual{position:relative!important}

/* RP Psico v2.1.6 - calendario sin cache visual, vencidos y emergencia */
.rp-patient-calendar-grid .rp-day-cell.is-past{
  opacity:.42!important;
  filter:grayscale(1)!important;
  background:#f1f5f9!important;
  color:#94a3b8!important;
  border-color:#e2e8f0!important;
  cursor:not-allowed!important;
}
.rp-patient-calendar-grid .rp-day-cell.is-past .rp-day-availability-dot{background:#cbd5e1!important;box-shadow:none!important}
.rp-patient-calendar-grid .rp-day-cell.is-blocked{opacity:.72!important;background:#f8fafc!important;color:#64748b!important}
.rp-patient-calendar-grid .rp-day-cell.is-free .rp-day-availability-dot{background:#10b981!important}
.rp-patient-calendar-grid .rp-day-cell.has-patients .rp-day-availability-dot{background:#0ea5e9!important}
.rp-calendar-day-info.is-off,.rp-day-availability-card.is-off{background:#f8fafc!important;border-color:#e5e7eb!important;color:#64748b!important}
.rp-form-grid label.rp-emergency-switch{
  background:#fef2f2!important;
  border:1px solid #fecaca!important;
  color:#b91c1c!important;
  font-weight:650!important;
}
.rp-form-grid label.rp-emergency-switch input[type="checkbox"]{accent-color:#dc2626!important}
.rp-form-grid label.rp-emergency-switch span{display:inline-flex!important;align-items:center!important;gap:8px!important;color:#b91c1c!important;font-weight:650!important}
.rp-form-grid label.rp-emergency-switch svg{width:18px!important;height:18px!important;min-width:18px!important;stroke:#dc2626!important}
.rp-form-grid label.rp-emergency-switch:has(input:checked){background:#fee2e2!important;border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(220,38,38,.08)!important}

/* V42: ficha de paciente con páginas internas separadas */
.rp-patient-header-tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 8px 0;width:100%}
.rp-patient-tab-btn{border:1px solid #dbe2ea;background:#fff;color:#26303a;border-radius:10px;padding:9px 12px;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;cursor:pointer;line-height:1.1;transition:.18s ease}
.rp-patient-tab-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 17px}
.rp-patient-tab-btn:hover,.rp-patient-tab-btn.active{background:#0f6fff;color:#fff;border-color:#0f6fff}
.rp-patient-subpage-card{display:none!important}
.rp-patient-subpage-card.active{display:block!important;width:100%;max-width:100%}
.rp-patient-subpage-mode .rp-detail-grid,
.rp-patient-subpage-mode .rp-patient-schedule-card,
.rp-patient-subpage-mode .rp-patient-calendar-below,
.rp-patient-subpage-mode .rp-detail-columns:not(.rp-subpage-columns-holder){display:none!important}
.rp-patient-subpage-mode .rp-subpage-columns-holder{display:block!important;width:100%;max-width:1120px;margin:18px auto 0 auto}
.rp-patient-subpage-mode .rp-subpage-columns-holder .rp-detail-card:not(.active){display:none!important}
.rp-patient-subpage-mode .rp-detail-hero{margin-bottom:12px}
.rp-patient-subpage-mode .rp-next-banner{display:none!important}
.rp-patient-subpage-card h3{font-size:22px!important;margin-bottom:16px!important}
@media(max-width:760px){.rp-patient-header-tabs{gap:6px}.rp-patient-tab-btn{padding:8px 10px;font-size:12px}.rp-patient-tab-btn svg{width:16px;height:16px}}

.rp-session-chip{border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px;margin:8px 0;background:#fff}
.rp-session-date{font-size:12px;font-weight:600}
.rp-session-meta,.rp-session-amount{font-size:11px;opacity:.8}
.rp-session-status{display:inline-block;font-size:11px;padding:3px 8px;border-radius:999px;background:#f3f4f6;margin:4px 0}

/* V44: historial de sesiones y cancelaciones más horizontal y compacto */
.rp-detail-card .rp-session-chip{
  display:grid!important;
  grid-template-columns:minmax(92px, .85fr) minmax(95px, .9fr) auto minmax(70px,.55fr) auto auto!important;
  align-items:center!important;
  gap:8px 10px!important;
  padding:8px 10px!important;
  margin:7px 0!important;
  border-radius:12px!important;
  min-height:0!important;
}
.rp-session-date{
  font-size:11px!important;
  font-weight:650!important;
  color:#243242!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
.rp-session-meta,.rp-session-amount{
  font-size:11px!important;
  line-height:1.15!important;
  opacity:.82!important;
  white-space:nowrap!important;
}
.rp-session-status{
  font-size:10px!important;
  padding:3px 7px!important;
  margin:0!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.rp-detail-card .rp-session-chip .rp-mini-action,
.rp-detail-card .rp-session-chip .rp-inline-cancel-form button{
  font-size:11px!important;
  padding:5px 8px!important;
  border-radius:9px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}
.rp-detail-card .rp-session-chip .rp-inline-cancel-form{margin:0!important;display:inline-flex!important;align-items:center!important}
.rp-cancel-card-list{display:grid!important;gap:7px!important;margin-top:8px!important}
.rp-cancel-chip{
  display:grid!important;
  grid-template-columns:minmax(92px,.85fr) minmax(90px,.9fr) auto minmax(65px,.55fr)!important;
  align-items:center!important;
  gap:8px 10px!important;
  border:1px solid #e5e7eb!important;
  border-radius:12px!important;
  background:#fff!important;
  padding:8px 10px!important;
}
.rp-cancel-date{font-size:11px!important;font-weight:650!important;color:#243242!important;line-height:1.15!important;white-space:nowrap!important}
.rp-cancel-time,.rp-cancel-amount{font-size:11px!important;opacity:.82!important;white-space:nowrap!important;line-height:1.15!important}
.rp-cancel-status{font-size:10px!important;padding:3px 7px!important;border-radius:999px!important;background:#fef2f2!important;color:#b42318!important;border:1px solid #fecaca!important;white-space:nowrap!important;line-height:1!important}
@media(max-width:900px){
  .rp-detail-card .rp-session-chip{grid-template-columns:1fr 1fr auto!important}
  .rp-session-status,.rp-session-amount{justify-self:start!important}
  .rp-detail-card .rp-session-chip .rp-inline-cancel-form{grid-column:auto!important}
  .rp-cancel-chip{grid-template-columns:1fr 1fr auto!important}
}
@media(max-width:560px){
  .rp-detail-card .rp-session-chip,.rp-cancel-chip{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .rp-detail-card .rp-session-chip .rp-mini-action,
  .rp-detail-card .rp-session-chip .rp-inline-cancel-form{width:100%!important}
  .rp-detail-card .rp-session-chip .rp-inline-cancel-form button{width:100%!important}
}

/* v45 dashboard próximo paciente */
.rp-next-dashboard-card{overflow:visible}
.rp-next-patient-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 16px}
.rp-next-patient-grid>div{border:1px solid #e3edf3;background:#f8fbfd;border-radius:14px;padding:12px}
.rp-next-patient-grid small{display:block;color:#647789;font-size:12px;margin-bottom:4px}
.rp-next-patient-grid strong{display:block;color:#213141;font-size:15px;font-weight:600}
.rp-next-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rp-next-actions .rp-inline-cancel-form{display:inline-flex;margin:0}
.rp-btn-danger,.rp-next-actions .rp-btn-danger{background:#d94141!important;color:#fff!important;border-color:#d94141!important}
@media(max-width:900px){.rp-next-patient-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.rp-next-patient-grid{grid-template-columns:1fr}.rp-next-actions{flex-direction:column;align-items:stretch}.rp-next-actions .rp-btn,.rp-next-actions .rp-inline-cancel-form,.rp-next-actions button{width:100%;justify-content:center}}

/* v67 Dashboard pago automático */
.rp-dashboard-payment-modal{position:fixed;inset:0;z-index:999999;background:rgba(15,23,42,.46);display:none;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(3px)}
.rp-dashboard-payment-modal.active{display:flex}
.rp-dashboard-payment-box{width:min(440px,100%);background:#fff;border-radius:18px;padding:22px;box-shadow:0 24px 70px rgba(15,23,42,.28);position:relative;color:#263849}
.rp-dashboard-payment-box small{display:inline-flex;margin-bottom:8px;padding:5px 9px;border-radius:999px;background:#eef8fb;color:#0b7fab;font-weight:800;font-size:12px}
.rp-dashboard-payment-box h3{margin:0 0 8px;font-size:22px;color:#172431}
.rp-dashboard-payment-box p{margin:0 0 18px;line-height:1.45;color:#475569}
.rp-dashboard-payment-close{position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:26px;line-height:1;cursor:pointer;color:#64748b}
.rp-dashboard-payment-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:640px){.rp-dashboard-payment-box{padding:19px;border-radius:16px}.rp-dashboard-payment-actions .rp-btn{width:100%;justify-content:center}}


/* v68 fix popup pago dashboard */
.rp-modal .rp-btn-confirm,
.rp-payment-popup .rp-btn-confirm,
button.rp-btn-confirm{
background:#f4b400 !important;
color:#111111 !important;
border:2px solid #f4b400 !important;
font-weight:700 !important;
opacity:1 !important;
}

.rp-modal .rp-btn-confirm:hover,
.rp-payment-popup .rp-btn-confirm:hover,
button.rp-btn-confirm:hover{
color:#111111 !important;
}

.rp-modal .rp-btn-cancel,
.rp-payment-popup .rp-btn-cancel,
button.rp-btn-cancel{
background:#ffffff !important;
color:#333333 !important;
border:2px solid #dcdcdc !important;
}

.rp-modal .rp-btn-confirm,
.rp-modal .rp-btn-cancel,
.rp-payment-popup .rp-btn-confirm,
.rp-payment-popup .rp-btn-cancel{
min-height:44px;
padding:10px 18px;
border-radius:8px;
}

/* v71 Mora */
.rp-filter-inline select{border:1px solid var(--rp-border);border-radius:10px;padding:10px 12px;min-height:42px;background:#fff;color:var(--rp-text)}
.rp-mora-table-card{margin-top:18px}.rp-mora-table td,.rp-mora-table th{vertical-align:top}.rp-mora-table small{display:block;color:var(--rp-muted);font-size:12px;margin-top:3px}.rp-mora-actions{display:flex;gap:8px;flex-wrap:wrap}.rp-mora-actions form{margin:0}.rp-mora-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:980px){.rp-mora-kpis{grid-template-columns:1fr}.rp-mora-actions{display:grid;grid-template-columns:1fr}.rp-mora-actions .rp-btn{width:100%}}

.rp-saved-warning{background:#fff7e6!important;border-color:#f1d38a!important;color:#7a5a00!important}

/* V90: confirmar turnos pendientes desde historial de sesiones */
.rp-inline-confirm-form{display:inline-flex!important;margin:0!important;padding:0!important}
.rp-confirm-pending-session{background:#ecfdf5!important;color:#047857!important;border-color:#a7f3d0!important}
.rp-confirm-pending-session:hover{background:#047857!important;color:#fff!important;border-color:#047857!important}




/* RP Psico - Calendario General profesional */
.rp-general-calendar-layout{display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(360px,.95fr);gap:18px;align-items:start}
.rp-general-calendar-grid .rp-day-cell{text-decoration:none;display:block}
.rp-general-calendar-grid .rp-day-cell.selected{border-color:var(--rp-blue)!important;box-shadow:0 0 0 3px rgba(11,120,170,.12)}
.rp-general-calendar-grid .rp-day-cell.has-blocks{background:#fff8e6;border-color:#f0cf7a}
.rp-general-day-card h2{margin:0 0 12px;font-size:24px;text-transform:capitalize}
.rp-general-day-card h3{margin:18px 0 10px;font-size:18px}
.rp-general-availability{background:#f8fbfd;border:1px solid var(--rp-border);border-radius:14px;padding:14px;margin-bottom:14px}
.rp-general-availability strong{display:block;margin-bottom:5px}
.rp-general-availability p{margin:0;color:var(--rp-muted);line-height:1.45}
.rp-general-appointments{display:grid;gap:10px}
.rp-general-appt{border:1px solid var(--rp-border);border-radius:14px;padding:13px;background:#fff}
.rp-general-appt.is-block{background:#fffaf0;border-color:#f0cf7a}
.rp-general-appt>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:7px}
.rp-general-appt strong{font-size:16px}
.rp-general-appt span{font-size:12px;color:var(--rp-muted);font-weight:700;text-transform:uppercase}
.rp-general-appt p{margin:0;color:var(--rp-muted);line-height:1.45}
.rp-general-block-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;align-items:center}
.rp-general-block-form{margin-top:18px;border-top:1px solid var(--rp-border);padding-top:14px}
@media(max-width:980px){.rp-general-calendar-layout{grid-template-columns:1fr}.rp-general-calendar-grid.rp-admin-calendar{grid-template-columns:repeat(7,minmax(40px,1fr))}.rp-general-calendar-grid .rp-day-cell{min-height:66px;padding:7px}.rp-general-calendar-grid .rp-day-cell strong{font-size:15px}.rp-general-calendar-grid .rp-day-cell em,.rp-general-calendar-grid .rp-day-cell span{display:none}.rp-general-appt>div:first-child{display:block}}

/* v104 Calendario General: layout aislado, sin superposición y sin depender del CSS viejo */
.rp-general-calendar-section,
.rp-general-calendar-section *{box-sizing:border-box}
.rp-general-calendar-section{overflow:hidden!important;max-width:100%!important}
.rp-general-calendar-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(320px,420px)!important;gap:22px!important;align-items:start!important;width:100%!important;max-width:100%!important;overflow:visible!important}
.rp-general-month-card,.rp-general-day-card{min-width:0!important;width:100%!important;max-width:100%!important;overflow:hidden!important}
.rp-general-month-card .rp-calendar-title{display:grid!important;grid-template-columns:42px minmax(0,1fr) 42px!important;gap:10px!important;align-items:center!important;margin-bottom:14px!important}
.rp-general-month-card .rp-calendar-title>div{min-width:0!important;text-align:left!important;display:block!important;overflow:hidden!important}
.rp-general-month-card .rp-calendar-title strong{display:block!important;font-size:22px!important;line-height:1.15!important;white-space:normal!important;text-transform:lowercase!important}
.rp-general-month-card .rp-calendar-title span{display:block!important;margin-top:3px!important;white-space:normal!important;line-height:1.25!important;overflow:visible!important;text-overflow:clip!important}
.rp-general-calendar-grid.rp-admin-calendar{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:8px!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
.rp-general-calendar-grid .rp-day-cell{min-width:0!important;min-height:106px!important;padding:10px!important;overflow:hidden!important;word-break:normal!important}
.rp-general-calendar-grid .rp-day-cell strong{font-size:18px!important;margin-bottom:8px!important}
.rp-general-calendar-grid .rp-day-cell span,
.rp-general-calendar-grid .rp-day-cell em{max-width:100%!important;white-space:normal!important;line-height:1.25!important;overflow:hidden!important;text-overflow:ellipsis!important}
.rp-general-calendar-grid .rp-day-cell.is-blocked{background:#f8fafc!important;border-color:#e4e7ec!important;color:#667085!important}
.rp-general-calendar-grid .rp-day-cell.has-blocks{background:#fff7e6!important;border-color:#f0c05a!important;color:#5f4300!important}
.rp-general-day-card{position:relative!important;z-index:1!important}
.rp-general-day-card .rp-form-grid.rp-compact-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.rp-general-day-card .rp-form-grid .full{grid-column:1/-1!important}
@media(max-width:1400px){.rp-general-calendar-layout{grid-template-columns:1fr!important}.rp-general-day-card{margin-top:0!important}.rp-general-calendar-grid .rp-day-cell{min-height:92px!important}.rp-general-month-card .rp-calendar-title strong{font-size:21px!important}}
@media(max-width:760px){.rp-general-calendar-grid.rp-admin-calendar{gap:5px!important}.rp-general-calendar-grid .rp-day-cell{min-height:64px!important;padding:6px!important;border-radius:9px!important}.rp-general-calendar-grid .rp-day-cell strong{font-size:14px!important;margin-bottom:0!important}.rp-general-calendar-grid .rp-day-cell span,.rp-general-calendar-grid .rp-day-cell em{display:none!important}.rp-general-day-card .rp-form-grid.rp-compact-form{grid-template-columns:1fr!important}.rp-general-month-card .rp-calendar-title{grid-template-columns:36px minmax(0,1fr) 36px!important}.rp-general-month-card .rp-calendar-title span{display:none!important}}

/* v109 Historia clínica móvil: fecha visible completa, sin recortes en iPhone */
.rp-history-search-card,
.rp-history-filters,
.rp-history-filter-field{
  overflow:visible!important;
}
.rp-history-filter-field input[type="date"],
.rp-history-filters input[type="date"]{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:58px!important;
  min-height:58px!important;
  line-height:58px!important;
  padding:0 14px!important;
  border:1px solid var(--rp-border)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--rp-text)!important;
  box-sizing:border-box!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  overflow:visible!important;
}
.rp-history-filter-field input[type="date"]::-webkit-date-and-time-value{
  min-height:58px!important;
  line-height:58px!important;
  text-align:left!important;
  padding:0!important;
  margin:0!important;
}
.rp-history-filter-field input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:.65!important;
  margin-right:0!important;
}
@media(max-width:520px){
  .rp-history-search-card{padding:16px!important;overflow:visible!important}
  .rp-history-filters{overflow:visible!important}
  .rp-history-filter-field{overflow:visible!important}
  .rp-history-filter-field input[type="date"],
  .rp-history-filters input[type="date"]{
    height:60px!important;
    min-height:60px!important;
    line-height:60px!important;
    padding:0 14px!important;
    border-radius:14px!important;
  }
  .rp-history-filter-field input[type="date"]::-webkit-date-and-time-value{
    min-height:60px!important;
    line-height:60px!important;
  }
}

/* RP v110 - menú móvil full screen */
@media (max-width:980px){
  .rp-prof-sidebar,
  .rp-prof-panel.rp-sidebar-expanded .rp-prof-sidebar{
    position:sticky;
    top:0;
    z-index:9999;
  }
  .rp-sidebar-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    margin-left:auto!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border-radius:0!important;
    color:#263445!important;
    font-size:26px!important;
    line-height:1!important;
    text-align:center!important;
    appearance:none!important;
    -webkit-appearance:none!important;
  }
  .rp-sidebar-toggle:focus,
  .rp-sidebar-toggle:active{
    outline:none!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .rp-prof-sidebar.mobile-open{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100vh!important;
    max-width:none!important;
    max-height:none!important;
    padding:22px!important;
    background:rgba(248,251,253,.98)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
    z-index:2147483000!important;
    overflow-y:auto!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .rp-prof-sidebar.mobile-open .rp-prof-brand{
    position:sticky!important;
    top:0!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    margin:0 0 22px!important;
    padding:0 0 18px!important;
    background:transparent!important;
    border-bottom:1px solid rgba(15,23,42,.08)!important;
  }
  .rp-prof-sidebar.mobile-open .rp-sidebar-toggle{
    font-size:0!important;
  }
  .rp-prof-sidebar.mobile-open .rp-sidebar-toggle::before{
    content:'×';
    font-size:36px!important;
    line-height:1!important;
    font-weight:300!important;
    color:#263445!important;
  }
  .rp-prof-sidebar.mobile-open a{
    display:flex!important;
    width:100%!important;
    min-height:58px!important;
    height:auto!important;
    margin:5px 0!important;
    padding:0 18px!important;
    border-radius:18px!important;
    background:#fff!important;
    border:1px solid rgba(15,23,42,.08)!important;
    box-shadow:0 10px 24px rgba(15,23,42,.05)!important;
    justify-content:flex-start!important;
    gap:14px!important;
    font-size:17px!important;
  }
  .rp-prof-sidebar.mobile-open a.active{
    background:#e9f5fb!important;
    border-color:#bfe4f1!important;
    color:#075b82!important;
  }
  .rp-prof-sidebar.mobile-open .rp-nav-label{
    display:inline-block!important;
    opacity:1!important;
    width:auto!important;
    max-width:none!important;
    font-size:17px!important;
    font-weight:600!important;
  }
  body.rp-mobile-menu-lock{
    overflow:hidden!important;
    touch-action:none!important;
  }
}


/* RP v111 - menú móvil realmente fuera del contenedor */
@media (max-width:980px){
  html.rp-mobile-menu-lock,
  body.rp-mobile-menu-lock{
    overflow:hidden!important;
    height:100%!important;
    touch-action:none!important;
  }
  body > .rp-prof-sidebar.mobile-open{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    inset:0!important;
    width:100vw!important;
    height:100vh!important;
    height:100dvh!important;
    max-width:none!important;
    max-height:none!important;
    min-width:100vw!important;
    margin:0!important;
    padding:calc(18px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom))!important;
    border-radius:0!important;
    transform:none!important;
    background:#f8fbfd!important;
    z-index:2147483647!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    box-sizing:border-box!important;
  }
  body > .rp-prof-sidebar.mobile-open .rp-prof-brand{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    min-height:58px!important;
    padding:0 0 16px!important;
    margin:0 0 18px!important;
    background:#f8fbfd!important;
  }
  body > .rp-prof-sidebar.mobile-open .rp-prof-brand strong{
    display:block!important;
    opacity:1!important;
    width:auto!important;
    max-width:calc(100vw - 130px)!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body > .rp-prof-sidebar.mobile-open a{
    display:flex!important;
    width:100%!important;
    max-width:none!important;
    min-height:62px!important;
    height:auto!important;
    box-sizing:border-box!important;
  }
}

/* RP Psico v1.12.0 - fix calendario paciente móvil: evitar corte horizontal */
@media (max-width: 760px){
  .rp-patient-calendar-below,
  .rp-patient-calendar-picker,
  .rp-vbz-calendar-wrap{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }
  .rp-patient-calendar-below .rp-vbz-calendar-wrap,
  .rp-vbz-calendar-wrap{
    padding:8px!important;
  }
  .rp-patient-calendar-grid.rp-admin-calendar,
  .rp-patient-calendar-grid{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:4px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .rp-patient-calendar-grid .rp-day-cell{
    min-width:0!important;
    width:auto!important;
    max-width:100%!important;
    min-height:58px!important;
    padding:4px!important;
    border-radius:9px!important;
    box-sizing:border-box!important;
  }
  .rp-patient-calendar-grid .rp-day-cell strong{
    min-width:20px!important;
    width:20px!important;
    height:20px!important;
    font-size:11px!important;
    border-radius:999px!important;
    margin-bottom:3px!important;
  }
  .rp-turno-bubbles{
    gap:2px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .rp-turno-bubble{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    height:17px!important;
    padding:0 2px!important;
    font-size:8px!important;
    border-radius:999px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  .rp-calendar-day-info,
  .rp-day-availability-card{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}

@media (max-width: 390px){
  .rp-patient-calendar-grid.rp-admin-calendar,
  .rp-patient-calendar-grid{gap:3px!important;}
  .rp-patient-calendar-grid .rp-day-cell{min-height:54px!important;padding:3px!important;border-radius:8px!important;}
  .rp-patient-calendar-grid .rp-day-cell strong{width:18px!important;min-width:18px!important;height:18px!important;font-size:10px!important;}
}

/* RP Psico v2.4.7 - encabezado de días visible en calendario paciente móvil */
@media(max-width:980px){
  .rp-patient-calendar-below .rp-calendar-weekdays,
  .rp-vbz-calendar-wrap .rp-calendar-weekdays{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:5px!important;
    margin:4px 0 6px!important;
    padding:0!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  .rp-patient-calendar-below .rp-calendar-weekdays span,
  .rp-vbz-calendar-wrap .rp-calendar-weekdays span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    height:22px!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:700!important;
    color:#667085!important;
    text-align:center!important;
    overflow:hidden!important;
  }
}

/* v114 - Modalidades de atención en disponibilidad */
.rp-modalities .rp-muted-small{margin:4px 0 10px!important;color:var(--rp-muted,#64748b)!important;font-size:13px!important;line-height:1.35!important;font-weight:500!important}
.rp-modalities label{align-items:center!important}

/* v116 - Disponibilidad mobile: time selectors dentro del contenedor */
@media (max-width: 760px){
  .rp-availability-card,
  .rp-availability-card *{
    box-sizing:border-box!important;
  }
  .rp-availability-card{
    overflow:hidden!important;
  }
  .rp-availability-card .rp-availability-form,
  .rp-availability-form.rp-form-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .rp-availability-form label,
  .rp-availability-form .rp-break-field,
  .rp-availability-form .rp-switch-row,
  .rp-availability-form .full{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-column:1/-1!important;
  }
  .rp-availability-form input:not([type="checkbox"]):not([type="radio"]),
  .rp-availability-form select,
  .rp-availability-form textarea{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    display:block!important;
  }
  .rp-availability-form input[type="time"],
  .rp-availability-form .rp-break-field input[type="time"]{
    appearance:none!important;
    -webkit-appearance:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:58px!important;
    min-height:58px!important;
    line-height:58px!important;
    padding:0 14px!important;
    text-align:center!important;
    font-size:17px!important;
    border-radius:12px!important;
  }
  .rp-availability-form .rp-checks,
  .rp-availability-form .rp-workdays,
  .rp-availability-form .rp-modalities{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .rp-availability-form .rp-checks strong,
  .rp-availability-form .rp-checks p{
    grid-column:1/-1!important;
  }
  .rp-availability-form .rp-checks label{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .rp-availability-form .rp-btn{
    width:100%!important;
    max-width:100%!important;
  }
}

@media (max-width: 390px){
  .rp-availability-form .rp-checks,
  .rp-availability-form .rp-workdays,
  .rp-availability-form .rp-modalities{
    grid-template-columns:1fr!important;
  }
}

/* v118 - Dashboard notificaciones: campana limpia + papelera visible */
.rp-dashboard-notifications-card{
  margin-top:18px;
}
.rp-dashboard-notifications-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.rp-dashboard-notifications-head h2{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
}
.rp-bell-icon{
  width:auto;
  height:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:0;
  background:transparent!important;
  color:#0f83b6;
  box-shadow:none!important;
  padding:0;
  position:relative;
  flex:0 0 auto;
}
.rp-bell-icon svg{
  display:block;
  width:25px;
  height:25px;
}
.rp-notification-badge{
  min-width:30px;
  height:30px;
  padding:0 9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#0f83b6;
  color:#fff;
  font-weight:800;
  font-size:14px;
}
.rp-dashboard-notifications-list{
  display:grid;
  gap:12px;
}
.rp-dashboard-notification-item{
  display:grid;
  grid-template-columns:minmax(180px,1.2fr) minmax(240px,1.4fr) auto;
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(15,131,182,.16);
  background:#fff;
  border-radius:18px;
  box-shadow:0 10px 26px rgba(15,23,42,.05);
}
.rp-dashboard-notification-main strong{
  display:block;
  font-size:17px;
  color:#182236;
  line-height:1.25;
}
.rp-dashboard-notification-main span{
  display:block;
  margin-top:4px;
  color:#6b768c;
  font-weight:700;
}
.rp-dashboard-notification-meta{
  display:grid;
  gap:5px;
  color:#526176;
  font-size:14px;
}
.rp-dashboard-notification-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.rp-notification-profile-btn{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  white-space:nowrap;
}
.rp-notification-delete-form{
  margin:0;
}
.rp-icon-trash-btn{
  width:40px!important;
  min-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0!important;
  border:0!important;
  border-radius:12px!important;
  background:#d43b3b!important;
  color:#fff!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer;
  line-height:1!important;
  appearance:none;
  -webkit-appearance:none;
}
.rp-icon-trash-btn svg{
  display:block!important;
  width:19px!important;
  height:19px!important;
  min-width:19px!important;
  color:#fff!important;
  stroke:#fff!important;
  opacity:1!important;
  visibility:visible!important;
}
.rp-icon-trash-btn svg path{
  stroke:#fff!important;
}
.rp-icon-trash-btn:hover{
  background:#b92f2f!important;
  color:#fff!important;
}
@media (max-width: 900px){
  .rp-dashboard-notification-item{
    grid-template-columns:1fr;
    align-items:start;
  }
  .rp-dashboard-notification-actions{
    justify-content:flex-start;
  }
}
@media (max-width: 520px){
  .rp-dashboard-notifications-card{
    margin-top:16px;
  }
  .rp-dashboard-notifications-head h2{
    font-size:24px;
  }
  .rp-bell-icon{
    width:auto;
    height:auto;
    border-radius:0;
  }
  .rp-dashboard-notification-item{
    padding:13px;
    border-radius:16px;
    gap:10px;
  }
  .rp-dashboard-notification-main strong{
    font-size:16px;
  }
  .rp-dashboard-notification-actions{
    width:100%;
  }
  .rp-notification-profile-btn{
    flex:1;
    justify-content:center;
  }
}

/* v126 - Notificaciones: sesiones pendientes a confirmar */
.rp-dashboard-session-notification .rp-dashboard-notification-meta{
  grid-template-columns:1fr;
}
.rp-notification-confirm-form{
  margin:0;
}
.rp-notification-confirm-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  white-space:nowrap!important;
  background:#16a36b!important;
  border-color:#16a36b!important;
  color:#fff!important;
}
.rp-notification-confirm-btn svg{
  display:block!important;
  color:#fff!important;
  stroke:#fff!important;
}
.rp-notification-confirm-btn:hover{
  background:#118858!important;
  border-color:#118858!important;
  color:#fff!important;
}
@media (max-width: 520px){
  .rp-notification-confirm-form{
    width:100%;
  }
  .rp-notification-confirm-btn{
    width:100%!important;
  }
}

/* v129: popup sesión activa solo visible luego de 10 minutos + botón pagada visible */
.rp-dashboard-payment-actions [data-rp-pay-yes],
.rp-dashboard-payment-actions .rp-btn[data-rp-pay-yes]{
    background:#263849 !important;
    color:#ffffff !important;
    border-color:#263849 !important;
    box-shadow:none !important;
}
.rp-dashboard-payment-actions [data-rp-pay-yes]:hover,
.rp-dashboard-payment-actions .rp-btn[data-rp-pay-yes]:hover{
    background:#172431 !important;
    color:#ffffff !important;
    border-color:#172431 !important;
}

/* v130: cuenta regresiva próximo paciente */
.rp-next-countdown{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  background:#eef8fb;
  border:1px solid #cfeaf4;
  color:#17324d;
  border-radius:16px;
  padding:12px 14px;
  margin:12px 0 14px;
}
.rp-next-countdown small{
  color:#0b6688;
  font-weight:800;
  font-size:13px;
}
.rp-next-countdown strong{
  font-size:24px;
  line-height:1;
  font-weight:900;
  color:#0b7fab;
  background:#fff;
  border:1px solid #d9edf5;
  border-radius:12px;
  padding:8px 12px;
}
.rp-next-countdown span{
  flex:1 1 240px;
  color:#64748b;
  font-size:13px;
  line-height:1.35;
}
@media(max-width:620px){
  .rp-next-countdown{align-items:flex-start;flex-direction:column;gap:8px;}
  .rp-next-countdown strong{width:100%;text-align:center;box-sizing:border-box;}
}

/* v136: contador flotante de sesión en curso */
.rp-session-floating{
  position:fixed;
  right:22px;
  bottom:22px;
  width:min(360px,calc(100vw - 28px));
  background:#fff;
  border:1px solid #dbe6ee;
  border-radius:18px;
  box-shadow:0 22px 55px rgba(15,23,42,.22);
  padding:16px;
  z-index:999998;
  color:#172431;
  opacity:0;
  pointer-events:none;
  transform:translateY(14px);
  transition:opacity .2s ease,transform .2s ease;
}
.rp-session-floating.show{opacity:1;pointer-events:auto;transform:translateY(0)}
.rp-session-floating-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.rp-session-floating-head span{display:inline-flex;padding:5px 10px;border-radius:999px;background:#eef8fb;color:#0b7fab;font-size:12px;font-weight:800}
.rp-session-floating-head button{border:0;background:transparent;color:#64748b;font-size:24px;line-height:1;cursor:pointer;padding:0 4px}
.rp-session-floating strong{display:block;font-size:34px;line-height:1.05;color:#0b7fab;margin-bottom:6px}
.rp-session-floating p{margin:0 0 14px;color:#475569;font-size:14px;line-height:1.35}
.rp-session-floating-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:640px){
  .rp-session-floating{right:12px;left:12px;bottom:14px;width:auto;border-radius:16px}
  .rp-session-floating-actions .rp-btn{flex:1;min-width:140px}
}

/* RP Psico v2.6.4 - sesiones atendidas: no reprogramables */
.rp-session-chip.is-attended .rp-reprogram-session.is-disabled,
.rp-mini-action.is-disabled:disabled{
  opacity:.45!important;
  cursor:not-allowed!important;
  pointer-events:none!important;
  background:#eef2f7!important;
  color:#8a94a6!important;
  border-color:#d7dee8!important;
  box-shadow:none!important;
}
.rp-session-chip.is-attended{background:#fbfcfd!important;}

/* v139: botones visibles en contador flotante y soporte de sesiones cortas reales */
.rp-session-floating .rp-session-floating-actions .rp-btn,
.rp-session-floating .rp-session-floating-actions button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    border-radius:12px;
    font-weight:800;
    text-decoration:none;
    opacity:1;
}
.rp-session-floating .rp-session-floating-actions [data-rp-session-finish]{
    background:#0b7fab !important;
    color:#fff !important;
    border:1px solid #0b7fab !important;
    box-shadow:0 8px 20px rgba(11,127,171,.18);
}
.rp-session-floating .rp-session-floating-actions [data-rp-session-hide-btn]{
    background:#eef8fb !important;
    color:#0b5f7c !important;
    border:1px solid #d7edf5 !important;
}
.rp-session-floating .rp-session-floating-actions [data-rp-session-finish]:hover{
    background:#075f82 !important;
    color:#fff !important;
}

/* v143: acceso directo a historia clínica desde contador flotante */
.rp-session-floating-patient-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px}
.rp-session-floating-patient-row p{margin:0!important;flex:1;min-width:0}
.rp-session-history-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(11,127,171,.18);background:#eef8fb!important;color:#0b7fab!important;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800;line-height:1;cursor:pointer;white-space:nowrap;box-shadow:none!important}
.rp-session-history-btn svg{width:16px;height:16px;flex:0 0 16px}
.rp-session-history-btn:hover,.rp-session-history-btn:focus{background:#dff3f8!important;color:#075b82!important}
@media (max-width:640px){.rp-session-floating-patient-row{align-items:flex-start;flex-direction:column}.rp-session-history-btn{width:100%;justify-content:center}}

/* v145: popup de pago con criterios no presentado / pagada / no pagada */
.rp-dashboard-payment-box .rp-pay-policy-note{
  display:block;
  margin-top:6px;
  font-size:12px;
  color:#64748b;
  line-height:1.35;
}
.rp-dashboard-payment-actions [data-rp-pay-noshow],
.rp-dashboard-payment-actions [data-rp-pay-unpaid]{
  background:#eef8fb!important;
  color:#0b6f93!important;
  border-color:#d8eef6!important;
  box-shadow:none!important;
}
.rp-dashboard-payment-actions [data-rp-pay-noshow]:hover,
.rp-dashboard-payment-actions [data-rp-pay-unpaid]:hover{
  background:#dff3fa!important;
  color:#064d67!important;
}
@media(max-width:640px){
  .rp-dashboard-payment-actions{justify-content:stretch;}
  .rp-dashboard-payment-actions .rp-btn{min-height:44px;}
}

/* v147: alarmas de inicio y fin de sesión */
.rp-session-alarm-box{
  position:fixed;
  right:22px;
  bottom:190px;
  z-index:1000001;
  width:min(360px,calc(100vw - 32px));
  background:#fff;
  border:1px solid #dbeaf0;
  border-radius:18px;
  padding:16px;
  box-shadow:0 22px 60px rgba(15,23,42,.22);
  color:#263849;
  display:none;
}
.rp-session-alarm-box.show{display:block;animation:rpAlarmPulse 1s ease-in-out infinite alternate}
.rp-session-alarm-box strong{display:flex;align-items:center;gap:8px;font-size:16px;color:#0b7fab;margin:0 0 7px;font-weight:900}
.rp-session-alarm-box p{margin:0 0 12px;color:#475569;line-height:1.35;font-size:14px}
.rp-session-alarm-box .rp-session-alarm-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.rp-session-alarm-box .rp-session-alarm-stop{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 14px;
  border-radius:12px;
  border:0;
  background:#0b7fab!important;
  color:#fff!important;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(11,127,171,.18);
}
.rp-session-alarm-box .rp-session-alarm-stop:hover,
.rp-session-alarm-box .rp-session-alarm-stop:focus{background:#075f82!important;color:#fff!important}
@keyframes rpAlarmPulse{from{transform:translateY(0);box-shadow:0 22px 60px rgba(15,23,42,.20)}to{transform:translateY(-3px);box-shadow:0 26px 70px rgba(11,127,171,.28)}}
@media(max-width:640px){.rp-session-alarm-box{left:14px;right:14px;bottom:18px;width:auto}.rp-session-floating.show + .rp-session-alarm-box,.rp-session-alarm-box{bottom:165px}.rp-session-alarm-box .rp-session-alarm-stop{width:100%}}

/* v148: importación/exportación/impresión */
.rp-import-export-actions,.rp-detail-actions-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rp-inline-export-form,.rp-inline-import-form{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}
.rp-import-file{display:inline-flex!important;align-items:center;gap:8px;width:auto!important;margin:0!important}
.rp-import-file span{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border-radius:12px;border:1px solid #dce8ef;background:#fff;color:#0b6f93;font-weight:800;font-size:13px;cursor:pointer}
.rp-import-file input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
.rp-history-entry-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
@media(max-width:760px){.rp-import-export-actions,.rp-detail-actions-inline{width:100%;align-items:stretch}.rp-inline-export-form,.rp-inline-import-form,.rp-import-export-actions .rp-btn,.rp-detail-actions-inline .rp-btn{width:100%}.rp-inline-import-form{display:grid;grid-template-columns:1fr}.rp-import-file span{width:100%;justify-content:center}}
@media print{.rp-btn,.rp-mini-action,form,button,.rp-nav,.rp-prof-sidebar{display:none!important}.rp-history-entry{break-inside:avoid}}

/* v149: onboarding inicial obligatorio */
.rp-onboarding-layer{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box;font-family:inherit}.rp-onboarding-layer[hidden],.rp-tour-layer[hidden]{display:none!important}.rp-onboarding-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(6px)}.rp-onboarding-modal{position:relative;width:min(620px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:28px;padding:28px;box-shadow:0 30px 90px rgba(0,0,0,.35);color:#111827}.rp-onboarding-badge{display:inline-flex;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;border-radius:999px;padding:7px 12px;font-weight:800;font-size:12px;margin-bottom:12px}.rp-onboarding-modal h2{margin:0 0 8px;font-size:28px;line-height:1.15}.rp-onboarding-lead{margin:0 0 18px;color:#4b5563;font-size:15px;line-height:1.5}.rp-onboarding-steps{display:grid;gap:10px;margin:18px 0}.rp-onboarding-steps>div{border:1px solid #e5e7eb;border-radius:18px;padding:13px 14px;background:#f9fafb}.rp-onboarding-steps>div.is-active{border-color:#f59e0b;background:#fffbeb}.rp-onboarding-steps strong{display:block;color:#111827;font-size:14px}.rp-onboarding-steps span{display:block;color:#6b7280;font-size:13px;margin-top:3px;line-height:1.35}.rp-onboarding-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.rp-onboarding-note{margin:14px 0 0;color:#6b7280;font-size:13px;line-height:1.45}.rp-onboarding-helper{position:fixed;right:18px;bottom:18px;z-index:999998;width:min(360px,calc(100vw - 36px));background:#111827;color:#fff;border-radius:22px;padding:16px;box-shadow:0 18px 50px rgba(0,0,0,.28)}.rp-onboarding-helper strong{display:block;margin-bottom:6px}.rp-onboarding-helper p{margin:0 0 10px;color:#e5e7eb;font-size:13px;line-height:1.4}.rp-tour-layer{position:fixed;right:18px;bottom:18px;z-index:999999;width:min(380px,calc(100vw - 36px))}.rp-tour-card{background:#fff;border-radius:22px;padding:18px;box-shadow:0 18px 55px rgba(15,23,42,.25);border:1px solid #e5e7eb}.rp-tour-card h3{margin:0 0 6px;font-size:19px}.rp-tour-card p{margin:0 0 14px;color:#4b5563;line-height:1.45}.rp-tour-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}@media(max-width:760px){.rp-onboarding-modal{border-radius:22px;padding:22px}.rp-onboarding-modal h2{font-size:24px}.rp-onboarding-actions{justify-content:stretch}.rp-onboarding-actions .rp-btn{width:100%}.rp-onboarding-helper,.rp-tour-layer{right:12px;bottom:12px;width:calc(100vw - 24px)}}

/* v150: onboarding helper dentro del panel, pegajoso y no flotante abajo */
.rp-prof-panel .rp-onboarding-helper{
  position:sticky!important;
  top:14px!important;
  right:auto!important;
  bottom:auto!important;
  z-index:50!important;
  width:auto!important;
  max-width:none!important;
  margin:0 0 16px!important;
  background:#111827!important;
  color:#fff!important;
  border-radius:20px!important;
  padding:16px 18px!important;
  box-shadow:0 14px 40px rgba(15,23,42,.20)!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
.rp-prof-panel .rp-onboarding-helper strong{display:block;margin:0 0 6px!important;font-size:15px!important;color:#fff!important;}
.rp-prof-panel .rp-onboarding-helper p{margin:0 0 12px!important;color:#e5e7eb!important;font-size:13px!important;line-height:1.45!important;}
.rp-prof-panel .rp-onboarding-helper .rp-btn{background:#f59e0b!important;color:#111827!important;border-color:#f59e0b!important;}
@media(max-width:760px){
  .rp-prof-panel .rp-onboarding-helper{
    top:10px!important;
    width:auto!important;
    margin:0 0 14px!important;
    border-radius:18px!important;
    padding:14px!important;
  }
}

/* v153: ficha de paciente compacta */
.rp-patient-detail-screen .rp-detail-topbar{
  margin-bottom:10px!important;
  font-size:14px!important;
}
.rp-patient-detail-screen .rp-detail-hero{
  padding:14px 18px!important;
  border-radius:14px!important;
  gap:14px!important;
  align-items:flex-start!important;
  margin-bottom:12px!important;
  min-height:0!important;
}
.rp-patient-detail-screen .rp-detail-hero small{
  font-size:13px!important;
  line-height:1.25!important;
}
.rp-patient-detail-screen .rp-detail-hero h1{
  font-size:26px!important;
  line-height:1.04!important;
  margin:4px 0 6px!important;
  max-width:300px!important;
  word-break:normal!important;
}
.rp-patient-detail-screen .rp-detail-hero p{
  font-size:14px!important;
  line-height:1.35!important;
}
.rp-patient-detail-screen .rp-patient-status{
  margin-top:7px!important;
  padding:4px 9px!important;
  font-size:12px!important;
  min-height:0!important;
}
.rp-patient-detail-screen .rp-detail-actions{
  gap:8px!important;
  align-items:center!important;
  justify-content:flex-end!important;
}
.rp-patient-detail-screen .rp-detail-actions .rp-btn,
.rp-patient-detail-screen .rp-detail-actions button,
.rp-patient-detail-screen .rp-detail-actions a{
  min-height:34px!important;
  padding:8px 12px!important;
  border-radius:10px!important;
  font-size:13px!important;
  line-height:1!important;
}
.rp-patient-detail-screen .rp-detail-actions svg,
.rp-patient-detail-screen .rp-detail-actions .dashicons{
  width:15px!important;
  height:15px!important;
  font-size:15px!important;
}
.rp-patient-detail-screen .rp-detail-actions .rp-btn-danger,
.rp-patient-detail-screen .rp-detail-actions .rp-btn-warn{
  padding-left:13px!important;
  padding-right:13px!important;
}
.rp-patient-detail-screen .rp-detail-grid,
.rp-patient-detail-screen .rp-detail-columns,
.rp-patient-detail-screen .rp-card,
.rp-patient-detail-screen .rp-detail-card{
  margin-top:12px!important;
}
@media(min-width:901px){
  .rp-patient-detail-screen .rp-detail-hero{
    display:grid!important;
    grid-template-columns:340px 1fr!important;
  }
  .rp-patient-detail-screen .rp-detail-actions{
    padding-top:2px!important;
  }
}
@media(max-width:900px){
  .rp-patient-detail-screen .rp-detail-hero{
    display:block!important;
    padding:14px!important;
  }
  .rp-patient-detail-screen .rp-detail-hero h1{
    font-size:25px!important;
    max-width:none!important;
  }
  .rp-patient-detail-screen .rp-detail-actions{
    margin-top:12px!important;
    justify-content:flex-start!important;
  }
}
@media(max-width:640px){
  .rp-patient-detail-screen .rp-detail-hero h1{
    font-size:23px!important;
  }
  .rp-patient-detail-screen .rp-detail-actions{
    gap:7px!important;
  }
  .rp-patient-detail-screen .rp-detail-actions .rp-btn,
  .rp-patient-detail-screen .rp-detail-actions button,
  .rp-patient-detail-screen .rp-detail-actions a{
    min-height:32px!important;
    padding:7px 10px!important;
    font-size:12.5px!important;
  }
}


/* v155 - Facturacion mobile: evitar desborde de campos de mes y filtros */
@media (max-width: 760px){
  #facturacion,
  #facturacion *{
    box-sizing:border-box!important;
  }
  #facturacion .rp-card,
  #facturacion .rp-table-card{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  #facturacion .rp-billing-settings-card .rp-form-grid,
  #facturacion .rp-billing-settings-card form,
  #facturacion .rp-table-tools,
  #facturacion .rp-filter-inline{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    gap:12px!important;
  }
  #facturacion .rp-billing-settings-card label,
  #facturacion .rp-filter-inline label,
  #facturacion .rp-billing-search-label{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  #facturacion input,
  #facturacion select,
  #facturacion textarea,
  #facturacion button.rp-btn,
  #facturacion .rp-btn{
    max-width:100%!important;
    min-width:0!important;
  }
  #facturacion input[type="month"],
  #facturacion input[type="number"],
  #facturacion input[type="search"],
  #facturacion .rp-billing-search{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:block!important;
  }
  #facturacion .rp-billing-settings-card button.rp-btn,
  #facturacion .rp-filter-inline button.rp-btn{
    width:100%!important;
  }
  #facturacion .rp-table-tools > span{
    width:100%!important;
    display:block!important;
    overflow-wrap:anywhere!important;
  }
  #facturacion .rp-responsive-table{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  #facturacion .rp-patient-table{
    min-width:760px!important;
  }
}

/* v156 - Facturacion mobile: correccion estricta input month desfasado iOS */
@media (max-width: 760px){
  #facturacion{
    overflow-x:hidden!important;
  }
  #facturacion .rp-card,
  #facturacion .rp-table-card,
  #facturacion .rp-billing-settings-card,
  #facturacion .rp-billing-settings-card form,
  #facturacion .rp-table-tools,
  #facturacion .rp-table-tools form,
  #facturacion .rp-filter-inline,
  #facturacion .rp-billing-settings-card label,
  #facturacion .rp-filter-inline label{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  #facturacion .rp-billing-settings-card form.rp-form-grid,
  #facturacion .rp-table-tools{
    display:block!important;
  }
  #facturacion .rp-billing-settings-card label,
  #facturacion .rp-filter-inline label{
    display:block!important;
  }
  #facturacion input[type="month"],
  #facturacion input[type="number"],
  #facturacion input[type="search"],
  #facturacion .rp-billing-search{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    inline-size:100%!important;
    max-inline-size:100%!important;
    min-inline-size:0!important;
    box-sizing:border-box!important;
    display:block!important;
    margin:0!important;
    overflow:hidden!important;
  }
  #facturacion input[type="month"]{
    -webkit-appearance:none!important;
    appearance:none!important;
    height:56px!important;
    min-height:56px!important;
    line-height:56px!important;
    padding:0 12px!important;
    text-align:center!important;
    text-align-last:center!important;
  }
  #facturacion input[type="month"]::-webkit-date-and-time-value{
    text-align:center!important;
    width:100%!important;
    min-width:0!important;
    display:block!important;
  }
  #facturacion input[type="month"]::-webkit-calendar-picker-indicator{
    margin:0!important;
    padding:0!important;
  }
  #facturacion .rp-billing-settings-card button.rp-btn,
  #facturacion .rp-filter-inline button.rp-btn,
  #facturacion .rp-table-tools .rp-btn{
    width:100%!important;
    max-width:100%!important;
    display:block!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  #facturacion .rp-filter-inline{
    margin:0 0 18px 0!important;
  }
  #facturacion .rp-billing-search-label{
    margin-top:16px!important;
  }
}

/* v159 - historial de pagos: acciones claras y compactas */
.rp-payment-row .rp-payment-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
}
.rp-payment-row .rp-payment-actions .rp-inline-form{
  margin:0;
}
.rp-payment-row span small{
  display:block;
  opacity:.72;
  margin-top:2px;
}
@media (max-width: 760px){
  .rp-payment-row .rp-payment-actions{
    justify-content:flex-start;
    width:100%;
  }
}


/* v162 Turnera paciente */
.rp-turnera-card .rp-field-hint{font-size:13px;color:#667085;line-height:1.45;align-self:end}
.rp-turnera-preview{background:#eef8fb;border:1px solid #cde8f2;border-radius:16px;padding:14px;color:#17445a;line-height:1.45}
.rp-public-turnos-free strong{color:#0b7fab}
@media(max-width:760px){.rp-turnera-paciente-section .rp-head-actions{gap:14px}.rp-turnera-paciente-section .rp-head-actions .rp-btn{width:100%;text-align:center}}

/* v167: popup de pago fijo, no afectado por refrescos visuales del Dashboard */
.rp-dashboard-payment-modal.active{
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
}
.rp-dashboard-payment-box{
  position: relative !important;
  z-index: 1000000 !important;
}

/* v168: header público del profesional */
.rp-public-turnos-head-profile .rp-public-prof-meta{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:6px 0 8px;color:inherit}
.rp-public-turnos-head-profile .rp-public-prof-meta strong{font-size:15px;font-weight:800;color:inherit;line-height:1.25}
.rp-public-turnos-head-profile .rp-public-prof-meta em{font-style:normal;font-size:13px;font-weight:700;opacity:.82;line-height:1.25}
.rp-header-profile-card textarea{min-height:82px!important;resize:vertical}
@media (max-width:760px){.rp-public-turnos-head-profile .rp-public-prof-meta{gap:6px;flex-direction:column}.rp-public-turnos-head-profile .rp-public-prof-meta strong{font-size:14px}.rp-public-turnos-head-profile .rp-public-prof-meta em{font-size:12px}}
