/* Nikolai UI v2 (Healthence) — Fase 4a: AGENDA. Solo con html[data-ui="v2"]. Solo diseño. */

/* ---------- 4a.1 Barra de herramientas ---------- */
html[data-ui="v2"] #modalAgendaTitulo{font-size:var(--fs-lg);font-weight:600;letter-spacing:-.01em}
html[data-ui="v2"] #modalAgenda .btn-icon{min-height:34px}
html[data-ui="v2"] #modalAgenda .btn-icon[onclick*="agendaToggleNueva"]{background:var(--pri);color:var(--on-pri);border-color:transparent;font-weight:600}
html[data-ui="v2"] #modalAgenda .btn-icon[onclick*="agendaToggleNueva"]:hover{background:var(--pri-hover);color:var(--on-pri)}
html[data-ui="v2"] #agendaRangoLabel{font-size:var(--fs-md)!important;font-weight:600!important;letter-spacing:-.005em}
html[data-ui="v2"] #agendaFechaPicker{width:150px!important;min-height:34px;padding:5px 10px!important;font-size:var(--fs-sm)!important}

/* Dia / Semana como control segmentado */
html[data-ui="v2"] #agendaModoDia,html[data-ui="v2"] #agendaModoSemana{border-radius:0;margin:0;min-width:64px}
html[data-ui="v2"] #agendaModoDia{border-radius:var(--r-lg) 0 0 var(--r-lg);margin-right:-9px}
html[data-ui="v2"] #agendaModoSemana{border-radius:0 var(--r-lg) var(--r-lg) 0}
html[data-ui="v2"] #agendaModoDia[style*="background"],html[data-ui="v2"] #agendaModoSemana[style*="background"]{background:var(--pri)!important;color:var(--on-pri)!important;border-color:var(--pri);position:relative;z-index:1}

/* Menu "Mas" */
html[data-ui="v2"] #agendaMenuPanel{background:var(--card)!important;border:1px solid var(--border-strong)!important;border-radius:var(--r-lg)!important;box-shadow:var(--shadow)!important;padding:6px!important}
html[data-ui="v2"] #agendaMenuPanel .btn-icon{border-color:transparent;background:transparent;min-height:36px;font-weight:500;border-radius:var(--r-md)}
html[data-ui="v2"] #agendaMenuPanel .btn-icon:hover{background:var(--pri-soft);border-color:transparent}

/* Pestañas de vista por profesional (pildoras) */
html[data-ui="v2"] #agendaVistaTabs .agendaVistaTab{border-radius:999px;min-height:30px;padding:4px 12px!important;font-size:var(--fs-sm)!important;font-weight:500}
html[data-ui="v2"] #agendaVistaTabs .agendaVistaTab[style*="background: var(--brand"],html[data-ui="v2"] #agendaVistaTabs .agendaVistaTab[style*="background:var(--brand"]{background:var(--pri)!important;border-color:var(--pri);color:var(--on-pri)!important}

/* Filtros como dropdown */
html[data-ui="v2"] #agendaFiltroProf,html[data-ui="v2"] #agendaFiltroServicio{min-height:34px;font-size:var(--fs-sm)!important;padding:5px 30px 5px 12px!important;border-radius:var(--r-lg);border:1px solid var(--border-ctl);background-color:var(--card);appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23848b91' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 9px center}

/* ---------- 4a.2 Leyenda de estados como badges ---------- */
html[data-ui="v2"] #agendaEstadoLegend,html[data-ui="v2"] #agendaVistaLegend{gap:6px!important;font-size:var(--fs-xs)!important;color:var(--text)!important}
html[data-ui="v2"] #agendaEstadoLegend>span,html[data-ui="v2"] #agendaVistaLegend>span{display:inline-flex;align-items:center;gap:6px;padding:2px 10px 2px 8px;border-radius:999px;background:var(--bg2);border:1px solid var(--border);font-size:var(--fs-xs);font-weight:500;line-height:1.5;color:var(--text)}
html[data-ui="v2"] #agendaEstadoLegend>span>span,html[data-ui="v2"] #agendaVistaLegend>span>span{margin-right:0!important;flex:none}

/* ---------- 4a.3 Grilla ---------- */
html[data-ui="v2"] #agendaLista>div>div:nth-child(2)>div{padding-top:8px}
html[data-ui="v2"] #agendaLista .ag-hdr{background:var(--card)!important;border-bottom:1px solid var(--border);padding-bottom:6px!important}
html[data-ui="v2"] #agendaLista .ag-hdr>div{font-size:var(--fs-xs)!important;letter-spacing:.04em!important;color:var(--sub)!important}
html[data-ui="v2"] #agendaLista .ag-hdr>div[style*="background:var(--inp)"]{background:var(--pri)!important;color:var(--on-pri)!important;border-radius:999px!important;padding:3px 0!important}
html[data-ui="v2"] #agendaLista .ag-hdr>div[style*="background:var(--inp)"] span{color:var(--on-pri)!important;opacity:.85}
html[data-ui="v2"] #agendaLista .ag-hora{color:var(--sub);font-weight:500;font-variant-numeric:tabular-nums}
html[data-ui="v2"] #agendaLista [onclick^="agendaClickEnHorario"]{border-color:var(--border)!important;border-radius:var(--r-lg)!important;background-color:var(--card)}
html[data-ui="v2"] #agendaLista [style*="background:var(--today-bg)"]{background:var(--today-bg)!important;border-radius:var(--r-lg)!important}
html[data-ui="v2"] #agendaLista .ag-linea-hoy{border-top:2px solid var(--err)!important}
html[data-ui="v2"] #agendaLista .ag-linea-hoy::before{content:"";position:absolute;left:-4px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--err)}

/* ---------- 4a.4 Tarjetas de cita: barra izquierda + tinte por estado ---------- */
html[data-ui="v2"] #modalAgenda .ag-ev,html[data-ui="v2"] .ag-ev{
  border-left-width:4px!important;border-radius:var(--r-md)!important;color:var(--text);
  box-shadow:none!important;border-top:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border);
  font-weight:500;transition:box-shadow .15s}
