:root{
  --ink:#151714;--ink2:#252821;--muted:#6e716a;--line:#deddd7;--paper:#f7f5f0;--white:#fff;
  --sand:#d8d1c5;--sage:#dfe8df;--accent:#a96431;--shadow:0 18px 60px rgba(20,23,20,.10);
  --radius:22px;--radius-sm:14px;--max:1240px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}body{margin:0;max-width:100%;overflow-x:hidden;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.5}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.hidden{display:none!important}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.73rem;font-weight:700;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:.88rem}.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}.status{font-size:.77rem;padding:5px 9px;border-radius:999px;font-weight:700}.status.confirmed{background:#e5efe5;color:#315638}.status.pending{background:#fff0d9;color:#8a5319}.status.blocked{background:#e9e9e7;color:#53554f}.status.cancelled{background:#f4dfdf;color:#8a3434}
.btn{border:0;border-radius:12px;padding:12px 17px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s ease}.btn:hover{transform:translateY(-1px)}.btn-dark{background:var(--ink);color:white}.btn-light{background:white;border:1px solid var(--line)}.btn-soft{background:#eeece6}.btn-danger{background:#f6e4e2;color:#8c302a}.btn-sm{padding:8px 11px;border-radius:10px;font-size:.84rem}
.site-header{position:sticky;top:0;z-index:30;background:rgba(247,245,240,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(222,221,215,.75)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:212px;height:auto}.main-nav{display:flex;gap:24px;align-items:center;font-size:.92rem;font-weight:650}.main-nav a{opacity:.76}.main-nav a:hover,.main-nav a.active{opacity:1}.nav-actions{display:flex;gap:10px}.mobile-menu-btn{display:none;background:none;border:0;font-size:1.6rem}
.hero{padding:70px 0 54px;background:radial-gradient(circle at 80% 15%,rgba(216,209,197,.82),transparent 32%),linear-gradient(135deg,#f9f8f4,#efede5);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:62px}.hero h1{font-size:clamp(3.2rem,7vw,6.8rem);line-height:.91;letter-spacing:-.06em;margin:14px 0 26px;max-width:820px}.hero p.lead{font-size:1.18rem;max-width:660px;color:#555850}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-meta{display:flex;gap:26px;flex-wrap:wrap;margin-top:36px;padding-top:26px;border-top:1px solid var(--line)}.hero-meta strong{display:block;font-size:.96rem}.hero-meta span{font-size:.84rem;color:var(--muted)}.hero-visual{min-height:520px;position:relative;border-radius:38px;background:#1a1c19;box-shadow:var(--shadow);overflow:hidden}.hero-visual .monogram-bg{position:absolute;inset:0;display:grid;place-items:center;opacity:.92}.hero-visual .monogram-bg img{width:70%;filter:grayscale(1)}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.44),transparent 58%)}.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}.hero-card strong{font-size:1.05rem}.hero-card span{font-size:.85rem;color:var(--muted)}
.section{padding:84px 0}.section.white{background:#fff}.section.dark{background:var(--ink);color:white}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-head h2{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.045em;line-height:1;margin:8px 0}.section-head p{max-width:540px;color:var(--muted)}.dark .section-head p{color:#c5c8c0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.dark .card{background:#20231f;border-color:#343832}.card h3{margin:6px 0 8px;letter-spacing:-.025em}.week-card .date{font-size:2rem;font-weight:800;letter-spacing:-.05em}.week-card .day{font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.week-card .time{margin-top:18px;font-weight:700}.welcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.welcome-panel{padding:48px;background:#eeeae2;border-radius:30px}.welcome-panel h2{font-size:3.2rem;line-height:1;letter-spacing:-.05em;margin:12px 0 20px}.bullet-list{display:grid;gap:14px;margin-top:24px}.bullet{display:flex;gap:12px;align-items:flex-start}.bullet .dot{width:10px;height:10px;border-radius:50%;background:var(--ink);margin-top:7px;flex:0 0 auto}
.feature-sermon{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;background:#f1eee7;border-radius:30px;padding:38px}.sermon-art{border-radius:24px;min-height:360px;background:linear-gradient(135deg,#151714,#353a31);display:flex;align-items:end;padding:34px;color:#fff;position:relative;overflow:hidden}.sermon-art:before{content:"EPCC";position:absolute;font-weight:900;font-size:10rem;right:-30px;top:-28px;opacity:.07;letter-spacing:-.08em}.sermon-art h3{font-size:3rem;line-height:1;letter-spacing:-.05em;margin:10px 0}.sermon-detail{padding:14px 8px;display:flex;flex-direction:column;justify-content:center}.sermon-detail h3{font-size:2rem;letter-spacing:-.04em;margin:10px 0}.event-list{display:grid;gap:12px}.event-row{display:grid;grid-template-columns:92px 1fr auto;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.event-date{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.event-date strong{display:block;color:var(--ink);font-size:1.55rem;letter-spacing:-.04em}.event-row h3{margin:0 0 4px}.event-row p{margin:0;color:var(--muted);font-size:.9rem}
.mission-feature{display:grid;grid-template-columns:1fr 1fr;min-height:560px;border-radius:34px;overflow:hidden;background:#fff;border:1px solid var(--line)}.mission-feature img{width:100%;height:100%;object-fit:cover}.mission-copy{padding:58px;display:flex;flex-direction:column;justify-content:center}.mission-copy h2{font-size:3.3rem;line-height:1;letter-spacing:-.05em;margin:14px 0 18px}.amenity-row{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.ministry-card{min-height:190px;display:flex;flex-direction:column;justify-content:space-between}.ministry-card .icon{font-size:1.7rem}.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}.prayer-cta h2{font-size:2.7rem;line-height:1;letter-spacing:-.04em;margin:8px 0}.visit-band{display:grid;grid-template-columns:1fr 1fr;gap:26px}.visit-box{padding:34px;border:1px solid #3b3e39;border-radius:24px}.visit-box h3{font-size:1.7rem;margin:8px 0}.site-footer{padding:48px 0 32px;background:#0f100f;color:#f3f3ef}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:42px}.footer-logo{width:210px;filter:invert(1);mix-blend-mode:screen}.footer-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;color:#aeb1aa}.footer-links{display:grid;gap:8px;margin-top:14px;color:#dedfd9}.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}
.page-hero{padding:82px 0 60px;background:#eeebe4}.page-hero h1{font-size:clamp(3rem,6vw,5.5rem);letter-spacing:-.06em;line-height:.94;margin:12px 0 18px;max-width:850px}.page-hero p{font-size:1.15rem;color:var(--muted);max-width:760px}.content-wrap{display:grid;grid-template-columns:1fr 340px;gap:52px}.prose{font-size:1.05rem}.prose h2{font-size:2.2rem;letter-spacing:-.04em;margin-top:44px}.side-card{position:sticky;top:110px;height:max-content}.sermon-grid,.event-grid,.ministry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.media-card{border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--line)}.media-thumb{height:190px;background:linear-gradient(135deg,#1d201c,#4a5146);padding:22px;color:#fff;display:flex;align-items:end;position:relative}.media-thumb:after{content:"EPCC";position:absolute;right:14px;top:4px;font-size:3.8rem;font-weight:900;opacity:.08}.media-body{padding:20px}.media-body h3{margin:0 0 6px}.mission-hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:white}.mission-hero-image img{width:100%;height:100%;object-fit:cover}.mission-hero-copy{padding:72px;display:flex;flex-direction:column;justify-content:center}.mission-hero-copy h1{font-size:4.7rem;line-height:.92;letter-spacing:-.06em;margin:12px 0 20px}.booking-box{margin-top:30px;padding:24px;border:1px solid var(--line);border-radius:20px;background:#f8f6f2}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.field{display:grid;gap:7px;margin-bottom:14px}.field label{font-size:.8rem;font-weight:700;color:#5d6059}.field input,.field textarea,.field select{width:100%;border:1px solid #d8d7d1;background:#fff;border-radius:11px;padding:11px 12px;outline:none}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#74786f;box-shadow:0 0 0 3px rgba(21,23,20,.07)}.calendar-public{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-head{font-size:.72rem;text-align:center;color:var(--muted);padding:8px}.cal-day{min-height:54px;border:1px solid var(--line);border-radius:9px;padding:7px;font-size:.82rem;background:white}.cal-day.off{opacity:.35}.cal-day.booked{background:#1c1e1b;color:#fff}.cal-day.blocked{background:#dddcd6;color:#777}.cal-day.available{background:#eff5ef}
.login-shell{min-height:calc(100vh - 82px);display:grid;place-items:center;padding:50px 20px}.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}.login-card img{width:112px;margin:0 auto 20px}.login-card h1{font-size:2.2rem;letter-spacing:-.04em;margin:0 0 10px}
/* ADMIN */
.admin-shell{min-height:100vh;background:#f2f1ed;display:grid;grid-template-columns:250px 1fr}.admin-sidebar{background:#111310;color:#f7f7f3;padding:22px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.admin-brand{padding:8px 10px 24px;border-bottom:1px solid #2c302a}.admin-brand img{width:160px;filter:invert(1);mix-blend-mode:screen}.admin-nav{display:grid;gap:5px;margin-top:18px}.admin-nav button{border:0;background:transparent;color:#c8cbc4;text-align:left;padding:11px 12px;border-radius:10px;font-weight:650}.admin-nav button:hover,.admin-nav button.active{background:#272b25;color:white}.admin-footer{margin-top:auto;padding:16px 10px 4px;border-top:1px solid #2c302a}.admin-main{min-width:0}.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}.admin-topbar h1{font-size:1.15rem;margin:0}.admin-content{padding:28px;max-width:1500px}.admin-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.admin-heading h2{font-size:2.1rem;letter-spacing:-.04em;margin:3px 0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.stat-card .value{font-size:2rem;font-weight:800;letter-spacing:-.04em}.stat-card .label{font-size:.82rem;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}.panel-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.panel-head h3{margin:0;font-size:1.05rem}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:.88rem}.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)}.table td{padding:12px 10px;border-bottom:1px solid #ecebe7;vertical-align:middle}.table tr:last-child td{border-bottom:0}.editor-tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.tab-btn{border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:999px;font-weight:650;font-size:.84rem}.tab-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.preview-frame{border:1px solid var(--line);background:#f6f4ee;border-radius:18px;overflow:hidden;min-height:480px}.preview-mini{padding:28px;background:linear-gradient(135deg,#f8f6f1,#e8e3d8);min-height:480px}.preview-mini h2{font-size:3.7rem;line-height:.92;letter-spacing:-.06em;margin:12px 0}.layout-list{display:grid;gap:9px}.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}.layout-item.hidden-section{opacity:.48;background:#f5f4f1}.layout-actions{display:flex;gap:5px}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:6px 9px}.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.media-item{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff}.media-item img{height:145px;width:100%;object-fit:cover;background:#efede8}.media-item .meta{padding:12px}.media-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.dropzone{border:2px dashed #cccac2;border-radius:18px;padding:34px;text-align:center;background:#faf9f6;margin-bottom:18px}.admin-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.admin-cal-day{min-height:92px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px;font-size:.82rem;position:relative}.admin-cal-day .num{font-weight:750}.admin-cal-day .booking{margin-top:7px;padding:4px 6px;background:#1b1d1a;color:white;border-radius:6px;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-cal-day .block{margin-top:7px;padding:4px 6px;background:#dddcd6;color:#555;border-radius:6px;font-size:.7rem}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.color-preview{width:42px;height:42px;border-radius:10px;border:1px solid var(--line)}.notice{padding:12px 14px;border-radius:12px;background:#eef3ed;color:#36543b;font-size:.88rem}.notice.warning{background:#fff4dd;color:#805515}.toast{position:fixed;right:24px;bottom:24px;background:#151714;color:white;padding:12px 16px;border-radius:12px;box-shadow:var(--shadow);z-index:100;animation:toastIn .2s ease}@keyframes toastIn{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:1050px){.main-nav{display:none}.mobile-menu-btn{display:block}.hero-grid,.welcome-grid,.feature-sermon,.mission-feature,.mission-hero,.content-wrap{grid-template-columns:1fr}.hero-visual{min-height:420px}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3,.sermon-grid,.event-grid,.ministry-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:80px 1fr}.admin-sidebar{padding:18px 10px}.admin-brand img{width:46px;object-fit:cover;object-position:left}.admin-nav button{font-size:0;text-align:center}.admin-nav button:before{content:attr(data-icon);font-size:1.15rem}.admin-footer{font-size:0}.editor-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.media-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.container{width:min(100% - 28px,var(--max))}.header-inner{height:70px}.brand img{width:158px}.nav-actions .btn{display:none}.nav-actions{margin-left:auto}.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}.hero{padding-top:44px}.hero-grid{gap:32px}.hero h1{font-size:3.55rem}.hero-visual{min-height:350px}.hero-card{left:14px;right:14px;bottom:14px;display:block}.hero-card .btn{margin-top:12px;width:100%}.section{padding:62px 0}.section-head{display:block}.grid-3,.grid-4,.sermon-grid,.event-grid,.ministry-grid{grid-template-columns:1fr}.welcome-panel{padding:30px}.welcome-panel h2{font-size:2.5rem}.feature-sermon{padding:18px}.sermon-art{min-height:300px}.event-row{grid-template-columns:74px 1fr}.event-row .btn{display:none}.mission-copy,.mission-hero-copy{padding:34px 24px}.mission-hero-copy h1{font-size:3.4rem}.prayer-cta{grid-template-columns:1fr;padding:34px}.visit-band{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.admin-shell{display:block}.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}.admin-brand,.admin-footer{display:none}.admin-nav{display:flex;margin:0;width:max-content}.admin-nav button{font-size:0;min-width:52px;padding:10px}.admin-main{padding-bottom:78px}.admin-topbar{height:66px;padding:0 16px}.admin-content{padding:18px 14px}.stat-grid,.admin-grid,.settings-grid{grid-template-columns:1fr}.stat-grid{gap:9px}.admin-heading{align-items:flex-start;flex-direction:column}.media-grid{grid-template-columns:repeat(2,1fr)}.editor-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.admin-calendar{gap:3px}.admin-cal-day{min-height:66px;padding:5px}.admin-cal-day .booking,.admin-cal-day .block{font-size:.6rem;padding:3px}.event-row{grid-template-columns:68px 1fr}}

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

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