:root{--bg:#f4f4f5;--paper:#ffffff;--ink:#242428;--muted:#6f7177;--charcoal:#5f6065;--warm:#7d2131;--sage:#8b8d92;--line:#d4d5d8;--shadow:0 10px 30px rgba(55,55,60,.08);font-family:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,textarea{font:inherit}.app{min-height:100vh;padding-bottom:78px}header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:11px 16px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center}.brand strong,.brand small{display:block}.brand strong{font-family:Arial,sans-serif;letter-spacing:.02em}.brand small{color:var(--muted);font:11px Arial,sans-serif;margin-top:2px}.mark{width:40px;height:40px;border-radius:50%;background:var(--warm);color:white;display:grid;place-items:center;font-size:21px}header button{border:0;background:transparent;color:var(--ink);font:700 13px Arial,sans-serif}main{max-width:800px;margin:auto;padding:14px 14px 28px}.hero{position:relative;min-height:310px;border-radius:6px;overflow:hidden;box-shadow:var(--shadow);background:#4f1722 center/cover no-repeat;background-image:var(--hero)}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(76,15,27,.18),rgba(76,15,27,.72))}.hero-content{position:absolute;left:22px;right:22px;bottom:24px;color:white}.hero h1{font-size:38px;line-height:.98;margin:6px 0 10px;font-weight:500;max-width:480px}.hero p{margin:0;max-width:520px;font:15px/1.5 Arial,sans-serif;color:#f5f2ec}.eyebrow{font:800 10px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.18em}.eyebrow.dark{color:#7d2131}.script{display:block;font-size:32px;font-style:italic;margin-bottom:6px}.welcome{text-align:center;padding:16px 8px 2px}.welcome h2{margin-bottom:6px}.welcome p{max-width:600px;margin:0 auto;color:var(--muted);line-height:1.55}.section{margin-top:24px}.section h2{font-size:23px;font-weight:500;margin:0 0 12px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.card,.row{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:16px;box-shadow:0 4px 14px rgba(31,28,22,.03)}.card h3,.row strong{margin:0 0 6px;display:block}.card p,.row p,.meta{color:var(--muted);margin:0;font:13px/1.5 Arial,sans-serif}.row{margin-bottom:10px}.quick{cursor:pointer;min-height:135px}.quick .icon{font-size:23px;color:var(--warm);display:block;margin-bottom:20px}.featured{border-top:4px solid #7d2131}.pill{display:inline-block;padding:5px 8px;border-radius:999px;background:#ececef;font:800 10px Arial,sans-serif;margin-bottom:8px}.urgent{background:#f4dfdc;color:#712e2c}.empty{border:1px dashed #bdb3a3;border-radius:4px;padding:18px;text-align:center;color:var(--muted);font:13px/1.5 Arial,sans-serif}.image-strip{margin-top:24px;background:#5f6065;color:white;display:grid;grid-template-columns:1.15fr .85fr;min-height:185px;overflow:hidden}.image-strip.reverse{grid-template-columns:.85fr 1.15fr}.image-strip img{width:100%;height:100%;min-height:185px;object-fit:cover}.image-strip div{padding:24px;align-self:center}.image-strip h2{font-size:25px;font-weight:500;margin:6px 0}.image-strip p{font:13px/1.5 Arial,sans-serif;color:#ddd7cd;margin:0}.service-row{display:flex;justify-content:space-between;gap:14px;align-items:center}.service-row .meta{text-align:right}.btn{border:0;border-radius:2px;padding:12px 15px;font:800 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;background:var(--charcoal);color:white;cursor:pointer}.btn.secondary{background:#e9e2d7;color:var(--ink)}.field{display:grid;gap:6px;margin-bottom:11px}.field label{font:700 13px Arial,sans-serif}.field input,.field textarea{padding:12px;border:1px solid #c9c0b2;border-radius:2px;background:white;font-family:Arial,sans-serif}.field textarea{min-height:120px}.check{font:13px Arial,sans-serif}.notice{padding:12px;border-radius:3px;background:#e8eee8;color:#344638;font:13px Arial,sans-serif}.dialog{position:relative;min-width:min(480px,80vw);padding:22px}.dialog>#close{position:absolute;right:10px;top:8px;border:0;background:none;font-size:24px}dialog{border:0;border-radius:4px;background:var(--paper);box-shadow:0 20px 60px #0004}dialog::backdrop{background:#1119}.pre{white-space:pre-line}.alert{border-left:4px solid var(--warm)}nav{position:fixed;bottom:0;left:0;right:0;height:70px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);z-index:6}nav button{border:0;background:none;color:#858078;display:flex;flex-direction:column;align-items:center;justify-content:center;font:18px Arial,sans-serif}nav span{font-size:10px;font-weight:700;margin-top:3px}nav .active{color:var(--charcoal)}.loading{min-height:60vh;display:grid;place-items:center;align-content:center;gap:12px;font:13px Arial,sans-serif;color:var(--muted)}.spinner{width:30px;height:30px;border:3px solid #d7d0c4;border-top-color:#7d2131;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:560px){.hero{min-height:285px}.hero h1{font-size:34px}.image-strip,.image-strip.reverse{grid-template-columns:1fr}.image-strip img{height:190px}.service-row{display:block}.service-row .meta{text-align:left;margin-top:4px}}@media(min-width:700px){main{padding-top:20px}.grid{grid-template-columns:repeat(4,1fr)}.hero{min-height:390px}.hero-content{left:34px;bottom:34px}.hero h1{font-size:48px}}.brand-logo{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(45,20,25,.18))}.back{margin:16px 0 0;border:0;background:transparent;color:#7d2131;font:800 12px Arial,sans-serif;cursor:pointer;padding:6px 2px}.section-note{color:var(--muted);font:13px/1.5 Arial,sans-serif;margin:-5px 0 12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.privacy{display:grid;gap:8px;margin:8px 0 16px;font:13px Arial,sans-serif}.privacy strong{font-family:Georgia,'Times New Roman',serif;font-size:16px;margin-bottom:2px}.small{padding:9px 11px;margin-top:10px}.directory-person strong{font-size:17px}.staff strong{font-size:17px}@media(max-width:560px){.brand-logo{width:44px;height:44px}.brand strong{font-size:13px}.brand small{font-size:9px}.form-grid{grid-template-columns:1fr}}.admin-card{border-top:4px solid #7d2131}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.admin-stats div{background:white;border:1px solid var(--line);padding:14px;text-align:center}.admin-stats strong{display:block;color:#7d2131;font-size:25px}.admin-stats span{font:11px Arial,sans-serif;color:var(--muted)}.admin-tabs details{background:white;border:1px solid var(--line);margin-bottom:10px}.admin-tabs summary{cursor:pointer;padding:15px;font-weight:700;color:#5b1825}.admin-panel{padding:0 15px 16px}.admin-panel hr{border:0;border-top:1px solid var(--line);margin:22px 0}.admin-panel select{padding:12px;border:1px solid #c9c0b2;background:white}.admin-list{margin-top:18px}.admin-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.admin-actions{display:flex;gap:7px;flex-wrap:wrap}.danger{border:0;background:#8f2d3d;color:white;font:800 11px Arial,sans-serif;padding:9px 11px;cursor:pointer}.prayer-admin p{margin:8px 0}.admin-panel form{margin-top:12px}@media(max-width:560px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-row{display:block}.admin-actions{margin-top:10px}}.prayer-card p{margin:8px 0}.prayer-update{margin:8px 0;padding:9px 11px;background:#f1f1f3;border-left:3px solid #7d2131;font:12px/1.45 Arial,sans-serif;color:#55575c}.prayer-card .admin-actions{margin-top:10px}.link-btn{display:inline-block;text-decoration:none;margin-top:10px}.row .link-btn+.link-btn{margin-left:6px}.header-actions{display:flex;align-items:center;gap:6px}.install-btn{border:1px solid #7d2131!important;border-radius:999px!important;padding:7px 10px!important;color:#7d2131!important;background:#fff!important;font:800 11px Arial,sans-serif!important}.count-badge{display:inline-block;margin-top:8px;padding:4px 7px;border-radius:999px;background:#7d2131;color:#fff;font:800 10px Arial,sans-serif}.unread{border-left-color:#7d2131;background:#fffafb}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.account-danger{margin-top:14px;border-color:#b98b94}.account-danger .danger{margin-top:10px}.account-danger .btn{margin-top:10px}.text-btn{border:0;background:transparent;color:#7d2131;padding:8px 0;font:800 12px Arial,sans-serif;cursor:pointer;text-decoration:underline}.admin-panel h3{margin:20px 0 8px;font-size:17px}.scripture-card{border-left:5px solid #7d2131;margin-top:4px}.scripture-card h3{font-size:22px;margin:8px 0}.staff{display:flex;gap:14px;align-items:flex-start}.staff-photo{width:72px;height:72px;object-fit:cover;border-radius:50%;border:3px solid #ececef;flex:0 0 auto}.directory-person{position:relative}.role-select{padding:9px 10px;border:1px solid var(--line);background:#fff;color:var(--ink);font:12px Arial,sans-serif}.about-logo{width:min(180px,55vw);display:block;margin:0 auto 14px;object-fit:contain}.setup-banner{border-left:5px solid #7d2131}.setup-banner p{margin:6px 0 10px}.admin-panel .role-select{min-width:125px}.legal-page{max-width:820px;margin:0 auto}.legal-page h1{color:#7d2131;font-size:32px;margin-bottom:6px}.legal-page h2{margin:22px 0 6px;color:#4f1722;font-size:20px}.legal-page p{line-height:1.65}.legal-page a{color:#7d2131}.legal-page+.section{margin-top:0}.offline-banner{position:sticky;top:0;z-index:9999;background:#3f3f45;color:#fff;text-align:center;padding:7px 12px;font:700 11px Arial,sans-serif;box-shadow:0 2px 8px rgba(0,0,0,.18)}.assignment-line{margin:8px 0;padding:8px 10px;background:#f5f5f6;border-radius:8px;font:12px Arial,sans-serif}.assignment-line .text-btn{margin-left:6px}.admin-export{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}@media(max-width:560px){.admin-export .btn{flex:1 1 46%}}.push-card{border-left:5px solid #7d2131}.push-status{font-weight:800;margin-bottom:8px}.push-card .admin-actions{margin-top:12px}.launch-checklist{margin:14px 0 18px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.launch-checklist h3{margin:0 0 10px}.checklist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.checklist-item{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:10px;background:#f5f5f6;font-size:12px}.checklist-item.done span{font-weight:900}.checklist-item.todo{border:1px dashed #b98b94;background:#fffafb}.checklist-item.todo span{color:#7d2131;font-weight:900}.directory-search{margin:12px 0 18px}.directory-filter-item[hidden]{display:none}.inline-status{padding:6px 8px;border:1px solid var(--line);background:#fff;font:11px Arial,sans-serif}.compact-admin-list{margin-top:10px}
.admin-edit-form{margin-top:10px}.admin-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-edit-full{grid-column:1/-1}.admin-edit-check{display:flex;align-items:center;gap:8px;padding:10px 0;font:13px Arial,sans-serif}.admin-edit-actions{margin-top:14px}.admin-edit-form select{width:100%;padding:12px;border:1px solid #c9c0b2;background:#fff}.admin-edit-form input,.admin-edit-form textarea{width:100%}.admin-edit-form textarea{min-height:110px}@media(max-width:560px){.admin-edit-grid{grid-template-columns:1fr}.admin-edit-full{grid-column:auto}.dialog{min-width:min(94vw,480px);max-height:88vh;overflow:auto}}
.action-center{margin:18px 0;padding:16px;border:1px solid var(--line);background:#fff;border-radius:8px}.action-center h3{margin:0}.action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.action-card{padding:12px;border:1px solid var(--line);border-radius:6px;background:#f7f7f8}.action-card strong,.action-card span,.action-card small{display:block}.action-card strong{font-size:24px;color:#7d2131}.action-card span{font:700 12px Arial,sans-serif;margin-top:2px}.action-card small{font:11px/1.35 Arial,sans-serif;color:var(--muted);margin-top:4px}.action-card.attention{border-left:4px solid #7d2131;background:#fffafb}.action-card.clear strong{color:#4f6a53}.next-admin-event{margin-top:10px;padding:11px 12px;background:#f5f5f6;border-radius:6px}.next-admin-event strong,.next-admin-event span{display:block}.next-admin-event strong{margin:4px 0}.next-admin-event span{font:12px Arial,sans-serif;color:var(--muted)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #7d2131;outline-offset:2px}.btn,.danger,nav button,.text-btn,.install-btn{min-height:44px}summary{min-height:44px;display:flex;align-items:center}@media(max-width:700px){.action-grid{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.admin-search-wrap{margin:14px 0 18px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.admin-search-wrap label{display:block;font:700 12px Arial,sans-serif;margin-bottom:6px}.admin-search-wrap input{width:100%;padding:12px;border:1px solid var(--line);border-radius:6px}.recent-changes{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.recent-change{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line)}.recent-change:first-of-type{border-top:0}.recent-change strong,.recent-change span{display:block}.recent-change span,.recent-change small{font:11px Arial,sans-serif;color:var(--muted)}.contact-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}

.setup-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.setup-step{border:1px solid var(--line);background:#fff;padding:10px 12px;border-radius:7px;text-align:left;font:700 12px Arial,sans-serif;cursor:pointer}.setup-step span{margin-right:7px}.setup-step.done{opacity:.7;background:#f4f6f3}.setup-step.done span{color:#4f6a53}@media(max-width:620px){.setup-steps{grid-template-columns:1fr}}

.sermon-audio-wrap{margin:12px 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sermon-audio-wrap audio{width:min(100%,520px);min-height:42px}.bulletin-preview{display:block;max-width:100%;max-height:72vh;margin:10px auto;border:1px solid var(--line);border-radius:6px;object-fit:contain}.bulletin-card .section-head,.sermon-card .section-head{align-items:flex-start}.prayer-admin p{white-space:pre-wrap}.role-select{min-height:44px}.admin-panel input[type="file"]{padding:10px;background:#fff;border:1px solid var(--line);border-radius:6px}

.sermon-audio-wrap{margin:10px 0}.sermon-audio-wrap audio{width:100%;max-width:520px;display:block;margin-bottom:8px}.bulletin-preview{display:block;max-width:100%;max-height:72vh;margin:10px auto;border-radius:8px}.bulletin-card .section-head{align-items:flex-start}

.member-photo{width:88px;height:88px;object-fit:cover;border-radius:12px;margin:0 16px 12px 0}
.directory-filter-item{display:flow-root}.directory-filter-item .member-photo{float:left}
.member-photo-editor{margin-bottom:24px}.member-photo-editor>label{display:block;font-weight:600;margin-bottom:10px}
.member-photo.photo-preview{width:160px;height:160px;float:none}
.member-photo-editor input[type=file]{max-width:100%;font-size:1rem}
.editor-permissions-form{flex-basis:100%;width:100%;margin-top:16px;padding-top:16px;border-top:1px solid #ddd}
.editor-permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:16px 0}
.editor-permission-grid label{font-size:1rem}.permission-save-status{margin-left:12px;font-size:1rem}
.admin-row:has(.editor-permissions-form){flex-wrap:wrap}
.content-notification-options{min-width:0;border:1px solid #ccc;border-radius:8px;padding:16px;margin:18px 0}
.content-notification-options [hidden]{display:none}
