.moc-app {
  --w-primary: #ff8009;
  --w-cta: #171719;
  --w-on-cta: #fff;
  --w-primary-strong: #e67300;
  --w-primary-ink: #0a0a0a;
  --w-primary-soft: #efefef;
  --w-on-primary: #171719;
  --w-ink: #0a0a0a;
  --w-label-neutral: #262626;
  --w-label-alt: #6b6b6b;
  --w-label-assistive: rgba(55, 56, 60, .28);
  --w-label-disable: rgba(55, 56, 60, .16);
  --w-fill-alt: rgba(0, 0, 0, .035);
  --w-fill-normal: #efefef;
  --w-fill-strong: #e4e4e4;
  --w-line-alt: rgba(0, 0, 0, .06);
  --w-line: rgba(0, 0, 0, .1);
  --w-disabled-bg: #f4f4f5;
  --w-page: #f5f5f5;
  --w-shadow-card: 0 0 0 1px rgba(0, 0, 0, .08);
  --w-shadow-strong: 0 0 0 1px rgba(0, 0, 0, .18);
  --w-fade: .15s cubic-bezier(.23, 1, .32, 1);
  --moc-primary: var(--w-ink);
  --moc-secondary: var(--w-ink);
  --moc-bg: var(--w-page);
  --moc-text: var(--w-ink);
  --moc-text-sub: var(--w-label-alt);
  --moc-border: var(--w-line);
  --moc-surface: var(--w-disabled-bg);
  --moc-accent: var(--w-primary);
  --moc-accent-hover: var(--w-primary-strong);
  --moc-link: var(--w-primary-ink);
  --moc-radius: 12px;
  --moc-radius-md: 12px;
  --moc-radius-sm: 8px;
  --moc-fast: .15s;
  font-family: "Pretendard Variable", Pretendard, "Pretendard JP Variable", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  letter-spacing: .006em;
  line-height: 1.5;
}
.moc-app h1, .moc-app h2, .moc-app h3 { font-family: inherit; }
.moc-app h1 { font-size: 26px; line-height: 36px; letter-spacing: -.025em; font-weight: 600; }
.moc-app h2 { font-size: 20px; line-height: 28px; letter-spacing: -.02em; font-weight: 600; }
.moc-app h3 { font-size: 16px; line-height: 24px; letter-spacing: -.01em; font-weight: 600; }
.moc-app p { color: var(--w-label-neutral); }
.moc-app a:hover { color: inherit; }
.moc-app :focus-visible { outline: 2px solid var(--w-primary-ink); outline-offset: 2px; }
.moc-app :where(input, select, textarea):focus-visible { outline: none; border-color: var(--w-primary-ink); box-shadow: 0 0 0 1px var(--w-primary-ink); }
.moc-app input:not([type=checkbox]):not([type=radio]), .moc-app select, .moc-app textarea { border-radius: 8px; border-color: var(--w-line); }
.moc-app :is(.moc-small, .moc-muted, .moc-category, .moc-demo-note) { color: var(--w-label-alt); }
.moc-app :is(.moc-eyebrow, .moc-tag, .moc-badge, .is-saved, .moc-verse-number, .moc-card-number, .moc-order-status, .moc-journal-entry > a, .moc-continue a, .moc-transcribe-actions .is-correct, .moc-search-verse strong, .moc-verse-heading, .moc-passage-card cite, .moc-passage-label, .moc-register-art, .moc-register-art .moc-icon, .moc-price-card li .moc-icon, .moc-bible-heading > span, .moc-hero h1 span, .moc-mobile-nav .is-active) { color: var(--w-primary-ink); }
.moc-app .moc-eyebrow { font-size: 12px; letter-spacing: .02em; }
.moc-app :is(.moc-more-link, .moc-section-title > a, .moc-plan-inline-link, .moc-reader-back, .moc-community-back) { color: var(--w-primary-ink); font-weight: 600; }

