:root{--rc-navy:#122a45;--rc-blue:#3159c9;--rc-cyan:#19a9b7;--rc-green:#27b56f;--rc-yellow:#f2b51d;--rc-red:#e75858;--rc-bg:#f4f7fb;--rc-card:#fff;--rc-text:#17324d;--rc-muted:#71849a;--rc-border:#dce6ef;--rc-shadow:0 18px 45px rgba(27,63,95,.09)}*{box-sizing:border-box}.rcm-app,.rcm-login{font-family:Inter,Segoe UI,system-ui,sans-serif;color:var(--rc-text)}.rcm-app{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh;background:var(--rc-bg)}.rcm-sidebar{position:sticky;top:0;height:100vh;overflow:hidden;background:linear-gradient(180deg,#102c49,#0a2038);color:#fff;padding:24px 18px;display:flex;flex-direction:column;z-index:20}.rcm-side-brand{display:flex;gap:13px;align-items:center;padding:5px 8px 24px}.rcm-side-brand>span,.rcm-logo{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--rc-cyan),#47c6a9);color:#fff;font-weight:900;font-size:20px;box-shadow:0 10px 24px rgba(25,169,183,.25)}.rcm-side-brand strong{display:block;font-size:18px}.rcm-side-brand small{display:block;color:#9fc1d5;margin-top:3px}.rcm-sidebar nav{display:grid;gap:7px;overflow:auto;padding-right:2px}.rcm-sidebar nav a,.rcm-logout{display:flex;align-items:center;gap:12px;color:#dceaf5;text-decoration:none;padding:13px 14px;border-radius:12px;font-weight:600}.rcm-sidebar nav a:hover,.rcm-sidebar nav a.active{background:linear-gradient(90deg,rgba(25,169,183,.28),rgba(49,89,201,.25));color:#fff}.rcm-sidebar nav a.active{box-shadow:inset 3px 0 0 #51d8c2}.rcm-side-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:14px}.rcm-user-chip{display:flex;gap:10px;align-items:center;padding:10px 12px}.rcm-user-chip strong,.rcm-user-chip small{display:block}.rcm-user-chip small{color:#91aec2}.rcm-logout{margin-top:6px}.rcm-app main{min-width:0;padding:32px 38px 60px}.rcm-page-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.rcm-page-header h1{font-size:38px;margin:5px 0}.rcm-page-header p{margin:0;color:var(--rc-muted)}.rcm-kicker{font-size:12px;letter-spacing:.17em;text-transform:uppercase;color:#148895;font-weight:800}.rcm-status{background:#fff;border:1px solid var(--rc-border);border-radius:999px;padding:11px 16px;display:flex;align-items:center;gap:9px;box-shadow:0 8px 25px rgba(27,63,95,.05)}.rcm-status i{width:9px;height:9px;border-radius:50%;background:var(--rc-green);box-shadow:0 0 0 5px rgba(39,181,111,.13)}.rcm-card{background:#fff;border:1px solid var(--rc-border);border-radius:22px;padding:26px;box-shadow:var(--rc-shadow);margin-bottom:24px}.rcm-card-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.rcm-card h2{font-size:27px;margin:5px 0}.rcm-card p{color:var(--rc-muted);margin:3px 0}.rcm-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.rcm-metrics article{background:#fff;border:1px solid var(--rc-border);border-radius:18px;padding:21px;display:flex;align-items:center;gap:15px;box-shadow:var(--rc-shadow)}.rcm-metrics article>.dashicons{width:47px;height:47px;border-radius:13px;display:grid;place-items:center;background:#eaf4ff;color:var(--rc-blue);font-size:23px}.rcm-metrics article:nth-child(2)>.dashicons{background:#e8fbf6;color:var(--rc-green)}.rcm-metrics article:nth-child(3)>.dashicons{background:#fff5df;color:#c88600}.rcm-metrics article:nth-child(4)>.dashicons{background:#f1edff;color:#7856ce}.rcm-metrics small{display:block;color:var(--rc-muted)}.rcm-metrics strong{font-size:28px}.rcm-welcome{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(110deg,#fff,#eef9fb)}.rcm-welcome>.dashicons{font-size:70px;width:80px;height:80px;color:var(--rc-cyan);opacity:.35}.rcm-btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--rc-cyan),#159b91);color:#fff!important;border:0;border-radius:12px;padding:12px 18px;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:0 9px 20px rgba(25,169,183,.2)}.rcm-searchbox{display:flex;align-items:center;gap:10px;background:#f7fafc;border:1px solid var(--rc-border);border-radius:14px;padding:0 15px;margin:16px 0}.rcm-searchbox input{width:100%;border:0;background:transparent;padding:14px 0;outline:none}.rcm-table-wrap{overflow:auto}.rcm-app table{width:100%;border-collapse:collapse}.rcm-app th,.rcm-app td{padding:14px 12px;text-align:left;border-bottom:1px solid #edf1f5;vertical-align:middle}.rcm-app th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--rc-muted)}.rcm-app td small{display:block;color:var(--rc-muted);margin-top:4px}.rcm-record{font-weight:800;color:var(--rc-blue)}.rcm-pill{display:inline-flex;border-radius:999px;padding:6px 10px;background:#eef2f6;color:#53697e;font-size:12px;font-weight:700}.rcm-pill.success{background:#e7f8ef;color:#148252}.rcm-pill.live{background:#e9f3ff;color:#245cc8}.rcm-link-btn{display:inline-flex;gap:7px;align-items:center;border:0;background:transparent;color:var(--rc-blue);font-weight:700;cursor:pointer;padding:8px}.rcm-form{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;background:#f7fafc;border:1px solid var(--rc-border);padding:18px;border-radius:16px;margin-bottom:18px}.rcm-form label{display:grid;gap:6px;font-weight:600}.rcm-form input,.rcm-form select{padding:11px;border:1px solid var(--rc-border);border-radius:10px;background:#fff}.hidden{display:none!important}.rcm-machine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.rcm-machine{background:#fff;border:1px solid var(--rc-border);border-top:4px solid var(--rc-green);border-radius:18px;padding:20px;box-shadow:var(--rc-shadow)}.rcm-machine.in_use{border-top-color:var(--rc-blue)}.rcm-machine.cleaning{border-top-color:var(--rc-yellow)}.rcm-machine.maintenance{border-top-color:var(--rc-red)}.rcm-machine header{display:flex;justify-content:space-between;gap:10px}.rcm-machine h3{font-size:24px;margin:4px 0}.rcm-machine-patient{display:flex;gap:10px;align-items:center;background:#f2f7fb;border-radius:13px;padding:12px;margin:15px 0}.rcm-machine-patient small,.rcm-machine-patient strong{display:block}.rcm-machine-data{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.rcm-machine-data span{background:#f8fafc;border:1px solid #edf1f5;border-radius:10px;padding:9px;font-size:12px}.rcm-machine-empty{text-align:center;padding:24px;color:var(--rc-muted)}.rcm-machine footer{margin-top:15px;padding-top:12px;border-top:1px solid #edf1f5;color:var(--rc-muted);font-size:12px}.rcm-note-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.rcm-note-grid article,.rcm-note-list article{border:1px solid var(--rc-border);border-radius:15px;padding:16px;background:#fbfdff}.rcm-note-grid time,.rcm-note-list time{font-size:12px;color:var(--rc-blue)}.rcm-login{max-width:1080px;margin:45px auto;background:linear-gradient(135deg,#f5fbfc,#eef3fb);border:1px solid var(--rc-border);border-radius:25px;padding:38px;box-shadow:var(--rc-shadow)}.rcm-login-hero{display:flex;gap:18px;align-items:center;margin-bottom:28px}.rcm-login h1{font-size:40px;margin:3px 0}.rcm-role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.rcm-role-grid form{margin:0}.rcm-role-grid button{width:100%;display:flex;align-items:center;gap:14px;text-align:left;padding:20px;border:1px solid var(--rc-border);border-radius:16px;background:#fff;cursor:pointer;color:var(--rc-text);transition:.2s}.rcm-role-grid button:hover{transform:translateY(-2px);border-color:#a7ccd8;box-shadow:0 14px 25px rgba(27,63,95,.1)}.rcm-role-grid button>.dashicons:first-child{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#e8f6f8;color:var(--rc-cyan);font-size:22px}.rcm-role-grid button>.dashicons:last-child{margin-left:auto;color:var(--rc-blue)}.rcm-role-grid strong,.rcm-role-grid small{display:block}.rcm-role-grid small{color:var(--rc-muted);margin-top:3px}.rcm-modal{position:fixed;inset:0;display:none;z-index:99999}.rcm-modal.open{display:block}.rcm-modal-backdrop{position:absolute;inset:0;background:rgba(9,25,43,.62);backdrop-filter:blur(3px)}.rcm-modal-panel{position:relative;width:min(1180px,calc(100% - 42px));max-height:calc(100vh - 42px);overflow:auto;margin:21px auto;background:#f5f8fb;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.3)}.rcm-modal-panel>header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid var(--rc-border);padding:22px 26px}.rcm-modal-panel h2{font-size:27px;margin:3px 0}.rcm-modal-panel p{margin:0;color:var(--rc-muted)}.rcm-modal-close{border:0;background:#edf2f6;width:42px;height:42px;border-radius:50%;cursor:pointer}.rcm-modal-body{padding:24px}.rcm-profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.rcm-profile-grid article{background:#fff;border:1px solid var(--rc-border);border-radius:14px;padding:15px}.rcm-profile-grid small,.rcm-profile-grid strong{display:block}.rcm-profile-grid small{color:var(--rc-muted);margin-bottom:6px}.rcm-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#fff;border:1px solid var(--rc-border);border-radius:14px;padding:16px;margin-bottom:18px}.rcm-info-grid small,.rcm-info-grid strong{display:block}.rcm-chart-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}.rcm-chart-grid section{background:#fff;border:1px solid var(--rc-border);border-radius:16px;padding:16px}.rcm-chart{height:230px}.rcm-chart svg{width:100%;height:100%;overflow:visible}.rcm-callout{display:flex;gap:12px;align-items:center;background:#fff6df;border:1px solid #f0d38c;border-radius:14px;padding:15px}.rcm-callout p{margin:0;color:#755616}.rcm-login-compact{max-width:560px}.rcm-login-compact h2{margin-top:0}@media(max-width:1000px){.rcm-metrics{grid-template-columns:repeat(2,1fr)}.rcm-machine-grid{grid-template-columns:repeat(2,1fr)}.rcm-chart-grid{grid-template-columns:1fr}}@media(max-width:760px){.rcm-app{grid-template-columns:1fr}.rcm-sidebar{position:relative;height:auto}.rcm-sidebar nav{grid-template-columns:repeat(2,1fr)}.rcm-side-footer{margin-top:18px}.rcm-app main{padding:22px 15px}.rcm-page-header{align-items:flex-start}.rcm-status{display:none}.rcm-role-grid,.rcm-machine-grid,.rcm-note-grid,.rcm-form,.rcm-profile-grid,.rcm-info-grid{grid-template-columns:1fr}.rcm-metrics{grid-template-columns:1fr}.rcm-card{padding:18px}.rcm-modal-panel{width:calc(100% - 16px);margin:8px;max-height:calc(100vh - 16px)}}
.rcm-pill.danger{background:#ffe8e8;color:#b42318}.rcm-form textarea{padding:11px;border:1px solid var(--rc-border);border-radius:10px;background:#fff;min-height:90px}.rcm-sidebar{top:0}.rcm-app main{min-width:0}.rcm-note-list{display:grid;gap:12px}.rcm-note-list small{color:var(--rc-muted)}
.rcm-pill{display:inline-flex!important;align-items:center;gap:6px;white-space:nowrap}.rcm-pill .dashicons{font-size:16px;width:16px;height:16px}.rcm-pill.success{background:#e7f8ef;color:#147a49}.rcm-pill.info{background:#e8f1ff;color:#255bc1}.rcm-pill.warning{background:#fff3d8;color:#9a6500}.rcm-pill.danger{background:#ffe7e7;color:#b42318}.rcm-pill.muted{background:#eef2f5;color:#5b6b78}.rcm-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.rcm-patient-today{border:1px solid #dce7ef;border-radius:18px;padding:20px;background:#fff}.rcm-patient-today header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.rcm-patient-today header strong,.rcm-patient-today header small{display:block}.rcm-order-preview{background:#eef9f8;border-left:4px solid #16aaa2;border-radius:12px;padding:12px;margin:12px 0}.rcm-order-indicator{display:flex;align-items:center;gap:8px;margin:12px 0;padding:9px 12px;border-radius:12px;background:#fff4d9;color:#8b6200}.rcm-order-indicator.read{background:#e8f2ff;color:#2458aa}.rcm-machine-editor{margin-top:14px;border-top:1px solid #e4edf3;padding-top:14px}.rcm-wide{width:100%;justify-content:center;margin-top:14px}.rcm-btn.danger{background:#c93d42}.rcm-inline-form{display:flex;gap:8px;align-items:center}.rcm-inline-form input{max-width:145px}.rcm-timeline{display:grid;gap:12px}.rcm-timeline article{position:relative;padding:12px 12px 12px 22px;border-left:3px solid #22aaa1;background:#f7fbfc;border-radius:0 12px 12px 0}.rcm-timeline time,.rcm-timeline strong{display:block}.rcm-search{width:100%;padding:14px 16px;border:1px solid #d4e1e9;border-radius:14px;margin:18px 0}.rcm-form.hidden,.hidden{display:none!important}.rcm-form:not(.hidden){display:grid}.rcm-machine .rcm-btn{border:none}.rcm-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto}.rcm-sidebar nav{min-height:0}.rcm-side-footer{margin-top:auto;position:sticky;bottom:0;background:#102f4f}.rcm-app main{min-width:0}.rcm-table-wrap table small{display:block;color:#72859a;margin-top:4px}@media(max-width:860px){.rcm-sidebar{position:relative;height:auto}.rcm-inline-form{flex-wrap:wrap}}

/* 2.6 UX corrections */
.rcm-actions,.rcm-machine-actions,.rcm-order-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rcm-link-btn{display:inline-flex;align-items:center;gap:5px}.rcm-search-row{position:relative}.rcm-search-row .dashicons{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:#6f8295}.rcm-modal-small{max-width:760px}.rcm-chart-help{color:var(--rc-muted);font-size:13px;margin-top:-4px}.rcm-chart-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:#5f7184;margin-bottom:5px}.rcm-chart-legend span{display:inline-flex;align-items:center;gap:6px}.rcm-chart-legend i{width:18px;height:3px;border-radius:4px}.rcm-empty-chart{display:grid;place-items:center;height:180px;color:var(--rc-muted)}.rcm-machine-actions{margin-top:14px}.rcm-order-actions form{margin:0}.rcm-table-wrap tbody tr:hover{background:#f7fbfd}.rcm-sidebar nav{overflow-y:auto;scrollbar-width:thin}.rcm-sidebar{overflow:hidden}.rcm-side-footer{position:relative;bottom:auto}.rcm-app main{overflow:hidden}.rcm-card,.rcm-modal-panel{max-width:100%}@media(max-width:760px){.rcm-actions,.rcm-machine-actions{align-items:stretch}.rcm-actions>*{width:100%}.rcm-actions form{width:100%}.rcm-actions button{width:100%;justify-content:center}}

/* ============================================================
   RenalCare 2.8.0 — estilos de los módulos nuevos
   ============================================================ */

/* Avisos de resultado de acción */
.rcm-notice{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:14px;margin-bottom:20px;font-weight:600;border:1px solid transparent}
.rcm-notice.success{background:#e8f8ef;border-color:#bde7cf;color:#12683f}
.rcm-notice.error{background:#fdeaea;border-color:#f3c4c4;color:#8d2020}

/* Barra de navegación por fecha */
.rcm-datebar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--rc-border);border-radius:16px;padding:12px 18px;margin-bottom:20px;box-shadow:0 8px 25px rgba(27,63,95,.05)}
.rcm-datebar input[type=date]{padding:8px 10px;border:1px solid var(--rc-border);border-radius:10px}
.rcm-datebar-label{margin-left:auto;color:var(--rc-muted);font-weight:600;text-transform:capitalize}
.rcm-link-btn.accent{color:#0e7c8a;font-weight:700}
.rcm-link-btn.danger{color:var(--rc-red)}

/* Buscador inteligente de pacientes */
.rcm-picker{position:relative;grid-column:1/-1}
.rcm-picker-list{display:none;position:absolute;z-index:40;left:0;right:0;top:100%;max-height:280px;overflow:auto;background:#fff;border:1px solid var(--rc-border);border-radius:14px;box-shadow:var(--rc-shadow);margin-top:6px}
.rcm-picker-list.open{display:block}
.rcm-picker-list button{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #eef3f7;padding:12px 16px;cursor:pointer}
.rcm-picker-list button:hover{background:#f2f9fb}
.rcm-picker-list button strong{display:block}
.rcm-picker-list button small{color:var(--rc-muted)}
.rcm-picker-selected{margin:8px 0 0;color:var(--rc-muted);font-size:13px}
.rcm-picker-selected.active{color:#0e7c8a;font-weight:700}
.rcm-checkin-form{align-items:end}

/* Campo bloqueado (peso de salida) */
.rcm-disabled-field{display:inline-flex;align-items:center;gap:6px;color:var(--rc-muted);background:#f1f5f9;border-radius:999px;padding:6px 12px;font-size:13px}

/* Sala en vivo — tarjetas por paciente */
.rcm-live-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px}
.rcm-live-card{background:#fff;border:1px solid var(--rc-border);border-radius:20px;padding:22px;box-shadow:var(--rc-shadow);display:flex;flex-direction:column;gap:14px}
.rcm-live-card.in_session{border-color:#9fd8de;box-shadow:0 14px 34px rgba(25,169,183,.16)}
.rcm-live-card.pending_exit_weight{border-color:#f3d99a}
.rcm-live-card.completed{opacity:.78}
.rcm-live-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.rcm-live-card>header strong{display:block;font-size:19px}
.rcm-live-card>header small{color:var(--rc-muted)}
.rcm-live-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;background:#f7fafc;border-radius:14px;padding:14px}
.rcm-live-data span{font-size:13px;color:var(--rc-muted);display:flex;justify-content:space-between;gap:8px}
.rcm-live-data strong{color:var(--rc-text)}
.rcm-live-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.rcm-live-editor{border-top:1px dashed var(--rc-border);padding-top:14px;margin-top:4px}
.rcm-live-foot{color:var(--rc-muted);font-size:12px;border-top:1px solid #eef3f7;padding-top:10px}
.rcm-btn.round{background:linear-gradient(135deg,#3159c9,#19a9b7)}
.rcm-reassign{margin-top:6px}
.rcm-hint{color:var(--rc-muted);font-size:12.5px;margin:6px 0 0}

/* Indicación médica destacada */
.rcm-order-flag{border-left:5px solid var(--rc-yellow);background:#fffaf0;border-radius:12px;padding:12px 14px;display:grid;gap:8px}
.rcm-order-flag.urgent{border-left-color:var(--rc-red);background:#fdf1f1}
.rcm-order-flag.high{border-left-color:var(--rc-yellow)}
.rcm-order-flag.normal,.rcm-order-flag.low{border-left-color:var(--rc-cyan);background:#f2fbfc}
.rcm-order-flag p{margin:0}
.rcm-orders-banner .rcm-order-list{display:grid;gap:10px;margin-bottom:14px}
.rcm-order-item{display:flex;justify-content:space-between;gap:14px;align-items:center;background:#f7fafc;border-radius:12px;padding:12px 16px;flex-wrap:wrap}
.rcm-order-item p{margin:2px 0 0;color:var(--rc-muted)}
.rcm-order-tags{display:flex;gap:8px;flex-wrap:wrap}

/* Registro de mediciones dentro de la tarjeta */
.rcm-measure-log summary{cursor:pointer;font-weight:700;color:#0e7c8a}
.rcm-measure-log ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.rcm-measure-log li{background:#f7fafc;border-radius:10px;padding:10px 12px;font-size:13px;display:grid;gap:3px}
.rcm-measure-log time{font-weight:700}
.rcm-measure-log em{font-style:normal;color:#0e7c8a}
.rcm-measure-log em.warn{color:var(--rc-red)}

/* Selector de prioridad de la ronda médica */
.rcm-priority-picker{display:grid;gap:8px}
.rcm-field-label{font-weight:700}
.rcm-priority-options{display:flex;gap:10px;flex-wrap:wrap}
.rcm-priority-option{display:flex;align-items:center;gap:8px;border:2px solid var(--rc-border);border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:600}
.rcm-priority-option input{margin:0}
.rcm-priority-option:has(input:checked){border-color:#0e7c8a;background:#f2fbfc}
.rcm-priority-option.danger:has(input:checked){border-color:var(--rc-red);background:#fdf1f1}
.rcm-priority-option.warning:has(input:checked){border-color:var(--rc-yellow);background:#fffaf0}

/* Encargado de enfermería — enfermeros del turno */
.rcm-staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.rcm-staff-card{background:#fff;border:1px solid var(--rc-border);border-radius:18px;padding:18px}
.rcm-staff-card>header{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.rcm-staff-card>header strong{display:block}
.rcm-staff-card>header small{color:var(--rc-muted)}
.rcm-staff-patients{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rcm-staff-patients li{background:#f7fafc;border-radius:12px;padding:12px;display:grid;gap:8px}
.rcm-staff-patients li small{color:var(--rc-muted);display:block}

/* Utilidades de formulario */
.rcm-form .rcm-full{grid-column:1/-1}
.rcm-note-meta{color:var(--rc-muted);font-size:12.5px}

@media(max-width:900px){
  .rcm-live-grid{grid-template-columns:1fr}
  .rcm-live-data{grid-template-columns:1fr}
  .rcm-datebar-label{margin-left:0;width:100%}
}

/* ============================================================
   RenalCare 2.9.0 — motor de alertas y mejoras de interfaz
   ============================================================ */

/* Contadores en el menú lateral */
.rcm-badge{margin-left:auto;min-width:22px;height:22px;padding:0 7px;border-radius:999px;display:grid;place-items:center;font-size:12px;font-weight:800;font-style:normal;background:#3159c9;color:#fff}
.rcm-badge.warning{background:var(--rc-yellow);color:#4a3500}
.rcm-badge.critical{background:var(--rc-red);animation:rcm-pulse-badge 2s ease-in-out infinite}
.rcm-badge.info{background:var(--rc-cyan)}
.rcm-badge.pop{animation:rcm-pop .9s ease}
@keyframes rcm-pulse-badge{0%,100%{box-shadow:0 0 0 0 rgba(231,88,88,.55)}50%{box-shadow:0 0 0 7px rgba(231,88,88,0)}}
@keyframes rcm-pop{0%{transform:scale(1)}40%{transform:scale(1.45)}100%{transform:scale(1)}}

/* Avisos flotantes */
#rcm-toasts{position:fixed;right:20px;bottom:20px;display:grid;gap:10px;z-index:9999}
.rcm-toast{background:#122a45;color:#fff;padding:13px 18px;border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.22);font-weight:600;max-width:340px;animation:rcm-slide .3s ease}
.rcm-toast.error{background:var(--rc-red)}
.rcm-toast.out{opacity:0;transform:translateY(8px);transition:.4s}
@keyframes rcm-slide{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.rcm-notice.fade{opacity:.55;transition:opacity .8s}

/* Cargador del expediente bajo demanda */
.rcm-loader-modal{display:grid;place-items:center}
/* El atributo hidden debe ganar siempre sobre cualquier regla de display. */
.rcm-modal[hidden],.rcm-loader-modal[hidden],[hidden]{display:none!important}
.rcm-loader-box{position:relative;z-index:2;background:#fff;border-radius:18px;padding:34px 46px;display:grid;gap:14px;justify-items:center;box-shadow:var(--rc-shadow)}
.rcm-spinner{width:34px;height:34px;border:3px solid #dbe7ef;border-top-color:var(--rc-cyan);border-radius:50%;animation:rcm-spin .8s linear infinite}
@keyframes rcm-spin{to{transform:rotate(360deg)}}
.rcm-loader-box p{margin:0;color:var(--rc-muted)}

/* Banner de novedades en sala */
.rcm-pulse{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,#e8f6f8,#f2fbfc);border:1px solid #a9dde4;border-left:5px solid var(--rc-cyan);border-radius:14px;padding:14px 18px;margin-bottom:18px;font-weight:600;animation:rcm-slide .3s ease}
.rcm-pulse .dashicons{color:#0e7c8a}
.rcm-btn.small{padding:8px 14px;font-size:13px;margin-left:auto}

/* Resumen del centro de alertas */
.rcm-alert-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:18px}
.rcm-alert-summary article{background:#fff;border:1px solid var(--rc-border);border-radius:16px;padding:18px;display:flex;gap:14px;align-items:center;box-shadow:0 8px 22px rgba(27,63,95,.05)}
.rcm-alert-summary article .dashicons{font-size:26px;width:26px;height:26px}
.rcm-alert-summary article strong{display:block;font-size:26px;line-height:1.1}
.rcm-alert-summary article small{color:var(--rc-muted)}
.rcm-alert-summary .crit{border-left:5px solid var(--rc-red)}
.rcm-alert-summary .crit .dashicons{color:var(--rc-red)}
.rcm-alert-summary .warn{border-left:5px solid var(--rc-yellow)}
.rcm-alert-summary .warn .dashicons{color:var(--rc-yellow)}
.rcm-alert-summary .ok{border-left:5px solid var(--rc-green)}
.rcm-alert-summary .ok .dashicons{color:var(--rc-green)}

/* Filtros por chips */
.rcm-filterbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.rcm-chip{background:#fff;border:1px solid var(--rc-border);border-radius:999px;padding:9px 16px;text-decoration:none;color:var(--rc-text);font-weight:600;font-size:13.5px}
.rcm-chip:hover{border-color:var(--rc-cyan)}
.rcm-chip.on{background:var(--rc-navy);color:#fff;border-color:var(--rc-navy)}
.rcm-chip.danger.on{background:var(--rc-red);border-color:var(--rc-red)}
.rcm-chip.warning.on{background:var(--rc-yellow);border-color:var(--rc-yellow);color:#4a3500}
.rcm-chip.info.on{background:var(--rc-cyan);border-color:var(--rc-cyan)}
.rcm-filter-sep{width:1px;height:22px;background:var(--rc-border)}

/* Tarjetas de alerta */
.rcm-alert-list{display:grid;gap:14px}
.rcm-alert-card{border:1px solid var(--rc-border);border-left:5px solid var(--rc-muted);border-radius:16px;padding:18px;background:#fff}
.rcm-alert-card.critical{border-left-color:var(--rc-red);background:#fffafa}
.rcm-alert-card.warning{border-left-color:var(--rc-yellow);background:#fffdf6}
.rcm-alert-card.info{border-left-color:var(--rc-cyan);background:#f8fdfe}
.rcm-alert-card.closed{opacity:.62;background:#fff}
.rcm-alert-card>header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.rcm-alert-title{display:flex;gap:11px;align-items:flex-start}
.rcm-alert-title .dashicons{font-size:22px;width:22px;height:22px;margin-top:2px}
.rcm-alert-card.critical .rcm-alert-title .dashicons{color:var(--rc-red)}
.rcm-alert-card.warning .rcm-alert-title .dashicons{color:var(--rc-yellow)}
.rcm-alert-card.info .rcm-alert-title .dashicons{color:var(--rc-cyan)}
.rcm-alert-title strong{display:block;font-size:16px}
.rcm-alert-title small{color:var(--rc-muted)}
.rcm-alert-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rcm-alert-meta time{color:var(--rc-muted);font-size:13px}
.rcm-alert-msg{margin:12px 0 8px;font-size:15px}
.rcm-alert-note{display:flex;gap:8px;align-items:flex-start;background:rgba(255,255,255,.75);border:1px dashed var(--rc-border);border-radius:10px;padding:10px 12px;margin:0 0 10px;color:var(--rc-muted);font-size:13.5px}
.rcm-alert-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.rcm-tag{background:#eef4f8;border-radius:999px;padding:5px 12px;font-size:12.5px;color:#40566d;font-weight:600}
.rcm-tag.alt{background:#e8f4ff;color:#1f4f86}
.rcm-tag.danger{background:#fde5e5;color:#8d2020}
.rcm-alert-card>footer{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid rgba(0,0,0,.05);padding-top:12px}
.rcm-alert-resolution{display:flex;gap:7px;align-items:center;color:var(--rc-green);font-weight:600;font-size:13.5px}

/* Alertas dentro de la tarjeta de Sala en vivo */
.rcm-card-alerts{display:grid;gap:7px}
.rcm-card-alert{display:flex;gap:9px;align-items:flex-start;border-radius:11px;padding:10px 13px;font-size:13.5px;font-weight:600}
.rcm-card-alert.critical{background:#fdeaea;color:#8d2020;border-left:4px solid var(--rc-red)}
.rcm-card-alert.warning{background:#fff6e2;color:#6b4d00;border-left:4px solid var(--rc-yellow)}
.rcm-card-alert.info{background:#eaf7fa;color:#0e5f6a;border-left:4px solid var(--rc-cyan)}
.rcm-card-alert .dashicons{font-size:17px;width:17px;height:17px;flex:0 0 auto;margin-top:1px}

/* Estados vacíos con sentido */
.rcm-empty-state{display:grid;justify-items:center;gap:8px;padding:46px 20px;text-align:center;color:var(--rc-muted)}
.rcm-empty-state .dashicons{font-size:44px;width:44px;height:44px;color:#c3d3de}
.rcm-empty-state h3{margin:4px 0 0;color:var(--rc-text)}
.rcm-empty-state p{margin:0;max-width:420px}

/* Encabezados de tabla fijos al hacer scroll */
.rcm-table-wrap{max-height:none}
.rcm-table-wrap table thead th{position:sticky;top:0;background:#f5f9fc;z-index:2}

/* Tablet: el especialista y el auxiliar trabajan en tableta junto a la máquina */
@media(max-width:1024px){
  .rcm-app{grid-template-columns:1fr}
  .rcm-sidebar{position:relative;height:auto;top:auto}
  .rcm-sidebar nav{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}
  .rcm-app main{padding:22px 18px 50px}
  .rcm-page-header h1{font-size:28px}
  .rcm-metrics,.rcm-alert-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rcm-form{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .rcm-metrics,.rcm-alert-summary{grid-template-columns:1fr}
  .rcm-form{grid-template-columns:1fr}
  .rcm-modal-panel{width:100%;border-radius:0}
  .rcm-alert-card>header{flex-direction:column}
  .rcm-table-wrap table{font-size:13.5px}
  .rcm-btn,.rcm-link-btn{min-height:44px}
}

/* ============ RenalCare 3.0.0 — sedes e identidad visual ============ */
.rcm-side-logo{width:44px;height:44px;object-fit:contain;border-radius:10px;background:#fff;padding:4px}
.rcm-login-logo{max-width:150px;max-height:80px;object-fit:contain}
.rcm-site-switch{padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.12)}
.rcm-site-switch label{display:flex;align-items:center;gap:8px;color:#fff}
.rcm-site-switch select{flex:1;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;font-weight:600}
.rcm-site-switch select option{color:#111}
.rcm-form-section{grid-column:1/-1;margin:14px 0 0;padding-bottom:8px;border-bottom:2px solid var(--rc-border);font-size:15px;color:var(--rc-navy)}

/* ======= RenalCare 3.1.0 — reparto de máquinas y técnico asignado ======= */
.rcm-assigned-to{display:inline-flex;align-items:center;gap:5px;margin-top:6px;background:#eef4f8;color:#40566d;border-radius:999px;padding:4px 11px;font-size:12.5px;font-weight:700}
.rcm-assigned-to .dashicons{font-size:15px;width:15px;height:15px}
.rcm-assigned-to.mine{background:#e0f5f7;color:#0e7c8a}
.rcm-assigned-to.none{background:#fff4e2;color:#7a5600}
.rcm-pool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px;margin-top:16px}
.rcm-pool-card{border:1px solid var(--rc-border);border-radius:16px;padding:16px;background:#fff}
.rcm-pool-card.on{border-color:#a9dde4;box-shadow:0 8px 20px rgba(25,169,183,.10)}
.rcm-pool-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}
.rcm-pool-card>header strong{display:block}
.rcm-pool-card>header small{color:var(--rc-muted)}
.rcm-machine-picks{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.rcm-check{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rc-border);border-radius:9px;padding:7px 11px;font-size:13px;font-weight:600;cursor:pointer;background:#fff}
.rcm-check input{margin:0}
.rcm-check:has(input:checked){border-color:#0e7c8a;background:#f2fbfc;color:#0e7c8a}
.rcm-check.taken{opacity:.55}
.rcm-check.taken:has(input:checked){opacity:1}
.rcm-check .dashicons{font-size:14px;width:14px;height:14px;color:var(--rc-yellow)}
.rcm-pool-form{display:block}
.rcm-distribute{flex-wrap:wrap;gap:10px;background:#f7fafc;border-radius:14px;padding:14px 16px}
.rcm-distribute-label{display:flex;align-items:center;gap:7px;font-weight:700}
.rcm-warn-line{display:flex;align-items:center;gap:8px;background:#fff8e5;border:1px solid #f0dca6;border-radius:11px;padding:11px 14px;margin-top:14px;font-size:13.5px}
.rcm-warn-line .dashicons{color:var(--rc-yellow)}

/* ========= RenalCare 3.2.0 — etapas, prescripción, IDWG y vista lista ========= */
.rcm-live-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.rcm-live-bar h2{font-size:30px;margin:0}
.rcm-viewtoggle{display:inline-flex;background:#eef3f7;border-radius:12px;padding:4px;gap:4px}
.rcm-viewtoggle a{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:9px;text-decoration:none;color:var(--rc-muted);font-weight:700;font-size:14px}
.rcm-viewtoggle a.on{background:#fff;color:var(--rc-blue);box-shadow:0 2px 8px rgba(27,63,95,.12)}
.rcm-live-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}
.rcm-live-search{flex:1;min-width:240px;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--rc-border);border-radius:13px;padding:0 15px}
.rcm-live-search input{flex:1;border:0;background:transparent;padding:14px 0;outline:none;font-size:14.5px}
.rcm-live-search .dashicons{color:var(--rc-muted)}
.rcm-counters{display:flex;gap:10px;flex-wrap:wrap}
.rcm-counter{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--rc-border);border-radius:13px;padding:12px 16px;font-size:13.5px;color:var(--rc-muted);font-weight:600}
.rcm-counter b{color:var(--rc-text);font-size:16px}
.rcm-counter i{width:9px;height:9px;border-radius:50%;background:var(--rc-muted)}
.rcm-counter.live i{background:var(--rc-green)}
.rcm-counter.info i{background:var(--rc-blue)}
.rcm-counter.warn i{background:var(--rc-yellow)}
.rcm-counter.danger i{background:var(--rc-red)}
.rcm-filter-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--rc-border);border-radius:13px;padding:13px 18px;font-weight:700;cursor:pointer;color:var(--rc-text)}
.rcm-filter-btn.on{border-color:var(--rc-cyan);color:#0e7c8a;background:#f2fbfc}
.rcm-filter-panel{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;background:#fff;border:1px solid var(--rc-border);border-radius:16px;padding:18px;margin-top:4px}
.rcm-filter-panel label{display:grid;gap:6px;font-weight:600;font-size:13.5px}
.rcm-filter-panel select{padding:10px;border:1px solid var(--rc-border);border-radius:10px;background:#fff}
.rcm-filter-actions{display:flex;gap:10px;align-items:end}
.rcm-live-table td small{display:block;color:var(--rc-muted)}
.rcm-live-table tbody tr:hover{background:#f7fbfd}
.rcm-live-card.focus{outline:3px solid var(--rc-cyan);outline-offset:3px}

/* Ganancia interdialítica */
.rcm-idwg{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:9px;background:#f4f9fc;border:1px solid #dbe9f1;border-radius:14px;padding:13px}
.rcm-idwg div{display:grid;gap:2px}
.rcm-idwg small{color:var(--rc-muted);font-size:11.5px}
.rcm-idwg strong{font-size:15px}
.rcm-idwg .hl{background:#fff;border-radius:9px;padding:6px 9px;border-left:3px solid var(--rc-cyan)}
.rcm-idwg .hl strong{color:#0e7c8a;font-size:17px}
.rcm-idwg em{display:block;font-style:normal;font-size:11.5px;color:var(--rc-muted);font-weight:600}

/* Prescripción del nefrólogo */
.rcm-rx{background:#fbfdff;border:1px solid var(--rc-border);border-radius:13px;padding:12px 14px}
.rcm-rx summary{cursor:pointer;font-weight:800;color:var(--rc-blue);display:flex;align-items:center;gap:7px}
.rcm-rx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:7px;margin-top:11px}
.rcm-rx-grid span{background:#fff;border:1px solid #e8eef3;border-radius:9px;padding:8px 10px;font-size:12px;color:var(--rc-muted);display:grid;gap:2px}
.rcm-rx-grid strong{color:var(--rc-text);font-size:13.5px}
.rcm-rx-notes{margin:10px 0 0;font-size:13px;color:var(--rc-muted)}
.rcm-rx-allergy{display:flex;gap:7px;align-items:center;margin:9px 0 0;background:#fdeaea;color:#8d2020;border-radius:9px;padding:8px 11px;font-size:13px;font-weight:600}
.rcm-rx-missing{display:flex;gap:8px;align-items:center;background:#fff8e5;border:1px solid #f0dca6;border-radius:11px;padding:11px 13px;font-size:13.5px;margin:0}

/* Etapas de medición */
.rcm-btn.accent-stage{background:linear-gradient(135deg,#3159c9,#5b7fe0)}
.rcm-measure-log time b{display:inline-block;margin-left:7px;background:#eef3f7;border-radius:999px;padding:2px 9px;font-size:11px;color:#40566d}
.rcm-measure-log li.stage-initial{border-left:3px solid var(--rc-blue)}
.rcm-measure-log li.stage-final{border-left:3px solid var(--rc-green)}

/* Motivo de corrección */
.rcm-reason-box{display:flex;gap:12px;background:#fff8e5;border:1px solid #f0dca6;border-radius:14px;padding:15px}
.rcm-reason-box .dashicons{color:#b98600;font-size:22px;width:22px;height:22px}
.rcm-reason-box strong{display:block;margin-bottom:3px}
.rcm-reason-box p{margin:0 0 9px;font-size:13px;color:#7a5c14}
.rcm-reason-box input{width:100%;padding:11px;border:1px solid #e2cd93;border-radius:10px}

/* Historial de correcciones */
.rcm-revision-list{display:grid;gap:11px}
.rcm-revision-list article{background:#fff;border:1px solid var(--rc-border);border-left:4px solid var(--rc-blue);border-radius:13px;padding:14px}
.rcm-revision-list header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.rcm-revision-list time{color:var(--rc-muted);font-size:12.5px}
.rcm-revision-diff{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:0 0 7px}
.rcm-revision-diff .old{background:#fdeaea;color:#8d2020;border-radius:8px;padding:5px 11px;font-size:13px;text-decoration:line-through}
.rcm-revision-diff .new{background:#e8f8ef;color:#12683f;border-radius:8px;padding:5px 11px;font-size:13px;font-weight:700}
.rcm-revision-reason{margin:0;font-size:13px;color:var(--rc-muted);font-style:italic}

/* Aviso de indicación nueva */
.rcm-order-toast{border-left:4px solid var(--rc-yellow)}
@media(max-width:900px){
  .rcm-live-controls{flex-direction:column;align-items:stretch}
  .rcm-counters{justify-content:space-between}
  .rcm-idwg{grid-template-columns:repeat(2,1fr)}
}
.rcm-draft-note{grid-column:1/-1;display:flex;align-items:center;gap:10px;background:#eef7fb;border:1px solid #b9dcea;border-radius:11px;padding:11px 14px;font-size:13.5px;font-weight:600;color:#12566b}
.rcm-draft-note .dashicons{color:#0e7c8a}
.rcm-draft-note button{margin-left:auto}

/* ===== RenalCare 3.3.0 — correcciones de interfaz y vista de una columna ===== */

/* El campo de UF se desbordaba de su tarjeta: los campos numéricos con flechas
   necesitan reservar el ancho del control del navegador. */
.rcm-form input,.rcm-form select,.rcm-form textarea{max-width:100%;box-sizing:border-box}
.rcm-form input[type=number]{width:100%;padding-right:6px;appearance:textfield;-moz-appearance:textfield}
.rcm-form label{min-width:0;overflow-wrap:anywhere}
.rcm-live-editor{overflow:hidden}
.rcm-live-card,.rcm-live-card *{min-width:0}
.rcm-live-card .rcm-form{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}

/* Vista de una sola columna: el técnico trabaja con más espacio */
.rcm-live-grid.is-single{grid-template-columns:1fr;max-width:920px;margin:0 auto}
.rcm-live-grid.is-single .rcm-live-card{padding:26px}
.rcm-live-grid.is-single .rcm-live-data{grid-template-columns:repeat(3,minmax(0,1fr))}
.rcm-live-grid.is-single .rcm-idwg{grid-template-columns:repeat(5,minmax(0,1fr))}
.rcm-live-grid.is-single .rcm-rx-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.rcm-live-grid.is-single .rcm-form{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.rcm-live-grid.is-single .rcm-live-card>header strong{font-size:22px}
@media(max-width:820px){
  .rcm-live-grid.is-single .rcm-live-data,
  .rcm-live-grid.is-single .rcm-idwg{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Cierre del tratamiento */
.rcm-finish-form{display:inline-block}
.rcm-btn.ready-finish{background:linear-gradient(135deg,#1f9d55,#27b56f);animation:rcm-finish-pulse 2.4s ease-in-out infinite}
@keyframes rcm-finish-pulse{0%,100%{box-shadow:0 0 0 0 rgba(39,181,111,.45)}50%{box-shadow:0 0 0 9px rgba(39,181,111,0)}}
.rcm-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.35)}
.rcm-need-final,.rcm-can-finish{display:flex;align-items:center;gap:8px;border-radius:11px;padding:10px 13px;margin:0;font-size:13.5px;font-weight:600}
.rcm-need-final{background:#fff8e5;border:1px solid #f0dca6;color:#7a5600}
.rcm-can-finish{background:#e8f8ef;border:1px solid #bde7cf;color:#12683f}

/* Fotografía del paciente */
.rcm-photo{display:grid;gap:12px;background:#f7fafc;border:1px solid var(--rc-border);border-radius:16px;padding:16px}
.rcm-photo-preview{position:relative;width:150px;height:150px;border-radius:16px;border:2px dashed var(--rc-border);background:#fff;display:grid;place-items:center;overflow:hidden;text-align:center;color:var(--rc-muted)}
.rcm-photo-preview .dashicons{font-size:30px;width:30px;height:30px}
.rcm-photo-preview p{margin:4px 0 0;font-size:12px}
.rcm-photo-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rcm-photo-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.rcm-photo-file{cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.rcm-photo-video{width:100%;max-width:340px;border-radius:14px;background:#000;transform:scaleX(-1)}
.rcm-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.rcm-pt-cell{display:flex;align-items:center;gap:10px}
.rcm-pt-cell span{display:grid}

/* Días programados */
.rcm-daypick{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}
.rcm-radio-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}

/* Egreso sin tratamiento */
.rcm-egreso{border-left:4px solid var(--rc-red);background:#fffafa}
.rcm-equip{background:#fff;border:1px solid var(--rc-border);border-radius:12px;padding:13px}
.rcm-discharge-flag{display:flex;gap:11px;background:#fdeaea;border-left:4px solid var(--rc-red);border-radius:12px;padding:12px 14px}
.rcm-discharge-flag .dashicons{color:var(--rc-red);font-size:20px;width:20px;height:20px}
.rcm-discharge-flag strong{display:block}
.rcm-discharge-flag p{margin:2px 0 7px;font-size:13.5px;color:#7a2020}

/* Panel de pacientes que aún no llegan */
.rcm-pending-card{border-left:4px solid var(--rc-yellow)}
.rcm-counters-wide{margin-bottom:18px}
.rcm-freemode{display:flex;gap:11px;background:#eef7fb;border:1px solid #b9dcea;border-radius:13px;padding:14px 16px;margin-bottom:16px}
.rcm-freemode .dashicons{color:#0e7c8a;font-size:20px;width:20px;height:20px;flex:0 0 auto}
.rcm-freemode p{margin:4px 0 0;font-size:13.5px;color:#12566b}

/* ===== RenalCare 3.4.0 — expediente por fechas, foto y laboratorio ===== */

/* Encabezado del expediente con la fotografía, discreta */
.rcm-exp-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.rcm-exp-id{display:flex;gap:16px;align-items:center}
.rcm-exp-photo{width:64px;height:64px;border-radius:16px;object-fit:cover;flex:0 0 auto;border:2px solid #fff;box-shadow:0 4px 14px rgba(16,47,79,.16)}
.rcm-exp-photo-empty{display:grid;place-items:center;background:linear-gradient(135deg,var(--rc-navy),var(--rc-cyan));color:#fff;font-size:26px;font-weight:800}
.rcm-profile-grid article em{display:block;font-style:normal;font-size:11.5px;color:var(--rc-muted);margin-top:3px;font-weight:600}

/* Encabezados con calendario */
.rcm-h3-cal{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.rcm-h3-cal .dashicons{color:var(--rc-cyan)}
.rcm-h3-cal em{font-style:normal;font-size:13px;color:var(--rc-muted);font-weight:600;text-transform:capitalize}

/* Calendario */
.rcm-cal{background:#fff;border:1px solid var(--rc-border);border-radius:16px;padding:14px 16px;margin:10px 0 16px}
.rcm-cal-head{display:flex;align-items:center;gap:10px;margin-bottom:11px}
.rcm-cal-head strong{min-width:170px;text-transform:capitalize}
.rcm-cal-legend{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--rc-muted)}
.rcm-cal-legend i{width:10px;height:10px;border-radius:50%;background:var(--rc-cyan)}
.rcm-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.rcm-cal-dow{text-align:center;font-size:11px;font-weight:800;color:var(--rc-muted);padding:4px 0}
.rcm-cal-empty{height:36px}
.rcm-cal-day{height:36px;display:grid;place-items:center;border-radius:9px;font-size:13px;color:#9fb0be;background:transparent;border:0;font-family:inherit}
.rcm-cal-day.has{background:#e6f6f8;color:#0e7c8a;font-weight:800;cursor:pointer;border:1px solid #b9e2e7}
.rcm-cal-day.has:hover{background:var(--rc-cyan);color:#fff}
.rcm-cal-day.today{outline:2px solid var(--rc-yellow);outline-offset:-2px}
.rcm-cal-day.sel{background:var(--rc-navy);color:#fff;border-color:var(--rc-navy)}

/* Carrusel */
.rcm-carousel{margin-bottom:20px}
.rcm-carousel-track .rcm-slide{display:none}
.rcm-carousel-track .rcm-slide.active{display:block;animation:rcm-slide-in .25s ease}
@keyframes rcm-slide-in{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
.rcm-slide{background:#fff;border:1px solid var(--rc-border);border-left:4px solid var(--rc-cyan);border-radius:16px;padding:18px}
.rcm-slide>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.rcm-slide>header strong{display:block;font-size:16px;text-transform:capitalize}
.rcm-slide>header small{color:var(--rc-muted)}
.rcm-carousel-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px}
.rcm-carousel-count{font-size:13px;color:var(--rc-muted);font-weight:700}
.rcm-carousel-nav button:disabled{opacity:.35;cursor:not-allowed}

.rcm-slide-weights{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:9px;background:#f4f9fc;border-radius:12px;padding:12px;margin-bottom:13px}
.rcm-slide-weights div{display:grid;gap:2px}
.rcm-slide-weights small{font-size:11.5px;color:var(--rc-muted)}
.rcm-slide-weights strong{font-size:15px}

/* Medición inicial y final, una al lado de la otra */
.rcm-stage-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:11px;margin-bottom:13px}
.rcm-stage-box{border:1px solid var(--rc-border);border-radius:12px;padding:12px}
.rcm-stage-box.initial{border-left:3px solid var(--rc-blue);background:#f7f9ff}
.rcm-stage-box.final{border-left:3px solid var(--rc-green);background:#f6fdf9}
.rcm-stage-title{display:block;font-weight:800;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--rc-muted);margin-bottom:8px}
.rcm-stage-vals{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:5px}
.rcm-stage-vals span{font-size:12.5px;color:var(--rc-muted)}
.rcm-stage-vals strong{display:block;font-size:16px;color:var(--rc-text)}
.rcm-stage-none{margin:0;color:var(--rc-muted);font-size:13px;font-style:italic}

/* Ver más */
.rcm-more{border:1px dashed var(--rc-border);border-radius:12px;padding:11px 13px;background:#fbfdfe}
.rcm-more summary{cursor:pointer;font-weight:700;color:#0e7c8a;display:flex;align-items:center;gap:7px}
.rcm-mini-table{font-size:12.5px;width:100%}
.rcm-mini-table th{background:#f5f9fc;font-size:11.5px}
.rcm-mini-table td{padding:8px 10px}
.rcm-mini-notes em{display:block;font-style:normal;color:#0e7c8a;font-size:11.5px}
.rcm-mini-notes em.warn{color:var(--rc-red)}
.rcm-mini-notes span{display:block;color:var(--rc-muted);font-size:11.5px}

.rcm-slide-obs{margin:11px 0 0;font-size:13.5px;color:var(--rc-muted)}
.rcm-slide-discharge{background:#fdeaea;border-radius:12px;padding:11px 13px;margin-bottom:12px}
.rcm-slide-discharge strong{color:#8d2020}
.rcm-slide-discharge p{margin:3px 0 7px;font-size:13.5px;color:#7a2020}

/* Laboratorio */
.rcm-lab-group{margin-bottom:12px}
.rcm-lab-group-title{display:block;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--rc-cyan);margin-bottom:7px}
.rcm-lab-vals{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:8px}
.rcm-lab-vals span{background:#f7fafc;border:1px solid #e8eef3;border-radius:10px;padding:9px 11px;font-size:12px;color:var(--rc-muted);display:grid;gap:2px}
.rcm-lab-vals strong{color:var(--rc-text);font-size:14px}

@media(max-width:640px){
  .rcm-exp-id{gap:11px}
  .rcm-exp-photo{width:50px;height:50px;border-radius:13px}
  .rcm-cal-head strong{min-width:120px;font-size:14px}
  .rcm-cal-legend{width:100%;margin-left:0}
  .rcm-stage-pair{grid-template-columns:1fr}
}

/* ===== RenalCare 3.4.1 — espacio al final del contenido =====
   La última fila quedaba cortada, sobre todo en móvil y tableta, donde la barra
   del navegador se superpone. Se deja aire suficiente y se respeta el área
   segura de los dispositivos con muescas. */
.rcm-app main{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}
.rcm-modal-body{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
.rcm-modal-panel{scroll-padding-bottom:80px}
.rcm-card:last-child{margin-bottom:32px}
.rcm-live-grid{padding-bottom:24px}
.rcm-table-wrap{padding-bottom:4px}

@media(max-width:760px){
  .rcm-app main{padding:22px 15px calc(150px + env(safe-area-inset-bottom,0px))}
  .rcm-modal-body{padding:18px 16px calc(110px + env(safe-area-inset-bottom,0px))}
  .rcm-modal-panel{max-height:calc(100dvh - 16px)}
}

/* La línea de tiempo, plegada, no debe abrirse enorme */
.rcm-timeline-box .rcm-timeline{max-height:420px;overflow:auto;margin-top:10px}
.rcm-timeline-box summary{color:var(--rc-muted)}

/* ===== RenalCare 3.4.1-demo — puerta de acceso y vista guiada ===== */

/* Puerta de acceso */
.rcm-gate{max-width:640px}
.rcm-gate-form{display:grid;gap:14px;background:#fff;border:1px solid var(--rc-border);border-radius:18px;padding:24px}
.rcm-gate-form label{display:grid;gap:7px;font-weight:600}
.rcm-gate-form input{padding:14px;border:1px solid var(--rc-border);border-radius:11px;font-size:16px}
.rcm-gate-form .rcm-hint{margin:0;line-height:1.55}

/* Botón de guía en el encabezado */
.rcm-header-right{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.rcm-guide-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--rc-border);border-radius:999px;padding:11px 17px;font-weight:700;cursor:pointer;color:var(--rc-blue);box-shadow:0 8px 25px rgba(27,63,95,.05)}
.rcm-guide-btn:hover{border-color:var(--rc-cyan);color:#0e7c8a}

/* Vista guiada */
.rcm-tour{position:fixed;inset:0;z-index:100000}
.rcm-tour[hidden]{display:none!important}
.rcm-tour-backdrop{position:absolute;inset:0;background:rgba(9,25,43,.66);backdrop-filter:blur(3px)}
.rcm-tour-panel{position:relative;width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 48px);margin:24px auto;background:#f5f8fb;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.34);display:flex;flex-direction:column;overflow:hidden}
.rcm-tour-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;background:#fff;border-bottom:1px solid var(--rc-border);padding:22px 26px}
.rcm-tour-panel h2{font-size:23px;margin:4px 0 0}
.rcm-tour-body{padding:24px 26px;overflow:auto;flex:1}
.rcm-tour-body h3{margin-top:0;font-size:21px}
.rcm-tour-body p{color:var(--rc-text);line-height:1.6}
.rcm-tour-badge{display:inline-block;background:#e6f6f8;color:#0e7c8a;border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:800;margin-bottom:9px}

.rcm-tour-flow{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px;counter-reset:none}
.rcm-tour-flow li{display:flex;gap:13px;background:#fff;border:1px solid var(--rc-border);border-radius:14px;padding:14px}
.rcm-tour-flow li.is-you{border-color:var(--rc-cyan);background:#f2fbfc;box-shadow:0 8px 20px rgba(25,169,183,.12)}
.rcm-tour-num{width:30px;height:30px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:var(--rc-navy);color:#fff;font-weight:800;font-size:14px}
.rcm-tour-flow li.is-you .rcm-tour-num{background:var(--rc-cyan)}
.rcm-tour-flow strong{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.rcm-tour-flow strong .dashicons{color:var(--rc-cyan)}
.rcm-tour-flow em{font-style:normal;background:var(--rc-cyan);color:#fff;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:800}
.rcm-tour-flow p{margin:5px 0 0;font-size:13.5px;color:var(--rc-muted)}

.rcm-tour-tip{display:flex;gap:9px;align-items:flex-start;background:#fff8e5;border:1px solid #f0dca6;border-radius:12px;padding:13px 15px;margin-top:16px;font-size:13.5px;color:#7a5600}
.rcm-tour-tip .dashicons{color:#b98600;flex:0 0 auto}

.rcm-tour-panel>footer{display:flex;align-items:center;gap:14px;background:#fff;border-top:1px solid var(--rc-border);padding:16px 26px}
.rcm-tour-dots{display:flex;gap:7px;margin:0 auto}
.rcm-tour-dot{width:9px;height:9px;border-radius:50%;border:0;background:#cfdae4;cursor:pointer;padding:0}
.rcm-tour-dot.on{background:var(--rc-cyan);transform:scale(1.35)}

@media(max-width:640px){
  .rcm-tour-panel{width:calc(100% - 16px);margin:8px auto;max-height:calc(100dvh - 16px)}
  .rcm-tour-body{padding:18px}
  .rcm-tour-panel>footer{padding:14px 18px;flex-wrap:wrap}
  .rcm-guide-btn span:not(.dashicons){display:none}
}

/* ===== RenalCare 3.5.0 — presencia del personal y panel del encargado ===== */
.rcm-op-alert{display:flex;gap:10px;align-items:flex-start;border-radius:13px;padding:13px 16px;margin-bottom:12px;font-size:13.5px;font-weight:600}
.rcm-op-alert.danger{background:#fdeaea;border:1px solid #f2c4c4;color:#8d2020}
.rcm-op-alert.warning{background:#fff8e5;border:1px solid #f0dca6;color:#7a5600}
.rcm-op-alert.info{background:#eef7fb;border:1px solid #b9dcea;color:#12566b}
.rcm-op-alert .dashicons{flex:0 0 auto}

.rcm-roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px;margin-top:16px}
.rcm-roster-card{border:1px solid var(--rc-border);border-left:4px solid #cfdae4;border-radius:16px;padding:16px;background:#fff}
.rcm-roster-card.estado-available{border-left-color:var(--rc-green)}
.rcm-roster-card.estado-busy{border-left-color:var(--rc-cyan)}
.rcm-roster-card.estado-break{border-left-color:var(--rc-yellow)}
.rcm-roster-card.estado-absent{border-left-color:var(--rc-red);opacity:.78}
.rcm-roster-card.estado-off_shift{opacity:.62}
.rcm-roster-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
.rcm-roster-id{display:flex;gap:10px;align-items:center}
.rcm-roster-dot{width:11px;height:11px;border-radius:50%;background:#cfdae4;flex:0 0 auto}
.estado-available .rcm-roster-dot{background:var(--rc-green)}
.estado-busy .rcm-roster-dot{background:var(--rc-cyan)}
.estado-break .rcm-roster-dot{background:var(--rc-yellow)}
.estado-absent .rcm-roster-dot{background:var(--rc-red)}
.rcm-roster-id strong{display:block}
.rcm-roster-id small{color:var(--rc-muted)}
.rcm-roster-load{background:#eef3f7;border-radius:999px;padding:5px 13px;font-weight:800;font-size:13.5px;color:var(--rc-navy)}
.rcm-roster-load.full{background:#fdeaea;color:#8d2020}
.rcm-roster-bar{height:7px;border-radius:99px;background:#eef3f7;overflow:hidden;margin-bottom:8px}
.rcm-roster-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--rc-cyan),var(--rc-green))}
.rcm-roster-meta{margin:0 0 12px;font-size:12.5px;color:var(--rc-muted)}
.rcm-roster-form{display:flex;gap:8px;flex-wrap:wrap;align-items:end;background:#f7fafc;border-radius:12px;padding:11px;margin-bottom:11px}
.rcm-roster-form label{display:grid;gap:4px;font-size:12px;font-weight:700;color:var(--rc-muted)}
.rcm-roster-form select,.rcm-roster-form input{padding:8px;border:1px solid var(--rc-border);border-radius:9px}
.rcm-roster-form input[type=number]{width:74px}
.rcm-roster-patients{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rcm-roster-patients li{display:flex;gap:9px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--rc-border);padding-top:8px}
.rcm-roster-patients strong{display:block;font-size:13.5px}
.rcm-roster-patients small{color:var(--rc-muted);font-size:11.5px}
.rcm-roster-empty{margin:0;font-size:13px}
.rcm-bulk-shift{flex-wrap:wrap;gap:9px;background:#f7fafc;border-radius:13px;padding:13px 15px;margin-bottom:6px}
.rcm-waiting-card{border-left:4px solid var(--rc-yellow)}

/* Barra de turno del propio técnico */
.rcm-myshift{display:flex;align-items:center;gap:11px;flex-wrap:wrap;background:#fff;border:1px solid var(--rc-border);border-left:4px solid #cfdae4;border-radius:14px;padding:12px 16px;margin-bottom:16px}
.rcm-myshift.estado-available{border-left-color:var(--rc-green)}
.rcm-myshift.estado-busy{border-left-color:var(--rc-cyan)}
.rcm-myshift.estado-break{border-left-color:var(--rc-yellow)}
.rcm-myshift.estado-absent{border-left-color:var(--rc-red)}
.rcm-myshift-dot{width:11px;height:11px;border-radius:50%;background:var(--rc-green)}
.rcm-myshift.estado-off_shift .rcm-myshift-dot{background:#cfdae4}
.rcm-myshift.estado-break .rcm-myshift-dot{background:var(--rc-yellow)}
.rcm-myshift.estado-absent .rcm-myshift-dot{background:var(--rc-red)}
.rcm-myshift-txt{flex:1;font-size:13.5px;color:var(--rc-muted)}
.rcm-myshift-txt strong{color:var(--rc-text)}
.rcm-myshift select{padding:9px 12px;border:1px solid var(--rc-border);border-radius:10px;font-weight:600}

/* RenalCare 4.1 · entorno y acceso real */
.rcm-demo-environment{grid-column:1/-1;background:#fff3cd;color:#6b5200;border-bottom:1px solid #ead38a;padding:9px 18px;text-align:center;font-size:13px;position:sticky;top:0;z-index:40}
.rcm-login-standard{max-width:520px;background:#fff;border:1px solid var(--rc-border);border-radius:18px;padding:22px}
.rcm-login-standard form{display:grid;gap:14px}.rcm-login-standard p{margin:0}.rcm-login-standard label{display:grid;gap:6px;font-weight:700}.rcm-login-standard input[type=text],.rcm-login-standard input[type=password]{width:100%;padding:12px;border:1px solid var(--rc-border);border-radius:10px}.rcm-login-standard .login-submit input{background:linear-gradient(135deg,var(--rc-cyan),#159b91);color:#fff;border:0;border-radius:11px;padding:11px 20px;font-weight:700;cursor:pointer}
