/* GENERATED by build/scope-legacy.cjs — do not edit. Legacy 2.x styles for screens kept from 2.2.37, scoped under .v2. */

/* ---- styles.css ---- */
.v2{--ink2:#252821;--paper:var(--stone);
  --sand:#d8d1c5;--sage:#e6e4e1;--accent:var(--gold);
}.v2{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}.v2{margin:0;max-width:100%;overflow-x:hidden;color:var(--ink);background:var(--paper);line-height:1.5}.v2 .pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);padding:7px 12px;border-radius:999px;background:#fff;font-size:.82rem}.v2 .btn-soft{background:#eeece6}.v2 .header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.v2 .brand img{width:212px;height:auto}.v2 .main-nav{display:flex;gap:24px;align-items:center;font-size:.92rem;font-weight:650}.v2 .main-nav a{opacity:.76}.v2 .main-nav a:hover,.v2 .main-nav a.active{opacity:1}.v2 .nav-actions{display:flex;gap:10px}.v2 .mobile-menu-btn{display:none;background:none;border:0;font-size:1.6rem}.v2 .hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:62px}.v2 .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.v2 .hero-meta{display:flex;gap:26px;flex-wrap:wrap;margin-top:36px;padding-top:26px;border-top:1px solid var(--line)}.v2 .hero-meta strong{display:block;font-size:.96rem}.v2 .hero-meta span{font-size:.84rem;color:var(--muted)}.v2 .hero-visual{min-height:520px;position:relative;border-radius:38px;background:#1a1c19;box-shadow:var(--shadow);overflow:hidden}.v2 .hero-visual .monogram-bg{position:absolute;inset:0;display:grid;place-items:center;opacity:.92}.v2 .hero-visual .monogram-bg img{width:70%;filter:grayscale(1)}.v2 .hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.44),transparent 58%)}.v2 .hero-card{position:absolute;z-index:2;left:26px;right:26px;bottom:24px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);padding:20px;border-radius:18px;display:flex;justify-content:space-between;gap:20px;align-items:center}.v2 .hero-card strong{font-size:1.05rem}.v2 .hero-card span{font-size:.85rem;color:var(--muted)}
.v2 .section{padding:84px 0}.v2 .section.white{background:#fff}.v2 .section.dark{background:var(--ink);color:white}.v2 .section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.v2 .section-head h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1;margin:8px 0}.v2 .section-head p{max-width:540px;color:var(--muted)}.v2 .dark .section-head p{color:#c5c8c0}.v2 .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.v2 .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.v2 .card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.v2 .dark .card{background:#20231f;border-color:#343832}.v2 .card h3{margin:6px 0 8px}.v2 .week-card .date{font-size:2rem;font-weight:800}.v2 .week-card .day{font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.v2 .week-card .time{margin-top:18px;font-weight:700}.v2 .welcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.v2 .welcome-panel{padding:48px;background:#eeeae2;border-radius:30px}.v2 .welcome-panel h2{font-size:3.2rem;line-height:1;margin:12px 0 20px}.v2 .bullet-list{display:grid;gap:14px;margin-top:24px}.v2 .bullet{display:flex;gap:12px;align-items:flex-start}.v2 .bullet .dot{width:10px;height:10px;border-radius:50%;background:var(--ink);margin-top:7px;flex:0 0 auto}
.v2 .feature-sermon{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;background:#f1eee7;border-radius:30px;padding:38px}.v2 .event-date{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.v2 .event-date strong{display:block;color:var(--ink);font-size:1.55rem}
.v2 .mission-feature{display:grid;grid-template-columns:1fr 1fr;min-height:560px;border-radius:34px;overflow:hidden;background:#fff;border:1px solid var(--line)}.v2 .mission-feature img{width:100%;height:100%;object-fit:cover}.v2 .mission-copy{padding:58px;display:flex;flex-direction:column;justify-content:center}.v2 .mission-copy h2{font-size:3.3rem;line-height:1;margin:14px 0 18px}.v2 .amenity-row{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.v2 .ministry-card{min-height:190px;display:flex;flex-direction:column;justify-content:space-between}.v2 .ministry-card .icon{font-size:1.7rem}.v2 .prayer-cta{border-radius:30px;padding:52px;background:linear-gradient(135deg,#ded8cd,#f5f2ec);display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.v2 .prayer-cta h2{font-size:2.7rem;line-height:1;margin:8px 0}.v2 .visit-band{display:grid;grid-template-columns:1fr 1fr;gap:26px}.v2 .visit-box{padding:34px;border:1px solid #3b3e39;border-radius:24px}.v2 .visit-box h3{font-size:1.7rem;margin:8px 0}.v2 .copyright{border-top:1px solid #30332e;margin-top:34px;padding-top:18px;color:#9da097;font-size:.82rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.v2 .page-hero{padding:82px 0 60px;background:#eeebe4}.v2 .page-hero h1{font-size:clamp(3rem,6vw,5.5rem);line-height:.94;margin:12px 0 18px;max-width:850px}.v2 .page-hero p{font-size:1.15rem;color:var(--muted);max-width:760px}.v2 .content-wrap{display:grid;grid-template-columns:1fr 340px;gap:52px}.v2 .prose{font-size:1.05rem}.v2 .prose h2{font-size:2.2rem;margin-top:44px}.v2 .side-card{position:sticky;top:110px;height:max-content}.v2 .sermon-grid,.v2 .event-grid,.v2 .ministry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.v2 .media-card{border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--line)}.v2 .media-thumb{height:190px;background:linear-gradient(135deg,#1d201c,#4a5146);padding:22px;color:#fff;display:flex;align-items:end;position:relative}.v2 .media-thumb:after{content:"EPCC";position:absolute;right:14px;top:4px;font-size:3.8rem;font-weight:900;opacity:.08}.v2 .media-body{padding:20px}.v2 .media-body h3{margin:0 0 6px}.v2 .mission-hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:white}.v2 .mission-hero-image img{width:100%;height:100%;object-fit:cover}.v2 .mission-hero-copy{padding:72px;display:flex;flex-direction:column;justify-content:center}.v2 .mission-hero-copy h1{font-size:4.7rem;line-height:.92;margin:12px 0 20px}.v2 .booking-box{margin-top:30px;padding:24px;border:1px solid var(--line);border-radius:20px;background:#f8f6f2}.v2 .calendar-public{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.v2 .cal-head{font-size:.72rem;text-align:center;color:var(--muted);padding:8px}.v2 .cal-day{min-height:54px;border:1px solid var(--line);border-radius:9px;padding:7px;font-size:.82rem;background:white}.v2 .cal-day.off{opacity:.35}.v2 .cal-day.booked{background:#1c1e1b;color:#fff}.v2 .cal-day.blocked{background:#dddcd6;color:#777}.v2 .cal-day.available{background:#f3f2f1}
.v2 .login-shell{min-height:calc(100vh - 82px);display:grid;place-items:center;padding:50px 20px}.v2 .login-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;padding:38px;box-shadow:var(--shadow);text-align:center}.v2 .login-card img{width:112px;margin:0 auto 20px}.v2 .login-card h1{font-size:2.2rem;margin:0 0 10px}
/* ADMIN */
.v2 .admin-shell{min-height:100vh;background:#f2f1ed;display:grid;grid-template-columns:250px 1fr}.v2 .admin-sidebar{background:var(--spruce-900);color:#f7f7f3;padding:22px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.v2 .admin-brand{padding:8px 10px 24px;border-bottom:1px solid #2c302a}.v2 .admin-brand img{width:160px;filter:invert(1);mix-blend-mode:screen}.v2 .admin-nav{display:grid;gap:5px;margin-top:18px}.v2 .admin-nav button{border:0;background:transparent;color:#c8cbc4;text-align:left;padding:11px 12px;border-radius:10px;font-weight:650}.v2 .admin-nav button:hover,.v2 .admin-nav button.active{background:#272b25;color:white}.v2 .admin-footer{margin-top:auto;padding:16px 10px 4px;border-top:1px solid #2c302a}.v2 .admin-main{min-width:0}.v2 .admin-topbar{height:76px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}.v2 .admin-topbar h1{font-size:1.15rem;margin:0}.v2 .admin-content{padding:28px;max-width:1500px}.v2 .admin-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.v2 .admin-heading h2{font-size:2.1rem;margin:3px 0}.v2 .stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.v2 .stat-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.v2 .stat-card .value{font-size:2rem;font-weight:800}.v2 .stat-card .label{font-size:.82rem;color:var(--muted)}.v2 .admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.v2 .panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}.v2 .panel-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.v2 .panel-head h3{margin:0;font-size:1.05rem}.v2 .table-wrap{overflow:auto}.v2 .table{width:100%;border-collapse:collapse;font-size:.88rem}.v2 .table th{text-align:left;font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:10px;border-bottom:1px solid var(--line)}.v2 .table td{padding:12px 10px;border-bottom:1px solid #ecebe7;vertical-align:middle}.v2 .table tr:last-child td{border-bottom:0}.v2 .editor-tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.v2 .tab-btn{border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:999px;font-weight:650;font-size:.84rem}.v2 .tab-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}.v2 .editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.v2 .preview-frame{border:1px solid var(--line);background:#f6f4ee;border-radius:18px;overflow:hidden;min-height:480px}.v2 .preview-mini{padding:28px;background:linear-gradient(135deg,#f8f6f1,#e8e3d8);min-height:480px}.v2 .preview-mini h2{font-size:3.7rem;line-height:.92;margin:12px 0}.v2 .layout-list{display:grid;gap:9px}.v2 .layout-item{border:1px solid var(--line);border-radius:13px;padding:13px;background:#fff;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.v2 .layout-item.hidden-section{opacity:.48;background:#f5f4f1}.v2 .layout-actions{display:flex;gap:5px}.v2 .icon-btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:6px 9px}.v2 .media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.v2 .media-item{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff}.v2 .media-item img{height:145px;width:100%;object-fit:cover;background:#efede8}.v2 .media-item .meta{padding:12px}.v2 .media-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.v2 .dropzone{border:2px dashed #cccac2;border-radius:18px;padding:34px;text-align:center;background:#faf9f6;margin-bottom:18px}.v2 .admin-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.v2 .admin-cal-day{min-height:92px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px;font-size:.82rem;position:relative}.v2 .admin-cal-day .num{font-weight:750}.v2 .admin-cal-day .booking{margin-top:7px;padding:4px 6px;background:var(--spruce-900);color:white;border-radius:6px;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2 .admin-cal-day .block{margin-top:7px;padding:4px 6px;background:#dddcd6;color:#555;border-radius:6px;font-size:.7rem}.v2 .settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.v2 .color-preview{width:42px;height:42px;border-radius:10px;border:1px solid var(--line)}@keyframes toastIn{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:1050px){.v2 .main-nav{display:none}.v2 .mobile-menu-btn{display:block}.v2 .hero-grid,.v2 .welcome-grid,.v2 .feature-sermon,.v2 .mission-feature,.v2 .mission-hero,.v2 .content-wrap{grid-template-columns:1fr}.v2 .hero-visual{min-height:420px}.v2 .grid-4{grid-template-columns:repeat(2,1fr)}.v2 .grid-3,.v2 .sermon-grid,.v2 .event-grid,.v2 .ministry-grid{grid-template-columns:repeat(2,1fr)}.v2 .admin-shell{grid-template-columns:80px 1fr}.v2 .admin-sidebar{padding:18px 10px}.v2 .admin-brand img{width:46px;object-fit:cover;object-position:left}.v2 .admin-nav button{font-size:0;text-align:center}.v2 .admin-nav button:before{content:attr(data-icon);font-size:1.15rem}.v2 .admin-footer{font-size:0}.v2 .editor-grid{grid-template-columns:1fr}.v2 .stat-grid{grid-template-columns:repeat(2,1fr)}.v2 .media-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.v2 .header-inner{height:70px}.v2 .brand img{width:158px}.v2 .nav-actions{margin-left:auto}.v2 .mobile-menu-btn{display:grid!important;place-items:center;width:46px;height:46px;border-radius:12px;background:#fff;border:1px solid var(--line);position:relative;z-index:2}.v2 .hero-grid{gap:32px}.v2 .hero-visual{min-height:350px}.v2 .hero-card{left:14px;right:14px;bottom:14px;display:block}.v2 .section{padding:62px 0}.v2 .section-head{display:block}.v2 .grid-3,.v2 .grid-4,.v2 .sermon-grid,.v2 .event-grid,.v2 .ministry-grid{grid-template-columns:1fr}.v2 .welcome-panel{padding:30px}.v2 .welcome-panel h2{font-size:2.5rem}.v2 .feature-sermon{padding:18px}.v2 .mission-copy,.v2 .mission-hero-copy{padding:34px 24px}.v2 .mission-hero-copy h1{font-size:3.4rem}.v2 .prayer-cta{grid-template-columns:1fr;padding:34px}.v2 .visit-band{grid-template-columns:1fr}.v2 .admin-shell{display:block}.v2 .admin-sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;height:70px;z-index:50;display:flex;flex-direction:row;padding:7px 8px;overflow-x:auto}.v2 .admin-brand,.v2 .admin-footer{display:none}.v2 .admin-nav{display:flex;margin:0;width:max-content}.v2 .admin-nav button{font-size:0;min-width:52px;padding:10px}.v2 .admin-main{padding-bottom:78px}.v2 .admin-topbar{height:66px;padding:0 16px}.v2 .admin-content{padding:18px 14px}.v2 .stat-grid,.v2 .admin-grid,.v2 .settings-grid{grid-template-columns:1fr}.v2 .stat-grid{gap:9px}.v2 .admin-heading{align-items:flex-start;flex-direction:column}.v2 .media-grid{grid-template-columns:repeat(2,1fr)}.v2 .editor-grid{grid-template-columns:1fr}.v2 .admin-calendar{gap:3px}.v2 .admin-cal-day{min-height:66px;padding:5px}.v2 .admin-cal-day .booking,.v2 .admin-cal-day .block{font-size:.6rem;padding:3px}}

/* ===== Phase 2: My EPCC ===== */
.v2 .member-app{background:var(--stone);min-height:70vh;padding:48px 0 80px}.v2 .member-wrap{max-width:1180px}.v2 .member-app-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.v2 .member-app-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.v2 .member-global-signout{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 13px;font-weight:800;font-size:.82rem;white-space:nowrap}.v2 .member-app-head h1{font-size:clamp(2.4rem,5vw,4.4rem);line-height:.95;margin:6px 0}.v2 .member-identity{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);padding:8px 13px 8px 8px;border-radius:999px}.v2 .member-avatar,.v2 .directory-avatar{width:42px;height:42px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800;overflow:hidden;flex:0 0 auto}.v2 .member-avatar img,.v2 .directory-avatar img{width:100%;height:100%;object-fit:cover}.v2 .directory-avatar.large{width:82px;height:82px;font-size:1.7rem}.v2 .member-nav{display:flex;gap:7px;padding:7px;background:#e8e5dd;border:1px solid #dad7ce;border-radius:17px;margin-bottom:22px;overflow:auto}.v2 .member-nav a{display:flex;align-items:center;gap:7px;padding:10px 14px;border-radius:11px;color:#555850;font-weight:700;font-size:.9rem;white-space:nowrap}.v2 .member-nav a.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.05)}.v2 .member-content{display:block}.v2 .member-hero-card{display:grid;grid-template-columns:1fr 150px;gap:25px;align-items:center;padding:38px;border-radius:26px;background:var(--ink);color:#fff;margin-bottom:18px;overflow:hidden}.v2 .member-hero-card h2{font-size:clamp(2.2rem,4vw,3.6rem);line-height:.98;margin:8px 0}.v2 .member-hero-card p{color:#c7cbc2}.v2 .member-hero-card img{width:130px;filter:invert(1);opacity:.9}.v2 .member-grid{display:grid;gap:18px}.v2 .member-grid.two{grid-template-columns:1fr 1fr;margin-bottom:18px}.v2 .member-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px}.v2 .member-panel .panel-head a{font-size:.84rem;font-weight:700}.v2 .member-callout{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;background:#eceae7;border:1px solid #d8d5d0;border-radius:16px;margin-bottom:18px}.v2 .member-callout p{margin:3px 0 0;color:#586554;font-size:.9rem}.v2 .alert-card{padding:16px;border:1px solid var(--line);border-radius:15px;margin-bottom:10px;background:#faf9f6}.v2 .alert-card.urgent{border-left:5px solid #9b3b2f;background:#fff7f5}.v2 .alert-card p{margin:6px 0 0;color:#62655f}.v2 .alert-meta{text-transform:uppercase;letter-spacing:.1em;color:#7a7d76;font-size:.67rem;font-weight:800;margin-bottom:5px}.v2 .member-event{display:flex;gap:13px;align-items:center;padding:12px 0;border-bottom:1px solid #ecebe6}.v2 .member-event:last-child{border:0}.v2 .event-badge{width:48px;height:52px;border-radius:10px;background:#f0eee8;display:grid;place-items:center;font-size:.65rem;line-height:1}.v2 .event-badge strong{font-size:1.25rem}.v2 .prayer-mini{padding:12px 0;border-bottom:1px solid #ecebe6}.v2 .prayer-mini p{margin:5px 0 7px}.v2 .sermon-member{background:linear-gradient(135deg,#1a1c18,#343931);color:#fff}.v2 .quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.v2 .quick-grid a{background:#fff;border:1px solid var(--line);border-radius:17px;padding:19px;display:grid;gap:4px}.v2 .quick-grid a span{font-size:1.4rem}.v2 .quick-grid a small{color:var(--muted)}.v2 .prayer-layout{grid-template-columns:minmax(0,1fr) 360px}.v2 .sticky-member{position:sticky;top:100px;height:max-content}.v2 .prayer-card{border:1px solid var(--line);border-radius:17px;padding:19px;margin-bottom:12px;background:#fff}.v2 .prayer-card.answered{background:#f5f4f3;border-color:#dedbd6}.v2 .prayer-card-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.v2 .pray-btn{border:0;background:#edece7;border-radius:999px;padding:7px 11px;font-weight:700}.v2 .pray-btn.active{background:#e6e4e0;color:#201f1d}.v2 .directory-head{align-items:center}.v2 .directory-search{border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:220px}.v2 .directory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.v2 .directory-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fcfbf8}.v2 .directory-card h3{margin:0}.v2 .directory-info{min-width:0;flex:1}.v2 .directory-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.v2 .directory-actions a{font-size:.78rem;font-weight:800;background:#ecebe6;padding:6px 9px;border-radius:8px}.v2 .sermon-member-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.v2 .sermon-member-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:#faf9f6}.v2 .sermon-member-card.featured{grid-column:1/-1;background:var(--spruce-900);color:#fff}.v2 .notification-status{display:flex;align-items:center;gap:11px;padding:15px;background:#f4f3ef;border-radius:14px;margin:18px 0}.v2 .status-dot{width:10px;height:10px;border-radius:50%;background:#807869}.v2 .preference-row{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #ecebe6;font-weight:650}.v2 .preference-row input{width:20px;height:20px}.v2 .ios-help{margin-top:14px;line-height:1.5}.v2 .profile-layout{grid-template-columns:minmax(0,1fr) 330px}.v2 .profile-photo-row{display:flex;gap:16px;align-items:center;margin-bottom:20px}.v2 .group-checks{display:flex;gap:10px;flex-wrap:wrap}.v2 .group-checks label{padding:9px 12px;background:#f0eee8;border-radius:10px}.v2 .auth-switch{display:grid;grid-template-columns:1fr 1fr;background:#eceae4;padding:4px;border-radius:11px;margin:20px 0}.v2 .auth-switch button{border:0;background:transparent;padding:9px;border-radius:8px;font-weight:800}.v2 .auth-switch button.active{background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.07)}.v2 .wide-login{width:min(620px,100%)}.v2 .error-text{color:#a33;margin-top:10px}.v2 .pending-details{display:grid;gap:9px;text-align:left;margin:18px 0}.v2 .pending-details div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.v2 .pending-details span{color:var(--muted)}.v2 .prayer-admin-card{padding:18px;border:1px solid var(--line);border-radius:15px;margin-bottom:12px}.v2 .prayer-admin-card p{font-size:1rem}.v2 .alert-list{display:grid;gap:10px}
@media(max-width:900px){.v2 .member-grid.two,.v2 .prayer-layout,.v2 .profile-layout{grid-template-columns:1fr}.v2 .sticky-member{position:static}.v2 .quick-grid{grid-template-columns:repeat(2,1fr)}.v2 .directory-grid{grid-template-columns:1fr}.v2 .member-hero-card{grid-template-columns:1fr 90px}.v2 .member-hero-card img{width:90px}.v2 .sermon-member-grid{grid-template-columns:1fr}}
@media(max-width:620px){.v2 .member-app{padding:28px 0 90px}.v2 .member-app-head{align-items:flex-start}.v2 .member-identity{display:none}.v2 .member-nav{margin-left:-5px;margin-right:-5px}.v2 .member-nav a{padding:9px 11px;font-size:.8rem}.v2 .member-hero-card{padding:27px;grid-template-columns:1fr}.v2 .member-hero-card img{display:none}.v2 .member-panel{padding:18px}.v2 .quick-grid{grid-template-columns:1fr 1fr}.v2 .member-callout{display:block}.v2 .directory-head{display:block}.v2 .directory-search{width:100%;margin-top:12px}.v2 .sermon-member-card.featured{grid-column:auto}}

/* Phase 2.1 mobile/PWA fixes */
@media (display-mode: standalone){
  .v2{min-height:100dvh}
  .v2 .member-app{min-height:calc(100dvh - 70px - env(safe-area-inset-top));padding-bottom:calc(90px + env(safe-area-inset-bottom))}
}
@media(max-width:620px){
  .v2 .member-app-head{align-items:flex-start;gap:10px}
  .v2 .member-app-head h1{font-size:clamp(2rem,11vw,3rem)}
  .v2 .member-app-actions{margin-left:auto}
  .v2 .member-global-signout{padding:9px 11px;font-size:.78rem}
  .v2 .member-nav{max-width:100%;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  .v2 .member-content,.v2 .member-panel,.v2 .member-grid,.v2 .quick-grid{min-width:0;max-width:100%}
}
@media(max-width:380px){
  .v2 .brand img{width:145px}
  .v2 .member-global-signout{padding:8px 9px}
}
@media(max-width:720px) and (display-mode: standalone){
  .v2 .admin-sidebar{height:calc(70px + env(safe-area-inset-bottom));padding-bottom:calc(7px + env(safe-area-inset-bottom))}
  .v2 .admin-main{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .v2 .admin-topbar{padding-top:env(safe-area-inset-top);height:calc(66px + env(safe-area-inset-top))}
}

/* ---- phase22.css ---- */
/* EPCC Phase 2.2 — rollout stabilization */
.v2,.v2,.v2 #app{max-width:100%;overflow-x:hidden}
.v2 .member-wrap,.v2 .member-content,.v2 .member-grid,.v2 .member-panel,.v2 .member-app-head,.v2 .member-app-actions{min-width:0}
.v2 .member-nav{overflow:hidden;padding:6px}
.v2 .member-nav-track{display:flex;gap:7px;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.v2 .member-nav-track::-webkit-scrollbar{display:none}
.v2 .member-nav a{position:relative;min-height:44px;flex:0 0 auto}
.v2 .member-nav-badge{min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#a6382b;color:#fff;display:inline-grid;place-items:center;font-size:.65rem;font-weight:900;line-height:1;margin-left:1px}
.v2 .section-count{display:inline-flex;align-items:center;margin-left:6px;padding:3px 7px;border-radius:999px;background:#eceae4;color:#575a54;font-size:.66rem;font-weight:850;vertical-align:middle;white-space:nowrap}
.v2 .alert-card.unread{box-shadow:inset 3px 0 0 var(--spruce-900);background:#fff}
.v2 .unread-dot{display:inline-block;width:7px;height:7px;background:#a6382b;border-radius:50%;margin-right:5px;vertical-align:1px}
.v2 .alert-actions{display:flex;align-items:center;gap:10px;margin-top:9px;flex-wrap:wrap}
.v2 .notification-center-head{align-items:flex-start}
.v2 .notification-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}
.v2 .notification-main{min-width:0}.v2 .notification-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.v2 .notification-item{margin-bottom:10px}.v2 .notification-item:last-child{margin-bottom:0}
.v2 .my-prayer-history{margin-top:18px}.v2 .my-prayer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;padding:15px 0;border-bottom:1px solid #ecebe6}.v2 .my-prayer-row:last-child{border-bottom:0}.v2 .my-prayer-row p{margin:5px 0 7px}
.v2 .privacy-note{margin-top:16px;padding:14px;background:#f4f2ec;border-radius:13px}.v2 .privacy-note p{margin:5px 0 0;color:var(--muted);font-size:.86rem;line-height:1.45}
.v2 .profile-photo-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.v2 .directory-privacy-card{padding:15px;border:1px solid var(--line);border-radius:14px;background:#faf9f6}.v2 .directory-privacy-card small{color:var(--muted);line-height:1.45;display:inline-block;margin-top:3px}
.v2 .people-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 220px;gap:10px;margin-bottom:14px}.v2 .people-toolbar input,.v2 .people-toolbar select{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}
.v2 .inline-toggle{display:flex;gap:7px;align-items:center;font-size:.8rem;font-weight:750;white-space:nowrap}.v2 .inline-toggle input{width:18px;height:18px}
.v2 .rollout-stats{margin-bottom:0}.v2 .rollout-summary .stat-grid{grid-template-columns:repeat(4,1fr)}
.v2 .member-global-signout,.v2 .mobile-menu-btn,.v2 .member-nav a,.v2 .directory-actions a{min-height:44px}

@media(max-width:900px){
  .v2 .notification-row{grid-template-columns:1fr}.v2 .notification-actions{justify-content:flex-start}
  .v2 .rollout-summary .stat-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){.v2 .brand{min-width:0;flex:1}.v2 .brand img{max-width:150px;width:100%;height:auto}.v2 .nav-actions{flex:0 0 auto}
  .v2 .member-app{padding-top:22px}.v2 .member-app-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;width:100%}.v2 .member-app-head>div:first-child{min-width:0}.v2 .member-app-head h1{font-size:clamp(1.95rem,10vw,2.8rem);max-width:100%}.v2 .member-app-actions{justify-self:end}.v2 .member-global-signout{font-size:.75rem;padding:8px 10px}
  .v2 .member-nav{margin-left:0;margin-right:0;border-radius:14px}.v2 .member-nav-track{padding-bottom:1px}.v2 .member-nav a{padding:9px 10px;font-size:.78rem}
  .v2 .member-hero-card{padding:23px}.v2 .member-panel{padding:16px;border-radius:18px}.v2 .quick-grid{gap:9px}.v2 .quick-grid a{padding:15px}
  .v2 .notification-center-head{display:block}
  .v2 .my-prayer-row{grid-template-columns:1fr}
  .v2 .profile-photo-row{align-items:flex-start}.v2 .profile-photo-actions{flex:1}
  .v2 .people-toolbar{grid-template-columns:1fr}.v2 .people-toolbar select{width:100%}
  .v2 .rollout-summary .stat-grid{grid-template-columns:1fr 1fr}
  .v2 .table td,.v2 .table th{white-space:normal;min-width:120px}.v2 .table td:first-child,.v2 .table th:first-child{min-width:200px}
}
@media(max-width:390px){.v2 .brand img{max-width:132px}.v2 .mobile-menu-btn{width:44px;height:44px}
  .v2 .member-app-head{grid-template-columns:1fr}.v2 .member-app-actions{justify-self:start}.v2 .member-global-signout{margin-top:2px}.v2 .quick-grid{grid-template-columns:1fr}.v2 .rollout-summary .stat-grid{grid-template-columns:1fr}
}
@supports (padding: max(0px)){
  @media(display-mode:standalone){
    .v2{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
    .v2 .member-app{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  }
}

/* ---- phase23.css ---- */
/* EPCC rollout update — Benevolence + assignment-based ministry access */
.v2 .benevolence-hero{background:linear-gradient(135deg,#eeebe4,#f8f6f1)}
.v2 .benevolence-intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:start}
.v2 .benevolence-intro-grid h2{font-size:clamp(2.2rem,4vw,3.6rem);line-height:1;margin:10px 0 18px}
.v2 .benevolence-points{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}
.v2 .benevolence-points>div{border:1px solid var(--line);border-radius:16px;padding:18px;background:#faf9f6;display:grid;gap:6px}
.v2 .benevolence-points span{color:var(--muted);font-size:.9rem;line-height:1.5}
.v2 .benevolence-policy-card{position:sticky;top:105px}
.v2 .benevolence-cap-list{display:grid;gap:0;margin-top:12px}.v2 .benevolence-cap-list>div{display:grid;grid-template-columns:1fr auto;gap:4px 14px;padding:12px 0;border-bottom:1px solid var(--line)}
.v2 .benevolence-cap-list small{grid-column:1/-1;color:var(--muted)}
.v2 .benevolence-form-section{background:#efede7}.v2 .benevolence-form{max-width:900px;margin:auto;padding:30px}
.v2 .benevolence-address-row{display:grid;grid-template-columns:2fr .7fr 1fr;gap:12px}.v2 .benevolence-submit{margin-top:18px;width:100%;padding:14px 18px}
.v2 .hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.v2 .benevolence-success{text-align:center;padding:36px 14px}.v2 .success-mark{width:54px;height:54px;border-radius:50%;background:#eeedea;display:grid;place-items:center;font-size:1.6rem;margin:0 auto 14px}
.v2 .assignment-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.v2 .assignment-chips span{padding:7px 10px;border-radius:999px;background:#eceae4;border:1px solid var(--line);font-size:.78rem;font-weight:700}
.v2 .assigned-access{margin-top:18px}.v2 .people-access-list{display:grid;gap:14px}.v2 .person-access-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff}.v2 .person-access-top{display:flex;justify-content:space-between;gap:20px;align-items:start}.v2 .person-access-controls{display:grid;grid-template-columns:260px 1fr;gap:18px;margin-top:16px}.v2 .access-assignment-box>label{display:block;font-size:.8rem;font-weight:700;color:#5d6059;margin-bottom:8px}.v2 .assignment-checks{display:flex;flex-wrap:wrap;gap:8px}.v2 .assignment-checks label{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#faf9f6;font-size:.82rem}.v2 .person-access-actions{display:flex;gap:8px;margin-top:14px}
.v2 .youth-roster{display:grid;gap:8px;margin-top:14px;max-height:600px;overflow:auto}.v2 .youth-person{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#faf9f6}.v2 .youth-person input{width:20px;height:20px}
.v2 .benevolence-committee-shell{padding:0;background:transparent;border:0}.v2 .benevolence-committee-head{margin-bottom:18px}.v2 .benevolence-request-list{display:grid;gap:16px;margin-top:18px}.v2 .benevolence-request-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}.v2 .benevolence-request-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.v2 .benevolence-request-head h3{font-size:1.35rem;margin:3px 0}.v2 .benevolence-request-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.v2 .benevolence-request-grid>div{padding:12px;border-radius:12px;background:#f6f4ef;display:grid;gap:4px}.v2 .benevolence-request-grid span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.v2 .benevolence-need{font-size:1rem;line-height:1.55;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.v2 .benevolence-details{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin:14px 0}.v2 .benevolence-details>div{display:grid;gap:2px}.v2 .benevolence-details strong{font-size:.75rem;color:var(--muted)}.v2 .benevolence-details span{font-size:.9rem}.v2 .benevolence-decision{display:grid;grid-template-columns:220px 1fr;gap:12px}.v2 .benevolence-decision textarea{min-height:74px}.v2 .benevolence-actions{padding-top:6px}
@media(max-width:900px){.v2 .benevolence-intro-grid,.v2 .person-access-controls{grid-template-columns:1fr}.v2 .benevolence-policy-card{position:static}.v2 .benevolence-request-grid{grid-template-columns:1fr 1fr}.v2 .benevolence-decision{grid-template-columns:1fr}.v2 .benevolence-points{grid-template-columns:1fr}}
@media(max-width:620px){.v2 .benevolence-form{padding:20px 14px}.v2 .benevolence-address-row{grid-template-columns:1fr}.v2 .benevolence-request-grid,.v2 .benevolence-details{grid-template-columns:1fr}.v2 .benevolence-request-head,.v2 .person-access-top{align-items:flex-start;flex-direction:column}.v2 .assignment-checks{display:grid;grid-template-columns:1fr 1fr}.v2 .benevolence-public .section{padding-top:50px;padding-bottom:50px}}
.v2 .benevolence-policy-editor{border-style:dashed}.v2 .benevolence-limit-editor{display:grid;gap:8px;margin:14px 0 18px}.v2 .limit-editor-row{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.v2 .limit-editor-row label{display:grid;gap:5px;font-size:.75rem;color:var(--muted)}.v2 .limit-editor-row input{width:100%;border:1px solid #d8d7d1;border-radius:9px;padding:8px;background:white}
@media(max-width:700px){.v2 .limit-editor-row{grid-template-columns:1fr}.v2 .limit-editor-row label{grid-template-columns:110px 1fr;align-items:center}}

/* Phase 2.2.6 — resolved benevolence requests collapse by default */
.v2 .benevolence-request-card{padding:0;overflow:hidden}.v2 .benevolence-request-summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 20px;cursor:pointer}.v2 .benevolence-request-summary::-webkit-details-marker{display:none}.v2 .benevolence-request-summary h3{font-size:1.35rem;margin:3px 0}.v2 .benevolence-summary-status{display:flex;align-items:center;gap:10px}.v2 .benevolence-collapse-hint{font-size:.72rem;color:var(--muted);font-weight:750}.v2 .benevolence-request-card[open] .benevolence-collapse-hint{font-size:0}.v2 .benevolence-request-card[open] .benevolence-collapse-hint::after{content:'Collapse';font-size:.72rem}.v2 .benevolence-request-card.is-resolved:not([open]){background:#faf9f6}.v2 .benevolence-request-body{padding:0 20px 20px;border-top:1px solid var(--line)}.v2 .benevolence-contact-line{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.83rem;padding-top:15px}.v2 .benevolence-log{margin:14px 0;border:1px solid var(--line);border-radius:12px;background:#faf9f6}.v2 .benevolence-log>summary{cursor:pointer;padding:11px 13px;font-weight:800;font-size:.82rem}.v2 .benevolence-history{padding:0 13px 10px}.v2 .benevolence-history-row{border-top:1px solid var(--line);padding:10px 0}.v2 .benevolence-history-row>div{display:flex;justify-content:space-between;gap:12px}.v2 .benevolence-history-row span{font-size:.72rem;color:var(--muted)}.v2 .benevolence-history-row p{margin:5px 0 0;font-size:.84rem}.v2 .notification-target{outline:3px solid rgba(167,126,45,.38);outline-offset:3px;scroll-margin:100px}
@media(max-width:620px){.v2 .benevolence-request-summary{align-items:flex-start;padding:16px;flex-direction:column}.v2 .benevolence-summary-status{width:100%;justify-content:space-between}.v2 .benevolence-request-body{padding:0 16px 16px}.v2 .benevolence-history-row>div{display:grid;gap:2px}}

/* ---- phase25.css ---- */
/* EPCC Phase 2.2.4 — cleaner admin + People review workflow */
.v2 .p224-heading-actions{display:flex;gap:8px;flex-wrap:wrap}.v2 .p224-review-callout{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid #dfd2ab;background:#fff9e8;border-radius:14px;margin-bottom:14px;color:#6f5517}.v2 .p224-review-callout span{font-size:.84rem}.v2 .p224-add-person{margin-bottom:14px}.v2 .p224-people-panel{padding:16px}.v2 .p224-person{padding:0!important;overflow:hidden}.v2 .p224-person summary{list-style:none}.v2 .p224-person summary::-webkit-details-marker{display:none}.v2 .p224-person-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer}.v2 .p224-person-summary:hover{background:#faf9f6}.v2 .p224-person-identity{display:flex;align-items:center;gap:11px;min-width:0}.v2 .p224-person-identity>div:last-child{min-width:0}.v2 .p224-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f0eee7;border:1px solid var(--line);font-weight:800;flex:0 0 auto}.v2 .p224-summary-meta{display:flex;align-items:center;gap:8px;flex:0 0 auto}.v2 .p224-review-badge{font-size:.72rem;font-weight:800;padding:5px 8px;border-radius:999px;background:#fff1c8;color:#765813}.v2 .p224-chevron{font-size:1.1rem;color:var(--muted);transition:transform .18s ease}.v2 .p224-person[open] .p224-chevron{transform:rotate(180deg)}.v2 .p224-person.needs-review{border-color:#dbc98f}.v2 .p224-person-body{border-top:1px solid var(--line);padding:16px;background:#fdfcf9}.v2 .p224-edit-grid{display:grid;grid-template-columns:1.2fr 1.2fr .8fr 1fr;gap:12px}.v2 .p224-person-body .access-assignment-box{margin-top:4px}.v2 .p224-directory{margin-top:14px}.v2 .p224-person-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:16px}.v2 .p224-delete{margin-left:auto}.v2 .people-access-list{gap:8px}.v2 .people-toolbar{margin-bottom:8px}.v2 .p224-people-panel .people-toolbar{grid-template-columns:minmax(220px,1fr) 180px 220px}.v2 .p224-filter-summary{min-height:18px;margin:0 2px 10px}
@media(max-width:1050px){.v2 .p224-edit-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){
  .v2 .p224-heading-actions{width:100%}.v2 .p224-review-callout{align-items:flex-start;flex-direction:column}.v2 .p224-edit-grid{grid-template-columns:1fr}.v2 .p224-person-summary{align-items:flex-start}.v2 .p224-summary-meta{gap:5px}.v2 .p224-person-body{padding:14px}.v2 .assignment-checks{grid-template-columns:1fr!important}.v2 .p224-delete{margin-left:0}.v2 .p224-people-panel{padding:12px}.v2 .people-toolbar,.v2 .p224-people-panel .people-toolbar{display:grid;grid-template-columns:1fr;gap:8px}
  /* Mobile admin navigation: show both icon and text instead of mystery icons. */
  .v2 .admin-sidebar{height:78px;padding:5px 6px calc(5px + env(safe-area-inset-bottom))}
  .v2 .admin-nav{gap:2px}.v2 .admin-nav button{font-size:.62rem!important;line-height:1.08;min-width:68px;padding:7px 5px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.v2 .admin-nav button:before{font-size:1.05rem!important}.v2 .admin-main{padding-bottom:88px}.v2 .admin-content{padding:16px 12px}.v2 .panel{border-radius:16px}.v2 .admin-heading{margin-bottom:16px}.v2 .admin-heading h2{font-size:1.7rem}
}

/* ---- phase24.css ---- */
/* EPCC Phase 2.2.3 — rollout UX polish */
.v2 .p24-signup-note{margin-top:12px;text-align:center;line-height:1.45}
.v2 .p24-greeting{display:grid;grid-template-columns:minmax(0,1fr) 100px;align-items:center;gap:22px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;margin-bottom:18px}.v2 .p24-greeting h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1;margin:6px 0}.v2 .p24-greeting p{margin:0;color:var(--muted)}.v2 .p24-greeting img{width:82px;justify-self:end}
.v2 .p24-urgent{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#231f1d;color:white;border-left:6px solid #a6382b;border-radius:18px;padding:19px 20px;margin-bottom:16px;box-shadow:0 10px 28px rgba(0,0,0,.10)}.v2 .p24-urgent span{display:block;font-size:.68rem;letter-spacing:.12em;font-weight:850;color:#f1b9ad;margin-bottom:4px}.v2 .p24-urgent strong{font-size:1.05rem}.v2 .p24-urgent p{margin:4px 0 0;color:#e4e1dc}.v2 .p24-urgent>b{white-space:nowrap}
.v2 .p24-setup-callout{background:#f0eee7}.v2 .p24-updates{margin-top:18px}.v2 .p24-special-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.v2 .p24-action-card{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px}.v2 .p24-action-card>span{width:42px;height:42px;display:grid;place-items:center;background:#efede7;border-radius:12px;font-size:1.25rem}.v2 .p24-action-card div{display:grid;gap:2px}.v2 .p24-action-card small{color:var(--muted)}.v2 .p24-connections{margin-top:18px}.v2 .p24-help-inline{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:18px;padding:14px 2px;color:var(--muted);font-size:.88rem}.v2 .p24-help-inline a{font-weight:800;color:var(--ink)}
.v2 .p24-mobile-nav{display:none}.v2 .p24-desktop-nav{display:flex}.v2 .p24-more-grid{display:grid;gap:9px}.v2 .p24-more-grid>a{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:15px;padding:14px;background:#faf9f6}.v2 .p24-more-grid>a>span{width:42px;height:42px;border-radius:12px;background:#eceae4;display:grid;place-items:center;font-size:1.25rem}.v2 .p24-more-grid>a>div{display:grid;gap:2px;min-width:0}.v2 .p24-more-grid small{color:var(--muted)}.v2 .p24-more-grid b{font-size:1.5rem;color:#777}.v2 .p24-help-card{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:24px}.v2 .p24-mobile-signout{display:none;width:100%;margin-top:16px}
.v2 .p24-setup-card{max-width:820px;margin:0 auto}.v2 .p24-setup-intro{display:grid;grid-template-columns:78px 1fr;gap:18px;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--line)}.v2 .p24-setup-intro img{width:70px}.v2 .p24-setup-intro h2{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1;margin:5px 0 8px}.v2 .p24-setup-intro p{margin:0}.v2 .p24-setup-steps{display:grid;gap:0}.v2 .p24-setup-step{display:grid;grid-template-columns:46px minmax(0,1fr);gap:15px;padding:23px 0;border-bottom:1px solid var(--line)}.v2 .p24-setup-step:last-child{border-bottom:0}.v2 .p24-step-number{width:38px;height:38px;border-radius:50%;background:#eceae4;display:grid;place-items:center;font-weight:850}.v2 .p24-setup-step.done .p24-step-number{background:#eae8e5;color:#201f1d}.v2 .p24-setup-step h3{margin:1px 0 5px}.v2 .p24-setup-step p{margin:0 0 12px;color:var(--muted)}.v2 .p24-big-button{min-width:210px}.v2 .p24-step-done{display:inline-flex;align-items:center;gap:8px;background:#edecea;color:#201f1d;border-radius:10px;padding:10px 12px;font-weight:800}.v2 .p24-ios-steps{margin-top:12px;background:#f5f3ed;border:1px solid var(--line);border-radius:12px;padding:14px}.v2 .p24-ios-steps ol{margin:8px 0 0;padding-left:22px}.v2 .p24-ios-steps li{margin:6px 0}.v2 .p24-setup-help{text-align:center;color:var(--muted);font-size:.85rem;margin:18px 0 0}.v2 .status-dot.off{background:#aaa}.v2 .p24-alert-chips{margin-top:16px}

@media(max-width:720px){
  .v2 .p24-desktop-nav{display:none!important}.v2 .p24-mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(250,249,246,.97);backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -8px 28px rgba(20,23,20,.08)}.v2 .p24-mobile-nav a{position:relative;display:grid;place-items:center;gap:2px;min-height:52px;border-radius:12px;font-size:.72rem;font-weight:750;color:#696c65}.v2 .p24-mobile-nav a.active{background:#eceae4;color:var(--ink)}.v2 .p24-mobile-nav .nav-icon{font-size:1.08rem;line-height:1}.v2 .p24-mobile-nav .member-nav-badge{position:absolute;top:4px;left:calc(50% + 8px)}
  .v2 .p24-member-app{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.v2 .p24-member-app .member-app-head{grid-template-columns:minmax(0,1fr) auto}.v2 .p24-member-app .member-global-signout{display:none}.v2 .p24-greeting{grid-template-columns:1fr;padding:21px}.v2 .p24-greeting img{display:none}.v2 .p24-greeting h2{font-size:2.25rem}.v2 .p24-special-actions{grid-template-columns:1fr}.v2 .p24-help-card{display:block}.v2 .p24-help-card .media-actions{margin-top:12px}.v2 .p24-mobile-signout{display:flex}.v2 .p24-quick-grid{grid-template-columns:1fr 1fr}.v2 .p24-urgent{align-items:flex-start}.v2 .p24-urgent>b{font-size:.8rem}.v2 .p24-setup-card{padding:18px}.v2 .p24-setup-intro{grid-template-columns:56px 1fr}.v2 .p24-setup-intro img{width:52px}.v2 .p24-setup-step{grid-template-columns:38px 1fr;gap:11px}.v2 .p24-step-number{width:34px;height:34px}.v2 .p24-big-button{width:100%;min-width:0}.v2 .p24-setup-callout{display:block}
}
@media(max-width:420px){.v2 .p24-quick-grid{grid-template-columns:1fr}.v2 .p24-greeting h2{font-size:2rem}.v2 .p24-more-grid>a{padding:12px}.v2 .p24-help-inline{display:grid;gap:4px}.v2 .p24-urgent{display:block}.v2 .p24-urgent>b{display:block;margin-top:9px}}
@media(display-mode:standalone) and (max-width:720px){.v2 .p24-member-app{padding-top:calc(18px + env(safe-area-inset-top));min-height:100dvh}.v2 .p24-member-app .member-app-head{margin-bottom:14px}}

/* Phase 2.2.6 — keep the mobile tab bar attached to the viewport, not the scrolling content */
@media(max-width:720px){
  .v2,.v2{overflow-x:clip}
  .v2 #app{overflow:visible!important;transform:none!important;filter:none!important;perspective:none!important}
  .v2 .p24-mobile-nav{position:fixed!important;inset:auto 0 0 0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:none!important;margin:0!important;transform:none!important;box-sizing:border-box;z-index:1000!important;contain:layout paint}
}

/* ---- phase26.css ---- */
/* EPCC Phase 2.2.5 — Mission House photo tour */
.v2 .p225-photo-tour{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.v2 .p225-tour-head h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1;margin:8px 0}
.v2 .p225-tour-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 18px}.v2 .p225-tour-card{min-width:0}.v2 .p225-tour-card.featured{grid-column:1/-1}.v2 .p225-photo-title{display:flex;align-items:end;justify-content:space-between;min-height:36px;margin-bottom:10px}.v2 .p225-photo-title h3{font-size:1.25rem;margin:0}.v2 .p225-tour-card.featured .p225-photo-title h3{font-size:1.55rem}.v2 .p225-photo-button{display:block;width:100%;padding:0;border:0;background:#eee;border-radius:22px;overflow:hidden;cursor:zoom-in}.v2 .p225-photo-button img{display:block;width:100%;height:340px;object-fit:cover;transition:transform .25s ease}.v2 .p225-tour-card.featured .p225-photo-button img{height:min(62vw,620px)}.v2 .p225-photo-button:hover img{transform:scale(1.015)}.v2 .p225-photo-caption{margin:10px 4px 0;color:var(--muted);line-height:1.45}
.v2 .p225-lightbox{position:fixed;inset:0;z-index:500;background:rgba(10,11,10,.94);display:grid;place-items:center;padding:38px 72px}.v2 .p225-lightbox-content{max-width:min(1200px,94vw);max-height:90vh;display:grid;gap:12px}.v2 .p225-lightbox-content img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:12px;margin:auto}.v2 .p225-lightbox-copy{color:#fff;text-align:center;display:grid;gap:4px}.v2 .p225-lightbox-copy strong{font-size:1.15rem}.v2 .p225-lightbox-copy span{color:#c9cbc5}.v2 .p225-lightbox-close,.v2 .p225-lightbox-nav{position:absolute;border:0;color:#fff;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);cursor:pointer}.v2 .p225-lightbox-close{right:22px;top:22px;width:46px;height:46px;border-radius:50%;font-size:2rem}.v2 .p225-lightbox-nav{top:50%;transform:translateY(-50%);width:50px;height:64px;border-radius:14px;font-size:2.2rem}.v2 .p225-lightbox-nav.prev{left:18px}.v2 .p225-lightbox-nav.next{right:18px}
.v2 .p225-photos-admin{display:grid;gap:16px}.v2 .p225-upload-zone{display:grid;justify-items:center;gap:7px;text-align:center;border:2px dashed #bbb9b1;border-radius:18px;padding:32px 18px;background:#faf9f6;cursor:pointer;transition:.18s}.v2 .p225-upload-zone:hover{border-color:#777a72;background:#f6f4ef}.v2 .p225-upload-icon{font-size:2rem;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff}.v2 .p225-upload-zone>span:last-child{font-size:.82rem;color:var(--muted)}.v2 .p225-upload-note{margin-top:10px}.v2 .p225-count{font-size:.8rem;font-weight:800;background:#f1efe9;border-radius:999px;padding:7px 10px}.v2 .p225-gallery-editor{display:grid;gap:14px;margin-bottom:18px}.v2 .p225-gallery-row{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;border:1px solid var(--line);border-radius:17px;padding:14px;background:#fbfaf7}.v2 .p225-gallery-image{position:relative}.v2 .p225-gallery-image img{width:100%;height:180px;object-fit:cover;border-radius:12px;display:block}.v2 .p225-gallery-image span{position:absolute;left:9px;bottom:9px;background:rgba(17,19,16,.84);color:#fff;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:800}.v2 .p225-gallery-fields textarea{min-height:72px}.v2 .p225-gallery-actions{display:flex;gap:7px;flex-wrap:wrap}.v2 .p225-empty{padding:30px;text-align:center;border:1px dashed var(--line);border-radius:14px;background:#faf9f6}
@media(max-width:820px){.v2 .p225-tour-grid{grid-template-columns:1fr}.v2 .p225-tour-card.featured{grid-column:auto}.v2 .p225-tour-card .p225-photo-button img,.v2 .p225-tour-card.featured .p225-photo-button img{height:min(72vw,460px)}.v2 .p225-gallery-row{grid-template-columns:1fr}.v2 .p225-gallery-image img{height:240px}}
@media(max-width:620px){.v2 .p225-photo-tour{padding-top:48px;padding-bottom:48px}.v2 .p225-tour-grid{gap:24px}.v2 .p225-photo-button{border-radius:16px}.v2 .p225-photo-title h3,.v2 .p225-tour-card.featured .p225-photo-title h3{font-size:1.18rem}.v2 .p225-tour-card .p225-photo-button img,.v2 .p225-tour-card.featured .p225-photo-button img{height:68vw;max-height:340px}.v2 .p225-lightbox{padding:64px 12px 24px}.v2 .p225-lightbox-nav{top:auto;bottom:18px;width:44px;height:44px;border-radius:50%}.v2 .p225-lightbox-nav.prev{left:18px}.v2 .p225-lightbox-nav.next{right:18px}.v2 .p225-lightbox-close{right:12px;top:12px}.v2 .p225-gallery-image img{height:210px}.v2 .p225-upload-zone{padding:25px 14px}}

/* ---- phase27.css ---- */
/* EPCC Phase 2.2.7 — speed, sermon follow-along, analytics */
.v2 .p227-loading{min-height:240px;display:grid;place-items:center;text-align:center;align-content:center;gap:10px}@keyframes p227spin{to{transform:rotate(360deg)}}
.v2 .p227-notification-center{margin-top:0}.v2 .p227-unread-alerts{display:grid;gap:12px}.v2 .p227-caught-up{padding:18px;border:1px dashed var(--line);border-radius:14px;display:flex;flex-direction:column;gap:4px}.v2 .p227-read-alerts{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.v2 .p227-read-alerts>summary{cursor:pointer;font-weight:700;display:flex;gap:8px;align-items:center}.v2 .p227-read-alerts>summary span{font-size:.78rem;background:var(--surface);padding:2px 8px;border-radius:999px}.v2 .p227-read-alerts .alert-list{margin-top:12px;display:grid;gap:10px}.v2 .p227-connected,.v2 .p227-this-phone{margin-top:18px}
.v2 .p227-sermon-hero{background:linear-gradient(135deg,var(--charcoal),#30352d);color:#fff}.v2 .p227-sermon-hero .lead-small{color:#dcd9d4}.v2 .p227-sermon-hero h2{font-size:clamp(1.8rem,4vw,3rem);margin:.25rem 0}.v2 .p227-primary-scripture{font-weight:700;margin:.35rem 0 1rem}.v2 .p227-takeaway{margin-top:18px;padding:14px 16px;border:1px solid rgba(255,255,255,.18);border-radius:14px;display:grid;gap:4px}.v2 .p227-takeaway strong{text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;color:#dcd9d4}.v2 .p227-sermon-grid{margin-top:18px;align-items:start}.v2 .p227-outline{display:grid;gap:14px;padding-left:1.5rem;margin:18px 0}.v2 .p227-outline li{padding-left:6px;line-height:1.55}.v2 .p227-scriptures{margin:24px 0 16px}.v2 .p227-scriptures h4{margin-bottom:10px}.v2 .p227-scripture-row{padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:8px;font-weight:650}.v2 .p227-note-pad{width:100%;min-height:340px;resize:vertical;font:inherit;line-height:1.55;padding:16px;border-radius:14px;border:1px solid var(--line);background:#fff}.v2 .p227-note-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.v2 .p227-sermon-archive{margin-top:18px}.v2 .p227-sermon-admin-list{display:grid;gap:10px}.v2 .p227-admin-sermon{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;justify-content:space-between;gap:12px;align-items:center}.v2 .p227-admin-sermon.current{border-width:2px}.v2 .p227-sermon-admin textarea{min-height:100px}
.v2 .p227-dau-panel{margin-top:18px}.v2 .p227-dau-chart{height:210px;display:grid;grid-template-columns:repeat(14,minmax(20px,1fr));gap:8px;align-items:end;padding-top:20px}.v2 .p227-dau-bar{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;min-width:0}.v2 .p227-dau-bar>span{width:100%;max-width:34px;min-height:8px;background:var(--charcoal);border-radius:7px 7px 2px 2px;position:relative;display:flex;justify-content:center}.v2 .p227-dau-bar b{position:absolute;top:-20px;font-size:.72rem}.v2 .p227-dau-bar small{font-size:.67rem}.v2 .p227-analytics-grid{margin-top:18px;align-items:start}.v2 .p227-metric-list{display:grid;gap:10px}.v2 .p227-metric-list>article{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:9px}.v2 .p227-metrics{display:flex;gap:8px;flex-wrap:wrap}.v2 .p227-metrics span{background:var(--surface);padding:6px 9px;border-radius:999px;font-size:.78rem}.v2 .p227-analytics-people summary{cursor:pointer;font-size:.8rem;font-weight:700}.v2 .p227-analytics-people>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.v2 .p227-analytics-people span{font-size:.75rem;background:var(--surface);border-radius:999px;padding:5px 8px}
@media(max-width:760px){.v2 .p227-note-pad{min-height:300px}.v2 .p227-dau-chart{gap:4px}.v2 .p227-dau-bar small{font-size:.58rem;writing-mode:vertical-rl;transform:rotate(180deg)}.v2 .p227-admin-sermon{align-items:flex-start;flex-direction:column}}

/* ---- phase28.css ---- */
/* EPCC Phase 2.2.8 — a little more visual energy without making the site heavy */
.v2{--p228-warm:#b87942;--p228-warm-soft:#f1e5d7;--p228-deep:#20251f;--p228-green:#697d68}
.v2{background:linear-gradient(180deg,var(--stone) 0,#f4f2ec 55%,var(--stone) 100%)}
.v2 .main-nav a{position:relative}.v2 .main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--accent);transition:.2s ease;border-radius:99px}.v2 .main-nav a:hover:after,.v2 .main-nav a.active:after{right:0}
.v2 .card,.v2 .member-panel,.v2 .panel{box-shadow:0 8px 28px rgba(21,23,20,.045);transition:border-color .18s ease,box-shadow .18s ease}.v2 .card:hover{border-color:#cbc7bc;box-shadow:0 14px 36px rgba(21,23,20,.07)}
.v2 .page-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 0,rgba(184,121,66,.17),transparent 28%),linear-gradient(135deg,#f3eee5,#f9f8f4)}.v2 .page-hero:after{content:"EPCC";position:absolute;right:-18px;bottom:-58px;font-size:clamp(7rem,18vw,14rem);font-weight:900;color:rgba(21,23,20,.035);pointer-events:none}
.v2 .section.white{background:rgba(255,255,255,.94)}.v2 .section-head h2:after{content:"";display:block;width:54px;height:3px;margin-top:14px;background:linear-gradient(90deg,var(--accent),transparent);border-radius:99px}
.v2 .member-app{background:radial-gradient(circle at 15% 0,rgba(184,121,66,.10),transparent 23%),radial-gradient(circle at 92% 14%,rgba(105,125,104,.10),transparent 24%),var(--stone)}.v2 .p24-greeting,.v2 .member-hero-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#161a16 0,#303a2f 72%,#704a30 145%)}.v2 .p24-greeting:after,.v2 .member-hero-card:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;border:1px solid rgba(255,255,255,.10);right:-80px;top:-95px;box-shadow:0 0 0 30px rgba(255,255,255,.025),0 0 0 58px rgba(255,255,255,.018)}
.v2 .member-nav{box-shadow:inset 0 1px rgba(255,255,255,.65)}.v2 .member-nav a.active{box-shadow:0 5px 18px rgba(21,23,20,.08)}.v2 .quick-grid a{position:relative;overflow:hidden}.v2 .quick-grid a:before{content:"";position:absolute;width:48px;height:48px;border-radius:50%;background:var(--p228-warm-soft);right:-20px;top:-20px;opacity:.75}
.v2 .p228-rich-prose>p{white-space:normal;margin:0 0 1.25em;line-height:1.78}.v2 .p228-rich-prose>p:last-child{margin-bottom:0}.v2 .p228-side-copy p{margin:.55rem 0;line-height:1.65}

/* Alerts */
.v2 .p228-alert-group{border:1px solid var(--line);border-radius:17px;background:#fcfbf8;overflow:hidden;margin-top:14px}.v2 .p228-alert-group>summary{list-style:none;cursor:pointer;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--stone)}.v2 .p228-alert-group>summary::-webkit-details-marker{display:none}.v2 .p228-alert-group>summary span{display:flex;align-items:baseline;gap:8px}.v2 .p228-alert-group>summary small{color:var(--muted);font-weight:600}.v2 .p228-toggle-symbol{width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-style:normal;font-weight:900}.v2 .p228-toggle-symbol:before{content:"+"}.v2 .p228-alert-group[open] .p228-toggle-symbol:before{content:"−"}.v2 .p228-alert-group-body{padding:12px}.v2 .p228-alert-group-body .alert-card:last-child{margin-bottom:0}.v2 .p228-unread-group{border-color:#cbc4b5}.v2 .p228-unread-group>summary{background:linear-gradient(90deg,#efe8dc,#f6f3ed)}.v2 .p228-connected,.v2 .p228-this-phone{margin-top:18px}

/* Benevolence account flow */
.v2 .p228-benev-hero{background:radial-gradient(circle at 78% 15%,rgba(169,100,49,.19),transparent 28%),linear-gradient(135deg,#f4efe6,#faf8f3)}.v2 .p228-phone-gate{max-width:680px;margin:0 auto;padding:34px}.v2 .p228-phone-icon{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--p228-warm-soft),#fff);display:grid;place-items:center;font-size:1.4rem;margin-bottom:18px}.v2 .p228-phone-gate h3{font-size:1.7rem;margin:.4rem 0}.v2 .p228-phone-gate form{margin-top:20px}.v2 .p228-benev-welcome{max-width:900px;margin:0 auto 14px;padding:22px 24px;border-radius:20px;background:linear-gradient(135deg,#efe8dc,#faf8f3);border:1px solid #d8cbbb;display:flex;align-items:center;justify-content:space-between;gap:18px}.v2 .p228-benev-welcome.returning{background:linear-gradient(135deg,#eceae7,#f9f9f8);border-color:#d5d2cb}.v2 .p228-benev-welcome h3{margin:.35rem 0}.v2 .p228-benev-welcome p{margin:0;color:var(--muted)}.v2 .p228-benev-request-form{max-width:900px;margin:0 auto}.v2 .p228-form-section{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:24px;margin:12px 0 18px}.v2 .p228-form-section:first-of-type{border-top:0;padding-top:0}.v2 .p228-form-section h3{margin:0}.v2 .p228-form-section p{margin:.25rem 0 0}.v2 .p228-section-number{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-weight:850;flex:0 0 auto}
.v2 .p228-prior-history{margin:18px 0;padding:18px;border:1px solid #d5d2cb;background:#f5f4f3;border-radius:16px}.v2 .p228-prior-history.first-request{border-color:var(--line);background:#faf9f6}.v2 .p228-prior-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.v2 .p228-prior-head h4{margin:.2rem 0 0;font-size:1.15rem}.v2 .p228-history-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #d6d3cc;font-size:.76rem;font-weight:800}.v2 .p228-prior-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.v2 .p228-prior-stats>div{background:#fff;border:1px solid #dfddd8;border-radius:12px;padding:11px}.v2 .p228-prior-stats span{display:block;font-size:.72rem;color:var(--muted)}.v2 .p228-prior-stats strong{display:block;margin-top:2px}.v2 .p228-prior-history details summary{cursor:pointer;font-weight:800;font-size:.84rem}.v2 .p228-prior-list{margin-top:10px;display:grid;gap:7px}.v2 .p228-prior-list>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid #e4e2de;font-size:.8rem}.v2 .p228-multiline{line-height:1.55}
@media(max-width:720px){.v2 .p228-benev-welcome{align-items:flex-start;flex-direction:column}.v2 .p228-prior-stats{grid-template-columns:1fr}.v2 .p228-prior-list>div{display:grid;gap:2px}.v2 .p228-phone-gate{padding:24px 18px}.v2 .p228-alert-group>summary{padding:13px 14px}.v2 .page-hero:after{right:-34px;bottom:-30px}}

/* ---- phase29.css ---- */
/* EPCC Phase 2.2.9 — QA fixes: sermon contrast, prayer conversations, phone verification feedback */
/* 2.2.7 referenced --charcoal/--surface, which are not defined in the EPCC theme. */
.v2 .p227-sermon-hero{background:linear-gradient(135deg,var(--spruce-900) 0%,#30382f 72%,#65452f 140%)!important;color:#fff!important;border-color:#252b24!important;box-shadow:0 14px 36px rgba(21,23,20,.16)!important}
.v2 .p227-sermon-hero h2,.v2 .p227-sermon-hero .p227-primary-scripture{color:#fff!important}
.v2 .p227-sermon-hero .lead-small{color:#e0deda!important}
.v2 .p227-sermon-hero .p227-takeaway{background:rgba(255,255,255,.06)}
.v2 .p227-scripture-row,.v2 .p227-metrics span,.v2 .p227-analytics-people span{background:var(--stone)!important}
.v2 .p227-notes-panel .panel-head{align-items:flex-start}.v2 .p227-notes-panel #p227NoteStatus{max-width:180px;text-align:right;line-height:1.35}

/* Prayer conversation */
.v2 .p229-prayer-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}
.v2 .p229-thread-toggle{border:1px solid var(--line);background:#faf9f6;border-radius:999px;padding:7px 11px;font-weight:750;color:#555850;cursor:pointer}
.v2 .p229-thread{margin-top:14px;border-top:1px solid #e5e3dc;padding-top:13px}.v2 .p229-thread-list{display:grid;gap:8px;margin-bottom:12px}
.v2 .p229-thread-entry{padding:10px 12px;border-radius:12px;background:var(--stone);border:1px solid #e4e1d8}
.v2 .p229-thread-entry.update{background:#f1f0ee;border-color:#dcd9d4}
.v2 .p229-thread-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:.72rem;color:var(--muted);margin-bottom:4px}
.v2 .p229-thread-kind{font-weight:850;text-transform:uppercase;letter-spacing:.07em;font-size:.62rem;color:#625c51}
.v2 .p229-thread-entry p{margin:0;line-height:1.5;color:#3f423d}
.v2 .p229-thread-form textarea{min-height:78px}.v2 .p229-thread-submit{display:flex;gap:8px;flex-wrap:wrap}
.v2 .p229-thread-help{margin-top:7px}.v2 .p229-thread-loading{padding:8px 0;color:var(--muted);font-size:.82rem}
.v2 .p229-phone-status{margin-top:12px}.v2 .p229-phone-status:empty{display:none}

@media(max-width:620px){
  .v2 .p227-sermon-hero{padding:24px 22px!important}.v2 .p227-sermon-hero h2{font-size:2.35rem!important;line-height:1.02}
  .v2 .p227-notes-panel .panel-head{display:grid;gap:5px}.v2 .p227-notes-panel #p227NoteStatus{max-width:none;text-align:left}
}

/* ---- phase211.css ---- */

/* EPCC 2.2.11 — Benevolence committee voting */
.v2 .p2211-voting{margin:16px 0;padding:16px;border:1px solid #d8d4c9;border-radius:16px;background:#f8f6f0}
.v2 .p2211-vote-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.v2 .p2211-vote-head h4{margin:3px 0 5px;font-size:1.05rem}.v2 .p2211-tally{display:flex;gap:7px;flex-wrap:wrap}.v2 .p2211-tally span{padding:6px 9px;border-radius:999px;font-size:.78rem;font-weight:800}.v2 .p2211-tally .yes{background:#eae8e5;color:#201f1d}.v2 .p2211-tally .no{background:#f4e2df;color:#7a342d}
.v2 .p2211-vote-list{display:grid;gap:6px;margin:12px 0}.v2 .p2211-voter{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #e4e0d6}.v2 .p2211-voter>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:900}.v2 .p2211-voter.yes>span{background:#eae8e5;color:#201f1d}.v2 .p2211-voter.no>span{background:#f4e2df;color:#7a342d}.v2 .p2211-voter strong{flex:1;font-size:.87rem}.v2 .p2211-voter small{font-weight:800;letter-spacing:.06em}
.v2 .p2211-vote-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.v2 .p2211-vote-actions .selected{outline:3px solid rgba(119,112,97,.22)}.v2 .p2211-reset{margin-left:auto;font-size:.76rem}.v2 .p2211-vote-closed{margin-top:10px}
@media(max-width:700px){.v2 .p2211-vote-head{display:block}.v2 .p2211-tally{margin-top:10px}.v2 .p2211-reset{width:100%;margin-left:0;text-align:left}}

/* ---- phase213.css ---- */
/* EPCC 2.2.13 — My EPCC-only events */
.v2 .p213-visibility{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#efeeec;color:#384338;font-size:.72rem;font-weight:800;white-space:nowrap}.v2 .p213-visibility.private{background:#eee7d8;color:#674d18}.v2 .p213-member-events{overflow:hidden}.v2 .p213-event-list{display:grid;gap:10px;margin-top:14px}.v2 .p213-event-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:start;padding:15px 0;border-top:1px solid var(--line)}.v2 .p213-event-card:first-child{border-top:0;padding-top:4px}.v2 .p213-event-copy p{margin:7px 0 2px;line-height:1.5}.v2 .p213-event-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:4px}.v2 .p213-member-chip{display:inline-flex;padding:3px 7px;border-radius:999px;background:#201f1d;color:#fff;font-size:.62rem;letter-spacing:.08em;font-weight:900}@media(max-width:720px){.v2 .p213-events-admin{display:block}.v2 .p213-events-admin>section+section{margin-top:16px}.v2 .p213-event-card{grid-template-columns:56px minmax(0,1fr);gap:11px}.v2 .p213-member-events{padding-left:16px;padding-right:16px}}
/* EPCC 2.2.14 — recurring event exceptions */.v2 .p214-exclusion-add{display:flex;gap:8px;align-items:center;margin-top:9px;flex-wrap:wrap}.v2 .p214-exclusion-add input{max-width:220px}.v2 .p214-exclusion-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.v2 .p214-exclusion-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#f1eee6;border:1px solid var(--line);font-size:.78rem;font-weight:750}.v2 .p214-exclusion-chip button{border:0;background:transparent;font:inherit;font-size:1rem;line-height:1;cursor:pointer;color:inherit;padding:0 1px}@media(max-width:720px){.v2 .p214-exclusion-add{display:grid;grid-template-columns:1fr}.v2 .p214-exclusion-add input{max-width:none;width:100%}}

/* ---- phase216.css ---- */
/* EPCC Phase 2.2.16 — personalized member home, live refresh, RSVP and care */
.p216-pull-indicator{position:fixed;top:max(10px,env(safe-area-inset-top));left:50%;transform:translate(-50%,-12px);z-index:220;background:var(--spruce-900);color:#fff;border-radius:999px;padding:8px 14px;font-size:.78rem;font-weight:700;opacity:0;pointer-events:none;transition:.18s ease;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.p216-pull-indicator.show{opacity:1;transform:translate(-50%,0)}
.v2 .p216-home-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;border-radius:24px;background:linear-gradient(135deg,#1d211d,#30352e);color:#fff;margin-bottom:18px;box-shadow:0 18px 38px rgba(30,34,29,.13)}
.v2 .p216-home-hero h2{margin:5px 0 4px;color:#fff;font-size:clamp(1.6rem,4vw,2.35rem)}.v2 .p216-home-hero p{margin:0;color:rgba(255,255,255,.75)}.v2 .p216-home-hero img{width:86px;height:86px;object-fit:contain}.v2 .p216-refresh-line{display:flex;align-items:center;gap:10px;margin-top:15px}
.v2 .p216-refresh-btn{appearance:none;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:inherit;border-radius:999px;padding:7px 12px;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.v2 .member-panel .p216-refresh-btn{border-color:var(--line);background:#fff;color:var(--ink)}
.v2 .p216-unread-summary{display:flex;align-items:center;gap:14px;padding:15px 18px;margin:0 0 18px;border:1px solid #e0c992;background:#fff9e9;border-radius:18px;color:inherit;text-decoration:none}.v2 .p216-unread-summary>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#8b6a22;color:#fff;font-weight:800}.v2 .p216-unread-summary div{display:grid;gap:2px;flex:1}.v2 .p216-unread-summary small{color:var(--muted)}.v2 .p216-unread-summary b{font-size:1.4rem}
.v2 .p216-home-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:18px;margin-bottom:18px}.v2 .p216-home-event{display:grid;grid-template-columns:auto 1fr;gap:13px;padding:14px 0;border-bottom:1px solid var(--line)}.v2 .p216-home-event:last-child{border-bottom:0}.v2 .p216-home-event .event-badge{margin-top:1px}.v2 .p216-sermon-card{background:linear-gradient(160deg,#f7f0df,#fff)}.v2 .p216-scripture{display:block;color:#755b26;margin:10px 0 4px}.v2 .p216-prayer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.v2 .p216-prayer-grid article{border:1px solid var(--line);border-radius:16px;padding:15px;background:#fff}.v2 .p216-prayer-grid p{font-size:.9rem;line-height:1.5;min-height:55px}.v2 .p216-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.v2 .p216-care-card{display:flex;align-items:center;gap:14px;padding:18px;border-radius:18px;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);box-shadow:0 7px 20px rgba(0,0,0,.035)}.v2 .p216-care-card>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#ede4d1;color:#684f20;font-size:1.2rem;font-weight:800}.v2 .p216-care-card div{display:grid;gap:3px;flex:1}.v2 .p216-care-card small{color:var(--muted)}.v2 .p216-care-card b{font-size:1.4rem}.v2 .p216-care-card.committee>span{background:#1c211c;color:#fff}.v2 .p216-connected-home{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.78rem;color:var(--muted);padding:4px 2px 80px}.v2 .p216-connected-home b{font-weight:700;color:var(--ink);background:#efeee8;border-radius:999px;padding:5px 9px}
.v2 .p216-rsvp{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.v2 .p216-rsvp button,.v2 .p216-help-btn{appearance:none;border:1px solid #d8d6cd;background:#fff;border-radius:999px;padding:7px 11px;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.v2 .p216-rsvp button.active,.v2 .p216-help-btn.active{background:#201f1d;color:#fff;border-color:#201f1d}.v2 .p216-rsvp.compact{margin-top:8px}.v2 .p216-rsvp.compact button{padding:5px 9px;font-size:.72rem}.v2 .p216-help-btn{margin-top:8px;border-color:#bda871;color:#6c5522;background:#fffaf0}.v2 .p216-help-btn.active{background:#765f2b;border-color:#765f2b;color:#fff}.v2 .p216-event-options{border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:16px;background:#faf9f5}.v2 .p216-event-card .p216-rsvp{margin-top:12px}
.v2 .p216-response-admin{margin-top:16px}.v2 .p216-response-list details{border-top:1px solid var(--line);padding:12px 0}.v2 .p216-response-list details:first-child{border-top:0}.v2 .p216-response-list summary{cursor:pointer;display:flex;gap:8px;justify-content:space-between}.v2 .p216-response-list summary span{color:var(--muted);font-size:.82rem}.v2 .p216-response-people{padding:10px 0 0 18px}.v2 .p216-response-people>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:.86rem}.v2 .p216-response-people span{color:var(--muted)}.v2 .p216-loading-line{padding:20px;text-align:center;color:var(--muted)}
.v2 .p216-care-page{max-width:720px;margin:0 auto}.v2 .p216-care-intro{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.v2 .p216-care-intro h2{margin:5px 0 7px}.v2 .p216-care-intro>span{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:#ede4d1;color:#684f20;font-size:1.7rem}.v2 .p216-care-privacy{text-align:center;margin-top:14px}.v2 .p216-care-success{text-align:center;padding:28px 10px}.v2 .p216-care-success>span{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#eeedeb;color:#201f1d;font-size:1.6rem;margin:0 auto 14px}.v2 .p216-care-admin-list{display:grid;gap:12px}.v2 .p216-care-admin{border:1px solid var(--line);border-radius:16px;padding:16px}.v2 .p216-care-admin p{white-space:pre-wrap}.v2 .p216-care-admin.notification-target{outline:3px solid rgba(176,140,62,.25)}
@media(max-width:760px){.v2 .p216-home-hero{padding:22px 20px}.v2 .p216-home-hero img{width:60px;height:60px}.v2 .p216-home-grid,.v2 .p216-action-grid{grid-template-columns:1fr}.v2 .p216-prayer-grid{grid-template-columns:1fr}.v2 .p216-response-list summary{display:block}.v2 .p216-response-list summary span{display:block;margin-top:3px}.v2 .p216-rsvp button{flex:1}.v2 .p216-connected-home{padding-bottom:90px}.v2 .p216-home-event{grid-template-columns:52px 1fr}}

/* ---- phase217.css ---- */
/* Phase 2.2.17 — teaching/community polish */
.v2 .p217-program-grid{align-items:start}.v2 .p217-program-list{display:grid;gap:10px}.v2 .p217-program-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}.v2 .p217-program-meta{display:flex;gap:8px;align-items:center}.v2 .p217-program-meta>span{font-size:.78rem;color:var(--muted)}
.v2 .p217-events{background:linear-gradient(180deg,#fff,#faf8f2)}.v2 .p217-event-list{display:grid;gap:12px}.v2 .p217-event-row{border:1px solid rgba(157,128,61,.2);border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(27,31,27,.06);padding:14px}.v2 .p217-event-link{display:grid;grid-template-columns:auto 1fr;gap:14px;color:inherit;text-decoration:none}.v2 .p217-event-link p{margin:.45rem 0}.v2 .p217-view-detail{font-size:.78rem;font-weight:800;color:#7c642b}.v2 .p217-back{display:inline-flex;margin-bottom:12px;font-weight:800}.v2 .p217-event-hero{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;background:linear-gradient(135deg,#201f1d,#201f1d);color:#fff;border:none}.v2 .p217-event-hero p,.v2 .p217-event-hero .p217-event-meta{color:rgba(255,255,255,.78)}.v2 .p217-event-hero h2{color:#fff;margin:.2rem 0}.v2 .p217-guide{border-top:4px solid #af8e43}.v2 .p217-guide>h3{font-size:1.35rem}.v2 .p217-questions{padding-left:1.25rem;display:grid;gap:10px}.v2 .p217-note-panel{background:#fffdf8}.v2 .p217-share-check{margin:12px 0;padding:10px 12px;border-radius:12px;background:#f6f0df;border:1px solid #e6d7ad}.v2 .p217-shared-notes{margin-top:16px}.v2 .p217-shared-notes article{padding:14px 0;border-top:1px solid var(--line)}.v2 .p217-shared-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.v2 .p217-shared-body{line-height:1.7;white-space:normal}.v2 .p217-guide-admin{margin-top:16px}.v2 .p217-guide-list{display:grid;gap:8px}.v2 .p217-guide-list article{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.v2 .p217-home-event{cursor:pointer;border-radius:12px;transition:transform .15s ease,background .15s ease}.v2 .p217-home-event:hover{background:#faf8f2;transform:translateY(-1px)}
/* extra My EPCC character without adding heavy assets */
.v2 .member-shell .member-panel{box-shadow:0 9px 30px rgba(26,25,24,.055)}.v2 .member-shell .member-topbar{background:rgba(248,247,242,.96);backdrop-filter:blur(14px)}.v2 .p216-home-hero{box-shadow:0 18px 45px rgba(30,29,27,.17)}
@media(max-width:700px){.v2 .p217-program-list article{grid-template-columns:1fr}.v2 .p217-program-meta{flex-wrap:wrap}.v2 .p217-event-hero{grid-template-columns:1fr}.v2 .p217-guide-list article{align-items:flex-start}.v2 .p217-shared-head{display:block}.v2 .p217-event-row{padding:12px}}

/* ---- phase218.css ---- */
/* Phase 2.2.18 — full event editing */
.v2 .p218-row-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}
.v2 .p218-editor{margin-top:18px;border:1px solid rgba(177,142,72,.38);box-shadow:0 18px 45px rgba(0,0,0,.08)}
.v2 .p218-editor .panel-head{align-items:flex-start}
.v2 .p218-editor textarea{min-height:110px}
.v2 .p218-options{padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(247,245,240,.72);margin-bottom:16px}
.v2 .p218-save-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}
@media(max-width:720px){.v2 .p218-row-actions{justify-content:flex-start}}

/* ---- phase221.css ---- */
/* EPCC 2.2.21 — public welcome experience */
.v2 .p221-hero{min-height:680px;background:#1d1c1a;background-size:cover;background-repeat:no-repeat;color:#fff;display:flex;align-items:flex-end;position:relative;overflow:hidden}
.v2 .p221-hero.no-photo:after{content:'EPCC';position:absolute;right:-2vw;bottom:-8vw;font-size:30vw;font-weight:900;line-height:.8;color:rgba(255,255,255,.035);pointer-events:none}
.v2 .p221-hero-inner{width:100%;padding-top:130px;padding-bottom:76px;position:relative;z-index:1}.v2 .p221-hero-copy{max-width:760px}.v2 .p221-hero h1{font-size:clamp(3.7rem,7vw,7rem);line-height:.92;margin:14px 0 24px;max-width:850px}.v2 .p221-hero-copy>p{font-size:clamp(1.12rem,2vw,1.4rem);line-height:1.65;max-width:700px;color:#e4e8e2}.v2 .p221-ghost{border:1px solid rgba(255,255,255,.55);color:#fff;background:rgba(20,20,19,.25);backdrop-filter:blur(8px)}
.v2 .p221-hero-facts{display:flex;flex-wrap:wrap;gap:1px;margin-top:42px;border-radius:16px;overflow:hidden;max-width:860px;background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px)}.v2 .p221-hero-facts>div{min-width:180px;flex:1;padding:18px 22px;background:rgba(15,15,14,.48)}.v2 .p221-hero-facts small,.v2 .p221-hero-facts span{display:block;color:#cbd2ca}.v2 .p221-hero-facts strong{display:block;font-size:1.08rem;margin:4px 0}
.v2 .p221-experience .section-head{align-items:flex-end}.v2 .p221-experience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.v2 .p221-experience-grid article{padding:27px;border:1px solid var(--line);border-radius:18px;background:#fff}.v2 .p221-experience-grid article span{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#6c746d}.v2 .p221-experience-grid article h3{margin:10px 0}.v2 .p221-experience-grid article p{margin:0;color:#667069;line-height:1.6}.v2 .p221-doctrine-strip{display:grid;grid-template-columns:.9fr 1.7fr auto;gap:28px;align-items:center;margin-top:24px;padding:28px 30px;border-radius:18px;background:#f0efec}.v2 .p221-doctrine-strip h3,.v2 .p221-doctrine-strip p{margin:4px 0}.v2 .p221-doctrine-strip p{line-height:1.6;color:#59625b}.v2 .p221-doctrine-strip a{font-weight:700;color:inherit}
.v2 .p221-ministry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.v2 .p221-ministry-grid.home{grid-template-columns:repeat(3,minmax(0,1fr))}.v2 .p221-ministry{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(20,25,21,.04)}.v2 .p221-ministry summary{list-style:none;display:grid;grid-template-columns:52px 1fr 24px;gap:16px;padding:25px;align-items:start;cursor:pointer}.v2 .p221-ministry summary::-webkit-details-marker{display:none}.v2 .p221-ministry summary:hover{background:#fafaf9}.v2 .p221-ministry-icon{width:48px;height:48px;border-radius:14px;background:#f0efec;display:grid;place-items:center;font-size:1.4rem}.v2 .p221-ministry-copy h3{margin:2px 0 7px}.v2 .p221-ministry-copy p{margin:0;color:#687169;line-height:1.55}.v2 .p221-ministry-plus:before{content:'+';font-size:1.6rem;color:#6c746d}.v2 .p221-ministry[open] .p221-ministry-plus:before{content:'−'}.v2 .p221-ministry-body{padding:0 25px 25px 93px;border-top:1px solid var(--line)}.v2 .p221-ministry-body>.p221-rich{padding-top:20px}.v2 .p221-rich p{line-height:1.75}.v2 .p221-page-copy{max-width:820px}.v2 .p221-ministry-intro{display:flex;gap:10px;align-items:center;margin:28px 0 0;padding:14px 18px;border-radius:12px;background:#f3f2f0}
.v2 .p221-gallery-wrap{width:100%}.v2 .p221-gallery-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.v2 .p221-gallery-head h2{margin:4px 0 6px}.v2 .p221-gallery-head p{margin:0}.v2 .p221-gallery-controls{display:flex;gap:8px}.v2 .p221-gallery{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:9px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.v2 .p221-gallery::-webkit-scrollbar{display:none}.v2 .p221-gallery-slide{flex:0 0 min(78vw,520px);height:340px;margin:0;border-radius:18px;overflow:hidden;scroll-snap-align:start;background:#eae9e6}.v2 .p221-gallery-slide img{width:100%;height:100%;object-fit:cover;display:block}.v2 .p221-ministry-body .p221-gallery-slide{height:220px;flex-basis:min(72vw,370px)}.v2 .p221-ministry-body .p221-gallery-head{justify-content:flex-end;margin:18px 0 8px}.v2 .p221-swipe-hint{margin-top:4px}
.v2 .p221-newhere-intro{display:grid;grid-template-columns:1.6fr .8fr;gap:44px;align-items:start}.v2 .p221-sunday-card{padding:28px;border-radius:20px;background:#f2f1ef;border:1px solid var(--line)}.v2 .p221-sunday-card span{font-weight:800}.v2 .p221-expect-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.v2 .p221-expect-grid article{padding:30px;border-radius:18px;background:#fff;border:1px solid var(--line)}.v2 .p221-number{font-size:.8rem;font-weight:800;letter-spacing:.12em;color:#8a948c}.v2 .p221-expect-grid h3{font-size:1.35rem}.v2 .p221-expect-grid p{color:#626c64;line-height:1.65}.v2 .p221-doctrine-feature{display:grid;grid-template-columns:.8fr 1.4fr;gap:70px;align-items:start;padding-top:12px}.v2 .p221-ready{display:flex;justify-content:space-between;align-items:center;gap:30px}.v2 .p221-ready h2{margin:5px 0}.v2 .p221-ready p{color:#c2c5bd}
.v2 .p221-admin-hero-preview{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:15px;margin-bottom:16px}.v2 .p221-existing-hero{display:grid;gap:8px;max-height:390px;overflow:auto;padding-right:4px}.v2 .p221-hero-thumb{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px;display:grid;grid-template-columns:62px 1fr;gap:10px;align-items:center;text-align:left;cursor:pointer}.v2 .p221-hero-thumb.active{border-color:#201f1d;box-shadow:0 0 0 2px #201f1d inset}.v2 .p221-hero-thumb img{width:62px;height:45px;object-fit:cover;border-radius:7px}.v2 .p221-admin-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v2 .p221-admin-photo-grid article{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.v2 .p221-admin-photo-grid article.selected{box-shadow:0 0 0 2px #201f1d inset}.v2 .p221-admin-photo-grid img{width:100%;height:100px;object-fit:cover}.v2 .p221-admin-photo-grid article>div{padding:8px;display:grid;gap:7px}.v2 .p221-admin-photo-grid strong{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2 .p221-ministry-admin-list{display:grid;gap:18px}.v2 .p221-add-ministry{margin-top:18px}
@media(max-width:900px){.v2 .p221-hero{min-height:600px}.v2 .p221-hero h1{font-size:clamp(3.2rem,13vw,5rem)}.v2 .p221-experience-grid{grid-template-columns:repeat(2,1fr)}.v2 .p221-doctrine-strip{grid-template-columns:1fr}.v2 .p221-ministry-grid,.v2 .p221-ministry-grid.home{grid-template-columns:1fr}.v2 .p221-newhere-intro,.v2 .p221-doctrine-feature{grid-template-columns:1fr;gap:28px}.v2 .p221-admin-photo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.v2 .p221-hero{min-height:650px;background-position:center}.v2 .p221-hero-inner{padding-top:90px;padding-bottom:42px}.v2 .p221-hero-copy>p{font-size:1.08rem}.v2 .p221-hero-facts{display:grid;grid-template-columns:1fr 1fr}.v2 .p221-hero-facts>div:last-child{grid-column:1/-1}.v2 .p221-experience-grid,.v2 .p221-expect-grid{grid-template-columns:1fr}.v2 .p221-experience-grid article{padding:22px}.v2 .p221-ministry-body{padding:0 20px 22px}.v2 .p221-ministry summary{grid-template-columns:44px 1fr 20px;padding:20px}.v2 .p221-ministry-icon{width:42px;height:42px}.v2 .p221-gallery-slide{flex-basis:88vw;height:260px}.v2 .p221-gallery-controls{display:none}.v2 .p221-ready{display:grid}.v2 .p221-admin-photo-grid{grid-template-columns:1fr 1fr}.v2 .p221-doctrine-strip{padding:22px}.v2 .p221-ministry-intro{align-items:flex-start;flex-direction:column}}

/* ---- phase222.css ---- */
/* EPCC 2.2.22 — public-site contrast, gutters, and route polish */

/* Light buttons must stay readable even when they sit inside a dark section. */
.v2 .btn-soft,.v2 
a.btn-soft,.v2 
button.btn-soft {
  color:var(--ink) !important;
  -webkit-text-fill-color:var(--ink);
}
.v2 .icon-btn,.v2 
.mobile-menu-btn {
  color:var(--ink);
  -webkit-text-fill-color:var(--ink);
}

/* Give public pages more breathing room without changing Admin or My EPCC. */
body.epcc-public-route .v2 .mission-hero-copy {
  padding-left:clamp(32px,5vw,72px);
  padding-right:clamp(32px,5vw,72px);
}
@media(max-width:600px){
  body.epcc-public-route .v2 .mission-hero-copy{padding-left:28px;padding-right:28px;}
  body.epcc-public-route .v2 .p221-ministry summary{padding-left:22px;padding-right:22px;}
  body.epcc-public-route .v2 .p221-ministry-body{padding-left:22px;padding-right:22px;}
}

/* ---- phase223.css ---- */
/* EPCC Phase 2.2.23 — The Porch beta */
.v2 .p223-beta{display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:900;letter-spacing:.14em;background:#d7b872;color:#161914;border-radius:999px;padding:5px 8px;margin-right:9px;vertical-align:middle}.v2 .p223-nav-link span,.v2 .p223-mobile-porch span,.v2 .p223-footer-beta,.v2 .p223-admin-beta{font-size:.62em;font-weight:900;color:#8a6419;background:#f1dfae;border-radius:999px;padding:2px 5px;margin-left:3px}.v2 .p223-mobile-porch{font-weight:800}.v2 .p223-hero{background:linear-gradient(135deg,#171d18,#201f1d);color:#fff;padding:clamp(58px,8vw,112px) 0}.v2 .p223-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.7fr);gap:clamp(30px,6vw,90px);align-items:end}.v2 .p223-hero h1{font-size:clamp(3.4rem,8vw,7rem);line-height:.88;margin:12px 0 20px}.v2 .p223-hero p{font-size:clamp(1.06rem,2vw,1.35rem);line-height:1.6;max-width:760px;color:#e3e1dd}.v2 .p223-hero aside{border-left:1px solid rgba(255,255,255,.22);padding-left:28px}.v2 .p223-hero aside strong{font-size:1.15rem}.v2 .p223-hero aside p{font-size:.98rem;color:#cbd4cc}.v2 .p223-outline{border:1px solid rgba(255,255,255,.55)!important;color:#fff!important;background:transparent!important}.v2 .p223-week{padding-top:52px}.v2 .p223-event-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.v2 .p223-event{display:grid;grid-template-columns:64px 1fr auto;gap:16px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:18px;color:inherit;text-decoration:none;background:#fff;transition:.18s ease}.v2 .p223-event:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(18,18,17,.08)}.v2 .p223-event-date{background:#171b17;color:#fff;border-radius:14px;text-align:center;padding:8px}.v2 .p223-event-date span{display:block;font-size:.7rem;letter-spacing:.08em}.v2 .p223-event-date strong{display:block;font-size:1.55rem}.v2 .p223-event h3{margin:4px 0 5px}.v2 .p223-event p{margin:0;color:var(--muted)}.v2 .p223-arrow{font-size:1.4rem}.v2 .p223-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.v2 .p223-post{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 7px 22px rgba(21,23,20,.04)}.v2 .p223-post.featured{border-color:#c5aa69;box-shadow:0 10px 32px rgba(118,91,31,.12)}.v2 .p223-post.closed{background:#f3f2ed}.v2 .p223-post-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.v2 .p223-type,.v2 .p223-featured,.v2 .p223-complete{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:800;background:#f0eee7}.v2 .p223-featured{background:#f3e3b8;color:#735512}.v2 .p223-complete{background:#e5e3df;color:#201f1d}.v2 .p223-post h3{font-size:1.65rem;line-height:1.05;margin:0 0 12px}.v2 .p223-post-body p{line-height:1.65;margin:0 0 12px}.v2 .p223-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:.84rem;color:var(--muted);margin:16px 0}.v2 .p223-action-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:20px}.v2 .p223-count{font-size:.86rem;color:var(--muted)}.v2 .p223-count strong{color:var(--ink);font-size:1.05rem}.v2 .p223-outcome{margin-top:18px;background:#e6e4e0;padding:12px 14px;border-radius:12px;color:#201f1d}.v2 .p223-response-form{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.v2 .p223-hp{position:absolute!important;left:-99999px!important;opacity:0!important;width:1px!important;height:1px!important}.v2 .p223-loading,.v2 .p223-empty{padding:30px;border:1px dashed #c9c8c0;border-radius:18px;text-align:center;color:var(--muted);background:rgba(255,255,255,.55)}.v2 .p223-request-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,6vw,80px);align-items:start}.v2 .p223-request-copy h2{font-size:clamp(2.5rem,5vw,4.4rem);line-height:.95}.v2 .p223-request-copy p{font-size:1.05rem;line-height:1.7}.v2 .p223-privacy{padding:14px 16px;border-left:4px solid #67826a;background:#f1f0ee;border-radius:0 12px 12px 0;font-size:.9rem}.v2 .p223-request-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px}.v2 .p223-final{display:flex;align-items:center;justify-content:space-between;gap:30px}.v2 .p223-final h2{font-size:clamp(2.2rem,4vw,3.8rem);line-height:.98}.v2 .p223-home{padding-top:20px}.v2 .p223-home-card{display:grid;grid-template-columns:1.45fr .7fr;gap:30px;background:linear-gradient(135deg,#ece9df,#f8f7f2);border:1px solid #ddd9cc;border-radius:28px;padding:clamp(26px,5vw,52px);align-items:center}.v2 .p223-home-copy h2{font-size:clamp(2.3rem,5vw,4.4rem);line-height:.92;margin:14px 0}.v2 .p223-home-copy p{font-size:1.08rem;line-height:1.65;max-width:720px}.v2 .p223-home-glance>div{background:#171b17;color:#fff;border-radius:20px;padding:24px;display:grid;gap:8px}.v2 .p223-home-glance small{text-transform:uppercase;letter-spacing:.12em;color:#bfc8bf}.v2 .p223-home-glance strong{font-size:1.35rem;line-height:1.15}.v2 .p223-home-glance span{color:#d0d7d0}.v2 .p223-settings{margin-bottom:16px}.v2 .p223-admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.v2 .p223-admin-stats>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;gap:3px}.v2 .p223-admin-stats strong{font-size:2rem}.v2 .p223-admin-stats span{font-size:.8rem;color:var(--muted)}.v2 .p223-admin-posts,.v2 .p223-submission-list{display:grid;gap:14px}.v2 .p223-admin-post{margin:0}.v2 .p223-admin-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.7rem;font-weight:800;text-transform:capitalize;background:#ecebe5}.v2 .p223-admin-status.published{background:#e5e3e0;color:#201f1d}.v2 .p223-admin-status.closed,.v2 .p223-admin-status.handled_private{background:#e4e4e1;color:#5e615a}.v2 .p223-admin-status.new{background:#f3e2b7;color:#745612}.v2 .p223-submission{border:1px solid var(--line);border-radius:16px;padding:16px}.v2 .p223-submission.handled{opacity:.7}.v2 .p223-contact-row{display:flex;gap:8px;flex-wrap:wrap}.v2 .p223-review-box{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.v2 .p223-review-box label{font-weight:700;font-size:.85rem}.v2 .p223-review-box textarea{width:100%;min-height:90px;margin:7px 0 10px}.v2 .p223-admin-responses{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.v2 .p223-admin-responses summary{cursor:pointer;font-weight:800}.v2 .p223-admin-responses article{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid var(--line)}.v2 .p223-admin-responses article span{font-size:.8rem;color:var(--muted)}
@media(max-width:900px){.v2 .p223-hero-grid,.v2 .p223-request-grid,.v2 .p223-home-card{grid-template-columns:1fr}.v2 .p223-hero aside{border-left:0;border-top:1px solid rgba(255,255,255,.22);padding:22px 0 0}.v2 .p223-event-strip,.v2 .p223-board{grid-template-columns:1fr}.v2 .p223-admin-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.v2 .p223-hero{padding:48px 0}.v2 .p223-hero h1{font-size:3.55rem}.v2 .p223-event{grid-template-columns:56px 1fr}.v2 .p223-event .p223-arrow{display:none}.v2 .p223-post,.v2 .p223-request-form{padding:18px}.v2 .p223-final{align-items:flex-start;flex-direction:column}.v2 .p223-admin-stats{grid-template-columns:1fr 1fr}.v2 .p223-home-card{border-radius:20px;padding:22px}}

/* ---- phase225.css ---- */
/* EPCC Phase 2.2.25 — Mobile Admin & Reliability */
.v2 .mh-rating-big{display:grid;text-align:right}.v2 .mh-rating-big strong{font-size:2.6rem;line-height:1}.v2 .mh-rating-big span,.v2 .mh-review-stars{letter-spacing:.08em;color:#7b5a13}.v2 .mh-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.v2 .mh-review-card{border:1px solid var(--line);border-radius:18px;padding:20px;background:#fff}.v2 .mh-review-card p{font-size:1rem;line-height:1.65}.v2 .mh-review-meta{display:grid;gap:2px}.v2 .mh-review-meta span{font-size:.8rem;color:var(--muted)}.v2 .review-form-shell{max-width:720px}.v2 .star-picker{display:grid;gap:8px}.v2 .star-picker label{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:10px 12px;border-radius:12px;cursor:pointer}.v2 .star-picker span{letter-spacing:.08em;color:#7b5a13}.v2 .star-picker small{color:var(--muted)}.v2 .mh-admin-review-list,.v2 .reservation-card-list,.v2 .compact-stay-list{display:grid;gap:12px}.v2 .mh-admin-review{display:flex;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:16px;padding:16px}.v2 .reservation-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff}.v2 .reservation-card-head,.v2 .reservation-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.v2 .reservation-facts{display:grid;grid-template-columns:2fr .7fr .8fr;gap:10px;margin:14px 0}.v2 .reservation-facts>div{display:grid;gap:2px;padding:10px;background:#f7f6f2;border-radius:12px}.v2 .reservation-facts span{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.v2 .compact-stay-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.v2 .compact-stay-list span:first-child{display:grid}.v2 .compact-stay-list small{color:var(--muted)}.v2 .mission-admin-hero{height:210px;width:100%;object-fit:cover;border-radius:14px}.v2 .upload-status{font-size:.82rem;color:var(--muted);margin-top:8px}
@media(max-width:900px){.v2 .mh-review-grid{grid-template-columns:1fr 1fr}.v2 .mission-admin-grid,.v2 .admin-grid,.v2 .editor-grid,.v2 .settings-grid{grid-template-columns:1fr}.v2 .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v2 .media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v2 .admin-content{padding:18px}.v2 .admin-heading{align-items:flex-start;flex-direction:column}.v2 .mission-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;-webkit-overflow-scrolling:touch}.v2 .mission-tabs .tab-btn{flex:0 0 auto}.v2 .admin-calendar{min-width:0}.v2 .admin-cal-day{min-height:72px;padding:5px}.v2 .admin-cal-day .booking,.v2 .admin-cal-day .block{font-size:.62rem}}
@media(max-width:720px){.v2 .admin-shell{display:block;padding-bottom:78px}.v2 .admin-sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;height:auto;z-index:60;padding:7px 8px calc(7px + env(safe-area-inset-bottom));display:block}.v2 .admin-brand,.v2 .admin-footer{display:none}.v2 .admin-nav{display:grid;grid-template-columns:repeat(8,1fr);gap:3px;margin:0;overflow-x:auto}.v2 .admin-nav button{padding:8px 4px;font-size:0;text-align:center;min-width:48px}.v2 .admin-nav button::first-letter{font-size:1.15rem}.v2 .admin-topbar{height:auto;min-height:64px;padding:10px 14px;gap:8px}.v2 .admin-topbar h1{font-size:1rem}.v2 .admin-topbar>div:last-child{gap:5px;flex-wrap:wrap;justify-content:flex-end}.v2 .admin-content{padding:14px}.v2 .panel{padding:14px;border-radius:16px}.v2 .stat-grid{grid-template-columns:1fr 1fr;gap:8px}.v2 .stat-card{padding:14px}.v2 .stat-card .value{font-size:1.55rem}.v2 .media-grid{grid-template-columns:1fr}.v2 .table-wrap{overflow:visible}.v2 .reservation-facts{grid-template-columns:1fr 1fr}.v2 .reservation-facts>div:first-child{grid-column:1/-1}.v2 .reservation-actions{align-items:stretch}.v2 .reservation-actions>select{width:100%}.v2 .reservation-actions .media-actions{width:100%}.v2 .mh-admin-review{display:grid}.v2 .mh-review-grid{grid-template-columns:1fr}.v2 .mh-rating-big{text-align:left}.v2 .calendar-public{gap:3px}.v2 .admin-calendar{gap:3px}.v2 .cal-head{font-size:.62rem;padding:4px}.v2 .admin-cal-day{min-height:58px;font-size:.72rem}.v2 .mission-hero{grid-template-columns:1fr}.v2 .mission-hero-copy{padding:34px 20px}.v2 .mission-hero-copy h1{font-size:3.1rem}.v2 .mission-hero-image{max-height:360px}.v2 .section{padding:58px 0}}
@media(max-width:420px){.v2 .stat-grid{grid-template-columns:1fr}.v2 .reservation-facts{grid-template-columns:1fr}.v2 .reservation-facts>div:first-child{grid-column:auto}.v2 .admin-nav{grid-template-columns:repeat(8,52px)}.v2 .admin-content{padding:10px}.v2 .panel{padding:12px}}

/* ---- phase226.css ---- */
/* EPCC Phase 2.2.26 — Mission House contribution presentation */
.v2 .mh-price-card{margin-top:22px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.04)}
.v2 .mh-price-card p{margin:9px 0}.v2 .mh-home-price{display:flex;flex-direction:column;gap:4px;margin:18px 0}.v2 .mh-home-price span{color:var(--muted)}
.v2 .mh-hardship-note{margin:12px 0 16px;padding:14px 16px;border-radius:14px;background:#f3f0e8;line-height:1.5}
@media(max-width:640px){.v2 .mh-price-card{padding:18px}}

/* ---- phase227r.css ---- */
.v2 .p2227-conversation-bar{display:flex;justify-content:flex-start;margin-top:10px;padding-top:10px;border-top:1px solid var(--line,#e7e3dc)}
.v2 .p2227-thread-toggle{border:0;background:transparent;padding:4px 0;font:inherit;font-weight:700;color:var(--green,#201f1d);cursor:pointer}
.v2 .p2227-thread{margin-top:10px;padding:12px;border-radius:14px;background:rgba(32,31,29,.045)}.v2 .p2227-comment-list{display:grid;gap:9px}.v2 .p2227-comment{background:#fff;border:1px solid var(--line,#e7e3dc);border-radius:12px;padding:10px 12px}.v2 .p2227-comment p{margin:5px 0 0;white-space:pre-wrap}.v2 .p2227-comment-meta{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.v2 .p2227-comment-meta span{font-size:.78rem;color:var(--muted,#6b706c)}.v2 .p2227-thread-empty{font-size:.9rem;color:var(--muted,#6b706c);padding:4px}.v2 .p2227-comment-form{margin-top:12px}.v2 .p2227-comment-form textarea{min-height:82px}.v2 .p2227-comment-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}@media(max-width:640px){.v2 .p2227-thread{padding:10px}}

/* ---- phase228.css ---- */
/* EPCC Phase 2.2.28 — Mission House booking reliability + mobile admin */
.v2 .admin-main,.v2 .admin-content,.v2 .mission-admin-grid,.v2 .mission-reservations-panel,.v2 .mission-manual-panel,.v2 .reservation-card,.v2 .reservation-card-head,.v2 .reservation-guest{min-width:0}
.v2 .reservation-contact{overflow-wrap:anywhere;word-break:break-word}
.v2 .reservation-source{display:inline-flex;align-items:center;margin-top:6px;padding:4px 8px;border-radius:999px;background:#f0eee8;color:#555;font-size:.72rem;font-weight:750;line-height:1}
.v2 .mission-reservations-panel,.v2 .mission-manual-panel{overflow:hidden}
.v2 .mission-reservations-panel .reservation-card-list{width:100%}
@media(max-width:900px){
  .v2 .mission-admin-grid{grid-template-columns:minmax(0,1fr)!important;width:100%}
  .v2 .mission-admin-grid>.panel{width:100%;max-width:100%;box-sizing:border-box}
}
@media(max-width:720px){
  .v2{overflow-x:hidden}
  .v2 .admin-main,.v2 .admin-content{width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}
  .v2 .admin-content{padding-left:10px;padding-right:10px}
  .v2 .mission-tabs{margin-left:-2px;margin-right:-2px;max-width:100%;scrollbar-width:thin}
  .v2 .mission-tabs .tab-btn{white-space:nowrap}
  .v2 .reservation-card{padding:12px;max-width:100%;overflow:hidden}
  .v2 .reservation-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
  .v2 .reservation-facts{grid-template-columns:1fr!important}
  .v2 .reservation-facts>div:first-child{grid-column:auto!important}
  .v2 .reservation-facts strong{overflow-wrap:anywhere}
  .v2 .reservation-actions{display:grid!important;grid-template-columns:1fr;width:100%}
  .v2 .reservation-actions .media-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:6px}
  .v2 .reservation-actions>select{width:100%;max-width:100%;box-sizing:border-box}
  .v2 .mission-manual-panel input,.v2 .mission-manual-panel select,.v2 .mission-manual-panel textarea{max-width:100%;min-width:0;box-sizing:border-box}
  .v2 .admin-calendar{width:100%;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden}
  .v2 .admin-cal-day{min-width:0;overflow:hidden}
  .v2 .admin-cal-day .booking,.v2 .admin-cal-day .block{max-width:100%;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:420px){
  .v2 .reservation-card-head{grid-template-columns:1fr}
  .v2 .reservation-actions .media-actions{grid-template-columns:1fr}
}

/* ---- phase229.css ---- */
/* EPCC Phase 2.2.29 — My EPCC social feed */
.v2 .p229-feed-shell{max-width:850px;margin:0 auto}.v2 .p229-feed-head{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.v2 .p229-feed-head h3{margin:.15rem 0 .3rem;font-size:clamp(1.45rem,4vw,2rem)}.v2 .p229-feed-tools{display:flex;gap:8px;flex-wrap:wrap}.v2 .p229-filter-row{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}.v2 .p229-filter-row::-webkit-scrollbar{display:none}.v2 .p229-filter{white-space:nowrap;border:1px solid var(--line,#e5e1d8);background:#fff;border-radius:999px;padding:8px 13px;font:inherit;font-size:.88rem;cursor:pointer}.v2 .p229-filter.active{background:#201f1d;color:#fff;border-color:#201f1d}.v2 .p229-feed{display:grid;gap:14px}.v2 .p229-post{background:#fff;border:1px solid var(--line,#e7e3dc);border-radius:18px;overflow:hidden;box-shadow:0 4px 18px rgba(25,24,23,.045)}.v2 .p229-post.unread{border-color:#b8c6bc;box-shadow:0 0 0 2px rgba(32,31,29,.06),0 5px 20px rgba(25,24,23,.06)}.v2 .p229-post.urgent{border-color:#d8a0a0}.v2 .p229-post-inner{padding:17px}.v2 .p229-post-top{display:flex;gap:11px;align-items:flex-start}.v2 .p229-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#f1f0ee;font-size:1.12rem;flex:0 0 42px}.v2 .p229-avatar.prayer{background:#f2edf4}.v2 .p229-post-meta{min-width:0;flex:1}.v2 .p229-author-line{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.v2 .p229-author-line strong{font-size:.98rem}.v2 .p229-type-pill,.v2 .p229-unread-pill,.v2 .p229-pinned-pill{font-size:.7rem;line-height:1;border-radius:999px;padding:5px 7px;background:#f2f3f0;color:#485149;text-transform:uppercase;letter-spacing:.04em}.v2 .p229-unread-pill{background:#efeeeb;color:#201f1d}.v2 .p229-pinned-pill{background:#fff3d8;color:#7a5d12}.v2 .p229-post-time{font-size:.78rem;color:var(--muted,#707770);margin-top:3px}.v2 .p229-post-title{font-size:1.14rem;margin:13px 0 5px}.v2 .p229-post-body{font-size:.96rem;line-height:1.55;white-space:pre-wrap;margin:0;color:#2e3530}.v2 .p229-post-link{display:inline-flex;margin-top:12px;font-weight:700;font-size:.9rem}.v2 .p229-summary{display:flex;justify-content:space-between;gap:10px;align-items:center;color:var(--muted,#707770);font-size:.8rem;padding:0 17px 10px}.v2 .p229-summary span:last-child{text-align:right}.v2 .p229-action-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line,#e7e3dc);border-bottom:1px solid var(--line,#e7e3dc);padding:4px 8px}.v2 .p229-action-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.v2 .p229-action{border:0;background:transparent;border-radius:9px;padding:9px 5px;font:inherit;font-weight:650;font-size:.86rem;color:#4b554e;cursor:pointer;min-width:0}.v2 .p229-action:hover,.v2 .p229-action.active{background:#f4f3f1;color:#201f1d}.v2 .p229-action.active{font-weight:800}.v2 .p229-engagement{padding:11px 17px 14px}.v2 .p229-reactions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.v2 .p229-reaction{border:1px solid var(--line,#e2ded5);background:#fff;border-radius:999px;padding:7px 10px;font:inherit;cursor:pointer;font-size:.86rem}.v2 .p229-reaction.active{border-color:#6f8978;background:#f2f1ef}.v2 .p229-rsvp-box{display:none;background:#f8f7f6;border:1px solid var(--line,#e6e3dc);border-radius:13px;padding:10px;margin-bottom:10px}.v2 .p229-rsvp-box.open{display:block}.v2 .p229-rsvp-label{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#677068;margin-bottom:7px}.v2 .p229-rsvp-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.v2 .p229-rsvp{border:1px solid #d8ddd8;background:#fff;border-radius:10px;padding:9px 5px;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.v2 .p229-rsvp.active{background:#201f1d;color:#fff;border-color:#201f1d}.v2 .p229-comments{display:none}.v2 .p229-comments.open{display:block}.v2 .p229-comment{display:flex;gap:8px;margin-top:9px}.v2 .p229-comment-bubble{background:#f5f4f2;border-radius:12px;padding:9px 11px;min-width:0;flex:1}.v2 .p229-comment-bubble strong{font-size:.84rem}.v2 .p229-comment-bubble p{margin:3px 0 0;white-space:pre-wrap;line-height:1.42;font-size:.88rem}.v2 .p229-comment-time{font-size:.7rem;color:#7b817d;margin-left:6px;font-weight:400}.v2 .p229-comment-more{border:0;background:transparent;padding:8px 0 2px;font:inherit;font-size:.8rem;font-weight:700;color:#52645a;cursor:pointer}.v2 .p229-comment-form{display:flex;gap:8px;margin-top:10px;align-items:flex-end}.v2 .p229-comment-form textarea{min-height:42px;max-height:130px;resize:vertical;flex:1;border-radius:12px;margin:0}.v2 .p229-prayer-answer{margin-top:8px}.v2 .p229-prayer-note{font-size:.8rem;color:#687069;margin-top:8px}.v2 .p229-empty{text-align:center;padding:32px 18px;color:var(--muted,#6d746f)}.v2 .p229-feed-settings{margin-top:18px}.v2 .p229-feed-settings details{border-top:1px solid var(--line,#e5e1d8);padding-top:12px}.v2 .p229-feed-settings summary{cursor:pointer;font-weight:750}.v2 .p229-feed-settings .member-grid{margin-top:13px}
@media(max-width:640px){.v2 .p229-feed-shell{max-width:none}.v2 .p229-feed-head{display:block}.v2 .p229-feed-tools{margin-top:10px}.v2 .p229-post{border-radius:14px}.v2 .p229-post-inner{padding:14px}.v2 .p229-summary{padding-left:14px;padding-right:14px}.v2 .p229-engagement{padding:10px 14px 13px}.v2 .p229-action-row{padding-left:4px;padding-right:4px}.v2 .p229-action{font-size:.8rem;padding:9px 2px}.v2 .p229-rsvp-options{grid-template-columns:1fr}.v2 .p229-comment-form{align-items:stretch;flex-direction:column}.v2 .p229-avatar{width:38px;height:38px;flex-basis:38px}.v2 .p229-post-title{font-size:1.06rem}.v2 .p229-feed-settings{margin-top:12px}}

/* ---- phase230.css ---- */
/* EPCC Phase 2.2.30 — modern My EPCC visual system + mobile-first feed */
.v2 .member-app{background:radial-gradient(circle at 8% 0%,#f2f1f0 0,transparent 26rem),linear-gradient(180deg,#f7f7f6 0,#f2f1f0 100%);padding-top:34px}.v2 .member-wrap{max-width:1160px}.v2 .member-app-head{align-items:center}.v2 .member-app-head h1{font-size:clamp(2.1rem,5vw,3.9rem)}.v2 .member-identity{box-shadow:0 8px 30px rgba(32,31,29,.07);border-color:rgba(32,31,29,.1)}
.v2 .member-nav{position:sticky;top:10px;z-index:25;background:rgba(238,237,234,.82);border-color:rgba(32,31,29,.08);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 8px 30px rgba(32,31,29,.07)}.v2 .member-nav a{transition:.18s ease}.v2 .member-nav a.active{box-shadow:0 6px 20px rgba(32,31,29,.1);color:#201f1d}.v2 .member-panel{border-color:rgba(32,31,29,.09);box-shadow:0 12px 34px rgba(32,31,29,.06);border-radius:24px}
.v2 .p230-feed-shell{max-width:760px}.v2 .p230-feed-panel{padding:0;background:transparent;border:0;box-shadow:none}.v2 .p229-feed-head{padding:6px 2px 8px}.v2 .p229-feed-head h3{font-size:clamp(1.8rem,5vw,2.45rem)}.v2 .p230-filter-row{position:sticky;top:78px;z-index:18;background:rgba(247,247,246,.9);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);padding:8px 2px 12px;margin:0 -2px}.v2 .p229-filter{border-color:rgba(32,31,29,.12);box-shadow:0 4px 14px rgba(32,31,29,.035);font-weight:750;padding:9px 16px}.v2 .p229-filter.active{background:#201f1d;box-shadow:0 7px 18px rgba(32,31,29,.2)}
.v2 .p229-feed{gap:16px}.v2 .p230-post{border:1px solid rgba(32,31,29,.085);border-radius:22px;box-shadow:0 11px 32px rgba(32,31,29,.07);transition:box-shadow .2s ease,transform .2s ease}.v2 .p230-post:hover{box-shadow:0 15px 38px rgba(32,31,29,.09)}.v2 .p230-post.unread{border-color:rgba(32,31,29,.25);box-shadow:0 0 0 1px rgba(90,84,73,.07),0 13px 34px rgba(32,31,29,.08)}.v2 .p230-post.urgent{border-color:rgba(163,67,52,.28)}.v2 .p229-post-inner{padding:20px 20px 16px}.v2 .p229-post-top{align-items:center}.v2 .p229-avatar{width:45px;height:45px;flex-basis:45px;box-shadow:inset 0 0 0 1px rgba(32,31,29,.08)}.v2 .p230-brand-avatar{background:#201f1d;padding:8px}.v2 .p230-brand-avatar img{width:100%;height:100%;object-fit:contain;filter:invert(1);opacity:.94}.v2 .p229-author-line strong{font-size:1rem}.v2 .p229-post-time{font-size:.77rem;color:#778078}.v2 .p229-post-title{font-size:1.22rem;margin:15px 0 7px}.v2 .p229-post-body{font-size:.98rem;line-height:1.62;color:#2d3730}.v2 .p230-prayer-body{font-size:1.02rem}.v2 .p229-post-link{border-radius:10px;background:#f2f1ef;padding:9px 12px;text-decoration:none;color:#201f1d}.v2 .p229-post-link span{margin-left:4px}.v2 .p229-summary{padding:11px 20px;color:#68736b;border-top:1px solid rgba(32,31,29,.06)}
.v2 .p229-action-row{border-top:1px solid rgba(32,31,29,.065);border-bottom:0;padding:6px 10px;gap:4px}.v2 .p229-action{min-height:43px;border-radius:12px;font-size:.88rem;color:#526058;transition:.15s ease}.v2 .p229-action span{font-size:1rem}.v2 .p229-action:hover,.v2 .p229-action.active{background:#f2f1ef;color:#201f1d}.v2 .p229-action:active{transform:scale(.98)}.v2 .p229-engagement{padding:8px 20px 18px}.v2 .p230-reaction-tray{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:9px;background:#f6f6f5;border-radius:16px}.v2 .p230-reaction-tray[hidden]{display:none}.v2 .p229-reaction{display:grid;place-items:center;gap:3px;border:0;background:transparent;border-radius:12px;padding:9px 5px;font-weight:750}.v2 .p229-reaction span{font-size:1.45rem;line-height:1}.v2 .p229-reaction b{font-size:.75rem}.v2 .p229-reaction.active{background:#fff;box-shadow:0 4px 13px rgba(32,31,29,.09);color:#201f1d}.v2 .p229-rsvp-box{background:#f7f7f6;border-color:rgba(32,31,29,.08);border-radius:16px;padding:12px}.v2 .p229-rsvp{min-height:42px;border-color:rgba(32,31,29,.12);border-radius:11px}.v2 .p229-rsvp.active{background:#201f1d;border-color:#201f1d}.v2 .p229-comments.open{padding-top:4px}.v2 .p229-comment{align-items:flex-start}.v2 .p230-comment-avatar{width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:grid;place-items:center;background:#edece9;color:#201f1d;font-size:.78rem;font-weight:850}.v2 .p229-comment-bubble{background:#f6f5f3;border-radius:4px 14px 14px 14px;padding:10px 12px}.v2 .p229-comment-form{background:#f8f7f6;border-radius:15px;padding:8px;margin-top:12px;align-items:center}.v2 .p229-comment-form textarea{border:0;background:transparent;box-shadow:none;padding:9px 10px;min-height:42px}.v2 .p229-comment-form textarea:focus{outline:none}.v2 .p230-inline-loading{display:flex;align-items:center;gap:8px;color:#69756d;font-size:.82rem;padding:8px 0}.v2 .p230-inline-loading span,.v2 .p230-sync-dot{width:8px;height:8px;border-radius:50%;background:#726b5d;display:inline-block;animation:p230pulse 1.1s infinite alternate}.v2 .p230-mark-read{border:0;background:transparent;color:#625c50;font-weight:750;font-size:.8rem;padding:8px 0 0;cursor:pointer}.v2 .p230-settings{background:rgba(255,255,255,.65);margin-top:16px}.v2 .p230-settings details{border:0;padding:0}.v2 .p230-settings summary{padding:2px 0;font-weight:800}@keyframes p230pulse{to{opacity:.25;transform:scale(.72)}}
.v2 .member-hero-card,.v2 .p216-home-hero,.v2 .p24-greeting{border-radius:28px}.v2 .quick-grid a{border-color:rgba(32,31,29,.09);box-shadow:0 8px 24px rgba(32,31,29,.05);transition:.16s ease}.v2 .quick-grid a:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(32,31,29,.08)}.v2 .prayer-card,.v2 .directory-card,.v2 .sermon-member-card{border-color:rgba(32,31,29,.09);box-shadow:0 7px 24px rgba(32,31,29,.045)}
@media(max-width:700px){
  .v2 .member-app{padding:18px 0 calc(98px + env(safe-area-inset-bottom));overflow-x:hidden}.v2 .member-wrap{width:min(100% - 18px,1160px)}.v2 .member-app-head{margin-bottom:12px}.v2 .member-app-head h1{font-size:2.35rem}.v2 .member-global-signout{min-height:42px;padding:8px 12px}.v2 .member-nav{top:6px;margin-left:-2px;margin-right:-2px;border-radius:15px;padding:5px}.v2 .member-nav a{min-height:42px;padding:8px 11px}.v2 .member-panel{border-radius:20px;padding:17px}.v2 .p230-feed-panel{padding:0}.v2 .p229-feed-head{padding:6px 3px 4px}.v2 .p230-filter-row{top:61px;margin-left:-9px;margin-right:-9px;padding-left:9px;padding-right:9px}.v2 .p229-feed{gap:12px;margin-left:-3px;margin-right:-3px}.v2 .p230-post{border-radius:18px}.v2 .p229-post-inner{padding:16px 15px 13px}.v2 .p229-avatar{width:40px;height:40px;flex-basis:40px}.v2 .p229-author-line{gap:5px}.v2 .p229-author-line strong{font-size:.93rem}.v2 .p229-post-title{font-size:1.08rem;margin-top:13px}.v2 .p229-post-body{font-size:.94rem;line-height:1.56}.v2 .p229-summary{padding:9px 15px;font-size:.76rem}.v2 .p229-summary span{max-width:54%}.v2 .p229-action-row{padding:5px 6px;gap:2px}.v2 .p229-action{min-height:46px;font-size:.8rem;padding:7px 3px}.v2 .p229-engagement{padding:7px 14px 15px}.v2 .p230-reaction-tray{grid-template-columns:repeat(4,1fr);gap:4px;padding:7px}.v2 .p229-reaction{font-size:.72rem;padding:8px 2px}.v2 .p229-reaction span{font-size:1.35rem}.v2 .p229-rsvp-options{grid-template-columns:1fr 1fr 1fr;gap:5px}.v2 .p229-rsvp{font-size:.72rem;padding:7px 3px}.v2 .p229-comment-form{display:grid;grid-template-columns:1fr auto;padding:6px}.v2 .p229-comment-bubble{font-size:.9rem}.v2 .p230-settings{margin-top:10px}.v2 .member-grid.two{gap:12px}.v2 .quick-grid{gap:9px}.v2 .quick-grid a{padding:15px;border-radius:15px}
}
@media(max-width:390px){.v2 .p229-action{font-size:.75rem}.v2 .p229-rsvp-options{grid-template-columns:1fr}.v2 .p229-summary{display:grid;grid-template-columns:1fr}.v2 .p229-summary span{max-width:none;text-align:left!important}.v2 .p230-reaction-tray{grid-template-columns:repeat(2,1fr)}}

/* ---- phase231.css ---- */
/* EPCC Phase 2.2.31 — System Visual Refresh
   Frontend-only design system. Loaded last so it modernizes the existing app
   without changing Firebase, Firestore, or Cloud Functions behavior. */

.v2{
  --ink2:#263029;
  --paper:#f6f6f5;
  --sand:#e7e2d9;
  --sage:#ecebe8;
  --accent:#201f1d;
  --brand:#201f1d;
  --brand-deep:var(--spruce);
  --brand-soft:#eeedeb;
  --brand-soft-2:#f5f4f3;
  --shadow-sm:0 8px 24px rgba(30,29,27,.07);
}

.v2{background:var(--paper)}
.v2{
  background:
    radial-gradient(circle at 15% -10%,rgba(32,31,29,.045),transparent 24rem),
    var(--paper);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* --- Shared type, spacing, buttons and surfaces --- */
.v2 .card,.v2 .panel,.v2 .member-panel,.v2 .stat-card,.v2 .layout-item,.v2 .media-item,.v2 .booking-box,.v2 .prayer-card,.v2 .directory-card,.v2 .sermon-member-card{
  border-color:var(--line);
  box-shadow:none;
}
.v2 .card,.v2 .panel,.v2 .member-panel,.v2 .stat-card{background:rgba(255,255,255,.96)}
.v2 .btn-soft{background:var(--brand-soft);color:var(--brand-deep)}
.v2 .directory-search{
  min-height:46px;
  border:1px solid #dce2dd;
  background:#fff;
  border-radius:12px;
  padding:11px 13px;
  box-shadow:0 1px 0 rgba(27,26,24,.02);
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.v2 .directory-search:hover{border-color:#c8d3ca}
.v2 .directory-search:focus{
  border-color:#73917c;
  box-shadow:0 0 0 4px rgba(32,31,29,.09);
}

/* --- Public website --- */
.v2 .header-inner{height:76px}
.v2 .brand{display:flex;align-items:center;min-width:0}
.v2 .brand img{width:188px;max-height:53px;object-fit:contain;object-position:left center}
.v2 .main-nav{gap:6px;font-size:.88rem}
.v2 .main-nav a{opacity:1;color:#5e6962;padding:9px 10px;border-radius:10px;transition:.15s ease}
.v2 .main-nav a:hover{background:#f3f2f1;color:var(--brand-deep)}
.v2 .main-nav a.active{background:var(--brand-soft);color:var(--brand-deep)}
.v2 .nav-actions{gap:8px}
.v2 .mobile-menu-btn{color:var(--brand-deep)}
.v2 .hero-visual{border-radius:30px;background:linear-gradient(145deg,var(--spruce-900),#201f1d);box-shadow:0 26px 70px rgba(32,31,29,.2)}
.v2 .hero-card{border:1px solid rgba(255,255,255,.6);border-radius:18px;box-shadow:0 10px 38px rgba(22,21,20,.12)}
.v2 .section{padding:76px 0}
.v2 .section.white{background:#fff}
.v2 .section.dark{background:#1d1c1b}
.v2 .card{border-radius:18px;padding:22px}
.v2 .card:hover{border-color:#d2dad3}
.v2 .welcome-panel{background:linear-gradient(145deg,#f1f0ee,#f7f6f2);border:1px solid #e0e5df;border-radius:24px}
.v2 .feature-sermon{background:linear-gradient(145deg,#f1f0ee,var(--stone));border:1px solid #e0e4de;border-radius:24px}
.v2 .mission-feature{border-radius:26px;border-color:#dfe5df;box-shadow:var(--shadow-sm)}
.v2 .mission-copy{background:#fff}
.v2 .prayer-cta{background:linear-gradient(135deg,#ecebe8,#f8f6f1);border:1px solid #e3e1dc;border-radius:24px}
.v2 .page-hero{padding:72px 0 54px;background:linear-gradient(180deg,#f2f1ef,#f7f7f3);border-bottom:1px solid #e4e8e3}
.v2 .page-hero h1{color:#1d1c1b}
.v2 .side-card{box-shadow:var(--shadow-sm)}
.v2 .media-card{border-color:#e1e5e0;border-radius:18px}
.v2 .media-thumb{background:linear-gradient(135deg,var(--spruce),#201f1d)}

/* --- Mission House public experience --- */
.v2 .mission-hero{background:#fff}
.v2 .mission-hero-copy{background:linear-gradient(160deg,#fff,#f6f6f5)}
.v2 .mission-hero-copy h1{color:#1d1c1b}
.v2 .booking-box{border-radius:18px;background:#fbfbfb;border-color:#dce3dd;box-shadow:var(--shadow-sm)}
.v2 .cal-day,.v2 .admin-cal-day{border-color:#e0e5e1;border-radius:10px}

/* --- My EPCC: a single coherent app shell --- */
.v2 .member-app{
  background:
    radial-gradient(circle at 86% 0,rgba(32,31,29,.07),transparent 28rem),
    #f6f5f3;
  padding:34px 0 90px;
  min-height:76vh;
}
.v2 .member-wrap{
  max-width:1240px;
  display:grid;
  grid-template-columns:218px minmax(0,1fr);
  grid-template-areas:
    "head head"
    "nav content";
  gap:18px 22px;
  align-items:start;
}
.v2 .member-app-head{
  grid-area:head;
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  margin:0;
  padding:18px 20px;
  background:linear-gradient(135deg,#fff,#f4f3f2);
  border:1px solid #dfe5df;
  border-radius:20px;
  box-shadow:0 8px 30px rgba(32,31,29,.055);
}
.v2 .member-app-head::after{
  content:"";
  position:absolute;
  width:210px;height:210px;right:180px;top:-120px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(32,31,29,.075),transparent 67%);
  pointer-events:none;
}
.v2 .p231-brandmark{
  width:48px;height:48px;border-radius:14px;
  display:grid;place-items:center;
  background:#fff;
  border:1px solid #dce3dd;
  box-shadow:0 5px 16px rgba(30,29,27,.07);
  overflow:hidden;
  flex:0 0 auto;
}
.v2 .p231-brandmark img{width:100%;height:100%;object-fit:cover}
.v2 .member-app-head>div:nth-child(2){min-width:0}
.v2 .member-app-head h1{font-size:clamp(1.8rem,3.5vw,2.75rem);line-height:1;margin:4px 0;color:#1f1e1c}
.v2 .member-app-actions{position:relative;z-index:2}
.v2 .member-identity{background:#fff;border-color:#dce2dd;box-shadow:0 3px 12px rgba(30,29,27,.04)}
.v2 .member-avatar,.v2 .directory-avatar{background:var(--brand-deep)}
.v2 .member-global-signout{background:#fff;border-color:#dce2dd;color:#5b665f}

.v2 .p24-desktop-nav{
  grid-area:nav;
  display:flex!important;
  flex-direction:column;
  gap:4px;
  position:sticky;
  top:96px;
  margin:0;
  padding:9px;
  background:rgba(255,255,255,.94);
  border:1px solid #dfe5df;
  border-radius:18px;
  box-shadow:0 7px 25px rgba(30,29,27,.045);
}
.v2 .member-nav a{
  position:relative;
  width:100%;
  min-height:45px;
  padding:10px 11px;
  border-radius:12px;
  color:#59665e;
  font-size:.86rem;
  font-weight:730;
}
.v2 .member-nav a:hover{background:#f5f4f2;color:var(--brand-deep)}
.v2 .member-nav a.active{background:var(--brand-soft);color:var(--brand-deep);box-shadow:none}
.v2 .member-nav a.active::before{content:"";width:3px;height:22px;border-radius:99px;background:var(--brand);position:absolute;left:0;top:50%;transform:translateY(-50%)}
.v2 .member-nav .nav-icon{width:25px;height:25px;border-radius:8px;background:#f4f3f1;display:grid;place-items:center;color:#647168}
.v2 .member-nav a.active .nav-icon{background:#fff;color:var(--brand-deep)}
.v2 .member-nav-badge{background:#b64d43!important;color:#fff!important}
.v2 .member-content{grid-area:content;min-width:0}

.v2 .member-panel{
  border-radius:18px;
  padding:22px;
  border-color:#dfe5df;
  box-shadow:0 6px 24px rgba(30,29,27,.045);
}
.v2 .member-grid{gap:14px}
.v2 .member-grid.two{gap:14px}
.v2 .panel-head{margin-bottom:14px}
.v2 .member-panel .panel-head h3{font-size:1.05rem}
.v2 .member-hero-card{
  padding:30px;
  border-radius:20px;
  background:linear-gradient(135deg,var(--spruce),#201f1d);
  box-shadow:0 18px 44px rgba(32,31,29,.18);
}
.v2 .member-hero-card img{filter:none;border-radius:20px}
.v2 .p24-greeting{border-radius:18px;border-color:#dfe5df;padding:22px;box-shadow:0 6px 22px rgba(30,29,27,.04)}
.v2 .p24-greeting img{border-radius:18px}
.v2 .p24-action-card,.v2 .quick-grid a,.v2 .p24-more-grid>a{
  border-color:#dfe5df;
  border-radius:15px;
  background:#fff;
  transition:.16s ease;
}
.v2 .p24-action-card:hover,.v2 .quick-grid a:hover,.v2 .p24-more-grid>a:hover{transform:translateY(-1px);border-color:#d6d3cc;box-shadow:var(--shadow-sm)}
.v2 .p24-action-card>span,.v2 .p24-more-grid>a>span{background:var(--brand-soft);color:var(--brand-deep)}
.v2 .member-callout{background:#f2f1ef;border-color:#e0deda;border-radius:14px}
.v2 .p24-urgent{background:#201f1d;border-left-color:#bd6a53;border-radius:15px}
.v2 .directory-card{background:#fff;border-radius:15px;transition:.15s ease}
.v2 .directory-card:hover{border-color:#d6d3cd;box-shadow:var(--shadow-sm)}
.v2 .directory-actions a{background:#f2f1ef;color:#201f1d;border-radius:9px}
.v2 .prayer-card{border-radius:16px}
.v2 .prayer-card.answered{background:#f5f4f3}
.v2 .pray-btn{background:#f2f1ef;color:#46574c}
.v2 .pray-btn.active{background:#e8e6e3;color:#201f1d}
.v2 .sermon-member-card{background:#fff;border-radius:16px}
.v2 .sermon-member-card.featured{background:linear-gradient(135deg,var(--spruce),#201f1d)}
.v2 .notification-status{background:#f5f4f2;border:1px solid #e2e7e2}
.v2 .preference-row{border-color:#e8ebe7}
.v2 .auth-switch{background:#eef1ee}
.v2 .auth-switch button.active{box-shadow:0 2px 8px rgba(30,29,27,.07)}
.v2 .myepcc-login{background:linear-gradient(150deg,#f2f1ef,#faf9f5)}
.v2 .login-card{border-radius:22px;border:1px solid #dce3dd;box-shadow:0 25px 70px rgba(32,31,29,.12)}
.v2 .login-card img{border-radius:22px}

/* --- Church Feed: retain behavior, bring it into the global visual system --- */
.v2 .p230-feed-shell{gap:14px}
.v2 .p230-feed-panel{background:transparent;border:0;box-shadow:none;padding:0}
.v2 .p229-feed-head{
  background:#fff;
  border:1px solid #dfe5df;
  border-radius:18px;
  padding:20px;
  box-shadow:0 6px 22px rgba(30,29,27,.04);
  margin-bottom:12px;
}
.v2 .p229-feed-head h3{font-size:1.45rem;color:#201f1d}
.v2 .p230-filter-row{background:#f2f1ef;border:1px solid #dde4de;border-radius:14px;padding:4px;gap:4px;position:sticky;top:86px;z-index:8;backdrop-filter:blur(12px)}
.v2 .p229-filter{border-radius:10px;color:#667168}
.v2 .p229-filter.active{background:#fff;color:#201f1d;box-shadow:0 2px 7px rgba(30,29,27,.07)}
.v2 .p229-post{
  border-color:#dfe5df;
  border-radius:18px;
  box-shadow:0 7px 26px rgba(30,29,27,.052);
  overflow:hidden;
}
.v2 .p229-post:hover{border-color:#cfd9d1}
.v2 .p229-avatar{background:var(--brand-soft);color:var(--brand-deep)}
.v2 .p229-action-row{border-top-color:#e7ebe7}
.v2 .p229-action{border-radius:10px;background:#f5f7f5;color:#45534a}
.v2 .p229-action:hover{background:#f1f0ee}
.v2 .p229-action.active{background:#e9e7e4;color:#201f1d}
.v2 .p229-reaction-box{border-color:#e4e2de;box-shadow:0 12px 32px rgba(27,26,24,.13)}
.v2 .p229-comment{background:#f5f4f2;border-color:#e2e7e2}
.v2 .p229-comment-form textarea{background:#fff}
.v2 .p229-prayer-note{background:#f2f1f0;color:#201f1d}
.v2 .p230-settings{box-shadow:none}

/* --- Admin: modern operations workspace using the EPCC brand --- */
.v2 .admin-shell{grid-template-columns:264px minmax(0,1fr);background:#f6f5f3}
.v2 .admin-sidebar{
  background:#fbfbfb;
  color:#201f1d;
  padding:18px 14px;
  border-right:1px solid #dfe5df;
  box-shadow:6px 0 30px rgba(30,29,27,.035);
}
.v2 .admin-brand{padding:8px 8px 20px;border-bottom:1px solid #e4e8e4}
.v2 .admin-brand img{width:176px;max-height:60px;object-fit:contain;object-position:left center;filter:none;mix-blend-mode:normal}
.v2 .admin-nav{gap:3px;margin-top:14px}
.v2 .admin-nav button{
  min-height:43px;
  color:#5a675f;
  padding:10px 11px;
  border-radius:11px;
  font-size:.87rem;
  font-weight:730;
  transition:.15s ease;
}
.v2 .admin-nav button:hover{background:#f3f2f1;color:#201f1d}
.v2 .admin-nav button.active{background:#eceae7;color:#201f1d;box-shadow:inset 3px 0 0 var(--brand)}
.v2 .admin-footer{border-top:1px solid #e4e8e4;color:#66736b}
.v2 .admin-topbar{
  min-height:74px;
  height:auto;
  background:rgba(251,251,251,.92);
  border-bottom:1px solid #dfe5df;
  backdrop-filter:blur(18px) saturate(140%);
  padding:12px 24px;
}
.v2 .admin-topbar>div:first-child{position:relative;padding-left:42px}
.v2 .admin-topbar>div:first-child::before{
  content:"";
  position:absolute;
  left:0;top:50%;transform:translateY(-50%);
  width:32px;height:32px;border-radius:9px;
  background:#fff url('assets/epcc-monogram.png') center/cover no-repeat;
  border:1px solid #dbe2dc;
}
.v2 .admin-topbar h1{font-size:1.05rem;color:#201f1d}
.v2 .admin-content{padding:26px 28px 48px;max-width:1540px}
.v2 .admin-heading{align-items:center;margin-bottom:20px}
.v2 .admin-heading h2{font-size:clamp(1.75rem,3vw,2.5rem);color:#201f1d}
.v2 .admin-heading p{max-width:700px}
.v2 .stat-grid{gap:11px}
.v2 .stat-card{border-radius:16px;padding:18px;border-color:#dfe5df;background:#fff;box-shadow:0 5px 18px rgba(30,29,27,.035)}
.v2 .stat-card .value{font-size:1.8rem;color:#201f1d}
.v2 .stat-card .label{color:#68766d;font-weight:700}
.v2 .admin-grid{gap:14px;margin-top:14px}
.v2 .panel{border-radius:17px;padding:18px;border-color:#dfe5df;box-shadow:0 5px 20px rgba(30,29,27,.035)}
.v2 .panel-head{margin-bottom:14px}
.v2 .panel-head h3{font-size:1rem;color:#201f1d}
.v2 .table-wrap{border:1px solid #e2e6e2;border-radius:13px;background:#fff}
.v2 .table th{background:#f8f7f6;color:#6d7971;border-bottom-color:#e1e6e1}
.v2 .table td{border-bottom-color:#edf0ed}
.v2 .table tbody tr:hover{background:#fbfbfb}
.v2 .editor-tabs{gap:6px;margin-bottom:16px}
.v2 .tab-btn{border-color:#dce2dd;background:#fff;border-radius:10px;padding:8px 11px;color:#5e6a62}
.v2 .tab-btn.active{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}
.v2 .layout-list{gap:7px}
.v2 .layout-item{border-radius:12px;border-color:#e0e5e0;background:#fff}
.v2 .media-item{border-radius:14px;border-color:#e0e5e0}
.v2 .dropzone{border-color:#cfd9d1;background:#fbfbfb;border-radius:15px}
.v2 .admin-calendar{gap:5px}
.v2 .admin-cal-day{background:#fff}
.v2 .admin-cal-day .booking{background:#201f1d}
.v2 .settings-grid{gap:14px}

/* Preserve content-specific dark areas with white type. */
.v2 .section.dark h1,.v2 .section.dark h2,.v2 .section.dark h3,.v2 .section.dark h4,.v2 
.member-hero-card h1,.v2 .member-hero-card h2,.v2 .member-hero-card h3,.v2 .sermon-member-card.featured h1,.v2 .sermon-member-card.featured h2,.v2 .sermon-member-card.featured h3{color:#fff}

/* --- Tablet and mobile --- */
@media(max-width:1050px){
  .v2 .admin-shell{grid-template-columns:82px minmax(0,1fr)}
  .v2 .admin-sidebar{padding:14px 9px}
  .v2 .admin-brand{padding:7px 5px 16px}
  .v2 .admin-brand img{width:54px;height:54px;object-fit:cover;object-position:left center;border-radius:13px}
  .v2 .admin-nav button{font-size:0!important;text-align:center;padding:9px 5px;box-shadow:none!important}
  .v2 .admin-nav button::before{content:attr(data-icon);font-size:1.08rem}
  .v2 .admin-nav button.active{box-shadow:inset 0 0 0 1px #d8d5d0!important}
  .v2 .member-wrap{grid-template-columns:190px minmax(0,1fr)}
}

@media(max-width:720px){
  .v2 .header-inner{height:66px}
  .v2 .brand img{width:148px;max-height:43px}
  .v2 .mobile-menu-btn{width:42px;height:42px;border-radius:11px;background:#fff;border-color:#dce2dd}
  .v2 #mobileMenu{background:#fbfbfb!important;border-color:#e1e6e1!important}

  .v2 .member-app{padding:14px 0 calc(92px + env(safe-area-inset-bottom))}
  .v2 .member-wrap{display:block}
  .v2 .member-app-head{
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:10px;
    padding:12px 13px;
    border-radius:16px;
    margin-bottom:12px;
    position:sticky;
    top:calc(8px + env(safe-area-inset-top));
    z-index:20;
  }
  .v2 .p231-brandmark{width:40px;height:40px;border-radius:11px}
  .v2 .member-app-head h1{font-size:1.35rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .v2 .member-app-actions{margin-left:auto}
  .v2 .member-identity,.v2 .member-global-signout{display:none!important}
  .v2 .p24-desktop-nav{display:none!important}
  .v2 .member-content{width:100%}
  .v2 .member-panel{padding:16px;border-radius:16px}
  .v2 .member-grid.two{grid-template-columns:1fr}
  .v2 .p24-greeting{padding:18px;border-radius:16px}
  .v2 .p24-greeting h2{font-size:2rem}
  .v2 .quick-grid{gap:9px}
  .v2 .quick-grid a{padding:15px;border-radius:14px}

  .v2 .p24-mobile-nav{
    grid-template-columns:repeat(4,1fr)!important;
    background:rgba(252,252,252,.96)!important;
    border-top:1px solid #dce3dd!important;
    box-shadow:0 -12px 36px rgba(29,28,26,.09)!important;
    padding:5px 8px calc(5px + env(safe-area-inset-bottom))!important;
    backdrop-filter:blur(20px) saturate(150%)!important;
  }
  .v2 .p24-mobile-nav a{min-height:54px;border-radius:12px;color:#6a766e;font-size:.68rem}
  .v2 .p24-mobile-nav a.active{background:#edebe8;color:#201f1d}
  .v2 .p24-mobile-nav .nav-icon{font-size:1.08rem}

  .v2 .p229-feed-head{padding:16px;border-radius:16px}
  .v2 .p230-filter-row{top:75px;border-radius:13px}
  .v2 .p229-post{border-radius:16px}
  .v2 .p229-action{min-height:42px}
  .v2 .p229-comment-form{gap:8px}

  .v2 .admin-shell{display:block;padding-bottom:calc(82px + env(safe-area-inset-bottom));background:#f6f5f3}
  .v2 .admin-sidebar{
    position:fixed!important;
    inset:auto 0 0 0!important;
    width:100%!important;
    height:auto!important;
    padding:5px 7px calc(5px + env(safe-area-inset-bottom))!important;
    background:rgba(252,252,252,.97)!important;
    border:0!important;
    border-top:1px solid #dce3dd!important;
    box-shadow:0 -10px 32px rgba(29,28,26,.1)!important;
    backdrop-filter:blur(20px) saturate(150%);
  }
  .v2 .admin-brand,.v2 .admin-footer{display:none!important}
  .v2 .admin-nav{
    display:flex!important;
    gap:3px!important;
    margin:0!important;
    overflow-x:auto!important;
    width:100%!important;
    scrollbar-width:none;
  }
  .v2 .admin-nav::-webkit-scrollbar{display:none}
  .v2 .admin-nav button{
    display:grid!important;
    place-items:center!important;
    flex:0 0 68px!important;
    min-width:68px!important;
    min-height:54px!important;
    padding:6px 4px!important;
    font-size:.62rem!important;
    line-height:1.05!important;
    color:#6a756d!important;
    border-radius:11px!important;
    box-shadow:none!important;
    overflow:hidden;
  }
  .v2 .admin-nav button::before{display:block;content:attr(data-icon);font-size:1.02rem;margin-bottom:3px}
  .v2 .admin-nav button.active{background:#edebe8!important;color:#201f1d!important;box-shadow:none!important}
  .v2 .admin-topbar{min-height:62px;padding:8px 12px;gap:8px;position:sticky;top:0}
  .v2 .admin-topbar>div:first-child{padding-left:38px;min-width:0}
  .v2 .admin-topbar>div:first-child::before{width:30px;height:30px}
  .v2 .admin-topbar h1{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}
  .v2 .admin-topbar>div:last-child{display:flex!important;gap:5px!important;flex-wrap:nowrap!important}
  .v2 .admin-content{padding:14px 12px 28px}
  .v2 .admin-heading{align-items:flex-start;gap:12px;margin-bottom:16px}
  .v2 .admin-heading h2{font-size:1.75rem}
  .v2 .panel{padding:15px;border-radius:15px}
  .v2 .stat-grid{grid-template-columns:1fr 1fr;gap:8px}
  .v2 .stat-card{padding:14px;border-radius:14px}
  .v2 .stat-card .value{font-size:1.55rem}
  .v2 .admin-grid,.v2 .settings-grid{grid-template-columns:1fr;gap:10px}
  .v2 .table-wrap{overflow:auto;-webkit-overflow-scrolling:touch}
  .v2 .table{min-width:600px}
  .v2 .media-grid{grid-template-columns:1fr 1fr}
  .v2 .editor-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none}
  .v2 .editor-tabs::-webkit-scrollbar{display:none}
  .v2 .tab-btn{white-space:nowrap}
  .v2 .mission-hero-copy{padding:30px 19px}
  .v2 .mission-hero-copy h1{font-size:2.9rem}
  .v2 .page-hero{padding:54px 0 40px}
  .v2 .page-hero h1{font-size:clamp(2.6rem,13vw,4rem)}
  .v2 .section{padding:54px 0}
}

@media(max-width:430px){
  .v2 .member-app-head{padding:10px 11px}
  .v2 .p231-brandmark{width:38px;height:38px}
  .v2 .member-app-head h1{font-size:1.22rem}
  .v2 .quick-grid,.v2 .p24-quick-grid{grid-template-columns:1fr 1fr!important}
  .v2 .stat-grid{grid-template-columns:1fr 1fr}
  .v2 .media-grid{grid-template-columns:1fr}
  .v2 .admin-topbar>div:first-child{padding-left:34px}
  .v2 .admin-topbar>div:first-child::before{width:28px;height:28px}
}

/* --- Secondary feature areas: Events, Porch, Mission House detail, ministry/admin cards --- */
.v2 .p216-home-hero,.v2 .p217-event-hero{
  border-radius:20px!important;
  background:linear-gradient(135deg,var(--spruce),#201f1d)!important;
  box-shadow:0 18px 44px rgba(32,31,29,.16)!important;
}
.v2 .p216-event-card,.v2 .p217-event-row,.v2 .p216-care-card,.v2 .p216-sermon-card,.v2 .p217-note-panel,.v2 .p217-guide,.v2 
.p221-sunday-card,.v2 .p221-doctrine-feature,.v2 .p221-ministry,.v2 .p221-gallery-wrap{
  border-color:#dfe5df!important;
  border-radius:16px!important;
  box-shadow:0 5px 20px rgba(30,29,27,.035)!important;
}
.v2 .p216-refresh-btn,.v2 .p216-rsvp,.v2 .p217-back{border-radius:10px!important}
.v2 .p216-scripture{background:#f2f1f0!important;color:#201f1d!important;border-color:#e4e2de!important}

.v2 .p223-hero{
  background:linear-gradient(135deg,var(--spruce-900),#201f1d)!important;
}
.v2 .p223-home-card{
  background:linear-gradient(140deg,#f2f1ef,#faf9f5)!important;
  border-color:#e3e1dd!important;
  border-radius:22px!important;
}
.v2 .p223-home-glance>div{background:linear-gradient(145deg,var(--spruce),#201f1d)!important;border-radius:17px!important}
.v2 .p223-event,.v2 .p223-post,.v2 .p223-request-form,.v2 .p223-submission,.v2 .p223-admin-stats>div{
  border-color:#dfe5df!important;
  border-radius:16px!important;
  box-shadow:0 5px 20px rgba(30,29,27,.04)!important;
}
.v2 .p223-post.featured{border-color:#c9b27b!important;box-shadow:0 8px 26px rgba(126,98,43,.10)!important}
.v2 .p223-type,.v2 .p223-admin-status{background:#f2f1ef!important;color:#4a5a50!important}
.v2 .p223-featured{background:#f3e6c7!important;color:#705523!important}
.v2 .p223-complete,.v2 .p223-admin-status.published{background:#eae8e5!important;color:#201f1d!important}
.v2 .p223-outcome{background:#eeedeb!important;color:#201f1d!important;border-radius:12px!important}

.v2 .reservation-card,.v2 .mh-admin-review,.v2 .mh-review-card,.v2 .mission-admin-hero,.v2 .mission-manual-panel{
  border-color:#dfe5df!important;
  border-radius:16px!important;
  box-shadow:0 5px 20px rgba(30,29,27,.035)!important;
  background:#fff!important;
}
.v2 .reservation-source{background:#f2f1ef!important;color:#201f1d!important;border-radius:999px!important}
.v2 .mission-tabs{background:#f2f1ef!important;border-color:#dce3dd!important;border-radius:13px!important}
.v2 .mission-tabs .tab-btn.active{background:var(--spruce)!important;color:#fff!important}
.v2 .mh-price-card,.v2 .mh-home-price{border-color:#e3e1dd!important;background:#f6f5f4!important;border-radius:15px!important}
.v2 .mh-hardship-note{background:#fff7e8!important;border-color:#efdfbd!important}

/* Keep action density readable without making screens feel like button grids. */
.v2 .media-actions{gap:7px}
.v2 .layout-actions{gap:6px}
.v2 .icon-btn{border-color:#dce2dd;border-radius:9px;background:#fff;color:#4c5b52}
.v2 .icon-btn:hover{background:#f3f2f1}

/* ---- phase232.css ---- */
/* EPCC Phase 2.2.32 — My EPCC Giving */
.v2 .p232-giving-page{display:grid;gap:18px}
.v2 .p232-give-hero{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) minmax(260px,340px);
  align-items:center;
  gap:22px;
  padding:28px;
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(circle at 92% 6%,rgba(32,31,29,.12),transparent 19rem),
    linear-gradient(135deg,#fff,#f4f3f2);
}
.v2 .p232-give-hero::after{
  content:"";position:absolute;width:260px;height:260px;border-radius:50%;
  right:-105px;bottom:-160px;background:rgba(168,132,73,.07);pointer-events:none
}
.v2 .p232-give-brand{
  width:76px;height:76px;border-radius:22px;display:grid;place-items:center;
  background:#fff;border:1px solid #e2e0dc;box-shadow:var(--shadow-sm);overflow:hidden
}
.v2 .p232-give-brand img{width:100%;height:100%;object-fit:cover}
.v2 .p232-give-copy{position:relative;z-index:1;min-width:0}
.v2 .p232-give-copy h2{font-size:clamp(1.75rem,3.2vw,2.65rem);margin:5px 0 9px}
.v2 .p232-give-lead{max-width:720px;color:#5b6860;font-size:1.02rem;line-height:1.7;margin:0}
.v2 .p232-give-action-card{
  position:relative;z-index:2;background:#fff;border:1px solid #e2e0dc;border-radius:18px;
  padding:22px;text-align:center;box-shadow:0 12px 34px rgba(31,30,29,.08)
}
.v2 .p232-give-kicker{display:block;color:#66756b;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;margin-bottom:13px}
.v2 .p232-give-action-card .tithely-give-button{
  width:100%!important;max-width:280px!important;min-height:52px!important;
  padding:14px 24px!important;border-radius:13px!important;background:var(--brand-deep)!important;
  color:#fff!important;font-size:1rem!important;font-weight:800!important;
  box-shadow:0 8px 20px rgba(32,31,29,.17)!important;transition:transform .16s ease,box-shadow .16s ease!important
}
.v2 .p232-give-action-card .tithely-give-button:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(32,31,29,.22)!important}
.v2 .p232-give-action-card .tithely-give-button:active{transform:translateY(0)}
.v2 .p232-powered{font-size:.76rem;color:#7a857e;margin-top:11px}
.v2 .p232-give-info .member-panel{padding:23px}
.v2 .p232-info-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-deep);font-size:1.15rem;font-weight:900;margin-bottom:16px}
.v2 .p232-give-info h3{margin:5px 0 8px}
.v2 .p232-give-info p{line-height:1.65}
.v2 .p24-quick-grid .p232-home-giving span{color:#8a6740;background:#f4eee5}
.v2 .p24-more-grid .p232-more-giving>span{background:#f4eee5;color:#8a6740}

@media(max-width:820px){
  .v2 .p232-give-hero{grid-template-columns:auto minmax(0,1fr);padding:22px;gap:16px}
  .v2 .p232-give-action-card{grid-column:1/-1;width:100%}
  .v2 .p232-give-brand{width:60px;height:60px;border-radius:18px}
}
@media(max-width:560px){
  .v2 .p232-give-hero{display:flex;flex-direction:column;align-items:stretch;padding:18px;border-radius:17px}
  .v2 .p232-give-brand{width:54px;height:54px}
  .v2 .p232-give-copy h2{font-size:1.7rem}
  .v2 .p232-give-lead{font-size:.96rem;line-height:1.62}
  .v2 .p232-give-action-card{padding:18px}
  .v2 .p232-give-action-card .tithely-give-button{max-width:none!important}
  .v2 .p232-give-info{grid-template-columns:1fr!important}
}

/* ---- phase233.css ---- */
/* EPCC Phase 2.2.33 — polished visual direction
   Frontend-only. Loaded last to make My EPCC feel like a cohesive native app. */
.v2{
  --p233-ink:#121512;
  --p233-muted:#6d756f;
  --p233-paper:#f4f3ef;
  --p233-card:#ffffff;
  --p233-line:#e5e5df;
  --p233-deep:var(--spruce);
  --p233-deep2:#201f1d;
  --p233-cream:#f1eee6;
  --p233-sage:#ecebe8;
  --p233-blue:#f1f0ed;
  --p233-rose:#f4e8e4;
  --p233-gold:#f5eedc;
  --p233-shadow:0 10px 35px rgba(25,24,23,.07);
}

/* Member shell */
.v2[data-epcc-area="member"]{background:var(--p233-paper)}
.v2 .member-app{background:var(--p233-paper)!important;padding-top:22px}
.v2 .member-wrap{max-width:1260px!important;gap:18px 22px!important}
.v2 .member-app-head{border:0!important;box-shadow:none!important;background:transparent!important;padding:6px 4px 14px!important;border-radius:0!important}
.v2 .member-app-head::after{display:none!important}
.v2 .member-app-head .p231-brandmark{width:44px;height:44px;border:0;box-shadow:none;background:transparent}
.v2 .member-app-head h1{font-size:2rem!important}
.v2 .member-identity{border-radius:999px!important;padding:5px 8px!important}
.v2 .p24-desktop-nav{border:1px solid var(--p233-line)!important;border-radius:22px!important;padding:8px!important;box-shadow:var(--p233-shadow)!important}
.v2 .member-nav a{border-radius:14px!important;min-height:47px!important}
.v2 .member-nav a.active{background:var(--spruce)!important;color:#fff!important}
.v2 .member-nav a.active::before{display:none!important}
.v2 .member-nav a.active .nav-icon{background:rgba(255,255,255,.12)!important;color:#fff!important}
.v2 .member-panel{border:1px solid var(--p233-line)!important;border-radius:22px!important;box-shadow:none!important;background:#fff!important;padding:22px!important}

/* New compact home hero */
.v2 .p216-home-hero{
  min-height:176px!important;
  padding:26px 30px!important;
  border-radius:26px!important;
  margin-bottom:14px!important;
  background:
    radial-gradient(circle at 84% 22%,rgba(255,255,255,.12),transparent 28%),
    linear-gradient(125deg,#1c1b1a 0%,#201f1d 68%,#201f1d 100%)!important;
  box-shadow:0 18px 45px rgba(31,30,28,.15)!important;
  overflow:hidden;
  position:relative;
}
.v2 .p216-home-hero::after{content:"EPCC";position:absolute;right:-8px;bottom:-28px;font-size:6.8rem;font-weight:900;color:rgba(255,255,255,.035);pointer-events:none}
.v2 .p216-home-hero h2{font-size:clamp(2rem,4vw,3rem)!important;line-height:.98!important;margin:8px 0!important}
.v2 .p216-home-hero p{font-size:1rem;color:rgba(255,255,255,.76)!important}
.v2 .p216-home-hero img{width:76px!important;height:76px!important;opacity:.95;filter:drop-shadow(0 8px 16px rgba(0,0,0,.14))}
.v2 .p216-refresh-line{margin-top:14px!important}
.v2 .p216-refresh-btn{border-radius:11px!important;padding:8px 12px!important;background:rgba(255,255,255,.10)!important}

/* Quick action dashboard — compact, useful, app-like */
.v2 .p233-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}
.v2 .p233-quick-actions a{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;align-items:center;text-decoration:none;color:var(--p233-ink);background:#fff;border:1px solid var(--p233-line);border-radius:18px;padding:14px 15px;box-shadow:0 4px 14px rgba(25,24,23,.025);transition:.16s ease}
.v2 .p233-quick-actions a:hover{transform:translateY(-2px);box-shadow:var(--p233-shadow);border-color:#d5d8d2}
.v2 .p233-quick-actions span{grid-row:1/3;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:1.15rem;font-weight:850}
.v2 .p233-quick-actions span.feed{background:var(--p233-blue);color:#605a4f}.v2 .p233-quick-actions span.prayer{background:var(--p233-rose);color:#8b4f4a}.v2 .p233-quick-actions span.events{background:var(--p233-sage);color:#201f1d}.v2 .p233-quick-actions span.giving{background:var(--p233-gold);color:#80662e}
.v2 .p233-quick-actions strong{font-size:.91rem;line-height:1.1}.v2 .p233-quick-actions small{font-size:.72rem;color:var(--p233-muted);margin-top:2px}

/* Home content cards */
.v2 .p216-home-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr)!important;gap:14px!important;margin-bottom:14px!important}
.v2 .p216-week-events .panel-head,.v2 .p216-prayer-home .panel-head{align-items:center!important}
.v2 .p216-week-events .panel-head>div p,.v2 .p216-prayer-home .panel-head>div p{margin-top:3px!important;font-size:.82rem!important}
.v2 .p216-week-events .panel-head>a,.v2 .p216-prayer-home .panel-head>a{white-space:nowrap;background:#f2f1f0;padding:7px 10px;border-radius:10px;font-size:.78rem;font-weight:760;color:#36423a}
.v2 .p216-home-event{padding:13px 0!important;gap:12px!important}
.v2 .p216-home-event .event-badge{width:54px!important;min-width:54px!important;border:0!important;background:#f0eee8!important;border-radius:14px!important;padding:7px 4px!important}
.v2 .p216-home-event .event-badge strong{font-size:1.38rem!important}
.v2 .p216-home-event>div:last-child>strong{font-size:.98rem}
.v2 .p216-sermon-card{background:linear-gradient(145deg,#f7f3e8,#fff)!important;border-color:#e9e2d3!important}
.v2 .p216-prayer-home{margin-bottom:14px}
.v2 .p216-prayer-grid{gap:9px!important}.v2 .p216-prayer-grid article{background:#fbfafa!important;border-color:#e6e9e4!important;border-radius:15px!important;padding:13px!important}.v2 .p216-prayer-grid p{min-height:auto!important;margin:7px 0 11px!important;font-size:.84rem!important}
.v2 .p216-action-grid{gap:10px!important;margin:14px 0!important}.v2 .p216-care-card{border-radius:18px!important;box-shadow:none!important;padding:15px!important}.v2 .p216-connected-home{padding-bottom:24px!important}
.v2 .p216-unread-summary{border:0!important;background:#fff4d9!important;border-radius:16px!important;margin-bottom:14px!important;padding:12px 14px!important}

/* Church feed and secondary pages */
.v2 .p229-feed-head{border-radius:22px!important;padding:18px 20px!important;box-shadow:none!important}
.v2 .p229-post{border-radius:20px!important;box-shadow:none!important}
.v2 .p230-filter-row{border-radius:14px!important;background:#eceeea!important}
.v2 .p229-filter.active{box-shadow:none!important}
.v2 .p24-more-grid>a{border-radius:17px!important;padding:13px!important;box-shadow:none!important}
.v2 .p24-more-grid>a>span{border-radius:12px!important}
.v2 .directory-card,.v2 .prayer-card,.v2 .sermon-member-card,.v2 .p217-event-row,.v2 .p217-event-hero{border-radius:18px!important;box-shadow:none!important}

/* Giving */
.v2 .p233-giving-page{display:grid;gap:14px}
.v2 .p233-giving-hero{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:24px;align-items:center;min-height:310px;padding:38px 42px;border-radius:28px;background:linear-gradient(130deg,var(--spruce),#201f1d);color:#fff;overflow:hidden;position:relative;box-shadow:0 20px 50px rgba(31,30,28,.15)}
.v2 .p233-giving-hero::after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-150px;top:-180px;background:rgba(255,255,255,.055)}
.v2 .p233-giving-copy{position:relative;z-index:2;max-width:700px}.v2 .p233-giving-copy h2{color:#fff;font-size:clamp(2.4rem,5vw,4.4rem);line-height:.92;margin:9px 0 14px}.v2 .p233-giving-copy p{color:rgba(255,255,255,.78);font-size:1rem;line-height:1.6;max-width:590px}
.v2 .p233-giving-mark{position:relative;z-index:2;display:grid;place-items:center}.v2 .p233-giving-mark img{width:140px;height:140px;object-fit:contain;filter:drop-shadow(0 16px 30px rgba(0,0,0,.18))}
.v2 .p233-give-button{display:inline-flex;align-items:center;gap:10px;margin-top:16px;background:#fff;color:var(--spruce);text-decoration:none;border-radius:14px;padding:14px 18px;font-weight:850;box-shadow:0 10px 24px rgba(0,0,0,.13)}.v2 .p233-give-button span{font-size:1.1rem}.v2 .p233-give-button b{font-size:.95rem;opacity:.6}.v2 .p233-give-note{margin-top:9px;color:rgba(255,255,255,.63);font-size:.75rem}
.v2 .p233-giving-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v2 .p233-giving-grid article{display:grid;grid-template-columns:38px 1fr;gap:12px;background:#fff;border:1px solid var(--p233-line);border-radius:18px;padding:17px}.v2 .p233-giving-grid article>span{width:38px;height:38px;border-radius:11px;background:#f1eee6;display:grid;place-items:center;font-size:.72rem;font-weight:850;color:#6b6047}.v2 .p233-giving-grid strong{font-size:.9rem}.v2 .p233-giving-grid p{margin:4px 0 0;color:var(--p233-muted);font-size:.78rem;line-height:1.45}.v2 .p233-giving-help{display:flex;align-items:center;justify-content:space-between;gap:20px}

/* Modern mobile app shell */
.v2 .p233-mobile-topbar,.v2 .p233-mobile-nav{display:none}
@media(max-width:720px){
  .v2 .member-app{padding:0 0 calc(86px + env(safe-area-inset-bottom))!important;min-height:100dvh!important;background:#f4f3ef!important}
  .v2 .member-wrap{display:block!important}
  .v2 .member-app-head{display:none!important}
  .v2 .p24-mobile-nav{display:none!important}
  .v2 .p233-mobile-topbar{display:flex;position:sticky;top:0;z-index:50;height:calc(58px + env(safe-area-inset-top));padding:calc(7px + env(safe-area-inset-top)) 5px 7px;align-items:center;justify-content:space-between;background:rgba(248,248,245,.94);backdrop-filter:blur(20px) saturate(160%);border-bottom:1px solid rgba(220,222,216,.9);margin-bottom:12px}
  .v2 .p233-top-brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:#1d1c1a;font-weight:850;font-size:1rem}.v2 .p233-top-brand img{width:36px;height:36px;border-radius:11px;object-fit:cover;background:#fff;border:1px solid #dcddd7}.v2 .p233-top-actions{display:flex;align-items:center;gap:7px}.v2 .p233-top-bell,.v2 .p233-top-profile{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #dedfd9;text-decoration:none;color:#354139;position:relative}.v2 .p233-top-bell{font-size:.72rem}.v2 .p233-top-bell b{position:absolute;right:-3px;top:-3px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:#b34940;color:#fff;display:grid;place-items:center;font-size:.56rem}.v2 .p233-top-profile{font-size:.78rem;font-weight:850;background:var(--spruce);color:#fff;overflow:hidden}.v2 .p233-top-profile img{width:100%;height:100%;object-fit:cover}
  .v2 .p233-mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:1000;background:rgba(251,251,248,.97);backdrop-filter:blur(22px) saturate(170%);border-top:1px solid #dedfd9;padding:6px 7px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -10px 28px rgba(24,23,22,.07)}
  .v2 .p233-mobile-nav a{position:relative;min-width:0;min-height:54px;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:#737c76;font-size:.62rem;font-weight:760}.v2 .p233-mobile-nav a.active{background:#edece9;color:#201f1d}.v2 .p233-nav-icon{font-size:1.05rem;line-height:1;height:18px;display:grid;place-items:center}.v2 .p233-nav-badge{position:absolute;top:4px;left:calc(50% + 7px);background:#b34940;color:#fff;min-width:16px;height:16px;border-radius:99px;padding:0 4px;display:grid;place-items:center;font-size:.52rem}

  .v2 .p216-home-hero{min-height:148px!important;padding:20px 20px!important;border-radius:21px!important;margin-bottom:10px!important}.v2 .p216-home-hero::after{font-size:4.8rem;right:-5px;bottom:-18px}.v2 .p216-home-hero h2{font-size:2rem!important;max-width:270px}.v2 .p216-home-hero p{font-size:.86rem!important;max-width:270px}.v2 .p216-home-hero img{width:58px!important;height:58px!important;align-self:flex-start}.v2 .p216-refresh-line{margin-top:10px!important}.v2 .p216-refresh-btn{font-size:.69rem!important;padding:6px 9px!important}
  .v2 .p233-quick-actions{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.v2 .p233-quick-actions a{border-radius:16px;padding:11px 12px;grid-template-columns:38px 1fr;column-gap:9px}.v2 .p233-quick-actions span{width:38px;height:38px;border-radius:11px}.v2 .p233-quick-actions strong{font-size:.82rem}.v2 .p233-quick-actions small{font-size:.66rem}
  .v2 .member-panel{border-radius:18px!important;padding:16px!important}.v2 .p216-home-grid{grid-template-columns:1fr!important;gap:10px!important;margin-bottom:10px!important}.v2 .p216-week-events .panel-head>div p{display:none}.v2 .p216-week-events .panel-head{margin-bottom:5px!important}.v2 .p216-week-events .panel-head h3{font-size:1rem!important}.v2 .p216-week-events .panel-head>a{font-size:.69rem!important;padding:6px 8px}.v2 .p216-home-event{padding:10px 0!important;grid-template-columns:46px 1fr!important;gap:10px!important}.v2 .p216-home-event .event-badge{width:46px!important;min-width:46px!important;padding:5px 3px!important;border-radius:12px!important;font-size:.58rem!important}.v2 .p216-home-event .event-badge strong{font-size:1.15rem!important}.v2 .p216-home-event>div:last-child>strong{font-size:.9rem}.v2 .p216-rsvp.compact{gap:4px!important;margin-top:6px!important}.v2 .p216-rsvp.compact button{padding:4px 7px!important;font-size:.62rem!important}
  .v2 .p216-sermon-card{padding:16px!important}.v2 .p216-sermon-card h3{font-size:1rem!important;margin:5px 0!important}.v2 .p216-prayer-home{margin-bottom:10px}.v2 .p216-prayer-home .panel-head>div p{display:none}.v2 .p216-prayer-grid{grid-template-columns:1fr!important}.v2 .p216-prayer-grid article:nth-child(n+3){display:none}.v2 .p216-action-grid{grid-template-columns:1fr!important;margin:10px 0!important}.v2 .p216-connected-home{padding:2px 2px 8px!important;font-size:.68rem!important}
  .v2 .p216-unread-summary{margin-bottom:10px!important;padding:10px 12px!important;border-radius:14px!important}.v2 .p216-unread-summary>span{width:32px!important;height:32px!important;font-size:.78rem!important}.v2 .p216-unread-summary strong{font-size:.8rem}.v2 .p216-unread-summary small{font-size:.68rem}
  .v2 .p229-feed-head{padding:15px!important}.v2 .p229-feed-head h3{font-size:1.25rem!important}.v2 .p230-filter-row{top:62px!important}

  .v2 .p233-giving-hero{grid-template-columns:1fr;min-height:0;padding:27px 22px;border-radius:23px}.v2 .p233-giving-copy h2{font-size:2.65rem}.v2 .p233-giving-copy p{font-size:.9rem}.v2 .p233-giving-mark{display:none}.v2 .p233-give-button{width:100%;justify-content:center;padding:14px 12px}.v2 .p233-giving-grid{grid-template-columns:1fr;gap:8px}.v2 .p233-giving-grid article{padding:14px}.v2 .p233-giving-help{display:block}
}

@media(max-width:390px){
  .v2 .p216-home-hero{padding:18px!important}.v2 .p216-home-hero h2{font-size:1.82rem!important}.v2 .p216-home-hero img{display:none}.v2 .p233-quick-actions a{padding:10px}.v2 .p233-quick-actions span{width:35px;height:35px}.v2 .p233-mobile-nav a{font-size:.59rem}
}

/* ---- phase234.css ---- */

/* EPCC Phase 2.2.34 — modern social refresh
   Cleaner, brighter, more app-like / Facebook-inspired while keeping EPCC branding. */
.v2{
  --p234-bg:#f4f3f1;
  --p234-surface:#ffffff;
  --p234-surface-2:#f9f9f8;
  --p234-line:#e9e7e4;
  --p234-text:#1c1e21;
  --p234-muted:#81796a;
  --p234-green:var(--spruce-700);
  --p234-green-2:#201f1d;
  --p234-green-soft:#eeedeb;
  --p234-blue:#918979;
  --p234-blue-soft:#f6f5f3;
  --p234-shadow:0 1px 2px rgba(0,0,0,.06),0 8px 24px rgba(28,30,33,.05);
}
.v2[data-epcc-area="member"]{background:var(--p234-bg)!important;color:var(--p234-text)}
body[data-epcc-area="member"] .v2 .member-app{background:var(--p234-bg)!important}
body[data-epcc-area="member"] .v2 .member-panel,
body[data-epcc-area="member"] .v2 .directory-card,
body[data-epcc-area="member"] .v2 .prayer-card,
body[data-epcc-area="member"] .v2 .sermon-member-card,
body[data-epcc-area="member"] .v2 .p217-event-row,
body[data-epcc-area="member"] .v2 .p217-event-hero,
body[data-epcc-area="member"] .v2 .p24-more-grid>a{
  background:var(--p234-surface)!important;
  border:1px solid var(--p234-line)!important;
  border-radius:16px!important;
  box-shadow:var(--p234-shadow)!important;
}

/* Desktop member shell */
.v2 .member-app{padding-top:18px!important}
.v2 .member-wrap{gap:16px 18px!important;max-width:1260px!important}
.v2 .member-app-head{padding:0 2px 14px!important}
.v2 .member-app-head h1{font-size:1.8rem!important;color:var(--p234-text)!important}
.v2 .member-identity{background:#fff!important;border:1px solid var(--p234-line)!important;box-shadow:var(--p234-shadow)!important}
.v2 .p24-desktop-nav{background:#fff!important;border:1px solid var(--p234-line)!important;border-radius:16px!important;box-shadow:var(--p234-shadow)!important;padding:8px!important}
.v2 .member-nav a{border-radius:12px!important;min-height:44px!important;color:#201f1d!important;font-weight:700!important}
.v2 .member-nav a .nav-icon{background:#f8f8f7!important;color:#696356!important}
.v2 .member-nav a.active{background:var(--p234-green-soft)!important;color:var(--p234-green)!important}
.v2 .member-nav a.active .nav-icon{background:#fff!important;color:var(--p234-green)!important;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.v2 .member-panel{padding:18px!important}

/* Home */
.v2 .p216-home-hero{
  min-height:0!important;
  padding:22px 24px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#201f1d 0%,#201f1d 65%,#555045 100%)!important;
  box-shadow:0 10px 24px rgba(21,20,19,.14)!important;
  margin-bottom:12px!important;
}
.v2 .p216-home-hero::after{display:none!important}
.v2 .p216-home-hero h2{font-size:clamp(1.9rem,4vw,2.5rem)!important;line-height:1.02!important;margin:6px 0 8px!important;color:#fff!important;max-width:520px}
.v2 .p216-home-hero p{color:rgba(255,255,255,.82)!important;font-size:1rem!important;max-width:520px}
.v2 .p216-home-hero img{width:64px!important;height:64px!important;border-radius:50%;background:rgba(255,255,255,.9);padding:10px;box-shadow:0 8px 24px rgba(0,0,0,.16)!important}
.v2 .p216-refresh-btn{background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:999px!important;padding:10px 14px!important;font-size:.84rem!important}
.v2 #p216RefreshStatus{color:rgba(255,255,255,.72)!important}

.v2 .p233-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px!important}
.v2 .p233-quick-actions a{background:var(--p234-surface)!important;border:1px solid var(--p234-line)!important;border-radius:16px!important;box-shadow:var(--p234-shadow)!important;display:flex!important;align-items:center;gap:12px;padding:14px 16px!important;text-decoration:none!important;color:var(--p234-text)!important;min-height:84px}
.v2 .p233-quick-actions span{width:46px!important;height:46px!important;border-radius:50%!important;display:grid!important;place-items:center!important;flex:0 0 46px!important}
.v2 .p233-quick-actions svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v2 .p233-quick-actions .feed{background:var(--p234-blue-soft)!important;color:var(--p234-blue)!important}
.v2 .p233-quick-actions .prayer{background:#f8edf1!important;color:#b64969!important}
.v2 .p233-quick-actions .events{background:#f3f2f1!important;color:#544f45!important}
.v2 .p233-quick-actions .giving{background:#fff4e2!important;color:#a06b00!important}
.v2 .p233-quick-actions strong{display:block;font-size:1rem!important;line-height:1.15}
.v2 .p233-quick-actions small{display:block;font-size:.79rem!important;color:var(--p234-muted)!important;margin-top:3px}

.v2 .p216-home-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;gap:14px!important}
.v2 .p216-week-events .panel-head,.v2 .p216-prayer-home .panel-head{padding-bottom:6px;border-bottom:1px solid var(--p234-line)!important;margin-bottom:6px}
.v2 .p216-week-events .panel-head h3,.v2 .p216-prayer-home .panel-head h3{font-size:1.1rem!important}
.v2 .p216-week-events .panel-head>a,.v2 .p216-prayer-home .panel-head>a{border-radius:999px!important;background:#f6f5f3!important;padding:8px 12px!important;color:#201f1d!important}
.v2 .p216-home-event{padding:12px 0!important;gap:12px!important;border-bottom:1px solid #f2f1ef!important}
.v2 .p216-home-event:last-child{border-bottom:0!important;padding-bottom:0!important}
.v2 .p216-home-event .event-badge{width:52px!important;min-width:52px!important;border-radius:14px!important;background:#f5f6f7!important;border:1px solid var(--p234-line)!important;color:#201f1d!important}
.v2 .p216-home-event .event-badge strong{font-size:1.3rem!important}
.v2 .p216-home-event>div:last-child>strong{font-size:1rem!important;color:var(--p234-text)!important}

/* Feed */
.v2 .p229-feed-shell{max-width:760px!important;margin:0 auto!important}
.v2 .p230-feed-panel{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}
.v2 .p229-feed-head{background:var(--p234-surface)!important;border:1px solid var(--p234-line)!important;border-radius:16px!important;padding:18px 18px 16px!important;box-shadow:var(--p234-shadow)!important;margin-bottom:12px!important}
.v2 .p229-feed-head h3{font-size:1.8rem!important;color:var(--p234-text)!important}
.v2 .p230-filter-row,.v2 .p229-filter-row{display:flex!important;gap:8px!important;padding:0!important;margin:0 0 12px!important;background:transparent!important;position:static!important;overflow:auto!important}
.v2 .p229-filter{border:none!important;background:var(--p234-surface)!important;color:#605a4e!important;border-radius:999px!important;padding:10px 16px!important;font-weight:800!important;box-shadow:var(--p234-shadow)!important}
.v2 .p229-filter.active{background:var(--p234-blue)!important;color:#fff!important}
.v2 .p229-feed{gap:12px!important}
.v2 .p229-post{background:var(--p234-surface)!important;border:1px solid var(--p234-line)!important;border-radius:16px!important;box-shadow:var(--p234-shadow)!important;overflow:hidden!important}
.v2 .p229-post.unread{border-color:#dbd9d4!important;box-shadow:0 0 0 1px rgba(32,31,29,.08),var(--p234-shadow)!important}
.v2 .p229-post-inner{padding:16px 16px 10px!important}
.v2 .p229-post-top{gap:12px!important;align-items:flex-start!important}
.v2 .p229-avatar{width:40px!important;height:40px!important;flex:0 0 40px!important;border-radius:50%!important;background:#f3f2f1!important}
.v2 .p230-brand-avatar{background:#f2f1ef!important;padding:7px!important}
.v2 .p230-brand-avatar img{filter:none!important;opacity:1!important}
.v2 .p229-post-meta{padding-top:2px}
.v2 .p229-author-line strong{font-size:.98rem!important;color:var(--p234-text)!important}
.v2 .p229-post-time{font-size:.8rem!important;color:var(--p234-muted)!important}
.v2 .p229-unread-pill,.v2 .p229-pinned-pill,.v2 .p229-type-pill{font-size:.66rem!important;padding:5px 8px!important;border-radius:999px!important;background:#f6f5f3!important;color:#5d6974!important;font-weight:700!important;letter-spacing:.03em!important;text-transform:none!important}
.v2 .p229-unread-pill{background:#f3f2f0!important;color:#201f1d!important}
.v2 .p229-pinned-pill{background:#fff6de!important;color:#8f6500!important}
.v2 .p229-post-title{font-size:1.26rem!important;line-height:1.2!important;margin:12px 0 8px!important;color:var(--p234-text)!important}
.v2 .p229-post-body{font-size:1rem!important;line-height:1.55!important;color:#201f1d!important}
.v2 .p229-prayer-note,.v2 .p229-post-link{background:#f8f8f7!important;border-radius:12px!important;padding:10px 12px!important;display:inline-flex!important}
.v2 .p229-summary{padding:0 16px 10px!important;color:var(--p234-muted)!important;font-size:.83rem!important;border-top:none!important}
.v2 .p229-action-row{padding:4px 8px!important;border-top:1px solid #f1f0ee!important;border-bottom:none!important;gap:6px!important}
.v2 .p229-action-row.two{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.v2 .p229-action{background:#f9f9f8!important;border:none!important;border-radius:10px!important;min-height:42px!important;font-weight:700!important;color:#605a4e!important;display:flex!important;align-items:center;justify-content:center;gap:8px!important;padding:10px 12px!important}
.v2 .p229-action.active{background:var(--p234-green-soft)!important;color:var(--p234-green)!important}
.v2 .p229-action:hover{background:#f2f1f0!important}
.v2 .p229-engagement{padding:4px 12px 14px!important}
.v2 .p230-reaction-tray{background:#f9f9f8!important;border:none!important;border-radius:14px!important;padding:8px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
.v2 .p229-reaction{background:#fff!important;border:1px solid var(--p234-line)!important;border-radius:12px!important;padding:10px 8px!important;box-shadow:none!important;font-weight:700!important}
.v2 .p229-reaction.active{background:var(--p234-blue-soft)!important;border-color:#e9e8e5!important;color:var(--p234-blue)!important}
.v2 .p229-rsvp-box{background:#f9f9f8!important;border:none!important;border-radius:14px!important;padding:10px!important;margin-top:10px!important}
.v2 .p229-rsvp-label{font-size:.78rem!important;color:var(--p234-muted)!important;font-weight:700!important;margin-bottom:8px!important}
.v2 .p229-rsvp{background:#fff!important;border:1px solid var(--p234-line)!important;border-radius:12px!important;font-weight:700!important}
.v2 .p229-rsvp.active{background:var(--p234-green-soft)!important;border-color:#dbd9d4!important;color:var(--p234-green)!important}
.v2 .p229-comments{background:#f9f9f8!important;border:none!important;border-radius:14px!important;padding:12px!important;margin-top:10px!important}
.v2 .p229-comment-bubble{background:#fff!important;border:1px solid var(--p234-line)!important;border-radius:14px!important}
.v2 .p229-comment-form{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important;padding:0!important;margin-top:10px!important;background:transparent!important;border:none!important}
.v2 .p229-comment-form textarea{background:#fff!important;border:1px solid var(--p234-line)!important;border-radius:14px!important;padding:12px!important;min-height:48px!important}
.v2 .p230-mark-read{margin-top:12px!important;border-radius:999px!important;background:#f6f5f3!important;color:#5a5449!important;border:none!important;padding:8px 12px!important;font-weight:700!important}

/* Top bar / mobile nav */
.v2 .p233-mobile-topbar{background:rgba(255,255,255,.96)!important;backdrop-filter:blur(18px)!important;border-bottom:1px solid var(--p234-line)!important;height:calc(56px + env(safe-area-inset-top))!important;padding:calc(8px + env(safe-area-inset-top)) 12px 8px!important;margin-bottom:10px!important}
.v2 .p233-top-brand{font-size:1.04rem!important;font-weight:800!important;color:#1d1c1b!important;gap:10px!important}
.v2 .p233-top-brand img{width:38px!important;height:38px!important;border-radius:12px!important;background:#fff!important;border:1px solid var(--p234-line)!important}
.v2 .p233-top-actions{gap:8px!important}
.v2 .p233-top-bell,.v2 .p233-top-profile{width:38px!important;height:38px!important;border-radius:999px!important;background:#fff!important;border:1px solid var(--p234-line)!important;color:#6d6659!important;box-shadow:none!important}
.v2 .p233-top-profile{background:var(--p234-green)!important;color:#fff!important}
.v2 .p233-top-bell b{background:#e04848!important;min-width:18px!important;height:18px!important;font-size:.58rem!important}

.v2 .p233-mobile-nav{background:rgba(255,255,255,.97)!important;backdrop-filter:blur(18px)!important;border-top:1px solid var(--p234-line)!important;box-shadow:0 -4px 16px rgba(28,30,33,.05)!important;padding:6px 8px calc(8px + env(safe-area-inset-bottom))!important}
.v2 .p233-mobile-nav a{min-height:56px!important;border-radius:12px!important;color:#6b7280!important;font-size:.68rem!important;font-weight:700!important;gap:4px!important}
.v2 .p233-mobile-nav a.active{background:transparent!important;color:var(--p234-blue)!important}
.v2 .p233-mobile-nav a.active::before{content:"";position:absolute;top:-6px;left:18%;right:18%;height:3px;border-radius:999px;background:var(--p234-blue)}
.v2 .p233-mobile-nav .p234-nav-icon svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v2 .p233-mobile-nav a.active .p234-nav-icon svg{stroke:currentColor}
.v2 .p233-mobile-nav .p233-nav-badge{background:#e04848!important;top:3px!important;left:calc(50% + 5px)!important}

/* More page / settings */
.v2 .p24-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px!important}
.v2 .p24-more-grid>a{padding:16px!important;border-radius:16px!important}
.v2 .p24-more-grid>a>span{width:42px!important;height:42px!important;border-radius:12px!important;background:#f8f8f7!important}

/* Mobile specifics */
@media (max-width:720px){
  .v2 .member-app{padding:0 0 calc(82px + env(safe-area-inset-bottom))!important}
  .v2 .member-app-head,.v2 .p24-mobile-nav{display:none!important}
  .v2 .member-wrap{display:block!important;width:100%!important;max-width:none!important}
  .v2 .member-panel{padding:14px!important;border-radius:14px!important}
  .v2 .p216-home-hero{padding:18px 18px!important;border-radius:16px!important}.v2 .p216-home-hero h2{font-size:1.7rem!important;max-width:270px}.v2 .p216-home-hero p{font-size:.96rem!important;max-width:260px}.v2 .p216-home-hero img{width:54px!important;height:54px!important;padding:8px}.v2 .p216-refresh-btn{padding:8px 12px!important;font-size:.78rem!important}
  .v2 .p233-quick-actions{grid-template-columns:1fr 1fr!important;gap:10px!important}.v2 .p233-quick-actions a{padding:12px!important;min-height:82px!important;border-radius:14px!important}.v2 .p233-quick-actions span{width:42px!important;height:42px!important}.v2 .p233-quick-actions strong{font-size:.92rem!important}.v2 .p233-quick-actions small{font-size:.75rem!important}
  .v2 .p216-home-grid{grid-template-columns:1fr!important;gap:12px!important}.v2 .p216-week-events .panel-head,.v2 .p216-prayer-home .panel-head{margin-bottom:4px!important}.v2 .p216-week-events .panel-head>div p,.v2 .p216-prayer-home .panel-head>div p{display:none!important}
  .v2 .p216-home-event{padding:10px 0!important;gap:10px!important}.v2 .p216-home-event .event-badge{width:48px!important;min-width:48px!important}.v2 .p216-home-event .event-badge strong{font-size:1.18rem!important}.v2 .p216-home-event>div:last-child>strong{font-size:.94rem!important}
  .v2 .p229-feed-head{padding:16px!important}.v2 .p229-feed-head h3{font-size:1.25rem!important}.v2 .p229-filter{padding:9px 14px!important;font-size:.87rem!important}
  .v2 .p229-post{border-radius:14px!important}.v2 .p229-post-inner{padding:14px 14px 10px!important}.v2 .p229-post-title{font-size:1.1rem!important;margin:11px 0 6px!important}.v2 .p229-post-body{font-size:.98rem!important;line-height:1.52!important}
  .v2 .p229-summary{padding:0 14px 10px!important;font-size:.77rem!important;display:flex!important;justify-content:space-between!important}.v2 .p229-summary span:last-child{text-align:right}
  .v2 .p229-action-row{padding:4px 6px!important;gap:6px!important}.v2 .p229-action{font-size:.84rem!important;min-height:40px!important;padding:9px 6px!important}.v2 .p229-engagement{padding:4px 10px 12px!important}.v2 .p230-reaction-tray{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v2 .p229-comment-form{grid-template-columns:1fr!important}
}

@media (max-width:390px){
  .v2 .p233-mobile-topbar{padding-left:10px!important;padding-right:10px!important}
  .v2 .p233-top-brand{font-size:.98rem!important}.v2 .p233-top-brand img{width:34px!important;height:34px!important}
  .v2 .p216-home-hero h2{font-size:1.56rem!important}.v2 .p216-home-hero p{font-size:.9rem!important}
  .v2 .p233-quick-actions a{padding:11px!important}.v2 .p233-quick-actions strong{font-size:.88rem!important}.v2 .p233-mobile-nav a{font-size:.62rem!important}
}

/* ---- phase235.css ---- */

/* EPCC Phase 2.2.35 — mobile shell cleanup, read-state polish, prayer-first layout */

/* 2.2.33 + 2.2.34 both injected a mobile top bar. Keep exactly one visually. */
.v2 .member-wrap > .p233-mobile-topbar ~ .p233-mobile-topbar{display:none!important}

/* Feed composer / community-post teaser */
.v2 .p235-community-composer{
  display:flex;align-items:center;gap:11px;
  background:#fff;border:1px solid var(--p234-line,#e9e7e4);border-radius:16px;
  padding:12px 14px;margin:0 0 12px;box-shadow:var(--p234-shadow,0 1px 2px rgba(0,0,0,.06));
}
.v2 .p235-community-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex:0 0 40px;background:#f2f1ef;border:1px solid #e4e2de;display:grid;place-items:center;font-weight:800;color:var(--spruce-700)}
.v2 .p235-community-avatar img{width:100%;height:100%;object-fit:cover}
.v2 .p235-community-prompt{flex:1;min-width:0;border:0;background:#f4f3f1;border-radius:999px;padding:11px 14px;text-align:left;color:#65717c;font:inherit;font-size:.92rem;cursor:pointer}
.v2 .p235-community-tag{white-space:nowrap;font-size:.7rem;font-weight:800;color:#696356;background:#f7f6f5;border-radius:999px;padding:6px 9px}

/* Prayer: submit first, then shared prayer content/history. */
.v2 .prayer-layout{display:flex!important;flex-direction:column!important;gap:12px!important}
.v2 .prayer-layout > aside.sticky-member{order:-1!important;position:static!important;top:auto!important;width:100%!important}
.v2 .prayer-layout > aside.sticky-member h3{font-size:1.35rem!important;margin:.3rem 0 .85rem!important}
.v2 .prayer-layout > aside.sticky-member form{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);gap:12px 14px;align-items:end}
.v2 .prayer-layout > aside.sticky-member textarea{min-height:118px!important}
.v2 .prayer-layout > aside.sticky-member .privacy-note{margin-top:12px!important}

/* Cleaner notification utility action */
.v2 #p22MarkAllRead{border-radius:999px!important;background:#f6f5f3!important;border:1px solid #eae8e5!important;color:#585348!important;font-weight:750!important}
.v2 .p229-post:not(.unread) .p229-unread-pill,.v2 .p229-post:not(.unread) [data-p22-read]{display:none!important}

@media(max-width:720px){
  .v2 .p235-community-composer{padding:10px 11px;border-radius:14px;gap:9px}
  .v2 .p235-community-avatar{width:36px;height:36px;flex-basis:36px}
  .v2 .p235-community-prompt{padding:10px 12px;font-size:.86rem}
  .v2 .p235-community-tag{display:none}

  .v2 .prayer-layout > aside.sticky-member{padding:15px!important}
  .v2 .prayer-layout > aside.sticky-member form{grid-template-columns:1fr!important;gap:10px!important}
  .v2 .prayer-layout > aside.sticky-member textarea{min-height:104px!important}
}

/* ---- phase236.css ---- */
/* EPCC 2.2.36 — mobile stability hotfix */
.v2 .myepcc-login,.v2 .myepcc-login .login-card,.v2 .myepcc-login form,.v2 .myepcc-login input,.v2 .myepcc-login button,.v2 .myepcc-login a{pointer-events:auto!important}
.v2 .myepcc-login input{position:relative!important;z-index:1!important;-webkit-user-select:text!important;user-select:text!important}
.v2 .myepcc-login .login-card{position:relative!important;z-index:2!important}
@media(max-width:720px){
  .v2 .myepcc-login{min-height:100dvh!important;padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}
  .v2 .myepcc-login .login-card{width:min(100% - 22px,520px)!important}
}

/* ---- phase237.css ---- */

/* EPCC 2.2.37 — mobile navigation/avatar/feed refresh cleanup */
/* Background refreshes should be silent. The dashboard already has its own refresh status. */
#p216PullIndicator{display:none!important}

@media(max-width:720px){
  /* Bottom nav is the mobile menu. Do not repeat the same destinations as dashboard tiles. */
  .v2 .p233-quick-actions{display:none!important}
  /* Keep home content tight once duplicate quick links are removed. */
  .v2 .p216-home-hero{margin-bottom:12px!important}
  .v2 .p216-home-grid{margin-top:0!important}

  /* Make the live profile photo read as an avatar, not a generic button. */
  .v2 .p233-top-profile{overflow:hidden!important;background:var(--spruce-700)!important}
  .v2 .p233-top-profile img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important}
}