html[data-ui="v2"] .ag-ev b{font-weight:600}
html[data-ui="v2"] .ag-ev:hover,html[data-ui="v2"] .ag-ev:focus-visible{box-shadow:var(--shadow)!important}
html[data-ui="v2"] .ag-ev[style*="#f59e0b"]{background:color-mix(in srgb,#f59e0b 13%,var(--card))!important}
html[data-ui="v2"] .ag-ev[style*="#3b82f6"]{background:color-mix(in srgb,#3b82f6 12%,var(--card))!important}
html[data-ui="v2"] .ag-ev[style*="#8b5cf6"]{background:color-mix(in srgb,#8b5cf6 12%,var(--card))!important}
html[data-ui="v2"] .ag-ev[style*="#22c55e"]{background:color-mix(in srgb,#22c55e 12%,var(--card))!important}
html[data-ui="v2"] .ag-ev[style*="#94a3b8"]{background:color-mix(in srgb,#94a3b8 16%,var(--card))!important;color:var(--sub)}
html[data-ui="v2"] .ag-ev[style*="#be185d"]{background:color-mix(in srgb,#be185d 13%,var(--card))!important}
html[data-ui="v2"] .ag-ev[style*="#be185d"] b[style*="#be185d"]{color:#be185d!important}
html[data-ui="v2"][data-theme="dark"] .ag-ev[style*="#be185d"] b[style*="#be185d"]{color:#f472b6!important}

/* Citas sin hora (chips) */
html[data-ui="v2"] #agendaLista div[title^="Sin hora asignada"]{border-radius:var(--r-md)!important;font-size:12px!important;padding:3px 8px!important}

/* Modo lista movil */
html[data-ui="v2"] #agendaLista div[role="button"][style*="border-left:4px solid"]{border-radius:var(--r-md)!important;box-shadow:none!important;border-top:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}

@media (max-width:1024px){
  html[data-ui="v2"] #agendaFechaPicker{width:auto!important;min-width:130px;flex:0 1 150px}
}
@media (max-width:700px){
  html[data-ui="v2"] #modalAgenda .btn-icon{min-height:36px}
  html[data-ui="v2"] #modalAgenda #agendaFechaPicker{flex:1 1 120px}
}

/* ===================================================================
   FASE 4b — Lista de pacientes (sidebar) · Patient Page: toolbar + filas + badges
   =================================================================== */

/* 4b.1 Buscador con icono + encabezado de lista + resumen (contador CSS, sin JS) */
html[data-ui="v2"] .sidebar-search{position:relative}
html[data-ui="v2"] .sidebar-search::before{content:"";position:absolute;left:24px;top:12px;width:16px;height:16px;pointer-events:none;background:var(--mute);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><path d='m20 20-3.5-3.5'/></svg>") center/16px no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><path d='m20 20-3.5-3.5'/></svg>") center/16px no-repeat}
html[data-ui="v2"] .sidebar-search input{padding-left:38px}
html[data-ui="v2"] .sidebar-list{counter-reset:pac}
html[data-ui="v2"] .sidebar-list::before{content:"Pacientes";display:block;position:sticky;top:-8px;z-index:1;margin:-8px -8px 4px;padding:12px 18px 8px;background:var(--card);
  font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sub)}
html[data-ui="v2"] .sidebar-list:has(.pac-item)::after{content:"Mostrando " counter(pac);display:block;margin:8px 8px 0;padding-top:10px;border-top:1px solid var(--border);
  font-size:12px;color:var(--sub);font-variant-numeric:tabular-nums}

/* 4b.2 Filas (tabla compacta): avatar 32 · nombre + meta · kebab */
html[data-ui="v2"] .pac-item{counter-increment:pac;padding:10px 10px;min-height:56px}
html[data-ui="v2"] .pac-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
html[data-ui="v2"] .pac-item > div[style*="display:flex"]{gap:10px!important}
html[data-ui="v2"] .pac-item > div > div[style*="border-radius:50%"]{width:32px!important;height:32px!important;font-size:12px!important;font-weight:600!important;
  background:var(--pri-soft)!important;color:var(--az-text)!important}
html[data-ui="v2"] .pac-item > div > div[style*="#b45309"]{background:var(--warn-soft)!important;color:var(--warn)!important}
html[data-ui="v2"] .pac-item-name{line-height:1.3!important;padding-right:26px;letter-spacing:0}
html[data-ui="v2"] .pac-item-meta{margin-top:2px;font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--sub)}

/* 4b.3 Badge PRUEBA = badge v2 (ámbar AA) */
html[data-ui="v2"] .pac-item-name span[style*="#fef3c7"]{margin-left:6px!important;padding:1px 8px!important;border-radius:999px!important;font-size:12px!important;font-weight:600!important;
  letter-spacing:.02em;line-height:1.4;background:var(--warn-soft)!important;color:var(--warn)!important}

/* 4b.4 Kebab = icon-button 32px, anclado arriba-derecha de la fila */
html[data-ui="v2"] .pac-item > div > div[title="Opciones"]{position:absolute;top:6px;right:6px;width:32px;height:32px;padding:0!important;display:flex;align-items:center;justify-content:center;
  border-radius:var(--r-md)!important;font-size:18px!important;color:var(--sub)!important;transition:background .12s,color .12s}
html[data-ui="v2"] .pac-item > div > div[title="Opciones"]:hover{background:var(--bg2);color:var(--text)!important}
html[data-ui="v2"] .pac-item.active > div > div[title="Opciones"]:hover{background:var(--card)}

/* 4b.5 Estados vacíos */
html[data-ui="v2"] #pacListInner > div:only-child[style*="padding:20px 12px"]{padding:32px 16px!important;font-size:14px!important;color:var(--sub)!important}
html[data-ui="v2"] #pacListInner > div:only-child[style*="padding:20px 12px"]::before{content:"";display:block;width:32px;height:32px;margin:0 auto 12px;background:var(--mute);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><path d='m20 20-3.5-3.5M8.5 11h5'/></svg>") center/32px no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><path d='m20 20-3.5-3.5M8.5 11h5'/></svg>") center/32px no-repeat}
html[data-ui="v2"] #pacListInner > div:only-child[style*="padding:24px 14px"]{padding:32px 16px!important}
html[data-ui="v2"] #pacListInner > div:only-child[style*="padding:24px 14px"] > div[style*="font-size:12px"]{font-size:14px!important;line-height:1.4}

/* 4b.6 Menú contextual del paciente */
html[data-ui="v2"] #pac-ctx-menu{border-radius:12px!important;padding:6px!important;min-width:208px!important;font-size:14px!important;border-color:var(--border)!important}
html[data-ui="v2"] #pac-ctx-menu > div[style*="cursor:pointer"]{padding:10px 12px!important;min-height:40px;border-radius:8px;gap:12px!important}
html[data-ui="v2"] #pac-ctx-menu > div[style*="cursor:pointer"]:hover{background:var(--bg2)!important}
html[data-ui="v2"] #pac-ctx-menu > div[style*="#dc2626"],
html[data-ui="v2"] #pac-ctx-menu > div[style*="rgb(220, 38, 38)"]{color:var(--err)!important}
html[data-ui="v2"] #pac-ctx-menu > div[style*="rgb(220, 38, 38)"] span{color:inherit!important}
html[data-ui="v2"] #pac-ctx-menu > div[style*="#dc2626"]:hover,
html[data-ui="v2"] #pac-ctx-menu > div[style*="rgb(220, 38, 38)"]:hover{background:var(--err-soft)!important}
html[data-ui="v2"] #pac-ctx-menu > div[style*="border-top"]{margin:4px 6px!important}

@media (pointer:coarse){
  html[data-ui="v2"] .pac-item > div > div[title="Opciones"]{width:40px;height:40px;top:4px;right:2px}
}

/* ===== FASE 4c — Inicio operativo: Censo del día, Pendientes, Vacío =====
   Solo presentación. El color de etapa vive en barras/bordes; el texto va neutro (AA). */

/* 4c.1 Censo — caja, cabecera, controles */
html[data-ui="v2"] #modalCenso .modal-box{border-radius:16px!important;padding:24px!important;background:var(--card)!important;border:1px solid var(--border)}
html[data-ui="v2"] #modalCensoTitulo{font-size:18px!important;font-weight:600;color:var(--text);letter-spacing:-.01em}
html[data-ui="v2"] #modalCenso .fl{font-size:12px!important;font-weight:500;color:var(--sub)!important}
html[data-ui="v2"] #modalCenso label{font-size:12px!important;color:var(--text)}
html[data-ui="v2"] #modalCenso .btn-icon{font-size:12px!important;min-height:32px;border-radius:8px}
html[data-ui="v2"] #censoEtapaLegend{font-size:12px!important;gap:6px 14px!important;color:var(--sub)!important;margin-bottom:12px!important}
html[data-ui="v2"] #censoEtapaLegend > span{display:inline-flex;align-items:center;gap:2px}
html[data-ui="v2"] #censoEtapaLegend > span > span{width:10px!important;height:10px!important;margin-right:6px!important}

/* 4c.2 Selector de vista (segmentado) */
html[data-ui="v2"] #modalCenso div:has(> #censoBtnVistaLista){display:inline-flex!important;gap:0!important;border:1px solid var(--border-ctl);border-radius:8px;overflow:hidden;background:var(--card)}
html[data-ui="v2"] #censoBtnVistaLista,
html[data-ui="v2"] #censoBtnVistaColumnas,
html[data-ui="v2"] #censoBtnVistaSemana{border:0!important;border-radius:0!important;font-size:12px!important;padding:6px 14px!important;min-height:32px;background:transparent;color:var(--text)}
html[data-ui="v2"] #censoBtnVistaColumnas,
html[data-ui="v2"] #censoBtnVistaSemana{border-left:1px solid var(--border-ctl)!important}
html[data-ui="v2"] #censoBtnVistaLista[style*="var(--az)"],
html[data-ui="v2"] #censoBtnVistaColumnas[style*="var(--az)"],
html[data-ui="v2"] #censoBtnVistaSemana[style*="var(--az)"]{background:var(--pri)!important;color:var(--on-pri)!important}

/* 4c.3 Alertas del censo */
html[data-ui="v2"] #censoAlertasBox,
html[data-ui="v2"] #censoAlertasTareasBox{background:var(--err-soft)!important;border:1px solid var(--border)!important;border-left:4px solid var(--err)!important;border-radius:10px!important;padding:12px 14px!important}
html[data-ui="v2"] #censoAlertasCoberturaBox{background:var(--warn-soft)!important;border:1px solid var(--border)!important;border-left:4px solid var(--warn)!important;border-radius:10px!important;padding:12px 14px!important}
html[data-ui="v2"] #censoAlertasBox > div:first-child,
html[data-ui="v2"] #censoAlertasTareasBox > div:first-child{font-size:12px!important;letter-spacing:.04em;color:var(--err)!important}
html[data-ui="v2"] #censoAlertasCoberturaBox > div:first-child{font-size:12px!important;letter-spacing:.04em;color:var(--warn)!important}
html[data-ui="v2"] #censoAlertasBox > div:not(:first-child),
html[data-ui="v2"] #censoAlertasTareasBox > div:not(:first-child),
html[data-ui="v2"] #censoAlertasCoberturaBox > div:not(:first-child){font-size:13px!important;color:var(--text)!important;padding:3px 0!important}
html[data-ui="v2"] #censoAlertasBox *,
html[data-ui="v2"] #censoAlertasTareasBox *,
html[data-ui="v2"] #censoAlertasCoberturaBox *{color:inherit}

/* 4c.4 Vista Lista — tarjeta por paciente */
html[data-ui="v2"] #censoContenido > div[style*="border-radius:8px"]:not([id^="censoAlertas"]){border-radius:12px!important;padding:14px 16px!important;margin-bottom:12px!important;background:var(--card)!important;border-color:var(--border)!important}
html[data-ui="v2"] #censoContenido > div[style*="border-radius:8px"]:not([id^="censoAlertas"]) > div:first-child{font-size:15px!important;font-weight:600!important;color:var(--text)!important}
html[data-ui="v2"] #censoContenido button[style*="font-size:10px"]{font-size:12px!important;padding:6px 10px!important;min-height:32px;border-radius:8px!important}
html[data-ui="v2"] .nik-etapa-item{font-size:13px!important;padding:10px 12px!important;border-radius:8px!important;background:var(--bg2)!important;line-height:1.45}
html[data-ui="v2"] .nik-etapa-item [style*="font-size:9px"],
html[data-ui="v2"] .nik-etapa-item [style*="font-size:10px"],
html[data-ui="v2"] .nik-etapa-item [style*="font-size:11px"]{font-size:12px!important}
html[data-ui="v2"] .nik-etapa-item button{font-size:12px!important;min-height:28px;padding:4px 10px!important;border-radius:8px!important}
html[data-ui="v2"] .nik-etapa-item [style*="padding:1px 5px"]{background:var(--card)!important;color:var(--text)!important;border:1px solid var(--border-strong);border-radius:999px!important;padding:2px 8px!important;font-weight:600}
html[data-ui="v2"] .nik-etapa-item > div[style*="font-weight:600"][style*="color:"]{color:var(--text)!important}
html[data-ui="v2"] .nik-etapa-item [style*="#16a34a"]:not(button),
html[data-ui="v2"] .nik-etapa-item [style*="rgb(22, 163, 74)"]:not(button){color:var(--ok)!important}

/* 4c.5 Vista Columnas */
html[data-ui="v2"] #censoContenidoColumnas{gap:12px!important}
html[data-ui="v2"] #censoContenidoColumnas > div{border-radius:12px!important;padding:12px!important;background:var(--card)!important;border-color:var(--border)!important}
html[data-ui="v2"] #censoContenidoColumnas > div > div:first-child{font-size:12px!important;letter-spacing:.04em;text-transform:uppercase;color:var(--text)!important}
html[data-ui="v2"] #censoContenidoColumnas [style*="font-size:11px"]{font-size:12px!important}
html[data-ui="v2"] #censoContenidoColumnas > div > div[style*="color:var(--sub)"]{color:var(--sub)!important}

/* 4c.6 Vista Semana */
html[data-ui="v2"] #modalCenso div[style*="border-left:3px solid"] > div[style^="color:"]{color:var(--text)!important;font-weight:600!important;font-size:12px!important}
html[data-ui="v2"] #censoContenidoSemana{gap:10px!important}
html[data-ui="v2"] #censoContenidoSemana > div{border-radius:12px!important;padding:10px!important;background:var(--card)!important;border-color:var(--border)!important}
html[data-ui="v2"] #censoContenidoSemana > div[style*="background:var(--inp)"]{background:var(--today-bg)!important;border-color:var(--accent)!important}
html[data-ui="v2"] #censoContenidoSemana [style*="font-size:10px"],
html[data-ui="v2"] #censoContenidoSemana [style*="font-size:11px"]{font-size:12px!important}
html[data-ui="v2"] #censoContenidoSemana > div > div:first-child{font-weight:600;color:var(--text)!important}

/* 4c.7 Estados vacío/error del censo */
html[data-ui="v2"] #censoContenido > div[style*="padding:30px 0"]{font-size:14px!important;color:var(--sub)!important;padding:40px 0!important}
html[data-ui="v2"] #censoContenido > div[style*="#dc2626"],
html[data-ui="v2"] #censoContenido > div[style*="rgb(220, 38, 38)"]{color:var(--err)!important}

/* 4c.8 Pendientes del día */
html[data-ui="v2"] #modalPanelPendientes .modal-box{border-radius:16px!important;padding:24px!important}
html[data-ui="v2"] #panelPendientesContenido{font-size:14px!important}
html[data-ui="v2"] #panelPendientesContenido > div{margin-bottom:20px!important}
html[data-ui="v2"] #panelPendientesContenido > div > div:first-child{font-size:14px!important;font-weight:600!important;color:var(--text);margin-bottom:8px!important}
html[data-ui="v2"] #panelPendientesContenido div[style*="border:1px solid var(--border)"]{border-radius:10px!important;padding:12px 14px!important;margin-bottom:8px!important;background:var(--card);font-size:13px}
html[data-ui="v2"] #panelPendientesContenido div[style*="cursor:pointer"]:hover{background:var(--bg2)}
html[data-ui="v2"] #panelPendientesContenido [style*="font-size:11px"],
html[data-ui="v2"] #panelPendientesContenido [style*="font-size:10px"]{font-size:12px!important}
html[data-ui="v2"] #panelPendientesContenido > div > div[style*="color:var(--sub)"]:only-of-type:not([style*="border"]){font-size:13px!important;padding:10px 14px;background:var(--bg2);border-radius:8px}

/* 4c.9 Pendientes de cierre */
html[data-ui="v2"] #modalPendientesCierre .modal-box{border-radius:16px!important;padding:24px!important}
html[data-ui="v2"] #modalPendientesCierre h3{font-size:18px!important;font-weight:600;color:var(--text)}
html[data-ui="v2"] #modalPendientesCierre p,
html[data-ui="v2"] #modalPendientesCierre .modal-box > div[style*="color:var(--sub)"]{font-size:13px!important}
html[data-ui="v2"] #pc_lista{gap:10px!important;font-size:13px!important}
html[data-ui="v2"] #pc_lista > div[style*="border:1px solid var(--border)"]{border-radius:10px!important;padding:12px 14px!important;background:var(--card)}
html[data-ui="v2"] #pc_lista > div[style*="cursor:pointer"]:hover{background:var(--bg2)}
html[data-ui="v2"] #pc_lista span[style*="#ef4444"],
html[data-ui="v2"] #pc_lista span[style*="rgb(239, 68, 68)"]{background:var(--err-soft)!important;color:var(--err)!important;border:1px solid var(--err);border-radius:999px!important;padding:2px 10px!important;font-size:12px!important}
html[data-ui="v2"] #pc_lista span[style*="#f59e0b"],
html[data-ui="v2"] #pc_lista span[style*="rgb(245, 158, 11)"]{background:var(--warn-soft)!important;color:var(--warn)!important;border:1px solid var(--warn);border-radius:999px!important;padding:2px 10px!important;font-size:12px!important}
html[data-ui="v2"] #pc_lista [style*="font-size:11px"],
html[data-ui="v2"] #pc_lista [style*="font-size:10px"]{font-size:12px!important}

/* 4c.10 Estado vacío del área principal */
html[data-ui="v2"] .empty-state .icon{width:80px;height:80px;border-radius:50%;background:var(--pri-soft);display:flex;align-items:center;justify-content:center;font-size:34px!important;margin:0 auto 20px!important}
html[data-ui="v2"] .empty-state > div:not(.icon):not([style*="font-size:11px"]):first-of-type,
html[data-ui="v2"] .empty-state [style*="font-size:16px"]{font-size:20px!important;font-weight:600!important;color:var(--text)!important}
html[data-ui="v2"] .empty-state [style*="font-size:13px"]{font-size:14px!important;color:var(--sub)!important}
html[data-ui="v2"] .empty-state [style*="font-size:11px"],
html[data-ui="v2"] .empty-state [style*="font-size:10px"]{font-size:12px!important}
html[data-ui="v2"] .empty-state kbd{font-size:12px!important;padding:2px 8px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:6px;background:var(--card);color:var(--text);font-family:var(--font)}

@media (pointer:coarse){
  html[data-ui="v2"] #censoBtnVistaLista,html[data-ui="v2"] #censoBtnVistaColumnas,html[data-ui="v2"] #censoBtnVistaSemana{min-height:40px}
  html[data-ui="v2"] .nik-etapa-item button{min-height:36px}
}
@media (max-width:600px){
  html[data-ui="v2"] #modalCenso .modal-box,html[data-ui="v2"] #modalPanelPendientes .modal-box,html[data-ui="v2"] #modalPendientesCierre .modal-box{padding:16px!important}
}

/* ================================================================
   FASE 4d — Expediente: encabezado de paciente, banner de alergias,
   tabs, secciones plegables y jerarquia de acciones. Solo diseño.
   ================================================================ */

/* 4d.1 Encabezado del paciente (tarjeta) */
html[data-ui="v2"] #mainArea>.exp-header{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin-bottom:12px;gap:12px 20px;align-items:flex-start}
html[data-ui="v2"] #mainArea>.exp-header>div:first-child{min-width:0;flex:1 1 680px}
html[data-ui="v2"] .exp-title{font-size:24px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
html[data-ui="v2"] .exp-meta{margin-top:4px}
html[data-ui="v2"] #nikEpisodioBadge{font-size:13px!important;margin-top:10px!important;line-height:2.3;color:var(--sub)}
html[data-ui="v2"] #nikEpisodioBadge button{font-size:12px!important;min-height:28px;line-height:1.2;margin:0 2px;white-space:nowrap;padding:4px 10px!important;border-radius:var(--r-lg)!important;background:var(--card)!important;color:var(--text)!important;border:1px solid var(--border-ctl)!important;font-weight:500}
html[data-ui="v2"] #nikEpisodioBadge button:hover{background:var(--pri-soft)!important;border-color:var(--pri)!important;color:var(--az-text)!important}

/* 4d.2 Acciones: 2 primarias + secundarias + menu "Más" (JS en shell) */
html[data-ui="v2"] .exp-actions{gap:8px;align-items:center;justify-content:flex-start;flex:0 1 auto}
html[data-ui="v2"] .exp-actions .btn-save{min-height:36px;padding:8px 14px;font-size:var(--fs-sm);font-weight:500;box-shadow:none;background:var(--card)!important;color:var(--text)!important;border:1px solid var(--border-ctl)}
html[data-ui="v2"] .exp-actions .btn-save:hover{background:var(--pri-soft)!important;border-color:var(--pri);color:var(--az-text)!important;opacity:1}
html[data-ui="v2"] .exp-actions .btn-save[onclick*="guardarTodo"],
html[data-ui="v2"] .exp-actions .btn-save[onclick*="abrirModalNuevaConsulta"]{background:var(--pri)!important;color:var(--on-pri)!important;border-color:transparent;font-weight:600}
html[data-ui="v2"] .exp-actions .btn-save[onclick*="guardarTodo"]:hover,
html[data-ui="v2"] .exp-actions .btn-save[onclick*="abrirModalNuevaConsulta"]:hover{background:var(--pri-hover)!important;color:var(--on-pri)!important}
html[data-ui="v2"] .exp-actions .btn-save-primary{min-height:36px;padding:8px 14px;font-size:var(--fs-sm)}
html[data-ui="v2"] .exp-actions .btn-save[onclick*="agendarCitaExpediente"]{border-color:var(--pri);color:var(--az-text)!important;font-weight:600}
html[data-ui="v2"] .exp-actions .btn-danger{background:transparent;color:var(--err);border:1px solid var(--err);min-height:36px}
html[data-ui="v2"] .exp-actions .btn-danger:hover{background:var(--err-soft);filter:none}
html[data-ui="v2"] .exp-actions .v2-exp-hid{display:none!important}
html[data-ui="v2"] .v2-mas{position:relative;display:inline-block}
html[data-ui="v2"] .v2-mas__btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:8px 14px;font:500 var(--fs-sm)/1.2 var(--font);background:var(--card);color:var(--text);border:1px solid var(--border-ctl);border-radius:var(--r-lg);cursor:pointer}
html[data-ui="v2"] .v2-mas__btn:hover,html[data-ui="v2"] .v2-mas__btn[aria-expanded="true"]{background:var(--pri-soft);border-color:var(--pri);color:var(--az-text)}
html[data-ui="v2"] .v2-mas__btn svg{width:14px;height:14px}
html[data-ui="v2"] .v2-mas__panel{position:absolute;right:0;top:calc(100% + 6px);z-index:80;min-width:250px;max-width:calc(100vw - 32px);max-height:70vh;overflow:auto;padding:6px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px rgba(11,15,20,.18),0 2px 6px rgba(11,15,20,.08)}
html[data-ui="v2"] .v2-mas__panel[hidden]{display:none}
html[data-ui="v2"] .v2-mas__grp{margin:0;padding:8px 10px 4px;font:600 12px/1.2 var(--font);letter-spacing:.02em;color:var(--sub)}
html[data-ui="v2"] .v2-mas__item{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:8px 10px;text-align:left;font:500 var(--fs-sm)/1.3 var(--font);color:var(--text);background:transparent;border:0;border-radius:var(--r-lg);cursor:pointer}
html[data-ui="v2"] .v2-mas__item:hover,html[data-ui="v2"] .v2-mas__item:focus-visible{background:var(--pri-soft);color:var(--az-text)}
html[data-ui="v2"] .v2-mas__item--danger{color:var(--err)}
html[data-ui="v2"] .v2-mas__item--danger:hover,html[data-ui="v2"] .v2-mas__item--danger:focus-visible{background:var(--err-soft);color:var(--err)}
html[data-ui="v2"] .v2-mas__sep{height:1px;margin:6px 4px;background:var(--border)}

/* 4d.3 Banner de alergias (alta jerarquia, fijo al hacer scroll) */
html[data-ui="v2"] .header-clinico-sticky{top:-8px;padding:0;gap:0;border-radius:12px;overflow:hidden;font-size:var(--fs-sm);box-shadow:var(--shadow);align-items:stretch}
html[data-ui="v2"] .header-clinico-sticky>div{padding:8px 14px;color:var(--sub)}
html[data-ui="v2"] .header-clinico-sticky>div:not([class^="alerg-"]){order:2;padding:8px 8px 8px 14px;font-size:var(--fs-sm)}
html[data-ui="v2"] .header-clinico-sticky>div:not([class^="alerg-"]):last-of-type{padding-right:14px}
html[data-ui="v2"] .header-clinico-sticky>div:nth-child(1){padding-left:16px}
html[data-ui="v2"] .header-clinico-sticky b{font-size:var(--fs-md);font-weight:600;color:var(--text)}
html[data-ui="v2"] .header-clinico-sticky>div[class^="alerg-"]{order:1;flex:0 0 100%;display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:0;border-left:6px solid currentColor;font-size:15px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
html[data-ui="v2"] .header-clinico-sticky>div.alerg-positivo{background:var(--err-soft);color:var(--err)}
html[data-ui="v2"] .header-clinico-sticky>div.alerg-negadas{background:var(--ok-soft);color:var(--ok);font-weight:600!important;font-size:14px!important;padding-top:8px!important;padding-bottom:8px!important}
html[data-ui="v2"] .header-clinico-sticky>div.alerg-noint{background:var(--warn-soft);color:var(--warn);font-weight:600!important;font-size:14px!important}
html[data-ui="v2"] .header-clinico-sticky .alerg-positivo::before{content:"";flex:none}

/* 4d.4 Tabs */
html[data-ui="v2"] #mainArea .tabs{gap:2px;margin-bottom:16px;border-bottom:1px solid var(--border);scrollbar-width:none;overflow-x:auto;scroll-snap-type:x proximity}
html[data-ui="v2"] #mainArea .tabs::-webkit-scrollbar{display:none}
html[data-ui="v2"] #mainArea .tab{padding:12px 16px;min-height:44px;font-size:var(--fs-md);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:var(--r-lg) var(--r-lg) 0 0;scroll-snap-align:start;display:flex;align-items:center;gap:6px}
html[data-ui="v2"] #mainArea .tab:hover{background:var(--bg2);color:var(--text)}
html[data-ui="v2"] #mainArea .tab.active{color:var(--az-text);font-weight:600;border-bottom-color:var(--accent)}

/* 4d.5 Buscar en expediente */
html[data-ui="v2"] #navBuscarPanel{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:12px!important;padding:16px!important;box-shadow:var(--shadow)}

/* 4d.6 Secciones plegables como tarjetas */
html[data-ui="v2"] #mainArea .sec{border-radius:12px;margin-bottom:12px;border-color:var(--border);box-shadow:none}
html[data-ui="v2"] #mainArea .sec-head{min-height:52px;padding:12px 18px;font-size:var(--fs-lg);font-weight:600;transition:background .15s}
html[data-ui="v2"] #mainArea .sec-head:hover{background:var(--bg2)}
html[data-ui="v2"] #mainArea .sec-head.open{background:var(--bg2)}
html[data-ui="v2"] #mainArea .sec-title{font-size:var(--fs-lg);font-weight:600;color:var(--text);text-transform:none;letter-spacing:0;border:0;margin:0;padding:0;gap:8px;flex-wrap:wrap}
html[data-ui="v2"] #mainArea .sec-chevron{font-size:12px!important;color:var(--sub)}
html[data-ui="v2"] #mainArea .sec-body{padding:18px;border-top:1px solid var(--border)}

/* 4d.7 Movil */
@media (max-width:899px){
  html[data-ui="v2"] #mainArea>.exp-header{padding:14px 16px}
  html[data-ui="v2"] .exp-actions{justify-content:flex-start;width:100%}
}
@media (max-width:599px){
  html[data-ui="v2"] .exp-title{font-size:20px}
  html[data-ui="v2"] .header-clinico-sticky>div[class^="alerg-"]{font-size:14px;padding:9px 12px}
  html[data-ui="v2"] .v2-mas__panel{right:auto;left:0}
}

/* 4d.8 Interconsulta (tab referencia): piso 12px y contraste; cajas pastel inline en modo oscuro */
html[data-ui="v2"] #tab-referencia .ref-dr-esp,
html[data-ui="v2"] #tab-referencia .ref-send-title,
html[data-ui="v2"] #tab-referencia .ref-cons-tipo,
html[data-ui="v2"] #tab-referencia .consent-meta,
html[data-ui="v2"] #tab-referencia .ref-badge-consent,
html[data-ui="v2"] #tab-referencia strong,
html[data-ui="v2"] #tab-referencia span{font-size:max(12px,1em)}
html[data-ui="v2"] #tab-referencia .ref-dr-esp,
html[data-ui="v2"] #tab-referencia .ref-send-title,
html[data-ui="v2"] #tab-referencia .ref-cons-tipo,
html[data-ui="v2"] #tab-referencia .consent-box .consent-meta,
html[data-ui="v2"] #tab-referencia .ref-badge-consent{font-size:12px}
html[data-ui="v2"] .consent-ok{background:var(--ok-soft);color:var(--ok)}
html[data-ui="v2"][data-theme="dark"] #mainArea [style*="background:#f0fdf4"]{background:var(--ok-soft)!important;border-color:var(--ok)!important}

/* ============ FASE 4e — Consulta / quirurgica / formularios ============ */

/* 4e.1 Tarjeta de consulta (overflow visible: el menu "Más" no debe recortarse) */
html[data-ui="v2"] .consulta-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:12px;overflow:visible;box-shadow:none}
html[data-ui="v2"] .consulta-card:has(>.consulta-body.open){border-color:var(--border-strong);box-shadow:var(--shadow)}
html[data-ui="v2"] .consulta-card-head{padding:12px 18px;gap:8px 12px;min-height:52px;border-radius:var(--r-lg);flex-wrap:wrap}
html[data-ui="v2"] .consulta-card-head:hover{background:var(--bg2)}
html[data-ui="v2"] .consulta-card-head:has(+.consulta-body.open){border-bottom-left-radius:0;border-bottom-right-radius:0}
html[data-ui="v2"] .consulta-fecha{font-size:var(--fs-md);font-weight:600;color:var(--text)}
html[data-ui="v2"] .consulta-doctor{font-size:12px;color:var(--sub)}
html[data-ui="v2"] .consulta-body{padding:16px 18px 18px;border-top:1px solid var(--border)}

/* 4e.2 Insignias de tipo: pastel en claro (AA), originales oscuras en oscuro */
html[data-ui="v2"] .tipo-badge{font-size:12px;font-weight:600;padding:3px 10px;line-height:1.4}
html[data-ui="v2"]:not([data-theme="dark"]) .tipo-cx_endocrino{background:#e6f1fd;color:#0a4f9e}
html[data-ui="v2"]:not([data-theme="dark"]) .tipo-endocrino{background:#e4f8ee;color:#075e37}
html[data-ui="v2"]:not([data-theme="dark"]) .tipo-radiologia{background:#f1eafe;color:#5b2bb0}
html[data-ui="v2"]:not([data-theme="dark"]) .tipo-patologia{background:#fff0e3;color:#8f3f06}
html[data-ui="v2"]:not([data-theme="dark"]) .tipo-baaf{background:#e0f5f5;color:#0b4d5b}
html[data-ui="v2"]:not([data-theme="dark"]) .tipo-quirurgico{background:#ffe8ee;color:#a10c32}
html[data-ui="v2"]:not([data-theme="dark"]) .tipo-integracion{background:#fff5cc;color:#6b4e00}

/* 4e.3 Barra de metadatos */
html[data-ui="v2"] .consulta-meta-bar{gap:4px 16px;padding:9px 14px;margin-bottom:14px;font-size:12px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--sub)}
html[data-ui="v2"] .consulta-meta-bar strong{color:var(--text);font-weight:600}

/* 4e.4 Acciones de la consulta: jerarquia (Receta/Cobro/Ver resumen visibles, resto en "Más") */
html[data-ui="v2"] .consulta-actions{gap:8px;align-items:center;margin-bottom:16px;position:relative}
html[data-ui="v2"] .consulta-actions .btn-save{min-height:36px;padding:8px 14px;font-size:var(--fs-sm);font-weight:500;box-shadow:none;background:var(--card)!important;color:var(--text)!important;border:1px solid var(--border-ctl)}
html[data-ui="v2"] .consulta-actions .btn-save:hover{background:var(--pri-soft)!important;border-color:var(--pri);color:var(--az-text)!important;opacity:1}
html[data-ui="v2"] .consulta-actions .btn-save-primary{background:var(--pri)!important;color:var(--on-pri)!important;border-color:transparent;font-weight:600;font-size:var(--fs-sm)}
html[data-ui="v2"] .consulta-actions .btn-save-primary:hover{background:var(--pri-hover)!important;color:var(--on-pri)!important}
html[data-ui="v2"] .consulta-actions .v2-exp-hid{display:none!important}
html[data-ui="v2"] .consulta-actions .v2-mas__panel{right:auto;left:0}

/* 4e.5 Cajas de estado (nota cerrada, versiones, avisos): tokens en oscuro */
html[data-ui="v2"] .consulta-body [style*="background:#f0fdf4"],
html[data-ui="v2"] .consulta-body [style*="background:#f0fdfa"]{border-radius:var(--r-md)}
html[data-ui="v2"][data-theme="dark"] .consulta-body [style*="background:#f0fdf4"],
html[data-ui="v2"][data-theme="dark"] .consulta-body [style*="background:#f0fdfa"]{background:var(--ok-soft)!important;color:var(--text)!important;border-color:var(--ok)!important}
html[data-ui="v2"][data-theme="dark"] .consulta-body [style*="background:#fffbeb"],
html[data-ui="v2"][data-theme="dark"] .consulta-body [style*="background:#fef3c7"]{background:var(--warn-soft)!important;color:var(--text)!important;border-color:var(--warn)!important}
html[data-ui="v2"][data-theme="dark"] .consulta-body [style*="background:#eff6ff"]{background:var(--info-soft)!important;color:var(--text)!important;border-color:var(--info)!important}
html[data-ui="v2"][data-theme="dark"] .consulta-body [style*="background:#f1f5f9"]{background:var(--bg2)!important;color:var(--sub)!important}

/* 4e.6 Rejilla y campos de formulario */
html[data-ui="v2"] .fg{gap:14px 16px}
html[data-ui="v2"] .fr{gap:6px}
html[data-ui="v2"] .fl{color:var(--sub)}
html[data-ui="v2"] .fi{font-size:var(--fs-md);line-height:1.4;min-height:38px}
html[data-ui="v2"] textarea.fi{line-height:1.5;resize:vertical}
html[data-ui="v2"] .fi::placeholder{font-style:normal;font-size:inherit;opacity:1;color:var(--sub)}
html[data-ui="v2"] .fi:hover:not(:focus):not(:disabled){border-color:var(--sub)}
html[data-ui="v2"] .fi:disabled,html[data-ui="v2"] .fi[readonly]{background:var(--bg2);color:var(--sub)}
/* etiqueta con herramientas (favoritos / dictado): texto a la izquierda, botones a la derecha */
html[data-ui="v2"] label.fl[style*="justify-content:space-between"]{justify-content:flex-start;gap:4px}
html[data-ui="v2"] label.fl[style*="justify-content:space-between"]>button:first-of-type{margin-left:auto}
html[data-ui="v2"] label.fl>button{min-width:28px;min-height:28px;padding:0 4px;border-radius:var(--r-md)!important;font-size:14px!important;line-height:1;cursor:pointer}
html[data-ui="v2"] label.fl>button:hover{background:var(--bg2)!important}

/* 4e.7 Chips de seleccion (radio-btn / TI-RADS / Bethesda) */
html[data-ui="v2"] .radio-btn{min-height:32px;padding:5px 12px;gap:6px;font-size:var(--fs-sm);font-weight:500;color:var(--text);background:var(--card);border:1px solid var(--border-ctl);border-radius:999px}
html[data-ui="v2"] .radio-btn:hover{border-color:var(--pri)}
html[data-ui="v2"] .radio-btn.sel{background:var(--pri-soft);border-color:var(--pri);color:var(--az-text);font-weight:600}
html[data-ui="v2"] .tcat{min-height:32px;padding:5px 12px;font-size:var(--fs-xs);font-weight:600;color:var(--text);background:var(--card);border:1px solid var(--border-ctl);border-radius:999px}
html[data-ui="v2"] .tcat:hover{border-color:var(--pri)}
html[data-ui="v2"] .tcat.sel{background:var(--pri-soft);border-color:var(--pri);color:var(--az-text)}
html[data-ui="v2"] .bcat{padding:8px 6px;background:var(--card);border:1px solid var(--border-ctl);border-radius:var(--r-lg);overflow-wrap:anywhere}
html[data-ui="v2"] .bcat:hover{border-color:var(--pri)}
html[data-ui="v2"] .bcat.sel{background:var(--pri-soft);border-color:var(--pri);box-shadow:inset 0 0 0 1px var(--pri)}
html[data-ui="v2"] .bcat-num{font-size:var(--fs-md);color:var(--text)}
html[data-ui="v2"] .bcat-name{font-size:12px;color:var(--sub)}
html[data-ui="v2"] .bcat-risk{font-size:12px;color:var(--warn)}
html[data-ui="v2"] .bcat.sel .bcat-name{color:var(--text)}

/* 4e.8 Quirurgica: pestañas 1-6, checklist preop, equipo */
html[data-ui="v2"] .tabs:has(.qx-tab){gap:2px}
html[data-ui="v2"] .qx-tab{padding:10px 14px;font-size:var(--fs-sm);font-weight:500;color:var(--sub);white-space:nowrap}
html[data-ui="v2"] .qx-tab:hover{color:var(--text)}
html[data-ui="v2"] .qx-tab.active{color:var(--az-text)}
html[data-ui="v2"] .qx-cl-head{font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--sub)}
html[data-ui="v2"] .qx-checklist-row{padding:8px 10px;margin-bottom:8px;background:var(--bg2);border:1px solid var(--border);border-left-width:3px;border-radius:var(--r-lg)}
html[data-ui="v2"] .qx-checklist-row[data-estado="en_proceso"]{border-left-color:var(--warn)}
html[data-ui="v2"] .qx-checklist-row[data-estado="completo"]{border-left-color:var(--ok)}
html[data-ui="v2"] .qx-checklist-row[data-estado="no_aplica"]{opacity:1;color:var(--sub)}
html[data-ui="v2"] .qx-checklist-row[data-estado="no_aplica"] .fi{background:var(--bg2);color:var(--sub)}
html[data-ui="v2"] .qx-cl-lbl{font-size:12px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--sub)}
html[data-ui="v2"] .qx-cl-wrap:empty::before{font-size:var(--fs-sm);color:var(--sub)}
html[data-ui="v2"] .qx-cl-del{width:36px;min-height:36px;border:1px solid var(--border-ctl);border-radius:var(--r-md);color:var(--err)}
html[data-ui="v2"] .qx-cl-del:hover,html[data-ui="v2"] .qx-cl-del:focus-visible{background:var(--err-soft);border-color:var(--err)}
html[data-ui="v2"] .qx-equipo-row>button{min-height:38px;min-width:38px;border:1px solid var(--border-ctl)!important;border-radius:var(--r-md)!important;color:var(--err)!important}
html[data-ui="v2"] .qx-equipo-row>button:hover{background:var(--err-soft)!important;border-color:var(--err)!important}

/* 4e.9 Modal "Nueva consulta": mosaicos de tipo */
html[data-ui="v2"] .tipo-grid{gap:12px}
html[data-ui="v2"] .tipo-opt{padding:14px 12px;background:var(--card);border:1px solid var(--border-ctl);border-radius:var(--r-lg)}
html[data-ui="v2"] .tipo-opt:hover{border-color:var(--pri);background:var(--bg2)}
html[data-ui="v2"] .tipo-opt.sel{border-color:var(--pri);background:var(--pri-soft);box-shadow:inset 0 0 0 1px var(--pri)}
html[data-ui="v2"] .tipo-opt-name{font-size:var(--fs-sm);font-weight:600}
html[data-ui="v2"] .tipo-opt-sub{font-size:12px;color:var(--sub)}

/* 4e.10 Aire inferior: los botones flotantes (chat/alerta) no tapan el ultimo campo */
html[data-ui="v2"] #mainArea{padding-bottom:96px}

/* 4e.11 Movil */
@media (max-width:599px){
  html[data-ui="v2"] .consulta-card-head{padding:12px 14px}
  html[data-ui="v2"] .consulta-body{padding:14px 14px 16px}
  html[data-ui="v2"] .fg{grid-template-columns:1fr}
  html[data-ui="v2"] .tabs:has(.qx-tab){flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:thin}
  html[data-ui="v2"] .tipo-grid{grid-template-columns:1fr 1fr;gap:10px}
}

/* 4e.12 Contraste AA en acciones en linea dentro de la consulta */
html[data-ui="v2"] .consulta-body button[style*="color:var(--accent"]{color:var(--az-text)!important}
html[data-ui="v2"] .consulta-body button[style*="color:#ef4444"]{color:var(--err)!important}
html[data-ui="v2"] .consulta-body button[style*="linear-gradient(135deg,#6366f1"]{background:linear-gradient(135deg,#4f46e5,#7c3aed)!important}
html[data-ui="v2"][data-theme="dark"] .consulta-body [style*="color:#166534"]{color:var(--ok)!important}
html[data-ui="v2"][data-theme="dark"] .consulta-body [style*="color:#15803d"]{color:var(--ok)!important}

/* ============ FASE 4f — Reportes / cuentas / presupuestos ============ */

/* 4f.1 Estadisticas: tiles KPI como tarjetas Healthence */
html[data-ui="v2"] #statsContent > div[style*="repeat(3,1fr)"]{gap:12px!important}
html[data-ui="v2"] #statsContent > div[style*="repeat(3,1fr)"] > div{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:var(--r-lg)!important;padding:16px 12px!important}
html[data-ui="v2"] #statsContent > div[style*="repeat(3,1fr)"] > div > div:first-child{font-size:28px!important;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}
html[data-ui="v2"] #statsContent > div[style*="repeat(3,1fr)"] > div > div + div{font-size:12px!important;color:var(--sub)!important}
html[data-ui="v2"] #statsContent [style*="color:var(--az);color:#60a5fa"]{color:var(--az-text)!important}

/* 4f.2 Estadisticas: corte de hoy, colores AA en claro */
html[data-ui="v2"]:not([data-theme="dark"]) #statsContent [style*="color:#4ade80"]{color:var(--ok)!important}
html[data-ui="v2"]:not([data-theme="dark"]) #statsContent [style*="color:#60a5fa"]{color:var(--az-text)!important}
html[data-ui="v2"]:not([data-theme="dark"]) #statsContent [style*="color:#fbbf24"]{color:var(--warn)!important}
html[data-ui="v2"] #statsContent [style*="repeat(4,1fr)"]{gap:10px!important}
html[data-ui="v2"] #statsContent [style*="border:1px solid var(--az)"]{border-color:var(--pri)!important}

/* 4f.3 Cierre semanal: aviso, estado y botones */
html[data-ui="v2"] #modalCierreSemanal [style*="background:#78350f"]{background:var(--warn-soft)!important;color:var(--warn)!important;border:1px solid var(--warn)!important;border-left-width:4px!important;border-radius:var(--r-md)!important;font-size:12px!important}
html[data-ui="v2"] #csEstadoBadge[style*="251, 191, 36"]{background:var(--warn-soft)!important;color:var(--warn)!important}
html[data-ui="v2"] #csEstadoBadge[style*="34, 197, 94"]{background:var(--ok-soft)!important;color:var(--ok)!important}
html[data-ui="v2"] #csEstadoBadge{border-radius:var(--r-sm)!important;font-weight:600}
html[data-ui="v2"] #csContenido button[style*="background:#16a34a"]{background:var(--ok-fill)!important;color:#fff!important;border-radius:var(--r-md)!important}
html[data-ui="v2"] #csContenido button[style*="background:var(--az)"]{background:var(--pri)!important;color:var(--on-pri)!important;border-radius:var(--r-md)!important}
html[data-ui="v2"] #csContenido button[style*="background:var(--card2)"]{border-radius:var(--r-md)!important}
html[data-ui="v2"] #csContenido th{font-size:12px!important;font-weight:600;color:var(--sub)!important}
html[data-ui="v2"] #csContenido td{font-variant-numeric:tabular-nums}
html[data-ui="v2"] #csContenido [style*="color:#b45309"]{color:var(--warn)!important}
html[data-ui="v2"] #csContenido [style*="color:#888"]{color:var(--sub)!important}
html[data-ui="v2"]:not([data-theme="dark"]) #csContenido [style*="color:#00305d"]{color:var(--text)!important}

/* 4f.4 Tablero: cabecera con fechas compactas y tarjetas por seccion */
html[data-ui="v2"] #modalTablero input.fi[type="date"]{width:auto!important;min-width:140px;flex:0 0 auto}
html[data-ui="v2"] #tabCuerpo > section{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:var(--r-lg)!important;padding:16px!important;margin-bottom:16px!important}
html[data-ui="v2"] #tabCuerpo > section > div:first-child{font-size:14px!important;font-weight:600;color:var(--text)}
html[data-ui="v2"] #tabCuerpo > div[style*="background:#fffbeb"]{background:var(--warn-soft)!important;color:var(--warn)!important;border:1px solid var(--warn)!important;border-radius:var(--r-md)!important}
html[data-ui="v2"] #tabCuerpo p[style*="color:#991b1b"]{color:var(--err)!important}
html[data-ui="v2"] #tabCuerpo table{font-variant-numeric:tabular-nums}

/* 4f.5 Casos / ficha / tablero: pills y textos de estado por tokens (ambos temas) */
html[data-ui="v2"] :is(#modalCasos,#modalCasoFicha,#tabCuerpo) [style*="background:#fee2e2"]{background:var(--err-soft)!important;color:var(--err)!important}
html[data-ui="v2"] :is(#modalCasos,#modalCasoFicha,#tabCuerpo) :is([style*="background:#fef3c7"],[style*="background:#fef9c3"]){background:var(--warn-soft)!important;color:var(--warn)!important}
html[data-ui="v2"] :is(#modalCasos,#modalCasoFicha,#tabCuerpo) [style*="background:#dcfce7"]{background:var(--ok-soft)!important;color:var(--ok)!important}
html[data-ui="v2"] :is(#modalCasos,#modalCasoFicha,#tabCuerpo) [style*="background:#dbeafe"]{background:var(--info-soft)!important;color:var(--info)!important}
html[data-ui="v2"] :is(#modalCasos,#modalCasoFicha,#tabCuerpo) :is([style*="background:#e2e8f0"],[style*="background:#f1f5f9"]){background:var(--card2)!important;color:var(--text)!important}
html[data-ui="v2"] :is(#modalCasos,#modalCasoFicha,#tabCuerpo) [style*="color:#92400e"]{color:var(--warn)!important}
html[data-ui="v2"] :is(#modalCasos,#modalCasoFicha,#tabCuerpo) [style*="color:#166534"]{color:var(--ok)!important}
html[data-ui="v2"] :is(#modalCasos,#modalCasoFicha,#tabCuerpo) [style*="color:#991b1b"]{color:var(--err)!important}
html[data-ui="v2"] :is(#modalCasos,#modalCasoFicha,#tabCuerpo) [style*="color:#1e40af"]{color:var(--info)!important}
html[data-ui="v2"] #modalCasos span[style*="border-radius:4px"]{font-size:12px!important;padding:2px 8px!important}
html[data-ui="v2"] #modalCasos input.fi{min-height:36px}

/* 4f.6 Usuarios: tabla con scroll seguro, badges y botones por tokens */
html[data-ui="v2"] #usuariosLista{overflow-x:auto}
html[data-ui="v2"] #usuariosLista table{min-width:640px;font-size:13px}
html[data-ui="v2"] #usuariosLista [style*="color:#7c3aed"]{color:var(--info)!important}
html[data-ui="v2"] #usuariosLista [style*="color:#0f5767"]{color:var(--teal)!important}
html[data-ui="v2"] #usuariosLista [style*="color:#6b7280"]{color:var(--sub)!important}
html[data-ui="v2"] #usuariosLista [style*="color:#d97706"]{color:var(--warn)!important}
html[data-ui="v2"] #usuariosLista :is([style*="color:#dc2626"],[style*="color: #dc2626"]){color:var(--err)!important}
html[data-ui="v2"] #usuariosLista [style*="color:#16a34a"]{color:var(--ok)!important}
html[data-ui="v2"] #usuariosLista button{border-radius:var(--r-md)!important;font-size:12px!important;padding:5px 10px!important;min-height:30px}
html[data-ui="v2"] #usuariosLista button[style*="background:#7f1d1d"]{background:var(--err-soft)!important;color:var(--err)!important;border:1px solid var(--err)!important}

/* 4f.7 Movil */
@media (max-width:599px){
  html[data-ui="v2"] #statsContent > div[style*="repeat(3,1fr)"]{grid-template-columns:1fr 1fr!important}
  html[data-ui="v2"] #statsContent [style*="repeat(4,1fr)"]{grid-template-columns:1fr 1fr!important}
  html[data-ui="v2"] #modalStats .modal-box > div:first-child{flex-wrap:wrap;gap:10px}
  html[data-ui="v2"] #modalStats .modal-box > div:first-child > div{flex-wrap:wrap;justify-content:flex-start}
  html[data-ui="v2"] #csContenido{overflow-x:auto}
  html[data-ui="v2"] #csContenido table{min-width:520px}
  html[data-ui="v2"] #modalTablero input.fi[type="date"]{flex:1 1 140px}
  html[data-ui="v2"] #tabCuerpo{overflow-x:hidden}
  html[data-ui="v2"] #tabCuerpo > section{padding:12px!important;overflow-x:auto}
  html[data-ui="v2"] #casTabla{overflow-x:auto}
  html[data-ui="v2"] #modalCasos input.fi{width:100%!important}
}

/* ===== FASE 4g — Pantallas de acceso (login, 2FA, contraseña) ===== */
/* 4g.1 Base: el login hereda el tema (claro por defecto) */
html[data-ui="v2"] body{background:var(--bg);color:var(--text);font-family:var(--font)}
html[data-ui="v2"] .login-right,html[data-ui="v2"] .totp-box{background:var(--bg)}

/* 4g.2 Panel de marca (siempre azul de marca, texto blanco) */
html[data-ui="v2"] .login-left{background:linear-gradient(135deg,#00305d 0%,#0a4a6e 55%,#0f5767 100%)}
html[data-ui="v2"] .login-brand h1{font-size:var(--fs-2xl,32px);letter-spacing:-.2px}
html[data-ui="v2"] .login-brand p{font-size:14px;opacity:1;color:rgba(255,255,255,.88)}
html[data-ui="v2"] .login-trust{gap:12px}
html[data-ui="v2"] .trust-item{font-size:14px;color:rgba(255,255,255,.92)}

/* 4g.3 Tarjetas */
html[data-ui="v2"] .login-card,html[data-ui="v2"] .totp-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:32px}
html[data-ui="v2"] .login-card h2{font-size:24px;font-weight:700;color:var(--text);letter-spacing:-.2px}
html[data-ui="v2"] .totp-card h2{font-size:20px;font-weight:700;color:var(--text)}
html[data-ui="v2"] .login-sub{font-size:14px;color:var(--sub);margin-bottom:20px}
html[data-ui="v2"] .totp-card p{font-size:13px;line-height:1.5;color:var(--sub)}
html[data-ui="v2"] :is(.login-card,.totp-card) :is([style*="font-size:10px"],[style*="font-size:11px"],[style*="font-size:12px"]){font-size:12px!important;line-height:1.5}
html[data-ui="v2"] :is(.login-card,.totp-card) [style*="font-size:13px"]{font-size:13px!important;line-height:1.5}
/* logo azul sobre tarjetas claras (el blanco no se ve) */
html[data-ui="v2"]:not([data-theme="dark"]) :is(.login-card,.totp-card) img[src$="logo-header.png"]{content:url("../logo-header-azul.png")}

/* 4g.4 Campos */
html[data-ui="v2"] .login-field label,html[data-ui="v2"] .totp-card label{font-size:12px;font-weight:600;color:var(--sub)}
html[data-ui="v2"] .login-field label{text-transform:uppercase;letter-spacing:.4px}
html[data-ui="v2"] :is(.login-card,.totp-card) input.fi{min-height:42px;font-size:14px}
html[data-ui="v2"] .code-input{font-size:22px!important;letter-spacing:8px;font-weight:700;text-align:center}
html[data-ui="v2"] .eye-btn{color:var(--sub);min-width:32px;min-height:32px;right:6px;border-radius:var(--r-md)}
html[data-ui="v2"] .eye-btn:hover{background:var(--pri-soft)}
html[data-ui="v2"] .eye-btn:focus-visible{outline:2px solid var(--az);outline-offset:1px}

/* 4g.5 Botones (relleno AA con texto blanco) */
html[data-ui="v2"] :is(.btn-login,.btn-auth){background:var(--pri);color:var(--on-pri);border-radius:var(--r-md);min-height:44px;font-size:14px;font-weight:700;transition:background .15s}
html[data-ui="v2"] :is(.btn-login,.btn-auth):hover{background:var(--pri-hover);opacity:1}
html[data-ui="v2"] :is(.btn-login,.btn-auth):focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-halo)}
html[data-ui="v2"] .btn-login:disabled{opacity:.6}

/* 4g.6 Avisos */
html[data-ui="v2"] .login-err{background:var(--err-soft);color:var(--err);border:1px solid var(--err);border-radius:var(--r-md);font-size:13px;line-height:1.45;padding:10px 14px}
html[data-ui="v2"] .login-err[style*="#78350f"]{background:var(--warn-soft)!important;color:var(--warn)!important;border-color:var(--warn)}
html[data-ui="v2"] :is(.login-card,.totp-card) [style*="color:#16a34a"]{color:var(--ok)!important}
html[data-ui="v2"] #nikRecaptchaAviso{color:var(--err)!important;font-size:13px}
html[data-ui="v2"] #nikRecaptchaWrap{max-width:100%}

/* 4g.7 Enlaces */
html[data-ui="v2"] :is(.login-card,.totp-card) a:not(.btn-auth){color:var(--az-text)!important;text-decoration:none;display:inline-block;padding:6px 2px;font-size:13px!important;border-radius:var(--r-sm)}
html[data-ui="v2"] :is(.login-card,.totp-card) a:not(.btn-auth):hover{text-decoration:underline}
html[data-ui="v2"] :is(.login-card,.totp-card) a:not(.btn-auth):focus-visible{outline:2px solid var(--az);outline-offset:1px}
html[data-ui="v2"] .totp-card a.btn-auth{display:block;text-decoration:none;color:var(--on-pri)!important;line-height:20px;padding:12px}

/* 4g.8 Insignias y meta */
html[data-ui="v2"] .badge{font-size:12px;color:var(--sub)}
html[data-ui="v2"] .login-meta{font-size:12px;color:var(--sub)}

/* 4g.9 QR 2FA: fondo blanco fijo (lectura del lector) */
html[data-ui="v2"] #totpQrBox{display:inline-block;background:#fff;padding:10px;border-radius:var(--r-md);border:1px solid var(--border)}
html[data-ui="v2"] #totpQrBox img{display:block;max-width:100%;height:auto}
html[data-ui="v2"] .totp-card strong{color:var(--text)}

/* 4g.10 Tablet y móvil */
@media (max-width:900px){
  html[data-ui="v2"] .login-brand h1{font-size:26px}
}
@media (max-width:700px){
  html[data-ui="v2"] .login-brand h1{font-size:22px}
  html[data-ui="v2"] .login-card,html[data-ui="v2"] .totp-card{padding:24px}
}
@media (max-width:420px){
  html[data-ui="v2"] .login-right{padding:20px 16px 32px}
  html[data-ui="v2"] .login-card,html[data-ui="v2"] .totp-card{padding:20px}
  html[data-ui="v2"] .totp-box{padding:16px}
}

/* ───────── FASE 5 · Gráficas (Chart.js) ─────────
   Colores/ejes/tooltip de los canvas los pone el plugin de nikolai-v2-shell.js.
   Aquí: lienzo con altura propia, chips, títulos y el modal «Curvas de laboratorio». */

/* 5.1 Expediente: lienzo con altura fija (evita que Chart.js crezca sin límite) */
html[data-ui="v2"] #labChartsCanvases > div{position:relative}
html[data-ui="v2"] #labChartsCanvases > div > canvas{display:block;height:200px!important;max-height:200px}
html[data-ui="v2"] #labChartsCanvases > div:not([style*="dashed"]){
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px 10px;margin-bottom:12px!important;
}
/* 5.2 Título de cada gráfica y avisos */
html[data-ui="v2"] #labChartsCanvases > div > div[style*="text-transform:uppercase"]{
  font-size:var(--fs-xs)!important;font-weight:600!important;color:var(--sub)!important;letter-spacing:.4px!important;margin-bottom:8px!important;
}
html[data-ui="v2"] #labChartsCanvases > div[style*="dashed"]{font-size:var(--fs-xs)!important;color:var(--sub)!important;border-bottom-color:var(--border)!important}
/* 5.3 Leyenda y chips de parámetros */
html[data-ui="v2"] #labChartsArea > div:first-child{font-size:var(--fs-xs)!important;color:var(--sub)!important;margin-bottom:8px!important}
html[data-ui="v2"] #labChartsArea span[onclick^="labToggleParam"]{
  font-size:var(--fs-xs)!important;line-height:1.4;padding:4px 12px!important;border-radius:999px!important;
  color:var(--sub)!important;background:transparent!important;border:1px solid var(--border-ctl)!important;
  transition:background .12s,border-color .12s,color .12s;
}
html[data-ui="v2"] #labChartsArea span[onclick^="labToggleParam"]:hover{border-color:var(--accent)!important;color:var(--text)!important}
html[data-ui="v2"] #labChartsArea span[onclick^="labToggleParam"]:not([style*="background:transparent"]){
  background:var(--pri-soft)!important;border-color:var(--accent)!important;color:var(--az-text)!important;font-weight:600;
}
/* 5.4 Modal «Curvas de laboratorio» */
html[data-ui="v2"] #modal-curvas{background:rgba(11,15,20,.55)!important}
html[data-ui="v2"] #modal-curvas > div{
  background:var(--card)!important;color:var(--text);border:1px solid var(--border);border-radius:12px!important;box-shadow:0 12px 40px rgba(0,0,0,.28)!important;
}
html[data-ui="v2"] #modal-curvas > div > div[style*="background:#00305d"]{
  background:var(--card)!important;border-bottom:1px solid var(--border);padding:16px 24px!important;
}
html[data-ui="v2"] #modal-curvas > div > div[style*="background:#00305d"] > div{color:var(--text)!important;font-size:var(--fs-lg)!important;font-weight:600!important}
html[data-ui="v2"] #modal-curvas button[aria-label="Cerrar curvas"]{
  background:transparent!important;color:var(--sub)!important;border-radius:var(--r-lg)!important;font-size:18px!important;transition:background .12s,color .12s;
}
html[data-ui="v2"] #modal-curvas button[aria-label="Cerrar curvas"]:hover{background:var(--bg2)!important;color:var(--text)!important}
html[data-ui="v2"] #modal-curvas > div > div:last-child{padding:20px 24px!important}
/* tarjetas por analito */
html[data-ui="v2"] #modal-curvas div[style*="border-radius:10px"][style*="padding:10px"]{
  background:var(--card);border:1px solid var(--border)!important;border-radius:var(--r-lg)!important;padding:14px 16px!important;
}
html[data-ui="v2"] #modal-curvas div[style*="font-size:12px"][style*="font-weight:700"]{font-size:var(--fs-sm)!important;font-weight:600!important;margin-bottom:4px!important}
html[data-ui="v2"] #modal-curvas div[style*="font-size:12px"] > span[style*="float:right"]{font-weight:600}
html[data-ui="v2"] #modal-curvas div[style*="font-size:12px"] > span[style*="#16a34a"]{color:var(--ok)!important}
html[data-ui="v2"] #modal-curvas div[style*="font-size:10px"]{font-size:var(--fs-xs)!important;color:var(--sub)!important;margin-bottom:10px!important}
html[data-ui="v2"] #modal-curvas canvas{display:block;max-width:100%}
html[data-ui="v2"] #modal-curvas > div > div:last-child > div[style*="text-align:center"]{color:var(--sub)!important}

/* 5.5 Móvil */
@media (max-width:600px){
  html[data-ui="v2"] #labChartsCanvases > div > canvas{height:180px!important;max-height:180px}
  html[data-ui="v2"] #modal-curvas{padding:8px!important}
  html[data-ui="v2"] #modal-curvas > div > div[style*="background:#00305d"]{padding:12px 16px!important}
  html[data-ui="v2"] #modal-curvas > div > div:last-child{padding:14px 12px!important}
  html[data-ui="v2"] #modal-curvas div[style*="grid-template-columns"]{grid-template-columns:1fr!important}
}

/* ===== FASE 8A — Accesibilidad: áreas táctiles, tablas semánticas, saltar al contenido =====
   Solo presentación bajo data-ui="v2". Objetivo: ≥40px de alto en tablet/móvil/táctil. */

/* 8A.1 Tablas: se conserva la semántica de tabla (el global de index.php las pone en display:block <=1024px);
   el desplazamiento horizontal pasa al contenedor directo. */
@media (max-width:1024px){
  html[data-ui="v2"] table{display:table;max-width:none}
  html[data-ui="v2"] :is(div,section):has(> table){overflow-x:auto;max-width:100%}
}

/* 8A.2 Áreas táctiles */
@media (max-width:1024px),(pointer:coarse){
  html[data-ui="v2"] :is(button,summary,[role="button"],label.radio-btn):not(.ag-ev):not(.tab-close){min-height:40px!important}
  html[data-ui="v2"] :is(select.fi,input.fi:not([type="checkbox"]):not([type="radio"])){min-height:40px!important}
  html[data-ui="v2"] :is(.btn-modal-x,.btn-icon,#topbarHamburger,.sidebar-toggle-btn,#sidebarFloatBtn){min-width:40px!important;min-height:40px!important}
  html[data-ui="v2"] :is(span,div)[onclick^="labToggleParam("]{display:inline-flex;align-items:center;min-height:40px!important}
  html[data-ui="v2"] .rc-sec-title{display:flex;align-items:center;min-height:40px!important}
  html[data-ui="v2"] .pac-item{min-height:48px!important}
  html[data-ui="v2"] div[onclick*="pacContextMenu("]{display:flex;align-items:center;justify-content:center;min-width:40px!important;min-height:40px!important}
  html[data-ui="v2"] .topbar-brand a{min-height:40px!important}
  html[data-ui="v2"] :is(#resumenClinicoTab,label.radio-btn){min-width:40px!important}
}

/* 8A.3 Saltar al contenido + texto solo para lectores de pantalla */
html[data-ui="v2"] .v2-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
html[data-ui="v2"] .v2-skip{position:fixed;left:12px;top:-60px;z-index:100000;padding:10px 16px;border-radius:var(--r-md,8px);background:var(--card);color:var(--text);border:2px solid var(--accent);font-weight:600;text-decoration:none;transition:top .15s}
html[data-ui="v2"] .v2-skip:focus{top:12px}
@media (prefers-reduced-motion:reduce){html[data-ui="v2"] .v2-skip{transition:none}}

/* 9A.0 Flotantes en tableta y móvil (≤1024): una sola fila abajo, sin tapar contenido.
   izq: lista de pacientes (☰) · der: Resumen · mensajes · feedback */
@media (max-width:1024px){
  html[data-ui="v2"] #sidebarFloatBtn{top:auto!important;bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;left:12px!important;transform:none!important;width:48px!important;height:48px!important;min-width:48px!important;border-radius:50%!important;padding:0!important;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.25)}
  html[data-ui="v2"] #resumenClinicoTab{top:auto!important;right:124px!important;bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;writing-mode:horizontal-tb!important;border-radius:22px!important;height:44px;padding:0 14px!important;font-size:13px!important;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.25)}
}
@media (min-width:600px) and (max-width:1024px){
  html[data-ui="v2"] #nikHelpBtn{right:12px!important;bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}
  html[data-ui="v2"] #resumenClinicoTab{right:148px!important}
}

/* ================================================================
   FASE 9 — Movil (≤599px). Solo presentacion bajo data-ui="v2".
   9A cromo flotante · 9B agenda · 9C expediente · 9D tablas/modales
   ================================================================ */
@media (max-width:599px){
  /* 9A.1 Botones flotantes (mensajes/feedback abajo-derecha; lista de pacientes y Resumen en el bloque ≤1024 de arriba) */
  html[data-ui="v2"] #nik-msg-btn{right:68px!important;bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;width:44px!important;height:44px!important}
  html[data-ui="v2"] #nik-fb-btn{right:12px!important;bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;width:44px!important;height:44px!important}
  html[data-ui="v2"] #nikHelpBtn{display:none!important}
  /* con un modal abierto los flotantes no tapan botones de guardar */
  html[data-ui="v2"] body:has(.modal-overlay.show:not(.dash-embedded)) :is(#nik-msg-btn,#nik-fb-btn,#sidebarFloatBtn){display:none!important}
  /* aire inferior para que el ultimo contenido salga de debajo de los flotantes */
  html[data-ui="v2"] #mainArea,html[data-ui="v2"] #pacList{padding-bottom:84px}

  /* 9C.1 Encabezado del expediente */
  html[data-ui="v2"] #nikEpisodioBadge{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:0!important;line-height:1.3}
  html[data-ui="v2"] #nikEpisodioBadge>*{font-size:13px!important;margin:0}
  html[data-ui="v2"] #nikEpisodioEstado::before{content:"Episodio: ";color:var(--sub)}
  html[data-ui="v2"] #nikEpisodioBadge button{min-height:36px}
  html[data-ui="v2"] .exp-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  html[data-ui="v2"] .exp-actions>.btn-save{width:100%;justify-content:center;text-align:center}
  html[data-ui="v2"] .exp-actions>.v2-mas{grid-column:1/-1}
  html[data-ui="v2"] .exp-actions .v2-mas__btn{width:100%;justify-content:center}
  html[data-ui="v2"] .v2-mas__panel{left:0;right:0;min-width:0;max-width:none}
  /* 9C.2 Tabs: pista de desplazamiento + el ultimo tab libra el degradado */
  html[data-ui="v2"] #mainArea .tabs{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);padding-right:28px}
  html[data-ui="v2"] #mainArea .tab{padding:12px 12px;white-space:nowrap}

  /* 9B Agenda */
  html[data-ui="v2"] #modalAgenda #agendaRangoLabel{flex:1 0 100%;order:-1;min-width:0;font-size:13px!important}
  html[data-ui="v2"] #modalAgenda #agendaFechaPicker{flex:1 1 90px;width:auto!important;min-width:0}
  /* barra compacta: "Imprimir día" solo icono (cabe en la fila de fecha) y se oculta la leyenda de médicas (duplica los chips) */
  html[data-ui="v2"] #modalAgenda div:has(>#agendaFechaPicker)>button:last-child{position:relative;width:40px;padding:0!important;flex:none;overflow:hidden;white-space:nowrap;color:transparent!important}
  html[data-ui="v2"] #modalAgenda div:has(>#agendaFechaPicker)>button:last-child::before{content:"🖨️";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:16px;color:#000}
  html[data-ui="v2"] #modalAgenda #agendaVistaLegend{display:none!important}
  html[data-ui="v2"] #modalAgenda .modal-box>*{flex-shrink:0}
  html[data-ui="v2"] #modalAgenda .modal-box>[id*="grid" i],html[data-ui="v2"] #modalAgenda .modal-box>#agendaGrid{flex-shrink:1}
  html[data-ui="v2"] #modalAgenda #agendaVistaTabs{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  html[data-ui="v2"] #modalAgenda #agendaVistaTabs::-webkit-scrollbar{display:none}
  html[data-ui="v2"] #modalAgenda #agendaVistaTabs .agendaVistaTab{flex:none;white-space:nowrap;min-height:40px;padding:6px 12px;font-size:13px}
  html[data-ui="v2"] #modalAgenda :is(#agendaFiltroProf,#agendaFiltroServicio){flex:1 1 0;min-width:0;max-width:none!important}
  html[data-ui="v2"] #modalAgenda #agendaEstadoLegend{flex:1 0 100%;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;white-space:nowrap;gap:12px!important}
  html[data-ui="v2"] #modalAgenda #agendaEstadoLegend::-webkit-scrollbar{display:none}

  /* 9D Usuarios: la tabla de 650px pasa a tarjetas */
  html[data-ui="v2"] #usuariosLista{overflow:visible}
  html[data-ui="v2"] #usuariosLista table,html[data-ui="v2"] #usuariosLista tbody{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important}
  html[data-ui="v2"] #usuariosLista thead{display:none}
  html[data-ui="v2"] #usuariosLista tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:12px 0;width:100%;min-width:0;box-sizing:border-box}
  html[data-ui="v2"] #usuariosLista td{display:block;padding:0!important;min-width:0}
  html[data-ui="v2"] #usuariosLista td:nth-child(1){grid-column:1;font-weight:600;font-size:14px}
  html[data-ui="v2"] #usuariosLista td:nth-child(5){grid-column:2;grid-row:1;text-align:right}
  html[data-ui="v2"] #usuariosLista td:nth-child(2){grid-column:1;grid-row:2}
  html[data-ui="v2"] #usuariosLista td:nth-child(3){grid-column:1;grid-row:3}
  html[data-ui="v2"] #usuariosLista td:nth-child(4){grid-column:2;grid-row:2 / span 2;align-self:center;text-align:right}
  html[data-ui="v2"] #usuariosLista td:nth-child(6){grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;white-space:normal!important}
  html[data-ui="v2"] #usuariosLista td:nth-child(6){width:auto!important;max-width:100%}
  html[data-ui="v2"] #usuariosLista td:nth-child(6) button{white-space:normal;min-height:40px;font-size:12px!important;padding:6px 12px!important}
}

/* Fase 9E — Censo móvil: encabezado y filtros */
@media (max-width:640px){
  html[data-ui="v2"] #modalCenso .modal-box>div:first-child>div{flex:1 1 100%;flex-wrap:wrap}
  html[data-ui="v2"] #censoFecha{flex:1 1 100%;min-width:0}
  html[data-ui="v2"] #modalCenso .modal-box>div:first-child .btn-icon{flex:1 1 0;white-space:nowrap;min-height:40px}
  html[data-ui="v2"] #modalCenso .modal-box>div:first-child .btn-modal-x{flex:none}
  html[data-ui="v2"] #modalCenso .modal-box>div[style*="align-items:flex-end"]>div:has(>select){flex:1 1 150px;min-width:0;display:flex;flex-direction:column;gap:4px}
  html[data-ui="v2"] #modalCenso .modal-box>div[style*="align-items:flex-end"] select{max-width:none!important;width:100%}
}

/* Fase 9C — pendientes móviles: encabezado sin ID duplicado + objetivos táctiles */
@media (max-width:599px){
  html[data-ui="v2"] .header-clinico-sticky>div:nth-last-child(2){display:none}
  html[data-ui="v2"] .chk-wrap{min-height:40px;align-items:center}
}
