/* My Big Family Tree v3.2 — tree-specific management, protected cleanup,
   permanent Trash controls, and responsive layout repair. */

/* Shared feedback and links */
.cleanup-backup-notice{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin:0 0 20px;padding:14px 16px;border:1px solid #b8d1bd;
  border-left:5px solid var(--success);border-radius:7px;
  background:var(--success-bg);color:#244f32
}
.cleanup-backup-notice>div{min-width:0}
.cleanup-backup-notice b,.cleanup-backup-notice small{display:block}
.cleanup-backup-notice small{margin-top:3px;color:#466b50}
.cleanup-backup-notice .button-secondary{flex:0 0 auto}
.danger-text-link,.danger-link,.danger-text{color:var(--danger)!important}

/* Tree page entry point */
.tree-management-callout{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin:0 0 22px;padding:15px 17px;background:#f7f2e7;
  border:1px solid #d9c8a7;border-radius:7px
}
.tree-management-callout>div{min-width:0}
.tree-management-callout b,.tree-management-callout small{display:block}
.tree-management-callout small{color:var(--muted);margin-top:3px}
.tree-management-callout .button-row{flex:0 0 auto}

/* Per-family-tree people manager */
.tree-person-management-header{
  display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
  padding:20px;margin:0 0 18px;background:var(--surface);
  border:1px solid var(--line);border-radius:7px
}
.tree-person-management-header>div:first-child{min-width:0}
.tree-person-management-header h2{margin:2px 0 5px;font-size:clamp(24px,3vw,34px)}
.tree-person-management-header p{margin:0;color:var(--muted)}

.tree-bulk-actions{
  position:sticky;top:8px;z-index:24;display:grid;
  grid-template-columns:auto minmax(150px,.65fr) minmax(200px,.9fr) minmax(210px,1fr) minmax(230px,1fr);
  gap:10px;align-items:end;margin:0 0 15px;padding:13px;
  border:1px solid #d8c49a;border-radius:7px;background:#f7f2e7;
  box-shadow:0 8px 24px rgba(28,42,34,.09)
}
.tree-bulk-actions label{font-size:10px;font-weight:700;color:var(--ink)}
.tree-bulk-actions label:not(.bulk-select-page) input,
.tree-bulk-actions label:not(.bulk-select-page) select{
  display:block;width:100%;min-width:0;margin-top:5px;padding:9px;
  border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink)
}
.tree-bulk-actions .bulk-select-page{align-self:center;white-space:nowrap}
.tree-bulk-actions .selection-summary{align-self:center;min-width:0}
.tree-bulk-actions .selection-summary b,.tree-bulk-actions .selection-summary small{display:block}
.tree-bulk-actions .selection-summary b{font:700 18px Georgia,serif;color:var(--forest)}
.tree-bulk-actions .selection-summary small{margin-top:3px;color:var(--muted);font-size:10px}
.tree-bulk-actions>button{min-height:40px}
.tree-bulk-actions>button:disabled{opacity:.48;cursor:not-allowed}

