/* Records editor drawer, life event sheets (birth, death, marriage), and edit history.
   Colours, fields, buttons, and chips come from forms.css tokens. */
.record-editor-btn{display:inline-flex;align-items:center;justify-content:center;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}
.record-editor-btn:hover{border-color:var(--form-accent-strong);background:var(--btn-outline-hover-bg)}
.record-editor-btn:focus-visible{outline:2px solid var(--form-accent);outline-offset:2px}
.record-editor{position:fixed;z-index:500;inset:0 0 0 auto;width:min(620px,100vw);background:var(--form-drawer-bg);border-left:1px solid var(--form-drawer-line);box-shadow:var(--form-drawer-shadow);color:var(--form-ink);overflow:auto;overscroll-behavior:contain;font-family:var(--form-ui-font)}
.record-editor[hidden]{display:none}
.record-editor__head{position:sticky;z-index:2;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 27px 12px;background:var(--form-drawer-bg)}
.record-editor__head>div{min-width:0}
.record-editor__head p,.record-form-title p,.history-heading p{margin:0;color:var(--form-kicker);font:800 9px/1.2 var(--form-ui-font);letter-spacing:.18em;text-transform:uppercase}
.record-editor__head h2{margin:6px 0 0;color:var(--form-title);font:500 28px/1.08 var(--form-display-font)}
.record-form-title h3,.history-heading h3{margin:6px 0 0;color:var(--form-title);font:500 24px/1.12 var(--form-display-font)}
.record-editor__head button{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}
.record-editor__head button:hover{background:var(--btn-secondary-hover-bg);color:var(--form-title)}
.record-editor__head button:focus-visible{outline:2px solid var(--form-accent);outline-offset:2px}
.record-editor__tabs{position:sticky;z-index:2;top:81px;display:flex;gap:6px;padding:4px 27px 14px;background:var(--form-drawer-bg);border-bottom:1px solid var(--form-divider)}
.record-editor__tabs button{min-height:36px;padding:0 14px;border:1px solid var(--btn-secondary-line);border-radius:999px;background:transparent;color:var(--form-muted);font:var(--btn-font);cursor:pointer;transition:background .18s ease,color .18s ease}
.record-editor__tabs button:hover{color:var(--form-title);background:var(--btn-secondary-hover-bg)}
.record-editor__tabs button.is-active{border-color:var(--form-accent-line);background:var(--form-accent-soft);color:var(--form-accent-text);box-shadow:inset 0 0 0 1px var(--form-accent-line)}
.record-editor__body{padding:20px 27px 48px}
.record-toolbar{display:grid;grid-template-columns:130px 1fr;gap:10px 12px;align-items:center;margin-bottom:16px}
.record-toolbar label,.record-field>span{color:var(--form-label);font:750 11px/1.3 var(--form-ui-font);letter-spacing:.035em}
.record-toolbar input{grid-column:1/-1}
.record-toolbar input,.record-toolbar select,.record-field input,.record-field select,.record-field textarea{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);padding:0 13px;font:var(--field-font);outline:none}
.record-field textarea{padding:12px 13px}
.record-toolbar input::placeholder,.record-field input::placeholder,.record-field textarea::placeholder{color:var(--field-placeholder)}
.record-toolbar select option,.record-field select option{background:var(--field-option-bg);color:var(--field-ink)}
.record-toolbar input:focus,.record-toolbar select:focus,.record-field input:focus,.record-field select:focus,.record-field textarea:focus{border-color:var(--field-focus-line);outline:2px solid var(--field-focus-ring);outline-offset:1px}
.record-list{display:grid;gap:8px}
.record-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:54px;padding:12px 14px;text-align:left;border:1px solid var(--form-card-line);border-radius:var(--form-card-radius);background:var(--form-card-bg);color:var(--form-ink);cursor:pointer;transition:border-color .18s ease,background .18s ease}
.record-row:hover{border-color:var(--form-accent-line);background:var(--form-accent-soft)}
.record-row span{font:600 14px/1.35 var(--form-ui-font)}.record-row small{flex:0 0 auto;color:var(--form-hint);font:800 9px/1.2 var(--form-ui-font);letter-spacing:.14em;text-transform:uppercase}
.record-back{display:inline-flex;align-items:center;min-height:36px;margin:0 0 14px;padding:0;border:0;background:transparent;color:var(--form-accent-text);font:700 12px/1 var(--form-ui-font);cursor:pointer}
.record-back:hover{text-decoration:underline}
.record-form-title{margin-bottom:22px}.record-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.record-field{display:grid;align-content:start;gap:8px;min-width:0}.record-field.is-wide{grid-column:1/-1}.record-field textarea{resize:vertical;min-height:112px}
.record-field:has(input[type="checkbox"]){grid-template-columns:auto 1fr;align-items:center;gap:10px}
.record-field:has(input[type="checkbox"])>span{order:2}
.record-field input[type=checkbox]{width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--form-accent)}
.record-form__actions{grid-column:1/-1;display:flex;gap:10px;padding-top:6px}
.record-form__actions button{min-height:var(--btn-min-height);padding:0 18px;border:1px solid var(--btn-primary-line);border-radius:var(--btn-radius);background:var(--btn-primary-bg);color:var(--btn-primary-ink);font:var(--btn-font);cursor:pointer;transition:background .18s ease,border-color .18s ease}
.record-form__actions button:hover{background:var(--btn-primary-hover-bg)}
.record-form__actions button+button{border-color:var(--btn-secondary-line);background:var(--btn-secondary-bg);color:var(--btn-secondary-ink)}
.record-form__actions button+button:hover{background:var(--btn-secondary-hover-bg)}
.record-form__actions button:focus-visible{outline:2px solid var(--form-accent);outline-offset:2px}
.record-form__actions button:disabled{opacity:.55;cursor:wait}
.record-message,.record-empty,.record-loading{grid-column:1/-1;border:1px solid var(--form-error-line);border-radius:var(--field-radius);background:var(--form-error-bg);color:var(--form-error);padding:13px 14px;font:500 12px/1.45 var(--form-ui-font)}
.record-message.is-success{border-color:var(--form-success-line);background:var(--form-success-bg);color:var(--form-success)}.record-empty,.record-loading{border-color:var(--form-card-line);background:var(--form-card-bg);color:var(--form-help)}
.history-heading{margin-bottom:18px}.history-list{display:grid;gap:10px}.history-entry{border:1px solid var(--form-card-line);border-radius:var(--form-card-radius);background:var(--form-card-bg);padding:16px}
.history-entry header{display:flex;justify-content:space-between;gap:14px;color:var(--form-accent-text);font:700 12px/1.3 var(--form-ui-font)}.history-entry time{color:var(--form-hint);font-weight:500}.history-entry h4{margin:8px 0 12px;color:var(--form-title);font:500 17px/1.25 var(--form-display-font);text-transform:capitalize}
.history-changes{display:grid;gap:8px}.history-changes>div{border-top:1px solid var(--form-divider);padding-top:8px}.history-changes b{display:block;margin-bottom:4px;color:var(--form-label);font:750 11px/1.3 var(--form-ui-font);text-transform:capitalize}.history-changes span{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:start;font:500 12px/1.4 var(--form-ui-font)}.history-changes s{color:var(--form-error);text-decoration:none;overflow-wrap:anywhere}.history-changes i{color:var(--form-accent-text);font-style:normal}.history-changes strong{color:var(--form-title);overflow-wrap:anywhere}.history-entry>small{display:block;margin-top:12px;color:var(--form-hint);font:500 10px/1.4 var(--form-ui-font);overflow-wrap:anywhere}
@media(max-width:700px){.record-editor{top:0;width:100vw}.record-editor__body{padding:16px 16px 80px}.record-editor__head{padding-left:16px;padding-right:16px}.record-editor__tabs{padding-left:16px;padding-right:16px}.record-form{grid-template-columns:1fr}.record-field,.record-field.is-wide,.record-form__actions{grid-column:1}.record-form__actions{flex-direction:column}.record-editor-btn{padding:0 12px;font-size:11px}}


