@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800;900&family=Playfair+Display:wght@700;800&display=swap');

:root{
  --green:#003f2d;
  --green-2:#07543b;
  --green-3:#0b6a49;
  --gold:#c9a227;
  --gold-2:#e3c15a;
  --cream:#fbfaf5;
  --paper:#fffdf8;
  --ink:#173529;
  --muted:#6b7771;
  --line:#e8e1d1;
  --danger:#a73928;
  --shadow:0 18px 45px rgba(0,63,45,.12);
  --radius:22px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at top left, rgba(201,162,39,.12), transparent 30%),
    linear-gradient(180deg,#fff,var(--cream));
  padding-bottom:80px;
}
a{color:inherit}
button,input,textarea,select{font:inherit}
button{cursor:pointer}

.app-header{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px clamp(14px,3vw,34px);
  background:linear-gradient(135deg,#00291f,var(--green) 55%,#064633);
  color:#fff;
  box-shadow:0 10px 35px rgba(0,0,0,.16);
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.brand strong{display:block;font-family:Playfair Display,serif;font-size:clamp(16px,2.2vw,24px);line-height:1}
.brand span{display:block;color:#f2d16e;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-top:3px}
.logo-flame{width:58px;height:58px;display:grid;place-items:center;flex:0 0 auto}
.logo-flame svg{width:54px;height:54px;fill:white}
.desktop-nav{display:flex;gap:6px;align-items:center}
.desktop-nav a{
  text-decoration:none;font-weight:800;font-size:13px;text-transform:uppercase;
  padding:12px 11px;border-radius:999px;color:#fff
}
.desktop-nav a:hover,.desktop-nav a.active{background:rgba(255,255,255,.13)}
.desktop-nav .donar{background:var(--gold);color:#16261e}
.menu-btn{display:none;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:white;border-radius:14px;padding:10px 13px;font-size:22px}

.app-main{max-width:1240px;margin:0 auto;padding:20px clamp(14px,2.6vw,28px)}

.hero{
  min-height:520px;
  border-radius:0 0 36px 36px;
  margin:-20px calc(clamp(14px,2.6vw,28px) * -1) 0;
  padding:76px clamp(22px,6vw,70px) 92px;
  color:white;
  position:relative;overflow:hidden;
  background:
    linear-gradient(90deg, rgba(0,36,26,.94) 0%, rgba(0,63,45,.8) 42%, rgba(0,63,45,.18) 100%),
    url('../img/hero-church.svg') center/cover no-repeat;
}
.hero::after{
  content:"";position:absolute;inset:auto 0 0;height:110px;
  background:linear-gradient(0deg,var(--cream),transparent);
}
.hero-content{position:relative;z-index:2;max-width:720px}
.eyebrow{display:none}
.hero h1{font-family:Playfair Display,serif;font-size:clamp(44px,8vw,88px);line-height:.92;margin:12px 0}
.script{font-family:Playfair Display,serif;color:#f3ca5b;font-style:italic}
.hero p{font-size:clamp(16px,2vw,21px);line-height:1.55;max-width:620px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.btn,.hero-actions a,.action-link{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 18px;border-radius:14px;text-decoration:none;font-weight:900;border:0;
  background:var(--green);color:white;box-shadow:0 10px 24px rgba(0,63,45,.13)
}
.btn.gold,.hero-actions a.gold{background:var(--gold);color:#17251f}
.hero-actions a.white{background:white;color:var(--green)}
.btn.ghost{background:transparent;border:1px solid rgba(0,63,45,.25);color:var(--green);box-shadow:none}
.hero-actions a.outline{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.45);color:white}

.quick-strip{
  display:grid;grid-template-columns:repeat(5,1fr);gap:12px;
  margin:-56px 12px 24px;position:relative;z-index:4
}
.quick-item{
  background:white;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow);
  min-height:105px
}
.quick-item .icon{font-size:26px}
.quick-item b{display:block;color:var(--green);margin-top:8px}
.quick-item span{font-size:13px;color:var(--muted)}

.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:30px 0 14px}
.section-head h2{font-family:Playfair Display,serif;font-size:32px;margin:0;color:var(--green)}
.section-head p{margin:4px 0 0;color:var(--muted)}
.grid{display:grid;gap:18px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

.card{
  background:rgba(255,255,255,.88);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:20px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.card h3,.card h2{margin-top:0;color:var(--green)}
.card-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.card-title .badge-icon{width:42px;height:42px;border-radius:14px;background:var(--green);color:white;display:grid;place-items:center}
.muted{color:var(--muted)}
.dark-card{background:linear-gradient(135deg,var(--green),#062c21);color:white}
.dark-card h2,.dark-card h3{color:#fff}
.dark-card .muted{color:#e5e2d6}
.gold-text{color:var(--gold)}

.bulletin-card{
  display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:340px;padding:0;
}
.bulletin-art{
  background:
    linear-gradient(180deg,rgba(0,63,45,.15),rgba(0,63,45,.7)),
    url('../img/sunrise-road.svg') center/cover no-repeat;
  min-height:320px;padding:22px;color:white;display:flex;flex-direction:column;justify-content:end;
}
.bulletin-info{padding:24px}
.sermon-title{font-family:Playfair Display,serif;font-size:clamp(32px,5vw,58px);line-height:.95;margin:4px 0;color:var(--green)}
.verse-box{background:#fff8;border-left:5px solid var(--gold);padding:14px;border-radius:14px;margin-top:16px}

.event-list,.announcement-list{display:grid;gap:10px}
.event-row{
  display:grid;grid-template-columns:62px 1fr;gap:12px;align-items:center;
  padding:12px;border:1px solid var(--line);border-radius:16px;background:white
}
.datebox{background:var(--green);color:white;border-radius:14px;padding:8px;text-align:center;font-weight:900}
.datebox small{display:block;font-size:11px;color:#f2d16e}
.announcement-list li{padding:12px;border-bottom:1px dashed var(--line)}
.announcement-list li:last-child{border-bottom:0}

.ministry-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.ministry-card{
  background:white;border:1px solid var(--line);border-radius:20px;padding:18px;text-align:center;box-shadow:0 12px 28px rgba(0,63,45,.08);
  transition:.18s transform ease,.18s box-shadow ease
}
.ministry-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.ministry-card .micon{font-size:38px;margin-bottom:8px}
.ministry-card h3{font-size:16px;margin:8px 0;color:var(--green)}
.ministry-card p{font-size:13px;color:var(--muted);margin:0}

.table-wrap{overflow:auto;border-radius:20px;border:1px solid var(--line)}
table{width:100%;border-collapse:collapse;background:white}
th{background:var(--green);color:white;text-transform:uppercase;font-size:13px;letter-spacing:.04em}
th,td{padding:13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
td:last-child,th:last-child{text-align:center}
tr:last-child td{border-bottom:0}

.admin-lock{
  max-width:520px;margin:40px auto;
}
.admin-panel{display:grid;gap:18px}
.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.admin-tabs button{background:white;color:var(--green);border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-weight:900}
.admin-tabs button.active{background:var(--green);color:white}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
label{display:block;font-weight:800;color:var(--green);font-size:13px;margin-bottom:5px}
input,textarea,select{
  width:100%;border:1px solid var(--line);background:white;border-radius:13px;padding:12px;color:var(--ink)
}
textarea{min-height:90px;resize:vertical}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.edit-list{display:grid;gap:12px;margin-top:14px}
.edit-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center}
.small-btn{padding:10px 12px;border-radius:12px;font-size:13px}
.danger{background:var(--danger);color:white}
.admin-intro{background:#f6faf7;border:1px solid var(--line);border-radius:20px;padding:16px 18px;margin:0 0 16px}
.admin-intro h3{margin:0 0 8px;color:var(--green)}
.admin-intro p{margin:0;color:var(--muted)}
.admin-intro ul{margin:10px 0 0 18px;padding:0;color:var(--ink)}
.admin-intro li{margin:4px 0}
.field-card{background:#fcfbf7;border:1px solid #e8debf;border-radius:18px;padding:12px}
.field-card.full{grid-column:1/-1}
.field-hint{display:block;margin-top:6px;font-size:12px;line-height:1.45;color:var(--muted)}
.preview-box{display:grid;gap:10px;margin-bottom:18px}
.section-note{background:#fff8e0;border:1px solid #efd888;border-radius:14px;padding:10px 12px;color:#5c4a00;font-size:13px}
.edit-card{background:white;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 8px 24px rgba(0,63,45,.05)}
.edit-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.edit-card-head strong{display:block;color:var(--green);font-size:16px}
.edit-card-head small{display:block;margin-top:4px;color:var(--muted);line-height:1.4}
.edit-card-body{display:grid;gap:12px}
.form-grid.triple{grid-template-columns:130px 1fr 1fr}

.footer{
  margin-top:34px;background:linear-gradient(135deg,#00291f,var(--green));color:white;border-radius:28px 28px 0 0;padding:26px;
}
.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:20px}
.footer h3,.footer h4{margin-top:0}
.footer a{display:block;color:#e9e3c9;text-decoration:none;margin:7px 0}

.drawer-backdrop{
  position:fixed;inset:0;z-index:95;background:rgba(0,28,20,.28);backdrop-filter:blur(2px);
  opacity:0;transition:opacity .18s ease;touch-action:none
}
.drawer-backdrop.show{opacity:1}
body.drawer-open{
  position:fixed;left:0;right:0;width:100%;overflow:hidden;touch-action:none
}
.mobile-drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(390px,88vw);height:100dvh;z-index:100;
  background:white;box-shadow:-20px 0 55px rgba(0,0,0,.2);
  transform:translateX(105%);transition:.2s transform ease;padding:18px;
  display:flex;flex-direction:column;gap:6px;
  overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;
  padding-bottom:calc(28px + env(safe-area-inset-bottom))
}
.mobile-drawer.open{transform:translateX(0)}
.drawer-head{display:flex;justify-content:space-between;align-items:center;color:var(--green);font-size:20px}
.drawer-head button{background:var(--green);color:white;border-radius:12px;padding:6px 12px}
.mobile-drawer a{padding:14px;border-bottom:1px solid var(--line);text-decoration:none;font-weight:800;color:var(--green)}

.bottom-nav{
  position:fixed;bottom:0;left:0;right:0;z-index:60;
  display:none;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);
  border-top:1px solid var(--line);padding:8px 6px calc(8px + env(safe-area-inset-bottom));
}
.bottom-nav a{flex:1;text-decoration:none;text-align:center;font-size:11px;color:var(--green);font-weight:800}
.bottom-nav span{display:block;font-size:20px;margin-bottom:2px}

.toast{
  position:fixed;z-index:200;left:50%;bottom:92px;transform:translateX(-50%);
  background:var(--green);color:white;padding:13px 18px;border-radius:999px;box-shadow:var(--shadow);font-weight:800
}

@media(max-width:1050px){
  .desktop-nav{display:none}.menu-btn{display:block}
  .quick-strip{grid-template-columns:repeat(2,1fr);margin-top:-46px}
  .grid-3,.grid-4{grid-template-columns:1fr 1fr}
  .ministry-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
  body{padding-bottom:78px}
  .bottom-nav{display:flex}
  .app-header{padding:11px 13px}.logo-flame{width:44px;height:44px}.logo-flame svg{width:42px;height:42px}
  .brand strong{font-size:15px}.brand span{font-size:10px}
  .hero{min-height:560px;padding:46px 18px 90px;border-radius:0 0 28px 28px}
  .hero-actions a{width:100%}
  .quick-strip{grid-template-columns:1fr;margin:-54px 4px 20px}
  .grid-2,.grid-3,.grid-4,.footer-grid{grid-template-columns:1fr}
  .bulletin-card{grid-template-columns:1fr}
  .ministry-grid{grid-template-columns:repeat(2,1fr)}
  .form-grid,.edit-row,.form-grid.triple{grid-template-columns:1fr}
  td:last-child,th:last-child{text-align:left}
}

.pill{display:inline-block;margin-top:10px;padding:6px 10px;border-radius:999px;background:var(--gold);color:#17251f;font-weight:900;font-size:12px}
.muted-pill{background:#f1eee3;color:var(--muted)}
@media(max-width:720px){.card[style*="grid-column"]{grid-column:auto!important}}


/* V1.2 Limpieza visual */
.clean-dashboard{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:16px;
}
.main-dashboard-card{
  background:white;
  border:1px solid var(--line);
  border-radius:26px;
  padding:22px;
  min-height:190px;
  text-decoration:none;
  color:var(--ink);
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.main-dashboard-card h2,
.main-dashboard-card h3{margin:8px 0;color:var(--green)}
.main-dashboard-card span{font-weight:900;color:var(--green)}
.bulletin-main{
  color:white;
  background:
    linear-gradient(135deg,rgba(0,63,45,.95),rgba(0,63,45,.64)),
    url('../img/sunrise-road.svg') center/cover no-repeat;
}
.bulletin-main h2,.bulletin-main span{color:white}
.dash-kicker{color:var(--gold-2);font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.dash-icon{font-size:34px}
.simple-info-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:18px;
}
.simple-info-card{
  background:rgba(255,255,255,.78);
  border:1px solid var(--line);
  border-radius:22px;
  padding:18px;
}
.simple-info-card b{color:var(--green)}
.simple-info-card p{margin:8px 0}
.simple-info-card small{color:var(--gold);font-weight:900}
.compact-head{margin-top:22px}
.clean-posts{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.clean-post-card{
  background:white;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  text-decoration:none;
  color:var(--ink);
  box-shadow:0 10px 22px rgba(0,63,45,.07);
}
.clean-post-card div{font-size:26px}
.clean-post-card b{display:block;color:var(--green);margin:8px 0 4px}
.clean-post-card small{color:var(--muted)}
.ministry-category-list{
  display:grid;
  gap:18px;
}
.ministry-category{
  background:rgba(255,255,255,.72);
  border:1px solid var(--line);
  border-radius:24px;
  padding:18px;
  box-shadow:var(--shadow);
}
.ministry-category h3{
  margin:0 0 12px;
  color:var(--green);
  font-family:Playfair Display,serif;
  font-size:25px;
}
.ministry-list-clean{
  display:grid;
  gap:9px;
}
.ministry-row{
  display:grid;
  grid-template-columns:48px 1fr auto;
  gap:12px;
  align-items:center;
  text-decoration:none;
  color:var(--ink);
  background:white;
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px;
}
.ministry-row-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:var(--cream);
  font-size:24px;
}
.ministry-row b{display:block;color:var(--green)}
.ministry-row small{display:block;color:var(--muted);font-size:12px}
.pill{
  background:var(--green);
  color:white;
  padding:6px 10px;
  border-radius:999px;
  font-weight:900;
  font-size:11px;
  white-space:nowrap;
}
.muted-pill{
  background:#f3f0e7;
  color:var(--muted);
}
@media(max-width:900px){
  .clean-dashboard,.simple-info-row,.clean-posts{grid-template-columns:1fr}
  .ministry-row{grid-template-columns:44px 1fr}
  .ministry-row .pill{grid-column:2}
}


/* V1.3 Stack navigation premium */
.stack-header{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,253,248,.8));border:1px solid var(--line);border-radius:26px;padding:18px;box-shadow:var(--shadow);margin-bottom:18px}
.stack-header h2{margin:0;font-family:Playfair Display,serif;font-size:clamp(28px,4vw,44px);color:var(--green)}
.stack-header p{margin:5px 0 0;color:var(--muted)}
.back-btn{background:#f4efe2;color:var(--green);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-weight:900;flex:0 0 auto}
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.area-card{min-height:210px;border:1px solid var(--line);border-radius:28px;background:white;box-shadow:var(--shadow);padding:22px;text-align:left;color:var(--ink);display:flex;flex-direction:column;justify-content:space-between}
.area-card span{font-size:42px}.area-card b{font-size:24px;color:var(--green);font-family:Playfair Display,serif}.area-card small{color:var(--muted);font-size:14px;line-height:1.45}
.stack-list{display:grid;gap:12px}
.stack-row{display:grid;grid-template-columns:58px 1fr 24px;gap:14px;align-items:center;width:100%;background:white;border:1px solid var(--line);border-radius:20px;padding:15px;color:var(--ink);text-align:left;box-shadow:0 10px 28px rgba(0,63,45,.07)}
.stack-row-icon{width:54px;height:54px;border-radius:18px;background:var(--cream);display:grid;place-items:center;font-size:28px}
.stack-row b{display:block;color:var(--green);font-size:18px}.stack-row small{display:block;color:var(--muted);font-size:13px;margin-top:3px}.chev{font-size:32px;color:var(--gold);font-weight:900}
.ministry-detail-hero{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;background:linear-gradient(135deg,var(--green),#052f23);color:white;border-radius:28px;padding:26px;box-shadow:var(--shadow)}
.ministry-detail-hero h2{margin:4px 0;font-family:Playfair Display,serif;font-size:clamp(34px,5vw,58px)}.ministry-detail-hero p{color:#efe6cf}
.eyebrow-dark{color:var(--gold-2)!important;font-weight:900;letter-spacing:.13em;text-transform:uppercase;margin:0}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.detail-actions button[disabled]{opacity:.55;cursor:not-allowed}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.clean-dashboard{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.main-dashboard-card{background:white;border:1px solid var(--line);border-radius:26px;padding:22px;min-height:190px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between}
.main-dashboard-card h2,.main-dashboard-card h3{margin:8px 0;color:var(--green)}.main-dashboard-card span{font-weight:900;color:var(--green)}
.bulletin-main{color:white;background:linear-gradient(135deg,rgba(0,63,45,.95),rgba(0,63,45,.64)),url('../img/sunrise-road.svg') center/cover no-repeat}.bulletin-main h2,.bulletin-main span{color:white}
.dash-kicker{color:var(--gold-2);font-weight:900;text-transform:uppercase;letter-spacing:.12em}.dash-icon{font-size:34px}
.simple-info-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.simple-info-card{background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:22px;padding:18px}.simple-info-card b{color:var(--green)}.simple-info-card p{margin:8px 0}.simple-info-card small{color:var(--gold);font-weight:900}
.compact-head{margin-top:22px}.clean-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.clean-post-card{background:white;border:1px solid var(--line);border-radius:18px;padding:16px;text-decoration:none;color:var(--ink);box-shadow:0 10px 22px rgba(0,63,45,.07)}.clean-post-card div{font-size:26px}.clean-post-card b{display:block;color:var(--green);margin:8px 0 4px}.clean-post-card small{color:var(--muted)}
@media(max-width:950px){.area-grid,.clean-dashboard,.detail-grid,.simple-info-row,.clean-posts{grid-template-columns:1fr}.ministry-detail-hero{grid-template-columns:1fr}.detail-actions{justify-content:flex-start}.stack-header{align-items:flex-start;flex-direction:column}}


/* V1.4 Logo oficial + minimalismo SDA */
:root{
  --green:#0B4F34;
  --green-2:#0F5F3D;
  --green-3:#176B47;
  --gold:#C9A227;
  --gold-2:#D9B84A;
  --cream:#FAF8F1;
  --paper:#FFFFFF;
  --ink:#12382A;
  --muted:#66756E;
  --line:#E9E3D4;
  --shadow:0 14px 34px rgba(11,79,52,.10);
  --radius:22px;
}
body{background:linear-gradient(180deg,#fff,var(--cream));}
.app-header{
  background:rgba(255,255,255,.96)!important;
  color:var(--ink)!important;
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 28px rgba(11,79,52,.08)!important;
  backdrop-filter:blur(18px);
}
.brand strong{
  color:var(--green);
  font-family:Playfair Display,serif;
  letter-spacing:-.02em;
}
.brand span{color:var(--gold)!important;}
.logo-flame{
  width:74px!important;
  height:62px!important;
  border-radius:0!important;
  background:transparent!important;
}
.logo-flame img{
  width:72px;
  height:58px;
  object-fit:contain;
  display:block;
}
.menu-btn{
  background:var(--green)!important;
  color:white!important;
  border:0!important;
  box-shadow:0 10px 24px rgba(11,79,52,.16);
}
.hero{
  background:
    linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.76) 42%,rgba(255,255,255,.10) 100%),
    url('../img/hero-church.svg') center/cover no-repeat!important;
  color:var(--ink)!important;
}
.hero h1{color:var(--green)!important;}
.hero p{color:var(--ink)!important;}
.hero .eyebrow,.hero .script{color:var(--gold)!important;}
.hero-actions a.outline{
  background:white!important;
  color:var(--green)!important;
  border:1px solid var(--line)!important;
}
.hero-actions a.white{background:var(--green)!important;color:white!important;}
.hero-actions a.gold{background:var(--gold)!important;color:#18251f!important;}
.card,.quick-item,.main-dashboard-card,.king-card,.area-card,.stack-row,.command-card,.serve-card,.simple-info-card,.ministry-category,.ministry-row{
  box-shadow:0 10px 28px rgba(11,79,52,.075)!important;
}
.bottom-nav{background:rgba(255,255,255,.97)!important;}
.bottom-nav a{color:var(--green)!important;}
.bottom-nav a.active{
  background:var(--green)!important;
  color:white!important;
  border-radius:18px;
  padding:7px 4px;
}
.footer{background:linear-gradient(135deg,#0B4F34,#083D2A)!important;}
@media(max-width:720px){
  .logo-flame{width:64px!important;height:52px!important;}
  .logo-flame img{width:62px;height:48px;}
  .brand strong{font-size:16px;}
}


/* V1.5 Hero real de la iglesia */
.hero{
  min-height:520px!important;
  background:
    linear-gradient(90deg,rgba(5,36,27,.92) 0%,rgba(5,36,27,.72) 42%,rgba(5,36,27,.20) 100%),
    url('../img/church-hero-real.jpeg') center/cover no-repeat!important;
  color:white!important;
  border-radius:0 0 34px 34px;
  box-shadow:0 18px 50px rgba(11,79,52,.18);
  position:relative;
  overflow:hidden;
}
.hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(0deg,rgba(11,79,52,.22),transparent);
  pointer-events:none;
}
.hero-content{
  position:relative;
  z-index:2;
  max-width:820px;
  padding-top:34px;
  padding-bottom:34px;
}
.hero h1{
  color:white!important;
  text-shadow:0 5px 28px rgba(0,0,0,.28);
}
.hero p{
  color:rgba(255,255,255,.92)!important;
  text-shadow:0 3px 16px rgba(0,0,0,.22);
}
.hero .eyebrow{
  color:var(--gold-2)!important;
  text-shadow:0 3px 12px rgba(0,0,0,.28);
}
.hero .script{
  color:var(--gold-2)!important;
}
.hero-actions a.outline{
  background:rgba(255,255,255,.12)!important;
  color:white!important;
  border:1px solid rgba(255,255,255,.38)!important;
  backdrop-filter:blur(8px);
}
.hero-actions a.white{
  background:white!important;
  color:var(--green)!important;
}
.hero-actions a.gold{
  background:var(--gold)!important;
  color:#1b261f!important;
}
@media(max-width:720px){
  .hero{
    min-height:500px!important;
    background:
      linear-gradient(180deg,rgba(5,36,27,.82) 0%,rgba(5,36,27,.58) 45%,rgba(5,36,27,.16) 100%),
      url('../img/church-hero-real.jpeg') center/cover no-repeat!important;
    border-radius:0 0 26px 26px;
  }
  .hero-content{
    padding-top:24px;
  }
}


/* V1.5.1 Hero refinado */
.hero-content{padding-top:72px!important;max-width:620px!important}
.hero h1{font-size:clamp(2.3rem,5vw,4rem)!important;line-height:1.02!important;margin-bottom:.4rem!important}
.hero .script{font-size:clamp(2rem,4.2vw,3.2rem)!important}
.hero p{font-size:1.05rem!important;max-width:520px}
.hero-actions{margin-top:2rem!important}
@media(max-width:768px){
.hero{min-height:620px!important}
.hero-content{padding-top:95px!important}
.hero h1{font-size:2.55rem!important}
.hero .script{font-size:2.1rem!important}
.hero-actions{margin-top:2.4rem!important}
}


/* V1.5.3 Diseño aprobado de portada */
.approved-hero{
  min-height:735px!important;
  border-radius:0!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(3,31,23,.30) 28%,rgba(3,31,23,.76) 72%,rgba(3,31,23,.92) 100%),
    var(--hero-bg, url('../img/church-hero-real.jpeg')) center top/cover no-repeat!important;
  display:flex;
  align-items:flex-end;
  padding-bottom:0!important;
}
.approved-hero::after{
  height:55%!important;
  background:linear-gradient(0deg,rgba(3,31,23,.72),rgba(3,31,23,.10),transparent)!important;
}
.approved-hero-content{
  width:100%!important;
  max-width:100%!important;
  padding:0 32px 34px!important;
  position:relative;
  z-index:3;
}
.approved-hero h1,
.approved-hero .script{
  display:none!important;
}
.approved-hero .eyebrow{
  display:inline-block!important;
  color:var(--gold-2)!important;
  font-size:1rem!important;
  font-weight:900!important;
  letter-spacing:.20em!important;
  margin-bottom:.65rem!important;
  position:relative;
}
.approved-hero .eyebrow::after{
  content:"";
  display:block;
  width:42px;
  height:2px;
  background:var(--gold-2);
  margin-top:8px;
}
.approved-hero p{
  color:white!important;
  font-family:Playfair Display,serif;
  font-size:clamp(1.85rem,4.8vw,3.1rem)!important;
  line-height:1.18!important;
  max-width:720px!important;
  margin:0 0 28px!important;
  text-shadow:0 6px 26px rgba(0,0,0,.35);
}
.approved-hero-actions{
  display:grid!important;
  grid-template-columns:repeat(5,1fr)!important;
  gap:18px!important;
  width:100%!important;
  max-width:900px!important;
  margin:0!important;
}
.approved-hero-actions a{
  min-height:132px!important;
  border-radius:24px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  gap:12px!important;
  padding:18px 12px!important;
  text-align:center!important;
  font-size:1rem!important;
  line-height:1.1!important;
  box-shadow:0 16px 34px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.28)!important;
}
.approved-hero-actions a span{
  font-size:2rem!important;
}
.approved-hero-actions a b{
  font-size:1.08rem!important;
}
.approved-hero-actions a.outline{
  background:rgba(255,255,255,.13)!important;
  backdrop-filter:blur(16px)!important;
  border:1px solid rgba(255,255,255,.32)!important;
  color:white!important;
}
.approved-hero-actions a.white{
  background:white!important;
  color:var(--green)!important;
}
.approved-hero-actions a.gold{
  background:linear-gradient(135deg,var(--gold),#e2b92c)!important;
  color:#093522!important;
  border:1px solid rgba(255,255,255,.25)!important;
}
.approved-quick{
  margin:-4px auto 0!important;
  padding:28px 28px 8px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
  background:#fff!important;
  border-radius:0!important;
}
.approved-quick .quick-item{
  display:grid!important;
  grid-template-columns:86px 1fr 44px!important;
  align-items:center!important;
  gap:18px!important;
  min-height:120px!important;
  background:#fff!important;
  border:1px solid #eee8dc!important;
  border-radius:26px!important;
  padding:18px!important;
  box-shadow:0 12px 32px rgba(11,79,52,.08)!important;
  color:var(--ink)!important;
  text-decoration:none!important;
}
.approved-quick .quick-item .icon{
  width:72px!important;
  height:72px!important;
  border-radius:22px!important;
  display:grid!important;
  place-items:center!important;
  background:#f5f3ed!important;
  font-size:2rem!important;
}
.approved-quick .quick-item b{
  display:block!important;
  color:var(--green)!important;
  font-size:1.35rem!important;
  margin-bottom:4px!important;
}
.approved-quick .quick-item span{
  color:var(--muted)!important;
  font-size:1rem!important;
  line-height:1.35!important;
}
.approved-quick .quick-item em{
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#edf4ef!important;
  color:var(--green)!important;
  font-style:normal!important;
  font-weight:900!important;
  font-size:1.5rem!important;
}
@media(max-width:760px){
  .approved-hero{
    min-height:720px!important;
    background-position:center top!important;
  }
  .approved-hero-content{
    padding:0 24px 28px!important;
  }
  .approved-hero p{
    font-size:2.05rem!important;
    max-width:430px!important;
    margin-bottom:26px!important;
  }
  .approved-hero-actions{
    grid-template-columns:repeat(5,1fr)!important;
    gap:10px!important;
  }
  .approved-hero-actions a{
    min-height:112px!important;
    border-radius:19px!important;
    padding:12px 6px!important;
  }
  .approved-hero-actions a span{
    font-size:1.55rem!important;
  }
  .approved-hero-actions a b{
    font-size:.86rem!important;
  }
  .approved-quick{
    padding:24px 22px 8px!important;
  }
  .approved-quick .quick-item{
    grid-template-columns:76px 1fr 38px!important;
    min-height:104px!important;
    border-radius:23px!important;
  }
  .approved-quick .quick-item .icon{
    width:62px!important;
    height:62px!important;
    font-size:1.75rem!important;
  }
  .approved-quick .quick-item b{
    font-size:1.18rem!important;
  }
}
@media(max-width:410px){
  .approved-hero-actions a b{
    font-size:.78rem!important;
  }
}


/* V1.5.4 Corrección tarjetas uniformes debajo del hero */
.approved-quick{
  width:100%!important;
  max-width:980px!important;
  margin:-18px auto 0!important;
  padding:26px 22px 12px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
  background:linear-gradient(180deg,#fff,#fbfaf6)!important;
  position:relative!important;
  z-index:5!important;
}
.approved-quick .quick-item{
  width:100%!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr) 42px!important;
  align-items:center!important;
  gap:16px!important;
  min-height:108px!important;
  background:#fff!important;
  border:1px solid #eee8dc!important;
  border-radius:24px!important;
  padding:16px 18px!important;
  box-shadow:0 12px 26px rgba(11,79,52,.075)!important;
  color:var(--ink)!important;
  text-decoration:none!important;
  overflow:hidden!important;
}
.approved-quick .quick-item .icon{
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  border-radius:20px!important;
  background:#f5f3ed!important;
  display:grid!important;
  place-items:center!important;
  font-size:1.8rem!important;
}
.approved-quick .quick-item b{
  display:block!important;
  color:var(--green)!important;
  font-size:1.22rem!important;
  line-height:1.15!important;
  margin:0 0 5px!important;
  white-space:normal!important;
}
.approved-quick .quick-item span{
  display:block!important;
  color:var(--muted)!important;
  font-size:.96rem!important;
  line-height:1.35!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal!important;
}
.approved-quick .quick-item em{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#edf4ef!important;
  color:var(--green)!important;
  font-style:normal!important;
  font-weight:900!important;
  font-size:1.4rem!important;
  justify-self:end!important;
}
@media(max-width:760px){
  .approved-quick{
    margin:-14px auto 0!important;
    padding:22px 18px 8px!important;
    gap:14px!important;
  }
  .approved-quick .quick-item{
    grid-template-columns:58px minmax(0,1fr) 34px!important;
    min-height:88px!important;
    border-radius:20px!important;
    padding:14px!important;
    gap:12px!important;
  }
  .approved-quick .quick-item .icon{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    border-radius:16px!important;
    font-size:1.45rem!important;
  }
  .approved-quick .quick-item b{
    font-size:1.02rem!important;
  }
  .approved-quick .quick-item span{
    font-size:.82rem!important;
    line-height:1.28!important;
  }
  .approved-quick .quick-item em{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    font-size:1.15rem!important;
  }
}
@media(max-width:390px){
  .approved-quick .quick-item{
    grid-template-columns:52px minmax(0,1fr) 30px!important;
    gap:10px!important;
  }
  .approved-quick .quick-item .icon{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
  }
  .approved-quick .quick-item b{
    font-size:.96rem!important;
  }
  .approved-quick .quick-item span{
    font-size:.78rem!important;
  }
}


/* V1.5.5 Panel de información profesional y estable */
.approved-quick{display:none!important;}
.home-info-panel{
  width:min(100% - 28px, 980px);
  margin:-28px auto 18px;
  position:relative;
  z-index:20;
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.home-info-card{
  width:100%;
  box-sizing:border-box;
  min-width:0;
  display:grid;
  grid-template-columns:64px minmax(0,1fr) 40px;
  align-items:center;
  gap:14px;
  text-decoration:none;
  color:var(--ink);
  background:rgba(255,255,255,.98);
  border:1px solid #eee8dc;
  border-radius:24px;
  padding:15px;
  box-shadow:0 14px 34px rgba(11,79,52,.10);
  overflow:hidden;
}
.info-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:#f5f3ed;
  font-size:1.65rem;
  flex-shrink:0;
}
.info-text{
  min-width:0;
  overflow:hidden;
}
.info-text b{
  display:block;
  color:var(--green);
  font-size:1.16rem;
  line-height:1.15;
  margin-bottom:3px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.info-text span,
.info-text small{
  display:block;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.28;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.info-arrow{
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#edf4ef;
  color:var(--green);
  font-weight:900;
  font-size:1.2rem;
  justify-self:end;
}
@media(min-width:850px){
  .home-info-panel{
    grid-template-columns:1fr 1fr;
    margin-top:-34px;
  }
}
@media(max-width:430px){
  .home-info-panel{
    width:min(100% - 22px, 980px);
    margin-top:-20px;
    gap:12px;
  }
  .home-info-card{
    grid-template-columns:52px minmax(0,1fr) 32px;
    gap:11px;
    padding:13px;
    border-radius:20px;
  }
  .info-icon{
    width:48px;
    height:48px;
    border-radius:15px;
    font-size:1.35rem;
  }
  .info-text b{
    font-size:1rem;
  }
  .info-text span,
  .info-text small{
    font-size:.8rem;
  }
  .info-arrow{
    width:30px;
    height:30px;
    font-size:1.05rem;
  }
}


/* V1.7 Professional App Flow: una pantalla a la vez */
.footer,
.screen-internal .footer,
.screen-internal footer,
body:not(.home) .footer{
  display:none!important;
}
#app{
  padding-bottom:92px!important;
  overflow-x:hidden!important;
}
.screen{
  width:100%!important;
  min-height:calc(100vh - 160px)!important;
}
.screen-internal{
  padding:14px 0 110px!important;
  background:linear-gradient(180deg,#fff,#fbfaf6)!important;
}
.screen-internal > *{
  width:min(100% - 26px, 960px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.screen-internal .section-head,
.screen-internal .grid,
.screen-internal .clean-posts,
.screen-internal .stack-list,
.screen-internal .area-grid,
.screen-internal .ministry-category-list{
  width:min(100% - 26px, 960px)!important;
}
.screen-internal .quick-strip,
.screen-internal .home-info-panel,
.screen-internal .hero,
.screen-internal .king-dashboard,
.screen-internal .today-strip{
  display:none!important;
}
.pro-module-screen{
  width:min(100% - 26px, 880px)!important;
  margin:0 auto!important;
}
.pro-back{
  border:1px solid #eee2ca!important;
  background:#f7f2e6!important;
  color:var(--green)!important;
  border-radius:16px!important;
  padding:12px 16px!important;
  font-weight:900!important;
  margin-bottom:16px!important;
  box-shadow:none!important;
}
.pro-module-head{
  display:flex!important;
  gap:16px!important;
  align-items:center!important;
  background:#fff!important;
  border:1px solid #eee8dc!important;
  border-radius:28px!important;
  padding:20px!important;
  box-shadow:0 14px 32px rgba(11,79,52,.08)!important;
}
.pro-module-icon{
  width:68px!important;
  height:68px!important;
  min-width:68px!important;
  display:grid!important;
  place-items:center!important;
  background:#f5f3ed!important;
  border-radius:22px!important;
  font-size:2rem!important;
}
.pro-module-head h1{
  margin:0 0 6px!important;
  color:var(--green)!important;
  font-family:Playfair Display,serif!important;
  font-size:clamp(2rem,6vw,3.2rem)!important;
  line-height:1.05!important;
}
.pro-module-head p{
  margin:0!important;
  color:var(--muted)!important;
  font-size:1rem!important;
  line-height:1.35!important;
}
.pro-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:16px 0!important;
}
.pro-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:11px 15px!important;
  border-radius:14px!important;
  text-decoration:none!important;
  background:var(--green)!important;
  color:#fff!important;
  font-weight:900!important;
}
.pro-action.gold{
  background:var(--gold)!important;
  color:#173322!important;
}
.pro-action.disabled{
  background:#f5f3ed!important;
  color:var(--muted)!important;
}
.pro-summary{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:12px!important;
  margin:14px 0!important;
}
.pro-summary div{
  background:#fff!important;
  border:1px solid #eee8dc!important;
  border-radius:18px!important;
  padding:14px!important;
  box-shadow:0 10px 24px rgba(11,79,52,.06)!important;
}
.pro-summary b{
  display:block!important;
  color:var(--green)!important;
  font-size:.9rem!important;
}
.pro-summary span{
  display:block!important;
  color:var(--ink)!important;
  font-weight:800!important;
  margin-top:5px!important;
}
.pro-tabs{
  display:flex!important;
  gap:8px!important;
  overflow:auto!important;
  padding:8px!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid #eee8dc!important;
  margin:16px 0!important;
  box-shadow:0 10px 24px rgba(11,79,52,.05)!important;
}
.pro-tabs button{
  border:0!important;
  background:transparent!important;
  color:var(--green)!important;
  border-radius:14px!important;
  padding:10px 14px!important;
  white-space:nowrap!important;
  font-weight:900!important;
}
.pro-tabs button.active{
  background:var(--green)!important;
  color:#fff!important;
}
.pro-section-title{
  margin:18px 0 12px!important;
}
.pro-section-title h2{
  color:var(--green)!important;
  margin:0 0 4px!important;
  font-size:1.45rem!important;
}
.pro-section-title p{
  color:var(--muted)!important;
  margin:0!important;
}
.pro-list{
  display:grid!important;
  gap:12px!important;
}
.pro-item,
.pro-empty{
  background:#fff!important;
  border:1px solid #eee8dc!important;
  border-radius:20px!important;
  padding:16px!important;
  box-shadow:0 10px 24px rgba(11,79,52,.06)!important;
  color:var(--ink)!important;
  text-decoration:none!important;
}
.pro-item b{
  display:block!important;
  color:var(--green)!important;
  font-size:1.05rem!important;
  margin-bottom:4px!important;
}
.pro-item span{
  display:block!important;
  color:var(--muted)!important;
  font-size:.9rem!important;
}
.pro-item p{
  margin:8px 0 0!important;
  color:var(--ink)!important;
  line-height:1.4!important;
}
.pro-empty{
  color:var(--muted)!important;
}
.stack-header{
  width:min(100% - 26px, 960px)!important;
  margin:0 auto 16px!important;
}
.stack-list{
  gap:12px!important;
}
.bottom-nav{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:9999!important;
  height:76px!important;
  background:rgba(255,255,255,.98)!important;
  backdrop-filter:blur(16px)!important;
  border-top:1px solid #eee8dc!important;
  box-shadow:0 -10px 30px rgba(11,79,52,.08)!important;
}
@media(max-width:720px){
  .screen-internal{
    padding-top:12px!important;
  }
  .pro-module-screen,
  .screen-internal > *,
  .screen-internal .section-head,
  .screen-internal .grid,
  .screen-internal .clean-posts,
  .screen-internal .stack-list,
  .screen-internal .area-grid,
  .screen-internal .ministry-category-list{
    width:min(100% - 22px, 960px)!important;
  }
  .pro-module-head{
    padding:18px!important;
    border-radius:24px!important;
  }
  .pro-module-icon{
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    font-size:1.65rem!important;
  }
  .pro-summary{
    grid-template-columns:1fr!important;
  }
}


/* V1.8 Production Base */
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}
.pro-feed{display:grid;gap:12px}
@media print{
  .app-header,.bottom-nav,.mobile-drawer,.section-head .btn,.footer,.admin-tabs{display:none!important}
  body{background:#fff;padding:0}
  .app-main{max-width:none;padding:0}
  .card,.table-wrap{box-shadow:none;break-inside:avoid}
}

.admin-intro.minimal{padding:10px 14px;margin:0 0 12px;background:#f8faf8}
.admin-intro.minimal p,.admin-intro.minimal ul{display:none}
.admin-intro.minimal h3{margin:0;font-size:18px}
.admin-intro.minimal small{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.compact-list{gap:10px}
.compact-card{padding:12px}
.compact-card .edit-card-head{margin-bottom:8px;align-items:center}
.compact-card .edit-card-head strong{font-size:15px}
.compact-card .edit-card-body{gap:10px}
.compact-3{display:grid;grid-template-columns:110px 1fr 1fr;gap:10px}
.duo-editor{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.editor-box{background:#fcfbf7;border:1px solid #e8debf;border-radius:16px;padding:10px}
.editor-box textarea{min-height:92px;border:1px solid var(--line);background:white}
.editor-box label{margin-bottom:6px}
@media(max-width:720px){.compact-3,.duo-editor{grid-template-columns:1fr}}

.church-live-time{display:inline-flex;align-items:center;gap:6px;margin:8px 0 2px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.14);color:white;font-size:13px;font-weight:800;backdrop-filter:blur(8px)}
.admin-auto-date{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fafbf9}
.admin-auto-date span{font-size:12px;color:var(--muted);font-weight:700}
.admin-auto-date .small-btn{background:var(--green);color:white;border:0;white-space:nowrap}
.table-wrap td{white-space:pre-line}
@media(max-width:720px){.admin-auto-date{align-items:flex-start;flex-direction:column}.church-live-time{font-size:12px}}


.service-admin-list{display:grid;gap:12px}
.service-admin-item{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px;box-shadow:0 8px 24px rgba(0,63,45,.05)}
.service-admin-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.service-admin-top strong{color:var(--green);font-size:16px}
.service-admin-row{display:grid;grid-template-columns:1.35fr 1fr;gap:12px;align-items:start}
.service-admin-col{background:#fcfbf7;border:1px solid #e8debf;border-radius:16px;padding:10px}
.service-admin-col label{display:block;margin:0 0 6px;font-weight:800;color:var(--green)}
.service-admin-col textarea{min-height:96px;border:1px solid var(--line);background:#fff}
@media(max-width:720px){.service-admin-row{grid-template-columns:1.15fr .85fr}.service-admin-item{padding:12px}.service-admin-col textarea{min-height:88px}}


.sabbath-admin-list{display:grid;gap:12px}
.sabbath-admin-item{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px;box-shadow:0 8px 24px rgba(0,63,45,.05)}
.sabbath-admin-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.sabbath-admin-top strong{color:var(--green);font-size:16px}
.sabbath-admin-row{display:grid;grid-template-columns:.62fr 1.55fr 1.2fr;gap:10px;align-items:stretch}
.sabbath-admin-col{background:#fcfbf7;border:1px solid #e8debf;border-radius:16px;padding:9px}
.sabbath-admin-col label{display:block;margin:0 0 6px;font-weight:800;color:var(--green);font-size:12px}
.sabbath-admin-col input,.sabbath-admin-col textarea{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;font-size:14px}
.sabbath-admin-col textarea{min-height:72px;resize:vertical}
.sabbath-admin-col.time input{min-height:44px;text-align:center}
@media(max-width:720px){
  .sabbath-admin-item{padding:11px}
  .sabbath-admin-row{grid-template-columns:.58fr 1.45fr 1.15fr;gap:7px}
  .sabbath-admin-col{padding:7px}
  .sabbath-admin-col input,.sabbath-admin-col textarea{padding:8px;font-size:12px}
  .sabbath-admin-col textarea{min-height:68px}
}


/* V2.7 Portada dinámica y refinada */
.hero-clock-glass{
  display:inline-flex;
  align-items:center;
  gap:12px;
  max-width:min(100%,430px);
  margin:2px 0 18px;
  padding:10px 14px 10px 11px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(255,255,255,.09));
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 12px 30px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.22);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  color:#fff;
}
.hero-clock-face{
  position:relative;
  width:48px;
  height:48px;
  min-width:48px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.82);
  background:rgba(255,255,255,.08);
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.05);
}
.clock-hand{position:absolute;left:50%;top:50%;transform-origin:0 50%;height:2px;background:#fff;border-radius:99px}
.clock-hand.hour{width:12px;transform:rotate(-52deg)}
.clock-hand.minute{width:16px;transform:rotate(-10deg)}
.clock-dot{position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:var(--gold-2);transform:translate(-50%,-50%)}
.hero-clock-copy{min-width:0;display:grid;gap:1px}
.hero-clock-copy strong{font-size:1.18rem;line-height:1.05;letter-spacing:.01em;color:#fff}
.hero-clock-copy span{font-size:.76rem;line-height:1.25;color:rgba(255,255,255,.88);white-space:normal}

.info-icon.calendar-dynamic{
  overflow:hidden;
  padding:0;
  grid-template-rows:20px 1fr;
  background:#fff!important;
  border:1px solid #e8dfc4;
  box-shadow:0 7px 18px rgba(11,79,52,.08);
}
.info-icon.calendar-dynamic small{
  width:100%;
  height:20px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--green),#0d6a48);
  color:#fff;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.08em;
}
.info-icon.calendar-dynamic strong{
  display:grid;
  place-items:center;
  color:var(--green);
  font-size:1.45rem;
  line-height:1;
  font-weight:900;
}
.home-info-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.home-info-card:hover{transform:translateY(-2px);box-shadow:0 17px 38px rgba(11,79,52,.13);border-color:#e2d8bd}

.clean-calendar-icon{
  position:relative;
  width:44px!important;
  height:44px!important;
  margin:auto;
  border-radius:11px!important;
  border:2px solid var(--green);
  background:#fff!important;
  box-shadow:none!important;
}
.clean-calendar-icon::before{
  content:"";
  position:absolute;
  left:-2px;right:-2px;top:-2px;
  height:12px;
  border-radius:10px 10px 3px 3px;
  background:var(--green);
}
.clean-calendar-icon::after{
  content:"";
  position:absolute;
  left:9px;right:9px;top:20px;
  height:3px;
  background:linear-gradient(90deg,var(--green) 0 25%,transparent 25% 38%,var(--green) 38% 62%,transparent 62% 75%,var(--green) 75% 100%);
  box-shadow:0 8px 0 rgba(0,63,45,.52);
}
.nav-calendar-icon{
  width:24px!important;
  height:24px!important;
  margin:0 auto 2px!important;
  border-radius:6px!important;
  border:1.5px solid var(--green)!important;
  background:#fff!important;
  color:var(--green)!important;
  display:grid!important;
  place-items:end center!important;
  padding-bottom:1px!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:900!important;
  position:relative!important;
}
.nav-calendar-icon::before{
  content:"";
  position:absolute;
  left:-1.5px;right:-1.5px;top:-1.5px;
  height:7px;
  border-radius:5px 5px 1px 1px;
  background:var(--green);
}

@media(max-width:760px){
  .approved-hero{min-height:690px!important}
  .approved-hero-content{padding:0 20px 25px!important}
  .approved-hero p{font-size:1.82rem!important;line-height:1.14!important;margin-bottom:22px!important}
  .hero-clock-glass{margin-bottom:14px;padding:9px 12px 9px 9px;border-radius:17px;gap:10px}
  .hero-clock-face{width:42px;height:42px;min-width:42px}
  .hero-clock-copy strong{font-size:1.08rem}
  .hero-clock-copy span{font-size:.69rem}
}
@media(max-width:430px){
  .info-icon.calendar-dynamic{width:48px;height:48px}
  .info-icon.calendar-dynamic small{height:17px;font-size:.55rem}
  .info-icon.calendar-dynamic strong{font-size:1.2rem}
}


/* V2.7.1 Jerarquía visual de portada */
.hero-identity{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 12px;color:#fff;text-shadow:0 5px 20px rgba(0,0,0,.34)}
.hero-identity strong{font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3.5rem);line-height:1;font-weight:800}
.hero-identity span{font-size:.92rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-2)}
.approved-hero p.hero-motto{font-family:inherit!important;font-size:1rem!important;line-height:1.45!important;max-width:650px!important;margin:0 0 22px!important;color:rgba(255,255,255,.92)!important;text-shadow:0 4px 18px rgba(0,0,0,.30)!important}
@media(max-width:760px){
  .hero-identity{gap:7px;margin-bottom:10px}
  .hero-identity strong{font-size:2.15rem}
  .hero-identity span{font-size:.72rem;letter-spacing:.1em}
  .approved-hero p.hero-motto{font-size:.84rem!important;line-height:1.4!important;margin-bottom:18px!important;max-width:360px!important}
}

/* ADVENTIA V2.8 — Conéctate + Momentos */
.connect-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.connect-card{appearance:none;border:1px solid var(--line);background:white;border-radius:22px;padding:18px;text-align:left;box-shadow:0 10px 28px rgba(0,63,45,.06);color:var(--ink);transition:.18s ease;min-height:150px}
.connect-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.connect-card>span{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#f2f7f4;font-size:25px;margin-bottom:12px}
.connect-card b{display:block;color:var(--green);font-size:16px;margin-bottom:6px}
.connect-card small{display:block;color:var(--muted);line-height:1.45}
.connect-form-card{background:white;border:1px solid var(--line);border-radius:26px;padding:22px;box-shadow:var(--shadow);margin:18px 0}
.connect-form-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.connect-form-head>div{display:flex;align-items:center;gap:12px}.connect-form-head span{font-size:30px}.connect-form-head h2{margin:0;color:var(--green)}
.icon-close{width:38px;height:38px;border:0;border-radius:50%;background:#f1f4f2;color:var(--green);font-size:22px}
.connect-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.connect-form-grid .full{grid-column:1/-1}
.consent-row{display:flex;align-items:flex-start;gap:9px;margin:16px 0 6px;font-size:12px;line-height:1.45;color:var(--muted);font-weight:600}.consent-row input{width:auto;margin-top:2px}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.privacy-note{margin:18px 0;padding:13px 16px;border-radius:16px;background:#f4f8f6;color:var(--muted);font-size:12px;border:1px solid var(--line)}
.success-card{text-align:center;background:#f6fbf8;border:1px solid #cfe2d7;border-radius:24px;padding:28px;margin:18px 0}.success-card>span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--green);color:white;font-size:28px;margin:0 auto 12px}.success-card h2{color:var(--green);margin:0 0 8px}.success-card p{color:var(--muted)}
.new-here-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.new-here-card{background:white;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 10px 25px rgba(0,63,45,.05)}.new-here-card>span{font-size:28px}.new-here-card b{display:block;color:var(--green);font-size:17px;margin:10px 0 6px}.new-here-card p{color:var(--muted);line-height:1.55;margin:0 0 12px}
.welcome-cta,.prayer-submit-card{margin:20px 0;background:linear-gradient(135deg,#063e2e,#0b6045);color:white;border-radius:24px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:var(--shadow)}.welcome-cta small{opacity:.78}.welcome-cta h3{margin:4px 0 0}.prayer-submit-card>div{display:flex;align-items:center;gap:12px}.prayer-submit-card>div>span{font-size:28px}.prayer-submit-card b,.prayer-submit-card small{display:block}.prayer-submit-card small{opacity:.78;margin-top:4px}
.news-strip{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.news-strip span{background:#edf5f1;color:var(--green);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}
.moments-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.moment-card{overflow:hidden;background:white;border:1px solid var(--line);border-radius:22px;box-shadow:0 10px 26px rgba(0,63,45,.07)}.moment-card img,.moment-card video{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#0b211a}.moment-card video{aspect-ratio:9/16;max-height:520px}.moment-copy{padding:14px}.moment-copy b{display:block;color:var(--green)}.moment-copy p{margin:6px 0;color:var(--muted);line-height:1.45}.moment-copy small{color:var(--muted)}
.media-loading,.empty-state{grid-column:1/-1;text-align:center;padding:34px 18px;color:var(--muted);background:#fafcfb;border:1px dashed var(--line);border-radius:20px}.empty-state span{display:block;font-size:34px;margin-bottom:8px}.empty-state b,.empty-state small{display:block}.empty-state b{color:var(--green);margin-bottom:5px}
.admin-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.admin-section-title h3{margin:0;color:var(--green)}.admin-section-title p{margin:4px 0 0;color:var(--muted);font-size:13px}
.request-admin-list{display:grid;gap:14px}.request-admin-card{background:white;border:1px solid var(--line);border-radius:20px;padding:16px}.request-admin-card.is-new{border-left:5px solid var(--gold)}.request-admin-head{display:flex;justify-content:space-between;gap:12px}.request-admin-head b,.request-admin-head small,.request-type{display:block}.request-type{font-size:12px;color:var(--green);font-weight:900;margin-bottom:6px}.request-admin-head small{color:var(--muted);margin-top:4px}.status-pill{align-self:flex-start;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900;background:#eef3f0;color:var(--green)}.status-new{background:#fff4cf;color:#745900}.status-closed{background:#eaf4ed;color:#276341}.request-message{background:#f8faf9;border-radius:14px;padding:12px;white-space:pre-wrap}.request-details{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.request-details span{background:#f2f5f3;border-radius:10px;padding:6px 8px;font-size:11px}.contact-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.contact-actions a{padding:8px 10px;border-radius:10px;background:#edf5f1;color:var(--green);text-decoration:none;font-weight:800;font-size:12px}.request-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.request-admin-grid .full{grid-column:1/-1}.request-admin-grid textarea{min-height:74px}
.media-upload-card{background:#f8faf9;border:1px solid var(--line);border-radius:20px;padding:16px;margin-bottom:18px}.admin-media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-media-card{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.admin-media-card img,.admin-media-card video{width:100%;aspect-ratio:4/3;object-fit:cover;background:#0b211a}.admin-media-card>div{padding:12px}.admin-media-card b,.admin-media-card small{display:block}.admin-media-card b{color:var(--green)}.admin-media-card small{color:var(--muted);margin:4px 0 9px}.admin-media-card select{margin-bottom:8px}
.connect-dashboard-card{background:linear-gradient(145deg,#f8fffb,#ffffff)}
@media(max-width:1000px){.connect-grid{grid-template-columns:repeat(2,1fr)}.moments-grid,.admin-media-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.connect-grid{grid-template-columns:1fr 1fr;gap:10px}.connect-card{min-height:132px;padding:14px}.connect-card>span{width:42px;height:42px;font-size:22px}.connect-form-grid,.new-here-grid,.request-admin-grid{grid-template-columns:1fr}.connect-form-grid .full,.request-admin-grid .full{grid-column:auto}.welcome-cta,.prayer-submit-card{align-items:flex-start;flex-direction:column}.moments-grid,.admin-media-grid{grid-template-columns:1fr}.moment-card video{max-height:620px}.admin-section-title{align-items:flex-start}.request-admin-head{align-items:flex-start}}
.target-area{color:var(--green)!important;font-weight:800;margin-top:5px!important}

.drawer-head{position:sticky;top:-18px;z-index:2;background:white;padding:18px 0 10px;margin-top:-18px}
.mobile-drawer a:last-child{margin-bottom:18px}


/* V3.0 ministry admin + leader portal */
.ministry-admin-accordion{display:grid;gap:10px}
.ministry-admin-item{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 8px 24px rgba(0,63,45,.05)}
.ministry-admin-summary{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;background:#fff;color:var(--green);text-align:left}
.ministry-admin-title{display:flex;align-items:center;gap:12px}.ministry-admin-title>span:first-child{font-size:28px}.ministry-admin-title b,.ministry-admin-title small{display:block}.ministry-admin-title small{margin-top:3px;color:var(--muted);font-weight:600}
.ministry-admin-chevron{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef6f1;font-size:22px}.ministry-admin-item.open .ministry-admin-chevron{background:var(--green);color:#fff}
.ministry-admin-body{padding:4px 16px 16px;border-top:1px solid var(--line)}.ministry-save-row{display:flex;justify-content:flex-end;margin-top:14px}.ministry-save-row .btn{min-width:220px}
.leader-create-card{background:#f8fbf9;border:1px solid var(--line);border-radius:20px;padding:16px;margin-bottom:18px}.leader-accounts-list{display:grid;gap:10px}.leader-account-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.leader-account-card>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:10px}.leader-account-icon{grid-row:1/3;font-size:28px}.leader-account-card b,.leader-account-card small{display:block}.leader-account-card small{color:var(--muted)}.leader-account-actions{display:flex;gap:8px;flex-wrap:wrap}.pin-result{margin-top:14px;background:#fff7d8;border:1px solid #e9d27c;border-radius:16px;padding:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pin-result small{width:100%}.pin-result strong{font-size:24px;letter-spacing:.14em;color:var(--green)}
.leader-login{max-width:460px;margin:35px auto}.leader-login-mark{font-size:44px}.leader-login label{margin-top:12px}.leader-portal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(135deg,#f5faf7,#fff);border:1px solid var(--line);border-radius:24px;padding:18px;margin-bottom:14px}.leader-portal-head>div{display:flex;gap:12px;align-items:center}.leader-portal-head>div>span{font-size:42px}.leader-portal-head small{color:var(--gold-dark);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.leader-portal-head h2,.leader-portal-head p{margin:0}.leader-ministry-switch,.leader-section-tabs{display:flex;gap:8px;overflow:auto;padding:4px 0 12px}.leader-ministry-switch button,.leader-section-tabs button{white-space:nowrap;border:1px solid var(--line);background:#fff;color:var(--green);border-radius:999px;padding:10px 14px;font-weight:900}.leader-ministry-switch button.active,.leader-section-tabs button.active{background:var(--green);color:#fff}.leader-workspace{min-height:260px}.leader-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.inline-options{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.inline-options label{display:flex;align-items:center;gap:8px;margin:0}.inline-options input{width:auto}
@media(max-width:720px){.ministry-save-row .btn{width:100%;min-width:0}.leader-account-card{align-items:flex-start;flex-direction:column}.leader-account-actions{width:100%}.leader-account-actions button{flex:1}.leader-portal-head{align-items:flex-start}.leader-portal-head .btn{padding:9px 11px}}

.password-reset-card{max-width:620px;margin:32px auto}
.reset-lock-icon{font-size:42px;margin-bottom:8px}
.password-reset-card input{font-size:18px}


/* V3.3 Hero, ministerios y notificaciones */
.hero-slide-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.28);color:#fff;border-radius:999px;padding:9px 14px;font-size:.78rem;font-weight:800;letter-spacing:.04em;margin:0 0 14px;text-shadow:0 4px 14px rgba(0,0,0,.18)}
.approved-hero p.hero-primary{color:white!important;font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3.3rem)!important;line-height:1.08!important;max-width:720px!important;margin:0 0 12px!important;text-shadow:0 6px 26px rgba(0,0,0,.35)}
.hero-support{color:rgba(255,255,255,.95);font-size:1rem;line-height:1.42;max-width:620px;margin:0 0 18px;text-shadow:0 4px 20px rgba(0,0,0,.25)}
.approved-hero-actions a.connect{background:linear-gradient(135deg,#eff7f1,#ffffff)!important;color:var(--green)!important;border:1px solid rgba(255,255,255,.42)!important}
.hero-slide-dots{display:flex;gap:8px;align-items:center;justify-content:flex-start;margin-top:16px}
.hero-slide-dots span{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.32);display:block}
.hero-slide-dots span.active{background:var(--gold-2);box-shadow:0 0 0 4px rgba(210,168,48,.16)}
.highlight-notice{display:grid;grid-template-columns:40px 1fr auto;gap:14px;align-items:center;background:linear-gradient(135deg,#0f6849,#0c573e);color:#fff;text-decoration:none;border-radius:24px;padding:16px 18px;margin:0 auto 16px;box-shadow:0 14px 32px rgba(11,79,52,.16);width:min(100%, 980px)}
.highlight-notice span{font-size:1.5rem}
.highlight-notice b{display:block;font-size:1rem;margin-bottom:3px}
.highlight-notice small{display:block;color:rgba(255,255,255,.86);line-height:1.35}
.highlight-notice em{font-style:normal;font-weight:800;color:#f4d05a;white-space:nowrap}
.pro-insights{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 20px}
.pro-insights span,.notification-chip{border:none;background:#eef4f0;color:var(--green);border-radius:999px;padding:10px 14px;font-size:.82rem;font-weight:800}
.ministry-resource-list{margin:0;padding-left:18px;display:grid;gap:8px;color:var(--muted)}
.ministry-participate-card{display:grid;gap:16px}
.ministry-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ministry-action-btn{appearance:none;border:1px solid #e5ddc9;background:#fff;border-radius:18px;padding:14px 16px;text-align:left;color:var(--green);font-weight:800;box-shadow:0 8px 20px rgba(0,63,45,.05);transition:.18s ease}
.ministry-action-btn:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(0,63,45,.09)}
.ministry-contact-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.notification-preferences-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:22px;box-shadow:var(--shadow);display:grid;gap:14px;margin-bottom:16px}
.notification-preferences-card h3{margin:0;color:var(--green)}
.notification-preferences-card p{margin:6px 0 0;color:var(--muted)}
.notification-pref-actions{display:flex;flex-wrap:wrap;gap:12px}
.notification-chip-row{display:flex;gap:10px;flex-wrap:wrap}
.notification-chip{cursor:pointer;transition:.18s ease}
.notification-chip.active{background:var(--green);color:#fff}
.notification-feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.notification-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--shadow);display:grid;gap:10px}
.notification-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
.notification-card p{margin:0;color:var(--muted);line-height:1.5}
@media(max-width:760px){
  .approved-hero p.hero-primary{font-size:1.88rem!important;max-width:360px!important}
  .hero-support{font-size:.92rem;max-width:360px;margin-bottom:16px}
  .hero-slide-badge{font-size:.68rem;padding:8px 11px;margin-bottom:12px}
  .approved-hero-actions a{min-height:108px!important;padding:12px 4px!important}
  .approved-hero-actions a span{font-size:1.35rem!important}
  .approved-hero-actions a b{font-size:.74rem!important;line-height:1.08!important}
  .highlight-notice{grid-template-columns:34px 1fr;align-items:start}
  .highlight-notice em{grid-column:2}
  .ministry-action-grid,.notification-feed{grid-template-columns:1fr}
}
@media(max-width:430px){
  .approved-hero-actions{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important}
  .approved-hero-actions a{min-height:104px!important;border-radius:18px!important}
  .approved-hero-actions a span{font-size:1.22rem!important}
  .approved-hero-actions a b{font-size:.68rem!important}
}


/* V3.4 — limpieza de accesos y carga directa de portadas */
.connect-feature-card{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#0c5f43,#0a4d38);color:#fff;border-radius:26px;padding:20px;margin-bottom:18px;box-shadow:0 16px 34px rgba(11,79,52,.16)}
.connect-feature-card>div{display:flex;align-items:center;gap:14px}.connect-feature-card>div>span{font-size:2rem}.connect-feature-card small{display:block;color:rgba(255,255,255,.78);margin-bottom:3px}.connect-feature-card b{display:block;font-size:1.12rem}
.hero-admin-list{display:grid;gap:16px}.hero-admin-card{display:grid;grid-template-columns:minmax(220px,.75fr) 1.4fr;gap:18px;background:#fff;border:1px solid var(--line);border-radius:26px;padding:16px;box-shadow:0 10px 28px rgba(0,63,45,.06)}
.hero-admin-preview{min-height:260px;border-radius:20px;background-position:center;background-size:cover;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;color:#fff;position:relative;overflow:hidden;box-shadow:inset 0 -120px 90px rgba(0,45,32,.55)}
.hero-admin-preview span{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#f2ce58}.hero-admin-preview strong{font-family:Playfair Display,serif;font-size:1.65rem;line-height:1.05;margin-top:5px;text-shadow:0 3px 16px rgba(0,0,0,.35)}
.hero-admin-fields{min-width:0}.hero-file-control{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.hero-file-control label,.hero-file-control small{width:100%}.hero-file-control input[type=file]{flex:1 1 260px}.hero-file-control .btn{flex:0 0 auto}.hero-admin-actions{display:flex;justify-content:flex-end;margin-top:10px}
@media(max-width:760px){.connect-feature-card{align-items:flex-start;flex-direction:column}.hero-admin-card{grid-template-columns:1fr}.hero-admin-preview{min-height:220px}.hero-file-control{display:block}.hero-file-control .btn{width:100%;margin-top:9px}}


/* V3.5 — publicación real de portadas y Momentos */
.native-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.hero-picker,.media-file-picker{display:grid;gap:8px;align-items:start}
.file-pick-button{display:inline-flex!important;width:max-content!important;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#fff!important;border-radius:14px;padding:12px 16px!important;font-weight:900!important;cursor:pointer;box-shadow:0 8px 20px rgba(0,63,45,.12)}
.selected-file-name{display:block;color:var(--muted);line-height:1.4}
.upload-status{border-radius:14px;padding:11px 13px;margin-top:12px;font-size:.86rem;font-weight:800;line-height:1.4}
.upload-status.working{background:#fff7db;color:#735800;border:1px solid #ead486}
.upload-status.success{background:#eaf6ef;color:#0d5c40;border:1px solid #b8dec9}
.upload-status.error{background:#fff0ed;color:#9b2f20;border:1px solid #efbeb5}
.hero-publish-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
.media-selection-preview{margin-top:14px;border-radius:20px;overflow:hidden;background:#f5f5f2;min-height:0}
.media-selection-preview:empty{display:none}
.media-selection-preview img,.media-selection-preview video{display:block;width:100%;max-height:420px;object-fit:cover}
.gold-mini{background:#e4b928!important;color:#173528!important}
@media(max-width:760px){.file-pick-button{width:100%!important}.hero-publish-row .btn{flex:1 1 100%}.hero-publish-row .small-btn{margin-left:auto}.media-selection-preview img,.media-selection-preview video{max-height:300px}}

/* V3.6 hero limpio + galería tipo iPhone */
.hero-free-layout{display:grid;gap:18px;margin:4px 0 18px}
.hero-photo-shell{border-radius:34px;overflow:hidden;box-shadow:0 22px 46px rgba(6,66,44,.18);background:#e7ece8}
.hero-photo-only{min-height:430px;background:var(--hero-bg, url('../img/church-hero-real.jpeg')) center center/cover no-repeat;display:block}
.hero-copy-shell{background:#fff;border:1px solid var(--line);border-radius:30px;padding:24px;box-shadow:0 18px 42px rgba(0,63,45,.08);display:grid;gap:16px}
.hero-free-eyebrow{color:var(--gold)!important;font-size:.82rem!important;letter-spacing:.14em!important;text-transform:uppercase;font-weight:900;margin:0 0 4px!important}
.hero-free-badge-row{display:flex;flex-wrap:wrap;gap:8px}
.hero-free-badge-row .hero-slide-badge{background:#f3f6f3;border:1px solid #dfe7e2;color:var(--green);text-shadow:none;box-shadow:none;margin:0;padding:8px 13px}
.hero-free-primary{color:var(--green)!important;font-family:Playfair Display,serif;font-size:clamp(2.2rem,4.4vw,3.5rem)!important;line-height:1.03!important;max-width:100%!important;margin:0 0 10px!important;text-shadow:none!important}
.hero-free-support{color:var(--muted)!important;font-size:1.04rem;line-height:1.5;max-width:100%;margin:0!important;text-shadow:none!important}
.hero-clock-solid{background:linear-gradient(135deg,#0d5f3f,#0b4832)!important;border:1px solid rgba(12,55,39,.08)!important;box-shadow:0 16px 34px rgba(0,63,45,.18)}
.hero-free-motto{margin:0!important;color:var(--green)!important;font-family:inherit!important;font-size:1rem!important;line-height:1.55!important;max-width:100%!important;text-shadow:none!important}
.hero-free-layout .hero-slide-dots{margin-top:-2px;justify-content:flex-start}
.hero-free-layout .hero-slide-dots span{background:#d6ddd8}
.hero-free-layout .hero-slide-dots span.active{background:var(--gold-2);box-shadow:0 0 0 4px rgba(210,168,48,.14)}
.hero-free-actions{margin-top:0!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important}
.hero-free-actions a{min-height:118px!important;border-radius:22px!important;border:1px solid #e1e5e1!important;box-shadow:none!important}
.hero-free-actions a.outline{background:linear-gradient(180deg,#174e39,#0c3e2c)!important;border-color:#174e39!important;color:#fff!important}
.hero-free-actions a.white{background:#fff!important;color:var(--green)!important;border-color:#dfe6e1!important}
.hero-free-actions a.gold{background:var(--gold)!important;color:#17251f!important;border-color:#dfb93e!important}
.hero-free-actions a.connect{background:linear-gradient(180deg,#f3f6f3,#fff)!important;color:var(--green)!important;border-color:#dfe6e1!important}
.hero-free-actions a span{font-size:1.4rem!important}
.hero-free-actions a b{font-size:.82rem!important;line-height:1.08!important}

.home-moments-shell{background:#fff;border:1px solid var(--line);border-radius:28px;padding:14px;box-shadow:var(--shadow);margin-bottom:28px}
.iphone-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.home-moments-preview .moment-tile.compact:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:1/1}
.moment-tile{position:relative;border:0;padding:0;display:block;border-radius:22px;overflow:hidden;background:#eaf0eb;aspect-ratio:1/1;cursor:pointer;box-shadow:0 12px 24px rgba(0,63,45,.07)}
.moment-tile img,.moment-tile video{display:block;width:100%;height:100%;object-fit:cover;background:#0b211a}
.moment-type-badge{position:absolute;right:10px;top:10px;min-width:34px;height:34px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(5,25,18,.68);backdrop-filter:blur(8px);color:#fff;font-size:.92rem;font-weight:900;box-shadow:0 8px 18px rgba(0,0,0,.18)}
.moment-type-badge.image{background:rgba(255,255,255,.78);color:var(--green)}
.moment-tile-caption{position:absolute;left:0;right:0;bottom:0;padding:28px 12px 12px;background:linear-gradient(180deg,rgba(5,18,12,0),rgba(5,18,12,.78));color:#fff;font-size:.82rem;font-weight:800;text-align:left}
.moment-see-all-tile{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:120px;border-radius:22px;text-decoration:none;color:#fff;background:linear-gradient(135deg,#0d5d3f,#083626);box-shadow:0 12px 26px rgba(0,63,45,.16)}
.moment-see-all-tile span{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:800}
.moment-see-all-tile small{color:rgba(255,255,255,.86)}
.moments-page-shell{display:grid;gap:16px}
.moments-page-intro{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px 20px;box-shadow:var(--shadow)}
.moments-page-intro b{display:block;color:var(--green);font-size:1.08rem;margin-bottom:4px}
.moments-page-intro p{margin:0;color:var(--muted)}
.iphone-gallery-grid .empty-state,.iphone-gallery-grid .media-loading{grid-column:1/-1}
.compact-empty{min-height:170px}

.moment-viewer{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px}
.moment-viewer-backdrop{position:absolute;inset:0;background:rgba(4,17,12,.78);backdrop-filter:blur(7px)}
.moment-viewer-dialog{position:relative;z-index:1;width:min(920px,100%);background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.35)}
.moment-viewer-close{position:absolute;right:14px;top:14px;border:0;background:rgba(255,255,255,.92);width:38px;height:38px;border-radius:50%;font-size:1.6rem;line-height:1;color:var(--green);cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.16)}
.moment-viewer-stage{background:#081d16;display:grid;place-items:center;min-height:280px;max-height:70vh;overflow:hidden}
.moment-viewer-stage img,.moment-viewer-stage video{display:block;max-width:100%;max-height:70vh;width:auto;height:auto}
.moment-viewer-copy{padding:16px 20px 8px}
.moment-viewer-copy b{display:block;color:var(--green);font-size:1.1rem}
.moment-viewer-copy p{margin:8px 0;color:var(--muted);line-height:1.5}
.moment-viewer-copy small{color:var(--muted)}
.moment-viewer-nav{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:0 20px 20px}
body.moment-viewer-open{overflow:hidden}

@media(min-width:980px){
  .hero-free-layout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start}
  .hero-photo-only{min-height:560px}
  .hero-copy-shell{height:100%;align-content:start;padding:28px}
}
@media(max-width:1100px){
  .iphone-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .hero-photo-only{min-height:290px}
  .hero-copy-shell{padding:18px;border-radius:24px;gap:14px}
  .hero-free-primary{font-size:2.25rem!important}
  .hero-free-actions{gap:8px!important}
  .hero-free-actions a{min-height:100px!important;border-radius:18px!important;padding:10px 4px!important}
  .hero-free-actions a span{font-size:1.18rem!important}
  .hero-free-actions a b{font-size:.68rem!important}
  .home-moments-preview .moment-tile.compact:first-child{grid-column:span 3;grid-row:auto;aspect-ratio:4/3}
  .moment-tile,.moment-see-all-tile{border-radius:16px}
  .moment-see-all-tile{min-height:100px}
  .moment-viewer{padding:10px}
  .moment-viewer-dialog{border-radius:22px}
  .moment-viewer-nav .btn{flex:1 1 100%}
}

/* V3.7 — Momentos estilo Fotos */
.moments-native-head{display:grid;grid-template-columns:52px 1fr 44px;gap:10px;align-items:center;margin:4px 0 14px;padding:6px 2px}
.moments-native-head>button{width:44px;height:44px;border:0;background:transparent;color:var(--green);font-size:2.3rem;line-height:1;display:grid;place-items:center;cursor:pointer}
.moments-native-head h1{font-family:Playfair Display,serif;color:var(--green);font-size:2.35rem;line-height:1;margin:0}
.moments-native-head span{display:block;color:var(--muted);font-size:.82rem;margin-top:4px}
.moments-head-mark{font-size:1.5rem!important;margin:0!important;text-align:center}
.moments-photos-app{display:grid;gap:12px}
.moment-filter-bar{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.moment-filter-bar::-webkit-scrollbar{display:none}
.moment-filter-bar button{flex:0 0 auto;border:0;background:#eef3ef;color:var(--green);font-weight:800;font-size:.84rem;padding:10px 16px;border-radius:999px;cursor:pointer}
.moment-filter-bar button.active{background:var(--green);color:#fff}
.moments-grid{display:block}
.moment-photo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.moment-photo-grid .moment-tile{border-radius:8px;box-shadow:none;aspect-ratio:1/1}
.moment-photo-grid .moment-type-badge{right:6px;top:6px;min-width:28px;height:28px;padding:0 8px;font-size:.76rem;background:rgba(0,0,0,.58)}
.moment-album-head{display:flex;align-items:center;gap:12px;padding:8px 0 14px}
.moment-album-head>button{border:0;background:#eef3ef;color:var(--green);border-radius:999px;padding:9px 13px;font-weight:800;cursor:pointer}
.moment-album-head b{display:block;color:var(--green);font-size:1.05rem}
.moment-album-head small{display:block;color:var(--muted);margin-top:2px}
.moment-albums-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.moment-album-card{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:var(--ink)}
.moment-album-cover{aspect-ratio:1/1;border-radius:22px;overflow:hidden;background:#e7ece8;box-shadow:0 12px 28px rgba(0,63,45,.08)}
.moment-album-cover img,.moment-album-cover video{width:100%;height:100%;object-fit:cover;display:block}
.moment-album-card>div:last-child{padding:9px 4px 0}
.moment-album-card b{display:block;color:var(--green);font-size:.96rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.moment-album-card small{display:block;color:var(--muted);font-size:.76rem;margin-top:2px}

.moment-viewer{padding:0;background:#000}
.moment-viewer-backdrop{background:#000;backdrop-filter:none}
.moment-viewer-dialog{width:100%;height:100dvh;max-width:none;border-radius:0;background:#000;display:grid;grid-template-rows:auto 1fr auto;box-shadow:none}
.moment-viewer-topbar{height:56px;padding:8px 14px;display:flex;align-items:center;justify-content:space-between;color:#fff;background:#000;z-index:2}
.moment-viewer-topbar>span{font-size:.84rem;color:rgba(255,255,255,.84);font-weight:700}
.moment-viewer-close{position:static;width:38px;height:38px;background:rgba(255,255,255,.16);color:#fff;box-shadow:none;font-size:1.45rem}
.moment-viewer-stage{position:relative;min-height:0;max-height:none;height:100%;background:#000;overflow:hidden;touch-action:pan-y;user-select:none}
.moment-viewer-stage img,.moment-viewer-stage video{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;background:#000}
.moment-viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:2rem;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px)}
.moment-viewer-arrow.left{left:12px}.moment-viewer-arrow.right{right:12px}
.moment-viewer-copy{padding:12px 18px calc(16px + env(safe-area-inset-bottom));background:#080808;color:#fff}
.moment-viewer-copy b{color:#fff;font-size:1rem}
.moment-viewer-copy p{color:rgba(255,255,255,.82);margin:6px 0;font-size:.9rem}
.moment-meta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.moment-meta-row span{font-size:.72rem;color:rgba(255,255,255,.62)}

.media-publisher-v37{padding:18px}
.media-publisher-head{display:flex;gap:12px;align-items:center;margin-bottom:16px;padding:12px 14px;border-radius:18px;background:#f4f7f5}
.media-publisher-head>span{font-size:1.55rem}
.media-publisher-head b{display:block;color:var(--green)}
.media-publisher-head small{display:block;color:var(--muted);margin-top:2px}
.media-preview-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:10px}
.media-preview-item,.media-preview-more{position:relative;aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:#e9eeea}
.media-preview-item img,.media-preview-item video{display:block;width:100%;height:100%;object-fit:cover}
.media-preview-item span{position:absolute;right:6px;top:6px;background:rgba(0,0,0,.58);color:#fff;border-radius:999px;padding:4px 7px;font-size:.7rem}
.media-preview-more{display:grid;place-items:center;color:var(--green);font-weight:900;background:#eef3ef}
.admin-library-title{margin-top:24px}
.admin-media-copy{display:grid;gap:9px}
.admin-media-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.admin-media-controls label{font-size:.72rem;color:var(--muted);margin-bottom:4px}
.admin-media-controls input,.admin-media-controls select{min-width:0}

@media(max-width:900px){
  .moment-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .moment-albums-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .moments-native-head{grid-template-columns:44px 1fr 40px;margin-top:0}
  .moments-native-head h1{font-size:2rem}
  .moment-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
  .moment-photo-grid .moment-tile{border-radius:5px}
  .moment-albums-grid{gap:12px}
  .moment-album-cover{border-radius:18px}
  .moment-viewer-arrow{display:none}
  .media-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .admin-media-controls{grid-template-columns:1fr}
}

/* V3.8 — Visor Momentos estable para iPhone/Safari */
.moment-viewer[hidden]{display:none!important}
.moment-viewer{z-index:9999!important;inset:0!important;width:100vw!important;height:100dvh!important;min-height:100svh!important;overscroll-behavior:none;isolation:isolate;background:#000!important}
.moment-viewer-backdrop{z-index:0!important;pointer-events:none!important}
.moment-viewer-dialog{position:relative!important;z-index:2!important;height:100dvh!important;min-height:100svh!important;grid-template-rows:auto minmax(0,1fr) auto!important;overflow:hidden!important}
.moment-viewer-topbar{position:relative!important;z-index:30!important;min-height:calc(54px + env(safe-area-inset-top));height:auto!important;padding:calc(8px + env(safe-area-inset-top)) 12px 8px!important;flex:0 0 auto!important}
.moment-viewer-back,.moment-viewer-close{appearance:none;-webkit-appearance:none;width:44px!important;height:44px!important;min-width:44px!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.16)!important;color:#fff!important;display:grid!important;place-items:center!important;font-size:1.75rem!important;line-height:1!important;cursor:pointer!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;pointer-events:auto!important}
.moment-viewer-back{font-size:2rem!important}
.moment-viewer-stage{position:relative!important;z-index:1!important;min-height:0!important;height:auto!important;overflow:hidden!important;overscroll-behavior:none!important;touch-action:manipulation!important;background:#000!important}
.moment-viewer-stage img,.moment-viewer-stage video{opacity:0;transition:opacity .15s ease;pointer-events:auto}
.moment-viewer-stage img.is-ready,.moment-viewer-stage video.is-ready{opacity:1}
.moment-viewer-loading,.moment-viewer-error{position:absolute;inset:0;z-index:6;display:grid;place-content:center;justify-items:center;text-align:center;padding:24px;color:#fff;background:#000}
.moment-viewer-loading[hidden],.moment-viewer-error[hidden]{display:none!important}
.moment-viewer-loading span{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.24);border-top-color:#fff;animation:momentSpin .8s linear infinite;margin-bottom:12px}
.moment-viewer-loading b,.moment-viewer-error b{font-size:1rem}
.moment-viewer-error span{font-size:2rem;margin-bottom:8px}
.moment-viewer-error small{display:block;max-width:270px;margin-top:8px;color:rgba(255,255,255,.72);line-height:1.4}
@keyframes momentSpin{to{transform:rotate(360deg)}}
.moment-viewer-arrow{z-index:10!important;touch-action:manipulation!important}
.moment-viewer-copy{position:relative!important;z-index:20!important;max-height:28vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(14px + env(safe-area-inset-bottom))!important}
.moment-viewer-hint{display:block!important;color:rgba(255,255,255,.46)!important;font-size:.67rem!important;margin-top:9px!important}
body.moment-viewer-open{overflow:hidden!important}
@media(max-width:600px){
  .moment-viewer-copy{max-height:24vh;padding:10px 14px calc(10px + env(safe-area-inset-bottom))!important}
  .moment-viewer-copy p{font-size:.82rem!important;line-height:1.35!important}
  .moment-viewer-hint{font-size:.62rem!important}
}

/* V3.9 — videos hasta 2 minutos */
.media-preview-item{overflow:hidden}
.media-preview-item small{position:absolute;left:6px;right:6px;bottom:6px;z-index:2;background:rgba(0,0,0,.62);color:#fff;border-radius:8px;padding:4px 6px;font-size:.64rem;line-height:1.1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.media-preview-item b{position:absolute;left:6px;right:6px;top:6px;z-index:3;background:#a93424;color:#fff;border-radius:8px;padding:4px 6px;font-size:.62rem;line-height:1.1;text-align:center}
.media-preview-item.is-invalid{outline:2px solid #b33a28;outline-offset:-2px}

/* V3.9.2 — optimización automática de videos grandes */
.media-preview-item.needs-optimize{outline:2px solid #d3a51e;outline-offset:-2px}
.media-preview-item.needs-optimize b{background:#d3a51e;color:#173326}
.upload-status.working{white-space:normal}

/* V3.9.3 video viewer reliability */
.moment-retry-btn{appearance:none;border:1px solid rgba(255,255,255,.35);background:#fff;color:#0b5b3f;font-weight:800;border-radius:999px;padding:10px 16px;margin:10px auto 12px;display:block;cursor:pointer}
.moment-viewer-error small span{display:block;max-width:290px;margin:0 auto;color:rgba(255,255,255,.72);line-height:1.4}
.moment-viewer-loading b{min-width:190px;text-align:center}

/* V3.9.4 — Galería premium, orientación adaptable y álbumes consistentes */
.moment-viewer{height:var(--moment-vh,100dvh)!important;min-height:100svh!important;background:#000!important;padding:0!important}
.moment-viewer-dialog{position:relative!important;width:100%!important;height:var(--moment-vh,100dvh)!important;min-height:100svh!important;display:block!important;background:#000!important;overflow:hidden!important;border-radius:0!important}
.moment-viewer-stage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:grid!important;place-items:center!important;background:#000!important;overflow:hidden!important;touch-action:pan-y!important}
.moment-viewer-stage img,.moment-viewer-stage video{position:relative!important;z-index:1!important;width:100%!important;height:100%!important;max-width:100vw!important;max-height:var(--moment-vh,100dvh)!important;object-fit:contain!important;object-position:center center!important;background:#000!important}
.moment-viewer-stage video{touch-action:manipulation!important}
.moment-viewer-topbar{position:absolute!important;z-index:40!important;top:0!important;left:0!important;right:0!important;min-height:calc(58px + env(safe-area-inset-top))!important;padding:calc(8px + env(safe-area-inset-top)) 12px 10px!important;background:linear-gradient(180deg,rgba(0,0,0,.78),rgba(0,0,0,.32) 62%,transparent)!important;transition:opacity .2s ease,transform .2s ease!important}
.moment-viewer-tools{display:flex;align-items:center;gap:8px}
.moment-viewer-tool,.moment-viewer-back,.moment-viewer-close{appearance:none;-webkit-appearance:none;width:42px!important;height:42px!important;min-width:42px!important;border:0!important;border-radius:50%!important;background:rgba(42,42,42,.74)!important;color:#fff!important;display:grid!important;place-items:center!important;font-size:1.18rem!important;line-height:1!important;cursor:pointer!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;box-shadow:0 4px 16px rgba(0,0,0,.22)!important;touch-action:manipulation!important}
.moment-viewer-back{font-size:2rem!important}
.moment-viewer-close{font-size:1.7rem!important}
.moment-viewer-copy{position:absolute!important;z-index:35!important;left:0!important;right:0!important;bottom:0!important;max-height:34vh!important;overflow-y:auto!important;padding:54px 22px calc(18px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,transparent,rgba(0,0,0,.72) 32%,rgba(0,0,0,.94))!important;color:#fff!important;transition:opacity .2s ease,transform .2s ease!important;-webkit-overflow-scrolling:touch!important}
.moment-viewer-copy b{font-size:1.05rem!important;color:#fff!important}
.moment-viewer-copy p{color:rgba(255,255,255,.84)!important;max-width:720px!important}
.moment-viewer.info-hidden .moment-viewer-copy{opacity:0!important;transform:translateY(20px)!important;pointer-events:none!important}
.moment-viewer.info-hidden .moment-viewer-topbar{opacity:.72!important}
.moment-viewer-loading,.moment-viewer-error{z-index:25!important;background:#000!important}
.moment-viewer-arrow{z-index:30!important;background:rgba(20,20,20,.62)!important}

/* En horizontal el medio usa toda la pantalla y la información queda discreta */
.moment-viewer[data-orientation="landscape"] .moment-viewer-copy{left:18px!important;right:auto!important;bottom:12px!important;width:min(430px,42vw)!important;max-height:44vh!important;border-radius:20px!important;padding:38px 18px calc(14px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,transparent,rgba(0,0,0,.80) 34%,rgba(0,0,0,.94))!important}
.moment-viewer[data-orientation="landscape"] .moment-viewer-topbar{padding-left:calc(12px + env(safe-area-inset-left))!important;padding-right:calc(12px + env(safe-area-inset-right))!important}
.moment-viewer[data-orientation="landscape"] .moment-viewer-stage img,.moment-viewer[data-orientation="landscape"] .moment-viewer-stage video{max-width:100vw!important;max-height:100vh!important}

/* En vertical, una foto vertical aprovecha altura y una horizontal conserva proporción */
.moment-viewer[data-orientation="portrait"] .moment-viewer-stage img,.moment-viewer[data-orientation="portrait"] .moment-viewer-stage video{width:100vw!important;height:var(--moment-vh,100dvh)!important}

/* Álbumes */
.moment-album-card{border-radius:22px!important;padding:0!important;transition:transform .16s ease,box-shadow .16s ease!important}
.moment-album-card:active{transform:scale(.985)}
.moment-album-cover{position:relative!important;background:#e7ece8!important}
.album-video-mark{position:absolute;right:10px;top:10px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.62);color:#fff;font-size:.8rem;backdrop-filter:blur(8px)}
.moment-album-card>div:last-child{padding:10px 4px 2px!important}
.moment-album-card b{font-size:1rem!important;line-height:1.2!important}
.moment-album-card small{font-size:.74rem!important;color:var(--muted)!important}
.field-helper{display:block;color:var(--muted);font-size:.72rem;margin-top:5px;line-height:1.35}

@media(max-width:600px){
  .moment-viewer-topbar{min-height:calc(56px + env(safe-area-inset-top))!important;padding-left:10px!important;padding-right:10px!important}
  .moment-viewer-tools{gap:6px}
  .moment-viewer-tool,.moment-viewer-back,.moment-viewer-close{width:40px!important;height:40px!important;min-width:40px!important}
  .moment-viewer-copy{max-height:30vh!important;padding:44px 16px calc(14px + env(safe-area-inset-bottom))!important}
  .moment-viewer-hint{display:none!important}
}

@media(orientation:landscape) and (max-height:600px){
  .moment-viewer-topbar{min-height:calc(48px + env(safe-area-inset-top))!important;padding-top:calc(4px + env(safe-area-inset-top))!important;padding-bottom:4px!important}
  .moment-viewer-tool,.moment-viewer-back,.moment-viewer-close{width:38px!important;height:38px!important;min-width:38px!important}
  .moment-viewer-copy{max-height:52vh!important}
  .moment-viewer-copy p{font-size:.78rem!important;margin:4px 0!important}
  .moment-meta-row{margin-top:4px!important}
}

/* V3.9.5 — navegación móvil estable + miniaturas reales de video */
:root{--bottom-nav-height:76px}
body{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + 12px)!important}
#app{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + 22px)!important}
.bottom-nav{
  position:fixed!important;
  inset-inline:0!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100vw!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  transform:translate3d(0,0,0)!important;
  -webkit-transform:translate3d(0,0,0)!important;
  will-change:transform!important;
  isolation:isolate!important;
  z-index:10000!important;
  box-sizing:border-box!important;
  padding-left:max(8px,env(safe-area-inset-left))!important;
  padding-right:max(8px,env(safe-area-inset-right))!important;
  padding-bottom:max(8px,env(safe-area-inset-bottom))!important;
  background:rgba(255,255,255,.985)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  backdrop-filter:blur(18px)!important;
  box-shadow:0 -8px 28px rgba(0,63,45,.09)!important;
}
.bottom-nav a{min-width:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important}
@supports (-webkit-touch-callout:none){
  .bottom-nav{position:fixed!important;bottom:0!important}
}

/* Los videos siempre tienen una portada clara; nunca un cuadro negro */
.moment-video-fallback{
  width:100%;height:100%;min-height:100%;
  display:grid;place-content:center;justify-items:center;gap:7px;
  padding:14px;text-align:center;
  background:
    radial-gradient(circle at 75% 20%,rgba(225,193,90,.22),transparent 32%),
    linear-gradient(145deg,#124b38,#072c22 72%);
  color:#fff;
}
.moment-video-fallback .video-fallback-play{
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.94);color:var(--green);font-size:1rem;
  box-shadow:0 10px 24px rgba(0,0,0,.2);padding-left:3px
}
.moment-video-fallback b{font-size:.82rem;line-height:1.2;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.moment-video-fallback small{font-size:.66rem;color:rgba(255,255,255,.72);font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.moment-video-fallback.compact b{font-size:.72rem;max-width:110px}
.moment-tile.is-video{background:#082f23!important}
.moment-tile.is-video>img{width:100%;height:100%;object-fit:cover;display:block}
.moment-tile.is-video::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.16));
}
.moment-type-badge{z-index:4!important;width:36px!important;min-width:36px!important;padding:0!important;font-size:.82rem!important}

.admin-video-thumb{position:relative;aspect-ratio:4/3;background:#082f23;overflow:hidden}
.admin-video-thumb>img,.admin-video-thumb>.moment-video-fallback{width:100%;height:100%;object-fit:cover}
.admin-video-thumb>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.94);color:var(--green);box-shadow:0 10px 26px rgba(0,0,0,.22);padding-left:3px;font-size:1rem}

/* Evita que un video sin miniatura domine la vista previa de Inicio */
.home-moments-preview .moment-tile.is-video:first-child{grid-column:span 1!important;grid-row:span 1!important;aspect-ratio:1/1!important}

/* pequeños ajustes para tráfico multi-dispositivo */
@media(max-width:430px){
  .bottom-nav{height:auto!important;min-height:72px!important}
  .bottom-nav a{font-size:10px!important;padding:4px 2px!important}
  .bottom-nav span{font-size:19px!important}
}
@media(min-width:721px){
  body{padding-bottom:24px!important}
  #app{padding-bottom:40px!important}
}

/* V3.9.6 date label control */
.admin-date-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:720px){.admin-date-actions{width:100%}.admin-date-actions .small-btn{flex:1 1 auto}}


/* V3.9.7 — portada completa y ampliable */
.hero-photo-shell{position:relative;display:grid;place-items:center;min-height:320px;padding:14px;background:linear-gradient(180deg,#e8eeea,#dfe6e1)}
.hero-photo-backdrop{position:absolute;inset:0;background:var(--hero-bg, url('../img/church-hero-real.jpeg')) center center/cover no-repeat;filter:blur(22px) saturate(1.03);transform:scale(1.08);opacity:.34}
.hero-photo-shell::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(12,45,32,.10))}
.hero-photo-stage{position:relative;z-index:1;width:100%;display:grid;place-items:center;padding:8px}
.hero-photo-image{display:block;max-width:100%;width:auto;height:auto;max-height:min(70vh,620px);object-fit:contain;border-radius:24px;box-shadow:0 18px 40px rgba(7,42,30,.18);background:#fff}
.hero-photo-zoom{position:absolute;right:16px;bottom:16px;z-index:2;border:1px solid rgba(255,255,255,.74);background:rgba(255,255,255,.92);color:var(--green);border-radius:999px;padding:10px 14px;font-weight:800;font-size:.9rem;line-height:1;box-shadow:0 12px 22px rgba(0,0,0,.12);cursor:pointer}
.hero-photo-zoom:hover{transform:translateY(-1px)}
.hero-image-viewer{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:16px}
.hero-image-viewer-backdrop{position:absolute;inset:0;background:rgba(5,17,12,.84);backdrop-filter:blur(8px)}
.hero-image-viewer-dialog{position:relative;z-index:1;width:min(1100px,100%);max-height:calc(100vh - 32px);background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.35);display:grid;grid-template-rows:minmax(0,1fr) auto}
.hero-image-viewer-close{position:absolute;right:14px;top:14px;border:0;background:rgba(255,255,255,.94);width:42px;height:42px;border-radius:50%;font-size:1.8rem;line-height:1;color:var(--green);cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.16);z-index:2}
.hero-image-viewer-stage{background:#0a1b15;min-height:260px;overflow:auto}
.hero-image-viewer-scroll{min-height:100%;display:grid;place-items:center;padding:18px;overflow:auto;touch-action:pan-x pan-y pinch-zoom}
.hero-image-viewer-scroll img{display:block;max-width:100%;height:auto;border-radius:18px;background:#fff;box-shadow:0 18px 42px rgba(0,0,0,.22)}
.hero-image-viewer-copy{padding:16px 20px 18px;border-top:1px solid var(--line)}
.hero-image-viewer-copy b{display:block;color:var(--green);font-size:1.1rem}
.hero-image-viewer-copy p{margin:8px 0;color:var(--muted);line-height:1.5}
.hero-image-viewer-copy small{color:var(--muted)}
body.hero-image-viewer-open{overflow:hidden}
@media(min-width:980px){
  .hero-photo-shell{min-height:560px;padding:18px}
  .hero-photo-image{max-height:min(78vh,720px)}
}
@media(max-width:760px){
  .hero-photo-shell{min-height:240px;padding:10px}
  .hero-photo-image{max-height:54vh;border-radius:18px}
  .hero-photo-zoom{right:10px;bottom:10px;padding:9px 12px;font-size:.82rem}
  .hero-image-viewer{padding:10px}
  .hero-image-viewer-dialog{max-height:calc(100vh - 20px);border-radius:20px}
  .hero-image-viewer-scroll{padding:10px}
}

/* V4.0 — Sistema de Ministerios / Pastoral */
.pastoral-public{display:grid;gap:20px}
.pastoral-public-hero{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;background:linear-gradient(135deg,#0d5d3f,#083626);color:#fff;border-radius:30px;padding:26px;box-shadow:0 18px 38px rgba(0,63,45,.16)}
.pastoral-public-icon{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:2rem;border:1px solid rgba(255,255,255,.22)}
.pastoral-public-hero small{display:block;color:#e7c95f;font-weight:900;letter-spacing:.13em;margin-bottom:6px}
.pastoral-public-hero h1{margin:0;font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}
.pastoral-public-hero p{margin:10px 0 0;color:rgba(255,255,255,.9);line-height:1.5;max-width:760px}
.pastoral-public-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pastoral-public-summary>div{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;display:grid;gap:5px;box-shadow:var(--shadow)}
.pastoral-public-summary span{font-size:1.4rem}.pastoral-public-summary b{color:var(--green)}.pastoral-public-summary small{color:var(--muted);line-height:1.35}
.pastoral-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pastoral-action-card{appearance:none;border:1px solid var(--line);background:#fff;border-radius:24px;padding:20px;text-align:left;display:grid;gap:8px;box-shadow:var(--shadow);cursor:pointer;transition:.18s ease;color:inherit}
.pastoral-action-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(0,63,45,.10)}
.pastoral-action-card span{font-size:1.7rem}.pastoral-action-card b{font-size:1.04rem;color:var(--green)}.pastoral-action-card small{color:var(--muted);line-height:1.4}.pastoral-action-card em{font-style:normal;font-weight:900;color:var(--gold);margin-top:5px}
.pastoral-public-line{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.pastoral-public-line:last-child{border-bottom:0}.pastoral-public-line b{color:var(--green)}.pastoral-public-line small{color:var(--muted)}
.pastoral-portal{display:grid;gap:18px}
.pastoral-leader-head{background:linear-gradient(135deg,#0d5d3f,#083626);color:#fff;border-radius:28px;padding:20px;box-shadow:0 18px 38px rgba(0,63,45,.14)}
.pastoral-leader-head h2,.pastoral-leader-head p,.pastoral-leader-head small{color:#fff!important}
.pastoral-security-note{background:#f7f3df;border:1px solid #eadca8;color:#61551d;border-radius:18px;padding:12px 15px;font-size:.85rem;line-height:1.45}
.pastoral-tabs{overflow:auto;scrollbar-width:none;padding-bottom:3px}.pastoral-tabs::-webkit-scrollbar{display:none}.pastoral-tabs button{white-space:nowrap}
.pastoral-dashboard{display:grid;gap:16px}
.pastoral-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pastoral-metric-grid button{appearance:none;border:1px solid var(--line);background:#fff;border-radius:22px;padding:18px;text-align:left;display:grid;gap:4px;cursor:pointer;box-shadow:var(--shadow)}
.pastoral-metric-grid span{font-size:1.35rem}.pastoral-metric-grid strong{font-size:1.8rem;color:var(--green)}.pastoral-metric-grid small{color:var(--muted)}
.pastoral-dashboard-columns{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}
.pastoral-agenda-row{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.pastoral-agenda-row:last-child{border-bottom:0}.pastoral-agenda-row b{display:block;color:var(--green)}.pastoral-agenda-row small{display:block;color:var(--muted);margin-top:2px}
.pastoral-flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:12px 0}.pastoral-flow span{padding:8px 10px;border-radius:999px;background:#eef5f0;color:var(--green);font-size:.78rem;font-weight:800}.pastoral-flow b{color:var(--gold)}
.pastoral-request-list{display:grid;gap:14px}.pastoral-request-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow)}.pastoral-request-card.is-new{border-left:5px solid var(--gold)}
.pastoral-request-top{display:flex;justify-content:space-between;gap:14px;align-items:start}.pastoral-request-top>div{display:grid;gap:5px}.pastoral-request-top b{color:var(--green);font-size:1.05rem}.pastoral-request-top small{color:var(--muted)}
.request-status{display:inline-flex;padding:8px 10px;background:#eff4f0;color:var(--green);border-radius:999px;font-size:.76rem;font-weight:900}
.pastoral-contact{font-weight:800;color:var(--green)}.pastoral-request-message{line-height:1.55;color:#33463d}.pastoral-request-details{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.pastoral-request-details small{background:#f7f8f6;border-radius:12px;padding:8px 10px;color:var(--muted)}
.pastoral-followup-grid{margin-top:14px}
.pastoral-agenda-form{margin-bottom:14px}.pastoral-agenda-list{display:grid;gap:14px}.pastoral-agenda-card p{margin:8px 0;color:#384a42}
.pastoral-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pastoral-team-card{display:grid;gap:6px;text-align:center;justify-items:center}.pastoral-team-avatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0d5d3f,#0a4431);color:#fff;font-size:1.35rem;font-weight:900}.pastoral-team-card b{color:var(--green)}.pastoral-team-card small{font-weight:800;color:var(--gold)}.pastoral-team-card em{font-style:normal;color:var(--muted);font-size:.8rem;word-break:break-word}
.pastoral-room{display:grid;gap:14px}.pastoral-messages{display:grid;gap:10px;max-height:520px;overflow:auto;padding:4px}.pastoral-message{max-width:82%;background:#eef5f0;border-radius:18px 18px 18px 6px;padding:12px 14px}.pastoral-message b{display:block;color:var(--green);font-size:.86rem}.pastoral-message p{margin:5px 0;line-height:1.45}.pastoral-message small{color:var(--muted);font-size:.72rem}.pastoral-message-compose{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.pastoral-message-compose textarea{min-height:72px}
.role-badge{display:inline-flex;width:max-content;margin-top:5px;padding:5px 9px;border-radius:999px;background:#eef5f0;color:var(--green);font-size:.72rem;font-weight:900}
.leader-account-actions select{min-width:120px}
@media(max-width:820px){.pastoral-public-summary,.pastoral-action-grid{grid-template-columns:1fr 1fr}.pastoral-metric-grid{grid-template-columns:1fr 1fr}.pastoral-dashboard-columns{grid-template-columns:1fr}.pastoral-team-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pastoral-public-hero{grid-template-columns:1fr;padding:20px}.pastoral-public-summary,.pastoral-action-grid,.pastoral-team-grid{grid-template-columns:1fr}.pastoral-request-top{flex-direction:column}.pastoral-message{max-width:94%}.pastoral-message-compose{grid-template-columns:1fr}.pastoral-message-compose .btn{width:100%}.pastoral-metric-grid{grid-template-columns:1fr 1fr}}

/* V4.0.1 — acceso Pastoral estable */
.pastoral-private-entry{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 6px;padding:14px 16px;border:1px solid #e1dfd2;background:#fff;border-radius:20px;box-shadow:0 10px 24px rgba(0,63,45,.06)}
.pastoral-private-entry small{color:var(--muted);line-height:1.35;flex:1 1 220px}

/* V4.1 — Pastoral operativo: calendario anual + rol de predicadores */
.pastoral-metric-grid-v41{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.pastoral-next-card{display:grid;gap:5px;padding:8px 0}
.pastoral-next-card b{color:var(--green);font-size:1.08rem}.pastoral-next-card span,.pastoral-next-card small{color:var(--muted)}
.pastoral-calendar-form{margin-bottom:16px}
.pastoral-calendar-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:16px;box-shadow:var(--shadow);display:grid;gap:14px}
.pastoral-calendar-toolbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}
.pastoral-calendar-toolbar>div{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}
.pastoral-calendar-toolbar select,.pastoral-calendar-toolbar input{width:auto;min-width:130px}
.pastoral-year-strip{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;overflow:auto;padding-bottom:4px}
.pastoral-year-strip button{min-width:58px;border:1px solid var(--line);background:#f8faf8;border-radius:14px;padding:8px 6px;color:var(--green);cursor:pointer;display:grid;gap:2px}
.pastoral-year-strip button.active{background:var(--green);color:#fff;border-color:var(--green)}
.pastoral-year-strip span{font-size:.69rem;text-transform:uppercase;font-weight:900}.pastoral-year-strip b{font-size:.92rem}
.pastoral-calendar-grid{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff}
.pastoral-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#edf4ef;border-bottom:1px solid var(--line)}
.pastoral-calendar-weekdays b{padding:10px 6px;text-align:center;color:var(--green);font-size:.75rem}
.pastoral-calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}
.pastoral-calendar-day{min-height:92px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;display:flex;flex-direction:column;gap:5px;background:#fff;overflow:hidden}
.pastoral-calendar-day:nth-child(7n){border-right:0}.pastoral-calendar-day.empty{background:#fafbfa}.pastoral-calendar-day.has-event{background:#fffdf5}
.pastoral-calendar-day>b{color:var(--green);font-size:.82rem}.pastoral-calendar-day>span{display:block;background:#e8f2eb;color:var(--green);font-size:.68rem;font-weight:800;border-radius:9px;padding:4px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pastoral-calendar-day>small{color:var(--gold);font-weight:900}
.pastoral-calendar-list{display:grid;gap:12px}.pastoral-calendar-item p{margin:8px 0}.pastoral-calendar-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.pastoral-calendar-meta span{font-size:.76rem;background:#f4f6f4;color:var(--muted);padding:7px 9px;border-radius:999px}
.pastoral-preacher-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:14px}.pastoral-preacher-controls>div{min-width:145px}.pastoral-preacher-controls input,.pastoral-preacher-controls select{margin-top:5px}
.pastoral-preacher-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow);margin-top:14px}
.pastoral-preacher-table{width:100%;min-width:1160px;border-collapse:collapse}
.pastoral-preacher-table th{position:sticky;top:0;background:#0d5d3f;color:#fff;text-align:left;padding:12px 10px;font-size:.78rem;z-index:1}
.pastoral-preacher-table td{padding:9px;border-bottom:1px solid var(--line);vertical-align:middle}.pastoral-preacher-table tr:last-child td{border-bottom:0}.pastoral-preacher-table td:first-child{min-width:96px}.pastoral-preacher-table td:first-child b{display:block;color:var(--green)}.pastoral-preacher-table td:first-child small{display:block;color:var(--muted);margin-top:2px;font-size:.7rem}
.pastoral-preacher-table input,.pastoral-preacher-table select{min-width:135px;width:100%;padding:9px 10px;border-radius:11px}
.pastoral-preacher-table input:disabled,.pastoral-preacher-table select:disabled{background:#f7f8f7;color:#58665f;opacity:1}
@media(max-width:760px){
  .pastoral-calendar-toolbar{grid-template-columns:auto 1fr auto}.pastoral-calendar-toolbar select,.pastoral-calendar-toolbar input{min-width:105px}
  .pastoral-calendar-weekdays b{font-size:.64rem;padding:8px 2px}.pastoral-calendar-day{min-height:72px;padding:5px}.pastoral-calendar-day>span{font-size:.58rem;padding:3px 4px}.pastoral-calendar-day>b{font-size:.72rem}
  .pastoral-preacher-controls>div{flex:1 1 130px}.pastoral-preacher-controls>.btn{flex:1 1 100%}
}

/* V4.1.1 — Pastoral Stable / navegación, carga y resiliencia */
.pastoral-mobile-section-picker{display:none}
.pastoral-cloud-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#f5faf7;border:1px solid #dce9e1;border-radius:16px;padding:9px 12px;color:var(--green);font-size:.78rem}
.pastoral-cloud-status small{color:var(--muted);font-weight:500}
.pastoral-cloud-dot{width:9px;height:9px;border-radius:50%;background:#27a45d;box-shadow:0 0 0 4px rgba(39,164,93,.12)}
.pastoral-loading-card,.pastoral-error-state{min-height:180px;border:1px solid var(--line);background:#fff;border-radius:24px;padding:24px;display:flex;align-items:center;justify-content:center;gap:14px;box-shadow:var(--shadow)}
.pastoral-loading-card>div{display:grid;gap:4px}.pastoral-loading-card b{color:var(--green);font-size:1.05rem}.pastoral-loading-card small{color:var(--muted)}
.pastoral-spinner{width:28px;height:28px;border:3px solid #d8e6dc;border-top-color:var(--green);border-radius:50%;animation:pastoralSpin .8s linear infinite;flex:0 0 auto}
@keyframes pastoralSpin{to{transform:rotate(360deg)}}
.pastoral-error-state{flex-direction:column;text-align:center}.pastoral-error-state>span{font-size:2rem}.pastoral-error-state>b{color:var(--green);font-size:1.1rem}.pastoral-error-state p{margin:0;color:var(--muted);max-width:560px}
.pastoral-partial-warning{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #ead68b;background:#fff9dd;color:#5f5019;border-radius:16px;padding:10px 12px;font-size:.83rem}
.pastoral-tabs{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding-right:34px!important;position:relative}
.pastoral-tabs button{scroll-snap-align:start;flex:0 0 auto}
.pastoral-preacher-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:18px}
.pastoral-preacher-table{min-width:1080px}
.pastoral-calendar-card{max-width:100%;overflow:hidden}

@media(max-width:760px){
  .pastoral-mobile-section-picker{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px 12px;box-shadow:0 8px 22px rgba(0,63,45,.05)}
  .pastoral-mobile-section-picker label{margin:0;color:var(--green);font-weight:900;font-size:.8rem}
  .pastoral-mobile-section-picker select{width:100%;margin:0;min-height:44px;border-radius:13px;font-weight:800;color:var(--green)}
  .pastoral-tabs{margin-left:-2px;margin-right:-2px;padding-bottom:7px!important}
  .pastoral-tabs::after{content:"Desliza →";position:sticky;right:0;align-self:center;background:linear-gradient(90deg,rgba(255,255,255,0),#fff 35%);padding:8px 2px 8px 22px;color:var(--muted);font-size:.67rem;font-weight:800;pointer-events:none}
  .pastoral-cloud-status{font-size:.72rem}.pastoral-cloud-status small{width:100%;padding-left:17px}
  .pastoral-loading-card,.pastoral-error-state{min-height:160px;border-radius:20px;padding:18px}
  .pastoral-calendar-card{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .pastoral-calendar-grid{min-width:620px}
  .pastoral-year-strip{min-width:max-content}
  .pastoral-calendar-toolbar{min-width:570px}
  .pastoral-request-card,.pastoral-agenda-card{overflow:hidden}
  .pastoral-followup-grid{grid-template-columns:1fr!important}
}
.pastoral-dashboard-sync{display:flex;align-items:center;gap:9px;background:#f7faf8;border:1px solid #dfe9e3;border-radius:15px;padding:9px 12px;color:var(--muted);font-size:.78rem}
.pastoral-spinner.mini{width:17px;height:17px;border-width:2px}


/* V4.1.3 — Pastoral final stabilization */
.pastoral-cloud-status .small-btn{margin-left:auto}
.pastoral-cloud-status em{font-style:normal;font-size:.64rem;color:var(--muted);font-weight:800;letter-spacing:.04em}
.pastoral-initial-loader{animation:pastoralFadeIn .16s ease}
@keyframes pastoralFadeIn{from{opacity:.5}to{opacity:1}}
@media(max-width:760px){
  .pastoral-tabs{display:none!important}
  .pastoral-mobile-section-picker{position:sticky;top:calc(var(--app-header-height,72px) + 4px);z-index:7}
  .pastoral-cloud-status .small-btn{margin-left:0}
  .pastoral-cloud-status em{margin-left:auto}
}

/* V4.1.4 — Pastoral Instant Core */
.pastoral-inline-sync,.pastoral-sync-ok{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #dce9e1;background:#f5faf7;color:var(--green);border-radius:16px;padding:10px 12px;margin-bottom:14px;min-height:48px}
.pastoral-inline-sync>div{display:grid;gap:2px}.pastoral-inline-sync b{font-size:.84rem}.pastoral-inline-sync small,.pastoral-sync-ok small{color:var(--muted)}
.pastoral-sync-ok>span{color:#27a45d;font-size:1rem;line-height:1}.pastoral-sync-ok .small-btn{margin-left:auto}
.pastoral-sync-ok.muted-sync>span{color:#9eb3a6}
.pastoral-ready-placeholder{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow);min-height:120px}
.pastoral-ready-placeholder>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#eef5f0;font-size:1.35rem}
.pastoral-ready-placeholder b{display:block;color:var(--green);font-size:1.05rem}.pastoral-ready-placeholder p{margin:5px 0 0;color:var(--muted);line-height:1.45}
.pastoral-ready-placeholder.warning{border-color:#ead68b;background:#fffdf4}.pastoral-ready-placeholder.warning>span{background:#fff4c9}
.pastoral-cloud-status{position:relative;overflow:hidden}.pastoral-cloud-status::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#27a45d,transparent);opacity:.5}
.pastoral-dashboard{animation:pastoralInstantIn .14s ease-out}@keyframes pastoralInstantIn{from{opacity:.65;transform:translateY(2px)}to{opacity:1;transform:none}}
@media(max-width:760px){
  .pastoral-sync-ok .small-btn{margin-left:0}.pastoral-sync-ok small{flex:1 1 170px}
  .pastoral-ready-placeholder{grid-template-columns:42px 1fr;padding:16px;border-radius:18px}.pastoral-ready-placeholder>span{width:42px;height:42px}
}

/* V4.1.5 — Calendarios móviles compactos, sin desbordamiento */
@media(max-width:760px){
  /* Calendario anual: ocupa exactamente el ancho del teléfono */
  .pastoral-calendar-card{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:hidden!important;
    padding:10px;
    border-radius:20px;
    gap:10px;
  }
  .pastoral-calendar-toolbar{
    width:100%;
    min-width:0!important;
    grid-template-columns:42px minmax(0,1fr) 42px!important;
    gap:7px;
  }
  .pastoral-calendar-toolbar>div{
    width:100%;
    min-width:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) 88px;
    gap:6px;
    flex-wrap:nowrap;
  }
  .pastoral-calendar-toolbar .small-btn{
    width:42px;
    min-width:42px;
    height:42px;
    padding:0;
    display:grid;
    place-items:center;
    border-radius:13px;
  }
  .pastoral-calendar-toolbar select,
  .pastoral-calendar-toolbar input{
    width:100%!important;
    min-width:0!important;
    max-width:100%;
    height:42px;
    padding:7px 9px;
    font-size:.88rem;
    border-radius:12px;
  }

  /* Los 12 meses se deslizan dentro de su propia fila, nunca ensanchan la página */
  .pastoral-year-strip{
    width:100%;
    min-width:0!important;
    max-width:100%;
    display:flex;
    gap:6px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:1px 1px 5px;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
  }
  .pastoral-year-strip::-webkit-scrollbar{display:none}
  .pastoral-year-strip button{
    flex:0 0 54px;
    min-width:54px;
    padding:7px 4px;
    border-radius:12px;
    scroll-snap-align:start;
  }
  .pastoral-year-strip span{font-size:.61rem}
  .pastoral-year-strip b{font-size:.82rem}

  /* Mes completo de 7 columnas, sin scroll horizontal */
  .pastoral-calendar-grid{
    width:100%!important;
    max-width:100%;
    min-width:0!important;
    overflow:hidden!important;
    border-radius:14px;
  }
  .pastoral-calendar-weekdays,
  .pastoral-calendar-days{
    width:100%;
    min-width:0;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
  }
  .pastoral-calendar-weekdays b{
    min-width:0;
    padding:7px 0;
    font-size:.56rem;
    white-space:nowrap;
  }
  .pastoral-calendar-day{
    min-width:0;
    min-height:50px;
    padding:4px 3px;
    gap:3px;
    overflow:hidden;
  }
  .pastoral-calendar-day>b{
    font-size:.68rem;
    line-height:1;
  }
  /* En móvil los eventos son puntos; el detalle completo aparece en la lista inferior */
  .pastoral-calendar-day>span{
    width:7px;
    height:7px;
    min-height:7px;
    padding:0!important;
    border-radius:50%;
    font-size:0!important;
    line-height:0;
    overflow:hidden;
    flex:0 0 7px;
  }
  .pastoral-calendar-day>small{
    font-size:.52rem;
    line-height:1;
  }
  .pastoral-calendar-day.has-event{
    background:#fffaf0;
  }

  /* Lista de actividades del mes: lectura cómoda en móvil */
  .pastoral-calendar-list{
    width:100%;
    min-width:0;
    gap:10px;
  }
  .pastoral-calendar-item{
    min-width:0;
    overflow:hidden;
  }

  /* Rol de Predicadores: la tabla de escritorio se convierte en tarjetas */
  .pastoral-preacher-table-wrap{
    width:100%;
    max-width:100%;
    overflow:visible!important;
    border:0;
    background:transparent;
    box-shadow:none;
  }
  .pastoral-preacher-table{
    display:block;
    width:100%!important;
    min-width:0!important;
    border:0;
  }
  .pastoral-preacher-table thead{display:none}
  .pastoral-preacher-table tbody{
    display:grid;
    width:100%;
    gap:12px;
  }
  .pastoral-preacher-table tr{
    display:grid;
    width:100%;
    min-width:0;
    padding:12px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:0 8px 22px rgba(0,63,45,.06);
  }
  .pastoral-preacher-table td{
    width:100%;
    min-width:0!important;
    padding:7px 0;
    border:0;
    display:grid;
    grid-template-columns:104px minmax(0,1fr);
    gap:9px;
    align-items:center;
  }
  .pastoral-preacher-table td:first-child{
    display:block;
    padding:0 0 10px;
    margin-bottom:4px;
    border-bottom:1px solid var(--line);
  }
  .pastoral-preacher-table td:first-child b{font-size:1rem}
  .pastoral-preacher-table td:first-child small{font-size:.72rem}
  .pastoral-preacher-table td:nth-child(2)::before{content:"Predicador"}
  .pastoral-preacher-table td:nth-child(3)::before{content:"Anciano"}
  .pastoral-preacher-table td:nth-child(4)::before{content:"Plataforma"}
  .pastoral-preacher-table td:nth-child(5)::before{content:"Rincón infantil"}
  .pastoral-preacher-table td:nth-child(6)::before{content:"Especial"}
  .pastoral-preacher-table td:nth-child(7)::before{content:"Notas"}
  .pastoral-preacher-table td:nth-child(8)::before{content:"Estado"}
  .pastoral-preacher-table td:not(:first-child)::before{
    color:var(--green);
    font-size:.67rem;
    font-weight:900;
    line-height:1.15;
  }
  .pastoral-preacher-table input,
  .pastoral-preacher-table select{
    width:100%!important;
    min-width:0!important;
    max-width:100%;
    padding:9px 10px;
  }
}

@media(max-width:390px){
  .pastoral-calendar-card{padding:8px}
  .pastoral-calendar-toolbar{grid-template-columns:38px minmax(0,1fr) 38px!important}
  .pastoral-calendar-toolbar .small-btn{width:38px;min-width:38px;height:40px}
  .pastoral-calendar-toolbar>div{grid-template-columns:minmax(0,1fr) 78px}
  .pastoral-calendar-toolbar select,.pastoral-calendar-toolbar input{font-size:.82rem;padding:6px 7px}
  .pastoral-calendar-weekdays b{font-size:.51rem}
  .pastoral-calendar-day{min-height:46px;padding:3px 2px}
  .pastoral-calendar-day>b{font-size:.63rem}
  .pastoral-preacher-table td{grid-template-columns:88px minmax(0,1fr);gap:7px}
}


/* V4.1.6 — Flujo pastoral de solicitudes */
.pastoral-request-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.pastoral-request-card .form-actions .danger{margin-left:auto}
@media(max-width:760px){.pastoral-request-actions{width:100%;justify-content:flex-start}.pastoral-request-actions .small-btn{flex:1 1 auto}.pastoral-request-card .form-actions .danger{margin-left:0;width:100%}}

/* V4.1.9 — solicitud clara y confiable */
.request-submit-feedback{min-height:1.35rem;margin-top:.7rem;font-size:.9rem;line-height:1.4;color:var(--muted)}
.request-submit-feedback.sending{color:var(--green);font-weight:700}
.request-submit-feedback.error{color:#9b2c2c;font-weight:700}
.connect-submit-btn:disabled{opacity:.72;cursor:wait}

/* V4.2 — Solicitudes conectadas a seguimiento y agenda */
.request-workflow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:16px 0 18px;align-items:start}
.request-workflow span{position:relative;display:grid;justify-items:center;gap:6px;text-align:center;color:var(--muted);font-size:.76rem;min-width:0}
.request-workflow span:not(:last-child)::after{content:"";position:absolute;top:15px;left:calc(50% + 18px);right:calc(-50% + 18px);height:2px;background:var(--line);z-index:0}
.request-workflow i{position:relative;z-index:1;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid var(--line);font-style:normal;font-weight:800;color:var(--muted)}
.request-workflow b{font-size:.72rem;line-height:1.15}
.request-workflow span.done i,.request-workflow span.active i{border-color:var(--green);background:var(--green);color:#fff}
.request-workflow span.done:not(:last-child)::after{background:var(--green)}
.request-workflow span.active b,.request-workflow span.done b{color:var(--green)}
.linked-appointment{margin:12px 0;padding:12px 14px;border-radius:14px;background:#eef7f2;border:1px solid #cfe5d9;color:var(--green);font-size:.92rem}
.request-agenda-overview{margin:0 0 18px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fbfcfa;display:grid;gap:10px}
.request-agenda-overview-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.request-agenda-overview-head small{color:var(--muted)}
.request-agenda-mini{display:grid;grid-template-columns:minmax(120px,.9fr) minmax(0,1.4fr) auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.request-agenda-mini span,.request-agenda-mini small{color:var(--muted);font-size:.84rem}
.request-workflow-actions{flex-wrap:wrap}
.request-workflow-actions .btn,.request-workflow-actions .small-btn{min-height:42px}
.request-admin-cards{display:grid;gap:18px}
@media(max-width:760px){
  .request-workflow{gap:2px;margin:14px -2px 16px}
  .request-workflow span{font-size:.64rem;gap:4px}
  .request-workflow i{width:25px;height:25px;font-size:.72rem}
  .request-workflow span:not(:last-child)::after{top:12px;left:calc(50% + 14px);right:calc(-50% + 14px)}
  .request-workflow b{font-size:.61rem;overflow-wrap:anywhere}
  .request-agenda-mini{grid-template-columns:1fr;gap:3px}
  .request-workflow-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .request-workflow-actions .btn,.request-workflow-actions .small-btn,.request-workflow-actions a{width:100%;justify-content:center;text-align:center}
}

/* V4.4.0 — Centro de Roles dentro de Boletín */
.bulletin-admin-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px;padding:6px;background:#f3f7f4;border:1px solid var(--line);border-radius:20px}.bulletin-admin-switch button{border:0;background:transparent;color:var(--green);font-weight:800;padding:13px 14px;border-radius:15px;cursor:pointer}.bulletin-admin-switch button.active{background:var(--green);color:#fff;box-shadow:0 8px 18px rgba(0,76,52,.16)}
.bulletin-role-create{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.bulletin-role-create h3{margin:0 0 4px}.bulletin-role-create-row{display:grid;grid-template-columns:72px minmax(220px,1fr) auto;gap:10px;align-items:center;min-width:min(100%,520px)}.bulletin-role-create-row input{margin:0}.bulletin-role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin:18px 0}.bulletin-role-chip{border:1px solid var(--line);background:#fff;border-radius:20px;padding:16px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;color:var(--green);cursor:pointer;min-height:118px;box-shadow:0 10px 24px rgba(19,63,47,.05)}.bulletin-role-chip span{font-size:1.55rem}.bulletin-role-chip b{font-size:1rem;line-height:1.15}.bulletin-role-chip small{color:var(--muted)}.bulletin-role-chip.active{background:linear-gradient(145deg,var(--green),#084a34);color:#fff;border-color:transparent}.bulletin-role-chip.active small{color:rgba(255,255,255,.76)}.bulletin-role-chip.inactive{opacity:.56}
.bulletin-role-settings{margin-bottom:16px}.bulletin-role-settings-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px}.bulletin-role-settings-head>div{display:flex;align-items:center;gap:12px}.bulletin-role-big-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#eef6f1;font-size:1.7rem}.bulletin-role-settings-head h3{margin:0}.bulletin-roster-period{display:grid;grid-template-columns:minmax(130px,.6fr) minmax(200px,1fr) auto;gap:12px;align-items:end;margin-bottom:18px}.bulletin-roster-period label{display:block;font-weight:800;color:var(--green);margin-bottom:6px}.bulletin-roster-period input,.bulletin-roster-period select{margin:0}
.bulletin-roster-list{display:grid;gap:14px}.bulletin-roster-card{padding:18px}.bulletin-roster-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:13px;margin-bottom:14px;border-bottom:1px solid var(--line)}.bulletin-roster-card-head b{display:block;color:var(--green);font-size:1.05rem}.bulletin-roster-card-head small{display:block;color:var(--muted);margin-top:3px}.bulletin-roster-card textarea{min-height:82px}.bulletin-public-roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.bulletin-public-roster-grid>div{display:flex;gap:10px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#f8fbf9}.bulletin-public-roster-grid>div>span{font-size:1.4rem}.bulletin-public-roster-grid p{margin:0;display:flex;flex-direction:column;gap:3px}.bulletin-public-roster-grid strong{font-size:.96rem;color:#223d32}.bulletin-public-roster-grid small{color:var(--muted)}
@media(max-width:760px){.bulletin-admin-switch{grid-template-columns:1fr}.bulletin-role-create{display:block}.bulletin-role-create-row{grid-template-columns:62px 1fr;margin-top:12px;min-width:0}.bulletin-role-create-row .btn{grid-column:1/-1;width:100%}.bulletin-role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bulletin-role-chip{min-height:105px;padding:13px 10px}.bulletin-role-chip b{font-size:.92rem}.bulletin-role-settings-head{align-items:flex-start}.bulletin-roster-period{grid-template-columns:1fr 1fr}.bulletin-roster-period>.btn{grid-column:1/-1;width:100%}.bulletin-roster-card{padding:14px}.bulletin-roster-card .form-grid{grid-template-columns:1fr}.bulletin-roster-card .form-grid .full{grid-column:auto}.bulletin-roster-card textarea{min-height:72px}.bulletin-public-roster-grid{grid-template-columns:1fr}}


/* V4.4.1 — Boletín público: roles y turnos trimestrales */
.bulletin-public-fixed{min-height:48px;display:flex;align-items:center;padding:0 14px;border:1px solid #cfe2d7;background:#f1f8f4;border-radius:14px;color:var(--green);font-weight:800}
.bulletin-quarter-public{overflow:hidden}.bulletin-quarter-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.bulletin-quarter-title h3{margin:4px 0 6px;font-size:1.5rem;color:var(--green)}.bulletin-quarter-title p{margin:0;color:var(--muted);max-width:680px}.bulletin-quarter-count{min-width:92px;padding:11px 14px;border-radius:18px;background:#eef6f1;text-align:center}.bulletin-quarter-count b{display:block;color:var(--green);font-size:1.35rem}.bulletin-quarter-count small{color:var(--muted);font-size:.76rem}.bulletin-quarter-nav{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);background:#fbfcfa;border-radius:18px}.bulletin-quarter-nav button{width:44px;height:44px;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--green);font-size:1.65rem;cursor:pointer}.bulletin-quarter-nav>div{text-align:center}.bulletin-quarter-nav b{display:block;color:var(--green);font-size:1.03rem}.bulletin-quarter-nav small{display:block;color:var(--muted);margin-top:2px}.bulletin-public-role-filter{display:flex;gap:8px;overflow-x:auto;padding:13px 1px 10px;scrollbar-width:none}.bulletin-public-role-filter::-webkit-scrollbar{display:none}.bulletin-public-role-filter button{flex:0 0 auto;border:1px solid var(--line);background:#fff;color:var(--green);border-radius:999px;padding:9px 13px;font-weight:800;cursor:pointer}.bulletin-public-role-filter button.active{background:var(--green);border-color:var(--green);color:#fff}.bulletin-quarter-sabbaths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:4px}.bulletin-quarter-sabbath-card{border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}.bulletin-quarter-sabbath-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 14px;background:#f3f8f5;border-bottom:1px solid var(--line)}.bulletin-quarter-sabbath-head small{display:block;color:#8b7a36;font-size:.69rem;font-weight:900;letter-spacing:.08em}.bulletin-quarter-sabbath-head b{display:block;color:var(--green);margin-top:2px}.bulletin-quarter-sabbath-head>span{font-size:.72rem;color:#806f39;background:#fff7da;border:1px solid #eadca7;padding:5px 8px;border-radius:999px;white-space:nowrap}.bulletin-quarter-sabbath-head>span.complete{color:var(--green);background:#edf8f2;border-color:#cbe5d7}.bulletin-quarter-role-rows{display:grid}.bulletin-quarter-role-row{display:grid;grid-template-columns:36px 1fr;gap:8px;padding:11px 13px;border-bottom:1px solid #edf0ed}.bulletin-quarter-role-row:last-child{border-bottom:0}.bulletin-quarter-role-row .role-icon{font-size:1.22rem}.bulletin-quarter-role-row b,.bulletin-quarter-role-row strong,.bulletin-quarter-role-row small{display:block}.bulletin-quarter-role-row b{font-size:.78rem;color:var(--green)}.bulletin-quarter-role-row strong{font-size:.94rem;color:#233a31;margin-top:2px}.bulletin-quarter-role-row small{font-size:.76rem;color:var(--muted);margin-top:3px;line-height:1.35}.bulletin-quarter-empty{padding:18px 14px;color:var(--muted);font-size:.88rem}.bulletin-quarter-single-role{margin-top:4px}.bulletin-quarter-role-title{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:16px;background:#eef6f1;margin-bottom:9px}.bulletin-quarter-role-title>span{font-size:1.55rem}.bulletin-quarter-role-title b,.bulletin-quarter-role-title small{display:block}.bulletin-quarter-role-title b{color:var(--green)}.bulletin-quarter-role-title small{color:var(--muted);margin-top:2px}.bulletin-quarter-role-date{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}.bulletin-quarter-role-date:last-child{border-bottom:0}.bulletin-quarter-role-date small,.bulletin-quarter-role-date b,.bulletin-quarter-role-date span{display:block}.bulletin-quarter-role-date small{color:var(--muted);font-size:.78rem}.bulletin-quarter-role-date b{color:#233a31;margin-top:3px}.bulletin-quarter-role-date span{color:var(--muted);font-size:.8rem;margin-top:3px}.bulletin-quarter-role-date em{font-style:normal;font-size:.72rem;font-weight:800;padding:6px 8px;border-radius:999px;background:#edf8f2;color:var(--green);white-space:nowrap}.bulletin-quarter-role-date.pending em{background:#f6f3e8;color:#85743a}.bulletin-quarter-role-date.pending b{color:#8b908d}
@media(max-width:760px){.bulletin-quarter-title{align-items:center}.bulletin-quarter-title h3{font-size:1.28rem}.bulletin-quarter-title p{font-size:.88rem}.bulletin-quarter-count{min-width:76px;padding:9px 10px}.bulletin-quarter-sabbaths{grid-template-columns:1fr}.bulletin-quarter-sabbath-head{align-items:flex-start}.bulletin-quarter-public{padding:14px}.bulletin-quarter-role-date{padding:11px 4px}.bulletin-quarter-role-date>div{min-width:0}.bulletin-quarter-role-date span{line-height:1.35}.bulletin-public-role-filter{margin-left:-2px;margin-right:-2px}}
@media print{.bulletin-quarter-nav button,.bulletin-public-role-filter{display:none!important}.bulletin-quarter-sabbaths{grid-template-columns:1fr 1fr}.bulletin-quarter-public{break-inside:avoid-page}}

/* V5.0 — Sistema integral de ministerios */
.ministry-os-head{background:linear-gradient(135deg,rgba(19,93,68,.08),rgba(201,165,75,.10));border:1px solid rgba(19,93,68,.10);border-radius:24px;padding:18px}
.ministry-os-mission{display:flex;gap:12px;align-items:flex-start;margin:14px 0;padding:14px 16px;border-radius:18px;background:#f7faf8;border:1px solid var(--line)}
.ministry-os-mission>span{font-size:1.25rem}.ministry-os-mission b{display:block;color:var(--green);margin-bottom:4px}.ministry-os-mission small{display:block;color:var(--muted);line-height:1.45}
.ministry-os-tabs{overflow-x:auto;scrollbar-width:none;gap:8px}.ministry-os-tabs::-webkit-scrollbar{display:none}.ministry-os-tabs button{white-space:nowrap}
.ministry-os-picker{display:none}
.ministry-os-dashboard{display:grid;gap:14px}.ministry-os-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ministry-os-stats article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 8px 22px rgba(13,55,39,.05)}.ministry-os-stats article span{display:block;font-size:1.35rem}.ministry-os-stats article b{display:block;font-size:1.6rem;color:var(--green);margin:5px 0}.ministry-os-stats article small{color:var(--muted)}
.ministry-workflow-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.ministry-workflow-chips span{background:#f1f7f3;border:1px solid #dcebe1;color:#255a45;border-radius:999px;padding:8px 10px;font-size:.86rem;font-weight:700}
.ministry-roster-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.ministry-roster-head h3{margin:.2rem 0}.publish-badge{background:#e8f6ee;color:#17603f;border:1px solid #ccebd9;border-radius:999px;padding:8px 11px;font-size:.78rem;font-weight:800;white-space:nowrap}.ministry-owned-role-grid{margin-bottom:14px}
.ministry-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.ministry-async-host{min-height:180px}.soft-loading{display:grid;place-items:center;min-height:160px;color:var(--muted)}
.generic-room{padding:0;overflow:hidden}.generic-room-head{padding:16px 18px;border-bottom:1px solid var(--line);background:#f8fbf9}.generic-room-head h3{margin:0}.generic-room-head p{margin:4px 0 0;color:var(--muted)}.generic-room-feed{max-height:430px;overflow:auto;padding:16px;background:linear-gradient(180deg,#fbfdfc,#f5faf7)}.generic-room-message{max-width:82%;background:#fff;border:1px solid var(--line);border-radius:18px 18px 18px 6px;padding:10px 12px;margin:0 0 10px;box-shadow:0 4px 14px rgba(12,54,38,.05)}.generic-room-message b{font-size:.86rem;color:var(--green)}.generic-room-message p{margin:4px 0 6px;white-space:pre-wrap}.generic-room-message small{color:var(--muted);font-size:.72rem}.generic-room-compose{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:#fff}.generic-room-compose textarea{min-height:46px;max-height:120px;resize:vertical;flex:1}
.ministry-task-list{display:grid;gap:10px}.ministry-task{display:flex;justify-content:space-between;gap:14px;align-items:center}.ministry-task.done{opacity:.68}.ministry-task.done b{text-decoration:line-through}.ministry-task small{display:block;color:var(--muted);margin-top:4px}.ministry-task p{margin:8px 0 0}.ministry-task-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.ministry-system-badge{display:inline-flex;align-items:center;padding:8px 10px;border-radius:999px;background:#eef7f2;color:#185e40;font-size:.78rem;font-weight:800}
.bulletin-role-create-row select{min-width:180px}
@media(max-width:760px){
  .ministry-os-tabs{display:none}.ministry-os-picker{display:block}.ministry-os-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ministry-roster-head{display:block}.publish-badge{display:inline-flex;margin-top:8px}.ministry-task{display:block}.ministry-task-actions{justify-content:flex-start;margin-top:10px}.generic-room-feed{max-height:52vh}.generic-room-compose{position:sticky;bottom:0}.bulletin-role-create-row{display:grid!important;grid-template-columns:64px 1fr}.bulletin-role-create-row select,.bulletin-role-create-row button{grid-column:1/-1;width:100%}.ministry-owned-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.ministry-management-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.ministry-management-head h3{margin:.25rem 0}.ministry-management-head p{margin:0;color:var(--muted)}.ministry-record-create{margin-bottom:14px}.ministry-record-list{display:grid;gap:10px}.ministry-record-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start}.ministry-record-card.completed{opacity:.72}.ministry-record-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#f1f7f3;font-size:1.3rem}.ministry-record-copy small{display:block;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.ministry-record-copy b{display:block;color:var(--green);font-size:1rem;margin:3px 0 6px}.ministry-record-copy span{display:inline-block;margin:0 10px 4px 0;color:var(--muted);font-size:.84rem}.ministry-record-copy p{margin:7px 0 0;white-space:pre-wrap}.ministry-record-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.ministry-record-actions select{min-width:130px}
@media(max-width:760px){.ministry-record-card{grid-template-columns:auto 1fr}.ministry-record-actions{grid-column:1/-1;justify-content:flex-start}.ministry-record-actions select{flex:1}}
.ministry-progress-section{margin:14px 0}.ministry-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.ministry-progress-card{position:relative;border:1px solid var(--line);border-radius:18px;padding:12px;background:#fff;overflow:hidden}.ministry-progress-card>div:first-child{display:flex;align-items:center;gap:9px}.ministry-progress-card>div:first-child>span{font-size:1.25rem}.ministry-progress-card p{margin:0}.ministry-progress-card p b,.ministry-progress-card p small{display:block}.ministry-progress-card p small{color:var(--muted);font-size:.76rem;margin-top:2px}.ministry-progress-card>strong{position:absolute;right:12px;top:13px;color:var(--green)}.ministry-progress-bar{height:5px;background:#edf1ee;border-radius:99px;margin-top:11px;overflow:hidden}.ministry-progress-bar i{display:block;height:100%;background:#c49a3a;border-radius:inherit}.ministry-progress-card.complete .ministry-progress-bar i{background:#24845a}.ministry-progress-card.needs-work .ministry-progress-bar i{background:#c9783a}
/* V5.1 · Un ministerio y una herramienta por pantalla */
.ministry-section-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}
.ministry-section-card{position:relative;text-align:left;background:linear-gradient(145deg,#fff,#f5f8f6);border:1px solid #dce7df;border-radius:18px;padding:22px 32px 22px 18px;min-height:118px;color:#173f31;cursor:pointer;box-shadow:0 4px 15px #173f3106;transition:transform .15s,border-color .15s}
.ministry-section-card:hover{transform:translateY(-2px);border-color:#a4bcae}.ministry-section-card b{display:block;font-size:16px;margin-bottom:10px}.ministry-section-card small{display:block;color:#607268;line-height:1.5}.ministry-section-card>span{position:absolute;right:14px;top:23px;color:#879a8f}
.ministry-section-card:focus-visible,.app-refresh:focus-visible,.roster-fold summary:focus-visible{outline:3px solid #a9843b;outline-offset:3px}
.ministry-section-back{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0;flex-wrap:wrap}
.roster-fold{border:1px solid #dde7e0;border-radius:16px;background:#fff;margin:10px 0;overflow:hidden}.roster-fold summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;cursor:pointer;list-style:none}.roster-fold summary:after{content:'+';font-size:22px;color:#718378}.roster-fold[open] summary:after{content:'−'}.roster-fold summary span{flex:1;min-width:0}.roster-fold summary b,.roster-fold summary small{display:block}.roster-fold summary small{color:#738078;margin-top:5px;overflow-wrap:anywhere}.roster-fold summary em{font-size:11px;font-style:normal;color:#54725f}.roster-fold>.card{margin:0 12px 12px;box-shadow:none}.elder-shared-context{padding:16px 24px;background:#f4f7f5;color:#456051}.elder-shared-context p{margin:8px 0}.elder-shared-context small{font-size:12px}
.app-refresh{border:0;background:transparent;color:#687a70;font-size:11px;padding:10px 6px;white-space:nowrap;cursor:pointer;opacity:.72;margin-left:auto;min-height:40px}.app-refresh:hover{opacity:1}.app-refresh:disabled{cursor:wait}
@media(max-width:760px){.ministry-section-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ministry-section-card{padding:16px 24px 16px 14px;min-height:126px}.ministry-section-card b{font-size:14px}.app-refresh{font-size:10px}.app-header .brand{min-width:0}.roster-fold summary em{display:none}}
@media(max-width:360px){.app-refresh span{display:none}}
.elder-roster-months{display:flex;gap:10px;margin:14px 0}.elder-roster-months button{flex:1;padding:12px;background:#f1f6f3;border:1px solid #d8e3dc;border-radius:12px;color:#284a3a;cursor:pointer}.elder-roster-months button.active{background:#184b36;color:white;border-color:#184b36}.elder-field-label{display:none}
@media(max-width:760px){.elders-portal .pastoral-preacher-table-wrap{overflow:visible}.elders-portal .pastoral-preacher-table{display:block;min-width:0;width:100%;border:0}.elders-portal .pastoral-preacher-table thead{display:none}.elders-portal .pastoral-preacher-table tbody{display:grid;gap:14px}.elders-portal .pastoral-preacher-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:14px;border:1px solid #dce7df;border-radius:16px;background:white}.elders-portal .pastoral-preacher-table td{display:block;border:0;min-width:0;padding:8px}.elders-portal .pastoral-preacher-table td:first-child{grid-column:1/-1}.elders-portal .pastoral-preacher-table input,.elders-portal .pastoral-preacher-table select{width:100%;min-width:0}.elders-portal .elder-field-label{display:block;font-size:11px;margin-bottom:6px;color:#557565}.elders-portal .pastoral-preacher-controls{grid-template-columns:1fr 1fr}}
.elders-portal .pastoral-leader-head .btn{color:#fff!important;border-color:#ffffff55!important;background:#ffffff12!important}.elders-portal .pastoral-cloud-status .small-btn{border:1px solid #c8dcd1;border-radius:9px;padding:8px 12px;background:white;color:#21553e}
.app-header .brand>div:last-child{min-width:0}.app-header .brand strong{line-height:1.18}.app-header .desktop-nav a{color:#174332!important}
@media(min-width:1101px){.app-header .brand{flex:0 0 285px}.app-header .brand strong{font-size:17px}.app-header .brand span{font-size:10px}.app-header .desktop-nav{gap:12px}.app-header .desktop-nav a{font-size:12px}.app-refresh{margin-left:8px}}
.mobile-drawer:not(.open){visibility:hidden}
@media(min-width:1101px){.app-header .desktop-nav{gap:2px}.app-header .desktop-nav a{padding:10px 6px;white-space:nowrap}}

/* Prevent a replaced screen from anchoring to an old card. */
#app{overflow-anchor:none}
#app details>summary{scroll-margin-top:180px}
.home-giving-card{display:flex;align-items:center;gap:16px;margin:24px 0;padding:18px 22px;border:1px solid #ded8c7;border-radius:22px;background:#faf8f1;color:#105039;text-decoration:none}.home-giving-card>span:first-child{font-size:30px;color:#ad8315}.home-giving-card div{flex:1}.home-giving-card b{display:block;font-size:20px}.home-giving-card small{display:block;margin-top:5px;color:#65746b;font-size:15px}.home-giving-card:focus-visible{outline:3px solid #cba822;outline-offset:3px}

.giving-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.home-giving-card .giving-actions .btn{font-size:16px;padding:12px 14px}

/* V5.6.52: photo-only zoom, stable viewport and reachable controls. */
.hero-image-viewer{z-index:10000;overscroll-behavior:contain}
.hero-image-viewer-dialog{height:min(900px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);grid-template-rows:minmax(0,1fr) auto}
.hero-image-viewer-stage{min-height:0;overflow:hidden}
.hero-image-viewer-scroll{position:relative;height:100%;min-height:0;padding:0;overflow:hidden}
.hero-image-viewer-scroll img{width:100%;height:100%;object-fit:contain;border-radius:0;box-shadow:none}
.photo-zoom-stage{touch-action:none!important;overscroll-behavior:contain;overflow:hidden!important}
.photo-zoom-stage img{touch-action:none!important;user-select:none;-webkit-user-select:none;transform-origin:center;cursor:grab;will-change:transform}
.photo-zoom-controls{position:absolute;z-index:45;left:50%;bottom:12px;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:6px;border-radius:30px;background:rgba(5,25,18,.9);color:#fff;box-shadow:0 3px 18px #0004}
.photo-zoom-controls button{width:40px;height:40px;border:1px solid #ffffff60;border-radius:50%;background:#fff;color:#10543c;font-size:22px;cursor:pointer;touch-action:manipulation}
.photo-zoom-controls button:disabled{opacity:.45;cursor:default}
.photo-zoom-controls output{min-width:48px;text-align:center;font-size:14px}
.moment-viewer-stage.photo-zoom-stage{inset:calc(64px + env(safe-area-inset-top)) 0 calc(64px + env(safe-area-inset-bottom))!important;height:auto!important;width:100%!important}
.moment-viewer-stage.photo-zoom-stage img{max-height:100%!important}
.moment-viewer-dialog > .photo-zoom-controls{bottom:calc(10px + env(safe-area-inset-bottom))}
.moment-viewer:has(.photo-zoom-stage) .moment-viewer-copy{bottom:calc(70px + env(safe-area-inset-bottom))!important;max-height:24vh!important;}
@media(max-width:760px){.hero-image-viewer-copy{padding:12px 16px}.hero-image-viewer-copy p{margin:6px 0}.hero-image-viewer-copy small{font-size:.8rem}}

.moment-viewer{z-index:20000!important}
.hero-image-viewer{z-index:20000}

/* Stable app canvas: scroll normally, pinch only inside photo viewers. */
html,body{touch-action:pan-x pan-y;overscroll-behavior-x:none}
html{overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0;max-width:100%}
@media(pointer:coarse){
  input,textarea,select{font-size:max(16px,1rem)!important}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-image-viewer,.moment-viewer-copy,.moment-viewer-topbar{transition:none!important}
}

/* Compartir Adventia: icono discreto, área táctil accesible. */
.app-share{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:44px;padding:0;border:0;border-radius:12px;background:transparent;color:#687a70;opacity:.8;margin-left:auto}
.app-share:hover{opacity:1;background:rgba(0,63,45,.05)}
.app-share:focus-visible{outline:3px solid #a9843b;outline-offset:2px}
.app-share:disabled{opacity:.45;cursor:wait}
.app-header .app-refresh{margin-left:0}

.header-utilities{display:flex;align-items:center;flex-shrink:0;margin-left:auto;gap:0}
.header-utilities .app-share{margin-left:0}
@media(max-width:1100px){.header-utilities{flex-direction:column;width:40px}.header-utilities .app-share{flex:0 0 44px}.header-utilities .app-refresh{height:28px;min-height:28px;width:40px;padding:2px}.header-utilities .app-refresh span{display:none}}

/* V5.6.119 — Campos legibles para el rol de predicadores */
.pastoral-preacher-table textarea.preacher-role-text,
.bulletin-roster-card textarea.preacher-role-text{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;height:auto;min-height:76px;padding:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;resize:vertical;font-family:inherit;font-size:16px;border-radius:12px}
.pastoral-preacher-table textarea.preacher-role-text:disabled{background:#f7f8f7;color:#58665f;opacity:1}
.pastoral-preacher-table textarea[data-field="platform"],
.bulletin-roster-card textarea[data-field="platform"]{min-height:124px}
.pastoral-preacher-table textarea[data-field="notes"],
.bulletin-roster-card textarea[data-field="notes"]{min-height:100px}
@media(max-width:760px){
 .elders-portal .pastoral-preacher-table td:nth-child(4),
 .elders-portal .pastoral-preacher-table td:nth-child(6),
 .elders-portal .pastoral-preacher-table td:nth-child(7){grid-column:1/-1}
 .pastoral-preacher-table td:not(:first-child){display:block}
 .pastoral-preacher-table td:not(:first-child)::before{display:block;font-size:.82rem;margin-bottom:7px}
 .elders-portal .pastoral-preacher-table td::before{display:none}
 .elders-portal .elder-field-label{font-size:.82rem;font-weight:700}
 .bulletin-roster-card .form-grid>div:has(textarea[data-field="platform"]){grid-column:1/-1}
}
@media(max-width:480px){
 .elders-portal .pastoral-preacher-table tr{grid-template-columns:minmax(0,1fr)}
 .bulletin-roster-card .form-grid{grid-template-columns:minmax(0,1fr)}
}

@media(min-width:761px){
 .pastoral-preacher-table textarea.preacher-role-text{min-width:170px}
 .pastoral-preacher-table textarea[data-field="platform"]{min-width:250px}
 .pastoral-preacher-table textarea[data-field="notes"]{min-width:220px}
}
