.admin-subnav a.active{background:var(--green);color:#fff}.form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.button.button-secondary,.form-actions .button-secondary{border:1px solid #d8d8d1;background:#f0efe9;color:var(--ink);box-shadow:none}.button.button-secondary:hover,.form-actions .button-secondary:hover{border-color:#c8cac2;background:#dfdfd8;color:var(--ink)}.search-form{display:flex;gap:12px;margin-bottom:22px}.search-form input{max-width:480px}.related-block{margin-top:35px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:20px}.related-block .admin-heading{margin-bottom:15px}.related-block h2{font-size:27px;margin:0}.related-row{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid var(--line);text-decoration:none}.related-row small,.muted{color:var(--muted)}
.back-link{display:inline-flex;align-items:center;justify-content:center;padding:9px 17px;border-radius:999px;background:#e8e8e2;color:var(--ink);line-height:1.6;box-shadow:none}.back-link:hover{background:#d8d9d2;color:var(--ink)}
h1{font-size:40px!important}h2{font-size:30px!important}
.person-profile-actions{margin-bottom:28px;flex-wrap:wrap}.person-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.person-profile-wide{grid-column:1/-1}.person-profile-grid .detail-card h3{margin:20px 0 8px;font-size:18px}.person-profile-grid .detail-card h3:first-of-type{margin-top:8px}@media(max-width:760px){.person-profile-grid{grid-template-columns:1fr}.person-profile-wide{grid-column:auto}}
.person-data-list{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:baseline;margin:0}.person-data-list dt,.person-data-list dd{padding:7px 0;border-bottom:0}.person-data-list dt{margin:0;padding-right:10px;color:#718078;font-size:11px;font-weight:700;letter-spacing:.09em;line-height:1.35;text-transform:uppercase}.person-data-list dd{margin:0;color:var(--ink);font-size:15px}.person-data-list dt:last-of-type,.person-data-list dd:last-child{border-bottom:0}.person-data-list dd a{font-weight:700;text-decoration-color:var(--sage);text-underline-offset:3px}
.person-address-list{display:grid}.person-address-row{display:grid;grid-template-columns:140px minmax(0,1fr) auto;align-items:baseline;gap:0;padding:9px 0;border-top:1px solid var(--line)}.person-address-row:first-child{border-top:0}.person-data-label{padding-right:10px;color:#718078;font-size:11px;font-weight:700;letter-spacing:.09em;line-height:1.35;text-transform:uppercase}.person-data-value{color:var(--ink);font-size:15px}.person-address-row>small{margin-left:20px;color:var(--muted);white-space:nowrap}
.address-assignment-expired{color:var(--muted)}.address-assignment-expired .person-data-value,.address-assignment-expired strong{color:var(--muted)}.address-assignment-expired .role-badge{background:#ecebe7;color:#777f7b}.address-expired-label{display:inline-block;margin-left:7px;padding:2px 7px;border-radius:999px;background:#ecebe7;color:#69736e;font-size:10px;font-style:normal;font-weight:700;letter-spacing:.05em;text-transform:uppercase;vertical-align:middle}
.sortable-heading{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none}.sortable-heading span{color:#a3aaa6;font-size:10px}.sortable-heading:hover,.sortable-heading.active{color:var(--green)}.sortable-heading.active span{color:var(--terracotta)}
.person-contact-row{padding:7px 0}.person-contact-row span{gap:2px}.person-contact-row strong{font-size:15px}.person-contact-row small{font-size:12px}.person-account-copy{display:flex;flex-direction:column;gap:5px}
.person-address-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:20px;white-space:nowrap}.person-address-actions small{color:var(--muted)}.person-address-actions .edit-icon{flex:0 0 auto}
@media(max-width:600px){.person-data-list{grid-template-columns:1fr}.person-data-list dt{padding:10px 0 1px;border-bottom:0}.person-data-list dd{padding:0 0 10px}.person-address-row{grid-template-columns:1fr;padding:11px 0}.person-data-label{padding:0 0 2px}.person-address-actions{justify-content:flex-start;margin:4px 0 0;white-space:normal}}
.choice-list>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;row-gap:12px;margin:9px 0}.choice-grid{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;row-gap:12px}.choice-grid input[type="checkbox"]+label{display:block;margin:0}.choice-list input[type="checkbox"]{width:auto;margin:0}.choice-list label{display:block;margin:0}.stat-grid .stat-label{font-weight:700;color:var(--ink)}.stat-grid small{color:var(--muted);margin-top:-4px}.stat-grid .stat-link{margin-top:16px;color:var(--green);font-size:13px;font-weight:700}.actions-compact{display:flex;gap:10px}.table-heading{font-size:28px;margin:30px 0 15px}.table-heading.second{margin-top:42px}@media(max-width:560px){.search-form,.related-row,.actions-compact{align-items:stretch;flex-direction:column}}
.family-person-card{display:flex;margin:30px 0;padding:28px 30px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow);text-decoration:none}.family-person-card:hover,.family-managed-row:hover{border-color:var(--green);background:var(--sage)}.family-person-card span{display:flex;flex-direction:column}.family-person-card small{color:var(--terracotta);font-weight:700;text-transform:uppercase;letter-spacing:.1em}.family-person-card strong{font:600 28px Lora}.family-person-card em,.family-managed-row em{color:var(--green);font-size:13px;font-style:normal;font-weight:700}.family-managed-row{align-items:center}.family-managed-row span{display:flex;flex-direction:column}.family-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}.family-detail-grid .detail-card p{display:flex;flex-direction:column;padding-bottom:12px;border-bottom:1px solid var(--line)}.family-detail-grid .detail-card small{color:var(--muted)}.scope-badges{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:700px){.family-detail-grid{grid-template-columns:1fr}}
.address-row-actions{display:flex;align-items:center;gap:14px}.address-row-actions small{white-space:nowrap}@media(max-width:560px){.address-row-actions{align-items:flex-start;justify-content:space-between}}
.person-status-icon{position:relative;display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:19px;font-weight:700;line-height:1}.person-status-active{background:#dfeee2;color:#247044}.person-status-deceased{background:#ececea;color:#4f5955}.person-status-archived{background:#f4e7cf;color:#8a5d1f}.person-status-icon[data-tooltip]::before{content:'';position:absolute;z-index:41;left:50%;bottom:calc(100% + 3px);width:8px;height:8px;background:var(--ink);transform:translate(-50%,4px) rotate(45deg);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .1s ease,transform .1s ease,visibility 0s linear .1s}.person-status-icon[data-tooltip]::after{content:attr(data-tooltip);position:absolute;z-index:40;left:50%;bottom:calc(100% + 7px);padding:7px 10px;border-radius:7px;background:var(--ink);color:#fff;box-shadow:0 7px 18px rgba(32,53,46,.22);font:600 12px/1.2 'DM Sans',sans-serif;white-space:nowrap;transform:translate(-50%,4px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .1s ease,transform .1s ease,visibility 0s linear .1s}.person-status-icon[data-tooltip]:hover::before,.person-status-icon[data-tooltip]:focus-visible::before{opacity:1;visibility:visible;transform:translate(-50%,0) rotate(45deg);transition-delay:.06s}.person-status-icon[data-tooltip]:hover::after,.person-status-icon[data-tooltip]:focus-visible::after{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:.06s}
.member-hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:34px}.member-hub-grid .workspace-card em{margin-top:auto;padding-top:18px;color:var(--green);font-size:13px;font-style:normal;font-weight:700}.member-person-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.member-person-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none}.member-person-card:hover{border-color:var(--green);background:var(--sage)}.member-person-card>span:last-child{display:flex;min-width:0;flex-direction:column}.member-person-card small{color:var(--muted)}.member-person-mark{display:grid;flex:0 0 45px;place-items:center;width:45px;height:45px;border-radius:50%;background:var(--sage);color:var(--green);font-weight:700}.member-person-mark.status-deceased{background:#ececea;color:#59645f}.member-event-list{display:grid;gap:14px;margin-top:30px}.member-event-row{display:flex;align-items:center;gap:12px}.event-admin-links{flex-wrap:wrap;margin:0 0 20px}.member-event-row>.member-event-card{flex:1;min-width:0}.member-event-card{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:20px;padding:20px 24px;border:1px solid var(--line);border-radius:17px;background:#fff;text-decoration:none}.member-event-card:hover{border-color:var(--green);background:var(--sage)}.member-event-card.is-past{opacity:.72}.member-event-card time{display:flex;flex-direction:column;align-items:center;color:var(--terracotta)}.member-event-card time strong{font:600 30px Lora;line-height:1}.member-event-card time span{font-size:12px}.member-event-copy{display:flex;flex-direction:column}.member-event-copy strong{font:600 21px Lora}.member-event-copy small{color:var(--muted)}@media(max-width:850px){.member-person-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.member-hub-grid,.member-person-grid{grid-template-columns:1fr}.member-event-card{grid-template-columns:55px 1fr}.member-event-card>span:last-child{grid-column:2}}
.tree-graph-shell{max-width:1500px}.tree-controls{display:grid;grid-template-columns:minmax(280px,1fr) 180px auto;align-items:end;gap:14px;margin:24px 0;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fff}.tree-controls label{margin-top:0}.tree-canvas{position:relative;overflow:hidden;height:680px;border:1px solid var(--line);border-radius:20px;background-color:#fbfaf6;background-image:radial-gradient(rgba(49,95,79,.16) 1px,transparent 1px);background-size:22px 22px;box-shadow:var(--shadow)}.tree-canvas svg{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.tree-canvas svg:active{cursor:grabbing}.tree-toolbar{position:absolute;z-index:3;top:16px;right:16px;display:flex;gap:6px}.tree-toolbar button{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--green);font-size:22px;font-weight:700;cursor:pointer;box-shadow:0 5px 15px rgba(32,53,46,.12)}.tree-toolbar button:hover{background:var(--sage)}.tree-hint{position:absolute;z-index:2;left:50%;bottom:12px;margin:0;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.9);color:var(--muted);font-size:12px;transform:translateX(-50%);white-space:nowrap}.tree-edge{fill:none;stroke:#8fa79e;stroke-width:2}.tree-edge-parent{stroke-linecap:round}.tree-edge-partner{stroke:var(--terracotta);stroke-width:5;stroke-linecap:round}.tree-node rect{fill:#fff;stroke:#bfc9c4;stroke-width:1.5;filter:drop-shadow(0 5px 7px rgba(32,53,46,.1));transition:.12s}.tree-node:hover rect,.tree-node:focus rect{fill:var(--sage);stroke:var(--green);stroke-width:2.5}.tree-node.is-focus rect{fill:#315f4f;stroke:#244a3d}.tree-node.is-focus text{fill:#fff}.tree-node.is-deceased rect{fill:#efefec;stroke:#929b97}.tree-node-name{fill:var(--ink);font:600 14px 'DM Sans',sans-serif}.tree-node-dates{fill:var(--muted);font:12px 'DM Sans',sans-serif}@media(max-width:700px){.tree-controls{grid-template-columns:1fr}.tree-canvas{height:580px}.tree-hint{display:none}}
.flash.warning{background:#fff0c9;color:#6f5312}
.birthday-heading{align-items:flex-end}.birthday-year-form{display:flex;align-items:end;gap:9px}.birthday-year-form label{align-self:center;margin:0}.birthday-year-form input{width:105px;padding:10px 12px}.birthday-calendar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:30px}.birthday-month{overflow:hidden;min-height:190px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.birthday-month h2{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:16px 18px;background:var(--sage);color:var(--green);font-size:22px}.birthday-count{display:inline-grid;flex:0 0 29px;place-items:center;min-width:29px;height:29px;padding:0 7px;border-radius:999px;background:var(--green);color:#fff;font:700 13px 'DM Sans',sans-serif}.birthday-list{padding:6px 16px 14px}.birthday-row{display:grid;grid-template-columns:43px minmax(0,1fr);align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);text-decoration:none}.birthday-row:last-child{border-bottom:0}.birthday-row:hover strong{color:var(--terracotta)}.birthday-row time{display:flex;align-items:baseline;color:var(--terracotta)}.birthday-row time strong{font:600 22px Lora}.birthday-row time span{font-size:11px}.birthday-row>span{display:flex;min-width:0;flex-direction:column}.birthday-row>span>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.birthday-row small,.birthday-empty{color:var(--muted)}.birthday-empty{margin:16px 0;font-size:13px}@media(max-width:1150px){.birthday-calendar{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){.birthday-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.birthday-heading{align-items:flex-start;flex-direction:column}.birthday-year-form{flex-wrap:wrap}}@media(max-width:520px){.birthday-calendar{grid-template-columns:1fr}.birthday-year-form label{display:none}}
.registration-filter{display:grid;grid-template-columns:minmax(260px,1.25fr) minmax(240px,1fr) auto auto;align-items:end;gap:12px;margin:26px 0 12px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fff}.registration-filter label{margin-top:0}.registration-result-heading{justify-content:flex-end;margin-bottom:10px}.registration-result-heading p{margin:0}(max-width:900px){.registration-filter{grid-template-columns:1fr 1fr}.registration-filter .button{justify-self:start}}(max-width:600px){.registration-filter{grid-template-columns:1fr}}

.member-registrations{display:grid;gap:16px}.member-registrations>.admin-heading{margin-bottom:0}.member-registration-card{padding:18px 20px;border:1px solid var(--line);border-radius:15px;background:#fbfaf6}.member-registration-card .admin-heading-row{align-items:flex-start}.member-registration-card .admin-heading-row p{margin:7px 0 0}.member-registration-card .info-box{margin:14px 0}.member-registration-card .related-row:first-of-type{margin-top:10px}

.meal-admin-list{display:grid;gap:20px;margin-top:28px}.meal-admin-card{padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.meal-admin-card h2{margin:0;font-size:25px}.meal-option-list{display:grid;margin-top:16px}.meal-option-row{display:grid;grid-template-columns:minmax(0,1fr) 190px 38px;align-items:center;gap:18px;padding:13px 0;border-top:1px solid var(--line);text-decoration:none}.meal-option-name{min-width:0}.meal-option-meta{width:190px;text-align:left;white-space:nowrap}.meal-option-row:hover strong{color:var(--terracotta)}.meal-option-row.is-inactive{opacity:.55}@media(max-width:650px){.meal-option-row{grid-template-columns:minmax(0,1fr) 38px;align-items:center}.meal-option-meta{grid-row:2;grid-column:1;width:auto;white-space:normal}}

.meal-progress{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0;padding:12px 14px;border-radius:12px}.meal-progress>span{display:flex;flex-direction:column}.meal-progress small{color:var(--muted)}.meal-progress.is-complete{background:#e2efe5}.meal-progress.is-missing{background:#fff0c9}.meal-choice-grid{display:grid;gap:22px;margin-top:28px}.meal-choice-person{padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.meal-choice-person h2{margin-bottom:14px;font-size:26px}.meal-choice-row{display:grid;grid-template-columns:minmax(230px,1fr) minmax(260px,1.2fr);align-items:center;gap:18px;padding:12px 0;border-top:1px solid var(--line)}.meal-choice-row label{display:flex;flex-direction:column;margin:0}.meal-choice-row label small{color:var(--muted)}.meal-choice-summary{display:block;white-space:nowrap}(max-width:650px){.meal-progress{align-items:flex-start;flex-direction:column}.meal-choice-row{grid-template-columns:1fr}}

.management-filter{grid-template-columns:minmax(260px,420px) auto;justify-content:start}.management-grant-row.is-valid td{background:#f4faf5}.management-grant-row.is-valid td:first-child{box-shadow:inset 4px 0 0 #4f8a61}.management-grant-row.is-invalid{color:var(--muted);font-style:italic}.management-grant-row.is-invalid td{background:#f7f5f2}.management-grant-row.is-invalid strong{color:inherit}
