.prognoz-main { max-width: 960px; margin: 0 auto; padding: 20px; font-family: sans-serif; }
.bite-table { border-collapse: collapse; width: 100%; }
.bite-table th, .bite-table td { padding: 6px 10px; border-bottom: 1px solid #eee; }

.forecast-7day {
  border-collapse: collapse;
  width: 100%;
  margin: 8px 0 16px;
  font-size: 14px;
  background: #fff;
  border: 1px solid #d5d5d5;
}
.forecast-7day thead th {
  background: #f2f4f7;
  font-weight: 600;
  text-align: left;
  padding: 8px 12px;
  border: 1px solid #d5d5d5;
  border-bottom: 2px solid #b8b8b8;
  white-space: nowrap;
}
.forecast-7day tbody td {
  padding: 8px 12px;
  border: 1px solid #e2e2e2;
  vertical-align: middle;
}
.forecast-7day tbody tr:nth-child(even) td { background: #fafbfc; }
.forecast-7day tbody tr:hover td { background: #eef5fb; }
.forecast-7day td:nth-child(1) { white-space: nowrap; font-weight: 600; width: 70px; }
.forecast-7day td:nth-child(2) { text-align: center; font-weight: 600; width: 60px; }
.forecast-7day td:nth-child(4) { white-space: nowrap; color: #555; width: 190px; }
@media (max-width: 600px) {
  .forecast-7day { font-size: 13px; }
  .forecast-7day thead th, .forecast-7day tbody td { padding: 6px 8px; }
}
.score-high { background: #e8f5e9; }
.score-mid  { background: #fff9c4; }
.score-low  { background: #ffebee; color: #666; }
.month-calendar-wrap { overflow-x: auto; }
.month-calendar { font-size: 11px; border-collapse: collapse; white-space: nowrap; }
.month-calendar td, .month-calendar th { padding: 2px 4px; text-align: center; border: 1px solid #ddd; }
.month-calendar .fish-col { text-align: left; min-width: 90px; position: sticky; left: 0; background: #fff; z-index: 1; }
.month-calendar .fish-name { text-align: left; white-space: nowrap; position: sticky; left: 0; background: #fff; z-index: 1; }
.month-calendar .day-col { min-width: 34px; }
.score-legend { display: flex; gap: 12px; font-size: 12px; margin: 6px 0 4px; }
.score-legend span { padding: 2px 8px; border-radius: 3px; }
.score-banner { padding: 10px 14px; border-radius: 6px; margin-bottom: 14px; font-size: 15px; }
.score-banner.sb-high { background: #e8f5e9; border-left: 4px solid #4caf50; }
.score-banner.sb-mid  { background: #fff9c4; border-left: 4px solid #f9a825; }
.score-banner.sb-low  { background: #ffebee; border-left: 4px solid #ef9a9a; }
.weather-factors { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.weather-factors li { padding: 6px 10px; border-radius: 4px; background: #f5f5f5; }
.f-good { background: #e8f5e9; }
.f-bad  { background: #ffebee; }
.attribution { text-align: center; color: #888; font-size: 12px; }
.updated-at { color: #888; font-size: 12px; font-style: italic; margin-top: 20px; }
.breadcrumbs { font-size: 13px; color: #888; margin-bottom: 10px; }
.breadcrumbs a { color: inherit; text-decoration: none; }
.breadcrumbs a:hover { text-decoration: underline; }
.bc-sep { margin: 0 5px; color: #bbb; }
.fish-ico { width: 20px; vertical-align: middle; }
