.tree-canvas{isolation:isolate}.tree-links{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible}.generation{z-index:1}.tree-links path{fill:none;stroke:#c9d2c7;stroke-width:1.25;vector-effect:non-scaling-stroke}.tree-links .spouse-link{stroke:#b69a77;stroke-dasharray:3 2}.existing-relations{border:1px solid #ecece7;border-radius:5px;padding:10px;margin:0 0 15px}.existing-relations>strong{font-size:0.71429rem}.existing-relation{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #f0f0ec;padding-top:7px;margin-top:7px;font-size:0.71429rem;color:#62665f}.danger-text{color:#a66455}

/* Account permissions, invitations and review workspace share the existing palette. */
.account-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px;padding:16px;background:#edf1e9;border:1px solid #dce4d7;border-radius:var(--radius)}
.household-checks{display:grid;gap:8px}.access-form .household-check,.access-form .household-admin-check{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:#fff;cursor:pointer}.access-form .household-check>input[type="checkbox"],.access-form .household-admin-check>input[type="checkbox"]{flex:0 0 18px;width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:var(--green)}.household-check>span{display:grid;gap:2px;min-width:0}.household-check strong{font-size:0.92857rem;color:var(--ink)}.household-check small{font-size:0.78571rem;color:var(--muted);overflow-wrap:anywhere}.access-form .household-admin-check{min-height:38px;margin:-6px 0 2px 28px;border:0;background:transparent;color:#66705f;font-size:0.85714rem}.household-admin-check span{line-height:1.5}
.account-bar>div:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.role-badge{display:inline-block;padding:5px 9px;border-radius:4px;background:#e1e8dc;color:var(--green-dark);font-size:0.85714rem;font-weight:600}.scope-description{font-size:0.85714rem;color:#626e5e}.account-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-width:0}.account-tools label{font-size:0.85714rem;color:#66705f}.account-tools select{max-width:100%;min-height:44px;border:1px solid #d3dbce;border-radius:5px;background:#fff;padding:8px;font-size:0.85714rem;color:var(--ink)}
.access-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}.access-panel{padding:24px;min-width:0}.access-panel h2{font-size:1.21429rem;margin:0 0 18px}.access-description{font-size:0.92857rem;line-height:1.8;color:#74796d}.access-form{display:grid;gap:16px}.access-form label{display:grid;gap:8px;font-size:0.92857rem;line-height:1.6;color:#5b6255}.access-form input,.access-form select,.access-form textarea{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:5px;background:#fff;padding:10px;color:var(--ink);font-size:1rem}.access-form textarea{resize:vertical}.access-form input[disabled],.access-form fieldset[disabled] input,.access-form fieldset[disabled] textarea,.access-form fieldset[disabled] select{background:#f6f6f2;color:#777}.access-form fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:16px}.access-form .button{justify-self:start;min-height:44px;font-size:0.92857rem}.access-form .form-hint{font-size:0.85714rem;margin:0;line-height:1.8}.family-code{font:600 clamp(20px,2.4vw,30px) monospace;letter-spacing:2px;padding:24px 12px;background:var(--warm);border-radius:5px;text-align:center;color:var(--green-dark);overflow-wrap:anywhere;user-select:all}.review-panel{margin-top:20px}.request-card{border-top:1px solid var(--line);padding:22px 0 4px;margin-top:18px}.request-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.request-heading strong{font-size:1.07143rem}.request-heading p,.review-result{font-size:0.85714rem;color:#7d8375;line-height:1.7;overflow-wrap:anywhere}.change-table{margin:14px 0;border:1px solid var(--line);border-radius:5px;overflow:hidden}.change-row{display:grid;grid-template-columns:76px minmax(0,1fr) minmax(0,1fr);font-size:0.92857rem;line-height:1.7;border-top:1px solid var(--line)}.change-row:first-child{border-top:0}.change-row>span{padding:10px;overflow-wrap:anywhere;white-space:pre-wrap}.change-row>span+span{border-left:1px solid var(--line)}.change-head{background:#f6f7f2;color:#7d8375;font-size:0.85714rem}.review-form{margin:16px 0}.action-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.form-error{color:#a24737;font-size:0.92857rem;line-height:1.7;margin:0;overflow-wrap:anywhere}.form-error:empty{display:none}.notice,.pending-notice{padding:14px 16px;border:1px solid #d5e0cf;border-radius:5px;background:#eff5eb;color:#45603b;font-size:0.92857rem;line-height:1.8;overflow-wrap:anywhere}.pending-notice{background:#fbf4e5;border-color:#ecdbb9;color:#926f36}.no-family{max-width:660px;margin:32px auto}.no-family h1{font-size:1.64286rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.access-panel .panel-heading{flex-wrap:wrap;gap:12px}.access-panel .panel-heading h2{margin:0}.button:disabled{opacity:.6;cursor:default}.sidebar{overflow-y:auto}.sidebar-note{padding-top:20px}.user-card{flex-shrink:0}
.button,.icon-button,.tree-control,.text-button,.mobile-menu,.nav-item{min-height:44px}.icon-button,.tree-control,.mobile-menu{min-width:44px}.tree-control{border-radius:4px}.tree-control+.tree-control{border-left:1px solid var(--line)}
@media(max-width:1023px){.access-grid{grid-template-columns:1fr}.account-bar{align-items:flex-start}.account-tools{width:100%}.account-tools select{flex:1;min-width:0}.account-tools label{flex-basis:100%}.sidebar{width:260px;transform:translateX(-100%);box-shadow:12px 0 32px #2222}.sidebar.open{transform:translateX(0)}.page-wrap{margin-left:0}.mobile-menu{display:block}.workspace-grid{grid-template-columns:1fr}}
@media(max-width:767px){.access-panel{padding:18px}.account-bar{padding:12px}.account-tools{gap:8px}.account-tools select{font-size:0.85714rem}.change-row{grid-template-columns:60px minmax(0,1fr) minmax(0,1fr);font-size:0.85714rem}.change-row>span{padding:8px}.scope-description{font-size:0.78571rem}.request-heading{flex-wrap:wrap}.request-heading p{font-size:0.78571rem}.access-form .form-grid{grid-template-columns:1fr}.family-code{font-size:1.57143rem}.access-description{font-size:0.85714rem}.top-actions .button{min-height:44px}.tree-toolbar{flex-wrap:wrap;gap:10px}.page-content{min-width:0}.account-bar,.access-grid,.change-table{max-width:100%}}

/* Households appear separately from parent/child and spouse links. */
.household-card{padding:18px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.household-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.household-card h3{font-size:1.07143rem;margin:0 0 6px}.household-card-head p{font-size:0.85714rem;color:var(--muted);margin:0}.household-facts{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:16px 0}.household-facts dt{font-size:0.85714rem;color:var(--muted)}.household-facts dd{font-size:1rem;margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.household-members,.household-admins{font-size:0.85714rem;margin-top:12px}.household-members>div,.household-admins>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.member-chip,.admin-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;background:var(--warm);border-radius:4px}.admin-chip{background:#edf1e9;color:var(--green-dark)}
.tree-households{margin:12px 0;padding:12px;background:#f6f8f3;border:1px solid var(--line);border-radius:var(--radius);min-width:0}.tree-households-heading{display:flex;gap:8px 16px;flex-wrap:wrap;align-items:center;font-size:0.92857rem}.tree-households-heading>span{font-size:0.85714rem;color:var(--muted)}.tree-household-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tree-household-option{display:flex;align-items:center;gap:10px;min-height:44px;max-width:100%;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:5px;color:var(--green-dark);text-align:left;overflow-wrap:anywhere;font-size:0.92857rem}.tree-household-option>span{flex-shrink:0;font-size:0.85714rem;color:var(--muted)}.tree-household-option[aria-pressed="true"]{background:#e4eddf;border-color:var(--green)}.tree-card.household-highlight{outline:2px solid var(--green);outline-offset:2px;background:#f0f6ec}.tree-card .tree-household{display:block;font-size:0.71429rem;color:var(--green-dark);margin-top:6px;line-height:1.6;overflow-wrap:anywhere;white-space:normal}.tree-households .household-card{margin-top:14px;padding-bottom:0}
@media(max-width:767px){.tree-households{padding:10px}.household-facts{grid-template-columns:1fr}.tree-household-option{width:100%;justify-content:space-between}.tree-household-options>.text-button{min-height:44px}.tree-card .tree-household{font-size:0.71429rem}}

.historical-scope,.historical-sources{margin:16px 0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);font-size:0.92857rem;line-height:1.7;min-width:0;overflow-wrap:anywhere}
.historical-scope summary,.historical-sources summary{cursor:pointer;font-weight:600;min-height:44px;display:list-item;align-content:center}
.historical-scope ul,.historical-sources ul,.relationship-sources{padding-left:18px;margin:10px 0}
.historical-scope li,.historical-sources li,.relationship-sources li{margin:10px 0;overflow-wrap:anywhere}
.historical-scope p,.historical-sources p,.relationship-sources p{margin:6px 0}
.historical-scope a,.historical-sources a,.relationship-sources a{color:var(--accent);text-decoration:underline;display:inline-block;padding:6px 0;min-height:44px}

.history-diff {display:grid;grid-template-columns: minmax(6em,1fr) minmax(0,2fr) minmax(0,2fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere;}
#history-panel details {padding:10px 0;}
#history-panel ul {overflow-wrap:anywhere;}
@media(max-width:767px){.history-diff{grid-template-columns:1fr;gap:6px;}}

#scheduled-backups input[type="checkbox"] {width:22px;min-height:22px;height:22px;accent-color:var(--green, #28543d);margin:0 10px 0 0;}
#scheduled-backups label:has(input[type="checkbox"]) {display:flex;align-items:center;min-height:44px;}
