/* 閲覧を先に置き、設定と入力は必要な場面でだけ開く。 */
#incident-app { color: #243845; line-height: 1.7; overflow-wrap: anywhere; }
#incident-app * { min-width: 0; }
#incident-app .incident-delete-control { margin-top: 28px; padding-top: 18px; border-top: 1px solid #dae3e7; }
#incident-app .incident-delete-control [data-incident="delete-source"] { color: #89423b; background: transparent; border-color: #c8c8c8; }
#incident-app .incident-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 20px; background: #f1f6f5; border-left: 4px solid #497675; border-radius: 8px; margin-bottom: 20px; }
#incident-app .incident-head h2 { margin: 0; font-size: 24px; color: #234844; }
#incident-app .incident-head p { margin: 0 0 4px; font-size: 12px; color: #57716c; }
#incident-app h3 { font-size: 18px; margin: 0 0 10px; }
#incident-app h4 { font-size: 17px; margin: 4px 0 12px; }
#incident-app .btn { min-height: 44px; font-size: 14px; white-space: normal; line-height: 1.5; }
#incident-app .btn.primary { background: #226d6a; border-color: #226d6a; color: #fff; }
#incident-app [aria-pressed="true"] { background: #e3efeb; border-color: #226d6a; color: #185753; box-shadow: inset 0 -2px #226d6a; }
#incident-app :focus-visible { outline: 3px solid #d68e14; outline-offset: 3px; }
#incident-app .incident-heading, #incident-app .incident-actions, #incident-app .incident-meta, #incident-app .incident-toolbar, #incident-app .incident-tabs, #incident-app .incident-pagination, #incident-app .incident-selection-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
#incident-app .incident-heading { justify-content: space-between; margin: 18px 0; }
#incident-app .incident-heading h3 { flex: 1; margin: 0; }
#incident-app .incident-actions { margin-top: 14px; }
#incident-app .incident-tabs { margin: 14px 0; }
#incident-app .incident-tabs .btn { min-width: 100px; }
#incident-app .incident-toolbar { margin: 12px 0; }
#incident-app .incident-search { display: flex; gap: 8px; flex-wrap: wrap; margin: 14px 0; }
#incident-app .incident-search label:first-child { flex: 1 1 170px; }
#incident-app .incident-search label input { width: 100%; }
#incident-app .incident-search select { max-width: 100%; }
#incident-app input, #incident-app textarea, #incident-app select { max-width: 100%; padding: 10px 12px; min-height: 44px; font: inherit; color: #243845; border: 1px solid #abbec8; border-radius: 6px; background: #fff; }
#incident-app input[type="checkbox"] { min-height: 22px; width: 20px; height: 20px; flex: 0 0 20px; accent-color: #226d6a; padding: 0; }
#incident-app input[type="file"] { width: 100%; font-size: 14px; padding: 8px; }
#incident-app .incident-prose { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.85; }
#incident-app .incident-excerpt { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; }
#incident-app .incident-card, #incident-app .incident-form { border: 1px solid #d4dfe3; border-radius: 8px; padding: 20px; margin: 14px 0; background: #fff; }
#incident-app .incident-card .incident-form { border: 0; padding: 0; margin-bottom: 0; }
#incident-app .incident-source-grid, #incident-app .incident-case-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
#incident-app .incident-source-grid .incident-card, #incident-app .incident-case-list .incident-card { margin: 0; }
#incident-app .incident-meta, #incident-app .incident-help { color: #526671; font-size: 13px; }
#incident-app .incident-meta { margin-bottom: 12px; }
#incident-app .incident-help { margin: 8px 0; }
#incident-app .incident-badge { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 12px; color: #335766; background: #e9f0f4; }
#incident-app .incident-provisional { background: #fff2d9; color: #775a20; }
#incident-app .incident-overlap { color: #775a20; background: #fff8e9; padding: 8px 10px; border-radius: 5px; font-size: 13px; }
#incident-app .incident-message-select, #incident-app .incident-check { display: flex; align-items: flex-start; gap: 9px; cursor: pointer; }
#incident-app .incident-message-select { font-size: 13px; font-weight: 600; margin-bottom: 12px; }
#incident-app .incident-check { padding: 10px 0; font-size: 14px; }
#incident-app .incident-check input, #incident-app .incident-message-select input { margin-top: 2px; }
#incident-app .incident-selection-bar { padding: 10px 12px; background: #eef6f2; border-radius: 6px; justify-content: space-between; font-size: 13px; }
#incident-app .incident-related { margin: 12px 0; }
#incident-app .incident-related .btn { text-align: left; margin-right: 6px; }
#incident-app .incident-section { margin: 25px 0; }
#incident-app .incident-timeline { border-left: 2px solid #b8cfca; padding-left: 16px; }
#incident-app .incident-empty { padding: 28px 20px; text-align: center; background: #f7fafb; border: 1px dashed #bdcfd6; border-radius: 8px; margin: 16px 0; }
#incident-app .incident-empty p { font-size: 14px; color: #526671; margin: 10px auto 0; max-width: 560px; }
#incident-app .incident-loading { padding: 24px 0; color: #526671; }
#incident-app .incident-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; font-weight: 600; font-size: 14px; }
#incident-app .incident-field input, #incident-app .incident-field select, #incident-app textarea { width: 100%; }
#incident-app textarea { resize: vertical; line-height: 1.8; }
#incident-app fieldset { border: 0; padding: 0; margin: 0; }
#incident-app legend { font-size: 16px; font-weight: 700; padding-bottom: 14px; }
#incident-app .incident-member-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #d4dfe3; padding-top: 12px; margin: 16px 0; }
#incident-app .incident-member-picker .incident-help { grid-column: 1 / -1; }
#incident-app .incident-error { color: #9f3325; font-size: 14px; white-space: pre-wrap; }
#incident-app .incident-error:empty { display: none; }
#incident-app .incident-share-notice { border-left: 3px solid #c39e4e; background: #fff8e9; padding: 12px 16px; margin: 16px 0; font-size: 14px; }
#incident-app .incident-share-notice p { margin: 6px 0; }
#incident-app .incident-history { border-top: 1px solid #dae3e7; padding-top: 12px; margin-top: 12px; font-size: 14px; }
#incident-app .incident-pagination { justify-content: center; margin: 22px 0; font-size: 13px; }
#incident-app details > summary { min-height: 44px; padding: 8px 0; cursor: pointer; font-weight: 600; }
#incident-app .incident-import-progress progress { display: block; width: 100%; max-width: 500px; accent-color: #226d6a; }
#incident-app .incident-source-links { border-top: 1px solid #dae3e7; padding-top: 14px; margin-top: 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
#incident-app .incident-source-links strong { flex-basis: 100%; font-size: 13px; }
#incident-app .incident-organization-progress { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 16px; background: #f1f6f5; border-radius: 8px; font-size: 14px; }
#incident-app .incident-organization-progress .incident-help { flex-basis: 100%; margin: 0; order: 1; }
#incident-app .incident-theme-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
#incident-app .incident-theme-chips .btn { border-radius: 22px; font-size: 13px; }
#incident-app .incident-organized-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 18px 0 12px; }
#incident-app .incident-episode-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
#incident-app .incident-episode-card { margin: 0; display: flex; flex-direction: column; align-items: flex-start; }
#incident-app .incident-episode-card .incident-meta { gap: 6px; }
#incident-app .incident-episode-card h4 { margin: 0; }
#incident-app .incident-episode-card > .btn { margin-top: auto; }
#incident-app .incident-episode-excerpts { margin: 6px 0 18px; font-size: 14px; }
#incident-app .incident-episode-excerpts > div + div { margin-top: 10px; }
#incident-app .incident-episode-excerpts dt, #incident-app .incident-post-fields dt { font-weight: 600; color: #335766; }
#incident-app .incident-episode-excerpts dd, #incident-app .incident-post-fields dd { margin: 2px 0 0; }
#incident-app .incident-evidence-grid, #incident-app .incident-evidence-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 14px 0; }
#incident-app .incident-evidence { border: 1px solid #cbded9; border-top: 3px solid #497675; padding: 16px; border-radius: 7px; background: #fff; font-size: 14px; }
#incident-app .incident-evidence h4 { font-size: 15px; margin: 0 0 12px; }
#incident-app .incident-evidence-compact { padding: 10px 14px; background: #f7faf9; border-top-width: 1px; font-size: 13px; }
#incident-app .incident-evidence-compact h4 { margin-bottom: 6px; font-size: 13px; }
#incident-app .incident-evidence-source { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; border-top: 1px solid #e2eae7; margin-top: 12px; padding-top: 8px; color: #526671; font-size: 12px; }
#incident-app .incident-evidence-source .btn { font-size: 12px; padding: 6px 8px; }
#incident-app .incident-missing { margin: 6px 0; color: #637780; }
#incident-app .incident-field-more { margin-top: 8px; }
#incident-app .incident-field-more summary { font-size: 13px; }
#incident-app .incident-reuse { background: #f7faf9; }
#incident-app .incident-post-record > summary .incident-help { display: block; font-weight: 400; }
#incident-app .incident-post-fields { margin: 8px 0; font-size: 14px; }
#incident-app .incident-post-fields > div { border-top: 1px solid #e2eae7; padding: 10px 0; }
#incident-app .incident-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 640px) {
  #incident-app .incident-head { padding: 12px; margin-bottom: 12px; }
  #incident-app .incident-head h2 { font-size: 20px; }
  #incident-app .incident-head p { display: none; }
  #incident-app .incident-head .btn { font-size: 12px; padding: 7px 9px; }
  #incident-app .incident-heading { gap: 8px; }
  #incident-app .incident-heading h3 { font-size: 17px; }
  #incident-app .incident-source-grid, #incident-app .incident-case-list { grid-template-columns: minmax(0, 1fr); }
  #incident-app .incident-episode-list, #incident-app .incident-evidence-grid, #incident-app .incident-evidence-meta { grid-template-columns: minmax(0, 1fr); }
  #incident-app .incident-evidence-meta { gap: 6px; }
  #incident-app .incident-evidence { padding: 12px; }
  #incident-app .incident-evidence-compact { padding: 8px 12px; }
  #incident-app .incident-evidence-compact .incident-evidence-source { margin-top: 6px; padding-top: 4px; }
  #incident-app .incident-theme-chips { gap: 6px; }
  #incident-app .incident-theme-chips .btn { padding: 6px 10px; }
  #incident-app .incident-organization-progress { padding: 10px 12px; }
  #incident-app .incident-card, #incident-app .incident-form { padding: 14px; }
  #incident-app .incident-search label { flex: 1 1 170px; }
  #incident-app .incident-search select { width: 100%; }
  #incident-app input, #incident-app textarea, #incident-app select { font-size: 16px; }
  #incident-app .incident-selection-bar .btn { width: 100%; }
  #incident-app .incident-actions .btn { flex: 1 1 130px; }
  #incident-app .incident-timeline { padding-left: 10px; }
  #incident-app .incident-member-picker { grid-template-columns: minmax(0, 1fr); }
  #incident-app .incident-form > fieldset > button[type="submit"] { width: 100%; }
}