.moc-app .moc-header { height: 64px; background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: 0 1px 0 var(--w-line); }
.moc-app .moc-desktop-nav { font-size: 14px; font-weight: 500; color: var(--w-label-alt); }
.moc-app .moc-desktop-nav a:hover, .moc-app .moc-desktop-nav .is-active { color: var(--w-ink); }
.moc-app .moc-desktop-nav .is-active { font-weight: 600; }
.moc-app .moc-desktop-nav .is-active:after { height: 2px; background: var(--w-primary); }
.moc-app .moc-my-button { background: var(--w-fill-normal); border-radius: 8px; padding: 7px 12px; font-size: 14px; font-weight: 600; color: var(--w-ink) !important; transition: background-color var(--w-fade); }
.moc-app .moc-my-button:hover { background: var(--w-fill-strong); }
.moc-app :is(.moc-login-link, .moc-user-link) { color: var(--w-ink); font-size: 14px; font-weight: 600; }
.moc-app .moc-status-dot { background: var(--w-primary); }
.moc-app .moc-footer { background: #fff; border-top: 1px solid var(--w-line-alt); }
.moc-app .moc-mobile-nav a { color: var(--w-label-alt); }
.moc-app .moc-mobile-nav a:active { opacity: 1; background: var(--w-fill-normal); }

.moc-app .moc-button { background: var(--w-cta); border-color: var(--w-cta); color: var(--w-on-cta) !important; border-radius: 10px; min-height: 44px; padding: 0 20px; font-size: 14px; font-weight: 600; transition: box-shadow var(--w-fade), transform 120ms cubic-bezier(.23, 1, .32, 1); }
.moc-app .moc-button:hover { background: var(--w-cta); border-color: var(--w-cta); color: var(--w-on-cta) !important; box-shadow: inset 0 0 0 999px rgba(255, 255, 255, .14); }
.moc-app .moc-button:active { transform: scale(.98); box-shadow: inset 0 0 0 999px rgba(255, 255, 255, .22); }
.moc-app :is(.moc-button-outline, .moc-button-soft) { background: #fff; border-color: var(--w-line); color: var(--w-ink) !important; }
.moc-app :is(.moc-button-outline, .moc-button-soft):hover { background: #fff; border-color: var(--w-line); color: var(--w-ink) !important; box-shadow: inset 0 0 0 999px var(--w-fill-alt); }
.moc-app :is(.moc-button-outline, .moc-button-soft):active { box-shadow: inset 0 0 0 999px var(--w-fill-normal); }
.moc-app :is(.moc-faith-hero, .moc-shop-home, .moc-service-hero) .moc-button { background: #fff; border-color: #fff; color: var(--w-ink) !important; }
.moc-app :is(.moc-faith-hero, .moc-shop-home, .moc-service-hero) .moc-button:hover { background: #fff; border-color: #fff; color: var(--w-ink) !important; box-shadow: inset 0 0 0 999px rgba(0, 0, 0, .06); }
.moc-app .moc-button:is([disabled], [aria-disabled=true]) { background: var(--w-disabled-bg); border-color: var(--w-disabled-bg); color: var(--w-label-disable) !important; box-shadow: none; }
.moc-app .moc-button-sm { min-height: 36px; padding: 0 14px; border-radius: 8px; font-size: 14px; }
.moc-app .moc-text-button { color: var(--w-label-alt); font-size: 14px; font-weight: 600; padding: 8px 10px; border-radius: 8px; transition: background-color var(--w-fade); }
.moc-app .moc-text-button:hover { background: var(--w-fill-alt); }
.moc-app .moc-text-button:active { background: var(--w-fill-normal); }
.moc-app :is(.moc-save-button, .moc-button) .moc-icon { transition: fill var(--w-fade), stroke var(--w-fade); }
.moc-app :is(.moc-save-button, .moc-button).is-saved .moc-icon { fill: var(--w-primary); stroke: var(--w-primary); }
.moc-app .moc-save-button:active { transform: none; background: var(--w-fill-normal); }

.moc-app :is(.moc-community-nav, .moc-shop-categories, .moc-region-tabs, .moc-plan-presets) :is(a, button) { background: var(--w-fill-normal); border: 1px solid transparent; color: var(--w-label-neutral); border-radius: 8px; font-weight: 500; transform: none; transition: background-color var(--w-fade), color var(--w-fade); }
.moc-app :is(.moc-community-nav, .moc-shop-categories, .moc-region-tabs, .moc-plan-presets) :is(a, button):hover { background: var(--w-fill-strong); }
.moc-app :is(.moc-community-nav, .moc-shop-categories, .moc-region-tabs, .moc-plan-presets) :is(a, button):is(.is-active, [aria-pressed=true]) { background: var(--w-cta); border-color: transparent; color: var(--w-on-cta) !important; }

.moc-app :is(.moc-card, .moc-detail-panel, .moc-practice-card, .moc-price-card, .moc-plus-banner, .moc-order, .moc-plan-card, .moc-shop-panel, .moc-shop-summary, .moc-shop-cart-item, .moc-community-board-card, .moc-community-post-card, .moc-community-form, .moc-community-article, .moc-community-comments, .moc-community-review, .moc-auth, .moc-bible-page, .moc-typing-panel, .moc-bible-select, .moc-journal-entry, .moc-metrics > div, .moc-reading-records > a, .moc-reading-records > div, .moc-empty, .moc-shop-empty, .moc-community-empty) { background: #fff; border: 0; border-radius: 12px; box-shadow: var(--w-shadow-card); }
.moc-app :is(.moc-card, .moc-practice-card, .moc-community-board-card, .moc-community-post-card, .moc-plan-summary, .moc-shop-order-list > a):hover { transform: none; box-shadow: var(--w-shadow-strong); }
.moc-app :is(a.moc-card, a.moc-practice-card, a.moc-community-board-card):active { transform: none; }
.moc-app .moc-price-featured { border: 2px solid var(--w-primary); }
.moc-app .moc-plus-banner { padding: 30px; }
.moc-app .moc-empty { padding: 40px 20px; }
.moc-app .moc-empty h3 { margin-bottom: 6px; }
.moc-app .moc-empty p { font-size: 14px; margin-bottom: 16px; }
.moc-app .moc-empty p:last-child { margin-bottom: 0; }
.moc-app :is(.moc-faith-hero, .moc-service-hero, .moc-shop-home) { background: var(--w-ink); border-radius: 24px; }

.moc-app .moc-back { display: inline-flex; align-items: center; gap: 2px; margin: 16px 0 0 -8px; padding: 8px 12px 8px 4px; border-radius: 8px; font-size: 14px; font-weight: 600; color: var(--w-label-alt); transition: background-color var(--w-fade); }
.moc-app .moc-back:hover { background: var(--w-fill-alt); color: var(--w-ink); }
.moc-app .moc-back:active { background: var(--w-fill-normal); }
.moc-app .moc-back .moc-icon { width: 18px; height: 18px; transform: rotate(180deg); }
.moc-app .moc-home-page :is(.moc-my-church-panel, .moc-daily-passage) { background: #fff; border: 0; border-radius: 12px; box-shadow: var(--w-shadow-card); }
.moc-app .moc-home-page .moc-quick-menu { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 24px 0 8px; padding: 0; background: none; border: 0; }
.moc-app .moc-home-page .moc-quick-menu a { align-items: flex-start; gap: 2px; min-height: 0; padding: 16px; background: #fff; border-radius: 12px; box-shadow: var(--w-shadow-card); text-align: left; transition: box-shadow var(--w-fade); }
.moc-app .moc-home-page .moc-quick-menu a:hover { box-shadow: var(--w-shadow-strong); }
.moc-app .moc-home-page .moc-quick-icon { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 10px; border-radius: 12px; background: var(--w-primary-soft) !important; color: var(--w-primary-ink) !important; }
.moc-app .moc-home-page .moc-quick-icon .moc-icon { width: 22px; height: 22px; }
.moc-app .moc-home-page .moc-quick-menu strong { font-size: 15px; font-weight: 600; line-height: 22px; }
.moc-app .moc-home-page .moc-quick-menu small { font-size: 13px; line-height: 18px; color: var(--w-label-alt); margin-top: 0; }
.moc-app .moc-home-page .moc-section { margin: 48px 0; }
.moc-app .moc-home-page [data-local-church-results] .moc-grid-3, .moc-app .moc-portal-page [data-search-results] .moc-grid-3, .moc-app.moc-portal-page [data-search-results] .moc-grid-3 { background: none; border-radius: 0; overflow: visible; gap: 16px; }
.moc-app .moc-my-withdraw { padding: 0 8px; }
.moc-app .moc-my-withdraw a { display: inline-block; padding: 8px; border-radius: 8px; font-size: 13px; color: var(--w-label-alt); text-decoration: underline; text-underline-offset: 3px; }
.moc-app .moc-my-withdraw a:hover { background: var(--w-fill-alt); }
.moc-app .moc-withdraw { width: min(560px, 100%); margin: 40px auto 64px; }
.moc-app .moc-withdraw > p { margin: 8px 0 24px; }
.moc-app .moc-withdraw-list { display: grid; gap: 12px; margin: 0 0 24px; padding: 0; list-style: none; }
.moc-app .moc-withdraw-list li { display: grid; gap: 4px; padding: 16px 20px; background: #fff; border-radius: 12px; box-shadow: var(--w-shadow-card); }
.moc-app .moc-withdraw-list strong { font-size: 15px; line-height: 22px; }
.moc-app .moc-withdraw-list span { font-size: 14px; line-height: 22px; color: var(--w-label-neutral); }
.moc-app .moc-withdraw form { display: grid; gap: 16px; }
.moc-app .moc-withdraw label { display: grid; gap: 6px; font-size: 14px; font-weight: 600; }
.moc-app .moc-withdraw input:not([type=checkbox]) { min-height: 48px; padding: 0 14px; border: 1px solid var(--w-line); background: #fff; font-weight: 500; }
.moc-app .moc-withdraw-confirm { display: flex !important; align-items: center; gap: 8px !important; font-weight: 500 !important; }
.moc-app .moc-withdraw-confirm input { width: 18px; height: 18px; accent-color: var(--w-primary); }
.moc-app .moc-withdraw .moc-button-row > * { flex: 1; }
.moc-app .moc-button-danger { background: #d92d20; border-color: #d92d20; color: #fff !important; }
.moc-app .moc-button-danger:hover { background: #d92d20; border-color: #d92d20; color: #fff !important; }
.moc-app .moc-promo-section .moc-grid > div { position: relative; }
.moc-app .moc-promo-section .moc-grid > div > article { height: 100%; }
.moc-app .moc-promo-section .moc-ad-label { position: absolute; top: 14px; right: 14px; z-index: 1; margin: 0; padding: 3px 8px; background: rgba(23, 23, 25, .72); color: #fff; border-radius: 6px; font-size: 11px; font-weight: 600; }
.moc-app .moc-card-link { display: inline-flex; align-items: center; gap: 4px; margin-top: 10px; font-size: 13px; font-weight: 600; color: var(--w-primary-ink); }
.moc-app .moc-card-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.moc-app .moc-card-link .moc-icon { width: 14px; height: 14px; }
.moc-app .moc-pagination { flex-wrap: wrap; align-items: center; }
.moc-app .moc-pagination button { min-width: 38px; width: auto; height: 38px; padding: 0 10px; font-variant-numeric: tabular-nums; }
.moc-app .moc-map-placeholder + .moc-button { margin-top: 16px; }
.moc-app .moc-promo-box { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 24px 0 0; padding: 16px 20px; background: var(--w-primary-soft); border-radius: 12px; }
.moc-app .moc-promo-box-text { display: grid; gap: 2px; min-width: 0; }
.moc-app .moc-promo-box-text strong { font-size: 15px; line-height: 22px; }
.moc-app .moc-promo-box-text span { font-size: 14px; line-height: 20px; color: var(--w-label-neutral); }
.moc-app .moc-promo-box .moc-button { flex: none; }
.moc-app .moc-promote-post h3 { margin: 4px 0; }
.moc-app .moc-promote .moc-request-info { margin: 0; }
.moc-app .moc-promote-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 64px; }
.moc-app .moc-promote-actions form { display: contents; }
.moc-app .moc-promote-actions .moc-button { flex: 1; min-width: 140px; }
.moc-app .moc-promote + .moc-promote .moc-promote-actions { margin-bottom: 0; }
.moc-app .moc-admin-nav { display: grid; gap: 10px; padding: 16px 0 4px; }
.moc-app .moc-admin-nav-group { display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: center; gap: 12px; }
.moc-app .moc-admin-nav-group > span { color: var(--w-label-alt); font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.moc-app .moc-admin-nav-group > div { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 640px) { .moc-app .moc-admin-nav-group { grid-template-columns: minmax(0, 1fr); gap: 6px; } }
.moc-app .moc-admin-nav a { flex: none; padding: 8px 14px; border-radius: 8px; background: var(--w-fill-normal); color: var(--w-label-neutral); font-size: 14px; font-weight: 500; transition: background-color var(--w-fade); }
.moc-app .moc-admin-nav a:hover { background: var(--w-fill-strong); }
.moc-app .moc-admin-nav a.is-active { background: var(--w-cta); color: var(--w-on-cta); }
.moc-app .moc-admin-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 24px 0 20px; }
.moc-app .moc-admin-heading p { margin-top: 4px; }
.moc-app .moc-admin-back { display: inline-flex; align-items: center; margin: 16px 0 0 -4px; padding: 4px 8px 4px 0; font-size: 14px; font-weight: 600; color: var(--w-label-alt); }
.moc-app .moc-admin-back .moc-icon { width: 16px; height: 16px; transform: rotate(180deg); }
.moc-app .moc-admin-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.moc-app .moc-admin-stats a, .moc-app .moc-admin-stats div { display: grid; gap: 4px; padding: 16px 20px; background: #fff; border-radius: 12px; box-shadow: var(--w-shadow-card); transition: box-shadow var(--w-fade); }
.moc-app .moc-admin-stats a:hover { box-shadow: var(--w-shadow-strong); }
.moc-app .moc-admin-stats span { font-size: 13px; line-height: 18px; color: var(--w-label-alt); }
.moc-app .moc-admin-stats strong { font-size: 28px; line-height: 36px; letter-spacing: -.0236em; }
.moc-app .moc-admin-section { margin-bottom: 16px; padding: 20px 24px; background: #fff; border-radius: 12px; box-shadow: var(--w-shadow-card); }
.moc-app .moc-admin-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.moc-app .moc-admin-head h2 { font-size: 18px; line-height: 26px; letter-spacing: -.002em; }
.moc-app .moc-admin-empty, .moc-app .moc-admin-hint { margin: 0; font-size: 14px; color: var(--w-label-alt); }
.moc-app .moc-admin-hint { margin-top: 12px; }
.moc-app .moc-register .moc-admin-hint { margin: 0 0 16px; }
.moc-app .moc-register-cta { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; font-size: 14px; font-weight: 600; color: var(--w-primary-ink); }
.moc-app .moc-register-cta:hover { text-decoration: underline; text-underline-offset: 3px; }
.moc-app .moc-register-cta .moc-icon { width: 16px; height: 16px; }
.moc-app .moc-request { padding: 16px 0; border-top: 1px solid var(--w-line-alt); }
.moc-app .moc-request-top { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.moc-app .moc-request-top h3 { margin: 0; }
.moc-app .moc-request-info { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 16px; margin: 0 0 12px; font-size: 14px; }
.moc-app .moc-request-info dt { color: var(--w-label-alt); }
.moc-app .moc-request-info dd { margin: 0; overflow-wrap: anywhere; }
.moc-app .moc-doc-link { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; color: var(--w-primary-ink); }
.moc-app .moc-doc-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.moc-app .moc-doc-link .moc-icon { width: 14px; height: 14px; }
.moc-app .moc-verification label > .moc-small { display: block; margin-top: 4px; }
.moc-app .moc-verification input[type=file] { width: 100%; padding: 10px; border: 1px dashed var(--w-line); border-radius: 8px; background: #fff; font-size: 14px; }
.moc-app .moc-request-reason { margin: 0 0 16px; padding: 12px 16px; background: var(--w-page); border-radius: 8px; font-size: 14px; line-height: 22px; color: var(--w-label-neutral); overflow-wrap: anywhere; }
.moc-app .moc-request-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.moc-app .moc-admin-search { display: flex; gap: 8px; }
.moc-app .moc-admin-search select, .moc-app .moc-verified-actions select { min-height: 44px; padding: 0 12px; border: 1px solid var(--w-line); border-radius: 8px; background: #fff; font-size: 15px; }
.moc-app .moc-admin-search input { flex: 1; min-width: 0; min-height: 44px; padding: 0 14px; border: 1px solid var(--w-line); border-radius: 8px; background: #fff; font-size: 15px; }
.moc-app .moc-admin-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.moc-app .moc-admin-church .moc-admin-actions { margin-bottom: 12px; }
.moc-app .moc-admin-shortcuts { margin-bottom: 16px; }
.moc-app .moc-admin-content-list { margin: 0; border-top: 1px solid var(--w-line-alt); }
.moc-app .moc-admin-content-list summary { padding: 12px 0; font-size: 14px; font-weight: 600; cursor: pointer; }
.moc-app .moc-admin-content-list a { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 8px; border: 0; border-radius: 8px; font-size: 14px; transition: background-color var(--w-fade); }
.moc-app .moc-admin-content-list a:hover { background: var(--w-fill-alt); }
.moc-app .moc-admin-content-list a .moc-icon { flex: none; width: 16px; height: 16px; color: var(--w-label-assistive); }
.moc-app :is(.moc-admin-heading, .moc-admin-church) .moc-church-verified { display: inline-block; padding: 2px 8px; border-radius: 6px; background: var(--w-primary-soft); color: var(--w-primary-ink); font-size: 12px; font-weight: 600; }
.moc-app .moc-verified-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; border-top: 1px solid var(--w-line-alt); }
.moc-app .moc-verified-row h3 { margin: 0; }
.moc-app .moc-verified-user { margin: 4px 0; font-size: 14px; overflow-wrap: anywhere; }
.moc-app .moc-verified-actions { display: flex; flex: none; gap: 8px; }
.moc-app .moc-member-state { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 6px; background: var(--w-fill-normal); color: var(--w-label-alt); font-size: 12px; font-weight: 600; line-height: 1.5; vertical-align: middle; }
.moc-app .moc-member-state.is-approved { background: #eefaf1; color: #1d7a3a; }
.moc-app .moc-member-state.is-rejected { background: #fdecea; color: #b42318; }
.moc-app .moc-attend-bar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.moc-app .moc-attend-row { cursor: pointer; }
.moc-app .moc-attend-row input { width: 22px; height: 22px; flex: none; accent-color: var(--w-primary-strong); }
.moc-app .moc-attend-save { padding-top: 16px; border-top: 1px solid var(--w-line-alt); }
.moc-app .moc-button-danger-outline { border-color: rgba(217, 45, 32, .4); color: #d92d20 !important; }
.moc-app .moc-cancel { width: min(560px, 100%); margin: 32px auto 64px; }
.moc-app .moc-cancel > p { margin: 8px 0 0; }
.moc-app .moc-cancel-summary { display: grid; gap: 2px; margin: 20px 0; padding: 16px 20px; background: #fff; border-radius: 12px; box-shadow: var(--w-shadow-card); }
.moc-app .moc-cancel-summary strong { font-size: 17px; line-height: 24px; }
.moc-app .moc-cancel-summary span { font-size: 14px; overflow-wrap: anywhere; }
.moc-app .moc-cancel .moc-button-row > * { flex: 1; }
.moc-app .moc-admin-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.moc-app .moc-admin-fields .is-wide { grid-column: 1 / -1; }
.moc-app :is(.moc-admin-fields label, .moc-admin-single, .moc-admin-photo label, .moc-worship-edit label) { display: grid; gap: 6px; margin: 0; font-size: 13px; font-weight: 600; color: var(--w-label-neutral); }
.moc-app :is(.moc-admin-form, .moc-worship-edit) :is(input:not([type=checkbox]):not([type=file]), textarea, select) { width: 100%; margin: 0; padding: 0 14px; border: 1px solid var(--w-line); border-radius: 8px; background: #fff; font-size: 15px; font-weight: 500; color: var(--w-ink); }
.moc-app :is(.moc-admin-form, .moc-worship-edit) :is(input:not([type=checkbox]):not([type=file]), select) { min-height: 44px; }
.moc-app .moc-admin-form input[type=file] { width: 100%; padding: 10px; border: 1px dashed var(--w-line); border-radius: 8px; background: #fff; font-size: 14px; }
.moc-app .moc-admin-form .moc-admin-fields textarea { min-height: 140px; padding: 12px 14px; line-height: 22px; resize: vertical; }
.moc-app .moc-admin-checks { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 16px; }
.moc-app .moc-admin-checks label { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; }
.moc-app .moc-admin-checks input { width: 18px; height: 18px; accent-color: var(--w-primary); }
.moc-app .moc-admin-photo { display: flex; align-items: center; gap: 20px; }
.moc-app .moc-admin-photo img, .moc-app .moc-admin-photo-empty { flex: none; width: 120px; height: 90px; border-radius: 8px; }
.moc-app .moc-admin-photo img { object-fit: cover; }
.moc-app .moc-admin-photo-empty { display: grid; place-items: center; background: var(--w-page); font-size: 13px; color: var(--w-label-alt); }
.moc-app .moc-worship-edit { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.moc-app .moc-admin-savebar { position: sticky; bottom: 16px; z-index: 4; display: flex; justify-content: flex-end; margin: 24px 0 64px; padding: 12px; border-radius: 12px; background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: var(--w-shadow-strong); }
.moc-app .moc-reader, .moc-app .moc-reader[data-reader-theme=paper] { --reader-bg: #f3ead6; --reader-ui: #ece1c8; --reader-ink: #3a2e1f; --reader-muted: #6b5a42; --reader-border: #dccdad; --reader-highlight: #e6d8b8; --reader-accent: #a84e00; }
.moc-app .moc-reader[data-reader-theme=paper] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .35 0 0 0 0 .2 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); box-shadow: 0 10px 35px rgba(110, 80, 30, .16), inset 0 0 70px rgba(150, 115, 60, .14); }
.moc-app .moc-my { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: 24px; align-items: start; margin: 32px 0 64px; }
.moc-app .moc-my-aside { position: sticky; top: 88px; display: grid; gap: 16px; }
.moc-app .moc-my-main { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; min-width: 0; }
.moc-app .moc-my-main > .moc-section { margin: 0; }
.moc-app .moc-my-main .moc-section-heading { margin-bottom: 16px; }
.moc-app :is(.moc-my-profile, .moc-my-menu, .moc-my-church, .moc-my-recent, .moc-saved-verse) { background: #fff; border: 0; border-radius: 12px; box-shadow: var(--w-shadow-card); }
.moc-app .moc-my-profile { display: grid; gap: 20px; padding: 24px; }
.moc-app .moc-my-id { display: flex; align-items: center; gap: 16px; min-width: 0; }
.moc-app .moc-my-id > div:last-child { min-width: 0; }
.moc-app .moc-my-avatar { flex: none; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: var(--w-primary-soft); color: var(--w-primary-ink); font-size: 22px; font-weight: 700; }
.moc-app .moc-my-id h1 { font-size: 20px; line-height: 28px; letter-spacing: -.012em; overflow-wrap: anywhere; }
.moc-app .moc-my-id p { font-size: 13px; line-height: 18px; color: var(--w-label-alt); overflow-wrap: anywhere; }
.moc-app .moc-my-actions { display: flex; align-items: center; gap: 8px; }
.moc-app .moc-my-actions form { margin: 0 0 0 auto; }
.moc-app .moc-my-menu { padding: 8px 0; }
.moc-app .moc-my-menu h2 { font-size: 13px; line-height: 18px; letter-spacing: .0194em; font-weight: 600; color: var(--w-label-alt); padding: 12px 20px 4px; }
.moc-app .moc-my-menu h2:not(:first-child) { border-top: 1px solid var(--w-line-alt); margin-top: 8px; padding-top: 16px; }
.moc-app .moc-my-menu a, .moc-app .moc-my-recent a { display: flex; align-items: center; gap: 12px; padding: 0 20px; font-size: 15px; line-height: 22px; font-weight: 500; color: var(--w-ink); transition: background-color var(--w-fade); }
.moc-app .moc-my-menu a { min-height: 52px; }
.moc-app .moc-my-menu a:hover, .moc-app .moc-my-recent a:hover { background: var(--w-fill-alt); }
.moc-app .moc-my-menu a:active, .moc-app .moc-my-recent a:active { background: var(--w-fill-normal); }
.moc-app .moc-my-menu a > span, .moc-app .moc-my-recent a > span { flex: 1; min-width: 0; }
.moc-app :is(.moc-my-menu, .moc-my-recent) a > .moc-icon:first-child { flex: none; width: 20px; height: 20px; color: var(--w-label-alt); }
.moc-app :is(.moc-my-menu, .moc-my-recent) a > .moc-icon:last-child { flex: none; width: 16px; height: 16px; color: var(--w-label-assistive); }
.moc-app .moc-my-badge { flex: none; min-width: 20px; padding: 0 6px; border-radius: 10px; background: var(--w-primary); color: var(--w-ink); font-size: 12px; font-style: normal; font-weight: 700; line-height: 20px; text-align: center; }
.moc-app .moc-my-menu a > .moc-my-badge + .moc-icon { margin-left: 0; }
.moc-app .moc-my-church { display: flex; align-items: center; gap: 16px; padding: 20px 24px; }
.moc-app .moc-my-church-icon { flex: none; width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; background: var(--w-primary-soft); color: var(--w-primary-ink); }
.moc-app .moc-my-church-icon .moc-icon { width: 24px; height: 24px; }
.moc-app .moc-my-church-info { flex: 1; min-width: 0; }
.moc-app .moc-my-church-info h3 { margin: 2px 0; }
.moc-app .moc-my-church-info p { font-size: 14px; line-height: 20px; color: var(--w-label-alt); }
.moc-app .moc-my-church-actions { flex: none; display: flex; align-items: center; gap: 8px; }
.moc-app .moc-my-tabs { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; position: sticky; top: 64px; z-index: 5; background: var(--w-page); box-shadow: 0 1px 0 var(--w-line); }
.moc-app .moc-my-tabs::-webkit-scrollbar { display: none; }
.moc-app .moc-my-tabs button { flex: none; position: relative; display: inline-flex; align-items: center; gap: 6px; min-height: 48px; padding: 0 16px; background: none; border: 0; font: inherit; font-size: 15px; font-weight: 600; color: var(--w-label-alt); transition: color var(--w-fade); }
.moc-app .moc-my-tabs button:hover, .moc-app .moc-my-tabs button[aria-selected=true] { color: var(--w-ink); }
.moc-app .moc-my-tabs button[aria-selected=true]:after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 0; height: 2px; background: var(--w-ink); }
.moc-app .moc-my-tabs button span { min-width: 20px; padding: 0 6px; border-radius: 10px; background: var(--w-fill-normal); font-size: 12px; line-height: 20px; text-align: center; }
.moc-app .moc-my-tabs button[aria-selected=true] span { background: var(--w-primary-soft); color: var(--w-primary-ink); }
.moc-app .moc-my-panel { padding-top: 20px; }
.moc-app .moc-my-panel[hidden] { display: none; }
.moc-app .moc-my-main .moc-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.moc-app .moc-my-main .moc-my-grid-wide { grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); }
.moc-app .moc-saved-verse { position: relative; padding: 24px 24px 56px; }
.moc-app .moc-saved-verse blockquote { margin: 0 0 12px; font-size: 16px; line-height: 26px; font-weight: 500; color: var(--w-ink); }
.moc-app .moc-saved-verse cite { font-size: 13px; color: var(--w-label-alt); font-style: normal; }
.moc-app .moc-saved-verse button { position: absolute; right: 12px; bottom: 12px; }
.moc-app .moc-my-recent { overflow: hidden; }
.moc-app .moc-my-recent a { min-height: 56px; border-bottom: 1px solid var(--w-line-alt); }
.moc-app .moc-my-recent a:last-child { border-bottom: 0; }
.moc-app .moc-my-recent a > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.moc-app .moc-my-recent small { flex: none; padding: 2px 8px; border-radius: 6px; background: var(--w-fill-normal); font-size: 12px; font-weight: 600; color: var(--w-label-alt); }

@media (max-width: 900px) {
  .moc-app .moc-my { grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 16px 0 40px; }
  .moc-app .moc-my-aside { display: contents; }
  .moc-app .moc-my-profile { order: 1; }
  .moc-app .moc-my-main { order: 2; gap: 32px; }
  .moc-app .moc-my-menu { order: 3; }
  .moc-app .moc-my-withdraw { order: 4; }
}
@media (max-width: 760px) {
  .moc-app h1 { font-size: 24px; line-height: 32px; letter-spacing: -.023em; }
  .moc-app h2 { font-size: 20px; line-height: 28px; letter-spacing: -.012em; }
  .moc-app .moc-my-church { flex-wrap: wrap; }
  .moc-app .moc-my-church-info { flex-basis: calc(100% - 64px); }
  .moc-app .moc-my-church-actions { width: 100%; }
  .moc-app .moc-my-church-actions .moc-button { flex: 1; }
  .moc-app .moc-home-page .moc-quick-menu { gap: 8px; }
  .moc-app .moc-home-page .moc-quick-menu a { align-items: center; padding: 12px 4px; text-align: center; }
  .moc-app .moc-home-page .moc-quick-icon { width: 36px; height: 36px; margin-bottom: 6px; }
  .moc-app .moc-home-page .moc-quick-menu strong { font-size: 13px; line-height: 18px; }
  .moc-app .moc-home-page .moc-quick-menu small { display: none; }
  .moc-app .moc-home-page .moc-section { margin: 36px 0; }
  .moc-app .moc-promo-box { flex-direction: column; align-items: stretch; }
  .moc-app .moc-admin-heading { flex-direction: column; align-items: stretch; gap: 12px; }
  .moc-app .moc-admin-section { padding: 16px; }
  .moc-app .moc-admin-fields { grid-template-columns: minmax(0, 1fr); }
  .moc-app .moc-worship-edit { grid-template-columns: 1fr 1fr; }
  .moc-app .moc-worship-edit label:first-child { grid-column: 1 / -1; }
  .moc-app .moc-admin-photo { flex-direction: column; align-items: stretch; }
  .moc-app .moc-verified-row { flex-direction: column; align-items: stretch; }
  .moc-app .moc-verified-actions .moc-button { flex: 1; }
  .moc-app .moc-admin-savebar { bottom: 76px; }
  .moc-app .moc-admin-savebar .moc-button { flex: 1; }
  .moc-app .moc-request-top { flex-direction: column; gap: 4px; }
  .moc-app .moc-my-main .moc-grid, .moc-app .moc-my-main .moc-my-grid-wide { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .moc-app * { transition-duration: .01ms !important; }
}

html, body.moc-app { overflow-x: clip; touch-action: pan-y pinch-zoom; }

@media (max-width: 760px) {
  .moc-app .moc-reader .moc-reader-toolbar { padding-top: 8px; padding-bottom: 8px; gap: 8px; }
  .moc-app .moc-reader .moc-reader-title > div { display: flex; align-items: baseline; gap: 6px; min-width: 0; }
  .moc-app .moc-reader .moc-reader-title strong { font-size: 15px; line-height: 1.3; white-space: nowrap; }
  .moc-app .moc-reader .moc-reader-title span { margin-top: 0; }
  .moc-app .moc-reader .moc-reader-tools button { width: 40px; height: 40px; min-height: 40px; padding: 0; font-size: 14px; }
  .moc-app .moc-reader .moc-reader-tools [data-reader-fullscreen] span,
  .moc-app .moc-reader .moc-reader-audio [data-reader-status] { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .moc-app .moc-reader .moc-reader-tools .moc-icon { width: 18px; height: 18px; }
  .moc-app .moc-reader .moc-reader-tools { gap: 4px; }
  .moc-app .moc-reader .moc-reader-audio-buttons { display: contents; }
  .moc-app .moc-reader .moc-reader-audio-buttons button { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; min-height: 40px; padding: 0; border: 1px solid var(--reader-border); border-radius: 9px; background: transparent; }
  .moc-app .moc-reader .moc-reader-audio-buttons [data-reader-play] { background: var(--reader-highlight); color: var(--reader-accent); }
  .moc-app .moc-reader .moc-reader-audio-buttons .moc-icon { width: 18px; height: 18px; }
  .moc-app .moc-reader .moc-reader-audio-buttons button > span { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .moc-app .moc-reader .moc-reader-audio-buttons [data-reader-stop]:disabled { display: none; }
  .moc-app .moc-reader .moc-reader-audio { position: relative; height: 2px; padding: 0; border-bottom: 0; }
  .moc-app .moc-reader .moc-reader-audio-status { position: absolute; inset: 0; }
  .moc-app .moc-reader .moc-reader-audio-status progress { margin: 0; height: 2px; }
  .moc-app .moc-reader .moc-reader-title { min-width: 0; flex: 1; }
  .moc-app .moc-reader .moc-reader-hint { display: none; }
  .moc-app .moc-reader .moc-reader-bottom { padding-top: 10px; padding-bottom: 10px; }
  .moc-app .moc-reader .moc-reader-paper { padding-top: 18px; }
  .moc-app .moc-reader .moc-reader-chapter-heading { padding-bottom: 14px; margin-bottom: 4px; }
  .moc-app .moc-reader .moc-reader-chapter-heading h2 { font-size: 28px; margin: 2px 0; }
  .moc-app .moc-reader .moc-reader-verse { padding-top: 10px; padding-bottom: 10px; }
  .moc-app .moc-reader .moc-reader-verse-actions { margin-top: 2px; }
}
.moc-app .moc-popup { width: min(360px, calc(100vw - 32px)); padding: 28px 24px 20px; border: 0; border-radius: 16px; box-shadow: var(--w-shadow-strong); text-align: center; }
.moc-app .moc-popup::backdrop { background: rgba(0, 0, 0, .45); }
.moc-app .moc-popup p { margin: 0 0 20px; font-size: 15px; line-height: 24px; word-break: keep-all; }
.moc-app .moc-popup .moc-button { width: 100%; }
.moc-app .moc-fp { max-width: 720px; margin: 0 auto; padding: 32px 0 64px; display: grid; gap: 32px; }
.moc-app .moc-fp-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; }
.moc-app .moc-fp-head h1 { margin: 0 0 4px; font-size: 26px; line-height: 34px; letter-spacing: -.0236em; }
.moc-app .moc-fp-head p { margin: 0; font-size: 14px; color: var(--w-label-alt); }
.moc-app .moc-fp-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--w-line-alt); border-radius: 16px; box-shadow: var(--w-shadow-card); overflow: hidden; }
.moc-app .moc-fp-stats div { display: grid; gap: 4px; padding: 20px; background: #fff; }
.moc-app .moc-fp-stats strong { font-size: 24px; line-height: 32px; letter-spacing: -.0236em; }
.moc-app .moc-fp-stats span { font-size: 13px; color: var(--w-label-alt); }
.moc-app .moc-fp-section h2 { margin: 0 0 12px; font-size: 17px; line-height: 24px; }
.moc-app .moc-fp-section h2 small { margin-left: 6px; font-size: 13px; font-weight: 500; color: var(--w-label-alt); }
.moc-app .moc-fp-section > * + .moc-fp-list { margin-top: 12px; }
.moc-app .moc-fp-list { background: #fff; border-radius: 16px; box-shadow: var(--w-shadow-card); overflow: hidden; }
.moc-app .moc-fp-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; border-top: 1px solid var(--w-line-alt); font-size: 15px; transition: background-color var(--w-fade); }
.moc-app .moc-fp-list > :first-child { border-top: 0; }
.moc-app .moc-fp-row > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.moc-app .moc-fp-row small { flex: none; font-size: 13px; color: var(--w-label-alt); }
.moc-app .moc-fp em { margin-left: 8px; font-style: normal; font-size: 13px; color: var(--w-label-alt); }
.moc-app a.moc-fp-row:active { background: var(--w-fill-normal); }
@media (hover: hover) and (pointer: fine) { .moc-app a.moc-fp-row:hover { background: var(--w-fill-alt); } }
.moc-app .moc-fp-empty { margin: 0; padding: 20px; background: #fff; border-radius: 16px; box-shadow: var(--w-shadow-card); font-size: 14px; color: var(--w-label-alt); }
.moc-app .moc-fp-more > summary, .moc-app .moc-fp-cert > summary, .moc-app .moc-fp-note summary { list-style: none; cursor: pointer; }
.moc-app .moc-fp-more > summary::-webkit-details-marker, .moc-app .moc-fp-cert > summary::-webkit-details-marker, .moc-app .moc-fp-note summary::-webkit-details-marker { display: none; }
.moc-app .moc-fp-more > summary { padding: 14px 20px; border-top: 1px solid var(--w-line-alt); font-size: 14px; font-weight: 600; color: var(--w-primary-ink); }
.moc-app .moc-fp-more[open] > summary { color: var(--w-label-alt); }
.moc-app .moc-fp-note { padding: 16px 20px; border-top: 1px solid var(--w-line-alt); }
.moc-app .moc-fp-ref { font-size: 14px; font-weight: 600; color: var(--w-primary-ink); }
.moc-app .moc-fp-note p { margin: 6px 0 10px; font-size: 15px; line-height: 24px; color: var(--w-label-neutral); }
.moc-app .moc-fp-note summary { display: inline-block; font-size: 13px; font-weight: 600; color: var(--w-label-alt); }
.moc-app .moc-fp-note textarea { display: block; width: 100%; margin-top: 10px; padding: 12px; border: 1px solid var(--w-line); border-radius: 8px; font: inherit; font-size: 15px; resize: vertical; }
.moc-app .moc-fp-actions { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.moc-app .moc-fp-prog { padding: 14px 20px; border-top: 1px solid var(--w-line-alt); }
.moc-app .moc-fp-prog > div { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
.moc-app .moc-fp-prog small { font-size: 13px; color: var(--w-label-alt); }
.moc-app .moc-fp-prog progress { width: 100%; height: 6px; margin-top: 10px; accent-color: var(--w-primary); }
.moc-app .moc-fp-cert { padding: 0 20px; background: #fff; border-radius: 16px; box-shadow: var(--w-shadow-card); }
.moc-app .moc-fp-cert > summary { padding: 18px 0; font-size: 15px; font-weight: 600; }
.moc-app .moc-fp-cert[open] > summary { padding-bottom: 8px; }
.moc-app .moc-fp-cert p { margin: 0 0 12px; font-size: 14px; color: var(--w-label-alt); }
.moc-app .moc-fp-cert form { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 20px; }
.moc-app .moc-fp-cert select { flex: 1 1 140px; min-height: 44px; padding: 0 12px; border: 1px solid var(--w-line); border-radius: 8px; background: #fff; font-size: 15px; }
.moc-app .moc-fp-foot { margin: 0; text-align: center; font-size: 14px; }
.moc-app .moc-fp-foot a { color: var(--w-label-alt); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 600px) {
  .moc-app .moc-fp { gap: 24px; padding-top: 20px; }
  .moc-app .moc-fp-stats { grid-template-columns: repeat(2, 1fr); }
  .moc-app .moc-fp-head .moc-button { width: 100%; }
}

.moc-app .moc-reader-verse-actions > .moc-reader-bookmark { display: inline-flex; align-items: center; gap: 4px; min-height: 28px; }
.moc-app .moc-reader-bookmark .moc-icon { width: 13px; height: 13px; }
.moc-app .moc-reader-bookmark[aria-pressed=true] { color: var(--reader-accent); font-weight: 700; }
.moc-app .moc-reader-bookmark[aria-pressed=true] .moc-icon { fill: currentColor; }

.moc-app .moc-reader-verse-actions { align-items: flex-start; }
.moc-app .moc-reader-verse-actions > button,
.moc-app .moc-reader-verse-actions summary { display: inline-flex; align-items: center; box-sizing: border-box; height: 28px; min-height: 28px; padding-top: 0; padding-bottom: 0; line-height: 1; }
.moc-app .moc-reader-verse-actions summary { display: flex; gap: 4px; }
.moc-app .moc-reader-verse-actions summary::before { content: "▸"; font-size: 11px; }
.moc-app .moc-reader-verse-actions details[open] > summary::before { content: "▾"; }

.moc-app .moc-icon-pause { display: none; }
.moc-app .moc-reader[data-playback=playing] [data-reader-play] .moc-icon-pause { display: inline-block; }
.moc-app .moc-reader[data-playback=playing] [data-reader-play] .moc-icon:first-of-type { display: none; }

.moc-app .moc-reader-audio-buttons button { display: inline-flex; align-items: center; gap: 5px; }

.moc-app .moc-reader-verse-actions { flex-wrap: wrap; row-gap: 8px; }
.moc-app .moc-reader-verse-actions details[open] { display: contents; }
.moc-app .moc-reader-verse-actions details[open] > form { order: 1; flex: 0 0 100%; min-width: 0; }
.moc-app .moc-reader-verse-actions details[open] textarea { width: 100%; box-sizing: border-box; }

.moc-app .moc-admin-heading > .moc-admin-actions { flex-shrink: 0; flex-wrap: nowrap; }
.moc-app .moc-admin-church .moc-admin-shortcuts { margin: 0 0 20px; }
@media (max-width: 760px) {
  .moc-app .moc-admin-heading > .moc-admin-actions .moc-button { flex: 1; }
}

.moc-app .moc-local-section .moc-region-tabs { position: relative; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0 0 18px; background: none; border: 0; border-radius: 0; }
.moc-app .moc-local-section .moc-region-tabs button { min-height: 40px; padding: 0 13px; border: 1px solid transparent; border-radius: 8px; background: var(--w-fill-normal); color: var(--w-label-neutral); font-size: 14px; font-weight: 600; line-height: 1; white-space: nowrap; transition: border-color .15s ease, background-color .15s ease, color .15s ease, transform .1s ease; }
@media (hover: hover) and (pointer: fine) {
  .moc-app .moc-local-section .moc-region-tabs button:not(.is-active):hover { border-color: var(--w-ink); background: #fff; color: var(--w-ink); }
}
.moc-app .moc-local-section .moc-region-tabs button:active { transform: scale(.96); }
.moc-app .moc-local-section .moc-region-tabs button.is-active { border-color: var(--w-cta); background: var(--w-cta); color: var(--w-on-cta) !important; font-weight: 600; }
.moc-app .moc-local-section .moc-region-tabs button:focus-visible { outline: 2px solid var(--w-ink); outline-offset: 2px; }
@media (max-width: 760px) {
  .moc-app .moc-local-section .moc-region-tabs { display: flex; flex-wrap: nowrap; gap: 8px; margin: 0 -18px 16px; padding: 2px 18px 6px; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; scrollbar-width: none; }
  .moc-app .moc-local-section .moc-region-tabs::-webkit-scrollbar { display: none; }
  .moc-app .moc-local-section .moc-region-tabs button { flex: 0 0 auto; scroll-snap-align: center; min-height: 42px; padding: 0 16px; font-size: 14px; word-break: keep-all; }
}
@media (prefers-reduced-motion: reduce) { .moc-app .moc-local-section .moc-region-tabs button { transition: none; } }

.moc-app .moc-admin-section { padding: 24px 28px; border-radius: 16px; }
.moc-app .moc-admin-head h2 { font-size: 18px; line-height: 26px; }
.moc-app .moc-admin-head p { margin: 2px 0 0; font-size: 13px; line-height: 18px; }
.moc-app :is(.moc-admin-heading, .moc-admin-church) .moc-church-verified { display: inline-flex; align-items: center; gap: 3px; margin-left: 6px; vertical-align: 1px; }
.moc-app .moc-church-verified .moc-icon { width: 12px; height: 12px; stroke-width: 2.4; }
.moc-app .moc-church-card { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.moc-app .moc-church-card-photo { flex: none; display: grid; place-items: center; width: 64px; height: 64px; overflow: hidden; border-radius: 16px; background: var(--w-primary-soft); color: var(--w-primary-ink); }
.moc-app .moc-church-card-photo img { width: 100%; height: 100%; object-fit: cover; }
.moc-app .moc-church-card-photo .moc-icon { width: 28px; height: 28px; }
.moc-app .moc-church-card-info { flex: 1; min-width: 0; }
.moc-app .moc-church-card-info h2 { margin: 0; font-size: 20px; line-height: 28px; letter-spacing: -.012em; overflow-wrap: anywhere; }
.moc-app .moc-church-card-info p { margin: 2px 0 0; font-size: 14px; }
.moc-app .moc-admin-menu { display: grid; margin-bottom: 28px; border: 1px solid var(--w-line-alt); border-radius: 12px; overflow: hidden; }
.moc-app .moc-admin-menu a { display: flex; align-items: center; gap: 14px; padding: 14px 16px; transition: background-color var(--w-fade), transform .16s ease-out; }
.moc-app .moc-admin-menu a + a { border-top: 1px solid var(--w-line-alt); }
.moc-app .moc-admin-menu a > span:nth-child(2) { flex: 1; min-width: 0; display: grid; gap: 1px; }
.moc-app .moc-admin-menu strong { font-size: 15px; line-height: 22px; }
.moc-app .moc-admin-menu small { font-size: 13px; line-height: 18px; color: var(--w-label-alt); }
.moc-app .moc-admin-menu > a > .moc-icon { flex: none; width: 18px; height: 18px; color: var(--w-label-assistive); transition: transform .16s ease-out, color var(--w-fade); }
.moc-app .moc-admin-menu-icon, .moc-app .moc-admin-quick-icon { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--w-primary-soft); color: var(--w-primary-ink); }
.moc-app :is(.moc-admin-menu-icon, .moc-admin-quick-icon) .moc-icon { width: 20px; height: 20px; }
.moc-app .moc-admin-sub { margin: 0 0 12px; font-size: 15px; line-height: 22px; color: var(--w-label-alt); }
.moc-app .moc-admin-quick { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.moc-app .moc-admin-quick a { display: grid; justify-items: start; gap: 2px; padding: 16px; border-radius: 12px; background: var(--w-fill-alt); transition: background-color var(--w-fade), transform .16s ease-out; }
.moc-app .moc-admin-quick-icon { margin-bottom: 10px; background: #fff; box-shadow: var(--w-shadow-card); }
.moc-app .moc-admin-quick strong { font-size: 15px; line-height: 22px; }
.moc-app .moc-admin-quick small { font-size: 13px; line-height: 18px; color: var(--w-label-alt); }
.moc-app .moc-admin-content-lists { border: 1px solid var(--w-line-alt); border-radius: 12px; overflow: hidden; }
.moc-app .moc-admin-content-lists .moc-admin-content-list { border-top: 0; }
.moc-app .moc-admin-content-lists .moc-admin-content-list + .moc-admin-content-list { border-top: 1px solid var(--w-line-alt); }
.moc-app .moc-admin-content-list summary { display: flex; align-items: center; gap: 8px; padding: 14px 16px; list-style: none; transition: background-color var(--w-fade); }
.moc-app .moc-admin-content-list summary::-webkit-details-marker { display: none; }
.moc-app .moc-admin-content-list summary span { flex: 1; }
.moc-app .moc-admin-content-list summary em { min-width: 24px; padding: 1px 8px; border-radius: 999px; background: var(--w-fill-normal); font-size: 12px; font-style: normal; font-weight: 600; text-align: center; color: var(--w-label-alt); }
.moc-app .moc-admin-content-list summary .moc-icon { width: 16px; height: 16px; color: var(--w-label-assistive); transition: transform .2s ease-out; }
.moc-app .moc-admin-content-list[open] summary .moc-icon { transform: rotate(90deg); }
.moc-app .moc-admin-content-list[open] { padding-bottom: 8px; }
.moc-app .moc-admin-content-list a { margin: 0 8px; padding: 10px 8px; }
.moc-app .moc-admin-content-list a span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.moc-app .moc-admin-content-list .moc-admin-empty { padding: 4px 16px 8px; }
.moc-app .moc-admin-form .moc-admin-section { margin-bottom: 16px; }
.moc-app .moc-admin-form .moc-admin-head { margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--w-line-alt); }
.moc-app .moc-admin-heading + .moc-admin-quick { margin-bottom: 24px; }
.moc-app .moc-admin-heading + .moc-admin-quick a { background: #fff; box-shadow: var(--w-shadow-card); }
.moc-app .moc-admin-heading + .moc-admin-quick .moc-admin-quick-icon { margin-bottom: 8px; background: var(--w-primary-soft); box-shadow: none; }
.moc-app .moc-admin-savebar { align-items: center; justify-content: space-between; gap: 16px; padding: 12px 12px 12px 20px; border-radius: 16px; }
.moc-app .moc-admin-savebar .moc-small { margin: 0; }
.moc-app .moc-admin-nav a:active, .moc-app :is(.moc-admin-quick a, .moc-admin-menu a):active { transform: scale(.985); }
@media (hover: hover) and (pointer: fine) {
  .moc-app .moc-admin-menu a:hover, .moc-app .moc-admin-content-list summary:hover { background: var(--w-fill-alt); }
  .moc-app .moc-admin-menu a:hover > .moc-icon { color: var(--w-label-alt); transform: translateX(2px); }
  .moc-app .moc-admin-quick a:hover { background: var(--w-fill-normal); }
  .moc-app .moc-admin-heading + .moc-admin-quick a:hover { background: #fff; box-shadow: var(--w-shadow-strong); }
}
@media (max-width: 760px) {
  .moc-app .moc-admin-section { padding: 20px 16px; }
  .moc-app .moc-admin-quick { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .moc-app .moc-church-card { flex-wrap: wrap; }
  .moc-app .moc-church-card > .moc-button { flex: 1 0 100%; }
  .moc-app .moc-admin-savebar .moc-small { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .moc-app :is(.moc-admin-quick a, .moc-admin-menu a):active { transform: none; }
  .moc-app .moc-admin-menu a:hover > .moc-icon { transform: none; }
}
.moc-app .moc-my-name { display: inline-block; max-width: 8em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.moc-app .moc-my-mode { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 4px; padding: 4px; background: var(--w-fill-alt); border-radius: 12px; }
.moc-app .moc-my-mode a { display: grid; place-items: center; min-height: 40px; padding: 0 8px; border-radius: 9px; font-size: 14px; font-weight: 600; color: var(--w-label-alt); text-align: center; transition: background-color .2s ease, color .2s ease; }
.moc-app .moc-my-mode a.is-active { background: #fff; color: var(--w-ink); box-shadow: var(--w-shadow-card); }
.moc-app .moc-my-menu-empty { padding: 16px 20px; font-size: 14px; color: var(--w-label-alt); }
