/* Unified styles (tabs preserved; monthly added) */
/* base */
html,body,.sched-table{ -webkit-text-size-adjust:100%; text-size-adjust:100% }
body{ font-family:Arial, sans-serif; margin:0; background:#f4f4f4 }

/* header */
.header{ background:#CB2C30; color:#fff; padding:15px; display:flex; align-items:center }
.header img{ max-height:50px; margin-right:15px }
.header h1{ margin:0; font-size:24px; font-weight:400 }

/* nav bars (same height) */
.filter-nav{ background:#2B3D53; padding:12px 16px; display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap }
.filter-nav button{ background:#3b4867; color:#fff; border:none; padding:8px 12px; border-radius:6px; font-size:13px; font-weight:700; cursor:pointer }
.filter-nav button:hover{ background:#4b5a7c }
.filter-nav button.active{ background:#CB2C30 }

/* monthly nav overrides: grid keeps centered title with compact buttons */
.month-nav{ display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; gap:16px; padding:12px 16px }
.month-nav .btn-prev,.month-nav .btn-next{ min-width:auto; padding:8px 12px; flex-shrink:0; }
.month-label{ color:#fff; font-weight:700; font-size:14px; flex-shrink:0; }

/* meta (screen) */
.timezone-notice{ background:#f0f2f5; border-top:1px solid #e0e3e8; border-bottom:1px solid #e0e3e8; padding:8px 0; text-align:center; font-size:10px; color:#6c757d }
.timezone-notice > div{ margin-bottom:4px; }
.timezone-notice > div:last-child{ margin-bottom:0; }

/* layout */
.container{ display:flex; justify-content:center; padding:20px }
.widget{ background:#fff; box-shadow:0 0 10px rgba(0,0,0,.1); margin:10px; padding:20px; width:100%; max-width:525px; border-radius:8px; overflow:hidden }
.foot .foot-note, .foot small{ font-size:10px; color:#868e96 }

/* tabs table */
.sched-table{ width:100%; border-collapse:collapse; table-layout:fixed; font-size:clamp(9.2px,1.02vw,12px); transition:opacity .12s ease }
.sched-table th,.sched-table td{ border:1px solid #ddd; padding:10px; text-align:left; box-sizing:border-box }
.sched-table thead th{ background:#2B3D53; color:#fff; font-weight:700; font-size:inherit }
.sched-table tbody tr.row-odd{ background:#fff } .sched-table tbody tr.row-even{ background:#f2f2f2 }
col.col-date{ width:88px } col.col-time{ width:72px } col.col-name{ width:auto } col.col-net{ width:var(--net-w,90px) }
.sched-table th.tv-column,.sched-table td.tv-column{ text-align:center; width:var(--net-w,90px) }
.date-column,.time-column,.tv-column{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.name-column{ white-space:nowrap; overflow:visible; text-overflow:clip }
/* bold non-CHSN rows in tabs */
.alt-net-row td,.tv-column.alt{ font-weight:700 }

@media (max-width:480px){
  .container{ padding:10px }
  .widget{ max-width:100%; overflow-x:hidden }
  .sched-table{ font-size:8px }
  .sched-table th,.sched-table td{ padding:7px 5px }
  col.col-date{ width:60px }
  col.col-time{ width:48px }
}

/* monthly tables */
.month-widget{ background:#fff; box-shadow:0 0 8px rgba(0,0,0,.1); padding:14px; width:100%; max-width:1100px; margin-top:12px }
.tables{ display:grid; grid-template-columns:1fr 1fr; gap:12px; min-width:700px }
.card{ border:1px solid #e0e0e0; border-radius:0; background:#fff }
.team-title{ background:#E9ECEF; color:#212529; font-weight:700; font-size:15px; padding:8px 10px; border-bottom:1px solid #dcdcdc; text-align:center }
.mtbl{ width:100%; border-collapse:collapse; table-layout:fixed; font-size:12px }
.mtbl th,.mtbl td{ border:1px solid #dcdcdc; padding:7px 8px; box-sizing:border-box; line-height:1.15 }
.mtbl thead th{ background:#2B3D53; color:#fff }
.h-d,.h-t,.h-opp{ text-align:left } .h-net{ text-align:center }
.mtbl td.d{ white-space:nowrap; overflow:visible; text-overflow:clip; font-variant-numeric:tabular-nums }
.mtbl td.t{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:left }
.mtbl td.opp{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:left }
.mtbl td.net{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:center }
.mtbl tbody tr:nth-child(odd){ background:#fff } .mtbl tbody tr:nth-child(even){ background:#f2f2f2 }
.mtbl tbody tr.altnet td,.mtbl td.net.alt{ font-weight:700 }
.c-date{ width:104px } .c-time{ width:64px } .c-opp{ width:auto } .c-net{ width:86px }

@media (max-width:800px){ .tables{ grid-template-columns:1fr } }
@media (max-width:480px){
  .mtbl{ font-size:11px }
  .c-date{ width:100px } .c-time{ width:60px } .c-net{ width:82px }
}

/* print footer (screen default hidden) */
.print-footer{ display:none; text-align:center; color:#6c757d; font-size:10px; }

/* PRINT — Letter PORTRAIT, two columns, no clipped values */
@media print{
  @page { size: Letter portrait; margin: 5mm 6mm 6mm 6mm; }

  /* Global scale; nudge 0.70–0.76 if still tight */
  html { zoom: 0.74; }
  body { background:#fff !important; padding:0 !important; }

  /* Hide tabs nav but keep monthly nav visible */
  .timezone-notice, .filter-nav:not(.month-nav), .foot { display:none !important; }
  .month-nav { display:flex !important; justify-content:center !important; padding:4mm 6mm !important; }
  .month-nav button { display:none !important; }
  .month-nav .month-label { color:#fff; font-weight:700; font-size:12pt; }
  
  .header { padding:2mm 4mm; }
  .header img { max-height:30px; }
  .header h1 { font-size:11pt; font-weight:600; }

  /* Keep TWO columns */
  .month-widget { box-shadow:none !important; padding:0 !important; max-width:none !important; margin-top:2mm }
  .tables { grid-template-columns:1fr 1fr; gap:3mm; min-width:auto !important; }

  .team-title { background:#E9ECEF !important; color:#212529 !important; padding:2mm; font-size:9.5pt; border:0 }

  /* Compact table but readable with extra padding */
  .mtbl { font-size:7.2pt; table-layout:fixed; }
  .mtbl th, .mtbl td { padding:2mm 2.5mm; line-height:1.15; border-color:#cfcfcf; border-width:0.5pt; }

  /* Column widths - Date/Time/Network wider, Opponent narrower */
  .c-date{ width:84px }       /* fits dates like "Tue, Jan 15" with padding */
  .c-time{ width:58px }        /* wider for times like "6:30 PM" with padding */
  .c-net{  width:74px }       /* fits CHSN, CHSN+ with padding */
  .c-opp{  width:120px }       /* constrained width - narrower for less scrolling */

  /* All values single-line, no truncation */
  .mtbl td.d   { white-space:nowrap; overflow:visible; text-overflow:clip; font-variant-numeric:tabular-nums; }
  .mtbl td.t   { white-space:nowrap; overflow:visible; text-overflow:clip; font-variant-numeric:tabular-nums; }
  .mtbl td.net { white-space:nowrap; overflow:visible; text-overflow:clip; }
  .mtbl td.opp { white-space:nowrap; overflow:visible; text-overflow:clip; }

  .team-title, .mtbl, .mtbl tr { page-break-inside: avoid; }
  .print-footer { display:block !important; position:static !important; margin-top:2mm; font-size:8pt; color:#6c757d }
  .print-footer > div { margin-bottom:2mm; }
  .print-footer > div:last-child { margin-bottom:0; }
}
