.context-selector {background: rgba(255,255,255,.82);border: 1px solid var(--border);border-radius: var(--radius-lg);}
.context-selector label {color: var(--text-muted);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);text-transform: uppercase;}
.simple-list-item {border: 1px solid var(--border);border-radius: var(--radius);background: var(--surface-secondary);}
.simple-list-item span {color: var(--text-muted);font-size: var(--font-size-label);}
.simple-list-item strong {color: var(--text);}
.setup-error-detail {font-size: var(--font-size-control);line-height: 1.35;}
.setup-error-detail span {font-family: var(--font-family);font-weight: var(--font-weight-control);}
.setup-brand {border-bottom: 1px solid var(--border);}
.input-icon i {color: var(--text-muted);}
.training-session-filters .btn {font-size: var(--font-size-label);}
.training-session-filters .input-icon i {font-size: .82rem;}
.players-table thead a {color: var(--text-muted);}
.players-table thead a:hover {color: var(--primary-hover);}
.player-row:focus-visible {outline-offset: -3px;}
.player-cell span {color: var(--text-muted);font-size: var(--font-size-label);}
.player-avatar,
.player-profile-avatar {background: var(--primary-light);color: var(--primary-hover);font-weight: var(--font-weight-heading);}
.player-avatar {border-radius: 50%;border: 2px solid var(--border);}
.table-number {color: var(--primary-hover);font-weight: var(--font-weight-heading);font-size: var(--font-size-body);}
.player-profile-header {background: rgba(255,255,255,.94);border: 1px solid var(--border);border-radius: var(--radius-lg);box-shadow: var(--shadow-soft);}
.player-profile-avatar {border-radius: 50%;border: 4px solid var(--border);box-shadow: var(--shadow-soft);font-size: var(--font-size-metric);}
.player-profile-title h1 {color: var(--text);font-size: var(--font-size-title);font-weight: var(--font-weight-heading);}
.player-profile-title p {color: var(--text-secondary);font-weight: var(--font-weight-control);}
.player-profile-meta span {border-radius: var(--radius-pill);color: var(--text-secondary);background: var(--surface-secondary);border: 1px solid var(--border);font-size: var(--font-size-label);font-weight: var(--font-weight-heading);}
.player-info-card h2 {color: var(--text);font-size: var(--font-size-subsection);font-weight: var(--font-weight-heading);}
.info-list div {border-bottom: 1px solid var(--border);}
.info-list div:last-child {border-bottom: 0;}
.info-list dt {color: var(--text-muted);font-size: var(--font-size-control);font-weight: var(--font-weight-heading);}
.info-list dt i {color: var(--primary);}
.info-list dd {color: var(--text);font-weight: var(--font-weight-heading);}
.notes-box {color: var(--text-secondary);background: var(--surface-secondary);border: 1px solid var(--border);border-radius: var(--radius);}
.player-kpi-panel {border-top: 1px solid var(--border);}
.player-kpi-panel h2 {color: var(--text);font-size: var(--font-size-control);font-weight: var(--font-weight-heading);}
.player-kpi-item {background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius);}
.player-kpi-item span {color: var(--text-secondary);font-size: var(--font-size-label);font-weight: var(--font-weight-heading);}
.player-kpi-item strong {color: var(--text);font-size: var(--font-size-metric);font-weight: var(--font-weight-heading);}
.player-kpi-item i {color: var(--primary);font-size: .92rem;}
.player-kpi-item.empty strong,
.player-kpi-item.empty i {color: var(--text-muted);}
.compact-check {color: var(--text-secondary);font-weight: var(--font-weight-heading);}
.training-plan-intro p {color: var(--text-secondary);font-size: var(--font-size-label);font-weight: var(--font-weight-control);}
.training-mode-switch,
.training-context-summary {background: var(--surface-secondary);border: 1px solid var(--border);border-radius: var(--radius);}
.training-context-summary span {color: var(--text-secondary);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);}
.training-context-summary i,
.training-context-summary strong {color: var(--primary-hover);}
.training-advanced-section {background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius);}
.training-advanced-section > summary {color: var(--primary-hover);font-weight: var(--font-weight-heading);}
.training-session-mainline {border-top: 1px solid var(--border);}
.training-library-suggestions {background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius);box-shadow: var(--shadow-soft);}
.training-library-suggestion {background: transparent;border: 0;color: var(--text);}

