/* Creador de reportes de laboratorio (Tahel, 2026-10-06). Diseño propio, sin
   depender del build de Tailwind: todo con prefijo .cr- */
.cr { --cr-azul: #0074c2; --cr-celeste: #2ca7dc; --cr-azul-suave: #eaf4fb; --cr-tinta: #0f172a; --cr-gris: #64748b; --cr-gris-suave: #94a3b8; --cr-linea: #e2e8f0; --cr-fondo: #f6f8fb; --cr-ok: #15803d; --cr-ok-suave: #e8f6ec; --cr-aviso: #b45309; --cr-aviso-suave: #fff4e5; --cr-rojo: #dc2626; --cr-radio: 14px; color: var(--cr-tinta); font-size: 14px; }
.cr *, .cr *::before, .cr *::after { box-sizing: border-box; }
.cr button { font: inherit; cursor: pointer; }
.cr input, .cr select, .cr textarea { font: inherit; color: inherit; }
.cr-layout { display: grid; grid-template-columns: minmax(0, 1fr) 21rem; gap: 1.25rem; align-items: start; }
@media (max-width: 1100px) { .cr-layout { grid-template-columns: minmax(0, 1fr); } .cr-biblioteca { position: static !important; } }

/* ---------- campos ---------- */
/* Borde muy tenue pero visible: se ve que es un campo (Tahel, 2026-10-10). */
.cr-input { width: 100%; border: 1px solid #e8edf3; background: rgba(255, 255, 255, .7); border-radius: 8px; padding: 0.35rem 0.5rem; transition: background .15s, border-color .15s, box-shadow .15s; min-width: 0; }
.cr-input:hover { background: #fff; border-color: #cbd5e1; }
.cr-input:focus { outline: none; background: #fff; border-color: var(--cr-azul); box-shadow: 0 0 0 3px rgba(0, 116, 194, .15); }
.cr-input::placeholder { color: var(--cr-gris-suave); }
.cr-input--num { width: 5.5rem; text-align: right; font-variant-numeric: tabular-nums; }
.cr-input--corto { width: 6.5rem; }
.cr-input--texto { flex: 1 1 10rem; }
.cr-select { appearance: none; border: 1px solid var(--cr-linea); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2364748b'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.17l3.71-3.94a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z' clip-rule='evenodd'/%3E%3C/svg%3E") no-repeat right .4rem center / 1rem; border-radius: 8px; padding: 0.35rem 1.6rem 0.35rem 0.6rem; font-size: 13px; color: var(--cr-tinta); max-width: 100%; }
.cr-select:focus { outline: none; border-color: var(--cr-azul); box-shadow: 0 0 0 3px rgba(0, 116, 194, .15); }
.cr-check { display: inline-flex; align-items: center; gap: .35rem; font-size: 12.5px; color: var(--cr-gris); cursor: pointer; white-space: nowrap; }
.cr-check input { accent-color: var(--cr-azul); width: 15px; height: 15px; }
.cr-seg { display: inline-flex; border: 1px solid var(--cr-linea); border-radius: 8px; overflow: hidden; background: #fff; }
.cr-seg button { border: 0; background: transparent; padding: .3rem .55rem; font-size: 12.5px; color: var(--cr-gris); }
.cr-seg button + button { border-left: 1px solid var(--cr-linea); }
.cr-seg button.activo { background: var(--cr-azul-suave); color: var(--cr-azul); font-weight: 600; }

/* ---------- botones ---------- */
.cr-btn { display: inline-flex; align-items: center; gap: .4rem; border-radius: 10px; padding: .5rem .9rem; font-weight: 600; font-size: 13.5px; border: 1px solid var(--cr-linea); background: #fff; color: var(--cr-tinta); white-space: nowrap; transition: background .15s, border-color .15s, transform .05s; }
.cr-btn:hover { background: var(--cr-fondo); }
.cr-btn:active { transform: translateY(1px); }
.cr-btn--primario { background: var(--cr-azul); border-color: var(--cr-azul); color: #fff; }
.cr-btn--primario:hover { background: #005f9e; }
.cr-btn--primario:disabled { opacity: .55; cursor: default; }
.cr-btn--fantasma { border-style: dashed; color: var(--cr-azul); background: transparent; font-weight: 500; }
.cr-btn--fantasma:hover { background: var(--cr-azul-suave); border-color: var(--cr-azul); }
.cr-btn--xs { padding: .3rem .6rem; font-size: 12.5px; border-radius: 8px; }
.cr-ico-btn { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 8px; border: 0; background: transparent; color: var(--cr-gris-suave); transition: background .15s, color .15s; flex: none; }
.cr-ico-btn:hover { background: var(--cr-azul-suave); color: var(--cr-azul); }
.cr-ico-btn--peligro:hover { background: #fee2e2; color: var(--cr-rojo); }
.cr-ico-btn--mas { color: var(--cr-azul); }
.cr-ico-btn svg { width: 17px; height: 17px; }
.cr-ico { width: 16px; height: 16px; flex: none; }

/* ---------- lienzo ---------- */
.cr-resumen { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: .75rem; color: var(--cr-gris); font-size: 13px; }
.cr-examenes { display: flex; flex-direction: column; gap: .9rem; min-height: 6rem; }
.cr-vacio { border: 2px dashed #cbd5e1; border-radius: var(--cr-radio); padding: 2.5rem 1rem; text-align: center; color: var(--cr-gris); background: #fff; }
.cr-vacio strong { color: var(--cr-azul); }
.cr-zona-suelte { border: 2px dashed transparent; border-radius: var(--cr-radio); padding: .9rem; text-align: center; color: var(--cr-gris-suave); font-size: 13px; transition: border-color .15s, background .15s; }
.cr-examenes:has(.cr-fantasma) .cr-zona-suelte, .cr-zona-suelte.activa { border-color: var(--cr-celeste); background: var(--cr-azul-suave); color: var(--cr-azul); }

.cr-examen { background: #fff; border: 1px solid var(--cr-linea); border-radius: var(--cr-radio); box-shadow: 0 1px 2px rgba(15, 23, 42, .04); transition: box-shadow .15s, border-color .15s; }
.cr-examen:focus-within { border-color: #bfdbfe; box-shadow: 0 4px 16px rgba(0, 116, 194, .08); }
.cr-examen--borrador { border-left: 4px solid #f59e0b; }
.cr-examen__cab { display: flex; align-items: center; gap: .5rem; padding: .6rem .75rem .6rem .5rem; }
.cr-examen__nombre { flex: 1 1 14rem; font-weight: 700; font-size: 15.5px; }
.cr-examen__num { width: 1.6rem; height: 1.6rem; border-radius: 999px; background: var(--cr-azul-suave); color: var(--cr-azul); font-weight: 700; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.cr-examen__meta { display: inline-flex; align-items: center; gap: .5rem; color: var(--cr-gris); font-size: 12.5px; white-space: nowrap; }
.cr-examen__botones { display: inline-flex; align-items: center; gap: .1rem; margin-left: auto; }
.cr-examen__cuerpo { border-top: 1px solid var(--cr-linea); padding: .5rem .75rem .75rem; }
.cr-examen__ajustes { border-top: 1px solid var(--cr-linea); background: var(--cr-fondo); padding: .75rem .9rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: .75rem 1.25rem; }
.cr-examen__ajustes label.cr-etq { display: block; font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--cr-gris); margin-bottom: .25rem; }
.cr-examen__ajustes .cr-input { background: #fff; border-color: var(--cr-linea); }
.cr-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: .1rem .5rem; font-size: 11px; font-weight: 600; white-space: nowrap; }
.cr-badge--borrador { background: var(--cr-aviso-suave); color: var(--cr-aviso); }
.cr-badge--ok { background: var(--cr-ok-suave); color: var(--cr-ok); }
.cr-badge--gris { background: #f1f5f9; color: var(--cr-gris); }

/* asa de arrastre */
.cr-asa { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 26px; color: #cbd5e1; cursor: grab; flex: none; border-radius: 6px; }
.cr-asa:hover { color: var(--cr-gris); background: var(--cr-fondo); }
.cr-asa:active { cursor: grabbing; }
.cr-asa svg { width: 10px; height: 16px; fill: currentColor; }

/* ---------- ítems ---------- */
.cr-items { display: flex; flex-direction: column; gap: 2px; }
.cr-item { border-radius: 10px; }
.cr-item__fila { display: flex; align-items: center; gap: .35rem; padding: .15rem .25rem; border-radius: 10px; }
.cr-item__fila:hover { background: var(--cr-fondo); }
.cr-item--abierto > .cr-item__fila { background: var(--cr-azul-suave); }
.cr-item__nombre { flex: 1 1 12rem; font-weight: 500; }
.cr-item__unidad { width: 5.5rem; color: var(--cr-gris); }
.cr-item__resumen { flex: 1 1 10rem; min-width: 0; text-align: left; border: 0; background: transparent; color: var(--cr-gris); font-size: 12.5px; padding: .3rem .4rem; border-radius: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cr-item__resumen:hover { color: var(--cr-azul); background: #fff; }
.cr-item__resumen--falta { color: var(--cr-aviso); }
.cr-item__botones { display: inline-flex; gap: .05rem; margin-left: auto; opacity: .35; transition: opacity .15s; }
.cr-item__fila:hover .cr-item__botones, .cr-item--abierto > .cr-item__fila .cr-item__botones { opacity: 1; }
.cr-item__detalle { margin: .15rem 0 .5rem 1.6rem; padding: .75rem .9rem; background: #fff; border: 1px solid #dbeafe; border-radius: 12px; display: grid; gap: .9rem; }
.cr-subitems { margin: .1rem 0 .5rem 1.6rem; padding-left: .5rem; border-left: 2px solid var(--cr-linea); }
.cr-subitems .cr-item__nombre { font-weight: 400; }
.cr-agregar { display: flex; gap: .4rem; padding: .4rem .25rem 0; }
.cr-chevron { transition: transform .15s; }
.cr-chevron--abierto { transform: rotate(90deg); }

/* tipo: botón + menú */
.cr-tipo { position: relative; flex: none; }
.cr-tipo__btn { display: inline-flex; align-items: center; gap: .3rem; border: 1px solid transparent; border-radius: 999px; padding: .2rem .6rem .2rem .5rem; font-size: 12px; font-weight: 600; white-space: nowrap; }
.cr-tipo__btn svg { width: 12px; height: 12px; opacity: .7; }
.cr-tipo--0 { background: #f1f5f9; color: #475569; }
.cr-tipo--1 { background: #e0f2fe; color: #0369a1; }
.cr-tipo--2, .cr-tipo--5 { background: #ede9fe; color: #6d28d9; }
.cr-tipo--3 { background: #fef3c7; color: #b45309; }
.cr-tipo--4 { background: #e2e8f0; color: #334155; }
.cr-tipo--6 { background: #ccfbf1; color: #0f766e; }
.cr-tipo__btn:hover { border-color: currentColor; }
.cr-tipo__menu { position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; width: 19rem; background: #fff; border: 1px solid var(--cr-linea); border-radius: 12px; box-shadow: 0 12px 32px rgba(15, 23, 42, .14); padding: .35rem; }
.cr-tipo__menu button { display: flex; flex-direction: column; align-items: flex-start; width: 100%; border: 0; background: transparent; border-radius: 8px; padding: .4rem .6rem; text-align: left; }
.cr-tipo__menu button:hover { background: var(--cr-fondo); }
.cr-tipo__menu button.activo { background: var(--cr-azul-suave); }
.cr-tipo__menu b { font-size: 13px; }
.cr-tipo__menu small { color: var(--cr-gris); font-size: 11.5px; }

/* detalle: referencias, bandas, listas, columnas */
.cr-bloque > .cr-etq { font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--cr-gris); margin-bottom: .35rem; display: flex; align-items: center; gap: .6rem; }
.cr-bloque > .cr-etq .cr-check { text-transform: none; letter-spacing: 0; margin-left: auto; }
.cr-filas { display: flex; flex-direction: column; gap: .25rem; }
.cr-ref, .cr-banda, .cr-col, .cr-ctx { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; padding: .2rem .3rem; border-radius: 8px; }
.cr-ref:hover, .cr-banda:hover, .cr-col:hover, .cr-ctx:hover { background: var(--cr-fondo); }
.cr-ref .cr-input, .cr-banda .cr-input, .cr-col .cr-input, .cr-ctx .cr-input { background: #fff; border-color: var(--cr-linea); }
.cr-sep { color: var(--cr-gris-suave); font-size: 12px; }
.cr-estrella { border: 0; background: transparent; font-size: 16px; color: #cbd5e1; padding: 0 .2rem; line-height: 1; }
.cr-estrella.activa, .cr-estrella:hover { color: #f59e0b; }
.cr-chips { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.cr-chip { display: inline-flex; align-items: center; gap: .25rem; border-radius: 999px; padding: .2rem .25rem .2rem .6rem; background: #ede9fe; color: #4c1d95; font-size: 12.5px; font-weight: 500; }
.cr-chip.normal { background: #fef3c7; color: #92400e; }
.cr-chip button { border: 0; background: transparent; color: inherit; opacity: .6; width: 18px; height: 18px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.cr-chip button:hover { opacity: 1; background: rgba(0, 0, 0, .08); }
.cr-chip button svg { width: 11px; height: 11px; }
.cr-chips input.cr-input { flex: 1 1 10rem; border-style: dashed; border-color: var(--cr-linea); background: #fff; }
.cr-nota { font-size: 12px; color: var(--cr-gris); }
.cr-nota--aviso { color: var(--cr-aviso); }
.cr-nota--ok { color: var(--cr-ok); }
.cr-enlace { border: 0; background: transparent; color: var(--cr-azul); font-size: 12.5px; padding: .2rem .3rem; border-radius: 6px; display: inline-flex; align-items: center; gap: .25rem; }
.cr-enlace:hover { background: var(--cr-azul-suave); }
.cr-enlace svg { width: 13px; height: 13px; }

/* ---------- fórmula con fichas ---------- */
.cr-formula { display: grid; gap: .5rem; }
.cr-formula__barra { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem; min-height: 3rem; padding: .45rem .55rem; border: 2px dashed #cbd5e1; border-radius: 12px; background: var(--cr-fondo); }
.cr-formula__barra.cr-recibe, .cr-formula__barra:has(.cr-fantasma) { border-color: var(--cr-azul); background: var(--cr-azul-suave); }
.cr-formula__igual { font-weight: 700; color: var(--cr-gris); margin-right: .2rem; }
.cr-formula__ficha { display: inline-flex; align-items: center; gap: .2rem; border-radius: 8px; padding: .25rem .3rem .25rem .55rem; font-size: 13px; font-weight: 600; cursor: grab; user-select: none; border: 1px solid transparent; }
.cr-formula__ficha:active { cursor: grabbing; }
.cr-ficha--item { background: #dbeafe; color: #1e3a8a; border-color: #bfdbfe; }
.cr-ficha--ctx { background: #ede9fe; color: #4c1d95; border-color: #ddd6fe; }
.cr-ficha--op { background: #fff; color: var(--cr-tinta); border-color: var(--cr-linea); font-size: 15px; padding: .1rem .55rem; }
.cr-ficha--par { background: #fff; color: var(--cr-gris); border-color: var(--cr-linea); font-size: 15px; padding: .1rem .55rem; }
.cr-ficha--num { background: #fef3c7; color: #92400e; border-color: #fde68a; }
.cr-ficha--num input { width: 4rem; border: 0; background: transparent; text-align: right; font-weight: 600; padding: 0; }
.cr-ficha--num input:focus { outline: none; }
.cr-ficha--rota { background: #fee2e2; color: var(--cr-rojo); border-color: #fecaca; }
.cr-formula__ficha button { border: 0; background: transparent; color: inherit; opacity: .5; width: 16px; height: 16px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border-radius: 999px; }
.cr-formula__ficha button:hover { opacity: 1; background: rgba(0, 0, 0, .08); }
.cr-formula__ficha button svg { width: 10px; height: 10px; }
.cr-formula__vacia { color: var(--cr-gris-suave); font-size: 12.5px; }
.cr-formula__paleta { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem; }
.cr-formula__paleta .cr-formula__ficha { cursor: grab; }
.cr-formula__paleta .cr-formula__ficha:hover { filter: brightness(.96); }
.cr-formula__ops { display: inline-flex; gap: .25rem; margin-left: .25rem; }
.cr-formula__ops button { width: 30px; height: 30px; border-radius: 8px; border: 1px solid var(--cr-linea); background: #fff; font-size: 16px; font-weight: 600; }
.cr-formula__ops button:hover { background: var(--cr-azul-suave); border-color: var(--cr-azul); color: var(--cr-azul); }
.cr-formula__lectura { font-size: 12.5px; color: var(--cr-gris); }
.cr-formula__lectura b { color: var(--cr-tinta); }

/* ---------- biblioteca ---------- */
.cr-biblioteca { position: sticky; top: 4.5rem; background: #fff; border: 1px solid var(--cr-linea); border-radius: var(--cr-radio); display: flex; flex-direction: column; max-height: calc(100vh - 6rem); overflow: hidden; }
.cr-bib__cab { padding: .75rem .75rem .5rem; border-bottom: 1px solid var(--cr-linea); display: grid; gap: .5rem; }
.cr-bib__titulo { font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: var(--cr-gris); display: flex; align-items: center; justify-content: space-between; }
.cr-bib__pestanas { display: inline-flex; background: var(--cr-fondo); border-radius: 9px; padding: 3px; }
.cr-bib__pestanas button { border: 0; background: transparent; padding: .3rem .7rem; border-radius: 7px; font-size: 12.5px; font-weight: 600; color: var(--cr-gris); }
.cr-bib__pestanas button.activa { background: #fff; color: var(--cr-tinta); box-shadow: 0 1px 2px rgba(15, 23, 42, .1); }
.cr-bib__buscar { position: relative; }
.cr-bib__buscar svg { position: absolute; left: .6rem; top: 50%; transform: translateY(-50%); width: 15px; height: 15px; color: var(--cr-gris-suave); }
.cr-bib__buscar input { width: 100%; border: 1px solid var(--cr-linea); border-radius: 10px; padding: .5rem .75rem .5rem 2rem; background: var(--cr-fondo); }
.cr-bib__buscar input:focus { outline: none; border-color: var(--cr-azul); background: #fff; box-shadow: 0 0 0 3px rgba(0, 116, 194, .15); }
.cr-bib__lista { overflow: auto; padding: .4rem; flex: 1; }
.cr-bib__cat { border: 0; background: transparent; width: 100%; display: flex; align-items: center; gap: .4rem; padding: .45rem .5rem; border-radius: 8px; font-weight: 600; font-size: 12.5px; color: var(--cr-tinta); text-align: left; }
.cr-bib__cat:hover { background: var(--cr-fondo); }
.cr-bib__cat small { margin-left: auto; color: var(--cr-gris-suave); font-weight: 500; }
.cr-bib__cat svg { width: 14px; height: 14px; color: var(--cr-gris-suave); }
.cr-bib__fila { display: flex; align-items: center; gap: .4rem; padding: .3rem .4rem .3rem .6rem; border-radius: 8px; cursor: grab; border: 1px solid transparent; }
.cr-bib__fila:hover { background: var(--cr-azul-suave); border-color: #bfdbfe; }
.cr-bib__fila:active { cursor: grabbing; }
.cr-bib__fila--en { opacity: .5; cursor: default; }
.cr-bib__fila--en:hover { background: transparent; border-color: transparent; }
.cr-bib__nombre { font-size: 13px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cr-bib__sub { font-size: 11.5px; color: var(--cr-gris); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cr-bib__texto { min-width: 0; flex: 1; }
.cr-bib__pie { padding: .6rem .75rem; border-top: 1px solid var(--cr-linea); display: grid; gap: .5rem; background: var(--cr-fondo); }
.cr-bib__nada { padding: 1.25rem .75rem; text-align: center; color: var(--cr-gris); font-size: 13px; display: grid; gap: .6rem; justify-items: center; }

/* ---------- barra de guardar ---------- */
.cr-barra { position: sticky; bottom: 0; z-index: 20; margin-top: 1rem; background: rgba(255, 255, 255, .94); backdrop-filter: blur(8px); border: 1px solid var(--cr-linea); border-radius: var(--cr-radio); padding: .6rem .9rem; display: flex; align-items: center; gap: .75rem; box-shadow: 0 -4px 20px rgba(15, 23, 42, .06); }
.cr-barra__estado { display: inline-flex; align-items: center; gap: .45rem; font-size: 13px; color: var(--cr-gris); }
.cr-barra__punto { width: 9px; height: 9px; border-radius: 999px; background: var(--cr-ok); }
.cr-barra__punto--sucio { background: #f59e0b; box-shadow: 0 0 0 4px rgba(245, 158, 11, .2); }
.cr-barra__botones { margin-left: auto; display: inline-flex; gap: .5rem; }
.cr-toast { position: fixed; left: 50%; bottom: 5.5rem; transform: translateX(-50%); z-index: 60; background: var(--cr-tinta); color: #fff; border-radius: 12px; padding: .6rem .9rem; font-size: 13px; display: flex; align-items: center; gap: .75rem; box-shadow: 0 12px 32px rgba(15, 23, 42, .3); max-width: min(90vw, 36rem); }
.cr-toast button { border: 0; background: rgba(255, 255, 255, .14); color: #fff; border-radius: 8px; padding: .3rem .6rem; font-weight: 600; }
.cr-toast button:hover { background: rgba(255, 255, 255, .24); }

/* ---------- arrastre ---------- */
.cr-fantasma { opacity: .35; background: var(--cr-azul-suave) !important; border-radius: 10px; }
.cr-elegido { box-shadow: 0 8px 24px rgba(0, 116, 194, .18); }
.cr-arrastrando { opacity: 1 !important; transform: rotate(-.5deg); }
.cr-girando { animation: cr-girar 1s linear infinite; }
@keyframes cr-girar { to { transform: rotate(360deg); } }
[x-cloak] { display: none !important; }

/* ---------- añadidos ---------- */
.cr-chip--opcion { background: #f1f5f9; color: var(--cr-gris); border: 1px solid transparent; cursor: pointer; padding: .2rem .6rem; }
.cr-chip--opcion:hover { border-color: #cbd5e1; }
.cr-chip--opcion.activa { background: var(--cr-azul-suave); color: var(--cr-azul); border-color: #bfdbfe; font-weight: 600; }
.cr-ico-btn--activo { background: var(--cr-azul-suave); color: var(--cr-azul); }
.cr-btn:disabled { opacity: .5; cursor: default; }

/* ---------- ficha del reporte (el servicio) ---------- */
.cr-reporte { background: #fff; border: 1px solid var(--cr-linea); border-radius: var(--cr-radio); box-shadow: 0 1px 2px rgba(15, 23, 42, .04); margin-bottom: 1rem; }
.cr-reporte--nuevo { border-color: #bfdbfe; background: linear-gradient(180deg, #f3f9fe, #fff 70%); }
.cr-reporte__cab { display: grid; gap: .3rem; padding: .7rem 1rem .75rem; }
.cr-reporte__etq { font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--cr-gris); }
.cr-reporte__fila { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.cr-reporte__linea { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.cr-reporte__estado { margin-left: auto; display: inline-flex; align-items: center; gap: .5rem; border: 0; background: transparent; padding: .15rem .4rem; border-radius: 6px; font-size: 12px; }
.cr-reporte__estado:hover { background: var(--cr-azul-suave); }
.cr-reporte__sep { color: #cbd5e1; }
.cr-estado { display: inline-flex; align-items: center; gap: .25rem; font-weight: 500; }
.cr-estado svg { width: 14px; height: 14px; }
.cr-estado--si { color: var(--cr-ok); }
.cr-estado--no { color: var(--cr-gris-suave); }
.cr-reporte__mas { width: 2.5rem; height: 2.5rem; flex: none; border: 1px dashed #bfdbfe; border-radius: 10px; background: #fff; color: var(--cr-azul); display: inline-flex; align-items: center; justify-content: center; transition: background .15s, border-color .15s; }
.cr-reporte__mas:hover { background: var(--cr-azul-suave); }
.cr-reporte__mas svg { width: 20px; height: 20px; transition: transform .2s; }
.cr-reporte__mas.activo { background: var(--cr-azul-suave); border-style: solid; }
.cr-reporte__mas.activo svg { transform: rotate(45deg); }
.cr-reporte__fila > .cr-select { height: 2.5rem; }
.cr-reporte__icono { width: 2.5rem; height: 2.5rem; border-radius: 12px; background: var(--cr-azul); color: #fff; display: inline-flex; align-items: center; justify-content: center; flex: none; box-shadow: 0 6px 14px rgba(0, 116, 194, .25); }
.cr-reporte__icono svg { width: 22px; height: 22px; }
.cr-reporte__caja { position: relative; flex: 1 1 20rem; min-width: 0; }
.cr-reporte__nombre { font-weight: 800; font-size: 19px; height: 2.5rem; padding: 0 .6rem; }
.cr-reporte--nuevo .cr-reporte__nombre { background: #fff; border-color: var(--cr-linea); font-size: 21px; }
.cr-input--error, .cr-input--error:focus { border-color: var(--cr-rojo); box-shadow: 0 0 0 3px rgba(220, 38, 38, .12); }
.cr-sugerencias { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 30; background: #fff; border: 1px solid var(--cr-linea); border-radius: 12px; box-shadow: 0 12px 32px rgba(15, 23, 42, .14); overflow: hidden; }
.cr-sugerencias__cab { font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--cr-gris); background: var(--cr-fondo); padding: .4rem .75rem; }
.cr-sugerencias__cab--aviso { color: var(--cr-aviso); background: var(--cr-aviso-suave); }
.cr-sugerencias__fila { display: flex; align-items: center; gap: .6rem; width: 100%; text-align: left; border: 0; background: transparent; padding: .5rem .75rem; font-size: 13.5px; color: var(--cr-tinta); }
.cr-sugerencias__fila:hover { background: var(--cr-azul-suave); }
.cr-sugerencias__fila .cr-enlace { margin-left: auto; }
.cr-sugerencias__n { color: var(--cr-gris); font-size: 12px; white-space: nowrap; }
.cr-sugerencias__nada { padding: .6rem .75rem; color: var(--cr-gris); font-size: 12.5px; }
.cr-reporte__ajustes { border-top: 1px solid var(--cr-linea); padding: .9rem 1rem 1rem; display: grid; gap: 1rem; }
.cr-reporte__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.cr-reporte__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 800px) { .cr-reporte__grid, .cr-reporte__grid--3 { grid-template-columns: minmax(0, 1fr); } }
.cr-campo { min-width: 0; }
.cr-campo > .cr-etq { display: block; font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--cr-gris); margin-bottom: .3rem; }
.cr-campo > .cr-etq .cr-nota { text-transform: none; letter-spacing: 0; }
.cr-campo .cr-input, .cr-campo .cr-textarea { background: #fff; border-color: var(--cr-linea); }
.cr-campo .cr-input--num { text-align: left; width: 7rem; }
.cr-textarea { resize: vertical; min-height: 4.5rem; line-height: 1.4; }
.cr-prefijo { display: flex; align-items: center; gap: .3rem; }
.cr-prefijo > span { color: var(--cr-gris); font-weight: 600; }
.cr-reporte__clinica { background: var(--cr-fondo); border: 1px solid var(--cr-linea); border-radius: 12px; padding: .9rem 1rem; display: grid; gap: .8rem; }
.cr-reporte__clinica > .cr-etq { font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--cr-azul); }
.cr-chip--fija { background: #f1f5f9; color: var(--cr-gris); padding-right: .6rem; }
.cr-chip--nueva { background: var(--cr-azul-suave); color: var(--cr-azul); }
.cr-buscador { position: relative; max-width: 30rem; margin-bottom: .5rem; }
.cr-buscador .cr-input { background: #fff; border-style: dashed; border-color: var(--cr-linea); }
.cr-adjuntos { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.cr-btn--activo { background: var(--cr-azul-suave); border-color: #bfdbfe; color: var(--cr-azul); }
.cr-oculto { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; pointer-events: none; }
.cr-reporte__pestanas { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.cr-reporte__pestanas > .cr-etq { font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--cr-azul); }
.cr-reporte__pestanas .cr-seg button.propio::after { content: '·'; margin-left: .3rem; color: var(--cr-azul); font-weight: 800; }
.cr-reporte__pestanas .cr-enlace { margin-left: auto; }
.cr-chip__sub { opacity: .75; font-weight: 400; margin-left: .15rem; }
.cr-reporte__pestanas .cr-seg button.atada::after { content: '⇢'; margin-left: .3rem; color: var(--cr-azul); }
.cr-reporte__linea .cr-enlace { padding: 0 .3rem; font-size: 11.5px; }
.cr-seg--mini button { padding: .15rem .5rem; font-size: 11.5px; }
.cr-sugerencias__filtros { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; text-transform: none; letter-spacing: 0; font-size: 12px; }
.cr-sugerencias__chips { display: inline-flex; gap: .3rem; margin-left: auto; }
.cr-sugerencias__chips button { border: 1px solid var(--cr-linea); background: #fff; border-radius: 999px; padding: .1rem .55rem; font-size: 11.5px; color: var(--cr-gris); }
.cr-sugerencias__chips button.activo { background: var(--cr-azul-suave); border-color: #bfdbfe; color: var(--cr-azul); font-weight: 600; }

/* ---------- Creador de exámenes: panel lateral y solo lectura ---------- */
.cr-panel { padding: .9rem; gap: 1rem; overflow: auto; }
.cr-panel__bloque { display: grid; gap: .4rem; }
.cr-panel__bloque > .cr-etq { font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--cr-gris); }
.cr-panel__tipo { display: flex; gap: .5rem; align-items: baseline; padding: .25rem 0; border-top: 1px solid var(--cr-fondo); }
.cr-panel__tipo .cr-tipo { flex: none; }
.cr-chip a { color: inherit; text-decoration: none; }
.cr-chip a:hover { text-decoration: underline; }
.cr--lectura .cr-examen input, .cr--lectura .cr-examen select, .cr--lectura .cr-examen textarea, .cr--lectura .cr-panel input { pointer-events: none; background: transparent; border-color: transparent; }
.cr--lectura .cr-agregar, .cr--lectura .cr-ico-btn--peligro, .cr--lectura .cr-ico-btn--mas, .cr--lectura .cr-asa, .cr--lectura .cr-chip button, .cr--lectura .cr-formula__paleta, .cr--lectura .cr-formula__ops, .cr--lectura .cr-buscador { display: none !important; }
.cr-nota--error { color: var(--cr-rojo); font-weight: 600; }
.cr-panel__bloque--falta { background: #fff5f5; border: 1px solid #fecaca; border-radius: 12px; padding: .6rem .7rem; margin: -.6rem -.7rem; }
.cr-sugerencias__fila--doble { cursor: default; }
.cr-sugerencias__fila--doble:hover { background: transparent; }
.cr-sugerencias__acciones { margin-left: auto; display: inline-flex; gap: .25rem; white-space: nowrap; }
.cr-sugerencias__acciones .cr-enlace:hover { background: var(--cr-azul-suave); }
.cr-disponibilidad { background: #fff; border: 1px dashed #bfdbfe; border-radius: 12px; padding: .7rem .9rem; display: grid; gap: .6rem; }
.cr-disponibilidad > .cr-etq { font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--cr-azul); }
.cr-disponibilidad__fila { display: flex; gap: 1rem; flex-wrap: wrap; align-items: flex-end; }
.cr-dias { display: inline-flex; gap: .25rem; }
.cr-dias button { width: 2rem; height: 2rem; border-radius: 999px; border: 1px solid var(--cr-linea); background: #fff; color: var(--cr-gris); font-weight: 600; font-size: 12.5px; }
.cr-dias button.activo { background: var(--cr-azul); border-color: var(--cr-azul); color: #fff; }
.cr-disponibilidad input[type="time"] { width: 7rem; text-align: left; }
.cr-btn--validar { color: var(--cr-ok); border-color: #bbf7d0; background: var(--cr-ok-suave); }
.cr-btn--validar:hover { background: #d1fae5; }
.cr-badge--con-x { gap: .3rem; }
.cr-badge--con-x button { border: 0; background: transparent; color: inherit; opacity: .7; padding: 0; font-size: 11px; cursor: pointer; }

/* Líneas entre ítems (Tahel, 2026-10-10): visibles, no fuertes. */
.cr-items { gap: 0; }
.cr-items > .cr-item + .cr-item, .cr-subitems > .cr-item + .cr-item { border-top: 1px solid #edf1f6; border-radius: 0; }
.cr-items > .cr-item > .cr-item__fila, .cr-subitems > .cr-item > .cr-item__fila { padding-top: .3rem; padding-bottom: .3rem; }
.cr-item__unidades { width: 7.5rem; font-size: 13px; color: var(--cr-gris); padding-top: .3rem; padding-bottom: .3rem; }
.cr-chip-unidad { display: inline-flex; align-items: center; gap: .2rem; border: 1px solid var(--cr-linea); border-radius: 999px; padding: .1rem .55rem .1rem .3rem; background: #fff; font-size: 12.5px; font-weight: 500; color: var(--cr-tinta); text-transform: none; letter-spacing: 0; }
.cr-chip-unidad--principal { border-color: #fcd34d; background: #fffbeb; }
.cr-chip-unidad .cr-estrella { font-size: 14px; }
.cr-chip-unidad__x { border: 0; background: transparent; color: var(--cr-gris); opacity: .7; padding: 0 0 0 .15rem; font-size: 12px; cursor: pointer; }
.cr-chip-unidad__x:hover { opacity: 1; color: var(--cr-rojo); }

/* «Ver como» y laboratorio por clínica (Tahel, 2026-10-12). */
.cr-vercomo { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-bottom: .75rem; font-size: 13.5px; }
.cr-vercomo__etq { color: var(--cr-gris); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.cr-vercomo .cr-select { min-width: 16rem; }
.cr-vercomo__clinica { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .85rem; border-radius: 9999px; background: #fef3c7; color: #92400e; box-shadow: inset 0 0 0 1.5px #f59e0b; font-size: 14.5px; font-weight: 800; letter-spacing: .01em; }
.cr-vercomo__clinica svg { width: 1rem; height: 1rem; }
.cr-badge--sugos { background: #e0f2fe; color: #075985; }
.cr-badge--propio { background: #f3e8ff; color: #6b21a8; }
.cr-item--oculto > .cr-item__fila { opacity: .5; }
.cr-item--oculto > .cr-item__fila .cr-item__nombre { text-decoration: line-through; }
