:root { --ministry-green: #3e7a3a; --ministry-accent: #a4ce91; --ministry-soft: #263b2a; --ministry-line: #3a4b3d; --ministry-paper: #202b23; --ministry-text: #f6f7f2; --ministry-muted: #bdc9bf; }
html[data-theme="light"] { --ministry-accent: #2e6533; --ministry-soft: #e8f0e7; --ministry-line: #c5d3c6; --ministry-paper: #fff; --ministry-text: #17291c; --ministry-muted: #4d6253; }
body { margin: 0; background: var(--theme-canvas, #151b17); color: var(--ministry-text); }
.prayer-shell { width: min(680px, 100%); min-height: 100vh; margin: auto; padding: 0 18px 110px; }
.prayer-header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 56px; margin-inline: -18px; padding: 6px 18px; background: #234b2c; border-bottom: 1px solid #476b48; }
.prayer-header .brand-lockup { grid-column: 2; max-width: 118px; margin: 0; }
.prayer-header .theme-logo-dark { display: block !important; }
.prayer-header .theme-logo-light { display: none !important; }
.back-link { color: #fff; font-size: .85rem; font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; padding-block: 10px; }
.prayer-intro { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 0 6px; }
.prayer-intro .eyebrow { color: var(--ministry-accent); letter-spacing: .19em; font-size: .7rem; margin: 0 0 18px; }
.prayer-intro h1 { font: 700 clamp(1.3rem, 5.5vw, 1.6rem)/1.2 var(--ds-font-family); color: var(--ministry-text); letter-spacing: -.025em; margin: 0; }
.prayer-intro p:last-child { margin: 0; color: var(--ministry-muted); font-size: .94rem; line-height: 1.6; }
.team-visibility { display: grid; gap: 5px; color: var(--ministry-muted); font-size: .75rem; line-height: 1.5; }
.team-visibility strong { color: var(--ministry-text); font-weight: 600; }
.team-visibility a { color: var(--ministry-accent); }
.share-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 6px 0 4px; }
.share-choices button { display: flex; justify-content: center; align-items: center; gap: 7px; min-height: 44px; padding: 10px 8px; border: 1px solid var(--ministry-accent); border-radius: 9px; background: var(--ministry-accent); color: var(--theme-canvas, #151b17); font: inherit; font-size: .83rem; cursor: pointer; }
.share-choices button+button { background: transparent; color: var(--ministry-accent); }
html[data-theme="light"] .share-choices button:first-child { color: #fff; }
.prayer-filters { display: flex; gap: 24px; padding: 0; margin-bottom: 12px; border-bottom: 1px solid var(--ministry-line); }
.prayer-filters button { padding: 10px 0; min-height: 44px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--ministry-muted); font: inherit; font-size: .83rem; cursor: pointer; }
.prayer-filters button.active { border-bottom-color: var(--ministry-accent); color: var(--ministry-text); }
.prayer-feed { display: grid; gap: 12px; }
.ministry-card { padding: 12px; border: 1px solid var(--ministry-line); border-radius: 10px; background: var(--ministry-paper); }
.ministry-card.praise { border-top: 3px solid var(--ministry-accent); background: var(--ministry-paper); }
.ministry-meta { display: flex; gap: 10px; align-items: center; }
.ministry-avatar { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0; border: 1px solid var(--ministry-line); color: var(--ministry-accent); font-weight: 700; }
.ministry-author { font-size: .9rem; }
.ministry-date { display: block; color: var(--ministry-muted); font-size: .72rem; margin-top: 3px; }
.ministry-kind { color: var(--ministry-accent); font-size: .69rem; letter-spacing: .13em; text-transform: uppercase; margin: 0 0 8px; }
.answered-badge { display: inline-block; color: var(--ministry-accent); font-size: .72rem; margin-left: 8px; }
.ministry-body { margin: 10px 0; color: var(--ministry-text); font-size: .95rem; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.ministry-update { border-left: 2px solid var(--ministry-accent); padding-left: 14px; margin: 12px 0 6px; }
.ministry-update strong { font-size: .69rem; letter-spacing: .09em; color: var(--ministry-accent); text-transform: uppercase; }
.ministry-update p, .ministry-history p { font-size: .9rem; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; margin: 8px 0; }
.ministry-history summary, .ministry-manage summary { cursor: pointer; min-height: 44px; padding: 13px 0; color: var(--ministry-muted); font-size: .78rem; }
.ministry-history ol { list-style: none; padding: 0; }
.ministry-history li { border-left: 1px solid var(--ministry-line); padding-left: 14px; margin-bottom: 16px; }
.ministry-history time { color: var(--ministry-muted); font-size: .75rem; }
.ministry-actions { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 8px; border-top: 1px solid var(--ministry-line); }
.ministry-actions button, .ministry-manage button { padding: 10px 12px; min-height: 44px; border: 1px solid var(--ministry-line); border-radius: 9px; background: transparent; color: var(--ministry-text); font: inherit; font-size: .78rem; cursor: pointer; }
.ministry-actions button.reacted { border-color: var(--ministry-accent); color: var(--ministry-accent); background: var(--ministry-soft); }
.ministry-manage button { margin: 0 6px 7px 0; }
.prayer-empty { padding: 22px 16px; border: 1px dashed var(--ministry-line); text-align: center; color: var(--ministry-muted); line-height: 1.5; }
.prayer-dialog { margin: auto; max-width: none; width: min(560px, calc(100% - 30px)); padding: 0; border: 1px solid var(--ministry-line); border-radius: 8px; background: var(--ministry-paper); color: var(--ministry-text); max-height: 90dvh; }
.prayer-dialog::backdrop { background: #08120dcc; }
.prayer-dialog form { padding: 16px; }
.prayer-dialog header { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.prayer-dialog h2 { margin: 2px 0; color: var(--ministry-text); }
.prayer-dialog .eyebrow { color: var(--ministry-accent); }
.prayer-dialog header button { border: 0; background: transparent; font-size: 2rem; color: inherit; min-width: 44px; min-height: 44px; }
.prayer-dialog textarea { box-sizing: border-box; width: 100%; padding: 14px; border: 1px solid var(--ministry-line); border-radius: 9px; font: inherit; font-size: 16px; color: var(--ministry-text); background: var(--theme-canvas); }
.dialog-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 13px; }
.dialog-footer div { display: flex; gap: 8px; }
.dialog-footer button { min-height: 44px; padding: 10px 15px; border-radius: 9px; border: 1px solid var(--ministry-line); background: var(--ministry-paper); color: var(--ministry-text); }
.dialog-footer button[type="submit"] { background: var(--ministry-green); color: #fff; }
#prayer-form-error { color: #ffbbb4; }
html[data-theme="light"] #prayer-form-error { color: #9f241b; }
.prayer-demo-note { font-size: .75rem; color: var(--ministry-muted); }
.prayer-login-required { width: min(520px, calc(100% - 40px)); margin: 12vh auto; text-align: center; }
.prayer-login-required .brand-lockup { max-width: 190px; }
html[data-theme] .prayer-shell .app-bottom-navigation { background: #234b2c; border-color: #476b48; }
html[data-theme] .prayer-shell .app-bottom-navigation-item { color: #fff; }
button:disabled { opacity: .6; cursor: wait; }
@media (max-width: 420px) { .prayer-shell { padding-inline: 16px; } .prayer-header { margin-inline: -16px; padding-inline: 16px; } .ministry-card { padding: 12px; } }

#prayer-form-help { font-size: .78rem; line-height: 1.5; color: var(--ministry-muted); margin: 12px 0; }
.prayer-demo-note { margin: 0 0 10px; }

.prayer-settings-launch{min-height:44px;padding:9px 10px;font-size:.8rem;border:1px solid #708579;border-radius:8px;background:transparent;color:inherit;font:inherit;cursor:pointer}.prayer-setting{display:flex;align-items:center;gap:12px;min-height:44px;margin:10px 0;line-height:1.5}.prayer-setting input{width:22px;height:22px;flex:none}#prayer-settings-dialog{max-height:85dvh;overflow:auto}#prayer-settings-status{color:inherit}.prayer-settings-launch[hidden]{display:none}

.prayer-shell :focus-visible,.prayer-dialog :focus-visible{outline:2px solid var(--ministry-accent);outline-offset:2px}.ministry-tools{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;justify-content:space-between;border-top:1px solid var(--ministry-line);padding-top:6px}.ministry-tools .ministry-actions{border:0;padding:0}.ministry-manage{min-width:0}.ministry-manage summary{padding:12px 4px}.ministry-manage[open]{flex-basis:100%}.ministry-manage button{display:inline-flex;align-items:center;margin:0 6px 6px 0}.prayer-settings-launch{flex:none}.prayer-login-required .brand-lockup{margin-inline:auto}

.prayer-settings-launch{font-size:.8rem}

#prayer-read-only,.ministry-reaction-count{font:500 .75rem/1.4 var(--ds-font-family);color:var(--ministry-muted)}#prayer-read-only{display:inline-block;margin-left:6px}.ministry-reaction-count{padding-block:8px}

.prayer-welcome { margin: 0 0 12px; color: var(--ministry-text); font-size: .94rem; line-height: 1.5; }
.prayer-welcome p { margin: 0; }
.prayer-welcome p + p { margin-top: 6px; color: var(--ministry-muted); }
#prayer-form-invitation { margin: 6px 0 0; color: var(--ministry-muted); font-size: .94rem; line-height: 1.5; }

.ministry-attention { color: inherit; font-size: .8rem; font-weight: 700; margin: 0 0 8px; }