.record-related-events{
  grid-column:1/-1;
  margin-top:8px;
  padding-top:22px;
  border-top:1px solid var(--form-divider);
}
.record-related-events>p{margin:0 0 5px;color:var(--form-kicker);font:800 9px/1.2 var(--form-ui-font);letter-spacing:.18em;text-transform:uppercase}
.record-related-events>h4{margin:0 0 12px;color:var(--form-title);font:500 19px/1.25 var(--form-display-font)}
.record-related-list{display:grid;gap:8px}
.record-related-list button{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  border:1px solid var(--form-card-line);
  border-radius:var(--form-card-radius);
  background:var(--form-card-bg);
  color:var(--form-ink);
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease;
}
.record-related-list button:hover{border-color:var(--form-accent-line);background:var(--form-accent-soft)}
.record-related-list span{min-width:0}
.record-related-list b{display:block;font:600 14px/1.3 var(--form-ui-font)}
.record-related-list small{display:block;margin-top:4px;color:var(--form-help);font:12px/1.4 var(--form-ui-font)}
.record-related-list em{flex:0 0 auto;color:var(--form-accent-text);font:700 11px/1 var(--form-ui-font);font-style:normal}

/* Life event sheets: birth, death, and marriage forms with their own context. */
.record-form-title--sheet span{display:block;margin-top:8px;color:var(--form-subtitle);font:500 13px/1.5 var(--form-ui-font)}
.record-sheet__context{grid-column:1/-1;display:grid;gap:8px;padding:14px 16px;border:1px solid var(--form-accent-line);border-radius:var(--form-card-radius);background:var(--form-accent-soft)}
.record-sheet__context>span{color:var(--form-kicker);font:800 9px/1.2 var(--form-ui-font);letter-spacing:.18em;text-transform:uppercase}
.record-sheet__context em{color:var(--form-subtitle);font:500 13px/1.4 var(--form-ui-font);font-style:normal}
.record-sheet__chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.record-sheet__chips b{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border:1px solid var(--chip-line);border-radius:var(--chip-radius);background:var(--chip-bg);color:var(--chip-ink);font:700 12px/1 var(--form-ui-font)}
.record-sheet__chips b[hidden]{display:none}
.record-sheet__spouse small{color:var(--form-help);font:500 12px/1.4 var(--form-ui-font)}
.record-sheet__source{grid-column:1/-1;padding:0 14px;border:1px solid var(--form-card-line);border-radius:var(--form-card-radius);background:var(--form-card-bg)}
.record-sheet__source summary{padding:12px 0;color:var(--form-label);font:750 11px/1.3 var(--form-ui-font);letter-spacing:.035em;cursor:pointer}
.record-sheet__source dl{display:grid;gap:8px;margin:0;padding:0 0 14px}
.record-sheet__source dl>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;font:500 12px/1.4 var(--form-ui-font)}
.record-sheet__source dt{color:var(--form-hint)}
.record-sheet__source dd{margin:0;color:var(--form-ink);overflow-wrap:anywhere}
.record-related-add{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.record-related-add button{min-height:36px;border:1px dashed var(--form-accent-line);border-radius:999px;background:transparent;color:var(--form-accent-text);padding:0 14px;font:var(--btn-font);cursor:pointer;transition:border-color .18s ease,background .18s ease}
.record-related-add button:hover{border-style:solid;border-color:var(--form-accent-strong);background:var(--form-accent-soft)}
.record-field input[readonly]{color:var(--field-readonly-ink);background:var(--field-readonly-bg)}
@media(max-width:700px){.record-sheet__source dl>div{grid-template-columns:1fr;gap:2px}.record-related-add button{width:100%}}
/* The classic theme is carried by the forms.css tokens; the drawer keeps its parchment paper. */
body.classic-tree-mode .record-editor{background:var(--form-drawer-bg)}
body.classic-tree-mode .record-editor__head,body.classic-tree-mode .record-editor__tabs{background:#e0c998}
body.classic-tree-mode .record-related-list button,body.classic-tree-mode .record-row{border-radius:2px}


/* People first: parent shortcuts and a readable activity feed. */
.parent-shortcut{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 24px;padding:18px;border:1px solid var(--form-accent-line);border-radius:var(--form-card-radius);background:var(--form-accent-soft)}
.parent-shortcut h4{margin:0 0 5px;font:650 16px/1.3 var(--form-ui-font);color:var(--form-title)}
.parent-shortcut p,.parent-help,.parent-unassigned p{margin:0;color:var(--form-help);font:13px/1.5 var(--form-ui-font)}
.parent-shortcut button,.parent-unassigned button{flex-shrink:0;min-height:44px;border:1px solid var(--btn-secondary-line);border-radius:var(--btn-radius);padding:0 14px;background:var(--btn-secondary-bg);color:var(--form-accent-text);font:var(--btn-font);cursor:pointer}
.parent-shortcut button:hover,.parent-unassigned button:hover{background:var(--btn-secondary-hover-bg)}
.parent-group{margin-bottom:20px}
.parent-slot{padding:18px;border:1px solid var(--form-card-line);border-radius:var(--form-card-radius);background:var(--form-card-bg);min-width:0}
.parent-slot .record-field>span{font-size:17px;color:var(--form-title);letter-spacing:0}
.parent-slot p{margin:12px 0 0;color:var(--form-help);font:12px/1.5 var(--form-ui-font)}
.parent-slot p b{color:var(--form-label);font-weight:550}
.parent-review,.parent-unassigned{grid-column:1/-1;padding:16px;border:1px solid var(--form-divider);border-radius:var(--field-radius);font:13px/1.5 var(--form-ui-font);color:var(--form-help)}
.parent-review>div{display:grid;gap:4px;margin:4px 0 10px}.parent-review b{color:var(--form-label)}.parent-review strong{color:var(--form-accent-text)}
.parent-unassigned h4{margin:0 0 6px;color:var(--form-title)}.parent-unassigned>div{display:grid;gap:8px;margin-top:14px}.parent-unassigned span{display:flex;gap:8px;flex-wrap:wrap}
.parent-help{margin:20px 0 12px}
.history-heading>span{display:block;margin-top:10px;color:var(--form-help);font:13px/1.5 var(--form-ui-font)}
.activity-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 12px}
.activity-count{color:var(--form-hint);font:12px/1.4 var(--form-ui-font);margin-bottom:20px}
.activity-day{margin:18px 0 4px;color:var(--form-help);font:650 12px/1.4 var(--form-ui-font)}.activity-day:first-child{margin-top:0}
.activity-card{border:1px solid var(--form-card-line);border-radius:var(--form-card-radius);background:var(--form-card-bg);padding:20px;min-width:0}
.activity-card__category{color:var(--form-accent-text);font:650 11px/1.3 var(--form-ui-font)}
.activity-card h4{margin:8px 0;color:var(--form-title);font:600 17px/1.4 var(--form-ui-font);overflow-wrap:anywhere}
.activity-card__byline{margin:0;color:var(--form-hint);font:12px/1.5 var(--form-ui-font)}
.activity-card__note{margin:12px 0 0;color:var(--form-help);font:13px/1.5 var(--form-ui-font);overflow-wrap:anywhere}
.activity-card details{margin-top:14px;border-top:1px solid var(--form-divider)}
.activity-card summary{min-height:44px;align-content:center;color:var(--form-accent-text);font:650 12px/1.5 var(--form-ui-font);cursor:pointer;padding:8px 0;box-sizing:border-box}
.activity-diff{margin:0;padding:0}.activity-diff>div{padding:12px 0;border-top:1px solid var(--form-divider)}
.activity-diff dt{color:var(--form-label);font:650 12px/1.4 var(--form-ui-font);margin-bottom:8px}
.activity-diff dd{display:flex;gap:14px;margin:0;font:13px/1.6 var(--form-ui-font)}
.activity-diff dd>span{flex:1;min-width:0;overflow-wrap:anywhere;white-space:pre-wrap}
.activity-diff small{display:block;margin-bottom:4px;color:var(--form-hint);font:11px/1.4 var(--form-ui-font)}
.activity-diff__before{color:var(--form-help)}.activity-diff__after{color:var(--form-title)}
.activity-open{margin:12px 0 0;min-height:44px}
.record-editor :is(button,summary):focus-visible{outline:2px solid var(--form-accent);outline-offset:3px}
@media(max-width:700px){.parent-shortcut{align-items:stretch;flex-direction:column}.parent-slot{padding:16px}.activity-card{padding:16px}.activity-filters{grid-template-columns:1fr}.activity-diff dd{flex-direction:column;gap:10px}.record-row small{max-width:42%;letter-spacing:0;font-size:10px;text-align:right}}
