/* EduTrack — Módulo «Evaluaciones de desempeño» (SIS). Ver docs/evaluaciones/EVALUACIONES.md.
   Reusa .an-head/.tab-nav/.btn-sm de anuncios.css y app.css, y .com-in/.com-opt/.com-card/
   .com-chip de comunicados.css (se carga antes). Aquí solo lo propio, con prefijo .ev-. */

.ev-toolbar {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
  padding: 0 24px 14px;
}
.ev-q { max-width: 340px; flex: 1 1 240px; }
.ev-acciones { display: flex; gap: 6px; flex-wrap: wrap; margin-left: auto; }
.ev-hint-top { margin: 0; flex: 1 1 320px; max-width: 70ch; }
.ev-nota { position: relative; margin-bottom: 12px; padding-right: 70px; }
.ev-cerrar-nota { position: absolute; top: 8px; right: 12px; padding: 0; }

/* ── Tabla del personal ──────────────────────────────────────────── */
.ev-tabla-wrap { padding: 0 24px 32px; overflow-x: auto; }
.ev-tabla { width: 100%; border-collapse: collapse; font-size: 13px; }
.ev-tabla th {
  text-align: left; font-size: 11px; font-weight: 700; letter-spacing: .04em;
  color: #9ca3af; text-transform: uppercase; padding: 8px 10px; border-bottom: 1px solid #ececf0;
  white-space: nowrap;
}
.ev-tabla td { padding: 8px 10px; border-bottom: 1px solid #f4f4f6; vertical-align: middle; color: #1b1f27; }
.ev-tabla .num { text-align: right; }
.ev-nom  { font-weight: 600; }
/* Foto del personal (0257) con las iniciales debajo por si no hay foto o no carga. */
.ev-persona { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ev-av { position: relative; flex: none; width: 34px; height: 34px; border-radius: 50%; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--brand, #960e0b); color: #fff; font-size: 12px; font-weight: 600; }
.ev-av img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ev-persona--grande { gap: 14px; }
.ev-persona--grande .ev-av { width: 56px; height: 56px; font-size: 18px; }
.ev-mail { font-size: 11.5px; color: #9ca3af; }
.ev-falta { font-size: 11.5px; color: #c2410c; }
.ev-sinjefe td:first-child { box-shadow: inset 3px 0 0 #fdba74; }

/* ── Ficha de una persona ────────────────────────────────────────── */
.ev-ficha {
  margin: 0 24px 16px; padding: 4px 18px 16px; border: 1px solid #ececf0;
  border-radius: 10px; background: #fff; max-width: 900px;
}
.ev-ficha-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0 14px; }
.ev-ficha .com-form-foot { align-items: center; }
.ev-activo { margin-right: auto; font-size: 13px; }

/* ── Editor de instrumentos ──────────────────────────────────────── */
.ev-editor {
  display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 28px;
  padding: 0 24px 32px; align-items: start;
}
.ev-ed-col label { display: block; }
.ev-prev-col { position: sticky; top: 12px; }

.ev-escala { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.ev-esc-row { display: flex; gap: 6px; width: 100%; align-items: center; }
.ev-esc-row .com-in:first-child { flex: 1; }
.ev-pts { width: 86px; flex: 0 0 86px; }

.ev-x {
  border: 1px solid #e5e7eb; background: #fff; border-radius: 6px; width: 30px; height: 30px;
  flex: 0 0 30px; cursor: pointer; color: #6b7280; font-size: 14px; line-height: 1;
}
.ev-x:hover:not(:disabled) { background: #f4f4f6; color: #1b1f27; }
.ev-x:disabled { opacity: .35; cursor: default; }

.ev-crit {
  border: 1px solid #ececf0; border-radius: 10px; padding: 10px 12px; margin-bottom: 10px; background: #fff;
}
.ev-crit-top { display: flex; gap: 6px; align-items: center; }
.ev-crit-top .com-in { flex: 1; font-weight: 600; }
.ev-crit-n {
  flex: 0 0 22px; height: 22px; border-radius: 50%; background: #f4f4f6; color: #6b7280;
  font-size: 11px; font-weight: 700; display: grid; place-items: center;
}
.ev-ayuda { margin-top: 6px; font-size: 12.5px; }
.ev-crit-opts { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 8px; }
.ev-crit-opts .com-opt { padding: 4px 11px; font-size: 12px; }
.ev-tipo { width: auto; padding: 4px 8px; font-size: 12px; }
.ev-ops-lbl { font-size: 11.5px; color: #9ca3af; margin-left: 4px; }
.ev-oblig { margin-left: auto; font-size: 12.5px; }

/* ── Vista previa: el formulario tal como lo verá quien responde ─── */
.ev-form {
  border: 1px solid #ececf0; border-radius: 12px; background: #fafafb; padding: 16px;
  max-height: calc(100vh - 140px); overflow-y: auto;
}
.ev-form-tit  { font-size: 16px; font-weight: 700; color: #1b1f27; }
.ev-form-desc { font-size: 13px; color: #4b5563; margin: 6px 0 0; line-height: 1.5; }
.ev-q-blk { margin-top: 16px; }
.ev-q-lbl { display: block; font-size: 12.5px; color: #6b7280; margin-bottom: 6px; }
.ev-q-ayuda { font-size: 12px; color: #9ca3af; margin: -3px 0 6px; }
.ev-req { color: #c2410c; margin-left: 2px; }
.ev-q-ops { display: flex; flex-direction: column; gap: 6px; }
.ev-q-op {
  border: 1px solid #e5e7eb; background: #fff; border-radius: 8px; padding: 11px 12px;
  font-size: 14px; color: #1b1f27; cursor: pointer; text-align: center; font-family: inherit;
}
.ev-q-op:hover { border-color: #c7cbd1; }
.ev-q-op.sel { border-color: #1f9254; background: #eaf6ee; color: #1f9254; font-weight: 600; }
.ev-total { display: flex; gap: 24px; border-top: 1px solid #ececf0; padding-top: 12px; }
.ev-total b { font-size: 18px; color: #1b1f27; }

/* ── Campañas ────────────────────────────────────────────────────── */
.ev-av-pista { height: 6px; background: #f0f0f0; border-radius: 3px; overflow: hidden; margin: 6px 0 2px; max-width: 360px; }
.ev-av-pista span { display: block; height: 100%; background: #1f9254; border-radius: 3px; }
.ev-chip-tit { vertical-align: middle; margin-left: 6px; font-size: 11px; }
.ev-camp { padding: 0 24px 32px; max-width: 1100px; }
.ev-camp > label { display: block; }
.ev-sec { display: block; margin-top: 22px; }
.ev-reglas-wrap { padding: 0; }
.ev-reglas th[scope="row"] { text-align: left; font-weight: 400; text-transform: none; letter-spacing: 0;
                             color: #1b1f27; font-size: 13px; white-space: normal; min-width: 150px; }
.ev-reglas td { min-width: 190px; }
.ev-reglas select { font-size: 12.5px; padding: 6px 8px; }
.ev-anon { display: inline-block; margin-left: 4px; padding: 0 6px; border-radius: 8px; background: #f4f4f6;
           color: #6b7280; font-size: 10px; text-transform: none; letter-spacing: 0; font-weight: 600; }
.ev-par-add { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 8px 0 10px; }
.ev-par-add select { flex: 1 1 220px; max-width: 320px; }
.ev-flecha { font-size: 12px; color: #9ca3af; }
.ev-pares { display: flex; flex-direction: column; gap: 4px; max-height: 320px; overflow-y: auto;
            border: 1px solid #ececf0; border-radius: 10px; padding: 6px 10px; background: #fff; }
.ev-par { display: flex; align-items: center; gap: 8px; font-size: 13px; padding: 3px 0; }
.ev-par .ev-x { margin-left: auto; width: 26px; height: 26px; flex-basis: 26px; }
.ev-previa { margin-top: 18px; border-top: 1px solid #ececf0; }
.ev-previa .com-nota, .ev-previa .com-aviso { margin: 8px 0; }
.ev-kpis { padding: 4px 0 8px; }
.ev-abrir-hint { margin: 0 auto 0 0; }
.ev-camp .com-barras { padding: 0; }
.ev-barra { cursor: default; }
.ev-barra:hover { background: none; }
.ev-barra-g { width: 150px; }
.ev-av-tools { padding: 14px 0 10px; }
.ev-camp .ev-tabla-wrap { padding: 0; }

/* ── Resultados (SIS) ────────────────────────────────────────────── */
.ev-res-camp { max-width: 320px; flex: 1 1 220px; }
.ev-nota-res { margin-bottom: 12px; }
.ev-res-fila { cursor: pointer; }
.ev-res-fila:hover td { background: #f8f8fa; }
/* ── Resultados de una persona (.evr-*) ──────────────────────────────
   El MISMO bloque está en evaluaciones.css y en evaluaciones-app.css: el SIS y /evaluaciones
   dibujan el detalle con el mismo HTML. Si se cambia uno, cambiar el otro. */
.evr { max-width: 760px; }
.evr-t { font-size: 20px; margin: 6px 0 2px; color: #1b1f27; }
.evr-s { font-size: 13px; color: #6b7280; margin: 0 0 14px; }
.evr-vacio { color: #6b7280; font-size: 14px; }
.evr-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.evr-card { display: flex; flex-direction: column; gap: 3px; border: 1px solid #ececf0; border-radius: 12px;
            padding: 12px 14px; background: #fff; }
.evr-card.oculto { background: #fafafb; }
.evr-rel { font-size: 12px; font-weight: 600; color: #6b7280; }
.evr-prom { font-size: 26px; color: #1b1f27; line-height: 1.15; }
.evr-pts { font-size: 12px; color: #6b7280; }
.evr-n { font-size: 11.5px; color: #9ca3af; margin-top: 2px; }
.evr-oculto { font-size: 13px; color: #6b7280; line-height: 1.4; margin: 4px 0; }
.evr-sec { margin-top: 22px; }
.evr-h { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #9ca3af; margin: 0 0 8px; }
.evr-crit { display: grid; grid-template-columns: minmax(0, 1fr) 120px 70px; align-items: center; gap: 4px 12px;
            padding: 7px 0; border-bottom: 1px solid #f4f4f6; font-size: 13.5px; color: #1b1f27; }
.evr-pista { height: 7px; background: #f0f0f0; border-radius: 4px; overflow: hidden; }
.evr-pista span { display: block; height: 100%; background: #1f9254; border-radius: 4px; }
.evr-crit-v { text-align: right; font-weight: 600; }
.evr-crit-v small { color: #9ca3af; font-weight: 400; }
.evr-crit-na { grid-column: 1 / -1; font-size: 11.5px; color: #9ca3af; margin-top: -3px; }
.evr-coms { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.evr-com { margin: 0; padding: 10px 12px; background: #f8f8fa; border-left: 3px solid #d1d5db; border-radius: 6px;
           font-size: 13.5px; color: #1b1f27; line-height: 1.5; white-space: pre-line; }
.evr-com cite { display: block; font-style: normal; font-size: 11.5px; color: #9ca3af; margin-top: 4px; }
@media (max-width: 520px) {
  .evr-crit { grid-template-columns: minmax(0, 1fr) 64px; }
  .evr-pista { grid-column: 1 / -1; grid-row: 2; }
}

@media (max-width: 960px) {
  .ev-editor { grid-template-columns: 1fr; }
  .ev-prev-col { position: static; }
  .ev-form { max-height: none; }
}
@media (max-width: 760px) {
  .ev-toolbar, .ev-tabla-wrap, .ev-editor, .ev-camp { padding-left: 14px; padding-right: 14px; }
  .ev-camp .ev-tabla-wrap, .ev-av-tools { padding-left: 0; padding-right: 0; }
  .ev-barra-g { width: 110px; }
  .ev-ficha { margin-left: 14px; margin-right: 14px; }
  .ev-acciones { margin-left: 0; }
}

/* ── Walkthrough (0258) ── */
.ev-wt-filtros { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 12px 0; }
.ev-wt-filtros label { display: flex; align-items: center; gap: 6px; font-size: 13px; color: #555; }
.ev-wt-filtros .ev-q { flex: 1 1 240px; }
.ev-wt-niv { font-size: 12px; font-weight: 700; padding: 2px 9px; border-radius: 999px; background: #eef0f3; color: #555; white-space: nowrap; }
.ev-wt-e { background: #e3f1e6; color: #2f6b3a; }
.ev-wt-a { background: #e4edf7; color: #2d5585; }
.ev-wt-o { background: #f8ecd2; color: #7a5a12; }
.ev-wt-com { max-width: 360px; white-space: pre-wrap; }

/* ── Class Observation (0259) ── */
.ev-co-sub { display: flex; gap: 8px; margin: 12px 0; }
.ev-co-link { border: none; background: none; padding: 0; cursor: pointer; text-align: left; color: inherit; }
.ev-co-link:hover .ev-nom { text-decoration: underline; }
.ev-co-h { margin: 20px 0 8px; font-size: 15px; }
.ev-co-fila { display: flex; align-items: center; gap: 10px; margin: 6px 0; flex-wrap: wrap; }
.ev-co-fila .com-in { flex: 1 1 320px; }
.ev-co-fila label { font-size: 13px; display: flex; align-items: center; gap: 4px; }

/* ── Dashboard «Desempeño docente» (0260) ── */
.dash-kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; margin: 12px 0 18px; }
.dash-kpi { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 14px 16px; display: flex; flex-direction: column; gap: 2px; }
.dash-kpi b { font-size: 26px; line-height: 1.1; }
.dash-kpi span { font-size: 13px; color: #444; font-weight: 600; }
.dash-kpi small { font-size: 12px; color: #777; }
.dash-kpi.dash-alerta { border-color: #f1b7b0; background: #fff6f5; }
.dash-kpi.dash-alerta b { color: #b42318; }
.dash-kpi.dash-aviso { border-color: #f3d9a4; background: #fffaf0; }
.dash-kpi.dash-aviso b { color: #8a5a00; }
.dash-graficas { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; margin-bottom: 14px; }
.dash-caja { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 14px 16px; margin-bottom: 14px; }
.dash-caja h3 { margin: 0 0 10px; font-size: 14.5px; }
.dash-barra { display: grid; grid-template-columns: 110px 1fr 56px; align-items: center; gap: 10px; margin: 6px 0; font-size: 13px; }
.dash-barra b { text-align: right; }
.dash-pista { height: 10px; background: #eef0f3; border-radius: 999px; overflow: hidden; }
.dash-pista > div { height: 100%; background: var(--brand, #960e0b); border-radius: 999px; }
.dash-mini td, .dash-mini th { padding: 6px 8px; font-size: 13px; }
.dash-calor td.num { font-weight: 600; }
.dash-c4 { background: #e3f1e6; color: #2f6b3a; }
.dash-c3 { background: #e4edf7; color: #2d5585; }
.dash-c2 { background: #f8ecd2; color: #7a5a12; }
.dash-c1 { background: #fbe1de; color: #b42318; }
.dash-sort { cursor: pointer; user-select: none; white-space: nowrap; }
.dash-chip { display: inline-block; font-size: 11.5px; font-weight: 600; padding: 2px 8px; border-radius: 999px; margin: 1px 0; white-space: nowrap; }
.dash-rojo { background: #fbe1de; color: #b42318; }
.dash-ambar { background: #f8ecd2; color: #7a5a12; }
.dash-gris { background: #eef0f3; color: #555; }
.dash-pend { color: #b42318; }
/* Los filtros van en una sola fila: .com-in trae width:100% y cada select ocupaba un renglón. */
.ev-wt-filtros select.com-in, .ev-wt-filtros input[type="date"].com-in { width: auto; flex: 0 0 auto; }
.ev-wt-filtros .ev-q { width: auto; flex: 1 1 220px; min-width: 180px; }

/* ── Pestañas agrupadas ── */
.ev-tabs { display: flex; flex-wrap: wrap; gap: 14px 22px; margin: 14px 0 18px; padding-bottom: 14px; border-bottom: 1px solid #e5e7eb; }
.ev-tabs-g { display: flex; flex-direction: column; gap: 6px; }
.ev-tabs-l { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #8a8f98; padding-left: 2px; }
.ev-tabs-b { display: flex; gap: 6px; background: #f3f4f6; padding: 4px; border-radius: 12px; }
.ev-tab { display: flex; align-items: center; gap: 10px; border: none; background: transparent;
  padding: 7px 14px; border-radius: 9px; cursor: pointer; color: #374151; text-align: left; min-width: 104px;
  transition: background .12s, box-shadow .12s, color .12s; }
.ev-tab b { font-size: 14px; font-weight: 650; display: flex; align-items: center; gap: 6px; }
.ev-tab small { font-size: 11.5px; color: #8a8f98; }
.ev-tab-t { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; }
.ev-tab-i { width: 20px; height: 20px; flex: none; color: #9ca3af; transition: color .12s; }
.ev-tab:hover .ev-tab-i { color: #6b7280; }
.ev-tab.active .ev-tab-i { color: var(--brand, #960e0b); }
.ev-tab:hover { background: #fff; }
.ev-tab.active { background: #fff; color: var(--brand, #960e0b); box-shadow: 0 1px 3px rgba(0,0,0,.08), 0 0 0 1px rgba(150,14,11,.18); }
.ev-tab.active small { color: #b06b69; }
@media (max-width: 720px) { .ev-tabs-b { flex-wrap: wrap; } .ev-tab { min-width: 0; gap: 7px; } .ev-tab small { display: none; } .ev-tab-i { width: 17px; height: 17px; } }

/* ── Detalle de una Class Observation ── */
.ev-wt-com { max-width: 520px; }
.ev-co-det { max-width: 1200px; }
.ev-co-dethead { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 10px 0 14px; }
.ev-co-score { display: flex; flex-direction: column; align-items: center; padding: 10px 18px; border-radius: 14px; background: #eef0f3; }
.ev-co-score b { font-size: 30px; line-height: 1; }
.ev-co-score span { font-size: 11.5px; margin-top: 4px; opacity: .8; }
.ev-co-datos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin-bottom: 18px; }
.ev-co-dato { background: #fff; border: 1px solid #e5e7eb; border-radius: 10px; padding: 8px 12px; display: flex; flex-direction: column; }
.ev-co-dato span { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: #8a8f98; }
.ev-co-dato b { font-size: 14px; }
.ev-co-dims { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 12px; margin-bottom: 18px; }
.ev-co-dim { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 12px 14px; }
.ev-co-dimh { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.ev-co-dimh h4 { margin: 0; font-size: 14px; }
.ev-co-p { flex: none; font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: 999px; white-space: nowrap; }
.ev-co-evs { display: flex; flex-wrap: wrap; gap: 6px; }
.ev-co-evs span { font-size: 12.5px; background: #f3f4f6; border-radius: 999px; padding: 3px 10px; }
.ev-co-otro { margin: 8px 0 0; font-size: 13px; color: #555; }
.ev-co-notas { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 14px 18px; margin-bottom: 14px; }
.ev-co-notas h4 { margin: 0 0 8px; font-size: 14px; }
/* Las notas pueden ser largas: una sola columna ancha. En dos columnas, con un texto más alto que la
   pantalla, había que bajar hasta el final y volver a subir para seguir leyendo. */
.ev-co-notas-t { white-space: pre-wrap; font-size: 15px; line-height: 1.65; max-width: 110ch; }
.ev-co-dato b { overflow-wrap: anywhere; }
.ev-co-adj { display: flex; gap: 8px; flex-wrap: wrap; }
.ev-ver-perfil { margin-left: 8px; }
.ev-perfil-link { font-size: 12.5px; color: var(--brand, #960e0b); font-weight: 600; margin-top: 4px; }

/* ── 360 Profesores / 360 Administrativos (0263) ───────────────────── */
.ev-tabs-g--docente .ev-tabs-l { color: #1f4e8c; }
.ev-tabs-g--administrativo .ev-tabs-l { color: #8a5a12; }
.ev-tipo { display: inline-block; font-size: 11.5px; font-weight: 650; padding: 2px 8px; border-radius: 999px; white-space: nowrap; }
.ev-tipo--docente { color: #1f4e8c; background: #e8f0fb; }
.ev-tipo--administrativo { color: #6b4a12; background: #fbf3e4; }
.ev-instr-sec { margin-bottom: 18px; }
.ev-instr-sec > .com-h3 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ev-instr-sec > .com-h3 .btn { margin-left: auto; text-transform: none; letter-spacing: 0; }

/* «Evaluar ▾»: el menú se abre en línea (dentro de una tabla con scroll, uno flotante quedaría recortado). */
.ev-eval { display: inline-block; text-align: left; }
/* Botón principal de la fila y del perfil: azul suave (2026-10-16) para distinguirlo del rojo de marca de las alertas. */
.ev-eval > summary { list-style: none; cursor: pointer; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px;
  height: auto; padding: 7px 14px; border: none; border-radius: 999px; background: #3d63a8; color: #fff;
  font-size: 13px; font-weight: 650; line-height: 1.2; box-shadow: 0 1px 2px rgba(61,99,168,.25); transition: background .15s, box-shadow .15s; }
.ev-eval > summary::-webkit-details-marker { display: none; }
.ev-eval > summary:hover { background: #31548f; box-shadow: 0 3px 8px rgba(61,99,168,.3); }
.ev-eval > summary:focus-visible { outline: 2px solid #b9cbea; outline-offset: 2px; }
.ev-eval[open] > summary { background: #31548f; }
/* En el perfil va más grande, con la misma presencia que los datos de la persona. */
.pf-jefes .ev-eval > summary { padding: 11px 22px; font-size: 15px; }
.ev-eval-m { display: flex; flex-direction: column; gap: 4px; margin-top: 6px; min-width: 230px; padding: 6px;
  background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; box-shadow: 0 6px 18px rgba(0,0,0,.08); }
.ev-eval-op { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; border: none; background: transparent;
  padding: 7px 10px; border-radius: 8px; cursor: pointer; text-align: left; font: inherit; }
.ev-eval-op:hover { background: #f3f4f6; }
.ev-eval-op b { font-size: 13.5px; font-weight: 650; }
.ev-eval-op small { font-size: 11.5px; color: #8a8f98; }
.ev-eval-nota { font-size: 12px; color: #8a8f98; padding: 6px 10px; max-width: 240px; white-space: normal; }

/* Panel lateral con el formulario (/evaluacion360?embed=1). */
.ev-panel-fondo { position: fixed; inset: 0; z-index: 1000; background: rgba(17,24,39,.35); display: flex; justify-content: flex-end; }
.ev-panel { width: min(600px, 100%); height: 100%; background: #f6f6f8; display: flex; flex-direction: column;
  box-shadow: -8px 0 24px rgba(0,0,0,.15); animation: ev-panel-in .18s ease-out; }
@keyframes ev-panel-in { from { transform: translateX(40px); opacity: 0; } to { transform: none; opacity: 1; } }
.ev-panel-h { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: #fff; border-bottom: 1px solid #e5e7eb; }
.ev-panel-h div { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.ev-panel-h b { font-size: 15px; }
.ev-panel-h small { font-size: 12.5px; color: #6b7280; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-panel-x { border: none; background: #f3f4f6; width: 34px; height: 34px; border-radius: 50%; font-size: 20px; line-height: 1; cursor: pointer; }
.ev-panel iframe { flex: 1; width: 100%; border: 0; background: #f6f6f8; }
/* Tabla del Dashboard: «Evaluar» queda pegado a la derecha, visible aunque la tabla no quepa;
   las alertas bajan de línea en vez de ensanchar la tabla. */
.dash-tabla:not(.dash-tabla--doc) td:nth-last-child(2) { max-width: 220px; }
.dash-cero { color: #b91c1c; font-weight: 700; }
.dash-tabla .dash-evaluar { position: sticky; right: 0; background: #fff; padding-left: 12px; }

/* Momento del año del walkthrough (0272). */
.ev-wt-mom { display: inline-block; font-size: 11.5px; font-weight: 700; letter-spacing: .04em; color: #31548f; background: #e8eef8; border-radius: 6px; padding: 2px 7px; }
