.pain-book { min-width: 0; padding: 20px 0; }
.pain-book h3 { font-size: 22px; margin: 0 0 16px; }
.pain-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 16px; align-items: end; margin: 20px 0; }
.pain-book label { display: grid; gap: 8px; min-width: 0; }
.pain-note { padding: 24px 0; border-bottom: 1px solid var(--line); min-width: 0; }
.pain-note header { display: flex; gap: 12px 24px; flex-wrap: wrap; align-items: baseline; margin-bottom: 16px; }
.pain-note header strong { overflow-wrap: anywhere; }
.pain-note summary { cursor: pointer; overflow-wrap: anywhere; }
.pain-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.pain-status { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin-top: 16px; }
.pain-status label { flex: 0 1 200px; }
.pain-voice { max-width: 480px; margin: 16px 0; }
.pain-voice audio { width: 100%; min-width: 0; height: 54px; }
.pain-book input, .pain-book select { width: 100%; min-width: 0; min-height: 44px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--field-bg); color: var(--ink); font: inherit; }
.pain-book .btn { white-space: normal; max-width: 100%; }
