body[data-page="sessions"] { overflow: auto; }
body[data-page="fixtures"] { overflow:auto; }
.fixture-opponent-label { font-size:14px; color:#5c6d57; }
.fixture-details { grid-template-columns:1fr 1fr; }
.fixture-details select { margin-top:7px; }
.fixture-details label:last-child { grid-column:auto; }
.match-section { border-top:1px solid #cad8c5; padding-top:28px; margin-top:28px; scroll-margin-top:80px; }
.match-section-heading { display:flex; align-items:center; gap:14px; margin-bottom:25px; }
.match-section-heading > span { font-size:26px; color:#7a9564; font-weight:500; }
.match-section-heading p { margin:0 0 3px; font-size:12px; letter-spacing:.13em; color:#6c7b60; }
.match-section-heading h2 { margin:0; font-size:23px; letter-spacing:-.035em; }
.match-section .session-field { margin-top:22px; }
.fixture-summary h2 { font-size:26px; line-height:1.3; margin:16px 0; overflow-wrap:anywhere; }
.fixture-summary > p:not(.hub-kicker) { font-size:14px; color:#aec2a0; overflow-wrap:anywhere; }
.match-jump { display:grid; gap:5px; margin:24px 0; padding-block:18px; border-block:1px solid #3b5040; }
.match-jump a { color:#e2ebd9; text-decoration:none; padding:10px 0; font-size:15px; }
.match-jump span { margin-right:14px; color:#9fbd7d; font-size:13px; }
.match-reminder { line-height:1.6; }
.session-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:28px 0; }
.session-heading h1 { margin:0 0 7px; font-size:32px; font-weight:650; letter-spacing:-.04em; }
.session-heading p { margin:0; color:var(--hub-muted); font-size:14px; }
.session-actions { display:flex; flex-wrap:wrap; gap:8px; }
.session-button { background:#162222; border:1px solid #3d4f49; border-radius:7px; padding:11px 14px; cursor:pointer; font-size:14px; min-height:44px; }
.session-button:hover { border-color:#abc497; background:#21302a; }
#sessionCount { margin-left:6px; color:#bbd394; }
.session-layout { display:grid; grid-template-columns:minmax(0,1fr) 265px; align-items:start; gap:24px; }
.session-document { min-width:0; background:#f6f8f5; color:#20322a; border:1px solid #cad5cc; border-radius:12px; overflow:hidden; box-shadow:0 12px 40px #0002; }
.session-paper-head { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:16px 30px; background:#e9eee7; border-bottom:1px solid #d5dfd4; font-size:12px; color:#55664d; }
.session-paper-head > span:first-child { letter-spacing:.14em; font-weight:700; }
.session-document-body { padding:28px 30px 32px; }
.session-document input,.session-document textarea,.session-document select { display:block; width:100%; min-width:0; font:inherit; color:#20322a; background:transparent; border:1px solid #c3d0c3; border-radius:5px; padding:10px; font-size:16px; line-height:1.5; }
.session-document input::placeholder,.session-document textarea::placeholder { color:#768174; opacity:1; }
.session-document input:focus,.session-document textarea:focus,.session-document select:focus { outline:2px solid #4e7542; outline-offset:2px; background:#fff; }
.session-document textarea { resize:vertical; min-height:85px; overflow-y:auto; }
.session-document .session-title { font-size:30px; font-weight:650; line-height:1.3; letter-spacing:-.035em; padding:6px 0 12px; border:0; border-radius:0; border-bottom:1px solid transparent; }
.session-document textarea.session-title { min-height:0; resize:none; overflow:hidden; }
.document-save-row { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:16px; margin-top:24px; padding-top:22px; border-top:1px solid #d0dacb; }
.document-save-row > span { font-size:13px; color:#596b50; }
.session-title:hover { border-bottom-color:#b4c2af; }
.session-details { display:grid; grid-template-columns:1fr .8fr 1.3fr; gap:16px; margin:21px 0 26px; }
.session-details label,.session-field { display:block; font-size:14px; font-weight:600; color:#52604f; }
.session-details input { margin-top:7px; }
.session-field textarea { font-weight:400; margin-top:9px; }
.drill-section-title { display:flex; justify-content:space-between; gap:12px; align-items:center; margin:32px 0 18px; padding-top:24px; border-top:1px solid #d4ded0; }
.drill-section-title h2 { margin:0; font-size:21px; letter-spacing:-.025em; }
.drill-section-title span { font-size:12px; color:#62705d; }
.session-drill { position:relative; border:1px solid #d0dacb; border-left:3px solid #7f956d; border-radius:7px; padding:18px; margin:0 0 16px; background:#fff; }
.drill-top { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.drill-number { display:grid; place-items:center; width:28px; height:28px; background:#eaf0e3; border-radius:5px; font-size:13px; font-weight:700; color:#506840; flex-shrink:0; }
.drill-window { color:#596951; font-size:13px; font-variant-numeric:tabular-nums; }
.drill-controls { display:flex; margin-left:auto; gap:4px; }
.drill-controls button { min-height:32px; min-width:32px; border:1px solid #d6dfd0; background:#fff; color:#54634c; border-radius:4px; cursor:pointer; font-size:14px; padding:5px 7px; }
.drill-controls button:disabled { opacity:.3; cursor:default; }
.drill-controls button:hover:not(:disabled) { background:#f0f4eb; }
.drill-controls button:focus-visible,.add-session-drill:focus-visible { outline:2px solid #416933; }
.drill-fields { display:grid; grid-template-columns:minmax(0,1fr) 84px; gap:14px; }
.drill-fields label,.drill-notes-label { font-size:13px; color:#62715b; font-weight:500; }
.drill-fields input { margin-top:5px; }
.session-drill .drill-name { font-weight:650; }
.drill-notes-label { display:block; margin-top:14px; }
.session-drill textarea { margin-top:5px; border-color:#e1e7dc; min-height:90px; }
.add-session-drill { width:100%; padding:15px; border:1px dashed #99ae87; border-radius:6px; background:#edf3e6; color:#345224; cursor:pointer; font:inherit; font-size:15px; font-weight:650; }
.add-session-drill:hover { background:#e3ecd9; }
.session-final-notes { margin-top:28px; padding-top:24px; border-top:1px solid #d4ded0; }
.session-timetable { position:sticky; top:24px; padding:24px 22px; border:1px solid #3a4f43; background:linear-gradient(150deg,#1e3329,#142320); border-radius:12px; min-width:0; }
.session-timetable .hub-kicker { color:#b7c9a8; font-size:12px; }
.session-total strong { display:block; font-size:58px; line-height:1.1; font-weight:550; letter-spacing:-.06em; color:#d7ff75; }
.session-total span { font-size:14px; color:#c3d1bd; }
#sessionTimeRange { font-size:14px; color:#b5c7ad; margin:18px 0; }
.session-time-bar { display:flex; height:5px; gap:3px; margin:22px 0 26px; border-radius:4px; overflow:hidden; }
.session-time-bar span { background:#a4c579; min-width:2px; }
.session-time-bar span:nth-child(3n+2) { background:#63846c; }
.session-time-bar span:nth-child(3n) { background:#d6e9b3; }
.session-timetable .section-heading { margin-bottom:18px; flex-wrap:wrap; }
.session-timetable h2 { font-size:16px; }
#sessionDrillCount { color:#a4b69b; font-size:12px; }
#sessionTimeline { list-style:none; padding:0; margin:0; }
#sessionTimeline li { position:relative; border-left:1px solid #52674b; padding:0 0 19px 16px; margin-left:4px; }
#sessionTimeline li::before { content:''; position:absolute; top:6px; left:-4px; width:7px; height:7px; border-radius:50%; background:#bddb8f; }
#sessionTimeline li:last-child { padding-bottom:0; }
#sessionTimeline a { display:block; color:#e6eddf; font-size:14px; text-decoration:none; overflow-wrap:anywhere; }
#sessionTimeline a:hover { color:var(--hub-accent); }
#sessionTimeline time { display:block; color:#a1b596; font-size:12px; margin-bottom:3px; }
.session-local-note { border-top:1px solid #3c5040; padding-top:18px; margin:24px 0 0; color:#a4b799; font-size:12px; line-height:1.6; }
.session-library { padding:24px; border:1px solid #34473b; border-radius:10px; background:#13211b; margin-bottom:24px; }
.session-library .section-heading { margin-bottom:8px; }
.session-saved-row { display:flex; align-items:center; gap:12px; border-top:1px solid #2d3d33; }
.session-saved-open { min-width:0; flex:1; padding:18px 0; text-align:left; border:0; background:none; cursor:pointer; }
.session-saved-open strong { display:block; font-size:16px; color:#eaf1e5; overflow-wrap:anywhere; }
.session-saved-open small { display:block; color:#a8ba9c; font-size:13px; margin-top:5px; }
.session-saved-open:hover strong { color:var(--hub-accent); }
.session-saved-row > button:last-child { background:none; border:0; padding:12px; font-size:14px; color:#d4b8ac; cursor:pointer; }
.session-home { display:flex; justify-content:space-between; align-items:center; gap:20px; border:1px solid #3c4d3a; border-radius:12px; padding:24px; margin-top:24px; background:#17231c; }
.session-home h2 { font-size:23px; letter-spacing:-.025em; margin:0 0 8px; overflow-wrap:anywhere; }
.session-home p:last-child { margin:0; color:#afc2a5; font-size:14px; }
.session-home a { white-space:nowrap; }
#sessionConfirm form { display:flex; flex-wrap:wrap; gap:8px; }
@media(max-width:1250px) { .session-heading { align-items:flex-start; flex-direction:column; } .session-layout { grid-template-columns:minmax(0,1fr) 225px; gap:18px; } .session-document-body { padding:24px 20px; } .session-paper-head { padding-inline:20px; } .session-details { grid-template-columns:1fr 1fr; } .session-details label:last-child { grid-column:1/-1; } }
@media(max-width:1000px) { .session-layout { grid-template-columns:minmax(0,1fr); } .session-timetable { position:static; } }
@media(max-width:760px) {
  .hub-nav .hub-brand,body[data-page="whiteboard"] .hub-nav .hub-brand { display:none; }
  .hub-nav > a[data-hub-page],body[data-page="whiteboard"] .hub-nav > a[data-hub-page] { flex:1; justify-content:center; }
  .hub-nav,body[data-page="whiteboard"] .hub-nav { gap:2px; padding-inline:8px; }
  .hub-nav > a[data-hub-page],body[data-page="whiteboard"] .hub-nav > a[data-hub-page] { padding-inline:4px; font-size:12px; white-space:nowrap; }
  .hub-logo { width:30px; height:32px; }
  .session-heading h1 { font-size:30px; }
  .session-actions { width:100%; }
  .session-actions .hub-primary { flex:1; }
  .session-heading { gap:20px; }
  .session-document-body { padding:22px 14px; }
  .session-document .session-title { font-size:25px; }
  .session-paper-head { padding:14px; }
  .session-drill { padding:14px 10px; }
  .drill-top { flex-wrap:wrap; gap:7px; }
  .drill-controls { gap:3px; }
  .drill-window { font-size:12px; }
  .session-details { gap:12px; }
  .session-home { flex-wrap:wrap; }
}
