[hidden] { display: none !important; }
:root {
  --fondo: #0e0f12;
  --panel: #15171c;
  --panel2: #1b1e24;
  --linea: rgba(195, 199, 206, .38);
  --texto: #e7e4dc;
  --tenue: #8d8f96;
  --plata: #c3c7ce;
  --plata-suave: rgba(195, 199, 206, .55);
  --plata-brillo: #f4f6f9;
  --gris-luz: rgba(226, 229, 235, .20);
  --gris-luz-tenue: rgba(226, 229, 235, .07);
  --suave: .25s ease;
  --verde: #4caf7d;
  --ambar: #e0a83a;
  --gris: #6f737b;
  --rojo: #d4574e;
  --radio: 10px;
  --borde: 2px;              /* contorno plateado de botones, tarjetas y paneles */
  --borde-plata: #aeb3bb;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; }
::selection { background: rgba(226,229,235,.30); color: #fff; }
/* marco plateado grueso alrededor de toda la página */
body::before {
  content: ""; position: fixed; inset: 0; z-index: 1000; pointer-events: none;
  border: 3px solid var(--plata);
  border-image: linear-gradient(135deg, #8b9098, #eef0f3 25%, #a4a9b1 50%, #f4f6f9 75%, #8b9098) 1;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.6);
}
body {
  margin: 0; background: var(--fondo); color: var(--texto);
  font-family: "Manrope", "Helvetica Neue", Arial, sans-serif; font-weight: 400;
  font-size: 15px; line-height: 1.5; letter-spacing: .01em;
}
a { color: var(--texto); }
.pagina { max-width: none; margin: 0; padding: 26px 28px 40px; }

/* ---------- cabecera */
.cabecera { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 22px; }
.marca { text-decoration: none; display: inline-block; }
/* nombre y raya en el gris metálico del casco del logo (tonos medidos en logo.png: 81 · 114 · 137) */
.marca-fila { display: inline-flex; align-items: center; gap: 14px; }
.marca h1 {
  font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-weight: 300;
  font-size: 46px; letter-spacing: .14em; margin: 0; line-height: 1.05; color: #727273;
  background: linear-gradient(180deg, #9a9a9b 0%, #898889 38%, #5f5f60 62%, #7c7c7d 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  padding-bottom: 8px; border-bottom: 4px solid #727273;
  border-image: linear-gradient(90deg, #515152, #8a8989 45%, #727272 70%, #515152) 1;
}
.marca-logo { width: 64px; height: 64px; object-fit: contain; flex: none; filter: drop-shadow(0 2px 6px rgba(0,0,0,.6)); }
.subtitulo { margin: 8px 0 0; color: var(--tenue); font-size: 13px; letter-spacing: .08em; font-weight: 300; }
.acciones-cab { display: flex; gap: 8px; }
.aviso { border: 1px solid var(--ambar); color: var(--ambar); padding: 8px 12px; border-radius: var(--radio); margin-bottom: 16px; font-size: 13px; }

/* ---------- botones: todos con borde dorado fino */
.btn, button, select {
  font-family: inherit; font-size: 13px; font-weight: 500; letter-spacing: .02em;
  color: var(--texto); background-color: var(--panel2); border: var(--borde) solid var(--borde-plata);
  border-radius: 8px; padding: 7px 13px; cursor: pointer; text-decoration: none;
  display: inline-flex; align-items: center; gap: 6px;
  transition: border-color var(--suave), background-color var(--suave), box-shadow var(--suave), color var(--suave);
  min-height: 34px;
}
/* hover: SOLO se ilumina el contorno (plateado brillante + halo). El fondo NO cambia ni se vuelve transparente. */
.btn:hover, button:hover, select:hover, .btn-plata:hover, .btn-fuente:hover,
.tarjeta:hover, .panel:hover, .panel.tarjeta:hover, .tarea:hover, .resumen .filtro:hover, .j-q:hover {
  border-color: var(--plata-brillo);
  box-shadow: 0 0 0 1px rgba(244,246,249,.35), 0 0 12px rgba(244,246,249,.22);
}
.btn:focus-visible, button:focus-visible, select:focus-visible, a:focus-visible { outline: 1px solid var(--plata-brillo); outline-offset: 2px; }
button:disabled:hover { border-color: var(--borde-plata); box-shadow: none; }
button:disabled { opacity: .5; cursor: wait; }
.btn-tenue { color: var(--tenue); }
.btn-mini { padding: 4px 10px; min-height: 28px; font-size: 12px; }
/* Sí / No bien visibles */
.sino .btn { font-size: 14.5px; font-weight: 700; letter-spacing: .06em; min-height: 38px; padding: 7px 18px; }
.btn-si { color: #a9ecc6; background-color: rgba(76,175,125,.14); }
.btn-no { color: #f6b3ad; background-color: rgba(212,87,78,.14); }
.btn-si.activo { background-color: #2f8f5f; color: #fff; box-shadow: 0 0 10px rgba(76,175,125,.45); }
.btn-no.activo { background-color: #b8443c; color: #fff; box-shadow: 0 0 10px rgba(212,87,78,.45); }
/* 11-nov-2026: tercer botón «Pendiente de decisión»; los no marcados se ven claramente activos (no «apagados») */
.btn-pendiente { color: #f3d58a; background-color: rgba(214,170,60,.14); }
.btn-pendiente.activo { background-color: #a07a1e; color: #fff; box-shadow: 0 0 10px rgba(214,170,60,.45); }
.sino .btn:not(:disabled):not(.activo) { border-color: var(--plata-brillo, #eef0f3); }
.sino .btn:disabled, .bn-botones .btn:disabled { opacity: .35; cursor: not-allowed; filter: grayscale(.6); }
.sino .btn.activo:disabled { opacity: .7; }
.btn.guardando { opacity: .6; cursor: progress; }
.conf-en-linea { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; width: 100%; padding: 6px 8px;
  border: 1px dashed var(--borde-plata); border-radius: 8px; font-size: 13.5px; }
.sino { flex-wrap: wrap; }
select { appearance: none; -webkit-appearance: none; padding-right: 28px; background-image: linear-gradient(45deg, transparent 50%, var(--plata) 50%), linear-gradient(135deg, var(--plata) 50%, transparent 50%); background-position: calc(100% - 15px) 50%, calc(100% - 10px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
select option { background: var(--panel2); color: var(--texto); }

/* ---------- resumen: contadores-filtro compactos en una sola línea */
.resumen { display: flex; flex-wrap: nowrap; gap: 8px; margin-bottom: 18px; overflow-x: auto; }
.resumen .filtro { flex: 1 1 0; min-width: 0; justify-content: center; gap: 8px; white-space: nowrap;
  background-color: var(--panel); border-color: var(--borde-plata); border-radius: var(--radio); padding: 6px 12px; min-height: 36px; }
.resumen .filtro b { font-size: 18px; font-weight: 400; line-height: 1; }
.resumen .filtro span { color: var(--tenue); font-size: 12px; letter-spacing: .03em; overflow: hidden; text-overflow: ellipsis; }
.resumen .filtro.activo { background-color: var(--plata); border-color: var(--plata-brillo); color: var(--fondo);
  box-shadow: 0 0 0 1px var(--plata-brillo), 0 0 14px rgba(244,246,249,.25); }
.resumen .filtro.activo span { color: var(--fondo); font-weight: 600; }
.entregas.solo-pendientes { grid-template-columns: 1fr; }

/* ---------- paneles */
.panel { background: var(--panel); border: var(--borde) solid var(--borde-plata); border-radius: var(--radio); padding: 18px; margin-bottom: 22px;  transition: background-color var(--suave), border-color var(--suave), box-shadow var(--suave); }
.panel h2 { font-weight: 400; font-size: 17px; letter-spacing: .06em; margin: 0 0 14px; padding-bottom: 8px; border-bottom: 1px solid var(--linea); }
.panel h2.sin-linea { border: 0; padding: 0; margin: 0; }
.panel h3 { font-weight: 500; font-size: 13px; letter-spacing: .06em; color: var(--tenue); margin: 16px 0 8px; text-transform: uppercase; }
.tenue { color: var(--tenue); }
.migas { margin: 0 0 12px; } .migas a { color: var(--tenue); text-decoration: none; font-size: 13px; }

/* ---------- tarjetas compactas */
.tarjetas { display: flex; flex-wrap: wrap; gap: 12px; }  /* en una sola fila mientras quepan */
.tarjeta { background: var(--panel2); border: var(--borde) solid var(--borde-plata); border-radius: var(--radio); padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; flex: 1 1 300px; min-width: 0;
  transition: background-color var(--suave), border-color var(--suave), box-shadow var(--suave); }
/* bordes de tarjeta: plateados; el estado lo indica el chip */
.panel.tarjeta { background: var(--panel); }
.t-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.t-nombre { font-weight: 600; font-size: 14.5px; text-decoration: none; line-height: 1.3; }
.t-nombre:hover { text-decoration: underline; text-decoration-color: var(--plata-suave); text-underline-offset: 3px; }
.chip { font-size: 11px; padding: 2px 8px; border-radius: 99px; white-space: nowrap; border: 1px solid; }
.chip-si { color: #9fe0bd; border-color: rgba(76,175,125,.5); }
.chip-socio { color: #f1c879; border-color: rgba(224,168,58,.5); }
.chip-pendiente { color: #b6b8bd; border-color: rgba(111,115,123,.6); }
.chip-no { color: #f2aaa4; border-color: rgba(212,87,78,.5); }
.t-estado { margin: 0; color: var(--tenue); font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.t-filas, .t-aviso { margin: 0; font-size: 12px; line-height: 1.3; }
.t-aviso { color: #d9a441; }
.j-origen { font-weight: normal; margin-left: 4px; }
.otra-fila { margin: 4px 0; }
.t-datos { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.avance { flex: 1; min-width: 150px; }
.avance .barra { height: 4px; background: var(--linea); border-radius: 4px; overflow: hidden; margin-bottom: 3px; }
.avance .barra span { display: block; height: 100%; background: var(--plata); }
.avance small, .limite { font-size: 12px; color: var(--tenue); }
.limite.urge { color: var(--rojo); }
.decision { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.sino { display: flex; gap: 6px; }
.sino .btn { min-width: 64px; justify-content: center; }
.conquien { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--tenue); }
.conquien select { max-width: 190px; }
.estado-largo { white-space: pre-wrap; font-size: 13.5px; }

/* ---------- equipo */
.equipo { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; padding: 6px 0; }
.persona { flex-direction: column; justify-content: center; padding: 20px 10px; min-height: 120px; border-radius: var(--radio); }
.persona .p-nombre { font-size: 16px; font-weight: 500; letter-spacing: .04em; }
.persona small { color: var(--tenue); font-size: 12px; font-weight: 400; }
.sem { display: inline-block; width: 11px; height: 11px; border-radius: 50%; flex: none; }
.persona .sem { width: 14px; height: 14px; margin-bottom: 4px; }
.sem-verde { background: var(--verde); box-shadow: 0 0 8px rgba(76,175,125,.5); }
.sem-amarillo { background: var(--ambar); box-shadow: 0 0 8px rgba(224,168,58,.5); }
.sem-rojo { background: var(--rojo); box-shadow: 0 0 8px rgba(212,87,78,.5); }
.sem-gris { background: var(--gris); }

/* ---------- entregas */
.entregas { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.entregas h3 { margin-top: 0; }
.cuenta { color: var(--plata); font-weight: 400; margin-left: 4px; }
.fila-ent { display: flex; align-items: center; gap: 10px; padding: 9px 8px; border: 1px solid transparent; border-radius: 8px; border-bottom: 1px solid var(--linea);  transition: background-color var(--suave), border-color var(--suave), box-shadow var(--suave); }
.fe-txt { flex: 1; min-width: 0; }
.fe-txt b { font-weight: 500; font-size: 13.5px; display: block; }
.fe-txt small { color: var(--tenue); font-size: 12px; }
details.grupo { display: block; }
details.grupo summary { display: flex; align-items: center; gap: 10px; cursor: pointer; list-style: none; }
details.grupo summary::-webkit-details-marker { display: none; }
details.grupo ul { margin: 8px 0 2px 22px; padding: 0; list-style: none; max-height: 260px; overflow: auto; }
details.grupo li { font-size: 12.5px; display: flex; justify-content: space-between; gap: 10px; padding: 2px 0; color: var(--tenue); }
details.grupo li span { color: var(--texto); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- detalle */
.pestanas { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px; }
.md { font-size: 14px; overflow-wrap: anywhere; }
.md h1 { font-size: 18px; font-weight: 500; } .md h2 { font-size: 15.5px; } .md h3 { font-size: 13px; }
.md table, .tabla { border-collapse: collapse; width: 100%; font-size: 12.5px; margin: 10px 0; }
.md th, .md td, .tabla th, .tabla td { border: 1px solid var(--linea); padding: 6px 8px; text-align: left; vertical-align: top; }
.md th, .tabla th { color: var(--tenue); font-weight: 500; background: var(--panel2); }
.md code { background: var(--panel2); padding: 1px 5px; border-radius: 4px; font-size: 12.5px; }
.md del { color: var(--tenue); }
.md blockquote { border-left: 1px solid var(--plata-suave); margin: 10px 0; padding: 2px 12px; color: var(--tenue); }
.md, .tabla-envoltura { overflow-x: auto; }
.tabla tr.completo td:nth-child(3) { color: #9fe0bd; }
.tabla td.doc { color: var(--tenue); font-size: 12px; }
.fuente { color: var(--tenue); font-size: 11.5px; margin-top: 10px; overflow-wrap: anywhere; }
details summary.btn { list-style: none; } details summary.btn::-webkit-details-marker { display: none; }

/* ---------- persona */
.tarea { border: var(--borde) solid var(--borde-plata); border-radius: var(--radio); padding: 12px 14px; margin-top: 12px; background: var(--panel2);  transition: background-color var(--suave), border-color var(--suave), box-shadow var(--suave); }

.tarea dl { display: grid; grid-template-columns: 140px 1fr; gap: 4px 12px; margin: 10px 0; font-size: 13.5px; }
.tarea dt { color: var(--tenue); }
.tarea dd { margin: 0; }

/* ---------- entrar, toast, pie */
.entrar { max-width: 340px; margin: 60px auto; background: var(--panel); border: var(--borde) solid var(--borde-plata); border-radius: var(--radio); padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.entrar h2 { margin: 0; font-weight: 400; letter-spacing: .06em; }
.entrar label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--tenue); }
.entrar input { font: inherit; color: var(--texto); background: var(--panel2); border: 1px solid var(--linea); border-radius: 8px; padding: 10px 12px; }
.entrar input:focus { outline: none; border-color: var(--plata-suave); }
.entrar .btn { justify-content: center; }
.error { color: var(--rojo); margin: 0; font-size: 13px; }
.toast { position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%) translateY(20px); background: var(--panel2); border: 1px solid var(--plata-suave); padding: 10px 16px; border-radius: 8px; opacity: 0; pointer-events: none; transition: .2s; font-size: 13.5px; max-width: 90vw; }
.toast.visible { opacity: 1; transform: translateX(-50%); }
.toast.error { border-color: var(--rojo); color: #f2aaa4; }
.pie { color: var(--tenue); font-size: 11.5px; text-align: center; margin-top: 30px; letter-spacing: .04em; }

/* ---------- celular */
@media (max-width: 900px) {
  .equipo { grid-template-columns: repeat(3, 1fr); }
  .entregas { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .pagina { padding: 18px 14px 30px; }
  body::before { border-width: 5px; }
  .marca h1 { font-size: 36px; }
  .resumen { gap: 6px; }
  .resumen .filtro { padding: 5px 8px; gap: 5px; }
  .resumen .filtro b { font-size: 15px; }
  .resumen .filtro span { font-size: 10.5px; }
  .tarjetas .tarjeta { flex-basis: 100%; }
  .equipo { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .persona { min-height: 96px; }
  .conquien select { max-width: 150px; }
  .tarea dl { grid-template-columns: 1fr; }
  .tarea dt { margin-top: 6px; }
  .cabecera { align-items: flex-start; }
}

/* ---------- Descartadas (¿Participamos? = No): plegada al final, cerrada por defecto */
details.descartadas > summary { cursor: pointer; list-style: none; }
details.descartadas > summary::-webkit-details-marker { display: none; }
details.descartadas > summary h2 { display: inline; margin: 0; }
details.descartadas > summary h2::before { content: "▸ "; }
details.descartadas[open] > summary h2::before { content: "▾ "; }
details.descartadas[open] > summary { margin-bottom: 12px; }
details.descartadas .tarjeta { opacity: .75; }

/* ---------- Pregúntale a Mazzinger */
.pregunta { display: flex; gap: 10px; align-items: stretch; }
.pregunta textarea { flex: 1; font: inherit; color: var(--texto); background: var(--panel2); border: var(--borde) solid var(--borde-plata);
  border-radius: 8px; padding: 9px 12px; resize: vertical; min-height: 44px; }
.pregunta textarea:focus { outline: none; border-color: var(--plata-brillo); }
.pregunta button { align-self: flex-start; min-height: 44px; }
.pregunta button:disabled, .pregunta textarea:disabled { opacity: .55; cursor: wait; }
.q-nota { font-size: 12px; margin: 6px 0 0; }
.q-pensando { margin-top: 12px; color: var(--plata); font-size: 14px; display: flex; align-items: center; gap: 10px; }
.q-puntos { display: inline-flex; gap: 4px; }
.q-puntos i { width: 7px; height: 7px; border-radius: 50%; background: var(--plata); animation: q-lat 1.2s infinite ease-in-out; }
.q-puntos i:nth-child(2) { animation-delay: .2s; } .q-puntos i:nth-child(3) { animation-delay: .4s; }
@keyframes q-lat { 0%, 80%, 100% { opacity: .2; transform: scale(.8); } 40% { opacity: 1; transform: scale(1); } }
.q-resp { margin-top: 10px; padding: 10px 12px; background: var(--panel2); border: var(--borde) solid var(--borde-plata); border-radius: 8px;
  max-height: 340px; overflow: auto; font-size: 13.5px; line-height: 1.45; }
.q-resp.q-error { border-color: var(--rojo); }
.q-preg { margin: 0 0 8px; color: var(--tenue); font-style: italic; }
.q-texto p { margin: 0 0 6px; } .q-texto ul, .q-texto ol { margin: 2px 0 6px; padding-left: 20px; } .q-texto li { margin: 2px 0; }
.q-texto code { background: var(--panel); padding: 0 4px; border-radius: 4px; font-size: 12px; }
.q-texto strong { font-weight: 600; color: #fff; }
.q-fuentes { margin-top: 8px; padding-top: 6px; border-top: 1px solid var(--linea); font-size: 11px; color: var(--tenue); }
.q-fuentes > b { font-weight: 500; letter-spacing: .05em; text-transform: uppercase; font-size: 10.5px; }
.q-fbotones { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 4px; }
.btn-fuente { font-size: 11px; line-height: 1.3; padding: 2px 8px; border-radius: 6px; text-decoration: none; color: var(--texto);
  background-color: var(--panel); border: var(--borde) solid var(--borde-plata); max-width: 100%; overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap; transition: border-color var(--suave), box-shadow var(--suave); }
.btn-fuente i { font-style: normal; color: var(--tenue); }
.btn-fuente.sin { border-style: dashed; color: var(--tenue); white-space: normal; }
.q-historial { margin-top: 12px; font-size: 13.5px; }
.q-historial > summary, .q-item > summary { cursor: pointer; color: var(--tenue); padding: 4px 0; }
.q-item { margin-left: 8px; }
@media (max-width: 600px) { .pregunta { flex-direction: column; } .pregunta button { align-self: stretch; } }

/* ---------- tarjeta: avance grande + botones de consulta */
.avance-g { display: flex; flex-direction: column; gap: 8px; padding: 6px 0 2px; }
.ag-cifras { display: flex; align-items: flex-end; gap: 12px; }
.ag-pct { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: 54px; line-height: .9;
  color: var(--plata-brillo); letter-spacing: .01em; font-variant-numeric: tabular-nums; }
.ag-pct i { font-style: normal; font-size: 28px; color: var(--plata); margin-left: 2px; }
.ag-cifras small { color: var(--tenue); font-size: 12px; line-height: 1.35; padding-bottom: 3px; }
.ag-barra { height: 16px; background: rgba(195,199,206,.10); border: 1px solid var(--plata-suave); border-radius: 99px; overflow: hidden; }
.ag-barra span { display: block; height: 100%; border-radius: 99px; min-width: 0;
  background: linear-gradient(90deg, #8b9098, #eef0f3 55%, #c3c7ce); box-shadow: 0 0 10px rgba(226,229,235,.35); }
.avance-g.vacio .ag-pct { color: var(--tenue); }
.t-botones { display: flex; gap: 6px; flex-wrap: wrap; }
.btn-plata { font-size: 11.5px; font-weight: 500; letter-spacing: .03em; min-height: 26px; padding: 3px 10px; border-radius: 6px;
  border: var(--borde) solid var(--borde-plata); background-color: var(--panel); color: var(--texto); }

/* ---------- ventana de Pendientes / Decisiones / Ver propuesta */
.ventana { width: min(880px, 94vw); max-height: 88vh; padding: 0; color: var(--texto); background: var(--panel);
  border: 3px solid var(--plata); border-radius: var(--radio); box-shadow: 0 20px 60px rgba(0,0,0,.6); }
.ventana::backdrop { background: rgba(5,6,8,.72); }
#ventana-cont { display: flex; flex-direction: column; max-height: 88vh; }
.v-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 16px 20px 12px; border-bottom: 1px solid var(--linea); }
.v-cab h2 { margin: 2px 0 0; font-weight: 500; font-size: 18px; letter-spacing: .04em; }
.v-cuerpo { padding: 14px 20px 20px; overflow: auto; font-size: 13.5px; }
.v-cuerpo h3 { font-weight: 500; font-size: 12.5px; letter-spacing: .06em; color: var(--tenue); margin: 18px 0 8px; text-transform: uppercase; }
.v-rotulo { border: 1px solid var(--ambar); color: var(--ambar); padding: 6px 10px; border-radius: 8px; font-size: 12.5px; }
.v-grupo, .v-anexo { border: var(--borde) solid var(--borde-plata); border-radius: 8px; margin: 8px 0; background: var(--panel2); }
.v-grupo summary, .v-anexo summary { cursor: pointer; padding: 9px 12px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; list-style: none; }
.v-grupo summary::-webkit-details-marker, .v-anexo summary::-webkit-details-marker { display: none; }
.v-grupo summary::before, .v-anexo summary::before { content: "▸"; color: var(--tenue); font-size: 11px; transition: transform var(--suave); }
.v-grupo[open] > summary::before, .v-anexo[open] > summary::before { transform: rotate(90deg); }
.v-grupo ul, .v-anexo ul { margin: 0; padding: 4px 14px 10px 30px; }
.v-grupo li, .v-anexo li { margin: 6px 0; line-height: 1.45; }
.v-grupo li small, .v-anexo li small { display: block; color: var(--tenue); font-size: 11.5px; }
.v-anexo > p { padding: 0 14px 10px 30px; margin: 0; }
.v-est { font-size: 11px; padding: 1px 8px; border-radius: 99px; border: 1px solid; white-space: nowrap; }
.v-est.listo { color: #9fe0bd; border-color: rgba(76,175,125,.55); }
.v-est.realizar { color: #f1c879; border-color: rgba(224,168,58,.55); }
.v-num { color: var(--plata); font-size: 12px; font-variant-numeric: tabular-nums; }
.v-doc { flex-basis: 100%; color: var(--tenue); font-size: 11.5px; padding-left: 19px; overflow-wrap: anywhere; }
.v-tablero { display: flex; gap: 10px; flex-wrap: wrap; }
.v-tablero div { border: 1px solid var(--plata-suave); border-radius: 8px; padding: 8px 14px; display: flex; flex-direction: column; min-width: 160px; }
.v-tablero span { font-size: 11.5px; color: var(--tenue); }
.v-tablero b { font-weight: 600; font-size: 15px; }
.v-socio { border: 1px solid var(--ambar); color: #f1c879; padding: 8px 12px; border-radius: 8px; margin: 12px 0 0; font-weight: 500; }
.v-dec { display: flex; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--linea); }
.v-dec p { margin: 0 0 4px; }
.v-dec small { display: block; color: var(--tenue); font-size: 12px; margin-top: 2px; }
.v-dec small b { color: var(--plata); font-weight: 500; }
.v-id { flex: none; font-weight: 600; font-size: 12px; border: 1px solid var(--plata-suave); border-radius: 6px; padding: 1px 7px; height: fit-content; white-space: nowrap; max-width: 150px; overflow: hidden; text-overflow: ellipsis; }
.v-cargando { color: var(--tenue); padding: 30px 20px; }
@media (max-width: 900px) { .ag-pct { font-size: 46px; } .ventana { width: 100vw; max-height: 92vh; } }

/* ---------- Detectadas: dos grupos */
.grupo-lic + .grupo-lic { margin-top: 18px; }
.g-tit { margin: 4px 0 10px !important; }
.descartadas-g .tarjeta { opacity: .8; }

/* ---------- Pregúntale (mitad) + Preguntas para la junta (mitad) */
.dos-col { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items: start; margin-bottom: 22px; }
.dos-col > .panel { margin-bottom: 0; min-width: 0; }
@media (max-width: 1000px) { .dos-col { grid-template-columns: 1fr; } }
.j-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.j-tabs .activo, .v-hojas .activo { border-color: var(--plata-brillo); color: #fff; }
.j-barra { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }
.j-barra small { color: var(--tenue); font-size: 12px; }
.j-cabecera { font-size: 11.5px; margin: 0 0 8px; }
.j-lista { max-height: 520px; overflow: auto; padding-right: 4px; }
.j-q { border: var(--borde) solid var(--borde-plata); border-radius: 8px; padding: 8px 10px; margin-bottom: 8px; background: var(--panel2);
  transition: border-color var(--suave), box-shadow var(--suave); }
.j-q.j-aprobada { border-left: 5px solid var(--verde); }
.j-q.j-descartada { opacity: .6; }
.j-cab { display: flex; gap: 8px; align-items: baseline; font-size: 13px; }
.j-cab .j-tit { flex: 1; font-weight: 500; }
.j-preg { margin: 6px 0; font-size: 13px; line-height: 1.45; white-space: pre-wrap; }
.j-mas { font-size: 12px; color: var(--tenue); }
.j-mas summary { cursor: pointer; font-size: 11.5px; }
.j-mas p { margin: 4px 0; } .j-mas b { color: var(--plata); font-weight: 500; }
.j-botones { display: flex; gap: 6px; margin-top: 6px; }
.j-aprobar { color: #a9ecc6; } .j-descartar { color: #f6b3ad; }
.j-editor { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.j-editor textarea { flex-basis: 100%; font: inherit; font-size: 13px; color: var(--texto); background: var(--panel); border: var(--borde) solid var(--borde-plata); border-radius: 8px; padding: 8px; resize: vertical; }
.j-desc > summary { cursor: pointer; color: var(--tenue); font-size: 12.5px; padding: 4px 0; }
.j-dir { margin-top: 10px; padding-top: 6px; border-top: 1px solid var(--linea); font-size: 11.5px; color: var(--tenue); }
.j-dir ul { margin: 2px 0 0; padding-left: 16px; } .j-dir li { margin: 1px 0; }

/* ---------- solo lectura para quien no es director */
.solo-ver { display: inline-flex; gap: 6px; align-items: baseline; font-size: 13px; border: var(--borde) solid var(--linea); border-radius: 8px; padding: 5px 10px; }
.solo-ver small { color: var(--tenue); font-size: 11.5px; }

/* ---------- Equipo: la persona que entró */
.persona.yo { border-color: var(--plata-brillo); border-width: 3px; box-shadow: 0 0 0 1px rgba(244,246,249,.4), 0 0 18px rgba(244,246,249,.28); }
.persona.yo .p-nombre::after { content: " · tú"; color: var(--plata); font-size: 12px; }

/* ---------- visor de archivos citados */
.v-pdf { width: 100%; height: 75vh; border: var(--borde) solid var(--borde-plata); border-radius: 8px; background: #fff; margin: 8px 0; }
.v-pre { white-space: pre-wrap; font-size: 12px; padding: 8px 14px; margin: 0; max-height: 50vh; overflow: auto; }
.v-pad { padding: 0 14px 10px; }
.v-hojas { display: flex; gap: 6px; flex-wrap: wrap; margin: 8px 0; }
.v-tabla { max-height: 75vh; overflow: auto; }
.tabla tr.marca td, .tabla tr.marca th { background: rgba(224,168,58,.22); color: #fff; }
.v-doc-txt p { margin: 0 0 6px; font-size: 13.5px; } .v-doc-txt small, .v-lineas small { color: var(--tenue); font-size: 11px; }
.v-doc-txt p.marca, .v-lineas .marca { background: rgba(224,168,58,.22); border-left: 3px solid var(--ambar); padding-left: 6px; }
.v-lineas { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12px; max-height: 78vh; overflow: auto; }
.v-lineas div { display: flex; gap: 10px; white-space: pre-wrap; overflow-wrap: anywhere; }
.v-lineas small { flex: none; width: 40px; text-align: right; }

/* ---------- panel Pendientes: un renglón por documento */
.v-pend { width: 100%; border-collapse: collapse; font-size: 13px; }
.v-pend th { text-align: left; font-weight: 500; font-size: 11.5px; letter-spacing: .05em; color: var(--tenue); text-transform: uppercase; padding: 6px 8px; border-bottom: 1px solid var(--linea); }
.v-pend td { padding: 7px 8px; border-bottom: 1px solid var(--linea); vertical-align: top; }
.v-pend td:nth-child(2), .v-pend td:nth-child(3), .v-pend td:nth-child(4) { white-space: nowrap; }
.v-pend .sem { vertical-align: -1px; margin-right: 4px; }
.v-fecha { font-variant-numeric: tabular-nums; }

/* ---------- avance ponderado: una mini barra por sección (desde 11-nov-2026) */
.ag-secs { list-style: none; margin: 2px 0 0; padding: 0; display: grid; gap: 4px; }
.ag-secs li { display: grid; grid-template-columns: 150px 1fr 74px; align-items: center; gap: 8px; font-size: 11.5px; color: var(--tenue); }
.ag-secs .s-nom { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.s-barra { height: 6px; background: rgba(195,199,206,.10); border: 1px solid var(--linea); border-radius: 99px; overflow: hidden; }
.s-barra span { display: block; height: 100%; background: var(--plata); border-radius: 99px; }
.ag-secs .s-pct { text-align: right; font-variant-numeric: tabular-nums; color: var(--plata); white-space: nowrap; }
.ag-secs li.cerrada .s-barra span { background: var(--verde); }
.ag-secs li.cerrada .s-pct, .s-ok { color: var(--verde); font-weight: 700; }
.ag-secs li.sin-medir { opacity: .55; } .ag-secs li.sin-medir .s-pct { color: var(--tenue); font-style: italic; }
.v-listo { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--linea); }
@media (max-width: 600px) { .ag-secs li { grid-template-columns: 110px 1fr 64px; } }

/* ---------- reacomodo (11-nov-2026): «Pregúntale a Mazzinger» como buscador ancho junto al logo */
.cabecera { flex-wrap: nowrap; align-items: center; gap: 22px; margin-bottom: 14px; }
.cabecera .marca { flex: none; }
.buscador { flex: 1 1 auto; min-width: 0; display: flex; gap: 8px; align-items: center; }
.buscador textarea { flex: 1; min-height: 46px; height: 46px; resize: none; padding: 11px 16px; border-radius: 99px; font-size: 14.5px; line-height: 1.45; overflow: hidden; }
.buscador button { align-self: center; min-height: 46px; border-radius: 99px; padding: 7px 18px; }
.acciones-cab { flex: none; }
.q-caja { position: relative; background: var(--panel); border: var(--borde) solid var(--borde-plata); border-radius: var(--radio);
  padding: 12px 16px 14px; margin: -4px 0 18px; box-shadow: 0 12px 30px rgba(0,0,0,.45); }
.q-caja .q-cerrar { position: absolute; top: 10px; right: 12px; z-index: 1; }
.q-caja .q-pensando { margin-top: 2px; }
.q-caja .q-resp { max-height: 46vh; margin-right: 96px; }
.q-caja .q-historial { margin-top: 10px; }
.q-caja > .q-historial:first-of-type:only-of-type { margin-right: 96px; }
/* botón «Preguntas para junta» en la franja de contadores */
.resumen .btn-junta { text-decoration: none; flex: 1.6 1 0; }
.resumen .btn-junta b { color: var(--ambar); }
.j-quien { margin: -6px 0 12px; font-size: 12.5px; }
#p-junta .j-lista { max-height: none; }
/* Equipo: todas las personas en una fila, sin huecos */
.equipo { grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); }
/* Acciones de tarea */
.t-acc { display: inline-flex; gap: 5px; flex-wrap: wrap; justify-content: flex-end; }
.t-acc label.btn { cursor: pointer; }
.tarea .t-acc { margin-top: 4px; }
@media (max-width: 1560px) {  /* con el logo en la cabecera, el buscador baja a su propio renglón antes */
  .cabecera { flex-wrap: wrap; }
  .buscador { order: 3; flex-basis: 100%; }
}
@media (max-width: 600px) { .q-caja .q-resp { margin-right: 0; margin-top: 30px; } .buscador button { padding: 7px 12px; } }

/* ---------- 11-nov-2026 (tarde): voz, órdenes, sesión con foto, sugerencia y recuadro de junta */
.btn-icono { min-height: 46px; min-width: 46px; padding: 0 12px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; }
#q-mic.escuchando { border-color: var(--rojo); color: #fff; background-color: rgba(212,87,78,.25); animation: q-escucha 1.1s infinite ease-in-out; }
@keyframes q-escucha { 0%, 100% { box-shadow: 0 0 0 0 rgba(212,87,78,.55); } 50% { box-shadow: 0 0 0 7px rgba(212,87,78,0); } }
#q-voz .v-off { display: none; } #q-voz.silencio .v-on { display: none; } #q-voz.silencio .v-off { display: inline; }
#q-voz.silencio { color: var(--tenue); }
.btn-orden { font-size: 12.5px; letter-spacing: .05em; }
.btn-orden.activo { background-color: rgba(224,168,58,.22); border-color: var(--ambar); color: #ffd98f; }
.sesion { display: inline-flex; align-items: center; gap: 8px; padding: 3px 12px 3px 3px; border: var(--borde) solid var(--borde-plata); border-radius: 99px; min-height: 40px; }
.avatar { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; flex: none; }
.avatar.inicial { display: inline-flex; align-items: center; justify-content: center; background: var(--panel2); color: var(--plata-brillo); font-weight: 600; font-size: 15px; border: 1px solid var(--plata-suave); }
.sesion .s-nombre { font-size: 14px; font-weight: 500; }
.q-hilo-cab { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-right: 96px; }
.q-hilo { display: flex; flex-direction: column; gap: 10px; margin-top: 8px; max-height: 60vh; overflow-y: auto; }
.q-hilo:empty { display: none; }
.q-turno { padding: 10px 12px; background: var(--panel2); border: var(--borde) solid var(--borde-plata); border-radius: 8px; }
.q-turno.q-error { border-color: var(--rojo); }
.q-orden { border: 2px dashed var(--ambar); border-radius: 8px; padding: 10px 12px; margin-top: 4px; }
.q-orden.q-orden-ejecutada { border-style: solid; border-color: var(--verde); }
.q-orden.q-orden-cancelada { border-color: var(--gris); opacity: .8; }
.q-orden.q-orden-error { border-color: var(--rojo); }
.qo-tit { margin: 0 0 6px; font-weight: 600; color: #ffd98f; }
.q-orden-ejecutada .qo-tit { color: #9fe0bd; }
.q-orden dl { display: grid; grid-template-columns: max-content 1fr; gap: 3px 12px; margin: 0 0 8px; font-size: 13.5px; }
.q-orden dt { color: var(--tenue); } .q-orden dd { margin: 0; white-space: pre-wrap; }
.qo-aviso { margin: 4px 0; color: #ffcf80; font-size: 13px; } .qo-res { margin: 6px 0 0; color: #9fe0bd; font-size: 13px; }
.qo-botones { display: flex; gap: 8px; margin-top: 8px; }
.t-recuadros { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 10px 0 6px; }
.recuadro { border: var(--borde) solid var(--borde-plata); border-radius: 8px; padding: 8px 10px; background: var(--panel2); min-width: 0; }
.r-tit { display: block; color: var(--tenue); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 2px; }
.sug-pct { font-size: 30px; font-weight: 600; line-height: 1.1; text-decoration: none; }
.sug-pct i { font-style: normal; font-size: 16px; margin-left: 1px; color: var(--tenue); }
.sug-lbl { font-size: 11.5px; color: var(--tenue); margin-left: 4px; }
.sug-alta .sug-pct { color: #9fe0bd; } .sug-media .sug-pct { color: #ffd98f; } .sug-baja .sug-pct { color: #f2aaa4; }
.sug-motivo { margin: 4px 0 0; font-size: 12px; line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jm-cifras { display: flex; gap: 12px; }
.jm-cifras span { display: flex; flex-direction: column; align-items: flex-start; }
.jm-cifras b { font-size: 20px; font-weight: 600; line-height: 1.1; } .jm-cifras small { font-size: 10.5px; color: var(--tenue); }
.jm-botones { display: flex; gap: 6px; margin-top: 6px; }
.j-nueva { display: grid; grid-template-columns: 1fr; gap: 6px; margin: 10px 0 14px; }
.j-nueva input, .j-nueva textarea { font: inherit; color: var(--texto); background: var(--panel2); border: var(--borde) solid var(--borde-plata); border-radius: 8px; padding: 8px 10px; }
.j-nueva button { justify-self: start; }
.j-autor { margin: 2px 0 4px; font-size: 11.5px; }
.j-enviada { opacity: .85; }
@media (max-width: 700px) { .t-recuadros { grid-template-columns: 1fr; } .buscador .btn-icono { min-width: 40px; padding: 0 8px; } }
.buscador .btn-icono { padding: 0 12px; } .buscador .btn-orden { padding: 0 14px; }

/* Banner «Nueva licitación detectada» (11-nov-2026) */
.banner-nueva { display: flex; gap: 14px; align-items: center; justify-content: space-between; flex-wrap: wrap;
  border: 2px solid #d9b45a; border-radius: 12px; padding: 12px 16px; margin: 0 0 14px; background: rgba(217,180,90,.08); }
.banner-nueva .bn-txt { display: flex; flex-direction: column; gap: 2px; min-width: 240px; flex: 1; }
.banner-nueva .bn-txt b { color: #e8c76f; letter-spacing: .04em; text-transform: uppercase; font-size: 12px; }
.banner-nueva .bn-txt a { font-size: 16px; font-weight: 600; }
.banner-nueva .bn-botones { display: flex; gap: 8px; align-items: center; }

/* Administración, revisiones y auditoría (11-nov-2026) */
.tabla-ancha { overflow-x: auto; }
.admin-t { width: 100%; border-collapse: collapse; font-size: 13px; }
.admin-t th, .admin-t td { border-bottom: 1px solid var(--borde, #333); padding: 6px 8px; text-align: left; vertical-align: middle; }
.admin-t th { font-weight: 500; font-size: 11.5px; letter-spacing: .03em; }
.admin-t td.c { text-align: center; }
.admin-t tr.inactivo { opacity: .55; }
.admin-t .adm-acc { white-space: nowrap; }
.adm-alta { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: end; }
.adm-alta label { display: flex; flex-direction: column; gap: 4px; }
.adm-alta fieldset { border: 1px solid var(--borde, #333); border-radius: 8px; display: flex; flex-wrap: wrap; gap: 6px 12px; }
.adm-alta label.chk { flex-direction: row; align-items: center; gap: 4px; }
.adm-liga { margin: 12px 0; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.adm-liga input { flex: 1; min-width: 280px; }
.aviso-mini { border: 1px solid #d9b45a; border-radius: 8px; padding: 8px 10px; }
.rev-caja, .aud-caja { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: 10px 0; }
.aud-fila { display: flex; gap: 8px; align-items: center; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid var(--borde, #333); }
.rev-previas { margin: 6px 0 12px; }

/* ---------- celular (app instalable, 11-nov-2026) */
body { padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }
img, video, canvas, iframe { max-width: 100%; }
table { max-width: 100%; }
.panel, .ventana, .q-caja { overflow-wrap: break-word; }
@media (max-width: 900px) { .ventana table, .panel table, .q-resp table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; } }
@media (max-width: 600px) {
  .pagina { padding: 16px 12px 32px; }
  .marca h1 { font-size: 32px; letter-spacing: .10em; }
  .marca-logo { width: 46px; height: 46px; }
  .marca-fila { gap: 10px; }
  .cabecera { gap: 10px; }
  .acciones-cab { flex-wrap: wrap; width: 100%; }
  .acciones-cab .btn { flex: 1 1 auto; justify-content: center; }
  /* buscador: el texto en un renglón y los botones juntos debajo (no uno por renglón) */
  .pregunta.buscador { flex-direction: row; flex-wrap: wrap; width: 100%; gap: 6px; }
  .pregunta.buscador textarea { flex: 1 1 100%; }
  .pregunta.buscador button { align-self: center; flex: 0 0 auto; min-height: 42px; }
  .pregunta.buscador #q-enviar { flex: 1 1 auto; justify-content: center; }
  /* contadores: dos o tres por renglón en lugar de cortar el texto */
  .resumen { flex-wrap: wrap; overflow-x: visible; }
  .resumen .filtro { flex: 1 1 calc(50% - 6px); white-space: normal; text-align: left; justify-content: flex-start; }
  .resumen .filtro span { white-space: normal; overflow: visible; }
  /* tablas de las ventanas: se desplazan a lo ancho, sin partir palabras letra por letra */
  .ventana th { white-space: nowrap; }
  .ventana td { min-width: 6.5em; }
  .ventana td:first-child { min-width: 13em; }
  a.btn, .btn { max-width: 100%; white-space: normal; }
  .btn.v-cerrar, .btn.q-cerrar, .btn.btn-icono, .btn.btn-orden { white-space: nowrap; }
  textarea, input, select { font-size: 16px; }  /* iPhone no hace zoom al escribir */
  .ventana { max-height: 100dvh; }
}
@media (display-mode: standalone) { .pagina { padding-top: max(16px, env(safe-area-inset-top)); } }
.btn-copia { border-color: var(--ambar); color: var(--ambar); }
/* fechas del robot en la tarjeta */
.t-fechas { list-style: none; margin: 6px 0 4px; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12.5px; }
.t-fechas li small { color: var(--tenue); }
.t-fechas li b { font-weight: 600; color: var(--texto); }
.t-fechas li.urge b { color: var(--ambar); }
.t-fechas li.pasada { opacity: .55; }

/* ---- 11-nov-2026: Con quién arriba del desplegable, rearmado, subir archivos, responsable resaltado, contador ---- */
.conquien { flex-direction: column; align-items: flex-start; gap: 3px; }
.conquien > span { font-size: 11.5px; letter-spacing: .02em; }
.subir-caja { display: inline-flex; align-items: center; gap: 8px; }
.liga-drive { font-size: 11.5px; color: var(--tenue); text-decoration: underline; }
.liga-drive:hover { color: var(--plata-brillo); }
.rearmado { margin-top: 8px; padding: 7px 9px; border: 1px solid var(--linea); border-radius: 8px; font-size: 12.5px; background: var(--panel2); }
.rearmado p { margin: 0; }
.rearmado summary { cursor: pointer; }
.rea-rearmando { border-color: var(--ambar); }
.rea-listo { border-color: var(--verde); }
.rea-error, .rea-interrumpido { border-color: var(--rojo); }
.rea-fuentes { margin: 6px 0 0; padding-left: 18px; }
.rea-fuentes li { margin-bottom: 3px; }
.rea-fuentes code { font-size: 11px; color: var(--tenue); word-break: break-all; }
.rea-giro { display: inline-block; width: 10px; height: 10px; border: 2px solid var(--ambar); border-right-color: transparent; border-radius: 50%; animation: rea-giro 1s linear infinite; vertical-align: -1px; }
@keyframes rea-giro { to { transform: rotate(360deg); } }
.resp-tarea { flex: 0 0 auto; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; color: var(--fondo); background: var(--plata); white-space: nowrap; }
.resp-tarea.yo { background: var(--ambar); }
.resp-tarea.sin-resp { background: transparent; color: var(--tenue); border: 1px dashed var(--linea); font-weight: 400; }
.q-cuenta { align-self: center; font-size: 11.5px; color: var(--tenue); white-space: nowrap; }
.q-cuenta.agotado { color: var(--rojo); font-weight: 600; }
.v-subir { max-width: 560px; width: calc(100% - 24px); }
.vs-zona { display: block; margin: 10px 0; padding: 26px 14px; text-align: center; border: 2px dashed var(--borde-plata); border-radius: var(--radio); cursor: pointer; color: var(--tenue); }
.vs-zona.encima, .vs-zona:focus { border-color: var(--plata-brillo); color: var(--texto); outline: none; background: var(--gris-luz-tenue); }
.vs-lista { list-style: none; padding: 0; margin: 0 0 8px; max-height: 220px; overflow: auto; font-size: 12.5px; }
.vs-lista li { display: flex; justify-content: space-between; gap: 8px; padding: 3px 0; border-bottom: 1px solid var(--linea); }
.vs-lista li.ok { color: var(--verde); }
.vs-lista li.mal { color: var(--rojo); }
.vs-pie { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0; }
.vs-pie span { display: inline-flex; gap: 8px; }
/* 11-nov-2026 · Ventana «Agregar y subir información» (socios) */
.vso-campo { display: flex; flex-direction: column; gap: 3px; margin: 8px 0; font-size: 13px; }
.vso-campo input, .vso-campo select { padding: 6px 8px; border: 1px solid var(--borde-plata); border-radius: var(--radio); font: inherit; background: var(--fondo, #fff); color: var(--texto); }
#vso-estado { font-size: 12px; max-width: 60%; }
.entrar .ok { color: var(--verde); margin: 0; font-size: 13.5px; }
.entrar .olvido { margin: 4px 0 0; font-size: 13px; text-align: center; }

/* ---- Orden 11-nov-2026 18:00 ---- */
/* h) Decisión: solo dos botones, más chicos, uno al lado del otro */
.sino { display: inline-flex; flex-wrap: nowrap; gap: 6px; }
.sino .btn { font-size: 12.5px; font-weight: 600; letter-spacing: .04em; min-height: 30px; padding: 4px 12px; min-width: 0; }
/* c) Sugerencia: el porcentaje abre la ventanita */
.sug-btn { background: none; border: 0; padding: 0; color: inherit; cursor: pointer; font-family: inherit; text-decoration: underline dotted rgba(195,199,206,.5); text-underline-offset: 4px; }
.sug-btn:hover, .sug-btn:focus-visible { text-decoration-style: solid; outline: none; }
.sug-v-pct { font-size: 20px; margin: 0 0 8px; } .sug-v-pct b { font-size: 30px; }
.sug-v { margin: 0 0 10px; padding-left: 18px; display: grid; gap: 6px; line-height: 1.4; }
/* d) Fechas: «Por publicar» */
.t-fechas li.por-publicar b { font-weight: 400; font-style: italic; }
/* g) Barra por peso: cada tramo mide lo que pesa su sección */
.ag-seg { display: flex; gap: 2px; background: transparent; border: 0; border-radius: 0; overflow: visible; height: 14px; }
.ag-seg .seg { display: block; height: 100%; background: rgba(195,199,206,.12); border: 1px solid var(--plata-suave); border-radius: 4px; overflow: hidden; min-width: 0; width: auto; }
.ag-seg .seg i { display: block; height: 100%; background: linear-gradient(90deg, #9aa0a8, #eef0f3); }
.ag-seg .seg.cerrada i { background: var(--verde); }
.ag-pesos { display: flex; gap: 2px; margin: 2px 0 0; font-size: 10.5px; color: var(--tenue); white-space: nowrap; }
.ag-pesos span { overflow: hidden; text-overflow: ellipsis; text-align: center; min-width: 0; }
/* 7) Mi perfil · 8) Equipo con fotos abajo */
.sesion { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.perfil .pf-cab { display: flex; gap: 18px; align-items: center; margin-bottom: 12px; }
.pf-foto { width: 110px; height: 110px; font-size: 40px; }
.pf-nombre { font-size: 22px; margin: 0; } .pf-datos p { margin: 2px 0; }
.pf-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin: 10px 0; }
.pf-form label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.equipo-fotos .persona { gap: 6px; }
.avatar-g { width: 64px; height: 64px; font-size: 22px; }

/* ---------- Entregas: menú desplegable por integrante + subventana (11-nov-2026) */
.ent-menu { position: relative; display: inline-block; }
.ent-menu > summary { list-style: none; display: inline-flex; align-items: center; gap: 10px; cursor: pointer; }
.ent-menu > summary::-webkit-details-marker { display: none; }
.ent-lista { position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; min-width: min(380px, 92vw); margin: 0; padding: 6px;
  list-style: none; background: var(--panel); border: 1px solid var(--linea); border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,.45); }
.ent-item { display: flex; width: 100%; align-items: center; gap: 10px; padding: 8px 10px; background: transparent; color: var(--texto);
  border: 0; border-radius: 8px; cursor: pointer; text-align: left; font: inherit; }
.ent-item:hover, .ent-item:focus-visible { background: var(--panel2); outline: none; }
.ent-item.yo .ent-nombre { color: var(--ambar); }
.ent-nombre { flex: 1; font-weight: 600; }
.ent-cuenta { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; white-space: nowrap; }
.ent-rojas { color: var(--rojo); }
.v-ent { width: min(980px, 96vw); }
.ve-cab { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--linea); }
.ve-cab h3 { flex: 1; margin: 0; }
.ve-cuerpo { padding: 12px 18px 18px; overflow: auto; max-height: calc(88vh - 70px); }
.ve-tabla { width: 100%; border-collapse: collapse; font-size: 14px; }
.ve-tabla th, .ve-tabla td { padding: 8px 6px; border-bottom: 1px solid var(--linea); text-align: left; vertical-align: top; }
.ve-fecha, .ve-sem { white-space: nowrap; }
.ve-acc .t-acc { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.ve-entregadas { margin-top: 14px; }
.ve-entregadas > summary { cursor: pointer; font-weight: 600; }
.ve-hechas, .ve-archivos { margin: 8px 0 0; padding-left: 0; list-style: none; }
.ve-hechas li, .ve-archivos li { padding: 5px 0; border-bottom: 1px solid var(--linea); }
@media (max-width: 700px) {
  .ve-tabla thead { display: none; }
  .ve-tabla, .ve-tabla tbody, .ve-tabla tr, .ve-tabla td { display: block; width: 100%; }
  .ve-tabla tr { padding: 8px 0; border-bottom: 1px solid var(--linea); }
  .ve-tabla td { border: 0; padding: 3px 0; min-width: 0 !important; }
}

/* 12-nov-2026: fechas destacadas (junta, apertura, fallo), proporcionadas a la tarjeta */
.f-cal { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 8px 0 6px; }
.f-caja { border: 2px solid var(--plata-suave); border-radius: 8px; padding: 5px 7px; background: var(--panel2); display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.f-et { font-size: 10.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--tenue); }
.f-dia { font-size: 14.5px; font-weight: 700; color: var(--texto); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.f-cuenta { font-size: 11.5px; color: var(--tenue); }
.f-caja.prox { border-color: var(--plata-brillo); box-shadow: 0 0 0 1px var(--plata-brillo) inset; }
.f-caja.prox .f-cuenta { color: var(--texto); font-weight: 600; }
.f-caja.urge { border-color: var(--ambar); } .f-caja.urge .f-cuenta { color: var(--ambar); font-weight: 700; }
.f-caja.hoy { border-color: #9b2247; background: rgba(155,34,71,.18); } .f-caja.hoy .f-cuenta { color: #ff8fb0; font-weight: 800; }
.f-caja.pasada { opacity: .5; }
.f-caja.por-publicar .f-dia { font-weight: 400; font-style: italic; color: var(--tenue); font-size: 13px; }

/* ------------------------------------------------------------------ Chat del equipo (11-nov-2026 19:56) */
.chat-badge, .chat-nl { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; margin-left: 4px; border-radius: 9px; background: var(--rojo); color: #fff; font-size: 11px; font-weight: 600; line-height: 1; }
.chat-badge[hidden], .chat-nl[hidden] { display: none; }
.chat-app { display: grid; grid-template-columns: minmax(200px, 280px) 1fr; gap: 14px; min-height: 70vh; }
.chat-salas { border-right: 1px solid var(--linea); padding-right: 10px; overflow-y: auto; max-height: 78vh; }
.chat-salas ul { list-style: none; margin: 0; padding: 0; }
.cs-sep { margin: 10px 0 4px; }
.cs-sala { display: grid; grid-template-columns: 1fr auto; gap: 2px 6px; padding: 7px 8px; border-radius: 8px; color: var(--texto); text-decoration: none; border: 1px solid transparent; }
.cs-sala:hover { background: var(--gris-luz-tenue); }
.cs-sala.activa { background: var(--panel2); border-color: var(--plata-suave); }
.cs-sala.inactiva .cs-tit { color: var(--tenue); }
.cs-tit { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cs-ult { grid-column: 1 / -1; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chat-main { display: flex; flex-direction: column; min-width: 0; }
.chat-cab { border-bottom: 1px solid var(--linea); padding-bottom: 6px; margin-bottom: 6px; }
.chat-msgs { flex: 1; overflow-y: auto; max-height: 62vh; min-height: 300px; padding: 6px 4px; display: flex; flex-direction: column; gap: 10px; }
.chat-msg { display: flex; gap: 10px; align-items: flex-start; }
.chat-msg .cm-cuerpo { background: var(--panel2); border: 1px solid var(--gris-luz); border-radius: 10px; padding: 6px 10px; max-width: 80%; min-width: 0; }
.chat-msg.mio .cm-cuerpo { border-color: var(--plata-suave); }
.chat-msg.oculto .cm-cuerpo { opacity: .55; border-style: dashed; }
.cm-cab { display: flex; gap: 6px; align-items: baseline; flex-wrap: wrap; }
.cm-texto { margin: 3px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.cm-nota { margin: 3px 0 0; font-size: 11px; color: var(--ambar); }
.cm-adj { list-style: none; margin: 4px 0 0; padding: 0; font-size: 12.5px; }
.cm-ocultar { margin-left: auto; }
.chat-form { border-top: 1px solid var(--linea); padding-top: 8px; margin-top: 6px; }
.chat-form.arrastrando { outline: 2px dashed var(--plata); outline-offset: 4px; }
.chat-fila { display: flex; gap: 8px; align-items: flex-end; }
.chat-fila textarea { flex: 1; resize: vertical; min-height: 44px; }
@media (max-width: 760px) {
  .chat-app { grid-template-columns: 1fr; }
  .chat-salas { border-right: 0; border-bottom: 1px solid var(--linea); max-height: 30vh; padding: 0 0 8px; }
  .chat-msg .cm-cuerpo { max-width: 92%; }
}

/* Ojito de contraseña (11-nov-2026, static/ojito.js) */
.ojito-caja { position: relative; display: flex; align-items: center; width: 100%; }
.ojito-caja > input { width: 100%; padding-right: 46px; }
.ojito-btn { position: absolute; right: 2px; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; background: transparent; border: 0; padding: 0; margin: 0; color: var(--tenue); cursor: pointer; border-radius: 8px; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.ojito-btn:hover, .ojito-btn[aria-pressed="true"] { color: var(--texto); }
.ojito-btn:focus-visible { outline: 1px solid var(--plata-suave); }
input::-ms-reveal, input::-ms-clear { display: none; }
