:root{--brown:#65452f;--dark:#38271c;--tan:#ad815b;--cream:#f6f1e9;--line:#e3d6c6;--muted:#806f61}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--dark);font:15px/1.55 "Segoe UI",Arial,sans-serif}a{color:var(--brown);text-decoration:none}a:hover{text-decoration:underline}button,.button{font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--brown);color:white;border:1px solid var(--brown);border-radius:7px;padding:10px 17px;cursor:pointer;text-decoration:none;white-space:normal}button:hover,.button:hover{background:#4d3322;text-decoration:none}.secondary{background:#fffaf3;color:var(--brown);border-color:var(--line)}.secondary:hover{background:#ecdfce}.danger{background:#fff3f0;color:#a33728;border-color:#edc7bd}.danger:hover{background:#fbe0d9}.small{font-size:12px;padding:6px 10px}input,select,textarea{display:block;width:100%;padding:11px 12px;border:1px solid #d8c7b4;border-radius:6px;background:#fffdf9;color:var(--dark);font:inherit;min-width:0}input:focus,textarea:focus,select:focus,.editor:focus{outline:2px solid var(--tan);outline-offset:2px}input[readonly]{background:#efe9e1}textarea{resize:vertical}label{font-weight:600;display:block}label input,label select,label textarea{margin-top:6px;font-weight:400}h1,h2,h3,p{margin-top:0}h1{font:500 32px/1.2 Georgia,serif;margin-bottom:0}h2{font:500 24px/1.3 Georgia,serif}h3{font-size:17px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--muted);margin-bottom:10px}.muted,small{color:var(--muted)}small{display:block;font-size:12px}header{background:#f1e6d8;border-bottom:1px solid var(--line)}.headerline{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:none;margin:auto;padding:23px 12px}.brand{display:flex;align-items:center;gap:14px;color:var(--dark);font:500 24px Georgia,serif}.brand small{font:12px "Segoe UI",sans-serif;margin-top:5px}.brandmark{width:44px;height:48px;background:var(--brown);color:#f3d9b6;border-radius:10px;display:grid;place-items:center;font:30px Georgia}.account{display:flex;align-items:center;gap:16px;font-size:12px}.account span{font-weight:600}nav{display:flex;flex-wrap:wrap;gap:5px;max-width:none;padding:0 8px 18px;margin:auto}nav a{padding:8px 11px;border-radius:6px;font-size:13px;color:#6f5641}nav a.active{background:#eadac7;color:#493021;font-weight:700}nav a:hover{background:#f2e7d8;text-decoration:none}.workspace{max-width:none;margin:auto;padding:32px 12px 50px}.pagehead,.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.sectionhead{margin-bottom:18px}.sectionhead h2{margin:0}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.card{background:#fffdf9;border:1px solid var(--line);border-radius:12px;padding:26px;margin:20px 0;box-shadow:0 5px 22px #583c2610}.badge{font-size:12px;background:#f1e5d6;padding:5px 10px;border-radius:20px;white-space:nowrap}.filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;margin-bottom:25px}.filters label:first-of-type{flex:1;min-width:180px}.filters label{font-size:12px}.filters input{max-width:450px}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;background:#f5ecdf;color:#806043;padding:14px 12px;border-bottom:1px solid #decbb4}td{padding:15px 12px;border-bottom:1px solid #eee5d9;vertical-align:middle;overflow-wrap:anywhere;max-width:350px}tbody tr:hover{background:#faf5ed}td small{margin-top:6px}.openlink{white-space:nowrap;font-weight:600}.gridform{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.wide{grid-column:1/-1}.stack{display:grid;gap:18px}.narrow{max-width:550px}.details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.details dt{color:var(--muted);font-size:12px}.details dd{margin:4px 0 0;overflow-wrap:anywhere}.details>div{border-bottom:1px solid #eee5d9;padding-bottom:12px}.alert{background:#edf2e4;border:1px solid #c4d2ad;padding:13px 18px;border-radius:7px}.error{background:#fff0ea;border-color:#e4b7a6;color:#933921}.empty{text-align:center;padding:50px 20px;color:var(--muted)}.emptyicon{font:60px Georgia;display:block;margin:20px}.auth{max-width:450px;margin:8vh auto;padding:35px;background:#fffaf3;border:1px solid var(--line);border-radius:15px;box-shadow:0 12px 60px #63482d17}.auth .brandmark{margin-bottom:24px}.auth h1{margin-bottom:12px}.auth form{margin:25px 0}.backupgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.reporttabs{display:flex;flex-wrap:wrap;gap:8px}.stats{display:flex;gap:20px;margin:25px 0}.stats>div{background:#f2e5d3;border-radius:12px;padding:20px 35px;display:grid}.stats strong{font:48px Georgia}.reportnote{color:var(--muted);font-size:12px;margin-top:25px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:15px;margin-top:25px}figure{margin:0}.photo{padding:0;width:100%;border:0;background:transparent;overflow:hidden}.photo img{width:100%;height:170px;object-fit:cover;border-radius:8px;display:block}.avatar{width:55px;height:65px;object-fit:cover;border-radius:6px}.deleteform{margin-top:30px}.pagination{display:flex;align-items:center;gap:10px;margin-top:20px}.toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:10px;background:#f2e8db;border:1px solid var(--line);border-radius:7px 7px 0 0;margin-top:8px}.toolbar button{padding:5px 12px;background:#fffaf3;color:var(--brown);border-color:var(--line);font-size:13px}.editor{display:block;min-height:350px;border:1px solid var(--line);padding:24px;background:white;font-weight:400;border-radius:0 0 7px 7px}.editor table,.rich table{width:100%;table-layout:fixed}.editor td,.rich td,.rich th{border:1px solid #b8a994;min-width:60px;padding:8px}.editor img,.rich img{max-width:100%;height:auto}.document{max-width:850px;margin:20px auto;font-family:Georgia,serif;font-size:17px}.check{display:flex;gap:10px;align-items:center}.check input{width:auto}footer{text-align:center;padding:20px;color:var(--muted);font-size:12px}dialog{border:0;padding:35px 65px;background:transparent;color:white;max-width:96vw;max-height:96vh;overflow:visible}dialog::backdrop{background:#000d}dialog img{display:block;max-height:80vh;max-width:80vw;object-fit:contain}dialog button{background:#0008;border-color:#ffffff55;position:absolute;font-size:35px;padding:0;width:45px;height:55px}.close{right:10px;top:0}.previous{left:5px;top:45%}.next{right:5px;top:45%}.counter{display:block;text-align:center;padding-top:10px}
@media(max-width:1050px){.gridform,.details{grid-template-columns:repeat(2,minmax(0,1fr))}.account{flex-wrap:wrap;justify-content:flex-end}.headerline{padding:20px}.workspace{padding:25px 12px}nav{padding:0 15px 15px}.backupgrid{grid-template-columns:1fr}}
@media(max-width:600px){.headerline{align-items:flex-start;flex-direction:column;gap:18px}.brand{font-size:22px}.account{justify-content:flex-start;gap:12px}nav{flex-wrap:nowrap;overflow-x:auto}nav a{flex-shrink:0}.workspace{padding:24px 12px}.pagehead{align-items:flex-start;flex-direction:column;gap:16px}h1{font-size:29px}.card{padding:18px 14px;border-radius:9px}.gridform,.details{grid-template-columns:1fr}.sectionhead{flex-wrap:wrap}.auth{margin:25px 12px;padding:25px}.filters{gap:10px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.photo img{height:130px}.stats>div{padding:20px}.pagination{flex-wrap:wrap}.editor{padding:14px}.toolbar button{padding:8px}dialog{padding:30px 35px}dialog img{max-width:76vw}dialog button{width:32px}}
[hidden]{display:none!important}
.appdialog{background:#fffaf3;color:var(--dark);border:1px solid var(--line);border-radius:12px;padding:28px;width:440px;max-width:90vw;overflow:auto}.appdialog button{position:static;width:auto;height:auto;font:inherit;padding:10px 17px}.appdialog button:not(.secondary):not(.danger){background:var(--brown);color:white}
@page{size:A4 portrait;margin:16mm}
@media print{body{background:white;color:black;font:11pt/1.4 Arial,sans-serif}header,footer,.pagehead,.no-print,.alert,.deleteform,dialog{display:none!important}.workspace{padding:0;max-width:none}.card{display:none;box-shadow:none;border:0;padding:0;margin:0}.card.printable{display:block}.printable .gallery form,.printable .gallery button{border:0;background:none}.gallery{display:none}.details{grid-template-columns:1fr 1fr}.details>div{break-inside:avoid}.tablewrap{overflow:visible}table{font-size:9pt;table-layout:fixed}td,th{padding:7px 5px;max-width:none;overflow-wrap:anywhere}thead{display:table-header-group}tr{break-inside:avoid}h2{font-size:20pt}a{color:black}.rich img{max-height:220mm;max-width:100%}.document{font-size:12pt;margin:15px 0}.reportnote,.muted{color:#444}.stats strong{font-size:28pt}.stats>div{background:none;border:1px solid #aaa}.badge{background:none}.reporttabs{display:none}}

.toolbar label{font-size:11px;display:flex;flex-direction:column;gap:3px;font-weight:400}.toolbar select{width:auto;padding:5px;font-size:13px;margin:0}.toolbar input[type=color]{width:65px;height:32px;padding:3px;margin:0}.toolbar{align-items:end}.editor a,.rich a{text-decoration:underline}

input[data-postal-mask]{width:150px;max-width:100%;box-sizing:border-box}

[data-family-item]{display:flex;align-items:center;column-gap:4ch;row-gap:8px;flex-wrap:wrap}

[data-donor-select] select{width:400px;max-width:100%;box-sizing:border-box}

input[data-date-mask],input[type="date"],input[type="datetime-local"]{width:140px;text-align:center;max-width:100%;box-sizing:border-box}

.search-group{display:flex;align-items:flex-end;gap:30px;max-width:100%}.filters .search-group label:first-of-type{flex:0 1 450px;width:450px;min-width:0}.search-group input{width:100%}.search-group>button{flex-shrink:0}

input[name="year"]{width:100px;max-width:100%;box-sizing:border-box}

.gridform.collection-edit-form{grid-template-columns:130px 130px minmax(0,1fr)}.collection-edit-form>label:has(input[name="name"]){grid-column:1/-1}@media(max-width:360px){.gridform.collection-edit-form{column-gap:10px}}

.date-fields-row{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:flex-end;column-gap:40px;row-gap:20px}.date-fields-row>label{width:140px;flex:0 0 140px}

.gridform.collection-edit-form{grid-template-columns:320px minmax(0,1fr);column-gap:40px}.collection-edit-form>.date-fields-row{grid-column:1}.collection-edit-form>label:has(input[name="name"]){grid-column:2}.collection-edit-form>label:has(input[name="name"]){align-self:end}@media(max-width:600px){.gridform.collection-edit-form{grid-template-columns:1fr}.collection-edit-form>label:has(input[name="name"]){grid-column:1}}

.wafer-edit-form input[name="amount"]{width:200px;max-width:100%;box-sizing:border-box}

input[type="file"]{width:300px;max-width:100%;box-sizing:border-box}

.form-bottom-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px}.form-bottom-actions .delete-action{margin-left:auto}

select[name="year"]{width:100px;max-width:100%;box-sizing:border-box}

body{font-family:Arial,sans-serif;font-size:16px}h1,h2,h3,.brand,.stats strong,.document{font-family:Arial,sans-serif}.brand small{font-family:Arial,sans-serif}nav a{font-size:14px}table{font-size:14px}th{font-size:12px}.account,small{font-size:13px}.details dt{font-size:13px}.toolbar button{font-size:14px}.document{font-size:18px}.small{font-size:13px}input,select,textarea,button,.button{font-family:Arial,sans-serif}

.gridform.wafer-edit-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px 40px}.wafer-edit-form>.date-fields-row{flex:0 0 140px}.wafer-edit-form>label:has(select[name="year"]){flex:0 0 100px}.wafer-edit-form>label:has(select[name="person"]){flex:1 1 300px}.wafer-edit-form>label:has(input[name="amount"]){flex:0 0 200px}.wafer-edit-form select[name="person"]{width:100%}

table th,table td{border-left:1px solid var(--line);border-right:1px solid var(--line)}

.town-sacraments-table{table-layout:fixed}.town-sacraments-table th:first-child,.town-sacraments-table td:first-child{width:36%}.town-sacraments-table th:not(:first-child),.town-sacraments-table td:not(:first-child){width:16%}

.town-sacraments-table th:not(:first-child),.town-sacraments-table td:not(:first-child){text-align:center}

.town-offerings-table td:not(:first-child){text-align:center}

.town-offerings-table td:not(:first-child){text-align:center}

.town-offerings-table th:not(:first-child){text-align:center}

.town-wafers-table th:not(:first-child),.town-wafers-table td:not(:first-child){text-align:center}

.annual-report-table th:nth-child(2),.annual-report-table td:nth-child(2){text-align:center}

html{scrollbar-gutter:stable}body{width:100%;min-width:0}.workspace{width:100%;max-width:none;margin-inline:auto;box-sizing:border-box}.workspace>.card,.workspace>.card.narrow{width:100%;max-width:none;box-sizing:border-box}

input[data-age]{width:80px;max-width:100%;text-align:center;box-sizing:border-box}

.age-profession-row{grid-column:1/-1;display:flex;align-items:flex-end;flex-wrap:wrap;gap:20px 40px}.age-profession-row>label:first-child{flex:0 0 80px}.age-profession-row>label:last-child{flex:1 1 250px}

.age-profession-row>label:last-child{flex:0 1 200px;width:200px}.age-profession-row input[name="profession"]{width:200px;max-width:100%}.postal-city-row{grid-column:1/-1;display:flex;align-items:flex-end;flex-wrap:wrap;gap:20px 40px}.postal-city-row>label:first-child{flex:0 0 150px}.postal-city-row>label:last-child{flex:0 1 400px;width:400px}

.postal-city-row{flex-wrap:nowrap}.postal-city-row>label:last-child{flex:0 1 400px;min-width:0}

.age-profession-row>label:last-child{flex:0 1 500px;width:500px}.age-profession-row input[name="profession"]{width:500px;max-width:100%}

.age-profession-row>label:last-child{flex:0 1 470px;width:470px}.age-profession-row input[name="profession"]{width:470px;max-width:100%}#record-edit-form input[name="street"]{width:500px;max-width:100%}#record-edit-form input[name="house"]{width:100px;max-width:100%}

.postal-city-row{align-items:flex-start}

.password-control{display:flex;gap:8px;align-items:center;margin-top:6px}.password-control input{margin-top:0;flex:1;min-width:0}.password-eye{flex:0 0 46px;padding:9px;font-size:20px}

.workers-list-table th:nth-child(2),.workers-list-table td:nth-child(2),.workers-list-table th:nth-child(3),.workers-list-table td:nth-child(3),.workers-list-table th:nth-child(4),.workers-list-table td:nth-child(4),.workers-list-table th:nth-child(5),.workers-list-table td:nth-child(5),.workers-list-table th:nth-last-child(2),.workers-list-table td:nth-last-child(2),.workers-list-table th:last-child,.workers-list-table td:last-child{text-align:center}

table[data-list-module="monuments"] th:nth-child(2),table[data-list-module="monuments"] td:nth-child(2),table[data-list-module="monuments"] th:nth-child(3),table[data-list-module="monuments"] td:nth-child(3),table[data-list-module="monuments"] th:nth-last-child(2),table[data-list-module="monuments"] td:nth-last-child(2),table[data-list-module="monuments"] th:nth-last-child(1),table[data-list-module="monuments"] td:nth-last-child(1){text-align:center}

table[data-list-module="collections"] th:nth-last-child(1),table[data-list-module="collections"] td:nth-last-child(1){text-align:center}

table[data-list-module="offerings"] th:nth-child(2),table[data-list-module="offerings"] td:nth-child(2),table[data-list-module="offerings"] th:nth-last-child(1),table[data-list-module="offerings"] td:nth-last-child(1){text-align:center}

table[data-list-module="announcements"] th:nth-last-child(1),table[data-list-module="announcements"] td:nth-last-child(1){text-align:center}

table[data-list-module="visits"] th:nth-last-child(1),table[data-list-module="visits"] td:nth-last-child(1){text-align:center}

table[data-list-module="death"] th:nth-child(3),table[data-list-module="death"] td:nth-child(3),table[data-list-module="death"] th:nth-last-child(1),table[data-list-module="death"] td:nth-last-child(1){text-align:center}

table[data-list-module="marriage"] th:nth-child(3),table[data-list-module="marriage"] td:nth-child(3),table[data-list-module="marriage"] th:nth-last-child(1),table[data-list-module="marriage"] td:nth-last-child(1){text-align:center}

table[data-list-module="confirmation"] th:nth-child(3),table[data-list-module="confirmation"] td:nth-child(3),table[data-list-module="confirmation"] th:nth-last-child(1),table[data-list-module="confirmation"] td:nth-last-child(1){text-align:center}

table[data-list-module="communion"] th:nth-child(3),table[data-list-module="communion"] td:nth-child(3),table[data-list-module="communion"] th:nth-last-child(1),table[data-list-module="communion"] td:nth-last-child(1){text-align:center}

table[data-list-module="baptism"] th:nth-child(3),table[data-list-module="baptism"] td:nth-child(3),table[data-list-module="baptism"] th:nth-last-child(1),table[data-list-module="baptism"] td:nth-last-child(1){text-align:center}

table[data-list-module="people"] th:nth-child(6),table[data-list-module="people"] td:nth-child(6),table[data-list-module="people"] th:nth-child(7),table[data-list-module="people"] td:nth-child(7),table[data-list-module="people"] th:nth-child(8),table[data-list-module="people"] td:nth-child(8),table[data-list-module="people"] th:nth-last-child(1),table[data-list-module="people"] td:nth-last-child(1){text-align:center}

table[data-list-module="priests"] th,table[data-list-module="priests"] td{vertical-align:middle}

.sortable-heading{cursor:pointer}.sortable-heading:focus-visible{outline:2px solid var(--tan);outline-offset:-2px}@media print{.sortable-heading{cursor:default}}

table[data-list-module="contacts"] th:nth-child(2),table[data-list-module="contacts"] td:nth-child(2),table[data-list-module="contacts"] th:nth-child(3),table[data-list-module="contacts"] td:nth-child(3),table[data-list-module="contacts"] th:last-child,table[data-list-module="contacts"] td:last-child{text-align:center}

table[data-list-module="towns"]{table-layout:fixed}table[data-list-module="towns"] th:first-child,table[data-list-module="towns"] td:first-child{width:50px;box-sizing:border-box}table[data-list-module="towns"] th:nth-child(2),table[data-list-module="towns"] td:nth-child(2){width:100px;box-sizing:border-box}

table[data-list-module="priests"] th:nth-child(2),table[data-list-module="priests"] td:nth-child(2),table[data-list-module="priests"] th:nth-child(3),table[data-list-module="priests"] td:nth-child(3),table[data-list-module="priests"] th:nth-child(4),table[data-list-module="priests"] td:nth-child(4),table[data-list-module="priests"] th:nth-child(5),table[data-list-module="priests"] td:nth-child(5),table[data-list-module="priests"] th:nth-last-child(2),table[data-list-module="priests"] th:last-child,table[data-list-module="priests"] td:nth-last-child(2),table[data-list-module="priests"] td:last-child{text-align:center}

.person-search-picker{position:relative;width:400px;max-width:100%;font-weight:normal}.person-search-picker summary{padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:white;cursor:pointer;list-style:none}.person-search-panel{position:absolute;top:100%;left:0;width:100%;z-index:20;background:white;padding:10px;border:1px solid var(--line);box-shadow:0 5px 18px #0003}.person-search-panel input,.person-search-panel select{width:100%!important;max-width:100%}.person-search-panel select{margin-top:8px}

@media screen{.a4-preview{width:210mm;max-width:100%;min-height:297mm;padding:20mm;background:white;border:1px solid #ddd;box-shadow:0 8px 28px #0003;color:#222;margin:30px auto}.a4-preview img{max-width:100%}}@media screen and (max-width:850px){.a4-preview{padding:6%;min-height:calc((100vw - 80px)*1.414)}}

.visit-routes [data-route-date]{width:140px;text-align:center}.visit-routes td{vertical-align:top}.visit-routes select[multiple]{min-width:220px}.visit-routes [data-visit-add]{margin-top:16px}

.intentions-frame{display:block;border:0;width:100%;height:1200px;min-height:700px;background:var(--cream)}

.intentions-workspace{padding-top:10px;padding-bottom:10px}.intentions-workspace>.pagehead{display:none}

.demo-login-page{min-height:100vh;display:flex;flex-direction:column}.demo-login-page .auth{flex-shrink:0;margin-bottom:32px}.demo-login-page .login-creator{margin-top:auto;padding:16px 12px;text-align:center;font-size:14px}.login-creator a{text-decoration:underline}

.system-message{flex:1;max-width:1000px;background:#F5ECDF;border:1px solid var(--line);border-radius:7px;padding:12px 18px;margin:0 30px;color:var(--dark);overflow-wrap:anywhere;text-align:center}.system-message>div+div{margin-top:8px}.headerline:has(.system-message){flex-wrap:wrap}.headerline:has(.system-message) .brand,.headerline:has(.system-message) .account{flex-shrink:0}@media(max-width:1050px){.system-message{order:3;flex-basis:100%;max-width:none;margin:0}.headerline:has(.system-message){gap:16px}}

@media(max-width:767px){main.workspace.intentions-workspace{padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important;width:100%!important;max-width:none!important}.intentions-frame{width:100%!important;margin:0!important}}
.filters>a:not(.button){display:inline-flex;align-items:center;justify-content:center;align-self:flex-end;min-height:48px;box-sizing:border-box;line-height:1.4}label:has(>select[name="year"]){text-align:center}select[name="year"]{text-align:center;text-align-last:center}.filters label:has(>select[name="year"]){flex:0 0 auto!important;width:100px!important;min-width:100px!important;max-width:100px;display:flex;flex-direction:column;align-items:stretch;text-align:center}.filters label:has(>select[name="year"])>select{width:100%;margin-left:0;margin-right:0}
/* Raised gray buttons in the main navigation. */
@media screen{
header nav.main-menu a{background:linear-gradient(#dedede,#bcbcbc);color:#292929;border:1px solid #999;border-bottom-color:#777;box-shadow:inset 0 1px 0 #ffffffd9,0 4px 0 #888,0 6px 8px #0003;text-shadow:0 1px 0 #ffffff9c;transition:background .12s,box-shadow .12s,transform .12s}
header nav.main-menu a:hover{background:linear-gradient(#d0d0d0,#aaa);color:#151515;box-shadow:inset 0 1px 0 #fff,0 4px 0 #777,0 7px 10px #0004;text-decoration:none}
header nav.main-menu a.active{background:linear-gradient(#858585,#626262);color:#fff;border-color:#555;box-shadow:inset 0 1px 0 #ffffff66,0 4px 0 #414141,0 6px 8px #0004;text-shadow:0 1px 1px #0008}
header nav.main-menu a:active{transform:translateY(3px);box-shadow:inset 0 1px 3px #0003,0 1px 0 #777}
header nav.main-menu a:focus-visible{outline:2px solid #38271c;outline-offset:4px}
}

@media screen{header nav.main-menu{row-gap:14px}}

@media screen{header nav.main-menu>a{flex:0 0 auto;width:auto;min-width:0;max-width:none;min-height:42px;display:inline-flex;align-items:center;justify-content:center;text-align:center}}

@media screen{header nav.main-menu{justify-content:center}}
@media screen and (max-width:600px){header nav.main-menu{justify-content:flex-start}}

/* Modern main navigation buttons. */
@media screen{
header nav.main-menu{column-gap:8px;row-gap:12px}
header nav.main-menu>a{min-height:46px;padding:10px 12px;border:1px solid #cbd1d8;border-radius:10px;background:#f8fafc;color:#334155;box-shadow:0 2px 5px #172b4d12;font-size:13.5px;font-weight:500;line-height:1.4;text-shadow:none;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}
header nav.main-menu>a:hover{background:#e9eef4;color:#172b4d;border-color:#9aa8b9;box-shadow:0 4px 10px #172b4d20;text-decoration:none;transform:translateY(-1px)}
header nav.main-menu>a.active{background:#334155;color:#fff;border-color:#334155;box-shadow:0 3px 8px #172b4d33;font-weight:600;text-shadow:none}
header nav.main-menu>a.active:hover{background:#273449;border-color:#273449;color:#fff}
header nav.main-menu>a:active{transform:translateY(1px);box-shadow:0 1px 2px #172b4d22}
header nav.main-menu>a:focus-visible{outline:3px solid #94a3b8;outline-offset:3px}
}
@media(prefers-reduced-motion:reduce){header nav.main-menu>a{transition:none}}

/* Capsule navigation in warm neutral colors. */
@media screen{
header nav.main-menu{column-gap:9px;row-gap:11px}
header nav.main-menu>a{border-radius:7px;padding:10px 18px;min-height:43px;background:#fffaf4;color:#604532;border:1px solid #cdb9a5;box-shadow:none;font-weight:500;font-size:14px;text-shadow:none}
header nav.main-menu>a:hover{background:#e9d9c8;color:#3e2b1e;border-color:#a8886c;box-shadow:0 2px 6px #65452f18;transform:none}
header nav.main-menu>a.active{background:#65452f;color:#fff;border-color:#65452f;box-shadow:0 2px 6px #65452f24;font-weight:600;text-shadow:none}
header nav.main-menu>a.active:hover{background:#523823;border-color:#523823;color:#fff}
header nav.main-menu>a:active{transform:translateY(1px);box-shadow:none}
header nav.main-menu>a:focus-visible{outline:3px solid #ad815b;outline-offset:3px}
}

/* Keep the year caption centered directly above its dropdown in all forms. */
label:has(>select[name="year"]){display:flex;flex-direction:column;align-items:stretch;justify-self:start;align-self:start;width:100px;min-width:100px;max-width:100%;text-align:center;text-transform:uppercase}
label:has(>select[name="year"])>select{width:100%;margin-left:0;margin-right:0;text-align:center;text-align-last:center;text-transform:none}

/* Equal filter control heights for courses, sick visits and announcements. */
form[method="get"]:has(>input[name="module"]:is([value="courses"],[value="sick_visits"],[value="announcements"],[value="offerings"],[value="collections"],[value="baptism"],[value="communion"],[value="confirmation"],[value="marriage"],[value="death"])) :is(select[name="year"],input[type="search"],button){height:48px;min-height:48px;box-sizing:border-box;font-size:16px;line-height:1.4;padding-top:10px;padding-bottom:10px}
form[method="get"]:has(>input[name="module"]:is([value="courses"],[value="sick_visits"],[value="announcements"],[value="offerings"],[value="collections"],[value="baptism"],[value="communion"],[value="confirmation"],[value="marriage"],[value="death"]))>label:has(>select[name="year"]){align-self:flex-end}

/* Slightly wider year filters in sacrament lists. */
form.filters:has(>input[name="module"]:is([value="baptism"],[value="communion"],[value="confirmation"],[value="marriage"],[value="death"]))>label:has(>select[name="year"]){width:150px!important;min-width:150px!important;max-width:150px}

/* Small desktop inset for page titles and their introductory text. */
@media screen and (min-width:1024px){.workspace>.pagehead>div:first-child{padding-left:16px}.workspace>.pagehead+p.muted{margin-left:16px}}

@media screen and (max-width:767px){.headerline>.system-message{width:100%;max-width:100%;min-width:0;flex:0 0 auto;align-self:stretch;box-sizing:border-box;margin:0;min-height:44px;padding:10px 16px}}

.main-menu-scroll{display:contents}.main-menu-arrow{display:none}
@media screen and (max-width:600px){
header .main-menu-scroll{display:flex;align-items:center;gap:6px;width:100%;padding:0 10px 12px;box-sizing:border-box}
header .main-menu-scroll nav.main-menu{flex:1;min-width:0;width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0;padding:4px 0 8px;justify-content:flex-start}
header .main-menu-scroll nav.main-menu::-webkit-scrollbar{display:none}
header .main-menu-arrow{display:flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;min-height:36px;padding:0;margin:0 0 4px;border:1px solid #493021;border-radius:4px;background:#493021;color:#fff;box-shadow:0 2px 4px #0002;cursor:pointer}
header .main-menu-arrow:hover{background:#65452f}
header .main-menu-arrow:disabled{opacity:.4;cursor:default}
header .main-menu-arrow span{display:block;width:11px;height:11px;border-top:3px solid currentColor;border-right:3px solid currentColor}
header .main-menu-arrow .menu-chevron-left{transform:rotate(-135deg);margin-left:4px}
header .main-menu-arrow .menu-chevron-right{transform:rotate(45deg);margin-right:4px}
}

@media screen and (min-width:768px){#record-edit-form[data-edit-module="people"] .postal-city-row>label:has(select[name="city"]){flex:0 1 400px;width:400px;min-width:0}#record-edit-form[data-edit-module="people"] .postal-city-row>label:has(select[name="gender"]){flex:0 1 250px;width:250px;min-width:0;margin-left:-20px}}
@media screen and (max-width:767px){#record-edit-form[data-edit-module="people"] .postal-city-row>label{flex:0 0 auto!important;width:100%!important;min-width:0}}

@media screen and (min-width:1024px){#record-edit-form[data-edit-module="people"]>label:has(>textarea[name="notes"]){width:calc(66.666667% - 6.666667px);max-width:100%;justify-self:start}}

@media screen and (min-width:1024px){section.card:has(>#record-edit-form[data-edit-module="people"])>.sectionhead{width:calc(66.666667% - 6.666667px);max-width:100%}}

#record-edit-form[data-edit-module="people"]>.person-parents-row{grid-column:1/-1;display:flex;align-items:flex-start;gap:20px;min-width:0}#record-edit-form[data-edit-module="people"]>.person-parents-row>[data-family]{flex:0 1 250px;min-width:0}
@media screen and (max-width:767px){#record-edit-form[data-edit-module="people"]>.person-parents-row{flex-direction:column;width:100%}#record-edit-form[data-edit-module="people"]>.person-parents-row>[data-family]{flex:0 0 auto;width:100%}}

#record-edit-form[data-edit-module="people"]>.person-parents-row>.person-siblings{flex:0 1 300px;min-width:0;overflow-wrap:anywhere}
@media screen and (max-width:767px){#record-edit-form[data-edit-module="people"]>.person-parents-row>.person-siblings{flex:0 0 auto;width:100%}}

@media screen and (min-width:1024px){#record-edit-form[data-edit-module="people"]>.person-parents-row>.person-siblings:has([data-siblings-list]>.muted){flex:0 0 auto}#record-edit-form[data-edit-module="people"] [data-siblings-list]>.muted{white-space:nowrap}}

@media screen and (min-width:1024px){#record-edit-form[data-edit-module="people"]>.age-profession-row{width:calc(50% - 10px);flex-wrap:nowrap}#record-edit-form[data-edit-module="people"]>.age-profession-row>label:last-child{flex:1 1 0;width:auto;min-width:0}#record-edit-form[data-edit-module="people"]>.age-profession-row input[name="profession"]{width:100%}}
@media screen and (min-width:1051px){#record-edit-form[data-edit-module="people"]>.age-profession-row{width:calc(33.333333% - 13.333333px)}}

@media screen and (min-width:1024px){#record-edit-form[data-edit-module="people"]>label:has(>textarea[name="notes"]){width:1220px;max-width:100%}}
@media screen and (min-width:1350px){#record-edit-form[data-edit-module="people"]>label:has(>input[name="marriage_minister"]){width:calc(1220px - 100% - 20px);max-width:none}}

@media screen and (min-width:1024px){#record-edit-form[data-edit-module="people"] input[name="street"]{width:100%;max-width:100%}}

@media screen and (min-width:1024px){#record-edit-form[data-edit-module="people"] .postal-city-row>label:has(select[name="city"]){flex:0 0 calc(50% - 200px);width:calc(50% - 200px)}}
@media screen and (min-width:1051px){#record-edit-form[data-edit-module="people"] .postal-city-row>label:has(select[name="city"]){flex-basis:calc(33.333333% - 203.333333px);width:calc(33.333333% - 203.333333px)}}

@media screen and (min-width:768px){#record-edit-form[data-edit-module="people"] select:is([name="city"],[name="gender"]){height:49px;min-height:49px;box-sizing:border-box;line-height:1.55;padding-top:11px;padding-bottom:11px}}

.person-photo-card{width:100%;min-width:0}.person-photo-card [hidden]{display:none!important}.person-photo-card>strong{display:block;margin-bottom:7px}.person-photo-drop{border:2px dashed #c5b29d;border-radius:10px;background:#f6f2e8;padding:18px;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}.person-photo-drop.is-dragging{border-color:#65452f;background:#eadac7}.person-photo-drop p{margin:0;color:#806f61}.person-photo-drop img,.person-photo-drop canvas{display:block;max-width:100%;max-height:220px;object-fit:contain;border-radius:6px}.person-photo-footer{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-top:10px}.person-photo-card>[data-photo-status]{font-size:13px;line-height:1.4;margin:8px 0 0}.person-photo-card input[type="file"]{max-width:100%}
@media screen and (min-width:1051px){#record-edit-form[data-edit-module="people"]{position:relative}#record-edit-form[data-edit-module="people"]>.person-photo-card{position:absolute;right:25px;top:30px;width:calc(33.333333% - 55px);max-width:480px}}
@media screen and (max-width:1050px){#record-edit-form[data-edit-module="people"]>.person-photo-card{grid-column:1/-1;max-width:480px}.person-photo-drop{min-height:240px}}

@media screen and (min-width:1200px){.headerline:has(>.system-message){justify-content:flex-start;flex-wrap:nowrap;gap:18px}.headerline:has(>.system-message)>.brand{flex:0 0 300px}.headerline>.system-message{flex:0 1 975px;max-width:975px;min-width:0;margin:0}.headerline:has(>.system-message)>.account{margin-left:auto}}

@media screen and (min-width:1024px){section.card:has(>#record-edit-form[data-edit-module="people"])>.sectionhead{width:100%;max-width:100%}}

@media screen and (min-width:1051px){#record-edit-form[data-edit-module="people"]>.person-photo-card{top:0}}

.person-photo-card.has-saved-photo .person-photo-drop{border:0;background:transparent;padding:0;min-height:0}.person-photo-card.has-saved-photo [data-photo-prompt],.person-photo-card.has-saved-photo .person-photo-drop>.actions,.person-photo-card.has-saved-photo .person-photo-footer>small{display:none}.person-photo-card.has-saved-photo .person-photo-footer{justify-content:center}

.person-photo-card>strong{text-align:center}

.person-photo-card.has-saved-photo .person-photo-footer{margin-top:calc(10px + 1lh)}

.person-photo-card.has-saved-photo .person-photo-drop img{max-height:330px;width:auto;height:auto;max-width:100%}

.person-print-photo{display:none}@media print{body:has([data-person-print]){font:9pt/1.25 Arial,sans-serif}body:has([data-person-print]) h2{font-size:15pt;margin:0 0 10px}body:has([data-person-print]) .details{gap:7px 14px;margin:8px 0 12px}body:has([data-person-print]) .details dt{font-size:8pt}body:has([data-person-print]) .details dd{font-size:9pt;margin-top:2px}body:has([data-person-print]) .details>div{padding-bottom:5px}body:has([data-person-print]) table{font-size:8pt}body:has([data-person-print]) td,body:has([data-person-print]) th{padding:4px}body:has([data-person-print]) .person-print-photo{display:block;float:right;width:28mm;height:38mm;object-fit:contain;margin:0 0 5mm 6mm}body:has([data-person-print]) [data-person-print]::after{content:"";display:block;clear:both}}

@page person-card{size:A4 portrait;margin:15mm}@media print{body:has([data-person-print]){page:person-card;width:auto;max-width:none}body:has([data-person-print]) .workspace{width:100%;margin:0;padding:0}body:has([data-person-print]) .details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px}body:has([data-person-print]) .card.printable{width:100%;max-width:none;clear:both}body:has([data-person-print]) .person-print-photo{float:right;width:28mm;height:38mm;object-fit:contain}body:has([data-person-print]) .card.printable+.card.printable{margin-top:12mm}body:has([data-person-print]) .details>div{min-width:0;break-inside:avoid}}

[data-person-print] .gallery .photo img{width:100%;height:auto;max-height:330px;object-fit:contain;object-position:center}[data-person-print] .gallery .photo{display:flex;align-items:center;justify-content:center}

.person-photo-card button.photo,.person-photo-card button.photo:hover,.person-photo-card button.photo:active,[data-person-print] .gallery button.photo,[data-person-print] .gallery button.photo:hover,[data-person-print] .gallery button.photo:active{background:transparent;border:0;box-shadow:none;cursor:zoom-in}

.online-users{font-size:12px;line-height:1.5;min-width:190px;text-align:left}.online-users strong{display:block;font-weight:600}.online-users>div{display:block;font-weight:400}@media(max-width:767px){.account .online-users{flex:0 0 100%;order:5;margin-top:8px}}

@media screen and (min-width:1200px){.account .online-users{position:relative;left:-30px}}

@media screen and (max-width:767px){.headerline>.account{width:100%;align-self:stretch}.headerline>.account>form:has(input[name="action"][value="logout"]){margin-left:auto}}

@media screen and (max-width:767px){.headerline>.account>a[href="?module=settings"]{margin-left:auto}.headerline>.account:has(>a[href="?module=settings"])>form:has(input[name="action"][value="logout"]){margin-left:0}}

.headerline .brandmark.parish-logo{background:transparent;flex-shrink:0;border-radius:0}.headerline .brandmark.parish-logo img{display:block;width:44px;height:48px;object-fit:contain}

header{background:#f8f2e9}body{background:#fbf9f5}.system-message{background:#faf6ef}

#record-edit-form[data-edit-module="people"] button[data-town-open],#record-edit-form[data-edit-module="people"] button[data-street-open]{display:flex;width:max-content;max-width:100%;margin-left:auto;margin-right:0}

/* Centered password change form, shared by all parish profiles. */
.password-change-panel{width:100%;max-width:380px;margin-inline:auto;min-width:0}
.password-change-panel h2{margin-top:0;margin-bottom:20px}
.password-change-panel .stack{grid-template-columns:minmax(0,1fr)}
.password-change-panel input,.password-change-panel button{width:100%;box-sizing:border-box}
.password-change-panel small{text-align:center;line-height:1.5}
