/* COCLB 1.1: maroon and white, shared by public and personnel interfaces. */
* { scrollbar-color:#800020 #fcf3f5; scrollbar-width:thin; }
*::-webkit-scrollbar { width:10px; height:10px; }
*::-webkit-scrollbar-track { background:#fcf3f5; }
*::-webkit-scrollbar-thumb { background:#800020; border:2px solid #fcf3f5; border-radius:8px; }
*::-webkit-scrollbar-thumb:hover { background:#510016; }
*::-webkit-scrollbar-corner { background:#fcf3f5; }
:root { --bg:#fff; --cream:#fff; --cream-2:#fcf3f5; --sand:#f3dfe5; --line:#ead5dd; --green:#800020; --green-d:#510016; --green-l:#f9e9ee; --green-950:#39000f; --green-900:#510016; --green-800:#800020; --green-600:#a02b48; --green-500:#b64a65; --sage:#d7a0ae; --sage-100:#f9e9ee; --gold:#b44762; --gold-300:#f0cbd5; --gold-text:#800020; --gold-l:#f9e9ee; --ink:#32121c; --ink-soft:#63434d; --ink-mute:#735760; --mute:#735760; }
.topbar { background:#fff; }
.sidebar__brand small,.sidebar__site,.side-nav a { color:#fff; }
.sidebar__mark { background:#fff; color:#800020; }
.topbar__menu { display:grid; flex:none; }
.sidebar-close { margin:12px 18px; }
.admin-header-brand { display:flex; gap:8px; align-items:center; text-decoration:none; font-weight:700; }
.church-logo,.site-footer .brand__logo { object-fit:contain; flex-shrink:0; background:#fff; border-radius:50%; }
.system-version { color:#735760; white-space:nowrap; }
.workspace-tabs { display:flex; gap:8px; padding:12px 24px; overflow-x:auto; background:#fcf3f5; border-bottom:1px solid var(--line); }
[hidden] { display:none !important; }
.workspace-tab { display:flex; flex:none; border:1px solid var(--line); border-radius:10px; background:white; overflow:hidden; }
.workspace-tab.is-active { border-color:#800020; box-shadow:0 2px 0 #800020; }
.workspace-tab button { font:inherit; background:transparent; border:0; color:#800020; padding:10px 12px; cursor:pointer; }
.workspace-frame { display:block; width:100%; height:calc(100dvh - 126px); border:0; }
.workspace-embedded > .sidebar,.workspace-embedded .topbar,.workspace-embedded .workspace-tabs { display:none !important; }
.workspace-embedded .admin-content { max-width:none; }
@media(min-width:961px) { .sidebar-hidden > .sidebar { display:none; } }
@media(max-width:600px) { .admin-header-brand span,.system-version { display:none; } .workspace-tabs { padding:8px; } .topbar { gap:6px; } }
.back-to-top { position:fixed; right:24px; bottom:24px; z-index:35; width:48px; height:48px; border:2px solid white; border-radius:50%; background:#800020; color:white; font-size:26px; cursor:pointer; box-shadow:0 4px 18px #80002044; }
.floating-connect,.floating-prayer { position:fixed; right:24px; z-index:35; min-height:48px; padding:10px 14px; border:2px solid white; border-radius:28px; background:#800020; color:white; display:flex; align-items:center; gap:8px; font:inherit; font-size:13px; font-weight:700; text-decoration:none; cursor:pointer; box-shadow:0 4px 18px #80002033; }
.back-to-top { bottom:144px; }
.floating-connect { bottom:84px; } .floating-prayer { bottom:24px; }
.announcement-poster { display:block; max-width:100%; width:auto; max-height:650px; object-fit:contain; margin:16px auto; border-radius:12px; }
.public-search { width:min(760px,calc(100% - 24px)); max-height:85vh; padding:28px; border:1px solid #efd4dc; border-radius:24px; color:#321720; box-shadow:0 24px 80px #31000e44; }
.public-search::backdrop { background:#31000e99; backdrop-filter:blur(4px); }
.public-search__head { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.public-search input { width:100%; border:1px solid #dca6b7; padding:14px; border-radius:12px; margin:12px 0; font:inherit; }
.public-search__results { padding:0; list-style:none; }
.public-search__results a { display:block; padding:16px; margin:8px 0; border:1px solid #efd4dc; border-radius:14px; text-decoration:none; }
.public-search__results a:hover,.public-search__results a:focus-visible { background:#faf0f3; outline:2px solid #800020; }
.public-search__results strong,.public-search__results small { display:block; }
.public-search__results small { color:#800020; font-weight:700; }
.public-search__results p { color:#70535e; margin:6px 0 0; font-size:14px; }
.management-filters,.management-form { display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); align-items:end; }
.management-form { align-items:start; }
.management-form label,.management-filters label,.database-verification label,.database-danger label { display:flex; flex-direction:column; gap:6px; font-weight:600; }
.management-form .check,.database-danger .check { flex-direction:row; align-items:start; font-weight:400; }
.management-form fieldset,.management-form h2,.management-consent,.management-form>button { grid-column:1 / -1; }
.management-form input:not([type=checkbox]),.management-form select,.management-form textarea,.management-filters input,.management-filters select,.database-verification input,.database-danger input:not([type=checkbox]) { width:100%; padding:11px; border:1px solid #d9c6cd; border-radius:10px; font:inherit; background:white; }
.management-consent { border:1px solid #efd4dc; padding:18px; border-radius:14px; background:#fff8fa; }
.management-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px; }
.management-stats article { display:flex; flex-direction:column; gap:8px; }
.management-stats strong { font-size:28px; color:#800020; }
.management-report-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:18px; }
.report-bar { display:grid; gap:6px; margin:14px 0; }
.report-bar meter { width:100%; height:24px; accent-color:#800020; }
.assignment-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-top:1px solid #efd4dc; }
.csv-template { white-space:pre-wrap; overflow-wrap:anywhere; }
.database-verification { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:14px; margin:20px 0; border:1px solid #efd4dc; border-radius:12px; padding:16px; }
.database-verification small { grid-column:1 / -1; color:#70535e; }
.database-danger { border:2px solid #a32648; }
.database-danger>form { display:grid; gap:16px; }
@media(max-width:600px) { .public-search { padding:18px; } .assignment-row { align-items:start; flex-direction:column; } .page-head { flex-wrap:wrap; } }
.faith-card-verse { margin:18px 0 0; padding:12px 16px; border-left:3px solid #800020; background:#faf5f6; border-radius:0 10px 10px 0; }
.faith-card-verse p { margin:0 0 6px; font-style:italic; color:#510016; }
.faith-card-verse cite { font-size:12px; font-style:normal; font-weight:700; color:#800020; }
.leaders .leader-card--elder { grid-column:1 / -1; width:100%; max-width:1100px; justify-self:center; grid-template-columns:minmax(0,1fr); }
.leader-card--elder .leader-card__photo { aspect-ratio:auto; display:flex; align-items:center; background:#faf5f6; }
.leader-card--elder .leader-card__photo img { display:block; width:100%; height:auto; object-fit:contain; }
.leader-card__view { display:block; position:relative; width:100%; color:white; }
.leader-card:not(.leader-card--elder) .leader-card__view { height:100%; }
.leadership-cover { display:block; position:relative; max-width:1100px; margin:0 auto 32px; border-radius:24px; overflow:hidden; background:#faf5f6; }
.leadership-cover img { display:block; width:100%; height:auto; object-fit:contain; }
.leadership-cover:focus-visible { outline:3px solid #800020; outline-offset:4px; }
.leader-card__view:focus-visible { outline:3px solid #800020; outline-offset:-3px; }
.leader-card__view-label { position:absolute; bottom:14px; right:14px; display:flex; align-items:center; gap:6px; padding:8px 12px; border-radius:24px; background:#800020; color:white; font-size:13px; box-shadow:0 2px 10px #0003; }
.leader-card--elder .leader-card__body { justify-content:center; padding:28px; }
@media (min-width:900px) { .leaders .leader-card--elder { grid-template-columns:minmax(0,3fr) minmax(0,2fr); } }
.floating-prayer:hover { color:white; background:#510016; }
.connect-dialog { width:min(560px,calc(100vw - 32px)); max-height:85dvh; overflow:auto; padding:24px; border:1px solid var(--line); border-radius:20px; color:var(--ink); }
.connect-dialog::backdrop { background:#29000d88; }
.connect-dialog__head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.connect-dialog .field { display:block; margin-top:20px; }
.connect-dialog input[type=search] { width:100%; margin-top:8px; }
.connect-faqs details { border-bottom:1px solid var(--line); padding:12px 0; }
.connect-faqs summary { cursor:pointer; font-weight:600; }
.footer-social-unavailable { display:grid; place-items:center; width:40px; height:40px; color:#fff; opacity:.55; border:1px solid #ffffff44; border-radius:50%; }
.floating-live { position:fixed; left:64px; bottom:24px; z-index:95; width:min(360px,calc(100vw - 32px)); border-radius:14px; overflow:hidden; background:#fff; color:#800020; box-shadow:0 8px 36px #0005; border:1px solid var(--line); }
.floating-live__head { display:flex; align-items:center; justify-content:space-between; padding:8px 12px; background:#800020; color:#fff; }
.floating-live__head button { border:0; background:transparent; color:white; font-size:22px; cursor:pointer; min-width:36px; min-height:36px; }
.floating-live > a { display:block; text-align:center; padding:8px; font-weight:600; }
.floating-live .live-video { display:block; margin:0; }
.floating-live:fullscreen { width:100%; height:100%; display:flex; flex-direction:column; border-radius:0; background:#000; }
.floating-live:fullscreen [data-floating-player] { flex:1; min-height:0; }
.floating-live:fullscreen .live-video { height:100%; aspect-ratio:auto; }
.floating-live.is-expanded { width:min(960px,calc(100vw - 32px)); left:50%; top:50%; bottom:auto; transform:translate(-50%,-50%); }
@media(max-width:767px) {
  .floating-connect,.floating-prayer { right:16px; padding:10px; width:48px; justify-content:center; }
  .floating-connect span,.floating-prayer span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .floating-live { width:min(280px,calc(100vw - 88px)); left:12px; bottom:208px; }
}
@media print { .floating-connect,.floating-prayer,.floating-live { display:none; } }
.header-social { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; color:#800020; border:1px solid var(--line); flex:none; }
.header-social:hover { background:#f9e9ee; }
.site-header__inner { width:100%; max-width:1640px; margin-inline:auto; padding-inline:clamp(16px,3vw,40px); justify-content:center; }
@media(min-width:1180px) {
  .site-header__inner { flex-wrap:wrap; padding-block:12px; gap:12px 20px; }
  .site-header__inner > .nav { flex:0 1 auto; margin-inline:0; justify-content:center; flex-wrap:wrap; }
  .site-header__inner .nav__list { justify-content:center; flex-wrap:wrap; }
  .site-header__inner .nav__ctas { justify-content:center; flex-wrap:wrap; }
  .site-header__actions { margin-left:0; }
}
.floating-social { position:fixed; left:0; top:50%; transform:translateY(-50%); z-index:90; display:flex; flex-direction:column; filter:drop-shadow(0 3px 7px #0003); }
.floating-social__item { display:flex; align-items:center; width:46px; height:46px; overflow:hidden; color:#fff; text-decoration:none; transition:width .25s ease; border-bottom:1px solid #ffffff30; }
.floating-social__icon { display:grid; place-items:center; width:46px; flex:0 0 46px; }
.floating-social__icon .icon { width:23px; height:23px; stroke-width:1.8; }
.floating-social__label { white-space:nowrap; font-size:13px; font-weight:700; padding-right:16px; }
.floating-social__item:hover,.floating-social__item:focus-visible { width:220px; color:white; }
.floating-social__item--facebook { background:#4267b2; }
.floating-social__item--instagram { background:#c51d65; }
.floating-social__item--twitter { background:#087cb8; }
.floating-social__item--tiktok { background:#171717; }
.floating-social__item--youtube { background:#cf0000; }
.floating-social__item--other { background:#800020; }
.floating-social { max-height:calc(100dvh - 180px); overflow-y:auto; overflow-x:hidden; width:46px; transition:width .25s; }
.floating-social:hover,.floating-social:focus-within { width:220px; }
.floating-social__item.is-unavailable { cursor:default; }
.floating-social__item:focus-visible { outline:3px solid #fff; outline-offset:-4px; }
@media(max-width:767px) {
  .floating-social { top:auto; bottom:16px; left:12px; transform:none; flex-direction:row; border-radius:10px; overflow:hidden; }
  .floating-social,.floating-social:hover,.floating-social:focus-within { width:auto; max-width:calc(100vw - 88px); max-height:40px; overflow-x:auto; }
  .floating-social__item,.floating-social__item:hover,.floating-social__item:focus-visible { width:36px; height:40px; }
  .floating-social__icon { width:36px; flex-basis:36px; }
  .floating-social__icon .icon { width:19px; height:19px; }
  .floating-social__label { display:none; }
  .menu-open .floating-social { display:none; }
}
@media print { .floating-social { display:none; } }
.live-badge { color:#800020; font-size:13px; font-weight:700; white-space:nowrap; text-decoration:none; border:1px solid var(--line); border-radius:8px; padding:8px; }
.live-badge.is-live { background:#800020; color:white; }
.live-card { padding:24px; border:1px solid var(--line); border-radius:18px; background:#fcf3f5; margin:24px 0; }
.live-status { font-weight:700; color:#800020; }
.live-video { width:100%; aspect-ratio:16/9; border:0; margin-bottom:16px; }
[data-live-player] { margin-bottom:16px; }
.social-connections { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; }
.social-connections > div { border:1px solid var(--line); padding:12px; border-radius:10px; }
.social-table-scroll { overflow-x:auto; }
@media(max-width:600px) { .live-badge { font-size:11px; padding:6px; } .header-social { display:none; } }
.site-header { background:#fff; }
.announcement-strip { display:flex; align-items:center; gap:8px; background:#800020; color:#fff; min-height:42px; padding:6px 16px; font-size:14px; font-weight:600; }
.announcement-strip__viewport { flex:1; min-width:0; overflow-x:auto; }
.announcement-strip__track { display:flex; width:max-content; }
.announcement-strip__list { list-style:none; display:flex; align-items:center; width:max-content; margin:0; padding:0; }
.announcement-strip__list li { flex:none; padding:4px 32px; }
.announcement-strip__list li::after { content:'✦'; margin-left:48px; opacity:.7; }
.announcement-strip__list a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.announcement-strip__birthday { display:inline-flex; align-items:center; margin-right:8px; vertical-align:middle; }
.announcement-strip__birthday svg { width:16px; height:16px; }
.announcement-strip__list[aria-hidden] { display:none; }
.announcement-strip.is-enhanced .announcement-strip__viewport { overflow:hidden; }
.announcement-strip.is-enhanced .announcement-strip__list[aria-hidden] { display:flex; }
.announcement-strip.is-enhanced .announcement-strip__track { animation:church-ticker var(--ticker-duration,60s) linear infinite; }
.announcement-strip:hover .announcement-strip__track,.announcement-strip:focus-within .announcement-strip__track,.announcement-strip.is-paused .announcement-strip__track { animation-play-state:paused; }
.announcement-strip.is-paused .announcement-strip__viewport,.announcement-strip:focus-within .announcement-strip__viewport { overflow-x:auto; }
.announcement-strip__pause { flex:none; border:1px solid #ffffff80; border-radius:6px; background:transparent; color:white; padding:4px 8px; cursor:pointer; font:inherit; font-size:12px; }
html { scroll-padding-top:calc(var(--site-header-total,118px) + 16px); }
@keyframes church-ticker { to { transform:translateX(-50%); } }
@media(max-width:1179.98px) { .nav { top:var(--site-header-total,118px); } }
@media(prefers-reduced-motion:reduce) {
  .announcement-strip.is-enhanced .announcement-strip__track { animation:none; width:100%; }
  .announcement-strip.is-enhanced .announcement-strip__list[aria-hidden] { display:none; }
  .announcement-strip__list { width:100%; flex-wrap:wrap; justify-content:center; }
  .announcement-strip__list li { flex:1 1 280px; padding:6px 12px; }
  .announcement-strip__list li::after { display:none; }
  .announcement-strip__pause { display:none; }
}
.nav__link { position:relative; transition:color .2s,transform .2s; }
.nav__link::after { content:''; position:absolute; left:12px; right:12px; bottom:4px; height:2px; background:#800020; transform:scaleX(0); transform-origin:left; transition:transform .2s; }
.nav__link:hover::after,.nav__link:focus-visible::after,.nav__link.is-active::after { transform:scaleX(1); }
.mega.is-open { animation:nav-appear .2s ease-out; }
.mega__list a { transition:background .2s,transform .2s; }
.mega__list a:hover { transform:translateX(4px); }
.social a:hover { transform:translateY(-3px); }
.social { transition:transform .2s; }
@keyframes nav-appear { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
