
:root{
  --navy:#0d3763;--navy2:#124c82;--navy3:#0a2b4f;--gold:#d2a84f;--gold2:#f1d18c;
  --bg:#f4f7fb;--card:#fff;--text:#10233b;--muted:#68778a;--line:#dce4ee;
  --ok:#16824f;--warn:#b87300;--danger:#bb4050;--green:#147a43;--purple:#43328d;--teal:#0d7b83;
  --shadow:0 14px 40px rgba(14,55,99,.10);
}
*{box-sizing:border-box} html{background:var(--bg)}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:linear-gradient(180deg,#fbfdff,#f1f5f9);color:var(--text)}
button,input,select,textarea{font:inherit}button{cursor:pointer}
.shell{max-width:1180px;margin:0 auto;min-height:100vh;padding:0 16px 100px}
.hero{margin:14px 0 18px;background:linear-gradient(145deg,var(--navy3),var(--navy2));color:#fff;padding:24px 28px 26px;border-radius:0 0 28px 28px;box-shadow:0 18px 46px rgba(13,55,99,.20)}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px}
.brand{display:flex;gap:12px;align-items:center}
.logo{width:52px;height:52px;border-radius:17px;background:rgba(255,255,255,.10);display:grid;place-items:center;font-size:27px;border:1px solid rgba(255,255,255,.18)}
.brand b{font-size:15px}.brand .small{color:#cddceb}
.hero h1{font-size:30px;line-height:1.05;margin:22px 0 5px}.hero p{margin:0;color:#e4edf7}
.hero-meta{margin-top:8px;font-size:13px;color:#d3dfec}
.iconbtn{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);color:#fff;border-radius:14px;padding:10px 14px;font-weight:750}
.content{padding:0 2px}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}
.card+.card{margin-top:14px}
.section-title{display:flex;justify-content:space-between;align-items:center;margin:20px 2px 10px}
.section-title h2{font-size:19px;margin:0;color:var(--navy3)}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 8px 20px rgba(13,55,99,.05)}
.kpi strong{font-size:28px;color:var(--navy);display:block;line-height:1}.kpi span{font-size:12px;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.quick{border:1px solid var(--line);background:#fff;border-radius:17px;padding:15px;text-align:center;min-height:112px;box-shadow:0 8px 22px rgba(13,55,99,.05)}
.quick .qicon{font-size:27px;display:block}.quick b{display:block;color:var(--navy3);margin:8px 0 3px;font-size:13px}.quick span{font-size:11px;color:var(--muted)}
.item{border-top:1px solid var(--line);padding:12px 0}.item:first-child{border-top:0;padding-top:0}
.item b{color:#15283f}.small{font-size:12px;color:var(--muted)}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;background:#eef3f7;color:var(--navy)}
.badge.ok{background:#e8f6ef;color:var(--ok)}.badge.warn{background:#fff4df;color:var(--warn)}.badge.danger{background:#fdecef;color:var(--danger)}
.primary,.secondary{width:100%;border-radius:14px;padding:13px 15px;font-weight:850}
.primary{border:0;background:linear-gradient(135deg,var(--navy),#0d4c86);color:#fff}
.secondary{border:1px solid var(--navy);background:#fff;color:var(--navy)}
.linkbtn{border:0;background:transparent;color:#0a5ba5;font-weight:800;padding:6px 0}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:13px}.field label{font-size:12px;font-weight:750;color:#617286}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:13px;padding:12px 13px;background:#fff;color:var(--text);outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#86a7c8;box-shadow:0 0 0 4px rgba(13,55,99,.07)}
.row{display:flex;gap:10px}.row>*{flex:1}
.feature-card{background:linear-gradient(145deg,#fffdfa,#fff);border-color:#eadcb9}
.pastoral{position:relative;overflow:hidden;border:1px solid #e4d4ac;background:linear-gradient(145deg,#fffdf7,#fff)}
.pastoral:before{content:"✦";position:absolute;right:18px;top:12px;font-size:44px;color:#edd9a6;opacity:.55}
.pastoral-kicker{font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#9d741c}
.pastoral h3{font-family:Georgia,"Times New Roman",serif;font-size:22px;margin:8px 0 8px;color:#18334f}
.pastoral blockquote{font-family:Georgia,"Times New Roman",serif;font-size:17px;line-height:1.5;margin:8px 0 7px;color:#31465d}
.share-row{display:flex;gap:9px;margin-top:12px;flex-wrap:wrap}.share-row button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 12px;color:var(--navy);font-weight:750}
.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.module{border:1px solid var(--line);border-radius:17px;padding:16px;background:#fff}.module b{display:block;color:var(--navy3);margin:7px 0 3px}
.bottom{position:fixed;bottom:10px;left:50%;transform:translateX(-50%);width:min(720px,calc(100% - 24px));background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:20px;display:grid;grid-template-columns:repeat(5,1fr);padding:7px;box-shadow:0 18px 50px rgba(13,55,99,.16);z-index:20}
.nav{border:0;background:transparent;color:#778494;font-size:10px;padding:7px;border-radius:13px}.nav strong{display:block;font-size:19px}.nav.active{background:#edf3f9;color:var(--navy);font-weight:850}
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:22px;background:linear-gradient(145deg,#0b2c51,#0d4c86)}
.auth-shell{width:min(980px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:30px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.28)}
.auth-brand{padding:34px;min-height:650px;background:
linear-gradient(180deg,rgba(8,38,70,.35),rgba(8,38,70,.88)),
radial-gradient(circle at 70% 20%,rgba(237,202,126,.22),transparent 30%),
linear-gradient(145deg,#173f68,#0a2849);color:white;display:flex;flex-direction:column;justify-content:space-between}
.auth-brand h1{font-family:Georgia,"Times New Roman",serif;font-size:43px;line-height:1.02;margin:15px 0}.auth-brand p{color:#d7e4f1}
.brand-quote{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:20px;line-height:1.5;color:#f5f0e6}
.auth-card{padding:38px;display:flex;flex-direction:column;justify-content:center}
.auth-card h2{font-size:30px;margin:0 0 5px;color:var(--navy3)}.auth-card>p{color:var(--muted);margin-top:0}
.brandmark{width:68px;height:68px;border-radius:20px;background:linear-gradient(145deg,var(--navy3),var(--navy2));color:#fff;display:grid;place-items:center;font-size:30px;margin-bottom:20px}
.notice{background:#fff9ea;border:1px solid #ecd79e;color:#70531a;padding:11px 12px;border-radius:13px;font-size:13px;margin-bottom:14px}
.error{background:#fdecef;border:1px solid #f2c2ca;color:#912838;padding:11px 12px;border-radius:13px;font-size:13px;margin-bottom:14px}
.success{background:#eaf7ef;border:1px solid #c7e7d3;color:#215f3d;padding:11px 12px;border-radius:13px;font-size:13px;margin-bottom:14px}
.auth-foot{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);text-align:center;color:#7a8796;font-size:12px}
.empty{padding:22px;text-align:center;color:var(--muted)}
@media(max-width:900px){
 .dashboard-grid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:repeat(2,1fr)}.auth-shell{grid-template-columns:1fr}.auth-brand{min-height:300px}.auth-brand h1{font-size:34px}
}
@media(max-width:640px){
 .shell{padding:0 0 95px}.hero{margin:0 0 16px;border-radius:0 0 26px 26px;padding:20px}.content{padding:0 12px}.hero h1{font-size:25px}.kpis{grid-template-columns:1fr 1fr}.module-grid{grid-template-columns:1fr 1fr}.auth-wrap{padding:0}.auth-shell{border-radius:0;min-height:100vh}.auth-brand{min-height:240px;padding:24px}.auth-card{padding:25px}.auth-brand h1{font-size:31px}.bottom{bottom:7px}
}


/* V4.1: contraseña visible y centro de notificaciones */
.password-wrap{position:relative}
.password-wrap input{padding-right:48px}
.eye-btn{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  border:0;background:transparent;font-size:18px;padding:7px;line-height:1;
  border-radius:10px;color:var(--navy3)
}
.eye-btn:hover{background:#eef3f8}

.header-actions{display:flex;gap:9px;align-items:center}
.bell-btn{
  position:relative;border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.10);color:#fff;border-radius:14px;
  padding:10px 12px;font-size:17px
}
.bell-btn span{
  position:absolute;right:-6px;top:-7px;min-width:20px;height:20px;padding:0 5px;
  border-radius:999px;background:#e85036;color:#fff;border:2px solid var(--navy2);
  font-size:10px;font-weight:900;display:grid;place-items:center
}

.notif-panel{
  position:absolute;z-index:35;
  right:max(18px,calc((100vw - 1180px)/2 + 18px));
  top:92px;width:min(360px,calc(100vw - 30px));
  background:#fff;border:1px solid var(--line);border-radius:18px;
  box-shadow:0 24px 60px rgba(13,55,99,.22);padding:12px;display:none
}
.notif-panel.open{display:block}
.notif-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:7px 8px 11px;border-bottom:1px solid var(--line)
}
.notif-item{
  width:100%;border:0;background:#fff;border-radius:13px;display:flex;
  gap:12px;text-align:left;padding:12px;margin-top:5px;color:var(--text)
}
.notif-item:hover{background:#f3f7fb}
.notif-item>span{font-size:22px}
.notif-item b{display:block;font-size:13px}
.notif-item small{display:block;color:var(--muted);margin-top:3px}

.task-highlight{
  background:#f8fbff;border:1px solid #dbe8f5;border-radius:14px;
  padding:12px !important
}

@media(max-width:640px){
  .notif-panel{position:fixed;right:12px;top:76px}
}

/* V4.1b: panel de notificaciones flotante refinado */
.notif-panel{top:82px;padding:10px;overflow:hidden}
.notif-head{padding:8px 9px 12px}
.notif-head>div{display:flex;flex-direction:column;gap:2px}
.notif-head small{font-size:11px;color:var(--muted)}
.notif-close{border:0;background:#f1f5f9;color:var(--navy3);width:30px;height:30px;border-radius:10px;font-size:20px;line-height:1}
.notif-item{align-items:center;border-bottom:0}
.notif-icon{width:38px;height:38px;display:grid;place-items:center;background:#f2f6fa;border-radius:12px;flex:0 0 auto}
.notif-item>div{flex:1}
.notif-arrow{font-size:25px;color:#8796a8}

/* V4.2: Intenciones por celebración */
.mass-row{display:flex;justify-content:space-between;gap:16px;align-items:center}
.mass-intentions-btn{
  border:1px solid var(--line);background:#fff;color:var(--navy);
  border-radius:12px;padding:10px 12px;font-weight:800;white-space:nowrap
}
.mass-intentions-btn:hover{background:#f3f7fb}

.mass-reading-sheet{
  background:#fff;border:1px solid var(--line);border-radius:22px;
  box-shadow:var(--shadow);padding:24px;max-width:920px;margin:0 auto
}
.mass-reading-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:20px}
.mass-reading-actions{display:flex;gap:8px}
.compact-btn{width:auto;padding:10px 13px}
.mass-reading-header{display:flex;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:18px}
.reading-cross{
  width:54px;height:54px;border-radius:17px;background:linear-gradient(145deg,var(--navy3),var(--navy2));
  color:#fff;display:grid;place-items:center;font-size:27px;flex:0 0 auto
}
.reading-kicker{font-size:12px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.mass-reading-header h2{font-family:Georgia,"Times New Roman",serif;color:var(--navy3);font-size:28px;margin:5px 0}
.mass-reading-header h3{margin:0 0 5px;font-size:18px}
.reading-summary{margin:16px 0}
.reading-groups{display:grid;gap:16px}
.reading-group{border:1px solid var(--line);border-radius:16px;padding:16px}
.reading-group h3{margin:0 0 10px;color:var(--navy);font-size:18px}
.reading-group ul{list-style:none;padding:0;margin:0}
.reading-group li{padding:10px 0;border-top:1px solid var(--line);font-size:17px;line-height:1.4}
.reading-group li:first-child{border-top:0;padding-top:0}
.reading-group li strong{display:block}
.reading-group li span{display:block;color:var(--muted);font-size:13px;margin-top:3px}
.reading-footer{margin-top:22px;padding-top:14px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);text-align:center}

@media(max-width:640px){
  .mass-row{align-items:flex-start;flex-direction:column}
  .mass-intentions-btn{width:100%}
  .mass-reading-sheet{border-radius:0;border-left:0;border-right:0;padding:18px}
  .mass-reading-header{flex-direction:column}
  .mass-reading-header h2{font-size:24px}
  .reading-group li{font-size:18px}
}

@media print{
  body{background:#fff}
  .hero,.bottom,.no-print,.notif-panel{display:none !important}
  .shell{max-width:none;padding:0}
  .content{padding:0}
  .mass-reading-sheet{box-shadow:none;border:0;padding:0;max-width:none}
  .mass-reading-header{padding-bottom:14px}
  .reading-group{break-inside:avoid;border:0;border-radius:0;padding:8px 0}
  .reading-group h3{font-size:16pt;border-bottom:1px solid #999;padding-bottom:4px}
  .reading-group li{font-size:13pt}
  .reading-footer{font-size:9pt}
}

/* V4.3: modo lectura y archivo */
.reading-mode{gap:22px}
.reading-proclamation{
  border:0;background:linear-gradient(180deg,#fffdf8,#fff);
  padding:22px 24px
}
.reading-proclamation h3{
  font-size:20px;margin-bottom:14px;color:var(--navy3)
}
.reading-proclamation p{
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;line-height:1.65;margin:0;
  padding:16px 0;border-top:1px solid var(--line);color:#20364f
}
.reading-proclamation p:first-of-type{border-top:0;padding-top:0}

@media(max-width:640px){
  .mass-reading-top{flex-direction:column}
  .mass-reading-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .mass-reading-actions .compact-btn{width:100%}
  .reading-proclamation p{font-size:21px}
}

@media print{
  .reading-mode .reading-proclamation p{font-size:15pt;line-height:1.55}
}

/* V4.4: Avisos y novedades */
.notices-list{padding-top:8px}
.notice-item{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start}
.notice-icon{
  width:38px;height:38px;border-radius:12px;background:#fff4df;
  display:grid;place-items:center;font-size:20px
}
.notice-body{margin:4px 0 5px;line-height:1.45;color:#31465d}

/* V4.6: Actividades e inscripciones */
.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.activity-card{display:flex;flex-direction:column;gap:10px}
.activity-card h3{margin:0;color:var(--navy3);font-size:20px}
.activity-card p{margin:0;color:#31465d;line-height:1.5}
.activity-date{font-weight:800;color:var(--navy)}
.activity-place{font-size:13px;color:var(--muted)}
.activity-meta{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 2px}
.activity-meta span{background:#f2f6fa;color:var(--navy);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:750}
.activity-options{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;margin-bottom:12px}
.activity-options>label{font-size:13px;color:#44576d;padding-top:29px}
.capacity-field{min-width:220px;margin-bottom:0}
.activity-card button:disabled{opacity:.55;cursor:not-allowed}
.activity-list-btn{margin-top:2px}
.registrants-panel{display:none;margin-top:4px;border-top:1px solid var(--line);padding-top:8px}
.registrants-panel.open{display:block}
.registrant{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--line)}
.registrant:first-child{border-top:0}
.registrant span{font-size:12px;color:var(--muted);text-align:right}

@media(max-width:760px){
  .activity-grid{grid-template-columns:1fr}
  .activity-options{display:block}
  .activity-options>label{display:block;padding-top:0;margin-bottom:12px}
  .capacity-field{min-width:0}
  .registrant{flex-direction:column;gap:2px}
  .registrant span{text-align:left}
}

/* V4.6b: accesos de gestión clickeables */
.module-btn{
  width:100%;
  text-align:left;
  font:inherit;
  color:inherit;
  cursor:pointer;
}
.module-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(13,55,99,.08);
  border-color:#bfd0e0;
}

/* V4.9: ficha de usuarios, roles y permisos */
.user-row{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  text-align:left;background:transparent;border:0;color:inherit;cursor:pointer
}
.user-row:hover{background:#f7f9fc}
.user-arrow{font-size:24px;color:#8ba0b7}
.user-detail{display:grid;gap:14px}
.user-detail-top{display:flex;justify-content:flex-start}
.user-detail-head{display:flex;gap:14px;align-items:center}
.user-detail-head h2{margin:0 0 3px}
.user-avatar{
  width:54px;height:54px;border-radius:16px;background:#eef4fa;
  display:grid;place-items:center;font-size:26px
}
.user-info-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
  margin-top:18px
}
.user-info-grid>div{
  background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:12px
}
.user-info-grid span{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}
.user-info-grid b{font-size:14px}
.permissions-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 16px
}
.perm-check{
  display:flex;align-items:center;gap:8px;padding:11px 12px;border:1px solid var(--line);
  border-radius:13px;background:#fbfcfe;font-size:13px;font-weight:700
}
.perm-check input{width:17px;height:17px}
@media(max-width:640px){
  .user-info-grid,.permissions-grid{grid-template-columns:1fr}
}

/* V4.16: economía multiusuario */
.economy-home-card{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  text-align:left;cursor:pointer
}
.economy-home-card b{font-size:24px;color:var(--navy3)}
.econ-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.econ-kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}
.econ-kpi span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}
.econ-kpi b{font-size:22px;color:var(--navy3)}
.econ-list{padding-top:4px}
.econ-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;
  padding:14px 0;border-top:1px solid var(--line)
}
.econ-row:first-child{border-top:0}
.econ-row.voided{opacity:.62}
.econ-main{min-width:0}
.econ-amount{font-size:17px;font-weight:800;white-space:nowrap}
.econ-amount.ingreso{color:#147a4f}
.econ-amount.egreso{color:#9a5b00}
.danger-text{color:#a33}
@media(max-width:760px){
  .econ-kpis{grid-template-columns:1fr}
  .econ-row{grid-template-columns:1fr}
  .econ-amount{font-size:19px}
  .economy-home-card{align-items:flex-start;gap:12px}
}

/* V4.18: rendición mensual económica */
.period-card{display:grid;gap:14px}
.period-status-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.period-status-row>div:first-child{display:flex;align-items:center;gap:9px}
.period-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.period-summary-grid>div{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:12px}
.period-summary-grid span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.period-summary-grid b{font-size:16px;color:var(--navy3)}
.period-note{padding:10px 12px;border-radius:12px;background:#f7f9fc;border:1px solid var(--line)}
.period-note-field{margin-top:4px}
.danger-soft{background:#8b3a3a}
@media(max-width:760px){
  .period-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* V4.19: rendición económica imprimible */
.period-actions{display:flex;justify-content:flex-end;margin-top:10px}
.econ-report-sheet{
  max-width:1050px;margin:0 auto;background:#fff;border:1px solid var(--line);
  border-radius:18px;padding:26px;box-shadow:0 16px 45px rgba(14,42,69,.08)
}
.econ-report-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}
.econ-report-head{display:flex;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px}
.econ-report-head h1{margin:2px 0 4px;color:var(--navy3)}
.econ-report-period{font-size:18px;font-weight:800;text-transform:capitalize}
.econ-report-state{
  display:inline-block;margin:16px 0;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.04em
}
.econ-report-state.final{background:#e7f7ef;color:#147a4f}
.econ-report-state.draft{background:#fff2d9;color:#9a5b00}
.report-summary{margin-bottom:22px}
.econ-report-table{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.econ-report-tr{display:grid;grid-template-columns:110px minmax(220px,1.7fr) 1fr 1fr 145px;gap:10px;align-items:center;padding:11px 12px;border-top:1px solid var(--line);font-size:12px}
.econ-report-tr:first-child{border-top:0}
.econ-report-th{background:#f6f8fb;font-weight:800;color:var(--navy3)}
.econ-report-tr small{display:block;color:var(--muted);margin-top:2px}
.econ-report-tr .ingreso{color:#147a4f;font-weight:800}
.econ-report-tr .egreso{color:#9a5b00;font-weight:800}
.econ-report-notes,.econ-report-meta{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.econ-report-notes p{white-space:pre-wrap}
.econ-report-meta{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px}
.econ-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:65px;text-align:center}
.econ-signatures span{display:block;border-top:1px solid #333;margin-bottom:7px}
.econ-signatures b{font-size:12px}
.econ-report-foot{text-align:center;margin-top:35px;padding-top:12px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}
@media(max-width:820px){
  .econ-report-tr{grid-template-columns:1fr;gap:3px}
  .econ-report-th{display:none}
  .econ-signatures{grid-template-columns:1fr;gap:46px}
  .econ-report-actions{align-items:stretch;flex-direction:column}
}
@media print{
  body{background:#fff!important}
  .no-print,.bottom-nav,.floating-settings,.app-header{display:none!important}
  main,.page,.content{max-width:none!important;margin:0!important;padding:0!important}
  .econ-report-sheet{box-shadow:none!important;border:0!important;border-radius:0!important;max-width:none!important;padding:0!important}
  .econ-report-table{break-inside:auto}
  .econ-report-tr{break-inside:avoid}
  .econ-report-state.draft{border:1px solid #9a5b00}
  @page{size:A4;margin:14mm}
}

/* V4.20: auditoría */
.audit-filters{margin-bottom:14px}
.audit-list{padding-top:2px}
.audit-row{
  display:grid;grid-template-columns:14px minmax(0,1fr);gap:12px;
  padding:14px 0;border-top:1px solid var(--line)
}
.audit-row:first-child{border-top:0}
.audit-dot{
  width:10px;height:10px;border-radius:50%;background:var(--navy3);
  margin-top:5px;box-shadow:0 0 0 4px #eef4fa
}
.audit-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.audit-detail{margin:4px 0;font-size:13px}
.audit-body{min-width:0}

/* V4.21: detalle de cambios en auditoría */
.audit-change{margin:3px 0;font-size:13px;line-height:1.45}
.audit-old{color:#8a4a4a;text-decoration:line-through;text-decoration-thickness:1px}
.audit-arrow{display:inline-block;margin:0 5px;color:var(--muted)}
.audit-new{color:#176b4f;font-weight:700}
.audit-subject{font-weight:700;margin-bottom:4px;color:var(--navy3)}

/* V4.22: detalle completo de auditoría */
.audit-row-btn{width:100%;background:transparent;border:0;text-align:left;color:inherit;cursor:pointer}
.audit-row-btn:hover{background:#f8fafc}
.audit-detail-page{display:grid;gap:14px}
.audit-detail-head{display:flex;gap:14px;align-items:center}
.audit-detail-head h2{margin:0}
.audit-big-icon{width:54px;height:54px;border-radius:16px;background:#eef4fa;display:grid;place-items:center;font-size:26px}
.audit-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.audit-meta-grid>div,.audit-data-grid>div{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:12px}
.audit-meta-grid span,.audit-data-grid span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px;text-transform:capitalize}
.audit-detail-summary{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.audit-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.audit-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
@media(max-width:760px){
  .audit-meta-grid,.audit-compare-grid,.audit-data-grid{grid-template-columns:1fr}
}

/* V4.23: auditoría administrativa limpia */
.audit-field-changed{border-color:#b9dccf!important;background:#f2fbf7!important;box-shadow:inset 3px 0 0 #21845f}
.audit-field-changed small{display:inline-block;margin-top:6px;padding:2px 7px;border-radius:999px;background:#dff4e9;color:#176b4f;font-size:10px;font-weight:700}

/* V4.28: logo parroquial real */
.logo,.brandmark,.reading-cross.reading-logo{
  overflow:hidden;
  background:#fff;
}
.logo img,.brandmark img,.reading-cross.reading-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.logo{padding:4px}
.brandmark{padding:5px}
.reading-cross.reading-logo{padding:4px}

/* V4.29: login con imagen parroquial + recuperación de acceso */
.auth-wrap{
  background:linear-gradient(145deg,#0b2c51,#0d4c86);
}
.auth-shell{
  width:min(1040px,100%);
  grid-template-columns:1.08fr .92fr;
  border-radius:32px;
}
.auth-brand{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:650px;
  padding:34px;
  background-image:
    linear-gradient(180deg,rgba(5,27,52,.22) 0%,rgba(5,31,58,.46) 48%,rgba(5,28,53,.92) 100%),
    linear-gradient(90deg,rgba(6,37,69,.28),rgba(6,37,69,.05)),
    url("data:image/jpeg;base64,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");
  background-size:cover;
  background-position:center 42%;
}
.auth-brand::after{
  content:"";
  position:absolute;inset:0;z-index:-1;
  background:radial-gradient(circle at 70% 18%,rgba(245,196,93,.20),transparent 28%);
  pointer-events:none;
}
.auth-brand-content,.brand-quote{position:relative;z-index:2}
.auth-church-label{font-size:18px;text-shadow:0 2px 12px rgba(0,0,0,.38)}
.auth-brand h1{
  max-width:520px;
  font-size:46px;
  text-shadow:0 3px 18px rgba(0,0,0,.35);
  margin-bottom:10px;
}
.auth-brand p{font-size:17px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.brandmark{
  width:86px;height:86px;
  border-radius:50%;
  padding:7px;
  background:rgba(255,255,255,.96);
  border:2px solid rgba(222,173,72,.9);
  box-shadow:0 10px 28px rgba(0,0,0,.28);
  margin-bottom:18px;
}
.brandmark img{object-fit:contain}
.auth-gold-line{display:flex;align-items:center;gap:10px;width:210px;margin:10px 0 12px;color:#efb94f}
.auth-gold-line span{height:2px;flex:1;background:#efb94f;border-radius:999px}
.auth-gold-line b{font-size:18px}
.brand-quote{
  max-width:430px;
  font-size:21px;
  text-shadow:0 2px 16px rgba(0,0,0,.5);
}
.auth-card{
  padding:42px 38px;
}
.auth-card h2{font-size:34px}
.auth-link{
  display:block;width:100%;
  border:0;background:transparent;
  color:#0b67b2;font-weight:750;
  padding:15px 8px 5px;
  text-align:center;
}
.auth-link:hover{text-decoration:underline}
.recovery-note{
  background:#fff8e7;
  border:1px solid #efd49a;
  color:#6a5425;
  border-radius:14px;
  padding:13px 14px;
  margin-bottom:16px;
  font-size:13px;
  line-height:1.45;
}
.logo{
  padding:4px;
  background:#fff;
  border-radius:15px;
}
.logo img{object-fit:contain}
@media(max-width:900px){
  .auth-shell{grid-template-columns:1fr;max-width:720px}
  .auth-brand{
    min-height:390px;
    background-position:center 46%;
    padding:28px;
  }
  .auth-brand h1{font-size:38px;max-width:430px}
  .brand-quote{font-size:19px}
}
@media(max-width:640px){
  .auth-wrap{
    display:block;
    min-height:100vh;
    padding:0;
    background:#eef3f8;
  }
  .auth-shell{
    display:block;
    min-height:100vh;
    border-radius:0;
    overflow:visible;
    box-shadow:none;
    background:#eef3f8;
  }
  .auth-brand{
    min-height:440px;
    padding:26px 24px 85px;
    border-radius:0;
    background-position:center 44%;
  }
  .brandmark{width:78px;height:78px}
  .auth-brand h1{font-size:38px;max-width:330px;margin-top:10px}
  .auth-brand p{font-size:16px}
  .brand-quote{font-size:19px;max-width:300px}
  .auth-card{
    position:relative;
    width:calc(100% - 28px);
    margin:-62px auto 18px;
    padding:28px 22px 26px;
    border-radius:30px;
    background:#fff;
    box-shadow:0 20px 55px rgba(7,39,73,.18);
  }
  .auth-card h2{font-size:32px}
}

/* V4.39 — login limpio, aislado y responsive */
.login39-page{
  min-height:100svh;
  width:100%;
  display:grid;
  place-items:center;
  overflow:auto;
  background:#0d416f;
  padding:0;
}
.login39-frame{
  --cw:min(100vw,66.6667svh,720px);
  position:relative;
  width:var(--cw);
  aspect-ratio:2/3;
  overflow:hidden;
  border-radius:clamp(0px,3.1cqw,32px);
  background:#0d416f;
  box-shadow:0 22px 60px rgba(0,0,0,.28);
  isolation:isolate;
  container-type:inline-size;
}
.login39-photo{
  position:absolute;
  inset:0;
  background-image:var(--parish-photo);
  background-size:cover;
  background-position:center 46%;
  transform:scale(1.01);
  filter:saturate(.94) sepia(.07) brightness(1.02) contrast(1.02);
  z-index:-3;
}
.login39-frame::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(5,18,31,.02) 0%,rgba(5,18,31,.02) 43%,rgba(5,18,31,.08) 58%,rgba(4,14,24,.26) 100%);
}
.login39-frame::after{
  content:"";
  position:absolute;
  inset:-8%;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.10) 67%,rgba(0,0,0,.62) 100%),
    radial-gradient(circle at 3% 4%,rgba(153,106,29,.45) 0 8%,transparent 18%),
    radial-gradient(circle at 97% 4%,rgba(130,90,25,.38) 0 8%,transparent 18%),
    radial-gradient(circle at 4% 92%,rgba(154,104,27,.48) 0 9%,transparent 20%),
    radial-gradient(circle at 96% 91%,rgba(129,88,24,.38) 0 9%,transparent 21%);
  filter:blur(22px);
}
.login39-brand{
  position:absolute;
  left:9.4%;
  top:10.4%;
  width:45%;
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.login39-logo{
  width:42%;
  aspect-ratio:1;
  border-radius:50%;
  overflow:hidden;
  background:#fff;
  margin-bottom:5.8%;
  box-shadow:0 8px 24px rgba(0,0,0,.20);
}
.login39-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.login39-kicker{
  font:400 4.0cqw/1.05 Arial,sans-serif;
  margin-bottom:1.5%;
}
.login39-name{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:7.0cqw;
  line-height:.96;
  font-weight:700;
  letter-spacing:-.02em;
}
.login39-rule{
  width:76%;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:4%;
  margin:5.8% 0 4.4%;
  color:#f1b53d;
  font-size:5.1cqw;
}
.login39-rule span{height:2px;background:#f1b53d}
.login39-subtitle{
  font:400 4.0cqw/1.05 Arial,sans-serif;
}
.login39-motto{
  margin-top:10%;
  width:100%;
  color:#fff;
  font:italic 4.3cqw/1.18 Georgia,"Times New Roman",serif;
}
.login39-card{
  position:absolute;
  left:13%;
  width:74%;
  top:50.4%;
  bottom:4.8%;
  box-sizing:border-box;
  padding:4.0% 5.1% 3.4%;
  display:flex;
  flex-direction:column;
  color:#fff;
  background:rgba(102,90,76,.41);
  border:1.4px solid rgba(255,255,255,.92);
  border-radius:5.2cqw;
  box-shadow:0 14px 40px rgba(0,0,0,.27);
  backdrop-filter:blur(18px) saturate(.92);
  -webkit-backdrop-filter:blur(18px) saturate(.92);
}
.login39-card h2{
  margin:0;
  text-align:center;
  color:#f2bd4c;
  font-family:Georgia,"Times New Roman",serif;
  font-size:6.55cqw;
  line-height:1;
  font-weight:700;
  text-shadow:0 2px 10px rgba(0,0,0,.25);
}
.login39-card>.login39-help{
  margin:1.5% 0 4%;
  text-align:center;
  color:#fff;
  font:400 3.25cqw/1 Arial,sans-serif;
}
.login39-form{
  display:flex;
  flex-direction:column;
  gap:1.75cqw;
}
.login39-field{
  position:relative;
  height:7.45cqw;
}
.login39-field input{
  width:100%;
  height:100%;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.98);
  border-radius:2.05cqw;
  outline:none;
  background:rgba(255,255,255,.97);
  color:#3a4a5b;
  padding:0 7.5cqw 0 8.6cqw;
  font:400 3.05cqw/1 Arial,sans-serif;
}
.login39-field input::placeholder{color:#858585;opacity:1}
.login39-icon{
  position:absolute;
  z-index:2;
  left:2.75cqw;
  top:50%;
  transform:translateY(-50%);
  color:#0a3c70;
  font-size:3.75cqw;
  font-weight:700;
  line-height:1;
}
.login39-eye{
  position:absolute;
  z-index:2;
  right:2.45cqw;
  top:50%;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  color:#0a3c70;
  padding:0;
  font-size:3.5cqw;
  line-height:1;
  cursor:pointer;
}
.login39-primary,.login39-secondary{
  width:100%;
  height:7.45cqw;
  border-radius:2.0cqw;
  font:800 3.35cqw/1 Arial,sans-serif;
  cursor:pointer;
}
.login39-primary{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2.2cqw;
  color:#fff;
  background:linear-gradient(90deg,#0a3b73,#0c568f);
  border:1px solid rgba(255,255,255,.96);
}
.login39-primary b{font-size:4.5cqw;line-height:1}
.login39-secondary{
  color:#fff;
  background:rgba(70,70,70,.34);
  border:1px solid rgba(255,255,255,.96);
}
.login39-link,.login39-masses{
  width:100%;
  border:0;
  background:transparent;
  text-align:center;
  font-weight:700;
  cursor:pointer;
}
.login39-link{
  color:#61c6ff;
  font-size:2.8cqw;
  padding:.9cqw 0 .25cqw;
}
.login39-masses{
  color:#fff;
  font-size:2.8cqw;
  padding:.65cqw 0 .25cqw;
}
.login39-foot{
  margin-top:auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  column-gap:2.0cqw;
  row-gap:.75cqw;
  color:#fff;
  font:400 2.2cqw/1 Arial,sans-serif;
}
.login39-foot span{height:1.5px;background:#efb943}
.login39-foot em{font-style:normal;white-space:nowrap}
.login39-foot b{
  grid-column:2;
  color:#efb943;
  font-size:3.9cqw;
  line-height:1;
}
.login39-message{
  position:absolute;
  left:12%;
  right:12%;
  top:47.4%;
  z-index:10;
  padding:.45rem .65rem;
  border-radius:10px;
  text-align:center;
  font-size:2.4cqw;
}
.login39-message.error{background:rgba(255,235,235,.95);color:#7a1515}
.login39-message.success{background:rgba(232,255,243,.95);color:#0b5d3a}
@media (max-aspect-ratio:2/3){
  .login39-frame{border-radius:0}
}

/* V4.42 — personalización visual por parroquia */
.branding-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0 18px}
.branding-box{border:1px solid #d7e1eb;border-radius:18px;padding:14px;background:#f9fbfd}
.branding-box>label{display:block;font-weight:700;margin-bottom:10px}
.branding-preview{height:180px;border:1px dashed #c6d2df;border-radius:14px;background:#fff;display:grid;place-items:center;overflow:hidden;margin-bottom:10px}
.branding-preview img{width:100%;height:100%;object-fit:contain;display:block}
.branding-preview.cover-preview img{object-fit:cover}
.branding-box input[type=file]{width:100%;margin:4px 0 8px}
.branding-box .secondary{width:100%;margin-top:10px}
@media(max-width:760px){.branding-grid{grid-template-columns:1fr}.branding-preview{height:160px}}


/* V4.71 — pantalla pública de celebraciones */
.public-masses-wrap{
  min-height:100svh;
  padding:28px 18px 48px;
  background:
    radial-gradient(circle at 85% 10%,rgba(240,184,67,.18),transparent 28%),
    radial-gradient(circle at 8% 90%,rgba(30,103,161,.24),transparent 32%),
    linear-gradient(145deg,#082b50,#0d4f86 58%,#123c63);
  color:#fff;
}
.public-masses-card{
  width:min(820px,100%);
  margin:0 auto;
  padding:24px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:28px;
  background:rgba(255,255,255,.96);
  color:var(--text);
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}
.public-back{
  width:auto;
  min-width:120px;
  padding:11px 18px;
  margin:0 0 22px;
  border-radius:13px;
}
.public-masses-brand{
  display:flex;
  align-items:center;
  gap:16px;
  padding:15px 17px;
  margin-bottom:22px;
  border-radius:20px;
  background:linear-gradient(135deg,#0b3158,#0e578f);
  color:#fff;
}
.public-masses-brand img{
  width:72px !important;
  height:72px !important;
  max-width:72px !important;
  max-height:72px !important;
  object-fit:cover;
  flex:0 0 72px;
  border-radius:50%;
  background:#fff;
  border:3px solid #fff;
}
.public-masses-brand .small{color:#d9e8f5;font-size:14px}
.public-masses-brand h2{
  margin:3px 0 0;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;
}
.public-masses-card>h1{
  margin:0 0 7px;
  color:var(--navy3);
  font-family:Georgia,"Times New Roman",serif;
  font-size:34px;
}
.public-masses-card>p.small{font-size:14px;margin-bottom:20px}
.public-mass-list{display:grid;gap:13px}
.public-mass-item{
  padding:17px 18px;
  border:1px solid #d8e3ee;
  border-left:5px solid var(--gold);
  border-radius:17px;
  background:linear-gradient(135deg,#fff,#f5f8fb);
  box-shadow:0 8px 20px rgba(13,55,99,.07);
}
.public-mass-date{
  margin-bottom:5px;
  color:#0d5a98;
  font-size:15px;
  font-weight:850;
}
.public-mass-item>b{
  display:block;
  margin-bottom:5px;
  color:var(--navy3);
  font-family:Georgia,"Times New Roman",serif;
  font-size:21px;
}
.public-mass-item .small{font-size:14px;line-height:1.35}
@media(max-width:640px){
  .public-masses-wrap{padding:0;min-height:100svh;background:linear-gradient(160deg,#082b50,#0d568e)}
  .public-masses-card{min-height:100svh;border-radius:0;padding:18px 15px 32px;border:0}
  .public-back{min-height:48px;font-size:16px;margin-bottom:16px}
  .public-masses-brand{padding:13px 14px;gap:13px;margin-bottom:20px}
  .public-masses-brand img{width:60px !important;height:60px !important;max-width:60px !important;max-height:60px !important;flex-basis:60px}
  .public-masses-brand h2{font-size:23px}
  .public-masses-card>h1{font-size:29px}
  .public-mass-item{padding:16px}
  .public-mass-date{font-size:16px}
  .public-mass-item>b{font-size:21px}
  .public-mass-item .small{font-size:15px}
}


/* V4.72 — Horarios públicos: interfaz compacta tipo app */
.massapp{min-height:100svh;background:#f3f6f9;color:#092d52;font-family:Inter,Arial,sans-serif}
.massapp-head{height:78px;background:#073b70;color:#fff;display:flex;align-items:center;gap:13px;padding:12px max(18px,calc((100% - 760px)/2));box-shadow:0 3px 14px rgba(0,0,0,.14)}
.massapp-back{width:44px;height:44px;border:0;border-radius:12px;background:rgba(255,255,255,.12);color:#fff;font-size:25px;cursor:pointer}
.massapp-logo{width:48px!important;height:48px!important;max-width:48px!important;max-height:48px!important;object-fit:cover;border-radius:50%;background:#fff;border:2px solid #fff}
.massapp-brand{display:flex;flex-direction:column;line-height:1.15}.massapp-brand span{font-size:12px;opacity:.86}.massapp-brand b{font-family:Georgia,serif;font-size:20px}
.massapp-main{width:min(720px,calc(100% - 28px));margin:0 auto;padding:26px 0 40px}
.massapp-title span{color:#b8790b;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.massapp-title h1{font-family:Georgia,serif;font-size:30px;margin:5px 0 5px}.massapp-title p{margin:0 0 22px;color:#647586;font-size:14px}
.massapp-list{display:grid;gap:13px}.massapp-item{position:relative;background:#fff;border:1px solid #dde5ed;border-radius:16px;padding:17px 18px;box-shadow:0 5px 16px rgba(8,45,82,.07)}.massapp-item.next{border-top:4px solid #d99b21;padding-top:15px}
.massapp-badge{display:inline-block;margin-bottom:9px;padding:5px 9px;border-radius:999px;background:#fff3d9;color:#9a6200;font-size:10px;font-weight:900;letter-spacing:.04em}.massapp-date{font-size:14px;color:#0d5d9e;font-weight:800;margin-bottom:4px}.massapp-item h2{font-family:Georgia,serif;font-size:21px;margin:0 0 5px;color:#082f57}.massapp-meta{font-size:13px;color:#667788}.massapp-empty{background:#fff;border-radius:16px;padding:24px;text-align:center;color:#657585}
.massapp-foot{width:min(720px,calc(100% - 28px));margin:0 auto;padding:0 0 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;color:#c28a19}.massapp-foot span{height:1px;background:#d5a536}.massapp-foot b{font-size:18px}.massapp-foot small{grid-column:1/-1;text-align:center;color:#71808d;font-size:11px}
@media(max-width:600px){.massapp-head{height:70px;padding:10px 14px}.massapp-logo{width:44px!important;height:44px!important;max-width:44px!important;max-height:44px!important}.massapp-brand b{font-size:18px}.massapp-main{width:calc(100% - 24px);padding:22px 0 30px}.massapp-title h1{font-size:27px}.massapp-title p{font-size:14px;margin-bottom:18px}.massapp-item{padding:16px}.massapp-item h2{font-size:20px}.massapp-date{font-size:15px}.massapp-meta{font-size:14px}.massapp-foot{width:calc(100% - 48px)}}


/* V4.75 — acabado visual horarios públicos */
.massapp{
  background:
    radial-gradient(circle at 12% 12%,rgba(20,87,145,.10),transparent 28%),
    radial-gradient(circle at 88% 82%,rgba(218,155,33,.10),transparent 26%),
    linear-gradient(180deg,#f4f7fa 0%,#eef3f7 100%);
}
.massapp-main{padding-top:30px}
.massapp-title{padding:0 2px 3px}
.massapp-title h1{font-size:32px;letter-spacing:-.01em}
.massapp-title p{font-size:15px;line-height:1.45}
.massapp-item{
  padding:21px 22px;
  border-radius:19px;
  box-shadow:0 10px 28px rgba(8,45,82,.09);
}
.massapp-item.next{border-top-width:4px}
.massapp-badge{font-size:11px;padding:6px 10px;margin-bottom:11px}
.massapp-date{font-size:16px;margin-bottom:5px}
.massapp-item h2{font-size:24px;margin-bottom:7px}
.massapp-meta{font-size:14px;line-height:1.45}
.massapp-foot{margin-top:28px;padding-bottom:30px}
@media(min-width:900px){
  .massapp-main,.massapp-foot{width:min(760px,calc(100% - 48px))}
  .massapp-main{padding-top:34px}
}
@media(max-width:600px){
  .massapp-main{padding-top:24px}
  .massapp-title h1{font-size:29px}
  .massapp-item{padding:18px;border-radius:18px}
  .massapp-item h2{font-size:22px}
  .massapp-foot{margin-top:22px}
}


/* V4.76 — identidad visual tipo app para horarios */
.massapp-head{height:86px;background:linear-gradient(110deg,#073866,#0a4f88);border-bottom:3px solid rgba(218,155,33,.75)}
.massapp-main{width:min(820px,calc(100% - 32px));padding-top:26px}
.massapp-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;margin-bottom:18px;border-radius:22px;background:linear-gradient(125deg,#0a3d70,#0c5b94);color:#fff;box-shadow:0 12px 30px rgba(7,56,102,.18);position:relative;overflow:hidden}
.massapp-hero:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-80px;top:-120px;background:rgba(255,255,255,.08)}
.massapp-hero>div:first-child{position:relative;z-index:1}
.massapp-hero span{color:#f0bb4b;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.massapp-hero h1{margin:6px 0 6px;font-family:Georgia,serif;font-size:34px;line-height:1.05}
.massapp-hero p{margin:0;color:#e3edf6;font-size:15px}
.massapp-hero-cross{position:relative;z-index:1;color:#efb943;font:700 54px/1 Georgia,serif;padding-right:10px}
.massapp-list{gap:16px}
.massapp-item{border:0;border-left:5px solid #d99b21;padding:22px 24px;box-shadow:0 10px 26px rgba(8,45,82,.10)}
.massapp-item.next{border-top:0;border-left:5px solid #d99b21;padding-top:22px}
.massapp-badge{background:#fff0c8;color:#8b5900}
.massapp-date{font-size:17px}
.massapp-item h2{font-size:26px}
.massapp-meta{font-size:15px}
.massapp-foot{width:min(820px,calc(100% - 32px));margin-top:32px}
@media(max-width:600px){
 .massapp-head{height:76px}
 .massapp-main{width:calc(100% - 24px);padding-top:16px}
 .massapp-hero{padding:20px 18px;border-radius:19px;margin-bottom:14px}
 .massapp-hero h1{font-size:27px}
 .massapp-hero p{font-size:14px}
 .massapp-hero-cross{font-size:40px;padding-right:2px}
 .massapp-item{padding:19px 18px}
 .massapp-item.next{padding-top:19px}
 .massapp-date{font-size:16px}
 .massapp-item h2{font-size:23px}
 .massapp-meta{font-size:14px}
}


/* V4.77 — acabado visual general de pantallas internas */
.shell{background:linear-gradient(180deg,#f4f7fa 0,#eef3f7 100%);min-height:100vh}
.topbar{background:linear-gradient(110deg,#073866,#0b558d);box-shadow:0 5px 18px rgba(6,47,84,.16)}
.content{width:min(1080px,calc(100% - 32px));margin:0 auto;padding-top:26px;padding-bottom:90px}
.section-title{margin:28px 0 12px;padding-left:14px;border-left:4px solid #d99b21}
.section-title h2{font-family:Georgia,serif;color:#073866;font-size:25px;margin:0}
.card{border:1px solid #dfe7ee;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(8,45,82,.07)}
.card h3{font-family:Georgia,serif;color:#073866;font-size:21px}
.item{padding:17px 18px;border-bottom:1px solid #e9eef2}
.item:last-child{border-bottom:0}
.item b{color:#082f57}
.grid,.module-grid{gap:12px}
.quick,.module{border:1px solid #dce6ee;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(8,45,82,.06);transition:.18s ease}
.quick:hover,.module:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(8,45,82,.11);border-color:#c8d9e7}
.quick .qicon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#eef5fa;font-size:22px}
.kpis{gap:12px}
.kpi{border-radius:17px;border:1px solid #dce6ee;background:#fff;box-shadow:0 7px 20px rgba(8,45,82,.06);border-top:3px solid #d99b21}
.kpi strong{color:#074b82;font-family:Georgia,serif}
.primary{background:linear-gradient(100deg,#07447a,#0b619d);border-radius:11px;min-height:46px}
.secondary{border-radius:11px;min-height:44px}
.field input,.field select,.field textarea{border-radius:11px;border:1px solid #d6e0e8;min-height:44px}
.badge{border-radius:999px;padding:5px 9px}
.economy-home-card{border-left:5px solid #2f7b59}
.task-highlight{background:linear-gradient(90deg,#fff8e7,#fff)}
.bottomnav{box-shadow:0 -5px 18px rgba(7,50,89,.08);border-top:1px solid #dde6ed}
@media(max-width:650px){
 .content{width:calc(100% - 22px);padding-top:16px;padding-bottom:84px}
 .section-title{margin:22px 0 10px;padding-left:10px}
 .section-title h2{font-size:22px}
 .card{border-radius:16px}
 .item{padding:16px 14px}
 .quick,.module{min-height:94px;border-radius:14px}
 .kpi{border-radius:14px}
}


/* V4.78 — interior con mayor contraste e identidad institucional */
body{background:#e9f0f6}
.shell{
  background:
    radial-gradient(circle at 8% 18%,rgba(13,76,134,.08),transparent 25%),
    radial-gradient(circle at 92% 72%,rgba(210,168,79,.09),transparent 24%),
    linear-gradient(180deg,#edf3f8 0%,#e5edf4 100%);
}
.hero{border-bottom:3px solid rgba(210,168,79,.72)}
.content{padding-top:22px}
.kpi,.card,.quick,.module{
  border-color:#cfdce7;
  box-shadow:0 9px 24px rgba(8,45,82,.09);
}
.kpi{background:linear-gradient(180deg,#fff,#f9fbfd)}
.kpi:nth-child(2n){border-top-color:#0d5d9e}
.section-title h2{font-weight:800}
.dashboard-grid{gap:18px}
.module-grid .module,.module-grid .module-btn{
  position:relative;
  overflow:hidden;
}
.module-grid .module:before,.module-grid .module-btn:before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(180deg,#0b568f,#d2a84f);
}
.quick .qicon,.module .qicon{
  color:#0a4f88;
  background:linear-gradient(145deg,#e8f2fa,#f7fbfe);
  border:1px solid #d5e3ee;
}
.bottom{
  background:#fff;
  border:1px solid #c8d7e3;
  border-bottom:3px solid #d2a84f;
  box-shadow:0 14px 38px rgba(7,48,85,.22);
  padding:8px;
}
.nav{
  color:#52677d;
  min-height:58px;
  font-size:11px;
  font-weight:700;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
}
.nav strong{
  color:#31536f;
  font-size:21px;
  line-height:1;
}
.nav.active{
  background:linear-gradient(180deg,#dcebf6,#edf5fb);
  color:#073b70;
  box-shadow:inset 0 0 0 1px #c8ddeb;
}
.nav.active strong{color:#073b70}
.task-highlight{
  background:linear-gradient(100deg,#fff7e3,#fff);
  border-color:#ead7a9;
}
@media(max-width:640px){
  .bottom{width:calc(100% - 18px);bottom:6px;border-radius:18px}
  .nav{min-height:60px;font-size:11px}
  .nav strong{font-size:22px}
}


/* V4.79 — acabado visual del módulo Misas */
.mass-form-card{padding:22px 24px}
.mass-form-card>h3{margin:0 0 18px}
.mass-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.mass-form-grid .field{margin-bottom:14px}
.mass-form-actions{display:flex;justify-content:flex-end;margin-top:4px}
.mass-save-btn{width:auto;min-width:220px;padding-left:22px;padding-right:22px}
.mass-list-card{padding:8px 20px}
.mass-list-card .mass-row{padding:18px 4px}
.mass-main-info{display:flex;align-items:flex-start;gap:13px}
.mass-symbol{width:42px;height:42px;flex:0 0 42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#e8f2fa,#f8fbfe);border:1px solid #d5e3ee;color:#0a4f88;font-size:20px}
.mass-main-info b{font-family:Georgia,"Times New Roman",serif;font-size:18px;color:#073866}
.mass-date-strong{margin:4px 0 2px;color:#0b5b99;font-weight:800}
.mass-status{margin-top:7px;text-transform:uppercase;letter-spacing:.04em;font-weight:800}
.mass-intentions-btn{display:inline-flex;align-items:center;gap:7px}
.mass-intentions-btn .mi-icon{font-size:17px;color:#0a4f88}
.mass-history-card{background:rgba(255,255,255,.82);box-shadow:0 6px 18px rgba(8,45,82,.055)}
.mass-history-card .mass-row{opacity:.88}
.mass-history-card .mass-symbol{background:#f4f6f8;color:#607286}
.mass-history-card .mass-main-info b{font-size:16px}
@media(max-width:700px){
  .mass-form-card{padding:18px 16px}
  .mass-form-grid{grid-template-columns:1fr}
  .mass-form-actions{display:block}
  .mass-save-btn{width:100%;min-width:0}
  .mass-list-card{padding:6px 14px}
  .mass-main-info{gap:10px}
  .mass-symbol{width:38px;height:38px;flex-basis:38px}
}


/* V4.80 — navegación inferior con mayor contraste */
.bottom .nav{
  color:#405f79;
}
.bottom .nav strong{
  color:#174d78;
  font-size:23px;
  opacity:1;
}
.bottom .nav.active{
  background:linear-gradient(180deg,#e4f1fa,#d9eaf6);
  color:#063b70;
  box-shadow:inset 0 0 0 1px #b8d3e6;
}
.bottom .nav.active strong{
  color:#063b70;
}
.bottom .nav:hover:not(.active){
  background:#f2f7fb;
  color:#073b70;
}
.bottom .nav:hover:not(.active) strong{
  color:#0a568f;
}
/* V4.81 - prueba de despliegue Vercel */

/* V4.97 — inicio del feligrés: ancho equilibrado, superficies e iconografía coherentes */
.shell{
  max-width:1040px;
}
.content{
  width:min(960px,calc(100% - 32px));
}
.hero{
  max-width:1000px;
  margin-left:auto;
  margin-right:auto;
}
.card{
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(244,249,253,.96));
}
.feature-card{
  background:linear-gradient(135deg,#fffaf0 0%,#f8fbfe 62%,#eef6fb 100%);
  border-color:#dfcf9f;
}
.dashboard-grid .card{
  min-height:104px;
  background:linear-gradient(145deg,#f9fcfe,#eef5fa);
}
.grid .quick{
  min-height:118px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:linear-gradient(150deg,#f9fcff,#edf5fa);
  border-color:#c9dbe8;
}
.grid .quick:nth-child(2n){
  background:linear-gradient(150deg,#fffdf7,#f2f7fb);
}
.quick .qicon{
  width:44px;
  height:44px;
  margin:0 auto;
  display:grid;
  place-items:center;
  color:#0a568f;
  background:linear-gradient(145deg,#e7f2fa,#f8fbfe);
  border:1px solid #cbddea;
  border-radius:13px;
}
.app-icon{
  width:24px;
  height:24px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.quick .qicon .app-icon{
  width:23px;
  height:23px;
}
.quick b{
  margin-top:10px;
}
.bottom{
  width:min(640px,calc(100% - 24px));
  border-color:#bfd2e1;
}
.bottom .nav{
  position:relative;
  gap:5px;
  color:#3f5f79;
}
.bottom .nav strong{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  color:#174f7c;
}
.bottom .nav strong .app-icon{
  width:22px;
  height:22px;
}
.bottom .nav.active{
  color:#063b70;
  background:linear-gradient(180deg,#e2f0f9,#d7eaf6);
  box-shadow:inset 0 0 0 1px #b6d2e5;
}
.bottom .nav.active::after{
  content:"";
  position:absolute;
  left:28%;
  right:28%;
  bottom:4px;
  height:2px;
  border-radius:2px;
  background:#d2a84f;
}
.bottom .nav.active strong{
  color:#073b70;
}
@media(max-width:900px){
  .shell{max-width:none}
  .hero{max-width:none}
  .content{width:calc(100% - 22px)}
}
@media(max-width:640px){
  .content{width:auto}
  .grid .quick{min-height:106px}
  .bottom{width:calc(100% - 18px)}
  .bottom .nav strong{width:27px;height:27px}
  .bottom .nav strong .app-icon{width:21px;height:21px}
}

/* V4.98 — ajuste visible: escritorio más contenido y menos blanco plano */
@media(min-width:901px){
  .shell{
    max-width:900px !important;
    padding-left:18px;
    padding-right:18px;
  }
  .hero{
    max-width:860px !important;
  }
  .content{
    width:min(820px,calc(100% - 36px)) !important;
  }
}
.content .feature-card{
  background:linear-gradient(125deg,#eef6fb 0%,#e4f0f8 72%,#fff6df 100%) !important;
  border-color:#cfb86f !important;
}
.content .grid .quick{
  background:linear-gradient(145deg,#edf6fc,#dcecf7) !important;
  border-color:#b9d1e2 !important;
  box-shadow:0 9px 22px rgba(8,58,101,.11) !important;
}
.content .grid .quick:nth-child(even){
  background:linear-gradient(145deg,#f7f3e8,#e9f2f8) !important;
  border-color:#d5c590 !important;
}
.content .dashboard-grid .card{
  background:linear-gradient(145deg,#edf5fa,#dfeaf3) !important;
  border-color:#bfd2e0 !important;
}
.content .dashboard-grid>div:nth-child(2) .card{
  background:linear-gradient(145deg,#f7f3e7,#e8f0f6) !important;
  border-color:#d6c690 !important;
}
.content .empty{
  color:#4e6880 !important;
}
.section-title{
  margin-top:24px !important;
}
@media(max-width:900px){
  .content .grid .quick{
    background:linear-gradient(145deg,#edf6fc,#e2eff8) !important;
  }
}

/* V4.99 — isla inferior institucional azul con detalle dorado */
.bottom{
  padding:7px !important;
  background:linear-gradient(135deg,#082f57 0%,#0a4c82 58%,#0c5d98 100%) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  border-bottom:3px solid #d2a84f !important;
  border-radius:22px !important;
  box-shadow:0 18px 44px rgba(4,35,65,.34),0 0 0 1px rgba(210,168,79,.16) !important;
  backdrop-filter:blur(18px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12) !important;
}
.bottom .nav{
  min-height:58px !important;
  border:1px solid transparent !important;
  border-radius:15px !important;
  background:transparent !important;
  color:rgba(255,255,255,.82) !important;
  transition:background .18s ease,color .18s ease,transform .18s ease !important;
}
.bottom .nav strong{
  color:#fff !important;
  opacity:.92 !important;
}
.bottom .nav:hover:not(.active){
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
}
.bottom .nav:hover:not(.active) strong{
  color:#fff !important;
}
.bottom .nav.active{
  background:linear-gradient(145deg,rgba(210,168,79,.28),rgba(255,255,255,.14)) !important;
  color:#fff5d8 !important;
  border-color:rgba(242,207,126,.58) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 5px 14px rgba(0,0,0,.14) !important;
}
.bottom .nav.active strong{
  color:#f4c85f !important;
  opacity:1 !important;
}
.bottom .nav.active::after{
  left:24% !important;
  right:24% !important;
  bottom:3px !important;
  height:2px !important;
  background:#f4c85f !important;
  box-shadow:0 0 8px rgba(244,200,95,.55) !important;
}
@media(max-width:640px){
  .bottom{
    border-radius:19px !important;
    padding:6px !important;
  }
  .bottom .nav{
    min-height:57px !important;
    border-radius:13px !important;
  }
}

/* V4.100 — navegación individual con reflejo de vidrio */
.bottom{
  width:min(690px,calc(100% - 24px)) !important;
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  gap:8px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.bottom .nav{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  min-height:64px !important;
  padding:8px 6px 7px !important;
  border:1px solid rgba(255,255,255,.36) !important;
  border-bottom:2px solid #d2a84f !important;
  border-radius:17px !important;
  background:linear-gradient(145deg,#073761 0%,#09548b 62%,#0c659f 100%) !important;
  color:rgba(255,255,255,.88) !important;
  box-shadow:0 10px 24px rgba(4,35,65,.25),inset 0 1px 0 rgba(255,255,255,.2) !important;
}
.bottom .nav::before{
  content:"" !important;
  position:absolute !important;
  z-index:-1 !important;
  left:-18% !important;
  top:-48% !important;
  width:136% !important;
  height:72% !important;
  border-radius:50% !important;
  background:linear-gradient(180deg,rgba(255,255,255,.33),rgba(255,255,255,.03)) !important;
  transform:rotate(-5deg) !important;
  pointer-events:none !important;
}
.bottom .nav::after{
  content:"" !important;
  position:absolute !important;
  left:27% !important;
  right:27% !important;
  bottom:4px !important;
  height:2px !important;
  border-radius:2px !important;
  background:rgba(255,255,255,.16) !important;
}
.bottom .nav strong,
.bottom .nav strong .app-icon{
  color:#fff !important;
}
.bottom .nav:hover:not(.active){
  transform:translateY(-2px) !important;
  background:linear-gradient(145deg,#084473,#0b629d) !important;
}
.bottom .nav.active{
  transform:translateY(-3px) !important;
  border-color:rgba(244,200,95,.9) !important;
  border-bottom-color:#f4c85f !important;
  background:linear-gradient(145deg,#244d66 0%,#17628d 64%,#0c6ca5 100%) !important;
  color:#fff6da !important;
  box-shadow:0 12px 28px rgba(4,35,65,.34),0 0 0 1px rgba(244,200,95,.2),inset 0 1px 0 rgba(255,255,255,.28) !important;
}
.bottom .nav.active strong,
.bottom .nav.active strong .app-icon{
  color:#f4c85f !important;
}
.bottom .nav.active::after{
  left:22% !important;
  right:22% !important;
  background:#f4c85f !important;
  box-shadow:0 0 9px rgba(244,200,95,.7) !important;
}

/* Colaboración voluntaria: presencia discreta, sin apariencia comercial */
.donation-card{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-start;
  gap:16px;
  margin-top:8px;
  padding:20px 22px;
  border:1px solid #d5c58f;
  border-left:4px solid #d2a84f;
  border-radius:18px;
  background:linear-gradient(135deg,#f8f4e8 0%,#edf5fa 62%,#e3f0f8 100%);
  box-shadow:0 9px 24px rgba(8,45,82,.09);
}
.donation-card::after{
  content:"";
  position:absolute;
  right:-45px;
  top:-70px;
  width:150px;
  height:150px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(210,168,79,.18),transparent 68%);
  pointer-events:none;
}
.donation-symbol{
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#0a568f;
  background:rgba(255,255,255,.62);
  border:1px solid #c7dbe9;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.donation-symbol .app-icon{width:25px;height:25px}
.donation-copy{position:relative;z-index:1}
.donation-kicker{
  display:block;
  margin-bottom:3px;
  color:#9a711a;
  font-size:11px;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.donation-copy h3{
  margin:0 0 5px;
  color:#073866;
  font:700 19px/1.15 Georgia,"Times New Roman",serif;
}
.donation-copy p{
  margin:0 0 6px;
  color:#34516a;
  font-size:13px;
  line-height:1.4;
}
.donation-copy small{
  color:#5b6f80;
  font-size:12px;
  line-height:1.35;
}
.donation-card-compact{
  margin-top:24px;
  padding:16px 18px;
}
.donation-card-compact .donation-copy p{margin-bottom:4px}
@media(max-width:640px){
  .bottom{
    width:calc(100% - 14px) !important;
    gap:4px !important;
  }
  .bottom .nav{
    min-height:60px !important;
    padding:7px 2px 6px !important;
    border-radius:14px !important;
    font-size:9px !important;
  }
  .bottom .nav strong .app-icon{width:20px;height:20px}
  .donation-card{
    gap:12px;
    padding:16px 14px;
    border-radius:16px;
  }
  .donation-symbol{width:42px;height:42px;flex-basis:42px}
  .donation-copy h3{font-size:17px}
}

/* V4.101 — ingreso discreto y pantalla propia de colaboración */
.donation-entry{
  width:100%;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.donation-entry:hover{
  transform:translateY(-1px);
  border-color:#c5ad63;
  box-shadow:0 12px 27px rgba(8,45,82,.13);
}
.donation-arrow{
  position:relative;
  z-index:1;
  margin-left:auto;
  align-self:center;
  color:#0a568f;
  font:700 30px/1 Georgia,serif;
}
.donation-detail{
  padding:24px;
  background:linear-gradient(145deg,#f9fcfe,#edf5fa) !important;
  border-color:#c9d9e5 !important;
}
.donation-detail-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:15px;
}
.donation-symbol-large{
  width:54px;
  height:54px;
  flex-basis:54px;
}
.donation-symbol-large .app-icon{width:29px;height:29px}
.donation-detail-head h3{
  margin:2px 0 0;
  color:#073866;
  font:700 22px/1.15 Georgia,"Times New Roman",serif;
}
.donation-intro{
  max-width:720px;
  margin:0 0 18px;
  color:#3d5870;
  font-size:14px;
  line-height:1.55;
}
.donation-current{
  padding:17px 18px;
  border:1px solid #d9c98f;
  border-radius:15px;
  background:linear-gradient(135deg,#fff9e9,#f4f8fb);
}
.donation-current span{
  display:block;
  margin-bottom:4px;
  color:#8d6818;
  font-size:11px;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.donation-current b{
  display:block;
  color:#073866;
  font-size:16px;
}
.donation-current p{
  margin:5px 0 0;
  color:#4b6479;
  font-size:13px;
}
.donation-future{
  margin-top:22px;
}
.donation-options{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:8px;
}
.donation-options>div{
  min-height:100px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:13px 10px;
  border:1px solid #cfdee9;
  border-radius:14px;
  background:linear-gradient(145deg,#edf6fb,#f8fbfd);
  color:#0a568f;
  text-align:center;
}
.donation-options .app-icon{width:24px;height:24px}
.donation-options b{color:#153e62;font-size:13px}
.donation-options small{color:#718294;font-size:11px}
.donation-back{
  width:auto;
  min-width:180px;
  margin-top:20px;
}
@media(max-width:640px){
  .donation-detail{padding:18px 15px}
  .donation-detail-head h3{font-size:19px}
  .donation-options{grid-template-columns:1fr}
  .donation-options>div{
    min-height:76px;
    flex-direction:row;
    justify-content:flex-start;
    text-align:left;
    padding:12px 14px;
  }
  .donation-options small{margin-left:auto}
  .donation-back{width:100%}
}

/* V4.102 — acabado fino del inicio, sin recursos pesados */
.section-title{
  position:relative;
  padding-left:16px !important;
  border-left:0 !important;
}
.section-title::before{
  content:"";
  position:absolute;
  left:0;
  top:2px;
  bottom:2px;
  width:3px;
  border-radius:3px;
  background:linear-gradient(180deg,#f1bd45,#c78d19);
  box-shadow:0 0 10px rgba(210,168,79,.2);
}
.section-title h2{
  letter-spacing:-.012em;
}
.celebration-card{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  gap:16px;
  min-height:104px;
  padding:18px 20px !important;
}
.celebration-card::after{
  content:"";
  position:absolute;
  right:-45px;
  top:-75px;
  width:170px;
  height:170px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(210,168,79,.22),transparent 68%);
}
.celebration-icon{
  position:relative;
  z-index:1;
  width:52px;
  height:52px;
  flex:0 0 52px;
  display:grid;
  place-items:center;
  border-radius:16px;
  color:#0a568f;
  background:rgba(255,255,255,.62);
  border:1px solid #c6dbe9;
  box-shadow:inset 0 1px 0 #fff,0 6px 15px rgba(8,45,82,.08);
}
.celebration-icon .app-icon{width:27px;height:27px}
.celebration-copy{position:relative;z-index:1}
.celebration-kicker{
  display:block;
  margin-bottom:3px;
  color:#9b731c;
  font-size:10px;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.celebration-copy>b{
  display:block;
  color:#073866;
  font:700 18px/1.15 Georgia,"Times New Roman",serif;
}
.celebration-date{
  display:inline-flex;
  margin:6px 0 3px;
  padding:4px 9px;
  border-radius:999px;
  color:#073f71;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(210,168,79,.52);
  font-size:12px;
  font-weight:750;
}
.home-status-card{
  min-height:130px !important;
  position:relative;
  overflow:hidden;
}
.home-activities .home-status-card{
  background:linear-gradient(145deg,#e8f3fa,#dcebf5) !important;
}
.home-intentions .home-status-card{
  background:linear-gradient(145deg,#f8f3e5,#edf3f7) !important;
}
.refined-empty{
  min-height:92px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  position:relative;
  z-index:1;
  padding:15px 18px !important;
}
.refined-empty .empty-watermark{
  position:absolute;
  right:18px;
  bottom:8px;
  color:#0a568f;
  opacity:.09;
  transform:scale(2.8);
  transform-origin:center;
  pointer-events:none;
}
.home-intentions .empty-watermark{color:#b18427;opacity:.11}
.refined-empty b{
  color:#24445f;
  font:700 15px/1.15 Georgia,"Times New Roman",serif;
}
.refined-empty>span:last-child{
  color:#61778b;
  font-size:12px;
}
.grid .quick{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.grid .quick::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-12%;
  top:-36%;
  width:124%;
  height:58%;
  border-radius:50%;
  background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.03));
  transform:rotate(-4deg);
  pointer-events:none;
}
.grid .quick:hover{
  transform:translateY(-2px);
  border-color:#afcadc !important;
  box-shadow:0 12px 27px rgba(8,58,101,.14) !important;
}
@media(max-width:640px){
  .section-title{padding-left:13px !important}
  .celebration-card{gap:12px;padding:15px !important}
  .celebration-icon{width:46px;height:46px;flex-basis:46px;border-radius:14px}
  .celebration-copy>b{font-size:16px}
  .home-status-card{min-height:116px !important}
  .refined-empty .empty-watermark{right:12px;transform:scale(2.25)}
}

/* V4.103 — mayor profundidad tonal y saludo con reflejo sutil */
.shell{
  background:
    radial-gradient(circle at 10% 16%,rgba(10,86,143,.12),transparent 26%),
    radial-gradient(circle at 90% 70%,rgba(210,168,79,.13),transparent 23%),
    linear-gradient(180deg,#e5f0f7 0%,#dce9f2 52%,#e8f0f5 100%) !important;
}
.hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(145deg,#082f57 0%,#0b4d82 56%,#155f93 100%) !important;
}
.hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-8%;
  top:-55%;
  width:116%;
  height:82%;
  border-radius:50%;
  background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.015));
  transform:rotate(-3deg);
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-90px;
  bottom:-115px;
  width:300px;
  height:300px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(210,168,79,.16),transparent 68%);
  pointer-events:none;
}
.hero .topbar,
.hero .welcome-subtitle,
.hero p,
.hero .hero-meta{
  position:relative;
  z-index:1;
}
.hero h1{
  position:relative;
  z-index:1;
  display:table;
  overflow:hidden;
  margin:20px 0 6px -12px !important;
  padding:9px 14px 10px !important;
  border:1px solid rgba(255,255,255,.18);
  border-bottom-color:rgba(210,168,79,.72);
  border-radius:16px;
  background:linear-gradient(115deg,rgba(255,255,255,.14),rgba(255,255,255,.045) 58%,rgba(210,168,79,.10));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 22px rgba(3,27,52,.18);
  text-shadow:0 2px 8px rgba(0,0,0,.22);
}
.hero h1::after{
  content:"";
  position:absolute;
  left:-12%;
  top:-65%;
  width:124%;
  height:88%;
  border-radius:50%;
  background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0));
  transform:rotate(-4deg);
  pointer-events:none;
}
.content .feature-card{
  background:linear-gradient(125deg,#dceef8 0%,#e7f1f6 58%,#f7edcf 100%) !important;
}
.content .grid .quick{
  background:linear-gradient(145deg,#d8ebf7,#cfe5f3) !important;
  border-color:#a9c9dd !important;
}
.content .grid .quick:nth-child(even){
  background:linear-gradient(145deg,#f4ecd7,#e6eff4) !important;
  border-color:#d1b96e !important;
}
.home-activities .home-status-card{
  background:linear-gradient(145deg,#d9edf8,#cfe3f0) !important;
  border-color:#abc9dc !important;
}
.home-intentions .home-status-card{
  background:linear-gradient(145deg,#f5ecd3,#e5eef4) !important;
  border-color:#cfb668 !important;
}
.donation-entry{
  background:linear-gradient(135deg,#f4ecd6 0%,#e2eef5 60%,#d6e8f3 100%) !important;
  border-color:#ccb15c !important;
}
@media(max-width:640px){
  .hero h1{
    margin:18px 0 6px -8px !important;
    padding:8px 10px 9px !important;
    border-radius:14px;
  }
}

/* V4.104 — sistema visual global multiparroquia */
.hero::before{
  inset:0 !important;
  width:auto !important;
  height:auto !important;
  left:0 !important;
  top:0 !important;
  border-radius:inherit !important;
  transform:none !important;
  background:
    linear-gradient(112deg,rgba(255,255,255,.20) 0%,rgba(255,255,255,.075) 28%,rgba(255,255,255,0) 51%),
    linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,0) 57%) !important;
}
.content .card{
  background:linear-gradient(145deg,#edf6fb 0%,#e3eff6 100%);
  border-color:#bfd3e1;
  box-shadow:0 9px 24px rgba(8,45,82,.10);
}
.content .card:nth-child(even){
  background:linear-gradient(145deg,#f6f0df 0%,#e9f2f7 100%);
  border-color:#d4c084;
}
.content .item{
  border-color:rgba(113,145,170,.28);
}
.content .field input,
.content .field select,
.content .field textarea,
.content .register86-field input{
  background:rgba(255,255,255,.72);
  border-color:#bfd2e0;
}
.content .module,
.content .kpi{
  background:linear-gradient(145deg,#e8f3f9,#dceaf3);
  border-color:#b9cfde;
}
.content .module:nth-child(even),
.content .kpi:nth-child(even){
  background:linear-gradient(145deg,#f5eedb,#e7f0f5);
  border-color:#d5bf7b;
}
.content .mass-form-card,
.content .mass-list-card,
.content .activities-list,
.content .intentions-list,
.content .notices-list,
.content .branding-box{
  background:linear-gradient(145deg,#edf6fb,#dfeaf2);
  border-color:#b9cfde;
}
.content .badge{
  border:1px solid rgba(13,79,134,.12);
}
.content .empty{
  color:#4e687f;
}

/* Colores funcionales suaves para los accesos principales */
.grid .quick:nth-child(1) .qicon{
  color:#bd4766 !important;
  background:linear-gradient(145deg,#fff4f7,#f8dfe8) !important;
  border-color:#efbdca !important;
}
.grid .quick:nth-child(1) .qicon .app-icon{
  filter:drop-shadow(0 2px 5px rgba(189,71,102,.16));
}
.grid .quick:nth-child(2) .qicon{
  color:#176fa7 !important;
  background:linear-gradient(145deg,#f2f9fd,#dceef8) !important;
  border-color:#b9d7e9 !important;
}
.grid .quick:nth-child(3) .qicon{
  color:#a87616 !important;
  background:linear-gradient(145deg,#fff9e9,#f3e5bb) !important;
  border-color:#dfca87 !important;
}
.grid .quick:nth-child(4) .qicon{
  color:#c68b18 !important;
  background:linear-gradient(145deg,#fff9e8,#f1e2b4) !important;
  border-color:#dfc676 !important;
}
.grid .quick .qicon{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 5px 12px rgba(8,45,82,.08);
}

/* Replicar profundidad e iconografía en módulos secundarios */
.content .mass-symbol,
.content .notice-icon,
.content .notif-icon,
.content .mi-icon,
.content .reading-cross{
  color:#0a568f;
}
.content .mass-symbol{
  background:linear-gradient(145deg,#f2f9fd,#d9ebf6);
  border-color:#b9d5e6;
}
.content button,
.content .card,
.content .module,
.content .quick{
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease;
}
.content button:focus-visible{
  outline:3px solid rgba(210,168,79,.55);
  outline-offset:2px;
}
@media(max-width:640px){
  .content .card{box-shadow:0 7px 18px rgba(8,45,82,.09)}
}


/* V4.105 — identidad visual compartida en todas las vistas */
.hero{overflow:hidden;background:linear-gradient(135deg,#073a68 0%,#0b5287 56%,#276f91 100%)}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(160deg,rgba(255,255,255,.19) 0%,rgba(255,255,255,.07) 22%,transparent 23%,transparent 58%,rgba(255,255,255,.055) 59%,transparent 76%);mix-blend-mode:screen}
.hero::after{content:"";position:absolute;left:-12%;top:-46%;width:78%;height:105%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,255,255,.13),transparent 68%);pointer-events:none}
.hero>*{position:relative;z-index:1}
.content{background:linear-gradient(180deg,rgba(221,237,248,.78),rgba(240,246,249,.9) 48%,rgba(224,236,243,.88));border-radius:24px 24px 0 0}
.content .section-title h2{color:#063c68;text-shadow:0 1px 0 rgba(255,255,255,.8)}
.content .card,.content .module{background:linear-gradient(145deg,rgba(246,251,254,.96),rgba(224,239,248,.92));border-color:#b8d4e5;box-shadow:0 10px 24px rgba(7,50,84,.1),inset 0 1px 0 rgba(255,255,255,.92)}
.content .card:nth-of-type(even){background:linear-gradient(145deg,rgba(255,252,242,.96),rgba(237,243,242,.94));border-color:rgba(210,168,79,.62)}
.module-icon,.account-icon,.activity-icon,.notif-icon{display:inline-flex;align-items:center;justify-content:center;border-radius:13px;background:linear-gradient(145deg,#fff,rgba(229,243,251,.92));box-shadow:inset 0 1px 0 #fff,0 5px 12px rgba(7,57,91,.1)}
.module-icon{width:46px;height:46px;margin-bottom:8px}.module-icon .app-icon{width:24px;height:24px}
.module-misas .module-icon{color:#bf8420}.module-intenciones .module-icon{color:#b94f69}.module-actividades .module-icon{color:#1476b8}.module-avisos .module-icon{color:#d19420}.module-usuarios .module-icon{color:#317c68}.module-pastoral .module-icon{color:#7654a8}
.bell-btn .app-icon{width:21px;height:21px;color:#ffd165;filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}
.notif-icon{width:40px;height:40px}.notif-icon .app-icon{width:21px;height:21px}.notif-icon-intenciones{color:#b94f69}.notif-icon-avisos{color:#d19420}.notif-icon-actividades{color:#1476b8}.notif-icon-usuarios{color:#317c68}
.activity-date{display:flex;align-items:center;gap:8px}.activity-icon{width:31px;height:31px;color:#1476b8}.activity-icon .app-icon{width:17px;height:17px}
.activity-list-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px}.activity-list-btn .app-icon{width:18px;height:18px;color:#317c68}
.account-card .user-row{display:flex;align-items:center;gap:12px}.account-card .user-row>div{flex:1}.account-icon{width:42px;height:42px;flex:0 0 42px;color:#317c68}.account-icon .app-icon{width:22px;height:22px}
.notice-icon{color:#d19420}.notice-icon .app-icon{width:22px;height:22px}
.quick:nth-child(1) .quick-icon{color:#b94f69}.quick:nth-child(2) .quick-icon{color:#1476b8}.quick:nth-child(3) .quick-icon{color:#bf8420}.quick:nth-child(4) .quick-icon{color:#d19420}
@media(max-width:640px){.hero::after{width:115%;top:-35%;left:-42%}.content{border-radius:18px 18px 0 0}.module-icon{width:42px;height:42px}}

.module-auditoria .module-icon{color:#7654a8}.module-economia .module-icon{color:#b77a18}.user-avatar .app-icon{width:30px;height:30px;color:#317c68}


/* V4.107 — acabado uniforme, cruz dorada e iconos libres */
.hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 16% -18%,rgba(255,255,255,.20) 0%,rgba(255,255,255,.08) 34%,transparent 68%),
    radial-gradient(ellipse at 92% 112%,rgba(81,166,207,.18) 0%,transparent 58%),
    linear-gradient(135deg,#073760 0%,#0a4d80 56%,#246d8f 100%) !important;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse at 48% 0%,rgba(255,255,255,.09),transparent 64%) !important;
  mix-blend-mode:screen;
}
.hero::after{
  content:"✝";
  position:absolute;
  right:54px;
  bottom:9px;
  left:auto;
  top:auto;
  width:auto;
  height:auto;
  border-radius:0;
  background:none;
  color:#e0b84f;
  font:400 88px/1 Georgia,"Times New Roman",serif;
  opacity:.16;
  text-shadow:0 2px 18px rgba(226,184,79,.2);
  pointer-events:none;
}
.hero h1{
  display:block !important;
  width:max-content;
  max-width:100%;
  padding:0 !important;
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.qicon,
.celebration-icon,
.module-icon,
.account-icon,
.activity-icon,
.notif-icon,
.donation-symbol,
.notice-icon,
.content .mass-symbol{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.qicon .app-icon,
.celebration-icon .app-icon,
.module-icon .app-icon,
.account-icon .app-icon,
.activity-icon .app-icon,
.notif-icon .app-icon,
.donation-symbol .app-icon,
.notice-icon .app-icon{
  filter:drop-shadow(0 3px 4px rgba(7,48,80,.13));
}
.celebration-date{
  padding:0 !important;
  margin:6px 0 3px;
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.content h1,
.content h2,
.content h3,
.content .section-title,
.content .celebration-kicker,
.content .donation-kicker{
  background-color:transparent;
  box-shadow:none;
}
@media(max-width:640px){
  .hero::after{right:24px;bottom:12px;font-size:68px;opacity:.14}
}


/* V4.108 — corrección fina sobre capturas: sin líneas ni recuadros */
.hero{
  background:
    radial-gradient(120% 100% at 18% -30%,rgba(255,255,255,.14) 0%,rgba(255,255,255,.055) 40%,transparent 72%),
    radial-gradient(90% 120% at 100% 105%,rgba(74,157,198,.16) 0%,transparent 68%),
    linear-gradient(135deg,#093b65 0%,#105683 58%,#287493 100%) !important;
}
.hero .topbar{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}
.hero::before{
  inset:0 !important;
  left:0 !important;
  top:0 !important;
  width:100% !important;
  height:100% !important;
  border-radius:0 !important;
  transform:none !important;
  background:radial-gradient(100% 68% at 48% -18%,rgba(255,255,255,.10),transparent 76%) !important;
  opacity:1 !important;
}
.hero::after{
  color:#f0bc36 !important;
  opacity:.34 !important;
  text-shadow:
    0 0 8px rgba(255,199,63,.32),
    0 0 22px rgba(255,199,63,.18) !important;
}
.content .grid .quick .qicon,
.content .grid .quick:nth-child(1) .qicon,
.content .grid .quick:nth-child(2) .qicon,
.content .grid .quick:nth-child(3) .qicon,
.content .grid .quick:nth-child(4) .qicon,
.content .module-grid .module .module-icon,
.content .celebration-card .celebration-icon,
.content .donation-symbol,
.content .account-icon,
.content .activity-icon,
.content .notif-icon,
.content .notice-icon{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.content .grid .quick:nth-child(1) .qicon{color:#d23863 !important}
.content .grid .quick:nth-child(2) .qicon{color:#0875b9 !important}
.content .grid .quick:nth-child(3) .qicon{color:#b97a0d !important}
.content .grid .quick:nth-child(4) .qicon{color:#d08a05 !important}
.content .grid .quick .qicon .app-icon{
  width:29px;
  height:29px;
  stroke-width:2.15;
  filter:drop-shadow(0 3px 5px rgba(7,48,80,.12)) !important;
}
.refined-empty{
  position:relative;
  overflow:hidden;
  padding-right:98px !important;
}
.refined-empty>b,
.refined-empty>span:not(.empty-watermark){
  position:relative;
  z-index:2;
}
.refined-empty .empty-watermark{
  right:22px !important;
  top:50% !important;
  width:54px;
  height:54px;
  transform:translateY(-50%) scale(1.28) !important;
  opacity:.25 !important;
  z-index:1;
}
.refined-empty .empty-watermark .app-icon{
  width:54px;
  height:54px;
  stroke-width:1.9;
}
.home-activities .refined-empty .empty-watermark{color:#1680c1 !important}
.home-intentions .refined-empty .empty-watermark{color:#c84a69 !important}
@media(max-width:640px){
  .hero::after{opacity:.30 !important}
  .refined-empty{padding-right:82px !important}
  .refined-empty .empty-watermark{right:14px !important;transform:translateY(-50%) scale(1.08) !important}
}


/* V4.109 — encabezado final: profundidad suave y cruz iluminada */
.hero{
  background:
    radial-gradient(105% 125% at 8% -26%,rgba(105,190,226,.22) 0%,rgba(105,190,226,.07) 42%,transparent 70%),
    radial-gradient(52% 88% at 93% 72%,rgba(240,188,54,.105) 0%,transparent 68%),
    linear-gradient(132deg,#07375f 0%,#0b4f7d 54%,#236f8e 100%) !important;
  box-shadow:
    0 22px 42px rgba(7,45,77,.17),
    inset 0 1px 0 rgba(255,255,255,.13) !important;
}
.hero::before{
  background:
    radial-gradient(70% 54% at 20% 0%,rgba(255,255,255,.11),transparent 76%),
    radial-gradient(circle at 93% 69%,rgba(255,209,91,.19) 0%,rgba(255,196,49,.075) 24%,transparent 53%) !important;
}
.hero::after{
  color:#ffd05a !important;
  opacity:.62 !important;
  -webkit-text-stroke:.35px rgba(255,232,166,.72);
  filter:
    drop-shadow(0 0 4px rgba(255,239,190,.72))
    drop-shadow(0 0 11px rgba(245,190,52,.53))
    drop-shadow(0 0 25px rgba(235,168,25,.28));
  text-shadow:
    0 0 3px rgba(255,250,224,.72),
    0 0 10px rgba(255,202,63,.52),
    0 0 26px rgba(229,159,16,.30) !important;
}
.hero h1{
  color:#fff !important;
  letter-spacing:-.025em;
  text-shadow:0 2px 7px rgba(3,30,55,.28) !important;
}
.hero .welcome-subtitle{
  color:rgba(255,255,255,.95);
  text-shadow:0 1px 3px rgba(3,30,55,.22);
}
.hero>p,
.hero .hero-meta{
  color:rgba(247,251,255,.88) !important;
}
.hero .brand{
  filter:drop-shadow(0 3px 8px rgba(3,31,56,.14));
}
@media(max-width:640px){
  .hero::after{opacity:.56 !important;filter:drop-shadow(0 0 4px rgba(255,239,190,.66)) drop-shadow(0 0 10px rgba(245,190,52,.46)) drop-shadow(0 0 20px rgba(235,168,25,.22))}
}


/* V4.110 — cruz dorada más intensa */
.hero::after{
  color:#ffd83d !important;
  opacity:.88 !important;
  -webkit-text-stroke:.55px rgba(255,241,181,.96);
  filter:
    drop-shadow(0 0 3px rgba(255,252,222,.86))
    drop-shadow(0 0 9px rgba(255,202,45,.66))
    drop-shadow(0 0 22px rgba(232,157,10,.32)) !important;
  text-shadow:
    0 0 2px #fff6c8,
    0 0 8px rgba(255,210,62,.76),
    0 0 20px rgba(232,157,10,.38) !important;
}
@media(max-width:640px){.hero::after{opacity:.84 !important}}


/* V4.111 — consolidación visual global multiparroquia */
.content{
  color:#0a3153;
}
.content .card,
.content .module,
.content .quick,
.content .donation-card,
.content .activity-card,
.content .mass-card,
.content .notice-item,
.content .user-row{
  border-color:rgba(129,174,204,.46);
  box-shadow:
    0 11px 27px rgba(7,47,80,.095),
    inset 0 1px 0 rgba(255,255,255,.88);
}
.content .card:hover,
.content .module-btn:hover,
.content .quick:hover,
.content .donation-entry:hover{
  border-color:rgba(210,168,79,.62);
  box-shadow:
    0 14px 31px rgba(7,47,80,.13),
    inset 0 1px 0 rgba(255,255,255,.92);
}
.content input,
.content select,
.content textarea{
  color:#0a3153;
  background:rgba(250,253,255,.86);
  border-color:#b9d0df;
  box-shadow:inset 0 1px 2px rgba(7,47,80,.055);
}
.content input:focus,
.content select:focus,
.content textarea:focus{
  border-color:#cda33f;
  box-shadow:0 0 0 3px rgba(205,163,63,.15),inset 0 1px 2px rgba(7,47,80,.04);
}
.content .primary{
  background:linear-gradient(135deg,#07548d,#0874b7);
  border-color:#0b649f;
  box-shadow:0 7px 16px rgba(7,84,141,.18),inset 0 1px 0 rgba(255,255,255,.18);
}
.content .secondary{
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(230,241,248,.9));
  border-color:#b8d0df;
  color:#0a4f7f;
}
.content .section-title{
  border-left-color:#d7a52b;
}
.content .section-title h2,
.content .card h3{
  color:#063c68;
}
.content .small,
.content .field label,
.content .item span{
  color:#587086;
}
.content .app-icon{
  vector-effect:non-scaling-stroke;
}
@media(max-width:640px){
  .content .card,
  .content .module,
  .content .quick,
  .content .donation-card{box-shadow:0 8px 20px rgba(7,47,80,.085),inset 0 1px 0 rgba(255,255,255,.86)}
}


/* V4.112 — campos suaves y biselados en todos los formularios */
.content .field input,
.content .field select,
.content .field textarea,
.content form input,
.content form select,
.content form textarea{
  border:1px solid #b7cfdf !important;
  border-radius:15px !important;
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(239,247,251,.94)) !important;
  box-shadow:
    inset 1px 1px 0 rgba(255,255,255,.98),
    inset -1px -2px 4px rgba(92,139,170,.08),
    0 4px 10px rgba(7,47,80,.045) !important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease !important;
}
.content .field input,
.content .field select,
.content form input,
.content form select{
  min-height:49px;
  padding-left:16px;
  padding-right:16px;
}
.content .field textarea,
.content form textarea{
  padding:13px 16px;
  line-height:1.5;
}
.content .field input:hover,
.content .field select:hover,
.content .field textarea:hover,
.content form input:hover,
.content form select:hover,
.content form textarea:hover{
  border-color:#8fb8d1 !important;
}
.content .field input:focus,
.content .field select:focus,
.content .field textarea:focus,
.content form input:focus,
.content form select:focus,
.content form textarea:focus{
  background:linear-gradient(145deg,#fff,#f4fafd) !important;
  border-color:#d0a33a !important;
  box-shadow:
    inset 1px 1px 0 #fff,
    inset -1px -2px 4px rgba(92,139,170,.06),
    0 0 0 4px rgba(208,163,58,.13),
    0 7px 15px rgba(7,47,80,.07) !important;
  outline:none !important;
}
@media(max-width:640px){
  .content .field input,
  .content .field select,
  .content form input,
  .content form select{min-height:47px;border-radius:14px !important}
  .content .field textarea,
  .content form textarea{border-radius:14px !important}
}


/* V4.113 — formulario de intenciones más cálido y atractivo */
.intention-form-card{
  position:relative;
  overflow:hidden;
  padding:24px 20px 20px !important;
  border-color:rgba(210,168,79,.70) !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(210,168,79,.11),transparent 28%),
    linear-gradient(145deg,rgba(255,253,246,.98),rgba(239,248,252,.96)) !important;
  box-shadow:
    0 16px 34px rgba(7,47,80,.115),
    inset 0 1px 0 rgba(255,255,255,.96) !important;
}
.intention-form-card::before{
  content:"";
  position:absolute;
  left:0;
  top:24px;
  bottom:24px;
  width:4px;
  border-radius:0 5px 5px 0;
  background:linear-gradient(#f0c75b,#c99116);
  box-shadow:0 0 13px rgba(210,168,79,.28);
}
.intention-form-card form{
  display:grid;
  gap:2px;
}
.intention-form-card .field{
  margin-bottom:13px;
}
.intention-form-card .field label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0 0 7px 2px;
  color:#254e70 !important;
  font-size:12px;
  font-weight:800;
  letter-spacing:.015em;
}
.intention-form-card input,
.intention-form-card select,
.intention-form-card textarea{
  border-color:#a9c9dc !important;
  background:
    linear-gradient(115deg,rgba(255,255,255,.99),rgba(238,248,253,.94)) !important;
  box-shadow:
    inset 1px 1px 0 #fff,
    inset -2px -2px 6px rgba(69,126,161,.075),
    0 6px 14px rgba(7,47,80,.065) !important;
}
.intention-form-card select{
  cursor:pointer;
}
.intention-form-card textarea{
  min-height:100px;
  resize:vertical;
}
.intention-form-card .primary{
  position:relative;
  overflow:hidden;
  min-height:48px;
  margin-top:1px;
  border:1px solid #08639e !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,#084c82 0%,#0877b9 64%,#0b6da5 100%) !important;
  box-shadow:
    0 9px 18px rgba(7,84,141,.22),
    inset 0 1px 0 rgba(255,255,255,.23) !important;
  font-weight:850;
  letter-spacing:.01em;
}
.intention-form-card .primary::after{
  content:"";
  position:absolute;
  left:10%;
  right:10%;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,#f1c85e,transparent);
  opacity:.9;
}
.intention-form-card .primary:hover{
  transform:translateY(-1px);
  background:linear-gradient(135deg,#073f70,#0780c6) !important;
}
.intention-list-card{
  overflow:hidden;
  border-color:rgba(210,168,79,.58) !important;
  background:linear-gradient(145deg,rgba(255,253,247,.96),rgba(239,247,251,.94)) !important;
}
.intention-list-card>.empty{
  min-height:98px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#587086;
}
@media(max-width:640px){
  .intention-form-card{padding:20px 15px 16px !important}
  .intention-form-card::before{top:20px;bottom:20px;width:3px}
}


/* V4.114 — celebraciones con mayor jerarquía y estado realizado */
.upcoming-mass-list,
.mass-history-card{
  overflow:hidden;
  border-color:rgba(126,174,205,.58) !important;
}
.upcoming-mass-row,
.completed-mass-row{
  position:relative;
  padding:21px 20px !important;
  transition:background .18s ease,transform .18s ease;
}
.upcoming-mass-row{
  background:
    radial-gradient(circle at 100% 0%,rgba(18,119,183,.07),transparent 35%),
    linear-gradient(145deg,rgba(247,252,255,.96),rgba(229,242,249,.88));
}
.upcoming-mass-row:hover{background:linear-gradient(145deg,#f9fdff,#e3f2fa)}
.mass-main-info{align-items:flex-start !important;gap:15px !important}
.mass-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.mass-copy>b{
  color:#073866 !important;
  font:700 20px/1.15 Georgia,"Times New Roman",serif;
}
.mass-symbol{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  color:#b78318 !important;
  font-size:24px;
  text-shadow:0 0 10px rgba(210,168,79,.22);
}
.mass-date-strong{
  margin-top:4px;
  color:#07558f !important;
  font-size:15px;
  font-weight:850;
}
.mass-meta{margin-top:4px;line-height:1.45}
.mass-status{
  margin-top:9px;
  padding:5px 10px !important;
  border-radius:999px !important;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.mass-status-done{
  color:#315d50 !important;
  background:linear-gradient(145deg,#e8f3ed,#d8e9e1) !important;
  border:1px solid #b9d4c8 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.completed-mass-row{
  background:
    radial-gradient(circle at 100% 50%,rgba(210,168,79,.065),transparent 34%),
    linear-gradient(145deg,rgba(247,250,251,.94),rgba(233,240,243,.9));
}
.completed-mass-row::after{
  content:"";
  position:absolute;
  left:20px;
  right:20px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(116,156,179,.28),transparent);
}
.completed-mass-row:last-child::after{display:none}
.completed-symbol{
  color:#4c806e !important;
  font-size:21px;
  text-shadow:none;
}
.completed-date{color:#4f6f82 !important;font-size:13px}
.mass-intentions-btn{
  border-radius:12px !important;
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(228,240,247,.9)) !important;
  border-color:#b4cfdf !important;
  box-shadow:0 5px 12px rgba(7,47,80,.07),inset 0 1px 0 #fff;
}
@media(max-width:640px){
  .upcoming-mass-row,.completed-mass-row{padding:17px 15px !important}
  .mass-symbol{width:36px;height:36px;flex-basis:36px;font-size:21px}
  .mass-copy>b{font-size:18px}
}


/* V4.116 — composición orgánica para solicitar intenciones */
.intention-form-card{
  padding:0 !important;
  border-radius:22px !important;
}
.intention-form-card::before{display:none}
.intention-form-intro{
  position:relative;
  display:flex;
  align-items:center;
  gap:16px;
  padding:21px 22px 18px;
  border-bottom:1px solid rgba(210,168,79,.38);
  background:
    radial-gradient(circle at 92% 10%,rgba(210,168,79,.14),transparent 28%),
    linear-gradient(135deg,rgba(235,246,252,.88),rgba(255,252,241,.9));
}
.intention-form-intro::after{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  bottom:-1px;
  height:2px;
  background:linear-gradient(90deg,#d5a52c,rgba(213,165,44,.15),transparent);
}
.intention-form-symbol{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  flex:0 0 56px;
  color:#c44366;
  background:radial-gradient(circle,rgba(255,255,255,.92),rgba(244,224,230,.76));
  border:1px solid rgba(196,67,102,.25);
  border-radius:50%;
  box-shadow:0 8px 18px rgba(108,53,73,.10),inset 0 1px 0 #fff;
}
.intention-form-symbol .app-icon{width:29px;height:29px;stroke-width:2}
.intention-form-kicker{
  display:block;
  margin-bottom:2px;
  color:#9b7117;
  font-size:10px;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.intention-form-intro h3{
  margin:0 !important;
  color:#073866;
  font-size:22px !important;
}
.intention-form-intro p{
  margin:4px 0 0;
  color:#5b7183;
  font-size:13px;
}
.intention-form-card form{
  display:block;
  padding:20px 22px 22px;
}
.intention-form-grid{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:15px 17px;
}
.intention-form-card .intention-field{
  margin:0;
  padding:13px 14px 14px;
  border:1px solid rgba(149,185,207,.43);
  border-radius:17px;
  background:rgba(250,253,255,.63);
  box-shadow:inset 0 1px 0 #fff,0 6px 15px rgba(7,47,80,.04);
}
.intention-form-card .intention-field-wide{grid-column:1/-1}
.intention-form-card .intention-field label{
  margin:0 0 8px !important;
  color:#244d6d !important;
}
.intention-form-card .intention-field label>span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:21px;
  height:21px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,#0a659f,#084b7e);
  box-shadow:0 3px 7px rgba(7,75,126,.17);
  font-size:10px;
  font-weight:900;
}
.intention-form-card .intention-field label small{
  margin-left:auto;
  color:#8a9aaa;
  font-size:10px;
  font-weight:650;
}
.intention-form-card .intention-field input,
.intention-form-card .intention-field select,
.intention-form-card .intention-field textarea{
  width:100%;
  border-radius:12px !important;
  box-shadow:inset 1px 1px 0 #fff,inset -1px -2px 5px rgba(69,126,161,.06) !important;
}
.intention-form-card .intention-notes{
  background:linear-gradient(145deg,rgba(255,252,243,.68),rgba(247,251,253,.72));
  border-color:rgba(210,168,79,.35);
}
.intention-form-card .intention-notes textarea{min-height:82px}
.intention-submit{
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:11px;
  width:100%;
  margin-top:17px !important;
}
.intention-submit b{
  color:#ffd45c;
  font-size:19px;
  transition:transform .18s ease;
}
.intention-submit:hover b{transform:translateX(4px)}
@media(max-width:720px){
  .intention-form-grid{grid-template-columns:1fr}
  .intention-form-card .intention-field-wide{grid-column:auto}
}
@media(max-width:480px){
  .intention-form-intro{align-items:flex-start;padding:18px 16px 15px}
  .intention-form-symbol{width:46px;height:46px;flex-basis:46px}
  .intention-form-symbol .app-icon{width:24px;height:24px}
  .intention-form-intro h3{font-size:19px !important}
  .intention-form-intro p{font-size:12px}
  .intention-form-card form{padding:15px}
  .intention-form-card .intention-field{padding:11px}
}


/* V4.117 — actividades con el lenguaje visual de la aplicación */
.activity-grid{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:17px;
}
.activity-empty-card{
  position:relative;
  grid-column:1/-1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:230px;
  padding:34px 24px !important;
  overflow:hidden;
  text-align:center;
  border-color:rgba(112,174,209,.58) !important;
  background:
    radial-gradient(circle at 50% 0%,rgba(24,128,190,.12),transparent 37%),
    radial-gradient(circle at 95% 100%,rgba(210,168,79,.10),transparent 32%),
    linear-gradient(145deg,rgba(244,251,255,.97),rgba(232,243,249,.93)) !important;
}
.activity-empty-card::before,
.activity-empty-card::after{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  border:1px solid rgba(28,126,184,.08);
  border-radius:50%;
}
.activity-empty-card::before{left:-52px;top:-55px}
.activity-empty-card::after{right:-48px;bottom:-58px;border-color:rgba(210,168,79,.12)}
.activity-empty-symbol{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  margin-bottom:12px;
  color:#0b76b6;
  border-radius:50%;
  background:radial-gradient(circle,#fff,rgba(219,239,249,.9));
  border:1px solid rgba(57,143,191,.28);
  box-shadow:0 9px 20px rgba(7,83,133,.12),inset 0 1px 0 #fff;
}
.activity-empty-symbol .app-icon{width:31px;height:31px;stroke-width:1.9}
.activity-empty-kicker{
  color:#9b7117;
  font-size:10px;
  font-weight:850;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.activity-empty-card h3{
  margin:5px 0 7px !important;
  font-size:22px !important;
}
.activity-empty-card p{
  max-width:560px;
  margin:0;
  color:#587086;
  font-size:14px;
  line-height:1.55;
}
.activity-card{
  position:relative;
  overflow:hidden;
  padding:20px !important;
  border-color:rgba(108,171,207,.56) !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(17,121,181,.10),transparent 34%),
    linear-gradient(145deg,rgba(249,253,255,.98),rgba(230,243,250,.93)) !important;
}
.activity-card::before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:4px;
  border-radius:0 4px 4px 0;
  background:linear-gradient(#1592d2,#0b5f9a);
}
.activity-card .activity-date{
  color:#07578e;
  font-size:13px;
  font-weight:800;
}
.activity-card h3{
  margin:13px 0 5px !important;
  font-size:21px !important;
}
.activity-place{
  color:#587086;
  font-size:13px;
  font-weight:650;
}
.activity-card>p{
  margin:13px 0;
  color:#3f5d74;
  line-height:1.5;
}
.activity-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:14px 0;
}
.activity-meta span{
  padding:5px 9px;
  border-radius:999px;
  color:#245a7f !important;
  background:rgba(222,239,248,.88);
  border:1px solid rgba(112,170,202,.34);
  font-size:11px;
  font-weight:750;
}
.activity-form-card{
  border-color:rgba(210,168,79,.60) !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(210,168,79,.10),transparent 30%),
    linear-gradient(145deg,rgba(255,253,247,.97),rgba(236,247,252,.94)) !important;
}
.activity-form-card>h3{
  padding-bottom:11px;
  border-bottom:1px solid rgba(210,168,79,.28);
}
@media(max-width:640px){
  .activity-empty-card{min-height:205px;padding:28px 18px !important}
  .activity-empty-card h3{font-size:19px !important}
  .activity-empty-card p{font-size:13px}
  .activity-card{padding:17px !important}
}


/* V4.118 — sección Más, perfil y novedades de la comunidad */
.content{
  padding-bottom:148px !important;
}
.account-card{
  position:relative;
  padding:9px !important;
  overflow:hidden;
  border-color:rgba(210,168,79,.62) !important;
  background:
    radial-gradient(circle at 8% 0%,rgba(255,255,255,.96),transparent 30%),
    linear-gradient(135deg,rgba(255,253,245,.97),rgba(230,243,249,.94)) !important;
  box-shadow:0 13px 28px rgba(7,47,80,.12),inset 0 1px 0 rgba(255,255,255,.95) !important;
}
.account-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(112deg,transparent 18%,rgba(255,255,255,.46) 40%,transparent 62%);
  opacity:.54;
}
.account-profile-button{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:15px;
  width:100%;
  padding:15px 17px;
  border:1px solid rgba(132,180,207,.34);
  border-radius:16px;
  color:#0a3558;
  text-align:left;
  background:rgba(249,253,255,.72);
  box-shadow:inset 0 1px 0 #fff,0 6px 15px rgba(7,47,80,.055);
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.account-profile-button:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.88);
  box-shadow:inset 0 1px 0 #fff,0 9px 20px rgba(7,47,80,.09);
}
.account-icon{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:49px !important;
  height:49px !important;
  flex:0 0 49px;
  color:#0b6da8 !important;
  border:1px solid rgba(80,155,194,.28);
  border-radius:50%;
  background:radial-gradient(circle at 34% 25%,#fff 0 20%,#e1f1f9 72%,#cfe7f3);
  box-shadow:0 8px 17px rgba(7,79,126,.13),inset 0 1px 0 #fff;
}
.account-icon .app-icon{width:25px;height:25px}
.account-copy{
  display:flex;
  flex:1;
  min-width:0;
  flex-direction:column;
}
.account-copy small{
  margin-bottom:2px;
  color:#a47613;
  font-size:10px;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.account-copy b{
  color:#073866;
  font-size:17px;
}
.account-copy>span{
  margin-top:2px;
  color:#5a7286;
  font-size:13px;
}
.account-profile-button .user-arrow{
  color:#0871ad;
  font-size:29px;
  font-weight:400;
}
.more-donation-wrap .donation-card{
  box-shadow:0 15px 29px rgba(7,47,80,.13),inset 0 1px 0 rgba(255,255,255,.96) !important;
}
.more-donation-wrap .donation-card::after{
  content:"";
  position:absolute;
  left:8%;
  right:18%;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),rgba(210,168,79,.52),transparent);
}
.notice-publish-card{
  position:relative;
  padding:20px !important;
  border-color:rgba(210,168,79,.60) !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(210,168,79,.11),transparent 30%),
    linear-gradient(145deg,rgba(255,253,247,.97),rgba(235,247,252,.95)) !important;
}
.notice-publish-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
  padding-bottom:13px;
  border-bottom:1px solid rgba(210,168,79,.28);
}
.notice-publish-head>span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:43px;
  height:43px;
  color:#0b70aa;
  border-radius:50%;
  background:#edf8fd;
  border:1px solid rgba(83,155,194,.27);
}
.notice-publish-head .app-icon{width:22px;height:22px}
.notice-publish-head small{
  display:block;
  color:#9b7117;
  font-size:10px;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.notice-publish-head h3{margin:2px 0 0 !important}
.notices-grid{
  display:grid;
  gap:13px;
}
.notice-card{
  position:relative;
  display:grid;
  grid-template-columns:47px minmax(0,1fr) 18px;
  align-items:start;
  gap:14px;
  padding:18px 19px;
  overflow:hidden;
  border:1px solid rgba(119,172,202,.46);
  border-radius:19px;
  background:
    radial-gradient(circle at 100% 0%,rgba(18,121,181,.075),transparent 34%),
    linear-gradient(145deg,rgba(250,253,255,.97),rgba(234,244,249,.93));
  box-shadow:0 10px 23px rgba(7,47,80,.09),inset 0 1px 0 #fff;
}
.notice-card::before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  bottom:16px;
  width:3px;
  border-radius:0 4px 4px 0;
  background:linear-gradient(#1592d2,#0b609a);
}
.notice-card-latest{
  border-color:rgba(210,168,79,.61);
  background:
    radial-gradient(circle at 100% 0%,rgba(210,168,79,.11),transparent 34%),
    linear-gradient(145deg,rgba(255,253,247,.98),rgba(233,245,250,.94));
}
.notice-card-latest::before{background:linear-gradient(#ecc34e,#c88d13)}
.notice-icon{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:47px !important;
  height:47px;
  color:#0b70aa !important;
  border:1px solid rgba(83,155,194,.27);
  border-radius:50%;
  background:radial-gradient(circle at 35% 25%,#fff,#e4f2f9);
  box-shadow:0 6px 14px rgba(7,76,123,.10),inset 0 1px 0 #fff;
}
.notice-icon .app-icon{width:23px;height:23px}
.notice-copy{min-width:0}
.notice-topline{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin-bottom:5px;
}
.notice-category,
.notice-new{
  display:inline-flex;
  padding:4px 8px;
  border-radius:999px;
  font-size:9px;
  font-weight:850;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.notice-category{
  color:#256182;
  background:rgba(220,239,248,.86);
  border:1px solid rgba(94,160,195,.28);
}
.notice-new{
  color:#8b6411;
  background:rgba(255,244,207,.85);
  border:1px solid rgba(210,168,79,.35);
}
.notice-copy h3{
  margin:0 0 5px !important;
  color:#073866;
  font-size:17px !important;
}
.notice-copy .notice-body{
  margin:0 0 8px;
  color:#345873;
  font-size:14px;
  line-height:1.48;
}
.notice-copy time{
  color:#6b8294;
  font-size:11px;
  font-weight:650;
}
.notice-arrow{
  align-self:center;
  color:#0871ad;
  font-size:28px;
  line-height:1;
}
.notices-empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:160px;
  text-align:center;
}
.notices-empty>span{
  display:inline-flex;
  margin-bottom:8px;
  color:#0b70aa;
}
.notices-empty .app-icon{width:30px;height:30px}
.notices-empty b{color:#073866;font:700 18px Georgia,"Times New Roman",serif}
.notices-empty p{margin:5px 0 0;color:#5c7386;font-size:13px}
@media(max-width:640px){
  .content{padding-bottom:132px !important}
  .account-profile-button{padding:13px 12px;gap:12px}
  .account-icon{width:44px !important;height:44px !important;flex-basis:44px}
  .account-copy>span{font-size:12px}
  .notice-card{grid-template-columns:41px minmax(0,1fr) 13px;padding:16px 14px;gap:11px}
  .notice-icon{width:41px !important;height:41px}
  .notice-icon .app-icon{width:20px;height:20px}
  .notice-copy .notice-body{font-size:13px}
}


/* V4.119 — colaboración cálida, clara y preparada para multiparroquia */
.donation-detail{
  position:relative;
  overflow:hidden;
  padding:0 !important;
  border-color:rgba(210,168,79,.58) !important;
  border-radius:22px !important;
  background:
    radial-gradient(circle at 96% 3%,rgba(210,168,79,.12),transparent 28%),
    linear-gradient(145deg,rgba(248,253,255,.98),rgba(232,244,250,.95)) !important;
  box-shadow:0 16px 34px rgba(7,47,80,.13),inset 0 1px 0 #fff !important;
}
.donation-detail::after{
  content:"";
  position:absolute;
  left:6%;
  right:20%;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,#fff,rgba(232,190,76,.7),transparent);
}
.donation-detail-head{
  position:relative;
  display:flex;
  align-items:center;
  gap:17px;
  margin:0 !important;
  padding:22px 24px 19px;
  border-bottom:1px solid rgba(210,168,79,.32);
  background:
    radial-gradient(circle at 92% 0%,rgba(210,168,79,.15),transparent 30%),
    linear-gradient(135deg,rgba(235,247,252,.92),rgba(255,252,242,.88));
}
.donation-detail-head::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  bottom:-1px;
  height:2px;
  background:linear-gradient(90deg,#d3a12b,rgba(211,161,43,.18),transparent);
}
.donation-detail-head .donation-symbol-large{
  width:59px;
  height:59px;
  flex-basis:59px;
  color:#bf3f61;
  border-color:rgba(191,63,97,.24);
  border-radius:50%;
  background:radial-gradient(circle at 34% 27%,#fff,#f5e5ea 72%);
  box-shadow:0 9px 20px rgba(98,45,62,.12),inset 0 1px 0 #fff;
}
.donation-detail-head .donation-symbol-large .app-icon{width:30px;height:30px}
.donation-detail-head h3{
  margin:2px 0 4px !important;
  font-size:23px !important;
}
.donation-detail-head p{
  max-width:640px;
  margin:0;
  color:#506b80;
  font-size:13px;
  line-height:1.45;
}
.donation-current{
  position:relative;
  display:flex;
  align-items:center;
  gap:16px;
  margin:20px 22px 0;
  padding:18px 19px !important;
  overflow:hidden;
  border:1px solid rgba(210,168,79,.72) !important;
  border-radius:18px !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(225,185,72,.18),transparent 38%),
    linear-gradient(135deg,rgba(255,250,232,.98),rgba(239,248,251,.95)) !important;
  box-shadow:0 10px 22px rgba(88,67,18,.09),inset 0 1px 0 #fff;
}
.donation-current::before{
  content:"";
  position:absolute;
  left:0;
  top:15px;
  bottom:15px;
  width:4px;
  border-radius:0 4px 4px 0;
  background:linear-gradient(#efc84d,#c78c16);
}
.donation-current-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  flex:0 0 50px;
  color:#b37a12;
  border:1px solid rgba(210,168,79,.42);
  border-radius:50%;
  background:rgba(255,255,255,.72);
  box-shadow:0 7px 16px rgba(89,65,15,.09),inset 0 1px 0 #fff;
}
.donation-current-icon .app-icon{width:25px;height:25px}
.donation-current-copy{min-width:0;flex:1}
.donation-current-top{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:4px;
}
.donation-current .donation-current-top>span{
  display:inline;
  margin:0;
  color:#8d6818;
  font-size:10px;
  font-weight:850;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.donation-current-top em{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:4px 8px;
  border:1px solid rgba(78,143,119,.25);
  border-radius:999px;
  color:#376e5d;
  background:rgba(224,241,234,.9);
  font-size:9px;
  font-style:normal;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.donation-current-top em::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:#4f9a7e;
  box-shadow:0 0 0 3px rgba(79,154,126,.10);
}
.donation-current b{font-size:17px}
.donation-current p{
  max-width:650px;
  margin-top:4px;
  line-height:1.45;
}
.donation-future{
  margin:19px 22px 22px !important;
  padding-top:17px;
  border-top:1px solid rgba(121,166,191,.22);
}
.donation-future-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:15px;
}
.donation-future-heading .donation-kicker{margin:0}
.donation-future-heading>small{
  color:#7a8c9a;
  font-size:11px;
}
.donation-options{
  gap:11px !important;
  margin-top:11px !important;
}
.donation-options>div{
  min-height:91px !important;
  position:relative;
  opacity:1;
  border-color:rgba(104,151,180,.48) !important;
  background:
    linear-gradient(145deg,#eef7fb,#fff) !important;
  box-shadow:0 5px 14px rgba(35,91,124,.07),inset 0 1px 0 #fff;
  filter:none;
}
.donation-options>div::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(120deg,transparent 24%,rgba(255,255,255,.22) 47%,transparent 68%);
  pointer-events:none;
}
.donation-options>div .app-icon{color:#176b96;filter:drop-shadow(0 2px 3px rgba(12,75,111,.12))}.donation-options>div:nth-child(1) .app-icon{color:#b47b0a}.donation-options>div:nth-child(3) .app-icon{color:#0789b7}
.donation-options>div b{color:#153f60;font-weight:900}
.donation-options>div small{
  display:flex;
  align-items:center;
  gap:4px;
  color:#617887;
}
.donation-options>div small span{font-size:13px}
@media(max-width:640px){
  .donation-detail-head{align-items:flex-start;padding:18px 16px 16px;gap:13px}
  .donation-detail-head::after{left:16px;right:16px}
  .donation-detail-head .donation-symbol-large{width:48px;height:48px;flex-basis:48px}
  .donation-detail-head .donation-symbol-large .app-icon{width:25px;height:25px}
  .donation-detail-head h3{font-size:19px !important}
  .donation-detail-head p{font-size:12px}
  .donation-current{align-items:flex-start;margin:15px 14px 0;padding:15px 14px !important;gap:12px}
  .donation-current-icon{width:42px;height:42px;flex-basis:42px}
  .donation-current-icon .app-icon{width:22px;height:22px}
  .donation-current-top{align-items:flex-start;flex-direction:column;gap:4px}
  .donation-current b{font-size:15px}
  .donation-current p{font-size:12px}
  .donation-future{margin:16px 14px 18px !important;padding-top:14px}
  .donation-future-heading{align-items:flex-start;flex-direction:column;gap:4px}
  .donation-options{grid-template-columns:1fr !important}
  .donation-options>div{
    min-height:65px !important;
    display:grid !important;
    grid-template-columns:34px 1fr auto;
    align-items:center;
    justify-content:initial !important;
    gap:9px !important;
    padding:10px 12px !important;
  }
  .donation-options>div .app-icon{width:23px;height:23px}
  .donation-options>div b{text-align:left}
  .donation-options>div small{margin:0 !important;white-space:nowrap}
}


/* V4.130 — horarios públicos con acabado visual parroquial */
.massapp{
  min-height:100svh;
  background:
    radial-gradient(circle at 10% 8%,rgba(19,104,164,.12),transparent 30%),
    radial-gradient(circle at 90% 88%,rgba(218,155,33,.12),transparent 28%),
    linear-gradient(145deg,#edf6fc 0%,#f7f8f5 55%,#edf4f8 100%)!important;
}
.massapp-head{
  height:82px!important;
  background:linear-gradient(115deg,#073866,#0b5a91)!important;
  border-bottom:2px solid #dba128!important;
  box-shadow:0 7px 22px rgba(5,43,76,.18)!important;
}
.massapp-back{
  width:46px!important;
  height:46px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.18)!important;
}
.massapp-logo{
  width:50px!important;
  height:50px!important;
  padding:3px!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:0 5px 14px rgba(0,0,0,.22)!important;
}
.massapp-main{
  width:min(920px,calc(100% - 36px))!important;
  padding-top:28px!important;
}
.massapp-hero{
  padding:28px 30px!important;
  margin-bottom:20px!important;
  border:1px solid rgba(255,255,255,.38)!important;
  border-radius:26px!important;
  background:
    linear-gradient(120deg,rgba(6,55,99,.98),rgba(13,103,159,.94))!important;
  box-shadow:
    0 16px 36px rgba(7,56,102,.20),
    inset 0 1px rgba(255,255,255,.22)!important;
}
.massapp-hero:before{
  content:"";
  position:absolute;
  left:0;
  top:24px;
  bottom:24px;
  width:5px;
  border-radius:0 5px 5px 0;
  background:linear-gradient(#ffd66b,#d99616);
  box-shadow:0 0 16px rgba(255,198,58,.55);
}
.massapp-hero h1{
  font-size:36px!important;
  text-shadow:0 2px 10px rgba(0,0,0,.18)!important;
}
.massapp-hero-cross{
  color:#ffd05c!important;
  text-shadow:0 0 18px rgba(255,202,72,.48)!important;
}
.massapp-list{
  display:grid!important;
  gap:16px!important;
}
.massapp-item{
  position:relative!important;
  overflow:hidden!important;
  padding:24px 26px!important;
  border:1px solid rgba(218,155,33,.55)!important;
  border-left:6px solid #d99b21!important;
  border-radius:22px!important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(241,248,252,.96))!important;
  box-shadow:
    0 14px 32px rgba(8,45,82,.12),
    inset 0 1px #fff!important;
}
.massapp-item:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:42%;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.34),transparent);
}
.massapp-item.next{
  border-top:1px solid rgba(218,155,33,.55)!important;
  border-left:6px solid #e3a11e!important;
  padding-top:24px!important;
  box-shadow:
    0 17px 38px rgba(8,45,82,.15),
    0 0 0 1px rgba(227,161,30,.08),
    inset 0 1px #fff!important;
}
.massapp-badge,
.massapp-date,
.massapp-item h2,
.massapp-meta{
  position:relative;
  z-index:1;
}
.massapp-badge{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:5px 12px!important;
  margin-bottom:12px!important;
  border:1px solid rgba(218,155,33,.28)!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#fff4d4,#ffe9ad)!important;
  box-shadow:0 4px 10px rgba(130,85,0,.08)!important;
}
.massapp-date{
  color:#075591!important;
  font-size:18px!important;
  font-weight:900!important;
}
.massapp-item h2{
  margin:5px 0 8px!important;
  color:#073866!important;
  font-size:27px!important;
  text-shadow:0 1px #fff!important;
}
.massapp-meta{
  color:#52718b!important;
  font-size:15px!important;
}
.massapp-foot{
  width:min(920px,calc(100% - 36px))!important;
  margin-top:34px!important;
  padding-bottom:28px!important;
}
@media(max-width:600px){
  .massapp-head{height:76px!important}
  .massapp-main{width:calc(100% - 24px)!important;padding-top:18px!important}
  .massapp-hero{padding:22px 19px!important;border-radius:21px!important}
  .massapp-hero:before{top:18px;bottom:18px}
  .massapp-hero h1{font-size:28px!important}
  .massapp-item,
  .massapp-item.next{padding:20px 18px!important;border-radius:19px!important}
  .massapp-date{font-size:16px!important}
  .massapp-item h2{font-size:23px!important}
  .massapp-foot{width:calc(100% - 24px)!important}
}


/* V4.131 — horarios públicos alineados con feligres.prueba3 */
.massapp-main,
.massapp-foot{
  width:min(820px,calc(100% - 32px))!important;
}
.massapp-main{
  padding-top:26px!important;
}
.massapp-hero{
  padding:22px 26px!important;
  margin-bottom:16px!important;
  border-radius:21px!important;
  box-shadow:
    0 11px 26px rgba(7,56,102,.16),
    inset 0 1px rgba(255,255,255,.18)!important;
}
.massapp-hero:before{
  top:18px!important;
  bottom:18px!important;
  width:4px!important;
}
.massapp-hero h1{
  margin:5px 0!important;
  font-size:32px!important;
}
.massapp-hero p{
  font-size:15px!important;
}
.massapp-hero-cross{
  font-size:48px!important;
}
.massapp-list{
  gap:14px!important;
}
.massapp-item,
.massapp-item.next{
  padding:20px 22px!important;
  border-radius:18px!important;
  background:
    linear-gradient(145deg,#ffffff 0%,#f2f8fc 100%)!important;
  box-shadow:
    0 9px 24px rgba(8,45,82,.10),
    inset 0 1px #fff!important;
}
.massapp-badge{
  min-height:25px!important;
  padding:4px 10px!important;
  margin-bottom:10px!important;
  font-size:10px!important;
}
.massapp-date{
  font-size:17px!important;
}
.massapp-item h2{
  margin:4px 0 6px!important;
  font-size:24px!important;
}
.massapp-meta{
  font-size:14px!important;
}
.massapp-foot{
  margin-top:26px!important;
  padding-bottom:24px!important;
}
@media(max-width:600px){
  .massapp-main,
  .massapp-foot{
    width:calc(100% - 24px)!important;
  }
}


/* V4.134 — horarios públicos como módulo del portal del feligrés */
.massapp-main,
.massapp-foot{
  width:min(780px,calc(100% - 32px))!important;
}
.massapp-hero{
  margin-bottom:16px!important;
}
.massapp-list{
  display:block!important;
  padding:10px 18px!important;
  overflow:hidden!important;
  border:1px solid rgba(218,155,33,.58)!important;
  border-radius:22px!important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.94),rgba(235,246,252,.92))!important;
  box-shadow:
    0 15px 34px rgba(8,45,82,.13),
    inset 0 1px rgba(255,255,255,.96)!important;
}
.massapp-item,
.massapp-item.next{
  position:relative!important;
  min-height:0!important;
  margin:0!important;
  padding:19px 18px 19px 54px!important;
  border:0!important;
  border-bottom:1px solid #c8dce9!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.massapp-item:last-child{
  border-bottom:0!important;
}
.massapp-item:before{
  content:"✝"!important;
  position:absolute!important;
  left:18px!important;
  top:24px!important;
  color:#d99719!important;
  font:700 24px/1 Georgia,serif!important;
  text-shadow:0 0 12px rgba(224,159,30,.24)!important;
}
.massapp-item:after{
  display:none!important;
}
.massapp-item.next{
  background:linear-gradient(90deg,rgba(255,246,218,.40),transparent 42%)!important;
}
.massapp-badge{
  margin:0 0 8px!important;
}
.massapp-date{
  font-size:16px!important;
}
.massapp-item h2{
  margin:3px 0 5px!important;
  font-size:23px!important;
}
.massapp-meta{
  font-size:14px!important;
}
.massapp-empty{
  padding:28px 20px!important;
  text-align:center!important;
}
@media(max-width:600px){
  .massapp-list{
    padding:7px 12px!important;
    border-radius:19px!important;
  }
  .massapp-item,
  .massapp-item.next{
    padding:18px 10px 18px 43px!important;
  }
  .massapp-item:before{
    left:12px!important;
    top:22px!important;
    font-size:21px!important;
  }
}


/* Catequesis V4.139 */
.catechesis-hero{display:flex;gap:18px;align-items:center;padding:24px;border-radius:22px;background:linear-gradient(135deg,#083a61,#126b9d);color:#fff;box-shadow:0 16px 34px rgba(6,42,70,.2)}
.catechesis-hero>span{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:rgba(255,255,255,.14);color:#ffc13b}
.catechesis-hero .app-icon{width:34px;height:34px}.catechesis-hero small{color:#bce7ff;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.catechesis-hero h2{font-family:Georgia,serif;font-size:2rem;margin:3px 0}.catechesis-hero p{margin:0;color:#e8f6ff}
.catechist-grid,.catechesis-groups,.catechesis-feed{display:grid;gap:14px}.catechist-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.catechist-card{display:flex;gap:14px;align-items:center;padding:18px;border:1px solid #dce7ee;border-radius:18px;background:#fff;box-shadow:0 10px 25px rgba(8,47,74,.08)}
.catechist-avatar{width:54px;height:54px;flex:0 0 54px;display:grid;place-items:center;border-radius:50%;background:#e8f5fb;color:#0b5e91}.catechist-avatar .app-icon{width:28px;height:28px}
.catechist-info{min-width:0;flex:1}.catechist-info small{color:#1677a8;font-weight:800;text-transform:uppercase}.catechist-info h3{margin:2px 0 4px;font-family:Georgia,serif;font-size:1.35rem}.catechist-info p{margin:0 0 10px;color:#607382}
.catechist-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.catechist-actions span{font-weight:700}.catechist-actions a,.catechesis-responsible a{display:inline-flex;padding:7px 12px;border-radius:999px;background:#0b5e91;color:#fff;text-decoration:none;font-weight:800}
.catechesis-groups{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.catechesis-group-card{border-top:4px solid #efad22}.catechesis-group-head{display:flex;gap:12px;align-items:center}.catechesis-group-head>span{color:#0b5e91}.catechesis-group-head .app-icon{width:30px;height:30px}.catechesis-group-head small{color:#9b6a00;font-weight:800}.catechesis-group-head h3{margin:2px 0;font-family:Georgia,serif}
.catechesis-schedule,.catechesis-responsible{display:flex;gap:5px;flex-direction:column;padding:12px 0;border-top:1px solid #e6ecef}.catechesis-responsible a{align-self:flex-start;margin-top:5px}
.catechesis-admin{border-left:5px solid #0b6ea8}.catechesis-admin>p{margin-top:0}
.catechesis-post{position:relative;overflow:hidden}.catechesis-post:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#1681ba}.catechesis-post.kind-evento:before{background:#e7a51f}.catechesis-post.kind-material:before{background:#3b8c62}.catechesis-post.kind-comentario:before{background:#7656a8}
.catechesis-post-top,.catechesis-post-foot{display:flex;justify-content:space-between;gap:12px;align-items:center}.catechesis-post-top span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#0b6ea8}.catechesis-post-top time,.catechesis-post-foot{font-size:.86rem;color:#687985}.catechesis-post h3{margin:10px 0 6px;font-family:Georgia,serif;font-size:1.35rem}.catechesis-post p{white-space:pre-line}.catechesis-event{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;margin:12px 0;border-radius:12px;background:#eef7fb;color:#164e70}.catechesis-event .app-icon{width:20px;height:20px}.catechesis-post-foot{padding-top:12px;border-top:1px solid #e4eaed}.link-danger{width:auto;padding:5px 9px;background:transparent!important;color:#a52c2c!important;border:0!important;box-shadow:none!important}
.module-catequesis{background:linear-gradient(145deg,#eef8fc,#fff)!important;border-color:#afd9eb!important}.module-catequesis .module-icon{color:#0b6ea8}
.catechesis-empty{text-align:center;color:#687985}
@media(max-width:640px){.catechesis-hero{padding:18px;align-items:flex-start}.catechesis-hero h2{font-size:1.65rem}.catechesis-hero>span{width:48px;height:48px;flex:0 0 48px}.catechist-grid,.catechesis-groups{grid-template-columns:1fr}.catechesis-post-top,.catechesis-post-foot{align-items:flex-start;flex-direction:column}}


/* V4.9: navegación completa y edición de celebraciones */
.bottom.bottom-six{
  width:min(820px,calc(100% - 20px));
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:4px;
  padding:6px;
}
.bottom.bottom-six .nav{
  min-width:0;
  padding:7px 3px;
  font-size:9px;
}
.bottom.bottom-six .nav strong{
  line-height:1;
  margin-bottom:3px;
}
.bottom.bottom-six .app-icon{
  width:19px;
  height:19px;
}
.mass-row-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.mass-edit-btn{
  border:1px solid #e6bf55;
  background:#fffaf0;
  color:var(--navy);
  border-radius:12px;
  padding:10px 13px;
  font-weight:850;
  white-space:nowrap;
}
.mass-edit-btn:hover{background:#fff3d2}
.mass-edit-card{
  border:1px solid #e6bf55;
  box-shadow:0 18px 45px rgba(12,61,103,.13);
  scroll-margin-top:18px;
}
.mass-edit-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.mass-edit-heading h3{margin:3px 0 0}
.mass-edit-kicker{
  color:#b77800;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}
.mass-edit-card .mass-form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.mass-notes-field{grid-column:1/-1}
.mass-edit-card textarea{resize:vertical}
.mass-edit-card .mass-form-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.mass-edit-card .mass-form-actions .secondary{width:auto}
.mass-note{
  margin-top:6px;
  padding:6px 9px;
  border-radius:9px;
  background:#fff7df;
  color:#735619;
}
@media(max-width:640px){
  .bottom.bottom-six{width:calc(100% - 10px);gap:1px;padding:5px 3px}
  .bottom.bottom-six .nav{padding:7px 1px;font-size:8px}
  .bottom.bottom-six .app-icon{width:17px;height:17px}
  .mass-edit-card .mass-form-grid{grid-template-columns:1fr}
  .mass-notes-field{grid-column:auto}
  .mass-row{align-items:flex-start;flex-direction:column}
  .mass-row-actions{width:100%;justify-content:stretch}
  .mass-row-actions button{flex:1}
}


/* V4.10-fixed-six-nav */
.bottom.bottom-six{
  width:min(840px,calc(100% - 20px)) !important;
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  grid-auto-flow:column !important;
  grid-auto-columns:minmax(0,1fr) !important;
  gap:6px !important;
  padding:0 !important;
}
.bottom.bottom-six .nav{
  width:100% !important;
  min-width:0 !important;
  min-height:60px !important;
  padding:7px 3px 6px !important;
  font-size:9px !important;
}
.bottom.bottom-six .nav strong,
.bottom.bottom-six .nav strong .app-icon{
  width:19px !important;
  height:19px !important;
}
@media(max-width:640px){
  .bottom.bottom-six{
    width:calc(100% - 8px) !important;
    gap:3px !important;
  }
  .bottom.bottom-six .nav{
    min-height:56px !important;
    padding:6px 1px 5px !important;
    border-radius:12px !important;
    font-size:7.5px !important;
  }
  .bottom.bottom-six .nav strong,
  .bottom.bottom-six .nav strong .app-icon{
    width:16px !important;
    height:16px !important;
  }
}


/* V4.140 — Catequesis alineada con Intenciones */
.catechesis-hero{
  position:relative;
  overflow:hidden;
  color:#073866 !important;
  border:1px solid rgba(210,168,79,.68) !important;
  background:
    radial-gradient(circle at 96% 5%,rgba(210,168,79,.16),transparent 28%),
    linear-gradient(135deg,rgba(235,246,252,.96),rgba(255,252,241,.98)) !important;
  box-shadow:0 16px 34px rgba(7,47,80,.115),inset 0 1px 0 #fff !important;
}
.catechesis-hero::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,#d5a52c,rgba(213,165,44,.18),transparent);
}
.catechesis-hero>span{
  color:#0a659e !important;
  background:linear-gradient(145deg,#fffaf0,#e7f3fa) !important;
  border:1px solid rgba(210,168,79,.5);
  box-shadow:0 7px 18px rgba(7,47,80,.09),inset 0 1px 0 #fff;
}
.catechesis-hero small{
  color:#9b6a00 !important;
  font-size:11px;
  font-weight:900 !important;
}
.catechesis-hero h2{
  color:#073866 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:2rem;
  letter-spacing:-.02em;
}
.catechesis-hero p{color:#47667d !important}
.catechesis-admin{
  overflow:hidden;
  padding:20px !important;
  border:1px solid rgba(210,168,79,.68) !important;
  border-left:1px solid rgba(210,168,79,.68) !important;
  border-radius:22px !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(210,168,79,.10),transparent 30%),
    linear-gradient(145deg,rgba(255,253,246,.98),rgba(239,248,252,.96)) !important;
  box-shadow:0 16px 34px rgba(7,47,80,.10),inset 0 1px 0 #fff !important;
}
.catechesis-admin form>.row,
.catechesis-admin form>.field{
  margin-bottom:14px;
}
.catechesis-admin .field label{
  color:#254e70 !important;
  font-size:12px;
  font-weight:850;
}
.catechesis-admin input,
.catechesis-admin select,
.catechesis-admin textarea{
  border-color:#a9c9dc !important;
  background:linear-gradient(115deg,#fff,rgba(238,248,253,.96)) !important;
  box-shadow:inset 1px 1px 0 #fff,inset -2px -2px 6px rgba(69,126,161,.07),0 6px 14px rgba(7,47,80,.06) !important;
}
.catechesis-admin .primary{
  min-height:48px;
  border:1px solid #08639e !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,#084c82 0%,#0877b9 64%,#0b6da5 100%) !important;
  box-shadow:0 9px 18px rgba(7,84,141,.22),inset 0 1px 0 rgba(255,255,255,.23) !important;
  font-weight:850;
}
.catechist-card,
.catechesis-group-card,
.catechesis-post{
  border-color:rgba(126,174,205,.58) !important;
  background:linear-gradient(145deg,rgba(249,253,255,.98),rgba(235,246,251,.94)) !important;
}
.catechist-info h3,
.catechesis-group-head h3,
.catechesis-post h3{
  color:#073866 !important;
  font-family:Georgia,"Times New Roman",serif !important;
}
@media(max-width:640px){
  .catechesis-hero{padding:18px 15px !important;gap:13px}
  .catechesis-hero::after{left:15px;right:15px}
  .catechesis-hero h2{font-size:1.7rem !important}
  .catechesis-admin{padding:16px 14px !important}
  .catechesis-admin .row{grid-template-columns:1fr !important}
}


/* V4.141 — encabezados azules Catequesis e Intenciones */
.catechesis-hero{
  position:relative;
  overflow:hidden;
  color:#fff !important;
  border:0 !important;
  background:linear-gradient(135deg,#083a61 0%,#0b5687 58%,#126b9d 100%) !important;
  box-shadow:0 16px 34px rgba(6,42,70,.20) !important;
}
.catechesis-hero::after{display:none !important}
.catechesis-hero>span{
  color:#ffc13b !important;
  background:rgba(255,255,255,.14) !important;
  border:0 !important;
  box-shadow:none !important;
}
.catechesis-hero small{
  color:#bce7ff !important;
  text-transform:uppercase;
  font-weight:900 !important;
  letter-spacing:.08em;
}
.catechesis-hero h2{
  color:#fff !important;
  font-family:Georgia,"Times New Roman",serif !important;
}
.catechesis-hero p{color:#e8f6ff !important}

.intention-form-intro{
  position:relative;
  color:#fff !important;
  border-bottom:0 !important;
  background:linear-gradient(135deg,#083a61 0%,#0b5687 58%,#126b9d 100%) !important;
  box-shadow:0 12px 28px rgba(6,42,70,.16);
}
.intention-form-intro::after{display:none !important}
.intention-form-symbol{
  color:#ffc13b !important;
  background:rgba(255,255,255,.14) !important;
  border:0 !important;
  box-shadow:none !important;
}
.intention-form-symbol .app-icon{color:#ffc13b !important}
.intention-form-kicker{
  color:#bce7ff !important;
  text-transform:uppercase;
  font-weight:900 !important;
  letter-spacing:.08em;
}
.intention-form-intro h3{
  color:#fff !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:2rem !important;
  line-height:1.05;
}
.intention-form-intro p{color:#e8f6ff !important}
@media(max-width:640px){
  .intention-form-intro h3{font-size:1.55rem !important}
  .intention-form-intro{padding:18px 15px !important}
}


/* V4.142 — encabezados principales Misas y Gestión */
.module-hero{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  gap:18px;
  padding:24px;
  margin-bottom:22px;
  border-radius:22px;
  color:#fff;
  background:linear-gradient(135deg,#083a61 0%,#0b5687 58%,#126b9d 100%);
  box-shadow:0 16px 34px rgba(6,42,70,.20);
}
.module-hero>span{
  width:58px;
  height:58px;
  flex:0 0 58px;
  display:grid;
  place-items:center;
  border-radius:18px;
  color:#ffc13b;
  background:rgba(255,255,255,.14);
}
.module-hero>span .app-icon{width:34px;height:34px}
.module-hero small{
  color:#bce7ff;
  text-transform:uppercase;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}
.module-hero h2{
  margin:3px 0;
  color:#fff;
  font:700 2rem/1.05 Georgia,"Times New Roman",serif;
}
.module-hero p{margin:0;color:#e8f6ff}
.module-hero-management{
  background:linear-gradient(135deg,#082f57 0%,#0a4c82 58%,#0d668f 100%);
}
@media(max-width:640px){
  .module-hero{padding:18px 15px;gap:13px;border-radius:19px;margin-bottom:18px}
  .module-hero>span{width:48px;height:48px;flex-basis:48px;border-radius:15px}
  .module-hero>span .app-icon{width:27px;height:27px}
  .module-hero h2{font-size:1.7rem}
  .module-hero p{font-size:.88rem;line-height:1.4}
}


/* V4.143 — Secretaría integrada dentro de Gestión */
.module-secretaria{
  background:linear-gradient(145deg,#fffaf0,#edf7fc)!important;
  border-color:rgba(218,161,42,.62)!important;
}
.module-secretaria .module-icon{color:#0b669c!important}
.module-hero-secretary{
  background:linear-gradient(135deg,#493710 0%,#8a6415 44%,#0b5e8f 100%);
}
.secretary-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:22px;
}
.secretary-summary>div,.secretary-summary>button{
  min-height:104px;
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid rgba(169,202,221,.78);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(235,246,252,.92));
  box-shadow:0 10px 24px rgba(7,47,80,.08),inset 0 1px #fff;
}
.secretary-summary>div:nth-child(even),.secretary-summary>button:nth-child(even){border-color:rgba(218,161,42,.62);background:linear-gradient(145deg,#fffdf7,#f4f3e9)}
.secretary-summary>button{width:100%;height:auto;color:inherit;text-align:left;cursor:pointer;font:inherit}
.secretary-summary>button:hover{border-color:#c39221;transform:translateY(-2px)}
.secretary-summary>button:focus-visible{outline:3px solid #c39221;outline-offset:3px}
.secretary-summary b{color:#073866;font:700 1.8rem/1 Georgia,"Times New Roman",serif}
.secretary-summary span{margin-top:8px;color:#577083;font-size:.82rem}
.secretary-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:24px;
}
.secretary-action{
  min-height:94px;
  display:grid;
  grid-template-columns:48px 1fr auto;
  gap:14px;
  align-items:center;
  padding:16px 18px;
  text-align:left;
  color:#073866;
  border:1px solid #bad4e4;
  border-radius:18px;
  background:linear-gradient(145deg,#fff,#eef7fb);
  box-shadow:0 10px 24px rgba(7,47,80,.08),inset 0 1px #fff;
}
.secretary-action:hover{transform:translateY(-2px);border-color:#d6a531;box-shadow:0 14px 28px rgba(7,47,80,.13)}
.secretary-action>span{
  width:48px;height:48px;display:grid;place-items:center;border-radius:15px;
  color:#0a669d;background:#e3f2f9;
}
.secretary-action .app-icon{width:26px;height:26px}
.secretary-action div{display:flex;flex-direction:column;gap:5px}
.secretary-action b{font:700 1.18rem/1.1 Georgia,"Times New Roman",serif}
.secretary-action small{color:#627989;line-height:1.35}
.secretary-action i{font:700 1.8rem/1 sans-serif;color:#d49a20;font-style:normal}
.secretary-directory{padding:8px 16px!important;margin-bottom:24px}
.secretary-directory .user-row{border-radius:12px}
.role-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.role-guide article{
  padding:19px;border:1px solid #bdd6e5;border-top:4px solid #0c6a9f;border-radius:18px;
  background:linear-gradient(145deg,#fff,#eff7fb);box-shadow:0 10px 24px rgba(7,47,80,.07);
}
.role-guide article:first-child{border-top-color:#d9a226}
.role-guide span{color:#9a6b08;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.role-guide h3{margin:7px 0;color:#073866;font-family:Georgia,"Times New Roman",serif}
.role-guide p{margin:0;color:#5b7182;font-size:.88rem;line-height:1.5}
@media(max-width:760px){
  .secretary-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .secretary-actions,.role-guide{grid-template-columns:1fr}
}
@media(max-width:480px){
  .secretary-summary{gap:8px}
  .secretary-summary>div{min-height:88px;padding:14px}
  .secretary-summary b{font-size:1.5rem}
  .secretary-action{grid-template-columns:42px 1fr auto;padding:14px 12px;gap:11px}
  .secretary-action>span{width:42px;height:42px}
  .secretary-directory{padding:6px 10px!important}
}
/* V4.144 — puesta en marcha, accesos e invitaciones multiparroquia */
.module-hero-setup,.module-hero-access{background:linear-gradient(135deg,#163552 0%,#0b5b8d 58%,#b28220 145%)}
.setup-progress{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-bottom:15px}.setup-progress>div:first-child{display:flex;flex-direction:column;gap:4px}.setup-progress small,.invite-panel-copy>small,.generated-invite>small{color:#9a6b08;font-size:.7rem;font-weight:900;letter-spacing:.09em}.setup-progress b{color:#073866}.setup-progress-track{height:10px!important;border-radius:999px;background:#dae8f0;overflow:hidden}.setup-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d9a226,#0b72aa)}.setup-progress>strong{color:#0b5f91}
.setup-warning{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:13px 16px;margin-bottom:15px;border:1px solid #e4c26c;border-radius:14px;background:#fff9e8;color:#594714}.setup-warning span{color:#75633d}
.setup-steps{display:grid;gap:10px}.setup-step{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:17px;border:1px solid #bfd5e3;border-radius:17px;background:linear-gradient(145deg,#fff,#eff7fb)}.setup-step.done{border-color:#a9d5bd;background:linear-gradient(145deg,#fff,#effaf3)}.setup-step-number{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#0a669d;color:#fff;font-weight:900}.setup-step.done .setup-step-number{background:#2d8a59}.setup-step small{font-size:.66rem;font-weight:900;letter-spacing:.08em;color:#9a6b08}.setup-step.done small{color:#2d7a51}.setup-step h3{margin:3px 0;color:#073866;font-family:Georgia,serif}.setup-step p{margin:0;color:#62798a;font-size:.86rem}.setup-step .secondary{width:auto}
.setup-people{padding:8px 14px!important}.setup-person{width:100%;display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:12px;text-align:left;border:0;border-bottom:1px solid #dbe6ec;background:transparent;color:#073866}.setup-person:last-child{border-bottom:0}.setup-person>span{color:#0a669d}.setup-person div{display:flex;flex-direction:column}.setup-person small{color:#607687}.setup-person i{font-style:normal;font-size:1.5rem;color:#d19a25}
.setup-role-rules h2{margin-top:0}.role-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.role-rule-grid>div{display:flex;flex-direction:column;gap:5px;padding:14px;border-radius:14px;background:#edf6fa}.role-rule-grid b{color:#073866}.role-rule-grid span{color:#617786;font-size:.84rem;line-height:1.45}.setup-finish{margin-top:16px}
.invite-panel{display:grid;grid-template-columns:1fr 1.25fr;gap:20px;align-items:start;border-color:#e1bd62!important}.invite-panel-copy h3{margin:5px 0;color:#073866;font:700 1.45rem Georgia,serif}.invite-panel-copy p{color:#607687;line-height:1.5}.generated-invite{grid-column:1/-1;padding:18px;border:1px dashed #d5a32d;border-radius:15px;background:#fff8e5;text-align:center}.generated-invite b{display:block;margin:7px 0;color:#073866;font:800 1.7rem/1.2 ui-monospace,monospace;letter-spacing:.08em}.generated-invite p{color:#685a38}
.access-pending-page{max-width:760px;margin:auto}.access-pending-card{text-align:center}.access-state,.setup-lock{width:66px;height:66px;margin:0 auto 12px;display:grid;place-items:center;border-radius:50%;background:#e8f3f8;font-size:2rem}.access-pending-card>p,.setup-activation>p{max-width:580px;margin:0 auto 20px;color:#607687;line-height:1.55}.access-pending-card form,.setup-activation form{max-width:520px;margin:0 auto 16px;text-align:left}.setup-security-note{padding:12px 14px;margin:14px 0;border-radius:12px;background:#fff7df;color:#67562f;font-size:.85rem}
.pending-pill{display:inline-flex;padding:3px 7px;margin-left:6px;border-radius:999px;background:#fff0c7;color:#8c6200;font:800 .65rem sans-serif;font-style:normal;vertical-align:middle}.user-pending{border-left:4px solid #dfa72a!important}
.account-access-check{display:flex;gap:10px;align-items:flex-start;padding:13px;margin:12px 0;border:1px solid #bcd5e3;border-radius:14px;background:#eef7fb}.account-access-check input{width:auto;margin-top:4px}.account-access-check span{display:flex;flex-direction:column;gap:3px}.account-access-check small{color:#637989}

@media(max-width:760px){.secretary-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.secretary-actions,.role-guide,.invite-panel,.role-rule-grid{grid-template-columns:1fr}.generated-invite{grid-column:auto}.setup-step{grid-template-columns:40px 1fr}.setup-step .secondary{grid-column:1/-1;width:100%}.setup-progress{grid-template-columns:1fr auto}.setup-progress-track{grid-column:1/-1;grid-row:2}}
@media(max-width:480px){.secretary-summary{gap:8px}.secretary-summary>div{min-height:88px;padding:14px}.secretary-summary b{font-size:1.5rem}.secretary-action{grid-template-columns:42px 1fr auto;padding:14px 12px;gap:11px}.secretary-action>span{width:42px;height:42px}.setup-step{padding:14px 12px;gap:10px}.generated-invite b{font-size:1.3rem}}

/* V4.166 · oficina integral de Secretaría */
.secretary-alert{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:14px 17px;border:1px solid #e5bd62;border-left:5px solid #d89713;border-radius:14px;background:#fff8e5;color:#6f4d08}.secretary-alert span{font-size:.86rem}
.secretary-create{margin:0 0 22px;padding:0!important;overflow:hidden;border-color:#b9d8e8!important}.secretary-create summary{padding:17px 19px;background:linear-gradient(135deg,#edf8fd,#f8fbfd);color:#075785;font-weight:900;cursor:pointer}.secretary-create form{padding:18px}.secretary-check{display:flex;align-items:center;gap:9px;margin:4px 0 15px;color:#31566f;font-weight:750}.secretary-check input{width:18px;height:18px}
.secretary-agenda{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}.secretary-agenda>div{display:flex;flex-direction:column;gap:4px;padding:15px;border:1px solid #c8dce8;border-radius:15px;background:linear-gradient(145deg,#f8fcff,#eef7fb)}.secretary-agenda time{color:#a06d08;font-size:.76rem;font-weight:900}.secretary-agenda b{color:#073f69}.secretary-agenda span{color:#617b8c;font-size:.8rem}
.secretary-filters{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:10px;margin-bottom:12px}.secretary-filters label{display:flex;align-items:center;gap:8px;padding:0 13px;border:1px solid #bdd5e4;border-radius:13px;background:#fff}.secretary-filters input,.secretary-filters select,.secretary-filters label input{width:100%;min-height:46px;border:0;outline:0;background:transparent;color:#143e5b;font:inherit}.secretary-filters>select{padding:0 12px;border:1px solid #bdd5e4;border-radius:13px;background:#fff}
.secretary-case-list{display:grid;gap:12px;margin-bottom:25px}.secretary-case{padding:17px 18px;border:1px solid #c7dce8;border-left:5px solid #1880b4;border-radius:17px;background:linear-gradient(145deg,#fff,#f1f8fc);box-shadow:0 8px 20px rgba(8,49,80,.07)}.secretary-case-head{display:flex;justify-content:space-between;gap:12px}.secretary-case-head h3{margin:4px 0;color:#063e68;font:700 1.25rem Georgia,serif}.secretary-case-head p{margin:0;color:#637c8d;font-size:.8rem}.secretary-type{color:#a36d06;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.secretary-priority{align-self:flex-start;padding:5px 10px;border-radius:999px;background:#eef3f6;color:#536b7a;font-size:.66rem;font-weight:900;text-transform:uppercase}.secretary-priority.alta{background:#fff0cf;color:#875a00}.secretary-priority.urgente{background:#fde4e7;color:#a2293b}
.secretary-case-state{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.8fr);gap:12px;margin:14px 0}.secretary-case-state label,.secretary-case-state>div{display:flex;flex-direction:column;gap:5px;color:#4f6a7d;font-size:.72rem;font-weight:800}.secretary-case-state select{min-height:42px;padding:0 10px;border:1px solid #bcd5e5;border-radius:11px;background:#fff;color:#104969;font-weight:800}.secretary-case-state>div{padding:8px 12px;border-radius:11px;background:#edf6fb}.secretary-case-state b{color:#0b4e77}
.secretary-docs{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:11px 0;border-top:1px solid #d7e4eb;border-bottom:1px solid #d7e4eb}.secretary-docs small{margin-right:4px;color:#527083;font-weight:900}.secretary-docs button{padding:6px 9px;border-radius:9px;font-size:.72rem;font-weight:800;cursor:pointer}.secretary-docs button.ok{border:1px solid #8dcbb0;background:#e3f6ed;color:#176b4b}.secretary-docs button.missing{border:1px dashed #dfb75d;background:#fffaf0;color:#876210}.secretary-case-note{margin:11px 0;color:#48687c;font-size:.84rem}.secretary-priest-approval{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding:10px 12px;border-radius:11px;font-size:.78rem;font-weight:850}.secretary-priest-approval.pending{background:#fff2d4;color:#7c5707}.secretary-priest-approval.approved{background:#e2f5eb;color:#176848}.secretary-priest-approval button{padding:7px 12px;border:0;border-radius:9px;background:#0b6799;color:#fff;font-weight:900}.secretary-case-actions{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.secretary-case-actions a{padding:8px 12px;border-radius:10px;background:#e3f6eb;color:#176b45;font-weight:900;text-decoration:none}.secretary-case-actions span{color:#718694;font-size:.7rem}
.secretary-family-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:24px}.secretary-family-grid article{display:grid;grid-template-columns:1fr auto;column-gap:12px;padding:15px 17px;border:1px solid #d6c081;border-radius:15px;background:linear-gradient(145deg,#fffdf7,#f3f9fc)}.secretary-family-grid small{color:#a36d06;font-weight:900;letter-spacing:.08em}.secretary-family-grid h3{margin:3px 0;color:#073f69;font-family:Georgia,serif}.secretary-family-grid p{margin:0;color:#607989;font-size:.8rem}.secretary-family-grid>article>b{grid-column:2;grid-row:1;color:#0b5d8a;font:700 1.5rem Georgia,serif}.secretary-family-grid>article>span{grid-column:2;grid-row:1;margin-top:27px;color:#708693;font-size:.65rem}.secretary-directory-note{padding:12px;text-align:center}
@media(max-width:700px){.secretary-agenda{grid-template-columns:1fr}.secretary-filters{grid-template-columns:1fr}.secretary-case-state{grid-template-columns:1fr}.secretary-family-grid{grid-template-columns:1fr}.secretary-create form{padding:14px}.secretary-case{padding:15px 13px}.secretary-priest-approval{align-items:flex-start;flex-direction:column}.secretary-priest-approval button{width:100%}}

/* V4.167 · mantenimiento e inventario multiparroquia */
.module-maintenance{border-color:#89b49a!important;background:linear-gradient(145deg,#f4fbf6,#e9f5ee)!important}.module-maintenance .module-icon{color:#287653!important}.maintenance-hero{background:linear-gradient(115deg,#154f50,#17766c 68%,#5d7d60)!important}.maintenance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0 20px}.maintenance-summary>div{display:flex;flex-direction:column;justify-content:center;min-height:88px;padding:15px;border:1px solid #bad8ca;border-radius:16px;background:linear-gradient(145deg,#f8fdf9,#edf7f1)}.maintenance-summary b{color:#145846;font:700 1.75rem Georgia,serif}.maintenance-summary span{margin-top:6px;color:#58766b;font-size:.78rem}.maintenance-summary .warn{border-color:#e4c46c;background:#fffaf0}.maintenance-summary .danger{border-color:#e5a2aa;background:#fff4f5}.maintenance-summary .danger b{color:#a22d3d}.maintenance-alert{display:flex;gap:10px;align-items:center;margin-bottom:17px;padding:13px 16px;border-left:5px solid #d59512;border-radius:13px;background:#fff6dc;color:#745108}.maintenance-two{display:grid;grid-template-columns:1fr 1fr;gap:13px}.maintenance-form{padding:0!important;overflow:hidden;margin-bottom:20px}.maintenance-form summary{padding:16px 18px;background:#edf8f2;color:#175f49;font-weight:900;cursor:pointer}.maintenance-form form{padding:17px}.maintenance-form .primary{width:100%}.inventory-filters{display:grid;grid-template-columns:1fr 210px;gap:10px;margin-bottom:12px}.inventory-filters label{display:flex;align-items:center;gap:8px;padding:0 13px;border:1px solid #bcd8ca;border-radius:13px;background:#fff}.inventory-filters input{width:100%;min-height:46px;border:0;outline:0;background:transparent}.inventory-filters select{padding:0 12px;border:1px solid #bcd8ca;border-radius:13px;background:#fff}.inventory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:24px}.inventory-item{position:relative;padding:15px 16px;border:1px solid #bfd9cc;border-top:4px solid #30966c;border-radius:16px;background:linear-gradient(145deg,#fff,#f0f8f4);box-shadow:0 7px 18px rgba(21,78,65,.07)}.inventory-item.low{border-top-color:#d59a1e;background:linear-gradient(145deg,#fffdf7,#fff7df)}.inventory-item.out{border-top-color:#c84655;background:linear-gradient(145deg,#fff,#fff1f3)}.inventory-item-top{display:flex;justify-content:space-between;gap:8px;color:#6a8278;font-size:.61rem;font-weight:900;letter-spacing:.06em}.inventory-item h3{margin:9px 0;color:#104b3d;font:700 1.1rem Georgia,serif}.inventory-quantity{display:flex;align-items:baseline;gap:5px}.inventory-quantity b{color:#0f6148;font:700 1.65rem Georgia,serif}.inventory-quantity span,.inventory-quantity small{color:#688077;font-size:.72rem}.inventory-quantity small{margin-left:auto}.inventory-item p{margin:9px 0 0;color:#6b7f78;font-size:.72rem}.inventory-state{position:absolute;right:12px;bottom:12px;padding:4px 7px;border-radius:99px;font-size:.56rem;font-weight:900}.inventory-state.ok{background:#dff4e8;color:#176949}.inventory-state.low{background:#fff0c8;color:#805907}.inventory-state.out{background:#f9dfe3;color:#9e2939}.purchase-list{display:grid;gap:10px;margin-bottom:24px}.purchase-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:15px 17px;border:1px solid #c7dbd2;border-left:5px solid #3a9470;border-radius:14px;background:#fff}.purchase-row.alta{border-left-color:#d99c20}.purchase-row.urgente{border-left-color:#c54151}.purchase-row h3{margin:3px 0;color:#124d3e}.purchase-row p{margin:0;color:#687e76;font-size:.76rem}.purchase-row>div>span{color:#9b6b0b;font-size:.62rem;font-weight:900}.purchase-status{padding:6px 9px;border-radius:999px;background:#eef3f0;color:#557066;font-size:.65rem;text-transform:uppercase}.purchase-status.aprobado{background:#dff4e8;color:#176b49}.purchase-status.rechazado{background:#f9e1e4;color:#9d2a3a}.purchase-status.comprado{background:#dceef8;color:#17638a}.purchase-actions{display:flex;gap:6px}.purchase-actions button,.purchase-bought{padding:8px 10px;border:0;border-radius:9px;background:#197557;color:#fff;font-weight:850}.purchase-actions .reject{background:#fff0f2;color:#a22d40;border:1px solid #dfa0a9}.purchase-bought{background:#146e99}.inventory-history{padding:8px 16px!important}.inventory-history>div{display:grid;grid-template-columns:55px 1fr;gap:3px 10px;padding:11px 4px;border-bottom:1px solid #d7e4dd}.inventory-history>div:last-child{border-bottom:0}.inventory-history b{color:#164f40}.inventory-history small{grid-column:2;color:#70827b}.movement-sign{grid-row:1/3;align-self:center;text-align:center;padding:6px;border-radius:9px;font-weight:900}.movement-sign.plus{background:#dff4e8;color:#176a49}.movement-sign.minus{background:#fff0d4;color:#865d09}
.maintenance-overdue{border-left-color:#bd394a;background:#fff0f2;color:#8c2635}.maintenance-task-form summary{background:linear-gradient(90deg,#e9f6ef,#f7fbf9)}.maintenance-task-list{display:grid;gap:12px;margin-bottom:25px}.maintenance-task{display:grid;grid-template-columns:190px 1fr;overflow:hidden;border:1px solid #c5dbd0;border-left:6px solid #368f6e;border-radius:17px;background:#fff;box-shadow:0 8px 22px rgba(20,75,62,.08)}.maintenance-task.alta{border-left-color:#d19419}.maintenance-task.urgente,.maintenance-task.overdue{border-left-color:#bd394a}.maintenance-task>img{width:100%;height:100%;min-height:190px;object-fit:cover}.maintenance-task-body{padding:16px 18px}.maintenance-task-top{display:flex;justify-content:space-between;gap:10px;color:#327b62;font-size:.62rem;font-weight:900;letter-spacing:.07em}.maintenance-task-top b{padding:4px 8px;border-radius:999px;background:#edf6f1;color:#31775f;text-transform:uppercase}.maintenance-task.alta .maintenance-task-top b{background:#fff3d8;color:#8c620a}.maintenance-task.urgente .maintenance-task-top b,.maintenance-task.overdue .maintenance-task-top b{background:#fbe4e7;color:#9c2d3d}.maintenance-task h3{margin:8px 0 5px;color:#104b3e;font:700 1.15rem Georgia,serif}.maintenance-task p{margin:0 0 12px;color:#60786f;font-size:.79rem;line-height:1.45}.maintenance-task-meta{display:flex;flex-wrap:wrap;gap:7px 13px;margin-bottom:13px;color:#5b746b;font-size:.7rem}.maintenance-task-meta .late{color:#a82d3d;font-weight:900}.maintenance-task-controls{display:flex;align-items:center;gap:12px;padding-top:11px;border-top:1px solid #d6e4dd}.maintenance-task-controls select{min-height:39px;padding:0 10px;border:1px solid #b8d4c7;border-radius:10px;background:#f8fcfa;color:#154f40;font-weight:800;text-transform:capitalize}.maintenance-task-controls>b{color:#175d48;font-size:.75rem}.maintenance-task-controls small{margin-left:auto;color:#71847d}
@media(max-width:760px){.maintenance-summary{grid-template-columns:repeat(2,1fr);gap:8px}.maintenance-two{grid-template-columns:1fr}.maintenance-task{grid-template-columns:1fr}.maintenance-task>img{height:190px;min-height:0}.maintenance-task-controls{align-items:stretch;flex-direction:column}.maintenance-task-controls small{margin-left:0}.inventory-filters{grid-template-columns:1fr}.inventory-grid{grid-template-columns:1fr}.purchase-row{grid-template-columns:1fr auto}.purchase-actions,.purchase-bought{grid-column:1/-1;width:100%}.purchase-actions button{flex:1}.maintenance-alert{align-items:flex-start;flex-direction:column}}


/* V4.145 — familias, comunicaciones y asistencia de Catequesis */
.catechesis-access-note{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:13px 16px;margin:16px 0 22px;border:1px solid #b8d4e3;border-radius:14px;background:linear-gradient(145deg,#f8fcff,#eaf5fa);color:#567084}.catechesis-access-note b{color:#07588d}.catechesis-access-note span{font-size:.86rem}
.family-admin,.family-message-admin{border-color:rgba(214,166,55,.66)!important}.family-message-admin{background:linear-gradient(145deg,#fffdf5,#edf7fb)!important}
.catechesis-students{display:grid;gap:12px}.catechesis-student-card{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center;padding:17px 18px;border:1px solid #b9d3e2;border-left:5px solid #0a6a9f;border-radius:18px;background:linear-gradient(145deg,#fff,#eff8fc);box-shadow:0 10px 24px rgba(7,47,80,.08)}.student-avatar{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#0b6ca2,#074873);color:#fff;font:800 1.35rem Georgia,serif}.student-main>small{color:#9a6a08;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.student-main h3{margin:3px 0;color:#073866;font:700 1.25rem Georgia,serif}.student-main p{margin:0 0 7px;color:#5c7485;font-size:.87rem}.student-status{color:#657986;font-size:.8rem}.student-status b{padding:3px 7px;border-radius:999px}.attendance-presente{background:#e3f5e9;color:#247348}.attendance-ausente{background:#fde9e6;color:#9a372c}.attendance-justificada{background:#fff3d3;color:#8b650d}.student-actions{display:flex;gap:7px;flex-direction:column;align-items:stretch}.student-actions a,.student-actions button{min-width:96px;padding:8px 10px;border:1px solid #b7d2e1;border-radius:10px;text-align:center;text-decoration:none;font-size:.78rem;font-weight:800}.student-actions a{background:#e9f8ee;color:#237447}.student-actions button{background:#fff8e6;color:#85600d}.kind-aviso_familias{border-left:5px solid #d9a326!important}.kind-aviso_familias .catechesis-post-top span{color:#9b6a00!important}
@media(max-width:640px){.catechesis-student-card{grid-template-columns:44px 1fr;padding:14px 12px;gap:10px}.student-avatar{width:42px;height:42px}.student-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.student-actions a,.student-actions button{min-width:0}.catechesis-access-note{align-items:flex-start;flex-direction:column}}


/* V4.146 — Espacio de trabajo de Catequesis */
.catechesis-workspace{
  margin:18px 0 26px;padding:18px;border:1px solid rgba(207,153,28,.55);
  border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(245,238,218,.88));
  box-shadow:0 12px 28px rgba(17,67,99,.11)
}
.catechesis-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.catechesis-workspace-head small{display:block;color:#9a6a09;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.catechesis-workspace-head h3{margin:2px 0 0;color:#003f6b;font-family:Georgia,serif;font-size:1.45rem}
.catechesis-workspace-head>span{padding:7px 11px;border-radius:999px;background:#e9f4fb;color:#155d87;font-size:.78rem;font-weight:800}
.catechesis-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.catechesis-quick{
  min-height:112px;padding:13px;border:1px solid #bdd8e8;border-radius:17px;background:#f7fbfe;
  color:#063f68;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:5px;
  box-shadow:0 6px 14px rgba(18,76,111,.08);cursor:pointer
}
.catechesis-quick:hover{transform:translateY(-2px);border-color:#d09b25;box-shadow:0 10px 20px rgba(18,76,111,.13)}
.catechesis-quick span{width:32px;height:32px;display:grid;place-items:center;color:#0b72ad}
.catechesis-quick span svg{width:25px;height:25px}
.catechesis-quick b{font-size:.98rem}
.catechesis-quick small{color:#587184;line-height:1.25}
.catechesis-quick.primary-action{background:linear-gradient(145deg,#0b5b8e,#0872ae);border-color:#0b5b8e;color:#fff}
.catechesis-quick.primary-action span,.catechesis-quick.primary-action small{color:#fff}
.catechesis-quick:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.catechesis-start-note{margin-top:12px;padding:12px 14px;border-left:4px solid #d4a326;border-radius:10px;background:#fff9e8;display:flex;flex-direction:column;gap:3px;color:#594512}
.catechesis-start-note span{font-size:.88rem}
.catechesis-anchor{scroll-margin-top:110px}
.catechesis-notification-explainer{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:13px 14px;border-radius:14px;background:#e8f5fc;border:1px solid #b9dced;color:#064c75}
.catechesis-notification-explainer>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#0b669c;color:#fff;flex:none}
.catechesis-notification-explainer svg{width:23px;height:23px}
.catechesis-notification-explainer div{display:flex;flex-direction:column;gap:3px}
.catechesis-notification-explainer small{line-height:1.35;color:#406879}

@media(max-width:760px){
  .catechesis-workspace{padding:14px;border-radius:18px}
  .catechesis-workspace-head{align-items:flex-start}
  .catechesis-workspace-head>span{font-size:.7rem}
  .catechesis-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catechesis-quick{min-height:104px;padding:11px}
}


/* V4.147 — estados y acciones de Intenciones */
.intention-request{
  position:relative;padding:18px 18px 17px !important;
  border-left:4px solid #d3a126;
  background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(244,249,252,.72));
}
.intention-request:first-child{padding-top:18px !important}
.intention-request-confirmada{border-left-color:#23875a}
.intention-request-rechazada{border-left-color:#c94b59}
.intention-request-pendiente{border-left-color:#d39b1a}
.intention-request-heading{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:5px}
.intention-request-heading>b{font-size:15px;color:#073e6b}
.intention-type{
  display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;
  border:1px solid #b9d8ec;background:#eaf6fd;color:#075a8f;
  font-size:11px;font-weight:900;letter-spacing:.035em;text-transform:uppercase
}
.intention-type-difunto{background:#eee9f8;border-color:#cec1e7;color:#61458d}
.intention-type-salud{background:#e7f7ef;border-color:#b9dfcb;color:#23724b}
.intention-type-accion-de-gracias{background:#fff3d8;border-color:#ebce88;color:#8a6212}
.intention-type-aniversario{background:#fdebf3;border-color:#edbed2;color:#9a3d65}
.intention-request-person,.intention-request-date{margin-top:2px}
.intention-status{
  margin-top:9px;padding:6px 12px !important;border-radius:999px !important;
  font-weight:900;letter-spacing:.045em;text-transform:uppercase
}
.intention-status.ok{background:#dff5e9 !important;border:1px solid #9dd3b7;color:#187044 !important}
.intention-status.warn{background:#fff2ce !important;border:1px solid #e7c66a;color:#805b09 !important}
.intention-status.danger{background:#fde4e7 !important;border:1px solid #e6aab2;color:#a52e3e !important}
.intention-review-actions{display:flex;gap:10px;margin-top:13px;flex-wrap:wrap}
.intention-review-actions button{
  min-width:132px;padding:10px 18px;border-radius:12px;font-weight:900;
  cursor:pointer;transition:transform .15s ease,box-shadow .15s ease
}
.intention-review-actions button:hover{transform:translateY(-1px)}
.intention-confirm-btn{
  border:1px solid #1f7c51;background:linear-gradient(135deg,#299565,#19794e);color:#fff;
  box-shadow:0 6px 14px rgba(31,124,81,.2)
}
.intention-reject-btn{
  border:1px solid #b73748;background:#fff2f3;color:#ae3042;
  box-shadow:0 5px 12px rgba(183,55,72,.1)
}
.intention-reviewed{margin-top:9px;font-style:italic}
.module-usuarios.module-btn{appearance:none}

@media(max-width:560px){
  .intention-review-actions{display:grid;grid-template-columns:1fr 1fr}
  .intention-review-actions button{min-width:0;width:100%;padding:10px 8px}
}


/* V4.148 — directorio escalable de usuarios */
.member-directory-title>span{font-size:.76rem;font-weight:800;color:#4d7088}
.member-directory-card{padding:16px !important;overflow:hidden}
.member-directory-tools{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:10px;align-items:center}
.member-search{height:48px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #bfd7e7;border-radius:14px;background:#f8fcff}
.member-search:focus-within{border-color:#438eb9;box-shadow:0 0 0 4px rgba(23,112,164,.09)}
.member-search>span{width:24px;height:24px;color:#1774a7;flex:none}
.member-search svg{width:22px;height:22px}
.member-search input{width:100%;border:0;outline:0;background:transparent;font:inherit;color:#163c55}
.member-directory-tools select{height:48px;border:1px solid #bfd7e7;border-radius:14px;padding:0 12px;background:#fff;color:#17415e;font-weight:750}
.member-directory-summary{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:13px 2px 9px;color:#507087;font-size:.78rem}
.member-directory-summary b{color:#0b4f7b}
.member-directory-list{border-top:1px solid #d5e4ed}
.member-directory-list .user-row{padding:14px 10px;border-bottom:1px solid #cbdde8;border-radius:0}
.member-directory-list .user-row:last-of-type{border-bottom:0}
.member-directory-more{width:100%;margin-top:12px;padding:12px 16px;border:1px solid #287da9;border-radius:13px;background:#edf8fe;color:#075682;font-weight:900;cursor:pointer}
.member-directory-more span{margin-left:5px;font-size:.75rem;font-weight:700;color:#5a7689}
.member-directory-empty{padding:28px 12px}
@media(max-width:650px){
  .member-directory-tools{grid-template-columns:1fr}
  .member-directory-summary{align-items:flex-start;flex-direction:column;gap:3px}
}


/* V4.149 — horarios públicos alineados, proporcionados y adaptables */
.massapp{
  min-height:100svh!important;
  display:flex!important;
  flex-direction:column!important;
}
.massapp-head{
  box-sizing:border-box!important;
  flex:0 0 auto!important;
  width:100%!important;
  padding:0!important;
}
.massapp-head-inner{
  width:min(780px,calc(100% - 32px));
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:13px;
}
.massapp-main{
  box-sizing:border-box!important;
  flex:1 0 auto!important;
  width:min(780px,calc(100% - 32px))!important;
  padding:26px 0 18px!important;
}
.massapp-hero{
  box-sizing:border-box!important;
  width:100%!important;
}
.massapp-list{
  box-sizing:border-box!important;
  width:100%!important;
}
.massapp-item,
.massapp-item.next{
  box-sizing:border-box!important;
}
.massapp-foot{
  box-sizing:border-box!important;
  flex:0 0 auto!important;
  width:min(780px,calc(100% - 32px))!important;
  margin:0 auto!important;
  padding:20px 0 26px!important;
}

@media (min-width:769px){
  .massapp-hero{
    min-height:124px!important;
  }
  .massapp-list{
    padding:10px 18px!important;
  }
  .massapp-item,
  .massapp-item.next{
    padding-top:19px!important;
    padding-bottom:19px!important;
  }
}

@media (max-width:600px){
  .massapp-head{
    height:74px!important;
  }
  .massapp-head-inner{
    width:calc(100% - 24px);
    gap:10px;
  }
  .massapp-back{
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
  }
  .massapp-logo{
    width:44px!important;
    height:44px!important;
    max-width:44px!important;
    max-height:44px!important;
    flex:0 0 44px!important;
  }
  .massapp-brand{
    min-width:0;
  }
  .massapp-brand b{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .massapp-main{
    width:calc(100% - 24px)!important;
    padding:16px 0 12px!important;
  }
  .massapp-hero{
    min-height:0!important;
    padding:19px 17px!important;
    gap:12px!important;
  }
  .massapp-hero h1{
    font-size:26px!important;
    line-height:1.02!important;
  }
  .massapp-hero p{
    max-width:250px;
    font-size:13px!important;
    line-height:1.35!important;
  }
  .massapp-hero-cross{
    flex:0 0 auto;
    font-size:38px!important;
  }
  .massapp-list{
    padding:6px 10px!important;
    border-radius:18px!important;
  }
  .massapp-item,
  .massapp-item.next{
    padding:17px 8px 17px 40px!important;
  }
  .massapp-item:before{
    left:10px!important;
    top:20px!important;
  }
  .massapp-date{
    line-height:1.25!important;
  }
  .massapp-meta{
    line-height:1.4!important;
  }
  .massapp-foot{
    width:calc(100% - 36px)!important;
    padding:18px 0 22px!important;
  }
}


/* V4.150 — activación inicial compacta y coherente con la plataforma */
.setup-shell{
  box-sizing:border-box;
  width:min(880px,calc(100% - 32px));
  margin:28px auto 56px;
}
.setup-back{
  min-height:44px;
  margin:0 0 14px;
  padding:0 16px;
  border:1px solid #b9d2e1;
  border-radius:12px;
  background:#f8fcff;
  color:#075682;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 5px 14px rgba(8,45,82,.07);
}
.setup-back:hover{
  border-color:#2a7ca8;
  background:#edf8fe;
}
.setup-shell .module-hero-setup{
  box-sizing:border-box;
  width:100%;
  min-height:138px;
  margin:0 0 18px;
  padding:24px 28px;
  border-radius:24px;
}
.setup-shell .setup-activation{
  box-sizing:border-box;
  width:100%;
  margin:0;
  padding:30px 32px 26px!important;
  border-radius:22px;
  text-align:center;
}
.setup-shell .setup-activation>h2{
  max-width:620px;
  margin:0 auto 12px;
  color:#073866;
  font:800 28px/1.15 Georgia,"Times New Roman",serif;
}
.setup-shell .setup-activation>p{
  max-width:600px;
  margin:0 auto 22px;
}
.setup-shell .setup-activation form{
  width:min(520px,100%);
  margin:0 auto 18px;
}
.setup-shell .setup-activation .field{
  text-align:left;
}
.setup-shell .setup-activation .primary{
  width:100%;
  margin-top:10px;
}
.setup-shell .setup-security-note{
  max-width:660px;
  margin:18px auto 0;
  padding:12px 15px;
  text-align:left;
}

@media(max-width:600px){
  .setup-shell{
    width:calc(100% - 20px);
    margin:10px auto 28px;
  }
  .setup-back{
    width:100%;
    margin-bottom:10px;
    text-align:left;
  }
  .setup-shell .module-hero-setup{
    min-height:0;
    padding:19px 17px;
    border-radius:19px;
    align-items:flex-start;
  }
  .setup-shell .module-hero-setup>span{
    width:48px;
    height:48px;
    flex:0 0 48px;
  }
  .setup-shell .module-hero-setup h2{
    font-size:25px;
  }
  .setup-shell .module-hero-setup p{
    font-size:13px;
    line-height:1.4;
  }
  .setup-shell .setup-activation{
    padding:22px 16px 18px!important;
    border-radius:18px;
  }
  .setup-shell .setup-lock{
    width:56px;
    height:56px;
    font-size:1.65rem;
  }
  .setup-shell .setup-activation>h2{
    font-size:23px;
  }
  .setup-shell .setup-activation>p{
    font-size:14px;
    line-height:1.45;
  }
  .setup-shell .setup-security-note{
    font-size:12px;
    line-height:1.4;
  }
}
/* V4.160 · alta multiparroquia y administración general */
.parish-request-page{min-height:100vh;padding:28px;background:linear-gradient(135deg,#edf6fb,#f7f4ea)}
.parish-request-shell{width:min(960px,100%);margin:auto}
.parish-request-card{padding:24px;margin-top:18px;border:1px solid rgba(210,168,79,.55)}
.parish-request-intro{display:flex;flex-direction:column;gap:5px;padding:16px 18px;margin-bottom:20px;border-radius:16px;background:#edf7fc;border-left:5px solid #0e6fa6}
.parish-request-intro b{font:700 1.12rem Georgia,serif;color:#073f69}.parish-request-intro span{color:#506b80}
.parish-request-card h3{margin:24px 0 12px;color:#073f69;font-family:Georgia,serif}
.request-status-card{text-align:center;padding:34px;max-width:720px;margin:18px auto}.request-status-card>p{max-width:600px;margin:10px auto 22px;color:#526c80;line-height:1.6}
.request-summary{display:flex;flex-direction:column;gap:4px;padding:17px;margin:20px 0;border-radius:14px;background:#eef6fb;color:#0b4f7c}
.parish-picker small{display:block;margin-top:7px;color:#61758a;line-height:1.35}
.register86-field select{width:100%;border:0;background:transparent;font:inherit;color:inherit;outline:none;padding:14px 12px}
.module-platform{border-color:#6aa7bd!important;background:linear-gradient(145deg,#eff9fb,#e4f3f4)!important}
.platform-requests{display:grid;gap:16px}.platform-request{padding:20px}.platform-request-head{display:flex;justify-content:space-between;gap:16px}
.platform-request-head small{color:#9b7108;font-weight:800;letter-spacing:.08em}.platform-request-head h3{margin:5px 0;color:#073f69;font:700 1.35rem Georgia,serif}.platform-request-head p{margin:0;color:#587084}.platform-request-head time{font-size:.82rem;color:#6d7e8d}
.platform-request-data{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.platform-request-data span{display:flex;flex-direction:column;padding:12px;border-radius:12px;background:#f2f7fa;color:#38576d}.platform-request-data b{font-size:.75rem;text-transform:uppercase;color:#0c6597;margin-bottom:4px}
.platform-request-actions{display:flex;gap:10px}.platform-request-actions button{width:auto;min-width:180px}.platform-request-actions .reject{color:#9c3041;border-color:#dc9aa4}
.platform-history{opacity:.85}.setup-branding-required{align-items:center}.setup-branding-required button{width:auto;margin-left:auto}
@media(max-width:700px){
 .parish-request-page{padding:0;background:#edf6fb}.parish-request-shell{width:100%}.parish-request-card{margin:12px;border-radius:18px;padding:16px}
 .parish-request-card .row{grid-template-columns:1fr}.platform-request-head{flex-direction:column}.platform-request-data{grid-template-columns:1fr}
 .platform-request-actions{flex-direction:column}.platform-request-actions button{width:100%}.setup-branding-required{align-items:flex-start}.setup-branding-required button{margin:10px 0 0;width:100%}
}
/* V4.162 · alta de parroquia compacta */
.parish-request-page{
  min-height:100svh;
  padding:14px!important;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.parish-request-shell{
  width:min(900px,100%)!important;
  margin:0 auto!important;
}
.parish-request-shell>.setup-back{
  min-height:38px!important;
  padding:7px 14px!important;
  margin:0 0 10px!important;
  border-radius:11px!important;
  font-size:14px!important;
}
.parish-request-shell>.module-hero{
  min-height:86px!important;
  padding:13px 20px!important;
  margin:0!important;
  border-radius:20px!important;
  gap:14px!important;
}
.parish-request-shell>.module-hero>span{
  width:48px!important;
  height:48px!important;
  flex:0 0 48px!important;
  border-radius:14px!important;
}
.parish-request-shell>.module-hero small{font-size:10px!important}
.parish-request-shell>.module-hero h2{
  margin:2px 0!important;
  font-size:28px!important;
  line-height:1!important;
}
.parish-request-shell>.module-hero p{
  margin:0!important;
  font-size:13px!important;
  line-height:1.25!important;
}
.parish-request-card{
  margin-top:10px!important;
  padding:14px 18px 16px!important;
  border-radius:18px!important;
}
.parish-request-intro{
  padding:9px 13px!important;
  margin-bottom:10px!important;
  border-radius:12px!important;
  gap:1px!important;
}
.parish-request-intro b{font-size:16px!important}
.parish-request-intro span{font-size:12px!important;line-height:1.3!important}
.parish-request-card h3{
  margin:10px 0 7px!important;
  font-size:19px!important;
  line-height:1.1!important;
}
.parish-request-card .row{
  gap:10px!important;
  margin:0!important;
}
.parish-request-card .field{
  margin:0 0 7px!important;
}
.parish-request-card .field label{
  margin-bottom:3px!important;
  font-size:11px!important;
  line-height:1.1!important;
}
.parish-request-card .field input{
  min-height:40px!important;
  height:40px!important;
  padding:8px 12px!important;
  border-radius:10px!important;
  font-size:14px!important;
}
.parish-request-card .register86-check{
  margin:5px 0 8px!important;
  font-size:12px!important;
  line-height:1.25!important;
}
.parish-request-card .register86-check input{
  width:17px!important;
  height:17px!important;
  flex:0 0 17px!important;
}
.parish-request-card .primary{
  min-height:42px!important;
  height:42px!important;
  border-radius:11px!important;
  font-size:14px!important;
}
@media(max-width:700px){
  .parish-request-page{padding:0!important}
  .parish-request-shell>.setup-back{margin:10px 12px!important}
  .parish-request-shell>.module-hero{margin:0 10px!important;border-radius:17px!important;padding:13px 15px!important}
  .parish-request-shell>.module-hero h2{font-size:23px!important}
  .parish-request-shell>.module-hero p{font-size:12px!important}
  .parish-request-card{margin:10px!important;padding:14px!important}
  .parish-request-card .row{grid-template-columns:1fr!important;gap:0!important}
  .parish-request-card .field{margin-bottom:8px!important}
  .parish-request-card .field input{height:44px!important;min-height:44px!important}
}
/* V4.163 · Palabra para hoy */
.daily-word-card{
  width:100%;
  display:flex;
  align-items:center;
  gap:17px;
  margin:0 0 20px;
  padding:18px 20px;
  border:1px solid rgba(210,168,79,.65);
  border-radius:20px;
  background:linear-gradient(135deg,#fffdf6 0%,#f6fbfe 58%,#e7f3fa 100%);
  color:#073f69;
  text-align:left;
  box-shadow:0 12px 28px rgba(13,55,99,.10);
  cursor:pointer;
}
.daily-word-symbol{
  width:58px;height:58px;flex:0 0 58px;
  display:grid;place-items:center;
  border-radius:17px;
  color:#d59a19;
  background:linear-gradient(145deg,#fff5cf,#fff);
  border:1px solid #efd28d;
}
.daily-word-symbol .app-icon{width:30px;height:30px}
.daily-word-copy{min-width:0;flex:1}
.daily-word-copy small{display:block;color:#9a6a0c;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.daily-word-copy h3{margin:2px 0 4px;font:700 25px/1 Georgia,serif;color:#073f69}
.daily-word-copy>b{display:block;margin-bottom:4px;color:#0d70a7;font-size:13px}
.daily-word-copy p{margin:0;color:#46657b;font-size:14px;line-height:1.4}
.daily-word-copy>span{display:block;margin-top:8px;color:#086aa2;font-weight:800;font-size:13px}
.daily-word-copy>span i{font-style:normal;color:#c68a11;margin-left:5px}
.daily-reading-hero{
  display:flex;align-items:center;gap:16px;
  padding:20px 22px;margin-bottom:16px;
  border-radius:22px;color:#fff;
  background:linear-gradient(115deg,#073e70,#0a6797 70%,#498077);
  box-shadow:0 13px 30px rgba(7,62,112,.18);
}
.daily-reading-hero>span{width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.14);color:#ffd15c}
.daily-reading-hero .app-icon{width:31px;height:31px}
.daily-reading-hero small{text-transform:uppercase;font-weight:900;letter-spacing:.1em;color:#d8effb}
.daily-reading-hero h2{margin:2px 0;font:700 30px/1 Georgia,serif}
.daily-reading-hero p{margin:4px 0 0;font-size:14px}
.daily-reading-card{
  max-width:780px;margin:0 auto;
  padding:24px 28px;
  border:1px solid rgba(210,168,79,.62);
  border-radius:22px;
  background:linear-gradient(145deg,#fffefa,#f4faff);
  box-shadow:0 16px 38px rgba(13,55,99,.10);
  color:#153b5c;
}
.daily-reading-date{text-transform:capitalize;color:#75889a;font-size:12px}
.daily-reading-reference{margin:13px 0 9px;color:#9b6b10;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.daily-reading-text{margin:0;padding:20px 22px;border-left:4px solid #d6a32c;border-radius:0 15px 15px 0;background:#fff8e8;color:#073f69;font:700 20px/1.55 Georgia,serif}
.daily-reading-card section{padding:19px 4px 15px;border-bottom:1px solid #d9e4eb}
.daily-reading-card section small{display:block;margin-bottom:5px;color:#0b73a9;font-size:10px;font-weight:900;letter-spacing:.12em}
.daily-reading-card section h3{margin:0 0 7px;font:700 21px Georgia,serif;color:#073f69}
.daily-reading-card section p{margin:0;color:#405f75;line-height:1.55}
.daily-reading-action{background:#edf7fc;border-radius:14px;margin-top:14px;padding:15px!important;border:1px solid #cae1ee!important}
.daily-reading-prayer{text-align:center;border-bottom:0!important;padding-bottom:10px!important}
.daily-reading-prayer p{font:italic 18px/1.5 Georgia,serif!important;color:#244b68!important}.daily-reading-prayer b{display:block;margin-top:4px;color:#a47112}
.daily-reading-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.daily-whatsapp-button,.daily-image-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:13px;color:#fff;font-weight:900;cursor:pointer}.daily-whatsapp-button{border:1px solid #168a48;background:linear-gradient(135deg,#25d366,#159447);box-shadow:0 8px 18px rgba(22,138,72,.2)}.daily-image-button{border:1px solid #b78314;background:linear-gradient(135deg,#d6a32c,#a97810);box-shadow:0 8px 18px rgba(169,120,16,.18)}.daily-whatsapp-button:hover,.daily-image-button:hover{filter:brightness(.96);transform:translateY(-1px)}.daily-whatsapp-button:disabled,.daily-image-button:disabled{opacity:.65;cursor:wait;transform:none}.daily-whatsapp-button svg{width:23px;height:23px;fill:currentColor;flex:none}.daily-image-button>span:first-child{font-size:23px}
.daily-reading-auto{text-align:center;margin-top:12px;color:#7b8d9b;font-size:11px}
.devotional-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:2px 0 15px}
.devotional-summary>div{padding:11px 8px;border:1px solid #c8deea;border-radius:13px;background:#f3faff;text-align:center}
.devotional-summary b{display:block;color:#075b8d;font:700 20px/1 Georgia,serif}
.devotional-summary span{display:block;margin-top:4px;color:#647f91;font-size:10px;font-weight:700}
.devotional-actions{display:grid;grid-template-columns:1.6fr .7fr;gap:10px;margin:8px 0 16px}
.devotional-actions button{min-height:49px;border-radius:13px;font-weight:900}
.devotional-actions .completed{border:1px solid #61ad8c;background:#e3f7ed;color:#176d4c}
.devotional-actions .favorite{border:1px solid #e0b864;background:#fffaf0;color:#8c6410}
.devotional-actions .favorite.active{border-color:#d55873;background:#fff0f3;color:#b52e4c}
.devotional-journey{margin:0 0 17px;padding:15px;border:1px solid #cfe0e9;border-radius:15px;background:#f8fbfd}
.devotional-journey>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;color:#0a4c77}
.devotional-journey>div:first-child span{color:#718897;font-size:10px}
.devotional-days{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}
.devotional-day{display:grid;place-items:center;min-width:0;padding:7px 2px;border-radius:10px;background:#e8f2f7;color:#6b8190}
.devotional-day b{font-size:11px;text-transform:capitalize}.devotional-day span{font-size:10px;margin-top:2px}
.devotional-day.done{background:#dff4e9;color:#14704e}.devotional-day.locked{background:#f1f2f3;color:#9aa3a9}
@media(max-width:640px){
  .daily-word-card{padding:15px;gap:13px;border-radius:17px}
  .daily-word-symbol{width:48px;height:48px;flex-basis:48px;border-radius:14px}
  .daily-word-copy h3{font-size:22px}.daily-word-copy p{font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .daily-reading-hero{margin:0 0 13px;border-radius:18px;padding:17px 16px}.daily-reading-hero h2{font-size:25px}.daily-reading-hero p{font-size:12px}
  .daily-reading-card{padding:18px 15px;border-radius:18px}.daily-reading-text{padding:16px;font-size:18px}
  .daily-reading-buttons{grid-template-columns:1fr}.daily-reading-card section{padding-left:1px;padding-right:1px}
  .devotional-summary{gap:6px}.devotional-summary>div{padding:9px 4px}.devotional-summary b{font-size:17px}
  .devotional-actions{grid-template-columns:1fr}.devotional-journey{padding:12px 9px}.devotional-days{gap:4px}.devotional-day{padding:7px 1px}
  .devotional-journey>div:first-child{align-items:flex-start;flex-direction:column;gap:3px}
}
.maintenance-task:not(:has(>img)){grid-template-columns:1fr}
.content-whatsapp-share{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:6px;width:auto;min-height:36px;padding:7px 11px;border:1px solid #82c89e;border-radius:10px;background:#eefaf3;color:#13713c;font-size:11px;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 4px 10px rgba(19,113,60,.08)}.content-whatsapp-share:hover{border-color:#39a767;background:#e2f7eb}.content-whatsapp-share svg{width:17px;height:17px;fill:currentColor;flex:none}.notice-share-button{margin-top:10px}.activity-card>.content-whatsapp-share{margin-top:-2px}@media(max-width:640px){.content-whatsapp-share{min-height:39px;padding:8px 12px}.notice-share-button{margin-top:11px}}
.agenda-home-entry{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:13px;width:100%;margin:16px 0 4px;padding:15px 17px;border:1px solid #b9d8e8;border-radius:17px;background:linear-gradient(135deg,#f7fcff,#e8f5fb);color:#073f69;text-align:left;box-shadow:0 8px 20px rgba(7,63,105,.08);cursor:pointer}.agenda-home-entry>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#0b6f9f;color:#fff}.agenda-home-entry .app-icon{width:26px;height:26px}.agenda-home-entry small{display:block;color:#a06e0c;font-size:9px;font-weight:900;letter-spacing:.1em}.agenda-home-entry b{display:block;margin:2px 0;color:#073f69;font:700 19px Georgia,serif}.agenda-home-entry p{margin:0;color:#5a7487;font-size:12px}.agenda-home-entry i{font-style:normal;font-size:25px}.module-agenda{border-color:#99c7dc!important;background:linear-gradient(145deg,#f5fbfe,#e5f3f9)!important}.module-agenda .module-icon{color:#0873a5!important}.agenda-hero{background:linear-gradient(115deg,#0c4f73,#087aa7 68%,#4c8e88)!important}.agenda-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0 23px}.agenda-summary>div{padding:14px;border:1px solid #c3dae7;border-radius:15px;background:#f7fcff;text-align:center}.agenda-summary b{display:block;color:#075781;font:700 25px Georgia,serif}.agenda-summary span{display:block;margin-top:4px;color:#617b8d;font-size:11px}.agenda-timeline{display:grid;gap:18px}.agenda-day>header{display:flex;align-items:center;gap:10px;margin-bottom:9px;color:#073f69;text-transform:capitalize}.agenda-day>header>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#0b6794;color:#fff;font:700 17px Georgia,serif}.agenda-day>header h3{margin:0;font:700 20px Georgia,serif}.agenda-day>div{display:grid;gap:9px;margin-left:19px;padding-left:30px;border-left:2px solid #c6dce7}.agenda-event{display:grid;grid-template-columns:43px 1fr auto;align-items:center;gap:13px;padding:14px 15px;border:1px solid #c8dce7;border-left:5px solid #1683b5;border-radius:15px;background:#fff;box-shadow:0 6px 16px rgba(7,63,105,.06)}.agenda-event.agenda-misa{border-left-color:#d29a20}.agenda-event.agenda-catequesis{border-left-color:#1a789f}.agenda-event.agenda-secretaria{border-left-color:#55796e;background:#f8fbfa}.agenda-event-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:#eaf6fb;color:#0873a5}.agenda-misa .agenda-event-icon{background:#fff5dd;color:#b97906}.agenda-event-icon .app-icon{width:24px;height:24px}.agenda-event-copy small{color:#7b8891;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.agenda-event-copy h3{margin:3px 0;color:#103f60;font-size:16px}.agenda-event-copy time{color:#0b6b98;font-size:12px;font-weight:900}.agenda-event-copy p{margin:4px 0 0;color:#607889;font-size:11px}.agenda-event-actions{display:flex;align-items:center;gap:7px}.agenda-open{min-height:36px;padding:7px 12px;border:1px solid #b8d0de;border-radius:10px;background:#f4f9fc;color:#164d6b;font-weight:850;cursor:pointer}.agenda-empty{text-align:center;padding:30px!important}.agenda-empty .app-icon{width:36px;height:36px;color:#0b6f9f}.mass-share-intentions{min-height:35px!important}.mass-reading-actions{flex-wrap:wrap}@media(max-width:700px){.agenda-summary{grid-template-columns:repeat(2,1fr)}.agenda-day>div{margin-left:10px;padding-left:13px}.agenda-event{grid-template-columns:39px 1fr}.agenda-event-icon{width:39px;height:39px}.agenda-event-actions{grid-column:1/-1;justify-content:flex-end}.agenda-event-actions button{flex:1}.agenda-home-entry{grid-template-columns:44px 1fr auto;padding:13px}.agenda-home-entry>span{width:44px;height:44px}.mass-reading-actions .mass-share-intentions{width:100%}}
.module-team{border-color:#9fc8b8!important;background:linear-gradient(145deg,#f5fbf8,#e8f5ef)!important}.module-team .module-icon{color:#187456!important}.team-hero{background:linear-gradient(115deg,#164d4a,#15755f 68%,#60836a)!important}.team-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 22px}.team-summary>div{padding:15px;border:1px solid #bdd8cc;border-radius:15px;background:linear-gradient(145deg,#fff,#eff8f3);text-align:center}.team-summary b{display:block;color:#145d48;font:700 26px Georgia,serif}.team-summary span{display:block;margin-top:4px;color:#647c72;font-size:11px}.team-directory{display:grid;gap:18px}.team-role-section{overflow:hidden;border:1px solid #c4dcd1;border-radius:18px;background:#fff;box-shadow:0 8px 21px rgba(18,77,62,.07)}.team-role-section>header{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid #d8e6df;background:linear-gradient(135deg,#eff8f4,#f9fcfb)}.team-role-section>header>span{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#176f56;color:#fff}.team-role-section>header .app-icon{width:24px;height:24px}.team-role-section>header small{color:#73877f;font-size:9px;font-weight:900;letter-spacing:.09em}.team-role-section>header h3{margin:2px 0 0;color:#144f3f;font:700 20px Georgia,serif}.team-member-list{padding:0 17px}.team-member{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:13px;padding:15px 2px;border-bottom:1px solid #dce7e2}.team-member:last-child{border-bottom:0}.team-avatar{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:#e5f4ed;color:#17684f;font:800 19px Georgia,serif}.team-member-copy small{color:#8b6a1b;font-size:9px;font-weight:900;text-transform:uppercase}.team-member-copy h3{margin:3px 0;color:#153f35;font-size:15px}.team-member-copy p{margin:0;color:#687b74;font-size:11px}.team-member-contact{display:flex;align-items:flex-end;flex-direction:column;gap:6px}.team-member-contact a{color:#0a6e96;font-size:12px;font-weight:850;text-decoration:none}.team-member-contact span{color:#84938d;font-size:10px}.team-member-contact button{padding:7px 10px;border:1px solid #b9d3c7;border-radius:9px;background:#f1f8f5;color:#195c48;font-size:10px;font-weight:850;cursor:pointer}.team-role-empty{padding:20px;color:#75877f;text-align:center;font-size:12px}.team-privacy-note{display:flex;gap:10px;margin-top:18px;padding:14px 17px;border-left:5px solid #1b795c;border-radius:13px;background:#edf8f3;color:#376858;font-size:12px}.team-privacy-note span{color:#617a70}@media(max-width:650px){.team-summary{grid-template-columns:1fr 1fr}.team-summary>div:first-child{grid-column:1/-1}.team-member{grid-template-columns:41px 1fr}.team-avatar{width:41px;height:41px}.team-member-contact{grid-column:1/-1;align-items:center;flex-direction:row;justify-content:flex-end}.team-privacy-note{align-items:flex-start;flex-direction:column}}
.team-assignment-editor{margin-bottom:22px;padding:20px;border-color:#b9d5c8;background:linear-gradient(145deg,#fff,#eef8f3)}.team-assignment-editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:17px}.team-assignment-editor header small,.team-ministry-section>header small{color:#8b6918;font-size:9px;font-weight:900;letter-spacing:.12em}.team-assignment-editor h2{margin:3px 0 4px;color:#144f3f;font:700 23px Georgia,serif}.team-assignment-editor p{margin:0;color:#637a71;font-size:11px}.team-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.team-form-grid label{color:#315e50;font-size:10px;font-weight:850}.team-form-grid input,.team-form-grid select,.team-form-grid textarea{box-sizing:border-box;width:100%;margin-top:6px;border:1px solid #b8d3c7;border-radius:11px;background:#fff;color:#123e32}.team-form-grid textarea{min-height:75px;resize:vertical}.team-form-grid .team-wide{grid-column:1/-1}.team-form-options{display:flex;flex-wrap:wrap;gap:10px 24px;margin:14px 0;color:#4d6e63;font-size:11px}.team-form-options label{display:flex;align-items:center;gap:7px}.team-form-options input{width:17px;height:17px;accent-color:#176f56}.team-assignment-editor form>.primary{width:100%;background:#176f56}.team-custom-title,.team-system-title{margin-top:22px}.team-custom-directory{display:grid;gap:16px}.team-ministry-section{overflow:hidden;border:1px solid #c1d9ce;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(18,77,62,.07)}.team-ministry-section>header{padding:13px 18px;border-bottom:1px solid #d7e7df;background:linear-gradient(135deg,#edf8f3,#f9fcfb)}.team-ministry-section>header h3{margin:3px 0 0;color:#155b47;font:700 20px Georgia,serif}.team-assignment-card{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:13px;margin:0 17px;padding:15px 2px;border-bottom:1px solid #dce8e2}.team-assignment-card:last-child{border-bottom:0}.team-assignment-copy>small{color:#9a7318;font-size:9px;font-weight:900;text-transform:uppercase}.team-assignment-copy h3{margin:3px 0;color:#123f34;font-size:15px}.team-assignment-copy>b{display:block;color:#41675b;font-size:12px}.team-assignment-copy p{margin:6px 0 0;color:#6b7e77;font-size:11px}.team-assignment-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.team-assignment-meta span{padding:3px 7px;border-radius:99px;background:#edf6f2;color:#56756a;font-size:9px}.team-card-actions{display:flex;gap:6px}.team-member-contact .team-finish-btn{border-color:#e4c8c2;background:#fff5f2;color:#a24436}.team-custom-empty{display:flex;align-items:center;gap:14px;padding:18px;border-color:#c5ddd2}.team-custom-empty>span{display:grid;place-items:center;width:47px;height:47px;border-radius:14px;background:#e7f4ee;color:#176f56}.team-custom-empty h3{margin:0 0 4px;color:#154b3d}.team-custom-empty p{margin:0;color:#6b7e77;font-size:11px}.team-history{margin-top:18px;padding:0;overflow:hidden}.team-history summary{padding:15px 18px;color:#486d60;font-weight:850;cursor:pointer}.team-history .team-assignment-card{opacity:.7}@media(max-width:650px){.team-assignment-editor{padding:16px}.team-assignment-editor>header{flex-direction:column}.team-form-grid{grid-template-columns:1fr}.team-form-grid .team-wide{grid-column:auto}.team-assignment-card{grid-template-columns:41px 1fr}.team-assignment-card>.team-member-contact{grid-column:1/-1;align-items:center;flex-direction:row;justify-content:space-between}.team-card-actions{margin-left:auto}}

/* Los formularios de Gestión deben caber en pantallas angostas. */
@media (max-width:700px){
  .content .row{flex-direction:column}
  .content .row>*{flex:0 1 auto;min-width:0;width:100%;box-sizing:border-box}
  .content .row input,.content .row select,.content .row textarea{min-width:0;max-width:100%;width:100%;box-sizing:border-box}
}

.donation-qr-image{display:block;width:min(240px,100%);height:auto;margin:12px 0;border-radius:12px;border:1px solid #d3dce4;background:#fff}.donation-detail .donation-current{margin-top:14px}.donation-detail .donation-current-copy{min-width:0;overflow-wrap:anywhere}

.donation-edit-btn{display:block;margin:0 0 16px auto;max-width:100%;white-space:normal;text-align:center}

.donation-settings{margin-top:18px}.donation-account-editor{margin:16px 0;padding:18px;border:1px solid #cbdbea;border-radius:18px;background:#f8fcff;min-width:0}.donation-account-editor h4{margin:0 0 14px;color:#153b5b}.donation-account-editor .field{min-width:0}.donation-account-editor input{box-sizing:border-box;max-width:100%;width:100%}.donation-account-editor .donation-account-toggle{display:flex;align-items:center;gap:10px;margin:12px 0;font-weight:600}.donation-account-editor .donation-account-toggle input{width:auto}.donation-account-actions{display:flex;gap:10px;flex-wrap:wrap}.donation-account-actions button{flex:1 1 160px}.preference-feedback{padding:12px 14px;border-radius:12px;background:#e9f5fb;color:#174b6a;border:1px solid #bdd9e8}.donation-settings #donationAccountsStatus{min-height:1.3em}

/* Espacios de servicio, fichas y recordatorios */
.person-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:16px}.person-overview-grid section{padding:16px;background:#f3f9fd;border:1px solid #cee0ed;border-radius:16px;min-width:0}.person-overview-grid h4{margin:0 0 12px;color:#123e5e}.person-overview-item{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-top:1px solid #d6e3eb;overflow-wrap:anywhere}.person-overview-item small{color:#597080}
.volunteer-home-entry{display:flex;align-items:center;gap:16px;width:100%;text-align:left;border:1px solid #c8d7e7;border-radius:18px;padding:18px;margin:16px 0;background:#f6fbff;color:#163c5c}.volunteer-home-entry>span{flex:none;color:#166a9c}.volunteer-home-entry svg{width:30px;height:30px}.volunteer-home-entry div{flex:1;min-width:0}.volunteer-home-entry small{display:block;color:#956e1d;font-weight:700;letter-spacing:.08em}.volunteer-home-entry b{display:block;font-size:1.15rem}.volunteer-home-entry p{margin:4px 0 0}.volunteer-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px}.volunteer-call{min-width:0}.volunteer-call-top{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;color:#45637b}.volunteer-call h3{margin:14px 0 8px}.volunteer-organizers{margin:12px 0;padding:12px;border-radius:12px;background:#f2f8fc}.volunteer-organizers>div{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid #dce9f0}.volunteer-organizers span{overflow-wrap:anywhere}.volunteer-create{margin-bottom:18px}.reminder-entry{margin:16px 0;border:1px solid #cbdce9;border-radius:18px;background:#f6fbff;width:100%;text-align:left}.reminder-list{display:grid;gap:14px;margin:18px 0}.event-reminder-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid #afc9dc;border-radius:12px;padding:9px 12px;background:#f3faff;color:#18557b;cursor:pointer;font:inherit;font-weight:700}.event-reminder-btn svg{width:18px;height:18px}.event-reminder-btn.is-selected{background:#eef7ee;color:#176249;border-color:#a3d0b2}.agenda-event-actions{flex-wrap:wrap}.secretary-create #secProfile{width:100%;max-width:100%;margin-top:8px}
@media(max-width:700px){.volunteer-organizers>div{flex-direction:column}.event-reminder-btn{max-width:100%;white-space:normal}.volunteer-list{grid-template-columns:1fr}}

.pastoral-contact-entry{display:flex;align-items:center;gap:14px;width:100%;padding:16px;margin:12px 0 20px;border:1px solid #b9d7e1;border-radius:16px;background:#f5fcfd;color:#184a68;text-align:left;box-shadow:0 5px 18px rgba(8,43,71,.06)}.pastoral-contact-entry>span{flex:none}.pastoral-contact-entry svg{width:26px;height:26px}.pastoral-contact-entry div{flex:1;min-width:0}.pastoral-contact-entry b{display:block}.pastoral-contact-entry small{display:block;margin-top:3px}.pastoral-request-list{display:grid;gap:14px;margin-bottom:18px}.pastoral-request{min-width:0;overflow-wrap:anywhere}.pastoral-request label{display:block;margin-top:16px}.pastoral-request select{display:block;width:100%;max-width:100%;margin-top:5px}.pastoral-contact-form{margin:18px 0}

.secretary-person-results{display:grid;gap:6px;margin-top:8px}.secretary-person-results button{display:block;width:100%;padding:10px 12px;text-align:left;color:#16415f;background:#f5fbff;border:1px solid #cadfea;border-radius:10px;font:inherit}.secretary-person-results button:focus-visible{outline:3px solid #d4a541}.secretary-person-results span{color:#667b89;padding:8px 0}

.pending-inbox{display:grid;gap:14px;margin:20px 0}.pending-inbox-item{width:100%;display:flex;align-items:center;gap:18px;text-align:left;cursor:pointer;color:inherit}.pending-inbox-item>span:nth-child(2){flex:1;display:grid;gap:5px}.pending-inbox-item small{font-size:.88rem;color:#526779}.pending-inbox-count{display:grid;place-items:center;min-width:48px;height:48px;border-radius:15px;background:#e7f2fb;color:#115483;font-weight:800}.pending-inbox-item>span:last-child{font-size:1.5rem;color:#145b84}
@media(max-width:600px){.pending-inbox-item{padding:17px 14px;gap:12px}.pending-inbox-count{min-width:42px;height:42px}}

/* Ficha de Secretaría */
.secretary-detail{max-width:920px;margin:auto}.secretary-detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}.secretary-detail-actions button{width:auto;min-height:46px}.secretary-detail-sheet{padding:clamp(20px,4vw,38px)}.secretary-detail-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:18px;border-bottom:1px solid #d7e3ec}.secretary-detail-heading small{color:#996c17;letter-spacing:.07em;font-weight:800}.secretary-detail-heading h2{font-family:Georgia,serif;color:#153853;margin:6px 0}.secretary-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.secretary-detail-grid>div{display:grid;gap:5px;background:#f4f9fd;border:1px solid #dbe8f1;border-radius:14px;padding:13px;min-width:0}.secretary-detail-grid small{font-size:.78rem;color:#53687a}.secretary-detail-grid b{overflow-wrap:anywhere}.secretary-detail-section{border-top:1px solid #d8e4eb;padding:20px 0}.secretary-detail-section h3{margin:0 0 12px;color:#153853}.secretary-detail-section p{white-space:pre-wrap;overflow-wrap:anywhere}.secretary-detail-sheet footer{font-size:.75rem;color:#5b6d79;border-top:1px solid #ccd9e0;padding-top:16px}.secretary-history-row{display:flex;gap:15px;padding:9px 0;border-bottom:1px solid #e5ebef}.secretary-history-row time{min-width:150px}.secretary-case-actions button{border:1px solid #b8d2e5;border-radius:12px;padding:10px;background:#f5fbff;color:#14527b;font-weight:700;cursor:pointer}.secretary-docs span{padding:8px 11px;border-radius:10px;border:1px solid #d7e2ea}.secretary-docs span.ok{background:#e5f5eb}.secretary-docs span.missing{background:#f6f5ef}
@media(max-width:560px){.secretary-detail-grid{grid-template-columns:1fr}.secretary-detail-actions button{flex:1 1 100%}.secretary-history-row{display:grid;gap:4px}}
@media print{body{background:#fff!important;color:#111!important}.hero,.topbar,.bottom,.bottom-nav,.bottom-navigation,.nav-bottom,.notification-panel,.no-print,.secretary-detail-section.no-print,.secretary-detail-actions{display:none!important}.shell,.content,.secretary-detail,.secretary-detail-sheet{display:block!important;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;box-shadow:none!important;border:0!important;background:#fff!important}.secretary-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.secretary-detail-grid>div{break-inside:avoid}.secretary-detail-section{break-inside:avoid}@page{size:A4;margin:17mm}}

/* Agenda de turnos de Secretaría */
.secretary-appointment-back{margin:16px 0;width:auto}.secretary-appointment-group{margin:28px 0}.secretary-appointment-list{display:grid;gap:14px}.secretary-appointment-card{display:grid;gap:18px}.secretary-appointment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.secretary-appointment-head time{color:#966f26;font-weight:700}.secretary-appointment-head h3{margin:7px 0 4px;color:#143550}.secretary-appointment-head small{color:#526679}.secretary-appointment-state{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;white-space:nowrap;font-size:.79rem;font-weight:800}.secretary-appointment-state.attention{background:#ffede9;color:#9b382c}.secretary-appointment-state.waiting{background:#fff4d9;color:#816009}.secretary-appointment-state.done{background:#e4f6e9;color:#206543}.secretary-appointment-actions{display:flex;flex-wrap:wrap;gap:10px}.secretary-appointment-actions button{width:auto;min-height:44px}.secretary-appointment-empty{color:#4d6474}.secretary-appointment-help{font-size:.85rem;color:#526779}.secretary-whatsapp-preview{margin:22px 0;border-color:#c9a741}.secretary-whatsapp-preview label{display:grid;gap:7px;font-weight:700;margin:16px 0}.secretary-whatsapp-preview input,.secretary-whatsapp-preview textarea{width:100%;border:1px solid #b7cedc;border-radius:12px;padding:12px;font:inherit}.secretary-whatsapp-preview p{line-height:1.5}
@media(max-width:620px){.secretary-appointment-head{display:grid}.secretary-appointment-state{justify-self:start;white-space:normal}.secretary-appointment-actions button{flex:1 1 100%}}

/* Turnos propios dentro de Mi cuenta */
.my-secretary-cases{margin:20px 0}.my-secretary-cases>h3{color:#153a57;margin:0 0 6px}.my-secretary-cases>p{color:#4d6273}.my-secretary-case-list{display:grid;gap:12px}.my-secretary-case{border:1px solid #d3e4ed;border-radius:16px;background:#f4f9fc;padding:18px;display:grid;gap:14px}.my-secretary-case small{color:#6f551e;font-weight:800}.my-secretary-case h4{font-size:1.15rem;margin:8px 0}.my-secretary-case p{color:#425c6f;margin:0 0 10px}.my-secretary-confirmation{display:inline-block;border-radius:999px;padding:7px 11px;font-size:.82rem;font-weight:800}.my-secretary-confirmation.confirmed{background:#e1f4e7;color:#22643e}.my-secretary-confirmation.pending{background:#fff2d4;color:#74560e}.my-secretary-case-actions{display:flex;gap:10px;flex-wrap:wrap}.my-secretary-case-actions button{width:auto;min-height:44px}
@media(max-width:600px){.my-secretary-case-actions button{flex:1 1 100%}}

/* Acceso a la solicitud privada visible al comienzo de Mi cuenta en móvil y escritorio */
.content .pastoral-contact-entry{display:flex;align-items:center;width:100%;min-height:68px;gap:14px;margin:14px 0 16px;padding:16px;border:1px solid #b4d6e2;border-radius:16px;background:#f4fbff;color:#17466b;text-align:left;box-shadow:0 6px 18px rgba(8,43,71,.08)}
.content .pastoral-contact-entry div{flex:1;min-width:0}.content .pastoral-contact-entry b,.content .pastoral-contact-entry small{overflow-wrap:anywhere}.content .pastoral-contact-entry i{flex:none;font-size:22px;font-style:normal}
@media(max-width:640px){.content .pastoral-contact-entry{min-height:76px;padding:15px 13px;gap:12px;margin:12px 0 18px}.content .pastoral-contact-entry b{font-size:16px;line-height:1.3}.content .pastoral-contact-entry small{font-size:13px;line-height:1.35}.pastoral-contact-form input,.pastoral-contact-form select,.pastoral-contact-form textarea{max-width:100%;font-size:16px}}

.startup-status{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(155deg,#eef7fd,#e4edf5);color:#143f60;text-align:center;padding:24px}.startup-status span{display:grid;place-items:center;width:68px;height:68px;border-radius:20px;background:#0d426d;color:#e7b954;font-size:38px;box-shadow:0 12px 32px #123d6440}.startup-status b{font-family:Georgia,serif;font-size:24px}.startup-status small{font-size:14px;color:#567084}

/* Conversaciones privadas */
.pastoral-thread{display:grid;gap:12px;margin:18px 0;max-height:520px;overflow:auto;overscroll-behavior:contain}.pastoral-bubble{background:#f0f7fc;border:1px solid #d3e4f0;border-radius:16px;padding:12px 16px;max-width:92%;overflow-wrap:anywhere}.pastoral-bubble-staff{background:#fff9e8;border-color:#e5d7ab;margin-left:auto}.pastoral-bubble small{display:block;color:#506779;font-size:.8rem}.pastoral-bubble p{margin:6px 0 0;white-space:pre-wrap}.pastoral-reply-form{display:grid;gap:10px;margin-top:16px}.pastoral-reply-form textarea{width:100%;min-height:84px;box-sizing:border-box}.pastoral-reply-form .primary{width:auto;justify-self:start;min-height:44px}.pastoral-closed{color:#637383;font-size:.92rem}.pastoral-request{min-width:0;overflow-wrap:anywhere}@media(max-width:600px){.pastoral-bubble{max-width:100%}.pastoral-reply-form .primary{width:100%}}

.pastoral-handler{padding:10px 13px;border-radius:12px;background:#edf7f7;color:#244957;margin:12px 0}.pastoral-transfer{display:grid;gap:8px;margin:12px 0}.pastoral-transfer select{width:100%;min-height:46px}

/* Inicio del feligrés: resumen semanal */
.parish-week{margin:18px 0 24px;padding:22px;border:1px solid #d9c998;border-radius:22px;background:linear-gradient(140deg,#fffdf6,#edf8ff 85%);box-shadow:0 12px 26px rgba(15,46,75,.08)}
.parish-week-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.parish-week-heading small{color:#886b29;font-size:.75rem;font-weight:800;letter-spacing:.1em}.parish-week-heading h2{font-family:Georgia,serif;color:#173a53;font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.14;margin:5px 0 0}.parish-week-heading>span{color:#a27d24;flex:none}.parish-week-list{display:grid;gap:8px}.parish-week-item{width:100%;min-width:0;display:flex;align-items:center;gap:13px;text-align:left;padding:13px 14px;border-radius:13px;border:1px solid #d6e5eb;background:#fff;color:#16364e;cursor:pointer;min-height:72px}.parish-week-item:hover,.parish-week-item:focus-visible{border-color:#b79847;background:#fffdf8}.parish-week-icon{flex:none;color:#17638f}.parish-week-text{display:grid;gap:3px;min-width:0}.parish-week-text small{color:#825f1e;font-size:.78rem;font-weight:700}.parish-week-text b{line-height:1.25;overflow-wrap:anywhere}.parish-week-text>span{font-size:.82rem;color:#536a78;overflow-wrap:anywhere}.parish-week-item>i{font-style:normal;font-size:1.4rem;color:#17638f;margin-left:auto}.parish-week-all{border:0;background:transparent;color:#145982;font-weight:750;min-height:44px;margin-top:9px;padding:7px 4px;cursor:pointer}.parish-week-all span{margin-left:5px}.parish-week-empty{color:#536777;margin:8px 0}.parish-week .parish-week-all:focus-visible{outline:2px solid #145982;outline-offset:3px}@media(max-width:600px){.parish-week{padding:17px;margin:14px 0 20px}.parish-week-item{gap:10px;padding:12px}.parish-week-heading h2{font-size:1.45rem}}

/* Botones de agenda cómodos en pantallas táctiles */
.agenda-open,.agenda-event-actions .event-reminder-btn,.agenda-event-actions .content-whatsapp-share{min-height:44px}.agenda-open:focus-visible,.parish-week-item:focus-visible{outline:3px solid #d7a641;outline-offset:2px}

.reminder-unavailable{padding:12px 14px;background:#fff6e8;color:#78531b;border:1px solid #ead5a7;border-radius:12px;line-height:1.4}.reminder-list .donation-account-actions button{min-height:44px}

/* Bandeja de atención privada */
.pastoral-inbox-secondary{margin:18px 0}.pastoral-inbox-secondary>summary{cursor:pointer;font-weight:750;color:#1d4e69;min-height:44px;display:list-item;padding:11px 4px}.pastoral-inbox-secondary .pastoral-request-list{margin:12px 0 2px}.pastoral-inbox-secondary .pastoral-request{box-shadow:0 6px 16px rgba(8,43,71,.06)}

.pastoral-new-reply{display:inline-flex;align-items:center;min-height:44px;margin:8px 0 0;padding:8px 12px;border-radius:999px;border:1px solid #b2923c;background:#fff8e4;color:#715217;font-weight:750;cursor:pointer}.pastoral-new-reply:focus-visible{outline:3px solid #cfa13b;outline-offset:2px}

/* Centro de avisos: desplazamiento interno y cierre sin perder pendientes */
.notif-panel{display:none;max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);flex-direction:column}
.notif-panel.open{display:flex}
.notif-head{flex:none}
.notif-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.notif-clear{align-self:flex-end;margin:8px 7px 4px;border:0;background:#eef5fa;color:#13547d;border-radius:10px;padding:9px 12px;font:700 .84rem system-ui,sans-serif;cursor:pointer}
.notif-clear:focus-visible,.notif-item:focus-visible{outline:3px solid #c39221;outline-offset:2px}
.notif-feedback{margin:5px 8px;color:#9b382c;font-size:.86rem}
.workspace-hero .workspace-parish{display:block;line-height:1.4;overflow-wrap:anywhere}
.workspace-hero .workspace-role{display:inline-block;margin:9px 0 2px;padding:6px 10px;border:1px solid rgba(255,255,255,.4);border-radius:999px;color:#fff;font-weight:750;font-size:.88rem}
@media(max-width:640px){.notif-panel{top:calc(72px + env(safe-area-inset-top,0px));max-height:calc(100vh - 90px - env(safe-area-inset-top,0px));max-height:calc(100dvh - 90px - env(safe-area-inset-top,0px));left:12px;right:12px;width:auto}.notif-list{padding-bottom:8px}}

/* Próximo paso visible en cada trámite de Secretaría */
.secretary-next-step{width:100%;display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;margin:13px 0;padding:12px 14px;text-align:left;border:1px solid #d7c38a;border-left:4px solid #c39221;border-radius:13px;background:#fffaf0;color:#173b54;cursor:pointer;font:inherit}
.secretary-next-step small{grid-column:1;font-size:.7rem;font-weight:800;letter-spacing:.06em;color:#805d14}
.secretary-next-step strong{grid-column:1;font-size:.92rem;line-height:1.4;overflow-wrap:anywhere}
.secretary-next-step>span{grid-column:2;grid-row:1/3;font-size:1.35rem;color:#9a7223}
.secretary-next-step:focus-visible{outline:3px solid #c39221;outline-offset:2px}

/* Revisión sacerdotal directa desde el espacio de trabajo */
.priest-review-panel{margin-top:14px;padding:16px;border:1px solid #c4d9e2;border-radius:17px;background:#f7fbfd}
.priest-review-panel h3{margin:0 0 12px;color:#153e56;font-size:1.05rem}
.priest-review-panel h3 span{color:#5d7688;font-size:.86rem}
.priest-review-list{display:grid;gap:9px}
.priest-review-item{width:100%;display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:12px;text-align:left;color:#173b54;background:#fff;border:1px solid #d2e1e9;border-radius:12px;cursor:pointer;font:inherit}
.priest-review-item small,.priest-review-item strong,.priest-review-item span{grid-column:1;overflow-wrap:anywhere}
.priest-review-item small{color:#766327;font-size:.75rem}
.priest-review-item strong{font-size:.96rem}
.priest-review-item span{color:#567083;font-size:.82rem}
.priest-review-item i{grid-column:2;grid-row:1/4;align-self:center;color:#24739c;font-size:1.3rem}
.priest-review-item:focus-visible,.priest-review-more:focus-visible{outline:3px solid #c39221;outline-offset:2px}
.priest-review-more{margin-top:10px;padding:10px 12px;width:100%;border:1px solid #9ec6d8;border-radius:11px;background:#eaf6fb;color:#12577a;font-weight:800;cursor:pointer}

/* Seguimiento claro de trámites para la persona registrada */
.my-case-next-step{display:grid;gap:4px;padding:11px 12px;margin:8px 0 12px!important;border-left:4px solid #bd902c;border-radius:9px;background:#fffaf0;color:#193d55}
.my-case-next-step strong{font-size:.79rem;color:#805c16}
.my-case-next-step span{font-size:.91rem;line-height:1.4}
.my-cases-home{width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;text-align:left;margin:16px 0;padding:14px 16px;border:1px solid #bfd6e2;border-radius:16px;background:#f6fbfe;color:#153f5c;box-shadow:0 7px 20px rgba(8,49,80,.08);cursor:pointer;font:inherit}
.my-cases-home>span{display:grid;place-items:center;color:#12668b}
.my-cases-home div{min-width:0}
.my-cases-home small{display:block;font-weight:800;font-size:.69rem;letter-spacing:.07em;color:#986f21}
.my-cases-home strong{display:block;margin:3px 0;font-size:1rem}
.my-cases-home p{margin:0;color:#5d7485;font-size:.83rem}
.my-cases-home i{font-style:normal;font-size:1.45rem;color:#2c789a}
.my-cases-home:focus-visible{outline:3px solid #c39221;outline-offset:2px}

.pastoral-contact-entry.mobile-pastoral-entry{display:none}
@media(max-width:700px){.pastoral-contact-entry.mobile-pastoral-entry{display:flex;margin:0 0 16px}}

/* Editor del chat: una fila completa para escribir y otra para enviar. */
.content #teamChatForm{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;align-items:stretch!important;width:100%;box-sizing:border-box;margin-top:18px}
.content #teamChatForm .team-chat-field{display:flex;flex:none!important;flex-direction:column;min-width:0!important;width:100%!important;margin:0!important;box-sizing:border-box}
.content #teamChatBody{display:block;box-sizing:border-box;width:100%!important;min-width:0;min-height:132px;max-height:40vh;resize:vertical;font-size:16px;line-height:1.45}
.content #teamChatForm .team-chat-send{display:block;width:100%!important;min-height:54px;box-sizing:border-box}

/* Campanita: acciones compactas para dejar más espacio a la lista en celular. */
.notif-actions{display:flex;flex:none;gap:8px;justify-content:flex-end;padding:8px 7px 3px}
.notif-actions:empty{display:none}
.notif-actions .notif-clear{align-self:auto;margin:0;min-height:40px;white-space:normal}
.notif-actions .notif-clear--delete{background:#fff6f4;border:1px solid #e4b9ae;color:#9b382c}
@media(max-width:640px){.notif-actions .notif-clear{flex:1;padding:8px 7px;font-size:.78rem}}

/* Ventana flotante para mensajes del equipo */
.team-chat-launcher{position:fixed;right:16px;bottom:86px;z-index:9998;display:flex;align-items:center;gap:8px;min-height:52px;padding:10px 16px;border:1px solid #b9d9ef;border-radius:999px;background:#075b91;color:#fff;box-shadow:0 10px 28px #092e5060;font:700 15px system-ui,sans-serif;cursor:pointer}
.team-chat-launcher span:first-child{font-size:22px}
.team-chat-launcher[aria-expanded="true"]{display:none}
.team-chat-overlay{position:fixed;right:12px;bottom:84px;z-index:9999;width:min(400px,calc(100vw - 24px));height:min(620px,calc(100dvh - 100px));display:flex;flex-direction:column;overflow:hidden;border:1px solid #b9d9ef;border-radius:20px;background:#fff;box-shadow:0 18px 55px #092e5080}
.team-chat-overlay-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 14px;background:#075b91;color:#fff}
.team-chat-overlay-head button{width:40px;height:40px;border:0;border-radius:50%;background:#ffffff24;color:#fff;font-size:20px;cursor:pointer}
.team-chat-panel-body{display:flex;flex:1;flex-direction:column;min-height:0;padding:8px;overflow:hidden}
.team-chat-panel-body>.section-title{display:none}
.team-chat-panel-body>section.card:first-of-type{flex:none;padding:6px!important;margin:0 0 6px!important;box-shadow:none}
.team-chat-panel-body>section.card:first-of-type>p{display:none}
.team-chat-panel-body>section.card:last-of-type{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;padding:8px!important;margin:0!important;box-shadow:none}
.team-chat-panel-body>section.card:last-of-type>h3{margin:4px 0 8px}
.team-chat-panel-body #teamChatMessages{flex:1;min-height:120px!important;height:auto!important;max-height:none!important}
.team-chat-panel-body #teamChatForm{flex:none;margin-top:8px}
.team-chat-panel-body #teamChatBody{min-height:58px!important;max-height:100px}
@media(min-width:700px){.team-chat-launcher{bottom:24px;right:24px}.team-chat-overlay{bottom:24px;right:24px;height:min(620px,calc(100dvh - 48px))}}

.team-chat-search-label{display:block;margin:6px 0 4px;color:#45657a;font-size:12px;font-weight:700}
#teamChatMemberSearch{display:block;width:100%;min-height:40px;padding:8px 12px;border:1px solid #b9d9ef;border-radius:10px;background:#fff;color:#15324a;font:inherit}
.team-chat-member-choice[hidden]{display:none!important}

/* Chat compacto con vista de conversaciones y teclado móvil */
.team-chat-badge,.team-chat-row-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:20px;background:#e52e48;color:white;font:700 12px system-ui}.team-chat-badge[hidden],.team-chat-row-count[hidden]{display:none}.team-chat-toast{position:fixed;bottom:85px;right:20px;z-index:10001;padding:12px 18px;border:0;border-radius:16px;background:#075b91;color:white;box-shadow:0 12px 30px #092e5060;cursor:pointer}.team-chat-inbox,.team-chat-thread{display:flex;flex:1;flex-direction:column;min-height:0;width:100%}.team-chat-inbox input{width:100%;height:42px;padding:8px 14px;border:1px solid #ccdbe5;border-radius:12px;font:inherit}.team-chat-conversations{flex:1;overflow:auto;overscroll-behavior:contain;margin-top:8px}.team-chat-row{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:8px 10px;border:0;border-bottom:1px solid #e5ebef;background:white;color:#15324a;text-align:left;cursor:pointer}.team-chat-row b{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.team-chat-avatar{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:#e3f2fa;color:#075b91;font-weight:700}.team-chat-alerts{flex:none;margin-top:8px}.team-chat-thread-head{display:flex;align-items:center;gap:10px;min-height:44px;border-bottom:1px solid #e4eaf0}.team-chat-thread-head button{border:0;background:transparent;font-size:32px;color:#075b91;cursor:pointer}.team-chat-thread-head b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.team-chat-thread #teamChatMessages{flex:1;min-height:0!important;height:auto!important;max-height:none!important;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:8px;padding:10px;background:#eaf2f8}.team-chat-thread #teamChatForm{display:flex!important;align-items:end!important;gap:8px!important;flex:none;margin:0!important;padding:8px 0 0}.team-chat-thread #teamChatBody{display:block!important;flex:1;min-width:0!important;width:auto!important;min-height:42px!important;max-height:90px;padding:9px 12px;resize:none;border:1px solid #bdd2df;border-radius:20px;font:16px system-ui}.team-chat-thread .team-chat-send{flex:none;width:44px!important;min-width:44px;height:44px!important;min-height:44px!important;border-radius:50%;padding:0!important}.team-chat-thread #teamChatStatus{flex:none;font-size:12px;margin:3px 0 0}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:699px){body.team-chat-open{overflow:hidden}.team-chat-overlay{left:0!important;right:0!important;bottom:auto!important;width:100vw!important;max-width:none;height:100dvh;border:0;border-radius:0}.team-chat-panel-body{padding:8px}.team-chat-launcher{bottom:86px}}

/* Conversaciones claras, inspiradas en la disposición de mensajería móvil */
.team-chat-overlay-head{background:#075e61}.team-chat-overlay-head b{font-size:17px}.team-chat-inbox-title{display:flex;align-items:baseline;gap:8px;padding:12px 10px 8px;color:#103b43}.team-chat-inbox-title span{font-size:20px;font-weight:800}.team-chat-inbox-title small{font-size:12px;color:#59727a}.team-chat-search-wrap{display:flex;align-items:center;gap:8px;margin:2px 6px 8px;padding:0 12px;border:1px solid #c5dfdc;border-radius:22px;background:#edf7f5}.team-chat-search-wrap>span{font-size:25px;line-height:1;color:#267b75}.team-chat-search-wrap #teamChatMemberSearch{height:44px;border:0;outline:0;background:transparent;color:#153d43;font-size:15px}.team-chat-search-wrap:focus-within{outline:2px solid #3caaa0;outline-offset:2px}.team-chat-row{border-bottom:1px solid #e0ebeb}.team-chat-row:focus-visible,.team-chat-back:focus-visible{outline:3px solid #65c8b5;outline-offset:-3px}.team-chat-avatar{background:#d5eeea;color:#176862}.team-chat-thread-head{gap:9px;min-height:62px;padding:6px 10px;background:#e8f5f1;border-bottom:1px solid #b9d9d1}.team-chat-thread-head .team-chat-back{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid #99c9c2;border-radius:50%;background:#fff;color:#075e61;font-size:24px;font-weight:700;line-height:1}.team-chat-thread-avatar{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:#cbe7df;color:#075e61;font-weight:700}.team-chat-thread-label{display:flex;flex-direction:column;min-width:0;line-height:1.2}.team-chat-thread-label b{font-size:15px}.team-chat-thread-label small{color:#52716c;font-size:11px;margin-top:4px}.team-chat-thread #teamChatMessages{background:#e5efec}.team-chat-message{max-width:86%;padding:8px 11px;border-radius:13px;color:#173739;overflow-wrap:anywhere;box-shadow:0 1px 2px #17373914;font-size:14px}.team-chat-message.incoming{align-self:flex-start;background:#fff;border-top-left-radius:3px}.team-chat-message.outgoing{align-self:flex-end;background:#d4f1df;border-top-right-radius:3px}.team-chat-message b{font-size:12px;color:#147668}.team-chat-message p{white-space:pre-wrap;margin:4px 0 3px;line-height:1.4}.team-chat-message small{display:block;text-align:right;font-size:10px;color:#627e79}.team-chat-thread .team-chat-send{background:#087769;border:0}.team-chat-thread #teamChatBody:focus{outline:2px solid #58b7a6}

/* Flecha de regreso con contraste alto y área táctil amplia */
.team-chat-thread-head .team-chat-back{width:48px;height:48px;min-width:48px;background:#075e61;border:2px solid #064b4e;color:#fff;box-shadow:0 2px 6px #073b3d45;font-size:29px;font-weight:800}.team-chat-thread-head .team-chat-back:hover,.team-chat-thread-head .team-chat-back:focus-visible{background:#03474c;outline:3px solid #74c8b2;outline-offset:2px}

/* Flecha ligera con superficie táctil amplia */
.team-chat-thread-head .team-chat-back{display:grid;place-items:center;width:46px;height:46px;min-width:46px;padding:0;border:0;border-radius:14px;background:transparent;color:#075e61;box-shadow:none;transition:background .18s ease,transform .18s ease}.team-chat-thread-head .team-chat-back svg{display:block;width:26px;height:26px}.team-chat-thread-head .team-chat-back:hover,.team-chat-thread-head .team-chat-back:focus-visible{background:#d2e9e2;color:#034f51;outline:0;transform:translateX(-2px)}.team-chat-thread-head .team-chat-back:focus-visible{outline:2px solid #0a7772;outline-offset:2px}

.parish-search-backdrop{position:fixed;inset:0;z-index:12000;display:flex;justify-content:center;align-items:flex-start;padding:clamp(12px,6vh,64px) 12px 12px;background:#071d35ae}
.parish-search-panel{width:min(560px,100%);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;overflow:hidden;padding:18px;border-radius:20px;background:#fff;color:#15324a;box-shadow:0 20px 60px #071d3570}
.parish-search-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.parish-search-panel h2{margin:0;color:#0b4f7c;font:700 clamp(20px,5vw,26px) Georgia,serif}
.parish-search-panel header button{width:44px;height:44px;flex:none;border:0;border-radius:50%;background:#e9f2f8;color:#123653;font-size:21px;cursor:pointer}
.parish-search-panel label{margin:14px 0 6px;font-weight:700}
#parishSearchInput{width:100%;min-height:50px;padding:10px 14px;border:2px solid #8dbad3;border-radius:12px;background:#fff;color:#15324a;font:inherit}
#parishSearchInput:focus-visible,.parish-search-result:focus-visible,.parish-search-panel header button:focus-visible{outline:3px solid #d6a633;outline-offset:2px}
#parishSearchResults{display:grid;gap:8px;min-height:80px;max-height:65vh;overflow-y:auto;margin-top:14px;overscroll-behavior:contain}
#parishSearchResults>p{margin:10px 2px;line-height:1.5}
.parish-search-result{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-height:68px;padding:11px 14px;border:1px solid #d7e5ee;border-radius:13px;background:#f6fafc;color:#15324a;text-align:left;cursor:pointer}
.parish-search-result small{font-weight:800;color:#075b91;text-transform:uppercase;letter-spacing:.04em}
.parish-search-result b{font-size:1rem}.parish-search-result span{font-size:.88rem;color:#4c6577}
.parish-search-error{color:#a24632}

/* Parroquias seguidas: datos públicos de otras comunidades. */
.parish-follow-intro{padding:18px;line-height:1.55}.parish-follow-intro p{margin:14px 0 0}.parish-follow-list{display:grid;gap:12px;margin:14px 0 24px}.parish-follow-card{padding:18px;display:grid;gap:14px}.parish-follow-title{display:flex;align-items:center;gap:12px;min-width:0}.parish-follow-title h3{margin:0 0 4px;font-size:1.08rem}.parish-follow-title small{display:block;opacity:.75}.parish-follow-card>.secondary{justify-self:start;min-height:44px}.parish-follow-masses{border-top:1px solid #dce7ee;padding-top:12px}.parish-follow-masses p{margin:8px 0 0;line-height:1.5}.parish-follow-search{display:grid;gap:7px;margin:12px 0 18px;font-weight:700}.parish-follow-search input{width:100%;min-height:48px;border:1px solid #afc3d2;border-radius:12px;padding:10px 14px;font:inherit}.parish-follow-option[hidden]{display:none}

/* Horarios públicos de confesión y adoración. */
.public-hours-hint{margin:0 0 14px;color:#526879;line-height:1.5}.public-hour-form-card{padding:18px;margin:14px 0}.public-hour-form-card h3{margin:0 0 14px}.public-hour-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.public-hour-fields label{display:grid;gap:7px;font-weight:700;color:#173b56}.public-hour-fields input,.public-hour-fields select{width:100%;min-height:46px;border:1px solid #b5c9d5;border-radius:11px;padding:9px 12px;font:inherit;background:white;color:#173b56}.public-hour-switch{display:flex;align-items:center;gap:10px;margin:16px 0;font-weight:700}.public-hour-switch input{width:22px;height:22px}.public-hour-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.public-hour-actions button{min-height:44px}.public-hour-list{display:grid;gap:10px;margin:14px 0 22px}.public-hour-row{padding:16px;display:flex;justify-content:space-between;gap:14px;align-items:center}.public-hour-row b{display:block;font-size:1.08rem}.public-hour-row span{font-weight:700;color:#286187}.public-hour-row p{margin:5px 0 0}.public-hour-paused{display:inline-block;margin-top:6px;color:#914d2f}.public-hour-empty{padding:18px}.massapp-hours{max-width:840px;margin:26px auto 0;padding:20px;border-radius:18px;background:#fff;color:#173b56;box-shadow:0 10px 28px #0b244018}.massapp-hours h2{font-size:1.35rem;margin:0 0 14px}.massapp-hours>p{line-height:1.6;margin:0}.massapp-hour{padding:14px 0;border-top:1px solid #dce8ee;display:grid;gap:5px}.massapp-hour b{color:#124e76}.massapp-hour small{font-size:.94rem;color:#455f70}@media(max-width:600px){.public-hour-row{display:grid}.public-hour-actions{width:100%}.massapp-hours{margin:20px 12px 0;padding:18px}}

/* Logo parroquial: menos margen dentro del mismo recuadro; no altera el encabezado. */
.hero .logo{padding:1px;overflow:hidden}

/* Santo Domingo: el dibujo se amplía dentro del mismo recuadro blanco. */
.hero .logo.logo-santo-domingo img{transform:scale(1.12);transform-origin:center}


/* Más: opciones secundarias plegadas sin ocultar su estado al guardar. */
.more-disclosure{margin:14px 0;padding:0!important;overflow:hidden}
.more-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:14px 18px;cursor:pointer;list-style:none;color:#174767}
.more-disclosure>summary::-webkit-details-marker{display:none}
.more-disclosure>summary span{display:grid;gap:3px}
.more-disclosure>summary b{font-size:1rem}
.more-disclosure>summary small{color:#526a7d;font-size:.82rem;line-height:1.35}
.more-disclosure>summary::after{content:"⌄";font-size:24px;line-height:1;color:#b58115;transition:transform .18s ease}
.more-disclosure[open]>summary::after{transform:rotate(180deg)}
.more-disclosure>summary:focus-visible{outline:3px solid #d6a633;outline-offset:-3px}
.more-disclosure-body{padding:0 18px 18px}
.more-disclosure-body h3{margin:4px 0 10px}
.more-disclosure-body p{line-height:1.5}

/* Chat privado de atención parroquial */
.pastoral-chat-panel{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;background:#f7faf9}
.pastoral-chat-panel .team-chat-thread-head{flex:none;padding:8px 12px}
.pastoral-chat-messages{display:flex;flex:1;flex-direction:column;gap:9px;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:16px 12px;background:#e5efec}
.pastoral-chat-messages .outgoing{align-self:flex-end;background:#d4f4df}
.pastoral-chat-messages .incoming{align-self:flex-start;background:#fff}
.pastoral-chat-messages .team-chat-message p{margin:5px 0;white-space:pre-wrap;line-height:1.45}
.pastoral-chat-messages .team-chat-message small{display:block;text-align:right;color:#5d7773;font-size:11px}
.pastoral-chat-composer{display:flex;align-items:flex-end;flex:none;gap:8px;margin:0!important;padding:10px 12px;background:#f2f7f5;border-top:1px solid #c5ded6}
.pastoral-chat-composer textarea{flex:1;min-width:0;width:auto;min-height:46px;max-height:110px;margin:0;resize:vertical;padding:12px;border:1px solid #bed6cd;border-radius:22px;background:#fff;font:inherit;font-size:16px;color:#173739}
.pastoral-chat-composer .team-chat-send{display:grid;place-items:center;flex:none;width:46px;height:46px;min-height:46px;padding:0;border:0;border-radius:50%;background:#087f73;color:#fff;font-size:24px}
.pastoral-chat-feedback{flex:none;margin:0;padding:5px 12px;font-size:12px;color:#17665d}
.pastoral-chat-feedback:empty{display:none}
.pastoral-chat-new{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px}
.pastoral-chat-new p{font-size:14px;line-height:1.45;color:#496a65}
.pastoral-chat-new input,.pastoral-chat-new select,.pastoral-chat-new textarea{font-size:16px}
.pastoral-chat-new-button{flex:none;margin:8px 12px;background:#087f73}
.pastoral-chat-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.pastoral-chat-row{display:flex;align-items:center;gap:12px;width:100%;min-height:86px;padding:12px;border:0;border-bottom:1px solid #dce9e3;background:#fff;text-align:left;color:#173739;cursor:pointer}
.pastoral-chat-row-copy{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}
.pastoral-chat-row-copy b{font-size:15px}
.pastoral-chat-row-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#55746b}
.pastoral-chat-row:hover{background:#eff8f4}
.pastoral-chat-row:focus-visible,.pastoral-chat-composer textarea:focus-visible{outline:3px solid #65c8b5;outline-offset:-3px}
.pastoral-chat-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;color:#496a65}
.pastoral-chat-panel .pastoral-closed{flex:none;padding:12px;margin:0;background:#fff8e8;font-size:14px}
.pastoral-chat-launcher svg{width:26px;height:26px}
@media(max-width:699px){body.pastoral-chat-open{overflow:hidden}.pastoral-chat-overlay{left:0!important;right:0!important;bottom:auto!important;width:100vw!important;max-width:none;border:0;border-radius:0}.pastoral-chat-panel .pastoral-chat-composer{padding-bottom:max(10px,env(safe-area-inset-bottom))}}

.pastoral-chat-launcher.with-team-chat{right:86px}
@media(min-width:700px){.pastoral-chat-launcher.with-team-chat{right:96px}}

/* Creación discreta dentro de cada módulo */
.module-create{padding:0!important;overflow:hidden}
.module-create>summary{position:relative;display:flex;flex-direction:column;gap:4px;list-style:none;padding:17px 46px 17px 18px;cursor:pointer;color:#174b68;background:#f1f8fb}
.module-create>summary::-webkit-details-marker{display:none}
.module-create>summary::after{content:"⌄";position:absolute;right:18px;top:18px;font-size:22px;line-height:1;color:#32718b}
.module-create[open]>summary::after{transform:rotate(180deg)}
.module-create>summary b{font-size:17px;line-height:1.3}
.module-create>summary small{font-size:13px;line-height:1.4;color:#5d7481}
.module-create>summary:focus-visible{outline:3px solid #4a9abc;outline-offset:-3px}
.module-create-body{padding:18px;border-top:1px solid #d4e5ed}
.module-create:not([open]) .module-create-body{display:none}

/* Lista de intenciones: acceso e impresión sin controles flotantes */
.intention-preparation p{line-height:1.5;color:var(--muted)}
.intention-preparation .field{margin:16px 0}
@media print{
  body:has(.mass-reading-sheet) .team-chat-launcher,body:has(.mass-reading-sheet) .team-chat-overlay,
  body:has(.mass-reading-sheet) .pastoral-chat-launcher,body:has(.mass-reading-sheet) .pastoral-chat-overlay{display:none!important}
  .mass-reading-sheet .reading-header,.mass-reading-sheet .reading-group h3{break-after:avoid}
  .mass-reading-sheet .reading-group li,.mass-reading-sheet .reading-proclamation p{break-inside:avoid}
}

/* Mi familia: un único espacio para responsables */
.family-section{margin:24px 0}.family-section>h3{color:var(--navy3);margin:0 0 12px}.family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.family-child{display:flex;align-items:flex-start;gap:14px}.family-avatar{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#e4f2f0;color:#176456;font-weight:800}.family-child h3,.family-group h3{margin:0 0 8px}.family-child p,.family-overview p,.family-group p{line-height:1.5}.family-contact{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:14px}.family-contact .secondary{justify-self:start}.family-events .family-event+.family-event{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.family-feed{display:grid;gap:12px}.family-post summary{cursor:pointer;min-height:48px}.family-post summary span{display:inline-grid;gap:7px;vertical-align:top;width:calc(100% - 24px)}.family-post summary small,.family-post time{color:var(--muted);font-size:12px}.family-post summary b{color:var(--navy3)}.family-post p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.family-overview,.family-child,.family-group,.family-event{overflow-wrap:anywhere}@media(max-width:640px){.family-grid{grid-template-columns:1fr}}

/* Secretaría: recepción compacta y tareas agrupadas */
.secretary-incoming>p{line-height:1.5;color:var(--muted)}.secretary-incoming-list .item>small{display:block;margin-top:5px;color:var(--muted)}.secretary-incoming-list .item>p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.secretary-incoming-list .secretary-case-actions{gap:10px;flex-wrap:wrap}.secretary-incoming-list button{min-height:44px}.secretary-case-list .secretary-case{overflow-wrap:anywhere}

/* Contactos parroquiales: opciones y accesos compactos */
.pastoral-chat-new .field select{width:100%;min-width:0;min-height:46px}.pastoral-chat-new-button{margin-bottom:10px}.team-form-options label{line-height:1.5}.pastoral-inbox .pastoral-request h3{overflow-wrap:anywhere}

/* Contactos privados: lista compacta como mensajería */
.parish-contacts-panel{display:flex;flex-direction:column;min-height:0;padding:14px;gap:12px;overflow:auto}.parish-contact-search{display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid #b4d4cc;border-radius:14px;background:#f0f7f4;color:#166657}.parish-contact-search input{min-width:0;width:100%;border:0;background:transparent;font:inherit;outline:none;color:#173e37}.parish-contact-search:focus-within{outline:2px solid #238773;outline-offset:2px}.parish-contact-list{display:grid;gap:3px}.parish-contact-row{width:100%;display:flex;align-items:center;gap:12px;min-height:70px;padding:12px 8px;background:#fff;border:0;border-bottom:1px solid #e0ece7;text-align:left;color:#153f37;cursor:pointer;font:inherit}.parish-contact-row:hover,.parish-contact-row:focus-visible{background:#eff8f3}.parish-contact-avatar{flex:none;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#d9eee5;color:#176655;font-weight:800}.parish-contact-row>span:nth-child(2){min-width:0;flex:1;display:grid;gap:4px}.parish-contact-row b{font-size:15px;overflow-wrap:anywhere}.parish-contact-row small{font-size:12px;color:#526e65;overflow-wrap:anywhere}.parish-contact-row i{font-size:23px;font-style:normal}.parish-contacts-help{font-size:12px;color:#526e65;line-height:1.5;margin:8px 0}.parish-chat-phone{margin:0 0 18px}.parish-chat-phone summary{font-size:13px;color:#296d5c;cursor:pointer;padding:10px 0}.parish-chat-phone .field{margin-top:8px}

/* Mensajería: lanzadores separados y alertas legibles en PC */
.pastoral-chat-launcher.with-team-chat{left:16px;right:auto}.parish-chat-launcher-label{font-size:12px}.team-chat-launcher:not(.pastoral-chat-launcher){max-width:calc(100vw - 185px)}.private-chat-toast{background:#146453;bottom:150px}@media(min-width:700px){.pastoral-chat-launcher.with-team-chat{left:auto;right:24px;bottom:90px}.parish-chat-launcher-label{font-size:13px}.team-chat-launcher:not(.pastoral-chat-launcher){max-width:none}.team-chat-toast{bottom:160px;right:24px;max-width:320px}.private-chat-toast{bottom:215px}}

/* Burbuja privada compacta: no cubre la lectura */
.pastoral-chat-launcher{width:50px;height:50px;min-width:50px;padding:0;justify-content:center;border-radius:50%}.pastoral-chat-launcher .parish-chat-launcher-label{display:none}.pastoral-chat-launcher .pastoral-chat-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;font-size:11px}

/* Consultas recibidas visibles en la lista de la burbuja */
.pastoral-chat-row-unread{background:#e7f6ef;border-left:3px solid #16816a}.pastoral-chat-row-unread .pastoral-chat-row-copy>b{color:#096451}.pastoral-chat-row-unread .pastoral-chat-row-copy>small:first-of-type{font-weight:650;color:#284e42}

/* Actividades: inscripción clara y herramientas juntas */
.activity-section-help{color:#476778;margin:0 0 16px;line-height:1.5}.activity-feedback{padding:13px 16px;background:#edf6f1;border:1px solid #aacfc1;border-radius:13px;color:#205344;line-height:1.5}.activity-confirmed{padding:10px 12px;border-radius:12px;background:#e5f4eb;color:#1a6045;font-weight:750}.activity-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.registrants-panel>input[type=search]{width:100%;box-sizing:border-box;min-height:44px;margin:8px 0;border:1px solid #bdd0da;border-radius:12px;padding:10px 12px;font:inherit}.activity-list-tools{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}.activity-list-tools button{min-height:40px;font-size:13px;padding:8px 12px}.registrants-panel>small{display:block;color:#566b75;line-height:1.5}.activity-attendee-rows{max-height:330px;overflow-y:auto;margin-top:12px}.activity-history{margin-top:20px}.activity-history>summary{font-weight:750;cursor:pointer;padding:8px 0}.activity-history>.activity-grid{margin-top:15px}.activity-card h3,.activity-card .registrant{overflow-wrap:anywhere}

/* Celular: dos globitos compactos, juntos sobre la navegación */
@media(max-width:699px){
 .team-chat-launcher{width:46px;height:46px;min-width:46px;min-height:46px;padding:0;gap:0;justify-content:center;border-radius:50%;box-shadow:0 3px 10px #092e5030;right:14px}
 .team-chat-launcher:not(.pastoral-chat-launcher)>span:nth-child(2){display:none}
 .team-chat-launcher:not(.pastoral-chat-launcher)>span:first-child{font-size:22px;line-height:1}
 .pastoral-chat-launcher.with-team-chat{left:auto;right:70px}
 .team-chat-launcher .team-chat-badge{position:absolute;top:-4px;right:-3px;min-width:18px;height:18px;padding:0 3px;box-sizing:border-box;font-size:10px;line-height:18px}
 .pastoral-chat-launcher svg{width:24px;height:24px}
}

/* Un solo acceso a mensajes con dos secciones dentro */
.unified-chat-tabs{display:flex;flex:none;gap:6px;padding:9px 12px;background:#edf5f5;border-bottom:1px solid #c9dddf}.unified-chat-tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid transparent;border-radius:12px;background:transparent;color:#345965;font:700 14px system-ui;cursor:pointer}.unified-chat-tabs button.active{background:#fff;border-color:#b5d4d4;color:#0b655f;box-shadow:0 2px 5px #0b455510}.chat-section-count{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:20px;padding:0 4px;background:#e52e48;color:#fff;font-size:11px}.chat-section-count[hidden]{display:none}.unified-chat-launcher{left:auto;right:24px}@media(max-width:699px){.unified-chat-launcher{left:auto;right:14px}}

/* Estado real de los mensajes privados */
.pastoral-message-ticks{display:inline-block;margin-left:6px;font-size:14px;font-weight:800;letter-spacing:-3px;padding-right:3px;color:#54736b}.pastoral-message-ticks.is-read{color:#057ec1}

/* Conversaciones: estado y paginación, sin cambios en la portada. */
#pastoralTypingStatus.is-typing{color:#10846c;font-weight:700}
.pastoral-history-more{display:block;margin:8px auto 16px;padding:8px 14px;border:1px solid #c4dcd5;border-radius:20px;background:#f4faf7;color:#246252;font-size:13px}
.pastoral-chat-messages .is-pending{opacity:.65}
.pastoral-chat-messages .team-chat-message p{white-space:pre-wrap;overflow-wrap:anywhere}

#teamTypingStatus.is-typing{color:#10846c;font-weight:700}

/* Retroceso de las pantallas interiores */
.section-back{margin:0 0 14px;display:flex;align-items:center}
.section-back-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:auto;min-height:44px;padding:9px 17px 9px 12px;border:1px solid #c5a85f;border-radius:999px;background:linear-gradient(135deg,#f7fbff,#e7f1f7);color:#164766;font:inherit;font-weight:700;line-height:1.2;box-shadow:0 3px 10px #0b244012;cursor:pointer;transition:background .15s,box-shadow .15s}
.section-back-button svg{width:23px;height:23px;flex:none;fill:none;stroke:#8c6b23;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.section-back-button:hover{background:#dcecf5;box-shadow:0 4px 12px #0b24401c}
.section-back-button:focus-visible{outline:3px solid #287aa4;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.section-back-button{transition:none}}
@media print{.section-back{display:none!important}}

/* Respect search visibility across directory card display rules. */
#parishTeamDirectory [hidden]{display:none!important}

/* Make the primary celebration action easy to recognize. */
.content .mass-form-card.module-create{border:1px solid #c9a54b;border-left:4px solid #d8b354;overflow:hidden}
.content .mass-form-card.module-create>summary{background:linear-gradient(115deg,#0b3457,#10658d);color:#fff;padding:19px 48px 19px 18px}
.content .mass-form-card.module-create>summary b{color:#fff;font-size:18px;line-height:1.35}
.content .mass-form-card.module-create>summary small{color:#e5f2fa}
.content .mass-form-card.module-create>summary::after{color:#f3cd71;font-size:25px}
.content .mass-form-card.module-create>summary:hover{background:linear-gradient(115deg,#10456e,#13749d)}
.content .mass-form-card.module-create>summary:focus-visible{outline:3px solid #f3cd71;outline-offset:-4px}

/* Cierre discreto de las secciones principales */
.app-section-footer{max-width:640px;margin:32px auto 12px;padding:8px 16px 20px;text-align:center;color:#657b87}
.app-section-footer-decoration{display:flex;align-items:center;justify-content:center;gap:16px;color:#bf922b}
.app-section-footer-decoration span{height:1px;flex:1;background:currentColor;opacity:.8}
.app-section-footer-decoration b{font-size:24px;line-height:1;font-weight:400}
.app-section-footer p{margin:16px 0 0;font-size:clamp(.82rem,2.6vw,.95rem);line-height:1.5;text-wrap:balance}
@media print{.app-section-footer{display:none}}


/* Mobile readability for help and work records */
.more-disclosure>summary span{min-width:0;overflow-wrap:anywhere}
.more-disclosure>summary::after{flex-shrink:0}
.more-disclosure-body ol{padding-left:24px}
.more-disclosure-body li{overflow-wrap:anywhere}
.more-disclosure-body button{max-width:100%;white-space:normal;min-height:44px}
.work-item>div{min-width:0}
.work-item h3,.work-item p,.work-meta span,.work-minute-actions{overflow-wrap:anywhere}
.work-minute-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.work-minute-actions>span{flex-basis:100%;min-width:0}
.work-minute-actions>button{min-height:44px}
@media(max-width:650px){.work-item .work-minute-actions>button{flex:1;min-width:110px}.more-disclosure-body button{width:100%}}

/* Mi Parroquia: paleta exclusiva del chat. */
.team-chat-overlay-head{background:linear-gradient(120deg,#123653,#205c83);border-bottom:2px solid #d0ad58}
.team-chat-overlay,.pastoral-chat-panel{background:#f5f8fc}
.team-chat-search-wrap,.parish-contact-search{background:#edf3fa;border-color:#c6d7e8;color:#285b82}
.team-chat-search-wrap>span,.team-chat-search-wrap #teamChatMemberSearch,.parish-contact-search input{color:#234967}
.team-chat-search-wrap:focus-within,.parish-contact-search:focus-within{outline-color:#377bab}
.team-chat-avatar,.team-chat-thread-avatar,.parish-contact-avatar{background:#e3edf8;color:#23547d;box-shadow:inset 0 0 0 1px #cbdced}
.team-chat-thread-head{background:#eff4fa;border-bottom-color:#cfdeeb}
.team-chat-thread-head .team-chat-back{color:#164c78}
.team-chat-thread-head .team-chat-back:hover,.team-chat-thread-head .team-chat-back:focus-visible{background:#dbe8f5;color:#123653}
.team-chat-thread-head .team-chat-back:focus-visible{outline-color:#377bab}
.team-chat-thread-label small,.team-chat-inbox-title small{color:#61768c}
.team-chat-inbox-title{color:#183e60}
.team-chat-thread #teamChatMessages,.pastoral-chat-messages{background:linear-gradient(160deg,#edf3fa,#f7f8fc)}
.team-chat-message{color:#18354f;box-shadow:0 2px 5px #18354f0d;line-height:1.5}
.team-chat-message.incoming,.pastoral-chat-messages .incoming{background:#fff;border:1px solid #dce5ef}
.team-chat-message.outgoing,.pastoral-chat-messages .outgoing{background:#dceafa;border:1px solid #c3d8ef}
.team-chat-message b{color:#23547d}
.team-chat-message small,.pastoral-chat-messages .team-chat-message small{color:#546c84}
.team-chat-thread .team-chat-send,.pastoral-chat-composer .team-chat-send,.pastoral-chat-new-button{background:#235b88;color:#fff;box-shadow:0 2px 6px #12365320}
.team-chat-thread #teamChatBody:focus{outline-color:#377bab}
.pastoral-chat-composer{background:#f5f8fc;border-top-color:#cfdeeb}
.pastoral-chat-composer textarea{border-color:#c3d5e6;color:#18354f}
.pastoral-chat-feedback,.pastoral-chat-new p,.pastoral-chat-preview{color:#47617b}
.pastoral-chat-row,.parish-contact-row{color:#183e60;border-bottom-color:#e0e8f1}
.pastoral-chat-row-copy small,.parish-contact-row small,.parish-contacts-help,.parish-chat-phone summary{color:#58718a}
.pastoral-chat-row:hover,.parish-contact-row:hover,.parish-contact-row:focus-visible{background:#f0f5fb}
.pastoral-chat-row-unread{background:#eaf2fc;border-left-color:#be963c}
.pastoral-chat-row-unread .pastoral-chat-row-copy>b{color:#164c78}
.pastoral-chat-row-unread .pastoral-chat-row-copy>small:first-of-type{color:#3f5d79}
.team-chat-row:focus-visible,.team-chat-back:focus-visible,.pastoral-chat-row:focus-visible,.pastoral-chat-composer textarea:focus-visible{outline-color:#377bab}
.unified-chat-tabs{background:#edf3fa;border-bottom-color:#cfdeeb}
.unified-chat-tabs button{color:#526c84}
.unified-chat-tabs button.active{background:#fff;border-color:#d0ad58;color:#174a72;box-shadow:0 2px 6px #1236530d}
.team-chat-toast,.private-chat-toast{background:#174a72;color:#fff;border:1px solid #d0ad58}

/* Acentos dorados del chat, sin alterar sus controles ni alertas. */
.team-chat-overlay-head{border-bottom:3px solid #d7b55e;box-shadow:0 2px 8px #12365315}
.team-chat-overlay-head b{color:#fff3cf}
.team-chat-overlay-head button{border:1px solid #e5c97866;background:#ffffff18}
.team-chat-thread-avatar,.parish-contact-avatar{border:1px solid #d8ba72;box-shadow:0 2px 5px #12365310}
.team-chat-message.outgoing,.pastoral-chat-messages .outgoing{background:linear-gradient(135deg,#e1edfa,#edf3fb);border-color:#d2b16a;border-right:3px solid #c5a052;box-shadow:0 2px 6px #173b6010}
.unified-chat-tabs button.active{background:linear-gradient(135deg,#fffdf5,#fff2d2);border-color:#c9a34d;box-shadow:0 2px 6px #9a762014}
.team-chat-thread .team-chat-send,.pastoral-chat-composer .team-chat-send{border:2px solid #d7b55e;box-shadow:0 2px 7px #12365325}
.pastoral-chat-new-button{border:1px solid #d7b55e}
.team-chat-search-wrap:focus-within,.parish-contact-search:focus-within{outline-color:#b58a30}
.pastoral-chat-row-unread{background:linear-gradient(100deg,#fff7e4,#edf4fc);border-left:4px solid #bf963e}
.team-chat-thread-head{border-bottom-color:#d9bf83}

/* Fondo suave de las conversaciones. */
.team-chat-thread #teamChatMessages,.pastoral-chat-messages{background:linear-gradient(145deg,#dfe8f1 0%,#eaf0f5 48%,#f7f1e5 100%)}

/* El título de administración reserva espacio para la cruz. */
.platform-admin-hero>h1,.platform-admin-hero>p{box-sizing:border-box;max-width:calc(100% - 100px);overflow-wrap:normal;white-space:normal}
.platform-admin-hero>h1{font-size:clamp(24px,3.6vw,34px)!important;line-height:1.15}
@media(max-width:640px){.platform-admin-hero>h1,.platform-admin-hero>p{max-width:calc(100% - 76px)}.platform-admin-hero>h1{font-size:clamp(23px,5.6vw,28px)!important}}
