/* Portal Vifer v3 · pantallas nuevas: Hoy (en marcha, diagnostico, construccion), Actividad, Mi equipo y fichas. */
.screen { display: grid; gap: 22px; max-width: 1360px; animation: in 420ms var(--ease-out); }
@keyframes in { from { opacity: 0; transform: translateY(6px); } }
.grid-3 { display: grid; gap: 22px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr)); align-items: start; }
.grid-2--wide { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
@media (max-width: 1020px) { .grid-2--wide { grid-template-columns: minmax(0, 1fr); } }
.block--flat { background: none; border: 0; padding: 0; }
.callout { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--border-cyan); border-radius: var(--r-lg); background: var(--cyan-tint-08); font-size: 14px; }
.callout .ico { flex: none; margin-top: 2px; color: var(--cyan); }
.big { font-size: 22px; }
.chip--xs { min-height: 20px; padding: 1px 7px; font-size: 11px; }
.chip--ok { border-color: rgba(77, 213, 153, 0.4); color: var(--success); }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.linkrow { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--border-subtle); border-radius: var(--r-lg); color: var(--fg); }
.linkrow .dim { margin-left: auto; font-size: 12.5px; }
.linkrow:hover { border-color: var(--border-cyan); color: var(--fg); }
.bul { display: grid; gap: 6px; padding-left: 18px; list-style: disc; color: var(--fg-muted); }
.input--sm { min-height: 38px; padding: 7px 12px; font-size: 13.5px; border-radius: var(--r-md); }
.seg--sm .seg__o { min-height: 30px; padding: 0 11px; font-size: 12.5px; }
.face { display: inline-grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 50%; color: var(--bg); font-weight: 700; font-size: 14px; background: linear-gradient(140deg, var(--cyan-bright), var(--cyan-deep)); box-shadow: 0 0 0 2px var(--bg), 0 0 0 3px rgba(0, 194, 209, 0.35); }
.face--joel { background: linear-gradient(140deg, #ffd27a, #c98d1c); box-shadow: 0 0 0 2px var(--bg), 0 0 0 3px rgba(240, 179, 74, 0.35); }
.face--marc { background: linear-gradient(140deg, #cdb4ff, #7d55d9); box-shadow: 0 0 0 2px var(--bg), 0 0 0 3px rgba(180, 140, 255, 0.35); }
.face--sm { width: 26px; height: 26px; font-size: 11px; }
.face--lg { width: 48px; height: 48px; font-size: 18px; }

/* HOY · cabecera */
.hoy-head { gap: 12px; }
.hoy-head__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.hoy-head__t { max-width: 30ch; }
.hoy-head__sub { max-width: 70ch; }
.hoy-head .kcs { margin-top: 8px; }
.live-chip { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px; border: 1px solid rgba(77, 213, 153, 0.35); border-radius: var(--r-pill); background: rgba(77, 213, 153, 0.07); color: var(--fg); font-family: var(--font-mono); font-size: 11.5px; }
.live-chip__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--success); animation: live 1.8s infinite; }
.screen--hoy.is-marcha .hoy-head__t { font-family: var(--font-display); font-size: clamp(34px, 4.2vw, 58px); font-weight: 400; letter-spacing: 0.01em; line-height: 0.98; text-transform: uppercase; }

/* HOY · salud, agenda, actividad, nota, ideas */
.hls { display: grid; }
.hl { display: grid; grid-template-columns: 10px minmax(0, 1fr) 54px 64px; gap: 12px; align-items: center; padding: 10px 6px; border-bottom: 1px solid var(--border-subtle); color: var(--fg); }
.hl--head { padding-top: 0; font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; }
.hl--head span:nth-child(n+3), .hl__c, .hl__u { text-align: right; }
a.hl:hover { color: var(--fg); background: rgba(var(--hue-rgb), 0.05); }
.hl__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 3px rgba(77, 213, 153, 0.15); }
.hl__dot.is-warn { background: var(--warning); box-shadow: 0 0 0 3px rgba(240, 179, 74, 0.15); }
.hl__dot.is-paused { background: var(--fg-dim); box-shadow: none; }
.hl__n { display: grid; min-width: 0; line-height: 1.3; }
.hl__n b { overflow: hidden; font-size: 14px; font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.hl__n .dim { font-size: 11.5px; }
.hl__c { font-size: 15px; }
.agenda { display: grid; gap: 10px; }
.agenda__i { display: grid; grid-template-columns: 50px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px; border: 1px solid var(--border-subtle); border-radius: var(--r-lg); background: var(--surface-1); }
.agenda__d { display: grid; place-items: center; padding: 6px 0; border-radius: var(--r-md); background: var(--surface-3); line-height: 1; }
.agenda__d b { font-size: 20px; }
.agenda__d span { color: var(--fg-dim); font-size: 10.5px; text-transform: uppercase; }
.agenda__t { display: grid; min-width: 0; line-height: 1.3; }
.agenda__t b { font-size: 14px; }
.agenda__t .dim { font-size: 12px; }
.feed--live .feed__i { grid-template-columns: 44px 12px minmax(0, 1fr); animation: feed-in 360ms var(--ease-out) backwards; }
.feed--live .feed__i:nth-child(n) { animation-delay: calc(var(--n, 0) * 30ms); }
.feed__t { color: var(--fg); }
a.feed__t:hover { color: var(--cyan); }
.feed__i.is-bad .feed__dot { background: var(--danger); }
.feed__i.is-dim .feed__dot { background: var(--fg-dim); }
.feed__i.is-info .feed__dot { background: #b48cff; }
@keyframes feed-in { from { opacity: 0; transform: translateX(-6px); } }
.tnote { display: flex; gap: 14px; align-items: flex-start; }
.tnote__t { font-size: 15px; line-height: 1.6; }
.ideas { display: grid; gap: 10px; }
.idea { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px; border: 1px solid rgba(var(--hue-rgb), 0.25); border-radius: var(--r-lg); background: rgba(var(--hue-rgb), 0.04); }
.idea__ico { display: grid; place-items: center; width: 38px; height: 38px; border-radius: var(--r-md); background: rgba(var(--hue-rgb), 0.14); color: color-mix(in srgb, var(--hue) var(--hue-k), var(--hue-base)); }
.idea__t { display: grid; min-width: 0; }
.idea__t .dim { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 12.5px; }
.idea__imp { display: grid; justify-items: end; line-height: 1.2; }
.idea__imp b { color: var(--success); }
.idea__imp .dim { font-size: 10.5px; }
.idea__go { grid-column: 1 / -1; display: flex; gap: 8px; }
.req-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 12px; }
.ok--gap { border-color: rgba(0, 194, 209, 0.35); background: rgba(0, 194, 209, 0.05); }
.ok--gap .ico { color: var(--cyan); }
.ok--conv { border-color: rgba(180, 140, 255, 0.35); background: rgba(180, 140, 255, 0.05); }
.ok--conv .ico { color: #b48cff; }

/* HOY · diagnostico */
.dg { display: grid; gap: 20px; }
.dg-sum { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 20px; align-items: center; }
.dg-big { display: grid; gap: 4px; }
.dg-big b { color: var(--warning); font-family: var(--font-display); font-size: 72px; font-weight: 400; line-height: 0.9; }
.dg-note { grid-column: 1 / -1; font-size: 12.5px; }
.dg-what { display: block; max-width: 52ch; font-size: 12.5px; }
.dg-h b { color: var(--warning); font-size: 18px; }
.pips { display: inline-flex; gap: 3px; }
.pip { width: 14px; height: 6px; border-radius: 3px; background: var(--surface-3); }
.pips--imp .pip.is-on { background: var(--success); }
.pips--eff .pip.is-on { background: var(--warning); }
.dg-plan { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.dg-plan__p { display: grid; gap: 4px; padding: 12px 14px; border: 1px solid var(--border-cyan); border-radius: var(--r-lg); background: var(--cyan-tint-08); }
.dg-plan__n { color: var(--cyan); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; }
.mx { position: relative; display: grid; grid-template-columns: 18px 1fr; grid-template-rows: 1fr 18px; gap: 4px; aspect-ratio: 1.15; }
.mx__y { grid-row: 1; writing-mode: vertical-rl; transform: rotate(180deg); font-size: 10px; text-align: center; }
.mx__x { grid-row: 2; grid-column: 2; font-size: 10px; text-align: center; }
.mx__g { position: relative; grid-row: 1; grid-column: 2; border: 1px solid var(--border-subtle); border-radius: var(--r-md); background: linear-gradient(to top right, rgba(255, 93, 93, 0.05), transparent 50%, rgba(77, 213, 153, 0.1)); }
.mx__g::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; border-left: 1px dashed var(--border-subtle); }
.mx__g::after { content: ""; position: absolute; top: 50%; left: 0; right: 0; border-top: 1px dashed var(--border-subtle); }
.mx__dot { position: absolute; left: calc(var(--x) * 100%); bottom: calc(var(--y) * 100%); z-index: 1; display: grid; place-items: center; width: 22px; height: 22px; margin: 0 0 -11px -11px; border-radius: 50%; background: var(--hue); color: var(--bg); font-family: var(--font-mono); font-size: 10.5px; font-weight: 600; transform: translateX(var(--j)); box-shadow: 0 0 0 3px rgba(var(--hue-rgb), 0.25); }
.dg-wait { display: grid; gap: 16px; }
.dg-wait__l { display: grid; gap: 10px; }
.dg-wait__i { display: flex; align-items: center; gap: 10px; color: var(--fg-muted); }
.dg-wait__i.is-now { color: var(--fg); }
.dg-wait__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--surface-3); }
.dg-wait__i.is-now .dg-wait__dot { background: var(--cyan); animation: live 1.8s infinite; box-shadow: 0 0 0 0 rgba(0, 194, 209, 0.5); }
.skel { display: grid; gap: 10px; }
.skel__row { height: 14px; border-radius: 7px; background: linear-gradient(90deg, var(--surface-2), var(--surface-3), var(--surface-2)); background-size: 200% 100%; animation: shimmer 1.6s linear infinite; }
.skel__row:nth-child(2) { width: 80%; } .skel__row:nth-child(3) { width: 60%; }
@keyframes shimmer { to { background-position: -200% 0; } }
.callc { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.callc > div { flex: 1; min-width: 160px; }
.team-l { display: grid; gap: 12px; }
.team-l__i { display: flex; align-items: center; gap: 12px; }
.team-l__i > span:last-child { display: grid; line-height: 1.3; }
.team-l__i .dim { font-size: 12.5px; }
@media (max-width: 760px) { .dg-sum { grid-template-columns: minmax(0, 1fr); } .mx { max-width: 260px; } }

/* HOY · construccion */
.tests-sum { display: flex; align-items: baseline; gap: 10px; }
.tests-sum b { color: var(--success); font-size: 28px; }
.tests { display: grid; gap: 6px; }
.test { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px 10px; border-radius: var(--r-md); background: var(--surface-1); font-size: 13.5px; }
.test__i { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--surface-3); color: var(--fg-dim); }
.test.is-ok .test__i { background: rgba(77, 213, 153, 0.18); color: var(--success); }
.test.is-bad .test__i { background: rgba(240, 179, 74, 0.18); color: var(--warning); }
.test .dim { font-size: 11px; }
.decs { display: grid; gap: 14px; }
.dec { display: grid; gap: 8px; justify-items: start; }
.dec__t { font-weight: 600; }
.minutes { display: grid; gap: 10px; }

/* Pruebalo antes */
.sbx { display: grid; gap: 10px; }
.sbx__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.sbx__log { display: grid; align-content: start; gap: 8px; height: 280px; padding: 14px; overflow-y: auto; border: 1px solid var(--border-subtle); border-radius: var(--r-lg); background: radial-gradient(80% 60% at 100% 0%, rgba(0, 194, 209, 0.06), transparent 60%), var(--bg); }
.sbx--compact .sbx__log { height: 200px; }
.sbx__m { display: flex; animation: feed-in 260ms var(--ease-out); }
.sbx__m span { max-width: 84%; padding: 9px 13px; border-radius: 14px 14px 14px 4px; background: var(--surface-3); font-size: 14px; line-height: 1.45; }
.sbx__m.is-c { justify-content: flex-end; }
.sbx__m.is-c span { border-radius: 14px 14px 4px 14px; background: var(--cyan); color: var(--fg-on-cyan); }
.sbx__m.is-typing span { display: inline-flex; gap: 4px; }
.sbx__m.is-typing i { width: 6px; height: 6px; border-radius: 50%; background: var(--fg-dim); animation: dots 1s infinite; }
.sbx__m.is-typing i:nth-child(2) { animation-delay: 0.15s; } .sbx__m.is-typing i:nth-child(3) { animation-delay: 0.3s; }
@keyframes dots { 50% { opacity: 0.3; transform: translateY(-2px); } }
.sbx__f { display: flex; gap: 8px; }
.sbx__f .input { flex: 1; min-height: 42px; }
.sbx__note { font-size: 12px; }

/* ACTIVIDAD */
.ac-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 12px; border: 1px solid var(--border-subtle); border-radius: var(--r-lg); background: var(--surface-1); }
.ac-bar .input--search { flex: 1 1 200px; width: auto; }
.ac-f select { min-width: 150px; padding-right: 28px; background: var(--surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23a7a199' fill='none'/%3E%3C/svg%3E") no-repeat right 10px center; }
.ac-sum { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.ac-st { display: grid; padding: 12px 14px; border: 1px solid var(--border-subtle); border-radius: var(--r-lg); }
.ac-st b { font-size: 22px; }
.ac-st .dim { font-size: 12px; }
.ac-fresh { justify-self: center; padding: 6px 14px; border: 1px solid var(--border-cyan); border-radius: var(--r-pill); background: var(--cyan-tint-12); color: var(--cyan); font-size: 13px; animation: feed-in 300ms var(--ease-out); }
.ac-list { display: grid; gap: 12px; }
.ac-rows { display: grid; }
.ac-day { padding: 16px 4px 6px; color: var(--fg-dim); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; }
.ac-r { display: grid; grid-template-columns: 46px 28px minmax(0, 1.2fr) minmax(0, 1fr) auto 16px; gap: 10px; align-items: center; width: 100%; padding: 10px 8px; border: 0; border-bottom: 1px solid var(--border-subtle); background: none; color: var(--fg); font-size: 13.5px; text-align: left; transition: background var(--dur-fast); }
.ac-r:hover { background: var(--surface-1); }
.ac-r__time { color: var(--fg-dim); font-size: 12px; }
.ac-r__ico { display: grid; place-items: center; width: 26px; height: 26px; border-radius: var(--r-md); background: var(--surface-3); color: var(--fg-muted); }
.ac-r__main { display: grid; min-width: 0; line-height: 1.3; }
.ac-r__main b, .ac-r__main .dim { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ac-r__main .dim { font-size: 12.5px; }
.ac-r__meta { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ac-r__svc { overflow: hidden; font-size: 12px; white-space: nowrap; text-overflow: ellipsis; }
.ac-r__how { justify-self: end; padding: 2px 9px; border-radius: var(--r-pill); background: var(--surface-3); color: var(--fg-muted); font-size: 11.5px; white-space: nowrap; }
.ac-r__how.is-ok { background: rgba(77, 213, 153, 0.12); color: var(--success); }
.ac-r__how.is-warn { background: rgba(240, 179, 74, 0.12); color: var(--warning); }
.ac-r__how.is-bad { background: rgba(255, 93, 93, 0.12); color: var(--danger); }
@media (max-width: 760px) {
  .ac-r { grid-template-columns: 40px minmax(0, 1fr) auto; }
  .ac-r__ico, .ac-r__meta { display: none; }
  .ac-f select { min-width: 0; width: 100%; }
  .ac-f { flex: 1 1 45%; }
}

/* Detalle de un evento */
.evd { display: grid; gap: 14px; justify-items: start; }
.evd > * { width: 100%; }
.evd .ac-r__how { width: auto; }
.evd__t { font-size: 22px; }
.evd__who { font-size: 12px; }
.evd__priv { display: flex; align-items: center; gap: 6px; font-size: 12px; }
.facts { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px 16px; padding: 12px 14px; border: 1px solid var(--border-subtle); border-radius: var(--r-lg); background: var(--surface-1); font-size: 13.5px; }
.facts dt { color: var(--fg-dim); }
.convo { display: grid; gap: 10px; }
.convo__m { display: grid; justify-items: start; gap: 2px; }
.convo__b { max-width: 86%; padding: 9px 13px; border-radius: 14px 14px 14px 4px; background: var(--surface-3); font-size: 14px; line-height: 1.45; }
.convo__m.is-c { justify-items: end; }
.convo__m.is-c .convo__b { border-radius: 14px 14px 4px 14px; background: rgba(0, 194, 209, 0.16); }
.convo__m.is-s { justify-items: center; }
.convo__m.is-s .convo__b { max-width: 100%; background: none; border: 1px dashed var(--border-mid); color: var(--fg-muted); font-size: 12.5px; text-align: center; }
.convo__at { color: var(--fg-dim); font-size: 10.5px; }
.xsteps { display: grid; gap: 8px; }
.xstep { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border-left: 3px solid var(--cyan); border-radius: 0 var(--r-md) var(--r-md) 0; background: var(--surface-1); font-size: 14px; }
.xstep.is-ok { border-color: var(--success); } .xstep.is-warn { border-color: var(--warning); } .xstep.is-bad { border-color: var(--danger); }
.xstep__n { color: var(--fg-dim); font-size: 11px; }
.flagged { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: var(--r-md); background: rgba(240, 179, 74, 0.08); color: var(--warning); font-size: 13.5px; }
.flagf { display: grid; gap: 8px; }

/* MI EQUIPO */
.eq-sum { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.eq-st { display: grid; padding: 14px 16px; border: 1px solid var(--border-subtle); border-radius: var(--r-lg); background: var(--surface-1); }
.eq-st b { font-family: var(--font-display); font-size: 34px; font-weight: 400; line-height: 1; }
.eq-st .dim { font-size: 12px; }
.members { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 14px; }
.member { position: relative; display: grid; align-content: start; gap: 8px; height: 100%; padding: 18px; overflow: hidden; border: 1px solid rgba(var(--hue-rgb), 0.22); border-radius: var(--r-xl); background: linear-gradient(160deg, rgba(var(--hue-rgb), 0.09), var(--surface-1) 45%); color: var(--fg); transition: border-color var(--dur-fast), transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base); }
a.member:hover { color: var(--fg); border-color: rgba(var(--hue-rgb), 0.6); transform: translateY(-3px); box-shadow: 0 14px 40px rgba(16, 24, 40, 0.12), 0 0 0 1px rgba(var(--hue-rgb), 0.3); }
.member .eyebrow { color: color-mix(in srgb, var(--hue) var(--hue-k), var(--hue-base)); }
.member__t { font-family: var(--font-display); font-size: 28px; line-height: 1; letter-spacing: 0.01em; text-transform: uppercase; }
.member__b { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; color: var(--fg-muted); font-size: 13.5px; }
.member__live { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; padding: 10px 0 2px; border-top: 1px solid var(--border-subtle); }
.member__live > span { display: grid; line-height: 1; }
.member__live b { font-family: var(--font-display); font-size: 34px; font-weight: 400; }
.member__live .dim { font-size: 11px; }
.member__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 12px; }
.member__who { display: inline-flex; align-items: center; gap: 6px; margin-right: auto; }
.member--next { border-style: dashed; background: var(--surface-1); }
.member--next .member__t { font-size: 22px; }
.member.is-fresh::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px var(--cyan); animation: live 2s 3; pointer-events: none; }

/* FICHA DE PIEZA */
.pz-head { display: grid; gap: 12px; padding: 22px; border: 1px solid rgba(var(--hue-rgb), 0.3); border-radius: var(--r-xl); background: radial-gradient(70% 120% at 0% 0%, rgba(var(--hue-rgb), 0.16), transparent 60%), var(--surface-1); }
.pz-head .s-head__t { font-family: var(--font-display); font-size: clamp(40px, 5vw, 64px); font-weight: 400; line-height: 0.95; text-transform: uppercase; }
.pz-meta { display: flex; flex-wrap: wrap; gap: 10px 28px; padding-top: 12px; border-top: 1px solid var(--border-subtle); }
.pz-meta div { display: grid; gap: 2px; }
.pz-meta dt { color: var(--fg-dim); font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; }
.pz-meta dd { font-size: 14px; }
.ptabs { position: sticky; top: var(--top-h); z-index: 6; display: flex; gap: 4px; margin: 0 -4px; padding: 6px 4px; overflow-x: auto; background: linear-gradient(180deg, var(--bg) 80%, transparent); scrollbar-width: none; }
.ptabs::-webkit-scrollbar { display: none; }
.ptabs__a { flex: none; padding: 8px 14px; border: 1px solid transparent; border-radius: var(--r-pill); color: var(--fg-muted); font-size: 13.5px; font-weight: 500; white-space: nowrap; }
.ptabs__a:hover { color: var(--fg); background: var(--surface-1); }
.ptabs__a.is-on { border-color: var(--border-cyan); background: var(--cyan-tint-08); color: var(--fg); }
@media (max-width: 899px) { .ptabs { top: calc(var(--top-h) + 52px); } }
.pz-body { display: grid; gap: 22px; }
.flows { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 14px; }
.flowc { position: relative; display: grid; align-content: start; gap: 10px; padding: 16px; overflow: hidden; border: 1px solid var(--border-subtle); border-radius: var(--r-lg); background: var(--surface-1); }
.flowc__h { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.flowc__trig { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--r-pill); background: rgba(240, 179, 74, 0.12); color: var(--warning); font-size: 13px; font-weight: 600; }
.flowc__h b { font-size: 12px; color: var(--fg-muted); }
.flowc__s { position: relative; display: grid; gap: 12px; padding-left: 18px; }
.flowc__s::before { content: ""; position: absolute; left: 5px; top: 6px; bottom: 6px; border-left: 2px solid var(--border-mid); }
.flowc__n { position: relative; font-size: 13.5px; }
.flowc__dot { position: absolute; left: -18px; top: 5px; width: 12px; height: 12px; border: 2px solid var(--bg); border-radius: 50%; background: var(--cyan); }
.flowc__n.is-ok .flowc__dot { background: var(--success); } .flowc__n.is-warn .flowc__dot { background: var(--warning); }
.flowc__pkt { position: absolute; left: 21px; top: 92px; width: 8px; height: 8px; border-radius: 50%; background: var(--cyan-bright); box-shadow: 0 0 12px var(--cyan); animation: pkt 3.6s var(--ease-out) infinite; }
@keyframes pkt { 0% { transform: translateY(0); opacity: 0; } 10% { opacity: 1; } 85% { opacity: 1; } 100% { transform: translateY(150px); opacity: 0; } }
.gaps { display: grid; gap: 12px; }
.gap { display: grid; gap: 8px; padding: 14px; border: 1px solid rgba(240, 179, 74, 0.3); border-radius: var(--r-lg); background: rgba(240, 179, 74, 0.04); }
.gap__h { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.teach { display: grid; gap: 6px; }
.teach .row { align-items: center; flex-wrap: wrap; }
.teach .dim { font-size: 12px; }
.kn { display: grid; gap: 4px; }
.kn__i { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 10px 6px; border-bottom: 1px solid var(--border-subtle); }
.kn__q { display: grid; gap: 2px; }
.kn__q .muted { font-size: 13px; }
.kn__src { font-size: 11.5px; white-space: nowrap; }
.errs { display: grid; gap: 6px; }
.err { display: grid; grid-template-columns: 170px 150px minmax(0, 1fr); gap: 12px; align-items: baseline; padding: 9px 10px; border-left: 3px solid var(--warning); border-radius: 0 var(--r-md) var(--r-md) 0; background: var(--surface-1); font-size: 13px; }
.err.is-fail { border-color: var(--danger); }
@media (max-width: 760px) { .err { grid-template-columns: minmax(0, 1fr); gap: 2px; } .kn__i { grid-template-columns: 18px minmax(0, 1fr); } .kn__src { grid-column: 2; } }
.mods { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.mod { display: grid; gap: 4px; padding: 14px; border: 1px solid var(--border-subtle); border-radius: var(--r-lg); background: var(--surface-1); }
.mod__n { color: var(--cyan); font-size: 11px; }
.mod .dim { font-size: 13px; }
.panel-embed { display: grid; gap: 14px; padding: 18px; border: 1px solid var(--border-cyan); border-radius: var(--r-xl); background: radial-gradient(60% 80% at 100% 0%, rgba(0, 194, 209, 0.08), transparent 60%), var(--bg); box-shadow: var(--glow-cyan-sm); }
.panel-embed__h { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.ints { display: grid; gap: 6px; }
.int { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 11px 12px; border: 1px solid var(--border-subtle); border-radius: var(--r-md); background: var(--surface-1); font-size: 14px; }
.int__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--fg-dim); }
.int__dot.is-connected { background: var(--success); box-shadow: 0 0 0 3px rgba(77, 213, 153, 0.15); }
.int__dot.is-pending { background: var(--warning); }
.int .dim { font-size: 12px; }
@media (max-width: 640px) { .int { grid-template-columns: 10px minmax(0, 1fr); } .int .dim { grid-column: 2; } }
.incs { display: grid; gap: 12px; }
.inc { display: grid; gap: 6px; padding: 14px 16px; border: 1px solid var(--border-subtle); border-radius: var(--r-lg); background: var(--surface-1); font-size: 14px; }
.inc__h { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.inc .dim { font-size: 12px; }
@media (prefers-reduced-motion: reduce) { .screen, .feed--live .feed__i, .flowc__pkt, .skel__row, .live-chip__dot, .sbx__m, .member.is-fresh::after { animation: none !important; } }

/* Pase 28b (evaluador): lo primordial arriba, legibilidad y movil */
.hoy-wait .oks { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.hoy-head__t { text-wrap: balance; }
.delta.is-flat { background: var(--surface-3); color: var(--fg-muted); }
.lmap__h { font-size: 11.5px; color: var(--fg-muted); }
.lmap__col:last-child .lmap__nt b { white-space: normal; line-height: 1.2; }
.lmap__ns, .hl__n .dim, .agenda__t .dim, .idea__imp .dim, .req__when, .member__foot, .ac-r__svc, .kc__f .dim, .filmc__t .dim { font-size: 12px; color: var(--fg-muted); }
.kc__l { color: var(--fg-muted); font-size: 13px; }
a.member:focus-visible, .ac-r:focus-visible, .doc:focus-visible, .filmc:focus-visible, .chip--btn:focus-visible, .lmap__n:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
@media (max-width: 640px) {
  .screen--hoy.is-marcha .hoy-head__t { font-size: 30px; }
  .hoy-head { padding: 20px 16px; }
  .live-chip { white-space: nowrap; font-size: 10.5px; padding: 4px 10px; }
  .hoy-head__sub { font-size: 14px; }
}
.live-chip__s { display: none; }
@media (max-width: 420px) {
  .live-chip__l { display: none; }
  .live-chip__s { display: inline; }
  .ctx .org { flex-wrap: wrap; row-gap: 8px; }
  .ctx .site { max-width: none; width: 100%; margin-left: 0; }
  .lmap__col:not(.lmap__col--mid) .lmap__ico { display: none; }
  .lmap__col:not(.lmap__col--mid) .lmap__n { gap: 6px; padding: 7px 8px; }
}
.pz-meta dd, .facts dd, .gloss dd { margin: 0; }
