.sidebar #home {
  background: var(--gold);
  border: 2px solid #e8c46f;
  color: #080808;
  font-weight: 900;
  box-shadow: 0 3px 12px #0009;
}
.sidebar #home:hover,
.sidebar #home:focus-visible {
  background: var(--paper);
  border-color: #fff;
  outline: 3px solid var(--gold);
  outline-offset: 2px;
}
.family-history { margin-top: 24px; border-top: 1px solid #6b604b; padding-top: 10px; }
.family-history ol { padding-left: 21px; color: #eee; }
.approval-review { margin-top: 22px; border: 2px solid var(--gold); border-radius: 16px; background: #fff9ec; padding: 20px; }
.approval-review h2 { margin: .2em 0; }
.approval-photos { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 10px; margin: 16px 0; }
.approval-photo { margin: 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: #fff; }
.approval-photo img { width: 100%; height: 125px; object-fit: cover; }
.approval-photo figcaption { padding: 7px; text-align: center; font-size: 11px; font-weight: 900; color: #604a1c; }
.approval-fields { display: grid; grid-template-columns: minmax(145px, .7fr) 1.5fr; gap: 6px 12px; }
.approval-fields dt { font-weight: 900; }
.approval-fields dd { margin: 0; }
.approval-description,
.approval-review .protected-footer { white-space: pre-wrap; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 14px; line-height: 1.5; }
.approval-review .protected-footer { border-left: 5px solid var(--gold); margin-top: 10px; font-weight: 700; }
.approval-review-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.approval-success { margin-top: 22px; border: 2px solid #387448; border-radius: 16px; background: #edf8ef; padding: 20px; }
.approval-success h2 { color: #225c34; margin-top: 0; }
.approved-by { font-weight: 800; color: #225c34; }
.approved-frozen { margin: 20px 0 0; border-left: 5px solid var(--gold); background: #fff4d8; padding: 12px 15px; font-weight: 700; }
.reopen-panel { margin: 20px 0 0; border: 2px solid var(--gold); border-radius: 14px; background: #fff9ec; padding: 16px; }
.reopen-panel h3 { margin: 0 0 6px; }
.reopen-panel p { margin: 0 0 12px; }
.reopen-panel button { min-height: 46px; font-weight: 900; }
.advanced label { display: grid; gap: 6px; margin-top: 12px; font-weight: 800; }
.advanced select { width: 100%; min-height: 46px; }
.editor-frozen input,
.editor-frozen textarea,
.editor-frozen .photo-controls button,
.editor-frozen .restore,
.editor-frozen #generate { opacity: .68; cursor: not-allowed; }
@media (max-width: 850px) { .sidebar #home { margin: 0 0 0 auto; min-height: 46px; } }
@media (max-width: 520px) {
  .sidebar { flex-wrap: wrap; }
  .sidebar #home { width: 100%; margin: 8px 0 0; text-align: center; }
  .approval-fields { grid-template-columns: 1fr; }
  .approval-fields dd { margin-bottom: 8px; }
  .approval-review-actions > * { width: 100%; }
  .reopen-panel button { width: 100%; }
}
