/* おすすめ設定参考サイト（/chartlist/osusume/）。旧 service/kabutanKakuchou/favorites.html の作りに合わせる。 */

body.osusumePage {
  padding: 8px;
  height: auto;
  font-size: 16px;
  white-space: normal;
}

/* 文字は大きめに（app.css のボタン・入力欄の 12px も上げる） */
.osusumePage button,
.osusumePage input { font-size: 15px; }
.osusumePage input[type="checkbox"] { width: 16px; height: 16px; }

.osusumePage p { margin: 0; line-height: 1.6; }
.osusumePage hr { margin: 8px 0; }
.osusumePage.chartlistMode .forKakuchou,
.osusumePage:not(.chartlistMode) .forChartList { display: none; }

/* ボタンの行の右端を表の右端にそろえる */
.osBox { display: inline-block; max-width: 100%; }
.osBar { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin-bottom: 8px; }
.osSample { margin-left: auto; padding-left: 16px; white-space: nowrap; }
.osSample input { width: 4em; }
.osBar button { margin-right: 8px; padding: 4px 12px; }
.osInfo { color: #006400; margin-right: 8px; }

.osTableWrap { overflow-x: auto; }

.osTable {
  border-collapse: collapse;
  max-width: 1400px;
}
.osTable caption {
  text-align: left;
  font-weight: bold;
  padding: 4px 6px;
  background: #e8f4fc;
  border: 1px solid #aaa;
  border-bottom: none;
}
.osTable th,
.osTable td {
  border: 1px solid #aaa;
  padding: 3px 6px;
  vertical-align: top;
}
.osTable th {
  background: #e8f4fc;
  white-space: nowrap;
}
.osTable th[data-sort] { cursor: pointer; }
.osTable th.sortAsc::after { content: " ▲"; font-size: 10px; }
.osTable th.sortDesc::after { content: " ▼"; font-size: 10px; }
.osTable tbody tr { cursor: pointer; }
.osTable tbody tr:hover { background: #f5f9ff; }
.osTable tbody tr.selected { background: #d5fcef; }
.osTable td.num { text-align: right; }
.osTable td.center,
.osTable th.osCheck { text-align: center; }
.osTable td.url { word-break: break-all; min-width: 300px; }
.osTable td.caption,
.osTable td.sample { white-space: nowrap; }
