/* =========================================================================
   Proyecto Isaías v12.5.0 — Asistencias especiales (Congregación)
   ========================================================================= */
html body:not(.fj-z) .fj-cong, html body:not(.fj-z) .fj-cong-switch {
  --c-bg: #ffffff; --c-soft: #f5f6fb; --c-soft2: #eef1f8; --c-line: #dde2ee;
  --c-ink: #121a2e; --c-ink2: #2f3a55; --c-muted: #56617a;
  --c-accent: #4b3bc4; --c-accent-ink: #ffffff; --c-accent-soft: #eeebff;
  --c-ok: #11734b; --c-ok-bg: #e5f6ee; --c-bad: #a1182f; --c-bad-bg: #fdecef;
  --c-warn: #8a4b06; --c-warn-bg: #fff4e2; --c-wait: #1d4f91; --c-wait-bg: #e8f0fc;
  --c-gold: #8a6116; --c-gold-bg: #fbf3df;
  --c-hero1: #12193a; --c-hero2: #2a1f6b;
  color: var(--c-ink);
}
html[data-fj-theme="night"] body:not(.fj-z) .fj-cong, html[data-fj-theme="night"] body:not(.fj-z) .fj-cong-switch,
body[data-fj-theme="night"]:not(.fj-z) .fj-cong, body[data-fj-theme="night"]:not(.fj-z) .fj-cong-switch {
  --c-bg: #131b31; --c-soft: #19233d; --c-soft2: #1d2946; --c-line: #2c3858;
  --c-ink: #f2f5fc; --c-ink2: #d6ddee; --c-muted: #b3bdd4;
  --c-accent: #a79dff; --c-accent-ink: #0b1020; --c-accent-soft: #231f4a;
  --c-ok: #6be0a8; --c-ok-bg: #0f2d22; --c-bad: #ff9aaa; --c-bad-bg: #3a1220;
  --c-warn: #f6c77d; --c-warn-bg: #33240b; --c-wait: #9cc2ff; --c-wait-bg: #13264a;
  --c-gold: #e3bf74; --c-gold-bg: #2e2510;
}
html body:not(.fj-z) .fj-cong { display: grid; gap: 16px; font-size: 15px; line-height: 1.55; }
html body:not(.fj-z) .fj-cong *, html body:not(.fj-z) .fj-cong-switch * { box-sizing: border-box; }
html body:not(.fj-z) .fj-cong h2, html body:not(.fj-z) .fj-cong h3, html body:not(.fj-z) .fj-cong h4, html body:not(.fj-z) .fj-cong p, html body:not(.fj-z) .fj-cong ol, html body:not(.fj-z) .fj-cong ul, html body:not(.fj-z) .fj-cong fieldset { margin: 0; }
html body:not(.fj-z) .fj-cong p, html body:not(.fj-z) .fj-cong li, html body:not(.fj-z) .fj-cong small, html body:not(.fj-z) .fj-cong span, html body:not(.fj-z) .fj-cong label, html body:not(.fj-z) .fj-cong td, html body:not(.fj-z) .fj-cong th { color: inherit; }
html body:not(.fj-z) .fj-cong a { color: var(--c-accent); font-weight: 700; }
html body:not(.fj-z) .fj-cong .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- Selector Proyecto / Congregación ---------- */
html body:not(.fj-z) .fj-cong-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 16px; }
html body:not(.fj-z) .fj-cong-switch a {
  display: grid; gap: 2px; padding: 12px 16px; border-radius: 14px; text-decoration: none !important;
  background: var(--c-bg) !important; border: 1.5px solid var(--c-line) !important; color: var(--c-ink) !important;
}
html body:not(.fj-z) .fj-cong-switch a strong { font-size: 16px; color: var(--c-ink) !important; display: flex; align-items: center; gap: 8px; }
html body:not(.fj-z) .fj-cong-switch a small { font-size: 13px; color: var(--c-muted) !important; }
html body:not(.fj-z) .fj-cong-switch a.is-active { border-color: var(--c-accent) !important; background: var(--c-accent-soft) !important; box-shadow: inset 0 -3px 0 var(--c-accent); }
html body:not(.fj-z) .fj-cong-count { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; font-size: 12px; font-weight: 800; color: #fff !important; background: #c2410c !important; }

/* ---------- Héroe ---------- */
html body:not(.fj-z) .fj-cong-hero {
  display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 18px; align-items: center;
  padding: 22px 24px; border-radius: 20px; color: #fff;
  background: radial-gradient(500px 220px at 0% 0%, rgba(227, 191, 116, .22), transparent 60%), linear-gradient(140deg, var(--c-hero1), var(--c-hero2)) !important;
}
html body:not(.fj-z) .fj-cong-hero h2 { font-size: clamp(22px, 3vw, 30px) !important; line-height: 1.15 !important; font-weight: 800 !important; color: #fff !important; margin: 2px 0 6px !important; }
html body:not(.fj-z) .fj-cong-hero p { color: #d9def0 !important; font-size: 15px !important; }
html body:not(.fj-z) .fj-cong-over { display: block; font-size: 12px !important; font-weight: 800 !important; letter-spacing: .12em; text-transform: uppercase; color: var(--c-accent) !important; }
html body:not(.fj-z) .fj-cong-hero .fj-cong-over { color: #e3bf74 !important; }
html body:not(.fj-z) .fj-cong-rules { list-style: none !important; padding: 0 !important; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
html body:not(.fj-z) .fj-cong-rules li { margin: 0 !important; padding: 10px; border-radius: 12px; background: rgba(255, 255, 255, .1) !important; border: 1px solid rgba(227, 191, 116, .4); text-align: center; }
html body:not(.fj-z) .fj-cong-rules b { display: block; font-size: 20px; color: #fff !important; }
html body:not(.fj-z) .fj-cong-rules span { display: block; font-size: 12px; line-height: 1.3; color: #d9def0 !important; }

/* ---------- Pestañas ---------- */
html body:not(.fj-z) .fj-cong-tabs { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px; border-radius: 14px; background: var(--c-soft) !important; border: 1px solid var(--c-line); }
html body:not(.fj-z) .fj-cong-tabs a { flex: 1 1 auto; text-align: center; padding: 10px 14px; border-radius: 10px; font-size: 14px; font-weight: 700; color: var(--c-ink2) !important; text-decoration: none !important; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
html body:not(.fj-z) .fj-cong-tabs a.is-active { background: var(--c-bg) !important; color: var(--c-ink) !important; box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }

/* ---------- Tarjetas ---------- */
html body:not(.fj-z) .fj-cong-card { position: relative; padding: 18px; border-radius: 16px; background: var(--c-bg) !important; border: 1px solid var(--c-line) !important; color: var(--c-ink) !important; display: grid; gap: 12px; }
html body:not(.fj-z) .fj-cong-card h3, html body:not(.fj-z) .fj-cong-h3 { font-size: 18px !important; font-weight: 800 !important; color: var(--c-ink) !important; line-height: 1.3; }
html body:not(.fj-z) .fj-cong-h3 { margin-bottom: 10px !important; }
html body:not(.fj-z) .fj-cong-card h4 { font-size: 15px !important; font-weight: 800 !important; color: var(--c-ink) !important; }
html body:not(.fj-z) .fj-cong-muted { color: var(--c-muted) !important; font-size: 14px !important; }
html body:not(.fj-z) .fj-cong-muted strong { color: var(--c-ink2) !important; }
html body:not(.fj-z) .fj-cong-step { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; font-weight: 800; color: var(--c-accent-ink) !important; background: var(--c-accent) !important; }
html body:not(.fj-z) .fj-cong-cardhead { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: flex-start; }
html body:not(.fj-z) .fj-cong-empty { display: grid; gap: 4px; text-align: center; padding: 26px; color: var(--c-muted) !important; }
html body:not(.fj-z) .fj-cong-empty strong { color: var(--c-ink) !important; }
html body:not(.fj-z) .fj-cong-section { display: grid; gap: 10px; }

/* ---------- Mensajes ---------- */
html body:not(.fj-z) .fj-cong-alert { padding: 12px 14px; border-radius: 12px; font-weight: 600; border-left: 4px solid currentColor; font-size: 15px; }
html body:not(.fj-z) .fj-cong-alert.is-ok { color: var(--c-ok) !important; background: var(--c-ok-bg) !important; }
html body:not(.fj-z) .fj-cong-alert.is-error { color: var(--c-bad) !important; background: var(--c-bad-bg) !important; }
html body:not(.fj-z) .fj-cong-alert.is-warn { color: var(--c-warn) !important; background: var(--c-warn-bg) !important; }
html body:not(.fj-z) .fj-cong-alert strong { color: inherit !important; }
html body:not(.fj-z) .fj-cong-warn { padding: 10px 12px; border-radius: 10px; color: var(--c-warn) !important; background: var(--c-warn-bg) !important; font-weight: 600; font-size: 14px; }

/* ---------- Chips ---------- */
html body:not(.fj-z) .fj-cong-chip { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; font-size: 12.5px !important; font-weight: 800 !important; white-space: nowrap; }
html body:not(.fj-z) .fj-cong-chip.is-ok { color: var(--c-ok) !important; background: var(--c-ok-bg) !important; }
html body:not(.fj-z) .fj-cong-chip.is-bad { color: var(--c-bad) !important; background: var(--c-bad-bg) !important; }
html body:not(.fj-z) .fj-cong-chip.is-warn { color: var(--c-warn) !important; background: var(--c-warn-bg) !important; }
html body:not(.fj-z) .fj-cong-chip.is-wait { color: var(--c-wait) !important; background: var(--c-wait-bg) !important; }
html body:not(.fj-z) .fj-cong-chip.is-muted { color: var(--c-muted) !important; background: var(--c-soft2) !important; }

/* ---------- Botones y campos ---------- */
html body:not(.fj-z) .fj-cong-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 10px 16px;
  border-radius: 12px; font: inherit; font-size: 15px !important; font-weight: 800 !important; cursor: pointer; text-decoration: none !important;
  border: 1.5px solid transparent !important; line-height: 1.2;
}
html body:not(.fj-z) .fj-cong-btn.is-primary { color: var(--c-accent-ink) !important; background: var(--c-accent) !important; }
html body:not(.fj-z) .fj-cong-btn.is-ghost { color: var(--c-ink2) !important; background: var(--c-bg) !important; border-color: var(--c-line) !important; min-height: 36px; padding: 6px 12px; font-size: 13px !important; }
html body:not(.fj-z) .fj-cong-btn.is-ok { color: #fff !important; background: #11734b !important; }
html body:not(.fj-z) .fj-cong-btn.is-warn { color: #5a3202 !important; background: #fbd38d !important; }
html body:not(.fj-z) .fj-cong-btn.is-danger { color: var(--c-bad) !important; background: var(--c-bg) !important; border-color: var(--c-bad) !important; }
html body:not(.fj-z) .fj-cong-btn.is-block { width: 100%; }
html body:not(.fj-z) .fj-cong-btn[disabled] { opacity: .5 !important; cursor: not-allowed !important; }
html body:not(.fj-z) .fj-cong-field { display: grid; gap: 6px; min-width: 0; }
html body:not(.fj-z) .fj-cong-field > span { font-size: 14px !important; font-weight: 700 !important; color: var(--c-ink2) !important; }
html body:not(.fj-z) .fj-cong-field > span small { font-weight: 500; color: var(--c-muted) !important; }
.fj-cong input[type="text"], .fj-cong input[type="date"], .fj-cong input[type="url"], .fj-cong input[type="search"], .fj-cong input[type="number"],
html body:not(.fj-z) .fj-cong select, html body:not(.fj-z) .fj-cong textarea {
  width: 100% !important; min-height: 44px; padding: 10px 12px !important; margin: 0 !important; font: inherit; font-size: 15px !important;
  color: var(--c-ink) !important; background: var(--c-bg) !important; border: 1.5px solid var(--c-line) !important; border-radius: 12px !important; box-shadow: none !important;
}
html body:not(.fj-z) .fj-cong textarea { resize: vertical; line-height: 1.45; }
html body:not(.fj-z) .fj-cong input:focus, html body:not(.fj-z) .fj-cong select:focus, html body:not(.fj-z) .fj-cong textarea:focus { outline: none; border-color: var(--c-accent) !important; box-shadow: 0 0 0 3px var(--c-accent-soft) !important; }
html body:not(.fj-z) .fj-cong ::placeholder { color: var(--c-muted) !important; opacity: .85; }
html body:not(.fj-z) .fj-cong-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
html body:not(.fj-z) .fj-cong-fieldset { border: 1px solid var(--c-line) !important; border-radius: 12px; padding: 12px 14px 14px !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 12px !important; }
html body:not(.fj-z) .fj-cong-fieldset legend { padding: 0 6px; font-weight: 800; color: var(--c-ink) !important; }
html body:not(.fj-z) .fj-cong-rulesform { display: grid; }
html body:not(.fj-z) .fj-cong-inline { display: inline; }

/* ---------- Staff: pasar lista ---------- */
html body:not(.fj-z) .fj-cong-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 16px; align-items: start; }
html body:not(.fj-z) .fj-cong-side { position: sticky; top: 90px; display: grid; gap: 10px; padding: 14px; border-radius: 16px; background: var(--c-bg) !important; border: 1px solid var(--c-line); }
html body:not(.fj-z) .fj-cong-side h3 { font-size: 13px !important; text-transform: uppercase; letter-spacing: .08em; color: var(--c-muted) !important; margin-top: 4px !important; }
html body:not(.fj-z) .fj-cong-events { list-style: none !important; padding: 0 !important; display: grid; gap: 4px; max-height: 60vh; overflow: auto; }
html body:not(.fj-z) .fj-cong-events li { margin: 0 !important; }
html body:not(.fj-z) .fj-cong-events a { display: flex; gap: 10px; align-items: center; padding: 8px 10px; border-radius: 10px; text-decoration: none !important; color: var(--c-ink) !important; }
html body:not(.fj-z) .fj-cong-events a:hover { background: var(--c-soft) !important; }
html body:not(.fj-z) .fj-cong-events li.is-active a { background: var(--c-accent-soft) !important; }
html body:not(.fj-z) .fj-cong-events__icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: var(--c-soft2) !important; flex: 0 0 32px; }
html body:not(.fj-z) .fj-cong-events strong { display: block; font-size: 14px; color: var(--c-ink) !important; }
html body:not(.fj-z) .fj-cong-events small { display: block; font-size: 12.5px; color: var(--c-muted) !important; }
html body:not(.fj-z) .fj-cong-main, html body:not(.fj-z) .fj-cong-list { display: grid; gap: 14px; min-width: 0; }
html body:not(.fj-z) .fj-cong-eventhead h3 { font-size: 20px !important; }
html body:not(.fj-z) .fj-cong-types { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
html body:not(.fj-z) .fj-cong-type input { position: absolute; opacity: 0; pointer-events: none; }
html body:not(.fj-z) .fj-cong-type span { display: grid; gap: 4px; justify-items: center; text-align: center; padding: 14px 10px; border-radius: 14px; cursor: pointer; border: 2px solid var(--c-line); background: var(--c-soft) !important; }
html body:not(.fj-z) .fj-cong-type b { font-size: 24px; }
html body:not(.fj-z) .fj-cong-type strong { font-size: 14px; color: var(--c-ink) !important; }
html body:not(.fj-z) .fj-cong-type input:checked + span { border-color: var(--c-accent); background: var(--c-accent-soft) !important; box-shadow: 0 0 0 3px var(--c-accent-soft); }
html body:not(.fj-z) .fj-cong-type input:focus-visible + span { outline: 3px solid var(--c-accent); outline-offset: 2px; }
html body:not(.fj-z) .fj-cong-search input { max-width: 360px; }
html body:not(.fj-z) .fj-cong-team { border: 1px solid var(--c-line); border-radius: 14px; overflow: hidden; }
html body:not(.fj-z) .fj-cong-team > header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; background: var(--c-soft) !important; border-bottom: 1px solid var(--c-line); }
html body:not(.fj-z) .fj-cong-team > header h4 { font-size: 15px !important; }
html body:not(.fj-z) .fj-cong-team > header small { font-weight: 600; color: var(--c-muted) !important; margin-left: 6px; }
html body:not(.fj-z) .fj-cong-team__bulk { display: flex; gap: 6px; flex-wrap: wrap; }
html body:not(.fj-z) .fj-cong-person { display: grid; grid-template-columns: minmax(180px, 1fr) auto; gap: 8px 12px; align-items: center; padding: 10px 12px; border-top: 1px solid var(--c-line); }
html body:not(.fj-z) .fj-cong-person:first-of-type { border-top: 0; }
html body:not(.fj-z) .fj-cong-person.is-unset { background: linear-gradient(90deg, var(--c-warn-bg), transparent 30%) !important; }
html body:not(.fj-z) .fj-cong-person__id { display: flex; align-items: center; gap: 10px; min-width: 0; }
html body:not(.fj-z) .fj-cong-person__id strong { display: block; font-size: 15px; color: var(--c-ink) !important; }
html body:not(.fj-z) .fj-cong-person__id small { display: block; }
html body:not(.fj-z) .fj-cong-person__id img, html body:not(.fj-z) .fj-cong-person__id .fj-avatar { flex: 0 0 auto; }
html body:not(.fj-z) .fj-cong-states { display: flex; flex-wrap: wrap; gap: 6px; border: 0 !important; padding: 0 !important; }
html body:not(.fj-z) .fj-cong-state input { position: absolute; opacity: 0; pointer-events: none; }
html body:not(.fj-z) .fj-cong-state span { display: inline-flex; align-items: center; gap: 4px; padding: 8px 12px; min-height: 40px; border-radius: 10px; font-size: 14px; font-weight: 700; cursor: pointer; color: var(--c-ink2) !important; background: var(--c-bg) !important; border: 1.5px solid var(--c-line); }
html body:not(.fj-z) .fj-cong-state input:focus-visible + span { outline: 3px solid var(--c-accent); outline-offset: 1px; }
html body:not(.fj-z) .fj-cong-state.is-presente input:checked + span { color: #fff !important; background: #11734b !important; border-color: #11734b; }
html body:not(.fj-z) .fj-cong-state.is-ausente input:checked + span { color: #fff !important; background: #a1182f !important; border-color: #a1182f; }
html body:not(.fj-z) .fj-cong-state.is-justificada input:checked + span { color: #fff !important; background: #1d4f91 !important; border-color: #1d4f91; }
html body:not(.fj-z) .fj-cong-state.is-no_convocado input:checked + span { color: #fff !important; background: #56617a !important; border-color: #56617a; }
html body:not(.fj-z) .fj-cong-motivo { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0, 320px); gap: 10px; align-items: center; justify-content: end; }
html body:not(.fj-z) .fj-cong-motivo span { font-size: 13px; font-weight: 700; color: var(--c-ink2) !important; }
html body:not(.fj-z) .fj-cong-motivo[hidden], html body:not(.fj-z) .fj-cong-person[hidden] { display: none !important; }
html body:not(.fj-z) .fj-cong-savebar {
  position: sticky; bottom: 12px; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px;
  padding: 12px 14px; border-radius: 16px; background: var(--c-bg) !important; border: 1.5px solid var(--c-accent); box-shadow: 0 10px 30px rgba(18, 26, 46, .18);
}
html body:not(.fj-z) .fj-cong-savebar__sum { font-weight: 700; color: var(--c-ink) !important; }
html body:not(.fj-z) .fj-cong-savebar__sum b { color: var(--c-accent) !important; }
html body:not(.fj-z) .fj-cong-savebar__warn { flex-basis: 100%; color: var(--c-warn) !important; font-size: 14px; }
html body:not(.fj-z) .fj-cong-savebar__warn[hidden] { display: none; }

/* ---------- Staff: revisión de resúmenes ---------- */
html body:not(.fj-z) .fj-cong-reviews { display: grid; gap: 14px; }
html body:not(.fj-z) .fj-cong-review__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; align-items: center; padding-bottom: 10px; border-bottom: 1px solid var(--c-line); }
html body:not(.fj-z) .fj-cong-review__meta { text-align: right; }
html body:not(.fj-z) .fj-cong-review__meta strong { display: block; color: var(--c-ink) !important; }
html body:not(.fj-z) .fj-cong-review__meta small { color: var(--c-muted) !important; }
html body:not(.fj-z) .fj-cong-321 { display: grid; gap: 12px; }
html body:not(.fj-z) .fj-cong-321 section { padding: 12px 14px; border-radius: 12px; background: var(--c-soft) !important; }
html body:not(.fj-z) .fj-cong-321 h4 { display: flex; align-items: center; gap: 8px; margin-bottom: 6px !important; color: var(--c-ink) !important; }
html body:not(.fj-z) .fj-cong-321 h4 b { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; color: var(--c-accent-ink) !important; background: var(--c-accent) !important; }
html body:not(.fj-z) .fj-cong-321 ol, html body:not(.fj-z) .fj-cong-321 ul { padding-left: 22px !important; display: grid; gap: 4px; }
html body:not(.fj-z) .fj-cong-321 li, html body:not(.fj-z) .fj-cong-321 p { font-size: 15px !important; color: var(--c-ink2) !important; }
html body:not(.fj-z) .fj-cong-321 li strong { color: var(--c-ink) !important; }
html body:not(.fj-z) .fj-cong-review__form { display: grid; gap: 10px; }
html body:not(.fj-z) .fj-cong-review__actions { display: flex; flex-wrap: wrap; gap: 8px; }

/* ---------- Staff: tabla de Dinastías ---------- */
html body:not(.fj-z) .fj-cong-tablewrap { overflow-x: auto; border: 1px solid var(--c-line); border-radius: 12px; }
html body:not(.fj-z) .fj-cong-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 640px; }
html body:not(.fj-z) .fj-cong-table th, html body:not(.fj-z) .fj-cong-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid var(--c-line); vertical-align: middle; color: var(--c-ink2) !important; background: var(--c-bg) !important; }
html body:not(.fj-z) .fj-cong-table thead th { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--c-muted) !important; background: var(--c-soft) !important; }
html body:not(.fj-z) .fj-cong-table tbody th { color: var(--c-ink) !important; font-weight: 800; }
html body:not(.fj-z) .fj-cong-table small { color: var(--c-muted) !important; }
html body:not(.fj-z) .fj-cong-legend { list-style: none !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
html body:not(.fj-z) .fj-cong-legend li { margin: 0 !important; padding: 6px 12px; border-radius: 999px; font-size: 13px; color: var(--c-ink2) !important; background: var(--c-soft) !important; }
html body:not(.fj-z) .fj-cong-legend b { color: var(--c-ink) !important; }

/* ---------- Dinasta ---------- */
html body:not(.fj-z) .fj-cong-allgood { grid-template-columns: auto 1fr; align-items: center; }
html body:not(.fj-z) .fj-cong-allgood > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; font-size: 22px; font-weight: 900; color: #fff !important; background: #11734b !important; }
html body:not(.fj-z) .fj-cong-allgood strong { color: var(--c-ink) !important; font-size: 16px; }
html body:not(.fj-z) .fj-cong-allgood p { color: var(--c-muted) !important; }
html body:not(.fj-z) .fj-cong-write { padding: 0 !important; overflow: hidden; }
html body:not(.fj-z) .fj-cong-write > summary { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 14px 16px; cursor: pointer; list-style: none; background: var(--c-soft) !important; }
html body:not(.fj-z) .fj-cong-write > summary::-webkit-details-marker { display: none; }
html body:not(.fj-z) .fj-cong-write__title strong { display: block; font-size: 16px; color: var(--c-ink) !important; }
html body:not(.fj-z) .fj-cong-write__title small { color: var(--c-muted) !important; }
html body:not(.fj-z) .fj-cong-write > *:not(summary) { margin: 0 16px; }
html body:not(.fj-z) .fj-cong-write > *:last-child { margin-bottom: 16px; }
html body:not(.fj-z) .fj-cong-write > .fj-cong-alert, html body:not(.fj-z) .fj-cong-write > .fj-cong-muted { margin-top: 12px; }
html body:not(.fj-z) .fj-cong-321form { display: grid; gap: 14px; margin-top: 14px !important; }
html body:not(.fj-z) .fj-cong-block { border: 0 !important; padding: 0 !important; display: grid; gap: 10px; }
html body:not(.fj-z) .fj-cong-block legend { display: block; width: 100%; float: left; margin: 0 0 4px !important; padding: 0 !important; font-size: 16px !important; font-weight: 800 !important; color: var(--c-ink) !important; }
html body:not(.fj-z) .fj-cong-block legend + * { clear: both; }
html body:not(.fj-z) .fj-cong-block legend b { display: inline-grid; place-items: center; width: 28px; height: 28px; margin-right: 6px; border-radius: 8px; color: var(--c-accent-ink) !important; background: var(--c-accent) !important; }
html body:not(.fj-z) .fj-cong-block legend small { display: block; font-size: 13.5px; font-weight: 500; color: var(--c-muted) !important; margin-top: 2px; }
html body:not(.fj-z) .fj-cong-block .fj-cong-row { grid-template-columns: minmax(0, 170px) minmax(0, 1fr); }
html body:not(.fj-z) .fj-cong-counter { font-size: 12.5px; color: var(--c-muted) !important; text-align: right; }
html body:not(.fj-z) .fj-cong-counter.is-ok { color: var(--c-ok) !important; }
html body:not(.fj-z) .fj-cong-tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
html body:not(.fj-z) .fj-cong-tier { display: grid; gap: 6px; align-content: start; padding: 14px; border-radius: 14px; background: var(--c-bg) !important; border: 1px solid var(--c-line); border-top: 4px solid #8a94ab; }
html body:not(.fj-z) .fj-cong-tier.is-gold { border-top-color: #c9a25a; }
html body:not(.fj-z) .fj-cong-tier.is-crown { border-top-color: #4b3bc4; }
html body:not(.fj-z) .fj-cong-tier__name { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--c-muted) !important; }
html body:not(.fj-z) .fj-cong-tier__prize { font-size: 17px; color: var(--c-ink) !important; }
html body:not(.fj-z) .fj-cong-tier small { color: var(--c-muted) !important; font-size: 13px; }
html body:not(.fj-z) .fj-cong-tier .fj-cong-chip { justify-self: start; }
html body:not(.fj-z) .fj-cong-owed { color: var(--c-warn) !important; font-weight: 600; }
html body:not(.fj-z) .fj-cong-howto > summary { cursor: pointer; color: var(--c-ink) !important; }
html body:not(.fj-z) .fj-cong-howto ol { padding-left: 22px !important; display: grid; gap: 6px; color: var(--c-ink2) !important; }
html body:not(.fj-z) .fj-cong-howto p { color: var(--c-muted) !important; }
html body:not(.fj-z) .fj-cong-history { list-style: none !important; padding: 0 !important; display: grid; border: 1px solid var(--c-line); border-radius: 14px; overflow: hidden; background: var(--c-bg) !important; }
html body:not(.fj-z) .fj-cong-history li { margin: 0 !important; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; padding: 10px 14px; border-top: 1px solid var(--c-line); }
html body:not(.fj-z) .fj-cong-history li:first-child { border-top: 0; }
html body:not(.fj-z) .fj-cong-history strong { display: block; color: var(--c-ink) !important; }
html body:not(.fj-z) .fj-cong-history small { color: var(--c-muted) !important; }
html body:not(.fj-z) .fj-cong-history__tags { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
html body:not(.fj-z) .fj-cong-note { font-style: italic; }

/* ---------- Insignias ---------- */
html body:not(.fj-z) .fj-cong-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
html body:not(.fj-z) .fj-cong-badges.is-banner { margin: 0 0 12px; }
html body:not(.fj-z) .fj-cong-badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border-radius: 999px; color: #5a3e05 !important; background: linear-gradient(135deg, #fff6dc, #f3d98f) !important; border: 1px solid #d9b35a; box-shadow: 0 2px 8px rgba(201, 162, 90, .3); }
html body:not(.fj-z) .fj-cong-badge.is-dinasta { color: #2a1f6b !important; background: linear-gradient(135deg, #f1efff, #d9d3ff) !important; border-color: #a79dff; }
html body:not(.fj-z) .fj-cong-badge__seal { display: grid; place-items: center; width: 30px; height: 30px; color: inherit; }
html body:not(.fj-z) .fj-cong-badge__txt strong { display: block; font-size: 13.5px; line-height: 1.1; color: inherit !important; }
html body:not(.fj-z) .fj-cong-badge__txt small { display: block; font-size: 11.5px; color: inherit !important; opacity: .85; }
html body:not(.fj-z) .fj-cong-badge.is-sm { padding: 2px 8px 2px 2px; }
html body:not(.fj-z) .fj-cong-badge.is-sm .fj-cong-badge__seal { width: 20px; height: 20px; }
html body:not(.fj-z) .fj-cong-badge.is-sm .fj-cong-badge__txt small { display: none; }

/* ---------- Aviso en Mi ficha ---------- */
html body:not(.fj-z) .fj-cong-banner { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; margin: 0 0 14px; padding: 12px 16px; border-radius: 16px; text-decoration: none !important; color: #fff !important; background: linear-gradient(120deg, #12193a, #2a1f6b) !important; border: 1px solid rgba(227, 191, 116, .5); }
html body:not(.fj-z) .fj-cong-banner__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; font-size: 22px; background: rgba(255, 255, 255, .12) !important; }
html body:not(.fj-z) .fj-cong-banner strong { display: block; color: #fff !important; font-size: 16px; }
html body:not(.fj-z) .fj-cong-banner small { display: block; color: #d9def0 !important; font-size: 13.5px; }
html body:not(.fj-z) .fj-cong-banner__cta { padding: 9px 14px; border-radius: 10px; font-weight: 800; color: #12193a !important; background: #e3bf74 !important; white-space: nowrap; }

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
html body:not(.fj-z) .fj-cong-layout { grid-template-columns: 1fr; }
html body:not(.fj-z) .fj-cong-side { position: static; }
html body:not(.fj-z) .fj-cong-events { max-height: 220px; }
}
@media (max-width: 720px) {
html body:not(.fj-z) .fj-cong-hero { grid-template-columns: 1fr; padding: 18px; }
html body:not(.fj-z) .fj-cong-switch { grid-template-columns: 1fr; }
html body:not(.fj-z) .fj-cong-types { grid-template-columns: 1fr; }
html body:not(.fj-z) .fj-cong-type span { grid-template-columns: auto 1fr; justify-items: start; text-align: left; align-items: center; padding: 12px; }
html body:not(.fj-z) .fj-cong-row, html body:not(.fj-z) .fj-cong-block .fj-cong-row, html body:not(.fj-z) .fj-cong-fieldset { grid-template-columns: 1fr; }
html body:not(.fj-z) .fj-cong-person { grid-template-columns: 1fr; }
html body:not(.fj-z) .fj-cong-states { display: grid; grid-template-columns: 1fr 1fr; }
html body:not(.fj-z) .fj-cong-state span { justify-content: center; width: 100%; }
html body:not(.fj-z) .fj-cong-motivo { grid-template-columns: 1fr; justify-content: stretch; }
html body:not(.fj-z) .fj-cong-tiers { grid-template-columns: 1fr; }
html body:not(.fj-z) .fj-cong-review__meta { text-align: left; }
html body:not(.fj-z) .fj-cong-review__actions .fj-cong-btn { flex: 1 1 100%; }
html body:not(.fj-z) .fj-cong-banner { grid-template-columns: auto 1fr; }
html body:not(.fj-z) .fj-cong-banner__cta { grid-column: 1 / -1; text-align: center; }
html body:not(.fj-z) .fj-cong-savebar .fj-cong-btn { width: 100%; }
}

/* Las marcas genéricas de «Necesario» sobran: cada pantalla explica lo que falta. */
html body:not(.fj-z) .fj-cong .fj-xp-required-mark, html body:not(.fj-z) .fj-cong-list .fj-xp-form-status { display: none !important; }
html body:not(.fj-z) .fj-cong .fj-cong-hero h2, html body:not(.fj-z) .fj-cong .fj-cong-hero p, html body:not(.fj-z) .fj-cong .fj-cong-hero span { text-shadow: none; }