.training-library-modal-item {background: transparent;color: var(--text);}
.training-library-suggestion {border-radius: var(--radius-sm);}
.training-library-suggestion:hover,
.training-library-suggestion:focus-visible,
.training-library-modal-item:hover,
.training-library-modal-item:focus-visible {background: var(--primary-light);color: var(--primary-hover);outline: none;}
.training-library-suggestion small,
.training-library-modal-item small,
.training-library-suggestion-empty {color: var(--text-muted);font-size: var(--font-size-small);}
.training-library-modal-item {border: 1px solid var(--border);border-radius: var(--radius);}
.training-library-modal-item i {font-size: 1rem;}
.training-objectives-notes {border-top: 1px solid var(--border);}
.training-required-field {background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius);color: var(--text);font-weight: var(--font-weight-heading);}
.training-required-field.locked {color: var(--text-muted);background: var(--surface-secondary);}
.base-data-card {color: var(--text);}
.base-data-card:hover {color: var(--text);border-color: var(--border-strong);}
.base-data-card strong {font-size: var(--font-size-subsection);font-weight: var(--font-weight-heading);}
.base-data-card span:last-child {color: var(--text-secondary);font-weight: var(--font-weight-control);}
.code-pill {color: var(--primary-hover);background: var(--primary-light);border: 1px solid var(--border);border-radius: var(--radius);font-weight: var(--font-weight-heading);letter-spacing: 0;}
.competition-badge {color: var(--competition-color, var(--primary-hover));background: color-mix(in srgb, var(--competition-color, var(--primary)) 12%, var(--surface));border: 1px solid color-mix(in srgb, var(--competition-color, var(--primary)) 28%, var(--border));border-radius: var(--radius);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);letter-spacing: 0;}
.training-day header {border-bottom: 1px solid var(--border);}
.training-day header span {color: var(--text-muted);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);text-transform: uppercase;}
.training-day header strong {color: var(--text);font-weight: var(--font-weight-heading);}
.training-rest {color: var(--text-muted);font-weight: var(--font-weight-heading);}
.training-calendar-item {color: var(--text);background: var(--surface-secondary);border: 1px solid var(--border);border-radius: var(--radius);}
.training-calendar-item:hover {color: var(--text);border-color: var(--border-strong);background: var(--surface);}
.training-calendar-item span,
.training-calendar-item small {color: var(--text-muted);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);}
.training-detail-header .player-profile-title h1 {font-size: var(--font-size-section);}
.training-detail-header .player-profile-title p {font-size: var(--font-size-label);}
.training-detail-kpis span {color: var(--text-secondary);background: var(--surface-secondary);border: 1px solid var(--border);border-radius: var(--radius-pill);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);}
.training-detail-kpis i,
.training-detail-kpis strong {color: var(--primary-hover);}
.training-detail-kpis small {color: var(--text-muted);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);}
.training-detail-layout .player-info-card h2 {font-size: var(--font-size-body);}
.training-detail-info-grid div,
.training-detail-objectives > div {background: var(--surface-secondary);border: 1px solid var(--border);border-radius: var(--radius);}
.training-detail-info-grid span,
.training-detail-objectives span {color: var(--text-secondary);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);}
.training-detail-info-grid strong,
.training-detail-objectives strong {color: var(--text);font-size: var(--font-size-control);font-weight: var(--font-weight-heading);}
.training-detail-player-table {font-size: var(--font-size-label);}
.training-detail-player-table th {color: var(--text-muted);font-size: var(--font-size-small);text-transform: uppercase;}
.training-detail-player-table td:nth-child(2) span {color: var(--text-muted);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);}
.training-detail-exercise-list article {background: var(--surface-secondary);border: 1px solid var(--border);border-radius: var(--radius);}
.training-detail-exercise-order {color: var(--primary-hover);background: var(--primary-light);border-radius: var(--radius);font-weight: var(--font-weight-heading);}
.training-detail-exercise-main span {color: var(--text-secondary);font-size: var(--font-size-label);font-weight: var(--font-weight-heading);}
.training-detail-exercise-main p {color: var(--text-muted);font-size: var(--font-size-label);}
.training-detail-exercise-meta span {color: var(--primary-hover);background: var(--primary-light);border-radius: var(--radius-pill);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);}
.training-timeline article {background: var(--surface-secondary);border: 1px solid var(--border);border-radius: var(--radius);}
.training-timeline-time {color: var(--primary-hover);background: var(--primary-light);border-radius: var(--radius);font-weight: var(--font-weight-heading);}
.training-timeline span {color: var(--text-secondary);font-weight: var(--font-weight-heading);}
.training-timeline p {color: var(--text-muted);}
.training-attendance-saved {font-weight: var(--font-weight-heading);}
.training-section-heading strong {color: var(--primary-hover);font-weight: var(--font-weight-heading);}
.training-quick-summary {background: rgba(255, 255, 255, .94);border: 1px solid var(--border);border-radius: var(--radius);box-shadow: var(--shadow-soft);}
.training-quick-summary span,
.training-advanced summary {font-weight: var(--font-weight-heading);}
.training-quick-summary span {color: var(--text-secondary);background: var(--surface-secondary);border: 1px solid var(--border);border-radius: var(--radius);}
.training-quick-summary strong {color: var(--text);}
.training-exercise-order span {color: var(--primary-hover);background: var(--primary-light);border-radius: var(--radius);font-weight: var(--font-weight-heading);}
.training-exercise-interval {color: var(--text-secondary);background: var(--surface-secondary);border: 1px solid var(--border);border-radius: var(--radius);font-weight: var(--font-weight-heading);}
.training-advanced {background: var(--surface-secondary);border: 1px solid var(--border);border-radius: var(--radius);}
.training-advanced summary {color: var(--primary-hover);}
.training-advanced summary::marker {color: var(--primary);}
.library-filter-chip {border: 1px solid var(--border);border-radius: var(--radius-pill);color: var(--primary-strong);font-weight: var(--font-weight-heading);font-size: var(--font-size-label);}
.library-filter-chip:hover {border-color: var(--primary);background: var(--surface);}
.library-filter-chip:focus-visible {outline: 2px solid var(--primary);outline-offset: 2px;}
.library-preview-title {border: 0;background: none;color: inherit;font: inherit;}
.library-bulk-bar {background: var(--surface);border: 1px solid var(--primary);border-radius: var(--radius);box-shadow: var(--shadow-soft);}
.library-card-select {border-radius: 50%;background: rgb(255 255 255 / .94);box-shadow: var(--shadow-soft);}
.training-library-card.is-selected {outline-offset: 2px;}
.library-quick-actions button {border: 1px solid var(--border);border-radius: var(--radius-sm);background: var(--surface);color: var(--primary-strong);}
.library-quick-actions button:hover:not(:disabled) {background: var(--primary-light);}
.library-quick-actions button:focus-visible,
.library-preview-title:focus-visible {outline: 2px solid var(--primary);outline-offset: 2px;}
.library-quick-actions button.is-favorite {color: var(--warning);background: var(--surface-secondary);}
.library-quick-context {background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius);box-shadow: var(--shadow-soft);}
.library-quick-context button {border-color: transparent;}
.library-quick-panel {border: 0;border-left: 1px solid var(--border);background: var(--surface);color: var(--text);}
.library-quick-panel::backdrop {background: rgb(0 0 0 / .3);}
.library-quick-panel h2 {font-size: var(--font-size-section);}
.library-quick-panel h3 {font-size: var(--font-size-body);}
.library-quick-panel dt {font-size: var(--font-size-small);color: var(--text-secondary);}
.session-card {border: 1px solid var(--border);border-radius: var(--radius);background: var(--surface);}
.session-card:hover,
.session-card:focus-within {border-color: var(--primary);}
.session-card h2 {font-size: var(--font-size-body);line-height: 1.4;}
.session-card h2 a {color: var(--text);text-decoration: none;}
.session-card-objective {font-size: var(--font-size-label);line-height: 1.4;color: var(--text-secondary);}
.session-card-schedule {font-size: var(--font-size-small);color: var(--text-secondary);}
.session-card-metrics dt {font-size: var(--font-size-small);color: var(--text-muted);font-weight: var(--font-weight-body);}
.session-card-metrics dd {font-size: var(--font-size-control);font-weight: var(--font-weight-heading);}
.session-card-details span {font-size: var(--font-size-small);color: var(--text-muted);}
.session-card-details strong {font-size: var(--font-size-label);line-height: 1.35;}
.session-card-footer {border-top: 1px solid var(--border);}
.session-card-open {font-size: var(--font-size-small);font-weight: var(--font-weight-heading);text-decoration: none;}
.session-favorite.is-favorite {color: var(--warning);background: var(--surface-secondary);}
.training-session-group {border: 1px solid var(--border);border-radius: var(--radius);background: var(--surface-secondary);}
.training-session-week {border-color: color-mix(in srgb, var(--primary) 32%, var(--border));background: color-mix(in srgb, var(--primary-light) 42%, var(--surface));}
.training-session-group-heading .eyebrow {font-size: var(--font-size-small);}
.training-session-group-heading h2 {font-size: var(--font-size-body);}
.training-session-group-heading > span {border-radius: var(--radius-pill);background: var(--surface);color: var(--text-secondary);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);}
.training-session-group-heading-secondary {border-bottom: 1px solid var(--border);}
.training-session-group-empty {color: var(--text-muted);font-size: var(--font-size-small);}
.match-card {border: 1px solid var(--border-strong);border-radius: var(--radius-sm);background: var(--surface);box-shadow: var(--shadow-soft);}
.match-card:focus-within,
.match-card:hover {border-color: var(--primary);}
.match-next-group .match-card {border-color: var(--primary);border-left-width: 4px;}
.match-card-date time span,
.match-card-identity p,
.match-card-competition {font-size: var(--font-size-small);}
.match-card-identity h3 {font-size: var(--font-size-body);line-height: 1.3;}
.match-card-identity h3 a {color: var(--text);text-decoration: none;}
.match-card-identity h3 a:hover {text-decoration: underline;}
.match-card-identity p {color: var(--text-muted);}
.training-session-row {border: 1px solid var(--border-strong);border-radius: var(--radius-sm);background: var(--surface);box-shadow: var(--shadow-soft);}
.training-session-row:hover,
.training-session-row:focus-within {border-color: var(--primary);box-shadow: var(--shadow-soft);}
.training-session-row-secondary {border-top: 1px solid var(--border);}
.training-session-row-primary > div > span,
.training-session-row-secondary > div > span {color: var(--text-muted);font-size: var(--font-size-small);font-weight: var(--font-weight-control);line-height: 1.15;}
.training-session-row strong {color: var(--text);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);line-height: 1.25;}

.training-session-number a {font-weight: var(--font-weight-heading);line-height: 1.25;}
.training-session-number a {color: var(--primary);font-size: var(--font-size-label);}
.training-session-number-value .status-pill {font-size: var(--font-size-small);}
.training-session-title strong {font-size: var(--font-size-label);}
.training-session-actions {border-top: 1px solid var(--border);}
.training-session-actions .btn {font-size: var(--font-size-small);}
.training-session-action-tooltip:focus {outline: 2px solid var(--primary);outline-offset: 2px;border-radius: var(--radius-sm);}
.training-session-row .session-favorite,
.training-session-completion .btn {font-size: var(--font-size-small);}
.training-session-completed {font-size: var(--font-size-small);font-weight: var(--font-weight-heading);}
.training-session-row .training-session-completed-label {color: var(--success);}
.training-session-completed i {color: var(--success);font-size: .9rem;}
.library-skeleton-image,
.library-skeleton-line {border-radius: var(--radius-sm);}
.training-library-card {border: 1px solid var(--border);border-radius: var(--radius);}
.training-library-preview {border: 1px solid var(--border);border-radius: var(--radius-sm);}
.training-library-card h2 {color: var(--text);font-weight: var(--font-weight-heading);}
.training-library-card p {font-weight: var(--font-weight-control);}
.training-library-card dt {color: var(--text-muted);font-weight: var(--font-weight-heading);}

.training-library-card small {color: var(--text-muted);font-size: var(--font-size-label);font-weight: var(--font-weight-heading);}
.training-library-card dd {color: var(--text);font-weight: var(--font-weight-heading);}
.library-filter-panel {border-color: var(--border-strong);}
.library-filter-panel small {font-size: var(--font-size-small);}
.library-filter-chip {border-color: color-mix(in srgb, var(--primary) 28%, var(--border));background: color-mix(in srgb, var(--primary-light) 78%, var(--surface));}
.library-navigation .btn {font-weight: var(--font-weight-heading);}
.library-navigation .btn[aria-current="page"],
.library-navigation .btn:hover:not(:disabled),
.library-navigation .btn:focus-visible {border-color: var(--primary);background: var(--primary-light);color: var(--primary-hover);}
.library-navigation .btn:disabled {color: var(--text-muted);background: var(--surface-muted);border-color: var(--border);}
.library-collections-panel summary {color: var(--primary-hover);font-weight: var(--font-weight-heading);}
.library-result-status {color: var(--text-secondary);font-size: var(--font-size-control);font-weight: var(--font-weight-heading);}
.library-bulk-bar {border-color: color-mix(in srgb, var(--primary) 44%, var(--border));}
.training-library-card {background: var(--surface);border-color: var(--border);box-shadow: var(--shadow-soft);}
.training-library-card:hover,
.training-library-card:focus-within {border-color: color-mix(in srgb, var(--primary) 56%, var(--border));box-shadow: var(--shadow-soft);}
.training-library-card.is-selected {border-color: var(--primary);box-shadow: var(--shadow-soft);outline: 0;}
.training-library-preview {background: linear-gradient(135deg, var(--surface-muted), var(--surface-secondary));border-color: var(--border);}
.training-library-card h2 {font-size: var(--font-size-body);line-height: 1.28;}
.training-library-card p {color: var(--text-secondary);font-size: var(--font-size-label);line-height: 1.3;}
.training-library-card dl {border-top: 1px solid var(--border);}
.training-library-card dt {font-size: var(--font-size-small);line-height: 1.1;text-transform: uppercase;}
.training-library-card dd {font-size: var(--font-size-label);line-height: 1.22;}
.library-card-footer {border-top: 1px solid var(--border);}
.library-quick-panel {box-shadow: var(--shadow-soft);}
.library-skeleton-image,
.library-skeleton-line {background: linear-gradient(90deg, var(--surface-muted), var(--border), var(--surface-muted));background-size: 220% 100%;}

