/* public/styles/tree-details.css — owned by views/tree-details.js. Shared styles live in base.css (do not edit base.css from a view).
   Every selector is prefixed .tree-details- so it cannot collide with other views. */

.tree-details-list { display: flex; flex-direction: column; gap: 8px; }

/* One care-log category: a card with a tappable header row and a collapsible body */
.tree-details-cat {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow); overflow: hidden;
}
.tree-details-cat-head { display: flex; align-items: center; gap: 4px; padding: 4px 8px 4px 4px; }
.tree-details-cat-head > .btn { flex: 0 0 auto; }   /* long category names must not squeeze the "+ Add" button */
.tree-details-cat-toggle {
  flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 10px;
  min-height: var(--touch); padding: 6px 8px; border-radius: var(--radius-sm); text-align: left; color: var(--ink);
}
.tree-details-cat-toggle:hover { background: var(--bg); }
.tree-details-cat-icon { flex: 0 0 28px; width: 28px; text-align: center; font-size: 1.2rem; line-height: 1; }
.tree-details-cat-text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.tree-details-cat-title { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 0.97rem; line-height: 1.25; }
.tree-details-cat-preview { display: inline-flex; align-items: center; gap: 5px; font-size: 0.8rem; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tree-details-health-chip { font-size: 0.74rem; min-height: 22px; padding: 1px 9px; }
.tree-details-chevron { flex: 0 0 auto; color: var(--muted); transition: transform 0.15s ease; }
.tree-details-cat.is-open .tree-details-chevron { transform: rotate(90deg); }
.tree-details-cat-body { border-top: 1px solid var(--line); padding: 6px 14px 10px; }
.tree-details-hint { padding: 6px 0 2px; }
.tree-details-empty { padding: 8px 0 4px; }

/* Inline "+ Add" form (log entries and events share it) */
.tree-details-form {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px 14px;
  margin: 8px 0 6px; padding: 10px 12px; background: var(--bg); border: 1px dashed var(--line); border-radius: var(--radius-sm);
}
.tree-details-form-row { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.tree-details-form-row .select { width: auto; max-width: 100%; }
.tree-details-form-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }

/* A past entry: date | value + note | delete */
.tree-details-entry {
  display: grid; grid-template-columns: 9.5rem minmax(0, 1fr) auto; gap: 2px 12px; align-items: start;
  padding: 8px 0; border-bottom: 1px solid var(--line);
}
.tree-details-entry:last-child { border-bottom: 0; }
.tree-details-entry.is-busy { opacity: 0.55; }
.tree-details-entry-date { font-size: 0.9rem; color: var(--muted); padding-top: 3px; }
.tree-details-entry-main { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.tree-details-entry-value { font-weight: 500; }
.tree-details-entry-select { width: auto; max-width: 100%; align-self: flex-start; }
.tree-details-entry-note { font-size: 0.88rem; color: var(--muted); }
.tree-details-entry-note.field-empty { color: var(--placeholder); }
.tree-details-entry-actions { display: flex; align-items: center; justify-content: flex-end; }

/* Death + Events blocks */
.tree-details-block {
  margin-top: 18px; padding: 8px 14px 12px;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow);
}
.tree-details-block-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; min-height: var(--touch); }
.tree-details-block-title { display: inline-flex; align-items: center; gap: 6px; font-size: 1.02rem; }
.tree-details-death-fields { display: flex; flex-direction: column; gap: 4px; padding-top: 4px; }
.tree-details-death-desc { align-items: flex-start; }
.tree-details-death-desc .field { flex: 1 1 200px; }

.tree-details-event-list { display: flex; flex-direction: column; }
.tree-details-event {
  display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 2px 10px; align-items: start;
  padding: 8px 0; border-bottom: 1px solid var(--line);
}
.tree-details-event:last-child { border-bottom: 0; }
.tree-details-event.is-busy { opacity: 0.55; }
.tree-details-event-icon { font-size: 1.25rem; line-height: 1.3; text-align: center; }
.tree-details-event-main { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.tree-details-event-label { font-weight: 500; }
.tree-details-event-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 0.9rem; color: var(--muted); }
.tree-details-event-type { width: auto; max-width: 100%; }
.tree-details-event-note { font-size: 0.88rem; }

/* Phone: stack each entry (date on top, trash at the right) */
@media (max-width: 640px) {
  .tree-details-cat-body { padding: 6px 10px 10px; }
  .tree-details-entry { grid-template-columns: minmax(0, 1fr) auto; }
  .tree-details-entry-date { grid-column: 1; padding-top: 0; }
  .tree-details-entry-main { grid-column: 1; }
  .tree-details-entry-actions { grid-column: 2; grid-row: 1 / span 2; align-self: start; }
  .tree-details-block-sub { display: none; }
  .tree-details-form { grid-template-columns: 1fr; }
}
