/* CAC サポート記録 — 印刷・スマホ対応 追加 CSS（2026-09 新規, style.css は無改変）*/

.tab-btn { padding:8px 16px; border:1px solid var(--line); background:#fff; border-radius:999px 0 0 999px; cursor:pointer; font-size:13px; }
.tab-btn:last-child { border-radius:0 999px 999px 0; }
.tab-btn.active { background: var(--accent); color:#fff; border-color: var(--accent); }

section.record { break-inside: avoid; }

/* 本文・箇条書き・メタ情報が横幅を超えても必ず折り返す（スマホで文字が切れない）*/
main, section, section p, section li, section h3, section h4, .card, .print-note {
  overflow-wrap: break-word;
  word-break: break-word;
}
.print-note { font-size: 12px; color: var(--muted, #667); margin: 8px 0; }

section.appt { background:#eef7fd; border:1px solid #bcdcef; border-left:5px solid #2d7eb0; border-radius:8px; padding:12px 16px; margin:0 0 18px; box-shadow:none; }
section.appt.overdue { background:#fdf3e7; border-color:#e8c79a; border-left-color:#c07d1f; }
section.appt h3 { margin:0 0 6px; font-size:15px; color:#134c6e; }
section.open-items { background:#fffdf5; border:1px solid #e8dfc0; border-left:5px solid #c9a227; border-radius:8px; padding:12px 16px; margin:0 0 18px; box-shadow:none; }
section.open-items.done-all { background:#f3faf5; border-color:#c4e3cf; border-left-color:#1f7a4d; }
section.open-items h3 { margin:0 0 8px; font-size:15px; color:#134c6e; }
ul.open-list { list-style:none; padding:0; margin:0; }
ul.open-list li { padding:5px 0; border-bottom:1px dotted #e0d9c0; font-size:14px; }
ul.open-list li:last-child { border-bottom:0; }
.owner-tag { display:inline-block; min-width:36px; text-align:center; font-size:11px; padding:1px 6px; border-radius:999px; margin-right:8px; }
.owner-tag.customer { background:#fff4d5; color:#8a6c0a; }
.owner-tag.staff { background:#e6f4fb; color:#2d7eb0; }
ul.open-list .src { float:right; font-size:12px; color:#888; text-decoration:none; }
ul.open-list .src:hover { text-decoration:underline; }
@media print { section.open-items { background:#fff; } ul.open-list .src { float:none; margin-left:8px; } }
section.appt .appt-line { margin:2px 0; font-size:14px; }
section.appt .appt-note { margin:6px 0 0; font-size:13px; color:#555; }
section.appt .appt-when { font-size:12px; color:#2d7eb0; }
@media print { section.appt { background:#fff; } }
table.record-list { width:100%; border-collapse:collapse; font-size:14px; }
table.record-list th, table.record-list td { padding:8px 10px; border-bottom:1px solid var(--line, #ddd); text-align:left; white-space:nowrap; }
table.record-list td:nth-child(2) { white-space:normal; min-width:200px; }
.page-nav { font-size:13px; color:#555; }
p.overview { background:#f6f9fc; border-left:4px solid #4aa3d5; padding:10px 14px; border-radius:4px; line-height:1.8; }
.media-grid { display:flex; flex-wrap:wrap; gap:12px; }
.media-grid.inline { margin:6px 0 10px; }
.media-grid.inline figure.media-img { flex:1 1 200px; max-width:320px; }
p.media-file { margin:4px 0; font-size:0.9em; }
figure.media-img { margin:0; flex:1 1 260px; max-width:420px; }
figure.media-img img { display:block; width:100%; height:auto; border:1px solid #ddd; border-radius:6px; }
figure.media-video { margin:0; flex:1 1 100%; }
figure.media-video iframe { width:100%; max-width:720px; aspect-ratio:16/9; border:1px solid #ddd; border-radius:6px; }
figure.media-img figcaption, figure.media-video figcaption { font-size:0.8em; color:#666; margin-top:4px; }
@media print { figure.media-video iframe { display:none; } .media-grid { display:block; } figure.media-img { max-width:60%; } }
figure.plaud-card { margin: 12px 0 16px; }
figure.plaud-card img { display: block; width: 100%; max-width: 900px; height: auto; border: 1px solid #ddd; border-radius: 6px; }
figure.plaud-card figcaption { font-size: 0.8em; color: #666; margin-top: 4px; }
@media print {
  figure.plaud-card { break-inside: avoid; }
  figure.plaud-card img { max-width: 100%; }
  /* body だけでなく html（ルート要素）の背景も白にする。
     body の高さが短いページで下に html の背景（薄水色）が透けて見える事故を防ぐ */
  html, body { background: #fff; }
  nav.toc, .toc-toggle, .page-nav, #searchBox, .tabs { display: none !important; }
  main { max-width: none; padding: 0; }
  section.record { break-after: page; box-shadow: none; border: 1px solid #ccc; }
  section.record:last-child { break-after: auto; }
  a { color: #000; text-decoration: none; }
  @page { size: A4; margin: 16mm 14mm; }
}

@media (max-width: 480px) {
  table.actions-table { display: block; overflow-x: auto; white-space: nowrap; }
  table.actions-table th, table.actions-table td { white-space: normal; min-width: 80px; }
  section { padding: 16px 14px; }
  header.main { padding: 20px 16px; }
}