@media (prefers-color-scheme: dark) {
:where(:root:not([data-theme="light"])) .library-card-select {background: color-mix(in srgb, var(--surface) 92%, var(--surface-muted));box-shadow: var(--shadow-soft);}
}
@media (prefers-color-scheme: dark) {
:where(:root:not([data-theme="light"])) .training-library-card:hover,
:where(:root:not([data-theme="light"])) .training-library-card:focus-within,
:where(:root:not([data-theme="light"])) .library-quick-context,
:where(:root:not([data-theme="light"])) .library-quick-panel {box-shadow: var(--shadow-soft);}
}
.training-detail-header p,
.training-detail-text {color: var(--text-secondary);font-weight: var(--font-weight-control);line-height: 1.55;}
.training-detail-panel {background: var(--surface-secondary);border: 1px solid var(--border);border-radius: var(--radius);}
.training-detail-panel h2 {color: var(--text);font-size: var(--font-size-body);font-weight: var(--font-weight-heading);}
.training-detail-panel dt {color: var(--text-muted);font-size: var(--font-size-label);font-weight: var(--font-weight-heading);}
.training-detail-panel dd {color: var(--text);font-weight: var(--font-weight-heading);}
.training-exercise-preview {background: var(--surface-secondary);border: 1px solid var(--border);border-radius: var(--radius-sm);}
.training-name-preview {color: var(--primary-hover);background: var(--primary-light);border: 1px solid var(--border);border-radius: var(--radius);font-weight: var(--font-weight-heading);}
.training-microcycle-day {background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius);}
.training-microcycle-day header {border-bottom: 1px solid var(--border);}
.training-microcycle-day header strong {color: var(--text);font-size: var(--font-size-control);font-weight: var(--font-weight-heading);}

@media (max-width: 575.98px) {
.page-heading h1,
.page-header h1 {font-size: var(--font-size-title);}
}
.library-favorite-toggle {border: 1px solid var(--border-color, var(--border));border-radius: .5rem;background: rgba(255, 255, 255, .92);color: var(--primary);}
.library-favorite-toggle.is-favorite {color: var(--warning);border-color: var(--warning);background: var(--surface-secondary);}
.exercise-folder-summary span {color: var(--text);font-size: var(--font-size-metric);font-weight: var(--font-weight-heading);line-height: 1;}
.exercise-folder-summary p {color: var(--text-secondary);font-size: var(--font-size-label);font-weight: var(--font-weight-heading);}
.exercise-folder-card {color: inherit;text-decoration: none;border: 1px solid var(--border-color);border-radius: var(--radius-lg);background: var(--surface);box-shadow: var(--shadow-soft);}
.exercise-folder-card:hover {color: inherit;border-color: color-mix(in srgb, var(--folder-accent) 42%, var(--border-color));box-shadow: var(--shadow-soft);}
.library-folder-context-menu {border: 1px solid var(--border-color);border-radius: var(--radius);background: var(--surface);box-shadow: var(--shadow-soft);}
.library-folder-context-menu button {border: 0;border-radius: var(--radius-sm);background: transparent;color: var(--text-primary);font-weight: var(--font-weight-heading);}
.library-folder-context-menu button:hover {background: var(--surface-secondary);}
.exercise-folder-cover {background: linear-gradient(135deg, color-mix(in srgb, var(--folder-accent) 12%, white), rgba(255, 255, 255, .7)),
        var(--surface-secondary);border-bottom: 1px solid var(--border-color);}
.exercise-folder-marker {border: 3px solid var(--surface);border-radius: 50%;background: var(--folder-accent);box-shadow: var(--shadow-soft);}
.exercise-folder-thumbs img {border: 1px solid rgba(15, 23, 42, .08);border-radius: var(--radius-sm);background: var(--surface);}
.exercise-folder-empty {color: var(--folder-accent);font-size: var(--font-size-metric);}
.exercise-folder-body h2 {color: var(--text);font-size: var(--font-size-section);font-weight: var(--font-weight-heading);letter-spacing: 0;}
.exercise-folder-body p {color: var(--text-secondary);font-size: var(--font-size-control);}
.exercise-folder-body dt {color: var(--text-muted);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);text-transform: uppercase;}
.exercise-folder-body dd {color: var(--text);font-size: var(--font-size-control);font-weight: var(--font-weight-heading);}
.match-state-scheduled {color: var(--primary-hover);background: var(--primary-light);}
.match-state-preparation {color: var(--warning);background: var(--warning-light);}
.preparation-overview progress {accent-color: var(--primary);}
.preparation-step {border: 1px solid var(--border);border-radius: var(--radius);background: var(--surface-muted);color: var(--text);}
.preparation-step small {color: var(--muted);}
.preparation-step.is-complete {border-color: rgba(22, 163, 74, .35);background: rgba(22, 163, 74, .08);}
.match-state-callup {color: var(--primary);background: var(--surface-secondary);}
.match-state-ready {color: var(--success);background: var(--success-light);}
.match-state-live {color: var(--danger);background: var(--danger-light);}
.match-state-halftime {color: var(--warning);background: var(--warning-light);}
.match-state-finished {color: var(--cyan);background: var(--surface-secondary);}
.match-state-analysis {color: var(--primary);background: var(--surface-secondary);}
.match-state-archived {color: var(--text-secondary);background: var(--surface-muted);}
.match-state-cancelled {color: var(--danger);background: var(--danger-light);}
.match-workflow li {border: 2px solid transparent;border-radius: var(--radius);}
.match-workflow .is-current {border-color: var(--primary-hover);background: var(--surface-secondary);}
.match-workflow .is-current::after {color: var(--text);font-size: .75rem;font-weight: var(--font-weight-control);}
.technical-staff-row {border: 1px solid var(--border);border-radius: var(--radius-sm);}
.technical-staff-row label {font-size: var(--font-size-small);}
.game-checklist-config-item {border: 1px solid var(--border);border-radius: var(--radius-sm);}
.game-checklist-config-item label {font-size: var(--font-size-label);}

@media (max-width: 767.98px) {
.players-table thead th {border: 0;}
}
@media (max-width: 767.98px) {
.players-table .player-row {border: 1px solid var(--border-color, var(--border));border-radius: var(--radius-lg);}
}
@media (max-width: 767.98px) {
.players-table .player-row td {border: 0;}
}
@media (max-width: 767.98px) {
.players-table td[data-label]:not(.player-actions-cell)::before {color: var(--text-muted);font-size: .75rem;}
}
.matches-table .match-icon-action i {font-size: 1rem;line-height: 1;}
.match-scoreboard {border: 1px solid var(--border);border-radius: var(--radius);background: var(--surface-muted);color: var(--text-secondary);box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%);}
.match-scoreboard strong {color: var(--text-secondary);font-size: var(--font-size-control);font-variant-numeric: tabular-nums;line-height: 1;}
.match-scoreboard span {color: var(--text-secondary);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);}

