@font-face{font-family:ChurchDirectory;src:url(/fonts/ChurchDirectory-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:ChurchDirectory;src:url(/fonts/ChurchDirectory-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--font-sans: "ChurchDirectory", "Cormorant Garamond", "Garamond", "Palatino Linotype", "Book Antiqua", "Times New Roman", serif;--text: #1f2937;--muted: #6b7280;--surface: #ffffff;--surface-alt: #e0eed8;--surface-background: #bcc9bf;--border: #d1d5db;--accent: #517f60;--accent-hover: #436d49;--accent-soft: #b5d9c5;--danger: #b91c1c;--success: #166534;--radius: 10px;--shadow: 0 1px 2px rgba(16, 24, 40, .08);--family-tree-background: #e6ffee;--family-tree-background-image: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, .3), transparent 45%), }html,body{margin:0;font-size:120%;color:var(--text);font-family:var(--font-sans);line-height:1.45;color-scheme:light;background-color:var(--surface-background);background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.3),transparent 45%),radial-gradient(circle at 80% 0%,rgba(210,190,155,.12),transparent 35%);min-height:100%}*,*:before,*:after{box-sizing:border-box}h1,h2,h3{margin:0;line-height:1.2}p{margin:0}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--border);background:var(--surface)}.topbar-inner,.content-inner,.centered-page,.centered-page-wide{width:min(100%,72rem);margin:0 auto;padding-left:1rem;padding-right:1rem}.topbar-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.75rem;padding-bottom:.75rem}.brand{display:flex;align-items:center;gap:.75rem}.brand-logo{width:4rem;height:4rem}.brand-title{font-size:1.1rem;font-weight:700}.brand-subtitle{margin-top:.15rem;font-size:.78rem;color:var(--muted)}.topnav{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.9rem}.nav-link{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.15em}.nav-link:hover{text-decoration-color:currentColor}.content-inner{padding-top:1.5rem;padding-bottom:1.5rem}.centered-page{width:min(100%,38rem);margin-top:5rem}.centered-page-wide{width:min(100%,48rem);margin-top:5rem}.content-narrow{width:min(100%,48rem);margin:0 auto}.stack-sm>*+*{margin-top:.5rem}.stack-md>*+*{margin-top:.9rem}.stack-lg>*+*{margin-top:1.2rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem;-webkit-user-select:none;user-select:none}.card-raised{box-shadow:var(--shadow)}.card-lg{padding:2rem}.card-xl{padding:3rem}.page-title{font-size:1.75rem;font-weight:700}.section-title{font-size:1.45rem;font-weight:700}.subsection-title{font-size:1.1rem;font-weight:700}.body-muted{color:var(--muted)}.text-sm{font-size:.9rem}.text-xs{font-size:.78rem}.text-lg{font-size:1.1rem}.text-center{text-align:center}.text-left{text-align:left}.text-error{color:var(--danger)}.text-success{color:var(--success)}.row{display:flex;align-items:center;gap:.75rem}.row-wrap{flex-wrap:wrap}.row-between{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.row-start-between{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem}.grid{display:grid;gap:.75rem}.submission-review-layout{display:grid;gap:1rem}.submission-review-sidebar{align-self:start}.submission-jump-link{display:block;border:1px solid var(--border);border-radius:8px;padding:.45rem .65rem;background:var(--surface-alt);font-size:.88rem}.submission-jump-link:hover{background:var(--accent-soft)}.submission-entry-anchor{scroll-margin-top:1rem}.form-grid-2,.form-grid-3,.form-grid-4,.form-grid-5{display:grid;gap:.75rem}@media(min-width:768px){.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.submission-review-layout{grid-template-columns:minmax(15rem,19rem) minmax(0,1fr);align-items:start}.submission-review-sidebar{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto}}.field{display:block}.field-label{display:block;margin-bottom:.25rem;font-size:.9rem;font-weight:700}.field-label-sm{display:block;margin-bottom:.25rem;font-size:.78rem;font-weight:700;color:var(--muted)}.input,.textarea,.select{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt);color:var(--text);padding:.5rem .75rem;font:inherit}.textarea{resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;padding:.5rem 1rem;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.btn-secondary:hover{background:#f8fafc;color:var(--text);border-color:#a7adb7}.btn-quiet{background:#e5e7eb;border-color:#e5e7eb;color:#4b5563;cursor:not-allowed}.btn-chip{padding:.35rem .75rem}.btn-active{background:#111827;border-color:#111827;color:#fff}.btn-full{width:100%}.btn:disabled{cursor:not-allowed;opacity:.7}.panel-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.panel-list>*+*{border-top:1px solid var(--border)}.panel-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem}.hover-surface:hover{background:var(--accent-soft)}.photo{width:14rem;height:14rem;border-radius:12px;object-fit:cover;box-shadow:var(--shadow)}.photo-placeholder{display:flex;align-items:center;justify-content:center;width:14rem;height:14rem;border:1px solid var(--border);border-radius:12px;background:#f3f4f6;color:var(--muted);font-size:.85rem}.directory-filter-toolbar{display:grid;gap:.55rem}.directory-filter-toolbar .input,.directory-filter-toolbar .select{background:var(--surface-alt)}.directory-card-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.95rem}.directory-grid-card{padding:.8rem}.directory-grid-card-media{display:flex;justify-content:center}.directory-grid-photo,.directory-grid-placeholder{width:100%;max-width:20rem;height:auto;min-height:13rem;object-fit:contain}.directory-entry-contact>*+*{margin-top:.25rem}.directory-member-list{display:grid;gap:.35rem}.directory-member-row{padding:.05rem 0}.directory-member-name{font-size:.96rem;font-weight:700;line-height:1.2}.directory-member-meta{margin-top:.1rem;font-size:.8rem;color:var(--muted)}@media(min-width:640px){.directory-filter-toolbar{grid-template-columns:minmax(0,2fr) minmax(11rem,1fr)}}@media(min-width:860px){.directory-filter-toolbar{grid-template-columns:minmax(0,2.2fr) minmax(11rem,1fr) minmax(11rem,1fr)}.directory-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}}@media(min-width:1280px){.directory-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.thumb{width:4rem;height:4rem;border-radius:8px;object-fit:cover}.thumb-placeholder{width:4rem;height:4rem;border-radius:8px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.78rem;color:var(--muted)}.file-input-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border-top{border-top:1px solid var(--border);padding-top:1rem}.divider{border-top:1px solid var(--border)}.print-hide{display:flex}@media print{.print-hide{display:none!important}}.modal-backdrop{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:60}.modal-card{width:min(52rem,100%);max-height:calc(100vh - 2rem)}.modal-content-scroll{overflow-y:auto;max-height:60vh;padding-right:.25rem}.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{margin:.5rem 0}.markdown-content ul,.markdown-content ol{padding-left:1.25rem}