.tree-person-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px}
.tree-person-row{
  display:grid;grid-template-columns:32px 48px minmax(0,1fr) minmax(140px,auto);
  align-items:center;gap:11px;min-width:0;padding:12px;
  border:1px solid var(--line);border-radius:6px;background:#fff;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease
}
.tree-person-row.is-selected{border-color:var(--green);background:#f0f6f2;box-shadow:0 0 0 2px rgba(41,83,69,.12)}
.tree-person-row.is-deleted{background:#f8efed;border-color:#dfc0ba}
.tree-person-row .person-avatar.small{width:44px;height:44px;font-size:16px}
.member-meta{min-width:0}
.member-meta b,.member-meta small{display:block}
.member-meta b{font-size:14px}
.member-meta small{margin-top:3px;color:var(--muted);font-size:10px;overflow-wrap:anywhere}
.membership-badges{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:5px;max-width:250px}
.membership-badges span{display:inline-flex;padding:4px 7px;border:1px solid var(--line);border-radius:999px;background:#f7f3ea;color:#59645d;font-size:9px;font-weight:700;text-align:center}
.membership-badges .home{background:#e3efe5;border-color:#bfd2c3;color:#285f3b}
.membership-badges .shared{background:#e8eef4;border-color:#c4d1dd;color:#315d75}
.membership-badges .exclusive{background:#f3ead7;border-color:#dcc79e;color:#805c2b}
.person-selection-control{display:grid!important;place-items:center;width:27px;height:27px;position:relative;cursor:pointer}
.person-selection-control input{position:absolute;opacity:0;pointer-events:none}
.person-selection-control span{display:grid;place-items:center;width:22px;height:22px;border:1px solid #aeb7b1;border-radius:4px;background:#fff;color:transparent;font-size:12px;font-weight:700}
.person-selection-control input:checked+span{background:var(--green);border-color:var(--green);color:#fff}
.person-selection-control input:focus-visible+span{outline:3px solid rgba(41,83,69,.25);outline-offset:2px}

/* Full-tree cleanup/restart */
.cleanup-safety-note{
  display:grid;gap:4px;margin:0 0 18px;padding:14px 16px;
  border:1px solid #d9c8a7;border-left:5px solid #b7822f;
  border-radius:6px;background:#f7f2e7;color:#59472c
}
.cleanup-safety-note strong{font:700 18px Georgia,serif;color:var(--forest)}
.cleanup-summary-grid,.cleanup-stat-grid,.tree-manager-summary{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px
}
.cleanup-summary-grid article,.cleanup-stat-grid article,.tree-manager-summary article{
  min-width:0;padding:14px;border:1px solid var(--line);border-radius:6px;background:#fff
}
.cleanup-summary-grid b,.cleanup-stat-grid b,.tree-manager-summary b{display:block;font:700 25px Georgia,serif;color:var(--forest)}
.cleanup-summary-grid span,.cleanup-stat-grid span,.tree-manager-summary span{display:block;margin-top:3px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.cleanup-choice-grid,.tree-reset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 20px;align-items:stretch}
.cleanup-choice{
  display:flex;flex-direction:column;min-width:0;padding:20px;
  border:1px solid var(--line);border-left:5px solid var(--green);
  border-radius:6px;background:var(--surface)
}
.cleanup-choice.dangerous{border-left-color:var(--danger);background:#fff8f6}
.cleanup-choice h2{margin:5px 0 8px}
.cleanup-choice p:not(.eyebrow){color:var(--muted)}
.cleanup-choice form{display:grid;gap:11px;margin-top:auto}
.cleanup-choice label{font-size:10px;font-weight:700}
.cleanup-choice input{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink)}
.cleanup-choice button{min-height:42px}
.cleanup-history-table code{display:block;max-width:560px;white-space:normal;overflow-wrap:anywhere;font-size:10px}
.cleanup-history-table td small{display:block;margin-top:4px;color:var(--muted)}

/* Trash: restore, selected permanent deletion, and complete emptying */
.trash-management{padding:22px}
.trash-toolbar{
  position:sticky;top:8px;z-index:24;display:grid;
  grid-template-columns:auto minmax(170px,.8fr) minmax(240px,1fr) auto auto auto;
  gap:10px;align-items:end;padding:13px;margin-bottom:14px;
  border:1px solid #d8c49a;border-radius:7px;background:#f7f2e7;
  box-shadow:0 8px 24px rgba(28,42,34,.09)
}
.trash-toolbar .bulk-select-page{align-self:center;white-space:nowrap}
.trash-toolbar .bulk-selection-count{align-self:center;min-width:0}
.trash-toolbar .bulk-selection-count b,.trash-toolbar .bulk-selection-count small{display:block}
.trash-toolbar .bulk-selection-count b{font:700 18px Georgia,serif;color:var(--forest)}
.trash-toolbar .bulk-selection-count small{color:var(--muted);font-size:10px;margin-top:3px}
.trash-toolbar .confirmation-field{font-size:10px;font-weight:700}
.trash-toolbar .confirmation-field input{display:block;width:100%;margin-top:5px;padding:9px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink)}
.trash-toolbar button{min-height:40px;white-space:nowrap}
.trash-toolbar button:disabled{opacity:.48;cursor:not-allowed}
.bulk-trash-list{display:grid;gap:10px}
.bulk-trash-list>article{
  display:grid;grid-template-columns:32px 42px minmax(0,1fr) minmax(250px,auto);
  align-items:start;gap:11px;padding:13px;border:1px solid var(--line);background:#fff
}
.bulk-trash-list>article.is-selected{background:#f0f6f2;border-color:var(--green);box-shadow:0 0 0 2px rgba(41,83,69,.12)}
.trash-record-main{min-width:0}
.trash-record-main b,.trash-record-main small{display:block}
.trash-record-main small{margin-top:4px;color:var(--muted);font-size:10px;overflow-wrap:anywhere}
.merge-note{margin:8px 0 0;padding:8px;background:#f3ead7;border-left:3px solid #b7822f;font-size:10px}
.trash-record-actions{display:grid;gap:7px;min-width:230px}
.trash-record-actions form{display:grid;grid-template-columns:minmax(105px,1fr) auto;gap:6px;margin:0}
.trash-record-actions form:first-child{grid-template-columns:1fr}
.trash-record-actions input{width:100%;min-width:0;padding:8px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink)}
.trash-record-actions button,.trash-record-actions a{min-height:36px}
.empty-trash-zone{margin-top:22px;border:2px solid var(--danger);background:#fff5f3}
.empty-trash-zone form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end;max-width:760px}
.empty-trash-zone label{font-size:10px;font-weight:700}
.empty-trash-zone input{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #cfa7a1;border-radius:4px;background:#fff}

/* Compatibility selectors retained for earlier v3.2 templates. */
.tree-member-manager{padding:22px}
.directory-search{display:block;max-width:520px;margin:0 0 14px}
.tree-selection-toolbar{display:grid;gap:10px}
.tree-selection-actions{display:flex;gap:9px;flex-wrap:wrap}
.trash-bulk-toolbar{display:grid;gap:10px}
.trash-actions{display:grid;gap:7px}
.cleanup-history-list{display:grid;gap:10px}
.cleanup-history-list article{display:flex;justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--line);background:#fff}
.cleanup-history-list b,.cleanup-history-list small{display:block}
.cleanup-history-list small{color:var(--muted);margin-top:3px}

@media(max-width:1280px){
  .tree-bulk-actions{grid-template-columns:auto minmax(150px,.6fr) repeat(2,minmax(210px,1fr))}
  .tree-bulk-actions .bulk-permanent-confirmation{grid-column:3/-1}
  .tree-bulk-actions>button{grid-row:auto}
  .trash-toolbar{grid-template-columns:auto minmax(170px,.8fr) minmax(230px,1fr)}
  .trash-toolbar button{grid-row:2}
  .cleanup-summary-grid,.cleanup-stat-grid,.tree-manager-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:980px){
  .tree-person-management-header,.tree-management-callout{align-items:flex-start;flex-direction:column}
  .tree-person-management-header .button-row,.tree-management-callout .button-row{width:100%;justify-content:flex-start}
  .cleanup-choice-grid,.tree-reset-grid{grid-template-columns:1fr}
  .tree-person-list{grid-template-columns:1fr}
}

@media(max-width:760px){
  .cleanup-backup-notice{align-items:flex-start;flex-direction:column}
  .cleanup-summary-grid,.cleanup-stat-grid,.tree-manager-summary{grid-template-columns:1fr 1fr}
  .tree-bulk-actions,.trash-toolbar{position:static;grid-template-columns:1fr}
  .tree-bulk-actions .bulk-permanent-confirmation,.trash-toolbar button{grid-column:auto;grid-row:auto}
  .tree-bulk-actions>button,.trash-toolbar>button{width:100%}
  .tree-person-row{grid-template-columns:32px 44px minmax(0,1fr)}
  .membership-badges{grid-column:2/-1;justify-content:flex-start;max-width:none}
  .bulk-trash-list>article{grid-template-columns:32px 42px minmax(0,1fr)}
  .bulk-trash-list .trash-record-actions{grid-column:2/-1;min-width:0;width:100%}
  .empty-trash-zone form{grid-template-columns:1fr}
}

@media(max-width:480px){
  .cleanup-summary-grid,.cleanup-stat-grid,.tree-manager-summary{grid-template-columns:1fr}
  .trash-record-actions form{grid-template-columns:1fr}
}

@media print{
  .tree-bulk-actions,.person-selection-control,.trash-toolbar,.trash-record-actions,
  .empty-trash-zone,.cleanup-choice-grid,.tree-reset-grid,.cleanup-backup-notice,
  .tree-management-callout{display:none!important}
}