@media (max-width: 767.98px) {
.responsive-list-table tbody tr {border: 1px solid var(--border-color, var(--border));border-radius: var(--radius-lg);}
}
@media (max-width: 767.98px) {
.responsive-list-table .table tbody td {border: 0;}
}
@media (max-width: 767.98px) {
.responsive-list-table td[data-label]::before {color: var(--text-muted);font-size: .75rem;}
}
.dashboard-filter-help {font-size: var(--font-size-label);}
.dashboard-meta {color: var(--text-muted);font-size: var(--font-size-label);}
.dashboard-page h2 {font-size: var(--font-size-section);}
.dashboard-page h3 {font-size: var(--font-size-body);}
.dashboard-list li {border-bottom: 1px solid var(--border-color, var(--border));}
.dashboard-list li:last-child {border-bottom: 0;}
.dashboard-list a {font-weight: var(--font-weight-control);}
.dashboard-list span {color: var(--text-muted);font-size: var(--font-size-label);}
.dashboard-empty {color: var(--text-muted);}
.dashboard-results-summary dt {font-size: var(--font-size-label);font-weight: var(--font-weight-body);}
.dashboard-results-summary dd {font-size: var(--font-size-section);font-weight: var(--font-weight-heading);}
.calendar-command-bar {box-shadow: var(--shadow-soft);}
.calendar-command-label {color: var(--text-secondary);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);}
.calendar-command-bar .btn,
.calendar-command-bar .calendar-period-summary {font-size: var(--font-size-small);}
.calendar-period-summary {border-top: 1px solid var(--border);color: var(--text-secondary);font-weight: var(--font-weight-heading);}
.calendar-period-summary strong {color: var(--text);font-weight: var(--font-weight-heading);}
.calendar-quick {font-size: var(--font-size-label);}
.calendar-today {outline: 2px solid var(--primary);outline-offset: -2px;}
.calendar-outside {background: var(--surface-secondary);}
.calendar-month .training-day {border-radius: var(--radius);}
.calendar-month .training-day header span,
.calendar-month .calendar-quick {font-size: var(--font-size-small);}
.calendar-month .calendar-quick summary {color: var(--primary-hover);font-weight: var(--font-weight-heading);}
.calendar-month .calendar-quick[open] .calendar-actions {background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius);box-shadow: var(--shadow-soft);}
.calendar-month .training-calendar-item {border-radius: var(--radius-sm);}
.calendar-month .training-calendar-item span,
.calendar-month .training-calendar-item small {font-size: var(--font-size-small);}
.calendar-month .training-calendar-item strong {font-size: var(--font-size-small);line-height: 1.15;}
.calendar-month .training-calendar-item:hover,
.calendar-month .training-calendar-item:focus-within {background: var(--surface);border-color: var(--primary);box-shadow: var(--shadow-soft);}
.calendar-month .training-calendar-item:hover .calendar-actions,
.calendar-month .training-calendar-item:focus-within .calendar-actions {border-top: 1px solid var(--border);}
.calendar-month .calendar-more-events {color: var(--primary-hover);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);}
.calendar-month .calendar-current-week {border-top: 2px solid var(--primary);border-bottom: 2px solid var(--primary);background: color-mix(in srgb, var(--primary-light) 48%, var(--surface));}
.calendar-month .calendar-current-week-start {border-left: 2px solid var(--primary);}
.calendar-month .calendar-current-week-end {border-right: 2px solid var(--primary);}
.calendar-month .calendar-current-week.calendar-outside {background: color-mix(in srgb, var(--primary-light) 35%, var(--surface-secondary));}
.calendar-training {border-left: 4px solid var(--cyan);}
.calendar-game {border-left: 4px solid var(--purple);}
.training-calendar-item > a {color: inherit;}
.training-calendar-item .calendar-actions {font-size: var(--font-size-small);}
.calendar-conflict {background: var(--warning-light);color: var(--warning);border-radius: var(--radius);font-size: var(--font-size-small);}

@media (max-width: 767.98px) {
.calendar-page .page-heading h1 {font-size: var(--font-size-section);}
}
@media (max-width: 767.98px) {
.calendar-page .context-heading {font-size: var(--font-size-small);}
}
@media (max-width: 767.98px) {
.calendar-page .page-heading-actions .btn {font-size: 0;}
}
@media (max-width: 767.98px) {
.calendar-page .page-heading-actions .btn i {font-size: .82rem;}
}
@media (max-width: 767.98px) {
.calendar-page .calendar-controls .btn {font-size: var(--font-size-small);}
}
@media (max-width: 767.98px) {
.calendar-month .training-day {border-radius: var(--radius-sm);}
}
@media (max-width: 767.98px) {
.calendar-month .training-day header strong {font-size: var(--font-size-small);}
}
@media (max-width: 767.98px) {
.calendar-month .calendar-create-compact {background: var(--primary-light);border-radius: 50%;font-size: var(--font-size-small);}
}
@media (max-width: 767.98px) {
.calendar-month .calendar-event-count {color: var(--button-ink);background: var(--button-fill);border-radius: 50%;font-size: var(--font-size-small);font-weight: var(--font-weight-heading);}
}
.command-palette {border: 1px solid var(--border);border-radius: var(--radius-lg);box-shadow: var(--shadow-soft);}
.command-palette::backdrop {background: rgb(15 23 42 / 45%);}
.command-result {border-radius: .5rem;color: var(--primary);text-decoration: none;}
.command-result:hover,
.command-result:focus-visible {background: var(--surface-secondary);outline: 2px solid var(--primary);outline-offset: -2px;}
.dashboard-category-list > div {border-bottom: 1px solid var(--border);}
.dashboard-category-list dt {font-weight: var(--font-weight-body);}
.dashboard-category-list dd {font-weight: var(--font-weight-heading);}
.dashboard-week {border-bottom: 1px solid var(--border);}
.dashboard-week span {color: var(--text-muted);font-size: var(--font-size-label);}
.dashboard-bar-track {background: var(--surface-muted);border-radius: var(--radius-sm);}
.dashboard-bar {background: var(--primary);border-radius: var(--radius-sm);}
.dashboard-measurement {border: 1px solid var(--border);border-radius: var(--radius);}
.dashboard-measurement-chart {color: var(--primary);}
.dashboard-page details > summary {font-weight: var(--font-weight-control);}
.dashboard-live-controls {font-size: var(--font-size-label);color: var(--text-muted);}

@media (max-width: 767.98px) {
.page-heading:not(.compact) h1,
.page-header:not(.compact) h1 {font-size: var(--font-size-section);}
}
@media (max-width: 767.98px) {
.page-heading > :is(a.btn, button.btn):has(i),
.page-heading > :is(.page-heading-actions, .table-actions, .d-flex) .btn:has(i),
.page-header > :is(a.btn, button.btn):has(i),
.page-header > :is(.page-heading-actions, .table-actions, .d-flex) .btn:has(i) {font-size: 0;}
}
@media (max-width: 767.98px) {
.page-heading > :is(a.btn, button.btn):has(i) i,
.page-heading > :is(.page-heading-actions, .table-actions, .d-flex) .btn:has(i) i,
.page-header > :is(a.btn, button.btn):has(i) i,
.page-header > :is(.page-heading-actions, .table-actions, .d-flex) .btn:has(i) i {font-size: .82rem;}
}
.calendar-page .page-heading > .page-heading-actions .btn {font-size: var(--font-size-label);}
.calendar-page .page-heading > .page-heading-actions .btn:has(i) {font-size: .875rem;}
.calendar-page .page-heading > .page-heading-actions .btn i {font-size: 1rem;}
.library-advanced-filters,
.library-active-filters {border-top: 1px solid var(--border);}
.library-advanced-filters summary,
.library-active-filters summary,
.library-card-secondary summary {color: var(--primary-hover);font-weight: var(--font-weight-heading);}
.library-filter-count {color: var(--text-secondary);font-size: var(--font-size-small);}
.library-filter-chip {line-height: 1.35;}
.library-card-comparison dd {font-size: var(--font-size-body);}
.library-card-secondary {border-top: 1px solid var(--border);}
.merit-movement-notes summary {color: var(--primary);border-radius: var(--radius-sm);}
.merit-movement-notes summary:hover {background: var(--primary-light);}
.merit-movement-notes summary:focus-visible {outline: 2px solid var(--primary);outline-offset: 2px;}
.merit-movement-notes p {border-radius: var(--radius-sm);background: var(--surface-secondary);color: var(--text);font-size: var(--font-size-label);}
.matches-index-navigation {border-radius: var(--radius-lg);}
.matches-index-tab {border: 0;border-bottom: 3px solid transparent;background: transparent;color: var(--text-secondary);font: inherit;font-size: var(--font-size-control);font-weight: var(--font-weight-heading);}
.matches-index-tab.active {color: var(--primary);border-bottom-color: var(--primary);}
.matches-index-tab small {border-radius: var(--radius-sm);background: var(--surface-muted);color: var(--text-secondary);font-size: var(--font-size-small);line-height: 1.4;}
.matches-index-tab.active small {color: var(--primary);background: var(--primary-light);}
.matches-index-tab:focus-visible {outline: 2px solid var(--primary);outline-offset: -3px;border-radius: var(--radius-sm);}
.matches-index-content > .surface {border-radius: var(--radius-lg);}
.matches-index-panel-heading h2 {font-size: var(--font-size-section);font-weight: var(--font-weight-heading);}
.matches-index-panel-heading p {color: var(--text-secondary);font-size: var(--font-size-label);}
.matches-index-panel-heading .eyebrow {font-size: var(--font-size-small);letter-spacing: 0;color: var(--text-muted);}
.matches-countdown {border-radius: var(--radius-lg);color: var(--primary);background: var(--primary-light);font-size: var(--font-size-label);font-weight: var(--font-weight-heading);}
.matches-index .match-next-group .match-card {background: linear-gradient(110deg, var(--surface), var(--primary-light));}
.matches-index .match-next-group .match-card-identity h3 {font-size: var(--font-size-section);}

