.memo-focus-tabs { display: flex; align-items: center; gap: 5px; width: fit-content; max-width: 100%; margin: -4px 0 22px; padding: 3px; border: 1px solid var(--line); border-radius: 6px; background: #f0f2eb; }
.memo-focus-tab { min-height: 33px; padding: 7px 13px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--muted); font-size: 12px; }
.memo-focus-tab:hover { color: var(--ink); }
.memo-focus-tab.active { background: white; color: var(--forest-dark); border-color: #d9dfd2; font-weight: 600; }
.memo-details { margin: 14px 0 0; border-top: 1px solid var(--line-soft); padding-top: 12px; font-size: 12px; }
.memo-details:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.memo-details > summary { width: fit-content; max-width: 100%; color: var(--body); cursor: pointer; line-height: 1.7; }
.memo-details > summary:hover { color: var(--forest); }
.memo-details-body { padding-top: 13px; }
.memo-detail-meta { color: var(--muted); font-size: 10px; font-weight: 400; margin-left: 6px; }
.memo-panel-focus { color: var(--muted); font-weight: 400; }
.memo-reply-label { margin-top: 17px; }
.memo-source { min-height: 150px; margin-top: 12px; background: #f8f9f5; font: 12px/1.8 var(--serif); }
.memo-selected-excerpt { min-height: 100px; }
.memo-preserve { white-space: pre-wrap; overflow-wrap: anywhere; }
.memo-payload { max-height: 250px; overflow: auto; padding: 12px; border: 1px solid var(--line-soft); border-radius: 4px; background: white; font: 11px/1.65 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.memo-source-note { margin: 7px 0; color: var(--muted); font-size: 10px; line-height: 1.65; overflow-wrap: anywhere; }
.memo-optional { color: var(--muted); font-weight: 400; font-size: 10px; margin-left: 5px; }
.memo-library-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 20px; }
.memo-library-header .section-label { margin: 0; }
.memo-library-header .icon { width: 13px; height: 13px; }
.memo-result-meta { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.memo-result-meta .decision-badge { flex-shrink: 0; }
.memo-results { margin-top: 22px; }
.memo-empty { padding: 30px 12px; }
.memo-empty h3 { font-size: 13px; }
.memo-empty p { font-size: 12px; }
.memo-reply-details, .memo-provenance-details { font-size: 11px; }
.memo-provenance-details { border-top: 0; padding-top: 0; margin-top: 10px; }
.memo-destination { display: flex; flex-direction: column; gap: 3px; padding: 13px 0; margin-top: 16px; border-top: 1px solid var(--line-soft); color: var(--muted); font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.memo-destination strong { color: var(--ink); font-size: 12px; font-weight: 550; }
.memo-destination strong span { font-weight: 400; }
.memo-destination .memo-source-note { margin: 0; }
.memo-authorization { padding-top: 5px; font-size: 11px; }
.memo-request-actions { justify-content: flex-end; margin-top: 16px; }
.memo-attachments { margin-top: 10px; color: var(--forest); }
.memo-saved-reply { margin-top: 14px; padding: 12px; border-left: 2px solid #b8c6ad; background: #f7f9f4; }
.memo-saved-reply p { font-size: 12px; line-height: 1.7; margin-top: 6px; }
.disclosure-box summary { cursor: pointer; color: var(--ink); font-weight: 550; }
.memo-grid .panel + .panel { margin-top: 20px; }
.memo-grid > .panel { margin-top: 0; }
@media (max-width: 520px) {
  .memo-library-header { align-items: flex-start; }
  .memo-grid .suggestion-actions .button { flex: 1; }
  .memo-focus-tabs { gap: 2px; width: 100%; }
  .memo-focus-tab { flex: 1; padding: 7px 9px; font-size: 11px; }
}
