/* Add-a-person request: the same dialog language as the profile composer, from forms.css tokens. */
body[data-person-submission-open="true"]{overflow:hidden}
.add-person-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 14px;border:1px solid var(--btn-outline-line);border-radius:12px;background:var(--btn-outline-bg);color:var(--btn-outline-ink);font:var(--btn-font);cursor:pointer;white-space:nowrap;transition:background .18s ease,border-color .18s ease}
.add-person-btn:hover{background:var(--btn-outline-hover-bg);border-color:var(--form-accent-strong)}
.add-person-btn>span{font-size:18px;font-weight:400}
.person-submission[hidden]{display:none}
.person-submission{position:fixed;inset:0;z-index:430;display:grid;place-items:center;padding:24px;background:var(--form-scrim);color:var(--form-ink);backdrop-filter:blur(var(--form-scrim-blur))}
.person-submission__panel{width:min(760px,100%);max-height:min(860px,calc(100dvh - 48px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--form-panel-line);border-radius:var(--form-panel-radius);background:var(--form-panel-bg);box-shadow:var(--form-panel-shadow)}
.person-submission__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:25px 27px 20px;border-bottom:1px solid var(--form-divider);background:var(--form-header-bg)}
.person-submission__header>div{min-width:0}.person-submission__header span{color:var(--form-kicker);font:800 9px/1.2 var(--form-ui-font);letter-spacing:.18em;text-transform:uppercase}
.person-submission__header h2{margin:6px 0 0;color:var(--form-title);font:500 31px/1.08 var(--form-display-font)}.person-submission__header p{margin:7px 0 0;color:var(--form-subtitle);font-size:12px}
.person-submission__close{flex:0 0 auto;width:44px;height:44px;border:1px solid var(--btn-secondary-line);border-radius:12px;background:var(--btn-secondary-bg);color:var(--btn-secondary-ink);font-size:27px;line-height:1;cursor:pointer}
.person-submission__close:hover{background:var(--btn-secondary-hover-bg);color:var(--form-title)}
.person-submission__close:focus-visible{outline:2px solid var(--form-accent);outline-offset:2px}
#person-submission-form{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto auto;overflow:hidden}
.person-submission__fields{min-height:0;display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:17px;overflow:auto;overscroll-behavior:contain;padding:24px 27px 12px;background:var(--form-body-bg)}
.person-submission__field{display:grid;align-content:start;gap:8px;min-width:0}.person-submission__field[hidden]{display:none}.person-submission__field--wide{grid-column:1/-1}
.person-submission__field>span,.person-submission__label{color:var(--form-label);font:750 11px/1.3 var(--form-ui-font);letter-spacing:.035em}.person-submission__field>span small{margin-left:5px;color:var(--form-hint);font-size:9px;font-weight:600;text-transform:uppercase}
.person-submission__field input,.person-submission__field select,.person-submission__field textarea,.person-submission__sentence select,.person-submission__search input{width:100%;min-height:var(--field-min-height);box-sizing:border-box;border:1px solid var(--field-line);border-radius:var(--field-radius);background:var(--field-bg);color:var(--field-ink);font:var(--field-font)}
.person-submission__field input,.person-submission__field select{padding:0 13px}.person-submission__field textarea{min-height:98px;padding:12px 13px;resize:vertical}
.person-submission__field input::placeholder,.person-submission__field textarea::placeholder,.person-submission__search input::placeholder{color:var(--field-placeholder)}
.person-submission__field input:focus,.person-submission__field select:focus,.person-submission__field textarea:focus,.person-submission__sentence select:focus,.person-submission__search input:focus{border-color:var(--field-focus-line);outline:2px solid var(--field-focus-ring);outline-offset:1px}
.person-submission__field select option,.person-submission__sentence select option{background:var(--field-option-bg);color:var(--field-ink)}
.person-submission__relationship{display:grid;gap:9px;padding:16px;border:1px solid var(--form-accent-line);border-radius:var(--form-card-radius);background:var(--form-accent-soft)}
.person-submission__sentence{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--form-subtitle);font:500 14px/1.35 var(--form-ui-font)}.person-submission__sentence select{width:auto;min-height:38px;padding:0 10px;color:var(--form-accent-text)}.person-submission__sentence strong{color:var(--form-title);font-weight:700}
.person-submission__relationship>label{margin-top:5px;color:var(--form-help);font-size:11px;font-weight:650}.person-submission__search{position:relative}.person-submission__search svg{position:absolute;left:13px;top:13px;width:18px;height:18px;fill:none;stroke:var(--form-muted);stroke-width:1.7;stroke-linecap:round}.person-submission__search input{padding:0 13px 0 40px}
.person-submission__results{max-height:190px;overflow:auto;border:1px solid var(--form-card-line);border-radius:var(--field-radius);background:var(--form-card-bg)}.person-submission__results button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:0 13px;border:0;border-top:1px solid var(--form-divider);background:transparent;color:var(--form-ink);font:500 13px/1.3 var(--form-ui-font);text-align:left;cursor:pointer}.person-submission__results button:first-child{border-top:0}.person-submission__results button:hover{background:var(--form-accent-soft)}.person-submission__results small{color:var(--form-accent-text);font-size:11px}.person-submission__results p{margin:0;padding:15px;color:var(--form-help);font-size:12px;text-align:center}
.person-submission__error{min-height:18px;margin:0;padding:5px 27px 0;background:var(--form-body-bg);color:var(--form-error);font-size:12px;line-height:1.45}.person-submission__error:empty{visibility:hidden}.person-submission__help{margin:0;padding:7px 27px 12px;color:var(--form-help);font-size:11px;background:var(--form-body-bg)}
.person-submission__actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 27px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--form-divider);background:var(--form-footer-bg)}.person-submission__actions button{min-width:126px;min-height:var(--btn-min-height);border:1px solid var(--btn-secondary-line);border-radius:var(--btn-radius);background:var(--btn-secondary-bg);color:var(--btn-secondary-ink);font:var(--btn-font);cursor:pointer;transition:background .18s ease,border-color .18s ease}.person-submission__actions button:hover{background:var(--btn-secondary-hover-bg)}.person-submission__actions .person-submission__submit{border-color:var(--btn-primary-line);background:var(--btn-primary-bg);color:var(--btn-primary-ink)}.person-submission__actions .person-submission__submit:hover{background:var(--btn-primary-hover-bg)}.person-submission__actions button:focus-visible{outline:2px solid var(--form-accent);outline-offset:2px}.person-submission__actions button:disabled{cursor:wait;opacity:.56}
.person-submission-toast{position:fixed;left:50%;bottom:max(24px,calc(16px + env(safe-area-inset-bottom)));z-index:460;max-width:min(480px,calc(100% - 32px));padding:12px 17px;border:1px solid var(--toast-line);border-radius:var(--toast-radius);background:var(--toast-bg);color:var(--toast-ink);box-shadow:var(--toast-shadow);font:700 12px/1.4 var(--form-ui-font);opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:opacity .18s,transform .18s}.person-submission-toast.is-visible{opacity:1;transform:translate(-50%,0)}
/* The classic theme is carried by the forms.css tokens. */
body.classic-tree-mode .add-person-btn{border-radius:2px;box-shadow:inset 0 0 0 2px rgba(255,239,204,.25)}body.classic-tree-mode .person-submission__panel{color:var(--form-ink)}
@media(max-width:900px){.add-person-btn b{display:none}}
@media(max-width:650px){.person-submission{place-items:stretch;padding:0}.person-submission__panel{width:100%;max-height:100dvh;border:0;border-radius:0}.person-submission__header{padding:18px 17px 15px}.person-submission__header h2{font-size:25px}.person-submission__fields{grid-template-columns:1fr;padding:18px 17px 10px}.person-submission__field--wide{grid-column:1}.person-submission__error,.person-submission__help{padding-left:17px;padding-right:17px}.person-submission__actions{padding-left:17px;padding-right:17px}.person-submission__actions button{min-width:0;flex:1}.add-person-btn{width:40px;padding:0}.add-person-btn b{display:none}}
@media(prefers-reduced-motion:reduce){.person-submission-toast{transition:none}}


