/* =========================================================================
   Proyecto Isaías v12.5.0 — Pulido visual
   1) Validación del Plan de Adelanto (Staff)
   ========================================================================= */

.fj-rv, .fj-rv-submit {
  --rv-bg: #ffffff; --rv-soft: #f5f6fb; --rv-line: #dde2ee; --rv-ink: #121a2e; --rv-ink2: #2f3a55; --rv-muted: #56617a;
  --rv-accent: #4b3bc4; --rv-accent-soft: #eeebff; --rv-care: #8a4b06; --rv-care-bg: #fff4e2; --rv-ok: #11734b;
}
html[data-fj-theme="night"] .fj-rv, html[data-fj-theme="night"] .fj-rv-submit,
body[data-fj-theme="night"] .fj-rv, body[data-fj-theme="night"] .fj-rv-submit {
  --rv-bg: #131b31; --rv-soft: #19233d; --rv-line: #2c3858; --rv-ink: #f2f5fc; --rv-ink2: #d6ddee; --rv-muted: #b3bdd4;
  --rv-accent: #a79dff; --rv-accent-soft: #231f4a; --rv-care: #f6c77d; --rv-care-bg: #33240b; --rv-ok: #6be0a8;
}

/* El formulario deja de ser una grilla de 3 columnas: todo a lo ancho. */
.fj-adv-staff-validation .fj-adv-validate.fj-rv-form {
  display: block !important; padding: 14px !important; margin: 0 !important; border: 0 !important;
}
.fj-adv-staff-validation > summary { align-items: center !important; }
.fj-adv-staff-validation > summary > span { font-size: 14px !important; }
.fj-adv-staff-validation > summary small { font-size: 13px !important; text-align: right; margin-left: auto; color: #4b5873 !important; font-weight: 600; }
html[data-fj-theme="night"] .fj-adv-staff-validation > summary small { color: #c3cbe0 !important; }

.fj-rv {
  display: grid; gap: 12px; padding: 16px; border-radius: 14px;
  background: var(--rv-bg) !important; border: 1px solid var(--rv-line) !important; color: var(--rv-ink) !important;
  text-align: left; font-size: 15px; line-height: 1.55;
}
.fj-rv p { margin: 0 !important; color: var(--rv-ink2) !important; font-size: 15px !important; line-height: 1.55 !important; }
.fj-rv__head { display: flex; align-items: center; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--rv-line); }
.fj-rv__medal { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; font-size: 24px; background: var(--rv-soft) !important; flex: 0 0 44px; }
.fj-rv__kicker { display: block; font-size: 12px !important; font-weight: 800 !important; letter-spacing: .1em; text-transform: uppercase; color: var(--rv-accent) !important; }
.fj-rv__title { display: block; font-size: 17px !important; font-weight: 800 !important; color: var(--rv-ink) !important; line-height: 1.3; }
.fj-rv__label { display: block; margin-bottom: 4px; font-size: 12px !important; font-weight: 800 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--rv-muted) !important; }
.fj-rv__demo { padding: 12px 14px; border-radius: 12px; background: var(--rv-accent-soft) !important; border-left: 4px solid var(--rv-accent); }
.fj-rv__demo p { font-size: 16px !important; font-weight: 600; color: var(--rv-ink) !important; }
.fj-rv__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fj-rv__box { padding: 12px 14px; border-radius: 12px; background: var(--rv-soft) !important; border: 1px solid var(--rv-line); min-width: 0; }
.fj-rv__care { padding: 12px 14px; border-radius: 12px; background: var(--rv-care-bg) !important; }
.fj-rv__care .fj-rv__label, .fj-rv__care p { color: var(--rv-care) !important; }
.fj-rv__rubric { margin: 0 !important; padding: 0 !important; border: 0 !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; min-width: 0; }
.fj-rv__rubric legend { grid-column: 1 / -1; padding: 0 !important; margin: 0 0 6px !important; font-size: 14px !important; font-weight: 800 !important; color: var(--rv-ink) !important; float: left; width: 100%; }
.fj-rv__check {
  display: flex !important; align-items: flex-start; gap: 10px; padding: 10px 12px; border-radius: 12px; cursor: pointer;
  background: var(--rv-bg) !important; border: 1.5px solid var(--rv-line) !important; transition: border-color .15s, background .15s;
  flex-direction: row !important; font-weight: 400 !important;
}
.fj-rv__check input { width: 20px !important; height: 20px !important; margin: 2px 0 0 !important; flex: 0 0 20px; accent-color: var(--rv-ok); }
.fj-rv__check span { display: grid; gap: 2px; }
.fj-rv__check strong { font-size: 15px !important; color: var(--rv-ink) !important; }
.fj-rv__check small { font-size: 13px !important; line-height: 1.45; color: var(--rv-muted) !important; }
.fj-rv__check:has(input:checked) { border-color: var(--rv-ok) !important; }
.fj-rv__fine { font-size: 13px !important; color: var(--rv-muted) !important; }

.fj-rv-submit { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 12px; margin-top: 12px; align-items: end; }
.fj-rv-submit__target { padding: 12px 14px; border-radius: 12px; background: var(--rv-soft) !important; border: 1px solid var(--rv-line); }
.fj-rv-submit__target span { display: block; font-size: 12px !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--rv-accent) !important; }
.fj-rv-submit__target strong { display: block; font-size: 18px !important; color: var(--rv-ink) !important; }
.fj-rv-submit__target small { display: block; font-size: 13px !important; color: var(--rv-muted) !important; }
.fj-rv-submit__note { display: grid !important; gap: 6px; font-size: 14px !important; font-weight: 700 !important; color: var(--rv-ink2) !important; }
.fj-rv-submit__note span { color: var(--rv-ink2) !important; }
.fj-rv-submit__note input {
  width: 100% !important; min-height: 46px; padding: 10px 12px !important; font-size: 15px !important;
  color: var(--rv-ink) !important; background: var(--rv-bg) !important; border: 1.5px solid var(--rv-line) !important; border-radius: 12px !important;
}
.fj-rv-submit__btn { grid-column: 1 / -1; min-height: 50px; font-size: 16px !important; justify-content: center; }
.fj-rv-submit__btn[disabled] { opacity: .55 !important; cursor: not-allowed !important; filter: grayscale(.4); }
.fj-rv-submit__lock { grid-column: 1 / -1; margin: 0 !important; text-align: center; font-size: 13px !important; color: var(--rv-muted) !important; }
.fj-rv-submit__lock[hidden] { display: none !important; }

@media (max-width: 700px) {
  .fj-rv__grid, .fj-rv__rubric, .fj-rv-submit { grid-template-columns: 1fr; }
  .fj-adv-staff-validation > summary small { display: block !important; }
  .fj-adv-staff-validation > summary { flex-wrap: wrap; }
}
.fj-rv .fj-xp-required-mark { display: none !important; }
.fj-rv-form .fj-xp-form-status { grid-column: 1 / -1; justify-self: start; }
