body.tenant-church{
  --church-bg:#f7f2e8;
  --church-ink:#1f2422;
  --church-panel:#fffaf0;
  --church-line:#e3d7c4;
  --church-brand:#0f766e;
  --church-accent:#9a3412;
  --ds-font-sans:"Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --ds-font-serif:"Crimson Pro", "Times New Roman", serif;
  --ds-color-bg:var(--church-bg);
  --ds-color-text:var(--church-ink);
  --ds-color-surface:var(--church-panel);
  --ds-color-border:var(--church-line);
  --ds-color-primary:var(--church-brand);
  background:var(--church-bg);
  color:var(--church-ink);
}
body.tenant-church[data-theme="dark"]{
  --church-bg:#0b0f12;
  --church-ink:#f2f2f2;
  --church-panel:#111820;
  --church-line:#24303a;
  --church-brand:#37c2b1;
  --church-accent:#f08c5a;
  --ds-color-bg:var(--church-bg);
  --ds-color-text:var(--church-ink);
  --ds-color-surface:var(--church-panel);
  --ds-color-border:var(--church-line);
  --ds-color-primary:var(--church-brand);
  background:var(--church-bg);
  color:var(--church-ink);
}
body.tenant-church header,body.tenant-church footer{background:#f0e6d6}
body.tenant-church[data-theme="dark"] header,body.tenant-church[data-theme="dark"] footer{background:#0d141b}
body.tenant-church .card{background:var(--church-panel);border-color:var(--church-line)}
body.tenant-church a{color:var(--church-brand)}
body.tenant-church :where(a,button,[role="button"],input:not([type="hidden"]),select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{
  outline:2px solid var(--church-brand);
  outline-offset:2px;
  border-radius:10px;
  box-shadow:0 0 0 2px rgba(15,118,110,.18);
}
@media (forced-colors: active){
  body.tenant-church :where(a,button,[role="button"],input:not([type="hidden"]),select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{
    outline:2px solid CanvasText;
    box-shadow:none;
  }
}
body.tenant-church .btn{background:#f6efe5;color:var(--church-ink);border-color:var(--church-line)}
body.tenant-church[data-theme="dark"] .btn{background:#141f27;color:var(--church-ink);border-color:var(--church-line)}
body.tenant-church .btn.secondary{background:var(--church-brand);border-color:var(--church-brand);color:#fff}
body.tenant-church .btn.ghost{color:var(--church-accent)}
body.tenant-church .btn.is-disabled{opacity:.55;pointer-events:none;cursor:not-allowed}
body.tenant-church .program-next-step{margin-top:.35rem;display:flex;gap:.35rem;align-items:baseline;flex-wrap:wrap}
body.tenant-church .attempt-dots{margin:.35rem 0 .6rem;display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}
body.tenant-church .attempt-dot{width:10px;height:10px;border-radius:999px;border:1px solid var(--church-line);background:rgba(67,80,95,.15);display:inline-block}
body.tenant-church .attempt-dot.is-pass{background:rgba(15,118,110,.22);border-color:rgba(15,118,110,.5)}
body.tenant-church .attempt-dot.is-fail{background:rgba(154,52,18,.18);border-color:rgba(154,52,18,.45)}
body.tenant-church .attempt-dot.is-more{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;line-height:1;background:transparent;color:var(--church-ink)}
body.tenant-church .badge{background:#f2e7d4;border-radius:999px;padding:.2rem .6rem;display:inline-block}
body.tenant-church[data-theme="dark"] .badge{background:#1b2a32}
body.tenant-church .badge.badge-status{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;line-height:1.1;border:1px solid var(--church-line);background:rgba(255,255,255,.55);color:var(--church-ink)}
body.tenant-church[data-theme="dark"] .badge.badge-status{border-color:#24303a;background:rgba(10,14,20,.55);color:var(--church-ink)}
body.tenant-church .badge.badge-status-success{border-color:rgba(15,118,110,.4);background:rgba(15,118,110,.15);color:#0f766e}
body.tenant-church .badge.badge-status-warn{border-color:rgba(186,124,0,.35);background:rgba(186,124,0,.14);color:#8f5d00}
body.tenant-church .badge.badge-status-error{border-color:rgba(255,180,180,.25);background:#3b1111;color:#ffb4b4}
body.tenant-church .badge.badge-status-muted{border-color:rgba(67,80,95,.35);background:rgba(67,80,95,.12);color:#2f4154}
body.tenant-church[data-theme="dark"] .badge.badge-status-success{border-color:rgba(45,212,191,.3);background:rgba(6,78,59,.55);color:#99f6e4}
body.tenant-church[data-theme="dark"] .badge.badge-status-warn{border-color:rgba(217,119,6,.35);background:rgba(113,63,18,.55);color:#fcd34d}
body.tenant-church[data-theme="dark"] .badge.badge-status-error{border-color:rgba(255,180,180,.3);background:#3b1111;color:#ffb4b4}
body.tenant-church[data-theme="dark"] .badge.badge-status-muted{border-color:rgba(71,85,105,.55);background:rgba(30,41,59,.55);color:#cbd5e1}
body.tenant-church .badge.badge-status-planned{border-color:rgba(67,80,95,.35);background:rgba(67,80,95,.12);color:#2f4154}
body.tenant-church .badge.badge-status-in_progress{border-color:rgba(186,124,0,.35);background:rgba(186,124,0,.12);color:#8f5d00}
body.tenant-church .badge.badge-status-filed{border-color:rgba(15,118,110,.35);background:rgba(15,118,110,.12);color:#0f766e}
body.tenant-church .badge.badge-status-approved{border-color:rgba(15,118,110,.4);background:rgba(15,118,110,.18);color:#0f766e}
body.tenant-church .badge.badge-status-rejected{border-color:rgba(255,180,180,.25);background:#3b1111;color:#ffb4b4}
body.tenant-church[data-theme="dark"] .badge.badge-status-planned{border-color:rgba(71,85,105,.55);background:rgba(30,41,59,.55);color:#cbd5e1}
body.tenant-church[data-theme="dark"] .badge.badge-status-in_progress{border-color:rgba(217,119,6,.35);background:rgba(113,63,18,.55);color:#fcd34d}
body.tenant-church[data-theme="dark"] .badge.badge-status-filed{border-color:rgba(45,212,191,.25);background:rgba(6,78,59,.45);color:#99f6e4}
body.tenant-church[data-theme="dark"] .badge.badge-status-approved{border-color:rgba(45,212,191,.3);background:rgba(6,78,59,.55);color:#99f6e4}
body.tenant-church[data-theme="dark"] .badge.badge-status-rejected{border-color:rgba(255,180,180,.3);background:#3b1111;color:#ffb4b4}
body.tenant-church .badge.badge-state-active{background:rgba(15,118,110,.12);border:1px solid rgba(15,118,110,.25);color:#0f766e}
body.tenant-church .badge.badge-state-expiring{background:rgba(186,124,0,.12);border:1px solid rgba(186,124,0,.3);color:#8f5d00}
body.tenant-church .badge.badge-state-pending{background:rgba(180,84,0,.14);border:1px solid rgba(180,84,0,.32);color:#a44d00}
body.tenant-church .badge.badge-state-expired{background:#3b1111;border:1px solid rgba(255,180,180,.25);color:#ffb4b4}
body.tenant-church .badge.badge-state-suspended{background:rgba(65,33,102,.2);border:1px solid rgba(122,91,168,.45);color:#d8c7ff}
body.tenant-church .badge.badge-state-revoked{background:#3b1111;border:1px solid rgba(255,180,180,.25);color:#ffb4b4}
body.tenant-church .badge.badge-state-unknown{background:rgba(67,80,95,.2);border:1px solid rgba(67,80,95,.4);color:#2f4154}
body.tenant-church[data-theme="dark"] .badge.badge-state-active{background:rgba(6,78,59,.45);border-color:rgba(45,212,191,.25);color:#99f6e4}
body.tenant-church[data-theme="dark"] .badge.badge-state-expiring{background:rgba(113,63,18,.5);border-color:rgba(217,119,6,.35);color:#fcd34d}
body.tenant-church[data-theme="dark"] .badge.badge-state-pending{background:rgba(124,45,18,.55);border-color:rgba(249,115,22,.35);color:#fdba74}
body.tenant-church[data-theme="dark"] .badge.badge-state-expired{background:#3b1111;border-color:rgba(255,180,180,.3);color:#ffb4b4}
body.tenant-church[data-theme="dark"] .badge.badge-state-suspended{background:rgba(59,7,100,.45);border-color:rgba(167,139,250,.35);color:#ddd6fe}
body.tenant-church[data-theme="dark"] .badge.badge-state-revoked{background:#3b1111;border-color:rgba(255,180,180,.3);color:#ffb4b4}
body.tenant-church[data-theme="dark"] .badge.badge-state-unknown{background:rgba(30,41,59,.6);border-color:rgba(71,85,105,.55);color:#cbd5e1}
body.tenant-church .filing-status-chip{
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.08em;
}
body.tenant-church .filing-next-cell{min-width:16rem}
body.tenant-church .filing-next-card{
  display:block;
  padding:.45rem .55rem;
  border:1px solid rgba(15,118,110,.2);
  border-radius:10px;
  background:rgba(15,118,110,.08);
}
body.tenant-church .filing-next-text{font-weight:600;line-height:1.35}
body.tenant-church[data-theme="dark"] .filing-next-card{
  border-color:rgba(45,212,191,.24);
  background:rgba(6,78,59,.34);
}
body.tenant-church .filing-due-badge{
  margin-left:.35rem;
  border:1px solid rgba(67,80,95,.24);
  background:rgba(67,80,95,.12);
  color:#2f4154;
}
body.tenant-church .filing-due-badge.filing-due-badge--overdue{
  border-color:rgba(255,180,180,.25);
  background:#3b1111;
  color:#ffb4b4;
}
body.tenant-church .filing-due-badge.filing-due-badge--soon{
  border-color:rgba(255,215,166,.28);
  background:#2f2413;
  color:#ffd7a6;
}
body.tenant-church .filing-due-badge.filing-due-badge--upcoming{
  border-color:rgba(67,80,95,.35);
  background:rgba(67,80,95,.12);
  color:#2f4154;
}
body.tenant-church[data-theme="dark"] .filing-due-badge{
  border-color:rgba(71,85,105,.5);
  background:rgba(30,41,59,.55);
  color:#cbd5e1;
}
body.tenant-church[data-theme="dark"] .filing-due-badge.filing-due-badge--overdue{
  border-color:rgba(255,180,180,.3);
  background:#3b1111;
  color:#ffb4b4;
}
body.tenant-church[data-theme="dark"] .filing-due-badge.filing-due-badge--soon{
  border-color:rgba(217,119,6,.4);
  background:rgba(113,63,18,.56);
  color:#fcd34d;
}
body.tenant-church .filing-row-overdue td{background:rgba(154,52,18,.05)}
body.tenant-church[data-theme="dark"] .filing-row-overdue td{background:rgba(124,45,18,.24)}
body.tenant-church .doc-dropzone{
  border:1px dashed var(--church-line);
  border-radius:12px;
  padding:.9rem .95rem;
  background:rgba(255,255,255,.35);
  cursor:pointer;
}
body.tenant-church .doc-dropzone.is-dragover{
  border-color:var(--church-brand);
  background:rgba(15,118,110,.1);
}
body.tenant-church[data-theme="dark"] .doc-dropzone{background:rgba(10,14,20,.5)}
body.tenant-church[data-theme="dark"] .doc-dropzone.is-dragover{
  border-color:rgba(45,212,191,.45);
  background:rgba(6,78,59,.35);
}
body.tenant-church .doc-dropzone p{margin:.15rem 0}
body.tenant-church .upload-file-list{
  margin:.55rem 0 0;
  border:1px solid var(--church-line);
  border-radius:10px;
  padding:.5rem .6rem;
  display:grid;
  gap:.3rem;
  background:rgba(255,255,255,.3);
}
body.tenant-church[data-theme="dark"] .upload-file-list{background:rgba(10,14,20,.5)}
body.tenant-church .upload-file-item{
  display:flex;
  justify-content:space-between;
  gap:.6rem;
  align-items:center;
  font-size:.9rem;
}
body.tenant-church .doc-expiry-badge{margin-left:.35rem}
body.tenant-church .doc-expiry-badge-30{
  border:1px solid rgba(217,119,6,.35);
  background:rgba(255,237,213,.7);
  color:#9a3412;
}
body.tenant-church .doc-expiry-badge-14{
  border:1px solid rgba(180,84,0,.4);
  background:rgba(180,84,0,.16);
  color:#8a3600;
}
body.tenant-church .doc-expiry-badge-7{
  border:1px solid rgba(154,52,18,.45);
  background:rgba(154,52,18,.18);
  color:#7c2d12;
}
body.tenant-church .doc-expiry-badge-expired{
  border:1px solid rgba(255,180,180,.3);
  background:#3b1111;
  color:#ffb4b4;
}
body.tenant-church[data-theme="dark"] .doc-expiry-badge-30{
  border-color:rgba(217,119,6,.45);
  background:rgba(113,63,18,.55);
  color:#fcd34d;
}
body.tenant-church[data-theme="dark"] .doc-expiry-badge-14{
  border-color:rgba(249,115,22,.45);
  background:rgba(124,45,18,.58);
  color:#fdba74;
}
body.tenant-church[data-theme="dark"] .doc-expiry-badge-7{
  border-color:rgba(251,146,60,.45);
  background:rgba(127,29,29,.5);
  color:#fed7aa;
}
body.tenant-church .notice{margin:.8rem 0;padding:.75rem .9rem;border-radius:12px;border:1px solid var(--church-line);background:rgba(255,255,255,.35);color:var(--church-ink);display:flex;gap:.75rem;align-items:flex-start;justify-content:space-between}
body.tenant-church[data-theme="dark"] .notice{border-color:#24303a;background:rgba(10,14,20,.45);color:var(--church-ink)}
body.tenant-church .notice.notice-error{border-color:rgba(154,52,18,.28);background:rgba(154,52,18,.10);color:var(--church-ink)}
body.tenant-church .notice.notice-success{border-color:rgba(15,118,110,.28);background:rgba(15,118,110,.12);color:var(--church-ink)}
body.tenant-church .notice.notice-maintenance{border-color:rgba(186,124,0,.35);background:rgba(186,124,0,.12);color:var(--church-ink)}
body.tenant-church[data-theme="dark"] .notice.notice-error{border-color:rgba(249,115,22,.25);background:rgba(124,45,18,.55)}
body.tenant-church[data-theme="dark"] .notice.notice-success{border-color:rgba(45,212,191,.25);background:rgba(6,78,59,.45)}
body.tenant-church[data-theme="dark"] .notice.notice-maintenance{border-color:rgba(217,119,6,.35);background:rgba(113,63,18,.55)}
body.tenant-church .notice .notice-close{border:1px solid var(--church-line);background:rgba(255,255,255,.45);color:var(--church-ink);border-radius:10px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
body.tenant-church .notice .notice-close:hover{background:rgba(255,255,255,.65)}
body.tenant-church[data-theme="dark"] .notice .notice-close{border-color:#24303a;background:rgba(10,14,20,.55)}
body.tenant-church[data-theme="dark"] .notice .notice-close:hover{background:rgba(10,14,20,.72)}
body.tenant-church .notice .notice-close:focus-visible{outline:2px solid var(--church-brand);outline-offset:2px}
body.tenant-church .notice.is-hidden{display:none}
body.tenant-church .nav-brand{color:var(--church-ink)}
body.tenant-church .church-brand{display:inline-flex;align-items:center;gap:.6rem}
body.tenant-church .church-brand img{width:28px;height:28px}
body.tenant-church .nav-toggle{border-color:var(--church-line);color:var(--church-ink);background:#f6efe5;border-radius:999px;padding:.35rem .7rem}
body.tenant-church .nav-toggle:hover{background:#f0e6d6}
body.tenant-church[data-theme="dark"] .nav-toggle{background:#111820;border-color:#24303a;color:var(--church-ink)}
body.tenant-church[data-theme="dark"] .nav-toggle:hover{background:#16212b}
body.tenant-church .nav-toggle-bars span{background:currentColor}
body.tenant-church .nav-links .nav-action,body.tenant-church footer .footer-admin .nav-action{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border:1px solid var(--church-line);border-radius:999px;background:#f6efe5;color:var(--church-ink);font-size:.85rem;text-decoration:none}
body.tenant-church .nav-links .nav-action:hover,body.tenant-church footer .footer-admin .nav-action:hover{background:#f0e6d6;text-decoration:none}
body.tenant-church[data-theme="dark"] .nav-links .nav-action,body.tenant-church[data-theme="dark"] footer .footer-admin .nav-action{background:#111820;border-color:#24303a;color:var(--church-ink)}
body.tenant-church[data-theme="dark"] .nav-links .nav-action:hover,body.tenant-church[data-theme="dark"] footer .footer-admin .nav-action:hover{background:#16212b}
body.tenant-church .nav-links .nav-action.is-active{background:var(--church-brand);border-color:var(--church-brand);color:#fff;font-weight:700}
body.tenant-church[data-theme="dark"] .nav-links .nav-action.is-active{color:#021617}
body.tenant-church table{width:100%;border-collapse:collapse}
body.tenant-church th,body.tenant-church td{border-bottom:1px solid var(--church-line);padding:.6rem;text-align:left;vertical-align:top}
body.tenant-church .table-wrap{overflow-x:auto}
body.tenant-church .inline-form{display:flex;gap:.4rem;align-items:center}
body.tenant-church .form textarea{resize:vertical}
body.tenant-church .civility-assist{border-style:dashed}
body.tenant-church .civility-meter{border:1px solid var(--church-line);border-radius:10px;padding:.7rem .8rem;background:rgba(255,255,255,.45);margin:.6rem 0}
body.tenant-church[data-theme="dark"] .civility-meter{border-color:#24303a;background:rgba(10,14,20,.5)}
body.tenant-church .civility-meter-track{height:10px;border-radius:999px;background:rgba(67,80,95,.2);overflow:hidden;margin:.45rem 0}
body.tenant-church .civility-meter-fill{display:block;height:100%;background:linear-gradient(90deg,#9a3412 0%, #ba7c00 38%, #0f766e 100%);transition:width .2s ease}
body.tenant-church .civility-cooldown{padding:.45rem .6rem;border:1px solid rgba(186,124,0,.35);border-radius:10px;background:rgba(186,124,0,.08)}
body.tenant-church[data-theme="dark"] .civility-cooldown{border-color:rgba(217,119,6,.35);background:rgba(113,63,18,.45)}
body.tenant-church .civility-suggestions{padding:.55rem .65rem;border:1px solid rgba(15,118,110,.25);border-radius:10px;background:rgba(15,118,110,.08)}
body.tenant-church[data-theme="dark"] .civility-suggestions{border-color:rgba(45,212,191,.3);background:rgba(6,78,59,.42)}
body.tenant-church .hymn{white-space:pre-wrap;background:#f2e7d4;border:1px solid var(--church-line);border-radius:10px;padding:1rem}
body.tenant-church[data-theme="dark"] .hymn{background:#132029}
body.tenant-church .hymn-verse-stack{margin-top:1.2rem;padding-top:1.2rem;border-top:1px dashed var(--church-line)}
body.tenant-church .hymn-verse{margin-top:.9rem;border:1px solid var(--church-line);border-radius:12px;padding:1rem;background:rgba(255,255,255,.35)}
body.tenant-church[data-theme="dark"] .hymn-verse{background:rgba(10,14,20,.45)}
body.tenant-church .hymn-prose h1{margin:0 0 .4rem;font-size:1.6rem}
body.tenant-church .hymn-prose h2{margin:.4rem 0 1rem;font-size:1.1rem;color:var(--church-accent)}
body.tenant-church .hymn-prose p{margin:.6rem 0}
body.tenant-church .hymn-menu{display:flex;gap:.6rem;flex-wrap:wrap;margin:.6rem 0 0}
body.tenant-church .hymn-menu a{padding:.35rem .8rem;border:1px solid var(--church-line);border-radius:999px;background:#f6efe5;color:var(--church-ink);text-decoration:none;font-size:.9rem;display:inline-flex;align-items:center;gap:.45rem}
body.tenant-church .hymn-menu a.active{background:var(--church-brand);border-color:var(--church-brand);color:#fff}
body.tenant-church .hymn-menu a.locked{border-style:dashed}
body.tenant-church .hymn-menu-badge{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;padding:.1rem .45rem;border-radius:999px;border:1px solid var(--church-line);background:rgba(255,255,255,.35);color:var(--church-ink);line-height:1}
body.tenant-church .hymn-menu-count{font-size:.72rem;font-weight:700;padding:.1rem .45rem;border-radius:999px;border:1px solid var(--church-line);background:rgba(255,255,255,.55);color:var(--church-ink);line-height:1}
body.tenant-church .hymn-menu a.active .hymn-menu-badge{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff}
body.tenant-church .hymn-menu a.active .hymn-menu-count{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff}
body.tenant-church[data-theme="dark"] .hymn-menu a{background:#111820;border-color:#24303a;color:var(--church-ink)}
body.tenant-church[data-theme="dark"] .hymn-menu a.active{background:var(--church-brand);border-color:var(--church-brand);color:#021617}
body.tenant-church[data-theme="dark"] .hymn-menu-badge{border-color:#24303a;background:rgba(10,14,20,.55);color:var(--church-ink)}
body.tenant-church[data-theme="dark"] .hymn-menu-count{border-color:#24303a;background:rgba(10,14,20,.65);color:var(--church-ink)}
body.tenant-church[data-theme="dark"] .hymn-menu a.active .hymn-menu-badge{border-color:rgba(2,22,23,.25);background:rgba(2,22,23,.18);color:#021617}
body.tenant-church[data-theme="dark"] .hymn-menu a.active .hymn-menu-count{border-color:rgba(2,22,23,.25);background:rgba(2,22,23,.18);color:#021617}
body.tenant-church .hymn-tools{margin:.9rem 0 0;display:flex;flex-direction:column;gap:.45rem}
body.tenant-church .hymn-tools-row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
body.tenant-church .hymn-filter{flex:1;min-width:220px;padding:.55rem .7rem;border:1px solid var(--church-line);border-radius:14px;background:rgba(255,255,255,.55);color:var(--church-ink)}
body.tenant-church[data-theme="dark"] .hymn-filter{background:rgba(10,14,20,.55);border-color:#24303a;color:var(--church-ink)}
body.tenant-church .hymn-clear{padding:.45rem .8rem}
body.tenant-church .hymn-count{margin:0}
body.tenant-church .hymn-detail-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
body.tenant-church .hymn-audio-picker{border:1px solid var(--church-line);border-radius:12px;padding:.8rem .9rem;background:rgba(255,255,255,.35)}
body.tenant-church[data-theme="dark"] .hymn-audio-picker{background:rgba(10,14,20,.45);border-color:#24303a}
body.tenant-church .hymn-audio-picker-meta{margin:.4rem 0 .55rem}
body.tenant-church .hymn-audio-library-list{display:grid;gap:.7rem}
body.tenant-church .hymn-audio-library-item{border:1px solid var(--church-line);border-radius:12px;background:rgba(255,255,255,.35)}
body.tenant-church[data-theme="dark"] .hymn-audio-library-item{background:rgba(10,14,20,.45);border-color:#24303a}
body.tenant-church .hymn-audio-library-summary{cursor:pointer;display:flex;gap:.6rem;align-items:flex-start;padding:.7rem .85rem}
body.tenant-church .hymn-audio-library-summary strong{display:block;line-height:1.2}
body.tenant-church .hymn-audio-library-summary .muted{display:block;margin-top:.15rem}
body.tenant-church .hymn-audio-library-body{padding:0 .85rem .85rem}
body.tenant-church .hymn-audio-library-variants{display:grid;gap:.55rem}
body.tenant-church .hymn-audio-library-variant{border:1px solid var(--church-line);border-radius:10px;padding:.55rem .65rem;background:rgba(255,255,255,.4)}
body.tenant-church[data-theme="dark"] .hymn-audio-library-variant{border-color:#24303a;background:rgba(10,14,20,.5)}
body.tenant-church .cta-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
body.tenant-church .cta-actions form{margin:0}
body.tenant-church .program-progress-head{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
body.tenant-church .program-progress-ring{--pct:0;width:34px;height:34px;border-radius:999px;display:grid;place-items:center;border:1px solid var(--church-line);background:rgba(255,255,255,.55)}
body.tenant-church[data-theme="dark"] .program-progress-ring{background:rgba(10,14,20,.55)}
@supports (background: conic-gradient(#000 0%, #fff 100%)){
  body.tenant-church .program-progress-ring{
    background:
      conic-gradient(var(--church-brand) calc(var(--pct) * 1%), rgba(67,80,95,.15) 0);
    border-color:rgba(67,80,95,.25);
  }
  body.tenant-church[data-theme="dark"] .program-progress-ring{
    background:
      conic-gradient(var(--church-brand) calc(var(--pct) * 1%), rgba(200,210,220,.12) 0);
    border-color:#24303a;
  }
}
body.tenant-church .program-progress-ring-label{font-size:.72rem;font-weight:800;letter-spacing:-.02em;color:var(--church-ink);background:var(--church-panel);border:1px solid var(--church-line);width:26px;height:26px;border-radius:999px;display:grid;place-items:center}
body.tenant-church[data-theme="dark"] .program-progress-ring-label{background:#0b0f12;border-color:#24303a}
body.tenant-church .program-progress-meter{margin:.25rem 0 .3rem;height:8px;border-radius:999px;overflow:hidden;border:1px solid var(--church-line);background:rgba(255,255,255,.45)}
body.tenant-church[data-theme="dark"] .program-progress-meter{background:rgba(10,14,20,.55)}
body.tenant-church .program-progress-meter{position:relative}
body.tenant-church .program-progress-meter .fill{display:block;height:100%;background:linear-gradient(90deg,var(--church-brand),#7dd3fc)}
body.tenant-church .program-progress-meter.is-animated .fill{width:0;transition:width .9s cubic-bezier(.2,.7,.2,1)}
body.tenant-church .program-progress-meter .tick{position:absolute;top:-2px;bottom:-2px;width:2px;border-radius:2px;opacity:.85}
body.tenant-church .program-progress-meter .tick.req{left:calc(var(--req) * 1%);background:rgba(154,52,18,.55)}
body.tenant-church .program-progress-meter .tick.tot{left:calc(var(--tot) * 1%);background:rgba(15,118,110,.6)}
body.tenant-church .program-progress-meter.segmented{--segments:8}
body.tenant-church .program-progress-meter.segmented::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:3;
  background-image:repeating-linear-gradient(
    90deg,
    transparent 0,
    transparent calc((100% / var(--segments)) - 1px),
    rgba(2, 6, 23, .18) calc((100% / var(--segments)) - 1px),
    rgba(2, 6, 23, .18) calc(100% / var(--segments))
  );
}
body.tenant-church[data-theme="dark"] .program-progress-meter.segmented::after{
  background-image:repeating-linear-gradient(
    90deg,
    transparent 0,
    transparent calc((100% / var(--segments)) - 1px),
    rgba(226, 232, 240, .2) calc((100% / var(--segments)) - 1px),
    rgba(226, 232, 240, .2) calc(100% / var(--segments))
  );
}
body.tenant-church .program-progress-meter.segmented .tick{z-index:4}
body.tenant-church .program-blockers{margin-top:.25rem;display:grid;gap:.2rem}
body.tenant-church .program-blockers > *{opacity:.95}
body.tenant-church .program-blockers.is-animated > *{
  opacity:0;
  transform:translateY(4px);
  animation:churchBlockerReveal .45s ease forwards;
}
body.tenant-church .program-blockers.is-animated > *:nth-child(2){animation-delay:.08s}
body.tenant-church .program-blockers.is-animated > *:nth-child(3){animation-delay:.14s}
body.tenant-church .program-blockers.is-animated > *:nth-child(4){animation-delay:.2s}
@keyframes churchBlockerReveal{
  from{opacity:0;transform:translateY(4px)}
  to{opacity:1;transform:translateY(0)}
}

body.tenant-church .reveal-on-scroll{
  opacity:0;
  transform:translateY(10px);
  transition:opacity .45s ease, transform .45s ease;
}
body.tenant-church .reveal-on-scroll.is-visible{
  opacity:1;
  transform:translateY(0);
}
body.tenant-church .reveal-on-scroll[data-reveal-delay="1"]{transition-delay:.06s}
body.tenant-church .reveal-on-scroll[data-reveal-delay="2"]{transition-delay:.12s}
body.tenant-church .reveal-on-scroll[data-reveal-delay="3"]{transition-delay:.18s}
body.tenant-church .timeline-list{list-style:none;margin:.8rem 0 0;padding:0;display:grid;gap:.45rem}
body.tenant-church .timeline-item{display:grid;grid-template-columns:minmax(120px,auto) minmax(0,1fr);gap:.65rem;padding:.55rem .65rem;border:1px solid var(--church-line);border-radius:10px;background:rgba(255,255,255,.35)}
body.tenant-church[data-theme="dark"] .timeline-item{background:rgba(10,14,20,.45)}
@media (max-width: 640px){body.tenant-church .timeline-item{grid-template-columns:1fr}}
body.tenant-church .hymn-detail-head .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
body.tenant-church .theme-toggle{background:transparent;border:1px solid var(--church-line);border-radius:999px;padding:.35rem .8rem;color:var(--church-ink);cursor:pointer;font-size:1rem;line-height:1;display:inline-flex;align-items:center;gap:.35rem}
body.tenant-church .theme-toggle .theme-label{display:none}
body.tenant-church .grid.trio .card h2{margin-top:0}
body.tenant-church .grid.trio .card p{margin:.5rem 0}
body.tenant-church .lesson-content{padding:clamp(1rem,2vw,1.5rem)}
body.tenant-church .lesson-prose{
  max-width:74ch;
  margin:0 auto;
  color:var(--church-ink);
  font-size:clamp(1rem,.96rem + .22vw,1.08rem);
  line-height:1.72;
  overflow-wrap:anywhere;
}
body.tenant-church .lesson-prose > :first-child{margin-top:0}
body.tenant-church .lesson-prose > :last-child{margin-bottom:0}
body.tenant-church .lesson-prose :is(p,ul,ol,blockquote,pre,table){margin:.85rem 0}
body.tenant-church .lesson-prose :is(h1,h2,h3,h4){line-height:1.25;letter-spacing:-.01em}
body.tenant-church .lesson-prose h1{font-size:clamp(1.55rem,1.32rem + .8vw,2rem);margin:0 0 .75rem}
body.tenant-church .lesson-prose h2{
  font-size:clamp(1.22rem,1.1rem + .4vw,1.5rem);
  margin:1.55rem 0 .65rem;
  padding-top:.45rem;
  border-top:1px solid var(--church-line);
}
body.tenant-church .lesson-prose h3{font-size:clamp(1.08rem,1.02rem + .28vw,1.25rem);margin:1.2rem 0 .5rem}
body.tenant-church .lesson-prose h4{font-size:1rem;margin:1rem 0 .45rem;text-transform:uppercase;letter-spacing:.04em;color:var(--church-accent)}
body.tenant-church .lesson-prose .lesson-example-callout{
  margin:1rem 0;
  padding:.75rem .9rem .82rem;
  border:1px solid rgba(15,118,110,.24);
  border-left:4px solid var(--church-brand);
  border-radius:12px;
  background:linear-gradient(135deg, rgba(15,118,110,.10) 0%, rgba(15,118,110,.04) 100%);
}
body.tenant-church .lesson-prose .lesson-example-callout::before{
  content:attr(data-example-label);
  display:block;
  margin-bottom:.28rem;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--church-accent);
}
body.tenant-church .lesson-prose :is(ul,ol){padding-left:1.25rem}
body.tenant-church .lesson-prose li{margin:.35rem 0}
body.tenant-church .lesson-prose blockquote{
  margin:1rem 0;
  padding:.7rem .95rem;
  border-left:3px solid var(--church-brand);
  border-radius:0 10px 10px 0;
  background:rgba(255,255,255,.45);
}
body.tenant-church .lesson-prose code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:.92em;
  padding:.12rem .32rem;
  border-radius:6px;
  background:rgba(15,23,42,.08);
}
body.tenant-church .lesson-prose pre{
  padding:.75rem .9rem;
  border:1px solid var(--church-line);
  border-radius:10px;
  background:rgba(255,255,255,.45);
  overflow:auto;
}
body.tenant-church .lesson-prose pre code{padding:0;background:transparent}
body.tenant-church .lesson-prose table{width:100%;font-size:.95em}
body.tenant-church .lesson-prose hr{border:0;border-top:1px dashed var(--church-line);margin:1.25rem 0}
body.tenant-church .lesson-prose a{text-decoration-thickness:1.5px;text-underline-offset:.12em}
body.tenant-church[data-theme="dark"] .lesson-prose blockquote{background:rgba(10,14,20,.45)}
body.tenant-church[data-theme="dark"] .lesson-prose code{background:rgba(148,163,184,.2)}
body.tenant-church[data-theme="dark"] .lesson-prose pre{background:rgba(10,14,20,.55)}
body.tenant-church[data-theme="dark"] .lesson-prose .lesson-example-callout{
  border-color:rgba(45,212,191,.32);
  background:linear-gradient(135deg, rgba(6,78,59,.5) 0%, rgba(15,23,42,.35) 100%);
}
body.tenant-church .lesson-accessibility-tools{
  margin:.5rem 0 0;
  padding:.7rem .8rem;
  border:1px dashed rgba(15,118,110,.32);
  border-radius:12px;
  background:rgba(15,118,110,.08);
}
body.tenant-church[data-theme="dark"] .lesson-accessibility-tools{
  border-color:rgba(45,212,191,.32);
  background:rgba(6,78,59,.42);
}
body.tenant-church [data-a11y-toggle].is-active,
body.tenant-church [data-read-aloud-target].is-active{
  background:var(--church-brand);
  border-color:var(--church-brand);
  color:#fff;
}
body.tenant-church .lesson-plain-summary{
  display:none;
  margin-top:.7rem;
  padding:.65rem .75rem;
  border:1px solid rgba(15,118,110,.3);
  border-radius:12px;
  background:rgba(255,255,255,.5);
}
body.tenant-church[data-theme="dark"] .lesson-plain-summary{
  background:rgba(10,14,20,.55);
  border-color:rgba(45,212,191,.26);
}
body.tenant-church.a11y-plain .lesson-plain-summary{display:block}
body.tenant-church.a11y-plain .lesson-prose{
  font-size:clamp(1.08rem,1rem + .25vw,1.2rem);
  line-height:1.9;
}
body.tenant-church.a11y-plain .lesson-prose :is(pre,table){display:none}
body.tenant-church.a11y-plain .lesson-prose :is(h2,h3){border-top-style:solid}
body.tenant-church.a11y-dyslexia .lesson-prose,
body.tenant-church.a11y-dyslexia .lesson-content,
body.tenant-church.a11y-dyslexia .lesson-reading-progress{
  font-family:"Atkinson Hyperlegible","OpenDyslexic","Lexend",var(--ds-font-sans);
  letter-spacing:.02em;
  word-spacing:.05em;
}
body.tenant-church.a11y-dyslexia .lesson-prose :is(p,li){
  line-height:1.95;
}
body.tenant-church.a11y-high-contrast{
  --church-bg:#000;
  --church-ink:#fff;
  --church-panel:#000;
  --church-line:#fff;
  --church-brand:#00ffff;
  --church-accent:#ffd400;
}
body.tenant-church.a11y-high-contrast a{
  color:#00ffff;
  text-decoration:underline;
  text-decoration-thickness:2px;
}
body.tenant-church.a11y-high-contrast .card,
body.tenant-church.a11y-high-contrast .panel-card,
body.tenant-church.a11y-high-contrast .lesson-prose blockquote,
body.tenant-church.a11y-high-contrast details.details,
body.tenant-church.a11y-high-contrast .lesson-reading-progress{
  background:#000 !important;
  color:#fff !important;
  border-color:#fff !important;
  box-shadow:none !important;
}
body.tenant-church.a11y-high-contrast .btn{
  background:#000;
  color:#fff;
  border:2px solid #fff;
}
body.tenant-church.a11y-high-contrast .btn.secondary{
  background:#00ffff;
  color:#000;
  border-color:#00ffff;
}
body.tenant-church.a11y-high-contrast input[type=text],
body.tenant-church.a11y-high-contrast input[type=number],
body.tenant-church.a11y-high-contrast input[type=password],
body.tenant-church.a11y-high-contrast input[type=email],
body.tenant-church.a11y-high-contrast input[type=tel],
body.tenant-church.a11y-high-contrast input[type=url],
body.tenant-church.a11y-high-contrast input[type=search],
body.tenant-church.a11y-high-contrast input[type=date],
body.tenant-church.a11y-high-contrast input[type=time],
body.tenant-church.a11y-high-contrast input[type=datetime-local],
body.tenant-church.a11y-high-contrast select,
body.tenant-church.a11y-high-contrast textarea{
  background:#000;
  color:#fff;
  border:2px solid #fff;
}
body.tenant-church .mini-quiz-card .mini-quiz-question{margin-bottom:.7rem}
body.tenant-church .mini-quiz-card [data-mini-feedback].quiz-correct{color:#0f766e}
body.tenant-church .mini-quiz-card [data-mini-feedback].quiz-wrong{color:#9a3412}
body.tenant-church[data-theme="dark"] .mini-quiz-card [data-mini-feedback].quiz-correct{color:#99f6e4}
body.tenant-church[data-theme="dark"] .mini-quiz-card [data-mini-feedback].quiz-wrong{color:#fdba74}
body.tenant-church.a11y-high-contrast .mini-quiz-card [data-mini-feedback].quiz-correct{color:#00ff9c}
body.tenant-church.a11y-high-contrast .mini-quiz-card [data-mini-feedback].quiz-wrong{color:#ffd400}
body.tenant-church .policy-prose{
  max-width:74ch;
  margin:0 auto;
  color:var(--church-ink);
  font-size:clamp(1rem,.96rem + .22vw,1.08rem);
  line-height:1.72;
}
body.tenant-church .policy-prose .card{margin-left:0;margin-right:0}
body.tenant-church .policy-prose h2{
  font-size:clamp(1.22rem,1.1rem + .4vw,1.5rem);
  margin:0 0 .65rem;
  line-height:1.25;
}
body.tenant-church .policy-prose h3{
  font-size:clamp(1.08rem,1.02rem + .28vw,1.25rem);
  margin:0 0 .5rem;
  line-height:1.3;
}
body.tenant-church .policy-prose :is(p,li){line-height:1.68}
body.tenant-church .policy-prose ul{padding-left:1.25rem}
body.tenant-church .policy-prose li{margin:.3rem 0}
body.tenant-church .auto-toc{padding:1rem 1.1rem}
body.tenant-church .auto-toc-list{margin:.35rem 0 0;padding:0;list-style:none;display:grid;gap:.32rem}
body.tenant-church .auto-toc-item a{text-decoration:none}
body.tenant-church .auto-toc-item a:hover{text-decoration:underline}
body.tenant-church .auto-toc-item.depth-h3{padding-left:1rem}
body.tenant-church .auto-toc-item.depth-h3::before{
  content:"↳";
  display:inline-block;
  margin-right:.35rem;
  color:var(--church-accent);
}
body.tenant-church .brand-kit-swatches{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:.75rem;
}
body.tenant-church .brand-kit-swatch{
  border:1px solid var(--church-line);
  border-radius:12px;
  padding:.75rem;
  background:rgba(255,255,255,.35);
}
body.tenant-church[data-theme="dark"] .brand-kit-swatch{background:rgba(10,14,20,.45)}
body.tenant-church .brand-kit-swatch p{margin:.25rem 0}
body.tenant-church .brand-kit-chip{
  height:48px;
  border-radius:10px;
  border:1px solid var(--church-line);
  background:var(--swatch, #fff);
  margin:0 0 .55rem;
}
body.tenant-church :is(.lesson-quiz,.quiz-form) legend{font-weight:600;margin-bottom:.4rem}
body.tenant-church :is(.lesson-quiz,.quiz-form) fieldset{border:1px solid var(--church-line);border-radius:12px;padding:1rem;margin:0 0 1rem}
body.tenant-church .lesson-quiz .quiz-header{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
body.tenant-church .lesson-quiz .quiz-cert{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}
body.tenant-church :is(.lesson-quiz,.quiz-form) .quiz-success{margin:.6rem 0;padding:.6rem .8rem;border:1px solid var(--church-line);border-radius:12px;background:rgba(15,118,110,.08)}
body.tenant-church[data-theme="dark"] :is(.lesson-quiz,.quiz-form) .quiz-success{background:rgba(55,194,177,.12)}
body.tenant-church :is(.lesson-quiz,.quiz-form) .quiz-switch{margin:.25rem 0 .75rem;display:flex;gap:.6rem;flex-wrap:wrap}
body.tenant-church .lesson-quiz .quiz-stepper{margin:.8rem 0 1rem}
body.tenant-church .lesson-quiz .quiz-progress{height:10px;border-radius:999px;border:1px solid var(--church-line);background:rgba(255,255,255,.45);overflow:hidden}
body.tenant-church[data-theme="dark"] .lesson-quiz .quiz-progress{background:rgba(10,14,20,.55)}
body.tenant-church .lesson-quiz .quiz-progress-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--church-brand),#7dd3fc)}
body.tenant-church .progress-mini{height:10px;border-radius:999px;border:1px solid var(--church-line);background:rgba(255,255,255,.45);overflow:hidden}
body.tenant-church[data-theme="dark"] .progress-mini{background:rgba(10,14,20,.55)}
body.tenant-church .progress-mini-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--church-brand),#7dd3fc)}
body.tenant-church .progress-row{display:flex;align-items:center;gap:.7rem;margin:.4rem 0}
body.tenant-church .progress-row.progress-row-earned{align-items:flex-start}
body.tenant-church .progress-label{min-width:6.25rem;font-weight:700}
body.tenant-church .progress-earned-wrap{flex:1;min-width:0}
body.tenant-church .progress-row.progress-row-earned .program-progress-ring{width:40px;height:40px}
body.tenant-church .progress-row.progress-row-earned .program-progress-ring-label{width:30px;height:30px}
body.tenant-church .progress-row.progress-row-earned .program-progress-meter{margin:.35rem 0 .2rem}
body.tenant-church .progress-meta{white-space:nowrap;font-variant-numeric:tabular-nums}
body.tenant-church .progress-row.progress-row-earned .progress-meta{white-space:normal}
body.tenant-church .lesson-reading-progress{
  position:sticky;
  top:74px;
  z-index:56;
  margin:.45rem 0 .9rem;
  padding:.7rem .85rem;
  border:1px solid var(--church-line);
  border-radius:14px;
  background:rgba(255,255,255,.84);
  backdrop-filter:blur(8px);
}
body.tenant-church[data-theme="dark"] .lesson-reading-progress{
  border-color:#24303a;
  background:rgba(10,14,20,.8);
}
body.tenant-church .lesson-reading-progress-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  flex-wrap:wrap;
}
body.tenant-church .lesson-reading-progress [data-reading-current]{font-weight:700}
body.tenant-church .lesson-reading-progress [data-reading-next] a{font-weight:700}
body.tenant-church .lesson-continue-inline{
  margin:.8rem 0 1rem;
  padding:.42rem .62rem;
  border-left:3px solid var(--church-brand);
  border-radius:8px;
  background:rgba(15,118,110,.08);
}
body.tenant-church[data-theme="dark"] .lesson-continue-inline{background:rgba(6,78,59,.38)}
body.tenant-church .quality-gate-grid{
  margin-top:.55rem;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
}
body.tenant-church .quality-gate-block{
  border:1px solid var(--church-line);
  border-radius:12px;
  padding:.65rem .72rem;
  background:rgba(255,255,255,.35);
}
body.tenant-church[data-theme="dark"] .quality-gate-block{background:rgba(10,14,20,.45)}
body.tenant-church .quality-gate-block p{margin:.12rem 0}
body.tenant-church .quality-gate-block ul{margin:.25rem 0 0}
@media (max-width: 640px){
  body.tenant-church .lesson-reading-progress{top:12px}
  body.tenant-church .quality-gate-grid{grid-template-columns:1fr}
  body.tenant-church .progress-row.progress-row-earned{gap:.45rem}
  body.tenant-church .progress-label{min-width:0}
}
body.tenant-church :is(.lesson-quiz,.quiz-form) .quiz-options{display:grid;gap:.5rem;margin-top:.25rem}
body.tenant-church :is(.lesson-quiz,.quiz-form) .quiz-option{display:flex;align-items:flex-start;gap:.55rem;border:1px solid var(--church-line);border-radius:12px;padding:.6rem .7rem;background:rgba(255,255,255,.35);cursor:pointer}
body.tenant-church[data-theme="dark"] :is(.lesson-quiz,.quiz-form) .quiz-option{background:rgba(10,14,20,.45)}
body.tenant-church :is(.lesson-quiz,.quiz-form) .quiz-option input{margin-top:.15rem}
body.tenant-church :is(.lesson-quiz,.quiz-form) .quiz-confidence{margin-top:.55rem}
body.tenant-church :is(.lesson-quiz,.quiz-form) .quiz-confidence-toggle{display:inline-flex;align-items:center;gap:.5rem;border:1px dashed var(--church-line);border-radius:999px;padding:.3rem .7rem;background:rgba(255,255,255,.28)}
body.tenant-church[data-theme="dark"] :is(.lesson-quiz,.quiz-form) .quiz-confidence-toggle{background:rgba(10,14,20,.38)}
body.tenant-church :is(.lesson-quiz,.quiz-form) .quiz-confidence-toggle input{margin:0}
body.tenant-church :is(.lesson-quiz,.quiz-form) .quiz-option.is-picked{box-shadow:0 0 0 2px rgba(15,118,110,.2)}
body.tenant-church :is(.lesson-quiz,.quiz-form) fieldset.is-graded{border-style:solid}
body.tenant-church :is(.lesson-quiz,.quiz-form) fieldset.is-correct{border-color:rgba(16,185,129,.65)}
body.tenant-church :is(.lesson-quiz,.quiz-form) fieldset.is-wrong{border-color:rgba(239,68,68,.55)}
body.tenant-church :is(.lesson-quiz,.quiz-form) .quiz-option.is-correct{border-color:rgba(16,185,129,.65);background:rgba(16,185,129,.08)}
body.tenant-church :is(.lesson-quiz,.quiz-form) .quiz-option.is-wrong{border-color:rgba(239,68,68,.55);background:rgba(239,68,68,.06)}
body.tenant-church :is(.lesson-quiz,.quiz-form) .quiz-feedback{margin-top:.8rem;border-top:1px dashed var(--church-line);padding-top:.8rem}
body.tenant-church :is(.lesson-quiz,.quiz-form) .quiz-feedback-title{font-weight:700;margin:0 0 .25rem}
body.tenant-church :is(.lesson-quiz,.quiz-form) .quiz-explanation{margin:.4rem 0 0}
body.tenant-church :is(.lesson-quiz,.quiz-form) .quiz-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
body.tenant-church .lesson-quiz .quiz-actions .btn.is-primary{background:var(--church-brand);border-color:var(--church-brand);color:#fff}
body.tenant-church :is(.lesson-quiz,.quiz-form) .quiz-history{margin:.8rem 0 1rem}
body.tenant-church :is(.lesson-quiz,.quiz-form) .quiz-history summary{cursor:pointer}
body.tenant-church details.details{border:1px solid var(--church-line);border-radius:14px;padding:.85rem 1rem;background:rgba(255,255,255,.45)}
body.tenant-church details.details > summary{cursor:pointer;font-weight:700;list-style:none}
body.tenant-church details.details > summary::-webkit-details-marker{display:none}
body.tenant-church details.details[open]{background:rgba(255,255,255,.6)}
body.tenant-church[data-theme="dark"] details.details{background:rgba(10,14,20,.55)}
body.tenant-church[data-theme="dark"] details.details[open]{background:rgba(10,14,20,.65)}
body.tenant-church .lesson-cards{margin-top:2rem}
body.tenant-church .lesson-cards h2{margin:0 0 1rem}
body.tenant-church .lesson-card{background:#1b1a17;border-color:#2f2a21;color:#f4e9d3;min-height:220px;display:flex;flex-direction:column;justify-content:space-between}
body.tenant-church .lesson-card h3{font-family:"EB Garamond","Crimson Pro","Times New Roman",serif;font-size:1.2rem;margin:.35rem 0}
body.tenant-church .lesson-card .card-label{text-transform:uppercase;font-size:.7rem;letter-spacing:.12em;color:#d9c7a5;margin:0}
body.tenant-church .lesson-card .card-body{white-space:pre-line;margin:.5rem 0 0}
body.tenant-church .lesson-card .card-footer{font-size:.75rem;color:#d9c7a5;margin-top:1rem}
body.tenant-church[data-theme="dark"] .lesson-card{background:#151515;border-color:#2d2a23}
body.tenant-church .lesson-grid{align-items:stretch}
body.tenant-church .lesson-grid .lesson-list-card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:.35rem;
}
body.tenant-church .lesson-grid .lesson-list-card h2{
  margin:.22rem 0 .24rem;
  line-height:1.18;
}
body.tenant-church .lesson-grid .lesson-list-card .badge{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.66rem;
}
body.tenant-church .lesson-grid .lesson-list-card p{margin:.22rem 0}
body.tenant-church .lesson-grid .lesson-list-card p:last-child{margin-top:auto;padding-top:.35rem}
body.tenant-church.lesson-density-compact .lesson-grid{gap:.72rem}
body.tenant-church.lesson-density-compact .lesson-grid .lesson-list-card{padding:.72rem .78rem}
body.tenant-church.lesson-density-compact .lesson-grid .lesson-list-card h2{font-size:1.08rem}
body.tenant-church.lesson-density-compact .lesson-grid .lesson-list-card .muted{font-size:.86rem}
body.tenant-church.lesson-density-spacious .lesson-grid{gap:1.08rem}
body.tenant-church.lesson-density-spacious .lesson-grid .lesson-list-card{
  padding:1.04rem 1.1rem;
  min-height:240px;
}
body.tenant-church.lesson-density-spacious .lesson-grid .lesson-list-card h2{font-size:1.28rem}
body.tenant-church.lesson-density-spacious .lesson-grid .lesson-list-card p{margin:.35rem 0}
@media (max-width: 760px){
  body.tenant-church.lesson-density-spacious .lesson-grid .lesson-list-card{
    min-height:0;
    padding:.9rem .95rem;
  }
  body.tenant-church.lesson-density-compact .lesson-grid .lesson-list-card{padding:.68rem .72rem}
}
body.tenant-church .hero-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:2rem;align-items:stretch;margin:1.5rem 0 2rem}
body.tenant-church .hero-copy{background:linear-gradient(135deg,#fff6e8 0%,#f3e4cf 100%);border:1px solid var(--church-line);border-radius:18px;padding:2.2rem;box-shadow:0 20px 40px rgba(15,23,42,.08)}
body.tenant-church[data-theme="dark"] .hero-copy{background:linear-gradient(135deg,#111821 0%,#0d141b 100%);box-shadow:0 20px 40px rgba(0,0,0,.45)}
body.tenant-church .hero-copy .eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--church-accent);margin:0 0 .5rem}
body.tenant-church .hero-copy h1{font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.1;margin:.2rem 0 .6rem}
body.tenant-church .hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
body.tenant-church .hero-stats .stat{display:block;font-size:1.8rem;font-weight:700}
body.tenant-church .hero-stats .stat-label{font-size:.8rem;color:var(--church-ink)}
body.tenant-church .hero-panel{display:flex;flex-direction:column;gap:1rem}
body.tenant-church .panel-card{background:var(--church-panel);border:1px solid var(--church-line);border-radius:16px;padding:1.5rem}
body.tenant-church .panel-card.accent{background:#f8efe1;border-color:#e8d8c2}
body.tenant-church[data-theme="dark"] .panel-card.accent{background:#141f27;border-color:#24303a}
body.tenant-church .quick-steps{padding-left:1.2rem;margin:.8rem 0 1.2rem}
body.tenant-church .cta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:2rem 0}
body.tenant-church .cta-card{display:flex;flex-direction:column;gap:.6rem;min-height:240px}
body.tenant-church .cta-card .cta-actions{margin-top:auto;display:flex;gap:.5rem;flex-wrap:wrap}
body.tenant-church .cta-card .eyebrow{margin:0;text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--church-accent)}
body.tenant-church .home-resource-stack{margin:1.6rem 0 0}
body.tenant-church .home-section-head{max-width:68ch}
body.tenant-church .home-section-head .eyebrow{margin:0 0 .42rem;text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--church-accent)}
body.tenant-church .home-section-head h2{margin:.05rem 0 .45rem;font-size:clamp(1.25rem,1.05rem + .9vw,1.8rem);line-height:1.12}
body.tenant-church .home-section-head p{margin:0}
body.tenant-church .feature-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:1rem;
  margin:1rem 0 0;
}
body.tenant-church .feature-grid .feature{
  grid-column:span 3;
  display:flex;
  flex-direction:column;
  gap:.55rem;
  min-height:225px;
  position:relative;
  overflow:hidden;
  border-radius:16px;
  background:
    radial-gradient(120% 160% at 100% 0, rgba(15,118,110,.09) 0, rgba(15,118,110,0) 58%),
    linear-gradient(165deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,.45) 100%);
}
body.tenant-church[data-theme="dark"] .feature-grid .feature{
  background:
    radial-gradient(120% 160% at 100% 0, rgba(45,212,191,.12) 0, rgba(45,212,191,0) 58%),
    linear-gradient(165deg, rgba(10,14,20,.72) 0%, rgba(10,14,20,.5) 100%);
}
body.tenant-church .feature-grid .feature::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg,var(--church-accent),var(--church-brand));
  opacity:.45;
}
body.tenant-church .feature-grid .feature .feature-kicker{
  margin:0;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.66rem;
  font-weight:700;
  color:var(--church-accent);
}
body.tenant-church .feature-grid .feature h3{margin:0;font-size:1.32rem;line-height:1.12}
body.tenant-church .feature-grid .feature p{margin:0}
body.tenant-church .feature-grid .feature .feature-links{
  margin-top:auto;
  padding-top:.3rem;
}
body.tenant-church .feature-grid .feature .feature-links a{
  display:inline-flex;
  align-items:center;
  gap:.32rem;
  padding:.44rem .78rem;
  border:1px solid var(--church-line);
  border-radius:999px;
  background:rgba(255,255,255,.45);
  text-decoration:none;
  font-weight:600;
}
body.tenant-church[data-theme="dark"] .feature-grid .feature .feature-links a{
  border-color:#24303a;
  background:rgba(10,14,20,.58);
}
body.tenant-church .feature-grid .feature .feature-links a:hover{
  border-color:rgba(15,118,110,.55);
  box-shadow:0 0 0 2px rgba(15,118,110,.14);
}
body.tenant-church .feature-grid .feature.feature-verify{
  grid-column:1 / -1;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr);
  align-items:center;
  gap:1rem;
}
body.tenant-church .feature-grid .feature.feature-verify .feature-verify-actions{
  display:grid;
  gap:.55rem;
  align-content:start;
}
body.tenant-church .feature-grid .feature.feature-verify .feature-verify-actions a{
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  width:100%;
  padding:.55rem .7rem;
  border:1px solid var(--church-line);
  border-radius:12px;
  background:rgba(255,255,255,.45);
  font-weight:700;
  text-decoration:none;
}
body.tenant-church[data-theme="dark"] .feature-grid .feature.feature-verify .feature-verify-actions a{
  border-color:#24303a;
  background:rgba(10,14,20,.58);
}
body.tenant-church .feature-grid .feature.feature-verify .feature-verify-actions a:hover{
  border-color:rgba(15,118,110,.55);
  box-shadow:0 0 0 2px rgba(15,118,110,.14);
}
body.tenant-church .home-callout{
  margin-top:1rem;
  border-radius:18px;
  overflow:hidden;
}
body.tenant-church .home-callout .callout-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  gap:0;
  align-items:stretch;
}
body.tenant-church .home-callout .callout-primary{padding:1.35rem 1.35rem 1.45rem}
body.tenant-church .home-callout .callout-secondary{
  padding:1.35rem 1.35rem 1.45rem;
  border-left:1px solid rgba(15,118,110,.2);
  background:rgba(15,118,110,.08);
}
body.tenant-church[data-theme="dark"] .home-callout .callout-secondary{
  border-left-color:rgba(45,212,191,.23);
  background:rgba(6,78,59,.3);
}
body.tenant-church .home-callout h3{margin-top:0}
@media (max-width: 1100px){
  body.tenant-church .feature-grid .feature{grid-column:span 6}
}
@media (max-width: 900px){
  body.tenant-church .home-callout .callout-grid{grid-template-columns:1fr}
  body.tenant-church .home-callout .callout-secondary{
    border-left:none;
    border-top:1px solid rgba(15,118,110,.2);
  }
  body.tenant-church[data-theme="dark"] .home-callout .callout-secondary{border-top-color:rgba(45,212,191,.23)}
}
@media (max-width: 720px){
  body.tenant-church .feature-grid{grid-template-columns:1fr}
  body.tenant-church .feature-grid .feature{grid-column:auto;min-height:0}
  body.tenant-church .feature-grid .feature.feature-verify{grid-template-columns:1fr}
  body.tenant-church .home-callout .callout-primary,
  body.tenant-church .home-callout .callout-secondary{padding:1rem}
}
body.tenant-church .member-quick-links{margin:.8rem 0 0;line-height:1.9}
body.tenant-church .member-quick-links-walkthrough{padding:.2rem .55rem;font-size:.82rem}
body.tenant-church .badge-wall{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:.9rem;
}
body.tenant-church .badge-wall-card{
  display:flex;
  flex-direction:column;
  gap:.45rem;
}
body.tenant-church .badge-wall-card.is-earned{
  border-color:rgba(15,118,110,.42);
  box-shadow:0 0 0 1px rgba(15,118,110,.18), 0 10px 28px rgba(15,118,110,.14);
}
body.tenant-church[data-theme="dark"] .badge-wall-card.is-earned{
  border-color:rgba(45,212,191,.38);
  box-shadow:0 0 0 1px rgba(45,212,191,.22), 0 12px 28px rgba(0,0,0,.35);
}
body.tenant-church .badge-wall-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.55rem;
}
body.tenant-church .badge-wall-head h2{margin:0;font-size:1.08rem}
body.tenant-church .badge-wall-meter{
  height:8px;
  border-radius:999px;
  background:rgba(67,80,95,.2);
  overflow:hidden;
}
body.tenant-church .badge-wall-meter span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--church-accent),var(--church-brand));
}
body.tenant-church .verify-links-list{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:.45rem}
body.tenant-church .verify-links-list li{display:flex;justify-content:space-between;gap:.7rem;align-items:center;border:1px solid var(--church-line);border-radius:12px;padding:.55rem .65rem;background:rgba(255,255,255,.35)}
body.tenant-church[data-theme="dark"] .verify-links-list li{background:rgba(10,14,20,.45)}
body.tenant-church .verify-links-label{font-weight:700}
body.tenant-church .readiness-grid{display:grid;gap:.6rem;margin-top:.7rem}
body.tenant-church .readiness-card{border:1px solid var(--church-line);border-radius:12px;padding:.65rem .7rem;background:rgba(255,255,255,.35)}
body.tenant-church[data-theme="dark"] .readiness-card{background:rgba(10,14,20,.45)}
body.tenant-church .readiness-head{display:flex;align-items:center;justify-content:space-between;gap:.55rem;flex-wrap:wrap;margin-bottom:.45rem}
body.tenant-church .readiness-head h3{margin:0;font-size:1rem}
body.tenant-church.has-modal-open{overflow:hidden}
body.tenant-church .onboarding-modal-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:1rem;background:rgba(12,17,22,.55)}
body.tenant-church .onboarding-modal-backdrop[hidden],
body.tenant-church .command-palette-backdrop[hidden]{display:none !important}
body.tenant-church .onboarding-modal{width:min(640px,100%);max-height:88vh;overflow:auto}
body.tenant-church .onboarding-list{margin:.8rem 0 .2rem;padding-left:1.25rem;display:grid;gap:.4rem}
body.tenant-church .command-palette-backdrop{
  position:fixed;
  inset:0;
  z-index:1300;
  display:grid;
  place-items:flex-start center;
  padding:8vh 1rem 1rem;
  background:rgba(12,17,22,.55);
}
body.tenant-church .command-palette{
  width:min(760px,100%);
  max-height:84vh;
  overflow:auto;
}
body.tenant-church .command-palette-head{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;flex-wrap:wrap}
body.tenant-church .command-palette-head h2{margin:.15rem 0 .45rem}
body.tenant-church .command-palette-input{
  width:100%;
  border:1px solid var(--church-line);
  border-radius:12px;
  padding:.72rem .85rem;
  background:rgba(255,255,255,.58);
  color:var(--church-ink);
}
body.tenant-church[data-theme="dark"] .command-palette-input{
  border-color:#24303a;
  background:rgba(10,14,20,.6);
  color:var(--church-ink);
}
body.tenant-church .command-palette-hint{margin:.45rem 0 .55rem}
body.tenant-church .command-palette-list{list-style:none;margin:0;padding:0;display:grid;gap:.38rem}
body.tenant-church .command-palette-item{
  border:1px solid var(--church-line);
  border-radius:12px;
  padding:.62rem .72rem;
  background:rgba(255,255,255,.45);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.8rem;
  cursor:pointer;
}
body.tenant-church[data-theme="dark"] .command-palette-item{
  border-color:#24303a;
  background:rgba(10,14,20,.55);
}
body.tenant-church .command-palette-item:hover,
body.tenant-church .command-palette-item.is-active{
  border-color:rgba(15,118,110,.55);
  box-shadow:0 0 0 2px rgba(15,118,110,.14);
}
body.tenant-church .command-palette-label{font-weight:700}
body.tenant-church .command-palette-path{font-size:.82rem;opacity:.8}
body.tenant-church .command-palette-empty{padding:.45rem .1rem}
@media (max-width: 720px){
  body.tenant-church .verify-links-list li{flex-direction:column;align-items:flex-start}
  body.tenant-church .onboarding-modal{max-height:92vh}
  body.tenant-church .command-palette-backdrop{padding:4vh .65rem .7rem}
  body.tenant-church .command-palette{max-height:90vh}
  body.tenant-church .command-palette-item{align-items:flex-start;flex-direction:column}
}
body.tenant-church .card.highlight{background:linear-gradient(135deg,#fff7ec 0%,#f3e4cf 100%)}
body.tenant-church[data-theme="dark"] .card.highlight{background:linear-gradient(135deg,#111821 0%,#0c1117 100%)}
@media (max-width: 900px){body.tenant-church .hero-split{grid-template-columns:1fr}body.tenant-church .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
body.tenant-church footer .wrap{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
body.tenant-church .footer-admin a{color:var(--church-brand);font-size:.85rem}
body.tenant-church .qr-code{max-width:180px;border:1px solid var(--church-line);border-radius:12px;padding:.5rem;background:#fff}
body.tenant-church[data-theme="dark"] .qr-code{background:#0f161e}
body.tenant-church .nav-pager{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
body.tenant-church .nav-pager a{font-weight:600}
body.tenant-church .lesson-sticky-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.7rem;
  flex-wrap:wrap;
  margin:.2rem 0 .95rem;
  padding:.58rem .62rem;
  border:1px solid var(--church-line);
  border-radius:14px;
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(8px);
}
body.tenant-church[data-theme="dark"] .lesson-sticky-nav{
  border-color:#24303a;
  background:rgba(10,14,20,.72);
}
body.tenant-church .lesson-sticky-nav-left{
  display:flex;
  align-items:center;
  gap:.45rem;
  flex-wrap:wrap;
}
body.tenant-church .lesson-completion-cta{
  margin:.55rem 0 .25rem;
  padding:.55rem .7rem;
  border:1px dashed var(--church-line);
  border-radius:12px;
  background:rgba(15,118,110,.07);
}
body.tenant-church[data-theme="dark"] .lesson-completion-cta{background:rgba(55,194,177,.1)}
body.tenant-church .lesson-docs-callout ul{margin:.45rem 0 .6rem}
@media (max-width: 900px){
  body.tenant-church .lesson-sticky-nav{
    position:sticky;
    bottom:10px;
    z-index:75;
    box-shadow:0 10px 26px rgba(15,23,42,.16);
  }
}
@media print{
  body.tenant-church .lesson-reading-progress{display:none !important}
  body.tenant-church .lesson-continue-inline{display:none !important}
  body.tenant-church .lesson-sticky-nav{display:none !important}
}
body.tenant-church .certificate-sheet{
  /* Certificate should look like printed security paper (stock-certificate vibe),
     and stay readable regardless of site light/dark mode. */
  margin-top:1rem;
  border:2px solid rgba(42,74,70,.32);
  border-radius:18px;
  padding:2rem;
  background:linear-gradient(135deg,#fff9f1 0%,#f3e4cf 100%);
  text-align:center;
  position:relative;
  overflow:hidden;
  box-shadow:0 18px 36px rgba(15,23,42,.10);
  color:#1f2422;
}
body.tenant-church .certificate-sheet .certificate-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
  /* Keep the guilloche visible but never overpower the text. */
  opacity:.45;
  filter:saturate(.90) contrast(1.03);
  pointer-events:none;
}
body.tenant-church .certificate-sheet::before{
  /* A readable “plaque” layer for the text, like ink on security paper. */
  content:"";
  position:absolute;
  inset:78px 64px 88px 64px;
  z-index:1;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.72) 100%);
  border:1px solid rgba(42,74,70,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
body.tenant-church .certificate-sheet > :not(.certificate-bg){
  position:relative;
  z-index:2;
}
body.tenant-church .certificate-sheet .muted,
body.tenant-church .certificate-sheet .certificate-body{
  color:#4b5563;
}
body.tenant-church .certificate-sheet .signature-line{border-bottom:1px solid rgba(42,74,70,.22)}
body.tenant-church .certificate-sheet .seal-mark{border-color:rgba(42,74,70,.26);color:rgba(75,85,99,.9)}

/* Microtext security band around the border (unique per certificate code). */
body.tenant-church .certificate-sheet .cert-security-band{
  position:absolute;
  inset:14px;
  z-index:0;
  pointer-events:none;
  color:rgba(31,61,58,.72);
  opacity:.42;
}
body.tenant-church .certificate-sheet .cert-security-band .band-line{
  position:absolute;
  left:24px;
  right:24px;
  font-family:"EB Garamond","Garamond",serif;
  font-size:12px;
  letter-spacing:2.2px;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
}
body.tenant-church .certificate-sheet .cert-security-band .band-top{top:10px}
body.tenant-church .certificate-sheet .cert-security-band .band-bottom{bottom:10px}

/* Inner content panel */
body.tenant-church .certificate-content{max-width:820px;margin:0 auto}
body.tenant-church .certificate-header h2{margin:.1rem 0 .25rem}
body.tenant-church .certificate-header .muted{
  margin:.02rem 0 .12rem;
  line-height:1.14;
}
body.tenant-church .certificate-name{letter-spacing:-.01em}
body.tenant-church .signature-image{
  opacity:.92;
  transform:rotate(-1.2deg);
  filter:contrast(1.05);
}
body.tenant-church .signature-image.signature-image--ink{
  mix-blend-mode:multiply;
  filter:contrast(1.15) saturate(.9);
  opacity:.86;
}

/* Simple two-column form grid used in admin settings. */
body.tenant-church .grid.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
@media (max-width: 900px){body.tenant-church .grid.duo{grid-template-columns:1fr}}

@media print{
  /* Some print pipelines ignore blend modes; keep signatures legible. */
  body.tenant-church .signature-image.signature-image--ink{mix-blend-mode:normal;opacity:.95}
}
body.tenant-church .seal-image{
  width:86px;
  height:86px;
  padding:10px;
  border-radius:999px;
  border:1px solid rgba(42,74,70,.22);
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.95) 0%, rgba(243,234,215,.85) 55%, rgba(239,226,201,.78) 100%);
  box-shadow:inset 0 2px 6px rgba(15,23,42,.10);
}
body.tenant-church .seal-image.seal-image--emboss{
  /* Embossed seal SVG provides its own foil + bevel; don't double-frame it. */
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
  width:96px;
  height:96px;
}
body.tenant-church .certificate-watermark{position:absolute;inset:8% 10% auto 10%;width:80%;opacity:.08;filter:grayscale(100%);pointer-events:none}
body.tenant-church .certificate-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--church-accent);margin:0 0 .4rem}
body.tenant-church .certificate-name{font-size:1.8rem;font-weight:700;margin:.6rem 0}
body.tenant-church .certificate-body{font-size:1rem;margin:.4rem 0;color:var(--church-muted)}
body.tenant-church .certificate-body.certificate-body--honor{
  margin:.25rem 0 .5rem;
  font-size:.94rem;
  letter-spacing:.02em;
  color:#546173;
}
body.tenant-church .certificate-date{font-size:1.1rem;font-weight:600;margin:.4rem 0}
body.tenant-church .certificate-footer{margin-top:1.2rem;font-size:.85rem;color:#6f5f4b}
body.tenant-church .certificate-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;align-items:center;margin-top:1.5rem}
body.tenant-church .certificate-meta .muted{font-size:.85rem}
body.tenant-church .certificate-actions{margin-top:1.2rem;display:flex;gap:.8rem;flex-wrap:wrap}
body.tenant-church .certificate-actions .btn.ghost{border:1px solid var(--church-line);background:transparent;color:var(--church-ink)}
body.tenant-church .cert-official-link{
  display:block;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}
body.tenant-church .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.95em}
body.tenant-church .certificate-signatures{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1.6rem 0 1rem;align-items:end}
body.tenant-church .signature-image{max-height:40px;margin:0 auto .4rem;display:block;opacity:.9}
body.tenant-church .signature-script{
  margin:0 auto .42rem;
  display:block;
  min-height:40px;
  max-width:100%;
  padding:0 .12rem;
  font-size:1.55rem;
  line-height:1.06;
  font-style:italic;
  font-weight:500;
  font-family:"Brush Script MT","Segoe Script","Lucida Handwriting","Apple Chancery","Snell Roundhand",cursive;
  color:rgba(25,34,45,.86);
  letter-spacing:.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.tenant-church .signature-script.signature-script--left{transform:rotate(-2deg)}
body.tenant-church .signature-script.signature-script--right{transform:rotate(1.7deg)}
body.tenant-church .signature-line{border-bottom:1px solid var(--church-line);height:18px;margin-bottom:.35rem}
body.tenant-church .seal-block{display:flex;flex-direction:column;align-items:center;gap:.35rem}
body.tenant-church .seal-image{width:72px;height:72px;object-fit:contain}
body.tenant-church .seal-mark{width:64px;height:64px;border-radius:999px;border:2px solid var(--church-line);display:flex;align-items:center;justify-content:center;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--church-muted)}

/* Mobile public certificate: keep true certificate proportions and scale content to fit.
   This prevents vertical stretching while preserving the 11x8.5 landscape look. */
@media (max-width: 700px){
  body.tenant-church:not(.print-only) .certificate-sheet{
    aspect-ratio:11 / 8.5;
    min-height:0;
    margin-top:.85rem;
    width:100%;
    max-width:100%;
    margin-left:0;
    margin-right:0;
    padding:.38rem;
    box-sizing:border-box;
  }
  body.tenant-church:not(.print-only) .certificate-sheet::before{
    inset:7px;
    border-radius:11px;
  }
  body.tenant-church:not(.print-only) .certificate-sheet .cert-security-band{
    inset:8px;
    opacity:.60;
  }
  body.tenant-church:not(.print-only) .certificate-sheet .cert-security-band .band-line{
    left:12px;
    right:12px;
    font-size:8.5px;
    letter-spacing:1.35px;
  }
  body.tenant-church:not(.print-only) .certificate-content{
    width:100%;
    height:100%;
    max-width:none;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    gap:.04rem;
    padding:.34rem .22rem .14rem;
  }
  body.tenant-church:not(.print-only) .certificate-eyebrow{
    margin:0;
    font-size:.50rem;
    letter-spacing:.17em;
  }
  body.tenant-church:not(.print-only) .certificate-header h2{
    margin:.03rem 0 .06rem;
    font-size:clamp(1rem,6.7vw,1.52rem);
    line-height:1.06;
  }
  body.tenant-church:not(.print-only) .certificate-header .muted{
    margin:0 0 .05rem;
    font-size:clamp(.56rem,3.2vw,.80rem);
    line-height:1.14;
  }
  body.tenant-church:not(.print-only) .certificate-body{
    margin:.01rem 0;
    font-size:clamp(.54rem,3.1vw,.80rem);
    line-height:1.18;
  }
  body.tenant-church:not(.print-only) .certificate-name{
    margin:.01rem 0;
    font-size:clamp(1.08rem,7.2vw,1.64rem);
    line-height:1.06;
  }
  body.tenant-church:not(.print-only) .certificate-date{
    margin:.02rem 0;
    font-size:clamp(.96rem,6.2vw,1.38rem);
    line-height:1.06;
  }
  body.tenant-church:not(.print-only) .certificate-body.certificate-body--honor{
    margin:.05rem 0 .11rem;
    font-size:clamp(.44rem,2.5vw,.66rem);
    letter-spacing:.01em;
  }
  body.tenant-church:not(.print-only) .certificate-signatures{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.14rem;
    margin:.06rem 0 .04rem;
    align-items:end;
  }
  body.tenant-church:not(.print-only) .signature-image{
    max-height:17px;
    margin:0 auto .05rem;
  }
  body.tenant-church:not(.print-only) .signature-script{
    margin:0 auto .05rem;
    min-height:10px;
    font-size:clamp(.48rem,2.7vw,.72rem);
    line-height:1.04;
    max-width:96%;
  }
  body.tenant-church:not(.print-only) .signature-line{
    height:5px;
    margin-bottom:.06rem;
  }
  body.tenant-church:not(.print-only) .signature-block .muted{
    margin:0;
    font-size:clamp(.44rem,2.5vw,.64rem);
    line-height:1.14;
  }
  body.tenant-church:not(.print-only) .signature-block .small{
    display:none;
  }
  body.tenant-church:not(.print-only) .seal-block{gap:.05rem}
  body.tenant-church:not(.print-only) .seal-image{
    width:clamp(30px,10vw,48px);
    height:clamp(30px,10vw,48px);
  }
  body.tenant-church:not(.print-only) .certificate-footer{
    margin-top:auto;
    font-size:clamp(.44rem,2.4vw,.64rem);
    line-height:1.12;
  }
}

@media (max-width: 430px){
  body.tenant-church:not(.print-only) .certificate-sheet{
    width:100%;
    margin-left:0;
    margin-right:0;
  }
}

/* Member ID cards */
body.tenant-church .pill{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .65rem;border:1px solid var(--church-line);border-radius:999px;background:rgba(255,255,255,.45);color:var(--church-ink);font-size:.85rem}
body.tenant-church[data-theme="dark"] .pill{background:rgba(10,14,20,.55)}
body.tenant-church .pill.pill--privacy{font-size:.78rem;padding:.15rem .55rem;opacity:.92}
body.tenant-church .idcard-sheet{
  margin-top:1rem;
  border:2px solid var(--church-line);
  border-radius:18px;
  padding:1.6rem;
  background:radial-gradient(1200px 500px at 20% -20%, rgba(15,118,110,.14) 0%, rgba(15,118,110,0) 55%),linear-gradient(135deg,#fff9f1 0%,#f3e4cf 100%);
  box-shadow:inset 0 6px 0 rgba(15,118,110,.38);
  position:relative;
  overflow:hidden;
}
body.tenant-church[data-theme="dark"] .idcard-sheet{
  background:radial-gradient(1100px 520px at 20% -20%, rgba(55,194,177,.20) 0%, rgba(55,194,177,0) 60%),linear-gradient(135deg,#121a23 0%,#0d141b 100%);
  border-color:#2f2a21;
  box-shadow:inset 0 6px 0 rgba(55,194,177,.44);
}
body.tenant-church .idcard-sheet.idcard-kind-community{
  background:radial-gradient(1200px 500px at 20% -20%, rgba(15,118,110,.14) 0%, rgba(15,118,110,0) 55%),linear-gradient(135deg,#fff9f1 0%,#f3e4cf 100%);
  box-shadow:inset 0 6px 0 rgba(15,118,110,.38);
}
body.tenant-church .idcard-sheet.idcard-kind-ambassador{
  background:radial-gradient(1200px 520px at 12% -20%, rgba(37,99,235,.16) 0%, rgba(37,99,235,0) 58%),linear-gradient(135deg,#f8fbff 0%,#e8efff 100%);
  box-shadow:inset 0 6px 0 rgba(37,99,235,.42);
}
body.tenant-church .idcard-sheet.idcard-kind-officiant{
  background:radial-gradient(1200px 520px at 18% -20%, rgba(180,83,9,.16) 0%, rgba(180,83,9,0) 58%),linear-gradient(135deg,#fff8f1 0%,#f7e6d4 100%);
  box-shadow:inset 0 6px 0 rgba(180,83,9,.42);
}
body.tenant-church .idcard-sheet.idcard-kind-steward{
  background:radial-gradient(1200px 520px at 18% -20%, rgba(71,85,105,.16) 0%, rgba(71,85,105,0) 58%),linear-gradient(135deg,#f7fafc 0%,#e8eef5 100%);
  box-shadow:inset 0 6px 0 rgba(71,85,105,.42);
}
body.tenant-church[data-theme="dark"] .idcard-sheet.idcard-kind-community{
  background:radial-gradient(1100px 520px at 20% -20%, rgba(55,194,177,.20) 0%, rgba(55,194,177,0) 60%),linear-gradient(135deg,#121a23 0%,#0d141b 100%);
  box-shadow:inset 0 6px 0 rgba(55,194,177,.44);
}
body.tenant-church[data-theme="dark"] .idcard-sheet.idcard-kind-ambassador{
  background:radial-gradient(1100px 520px at 20% -20%, rgba(96,165,250,.24) 0%, rgba(96,165,250,0) 60%),linear-gradient(135deg,#111a2d 0%,#0b1220 100%);
  border-color:#25324d;
  box-shadow:inset 0 6px 0 rgba(96,165,250,.5);
}
body.tenant-church[data-theme="dark"] .idcard-sheet.idcard-kind-officiant{
  background:radial-gradient(1100px 520px at 20% -20%, rgba(251,146,60,.22) 0%, rgba(251,146,60,0) 60%),linear-gradient(135deg,#1d1612 0%,#140f0c 100%);
  border-color:#3c2c1d;
  box-shadow:inset 0 6px 0 rgba(251,146,60,.5);
}
body.tenant-church[data-theme="dark"] .idcard-sheet.idcard-kind-steward{
  background:radial-gradient(1100px 520px at 20% -20%, rgba(148,163,184,.2) 0%, rgba(148,163,184,0) 60%),linear-gradient(135deg,#151c26 0%,#0f141d 100%);
  border-color:#2c3747;
  box-shadow:inset 0 6px 0 rgba(148,163,184,.48);
}
body.tenant-church .idcard-watermark{position:absolute;inset:12% 10% auto 10%;width:80%;opacity:.07;filter:grayscale(100%);pointer-events:none}
body.tenant-church[data-theme="dark"] .idcard-watermark{opacity:.10}
body.tenant-church .idcard-top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}
body.tenant-church .idcard-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--church-accent);margin:0 0 .35rem}
body.tenant-church .idcard-name{margin:.1rem 0 0;font-size:1.9rem;font-weight:800;letter-spacing:-.02em}
body.tenant-church .idcard-qr{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:.5rem}
body.tenant-church .idcard-qr .qr-code{max-width:150px}
body.tenant-church .idcard-photo-frame{position:relative;display:inline-block;line-height:0}
body.tenant-church .idcard-photo-frame.show-guides::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:0;
  border-left:1px dashed rgba(154,52,18,.45);
  transform:translateX(-50%);
  pointer-events:none;
  z-index:2;
}
body.tenant-church .idcard-photo-frame.show-guides::after{
  content:"";
  position:absolute;
  inset:6%;
  border:1px dashed rgba(15,118,110,.55);
  border-radius:8px;
  pointer-events:none;
  z-index:2;
}
body.tenant-church .idcard-photo{width:112px;height:136px;object-fit:cover;border:1px solid var(--church-line);border-radius:10px;background:rgba(10,14,20,.15);display:block}
body.tenant-church .idcard-photo--placeholder{display:flex;align-items:center;justify-content:center;color:var(--church-muted);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}
body.tenant-church .idcard-photo--admin-preview{width:132px;height:168px}
body.tenant-church .idcard-sheet--wallet .idcard-photo{width:86px;height:104px}
body.tenant-church .idcard-sheet--badge .idcard-photo{width:98px;height:120px}
body.tenant-church .id-photo-camera-wrap{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
body.tenant-church .id-photo-camera-stage{position:relative;width:min(300px,100%)}
body.tenant-church .id-photo-camera{width:100%;border:1px solid var(--church-line);border-radius:12px;background:#000}
body.tenant-church .id-photo-camera-shot{width:min(300px,100%);border:1px solid var(--church-line);border-radius:12px;object-fit:cover}
body.tenant-church .id-photo-camera-overlay{position:absolute;inset:0;border-radius:12px;overflow:hidden;display:none;pointer-events:none}
body.tenant-church .id-photo-camera-stage.is-live .id-photo-camera-overlay{display:flex;align-items:flex-end;justify-content:center;padding:.6rem}
body.tenant-church .id-photo-camera-overlay::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 42%, rgba(0,0,0,0) 0 46%, rgba(0,0,0,.55) 64%)}
body.tenant-church .id-photo-camera-overlay::after{content:"";position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:64%;height:76%;border:2px dashed rgba(255,255,255,.6);border-radius:999px;opacity:.85}
body.tenant-church .id-photo-camera-tip{position:relative;z-index:1;font-size:.75rem;letter-spacing:.02em;padding:.35rem .55rem;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;border:1px solid rgba(255,255,255,.18)}
body.tenant-church .id-photo-editor{margin:.6rem 0;padding:.7rem .8rem;border:1px solid var(--church-line);border-radius:14px;background:rgba(255,255,255,.35);max-width:min(360px,100%)}
body.tenant-church[data-theme="dark"] .id-photo-editor{background:rgba(10,14,20,.45)}
body.tenant-church .id-photo-editor-canvas{width:min(320px,100%);height:auto;display:block;border:1px solid var(--church-line);border-radius:12px;background:#0b0f12;touch-action:none}
body.tenant-church .id-photo-editor-controls{margin-top:.55rem;display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}
body.tenant-church .quality-hint--warn{color:#9a3412}
body.tenant-church[data-theme="dark"] .quality-hint--warn{color:#fdba74}
body.tenant-church .quality-hint--ok{color:#0f766e}
body.tenant-church[data-theme="dark"] .quality-hint--ok{color:#99f6e4}
body.tenant-church .idcard-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 1rem}
body.tenant-church .idcard-kind-pill{font-weight:600}
body.tenant-church .idcard-kind-pill.idcard-kind-community{border-color:rgba(15,118,110,.25);background:rgba(15,118,110,.1);color:#0f766e}
body.tenant-church .idcard-kind-pill.idcard-kind-ambassador{border-color:rgba(37,99,235,.3);background:rgba(37,99,235,.1);color:#1d4ed8}
body.tenant-church .idcard-kind-pill.idcard-kind-officiant{border-color:rgba(180,83,9,.32);background:rgba(180,83,9,.1);color:#9a3412}
body.tenant-church .idcard-kind-pill.idcard-kind-steward{border-color:rgba(71,85,105,.28);background:rgba(71,85,105,.1);color:#334155}
body.tenant-church[data-theme="dark"] .idcard-kind-pill.idcard-kind-community{border-color:rgba(45,212,191,.32);background:rgba(6,78,59,.45);color:#99f6e4}
body.tenant-church[data-theme="dark"] .idcard-kind-pill.idcard-kind-ambassador{border-color:rgba(147,197,253,.42);background:rgba(30,58,138,.45);color:#bfdbfe}
body.tenant-church[data-theme="dark"] .idcard-kind-pill.idcard-kind-officiant{border-color:rgba(251,146,60,.42);background:rgba(124,45,18,.55);color:#fdba74}
body.tenant-church[data-theme="dark"] .idcard-kind-pill.idcard-kind-steward{border-color:rgba(148,163,184,.45);background:rgba(30,41,59,.62);color:#cbd5e1}
body.tenant-church .idcard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;align-items:start}
body.tenant-church .idcard-kv p{margin:.2rem 0}
body.tenant-church .idcard-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.2rem;padding-top:1rem;border-top:1px dashed var(--church-line)}
body.tenant-church .idcard-footer-right{display:flex;flex-direction:column;gap:.45rem;align-items:flex-end;text-align:right}
body.tenant-church .idcard-footer-right p{margin:0}
body.tenant-church .idcard-signature{max-height:32px;opacity:.92;filter:grayscale(100%);object-fit:contain}
body.tenant-church[data-theme="dark"] .idcard-signature{opacity:.86}
body.tenant-church .idcard-seal{width:56px;height:56px;object-fit:contain;opacity:.92}
body.tenant-church .idcard-badge-assets{display:flex;gap:.65rem;justify-content:flex-end;align-items:center;margin-top:.6rem}
body.tenant-church .idcard-print{display:grid;gap:1.2rem}
body.tenant-church .idcard-sheet--wallet{max-width:520px}
body.tenant-church .idcard-sheet--badge{max-width:760px}
body.tenant-church .idcard-sheet--commemorative{max-width:860px}
body.tenant-church .admin-quick{margin-top:.5rem;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
body.tenant-church .certificate-print .certificate-sheet{margin-top:0}
body.tenant-church .print-toolbar{display:flex;flex-direction:column;gap:.6rem}
@media (max-width: 700px){
  body.tenant-church .idcard-grid{grid-template-columns:1fr}
  body.tenant-church .idcard-footer-right{align-items:flex-start;text-align:left}
}

/* Screen preview layout for /print (separate from PDF-export compact rules). */
body.tenant-church.print-only:not(.print-pdf) .wrap{max-width:1200px}
body.tenant-church.print-only:not(.print-pdf) .certificate-print .print-pages{gap:.9rem}
body.tenant-church.print-only:not(.print-pdf) .certificate-sheet{
  min-height:min(70vh, 760px);
  padding:1.2rem 1.4rem 1.1rem;
}
body.tenant-church.print-only:not(.print-pdf) .certificate-content{
  max-width:960px;
  gap:.18rem;
  padding-top:5.55rem;
}
body.tenant-church.print-only:not(.print-pdf) .certificate-header h2{font-size:clamp(2.45rem,4.9vw,3.8rem)}
body.tenant-church.print-only:not(.print-pdf) .certificate-name{font-size:clamp(2.05rem,3.9vw,3.1rem)}
body.tenant-church.print-only:not(.print-pdf) .certificate-date{font-size:clamp(1.8rem,3.2vw,2.55rem)}
body.tenant-church.print-only:not(.print-pdf) .certificate-signatures{margin-top:1.28rem}
body.tenant-church.print-only:not(.print-pdf) .certificate-footer{margin-top:.62rem}
body.tenant-church.print-only:not(.print-pdf) .certificate-sheet .certificate-bg{
  opacity:.76;
  filter:saturate(1.08) contrast(1.12);
}
body.tenant-church.print-only:not(.print-pdf) .certificate-sheet::before{
  background:linear-gradient(180deg, rgba(255,255,255,.68) 0%, rgba(255,255,255,.55) 100%);
}
body.tenant-church.print-only:not(.print-pdf) .cert-security-band{opacity:.70}
body.tenant-church.print-only:not(.print-pdf) .cert-verify-sheet{
  background:#fff !important;
  border:1px solid rgba(42,74,70,.28) !important;
}
body.tenant-church.print-only:not(.print-pdf) .cert-verify-grid{
  grid-template-columns:minmax(0,1.25fr) minmax(250px,.85fr);
  gap:1.3rem;
}
body.tenant-church.print-only:not(.print-pdf) .cert-verify-qr{max-width:320px}
body.tenant-church.print-only:not(.print-pdf) .cert-verify-checklist{
  background:rgba(255,255,255,.72) !important;
  border-color:rgba(42,74,70,.24) !important;
}

/* Dedicated print-route layout.
   wkhtmltopdf on this host uses an unpatched Qt build and renders SCREEN media.
   Keep critical full-page rules outside @media print so server-generated PDFs match. */
body.tenant-church.print-only.print-pdf .certificate-print{margin:0 !important}
body.tenant-church.print-only.print-pdf .certificate-print.card{padding:0 !important}
body.tenant-church.print-only.print-pdf .certificate-print .print-pages{gap:0 !important}
body.tenant-church.print-only.print-pdf .certificate-print .print-page{margin:0 !important;padding:0 !important}
body.tenant-church.print-only.print-pdf .certificate-print .print-page--certificate{
  break-after:page;
  page-break-after:always;
}
body.tenant-church.print-only.print-pdf .certificate-print .print-page--verification{
  break-after:auto;
  page-break-after:auto;
}
body.tenant-church.print-only.print-pdf .certificate-sheet{
  margin:0 !important;
  width:100% !important;
  max-width:none !important;
  min-height:7.58in;
  padding:0.40in 0.48in 0.36in !important;
  box-sizing:border-box;
  display:flex;
  align-items:stretch;
  box-shadow:none !important;
  border-radius:12px;
}
body.tenant-church.print-only.print-pdf .certificate-sheet .certificate-bg{
  opacity:.88;
  filter:saturate(1.28) contrast(1.26);
}
body.tenant-church.print-only.print-pdf .certificate-content{
  max-width:none !important;
  width:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
  gap:.06in;
  padding:.58in .12in .02in;
}
body.tenant-church.print-only.print-pdf .certificate-sheet::before{
  inset:0.22in 0.22in 0.22in 0.22in;
  border-radius:10px;
  background:linear-gradient(180deg, rgba(255,255,255,.50) 0%, rgba(255,255,255,.44) 100%);
}
body.tenant-church.print-only.print-pdf .cert-security-band{opacity:.86}
body.tenant-church.print-only.print-pdf .certificate-eyebrow{font-size:.66rem;letter-spacing:.20em;margin:0}
body.tenant-church.print-only.print-pdf .certificate-header h2{
  margin:.02in 0 .08in;
  font-size:2.92rem;
  line-height:1.05;
}
body.tenant-church.print-only.print-pdf .certificate-body{font-size:1.03rem;margin:0}
body.tenant-church.print-only.print-pdf .certificate-name{font-size:2.14rem;margin:.02in 0}
body.tenant-church.print-only.print-pdf .certificate-date{font-size:1.70rem;margin:0}
body.tenant-church.print-only.print-pdf .certificate-body.certificate-body--honor{
  font-size:.86rem;
  margin:.08in 0 .02in;
}
body.tenant-church.print-only.print-pdf .certificate-signatures{
  grid-template-columns:minmax(0,1fr) minmax(1.7in,.7fr) minmax(0,1fr);
  gap:.26in;
  margin-top:.16in;
  margin-bottom:.08in;
}
body.tenant-church.print-only.print-pdf .signature-image{max-height:.48in;margin:0 auto .05in}
body.tenant-church.print-only.print-pdf .signature-script{
  min-height:.44in;
  margin:0 auto .06in;
  font-size:.35in;
  color:rgba(20,28,40,.86);
}
body.tenant-church.print-only.print-pdf .signature-line{height:.20in;margin-bottom:.08in}
body.tenant-church.print-only.print-pdf .seal-block{gap:.10in}
body.tenant-church.print-only.print-pdf .seal-image{width:1.05in;height:1.05in}
body.tenant-church.print-only.print-pdf .signature-block .muted{margin:.02in 0 0;line-height:1.18}
body.tenant-church.print-only.print-pdf .signature-block .small{font-size:.77rem;margin:.02in 0 0}
body.tenant-church.print-only.print-pdf .certificate-footer{margin-top:auto;padding-top:.10in;font-size:.96rem}
body.tenant-church.print-only.print-pdf .cert-verify-sheet{
  width:100% !important;
  max-width:none !important;
  min-height:7.46in;
  margin:0 !important;
  border:1px solid #000 !important;
  border-radius:12px;
  background:#fff !important;
  padding:0.56in 0.64in;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
}
body.tenant-church.print-only.print-pdf .cert-verify-sheet h2{
  margin:0 0 .22in;
  font-size:2rem;
}
body.tenant-church.print-only.print-pdf .cert-verify-grid{
  grid-template-columns:minmax(0,1fr) 3.05in;
  gap:.42in;
  align-items:start;
  margin-top:.14in;
}
body.tenant-church.print-only.print-pdf .cert-verify-left{display:grid;gap:.04in}
body.tenant-church.print-only.print-pdf .cert-verify-checklist{
  margin:.10in 0 0;
  padding:.10in .12in;
  border:1px solid rgba(0,0,0,.22);
  border-radius:8px;
  background:rgba(0,0,0,.02);
}
body.tenant-church.print-only.print-pdf .cert-verify-steps{
  margin:.04in 0 0 .18in;
  padding:0;
}
body.tenant-church.print-only.print-pdf .cert-verify-steps li{margin:.03in 0}
body.tenant-church.print-only.print-pdf .cert-verify-url{
  margin:.02in 0 0;
  font-size:.83rem;
  line-height:1.32;
  overflow-wrap:anywhere;
}
body.tenant-church.print-only.print-pdf .cert-verify-qr{
  max-width:2.75in !important;
  border:1px solid #000 !important;
  border-radius:12px;
  padding:.16in;
}

/* Certificate print/PDF layout: full-page landscape + second page verification sheet. */
body.tenant-church .certificate-print .print-pages{display:grid;gap:1.2rem}
body.tenant-church .certificate-print .print-page{break-inside:avoid}
body.tenant-church .certificate-print .certificate-revoked-badge{
  position:absolute;
  top:18px;
  left:18px;
  background:#3b1111;
  color:#ffb4b4;
  border:1px solid rgba(255,180,180,.25);
  display:inline-block;
  margin:0;
  z-index:3;
}
body.tenant-church .cert-verify-sheet{
  border:1px solid var(--church-line);
  border-radius:18px;
  padding:1.4rem 1.6rem;
  background:rgba(255,255,255,.55);
}
body.tenant-church[data-theme="dark"] .cert-verify-sheet{background:rgba(10,14,20,.45);border-color:#24303a}
body.tenant-church .cert-verify-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:1.2rem;align-items:start;margin-top:.9rem}
body.tenant-church .cert-verify-code{font-size:1.1rem;letter-spacing:.02em;word-break:break-all;margin:.2rem 0}
body.tenant-church .cert-verify-hash{font-size:1rem;letter-spacing:.02em;word-break:break-all;margin:.2rem 0}
body.tenant-church .cert-verify-checklist{
  margin-top:.7rem;
  padding:.55rem .65rem;
  border:1px solid var(--church-line);
  border-radius:10px;
  background:rgba(255,255,255,.45);
}
body.tenant-church[data-theme="dark"] .cert-verify-checklist{
  background:rgba(10,14,20,.5);
  border-color:#24303a;
}
/* Print-route readability: keep dark ink on light paper regardless of theme cookie. */
body.tenant-church.print-only .certificate-print,
body.tenant-church.print-only .certificate-sheet,
body.tenant-church.print-only .cert-verify-sheet{
  color:#1f2422 !important;
}
body.tenant-church.print-only .certificate-print .muted,
body.tenant-church.print-only .certificate-sheet .muted,
body.tenant-church.print-only .cert-verify-sheet .muted{
  color:#5c6674 !important;
}
body.tenant-church.print-only .cert-verify-code,
body.tenant-church.print-only .cert-verify-hash,
body.tenant-church.print-only .cert-verify-url{
  color:#111827 !important;
}
body.tenant-church.print-only .cert-verify-checklist{
  background:rgba(0,0,0,.03) !important;
  border-color:rgba(0,0,0,.22) !important;
}
body.tenant-church.print-only .cert-verify-checklist,
body.tenant-church.print-only .cert-verify-checklist *{
  color:#1f2422 !important;
}
body.tenant-church .cert-verify-steps{margin:.3rem 0 0 1.1rem;padding:0}
body.tenant-church .cert-verify-steps li{margin:.18rem 0}
body.tenant-church .cert-verify-url{
  margin:.15rem 0 0;
  font-size:.9rem;
  line-height:1.35;
  overflow-wrap:anywhere;
}
body.tenant-church .cert-verify-right{display:flex;justify-content:flex-end}
body.tenant-church .cert-verify-qr{max-width:300px}
@media (max-width: 700px){
  body.tenant-church .cert-verify-grid{grid-template-columns:1fr}
  body.tenant-church .cert-verify-right{justify-content:flex-start}
}
body.tenant-church .cert-hero .eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--church-accent);margin:0 0 .4rem}
body.tenant-church .cert-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:2rem;align-items:start}
body.tenant-church .cert-hero h1{margin:.2rem 0 .6rem;font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.1}
body.tenant-church .cert-hero .lead{max-width:42ch}
body.tenant-church .cert-hero .muted{max-width:62ch}
body.tenant-church .cert-hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1rem}
body.tenant-church .cert-hero-actions--primary{gap:.7rem}
body.tenant-church .cert-hero-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;margin-top:.9rem}
body.tenant-church .cert-hero-more-col .muted.small{margin:0 0 .35rem}
body.tenant-church .cert-link-list{margin:0;padding:0;list-style:none;display:grid;gap:.35rem}
body.tenant-church .cert-link-list a{color:var(--church-text);text-decoration:none;border-bottom:1px solid transparent}
body.tenant-church .cert-link-list a:hover{border-bottom-color:var(--church-line)}
body.tenant-church[data-theme="dark"] .cert-link-list a:hover{border-bottom-color:rgba(255,255,255,.22)}
body.tenant-church .cert-hero-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;align-content:start}
body.tenant-church .cert-stat{padding:1rem;border:1px solid var(--church-line);border-radius:14px;background:rgba(255,255,255,.5)}
body.tenant-church .cert-stat .muted{margin:0}
body.tenant-church .cert-stat .stat-value{font-size:1.1rem;line-height:1.3;font-weight:700;margin:.35rem 0 0}
body.tenant-church[data-theme="dark"] .cert-stat{background:rgba(10,14,20,.6)}

/* Verify mock "screenshot" block for /verify/how */
body.tenant-church .verify-mock{border:1px solid var(--church-line);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.5)}
body.tenant-church[data-theme="dark"] .verify-mock{background:rgba(10,14,20,.55);border-color:#24303a}
body.tenant-church .verify-mock-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--church-line)}
body.tenant-church[data-theme="dark"] .verify-mock-head{border-bottom-color:#24303a}
body.tenant-church .verify-mock-body{padding:1rem;display:grid;gap:.65rem}
body.tenant-church .verify-mock-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:.75rem;align-items:baseline}
body.tenant-church .verify-mock-actions{padding:.75rem 1rem;border-top:1px solid var(--church-line);display:flex;gap:.6rem;flex-wrap:wrap}
body.tenant-church[data-theme="dark"] .verify-mock-actions{border-top-color:#24303a}
body.tenant-church .cert-step-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
body.tenant-church .cert-step{padding:1rem;border:1px solid var(--church-line);border-radius:14px;background:rgba(255,255,255,.4)}
body.tenant-church[data-theme="dark"] .cert-step{background:rgba(10,14,20,.5)}
body.tenant-church .verify-polish-card{
  border:1px solid var(--church-line);
  background:rgba(255,255,255,.52);
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}
body.tenant-church[data-theme="dark"] .verify-polish-card{
  border-color:#24303a;
  background:rgba(10,14,20,.52);
  box-shadow:0 10px 24px rgba(0,0,0,.3);
}
body.tenant-church .verify-polish-card h2{margin-top:0}
body.tenant-church .verify-polish-card .cert-hero-actions{margin-top:.85rem}
body.tenant-church .verify-polish-meta{margin:.35rem 0}
body.tenant-church .verify-polish-list{margin:.45rem 0 .1rem}
body.tenant-church .verify-polish-list li{margin:.32rem 0}
body.tenant-church .verify-polish-section h3{margin:.1rem 0 .55rem}
body.tenant-church .verify-polish-card .admin-quick{display:flex;gap:.55rem;flex-wrap:wrap}
body.tenant-church .cert-track-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
body.tenant-church .cert-track{padding:1rem;border:1px solid var(--church-line);border-radius:14px;background:rgba(255,255,255,.4);display:flex;flex-direction:column;gap:.6rem}
body.tenant-church[data-theme="dark"] .cert-track{background:rgba(10,14,20,.5)}
body.tenant-church .cert-track .btn.ghost{border:1px solid var(--church-line);background:transparent;color:var(--church-ink)}
body.tenant-church .officiant-legal-note{border-style:dashed}
body.tenant-church .officiant-table th{white-space:nowrap}
body.tenant-church .officiant-table td{min-width:180px}
body.tenant-church .officiant-table .small{font-size:.86rem}
body.tenant-church .officiant-jump-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(46px,1fr));gap:.35rem}
body.tenant-church .officiant-jump-grid .badge{justify-content:center;text-align:center}

/* Mobile sticky shortcuts for verification flows. */
body.tenant-church .sticky-verify{display:none}
@media (max-width: 900px){
  body.tenant-church .sticky-verify{
    position:fixed;
    right:14px;
    bottom:14px;
    z-index:90;
    display:flex;
    gap:.5rem;
    align-items:center;
    padding:.5rem;
    border:1px solid var(--church-line);
    border-radius:16px;
    background:rgba(255,255,255,.85);
    box-shadow:0 16px 34px rgba(15,23,42,.18);
    backdrop-filter:blur(10px);
  }
  body.tenant-church[data-theme="dark"] .sticky-verify{
    border-color:#24303a;
    background:rgba(10,14,20,.72);
    box-shadow:0 16px 34px rgba(0,0,0,.55);
  }
  body.tenant-church.certificate-verify-page .sticky-verify{display:none}
}
@media print{
  body.tenant-church .sticky-verify{display:none !important}
}

/* Officiant guide: collapse wide table into stacked cards on smaller screens. */
@media (max-width: 900px){
  body.tenant-church .officiant-table thead{display:none}
  body.tenant-church .officiant-table,
  body.tenant-church .officiant-table tbody,
  body.tenant-church .officiant-table tr,
  body.tenant-church .officiant-table td{display:block;width:100%}
  body.tenant-church .officiant-table tr{
    border:1px solid var(--church-line);
    border-radius:16px;
    padding:.7rem .85rem;
    margin:.85rem 0;
    background:rgba(255,255,255,.16);
  }
  body.tenant-church[data-theme="dark"] .officiant-table tr{
    border-color:#24303a;
    background:rgba(10,14,20,.34);
  }
  body.tenant-church .officiant-table td{
    min-width:unset;
    padding:.55rem 0;
    border:none;
  }
  body.tenant-church .officiant-table td + td{
    border-top:1px dashed rgba(0,0,0,.12);
  }
  body.tenant-church[data-theme="dark"] .officiant-table td + td{
    border-top-color:rgba(255,255,255,.12);
  }
  body.tenant-church .officiant-table td::before{
    content:attr(data-label);
    display:block;
    font-size:.76rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    opacity:.7;
    margin-bottom:.25rem;
  }
  body.tenant-church .officiant-links,
  body.tenant-church .officiant-steps{margin:.35rem 0 .15rem 1.1rem}
  body.tenant-church .officiant-county-grid{grid-template-columns:1fr}
}

/* Generic stacked-table pattern for admin/member tables on mobile.
   Requires: add class="stack-table" on <table>. `td[data-label]` is used for headings; base templates
   auto-populate these from <thead> text, but templates may set/override them explicitly if needed. */
@media (max-width: 900px){
  /* Keep table UX usable on tablets while preserving horizontal scroll context. */
  body.tenant-church .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media (max-width: 640px){
  body.tenant-church table.stack-table thead{display:none}
  body.tenant-church table.stack-table,
  body.tenant-church table.stack-table tbody,
  body.tenant-church table.stack-table tr,
  body.tenant-church table.stack-table td,
  body.tenant-church table.stack-table th{display:block;width:100%}
  body.tenant-church table.stack-table tr{
    border:1px solid var(--church-line);
    border-radius:16px;
    padding:.7rem .85rem;
    margin:.85rem 0;
    background:rgba(255,255,255,.16);
  }
  body.tenant-church[data-theme="dark"] table.stack-table tr{
    border-color:#24303a;
    background:rgba(10,14,20,.34);
  }
  body.tenant-church table.stack-table td,
  body.tenant-church table.stack-table th{
    padding:.55rem 0;
    border:none;
  }
  body.tenant-church table.stack-table td + td,
  body.tenant-church table.stack-table th + td,
  body.tenant-church table.stack-table td + th,
  body.tenant-church table.stack-table th + th{
    border-top:1px dashed rgba(0,0,0,.12);
  }
  body.tenant-church[data-theme="dark"] table.stack-table td + td,
  body.tenant-church[data-theme="dark"] table.stack-table th + td,
  body.tenant-church[data-theme="dark"] table.stack-table td + th,
  body.tenant-church[data-theme="dark"] table.stack-table th + th{
    border-top-color:rgba(255,255,255,.12);
  }
  body.tenant-church table.stack-table td::before{
    content:attr(data-label);
    display:block;
    font-size:.76rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    opacity:.7;
    margin-bottom:.25rem;
  }
}
body.tenant-church .officiant-county-details{margin-top:.65rem}
body.tenant-church .officiant-county-details summary{cursor:pointer;font-weight:600}
body.tenant-church .officiant-county-grid{display:grid;gap:.55rem;margin-top:.55rem}
body.tenant-church .officiant-county-card{padding:.6rem .7rem;border:1px solid var(--church-line);border-radius:10px;background:rgba(255,255,255,.35)}
body.tenant-church[data-theme="dark"] .officiant-county-card{background:rgba(10,14,20,.45)}
body.tenant-church .officiant-links{margin:.1rem 0;padding-left:1rem}
body.tenant-church .officiant-links li{margin:.25rem 0}
body.tenant-church .officiant-steps{margin:.1rem 0;padding-left:1.1rem}
body.tenant-church .officiant-steps li{margin:.3rem 0}
body.tenant-church .officiant-verify-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
body.tenant-church .officiant-verify-card{border:1px solid var(--church-line);border-radius:14px;padding:1rem;background:rgba(255,255,255,.35)}
body.tenant-church[data-theme="dark"] .officiant-verify-card{background:rgba(10,14,20,.45)}
body.tenant-church .officiant-verify-head{display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start;flex-wrap:wrap}
body.tenant-church .officiant-verify-head h3{margin:.1rem 0}
body.tenant-church .officiant-verify-kv{display:grid;gap:.25rem;margin-top:.5rem}
body.tenant-church .officiant-verify-kv p{margin:.15rem 0}
body.tenant-church .officiant-verify-block{margin-top:.8rem}
body.tenant-church .officiant-pill-row{display:flex;gap:.45rem;flex-wrap:wrap}
body.tenant-church .share-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;margin-top:.85rem}
body.tenant-church .share-stat{border:1px solid var(--church-line);border-radius:12px;padding:.7rem .75rem;background:rgba(255,255,255,.35)}
body.tenant-church[data-theme="dark"] .share-stat{background:rgba(10,14,20,.45)}
body.tenant-church .share-stat .value{font-size:1.35rem;font-weight:800;line-height:1.1}
body.tenant-church .share-track-grid{display:grid;gap:.7rem}
body.tenant-church .share-track-card{border:1px solid var(--church-line);border-radius:12px;padding:.72rem .8rem;background:rgba(255,255,255,.35)}
body.tenant-church[data-theme="dark"] .share-track-card{background:rgba(10,14,20,.45)}
body.tenant-church .share-safe-note{margin-top:.85rem}
body.tenant-church .transcript-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.7rem;margin-top:.7rem}
body.tenant-church .transcript-kpi .kpi{border:1px solid var(--church-line);border-radius:12px;padding:.65rem .72rem;background:rgba(255,255,255,.35)}
body.tenant-church[data-theme="dark"] .transcript-kpi .kpi{background:rgba(10,14,20,.45)}
body.tenant-church .transcript-kpi .value{font-size:1.22rem;font-weight:800}
body.tenant-church .transcript-note-text{
  margin:0;
  white-space:pre-wrap;
  word-break:break-word;
  font-family:inherit;
  font-size:.92rem;
  line-height:1.4;
}
body.tenant-church .verification-card-sheet{border:1px solid var(--church-line);border-radius:16px;padding:1rem;background:rgba(255,255,255,.45)}
body.tenant-church[data-theme="dark"] .verification-card-sheet{background:rgba(10,14,20,.55)}
body.tenant-church .verification-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;flex-wrap:wrap}
body.tenant-church .verification-card-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,240px);gap:1rem;margin-top:.65rem}
body.tenant-church .verification-card-grid .qr-code{max-width:170px}
body.tenant-church .verification-card-details{display:grid;gap:.42rem}
body.tenant-church .verification-card-details p{margin:0}
body.tenant-church .wallet-credential-wrap{max-width:760px;margin-left:auto;margin-right:auto}
body.tenant-church .wallet-credential{position:relative;overflow:hidden}
body.tenant-church .wallet-credential::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(120% 90% at 10% -10%, rgba(45,212,191,.20), transparent 62%),
    radial-gradient(100% 80% at 100% 100%, rgba(37,99,235,.20), transparent 58%);
}
body.tenant-church[data-theme="dark"] .wallet-credential::before{
  background:
    radial-gradient(120% 90% at 10% -10%, rgba(45,212,191,.24), transparent 62%),
    radial-gradient(100% 80% at 100% 100%, rgba(59,130,246,.24), transparent 58%);
}
body.tenant-church .wallet-credential .verification-card-head,
body.tenant-church .wallet-credential .verification-card-grid{position:relative;z-index:1}
@media (max-width: 700px){
  body.tenant-church .verification-card-grid{grid-template-columns:1fr}
}
body.tenant-church .register-hero .eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--church-accent);margin:0 0 .4rem}
body.tenant-church .admin-crumb{display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;margin:0 0 1rem}
body.tenant-church .admin-crumb .btn{padding:.45rem .7rem}
body.tenant-church .breadcrumbs{font-size:.92rem;color:var(--church-ink-muted)}
body.tenant-church .breadcrumbs li+li::before{color:var(--church-ink-soft)}
body.tenant-church .breadcrumbs [aria-current="page"]{color:var(--church-ink);font-weight:600}
body.tenant-church .register-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2rem;align-items:start}
body.tenant-church .register-panel{padding:1.2rem;border:1px solid var(--church-line);border-radius:16px;background:rgba(255,255,255,.6)}
body.tenant-church[data-theme="dark"] .register-panel{background:rgba(10,14,20,.55)}
@media (max-width: 900px){body.tenant-church .register-grid{grid-template-columns:1fr}}
@media (max-width: 900px){body.tenant-church .cert-hero-grid{grid-template-columns:1fr}}
@media (max-width: 700px){body.tenant-church .cert-hero-more{grid-template-columns:1fr}}
@media print{
  body.tenant-church .print-toolbar{display:none}
  body.tenant-church header, body.tenant-church footer{display:none}
  body.tenant-church .card{box-shadow:none;border:none}
  body.tenant-church.print-only .cta-actions{display:none}
  body.tenant-church.print-only .cert-hero{padding:.25rem 0;margin:0 0 .4rem}
  body.tenant-church.print-only .cert-hero .eyebrow{margin:0 0 .15rem}
  body.tenant-church.print-only .cert-hero h1{margin:.15rem 0 .25rem}
  body.tenant-church.print-only .pill{border:1px solid #000;background:#fff;color:#000}
  body.tenant-church .certificate-sheet{border:1px solid #000;background:#fff}
  body.tenant-church .qr-code{border:1px solid #000}
  body.tenant-church .idcard-sheet{border:1px solid #000;background:#fff;box-shadow:none}
  body.tenant-church .idcard-sheet.idcard-kind-community{box-shadow:inset 0 6px 0 #0f766e}
  body.tenant-church .idcard-sheet.idcard-kind-ambassador{box-shadow:inset 0 6px 0 #1d4ed8}
  body.tenant-church .idcard-sheet.idcard-kind-officiant{box-shadow:inset 0 6px 0 #9a3412}
  body.tenant-church .idcard-sheet.idcard-kind-steward{box-shadow:inset 0 6px 0 #334155}
  body.tenant-church .idcard-watermark{opacity:.05!important}
  body.tenant-church .idcard-sheet--wallet{width:3.375in;min-height:2.125in;max-width:none;page-break-inside:avoid}
  body.tenant-church .idcard-sheet--badge{width:4.25in;min-height:2.75in;max-width:none;page-break-inside:avoid}
  body.tenant-church .idcard-sheet--commemorative{width:8.5in;min-height:5.5in;max-width:none;page-break-inside:avoid}
  body.tenant-church .idcard-photo{image-rendering:auto}
  body.tenant-church .idcard-sheet--wallet .idcard-photo,
  body.tenant-church .idcard-sheet--wallet .idcard-photo--placeholder{width:.85in;height:1.05in}
  body.tenant-church .idcard-sheet--badge .idcard-photo,
  body.tenant-church .idcard-sheet--badge .idcard-photo--placeholder{width:.98in;height:1.20in}
  body.tenant-church .idcard-sheet--commemorative .idcard-photo,
  body.tenant-church .idcard-sheet--commemorative .idcard-photo--placeholder{width:1.12in;height:1.36in}
}

@media print{
  /* Landscape, full-page certificate PDF. */
  @page{size:Letter landscape;margin:0.25in}
  body.tenant-church.print-only .certificate-print{margin:0 !important}
  body.tenant-church.print-only .certificate-print.card{padding:0 !important}
  body.tenant-church.print-only .certificate-print .print-pages{gap:0 !important}
  body.tenant-church.print-only .certificate-print .print-page{margin:0 !important;padding:0 !important}
  body.tenant-church.print-only .certificate-print .print-page--certificate{
    break-after:page;
    page-break-after:always;
  }
  body.tenant-church.print-only .certificate-print .print-page--verification{
    break-after:auto;
    page-break-after:auto;
  }
  body.tenant-church.print-only .certificate-sheet{
    margin:0 !important;
    width:100% !important;
    max-width:none !important;
    min-height:7.58in;
    padding:0.40in 0.48in 0.36in !important;
    box-sizing:border-box;
    display:flex;
    align-items:stretch;
    box-shadow:none !important;
    border-radius:12px;
  }
  body.tenant-church.print-only .certificate-content{
    max-width:none !important;
    width:100%;
    min-height:100%;
    display:flex;
    flex-direction:column;
    gap:.06in;
    padding:.06in .12in 0;
  }
  body.tenant-church.print-only .certificate-sheet::before{
    inset:0.22in 0.22in 0.22in 0.22in;
    border-radius:10px;
    background:linear-gradient(180deg, rgba(255,255,255,.90) 0%, rgba(255,255,255,.86) 100%);
  }
  body.tenant-church.print-only .cert-security-band{opacity:.28}
  body.tenant-church.print-only .certificate-eyebrow{font-size:.66rem;letter-spacing:.20em;margin:0}
  body.tenant-church.print-only .certificate-header h2{
    margin:.05in 0 .08in;
    font-size:2.92rem;
    line-height:1.05;
  }
  body.tenant-church.print-only .certificate-body{font-size:1.03rem;margin:0}
  body.tenant-church.print-only .certificate-name{font-size:2.14rem;margin:.02in 0}
  body.tenant-church.print-only .certificate-date{font-size:1.70rem;margin:0}
  body.tenant-church.print-only .certificate-body.certificate-body--honor{
    font-size:.86rem;
    margin:.08in 0 .02in;
  }
  body.tenant-church.print-only .certificate-signatures{
    grid-template-columns:minmax(0,1fr) minmax(1.7in,.7fr) minmax(0,1fr);
    gap:.26in;
    margin-top:.16in;
    margin-bottom:.08in;
  }
  body.tenant-church.print-only .signature-image{max-height:.48in;margin:0 auto .05in}
  body.tenant-church.print-only .signature-script{margin:0 auto .06in}
  body.tenant-church.print-only .signature-line{height:.20in;margin-bottom:.08in}
  body.tenant-church.print-only .seal-block{gap:.10in}
  body.tenant-church.print-only .seal-image{width:1.05in;height:1.05in}
  body.tenant-church.print-only .signature-block .muted{margin:.02in 0 0;line-height:1.18}
  body.tenant-church.print-only .signature-block .small{font-size:.77rem;margin:.02in 0 0}
  body.tenant-church.print-only .certificate-footer{margin-top:auto;padding-top:.10in;font-size:.96rem}
  body.tenant-church.print-only .cert-verify-sheet h2{
    margin:0 0 .22in;
    font-size:2rem;
  }
  body.tenant-church.print-only .cert-verify-sheet{
    width:100% !important;
    max-width:none !important;
    min-height:7.46in;
    margin:0 !important;
    border:1px solid #000 !important;
    border-radius:12px;
    background:#fff !important;
    padding:0.56in 0.64in;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
  }
  body.tenant-church.print-only .cert-verify-grid{
    grid-template-columns:minmax(0,1fr) 3.05in;
    gap:.42in;
    align-items:start;
    margin-top:.14in;
  }
  body.tenant-church.print-only .cert-verify-left{display:grid;gap:.04in}
  body.tenant-church.print-only .cert-verify-checklist{
    margin:.10in 0 0;
    padding:.10in .12in;
    border:1px solid rgba(0,0,0,.22);
    border-radius:8px;
    background:rgba(0,0,0,.02);
  }
  body.tenant-church.print-only .cert-verify-steps{
    margin:.04in 0 0 .18in;
    padding:0;
  }
  body.tenant-church.print-only .cert-verify-steps li{margin:.03in 0}
  body.tenant-church.print-only .cert-verify-url{
    margin:.02in 0 0;
    font-size:.83rem;
    line-height:1.32;
    overflow-wrap:anywhere;
  }
  body.tenant-church.print-only .cert-verify-qr{
    max-width:2.75in !important;
    border:1px solid #000 !important;
    border-radius:12px;
    padding:.16in;
  }
}
/* Keep certificate paper light even when the site is in dark mode. */
body.tenant-church[data-theme="dark"] .certificate-sheet{border-color:rgba(106,184,170,.22)}

/* Form controls: override the global dark defaults so Church light mode stays legible. */
body.tenant-church input[type=text],
body.tenant-church input[type=number],
body.tenant-church input[type=password],
body.tenant-church input[type=email],
body.tenant-church input[type=tel],
body.tenant-church input[type=url],
body.tenant-church input[type=search],
body.tenant-church input[type=date],
body.tenant-church input[type=time],
body.tenant-church input[type=datetime-local],
body.tenant-church select,
body.tenant-church textarea{
  border-color:var(--church-line);
  background:rgba(255,255,255,.55);
  color:var(--church-ink);
}
body.tenant-church[data-theme="dark"] input[type=text],
body.tenant-church[data-theme="dark"] input[type=number],
body.tenant-church[data-theme="dark"] input[type=password],
body.tenant-church[data-theme="dark"] input[type=email],
body.tenant-church[data-theme="dark"] input[type=tel],
body.tenant-church[data-theme="dark"] input[type=url],
body.tenant-church[data-theme="dark"] input[type=search],
body.tenant-church[data-theme="dark"] input[type=date],
body.tenant-church[data-theme="dark"] input[type=time],
body.tenant-church[data-theme="dark"] input[type=datetime-local],
body.tenant-church[data-theme="dark"] select,
body.tenant-church[data-theme="dark"] textarea{
  border-color:#24303a;
  background:rgba(10,14,20,.55);
  color:var(--church-ink);
}

/* Client-side form validation: highlight invalid fields when the browser marks them invalid. */
body.tenant-church .form .field-invalid{
  border-color:rgba(185,28,28,.42) !important;
  box-shadow:0 0 0 2px rgba(185,28,28,.10);
}
body.tenant-church .form .field-invalid:focus-visible{outline:2px solid rgba(185,28,28,.30);outline-offset:2px}
body.tenant-church[data-theme="dark"] .form .field-invalid{
  border-color:rgba(248,113,113,.38) !important;
  box-shadow:0 0 0 2px rgba(248,113,113,.12);
}
body.tenant-church[data-theme="dark"] .form .field-invalid:focus-visible{outline:2px solid rgba(248,113,113,.28);outline-offset:2px}

/* Password show/hide button should match Church theme borders. */
body.tenant-church .password-wrap input{padding-right:3.15rem}
body.tenant-church .password-toggle{border-color:var(--church-line);background:rgba(255,255,255,.25)}
body.tenant-church .password-toggle:hover{background:rgba(255,255,255,.35)}
body.tenant-church[data-theme="dark"] .password-toggle{border-color:#24303a;background:rgba(10,14,20,.45)}
body.tenant-church[data-theme="dark"] .password-toggle:hover{background:rgba(10,14,20,.60)}

body.tenant-church .pw-rules{margin:.3rem 0 .15rem}
body.tenant-church .pw-strength{margin:.35rem 0 0}
body.tenant-church .pw-strength--weak{color:#9a3412}
body.tenant-church .pw-strength--ok{color:#b45309}
body.tenant-church .pw-strength--strong{color:#0f766e}
body.tenant-church[data-theme="dark"] .pw-strength--weak{color:#fdba74}
body.tenant-church[data-theme="dark"] .pw-strength--ok{color:#fde68a}
body.tenant-church[data-theme="dark"] .pw-strength--strong{color:#99f6e4}

@media (max-width: 640px){
  body.tenant-church .password-wrap input{padding-right:2.85rem}
  body.tenant-church .password-toggle{
    width:30px;
    height:30px;
    right:.35rem;
    border-radius:9px;
  }
  body.tenant-church .password-toggle svg{width:16px;height:16px}
}

/* Notices/toasts: override global dark defaults so Church light mode stays readable. */
body.tenant-church .notice{
  border-color:var(--church-line);
  background:rgba(255,255,255,.62);
  color:var(--church-ink);
}
body.tenant-church .notice.notice-error{
  border-color:rgba(185,28,28,.28);
  background:rgba(254,226,226,.72);
  color:#7f1d1d;
}
body.tenant-church .notice.notice-success{
  border-color:rgba(15,118,110,.28);
  background:rgba(209,250,229,.65);
  color:#064e3b;
}
body.tenant-church .notice .notice-close{
  border-color:var(--church-line);
  background:rgba(255,255,255,.25);
}
body.tenant-church .notice .notice-close:hover{background:rgba(255,255,255,.35)}
body.tenant-church[data-theme="dark"] .notice{
  border-color:#24303a;
  background:rgba(10,14,20,.55);
  color:var(--church-ink);
}
body.tenant-church[data-theme="dark"] .notice.notice-error{
  border-color:rgba(248,113,113,.28);
  background:rgba(127,29,29,.42);
  color:#fecaca;
}
body.tenant-church[data-theme="dark"] .notice.notice-success{
  border-color:rgba(45,212,191,.28);
  background:rgba(6,78,59,.44);
  color:#99f6e4;
}
body.tenant-church[data-theme="dark"] .notice .notice-close{
  border-color:#24303a;
  background:rgba(10,14,20,.45);
}
body.tenant-church[data-theme="dark"] .notice .notice-close:hover{background:rgba(10,14,20,.60)}

/* Empty states (shared markup; tenant-specific skin). */
body.tenant-church .empty-state{
  border-color:var(--church-line);
  background:
    radial-gradient(700px 200px at 10% 0%, rgba(55,194,177,.18), transparent 60%),
    rgba(255,255,255,.30);
}
body.tenant-church .empty-state::before{
  border-color:rgba(15,118,110,.35);
  background:
    radial-gradient(circle at 28% 28%, rgba(55,194,177,.42), transparent 58%),
    linear-gradient(145deg, rgba(55,194,177,.20), rgba(15,23,42,.06));
}
body.tenant-church[data-theme="dark"] .empty-state{
  border-color:#24303a;
  background:
    radial-gradient(700px 200px at 10% 0%, rgba(55,194,177,.18), transparent 60%),
    rgba(10,14,20,.45);
}
body.tenant-church[data-theme="dark"] .empty-state::before{
  border-color:rgba(45,212,191,.35);
  background:
    radial-gradient(circle at 28% 28%, rgba(45,212,191,.4), transparent 58%),
    linear-gradient(145deg, rgba(6,78,59,.45), rgba(15,23,42,.22));
}

@media (prefers-reduced-motion: reduce){
  body.tenant-church *{scroll-behavior:auto !important;transition:none !important;animation:none !important}
}

@media print{
  body.tenant-church{background:#fff !important;color:#000 !important}
  body.tenant-church header,
  body.tenant-church footer,
  body.tenant-church .nav-toggle,
  body.tenant-church .theme-toggle,
  body.tenant-church .sticky-verify,
  body.tenant-church .command-palette-backdrop,
  body.tenant-church .command-palette,
  body.tenant-church .command-palette-list{display:none !important}
  body.tenant-church .wrap{max-width:none !important;padding:0 !important}
  body.tenant-church a{color:#000 !important;text-decoration:none !important}
  body.tenant-church .print-toolbar,
  body.tenant-church .certificate-actions,
  body.tenant-church .lesson-reading-progress,
  body.tenant-church .lesson-sticky-nav,
  body.tenant-church .lesson-quiz,
  body.tenant-church .quiz-form,
  body.tenant-church .quiz-switch,
  body.tenant-church .quiz-actions,
  body.tenant-church .quiz-history,
  body.tenant-church [data-auto-toc]{
    display:none !important;
  }
  body.tenant-church .lesson-content,
  body.tenant-church .quality-gate,
  body.tenant-church .table-wrap{
    break-inside:avoid;
    page-break-inside:avoid;
  }
  body.tenant-church .lesson-prose{
    font-size:11pt;
    line-height:1.45;
  }
  body.tenant-church .lesson-prose h1,
  body.tenant-church .lesson-prose h2,
  body.tenant-church .lesson-prose h3{
    break-after:avoid;
    page-break-after:avoid;
  }
  body.tenant-church .table-wrap{overflow:visible !important}
  body.tenant-church .table-wrap table{
    width:100% !important;
    border-collapse:collapse;
    font-size:10pt;
  }
  body.tenant-church .table-wrap th,
  body.tenant-church .table-wrap td{
    border:1px solid #000 !important;
    padding:.22rem .32rem !important;
    background:#fff !important;
    color:#000 !important;
  }
  body.tenant-church .certificate-sheet{
    background:#fff !important;
    border:1px solid #000 !important;
    box-shadow:none !important;
  }
}
