/* Proyecto Isaías — v12.4.0 · Pulso del Reino */

/* ---------- Pestañas de «Avisos y App» ---------- */
.fj-pulse-host { max-width: 1180px; margin: 0 auto; box-sizing: border-box; }
.fj-pulse-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 6px; background: #eef1f7; border-radius: 16px; }
.fj-pulse-tabs a { flex: 1 1 160px; display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 8px 14px; border-radius: 12px; color: #1f2a44; font-weight: 700; text-decoration: none; text-align: center; }
.fj-pulse-tabs a:hover { background: #fff; }
.fj-pulse-tabs a.is-active { background: #1f2a6b !important; color: #fff !important; box-shadow: 0 6px 16px rgba(31, 42, 107, .25); }
.fj-pulse-tabs a:focus-visible { outline: 3px solid #f2b705; outline-offset: 2px; }

/* ---------- Tarjetas del panel ---------- */
.fj-pulse { display: grid; gap: 18px; color: #1f2937; }
.fj-pulse-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 24px; border-radius: 20px; background: linear-gradient(135deg, #1f2a6b 0%, #4b2a8a 60%, #8a2a6b 100%); color: #fff; }
.fj-pulse-hero.is-compact { grid-template-columns: 1fr; }
.fj-pulse-hero h2 { margin: 4px 0 8px; font-size: clamp(1.3rem, 2.6vw, 1.8rem); color: #fff !important; line-height: 1.2; }
.fj-pulse-hero p { margin: 0; color: #eef0ff !important; max-width: 70ch; line-height: 1.5; }
.fj-pulse-hero .fj-pulse-kicker { color: #ffd76a !important; }
.fj-pulse-stats b { color: #fff !important; }
.fj-pulse-stats span { color: #eef0ff !important; }
.fj-pulse-kicker { display: inline-block; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #ffd76a; }
.fj-pulse-stats { display: grid; grid-template-columns: repeat(3, minmax(90px, 1fr)); gap: 10px; }
.fj-pulse-stats div { background: rgba(255, 255, 255, .14); border-radius: 14px; padding: 12px; text-align: center; }
.fj-pulse-stats b { display: block; font-size: 1.5rem; color: #fff; }
.fj-pulse-stats span { font-size: .78rem; color: #eef0ff; }
.fj-pulse-card { background: #fff; border: 1px solid #e3e7ef; border-radius: 18px; padding: 20px; box-shadow: 0 4px 14px rgba(15, 23, 42, .05); }
.fj-pulse-card__head { margin-bottom: 14px; }
.fj-pulse-card__head h3 { margin: 0 0 4px; font-size: 1.15rem; color: #1f2a44; }
.fj-pulse-card__head p { margin: 0; color: #4b5563; }
.fj-pulse-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin: 12px 0; }
.fj-pulse-field { display: grid; gap: 6px; font-weight: 600; color: #1f2a44; }
.fj-pulse-field small { font-weight: 400; color: #4b5563; }
.fj-pulse-field input, .fj-pulse-field select, .fj-pulse-field textarea, .fj-pulse-table input { min-height: 42px; padding: 8px 10px; border: 1px solid #c8cfdc; border-radius: 10px; background: #fff; color: #111827; font: inherit; width: 100%; box-sizing: border-box; }
.fj-pulse-switch, .fj-pulse-check { display: flex; gap: 10px; align-items: flex-start; margin: 10px 0; color: #1f2937; line-height: 1.45; cursor: pointer; }
.fj-pulse-switch input, .fj-pulse-check input { width: 20px; height: 20px; margin-top: 2px; flex: 0 0 auto; accent-color: #1f2a6b; }
.fj-pulse-group { margin: 18px 0 8px; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: #5b21b6; }
.fj-pulse-rows { display: grid; gap: 8px; }
.fj-pulse-row { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(250px, 290px); gap: 12px; align-items: center; padding: 12px; border: 1px solid #edf0f5; border-radius: 14px; background: #fafbfd; }
.fj-pulse-row__what { display: flex; gap: 12px; align-items: flex-start; min-width: 0; }
.fj-pulse-row__what strong { display: block; color: #111827; }
.fj-pulse-row__what small { display: block; color: #4b5563; line-height: 1.4; }
.fj-pulse-row__icon { flex: 0 0 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: #eef1fb; font-size: 1.15rem; }
.fj-pulse-row .fj-pulse-check { margin: 0; white-space: nowrap; }
.fj-pulse-row select { font-size: .92rem; }
.fj-pulse-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 16px; }
.fj-pulse-actions form { margin: 0; }
.fj-pulse-empty { color: #4b5563; margin: 0; }
.fj-pulse-muted { color: #4b5563; }
.fj-pulse-alert { padding: 14px 16px; border-radius: 14px; background: #fff4e5; border: 1px solid #f5c26b; color: #6b3d00; }
.fj-pulse-alert.is-soft { background: #eef4ff; border-color: #b9cdf5; color: #1e3a8a; }
.fj-pulse-tag { display: inline-block; padding: 2px 8px; border-radius: 999px; background: #fff4e5; color: #7a4100; font-size: .74rem; font-weight: 700; }
.fj-pulse-tag.is-ok { background: #e7f7ee; color: #14532d; }
.fj-pulse-log { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 8px; }
.fj-pulse-log li { display: flex; gap: 12px; align-items: flex-start; padding: 10px 12px; border-radius: 12px; background: #fafbfd; border: 1px solid #edf0f5; }
.fj-pulse-log strong { display: block; font-weight: 600; color: #111827; line-height: 1.4; overflow-wrap: anywhere; }
.fj-pulse-log small { color: #4b5563; }
.fj-pulse-log__icon { font-size: 1.15rem; line-height: 1.4; }
.fj-pulse-table-wrap { overflow-x: auto; }
.fj-pulse-table { width: 100%; border-collapse: collapse; min-width: 560px; }
.fj-pulse-table th, .fj-pulse-table td { padding: 8px 10px; border-bottom: 1px solid #edf0f5; text-align: left; color: #1f2937; vertical-align: middle; }
.fj-pulse-table thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: #4b5563; }
.fj-pulse-table tr.is-missing th::after { content: " · falta cumpleaños"; color: #a14400; font-weight: 600; font-size: .78rem; }
.fj-pulse-table input { max-width: 180px; }
.fj-pulse-upcoming, .fj-pulse-week, .fj-pulse-scheduled { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.fj-pulse-upcoming li { display: flex; gap: 10px; align-items: center; padding: 8px 12px; border-radius: 12px; background: #fff8ec; color: #1f2937; }
.fj-pulse-upcoming__when { min-width: 92px; font-weight: 800; color: #9a3412; }
.fj-pulse-week { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); }
.fj-pulse-week li { padding: 10px 12px; border-radius: 12px; background: #f5f3ff; display: grid; gap: 2px; }
.fj-pulse-week__day { font-size: .75rem; font-weight: 800; color: #5b21b6; text-transform: uppercase; }
.fj-pulse-week strong { color: #1f2937; }
.fj-pulse-week small { color: #4b5563; }
.fj-pulse-scheduled { margin-top: 14px; }
.fj-pulse-scheduled li { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 8px 12px; border-radius: 12px; background: #fafbfd; border: 1px solid #edf0f5; }
.fj-pulse-today h3 { margin: 6px 0; font-size: 1.4rem; color: #1f2a44; }
.fj-pulse-today p { margin: 0; font-size: 1.05rem; line-height: 1.55; color: #1f2937; }

/* ---------- El Muro: tarjetas especiales ---------- */
.fj-pulse-verse { display: grid; gap: 6px; margin: 12px 0 4px; padding: 16px 18px; border-radius: 16px; background: linear-gradient(135deg, #fdf7e7 0%, #f3ecff 100%); border: 1px solid #e9dcb5; }
.fj-pulse-verse__kicker { font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #7a4f00; }
.fj-pulse-verse__ref { font-size: 1.35rem; color: #2b1d5c; font-family: Georgia, "Times New Roman", serif; }
.fj-pulse-verse__btn { justify-self: start; display: inline-flex; align-items: center; min-height: 40px; padding: 8px 14px; border-radius: 999px; background: #2b1d5c; color: #fff !important; font-weight: 700; text-decoration: none; }
.fj-pulse-verse__btn:hover, .fj-pulse-verse__btn:focus-visible { background: #43308a; }
.fj-pulse-party { display: flex; justify-content: center; gap: 14px; margin: 10px 0 2px; padding: 10px; border-radius: 14px; background: linear-gradient(90deg, #fff1f2, #fef9c3, #ecfeff, #f5f3ff); font-size: 1.5rem; }
.fj-pulse-party span { display: inline-block; animation: fj-pulse-bounce 1.8s ease-in-out infinite; }
.fj-pulse-party span:nth-child(2) { animation-delay: .15s; }
.fj-pulse-party span:nth-child(3) { animation-delay: .3s; }
.fj-pulse-party span:nth-child(4) { animation-delay: .45s; }
.fj-pulse-party span:nth-child(5) { animation-delay: .6s; }
.fj-pulse-party.is-anniv { background: linear-gradient(90deg, #eef2ff, #fef3c7, #eef2ff); }
.fj-pulse-cta { margin: 6px 0 0; font-weight: 700; color: #9d174d; text-align: center; }
@keyframes fj-pulse-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@media (prefers-reduced-motion: reduce) { .fj-pulse-party span { animation: none; } }
.fj-wall643-system-mark.is-celebraciones { background: linear-gradient(135deg, #db2777, #f59e0b) !important; color: #fff !important; }
.fj-wall643-system-mark.is-palabra { background: linear-gradient(135deg, #2b1d5c, #7a4f00) !important; color: #fff !important; }

/* ---------- Móvil ---------- */
@media (max-width: 760px) {
	.fj-pulse-hero { grid-template-columns: 1fr; padding: 18px; }
	.fj-pulse-stats { grid-template-columns: repeat(3, 1fr); }
	.fj-pulse-row { grid-template-columns: 1fr; }
	.fj-pulse-card { padding: 16px; }
	.fj-pulse-tabs a { flex: 1 1 45%; font-size: .92rem; }
}

/* ---------- Modo noche ---------- */
html[data-fj-theme="night"] .fj-pulse-tabs { background: #141a2e; }
html[data-fj-theme="night"] .fj-pulse-tabs a { color: #dfe5ff; }
html[data-fj-theme="night"] .fj-pulse-tabs a:hover { background: #222b48; }
html[data-fj-theme="night"] .fj-pulse-tabs a.is-active, html[data-fj-theme="night"] .fj-pulse-tabs a.is-active * { background: #f2b705 !important; color: #141a2e !important; }
html[data-fj-theme="night"] .fj-pulse-tabs a.is-active span { background: transparent !important; }
html[data-fj-theme="night"] .fj-pulse { color: #e5e7eb; }
html[data-fj-theme="night"] .fj-pulse-card { background: #161d33; border-color: #2a3352; box-shadow: none; }
html[data-fj-theme="night"] .fj-pulse-card__head h3, html[data-fj-theme="night"] .fj-pulse-today h3 { color: #f3f4ff; }
html[data-fj-theme="night"] .fj-pulse-card__head p, html[data-fj-theme="night"] .fj-pulse-empty, html[data-fj-theme="night"] .fj-pulse-field small, html[data-fj-theme="night"] .fj-pulse-row__what small, html[data-fj-theme="night"] .fj-pulse-log small, html[data-fj-theme="night"] .fj-pulse-week small, html[data-fj-theme="night"] .fj-pulse-muted { color: #b8c0d9; }
html[data-fj-theme="night"] .fj-pulse-field, html[data-fj-theme="night"] .fj-pulse-switch, html[data-fj-theme="night"] .fj-pulse-check, html[data-fj-theme="night"] .fj-pulse-row__what strong, html[data-fj-theme="night"] .fj-pulse-log strong, html[data-fj-theme="night"] .fj-pulse-table th, html[data-fj-theme="night"] .fj-pulse-table td, html[data-fj-theme="night"] .fj-pulse-week strong, html[data-fj-theme="night"] .fj-pulse-today p { color: #eef0fb; }
html[data-fj-theme="night"] .fj-pulse-table thead th { color: #b8c0d9; }
html[data-fj-theme="night"] .fj-pulse-row, html[data-fj-theme="night"] .fj-pulse-log li, html[data-fj-theme="night"] .fj-pulse-scheduled li { background: #1c2440; border-color: #2a3352; }
html[data-fj-theme="night"] .fj-pulse-row__icon { background: #26305a; }
html[data-fj-theme="night"] .fj-pulse-group { color: #c4b5fd; }
html[data-fj-theme="night"] .fj-pulse-field input, html[data-fj-theme="night"] .fj-pulse-field select, html[data-fj-theme="night"] .fj-pulse-field textarea, html[data-fj-theme="night"] .fj-pulse-table input { background: #0f1528; color: #f3f4ff; border-color: #3a4570; color-scheme: dark; }
html[data-fj-theme="night"] .fj-pulse-table th, html[data-fj-theme="night"] .fj-pulse-table td { border-color: #2a3352; background: #161d33 !important; }
html[data-fj-theme="night"] .fj-pulse-muted { color: #c3cae0 !important; }
html[data-fj-theme="night"] .fj-pulse-alert { background: #3a2508; border-color: #8a5a12; color: #ffe2b0; }
html[data-fj-theme="night"] .fj-pulse-alert.is-soft { background: #14244a; border-color: #2f4a8a; color: #d6e2ff; }
html[data-fj-theme="night"] .fj-pulse-upcoming li { background: #2a1f14; color: #f6ead8; }
html[data-fj-theme="night"] .fj-pulse-upcoming__when { color: #fdba74; }
html[data-fj-theme="night"] .fj-pulse-week li { background: #221a3f; }
html[data-fj-theme="night"] .fj-pulse-week__day { color: #c4b5fd; }
html[data-fj-theme="night"] .fj-pulse-table tr.is-missing th::after { color: #fdba74; }
html[data-fj-theme="night"] .fj-pulse-verse { background: linear-gradient(135deg, #2a2210 0%, #231a3d 100%); border-color: #5a4a20; }
html[data-fj-theme="night"] .fj-pulse-verse__kicker { color: #f5cf73; }
html[data-fj-theme="night"] .fj-pulse-verse__ref { color: #f3ecff; }
html[data-fj-theme="night"] .fj-pulse-verse__btn { background: #f2b705 !important; color: #1b1440 !important; }
html[data-fj-theme="night"] .fj-pulse-party { background: linear-gradient(90deg, #3a1424, #3a3110, #0f2f35, #251a45); }
html[data-fj-theme="night"] .fj-pulse-cta { color: #f9a8d4; }
html[data-fj-theme="night"] body .fj-pulse-verse a.fj-pulse-verse__btn, html[data-fj-theme="night"] body .fj-pulse-verse a.fj-pulse-verse__btn:visited { color: #1b1440 !important; background: #f2b705 !important; }
body .fj-pulse-verse a.fj-pulse-verse__btn, body .fj-pulse-verse a.fj-pulse-verse__btn:visited { color: #fff !important; }
html[data-fj-theme="night"] .fj-pulse-host .fj-xp-zone-label i { color: inherit !important; }
