.coach-attendance { display: grid; gap: 1rem; }
.coach-attendance-page { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.coach-attendance-page [data-page-header], .coach-attendance-page [data-page-body] { display: grid; gap: .75rem; min-width: 0; }
.coach-attendance-page h2, .coach-attendance-page p { margin: 0; }
.coach-attendance-page select { max-width: 100%; }
.coach-attendance-page a { display: inline-flex; align-items: center; min-height: 44px; }
.attendance-session-choice { display: grid; gap: .35rem; text-align: left; width: 100%; margin-bottom: .75rem; white-space: normal; }
.coach-attendance-entry { margin-bottom: 1rem; }
.coach-attendance-entry button { min-height: 44px; font-size: 16px; }
.coach-attendance-page :is(button, input, select, summary) { scroll-margin-block: 1rem calc(var(--attendance-nav-height, 72px) + 1rem); max-width: 100%; }
.coach-attendance .attendance-list { display: grid; gap: 1rem; }
.coach-attendance-card { display: grid; grid-template-columns: minmax(0, 1fr); gap: .6rem; padding: 1rem; border: 1px solid var(--line, #d4dce5); border-radius: 12px; }
.coach-attendance-card > *, .coach-attendance .attendance-note-controls label { min-width: 0; }
.coach-attendance-card .attendance-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.coach-attendance button, .coach-attendance select, .coach-attendance input, .coach-attendance summary { min-height: 44px; font-size: 16px; }
.coach-attendance button { cursor: pointer; padding: .55rem .8rem; }
.coach-attendance .attendance-actions button[data-attendance-status][aria-pressed="true"],
.coach-attendance .attendance-actions button[data-attendance-status][aria-pressed="true"]:hover:not(:disabled) { background: #ffb020; border-color: #b85c00; color: #132033; box-shadow: inset 0 0 0 2px #fff; }
.coach-attendance button:disabled { cursor: default; opacity: .6; }
.coach-attendance label { display: grid; gap: .35rem; }
.coach-attendance input, .coach-attendance select { width: 100%; box-sizing: border-box; }
.coach-attendance .attendance-note-controls { display: flex; gap: .65rem; align-items: end; }
.coach-attendance .attendance-note-controls label { flex: 1; }
.coach-attendance details { padding: .5rem; }
.coach-attendance details[open] { display: grid; gap: .75rem; }
.coach-attendance [data-save-state], .coach-attendance [data-note-state] { margin: 0; }
.attendance-leave-prompt { border: 2px solid #946500; border-radius: .5rem; padding: 1rem; background: var(--surface, white); }
.attendance-leave-prompt button { margin: .3rem; }
@media (max-width: 1000px) {
  body.coach-attendance-active .topbar { flex-wrap: wrap; }
  body.coach-attendance-active .topbar-actions { flex-wrap: wrap; max-width: 100%; }
}
@media (max-width: 600px) {
  body.coach-attendance-active { padding-bottom: calc(var(--attendance-nav-height, 72px) + var(--attendance-keyboard-inset, 0px) + env(safe-area-inset-bottom) + 16px); }
  body.coach-attendance-active .topbar { position: static; display: grid; gap: 6px; padding: 8px max(14px, env(safe-area-inset-right)) 8px max(14px, env(safe-area-inset-left)); }
  body.coach-attendance-active .topbar h1 { font-size: 20px; line-height: 1.2; }
  body.coach-attendance-active .mobile-brand { font-size: 10px; }
  body.coach-attendance-active .topbar-actions { flex-direction: row; align-items: center; justify-content: flex-start; gap: 6px; }
  body.coach-attendance-active .topbar-actions .theme-control { width: auto; gap: 2px; font-size: 9px; }
  body.coach-attendance-active .topbar-actions .theme-control select { width: auto; min-width: 90px; }
  body.coach-attendance-active .topbar-actions :is(button, select), body.coach-attendance-active .topbar-actions #signOutButton { min-height: 44px; }
  body.coach-attendance-active .topbar-actions button { padding: 8px 10px; }
  body.coach-attendance-active .content { padding-inline: max(14px, env(safe-area-inset-left)) max(14px, env(safe-area-inset-right)); }
  .coach-attendance-page .attendance-actions > button { flex: 1 1 44%; }
  .coach-attendance-card { grid-template-columns: minmax(0, 1fr); }
  .coach-attendance .attendance-note-controls { display: grid; grid-template-columns: minmax(0, 1fr); }
  .coach-attendance .attendance-note-controls button { width: 100%; }
}
.report-filters {display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.coach-observation-report label {display:flex;flex-direction:column;gap:6px}
.coach-observation-report button,.coach-observation-report input,.coach-observation-report select {min-height:44px;font-size:16px;max-width:100%;box-sizing:border-box}
.coach-observation-report table {width:100%;border-collapse:collapse;margin:12px 0}
.coach-observation-report th,.coach-observation-report td {padding:8px;text-align:left;border-bottom:1px solid #d4d9df;overflow-wrap:anywhere}
.report-record,.report-history,[data-detail] {padding:12px 0;border-top:1px solid #d4d9df;overflow-wrap:anywhere}
.report-bars>div {margin:8px 0}
.report-bars span {display:block;height:12px;background:#3463a5;max-width:100%}
@media(max-width:600px){.report-filters{display:grid;grid-template-columns:minmax(0,1fr)}.coach-observation-report{min-width:0}.coach-observation-report th,.coach-observation-report td{padding:6px;font-size:14px}.report-record button{white-space:normal;text-align:left;width:100%}}