@media(max-width:700px) {
}
@media(max-width:700px) {
.matches-index-panel-heading h2 {font-size: var(--font-size-subsection);}
}
@media(max-width:700px) {
.matches-countdown,
.matches-index-tab {font-size: var(--font-size-small);}
}
.dashboard-workspace-heading h1 {font-size: clamp(1.4rem,2.4vw,1.85rem);letter-spacing: 0;}
.dashboard-workspace-heading .context-heading {color: var(--text-secondary);font-size: var(--font-size-label);}
.dashboard-workspace .dashboard-live-controls {font-size: var(--font-size-small);}
.dashboard-live-controls input {accent-color: var(--primary);}
.dashboard-toolbar {border-bottom: 1px solid var(--border);}
.dashboard-workspace .dashboard-filters label,
.dashboard-workspace .dashboard-filters :is(input,select,button),
.dashboard-workspace .dashboard-meta {font-size: var(--font-size-small);}
.dashboard-workspace .dashboard-kpi {border: 1px solid var(--border);border-radius: var(--radius-lg);box-shadow: none;}
.dashboard-kpi > .dashboard-kpi-icon {border-radius: var(--radius-lg);background: var(--primary-light);color: var(--primary);font-size: 1.5rem;}
.dashboard-workspace .dashboard-kpi p {font-size: var(--font-size-small);font-weight: var(--font-weight-body);line-height: 1.35;}
.dashboard-workspace .dashboard-kpi strong {font-size: var(--font-size-metric);line-height: 1.2;font-weight: var(--font-weight-heading);font-variant-numeric: tabular-nums;}
.dashboard-kpi strong small {font-size: var(--font-size-small);font-weight: var(--font-weight-body);}
.dashboard-workspace .dashboard-kpi span {font-size: var(--font-size-small);line-height: 1.4;}
.dashboard-workspace .dashboard-kpi .dashboard-detail {font-size: var(--font-size-small);}
.dashboard-workspace .dashboard-panel {border: 1px solid var(--border);border-radius: var(--radius-lg);box-shadow: none;}
.dashboard-workspace .dashboard-panel-heading h2 {font-size: var(--font-size-control);font-weight: var(--font-weight-heading);letter-spacing: 0;line-height: 1.4;}
.dashboard-panel-heading h2 i {color: var(--primary);}
.dashboard-panel-heading > a {font-size: var(--font-size-small);}
.dashboard-panel p {font-size: var(--font-size-small);line-height: 1.5;}
.dashboard-panel :is(h3,summary) {font-size: var(--font-size-small);}
.dashboard-compact-list li {border-bottom: 1px solid var(--border);}
.dashboard-compact-list li:last-child {border-bottom: 0;}
.dashboard-compact-list a {font-size: var(--font-size-small);color: var(--text);text-decoration: none;}
.dashboard-compact-list a:hover {background: var(--surface-secondary);color: var(--primary);}
.dashboard-compact-list a > :last-child.bi {color: var(--primary);font-size: var(--font-size-small);}
.dashboard-event-date {border-radius: var(--radius-sm);background: var(--primary-light);color: var(--text);font-size: var(--font-size-small);}
.dashboard-event-date > i {font-size: 1.15rem;color: var(--primary);}
.dashboard-event-body strong {font-size: var(--font-size-small);line-height: 1.45;}
.dashboard-event-meta {font-size: var(--font-size-small);color: var(--text-secondary);}
.dashboard-result-score {font-size: var(--font-size-body);}
.dashboard-status {border: 1px solid var(--border);border-radius: var(--radius-sm);background: var(--surface-secondary);color: var(--text-secondary);font-size: var(--font-size-small);font-weight: var(--font-weight-control);line-height: 1.5;}
.dashboard-status.is-win {color: var(--success);}
.dashboard-status.is-loss {color: var(--danger);}
.dashboard-balance > div:last-child {border-top: 1px solid var(--border);}
.dashboard-balance dt {font-size: var(--font-size-small);color: var(--text-secondary);}
.dashboard-balance dd {font-size: var(--font-size-metric);font-variant-numeric: tabular-nums;}
.dashboard-balance > div:first-child dd {color: var(--success);}
.dashboard-balance > div:nth-child(3) dd {color: var(--danger);}
.dashboard-coach-pill {background: var(--primary-light);color: var(--text);border-radius: var(--radius-sm);font-size: var(--font-size-small);}
.dashboard-detail,
.dashboard-workspace .dashboard-methodology {font-size: var(--font-size-small);}
.dashboard-workspace .dashboard-contracts {box-shadow: none;}
.dashboard-workspace .dashboard-contracts dl {font-size: var(--font-size-small);}
.dashboard-section-note {color: var(--text-secondary);font-size: var(--font-size-small);}
.dashboard-category-list dt,
.dashboard-category-list dd {font-size: var(--font-size-small);}
.dashboard-comparison-grid > div {background: var(--surface-secondary);border-radius: var(--radius-sm);}
.dashboard-comparison-value {color: var(--primary);font-size: var(--font-size-metric);}
.dashboard-comparison-grid span,
.dashboard-week-column,
.dashboard-week-column > strong {font-size: var(--font-size-small);}
.dashboard-week-column > strong span {font-size: var(--font-size-small);font-weight: var(--font-weight-body);}
.dashboard-week-column > small {font-size: var(--font-size-small);color: var(--text-secondary);}
.dashboard-week-plot {border-bottom: 1px solid var(--border);background: repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),var(--border) calc(25% - 1px),var(--border) 25%);}
.dashboard-week-fill {background: var(--primary);border-radius: 4px 4px 0 0;}
.dashboard-workspace .dashboard-usage,
.dashboard-quality {font-size: var(--font-size-small);}
.dashboard-player-avatar {border-radius: 50%;background: var(--primary-light);color: var(--primary);font-weight: var(--font-weight-heading);}
.dashboard-compact-list small {color: var(--text-secondary);}
.dashboard-player-games a > span:nth-child(3),
.dashboard-merit-link {font-size: var(--font-size-small);}
.dashboard-merit-link span {color: var(--text-secondary);font-size: var(--font-size-small);}
.dashboard-workspace a:focus-visible,
.dashboard-workspace summary:focus-visible,
.dashboard-week-chart:focus-visible {outline: 2px solid var(--primary);outline-offset: 3px;}

@media screen and (max-width:767.98px) {
.dashboard-kpi > .dashboard-kpi-icon {font-size: 1.15rem;}
}
@media screen and (max-width:767.98px) {
.dashboard-workspace .dashboard-kpi p,
.dashboard-workspace .dashboard-kpi span {font-size: var(--font-size-small);}
}
@media screen and (max-width:767.98px) {
.dashboard-usage-responsive tr {border-bottom: 1px solid var(--border);}
}
@media screen and (max-width:767.98px) {
.dashboard-usage-responsive :is(th,td) {border: 0;background: transparent;}
}
@media screen and (max-width:767.98px) {
.dashboard-usage-responsive td::before {font-size: .65rem;color: var(--text-secondary);}
}
.squad-counts span,
.squad-filter-actions small {color: var(--text-muted);}
.squad-player-name {color: var(--text-primary, var(--text));text-decoration: none;}
.squad-player-name:hover,
.squad-player-name:focus-visible {text-decoration: underline;}
.squad-summary-grid article > strong {font-size: var(--font-size-section);}
.squad-summary-grid article > span,
.squad-summary-grid small {color: var(--text-muted);}
.squad-history > summary {font-weight: var(--font-weight-control);font-size: var(--font-size-subsection);}
.availability-pill {border: 1px solid currentColor;border-radius: var(--radius-pill);font-weight: var(--font-weight-heading);font-size: var(--font-size-label);}
.availability-ready {color: var(--success);background: var(--surface-secondary);}
.availability-limited {color: var(--warning);background: var(--surface-secondary);}
.availability-atrisk {color: var(--danger);background: var(--surface-secondary);}
.availability-unavailable {color: var(--danger);background: var(--surface);}
.availability-nodata {color: var(--text);background: var(--surface);}
.availability-reason {color: var(--text-muted);font-size: var(--font-size-small);}
.availability-summary a {text-decoration: none;}
.availability-summary a[aria-current="true"] {outline: 2px solid currentColor;outline-offset: 2px;}
.availability-source {font-size: var(--font-size-small);}
.availability-context,
.availability-filters > summary,
.availability-help > summary {font-weight: var(--font-weight-control);}
.statistics-eyebrow {color: var(--primary);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);letter-spacing: 0;text-transform: uppercase;}
.statistics-heading h1 {font-size: var(--font-size-title);font-weight: var(--font-weight-heading);letter-spacing: 0;}
.statistics-heading p {color: var(--text-muted);font-size: var(--font-size-small);}

