.weekly-day-overview { margin:1rem 0; padding:1rem; border:2px solid #b9d0d9; border-radius:12px; background:#fff; color:#173e4b; font-size:16px; line-height:1.5; overflow-wrap:anywhere; }
.weekly-day-overview h3,.weekly-day-overview h4 { margin:.5rem 0; font-size:18px; line-height:1.5; }
.weekly-day-overview p { font-size:16px; line-height:1.5; white-space:pre-wrap; }
.weekly-overview-totals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1rem 0; }
.weekly-overview-totals > span { padding:.75rem; border:1px solid #b9d0d9; border-radius:8px; font-size:14px; }
.weekly-overview-totals strong { display:block; margin-top:.25rem; font-size:16px; }
.weekly-overview-scroll { overflow-x:auto; }
.weekly-day-overview table { width:100%; border-collapse:collapse; font-size:16px; table-layout:fixed; }
.weekly-day-overview th,.weekly-day-overview td { padding:.75rem .5rem; border-bottom:1px solid #b9d0d9; text-align:left; vertical-align:top; }
.weekly-day-overview thead th { background:#0e6275; color:#fff; font-size:14px; }
.weekly-overview-row.today > th { border-left:4px solid #0e6275; }
.weekly-overview-row.future { color:#526c77; background:#f7fafc; }
.weekly-rest-label { display:block; font-size:14px; color:#087653; }
.weekly-day-overview button,.weekly-tests-fold summary { min-height:44px; padding:.65rem .75rem; border:1px solid #0e6275; border-radius:8px; background:#0e6275; color:#fff; font:inherit; font-size:14px; font-weight:750; white-space:normal; cursor:pointer; max-width:100%; }
.weekly-day-overview button:focus-visible,.weekly-tests-fold summary:focus-visible { outline:3px solid #c65b09; outline-offset:3px; }
.weekly-day-overview .flow-link { background:#e0f6ec; color:#075c42; border-color:#087653; margin:.5rem 0; }
.weekly-overview-detail { background:#f7fafc; }
.weekly-overview-detail[hidden] { display:none !important; }
.weekly-day-checks { padding:1rem; border-left:4px solid #996014; background:#fff5e5; color:#5c3b11; }
.weekly-day-checks li { margin:.5rem 0; }
.weekly-check { font-size:14px; color:#684512; }
.weekly-game-detail,.weekly-unlinked-polar { margin:1rem 0; padding:1rem; border:1px solid #b9d0d9; border-radius:10px; background:#fff; }
.weekly-game-detail { border-left:4px solid #7450a1; }
.weekly-game-detail dl { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr)); gap:.75rem; }
.weekly-game-detail dt { font-size:14px; }.weekly-game-detail dd { margin:.25rem 0 0; font-size:16px; font-weight:700; }
.weekly-tests-fold { margin:1rem 0; }.weekly-tests-fold summary { background:#fff; color:#173e4b; font-size:16px; }
.weekly-tests-fold .report-test-context p,.weekly-tests-fold .report-test-context article strong,.weekly-tests-fold .report-test-context article span { font-size:16px; white-space:normal; overflow-wrap:anywhere; }
.weekly-tests-fold .report-test-context article small,.weekly-tests-fold .report-test-context > div:first-child > span { font-size:14px; white-space:normal; }
@media (max-width:900px) {
  .weekly-day-overview thead { display:none; }
  .weekly-overview-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; margin:1rem 0 0; padding:.75rem; border:1px solid #b9d0d9; border-radius:8px; }
  .weekly-overview-row th { grid-column:1/-1; }.weekly-overview-row td { border:0; padding:.25rem; }
  .weekly-overview-row td[data-label]::before { content:attr(data-label); display:block; color:#365363; font-size:14px; font-weight:750; }
  .weekly-day-action { grid-column:1/-1; }.weekly-overview-detail,.weekly-overview-detail td { display:block; width:100%; }
}
@media (max-width:600px) { .weekly-day-overview { padding:.75rem; }.weekly-overview-totals { grid-template-columns:1fr; gap:.5rem; }.weekly-day-overview button { width:100%; }.weekly-tests-fold .report-test-context { grid-template-columns:1fr; }.weekly-tests-fold .report-test-context > div:last-child { grid-template-columns:1fr; } }

.weekly-match-parts > article { padding:1rem; margin:.75rem 0; border:1px solid #b9d0d9; border-radius:8px; background:#f7fafc; }
.weekly-match-parts strong { font-size:16px; }