/* Parent selections stay side by side on desktop and stack on a phone. */
.person-submission__parents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.person-submission__parents[hidden],.person-submission__picker[hidden]{display:none}
.person-submission__parents>p{grid-column:1/-1;margin:2px 0 0;color:var(--form-subtitle);font-size:12px;line-height:1.5}
.person-submission__picker{display:grid;align-content:start;gap:8px;min-width:0}
.person-submission__picker>label{color:var(--form-label);font:650 12px/1.4 var(--form-ui-font)}
.person-submission__picker[data-person-picker="mother"]>label{color:var(--form-mother)}
.person-submission__picker[data-person-picker="father"]>label{color:var(--form-father)}
.person-submission__selected{margin:0;color:var(--form-accent-text);font:500 11px/1.5 var(--form-ui-font);overflow-wrap:anywhere}
.person-submission__selected:empty{display:none}
.person-submission__results button{gap:10px;padding-top:10px;padding-bottom:10px}
.person-submission__results button>span{min-width:0;overflow-wrap:anywhere}
.person-submission__results button>span small{display:block;margin-top:4px;color:var(--form-muted);font-size:10px;line-height:1.45}
.person-submission__results button:focus-visible{outline:2px solid var(--form-accent);outline-offset:-2px;background:var(--form-accent-soft)}
@media(max-width:650px){.person-submission__parents{grid-template-columns:minmax(0,1fr)}.person-submission__search input{font-size:16px}.person-submission__sentence select{min-height:44px}}