.statistics-card-heading p {color: var(--text-muted);}
.statistics-heading .btn {font-size: var(--font-size-small);}
.statistics-filter-panel,
.statistics-table-card,
.statistics-details {background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius-lg);}
.statistics-filters label {color: var(--text-muted);font-size: var(--font-size-small);font-weight: var(--font-weight-control);}
.statistics-filters input,
.statistics-filters select {border: 1px solid var(--border);border-radius: var(--radius);background: var(--surface-secondary);color: var(--text);font-size: var(--font-size-small);}
.statistics-filters .btn {font-size: var(--font-size-small);}
.statistics-filter-footer {color: var(--text-muted);font-size: var(--font-size-small);}
.statistics-filter-footer input {accent-color: var(--primary);}
.statistics-kpis article {border: 1px solid var(--border);border-radius: var(--radius-lg);background: var(--surface);}
.kpi-icon {border-radius: var(--radius-lg);color: var(--primary);background: var(--primary-light);font-size: 18px;}
.statistics-kpis strong {font-size: var(--font-size-metric);line-height: 1.1;letter-spacing: 0;font-variant-numeric: tabular-nums;}
.statistics-kpis strong small {font-size: var(--font-size-small);font-weight: var(--font-weight-body);letter-spacing: 0;}
.statistics-kpis div>span {color: var(--text-muted);font-size: var(--font-size-small);}
.statistics-card-heading h2 {font-size: var(--font-size-body);font-weight: var(--font-weight-heading);}
.statistics-card-heading p {font-size: var(--font-size-small);}
.statistics-pill {border-radius: var(--radius-lg);font-size: var(--font-size-small);background: var(--primary-light);color: var(--primary);}
.squad-table {border-collapse: collapse;font-size: var(--font-size-small);color: var(--text);font-variant-numeric: tabular-nums;}
.squad-table th,
.squad-table td {border-bottom: 1px solid var(--border);}
.squad-table thead th {background: var(--surface-secondary);color: var(--text-muted);font-size: var(--font-size-small);font-weight: var(--font-weight-control);}
.squad-table thead button {border: 0;background: transparent;color: inherit;font: inherit;}
.squad-table thead th[aria-sort] {color: var(--primary);background: var(--primary-light);}
.sort-indicator {font-size: var(--font-size-small);}
.squad-table .player-cell {font-weight: var(--font-weight-control);}
.squad-table .player-cell a {color: var(--text);}
.squad-table .number-cell,
.squad-table .position-cell {color: var(--text-muted);font-size: var(--font-size-small);}
.statistics-table-card .squad-table .number-cell,
.statistics-table-card .squad-table .player-cell {background: var(--surface);}
.statistics-table-card .squad-table .player-cell {box-shadow: var(--shadow-soft);}
.squad-table .minutes-cell {background: var(--primary-light);color: var(--primary);font-weight: var(--font-weight-heading);}
.squad-table .denominator {color: var(--text-muted);font-size: var(--font-size-small);font-weight: var(--font-weight-body);}
.training-value {font-weight: var(--font-weight-control);}
.squad-table sup {color: var(--warning);}
.squad-table tbody tr:hover {background: var(--surface-secondary);}
.player-tag {color: var(--text-muted);font-size: var(--font-size-small);font-weight: var(--font-weight-body);}
.statistics-legend {font-size: var(--font-size-small);color: var(--text-muted);background: var(--surface-secondary);}
.statistics-legend strong {color: var(--text);}
.statistics-details summary {font-size: var(--font-size-small);font-weight: var(--font-weight-control);}
.statistics-notice {font-size: var(--font-size-small);color: var(--text-muted);line-height: 1.6;}
.statistics-overview {border: 1px solid var(--border);border-radius: var(--radius-lg);background: linear-gradient(120deg,var(--surface),var(--primary-light));}
.statistics-overview h2 {font-size: var(--font-size-metric);font-weight: var(--font-weight-heading);letter-spacing: 0;}
.statistics-overview p {font-size: var(--font-size-small);line-height: 1.7;color: var(--text-muted);}
.statistics-overview .btn {font-size: var(--font-size-small);}
.overview-facts>div {border-bottom: 1px solid var(--border);}
.overview-facts strong {font-size: var(--font-size-metric);color: var(--primary);}
.overview-facts span {font-size: var(--font-size-small);color: var(--text-muted);}

@media(max-width:550px) {
.statistics-heading h1 {font-size: var(--font-size-title);}
}
@media(max-width:550px) {
.statistics-heading p {font-size: var(--font-size-small);}
}
@media(max-width:550px) {
.kpi-icon {font-size: 15px;}
}
@media(max-width:550px) {
.statistics-kpis strong {font-size: var(--font-size-metric);}
}
@media(max-width:550px) {
.statistics-kpis div>span {font-size: var(--font-size-small);}
}
.attendance-month-navigation .btn {font-size: var(--font-size-label);}
.attendance-period-title {color: var(--text);font-size: var(--font-size-label);font-weight: var(--font-weight-heading);letter-spacing: 0;}
.attendance-current-month span {font-size: var(--font-size-small);}
.attendance-current-month[aria-current="date"] {color: var(--primary-hover);background: var(--primary-light);}
.attendance-period-form .btn {font-size: var(--font-size-label);}
.attendance-period-form .input-icon i {font-size: .82rem;}
.attendance-summary {color: var(--text-secondary);font-size: var(--font-size-small);}
.attendance-summary strong {color: var(--text);}
.attendance-grid-intro {border-bottom: 1px solid var(--border);}
.attendance-grid-intro h2 {font-size: var(--font-size-label);line-height: 1.1;}
.attendance-grid-intro h2 em {color: var(--text-muted);font-size: var(--font-size-small);font-weight: var(--font-weight-control);}
.attendance-legend {color: var(--text-secondary);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);line-height: 1;}
.attendance-legend-icon {font-size: .74rem;}
.attendance-legend-icon.is-present {color: var(--success);}
.attendance-legend-icon.is-absent {color: var(--danger);}
.attendance-legend-icon.is-limited {color: var(--warning);}
.attendance-legend-icon.is-injury {color: var(--purple);}
.attendance-legend-icon.is-recovery {color: var(--cyan);}
.attendance-legend-icon.is-called {color: var(--primary);}
.attendance-legend-icon.is-empty {color: var(--text-muted);}
.attendance-grid-scroll {scrollbar-color: var(--border-strong) transparent;}
.attendance-grid {border-collapse: separate;border-spacing: 0;}
.attendance-grid th,
.attendance-grid td {border-right: 1px solid var(--border);border-bottom: 1px solid var(--border);background: var(--surface);}
.attendance-grid thead th {background: var(--surface-secondary);}
.attendance-grid .attendance-player-column {border-right: 1px solid var(--border-strong);box-shadow: var(--shadow-soft);}
.attendance-grid thead .attendance-player-column small {color: var(--text-muted);font-size: var(--font-size-small);font-weight: var(--font-weight-control);}
.attendance-grid tbody tr:last-child th,
.attendance-grid tbody tr:last-child td {border-bottom: 0;}
.attendance-grid tbody tr:hover td,
.attendance-grid tbody tr:hover .attendance-player-column {background: var(--surface);}
.attendance-grid time span {color: var(--text-muted);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);}
.attendance-grid time strong {color: var(--text);font-size: var(--font-size-small);line-height: 1;}
.attendance-day-events a {color: var(--text-secondary);background: var(--surface-muted);border-radius: 50%;font-size: var(--font-size-small);font-weight: var(--font-weight-heading);}
.attendance-day-events a:hover {color: var(--primary-hover);}
.attendance-player {color: var(--text);}
.attendance-player:hover strong {color: var(--primary-hover);}
.attendance-player-photo {color: var(--primary);background: var(--primary-light);border: 1px solid var(--border);border-radius: 50%;}
.attendance-player-identity strong {font-size: var(--font-size-small);}
.attendance-player-identity small {color: var(--text-muted);font-size: var(--font-size-small);font-weight: var(--font-weight-control);}
.attendance-state {border: 1px solid transparent;border-radius: var(--radius-sm);font-size: var(--font-size-small);font-weight: var(--font-weight-heading);line-height: 1.15;}
.attendance-state.is-present {color: var(--success);background: var(--success-light);border-color: var(--border);}
.attendance-state.is-absent {color: var(--danger);background: var(--danger-light);border-color: var(--border);}
.attendance-state.is-injury {color: var(--purple);background: var(--surface-secondary);border-color: var(--border);}
.attendance-state.is-limited {color: var(--warning);background: var(--warning-light);border-color: var(--warning);}
.attendance-state.is-recovery {color: var(--cyan);background: var(--surface-secondary);border-color: var(--border);}
.attendance-state.is-called {color: var(--primary-hover);background: var(--primary-light);border-color: var(--border);}
.attendance-state.is-empty {color: var(--text-muted);background: var(--surface-muted);border-color: var(--border);font-weight: var(--font-weight-control);}
.attendance-minutes {color: var(--text-secondary);background: var(--surface-muted);border: 1px solid var(--border);border-radius: var(--radius-sm);font-size: var(--font-size-small);line-height: 1;}
.attendance-minutes small {font-size: var(--font-size-small);font-weight: var(--font-weight-heading);}
.attendance-grid .attendance-total-column {background: var(--surface-secondary);border-right: 0;border-left: 1px solid var(--border-strong);box-shadow: var(--shadow-soft);}
.attendance-grid .attendance-total-column > strong {font-size: var(--font-size-small);}
.attendance-grid .attendance-total-column > small {color: var(--text-muted);font-size: var(--font-size-small);}
.attendance-total {border: 1px solid transparent;border-radius: var(--radius-sm);line-height: 1.05;}
.attendance-total strong {font-size: var(--font-size-small);}
.attendance-total small {font-size: var(--font-size-small);font-weight: var(--font-weight-heading);}
.attendance-total.is-red {color: var(--danger);background: var(--surface-secondary);border-color: var(--border);}
.attendance-total.is-orange {color: var(--warning);background: var(--surface-secondary);border-color: var(--border);}
.attendance-total.is-yellow {color: var(--warning);background: var(--warning-light);border-color: var(--warning);}
.attendance-total.is-green {color: var(--success);background: var(--success-light);border-color: var(--border);}

