/* DOSYA 003: person-led investigation notes. */
body.board-dock-notebook .board-dock-toggle {
  top: 42%;
  right: 0;
  min-height: 52px;
  border-radius: 9px 0 0 9px;
  border-right: 0;
  padding: 12px 14px;
  font-size: 13px;
  font-weight: 700;
}
body.board-dock-notebook.board-dock-open .board-dock-toggle { display: none; }

.d03-notebook { min-width: 0; gap: 14px; }
.d03-notebook-progress { align-items: center; }
.d03-person-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.d03-person-tab {
  display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 62px;
  padding: 7px; border: 1px solid #454b3d; border-radius: 7px;
  background: #151912; color: #dcd6c5; text-align: left; cursor: pointer;
}
.d03-person-tab img { width: 38px; height: 45px; flex: none; object-fit: cover; object-position: top; border-radius: 4px; }
.d03-person-tab span { min-width: 0; display: grid; gap: 3px; }
.d03-person-tab strong { font-size: 11px; line-height: 1.25; overflow-wrap: anywhere; }
.d03-person-tab small { color: #aab2a0; font-size: 10px; }
.d03-person-tab.is-active { border-color: #c6a15c; background: #28271d; box-shadow: inset 3px 0 #d9a34d; }
.d03-person-tab:hover { border-color: #d0b37c; }
.d03-person-tab:focus-visible, .d03-new-records summary:focus-visible, .d03-add-records :is(summary,input,button):focus-visible,
.d03-recent-item button:focus-visible, .d03-relation button:focus-visible,
.d03-person-note textarea:focus-visible { outline: 2px solid #79c0ff; outline-offset: 2px; }

.d03-person-page { min-width: 0; padding: 17px; border: 1px solid #4b4b3b; border-radius: 9px; background: #1d201a; }
.d03-person-heading { display: flex; align-items: center; gap: 13px; padding-bottom: 16px; border-bottom: 1px solid #44493d; }
.d03-person-heading img { width: 62px; height: 72px; flex: none; object-fit: cover; object-position: top; border-radius: 4px; }
.d03-person-heading small { color: #c8a76d; font-size: 10px; letter-spacing: .12em; }
.d03-person-heading h3 { margin: 4px 0; color: #eee6d4; font: 26px/1.1 var(--editorial); }
.d03-person-heading p { margin: 0; color: #b4b9ad; font-size: 12px; }
.d03-person-claim { padding: 14px 0; border-bottom: 1px solid #44493d; }
.d03-person-claim span { color: #d5b775; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.d03-person-claim p { margin: 6px 0 0; color: #e1dbcd; font-size: 13px; line-height: 1.55; }
.d03-new-records { border: 1px solid #516152; border-radius: 6px; background: #192019; }
.d03-new-records > summary { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 44px; padding: 9px 12px; color: #e2d8c0; font-size: 12px; font-weight: 700; cursor: pointer; list-style: none; }
.d03-new-records > summary::-webkit-details-marker { display: none; }
.d03-new-records > summary span { color: #aabca8; font-size: 10px; font-weight: 400; text-align: right; }
.d03-new-records .d03-recent-list { padding: 0 10px 10px; }

.d03-note-section { padding: 16px 0; border-bottom: 1px solid #44493d; }
.d03-section-title { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-bottom: 10px; }
.d03-section-title h4 { margin: 0; color: #ede3ce; font-size: 15px; }
.d03-section-title small { color: #9ca595; font-size: 10px; text-align: right; }
.d03-known-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.d03-known-list li:not(.d03-empty-note) { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 8px; padding: 9px; border-left: 2px solid #637d70; background: #171b16; }
.d03-known-list li > span { color: #93bbd8; font: 700 10px/1.4 monospace; }
.d03-known-list strong, .d03-recent-item strong { color: #e6dfd0; font-size: 12px; }
.d03-known-list p { margin: 4px 0 0; color: #b4bdaf; font-size: 11px; line-height: 1.5; }
.d03-empty-note { margin: 0; padding: 11px; color: #aeb7a9; font-size: 12px; line-height: 1.5; }
.d03-person-relations { display: grid; gap: 7px; padding: 0; }
.d03-relation { grid-template-columns: 20px minmax(0,1fr) 42px; min-height: 58px; }
.d03-relation strong { font-size: 12px; }
.d03-relation small { font-size: 10px; }
.d03-relation > button { width: 42px; height: 42px; font-size: 18px; }
.d03-recent-list { display: grid; gap: 8px; }
.d03-recent-item { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 10px; border: 1px solid #455042; border-radius: 5px; background: #171b16; }
.d03-recent-item > div { min-width: 0; display: grid; gap: 3px; }
.d03-recent-item small { color: #aeb7a9; font-size: 10px; line-height: 1.45; }
.d03-recent-item button, .d03-pending-record button, .d03-evidence-option button {
  min-height: 42px; flex: none; padding: 6px 10px; border: 1px solid #8d7955;
  border-radius: 5px; background: #28271d; color: #f1d296; cursor: pointer; font: inherit; font-size: 11px;
}
.d03-recent-item button:hover, .d03-pending-record button:hover, .d03-evidence-option button:hover { background: #363020; }
.d03-pending-record { display: grid; gap: 7px; margin-top: 14px; padding: 12px; border: 1px solid #5f8eb5; border-radius: 6px; background: #17242d; }
.d03-pending-record span { color: #a7cae8; font-size: 10px; }
.d03-pending-record strong { font-size: 12px; }
.d03-pending-record button { justify-self: start; }

.d03-add-records { margin-top: 15px; border: 1px solid #786747; border-radius: 6px; }
.d03-add-records > summary { display: flex; align-items: center; min-height: 48px; padding: 10px 12px; color: #f0d39a; font-size: 12px; font-weight: 700; cursor: pointer; list-style: none; }
.d03-add-records > summary::-webkit-details-marker { display: none; }
.d03-add-records[open] > summary { border-bottom: 1px solid #59523e; }
.d03-add-records label { display: grid; gap: 5px; padding: 10px; color: #abb7aa; font-size: 11px; }
.d03-add-records input { width: 100%; min-width: 0; min-height: 42px; padding: 8px; border: 1px solid #5a6556; background: #11160f; color: #e8e2d4; font: inherit; }
.d03-evidence-picker { display: grid; grid-template-columns: 1fr; max-height: 265px; gap: 0; padding: 0 10px; }
.d03-evidence-option { display: flex; align-items: center; justify-content: space-between; gap: 9px; min-width: 0; padding: 8px 0; border-top: 1px solid #384337; }
.d03-evidence-option[hidden] { display: none; }
.d03-evidence-option > div { min-width: 0; display: grid; gap: 2px; }
.d03-evidence-option strong { color: #dfdccf; font-size: 11px; }
.d03-evidence-option small { color: #99a69a; font-size: 10px; }
.d03-filter-count { margin: 6px 10px 10px; color: #aab5a5; font-size: 10px; }
.d03-person-note { display: grid; gap: 7px; margin-top: 16px; }
.d03-person-note label { color: #ede3ce; font-size: 14px; font-weight: 700; }
.d03-person-note textarea { width: 100%; min-height: 100px; resize: vertical; padding: 11px; border: 1px solid #59614f; border-radius: 5px; background: #131813; color: #ede7da; font: inherit; font-size: 12px; line-height: 1.6; }
.d03-person-note small { color: #a7afa2; font-size: 10px; }
.d03-full-board { width: 100%; min-height: 44px; }

.board-page-intro { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 16px; margin-bottom: 20px; }
.board-page-intro h2 { margin: 7px 0; }
.board-page-intro p { margin: 0; color: #aeb7ad; }
.d03-notebook.is-page { max-width: 1060px; margin-inline: auto; }
.d03-notebook.is-page .d03-notebook-progress { display: none; }
.d03-notebook.is-page .d03-person-tabs { grid-template-columns: repeat(4,minmax(0,1fr)); }
.d03-notebook.is-page .d03-person-page { padding: 24px; }
.board-advanced-view { margin-top: 22px; border-top: 1px solid #4c5747; }
.board-advanced-view > summary { padding: 15px 4px; color: #d2b777; font-weight: 700; cursor: pointer; }
.board-advanced-view > summary:focus-visible { outline: 2px solid #79c0ff; }

@media (max-width: 1100px) {
  body.board-dock-notebook .board-dock-toggle { top: auto; bottom: 20px; right: auto; left: 12px; min-height: 52px; border-radius: 9px; border-right: 1px solid #8d7955; }
}
@media (max-width: 760px) {
  .d03-notebook.is-page .d03-person-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 480px) {
  .d03-person-page, .d03-notebook.is-page .d03-person-page { padding: 12px; }
  .d03-person-heading h3 { font-size: 22px; }
  .d03-person-heading img { width: 52px; height: 62px; }
  .d03-recent-item { align-items: stretch; flex-direction: column; }
  .d03-recent-item button { align-self: flex-start; }
  .board-page-intro .board-completion-badge { width: 100%; }
}
