:root{--forest:#0b2f25;--forest-dark:#071f19;--lime:#c7f43b;--cream:#f7f5ed;--ink:#12251e;--muted:#61716a;--white:#fff;--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding:env(safe-area-inset-top) 0 calc(84px + env(safe-area-inset-bottom))}
a{color:inherit;text-decoration:none}button,input{font:inherit}
.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:rgba(7,31,25,.96);color:white;backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--lime);color:var(--forest);font-weight:900}.brand strong,.brand small{display:block}.brand small{font-size:11px;opacity:.75;letter-spacing:.05em;text-transform:uppercase}
.icon-button{border:0;width:40px;height:40px;border-radius:50%;background:#174b3c;color:var(--lime);font-size:11px}
main{max-width:720px;margin:auto}.hero{padding:58px 22px 50px;color:white;background:radial-gradient(circle at 85% 15%,#24654e 0,transparent 35%),linear-gradient(145deg,var(--forest),var(--forest-dark))}
.eyebrow{margin:0 0 10px;color:#789188;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.hero .eyebrow,.service-card .eyebrow{color:var(--lime)}
h1{font-size:clamp(40px,11vw,62px);line-height:.98;letter-spacing:-.05em;margin:0 0 20px}h2{font-size:28px;letter-spacing:-.03em;margin:0 0 12px}.hero>p:not(.eyebrow){max-width:500px;color:#d8e7e1;line-height:1.6}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:0 20px;border:1px solid transparent;border-radius:999px;font-weight:800;cursor:pointer}.primary{background:var(--lime);color:var(--forest-dark)}.ghost{border-color:#638679;color:white}.wide{width:100%}
.section{padding:34px 18px}.section-heading{display:flex;justify-content:space-between;align-items:end}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-card{min-height:116px;padding:18px;border:1px solid #dfe3dc;border-radius:var(--radius);background:white;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 8px 26px rgba(13,44,34,.04)}.quick-card span{font-size:24px;color:#4d6a60}.quick-card strong{font-size:16px}
.sermons-panel{padding-top:16px}.dark{color:var(--forest);margin:0}.featured-sermon{position:relative;display:flex;align-items:end;gap:16px;min-height:190px;margin-top:18px;padding:22px;border-radius:26px;overflow:hidden;color:white;background:radial-gradient(circle at 75% 10%,#3f7c63 0,transparent 36%),linear-gradient(145deg,#153d31,#071f19)}.featured-sermon:after{content:"RR";position:absolute;right:20px;top:18px;font-size:74px;font-weight:900;color:#c7f43b1f}.featured-sermon>span{position:relative;z-index:1}.featured-sermon small,.featured-sermon strong{display:block}.featured-sermon small{margin-bottom:4px;color:#c9d8d2}.featured-sermon strong{font-size:20px}.play-button{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:50%;background:var(--lime);color:var(--forest);padding-left:4px}.sermon-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.sermon-actions a{display:grid;grid-template-columns:auto 1fr;column-gap:10px;padding:16px;border:1px solid #dfe3dc;border-radius:18px;background:white}.sermon-actions a>span{grid-row:1/3;color:#557166}.sermon-actions strong,.sermon-actions small{display:block}.sermon-actions small{margin-top:2px;color:var(--muted);font-size:11px}
.service-card{margin:4px 18px 24px;padding:28px 22px;border-radius:28px;background:var(--forest);color:white}.service-row{display:flex;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.13)}.service-row span{color:#d7e3df}.text-link{display:inline-block;margin-top:22px;color:var(--lime);font-weight:800}
.member-panel{margin:0 18px 24px;padding:28px 20px;border:1px solid #d9ded7;border-radius:28px;background:white}.member-panel>p:not(.eyebrow){color:var(--muted);line-height:1.55}.member-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.member-grid button{padding:14px 10px;border:0;border-radius:14px;background:#eef1ec;color:#345047;font-weight:700;text-align:left}
.member-grid button.unlocked{background:#e6f5b7;color:var(--forest)}.button:disabled{opacity:.6;cursor:wait}
.request-link{display:block;margin:12px auto 4px;border:0;background:none;color:var(--forest);font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.admin-button{margin-top:12px;background:var(--forest);color:white}
.bottom-nav{position:fixed;z-index:8;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);padding:9px 5px calc(9px + env(safe-area-inset-bottom));background:white;border-top:1px solid #dfe3dc}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;color:#66766f;font-size:10px;font-weight:700}.bottom-nav a span{font-size:20px}.bottom-nav .active{color:var(--forest)}
dialog{width:min(92vw,440px);max-height:90vh;border:0;border-radius:28px;padding:0;box-shadow:0 30px 80px #04130fb3}dialog::backdrop{background:#04130fc7;backdrop-filter:blur(4px)}dialog form{position:relative;padding:30px;overflow:auto}dialog label{display:block;margin:16px 0 6px;font-size:13px;font-weight:800}dialog input:not([type="checkbox"]),dialog select,dialog textarea{width:100%;margin-top:6px;padding:0 14px;border:1px solid #cbd4ce;border-radius:12px;background:white}dialog input:not([type="checkbox"]),dialog select{height:49px}dialog textarea{padding-top:12px;resize:vertical}.close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:30px}.helper,.form-intro{color:var(--muted);font-size:12px;line-height:1.5}.helper{text-align:center}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.consent{display:grid!important;grid-template-columns:20px 1fr;gap:9px;align-items:start;line-height:1.4}.consent input{margin-top:3px}.status-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 22px;border-radius:50%;background:var(--lime);color:var(--forest);font-size:30px;font-weight:900}#pendingDialog{text-align:center}
#toast{position:fixed;z-index:20;left:50%;bottom:96px;transform:translate(-50%,20px);max-width:90%;padding:12px 16px;border-radius:999px;background:var(--forest-dark);color:white;font-size:13px;font-weight:700;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:600px){.quick-grid{grid-template-columns:repeat(3,1fr)}.hero{border-radius:0 0 32px 32px}.bottom-nav{left:50%;right:auto;width:540px;transform:translateX(-50%);border-radius:22px 22px 0 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.admin-body{padding-bottom:30px}.admin-exit{padding:9px 13px;border:1px solid #52776a;border-radius:999px;font-size:12px;font-weight:800}.admin-main{padding-bottom:30px}.admin-hero{padding:42px 20px 34px;background:var(--forest);color:white}.admin-hero h1{font-size:44px}.admin-hero>p:last-child{color:#c9dad4}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:-18px 16px 22px;position:relative}.admin-stats article{display:flex;flex-direction:column;align-items:center;padding:16px 6px;border:1px solid #dce2dc;border-radius:18px;background:white;box-shadow:0 10px 30px #0c2c2112}.admin-stats strong{font-size:24px}.admin-stats span{color:var(--muted);font-size:11px}.admin-section{margin:0 16px 18px;padding:24px 16px;border:1px solid #dce2dc;border-radius:24px;background:white}.request-list{display:grid;gap:12px}.request-card{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px;border-radius:18px;background:#f3f5f1}.request-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--forest);color:var(--lime);font-weight:900}.request-copy>strong,.request-copy>span{display:block}.request-copy>span{margin-top:3px;color:var(--muted);font-size:11px}.details-toggle{margin:10px 0 0;padding:0;border:0;background:none;color:var(--forest);font-size:11px;font-weight:800;text-decoration:underline}.request-details{grid-column:1/-1;margin-top:8px;padding:10px 12px;border-radius:12px;background:white;color:var(--muted);font-size:11px}.request-details p{margin:5px 0}.review-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.review-actions button{height:40px;border-radius:999px;font-weight:800}.approve{border:0;background:var(--lime);color:var(--forest)}.deny{border:1px solid #cdd5d0;background:white;color:#7f302c}.empty-state{text-align:center;padding:28px 10px;color:var(--muted)}.empty-state .status-icon{margin-bottom:12px}.empty-state h2{color:var(--ink)}.admin-links{display:grid;gap:9px}.admin-links button{display:grid;grid-template-columns:30px 1fr;text-align:left;padding:14px;border:0;border-radius:15px;background:#f0f3ee;color:var(--ink)}.admin-links button>span{grid-row:1/3}.admin-links strong,.admin-links small{display:block}.admin-links small{margin-top:3px;color:var(--muted)}
.loading-message,.error-message{padding:18px;border-radius:14px;background:#f0f3ee;color:var(--muted);text-align:center}.error-message{background:#fff1ef;color:#8a322e}

/* Russell Road website palette */
:root{--forest:#163b65;--forest-dark:#0d2948;--lime:#245b91;--cream:#ffffff;--ink:#171717;--muted:#707070}
.topbar{background:rgba(22,59,101,.98)}
.topbar-actions{display:flex;align-items:center;gap:7px}.sign-out-link{background:transparent;color:#fff;cursor:pointer}.member-panel #signOutButton{margin-top:9px}
.eyebrow{color:#245b91}
.brand-mark{background:#fff;color:#163b65}
.icon-button{background:#245b91;color:#fff}
.hero{background:radial-gradient(circle at 85% 15%,#245b91 0,transparent 35%),linear-gradient(145deg,#163b65,#0d2948)}
.hero .eyebrow,.service-card .eyebrow{color:#cfdeed}
.primary{background:#163b65;color:#fff}
.hero .primary{background:#fff;color:#163b65}
.ghost{border-color:#cfdeed;color:#fff}
.quick-card,.sermon-actions a{border-color:#cfdeed;box-shadow:0 8px 26px rgba(22,59,101,.06)}
.quick-card span,.sermon-actions a>span{color:#245b91}
.featured-sermon{background:radial-gradient(circle at 75% 10%,#245b91 0,transparent 36%),linear-gradient(145deg,#163b65,#0d2948)}
.featured-sermon:after{color:#ffffff20}
.featured-sermon small{color:#cfdeed}
.play-button{background:#fff;color:#163b65}
.service-row span{color:#edf4fb}
.service-card .text-link{color:#fff}
.member-panel{border-color:#cfdeed}
.member-grid button{background:#edf4fb;color:#163b65}
.member-grid button.unlocked{background:#cfdeed;color:#163b65}
.status-icon{background:#163b65;color:#fff}
.bottom-nav{border-color:#cfdeed}
.request-avatar{color:#fff}
.approve{background:#163b65;color:#fff}
.admin-stats article,.admin-section{border-color:#cfdeed}
.sync-status{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.45}
.content-dialog{width:min(96vw,680px);height:min(90vh,820px)}
.content-dialog-shell{position:relative;height:100%;padding:30px 20px;overflow:auto}
.content-list{display:grid;gap:14px;margin-top:22px}
.content-card{overflow:hidden;border:1px solid #cfdeed;border-radius:20px;background:#fff}
.content-card>img{display:block;width:100%;height:180px;object-fit:cover}
.content-card>div{padding:18px}.content-card h3{margin:0 0 8px;font-size:20px;color:#171717}
.content-card p{margin:0;color:#5d6772;line-height:1.55;font-size:14px}
.content-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.content-actions a,.content-actions button{padding:9px 12px;border:0;border-radius:999px;background:#edf4fb;color:#163b65;font-size:12px;font-weight:800;cursor:pointer}
.empty-content{padding:22px;border-radius:16px;background:#edf4fb;color:#163b65;line-height:1.55}
.directory-body{padding-bottom:30px}.directory-main{padding-bottom:30px}.directory-hero{padding:38px 20px 28px;background:linear-gradient(145deg,#163b65,#0d2948);color:#fff}.directory-hero h1{font-size:44px}.directory-hero>p:not(.eyebrow){color:#cfdeed;line-height:1.55}.directory-hero .primary{margin-top:10px;background:#fff;color:#163b65}.directory-tools{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:20px 18px 12px}.directory-search{flex:1;font-size:12px;font-weight:800}.directory-search input{display:block;width:100%;height:46px;margin-top:6px;padding:0 14px;border:1px solid #cfdeed;border-radius:14px}.directory-tools>span{padding-bottom:13px;color:var(--muted);font-size:12px}.member-directory{display:grid;gap:10px;padding:0 18px}.member-profile-card{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:13px;width:100%;padding:13px;border:1px solid #cfdeed;border-radius:18px;background:#fff;color:var(--ink);text-align:left}.member-profile-card span strong,.member-profile-card span small{display:block}.member-profile-card span small{margin-top:4px;color:var(--muted)}.member-profile-card>b{color:#245b91;font-size:28px}.member-avatar,.member-photo{width:54px;height:54px;border-radius:50%;object-fit:cover}.member-avatar{display:grid;place-items:center;background:#163b65;color:#fff;font-weight:900}.member-avatar.large,.member-photo.large{width:88px;height:88px}.profile-dialog{width:min(95vw,600px)}.profile-dialog-shell{position:relative;padding:30px;max-height:88vh;overflow:auto}.profile-heading{text-align:center}.profile-heading .large{margin:0 auto 15px}.profile-heading>p:last-child{color:var(--muted);line-height:1.55}.profile-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.profile-detail{padding:14px;border-radius:15px;background:#edf4fb}.profile-detail small,.profile-detail strong,.profile-detail a{display:block}.profile-detail small{margin-bottom:5px;color:#5d6772;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.profile-detail strong,.profile-detail a{color:#163b65;line-height:1.4;text-transform:capitalize}.photo-preview-row{display:grid;grid-template-columns:88px 1fr;align-items:end;gap:14px}.address-fields{display:grid;grid-template-columns:2fr .7fr 1fr;gap:9px}.publish-review{margin:20px 0;padding:15px;border-radius:15px;background:#edf4fb;color:#163b65}.publish-review p{margin:5px 0 0;font-size:12px;line-height:1.5}@media(max-width:480px){.profile-details-grid{grid-template-columns:1fr}.address-fields{grid-template-columns:1fr 70px 1fr}.photo-preview-row{grid-template-columns:70px 1fr}.photo-preview-row .large{width:70px;height:70px}}
.photo-upload-block{display:grid;grid-template-columns:88px 1fr;align-items:center;gap:14px;margin:14px 0 20px}.photo-upload-block small{display:block;margin-top:8px;color:var(--muted);font-size:11px;line-height:1.4}.photo-picker{background:#edf4fb;color:#163b65;min-height:42px;padding:0 16px}.photo-loading{opacity:.7}@media(max-width:480px){.photo-upload-block{grid-template-columns:70px 1fr}.photo-upload-block .large{width:70px;height:70px}}
.media-body{padding-bottom:30px}.media-main{padding-bottom:40px}.media-live{padding:44px 20px 38px;background:radial-gradient(circle at 85% 10%,#316fa8,transparent 35%),linear-gradient(145deg,#163b65,#0d2948);color:#fff}.media-live h1{max-width:540px}.media-live>p:not(.eyebrow){max-width:520px;color:#cfdeed;line-height:1.55}.media-live-button{margin-top:15px;background:#fff;color:#163b65}.live-dot{width:9px;height:9px;margin-right:9px;border-radius:50%;background:#dc2727;box-shadow:0 0 0 5px #dc27272a}.media-controls{padding:22px 18px 8px}.media-controls label{font-size:12px;font-weight:800}.media-controls input{display:block;width:100%;height:48px;margin-top:7px;padding:0 15px;border:1px solid #cfdeed;border-radius:15px}.media-tabs{display:flex;gap:8px;overflow:auto;margin-top:14px}.media-tabs button{padding:10px 15px;border:1px solid #cfdeed;border-radius:999px;background:#fff;color:#163b65;font-weight:800}.media-tabs button.active{background:#163b65;color:#fff}.media-section{padding:20px 18px}.media-section .section-heading>span{color:var(--muted);font-size:12px}.media-library{display:grid;gap:16px;margin-top:18px}.media-card{overflow:hidden;border:1px solid #cfdeed;border-radius:22px;background:#fff;box-shadow:0 8px 30px #163b650d}.media-art{position:relative;display:block;width:100%;height:190px;padding:0;border:0;background:#0d2948}.media-art img{width:100%;height:100%;object-fit:cover}.media-art>span{position:absolute;left:18px;bottom:16px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;color:#163b65;font-size:18px}.media-card>div{padding:18px}.media-card h3{margin:0 0 8px}.media-card>div>p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.5}.media-card-actions{display:flex;justify-content:space-between;margin-top:15px}.media-card-actions button,.player-actions button{padding:9px 14px;border:0;border-radius:999px;background:#edf4fb;color:#163b65;font-weight:800}.player-dialog{width:min(96vw,720px)}.player-shell{position:relative;padding:54px 20px 24px}.video-frame{aspect-ratio:16/9;margin:0 -20px 22px;background:#000}.video-frame iframe{width:100%;height:100%;border:0}.player-actions{display:flex;gap:8px;overflow:auto;margin:18px 0}.player-actions button{white-space:nowrap}.player-shell textarea{width:100%;padding:13px;border:1px solid #cfdeed;border-radius:14px;resize:vertical}.player-shell #saveNoteButton{margin-top:10px}@media(min-width:620px){.media-library{grid-template-columns:1fr 1fr}.media-art{height:155px}}
.celebration-settings{margin:18px 0;padding:15px;border-radius:15px;background:#edf4fb}.celebration-settings>p{margin:8px 0 0;color:var(--muted);font-size:11px}.celebration-hero{padding:42px 20px 34px;background:linear-gradient(145deg,#163b65,#0d2948);color:#fff}.celebration-hero>p:last-child{color:#cfdeed}.celebration-list{display:grid;gap:12px;padding:22px 18px}.celebration-card{display:grid;grid-template-columns:54px 1fr;gap:13px;padding:17px;border:1px solid #cfdeed;border-radius:20px;background:#fff}.celebration-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#edf4fb;font-size:24px}.celebration-card small{color:#245b91;font-weight:800}.celebration-card h2{margin:3px 0 5px;font-size:20px}.celebration-card p{margin:0;color:var(--muted);line-height:1.45}
.directory-profile-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.directory-profile-actions .primary{margin-top:0}.household-button{border-color:#cfdeed;color:#fff}.family-body{padding-bottom:30px}.family-main{padding-bottom:40px}.family-hero{padding:38px 20px 30px;background:linear-gradient(145deg,#163b65,#0d2948);color:#fff}.family-hero h1{font-size:42px}.family-hero>p:last-child{color:#cfdeed;line-height:1.55}.family-section{margin:18px;padding:22px 18px;border:1px solid #cfdeed;border-radius:24px;background:#fff}.profile-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-type-card{padding:20px 16px;border:1px solid #cfdeed;border-radius:20px;background:#fff;color:var(--ink);text-align:left}.profile-type-card.active{border:2px solid #163b65;background:#edf4fb}.profile-type-card span{font-size:27px}.profile-type-card strong,.profile-type-card small{display:block}.profile-type-card strong{margin:10px 0 5px}.profile-type-card small{color:var(--muted);line-height:1.4}.family-form label,.member-form label{display:block;margin:14px 0 5px;font-size:12px;font-weight:800}.family-form input:not([type="checkbox"]),.family-form select,.member-form input:not([type="checkbox"]),.member-form select{width:100%;height:48px;margin-top:6px;padding:0 13px;border:1px solid #cfdeed;border-radius:13px;background:#fff}.family-form .consent,.member-form .consent{margin-top:17px}.family-actions{display:flex;gap:9px;margin-top:20px}.family-members{display:grid;gap:10px;margin-top:15px}.family-member-card{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:11px;padding:13px;border-radius:17px;background:#edf4fb}.family-member-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#163b65;color:#fff;font-weight:900}.family-member-card strong,.family-member-card small{display:block}.family-member-card small{margin-top:3px;color:var(--muted);text-transform:capitalize}.remove-member{border:0;background:none;color:#8a322e;font-size:12px;font-weight:800}.family-note{padding:14px;border-radius:15px;background:#edf4fb;color:#163b65;font-size:12px;line-height:1.5}.family-empty{color:var(--muted);line-height:1.55}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title-row h2{margin:0}.section-title-row .button{min-height:40px;padding:0 14px;font-size:12px}@media(max-width:480px){.profile-type-grid{grid-template-columns:1fr}.family-section{margin:14px}.family-actions{display:grid}}
.directory-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 18px 0;padding:5px;border:1px solid #cfdeed;border-radius:16px;background:#fff}.directory-tab{min-height:44px;border:0;border-radius:12px;background:transparent;color:#4f6170;font-weight:900}.directory-tab.active{background:#163b65;color:#fff;box-shadow:0 6px 16px #163b6524}.household-directory{display:grid;gap:10px;padding:0 18px}.household-card{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:13px;width:100%;padding:14px;border:1px solid #cfdeed;border-radius:18px;background:#fff;color:var(--ink);text-align:left}.household-card-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#edf4fb;color:#163b65;font-size:22px;font-weight:900}.household-card strong,.household-card small{display:block}.household-card small{margin-top:4px;color:var(--muted);line-height:1.35}.household-card>b{color:#245b91;font-size:28px}.household-member-list{display:grid;gap:9px;margin-top:18px}.household-member-row{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:11px;padding:11px;border-radius:14px;background:#edf4fb}.household-member-row .member-avatar{width:42px;height:42px}.household-member-row strong,.household-member-row small{display:block}.household-member-row small{margin-top:3px;color:var(--muted);text-transform:capitalize}.privacy-note{margin-top:16px;padding:12px;border-radius:13px;background:#f5f7f9;color:#5d6772;font-size:11px;line-height:1.45}@media(min-width:760px){.directory-main{max-width:920px;margin:0 auto}.member-directory,.household-directory{grid-template-columns:1fr 1fr}.directory-hero{border-radius:0 0 28px 28px}.directory-tabs{max-width:420px}}
.admin-alert-count{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#163b65;color:#fff;font-size:11px;font-weight:800}.admin-alert-list{display:grid;gap:9px;margin-top:16px}.admin-alert-card{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:13px;border:1px solid #dce5ed;border-radius:16px;background:#f7f9fb}.admin-alert-card.unread{border-color:#245b91;background:#edf4fb}.admin-alert-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;color:#245b91;font-weight:900}.admin-alert-card strong,.admin-alert-card small,.admin-alert-card time{display:block}.admin-alert-card small{margin-top:3px;color:#4f6170;line-height:1.4}.admin-alert-card time{margin-top:5px;color:#7b8791;font-size:10px}
.account-controls{margin:18px 0;padding:16px;border:1px solid #cfdeed;border-radius:16px}.account-controls>p{color:var(--muted);font-size:11px;line-height:1.45}.account-secondary{margin-top:12px;background:#edf4fb;color:#163b65}.danger-button{margin-top:9px;border-color:#b33a33;background:#fff;color:#9c2f29}.admin-member-list{display:grid;gap:10px;margin-top:16px}.admin-member-card{padding:14px;border:1px solid #cfdeed;border-radius:17px;background:#fff}.admin-member-card>strong,.admin-member-card>small{display:block}.admin-member-card>small{margin-top:4px;color:var(--muted)}.admin-account-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.admin-account-actions button{min-height:40px;padding:0 10px;border-radius:999px;font-weight:800}.reset-account{border:0;background:#edf4fb;color:#163b65}.delete-account{border:1px solid #d7aaa7;background:#fff;color:#9c2f29}
.notes-body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.notes-main{max-width:820px}.notes-add-icon{font-size:24px;font-weight:700}.notes-hero{padding:44px 20px 38px;background:radial-gradient(circle at 88% 8%,#316fa8,transparent 34%),linear-gradient(145deg,#163b65,#0d2948);color:#fff}.notes-hero h1{max-width:620px;font-size:clamp(40px,10vw,58px)}.notes-hero>p:not(.eyebrow){max-width:570px;color:#cfdeed;line-height:1.6}.notes-hero .primary{margin-top:15px;background:#fff;color:#163b65}.notes-tools{display:flex;align-items:end;gap:12px;padding:22px 18px 12px}.notes-tools label{flex:1;font-size:12px;font-weight:800}.notes-tools input{display:block;width:100%;height:48px;margin-top:7px;padding:0 15px;border:1px solid #cfdeed;border-radius:15px;background:#fff}.notes-tools>span{padding-bottom:15px;color:var(--muted);font-size:12px;white-space:nowrap}.notes-list{display:grid;gap:12px;padding:8px 18px 30px}.lesson-note-card{display:grid;grid-template-columns:58px 1fr auto;align-items:start;gap:14px;padding:17px;border:1px solid #cfdeed;border-radius:21px;background:#fff;box-shadow:0 8px 25px #163b650a;cursor:pointer}.lesson-note-card:focus{outline:3px solid #9bb8d4;outline-offset:2px}.note-card-date{display:grid;place-items:center;padding:10px 4px;border-radius:15px;background:#edf4fb;color:#163b65}.note-card-date strong{font-size:21px}.note-card-date small{font-size:9px;font-weight:900;letter-spacing:.08em}.lesson-note-card h2{margin:1px 0 7px;font-size:20px}.lesson-note-card p:not(.eyebrow){display:-webkit-box;margin:0 0 10px;overflow:hidden;color:var(--muted);line-height:1.45;font-size:13px;-webkit-line-clamp:2;-webkit-box-orient:vertical}.lesson-note-card>div>small{color:#71808b;font-size:11px}.lesson-note-card>b{align-self:center;color:#245b91;font-size:28px}.notes-empty{padding:40px 24px;border:1px dashed #b9cce0;border-radius:24px;background:#fff;text-align:center}.notes-empty>span{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 16px;border-radius:50%;background:#edf4fb;color:#163b65;font-size:28px}.notes-empty p{max-width:420px;margin:0 auto 20px;color:var(--muted);line-height:1.55}.note-dialog{width:min(96vw,680px);max-height:92vh}.note-form{position:relative;padding:32px 22px;overflow:auto}.note-form label{display:block;margin:14px 0 5px;font-size:12px;font-weight:800}.note-form input,.note-form textarea{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #cfdeed;border-radius:14px;background:#fff;color:var(--ink)}.note-form input{height:48px}.note-form textarea{min-height:210px;line-height:1.55;resize:vertical}.note-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:11px}.note-privacy{padding:12px;border-radius:13px;background:#edf4fb;color:#163b65;font-size:11px}.note-form-actions{display:flex;gap:9px}.note-form-actions .button{flex:1}.note-form-actions .danger-button{margin-top:0}@media(min-width:700px){.notes-list{grid-template-columns:1fr 1fr}.lesson-note-card{grid-template-columns:52px 1fr auto}.notes-hero{border-radius:0 0 28px 28px}}@media(max-width:480px){.notes-tools{align-items:stretch;flex-direction:column}.notes-tools>span{padding:0}.note-field-pair{grid-template-columns:1fr}.note-form-actions{display:grid}.lesson-note-card{grid-template-columns:52px 1fr auto}}
.preferences-body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.preferences-main{max-width:760px}.preferences-hero{padding:42px 20px 34px;background:radial-gradient(circle at 85% 10%,#316fa8,transparent 36%),linear-gradient(145deg,#163b65,#0d2948);color:#fff}.preferences-hero h1{font-size:clamp(40px,10vw,58px)}.preferences-hero>p:not(.eyebrow){max-width:550px;color:#cfdeed;line-height:1.55}.preferences-form{margin:18px;padding:22px 18px;border:1px solid #cfdeed;border-radius:24px;background:#fff}.preference-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:14px}.preference-heading h2{margin:0}.preference-heading>span{padding-bottom:4px;color:var(--muted);font-size:11px}.preference-row{display:grid;grid-template-columns:1fr 52px;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid #e1e7ec;cursor:pointer}.preference-row span b,.preference-row span small{display:block}.preference-row span b{color:#172b3c}.preference-row span small{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.4}.preference-row input{position:absolute;opacity:0;pointer-events:none}.preference-row i{position:relative;width:50px;height:30px;border-radius:999px;background:#c8d1d9;transition:.2s}.preference-row i:after{content:"";position:absolute;left:4px;top:4px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0002;transition:.2s}.preference-row input:checked+i{background:#163b65}.preference-row input:checked+i:after{transform:translateX(20px)}.preference-row input:focus-visible+i{outline:3px solid #9bb8d4;outline-offset:3px}.preference-row.priority{margin:0 -10px 18px;padding:17px 10px;border-radius:15px;background:#fff8dd}.preferences-form>.button{margin-top:6px}.preference-note{text-align:center;color:var(--muted);font-size:11px}@media(min-width:700px){.preferences-hero{border-radius:0 0 28px 28px}}
.bible-body{--bible-font-size:19px;padding-bottom:calc(84px + env(safe-area-inset-bottom))}.bible-main{max-width:820px}.bible-settings-button{font-size:14px;font-weight:900}.bible-hero{padding:42px 20px 34px;background:radial-gradient(circle at 87% 12%,#316fa8,transparent 34%),linear-gradient(145deg,#163b65,#0d2948);color:#fff}.bible-hero h1{max-width:650px;font-size:clamp(40px,10vw,58px)}.bible-hero>p:not(.eyebrow){color:#cfdeed;line-height:1.55}.bible-tabs{position:sticky;top:70px;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:14px 18px;padding:5px;border:1px solid #cfdeed;border-radius:16px;background:#fff}.bible-tabs button{min-height:43px;border:0;border-radius:12px;background:transparent;color:#536779;font-weight:900}.bible-tabs button.active{background:#163b65;color:#fff}.bible-panel{padding:6px 18px 30px}.bible-panel[hidden]{display:none}.bible-picker{display:grid;grid-template-columns:2fr 1fr;gap:10px}.bible-picker label,.bible-search-label{font-size:11px;font-weight:900}.bible-picker select,.bible-search-label input{display:block;width:100%;height:48px;margin-top:6px;padding:0 13px;border:1px solid #cfdeed;border-radius:14px;background:#fff}.chapter-heading{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin:26px 0 12px;text-align:center}.chapter-heading h2{margin:0}.chapter-heading .eyebrow{margin-bottom:4px}.chapter-heading button{width:44px;height:44px;border:1px solid #cfdeed;border-radius:50%;background:#fff;color:#163b65;font-size:30px}.chapter-heading button:disabled{opacity:.3}.bible-reader{padding:24px 20px;border:1px solid #d9dfd6;border-radius:24px;background:#fff}.bible-warm .bible-reader{background:#fffaf0}.bible-verse{position:relative;display:inline;padding:3px 3px 4px;border:0;background:transparent;color:#1c2a34;font-family:Georgia,"Times New Roman",serif;font-size:var(--bible-font-size);line-height:1.75;text-align:left}.bible-verse sup{margin-right:3px;color:#6a7c88;font-family:Inter,system-ui,sans-serif;font-size:.55em;font-weight:800}.bible-verse.bookmarked sup{color:#9e2433}.bible-verse.highlighted{background:linear-gradient(transparent 62%,#f6df7c 62%)}.bible-verse i{margin-left:2px;color:#245b91;font-family:Inter,system-ui,sans-serif;font-size:7px}.bible-search-label{display:block;margin-top:8px}.bible-search-help{color:var(--muted);font-size:11px}.bible-results{display:grid;gap:9px;margin-top:18px}.bible-result{padding:15px;border:1px solid #cfdeed;border-radius:16px;background:#fff;color:#1d2e3c;text-align:left}.bible-result strong,.bible-result span{display:block}.bible-result strong{margin-bottom:6px;color:#163b65}.bible-result span{color:#53636e;line-height:1.5}.verse-dialog{width:min(95vw,640px)}.verse-dialog-shell,.reader-settings-shell{position:relative;padding:34px 22px}.verse-dialog blockquote{margin:18px 0;padding:20px;border-left:4px solid #163b65;border-radius:0 14px 14px 0;background:#edf4fb;font-family:Georgia,"Times New Roman",serif;font-size:21px;line-height:1.55}.verse-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.verse-actions button{min-height:42px;padding:7px;border:0;border-radius:12px;background:#edf4fb;color:#163b65;font-size:11px;font-weight:900}.verse-dialog label{display:block;margin-top:18px;font-size:11px;font-weight:900}.verse-dialog textarea{width:100%;margin:7px 0 10px;padding:13px;border:1px solid #cfdeed;border-radius:14px;resize:vertical}.reader-settings-dialog{width:min(92vw,480px)}.reader-settings-shell>label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin:22px 0;padding:15px;border-radius:14px;background:#edf4fb;font-weight:800}.reader-settings-shell input[type="range"]{grid-column:1/-1;width:100%}.reader-theme-row{grid-template-columns:1fr auto!important}.bible-attribution{color:var(--muted);font-size:11px;line-height:1.5}@media(min-width:700px){.bible-hero{border-radius:0 0 28px 28px}.bible-reader{padding:36px}.bible-results{grid-template-columns:1fr 1fr}}@media(max-width:430px){.verse-actions{grid-template-columns:1fr}.bible-reader{padding:18px 14px}.bible-tabs{top:68px}}

/* Explicit hidden-state semantics across flex and grid components. */
[hidden]{display:none!important}
:focus-visible{outline:3px solid #2879c7;outline-offset:3px}
body{padding-top:env(safe-area-inset-top)}
.bottom-nav{padding-bottom:env(safe-area-inset-bottom)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.admin-member-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-member-heading strong,.admin-member-heading small{display:block}.admin-member-heading small{margin-top:4px;color:var(--muted)}.role-badge{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#edf4fb;color:#163b65;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.role-badge.admin{background:#e8f7d2;color:var(--forest)}.admin-role-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;margin-top:12px;color:var(--muted);font-size:11px;font-weight:800}.admin-role-row select{min-height:42px;width:100%;padding:0 12px;border:1px solid #cfdeed;border-radius:12px;background:#fff;color:var(--ink);font:inherit}.admin-role-row select:disabled{opacity:.65;background:#f3f5f1}.admin-account-actions{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