@media (max-width: 575.98px), (max-width: 991.98px) and (max-height: 575.98px) {
.attendance-grid .attendance-total-column {box-shadow: none;}
}
.training-session-details {color: var(--text);}
.training-session-details .player-profile-title h1 {font-size: clamp(1.15rem,2vw,1.6rem);line-height: 1.25;}
.training-session-details .player-profile-title>.eyebrow {font-size: var(--font-size-small);}
.training-detail-meta p {color: var(--text-secondary);font-size: var(--font-size-small);}
.training-detail-meta .status-pill {font-size: var(--font-size-small);}
.training-session-details .training-detail-kpis>span {border: 1px solid var(--border);border-radius: var(--radius-lg);background: var(--surface);}
.training-session-details .training-detail-kpis strong {font-size: var(--font-size-body);}
.training-session-details .training-detail-kpis small {font-size: var(--font-size-small);}
.training-session-details .training-detail-layout>.player-info-card {border-radius: var(--radius-lg);box-shadow: var(--shadow-soft);}
.training-session-details .training-detail-layout h2 {font-size: var(--font-size-body);font-weight: var(--font-weight-heading);}
.training-session-details .training-detail-info-grid>div {background: transparent;border: 0;border-right: 1px solid var(--border);border-radius: 0;}
.training-session-details .training-detail-info-grid>div:last-child {border-right: 0;}
.training-session-details .training-detail-info-grid span,
.training-session-details .training-detail-objectives span {font-size: var(--font-size-small);font-weight: var(--font-weight-body);}
.training-session-details .training-detail-info-grid strong,
.training-session-details .training-detail-objectives strong {font-size: var(--font-size-label);font-weight: var(--font-weight-body);line-height: 1.5;}
.training-session-details .training-detail-objectives>div {background: var(--surface-secondary);border-color: transparent;border-radius: var(--radius-sm);}
.training-session-details .training-detail-exercise-list article {border: 0;border-bottom: 1px solid var(--border);border-radius: 0;background: transparent;}
.training-session-details .training-detail-exercise-list article:last-child {border-bottom: 0;}
.training-session-details .training-detail-exercise-order {border-radius: 50%;font-size: var(--font-size-small);}
.training-session-details .training-detail-exercise-main>strong {font-size: var(--font-size-label);font-weight: var(--font-weight-control);}
.training-session-details .training-detail-exercise-main>span,
.training-session-details .training-detail-exercise-main>p {font-size: var(--font-size-small);font-weight: var(--font-weight-body);line-height: 1.45;}
.training-session-details .training-detail-exercise-main details {border-radius: var(--radius-sm);background: var(--surface-secondary);font-size: var(--font-size-small);}
.training-session-details .training-detail-exercise-main summary {color: var(--primary-strong);}
.training-session-details .training-detail-exercise-main form {border: 1px solid var(--border);border-radius: var(--radius-sm);}
.training-session-details .training-detail-exercise-main form label {font-size: var(--font-size-small);}
.training-session-details .training-detail-exercise-meta span {font-size: var(--font-size-small);border-radius: var(--radius-sm);background: var(--primary-light);color: var(--primary-strong);}
.training-session-details .training-detail-player-table {font-size: var(--font-size-small);}
.training-session-details .training-detail-player-table th {background: var(--surface-muted);text-transform: none;font-weight: var(--font-weight-control);font-size: var(--font-size-small);}
.training-session-details .training-detail-player-table td:nth-child(2)>strong {font-weight: var(--font-weight-control);}
.training-session-details .training-detail-player-table td:nth-child(2)>span {font-size: var(--font-size-small);font-weight: var(--font-weight-body);}

@media(max-width:767.98px) {
.training-session-details .training-detail-info-grid>div {border: 0;}
}
@media(max-width:767.98px) {
.training-session-details .training-detail-actions {background: var(--surface);border: 1px solid var(--border);border-bottom: 0;border-radius: 10px 10px 0 0;box-shadow: var(--shadow-soft);}
}
.opponent-logo-editor {border: 1px solid var(--border);border-radius: var(--radius-lg);background: var(--surface-secondary);}
.opponent-logo-preview i {font-size: 2.5rem;color: var(--text-muted);}
.opponent-field-map {border: 1px solid var(--border);border-radius: var(--radius-lg);}
.opponent-stadium-marker {background: var(--primary);border: 3px solid white;border-radius: 50%;box-shadow: var(--shadow-soft);}
.club-breadcrumb {color: var(--text-secondary);font-size: var(--font-size-label);}
.club-breadcrumb a {color: var(--text-secondary);font-weight: var(--font-weight-control);}
.club-breadcrumb a:hover {color: var(--primary);}
.club-profile {background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius-lg);box-shadow: var(--shadow-soft);}
.club-color-ribbon span:first-child {background: var(--club-primary);}
.club-color-ribbon span:last-child {background: var(--club-secondary);}
.club-avatar {background: var(--surface-secondary);border: 1px solid var(--border);border-radius: var(--radius-lg);font-size: var(--font-size-metric);font-weight: var(--font-weight-heading);color: var(--text-secondary);}
.club-profile-copy .eyebrow {font-size: var(--font-size-small);letter-spacing: 0;color: var(--text-secondary);}
.club-profile-copy h1 {font-size: clamp(1.4rem, 2.1vw, 2rem);line-height: 1.2;letter-spacing: 0;}
.club-profile-copy > p:last-child {color: var(--text-secondary);font-size: var(--font-size-label);}
.club-status {font-size: var(--font-size-small);color: var(--text-secondary);background: var(--surface-muted);border-radius: var(--radius-lg);}
.club-status > span {border-radius: 50%;background: currentColor;}
.club-status.is-active {background: var(--surface-secondary);color: var(--success);}
.club-brand-dots > span {border-radius: 50%;border: 1px solid rgba(15,23,42,.14);}
.club-brand-dots > span:first-child {background: var(--club-primary);}
.club-brand-dots > span:nth-child(2) {background: var(--club-secondary);}
.club-brand-dots small {color: var(--text-secondary);font-size: var(--font-size-small);}
.club-required {color: var(--primary);}
.club-logo-stage > div {font-size: var(--font-size-small);color: var(--text-secondary);}
.club-logo-stage i {font-size: 2.5rem;color: var(--primary);}
.club-remove-logo {font-size: var(--font-size-small);color: var(--text-secondary);}
.club-logo-address {border-top: 1px solid var(--border);font-size: var(--font-size-small);}
.club-logo-address summary {color: var(--primary);font-weight: var(--font-weight-control);}
.club-color-control .form-control {font-family: var(--font-family-code);text-transform: uppercase;letter-spacing: 0;}
.club-palette-preview {border: 1px solid var(--border);border-radius: var(--radius);}
.club-palette-preview span:first-child {background: var(--club-primary);}
.club-palette-preview span:last-child {background: var(--club-secondary);}
.club-rules-toolbar {font-size: var(--font-size-small);color: var(--text-secondary);}
.club-rule-group {border: 1px solid var(--border);border-radius: var(--radius);}
.club-rule-group summary {font-size: var(--font-size-small);font-weight: var(--font-weight-control);background: var(--surface);}
.club-rule-group summary > i:first-child {color: var(--primary);}
.club-rule-group summary > i:last-child {font-size: .7rem;color: var(--text-secondary);}
.club-rule-count {font-size: var(--font-size-small);font-weight: var(--font-weight-control);color: var(--text-secondary);}

