.project-page { max-width: 1180px; }
.project-page .page-head { align-items: flex-start; margin-bottom: 28px; }
.project-page .page-head h1 { margin: 2px 0 6px; }

/* .project-card-v2__status* -- lo único que sobrevive del listado de
   Proyectos pre-v5 (helpers/screens/project-dashboard.js aún lo usa en la
   cabecera del panel de un proyecto; el listado en sí ya usa .lab de
   style/shell.css desde el rediseño v5, Fase 4). */
.project-card-v2__status { display: inline-flex; padding: 3px 8px; border-radius: 999px; background: #edf2f4; color: #52636c; font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.project-card-v2__status--active { background: #e6f4ec; color: #28714d; }
.project-card-v2__status--paused { background: #fff2cf; color: #8b6314; }
.project-card-v2__status--archived { background: #eef0f1; color: #647078; }
.project-card-v2__status--draft { background: var(--accent-soft); color: var(--accent-dark); }

/* Proyectos toma la tarjeta vertical y el movimiento de Babel Lab, adaptados
   al lenguaje del mockup de Aleph. No se usa la franja cromática de Babel:
   el color vive en el bloque de iniciales y en los estados. */
.projects-carousel {
  --project-gap: 16px;
  --project-page-size: 3;
  min-width: 0;
  animation: projects-fade-in .4s ease both;
}
.projects-carousel[hidden],
#proyectos-list[hidden] { display: none; }
.projects-carousel__viewport {
  min-width: 0;
  overflow: hidden;
  padding: 5px 5px 16px;
  margin: -5px;
  touch-action: pan-y;
}
#proyectos-list.projects-carousel__track {
  display: flex;
  align-items: stretch;
  gap: var(--project-gap);
  min-width: 0;
  transform: translate3d(0, 0, 0);
  transition: transform .48s cubic-bezier(.22,.72,.2,1);
}
#proyectos-list > .proj-item {
  flex: 0 0 calc((100% - (var(--project-gap) * (var(--project-page-size) - 1))) / var(--project-page-size));
  min-width: 0;
}
.project-card-v2 {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 360px;
  overflow: hidden;
  border: 1px solid var(--hair);
  border-radius: 18px;
  background: var(--white);
  box-shadow: 0 8px 20px rgba(19,32,44,.055);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
  animation: projects-slide-up .48s ease both;
}
.project-card-v2:nth-child(2) { animation-delay: .05s; }
.project-card-v2:nth-child(3) { animation-delay: .1s; }
.project-card-v2:hover,
.project-card-v2:focus-within {
  transform: translateY(-4px);
  border-color: color-mix(in srgb,var(--project-color,var(--vio)) 42%,var(--hair));
  box-shadow: 0 16px 34px rgba(19,32,44,.11);
}
.project-card-v2__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 21px 21px 15px;
}
.project-card-v2__mark {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  border-radius: 15px;
  color: #fff;
  background: var(--project-color,var(--vio));
  box-shadow: 0 7px 16px color-mix(in srgb,var(--project-color,var(--vio)) 26%,transparent);
  font-size: 17px;
  font-weight: 850;
  letter-spacing: -.03em;
}
.project-card-v2__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: 0;
}
.project-card-v2__intro { padding:0 21px 18px; }
.project-card-v2__title {
  margin: 0 0 8px;
  color: var(--text);
  font-size: clamp(19px,1.6vw,23px);
  line-height: 1.17;
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}
.project-card-v2__summary {
  min-height: 42px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.project-card-v2__lower { display:flex;flex:1;flex-direction:column;justify-content:flex-end;min-height:166px;margin-top:auto;padding:17px 21px 18px;color:#fff;background:var(--project-color-dark,var(--vio-d)); }
.project-card-v2__details { display:grid;gap:11px; }
.project-card-v2__detail {
  display: grid;
  grid-template-columns: 31px minmax(0,1fr);
  align-items: center;
  gap: 10px;
}
.project-card-v2__detail-icon {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border-radius: 9px;
  color:#fff;
  background:rgb(255 255 255 / 15%);
  font-size: 15px;
  font-weight: 800;
}
.project-card-v2__detail span:last-child { display: grid; gap: 1px; min-width: 0; }
.project-card-v2__detail small { color:#fff;font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;opacity:.7; }
.project-card-v2__detail strong { overflow:hidden;color:#fff;font-size:12px;font-weight:680;text-overflow:ellipsis;white-space:nowrap; }
.project-card-v2__progress { display: grid; gap: 6px; margin-top: 15px; }
.project-card-v2__progress-copy { display:flex;justify-content:space-between;gap:10px;color:#fff;font-size:10.5px; }
.project-card-v2__progress .gauge { background:rgb(255 255 255 / 22%); }
.project-card-v2__progress .gauge i { background:#fff; }
.project-card-v2__footer {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 66px;
  padding: 12px 16px;
  border-top: 1px solid var(--hair);
  background: color-mix(in srgb,var(--project-color,var(--vio)) 3.5%,#fff);
}
.project-card-v2__footer [data-open] { flex: 1; justify-content: center; }
.project-card-v2__footer [data-open] { border-color:var(--project-color-dark,var(--vio-d));background:var(--project-color-dark,var(--vio-d)); }
.project-card-v2__actions { display: flex; gap: 6px; }
.project-card-v2__menu {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 6px;
  padding: 12px 16px 16px;
  border-top: 1px solid var(--hair);
  background: var(--paper-2);
  animation: projects-fade-in .18s ease both;
}
.project-card-v2__menu[hidden] { display: none; }
.project-card-v2__menu button {
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid var(--hair);
  border-radius: 9px;
  background: #fff;
  color: var(--muted);
  font: 650 10.5px var(--s);
  text-align: left;
  cursor: pointer;
}
.project-card-v2__menu button:hover { border-color: var(--vio); color: var(--vio-d); }
.project-card-v2__menu button[data-delete] { color: var(--red-d); }
.projects-carousel__navigation {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-height: 46px;
  padding-top: 4px;
}
.projects-carousel__navigation[hidden] { display: none; }
.projects-carousel__arrow {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--vio-d);
  border-radius: 50%;
  color: #fff;
  background: var(--vio-d);
  box-shadow: 0 7px 16px rgba(76,56,131,.18);
  font-size: 20px;
  cursor: pointer;
  transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease;
}
.projects-carousel__arrow:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(76,56,131,.25); }
.projects-carousel__arrow:disabled { opacity: .28; cursor: default; box-shadow: none; }
.projects-carousel__position { min-width: 76px; color: var(--muted); font-size: 11px; text-align: center; }
.projects-carousel__empty { margin: 8px 0 0; padding: 24px; border: 1px dashed var(--hair); border-radius: 14px; color: var(--muted); background: #fff; text-align: center; }
@keyframes projects-fade-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes projects-slide-up { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

/* Creación de proyecto: identidad y campos solicitados. */
.project-identity-card { border-color: color-mix(in srgb,var(--vio) 18%,var(--hair)); box-shadow: 0 10px 28px rgba(19,32,44,.055); }
.project-card-heading { justify-content: flex-start; align-items: center; }
.project-card-heading__icon,
.project-settings-card__icon {
  display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px;
  border-radius: 12px; color: var(--vio-d); background: var(--vio-s);
  font-weight: 800; letter-spacing: -.04em;
}
.project-card-heading > span:last-child,
.project-settings-card__head > span:nth-child(2) { display: grid; gap: 3px; }
.project-identity-card__body,
.project-settings-card__body { display: grid; gap: 18px; padding: 22px; }
.project-color-picker { display:grid;gap:10px;margin:0;padding:0;border:0; }
.project-color-picker legend { margin-bottom:4px;color:var(--text);font-size:12px;font-weight:700; }
.project-color-picker__hint { margin:0;color:var(--muted);font-size:10.5px;line-height:1.4; }
.project-color-picker__grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px; }
.project-color-option { position:relative;display:grid;justify-items:center;gap:6px;min-width:0;padding:8px 4px;border:1px solid var(--hair);border-radius:12px;background:#fff;color:var(--muted);font-size:9px;font-weight:650;text-align:center;cursor:pointer;transition:border-color .14s,background .14s,color .14s; }
.project-color-option:hover { border-color:var(--swatch);background:var(--swatch-soft);color:var(--text); }
.project-color-option:has(input:checked) { border-color:var(--swatch-dark);background:var(--swatch-soft);color:var(--swatch-dark); }
.project-color-option:has(input:focus-visible) { outline:3px solid color-mix(in srgb,var(--swatch) 24%,transparent);outline-offset:2px; }
.project-color-option input { position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer; }
.project-color-option__swatch { display:block;width:28px;height:28px;border:3px solid #fff;border-radius:10px;background:var(--swatch);box-shadow:0 0 0 1px color-mix(in srgb,var(--swatch-dark) 38%,var(--hair)); }
.project-color-picker__status { justify-self:start;padding:7px 10px;border-radius:999px;color:var(--ok-d);background:var(--ok-s);font-size:10px;font-weight:750; }
.project-color-picker__status:not([hidden]) { display:inline-flex; }
.project-form-field { display: grid; gap: 7px; }
.project-form-field__label { font-size: 12px; font-weight: 700; color: var(--text); }
.project-form-field__label i { color: var(--muted); font-style: normal; font-weight: 400; }
.project-form-field .fld { width: 100%; min-height: 46px; background: var(--paper); transition: border-color .15s, box-shadow .15s, background .15s; }
.project-form-field textarea.fld { min-height: 94px; resize: vertical; line-height: 1.5; }
.project-form-field .fld:focus { outline: none; border-color: var(--vio); background: #fff; box-shadow: 0 0 0 3px color-mix(in srgb,var(--vio) 14%,transparent); }
.project-form-field small { color: var(--muted); font-size: 11px; line-height: 1.4; }

.project-data-options { display: flex; flex-direction: column; gap: 10px; padding: 20px; }
.project-data-option {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px;
  min-height: 58px; padding: 11px 14px; border: 1px solid var(--hair);
  border-radius: 13px; background: #fff; cursor: pointer;
  transition: border-color .15s, background .15s, transform .15s;
}
.project-data-option:hover { border-color: color-mix(in srgb,var(--vio) 42%,var(--hair)); transform: translateY(-1px); }
.project-data-option > input,
.project-data-option__toggle > input { position: absolute; opacity: 0; pointer-events: none; }
.project-data-option > span:last-child { display: grid; gap: 3px; }
.project-data-option strong { font-size: 14px; color: var(--text); }
.project-data-option small { color: var(--muted); font-size: 11px; }
.project-toggle { position: relative; display: block; width: 40px; height: 23px; border-radius: 999px; background: #cbd1d6; transition: background .16s; }
.project-toggle::after { content: ''; position: absolute; top: 3px; left: 3px; width: 17px; height: 17px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(19,32,44,.22); transition: transform .16s; }
.project-data-option > input:checked + .project-toggle,
.project-data-option__toggle > input:checked + .project-toggle { background: var(--vio); }
.project-data-option > input:checked + .project-toggle::after,
.project-data-option__toggle > input:checked + .project-toggle::after { transform: translateX(17px); }
.project-data-option:has(input:focus-visible) { outline: 3px solid color-mix(in srgb,var(--vio) 22%,transparent); }
.project-custom-fields { display: flex; flex-direction: column; gap: 10px; }
.project-data-option--custom { cursor: default; }
.project-data-option--custom.is-disabled { background: var(--paper-2); opacity: .72; }
.project-data-option__toggle { cursor: pointer; }
.project-custom-field-copy { display: grid; gap: 3px; min-width: 0; }
.project-custom-field-copy > span { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.project-custom-field-input { width: 100%; padding: 2px 0; border: 0; outline: 0; background: transparent; color: var(--text); font: 600 14px var(--s); }
.project-data-options__saved { margin: 2px 0 0; padding: 10px 12px; border-radius: 10px; color: var(--vio-d); background: var(--vio-s); font-size: 11px; }

/* .project-dashboard-empty: estados vacíos del panel de proyecto (ver
   templates/project-dashboard.html) -- separado de .project-empty-v2, que
   pertenecía al listado de Proyectos y ya no existe (reemplazado por el
   patrón de puertas de style/shell.css). */
.project-dashboard-empty { padding: 50px 24px; text-align: center; border: 1px dashed var(--line); border-radius: var(--radius); color: var(--muted); }

/* Creación/configuración de proyecto (10a): pantalla ruteada (project-create)
   dentro del armazón riel+columna -- ya no un <dialog> modal (retirado en la
   pasada de fidelidad post-Fase-7; el mockup la muestra como página propia,
   algo que un modal no podía reproducir). */
.project-wizard { display: grid; gap: 16px; }
.project-create-grid { align-items:start; }
.project-wizard__head { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-right: 40px; }
.project-wizard__head h1 { margin: 2px 0 5px; font-size: 1.5rem; }
.project-wizard__head .muted { margin: 0; font-size: .88rem; line-height: 1.4; }
.project-steps { display: flex; gap: 7px; margin: 0; padding: 0; list-style: none; }
.project-steps li { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); background: var(--surface); font-weight: 800; }
.project-steps li.is-active { border-color: var(--vio-d); color: #fff; background: var(--vio-d); box-shadow: 0 0 0 4px var(--vio-s); }
.project-steps li.is-complete { border-color: var(--ok-d); color: var(--ok-d); }
/* Envuelve los 4 <section data-step>: se anima su `height` entre pasos
   (helpers/projects/create-modal.js, animateStepChange) para el efecto de
   "modal que se va expandiendo" en vez de saltar de golpe entre pasos. */
.project-wizard__body { overflow: hidden; }
.project-wizard__step { display: grid; gap: 16px; }
/* [hidden] pierde contra el display:grid de arriba sin este override -- los
   4 pasos del wizard quedaban todos pintados y ocupando alto a la vez, sin
   importar cuál section tuviera `hidden` puesto por renderStep(). */
.project-wizard__step[hidden] { display: none; }
.project-mode-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
/* .project-mode-card ya no es una clase visual (10a la reemplaza por
   .door.door-pick) -- se conserva SOLO como hook de identificación para
   tests existentes, sin reglas propias que puedan pisar las de .door. */
.project-code-card { position: relative; display: flex; gap: 14px; min-height: 132px; padding: 20px 22px; border: 1px solid var(--line); border-radius: var(--r-blk); background: var(--surface); cursor: pointer; transition: border-color .15s, box-shadow .15s, transform .15s; }
.project-code-card:hover { transform: translateY(-2px); border-color: var(--vio); }
.project-code-card:has(input:checked) { border-color: var(--vio-d); box-shadow: 0 0 0 3px var(--vio-s); }
.project-code-card input { position: absolute; inset: 14px 14px auto auto; width: 18px; height: 18px; accent-color: var(--vio-d); }
.project-mode-card__icon { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: var(--r-ico); color: #fff; background: var(--vio-d); font-size: 20px; }
.project-code-card span { display: flex; flex-direction: column; gap: 8px; padding-right: 26px; }
.project-code-card strong { font-size: 1rem; }
.project-code-card small { color: var(--muted); line-height: 1.5; }
/* .project-setup-schema/-block(__head) ya no son clases visuales (10a las
   reemplaza por .blk/.blk__h) -- se conservan solo como hooks de
   identificación para tests existentes, sin reglas que puedan pisar .blk. */
.project-setup-block__number { display: grid; place-items: center; flex: 0 0 34px; height: 34px; border-radius: 10px; color: #fff; background: #225f7b; font-weight: 900; }
.project-code-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(178px, 1fr)); gap: 12px; }
.project-code-card { min-height: 116px; }
.project-code-settings { display: grid; grid-template-columns: repeat(2, minmax(0, 240px)); gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafb; }
.project-code-settings:has(textarea) { grid-template-columns: minmax(0, 560px); }
/* [hidden] pierde contra el display:grid de arriba sin este override -- las
   3 tarjetas de ajustes (secuencial/aleatorio/preasignado) quedaban todas
   visibles a la vez sin importar cuál código estuviera elegido. */
.project-code-settings[hidden] { display: none; }
.project-code-preview { display: flex; align-items: center; gap: 12px; }
.project-code-preview > span { color: var(--muted); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.project-code-preview > div { display: flex; flex-wrap: wrap; gap: 7px; }
.project-code-preview code { padding: 7px 10px; border: 1px solid #cfdee5; border-radius: 6px; background: #eef5f8; color: #174e69; font-weight: 800; }
.project-code-preview__manual { margin:0; padding:10px 12px; border-radius:10px; background:var(--vio-s); color:var(--vio-d); font-size:12px; font-weight:650; line-height:1.45; }
.project-demographics { display: flex; flex-wrap: wrap; gap: 12px; padding: 16px; margin: 0; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.project-demographics legend { padding: 0 7px; color: var(--ink); font-weight: 800; }
.project-demographics label { display: flex; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid #dce5e9; border-radius: 8px; background: #fff; }
.project-demographics input, .project-result-choice input { width: 18px; height: 18px; accent-color: var(--accent); }
.project-result-choice { display: flex; gap: 11px; align-items: flex-start; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.project-result-choice span { display: flex; flex-direction: column; gap: 4px; }
.project-result-choice small { color: var(--muted); }
.project-review { display: flex; flex-direction: column; gap: 16px; }
.project-review-hero { display: grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px; padding:22px; border-radius:16px; color:#fff; background:var(--vio-d); box-shadow:0 10px 28px rgba(19,32,44,.08); }
.project-review-hero__mark { display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:rgba(255,255,255,.18);font-size:20px;font-weight:800; }
.project-review-hero .tiny { color:#fff; }
.project-review-hero h3 { margin:3px 0 4px;font-size:22px;letter-spacing:-.025em; }
.project-review-hero p:last-child { margin:0;color:#fff;font-size:12.5px; }
.project-review-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.project-review-card { display:grid;grid-template-columns:auto 1fr;align-items:start;gap:14px;min-height:140px;padding:18px;border:1px solid var(--hair);border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(19,32,44,.05); }
.project-review-card__icon { display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--paper-2);color:var(--muted);font-weight:800; }
.project-review-card--mode .project-review-card__icon { background:var(--acc-s);color:var(--acc-d); }
.project-review-card--battery .project-review-card__icon { background:var(--ok-s);color:var(--ok-d); }
.project-review-card--codes .project-review-card__icon { background:var(--warn-s);color:var(--warn-d); }
.project-review-card--data .project-review-card__icon { background:var(--teal-s);color:var(--teal-d); }
.project-review-card > div { display:grid;gap:6px;min-width:0; }
.project-review-card strong { font-size:16px; }
.project-review-card small { color:var(--muted);font-size:11.5px;line-height:1.45; }
.project-review-tags { display:flex;flex-wrap:wrap;gap:6px;margin-top:3px; }
.project-review-tags span { padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--review-color,var(--teal)) 10%,#fff);border:1px solid color-mix(in srgb,var(--review-color,var(--teal)) 22%,var(--hair));color:var(--text);font-size:10.5px; }
.project-review-notice { display:flex;align-items:center;gap:13px;padding:15px 17px;border:1px solid color-mix(in srgb,var(--ok) 24%,var(--hair));border-radius:14px;background:var(--ok-s);color:var(--ok-d); }
.project-review-notice > span { display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#fff; }
.project-review-notice p { margin:0;font-size:12px;line-height:1.45; }
.project-wizard__actions { position: sticky; bottom: 0; display: flex; justify-content: flex-end; gap: 10px; padding: 14px 0; background: linear-gradient(transparent, var(--paper) 22%); }

/* .project-dashboard-hero: desde el rediseño v5 (Fase 4) ya no es la
   cabecera visual del panel (esa es la columna/spine) -- queda como gancho
   de accesibilidad (.sr-only en el template) con el nombre del proyecto en
   un <h1>, que varios tests de navegador ya usan como marca de "el panel
   terminó de cargar". No estilarlo: su posición/tamaño los define .sr-only. */
.project-dashboard-hero__metrics strong { color: var(--ink); font-size: 1.05rem; }
.project-tabs { display: flex; gap: 4px; margin: 18px 0; overflow-x: auto; border-bottom: 1px solid var(--line); scrollbar-width: thin; }
.project-tabs button { flex: 0 0 auto; padding: 12px 15px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--muted); font-weight: 750; cursor: pointer; }
.project-tabs button[aria-selected="true"] { border-bottom-color: var(--accent); color: var(--accent); }
.project-participant-form { margin-bottom: 14px; }
.project-participant-form.card { padding:0;border:0;background:transparent;box-shadow:none; }
.project-new-participant { display:grid;gap:20px; }
.project-new-participant__layout { display:grid;grid-template-columns:1.25fr 1fr;gap:20px;align-items:start; }
.project-new-participant__aside { display:flex;flex-direction:column;gap:20px;min-width:0; }
.project-new-participant__data { overflow:hidden; }
.project-new-participant__code { grid-template-columns:1fr;padding:15px 20px;background:var(--vio-s); }
.project-new-participant__code .code { margin-top:4px;color:var(--vio-d);font-size:19px; }
.project-new-participant__custom-code { display:grid;gap:7px;width:min(100%,440px); }
.project-new-participant__custom-code .fld.code { width:100%;margin:0;letter-spacing:.035em;text-transform:uppercase;background:#fff; }
.project-new-participant__custom-code small { color:var(--muted);font-size:10.5px;line-height:1.4; }
.project-new-participant-code { letter-spacing:.035em; }
.project-new-participant__fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px;padding:20px; }
.project-new-participant__field { display:grid;gap:6px;min-width:0; }
.project-new-participant__field > span,.project-new-participant__field > legend { color:var(--text);font-size:11.5px;font-weight:650; }
.project-new-participant__field > span b { color:var(--vio-d);font-weight:650; }
.project-new-participant__field > span i { color:var(--muted);font-style:normal;font-weight:400; }
.project-new-participant__field--wide { grid-column:1/-1;padding:0;border:0; }
.project-new-participant__field .fld { width:100%;min-height:43px;background:var(--paper); }
.project-new-participant__field textarea.fld { resize:vertical;line-height:1.45; }
.project-new-participant__segments { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px; }
.project-new-participant__segments label { cursor:pointer; }
.project-new-participant__segments input { position:absolute;opacity:0; }
.project-new-participant__segments span { display:grid;place-items:center;min-height:38px;padding:7px;border-radius:var(--r-pill);color:var(--muted);background:var(--paper-2);font-size:10.5px;font-weight:650;text-align:center; }
.project-new-participant__segments input:checked + span { color:#fff;background:var(--c-d); }
.project-new-participant__segments input:focus-visible + span { outline:3px solid var(--vio-s); }
.project-new-participant__battery { display:flex;flex-direction:column;margin:0;padding:0;list-style:none; }
.project-new-participant__battery li { display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid var(--hair); }
.project-new-participant__battery strong { overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap; }
.project-new-participant__battery small { color:var(--muted); }
.project-new-participant__battery-note { margin:0;padding:12px 20px;border-top:1px solid var(--hair);color:var(--muted);font-size:11px;line-height:1.45; }
.project-new-participant__privacy { display:grid;grid-template-columns:auto 1fr;align-items:start;gap:11px;padding:16px 18px; }
.project-new-participant__privacy p { margin:0;color:var(--vio-d);font-size:12px;line-height:1.5; }
.project-new-participant__share > .blk__h { background:var(--acc-s); }
.project-new-participant__share .door { margin:14px;padding:18px; }
.project-new-participant__share .door__t { font-size:20px; }
.project-new-participant__share-row { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:14px; }
.project-new-participant__share-row .fld { min-width:0;color:#fff;background:rgb(255 255 255 / 14%);border-color:rgb(255 255 255 / 38%); }
.project-new-participant__actions { display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap; }
.project-participant-created .doors { grid-template-columns:repeat(2,minmax(0,1fr)); }
.project-participant-created .door { border:0;text-align:left;cursor:pointer;font:inherit; }
.project-participant-form__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 12px 0; }
.project-participant-form select, .project-public-data select { width: 100%; appearance: none; padding: 10px 38px 10px 11px; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%231b5d7d' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center; }
.project-participants-list { display: grid; gap: 9px; }
.project-participant-filters { display: grid; grid-template-columns: minmax(180px, 2fr) repeat(2, minmax(150px, 1fr)); gap: 10px; margin-bottom: 14px; }
.project-participant-filters label { display: grid; gap: 5px; color: var(--muted); font-size: .76rem; font-weight: 700; }
.project-participant-filters input, .project-participant-filters select { width: 100%; min-height: 42px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); color: var(--ink); padding: 0 12px; font: inherit; }
.project-participant-row { display: grid; grid-template-columns: minmax(150px, 1.1fr) minmax(160px, 1fr) 90px auto; align-items: center; gap: 14px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.project-participant-row__identity { display: flex; flex-direction: column; gap: 3px; }
.project-participant-row__identity span, .project-participant-row__sync { color: var(--muted); font-size: .77rem; }
.project-participant-row__progress { display: grid; grid-template-columns: auto minmax(90px, 1fr); align-items: center; gap: 8px; font-variant-numeric: tabular-nums; }
.project-participant-row__progress i, .project-funnel i, .project-test-completion i { display: block; height: 7px; overflow: hidden; border-radius: 999px; background: #e8eef1; }
.project-participant-row__progress b, .project-funnel b, .project-test-completion b { display: block; height: 100%; border-radius: inherit; background: var(--accent); }

/* Participantes: cabecera y tarjetas comparten exactamente la misma rejilla. */
#project-participants-list { display:flex;flex-direction:column;gap:10px; }
.project-participants-table__header,
.project-participant-card { display:grid;grid-template-columns:minmax(110px,1fr) 68px minmax(105px,.9fr) minmax(210px,1.6fr) minmax(100px,1fr) auto;align-items:center;gap:14px; }
.project-participants-table__header { padding:10px 17px;border-radius:11px;background:var(--paper-2); }
.project-participant-cards { display:flex;flex-direction:column;gap:10px; }
.project-participant-card { position:relative;padding:15px 17px;border:1px solid var(--hair);border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(19,32,44,.045);overflow:hidden; }
.project-participant-card.is-running { border-color:color-mix(in srgb,var(--vio) 24%,var(--hair));background:var(--vio-s); }
.project-participant-cell { display:flex;flex-direction:column;gap:3px;min-width:0;color:var(--text);font-size:12.5px; }
.project-participant-cell small { color:var(--muted);font-size:10.5px;line-height:1.3; }
.project-participant-cell::before { display:none;content:attr(data-label);color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase; }
.project-participant-cell--identity { position:relative;padding-left:15px; }
.project-participant-cell--identity > i { position:absolute;left:0;top:5px;width:7px;height:7px;border-radius:50%;background:var(--participant-accent); }
.project-participant-name { overflow:hidden;color:var(--text);font-size:16px;font-weight:750;line-height:1.15;text-overflow:ellipsis;white-space:nowrap; }
.project-participant-name.code { letter-spacing:.08em; }
.project-participant-cell--identity .project-participant-name.code { width:auto;padding:0;border-radius:0;color:var(--text);background:transparent;font-size:20px;line-height:1.1;letter-spacing:.04em;white-space:normal;overflow-wrap:anywhere; }
.project-participant-cell--battery .gauge { background:var(--paper-2); }
.project-participant-actions { display:flex;justify-content:flex-end;gap:6px; }
.project-participant-delete { min-width:38px;color:var(--red-d);font-size:18px;line-height:1; }
.project-participant-delete svg { width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.project-participant-delete:hover { border-color:var(--red);color:#fff;background:var(--red-d); }
.project-participants-table__footer { padding:7px 4px;text-align:right; }

/* Aplicación de batería: una sola elección explícita. La superficie completa,
   y no una franja, comunica cuál test está listo para aplicar. */
.participant-apply-test { grid-template-columns:auto minmax(190px,1.6fr) minmax(90px,.7fr) minmax(100px,.8fr) auto;align-items:center;gap:14px;cursor:pointer;border:1px solid transparent;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s; }
.participant-apply-test:not(.is-complete):not(.is-selected):hover { transform:translateY(-1px);border-color:color-mix(in srgb,var(--vio) 28%,var(--hair));background:var(--vio-s); }
.participant-apply-test.is-selected { color:#fff;background:var(--vio-d);border-color:var(--vio-d);box-shadow:0 10px 24px rgba(82,58,153,.16); }
.participant-apply-test.is-selected:hover { color:#fff;background:var(--vio-d);border-color:var(--vio-d); }
.participant-apply-test.is-selected .nm,.participant-apply-test.is-selected .fnt { color:#fff; }
.participant-apply-test.is-selected .lab { color:var(--vio-d);background:#fff;border-color:#fff; }
.participant-apply-test__identity { display:flex;align-items:center;gap:11px;min-width:0; }
.participant-apply-test__identity .dot { flex:0 0 10px;background:var(--vio); }
.participant-apply-test__identity .nm { font-size:14px; }
.participant-apply-test__identity .fnt { margin-top:2px; }
.participant-apply-checklist { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;padding:16px 18px; }

/* Por test: storytelling por dominio, sin columna de fiabilidad. */
.project-tests-overview-head { display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px; }
.project-tests-overview-head h2 { margin:4px 0 0;font-size:22px;letter-spacing:-.025em; }
.project-test-card-list { display:flex;flex-direction:column;gap:13px; }
.project-test-card { position:relative;overflow:hidden;padding:18px 20px;border:0;border-radius:16px;background:var(--test-dark);color:#fff;box-shadow:0 8px 24px rgba(19,32,44,.08); }
.project-test-card__identity { display:grid;grid-template-columns:1fr auto;align-items:center;gap:13px; }
.project-test-card__identity h3 { margin:3px 0 0;font-size:16px; }
.project-test-card .tiny,.project-test-card .mut { color:#fff; }
.project-test-card .b { border-color:#fff;color:var(--test-dark);background:#fff; }
.project-test-card__stats { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0 12px; }
.project-test-card__stats > span { display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:7px;padding:10px 12px;border-radius:11px;background:rgb(255 255 255 / 16%); }
.project-test-card__stats small { grid-column:1/-1;color:#fff;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase; }
.project-test-card__stats strong { font-size:18px;color:#fff; }
.project-test-card__stats i { color:#fff;font-size:10px;font-style:normal; }
.project-test-card__coverage { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;color:#fff;font-size:11px; }
.project-test-card__coverage .gauge { height:7px; }
.project-test-card__coverage .gauge { background:rgb(255 255 255 / 24%); }
.project-test-card__coverage .gauge i { background:#fff !important; }
.project-test-hero-tile { border:1px solid color-mix(in srgb,var(--test-color) 32%,transparent);background:color-mix(in srgb,var(--test-color) 18%,rgba(255,255,255,.08)); }
.project-test-detail-nav { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding:7px;border:1px solid var(--hair);border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(19,32,44,.045); }
.project-test-detail-nav button { display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 12px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:650 12px var(--s);cursor:pointer; }
.project-test-detail-nav button:hover { background:var(--paper-2); }
.project-test-detail-nav button:focus-visible { outline:3px solid color-mix(in srgb,var(--vio) 25%,transparent);outline-offset:1px; }
.project-test-detail-nav__back svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round; }
.project-test-detail-nav .project-test-detail-nav__sheet { padding-right:14px;color:var(--vio-d);background:var(--vio-s); }
.project-test-detail-nav__sheet>span { display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#fff;background:var(--vio-d);font-weight:800; }
.project-test-detail { display:flex;flex-direction:column;gap:20px; }
.project-test-version { display:flex;flex-direction:column;gap:18px;overflow:hidden;padding:20px;border:1px solid color-mix(in srgb,var(--test-color) 24%,var(--hair));border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 12px 32px rgba(19,32,44,.065); }
.project-test-version__head { display:grid;grid-template-columns:minmax(220px,.8fr) minmax(420px,1.2fr);align-items:stretch;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--hair); }
.project-test-version__identity { display:flex;flex-direction:column;justify-content:center;min-width:0; }
.project-test-version__identity .tiny { color:var(--test-dark); }
.project-test-version__identity h3 { margin:5px 0 7px;color:var(--ink);font-size:22px;line-height:1.2;letter-spacing:-.025em; }
.project-test-version__identity>p { max-width:440px;margin:0;color:var(--muted);font-size:11px;line-height:1.5; }
.project-test-version__identity .project-test-version__metric { margin-bottom:3px;color:var(--test-dark);font-weight:700; }
.project-test-version__summary { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px; }
.project-test-version__summary>span { display:grid;align-content:center;gap:3px;min-width:0;padding:12px;border-radius:13px;background:var(--paper-2); }
.project-test-version__summary small,.project-test-session-row small { color:var(--muted);font-size:8.5px;font-weight:750;letter-spacing:.09em;text-transform:uppercase; }
.project-test-version__summary strong { overflow-wrap:anywhere;color:var(--ink);font-size:18px;line-height:1.1; }
.project-test-version__summary i { color:var(--muted);font-size:9.5px;font-style:normal; }
.project-test-chart-grid { display:grid;grid-template-columns:1.25fr 1fr;gap:14px; }
.project-test-chart { overflow:hidden;border-color:color-mix(in srgb,var(--test-color) 22%,var(--hair));border-radius:16px;box-shadow:none; }
.project-test-chart .blk__h,.project-test-sessions .blk__h { background:color-mix(in srgb,var(--test-color) 7%,#fff); }
.project-test-chart .project-histogram i { background:var(--test-color); }
.project-test-sessions { overflow:hidden;border-color:color-mix(in srgb,var(--test-color) 22%,var(--hair));border-radius:16px;background:var(--paper-2);box-shadow:none; }
.project-test-sessions__intro { align-items:center; }
.project-test-sessions__intro .tiny { margin-bottom:4px;color:var(--test-dark); }
.project-test-sessions__intro .fnt { max-width:280px;text-align:right; }
.project-test-session-list { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:10px;padding:12px; }
.project-test-session-row { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(100px,.65fr) auto;grid-template-areas:"identity result state" "identity result action";align-items:center;gap:7px 14px;min-width:0;padding:14px;border:1px solid var(--hair);border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 4px 12px rgba(19,32,44,.035); }
.project-test-session-row.is-discarded { border-color:color-mix(in srgb,var(--red) 30%,var(--hair));background:color-mix(in srgb,var(--red-s) 42%,#fff); }
.project-test-session-row__identity { grid-area:identity;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0; }
.project-test-session-row__index { display:grid;place-items:center;width:34px;height:34px;border-radius:11px;color:#fff;background:var(--test-dark);font-size:10px; }
.project-test-session-row__identity>span:last-child { display:grid;gap:2px;min-width:0; }
.project-test-session-row__identity strong { overflow-wrap:anywhere;color:var(--ink);font-size:17px;line-height:1.15;letter-spacing:-.015em; }
.project-test-session-row__identity i { color:var(--muted);font-size:10px;font-style:normal; }
.project-test-session-row__result { grid-area:result;display:grid;align-content:center;gap:2px;min-width:0;padding:10px 11px;border-radius:11px;background:var(--test-soft); }
.project-test-session-row__result strong { overflow-wrap:anywhere;color:var(--test-dark);font-size:20px;line-height:1; }
.project-test-session-row__result i { color:var(--test-dark);font-size:9.5px;font-style:normal; }
.project-test-session-row__state { grid-area:state;display:grid;justify-items:end;gap:4px; }
.project-test-session-row__state .lab { white-space:nowrap; }
.project-test-session-row__action { grid-area:action;justify-self:end;min-width:92px;justify-content:center; }

/* Configuración: cuatro capítulos visuales con acentos y lectura rápida. */
.project-settings-layout { display:grid;grid-template-columns:1.08fr .92fr;gap:18px;align-items:start; }
.project-settings-column { display:flex;flex-direction:column;gap:18px;min-width:0; }
.project-settings-card { border-color:color-mix(in srgb,var(--settings-color,var(--vio)) 18%,var(--hair));box-shadow:0 8px 22px rgba(19,32,44,.045); }
.project-settings-card--identity { --settings-color:var(--vio-d); }
.project-settings-card--battery { --settings-color:var(--acc-d); }
.project-settings-card--access { --settings-color:var(--teal-d); }
.project-settings-card--danger { --settings-color:var(--red-d); }
.project-settings-card__head { justify-content:flex-start;align-items:center;color:#fff;background:var(--settings-color); }
.project-settings-card__head .wt,.project-settings-card__head .tiny { color:#fff; }
.project-settings-card__head .tiny { opacity:.76; }
.project-settings-card__icon { color:#fff;background:rgb(255 255 255 / 18%); }
.project-settings-card__head .b { border-color:#fff;color:var(--settings-color);background:#fff; }
.project-settings-readonly { display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;border-radius:12px;background:var(--paper-2); }
.project-settings-readonly > span:first-child { display:grid;gap:3px; }
.project-settings-readonly small { color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.09em; }
.project-settings-tests { display:flex;flex-direction:column;gap:8px;padding:14px 18px;margin:0;list-style:none; }
.project-settings-tests li { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:10px 12px;border:0;border-radius:12px;background:var(--test-dark);color:#fff; }
.project-settings-test__number { display:grid;place-items:center;width:29px;height:29px;border-radius:9px;color:#fff;background:rgb(255 255 255 / 18%);font-size:11px; }
.project-settings-tests li > span:nth-child(2) { display:grid;gap:2px; }
.project-settings-tests small { color:#fff;font-size:10.5px; }
.project-settings-tests .nm { color:#fff; }
.project-settings-tests .b { border-color:#fff;color:var(--test-dark);background:#fff; }
.project-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; margin-bottom: 14px; }
.project-kpis article { display: flex; flex-direction: column-reverse; gap: 4px; padding: 16px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.project-kpis span { color: var(--muted); font-size: .76rem; }
.project-kpis strong { font-size: 1.35rem; }
.project-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.project-chart-grid h2, .project-test-analysis h2 { margin: 0 0 16px; font-size: 1rem; }
.project-funnel, .project-test-completion { display: grid; gap: 11px; }
.project-funnel > div, .project-test-completion > div { display: grid; grid-template-columns: minmax(100px, 1fr) minmax(100px, 2fr) 44px; align-items: center; gap: 8px; font-size: .78rem; }
.project-funnel strong, .project-test-completion strong { text-align: right; font-variant-numeric: tabular-nums; }
.project-test-tabs { display: flex; gap: 7px; overflow-x: auto; margin-bottom: 13px; padding-bottom: 5px; }
.project-test-tabs button { flex: 0 0 auto; padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--muted); font-weight: 750; cursor: pointer; }
.project-test-tabs button[aria-selected="true"] { border-color: var(--accent); background: #eaf4f8; color: var(--accent); }
.project-test-analysis header { display: flex; justify-content: space-between; align-items: flex-start; }
.project-stats-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 14px 0 20px; }
.project-stats-grid span { display: flex; flex-direction: column; gap: 4px; padding: 10px; border-radius: 7px; background: #f4f7f8; }
.project-stats-grid small { color: var(--muted); font-size: .7rem; text-transform: uppercase; }
.project-histogram { display: flex; align-items: flex-end; gap: 7px; height: 190px; padding: 25px 10px 0; border-bottom: 1px solid var(--line); }
.project-histogram > div { display: flex; flex: 1; flex-direction: column; justify-content: flex-end; align-items: stretch; height: 100%; text-align: center; }
.project-histogram i { position: relative; display: block; min-height: 3px; border-radius: 4px 4px 0 0; background: #4c94b2; }
.project-histogram i span { position: absolute; top: -19px; left: 0; right: 0; color: var(--ink); font-size: .7rem; font-style: normal; }
.project-histogram small { min-height: 28px; padding-top: 5px; color: var(--muted); font-size: .62rem; }
.project-general-exports { grid-template-columns:repeat(4,minmax(0,1fr));gap:14px; }
.project-general-exports .door { min-width:0; }
.project-general-exports .door__t { font-size:17px; }
.project-general-charts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px; }
.project-general-charts>.blk { min-width:0;overflow:hidden; }
.project-general-domain-list { display:flex;flex-direction:column;gap:15px;padding:18px 20px; }
.project-general-domain-row { min-width:0; }
.project-general-domain-row__head { display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:7px; }
.project-general-domain-row__label { display:flex;align-items:center;gap:9px;min-width:0;font-size:13px;line-height:1.35; }
.project-general-domain-row__label .dot { flex:0 0 auto; }
.project-general-timeline-card__body { padding:18px 20px; }
.project-general-timeline-chart { display:block;width:100%;height:auto;overflow:visible; }
.project-general-timeline-range { margin:10px 0 0;line-height:1.5; }
.project-metric-table { max-height: 320px; margin-top: 20px; overflow: auto; }
.project-metric-table table { width: 100%; border-collapse: collapse; }
.project-metric-table th, .project-metric-table td { padding: 8px; border-bottom: 1px solid var(--line); text-align: left; font-size: .78rem; }
.project-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.project-share-layout { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 16px; align-items: center; }
.project-share-qr { aspect-ratio: 1; width: 132px; padding: 7px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.project-share-qr svg { display: block; width: 100%; height: 100%; }
.project-settings-manifest { display: grid; gap: 7px; margin: 14px 0; padding: 0; list-style: none; }
.project-settings-manifest li { display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 9px; padding: 9px; border-radius: 7px; background: #f3f7f8; }
.project-settings-manifest li span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: #fff; background: var(--accent); font-size: .7rem; }

body.chromeless-mode .shell { grid-template-columns: 1fr; }
body.chromeless-mode .rail { display: none; }
body.chromeless-mode .main { padding-bottom: 0; }
body.chromeless-mode .main::before { display: none; }
.project-public-data { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 18px 0; }
/* Mismo motivo que .results-list en style/activities.css: resultCardHTML()
   dejó de traer su propio margen (hallazgo B/Parte 5), el contenedor lo da. */
#project-result-scores { display: flex; flex-direction: column; gap: 12px; margin-top: 14px; text-align: left; }

/* Feedback de aplicación: formulario y lectura longitudinal del proyecto. */
.feedback-required-message { margin:14px 0 0;padding:11px 13px;border:1px solid rgb(255 255 255 / 28%);border-radius:10px;color:#fff;background:rgb(255 255 255 / 11%);font-size:12px;line-height:1.45; }
.feedback-confidence-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px; }
.feedback-confidence-option { --feedback-base:var(--vio);--feedback-dark:var(--vio-d);--feedback-soft:var(--vio-s);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;min-height:126px;padding:18px;border:1px solid color-mix(in srgb,var(--feedback-base) 24%,var(--hair));border-radius:17px;color:var(--text);background:#fff;text-align:left;cursor:pointer;box-shadow:0 8px 22px rgba(19,32,44,.05);transition:transform var(--motion-fast),border-color var(--motion-fast),background var(--motion-fast),color var(--motion-fast); }
.feedback-confidence-option[data-tone="ok"] { --feedback-base:var(--ok);--feedback-dark:var(--ok-d);--feedback-soft:var(--ok-s); }
.feedback-confidence-option[data-tone="warn"] { --feedback-base:var(--warn);--feedback-dark:var(--warn-d);--feedback-soft:var(--warn-s); }
.feedback-confidence-option[data-tone="danger"] { --feedback-base:var(--red);--feedback-dark:var(--red-d);--feedback-soft:var(--red-s); }
.feedback-confidence-option:not(:disabled):hover { transform:translateY(-2px);border-color:var(--feedback-base); }
.feedback-confidence-option.is-selected { border-color:var(--feedback-dark);color:#fff;background:var(--feedback-dark);box-shadow:0 11px 26px color-mix(in srgb,var(--feedback-base) 23%,transparent); }
.feedback-confidence-option:disabled { cursor:default;opacity:1; }
.feedback-confidence-option__icon { display:grid;place-items:center;width:43px;height:43px;border-radius:13px;color:var(--feedback-dark);background:var(--feedback-soft);font-size:19px;font-weight:850; }
.feedback-confidence-option.is-selected .feedback-confidence-option__icon { color:var(--feedback-dark);background:#fff; }
.feedback-confidence-option__copy { display:grid;gap:4px;min-width:0; }
.feedback-confidence-option__copy small { color:var(--feedback-dark);font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase; }
.feedback-confidence-option__copy strong { font-size:18px;line-height:1.15; }
.feedback-confidence-option__copy > span { color:var(--muted);font-size:11.5px;line-height:1.42; }
.feedback-confidence-option.is-selected .feedback-confidence-option__copy small,.feedback-confidence-option.is-selected .feedback-confidence-option__copy > span { color:#fff;opacity:.8; }
.feedback-validation { margin:-8px 0 18px;padding:10px 12px;border-radius:10px;color:var(--red-d);background:var(--red-s);font-size:12px;font-weight:700; }
.feedback-editorial-surface { display:grid;grid-template-columns:minmax(285px,.72fr) minmax(0,1.28fr);overflow:hidden;border:1px solid var(--hair);border-radius:24px;background:#fff; }
.feedback-editorial-pane { position:relative;min-width:0;overflow:hidden;background:#fff; }
.feedback-conditions-card { border-left:1px solid var(--hair);background:color-mix(in srgb,var(--teal-s) 18%,#fff); }
.feedback-pane-head { position:relative;display:grid;align-content:end;min-height:146px;padding:30px 32px 24px;overflow:hidden;border:0; }
.feedback-pane-number { position:absolute;top:-40px;right:14px;color:var(--vio-d);font:850 142px/.9 var(--s);letter-spacing:-.09em;opacity:.055;pointer-events:none; }
.feedback-conditions-card .feedback-pane-number { color:var(--teal-d); }
.feedback-pane-head__copy,.feedback-pane-head>.fnt { position:relative;z-index:1; }
.feedback-pane-head .tiny { margin:0 0 7px;color:var(--vio-d);font-size:9px;letter-spacing:.15em; }
.feedback-conditions-card .feedback-pane-head .tiny { color:var(--teal-d); }
.feedback-pane-head .wt { color:var(--ink);font-size:clamp(24px,2.4vw,32px);line-height:1.06;letter-spacing:-.04em; }
.feedback-pane-head>.fnt { max-width:34ch;margin-top:10px;color:var(--muted);font-size:10.5px;line-height:1.45; }
.feedback-note-card__body { min-height:318px;padding:27px 32px 24px;background:color-mix(in srgb,var(--vio-s) 18%,#fff); }
.feedback-conditions-card__body { padding:0; }
.feedback-note-field { display:grid;gap:12px;color:var(--text);font-size:15px;font-weight:720;line-height:1.45; }
.feedback-note-field textarea { width:100%;min-height:218px;padding:20px 0 14px;border:0;border-radius:0;outline:0;color:var(--text);background:transparent;resize:vertical;font:450 14px/1.65 var(--s);box-shadow:none;transition:background var(--motion-fast); }
.feedback-note-field textarea:focus { background:rgb(255 255 255 / 34%);box-shadow:none; }
.feedback-note-field textarea[readonly] { color:var(--muted);background:transparent; }
.feedback-note-field small { display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:9.5px;font-weight:500; }
.feedback-tag-section { display:grid;gap:11px;margin-top:20px;padding-top:18px;border-top:1px solid var(--hair); }
.feedback-tag-section p { margin:0; }
.feedback-tags { display:flex;flex-wrap:wrap;gap:7px; }
.feedback-tag { display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 11px;border:1px solid #cfd3da;border-radius:999px;color:var(--muted);background:#fff;font:650 11px var(--s);cursor:pointer; }
.feedback-tag.is-selected { border-color:var(--vio);color:var(--vio-d);background:var(--vio-s); }
.feedback-tag:disabled { cursor:default;opacity:1; }
.feedback-condition-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px;padding:10px 18px 8px; }
.feedback-condition-group { display:grid;align-content:start;gap:12px;min-width:0;min-height:202px;margin:0;padding:24px 20px 26px;border:0;background:transparent; }
.feedback-condition-group:nth-child(even) { border-left:1px solid var(--hair); }
.feedback-condition-group legend { display:flex;align-items:baseline;gap:10px;width:100%;padding:0;color:var(--text); }
.feedback-condition-group legend span { flex:0 0 auto;color:var(--teal-d);font:850 11px var(--s);letter-spacing:.08em; }
.feedback-condition-group legend b { font-size:18px;line-height:1.12;letter-spacing:-.025em; }
.feedback-condition-group > p { max-width:34ch;margin:0;color:var(--muted);font-size:11.5px;line-height:1.48; }
.feedback-choice-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;overflow:hidden;margin-top:auto;border:1px solid color-mix(in srgb,var(--teal) 18%,var(--hair));border-radius:999px;background:rgb(255 255 255 / 62%); }
.feedback-choice-grid label { position:relative;display:grid;place-items:center;min-height:50px;padding:8px 7px;border:0;border-left:1px solid var(--hair);border-radius:0;color:var(--muted);background:transparent;text-align:center;cursor:pointer;font-size:10px;font-weight:720;line-height:1.2; }
.feedback-choice-grid label:first-child { border-left:0; }
.feedback-choice-grid input { position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer; }
.feedback-choice-grid input:disabled { cursor:default; }
.feedback-choice-grid label:has(input:checked) { border-color:transparent;color:#fff;background:var(--vio-d);box-shadow:none; }
.feedback-choice-grid label:has(input:disabled) { cursor:default; }
.feedback-report-toggle { display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;margin:0;padding:19px 24px;border:0;background:transparent;cursor:pointer; }
.feedback-report-toggle > input { position:absolute;opacity:0; }
.feedback-report-toggle > span:first-of-type { width:38px;height:22px;padding:3px;border-radius:999px;background:#aeb4bd;transition:background var(--motion-fast); }
.feedback-report-toggle > span:first-of-type::after { content:"";display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform var(--motion-fast); }
.feedback-report-toggle:has(input:checked) > span:first-of-type { background:var(--teal); }
.feedback-report-toggle:has(input:checked) > span:first-of-type::after { transform:translateX(16px); }
.feedback-report-toggle strong,.feedback-report-toggle small { display:block; }
.feedback-report-toggle strong { font-size:11.5px; }
.feedback-report-toggle small { margin-top:3px;color:var(--muted);font-size:9.5px;line-height:1.35; }
.feedback-context-note { display:flex;align-items:flex-start;gap:10px;margin:0;padding:14px 4px 0;color:var(--muted);background:transparent; }
.feedback-context-note .dot { flex:0 0 auto;margin-top:5px;background:var(--ok); }
.feedback-context-note p { max-width:74ch;margin:0;font-size:10.5px;line-height:1.5; }

.project-feedback-story { --story-base:var(--slate);--story-dark:var(--ink);--story-soft:var(--paper-2);display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:24px;margin-bottom:16px;padding:24px;border:1px solid color-mix(in srgb,var(--story-base) 24%,var(--hair));border-radius:18px;background:linear-gradient(135deg,#fff,var(--story-soft)); }
.project-feedback-story--ok { --story-base:var(--ok);--story-dark:var(--ok-d);--story-soft:var(--ok-s); }
.project-feedback-story--warn { --story-base:var(--warn);--story-dark:var(--warn-d);--story-soft:var(--warn-s); }
.project-feedback-story--danger { --story-base:var(--red);--story-dark:var(--red-d);--story-soft:var(--red-s); }
.project-feedback-story .tiny { color:var(--story-dark); }
.project-feedback-story h2 { margin:5px 0 7px;color:var(--story-dark);font-size:clamp(20px,2.4vw,29px);letter-spacing:-.035em; }
.project-feedback-story p:last-child { max-width:680px;margin:0;color:var(--muted);font-size:12.5px;line-height:1.55; }
.project-feedback-coverage { display:grid;gap:5px;padding:16px;border-radius:14px;color:#fff;background:var(--story-dark); }
.project-feedback-coverage strong { font-size:28px; }
.project-feedback-coverage span { font-size:10px;opacity:.82; }
.project-feedback-coverage .gauge { margin-top:5px;background:rgb(255 255 255 / 22%); }
.project-feedback-coverage .gauge i { background:#fff; }
.project-feedback-confidence { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px; }
.project-feedback-kpi { --kpi-base:var(--slate);--kpi-dark:var(--ink);--kpi-soft:var(--paper-2);display:grid;grid-template-columns:8px minmax(0,1fr);gap:14px;min-height:124px;padding:18px;border:1px solid var(--kpi-dark);border-radius:16px;color:#fff;background:var(--kpi-dark);box-shadow:0 10px 24px color-mix(in srgb,var(--kpi-base) 20%,transparent); }
.project-feedback-kpi--ok { --kpi-base:var(--ok);--kpi-dark:var(--ok-d);--kpi-soft:var(--ok-s); }
.project-feedback-kpi--warn { --kpi-base:var(--warn);--kpi-dark:var(--warn-d);--kpi-soft:var(--warn-s); }
.project-feedback-kpi--danger { --kpi-base:var(--red);--kpi-dark:var(--red-d);--kpi-soft:var(--red-s); }
.project-feedback-kpi__mark { border-radius:999px;background:rgb(255 255 255 / 46%); }
.project-feedback-kpi div { display:grid;align-content:center; }
.project-feedback-kpi p { margin:0;color:#fff;font-size:11px;font-weight:760; }
.project-feedback-kpi strong { margin:4px 0;color:#fff;font-size:30px; }
.project-feedback-kpi small { color:#fff;font-size:10px;opacity:.78; }
.project-feedback-grid { display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:16px;margin-bottom:16px; }
.project-feedback-conditions__body,.project-feedback-signals__body { display:grid;gap:13px;padding:18px 20px; }
.project-feedback-conditions__body article { display:grid;gap:8px; }
.project-feedback-conditions__body header,.project-feedback-conditions__body footer { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.project-feedback-conditions__body header strong { font-size:11.5px; }
.project-feedback-conditions__body header span { color:var(--muted);font-size:10px; }
.project-feedback-condition-bar { display:flex;height:9px;overflow:hidden;border-radius:999px;background:var(--paper-2); }
.project-feedback-condition-bar i { min-width:0; }
.project-feedback-condition-bar .is-ok,.project-feedback-conditions footer .is-ok { background:var(--ok); }
.project-feedback-condition-bar .is-warn,.project-feedback-conditions footer .is-warn { background:var(--warn); }
.project-feedback-condition-bar .is-danger,.project-feedback-conditions footer .is-danger { background:var(--red); }
.project-feedback-conditions__body footer { justify-content:flex-start;gap:14px;color:var(--muted);font-size:10px; }
.project-feedback-conditions__body footer span { display:flex;align-items:center;gap:5px; }
.project-feedback-conditions__body footer i { width:7px;height:7px;border-radius:50%; }
.project-feedback-signals__body > div { display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding-bottom:11px;border-bottom:1px solid var(--hair); }
.project-feedback-signals__body > div:last-child { padding-bottom:0;border:0; }
.project-feedback-signals__body span { color:var(--red-d);font-size:9px;font-weight:800; }
.project-feedback-signals__body strong { font-size:11px;line-height:1.35; }
.project-feedback-signals__body b { display:grid;place-items:center;min-width:28px;height:28px;border-radius:9px;color:var(--red-d);background:var(--red-s);font-size:11px; }
.project-feedback-empty-copy { margin:0;color:var(--muted);font-size:12px;line-height:1.5; }
.project-feedback-condition-cards { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px; }
.project-feedback-condition-card { display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:17px;padding:17px;border:1px solid var(--hair);border-radius:15px;background:#fff; }
.project-feedback-condition-ring { position:relative;display:grid;place-items:center;align-content:center;width:94px;height:94px;border-radius:50%;background:conic-gradient(var(--ok) 0 var(--good),var(--warn) var(--good) var(--warn-end),var(--red) var(--warn-end) 100%); }
.project-feedback-condition-ring::after { content:"";position:absolute;inset:12px;border-radius:50%;background:#fff; }
.project-feedback-condition-ring strong,.project-feedback-condition-ring small { position:relative;z-index:1; }.project-feedback-condition-ring strong { font-size:22px; }.project-feedback-condition-ring small { color:var(--muted);font-size:8px;text-transform:uppercase; }
.project-feedback-condition-card__story { display:grid;gap:11px;min-width:0; }.project-feedback-condition-card__story h3 { margin:3px 0 0;font-size:15px; }.project-feedback-condition-legend { display:grid;gap:7px; }
.project-feedback-condition-legend span { display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:7px;font-size:9.5px; }.project-feedback-condition-legend i { width:8px;height:8px;border-radius:50%; }.project-feedback-condition-legend .is-ok i { background:var(--ok); }.project-feedback-condition-legend .is-warn i { background:var(--warn); }.project-feedback-condition-legend .is-danger i { background:var(--red); }.project-feedback-condition-legend b { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.project-feedback-condition-legend strong { color:var(--muted);font-size:9px; }
.project-feedback-timeline { margin-bottom:18px; }
.project-feedback-timeline__body { position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:0;padding:24px 20px 20px;overflow-x:auto; }
.project-feedback-timeline__body::before { content:"";position:absolute;top:32px;left:28px;right:28px;height:1px;background:var(--hair); }
.project-feedback-timeline__body article { position:relative;display:grid;justify-items:center;gap:6px;min-width:74px;text-align:center; }
.project-feedback-timeline__body article > span { width:17px;height:17px;border:4px solid #fff;border-radius:50%;background:var(--slate);box-shadow:0 0 0 1px var(--hair);z-index:1; }
.project-feedback-timeline__body article.is-ok > span { background:var(--ok); }.project-feedback-timeline__body article.is-warn > span { background:var(--warn); }.project-feedback-timeline__body article.is-danger > span { background:var(--red); }
.project-feedback-timeline__body strong { max-width:82px;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap; }.project-feedback-timeline__body small { color:var(--muted);font-size:9px; }
.project-feedback-notes { margin-top:22px; }.project-feedback-notes__head { display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:12px; }.project-feedback-notes__head h2 { margin:4px 0 0;font-size:20px; }.project-feedback-notes__grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.project-feedback-notes__nav { display:flex;align-items:center;gap:7px; }.project-feedback-notes__nav > span { margin-right:3px;color:var(--muted);font-size:10px; }.project-feedback-notes__arrow { display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--hair);border-radius:50%;color:#fff;background:var(--vio-d);cursor:pointer;font-size:17px; }.project-feedback-notes__arrow:disabled { color:var(--muted);background:var(--paper-2);cursor:default;opacity:.65; }
.project-feedback-notes blockquote { --note-color:var(--slate);margin:0;padding:17px;border:1px solid color-mix(in srgb,var(--note-color) 24%,var(--hair));border-radius:15px;background:#fff; }.project-feedback-notes blockquote.is-ok { --note-color:var(--ok); }.project-feedback-notes blockquote.is-warn { --note-color:var(--warn); }.project-feedback-notes blockquote.is-danger { --note-color:var(--red); }
.project-feedback-notes blockquote p { margin:0;color:var(--text);font-size:12px;line-height:1.55; }.project-feedback-notes blockquote footer { display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding-top:10px;border-top:1px solid var(--hair);color:var(--muted);font-size:9px; }.project-feedback-notes blockquote strong { color:var(--note-color); }

@media (max-width: 820px) {
  .projects-carousel { --project-page-size:2; }
  .project-participant-filters { grid-template-columns: 1fr; }
  .project-share-layout { grid-template-columns: 1fr; }
  .project-list-v2, .project-mode-grid, .project-code-grid, .project-chart-grid, .project-settings-grid, .project-settings-layout, .project-test-chart-grid { grid-template-columns: 1fr; }
  .project-wizard__head { align-items: flex-start; flex-direction: column; }
  .project-setup-block { grid-template-columns: 1fr; gap: 16px; }
  .project-participant-row { grid-template-columns: minmax(0, 1fr) auto; }
  .project-participant-row__progress { grid-column: 1 / -1; grid-row: 2; }
  .project-participant-row__sync { grid-column: 1; }
  .project-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-new-participant__layout { grid-template-columns:1fr; }
  .project-test-version__head { grid-template-columns:1fr; }
  .project-feedback-grid { grid-template-columns:1fr; }
  .project-feedback-condition-cards { grid-template-columns:1fr; }
  .project-general-charts { grid-template-columns:1fr;gap:16px;margin-top:18px; }
  .project-general-domain-card .blk__h { align-items:flex-start;flex-direction:column;gap:7px; }
  .project-general-domain-card .blk__h .fnt { max-width:none;margin:0;line-height:1.5;text-align:left; }
  .project-general-domain-list { gap:17px;padding:17px 16px 19px; }
  .project-general-timeline-card__body { padding:18px 16px 17px; }
}

@media (max-width: 760px) {
  #project-general-results { min-width:0; }
  .project-general-exports { gap:12px; }
  .project-general-exports .door { display:grid;grid-template-columns:38px minmax(0,1fr) auto;grid-template-areas:"icon title action" "icon description action";align-items:center;gap:4px 12px;min-height:0;padding:16px; }
  .project-general-exports .door__ic { grid-area:icon;margin:0; }
  .project-general-exports .door__t { grid-area:title;min-width:0;font-size:15px;line-height:1.25; }
  .project-general-exports .door__d { grid-area:description;min-width:0;margin:0;font-size:10.5px;line-height:1.4; }
  .project-general-exports .b { grid-area:action;align-self:center;justify-content:center;min-width:82px;padding-inline:12px; }
  .project-general-charts .blk__h { padding:15px 16px; }
  .project-general-domain-row__head { gap:10px; }
  .project-general-domain-row__label { font-size:12px; }
  .participant-apply-checklist { grid-template-columns:1fr; }
  .participant-apply-test { grid-template-columns:auto 1fr auto;gap:10px; }
  .participant-apply-test > .lab { grid-column:2;justify-self:start; }
  .participant-apply-test > .fig:not(:first-child) { grid-column:2; }
  .participant-apply-test > .b { grid-column:3;grid-row:1 / span 3; }
}

@media (max-width: 1100px) {
  .feedback-editorial-surface { grid-template-columns:1fr; }
  .feedback-conditions-card { border-top:0;border-left:0; }
  .project-participants-table__header { display:none; }
  .project-participant-card { grid-template-columns:repeat(2,minmax(0,1fr));align-items:start; }
  .project-participant-cell::before { display:block; }
  .project-participant-cell--battery,.project-participant-actions { grid-column:1/-1; }
  .project-participant-actions { justify-content:flex-start; }
}

@media (max-width: 560px) {
  .projects-carousel { --project-page-size:1; --project-gap:12px; }
  .projects-carousel__viewport { padding-bottom:11px; }
  .project-card-v2 { min-height:344px; }
  .project-card-v2__header { padding:18px 18px 14px; }
  .project-card-v2__intro { padding:0 18px 16px; }
  .project-card-v2__lower { min-height:158px;padding:16px 18px; }
  .project-card-v2__footer { padding:11px 13px; }
  .project-card-v2__actions .b { padding-inline:10px; }
  .projects-carousel__navigation { justify-content:center; }
  .project-page { padding-left: 14px; padding-right: 14px; }
  .project-page .page-head--split { align-items: stretch; }
  .project-page .page-head .btn-row { width: 100%; }
  .project-page .page-head .btn { flex: 1; }
  .project-steps li { width: 30px; height: 30px; }
  .project-code-settings, .project-review, .project-participant-form__grid, .project-public-data { grid-template-columns: 1fr; }
  .project-create-grid { grid-template-columns:1fr !important; }
  .project-review-grid { grid-template-columns:1fr; }
  .project-review-hero { grid-template-columns:auto 1fr; }
  .project-review-hero > .lab { grid-column:1/-1;justify-self:start; }
  .project-data-option { grid-template-columns:auto minmax(0,1fr) auto; }
  .project-participant-card { grid-template-columns:1fr;gap:11px;padding:16px; }
  .project-participant-cell--battery,.project-participant-actions { grid-column:1; }
  .project-participant-actions .b:first-child { flex:1;justify-content:center; }
  .project-test-card { padding:16px; }
  .project-test-card__identity { grid-template-columns:1fr; }
  .project-test-card__identity .b { grid-column:1;width:100%;justify-content:center; }
  .project-test-card__stats { grid-template-columns:1fr;padding-left:0; }
  .project-test-card__coverage { padding-left:0; }
  .project-test-detail-nav { margin-bottom:14px;padding:5px; }
  .project-test-detail-nav button { min-height:40px;padding:8px 10px; }
  .project-test-version { gap:14px;padding:14px;border-radius:17px; }
  .project-test-version__head { gap:14px;padding-bottom:14px; }
  .project-test-version__identity h3 { font-size:20px; }
  .project-test-version__summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .feedback-confidence-grid,.project-feedback-confidence { grid-template-columns:1fr; }
  .feedback-confidence-option { min-height:104px;padding:15px; }
  .feedback-editorial-surface { border-radius:18px; }
  .feedback-pane-head { min-height:126px;padding:24px 20px 20px; }
  .feedback-pane-number { top:-22px;right:8px;font-size:100px; }
  .feedback-pane-head .wt { font-size:27px; }
  .feedback-note-card__body { min-height:0;padding:22px 20px; }
  .feedback-note-field textarea { min-height:180px; }
  .feedback-condition-grid { grid-template-columns:1fr; }
  .feedback-condition-grid { row-gap:8px;padding:6px 0 8px; }
  .feedback-condition-group { min-height:0;padding:24px 20px; }
  .feedback-condition-group:nth-child(even) { border-left:0; }
  .feedback-choice-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .feedback-choice-grid label { min-height:50px;padding-inline:4px;font-size:9px; }
  .feedback-report-toggle { padding:18px 20px; }
  .project-feedback-story { grid-template-columns:1fr;padding:18px; }
  .project-feedback-coverage { grid-template-columns:auto 1fr;align-items:center; }
  .project-feedback-coverage .gauge { grid-column:1/-1; }
  .project-feedback-notes__head { align-items:flex-start;flex-direction:column; }
  .project-feedback-notes__grid { grid-template-columns:1fr; }
  .project-feedback-condition-card { grid-template-columns:86px minmax(0,1fr);padding:14px; }
  .project-feedback-condition-ring { width:78px;height:78px; }
  .project-test-session-list { grid-template-columns:1fr;padding:9px; }
  .project-test-sessions__intro { align-items:flex-start; }
  .project-test-sessions__intro .fnt { max-width:none;text-align:left; }
  .project-test-session-row { grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity state" "result result" "action action";gap:11px;padding:13px; }
  .project-test-session-row__state { align-self:start; }
  .project-test-session-row__action { justify-self:stretch;min-height:40px;justify-content:center; }
  .project-code-preview { align-items: flex-start; flex-direction: column; }
  .project-wizard__actions { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .project-dashboard-topbar .btn { font-size: .75rem; }
  .project-dashboard-hero__main { flex-direction: column; }
  .project-dashboard-hero__metrics { grid-template-columns: 1fr; }
  .project-participant-row { grid-template-columns: 1fr; }
  .project-participant-row__progress, .project-participant-row__sync { grid-column: 1; }
  .project-participant-row .btn { width: 100%; }
  .project-new-participant__fields { grid-template-columns:1fr;padding:16px; }
  .project-new-participant__field--wide { grid-column:1; }
  .project-new-participant__segments { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-new-participant__share-row { grid-template-columns:1fr; }
  .project-new-participant__actions { flex-direction:column; }
  .project-new-participant__actions .b { width:100%;justify-content:center; }
  .project-participant-created .doors { grid-template-columns:1fr; }
  .project-kpis, .project-stats-grid { grid-template-columns: 1fr 1fr; }
  .project-funnel > div, .project-test-completion > div { grid-template-columns: minmax(78px, 1fr) minmax(80px, 1.5fr) 42px; }
  .project-histogram { gap: 3px; padding-left: 2px; padding-right: 2px; }
  .project-histogram small { font-size: .52rem; }
  .project-public-page { padding: 12px; min-height: 100vh; }
}

@media (prefers-reduced-motion: reduce) {
  .project-mode-card, .project-code-card, .project-card-v2, #proyectos-list.projects-carousel__track { transition: none; animation: none; }
}

/* Feedback v6: handoff 15a y 15b. Sólo afecta estas dos superficies. */
.project-feedback-v6 { display:grid;gap:20px; }
.project-feedback-v6__summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
.project-feedback-v6 .door--ok { background:var(--ok-d); }
.project-feedback-v6 .door--warn { background:var(--warn-d); }
.project-feedback-v6 .door--danger { background:var(--red-d); }
.project-feedback-v6__summary .door { min-height:145px;padding:20px; }
.project-feedback-v6__summary .door__n { font-size:clamp(34px,4vw,52px);line-height:.95; }
.project-feedback-v6__conditions>.blk__h { align-items:center;gap:20px; }
.project-feedback-v6__legend { display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap; }
.project-feedback-v6__legend span { display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em; }
.project-feedback-v6__legend i { width:7px;height:7px;border-radius:50%; }
.project-feedback-v6__condition-row { grid-template-columns:170px minmax(0,1fr) 70px;gap:18px; }
.project-feedback-v6__condition-row>.fnt { text-align:right; }
.project-feedback-v6__condition-row .stack { display:flex;overflow:hidden;height:11px;border-radius:999px;background:var(--paper-2); }
.project-feedback-v6__condition-row .stack i { display:block;height:100%; }
.project-feedback-v6__notes-nav { display:flex;align-items:center;gap:7px; }
.project-feedback-v6__notes-nav .b { width:32px;min-height:32px;padding:0;justify-content:center; }
.project-feedback-v6__note-row { grid-template-columns:auto 90px minmax(0,1fr) auto;gap:14px; }
.project-feedback-v6__note-row .mut { margin:0;line-height:1.45; }

.feedback-v6-body>section { display:grid;gap:20px; }
.feedback-v6-confidence-section { display:grid;gap:10px; }
.feedback-v6-form-grid { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px;align-items:start; }
.session-feedback-page.is-participant-origin .feedback-v6-form-grid { grid-template-columns:1fr; }
.session-feedback-page.is-participant-origin .feedback-v6-conditions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8px; }
.session-feedback-page.is-participant-origin .feedback-v6-conditions>.blk__h,
.session-feedback-page.is-participant-origin .feedback-v6-conditions>.feedback-v6-include { grid-column:1/-1; }
.session-feedback-page.is-participant-origin .feedback-v6-condition-row { grid-template-columns:1fr;min-height:0;padding:22px 22px 20px;align-content:center;gap:13px; }
.session-feedback-page.is-participant-origin .feedback-v6-condition-row>.nm { width:auto;font-size:14px; }
.session-feedback-page.is-participant-origin .feedback-v6-choices { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:stretch; }
.session-feedback-page.is-participant-origin .feedback-v6-choices .ch { min-width:0; }
.session-feedback-page.is-participant-origin .feedback-v6-choices .ch span { width:100%;min-height:38px;padding:7px 6px;justify-content:center;text-align:center;line-height:1.18; }
.feedback-v6-note__body { display:grid;gap:10px;padding:16px 20px 20px; }
.feedback-v6-note .ta { width:100%;min-height:150px;padding:16px;border:0;border-radius:12px;background:var(--paper-2);resize:vertical; }
.feedback-v6-note__meta { display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px; }
.feedback-v6-condition-row { grid-template-columns:150px minmax(0,1fr);gap:14px;margin:0;min-inline-size:0;border:0; }
.feedback-v6-condition-row.it+.feedback-v6-condition-row.it { border-top:0; }
.feedback-v6-condition-row>.nm { width:150px;padding:0; }
.feedback-v6-choices { display:flex;align-items:center;justify-content:flex-start;gap:6px;flex-wrap:wrap; }
.feedback-v6-choices .ch { position:relative;margin:0; }
.feedback-v6-choices .ch input { position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer; }
.feedback-v6-choices .ch span { display:inline-flex;min-height:32px;padding:7px 10px;border:1px solid var(--hair);border-radius:999px;align-items:center;background:#fff;color:var(--ink-soft);font-size:10px;font-weight:800;cursor:pointer;pointer-events:none; }
.feedback-v6-choices .ch:has(input:checked) span { border-color:var(--vio-d);background:var(--vio-d);color:#fff; }
.feedback-v6-choices .ch:has(input:focus-visible) span { outline:3px solid color-mix(in srgb,var(--vio) 30%,transparent);outline-offset:2px; }
.feedback-v6-include { position:relative;grid-template-columns:auto minmax(0,1fr);cursor:pointer; }
.feedback-v6-include input { position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer; }
.feedback-v6-include em { display:grid;width:22px;height:22px;border:1px solid var(--hair);border-radius:7px;background:#fff;color:transparent;place-items:center;font-style:normal; }
.feedback-v6-include:has(input:checked) em { border-color:var(--ok-d);background:var(--ok-d);color:#fff; }

@media (max-width:700px) {
  .project-feedback-v6__summary { grid-template-columns:1fr; }
  .project-feedback-v6__summary .door { min-height:116px; }
  .project-feedback-v6__condition-row { grid-template-columns:1fr auto;gap:8px 12px; }
  .project-feedback-v6__condition-row .stack { grid-column:1/-1;grid-row:2; }
  .project-feedback-v6__condition-row>.fnt { grid-column:2;grid-row:1; }
  .project-feedback-v6__note-row { grid-template-columns:auto minmax(0,1fr) auto; }
  .project-feedback-v6__note-row .mut { grid-column:2/-1; }
  .feedback-v6-form-grid { grid-template-columns:1fr; }
  .session-feedback-page.is-participant-origin .feedback-v6-conditions { grid-template-columns:1fr; }
  .session-feedback-page.is-participant-origin .feedback-v6-conditions>.blk__h,
  .session-feedback-page.is-participant-origin .feedback-v6-conditions>.feedback-v6-include { grid-column:1; }
  .session-feedback-page.is-participant-origin .feedback-v6-choices { display:flex; }
  .session-feedback-page.is-participant-origin .feedback-v6-choices .ch { flex:0 0 auto; }
  .session-feedback-page.is-participant-origin .feedback-v6-choices .ch span { width:auto;min-height:32px;padding:7px 10px; }
  .feedback-v6-condition-row { grid-template-columns:1fr; }
  .feedback-v6-condition-row>.nm { width:auto; }
}
