.auth-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 2rem;
  background: radial-gradient(circle at top, #f8f3df, #ece6cf 62%, #e1d9bd);
}
.auth-card {
  width: min(100%, 32rem);
  padding: clamp(1.5rem, 5vw, 3rem);
  background: rgba(255,255,255,.88);
  border: 1px solid var(--line);
  border-radius: 1rem;
  box-shadow: 0 1.5rem 4rem rgba(71,55,21,.12);
}
.auth-card.wide { width: min(100%, 58rem); }
.auth-card h1 { margin: .2rem 0 1.3rem; }
.auth-card form { display: grid; gap: 1rem; }
.auth-card label { display: grid; gap: .4rem; font-weight: 600; }
.auth-card input {
  width: 100%;
  padding: .8rem .9rem;
  border: 1px solid #bcb293;
  border-radius: .45rem;
  background: #fff;
  font: inherit;
}
.auth-card select { width:100%; padding:.8rem .9rem; border:1px solid #bcb293; border-radius:.45rem; background:#fff; font:inherit; }
.auth-card textarea { width:100%; padding:.8rem .9rem; border:1px solid #bcb293; border-radius:.45rem; background:#fff; font:inherit; resize:vertical; }
.auth-card small { font-weight:400; color:#665f4b; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.panel-actions { margin:1.25rem 0; }
.tree-home-setting{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin:1.4rem 0;padding:1.15rem 1.25rem;border:1px solid #cbc092;border-radius:.7rem;background:#fffdf5}.tree-home-setting p{margin:.25rem 0 0;color:#675f49}.tree-person-search{margin:1.8rem 0}.tree-person-search h2{margin-bottom:.6rem}.search-inline{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap}.search-inline label{width:100%;font-weight:700}.search-inline input{flex:1 1 18rem}.search-inline a{padding:.7rem 0;color:#675f49}
.tree-start-person{margin:1.7rem 0;padding:1.3rem;border:1px solid #cbc092;border-radius:.7rem;background:#fffdf5}.tree-start-person h2{margin:.1rem 0 .35rem}.tree-start-person>p{margin:.3rem 0 1rem}.start-person-results article{align-items:center}.start-person-results article>div{display:grid;gap:.15rem}.start-person-results article form{display:block}.start-person-results article .button{white-space:nowrap}.start-person-results em{font-style:normal;color:#58743a;font-weight:700}.clear-start-person{display:block!important;margin-top:1rem}.clear-start-person button{border:0;background:none;padding:0;color:#7a3429;text-decoration:underline;cursor:pointer;font:inherit}
.empty-state { margin:1.4rem 0; padding:1.4rem; border:1px dashed #bcb293; border-radius:.7rem; background:#fffdf5; }
.empty-state h2 { margin-top:0; }
.tree-list,.people-list { display:grid; gap:.7rem; margin:1.3rem 0; }
.tree-list a,.people-list article { display:flex; justify-content:space-between; gap:1rem; padding:1rem; border:1px solid #d4ccb2; border-radius:.55rem; background:#fff; text-decoration:none; }
.tree-list span,.people-list span { color:#675f49; }
.form-success { padding:.75rem .9rem; border-left:4px solid #58743a; background:#edf5e4; color:#344b22; }
.person-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin:1.4rem 0; }
.person-facts div { padding:1rem; border:1px solid #d4ccb2; border-radius:.55rem; background:#fff; }
.person-facts dt { font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#716746; }
.person-facts dd { margin:.35rem 0 0; }
.family-section { margin:1.7rem 0; }
.family-section>div:first-child { display:flex; justify-content:space-between; align-items:baseline; border-bottom:1px solid #d4ccb2; }
.family-section h2 { margin:.2rem 0 .55rem; }
.muted { color:#706954; }
.title-actions { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; }
.title-actions h1 { margin-right:auto; }
.relation-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.8rem; font-size:.9rem; }
.chart-actions { display:flex; align-items:center; gap:1rem; margin:1.2rem 0 1.8rem; }
.note-list { display:grid; gap:.8rem; margin:1rem 0; }
.note-list article { padding:1rem; border:1px solid #d4ccb2; border-radius:.55rem; background:#fff; }
.note-list p { white-space:normal; overflow-wrap:anywhere; }
.note-list small,.note-privacy { color:#706954; }
.note-privacy { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.media-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:1rem; margin:1rem 0; }
.media-grid article { display:grid; gap:.45rem; align-content:start; }
.media-grid img,.document-tile { width:100%; aspect-ratio:4/3; object-fit:contain; border:1px solid #d4ccb2; border-radius:.55rem; background:#f5f0df; }
.document-tile { display:grid; place-items:center; color:#7b2f26; font-size:2rem; font-weight:800; }
.media-grid p { margin:0; font-size:.9rem; overflow-wrap:anywhere; }
@media(max-width:650px){.form-grid{grid-template-columns:1fr}.tree-list a,.people-list article{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.tree-home-setting{align-items:stretch;flex-direction:column}.tree-home-setting .button{text-align:center}}
@media(max-width:650px){.person-facts{grid-template-columns:1fr}}
.auth-card input:focus { outline: 3px solid rgba(128,119,24,.2); border-color: var(--olive); }
.auth-card .button { border: 0; cursor: pointer; text-align: center; }
.form-error { padding: .75rem .9rem; border-left: 4px solid #9b322b; background: #f9e9e6; color: #74251f; }