@media (max-width:575px) {
.club-avatar {border-radius: var(--radius-lg);}
}
.ft-notifications {font-family: var(--font-family);}
.ft-notification {border: 1px solid var(--border);border-radius: var(--radius-lg, 12px);background: var(--surface);color: var(--text);box-shadow: var(--shadow-soft);}
.ft-notification__icon {border-radius: var(--radius-lg);background: var(--ft-soft);color: var(--ft-accent);font-size: 22px;font-weight: var(--font-weight-heading);}
.ft-notification__action {border: 0;background: none;color: var(--primary);font: inherit;font-size: var(--font-size-label);font-weight: var(--font-weight-control);text-decoration: underline;}
.ft-notification__action:focus-visible {outline: 3px solid var(--primary-strong, var(--primary));outline-offset: 2px;}
.ft-notification__title {font-size: var(--font-size-control);font-weight: var(--font-weight-heading);line-height: 1.4;}
.ft-notification__message {font-size: var(--font-size-label);line-height: 1.45;color: var(--text-secondary, var(--text));}
.ft-notification__close {border: 0;border-radius: var(--radius);background: transparent;color: var(--text-secondary, var(--text));font: inherit;font-size: var(--font-size-metric);line-height: 1;}
.ft-notification__close:hover {background: var(--surface-muted, var(--surface-secondary));color: var(--text);}
.ft-notification__close:focus-visible {outline: 3px solid var(--primary-strong, var(--primary));outline-offset: 2px;}
.ft-notification__progress {border-radius: 0 0 12px 12px;background: var(--ft-soft);}
.ft-notification__progress-fill {background: var(--ft-accent);}
.ft-notifications__announcement {border: 0;}


/* mobile-usability.css — migrated appearance, token based. */
@media screen and (max-width: 1199.98px), screen and (any-pointer: coarse) {
.app-shell .library-quick-actions button {font-size: var(--font-size-label);}
}
@media screen and (max-width: 1199.98px), screen and (any-pointer: coarse) {
.app-shell .training-session-row :is(strong, .training-session-number a),
.app-shell .squad-player-name,
.app-shell .player-cell strong,
.app-shell .training-detail-exercise-main strong,
.app-shell .training-detail-player-table strong,
.app-shell .training-detail-info-grid strong,
.app-shell .training-detail-objectives strong,
.app-shell .library-preview-title,
.app-shell .calendar-month .training-calendar-item strong {font-size: var(--font-size-body) !important;line-height: 1.4;}
}
@media screen and (max-width: 1199.98px), screen and (any-pointer: coarse) {
.app-shell .training-session-row-primary > div > span,
.app-shell .training-session-row-secondary > div > span,
.app-shell .training-session-completed,
.app-shell .training-detail-info-grid span,
.app-shell .training-detail-objectives span,
.app-shell .training-detail-exercise-meta span,
.app-shell .training-detail-exercise-main :is(span, p),
.app-shell .training-detail-player-table span,
.app-shell .training-library-card :is(p, dt, dd),
.app-shell .calendar-period-summary,
.app-shell .calendar-month .training-day header,
.app-shell .calendar-month .training-day header span,
.app-shell .calendar-month .training-calendar-item :is(span, small),
.app-shell .calendar-month .calendar-quick {font-size: var(--font-size-label) !important;line-height: 1.4;}
}
@media screen and (max-width: 1199.98px), screen and (any-pointer: coarse) {
.app-shell .training-library-card > .library-card-comparison dd {font-size: var(--font-size-body) !important;}
}
@media screen and (max-width: 1199.98px), screen and (any-pointer: coarse) {
.app-shell .table {font-size: var(--font-size-body);}
}
@media screen and (max-width: 1199.98px), screen and (any-pointer: coarse) {
.app-shell .table th {font-size: var(--font-size-label);}
}
@media screen and (max-width: 1199.98px), screen and (any-pointer: coarse) {
.app-shell .attendance-player-identity strong {font-size: var(--font-size-body);}
}
@media screen and (max-width: 1199.98px), screen and (any-pointer: coarse) {
.app-shell .attendance-player-identity small {font-size: var(--font-size-label);}
}
@media screen and (max-width: 1199.98px), screen and (any-pointer: coarse) {
.app-shell .attendance-player-identity :is(strong, small) {line-height: 1.4;}
}
@media screen and (max-width: 1199.98px), screen and (any-pointer: coarse) {
.app-shell :is(.attendance-state, .attendance-minutes, .attendance-day-events a) {font-size: var(--font-size-body);line-height: 1.4;}
}
@media screen and (max-width: 1199.98px), screen and (any-pointer: coarse) {
.app-shell .attendance-state i {font-size: 1rem;}
}
@media screen and (max-width: 1199.98px), screen and (any-pointer: coarse) {
.app-shell .attendance-grid time :is(span, strong),
.app-shell .attendance-grid thead .attendance-player-column small,
.app-shell .attendance-total :is(strong, small),
.app-shell .attendance-grid .attendance-total-column > :is(strong, small),
.app-shell .attendance-period-title,
.app-shell .attendance-summary,
.app-shell .attendance-legend,
.app-shell .attendance-grid-intro :is(h2, em) {font-size: var(--font-size-label);line-height: 1.4;}
}
.ft-notification {--ft-accent: var(--primary);--ft-soft: var(--primary-light);}
.ft-notification--success {--ft-accent: var(--success);--ft-soft: var(--success-light);}
.ft-notification--warning {--ft-accent: var(--warning);--ft-soft: var(--warning-light);}
.ft-notification--error {--ft-accent: var(--danger);--ft-soft: var(--danger-light);}
.attendance-filter-action .btn {padding: 5px 11px;}
.attendance-period-form .form-control {padding-top: 5px;padding-bottom: 5px;}
.attendance-period-form .form-select {padding-top: 5px;padding-bottom: 5px;}
.attendance-month-navigation .btn {padding: 5px 0;}
.dashboard-live-controls input {height: 16px;}


@media screen and (max-width: 1199.98px), screen and (any-pointer: coarse) {
.app-shell .library-quick-actions button {padding: 8px;}
}
.calendar-page .page-heading > .page-heading-actions .btn:has(i) {padding: 8px 12px;}
.calendar-page .page-heading > .page-heading-actions .btn {padding: 8px 12px;padding: 4px 9px;}


@media (max-width: 767.98px) {
.page-header > :is(.page-heading-actions, .table-actions, .d-flex) .btn:has(i) {padding: 4px;}
}

@media (max-width: 767.98px) {
.page-header > :is(a.btn, button.btn):has(i) {min-height: 32px;padding: 4px;}
}

@media (max-width: 767.98px) {
.page-heading > :is(.page-heading-actions, .table-actions, .d-flex) .btn:has(i) {padding: 4px;}
}

@media (max-width: 767.98px) {
.page-heading > :is(a.btn, button.btn):has(i) {min-height: 32px;padding: 4px;}
}

@media (max-width: 767.98px) {
.calendar-page .calendar-controls .form-control {padding: 3px 6px;}
}

@media (max-width: 767.98px) {
.calendar-page .calendar-controls .btn {padding: 3px 6px;}
}

@media (max-width: 767.98px) {
.calendar-page .page-heading-actions .btn {padding: 4px;}
}
.calendar-jump-form .form-control {padding: 3px 6px;}
.calendar-command-bar .btn {padding: 3px 7px;}
.matches-table .match-quick-actions .btn {padding: 0;}
.library-folder-context-menu button {padding: .55rem .65rem;}
.library-navigation .btn {padding: .42rem .68rem;}
.training-session-completed .btn-icon {padding: 3px;}
.training-session-completion .btn {padding: 3px 6px;}
.training-session-actions .training-session-action-tooltip .btn-icon {padding: 3px;}
.training-session-actions .btn {padding: 5px 8px;}
.session-card .btn-icon {padding: 0;}


@media (pointer: coarse) {
.library-quick-actions button {min-height: 44px;}
}
.library-quick-actions button {min-height: 36px;padding: 6px;}
.training-player-attendance-table .form-check-input {height: 1rem;}
.training-player-attendance-table .form-select {padding: 4px 7px;}
.training-player-attendance-table .form-control {padding: 4px 7px;}
.training-player-bulk .btn {padding: 3px 8px;}
.training-detail-header .player-profile-actions .btn {padding-top: 5px;padding-bottom: 5px;}
.training-notes-area textarea {min-height: 118px;}
.training-session-objectives textarea[name="Notes"] {max-height: 64px;}
.training-session-filter-action .btn {padding: 5px 11px;}
.squad-table thead button {padding: 11px 7px;min-height: 36px;}
.statistics-filters .btn {padding: 6px 16px;}
.statistics-filters input {padding: 8px 9px;height: 36px;}
.statistics-filters select {padding: 8px 9px;height: 36px;}
.statistics-tabs button {padding: 14px 0 11px;}
