/*
 * Kelen SC Edzeskozpont tema
 * A tema az eredeti komponensek utan toltodik be, igy minden modul ugyanazt
 * a vilagos, nagy kontrasztu vizualis rendszert kapja.
 */

:root {
  color-scheme: light;
  --navy-950: #061427;
  --navy-900: #081d35;
  --navy-800: #0d2a49;
  --navy-700: #173b60;
  --green: #13a36f;
  --green-dark: #0b7c54;
  --green-deep: #07583d;
  --mint: #def7ed;
  --green-soft: #def7ed;
  --blue: #2c72e8;
  --blue-soft: #e8f0ff;
  --purple: #7557d9;
  --gold: #f5b942;
  --gold-soft: #fff4d8;
  --danger: #db4b59;
  --danger-bg: #fde9eb;
  --red: #db4b59;
  --red-soft: #fde9eb;
  --ink: #122337;
  --muted: #596c80;
  --line: #dfe6ed;
  --paper: #f3f6f8;
  --canvas: #f3f6f8;
  --panel: #ffffff;
  --surface: #ffffff;
  --white: #ffffff;
  --club-surface: #f8fafc;
  --radius: 18px;
  --radius-control: 10px;
  --shadow: 0 12px 35px rgba(13, 42, 73, 0.08);
  --soft-shadow: 0 7px 22px rgba(13, 42, 73, 0.07);
  --green-ring: rgba(19, 163, 111, 0.18);
}

/* Technikai vezeto: kontrasztos, vilagos allapotkartyak */
#leadershipPanel .technical-leadership-card,
#leadershipPanel .technical-feedback-card,
#leadershipPanel .technical-team-management-card,
#leadershipPanel .technical-permission-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 4px 14px rgba(13, 42, 73, 0.04);
}

#leadershipPanel .technical-alert-banner {
  border: 1px solid var(--line);
  border-left: 5px solid var(--blue);
  border-radius: 12px;
  color: var(--ink);
  background: var(--blue-soft);
  box-shadow: none;
}

#leadershipPanel .technical-alert-banner.bad {
  border-color: #edabb3;
  border-left-color: var(--red);
  background: var(--red-soft);
}

#leadershipPanel .technical-alert-banner.warn {
  border-color: #ecd080;
  border-left-color: var(--gold);
  background: var(--gold-soft);
}

#leadershipPanel .technical-alert-banner.good {
  border-color: #9fd9c0;
  border-left-color: var(--green-dark);
  background: var(--green-soft);
}

#leadershipPanel .technical-alert-banner strong {
  color: var(--ink);
}

#leadershipPanel .technical-alert-banner span,
#leadershipPanel .technical-alert-banner small,
#leadershipPanel .technical-feedback-card .chart-card-head span,
#leadershipPanel .technical-table-launcher span,
#leadershipPanel .technical-team-management-card .chart-card-head span,
#leadershipPanel .technical-permission-section-head span,
#leadershipPanel .technical-team-main span,
#leadershipPanel .technical-team-count span {
  color: var(--muted);
}

#leadershipPanel .technical-feedback-card h4,
#leadershipPanel .technical-table-launcher h4,
#leadershipPanel .technical-team-management-card h4,
#leadershipPanel .technical-team-main strong,
#leadershipPanel .technical-team-count strong,
#leadershipPanel .technical-permission-section-head strong,
#leadershipPanel .technical-permission-person strong {
  color: var(--ink);
}

#leadershipPanel .technical-weekly-summary {
  border: 0;
  padding: 0;
  color: var(--muted);
  background: transparent;
  box-shadow: none;
}

#leadershipPanel .technical-weekly-list li,
#leadershipPanel .technical-weekly-priority li,
#leadershipPanel .technical-expiry-item,
#leadershipPanel .technical-team-row,
#leadershipPanel .technical-permission-row {
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--ink);
  background: var(--club-surface);
}

#leadershipPanel .technical-weekly-list strong,
#leadershipPanel .technical-weekly-priority strong,
#leadershipPanel .technical-expiry-item strong {
  color: var(--ink);
}

#leadershipPanel .technical-weekly-list span,
#leadershipPanel .technical-weekly-priority span,
#leadershipPanel .technical-weekly-priority small,
#leadershipPanel .technical-expiry-item small,
#leadershipPanel .technical-permission-person span,
#leadershipPanel .technical-permission-role span,
#leadershipPanel .technical-permission-person small,
#leadershipPanel .technical-permission-person em {
  color: var(--muted);
}

#leadershipPanel .technical-expiry-item.expired {
  border-color: #edabb3;
  background: var(--red-soft);
}

#leadershipPanel .technical-expiry-item.soon {
  border-color: #ecd080;
  background: var(--gold-soft);
}

#leadershipPanel .technical-expiry-item b {
  color: var(--white);
  background: var(--green-dark);
}

#leadershipPanel .technical-expiry-item.expired b {
  background: #a72f3d;
}

#leadershipPanel .technical-expiry-item.soon b {
  background: #795200;
}

#leadershipPanel .technical-team-row {
  border-left: 5px solid var(--green);
}

#leadershipPanel .technical-team-count {
  border-color: #9fd9c0;
  background: var(--green-soft);
}

#leadershipPanel .technical-permission-section-head {
  color: var(--ink);
}

#leadershipPanel .technical-permission-role select,
#leadershipPanel .technical-permission-groups-menu summary {
  border-color: var(--line);
  color: var(--ink);
  background: var(--surface);
}

#leadershipPanel .technical-permission-all-groups {
  border-color: #9fd9c0;
  color: var(--green-dark);
  background: var(--green-soft);
}

#leadershipPanel .technical-permission-all-groups > i {
  color: var(--green-dark);
}

#leadershipPanel .technical-permission-all-groups small {
  color: var(--muted);
}

#leadershipPanel .technical-permission-groups-menu summary::after {
  color: var(--white);
  background: var(--green-dark);
}

#leadershipPanel .technical-permission-groups-menu summary b {
  color: var(--green-dark);
}

#leadershipPanel .technical-permission-groups {
  border-color: var(--line);
  background: var(--club-surface);
}

#leadershipPanel .technical-permission-groups label {
  border-color: var(--line);
  color: #45586c;
  background: var(--surface);
}

#leadershipPanel .technical-table-open-button,
#leadershipPanel .technical-table-close-button {
  border-color: var(--green-dark);
  color: var(--white);
  background: var(--green-dark);
}

#leadershipPanel .technical-table-open-button:hover,
#leadershipPanel .technical-table-close-button:hover {
  border-color: var(--green-deep);
  background: var(--green-deep);
}

/* Elnoki szerzodeskezeles: ugyanaz a vilagos komponensrendszer */
#leadershipPanel .contract-type-switch,
#leadershipPanel .president-contract-panel-switch,
#leadershipPanel .president-contract-season-tabs {
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: 13px;
  padding: 6px;
  background: var(--club-surface);
}

#leadershipPanel .contract-type-switch button,
#leadershipPanel .president-contract-panel-switch button,
#leadershipPanel .president-contract-season-tabs button {
  border: 1px solid transparent;
  border-radius: 9px;
  color: #52677c;
  background: transparent;
  box-shadow: none;
}

#leadershipPanel .contract-type-switch button:hover,
#leadershipPanel .contract-type-switch button.is-active,
#leadershipPanel .president-contract-panel-switch button:hover,
#leadershipPanel .president-contract-panel-switch button.is-active,
#leadershipPanel .president-contract-season-tabs button:hover,
#leadershipPanel .president-contract-season-tabs button.is-active {
  border-color: rgba(19, 163, 111, 0.28);
  color: var(--green-dark);
  background: var(--green-soft);
}

#leadershipPanel .contract-type-select,
#leadershipPanel .contract-renewal-controls label,
#leadershipPanel .contract-renewal-custom-fields label,
#leadershipPanel .president-contract-filters label {
  color: #45586c;
}

#leadershipPanel .contract-type-select select,
#leadershipPanel .president-contract-form input,
#leadershipPanel .president-contract-form select,
#leadershipPanel .president-contract-form textarea,
#leadershipPanel .contract-renewal-controls input,
#leadershipPanel .contract-renewal-controls select,
#leadershipPanel .contract-renewal-custom-fields input,
#leadershipPanel .contract-renewal-custom-fields select,
#leadershipPanel .president-contract-filters input,
#leadershipPanel .president-contract-filters select {
  border-color: var(--line);
  color: var(--ink);
  background: var(--surface);
}

#leadershipPanel .president-contract-fieldset {
  background: var(--surface);
}

#leadershipPanel .president-contract-fieldset legend {
  color: var(--green-dark);
}

#leadershipPanel .contract-coach-preview,
#leadershipPanel .contract-coach-preview-grid div,
#leadershipPanel .contract-document-card,
#leadershipPanel .president-contract-item,
#leadershipPanel .contract-renewal-row,
#leadershipPanel .president-contract-file-empty {
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--ink);
  background: var(--club-surface);
  box-shadow: none;
}

#leadershipPanel .contract-coach-preview-grid span,
#leadershipPanel .contract-ocr-status,
#leadershipPanel .contract-document-upload small,
#leadershipPanel .contract-document-card span,
#leadershipPanel .contract-document-card small,
#leadershipPanel .president-contract-item small,
#leadershipPanel .president-contract-item p,
#leadershipPanel .president-contract-list-head span,
#leadershipPanel .contract-renewal-head span,
#leadershipPanel .contract-renewal-question span,
#leadershipPanel .contract-renewal-select small {
  color: var(--muted);
}

#leadershipPanel .contract-coach-preview-grid strong,
#leadershipPanel .contract-document-card strong,
#leadershipPanel .president-contract-item strong,
#leadershipPanel .president-contract-list-head strong,
#leadershipPanel .contract-renewal-head strong,
#leadershipPanel .contract-renewal-question strong,
#leadershipPanel .contract-renewal-select strong {
  color: var(--ink);
}

#leadershipPanel .contract-document-icon,
#leadershipPanel .contract-document-card.is-file-only .contract-document-info strong {
  color: var(--green-dark);
}

#leadershipPanel .contract-document-thumb {
  border-color: var(--line);
  background: var(--surface);
}

#leadershipPanel .contract-document-actions .ghost-action {
  border-color: #9fd9c0;
  color: var(--green-dark);
  background: var(--green-soft);
}

#leadershipPanel .president-contract-item.expired,
#leadershipPanel .president-contract-item.soon,
#leadershipPanel .contract-renewal-row.expired,
#leadershipPanel .contract-renewal-row.soon {
  border-color: #edabb3;
  background: var(--red-soft);
}

#leadershipPanel .president-contract-item.valid,
#leadershipPanel .contract-renewal-row.valid {
  border-color: #9fd9c0;
  background: var(--green-soft);
}

#leadershipPanel .president-contract-item.draft,
#leadershipPanel .president-contract-item.neutral,
#leadershipPanel .contract-renewal-row.draft,
#leadershipPanel .contract-renewal-row.neutral {
  border-color: #ecd080;
  background: var(--gold-soft);
}

html {
  min-width: 320px;
  background: var(--canvas);
}

body {
  min-width: 320px;
  color: var(--ink);
  background: var(--canvas) !important;
  font-family: "DM Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.45;
}

::selection {
  color: var(--navy-950);
  background: rgba(19, 163, 111, 0.25);
}

button,
input,
select,
textarea {
  letter-spacing: 0;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid rgba(44, 114, 232, 0.22);
  outline-offset: 2px;
}

.app-shell,
.workspace,
.app-shell.is-player-focus .workspace,
.app-shell.is-coach-focus .workspace,
.app-shell.is-payment-focus .workspace {
  color: var(--ink);
  background: var(--canvas) !important;
}

.app-shell.is-player-focus .workspace,
.app-shell.is-coach-focus .workspace,
.app-shell.is-payment-focus .workspace {
  padding: 28px;
}

/* Bejelentkezes */
.login-screen {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 28px;
  background: var(--canvas) !important;
}

.login-screen::before {
  content: "";
  position: fixed;
  inset: 0 auto 0 0;
  z-index: -2;
  width: clamp(220px, 24vw, 390px);
  background: linear-gradient(180deg, var(--navy-950), var(--navy-900));
}

.login-screen::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: rgba(243, 246, 248, 0.74);
  backdrop-filter: blur(2px);
}

.login-card {
  width: min(500px, 100%);
  gap: 22px;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 30px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 28px 80px rgba(0, 18, 37, 0.2);
}

.login-brand {
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}

.login-logo {
  width: 78px;
  min-width: 78px;
  min-height: 88px;
  border: 0;
  border-radius: 14px;
  padding: 7px;
  background: var(--navy-950);
  box-shadow: 0 10px 25px rgba(8, 29, 53, 0.18);
}

.login-logo img {
  width: 64px;
  max-height: 74px;
  object-fit: contain;
}

.login-brand h1,
.login-copy h2 {
  color: var(--ink);
}

.login-copy h2 {
  max-width: 16ch;
  font-size: clamp(1.75rem, 5vw, 2.55rem);
  line-height: 1.08;
}

.login-copy p:last-child,
.login-status span,
.auth-mode-hint {
  color: var(--muted);
}

.login-status {
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: 12px;
  background: var(--blue-soft);
}

.auth-mode-switch {
  border-color: var(--line);
  border-radius: 12px;
  padding: 5px;
  background: var(--club-surface);
}

.auth-mode-switch button {
  min-height: 42px;
  border-radius: 9px;
  color: var(--muted);
}

.auth-mode-switch button.is-active {
  color: var(--white);
  background: var(--green);
  box-shadow: 0 6px 14px rgba(19, 163, 111, 0.2);
}

/* Fo navigacio */
.sidebar,
.app-shell.is-team-drawer-open .sidebar {
  border-color: rgba(255, 255, 255, 0.1);
  color: var(--white);
  background: linear-gradient(180deg, var(--navy-950), var(--navy-900)) !important;
}

.sidebar-tools,
.sidebar-tools:hover,
.sidebar-tools.is-labels-open,
.sidebar-tools.is-collapsed-after-click,
.sidebar-tools.is-collapsed-after-click:hover {
  border-color: rgba(255, 255, 255, 0.08);
  background: var(--navy-950) !important;
}

.sidebar-tools:hover,
.sidebar-tools.is-labels-open {
  box-shadow: 18px 0 45px rgba(6, 20, 39, 0.28);
}

.sidebar-drawer {
  color: var(--white);
  background: var(--navy-800) !important;
}

.rail-brand,
.brand-block {
  border-color: rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.055);
}

.rail-brand {
  min-height: 64px;
  padding: 8px;
}

.rail-brand img,
.club-logo img {
  max-width: 100%;
  max-height: 52px;
  object-fit: contain;
}

.club-logo {
  width: 70px;
  min-width: 70px;
  min-height: 80px;
  border: 0;
  border-radius: 10px;
  padding: 6px;
  background: var(--navy-950);
}

.sidebar-tool-action {
  border: 1px solid transparent;
  border-radius: 11px;
  color: rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.035);
  transition: color 140ms ease, background 140ms ease, border-color 140ms ease, transform 140ms ease;
}

.sidebar-tool-action > svg {
  color: rgba(255, 255, 255, 0.72);
  stroke-width: 1.9;
}

.sidebar-tool-action:hover,
.sidebar-tool-action.is-active {
  border-color: rgba(19, 163, 111, 0.3);
  color: var(--white);
  background: rgba(19, 163, 111, 0.15);
  box-shadow: inset 3px 0 0 var(--green);
}

.sidebar-tool-action:hover > svg,
.sidebar-tool-action.is-active > svg,
.sidebar-tools:hover .sidebar-tool-action.is-active > span,
.sidebar-tools.is-labels-open .sidebar-tool-action.is-active > span,
.sidebar-tools:hover .sidebar-tool-action:hover > span {
  color: #63e0ae;
}

.sidebar-tool-action::after {
  border-color: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  color: var(--white);
  background: var(--navy-800);
  box-shadow: 0 14px 38px rgba(6, 20, 39, 0.3);
}

.sidebar input {
  border-color: rgba(255, 255, 255, 0.16);
  border-radius: 10px;
  color: var(--white);
  background: rgba(255, 255, 255, 0.075);
}

.sidebar input:focus {
  border-color: #63e0ae;
  box-shadow: 0 0 0 3px rgba(19, 163, 111, 0.22);
}

.team-toggle,
.team-filter-item,
.team-club-tab,
.team-club-panel,
.sidebar .player-card {
  border-color: rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.86);
  background: rgba(255, 255, 255, 0.055);
  box-shadow: none;
}

.team-toggle:hover,
.team-toggle.is-open,
.team-filter-item:hover,
.team-filter-item.is-active,
.team-club-tab:hover,
.team-club-tab.is-active,
.sidebar .player-card:hover,
.sidebar .player-card.is-active {
  border-color: rgba(99, 224, 174, 0.45);
  color: var(--white);
  background: rgba(19, 163, 111, 0.16);
  box-shadow: inset 3px 0 0 var(--green);
}

.team-filter-icon,
.team-filter-item strong,
.team-club-tab strong {
  color: var(--navy-950);
  background: rgba(255, 255, 255, 0.88);
}

.team-filter-item.is-active .team-filter-icon,
.team-filter-item.is-active strong,
.team-club-tab.is-active strong {
  color: var(--navy-950);
  background: #63e0ae;
}

/* Munkater es fejlec */
.workspace {
  min-width: 0;
  padding: 30px 34px;
}

.topbar {
  min-height: 92px;
  gap: 22px;
  margin-bottom: 22px;
  border: 1px solid var(--line);
  border-left: 0;
  border-radius: var(--radius);
  padding: 18px 22px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
}

.topbar h2 {
  color: var(--ink);
  font-size: clamp(1.35rem, 2vw, 1.9rem);
}

.topbar .eyebrow {
  color: var(--green-dark);
}

.toolbar {
  gap: 9px;
}

.primary-action,
.ghost-action,
.icon-action,
.danger-action,
.circle-action,
.small-delete,
.small-action,
.toolbar button,
.dialog-actions button {
  min-height: 42px;
  border-radius: var(--radius-control);
  padding: 10px 14px;
  font-weight: 800;
  line-height: 1.15;
  text-shadow: none;
  transition: transform 140ms ease, background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.primary-action {
  border: 1px solid var(--green-dark);
  color: var(--white);
  background: var(--green-dark);
  box-shadow: 0 7px 16px rgba(11, 124, 84, 0.2);
}

.primary-action:hover {
  border-color: var(--green-deep);
  color: var(--white);
  background: var(--green-deep);
  box-shadow: 0 10px 22px rgba(7, 88, 61, 0.24);
  transform: translateY(-1px);
}

.ghost-action,
.icon-action,
.circle-action,
.small-action {
  border: 1px solid var(--line);
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 3px 9px rgba(13, 42, 73, 0.04);
}

.ghost-action:hover,
.icon-action:hover,
.circle-action:hover,
.small-action:hover {
  border-color: #afc5d7;
  color: var(--navy-800);
  background: var(--blue-soft);
}

.danger-action,
.small-delete {
  border: 1px solid #efb4ba;
  color: #a72f3d;
  background: var(--red-soft);
  box-shadow: none;
}

.danger-action:hover,
.small-delete:hover {
  border-color: var(--red);
  color: var(--white);
  background: var(--red);
}

button:disabled,
.primary-action:disabled,
.ghost-action:disabled {
  cursor: not-allowed;
  opacity: 0.52;
  transform: none;
}

input,
select,
textarea,
.view-preview-control {
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 1px 2px rgba(13, 42, 73, 0.02);
}

input,
select,
textarea {
  min-height: 44px;
  padding: 10px 12px;
}

textarea {
  min-height: 96px;
}

input::placeholder,
textarea::placeholder {
  color: #91a0b0;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 3px var(--green-ring);
}

label,
.workspace label {
  color: #45586c;
  font-weight: 750;
}

/* Altalanos feluletek es kartyak */
.detail-layout,
.detail-panel,
.home-state,
.home-global-panel,
.home-team-players,
.player-detail,
.coach-full-page,
.payment-full-page,
.coach-standalone-page,
.payment-standalone-page,
.player-report,
.report-panel {
  color: var(--ink);
}

.detail-panel {
  min-width: 0;
  border: 1px solid var(--line);
  border-top: 0;
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.app-shell.is-player-focus .detail-panel {
  min-height: calc(100vh - 56px);
  border-color: var(--line);
  background: var(--surface) !important;
  box-shadow: var(--shadow);
}

.home-state {
  gap: 18px;
  padding: 22px;
  background: transparent;
}

.home-hero,
.home-hero.is-poster-only,
.home-hero.has-team-dashboard {
  min-height: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--ink);
  background: var(--surface) !important;
  box-shadow: none;
}

.home-hero::before {
  display: none;
}

.home-team-players,
.home-global-panel {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.leadership-card,
.management-form,
.management-item,
.chart-card,
.team-kpi,
.insight-panel,
.feedback-card,
.info-block,
.measurement-form,
.measurement-type-card,
.reference-compare-card,
.reference-compare-summary,
.classification-form,
.classification-summary,
.classification-criteria,
.classification-detail,
.full-data-section,
.trend-kpi,
.trend-period,
.trend-focus-card,
.status-tile,
.orthopedic-reference-card,
.orthopedic-reference-compare-card,
.orthopedic-age-comparison,
.orthopedic-recommendation-item,
.orthopedic-fine-tuning,
.orthopedic-special-attention,
.sync-card,
.local-data-card,
.field-document-card,
.training-material-card,
.health-record-item,
.task-item,
.payment-record-item,
.payment-detail-card,
.parent-payment-timeline-card,
.parent-child-report-card,
.coach-detail-panel,
.coach-detail-page-head,
.coach-detail-mode,
.coach-contact-card,
.coach-clothing-row,
.coach-tools-grid label,
.coach-receipt-history,
.coach-receipt-document,
.coach-receipt-visual-item,
.coach-return-row,
.coach-return-hint,
.coach-new-receipt-menu,
.coach-full-hero,
.payment-full-hero,
.payment-full-editor,
.data-hero {
  border-color: var(--line);
  border-radius: 14px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 4px 14px rgba(13, 42, 73, 0.04);
}

.section-heading h3,
.section-heading h4,
.chart-card-head h4,
.feedback-card-head h4,
.home-team-head strong,
.team-programs-head h3,
.team-measurement-table-head strong,
.workspace h1,
.workspace h2,
.workspace h3,
.workspace h4,
.workspace h5,
.workspace h6,
.workspace strong,
.workspace b,
.workspace dd,
.workspace summary {
  color: var(--ink);
  text-shadow: none;
}

.section-heading span,
.section-heading p,
.chart-card-head span,
.feedback-card-head span,
.home-team-head span,
.team-programs-head span,
.team-measurement-table-head span,
.muted-empty,
.chart-empty,
.reference-source,
.dialog-subtitle,
.dialog-form-note {
  color: var(--muted);
}

.data-hero {
  border-left: 4px solid var(--green);
  padding: 18px;
}

.data-hero-logo {
  width: 72px;
  min-width: 72px;
  min-height: 78px;
  border: 0;
  border-radius: 12px;
  padding: 6px;
  background: var(--navy-950);
}

.data-hero-logo img {
  max-height: 66px;
  object-fit: contain;
}

/* Jatekos adatlap */
.player-detail {
  min-width: 0;
  padding: 24px;
  border-radius: var(--radius);
  background: var(--surface) !important;
}

.player-detail .profile-header {
  gap: 18px;
  border: 1px solid var(--line);
  border-left: 5px solid var(--green);
  border-radius: 16px;
  padding: 18px;
  color: var(--ink);
  background: linear-gradient(90deg, var(--green-soft), var(--surface) 42%);
}

.player-detail #detailName,
.player-detail .profile-header h3 {
  color: var(--ink);
  font-size: clamp(1.35rem, 2.4vw, 2rem);
}

.player-detail .profile-header .eyebrow {
  color: var(--green-dark);
}

.avatar,
.avatar-large,
.profile-photo .avatar {
  display: inline-grid;
  place-items: center;
  overflow: hidden;
  border: 2px solid var(--surface);
  border-radius: 999px;
  color: var(--green-dark);
  background: var(--green-soft);
  box-shadow: 0 0 0 1px var(--line), 0 8px 18px rgba(13, 42, 73, 0.1);
  line-height: 1;
}

.avatar img,
.avatar-large img,
.profile-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.meta-pill,
.risk-pill,
.payment-cadence-pill {
  border: 1px solid #c8d7e3;
  border-radius: 999px;
  color: #385069;
  background: #edf3f7;
  box-shadow: none;
}

.tabs,
.result-subtabs,
.team-view-menu,
.coach-detail-tabs,
.coach-directory-switch,
.field-schedule-switch,
.technical-player-mode-switch {
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: 13px;
  padding: 6px;
  color: var(--ink);
  background: var(--club-surface);
  box-shadow: none;
}

.tab,
.result-subtab,
.team-view-button,
.coach-detail-tabs button,
.coach-directory-switch button,
.field-schedule-switch button,
.technical-player-mode-switch button {
  min-height: 42px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: #52677c;
  background: transparent;
  box-shadow: none;
  font-weight: 800;
}

.tab:hover,
.tab.is-active,
.result-subtab:hover,
.result-subtab.is-active,
.team-view-button:hover,
.team-view-button.is-active,
.coach-detail-tabs button:hover,
.coach-detail-tabs button.is-active,
.coach-directory-switch button:hover,
.coach-directory-switch button.is-active,
.field-schedule-switch button:hover,
.field-schedule-switch button.is-active,
.technical-player-mode-switch button:hover,
.technical-player-mode-switch button.is-active {
  border-color: rgba(19, 163, 111, 0.28);
  color: var(--green-dark);
  background: var(--green-soft);
  box-shadow: 0 3px 10px rgba(19, 163, 111, 0.08);
}

.team-view-icon {
  color: var(--green-dark);
  background: rgba(19, 163, 111, 0.1);
}

.team-view-button:hover .team-view-icon,
.team-view-button.is-active .team-view-icon {
  color: var(--white);
  background: var(--green);
}

.player-detail .insight-panel,
.player-detail .feedback-card,
.player-detail .chart-card,
.player-detail .info-block,
.player-detail .measurement-form,
.player-detail .management-form,
.player-detail .management-item,
.player-detail .reference-compare-card,
.player-detail .classification-form,
.player-detail .classification-detail,
.player-detail .full-data-section,
.player-detail .orthopedic-trends,
.player-detail .orthopedic-reference-card,
.player-detail .orthopedic-reference-compare-card,
.player-detail .orthopedic-age-comparison,
.player-detail .score-summary-tile,
.player-detail .trend-kpi,
.player-detail .trend-period,
.player-detail .trend-focus-card,
.player-detail .status-tile,
.player-detail .spark-row.trend-row {
  border-color: var(--line);
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 4px 14px rgba(13, 42, 73, 0.04);
}

.player-detail .feedback-card.neutral,
.player-detail .feedback-card.warn {
  border-left-color: var(--gold);
}

.player-detail .feedback-card.good,
.player-detail .trend-kpi.good,
.player-detail .trend-focus-card.good,
.player-detail .status-tile.good {
  border-left-color: var(--green);
}

.player-detail .feedback-card.bad,
.player-detail .trend-kpi.bad,
.player-detail .trend-focus-card.bad,
.player-detail .status-tile.bad {
  border-left-color: var(--red);
}

.player-detail .eyebrow,
.player-detail label,
.player-detail .info-list dt,
.player-detail .history-item span,
.player-detail .feedback-card p,
.player-detail .feedback-list li > span,
.player-detail .feedback-list small,
.player-detail .feedback-sublist > span,
.player-detail .feedback-sublist li span,
.player-detail .focus-list li,
.player-detail .metric-table-row > span,
.player-detail .metric-table-row small,
.player-detail .team-table-row > span,
.player-detail .team-kpi span,
.player-detail .team-kpi small,
.player-detail .full-data-group h6,
.player-detail .full-data-item span,
.player-detail .trend-kpi span,
.player-detail .trend-kpi small,
.player-detail .trend-period span,
.player-detail .trend-focus-card span,
.player-detail .trend-focus-card small,
.player-detail .status-tile span,
.player-detail .spark-copy span,
.player-detail .reference-compare-summary span,
.player-detail .reference-compare-summary small,
.player-detail .reference-compare-row > span:first-child,
.player-detail .management-item span,
.player-detail .management-item small,
.player-detail .classification-detail summary small,
.player-detail .classification-detail-row small,
.player-detail .classification-text-details span,
.player-detail .classification-note p,
.player-detail .photo-upload-copy > span {
  color: var(--muted);
}

.info-tip {
  width: 22px;
  min-width: 22px;
  height: 22px;
  border: 1px solid rgba(44, 114, 232, 0.28);
  border-radius: 999px;
  color: var(--blue);
  background: var(--blue-soft);
  box-shadow: none;
}

.info-bubble {
  min-width: min(290px, calc(100vw - 36px));
  border: 1px solid #bed0df;
  border-radius: 10px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 16px 38px rgba(13, 42, 73, 0.16);
}

/* Tablazatok */
.excel-table-wrap,
.table-wrap,
.metric-table,
.reference-compare-table,
.team-table,
.classification-table,
.classification-detail-table,
.reference-values-scroll,
.team-data-table-wrap,
.coach-bulk-entry-table {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: none;
}

.excel-table,
.team-data-table {
  width: 100%;
  color: var(--ink);
  background: var(--surface);
}

.excel-table th,
.excel-table td,
.team-data-table th,
.team-data-table td,
.metric-table-head,
.metric-table-row,
.reference-compare-row,
.team-table-head,
.team-table-row,
.classification-table-head,
.classification-table-row,
.classification-detail-head,
.classification-detail-row,
.reference-values-row {
  border-color: var(--line);
  color: var(--ink);
  background: var(--surface);
}

.excel-table thead th,
.team-data-table thead th,
.metric-table-head,
.team-table-head,
.classification-table-head,
.classification-detail-head,
.reference-values-row.is-head {
  color: var(--navy-800);
  background: #edf3f7;
}

.excel-table tbody tr:nth-child(even) th,
.excel-table tbody tr:nth-child(even) td,
.team-data-table tbody tr:nth-child(even) th,
.team-data-table tbody tr:nth-child(even) td,
.metric-table-row:nth-child(even),
.team-table-row:nth-child(even),
.classification-table-row:nth-child(even),
.classification-detail-row:nth-child(even),
.reference-compare-row:nth-child(even) {
  background: #f8fafc;
}

.excel-table tbody tr:hover th,
.excel-table tbody tr:hover td,
.team-data-table tbody tr:hover th,
.team-data-table tbody tr:hover td,
.metric-table-row:hover,
.team-table-row:hover,
.classification-table-row:hover,
.classification-detail-row:hover {
  background: var(--blue-soft);
}

.excel-table tfoot th,
.excel-table tfoot td {
  color: var(--green-dark);
  background: var(--green-soft);
}

.team-data-player-link,
.payment-player-button,
.coach-name-button,
.highlight-player-item {
  color: var(--navy-800);
}

.team-data-player-link:hover,
.payment-player-button:hover,
.coach-name-button:hover,
.highlight-player-item:hover {
  color: var(--green-dark);
}

/* Allapotok */
.risk-pill.low,
.reference-pill.good,
.classification-mini-badge.good,
.classification-team-score.good,
.payment-status-pill.paid,
.health-status-pill.returned,
.sync-badge.ready,
.sync-badge.signedIn,
.change-text.good,
.report-rating.good {
  border-color: #9fd9c0;
  color: #086044;
  background: var(--green-soft);
}

.risk-pill.medium,
.reference-pill.warn,
.reference-pill.neutral,
.classification-mini-badge.warn,
.classification-mini-badge.neutral,
.classification-team-score.warn,
.classification-team-score.neutral,
.payment-status-pill.due,
.payment-status-pill.pending,
.health-status-pill.rehab,
.sync-badge.connecting,
.change-text.neutral,
.report-rating.neutral,
.report-rating.warn {
  border-color: #ecd080;
  color: #795200;
  background: var(--gold-soft);
}

.risk-pill.high,
.reference-pill.bad,
.classification-mini-badge.bad,
.classification-team-score.bad,
.payment-status-pill.overdue,
.health-status-pill.active,
.sync-badge.error,
.change-text.bad,
.report-rating.bad {
  border-color: #edabb3;
  color: #9e2e3b;
  background: var(--red-soft);
}

.reference-score,
.classification-detail-score,
.classification-mini-number {
  color: inherit;
}

/* Grafikonok es riportok */
.team-average-visual-row,
.team-average-visual-row.good,
.team-average-visual-row.bad,
.team-average-visual-row.neutral {
  border-color: var(--line);
  border-left-color: var(--green);
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 5px 16px rgba(13, 42, 73, 0.05);
}

.team-average-visual-row.bad {
  border-left-color: var(--red);
}

.team-average-visual-row.neutral {
  border-left-color: var(--gold);
}

.team-average-visual-title strong,
.team-average-current strong,
.team-average-visual-row strong {
  color: var(--ink);
}

.team-average-visual-title span,
.team-average-date-pill,
.team-average-meta,
.team-average-visual-row small {
  color: var(--muted);
}

.team-average-date-pill {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 5px 9px;
  background: #edf3f7;
}

.spark-axis,
.radar-ring,
.radar-axis {
  stroke: #c3d0dc;
}

.spark-line,
.radar-line {
  stroke: var(--green);
}

.spark-dot,
.radar-dot {
  fill: var(--green);
  stroke: var(--surface);
}

.spark-dot.good {
  fill: var(--green);
}

.spark-dot.bad {
  fill: var(--red);
}

.spark-dot.neutral,
.spark-dot.plain {
  fill: var(--gold);
}

.radar-area {
  fill: rgba(19, 163, 111, 0.16);
}

.radar-label,
.radar-scale,
.spark-label,
.spark-value {
  fill: #455b70;
}

.progress-track,
.classification-detail-meter {
  background: #e7edf2;
}

.progress-fill,
.classification-detail-meter > span {
  background: var(--green);
}

.player-report {
  border: 1px solid var(--line);
  border-top: 5px solid var(--green);
  border-radius: var(--radius);
  background: var(--canvas);
  box-shadow: var(--shadow);
}

.report-panel,
.report-profile-panel,
.report-stat-row,
.report-results-row,
.coach-note-stack section {
  border-color: var(--line);
  color: var(--ink);
  background: var(--surface);
}

.report-results-head {
  color: var(--navy-800);
  background: #edf3f7;
}

.report-results-row:nth-child(even),
.report-stat-row {
  background: #f8fafc;
}

/* Programok es naptarak */
.parent-calendar-card,
.coach-calendar-board,
.coach-feedback-panel,
.coach-calendar-event-card,
.attendance-coach-summary {
  border-color: var(--line);
  border-radius: 14px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 4px 14px rgba(13, 42, 73, 0.04);
}

.parent-calendar-head,
.coach-feedback-panel-head {
  border-color: var(--line);
  color: var(--ink);
  background: #f8fafc;
}

.parent-calendar-day,
.coach-calendar-day {
  border-color: var(--line);
  border-radius: 10px;
  color: var(--ink);
  background: var(--surface);
}

.parent-calendar-day:hover,
.coach-calendar-day:hover,
.parent-calendar-day:focus-visible,
.coach-calendar-day:focus-visible {
  border-color: #a8bdd0;
  background: var(--blue-soft);
}

.parent-calendar-day.is-muted,
.coach-calendar-day.is-muted {
  color: #9aa7b5;
  background: #f7f9fb;
}

.coach-calendar-event-chip,
.coach-calendar-event-card.training-event,
.training-event {
  border-color: #8fd4b6;
  color: #07583d;
  background: var(--green-soft);
}

.coach-calendar-event-card.match-event,
.match-event {
  border-color: #e7bd4c;
  color: #6f4b00;
  background: var(--gold-soft);
}

.coach-calendar-event-card.coach-match-event,
.coach-match-event {
  border-color: #80a8e8;
  color: #174d9f;
  background: var(--blue-soft);
}

.coach-calendar-event-card.tournament-event,
.tournament-event {
  border-color: #6d5316;
  color: var(--white);
  background: #6d5316;
}

.parent-calendar-day.is-attending,
.parent-calendar-day.attending {
  border-color: var(--green);
  background: var(--green-soft);
}

.parent-calendar-day.is-not-attending,
.parent-calendar-day.not-attending,
.parent-calendar-day.needs-response {
  border-color: var(--red);
  background: var(--red-soft);
}

.coach-feedback-roster.attending,
.coach-feedback-roster.not-attending,
.coach-feedback-roster.pending {
  border-color: var(--line);
  background: #f8fafc;
}

/* Tagdij, edzok, felszerelesek */
.payment-record-item,
.payment-detail-card,
.payment-full-hero,
.payment-full-editor,
.payment-history-box,
.parent-payment-card,
.parent-payment-timeline-card,
.coach-full-hero,
.coach-detail-page-head,
.coach-detail-panel,
.coach-receipt-history,
.coach-receipt-document,
.coach-receipt-visual-item,
.coach-return-row,
.coach-return-hint,
.coach-clothing-row,
.coach-tools-grid label,
.coach-equipment-card,
.coach-contact-card {
  border-color: var(--line);
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 4px 14px rgba(13, 42, 73, 0.04);
}

.payment-record-item:hover,
.coach-management-item:hover,
.coach-equipment-card:hover {
  border-color: #b8c9d7;
  box-shadow: 0 8px 20px rgba(13, 42, 73, 0.08);
}

.payment-full-status,
.payment-record-state,
.payment-detail-head,
.coach-detail-panel-head,
.coach-receipt-history-head,
.coach-signature-head {
  color: var(--ink);
}

.payment-history-box.paid {
  border-left: 4px solid var(--green);
  background: #f4fcf8;
}

.payment-history-box.unpaid {
  border-left: 4px solid var(--gold);
  background: #fffaf0;
}

.parent-payment-reminder-modal {
  border: 1px solid #ead07e;
  border-radius: 16px;
  color: var(--ink);
  background: var(--gold-soft);
  box-shadow: 0 20px 50px rgba(13, 42, 73, 0.16);
}

.coach-equipment-card img,
.coach-return-row img,
.coach-receipt-visual-item img {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f8fafc;
  object-fit: contain;
}

.coach-signature-canvas {
  border: 1px dashed #aebfce;
  border-radius: 10px;
  background: var(--surface);
}

/* Felugro ablakok */
dialog {
  max-width: min(760px, calc(100vw - 28px));
  max-height: min(88vh, 920px);
  border: 0;
  border-radius: 20px;
  padding: 0;
  color: var(--ink);
  background: transparent;
  box-shadow: 0 28px 80px rgba(0, 18, 37, 0.28);
}

dialog::backdrop,
#coachProgramDialog::backdrop {
  background: rgba(6, 20, 39, 0.48);
  backdrop-filter: blur(4px);
}

.dialog-card,
#coachProgramDialog .coach-program-dialog-card,
.coach-program-dialog-card,
.technical-player-dialog-card {
  width: 100%;
  max-height: min(88vh, 920px);
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 24px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: none;
}

.dialog-header {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

.dialog-header h3,
#coachProgramDialog .coach-program-dialog-card h3,
#coachProgramDialog .coach-program-dialog-card label,
#coachProgramDialog .coach-program-dialog-card .dialog-subtitle,
#coachProgramDialog .coach-program-dialog-card .dialog-form-note,
.coach-program-repeat legend,
.coach-repeat-weekdays > span {
  color: var(--ink);
}

#coachProgramDialog .coach-program-dialog-card input,
#coachProgramDialog .coach-program-dialog-card select,
#coachProgramDialog .coach-program-dialog-card textarea {
  border-color: var(--line);
  color: var(--ink);
  background: var(--surface);
}

.coach-program-repeat {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f8fafc;
}

.coach-repeat-weekdays label {
  border-color: var(--line);
  color: var(--ink);
  background: var(--surface);
}

.toast {
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  color: var(--white);
  background: var(--navy-800);
  box-shadow: 0 18px 45px rgba(6, 20, 39, 0.24);
}

/* Mobil es kisebb kepernyok */
@media (max-width: 1100px) {
  .sidebar,
  .app-shell:not(.is-team-drawer-open) .sidebar {
    border-bottom-color: rgba(255, 255, 255, 0.1);
    background: var(--navy-950) !important;
  }

  .sidebar-tools,
  .sidebar-tools:hover,
  .sidebar-tools.is-labels-open {
    gap: 7px;
    padding: 8px 10px;
    background: var(--navy-950) !important;
  }

  .rail-brand {
    flex-basis: 52px;
    width: 52px;
    min-height: 62px;
    border-radius: 10px;
  }

  .sidebar-tool-action {
    flex-basis: 82px;
    width: 82px;
    min-height: 62px;
    border-radius: 10px;
  }

  .sidebar-tool-action > span {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.68rem;
  }

  .sidebar-drawer {
    border-top-color: rgba(255, 255, 255, 0.1);
    background: var(--navy-800) !important;
  }

  .workspace,
  .app-shell.is-player-focus .workspace,
  .app-shell.is-coach-focus .workspace,
  .app-shell.is-payment-focus .workspace {
    padding: 18px;
  }

  .topbar {
    min-height: 0;
  }

  .team-view-menu {
    overflow-x: auto;
  }
}

@media (max-width: 760px) {
  body {
    font-size: 15px;
  }

  .login-screen {
    padding: 14px;
  }

  .login-screen::before {
    width: 100%;
    height: 160px;
    inset: 0 0 auto;
  }

  .login-card {
    gap: 17px;
    border-radius: 16px;
    padding: 20px;
  }

  .login-logo {
    width: 66px;
    min-width: 66px;
    min-height: 74px;
  }

  .login-logo img {
    width: 54px;
    max-height: 62px;
  }

  .workspace,
  .app-shell.is-player-focus .workspace,
  .app-shell.is-coach-focus .workspace,
  .app-shell.is-payment-focus .workspace {
    padding: 10px;
  }

  .topbar {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 10px;
    border-radius: 14px;
    padding: 14px;
  }

  .toolbar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .toolbar .primary-action,
  .toolbar .ghost-action,
  .toolbar .icon-action {
    min-height: 52px;
    border-radius: 9px;
  }

  .detail-panel,
  .home-hero,
  .home-hero.is-poster-only,
  .home-hero.has-team-dashboard,
  .player-detail,
  .player-report {
    border-radius: 14px;
  }

  .home-state {
    gap: 10px;
    padding: 8px;
  }

  .player-detail {
    padding: 11px;
  }

  .player-detail .profile-header {
    grid-template-columns: 1fr;
    gap: 12px;
    border-radius: 12px;
    padding: 13px;
    background: var(--surface);
  }

  .profile-main {
    align-items: center;
  }

  .profile-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .profile-actions > * {
    width: 100%;
    min-width: 0;
  }

  .tabs,
  .result-subtabs,
  .team-view-menu,
  .coach-detail-tabs,
  .coach-directory-switch,
  .field-schedule-switch {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 5px;
    scroll-snap-type: x proximity;
  }

  .tab,
  .result-subtab,
  .team-view-button,
  .coach-detail-tabs button,
  .coach-directory-switch button,
  .field-schedule-switch button {
    flex: 0 0 auto;
    min-height: 42px;
    scroll-snap-align: start;
  }

  .home-player-list,
  .home-hero.has-team-dashboard .home-player-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .home-player-card {
    min-height: 52px;
    border-color: var(--line);
    border-radius: 10px;
    color: var(--ink);
    background: var(--surface);
  }

  .home-player-card strong {
    color: var(--ink);
  }

  .home-player-card .avatar {
    width: 32px;
    min-width: 32px;
    height: 32px;
  }

  .leadership-card,
  .management-form,
  .chart-card,
  .insight-panel,
  .feedback-card,
  .info-block,
  .payment-record-item,
  .coach-detail-panel,
  .parent-calendar-card {
    border-radius: 11px;
  }

  .form-grid,
  .payment-detail-grid,
  .payment-history-columns,
  .coach-contact-cards,
  .coach-full-layout,
  .coach-feedback-roster-grid,
  .team-summary-grid,
  .feedback-grid,
  .trend-kpi-grid,
  .full-data-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .parent-calendar-grid {
    min-width: 680px;
  }

  .parent-calendar-card {
    overflow-x: auto;
  }

  .excel-table-wrap,
  .table-wrap,
  .metric-table,
  .reference-compare-table,
  .team-table,
  .classification-table,
  .classification-detail-table,
  .reference-values-scroll,
  .team-data-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  dialog,
  .dialog-card,
  #coachProgramDialog .coach-program-dialog-card {
    border-radius: 14px;
  }

  .dialog-card,
  #coachProgramDialog .coach-program-dialog-card {
    padding: 17px;
  }

  .dialog-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dialog-actions > * {
    width: 100%;
  }
}

#parentPaymentsPanel .payment-summary-line,
.parent-payment-summary .payment-summary-line {
  border: 1px solid #9fd9c0;
  border-radius: 12px;
  color: var(--ink);
  background: var(--green-soft);
}

#parentPaymentsPanel .payment-summary-line strong,
.parent-payment-summary .payment-summary-line strong {
  color: var(--ink);
}

#parentPaymentsPanel .payment-summary-line span,
.parent-payment-summary .payment-summary-line span,
.home-global-panel .muted-empty {
  color: var(--muted);
}

#coachesPanel .coach-import-form,
#coachesPanel .management-form {
  border-color: var(--line);
  color: var(--ink);
  background: var(--surface);
}

#coachesPanel .management-form label,
#coachesPanel .coach-import-form label,
#coachesPanel .form-grid label {
  color: #45586c;
}

#coachesPanel .technical-excel-upload,
#coachesPanel .coach-excel-upload {
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: 12px;
  color: var(--ink);
  background: var(--blue-soft);
}

#coachesPanel .technical-excel-upload strong,
#coachesPanel .coach-excel-upload strong {
  color: var(--ink);
}

#coachesPanel .technical-excel-upload span,
#coachesPanel .coach-excel-upload span,
#coachesPanel .muted-empty {
  color: var(--muted);
}

#coachesPanel .technical-excel-upload-button {
  border-color: var(--green);
  color: var(--white);
  background: var(--green);
}

#coachesPanel .technical-excel-upload-button:hover,
#coachesPanel .technical-excel-upload-button:focus-visible {
  border-color: var(--green-dark);
  color: var(--white);
  background: var(--green-dark);
}

.home-global-panel .management-form,
.home-global-panel .management-list,
.home-global-panel .leadership-card {
  border-color: var(--line);
  color: var(--ink);
  background: var(--surface);
}

.home-global-panel .management-form label,
.home-global-panel .form-grid label {
  color: #45586c;
}

.home-global-panel .leadership-kpi {
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 3px 12px rgba(13, 42, 73, 0.035);
}

.home-global-panel .leadership-kpi strong {
  color: var(--ink);
}

.home-global-panel .leadership-kpi span,
.home-global-panel .leadership-kpi small {
  color: var(--muted);
}

#healthPanel .health-summary-line,
#tasksPanel .task-summary-line,
#trainingPanel .training-summary-line {
  border: 1px solid #9fd9c0;
  border-radius: 12px;
  color: var(--ink);
  background: var(--green-soft);
}

#healthPanel .health-summary-line strong,
#tasksPanel .task-summary-line strong,
#trainingPanel .training-summary-line strong {
  color: var(--ink);
}

#healthPanel .health-summary-line span,
#tasksPanel .task-summary-line span,
#trainingPanel .training-summary-line span {
  color: var(--muted);
}

/* A korabbi sotet modulstilusok teljes vilagos felulirasa */
.home-global-panel > .section-heading h3,
.home-global-panel > .section-heading h4,
.home-global-panel .leadership-card .section-heading h4,
#fieldsPanel #fieldDocumentHeading,
#trainingPanel .training-library-card h4 {
  color: var(--ink);
}

.home-global-panel > .section-heading span,
.home-global-panel > .section-heading p,
#fieldsPanel #fieldDocumentUploadHint,
#trainingPanel #trainingFileName,
#trainingPanel .training-material-main p,
#trainingPanel .muted-empty {
  color: var(--muted);
}

#fieldsPanel .field-document-card,
#trainingPanel .training-library-card,
#trainingPanel .training-material-card {
  border-color: var(--line);
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 4px 14px rgba(13, 42, 73, 0.04);
}

#fieldsPanel .field-document-upload,
#trainingPanel .training-file-field {
  border-color: #9fd9c0;
  color: var(--ink);
  background: var(--green-soft);
}

#fieldsPanel .field-document-upload:hover,
#trainingPanel .training-file-field:hover {
  border-color: var(--green-dark);
  background: #d2f2e4;
}

#trainingPanel .training-toolbar label,
#trainingPanel .training-file-field,
#trainingPanel .management-form label {
  color: #45586c;
}

#trainingPanel .training-material-main strong {
  color: var(--ink);
}

#trainingPanel .training-category-pill {
  border-color: #9fd9c0;
  color: var(--green-dark);
  background: var(--green-soft);
}

#leadershipPanel .leadership-view-switch {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: 13px;
  padding: 6px;
  background: var(--club-surface);
}

#leadershipPanel .leadership-view-switch button {
  min-height: 42px;
  border: 1px solid transparent;
  border-radius: 9px;
  padding: 9px 13px;
  color: #52677c;
  background: transparent;
  box-shadow: none;
  font-weight: 850;
}

#leadershipPanel .leadership-view-switch button:hover,
#leadershipPanel .leadership-view-switch button:focus-visible,
#leadershipPanel .leadership-view-switch button.is-active {
  border-color: rgba(19, 163, 111, 0.28);
  color: var(--green-dark);
  background: var(--green-soft);
  box-shadow: 0 3px 10px rgba(19, 163, 111, 0.08);
}

#leadershipPanel .leadership-kpi,
#leadershipPanel .leadership-card,
#leadershipPanel .leadership-team-card,
#leadershipPanel .technical-feedback-card,
#leadershipPanel .technical-weekly-summary,
#leadershipPanel .technical-table-launcher,
#leadershipPanel .contract-document-card,
#leadershipPanel .contract-renewal-box,
#leadershipPanel .president-contract-fieldset,
#leadershipPanel .president-contract-browser {
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 4px 14px rgba(13, 42, 73, 0.04);
}

#leadershipPanel .leadership-kpi {
  border-top: 4px solid var(--green);
  padding: 15px;
}

#leadershipPanel .leadership-kpi span {
  color: #52677c;
}

#leadershipPanel .leadership-kpi strong,
#leadershipPanel .leadership-card h4,
#leadershipPanel .leadership-team-card h4,
#leadershipPanel .leadership-team-mini-kpis strong,
#leadershipPanel .leadership-team-compact-list h5,
#leadershipPanel .leadership-team-player-row strong,
#leadershipPanel .leadership-player-item strong {
  color: var(--ink);
}

#leadershipPanel .leadership-kpi small,
#leadershipPanel .leadership-player-item small,
#leadershipPanel .leadership-team-mini-kpis span,
#leadershipPanel .leadership-team-compact-list small,
#leadershipPanel .leadership-team-compact-list p,
#leadershipPanel .leadership-team-player-row small {
  color: var(--muted);
}

#leadershipPanel .leadership-player-item {
  grid-template-columns: minmax(160px, 0.85fr) minmax(220px, 1.15fr);
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: 11px;
  color: var(--ink);
  background: var(--club-surface);
  box-shadow: none;
}

#leadershipPanel .leadership-player-item:hover,
#leadershipPanel .leadership-player-item:focus-visible {
  border-color: #9fd9c0;
  border-left-color: var(--green-dark);
  background: var(--green-soft);
}

#leadershipPanel .leadership-player-item.warn {
  border-color: #ecd080;
  border-left-color: var(--gold);
  background: #fffaf0;
}

#leadershipPanel .leadership-player-item.bad {
  border-color: #edabb3;
  border-left-color: var(--red);
  background: #fff6f7;
}

#leadershipPanel .leadership-player-item b {
  justify-self: stretch;
  max-width: none;
  border: 1px solid #9fd9c0;
  border-radius: 9px;
  padding: 8px 10px;
  color: var(--green-dark);
  background: var(--green-soft);
  font-size: 0.82rem;
  line-height: 1.35;
  text-align: left;
}

#leadershipPanel .leadership-team-filter button {
  border: 1px solid var(--line);
  border-radius: 9px;
  color: #45586c;
  background: var(--surface);
  box-shadow: 0 2px 7px rgba(13, 42, 73, 0.035);
}

#leadershipPanel .leadership-team-filter button:hover,
#leadershipPanel .leadership-team-filter button:focus-visible,
#leadershipPanel .leadership-team-filter button.is-active {
  border-color: var(--green-dark);
  color: var(--white);
  background: var(--green-dark);
}

#leadershipPanel .leadership-team-filter b {
  color: var(--navy-900);
  background: var(--white);
}

#leadershipPanel .leadership-team-card {
  padding: 16px;
}

#leadershipPanel .leadership-team-mini-kpis div,
#leadershipPanel .leadership-team-compact-list,
#leadershipPanel .leadership-team-player-row {
  border-color: var(--line);
  color: var(--ink);
  background: var(--club-surface);
  box-shadow: none;
}

#leadershipPanel .leadership-team-compact-list {
  border-left-color: var(--blue);
}

#leadershipPanel .leadership-team-compact-list h5 {
  border-bottom-color: var(--line);
}

#leadershipPanel .leadership-team-compact-list p {
  border-color: #c8d7e3;
  background: var(--surface);
}

#leadershipPanel .leadership-team-player-row:hover,
#leadershipPanel .leadership-team-player-row:focus-visible {
  border-color: #9fd9c0;
  background: var(--green-soft);
}

#leadershipPanel .leadership-team-player-row b {
  border-color: #9fd9c0;
  color: var(--green-dark);
  background: var(--green-soft);
}

#leadershipPanel .president-contract-form label,
#leadershipPanel .contract-renewal-form label,
#leadershipPanel .technical-column-filter label,
#leadershipPanel .technical-permission-card label {
  color: #45586c;
}

@media (max-width: 760px) {
  #leadershipPanel .leadership-player-item {
    grid-template-columns: minmax(0, 1fr);
  }

  #leadershipPanel .leadership-view-switch {
    flex-wrap: nowrap;
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
  }

  #leadershipPanel .leadership-view-switch::-webkit-scrollbar {
    display: none;
  }

  #leadershipPanel .leadership-view-switch button {
    flex: 0 0 auto;
  }
}

@media (max-width: 430px) {
  .sidebar-tool-action {
    flex-basis: 74px;
    width: 74px;
  }

  .toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .toolbar #dataManagementBtn,
  .toolbar .view-preview-control {
    grid-column: 1 / -1;
  }

  .home-player-list,
  .home-hero.has-team-dashboard .home-player-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .profile-actions,
  .dialog-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Magas specifikussagu olvashatosagi vedohalo a regi adatlap-szabalyokhoz. */
.player-detail .profile-actions .ghost-action,
.player-detail #backToTeamBtn,
.player-detail #editPlayerBtn {
  border-color: var(--line);
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 3px 9px rgba(13, 42, 73, 0.04);
}

.player-detail .profile-actions .ghost-action:hover,
.player-detail #backToTeamBtn:hover,
.player-detail #editPlayerBtn:hover {
  border-color: #afc5d7;
  color: var(--navy-800);
  background: var(--blue-soft);
}

.player-detail .profile-actions .danger-action,
.player-detail #deletePlayerBtn {
  border-color: #efb4ba;
  color: #a72f3d;
  background: var(--red-soft);
}

.player-detail .profile-actions .danger-action:hover,
.player-detail #deletePlayerBtn:hover {
  border-color: var(--red);
  color: var(--white);
  background: var(--red);
}

.player-detail .info-list dd,
.player-detail .history-item strong,
.player-detail .chart-card-head h4,
.player-detail .feedback-card-head h4,
.player-detail .team-kpi strong,
.player-detail .metric-table-row strong,
.player-detail .team-table-row strong,
.player-detail .full-data-item strong,
.player-detail .spark-copy strong,
.player-detail .progress-row strong,
.player-detail .reference-compare-summary strong,
.player-detail .reference-compare-row > strong,
.player-detail .management-item strong {
  color: var(--ink);
  text-shadow: none;
}

.player-detail .info-tip {
  border-color: rgba(44, 114, 232, 0.28);
  color: var(--blue);
  background: var(--blue-soft);
}

.player-detail .orthopedic-recommendation-head small {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  border: 1px solid #9fd9c0;
  border-radius: 999px;
  padding: 4px 9px;
  color: #086044;
  background: var(--green-soft);
  font-weight: 850;
}

.tabs,
.result-subtabs,
.team-view-menu,
.coach-detail-tabs,
.coach-directory-switch,
.field-schedule-switch,
.sidebar-tools {
  scrollbar-width: none;
}

.tabs::-webkit-scrollbar,
.result-subtabs::-webkit-scrollbar,
.team-view-menu::-webkit-scrollbar,
.coach-detail-tabs::-webkit-scrollbar,
.coach-directory-switch::-webkit-scrollbar,
.field-schedule-switch::-webkit-scrollbar,
.sidebar-tools::-webkit-scrollbar {
  display: none;
}

.player-detail .narrative-list {
  display: grid;
  gap: 9px;
}

.player-detail .narrative-list > li,
.player-detail .narrative-list > li.good,
.player-detail .narrative-list > li.warn,
.player-detail .narrative-list > li.neutral,
.player-detail .narrative-list > li.bad {
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: 10px;
  color: var(--ink);
  background: #f8fafc;
}

.player-detail .narrative-list > li.good {
  border-left-color: var(--green);
  background: #f4fcf8;
}

.player-detail .narrative-list > li.warn,
.player-detail .narrative-list > li.neutral {
  border-left-color: var(--gold);
  background: #fffaf0;
}

.player-detail .narrative-list > li.bad {
  border-left-color: var(--red);
  background: #fff6f7;
}

.player-detail .narrative-list > li strong {
  color: var(--ink);
}

.player-detail .narrative-list > li span,
.player-detail .narrative-list > li p,
.player-detail .narrative-list > li small {
  color: var(--muted);
}

.player-detail .change-text.good,
.player-detail .report-rating.good {
  border-color: #9fd9c0;
  color: #086044;
  background: var(--green-soft);
}

.player-detail .change-text.neutral,
.player-detail .change-text.warn,
.player-detail .report-rating.neutral,
.player-detail .report-rating.warn {
  border-color: #ecd080;
  color: #795200;
  background: var(--gold-soft);
}

.player-detail .change-text.bad,
.player-detail .report-rating.bad {
  border-color: #edabb3;
  color: #9e2e3b;
  background: var(--red-soft);
}

.home-player-card {
  border-color: var(--line);
  border-radius: 10px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 2px 8px rgba(13, 42, 73, 0.035);
}

.home-player-card strong {
  color: var(--ink);
}

.home-player-card:hover {
  border-color: #9fd9c0;
  background: var(--green-soft);
  box-shadow: 0 7px 18px rgba(13, 42, 73, 0.08);
  transform: translateY(-1px);
}

@media (min-width: 1101px) {
  .team-view-menu {
    grid-template-columns: repeat(7, minmax(116px, 1fr));
  }
}

.parent-portal-switch {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: 13px;
  padding: 6px;
  background: var(--club-surface);
}

.parent-portal-switch button {
  min-height: 42px;
  border: 1px solid transparent;
  border-radius: 9px;
  padding: 9px 13px;
  color: #52677c;
  background: transparent;
  font-weight: 850;
}

.parent-portal-switch button:hover,
.parent-portal-switch button:focus-visible,
.parent-portal-switch button.is-active {
  border-color: var(--green);
  color: var(--white);
  background: var(--green);
  box-shadow: 0 5px 12px rgba(19, 163, 111, 0.17);
}

.parent-attendance-stats,
.parent-calendar-card,
.parent-notification-preference,
.parent-attendance-reminder {
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 4px 14px rgba(13, 42, 73, 0.04);
}

.parent-attendance-stats-head strong,
.parent-calendar-head strong,
.parent-notification-preference strong,
.parent-attendance-reminder-copy h4 {
  color: var(--ink);
}

.parent-attendance-stats-head > span,
.parent-calendar-head span,
.parent-notification-preference span,
.parent-attendance-reminder-copy span {
  color: var(--muted);
}

.parent-attendance-stat {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f8fafc;
}

.parent-attendance-stat b,
.parent-attendance-stat span {
  color: var(--ink);
}

.parent-attendance-stat span {
  color: #52677c;
}

.parent-attendance-stat.attending {
  border-color: #9fd9c0;
  background: var(--green-soft);
}

.parent-attendance-stat.absent {
  border-color: #edabb3;
  background: var(--red-soft);
}

.parent-attendance-stat.undecided {
  border-color: #ecd080;
  background: var(--gold-soft);
}

.parent-attendance-reminder {
  border-left: 4px solid var(--gold);
  background: var(--gold-soft);
}

.parent-attendance-reminder.is-email {
  border-color: #aac3ea;
  border-left: 4px solid var(--blue);
  background: var(--blue-soft);
}

@media (max-width: 760px) {
  .parent-portal-switch {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .parent-portal-switch::-webkit-scrollbar {
    display: none;
  }

  .parent-portal-switch button {
    flex: 0 0 auto;
  }

  .parent-attendance-stat-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Feladatkezelo listak */
#tasksPanel .task-bulk-actions {
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink);
  background: var(--club-surface);
}

#tasksPanel .task-bulk-actions strong {
  color: var(--ink);
}

#tasksPanel .task-bulk-actions span {
  color: var(--muted);
}

#tasksPanel .task-item {
  border: 1px solid var(--line);
  border-left: 5px solid var(--blue);
  border-radius: 12px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 3px 10px rgba(13, 42, 73, 0.035);
}

#tasksPanel .task-item.task-type-motoric {
  border-color: #9fd9c0;
  border-left-color: var(--green-dark);
  background: #f4fcf8;
  box-shadow: 0 3px 10px rgba(13, 42, 73, 0.035);
}

#tasksPanel .task-item.overdue {
  border-color: #edabb3;
  border-left-color: var(--red);
  background: var(--red-soft);
}

#tasksPanel .task-item.soon {
  border-color: #ecd080;
  border-left-color: var(--gold);
  background: var(--gold-soft);
}

#tasksPanel .task-item.done {
  border-left-color: #91a0b0;
  background: #f1f4f7;
  opacity: 0.78;
}

#tasksPanel .task-select,
#tasksPanel .task-item-main small,
#tasksPanel .task-meta,
#tasksPanel .task-item p,
#tasksPanel .task-item.task-type-motoric .task-item-main small,
#tasksPanel .task-item.task-type-motoric .task-meta,
#tasksPanel .task-item.task-type-motoric p {
  color: var(--muted);
}

#tasksPanel .task-item-main strong,
#tasksPanel .task-item.task-type-motoric .task-item-main strong {
  color: var(--ink);
}

#tasksPanel .task-status-pill {
  color: var(--white);
  background: var(--green-dark);
}

#tasksPanel .task-status-pill.overdue {
  color: var(--white);
  background: #a72f3d;
}

#tasksPanel .task-status-pill.soon {
  color: var(--white);
  background: #795200;
}

#tasksPanel .task-status-pill.upcoming {
  color: var(--white);
  background: var(--blue);
}

#tasksPanel .task-status-pill.done {
  color: #45586c;
  background: #e4eaf0;
}

#tasksPanel .task-email-missing {
  border-color: #ecd080;
  color: #795200;
  background: var(--gold-soft);
}

#tasksPanel .inline-link {
  color: var(--green-dark);
}

#leadershipPanel .technical-table-open-button span,
#leadershipPanel .technical-table-open-button b {
  color: var(--green-dark);
  background: var(--white);
}

#fieldsPanel #fieldDocumentUploadHint,
#trainingPanel #trainingFileName,
#trainingPanel .training-summary-line span {
  color: #52677c;
}

.toolbar .ghost-action.is-active {
  border-color: #9fd9c0;
  color: var(--green-deep);
  background: var(--green-soft);
}

#coachesPanel .management-form label.technical-excel-upload-button {
  border-color: var(--green-dark);
  color: var(--white);
  background: var(--green-dark);
}

#coachesPanel .management-form label.technical-excel-upload-button:hover {
  border-color: var(--green-deep);
  color: var(--white);
  background: var(--green-deep);
}

#dataPanel .data-health-panel {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: 0 4px 14px rgba(13, 42, 73, 0.04);
}

#dataPanel .data-health-item {
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: 11px;
  color: var(--ink);
  background: var(--club-surface);
}

#dataPanel .data-health-item.warn {
  border-color: #ecd080;
  border-top-color: var(--gold);
  background: var(--gold-soft);
}

#dataPanel .data-health-item.good {
  border-color: #9fd9c0;
  border-top-color: var(--green-dark);
  background: var(--green-soft);
}

#dataPanel .data-health-item span {
  color: #52677c;
}

#dataPanel .data-health-item strong {
  color: var(--ink);
}

#dataPanel .data-health-item small {
  color: var(--muted);
}

#paymentsPanel .payment-summary-line span,
#paymentsPanel .payment-list-toolbar span {
  color: var(--muted);
}

.payment-full-page .payment-detail-grid > span {
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--ink);
  background: var(--club-surface);
}

.payment-full-page .payment-detail-grid > span b {
  color: var(--ink);
}

.payment-full-page .payment-status-pill.unpaid,
#paymentsPanel .payment-status-pill.unpaid {
  border: 1px solid #ecd080;
  color: #795200;
  background: var(--gold-soft);
}

.payment-full-page .payment-status-pill.paid,
#paymentsPanel .payment-status-pill.paid {
  border: 1px solid #9fd9c0;
  color: var(--green-dark);
  background: var(--green-soft);
}

.parent-portal-switch button:hover,
.parent-portal-switch button:focus-visible,
.parent-portal-switch button.is-active {
  border-color: var(--green-dark);
  color: var(--white);
  background: var(--green-dark);
  box-shadow: 0 5px 12px rgba(11, 124, 84, 0.18);
}

#parentChildPanel .coach-note-stack section:nth-child(1) h4 {
  color: var(--green-dark);
}

#parentChildPanel .coach-note-stack section:nth-child(2) h4 {
  color: #795200;
}

#parentChildPanel .coach-note-stack section:nth-child(3) h4 {
  color: var(--navy-700);
}

#parentChildPanel .change-text.neutral,
#parentChildPanel .report-rating.neutral {
  border-color: #ecd080;
  color: #795200;
  background: var(--gold-soft);
}

.info-tip,
.player-detail .info-tip {
  border-color: #aac3ea;
  color: #1d5fbd;
  background: var(--blue-soft);
}

.player-detail .score-overall {
  border: 1px solid #c8d7e3;
  color: var(--ink);
  background: #edf3f7;
}

.player-detail .score-overall.good {
  border-color: #9fd9c0;
  color: var(--green-dark);
  background: var(--green-soft);
}

.player-detail .score-overall.neutral,
.player-detail .score-overall.warn {
  border-color: #ecd080;
  color: #795200;
  background: var(--gold-soft);
}

.player-detail .score-overall.bad {
  border-color: #edabb3;
  color: #9e2e3b;
  background: var(--red-soft);
}

.player-detail .score-overall span,
.player-detail .score-overall strong {
  color: inherit;
}

.player-detail strong.good,
#parentChildPanel strong.good {
  color: var(--green-dark);
}

.home-team-players .motoric-ranking-explainer {
  border-color: #9fd9c0;
  border-left-color: var(--green-dark);
  background: var(--green-soft);
}

.home-team-players .motoric-ranking-explainer strong {
  color: var(--ink);
}

.home-team-players .motoric-ranking-explainer p {
  color: #52677c;
}

.home-team-players .motoric-rank-place strong,
.home-team-players .motoric-ranking-total {
  color: var(--ink);
}

.home-team-players .motoric-rank-change.good {
  border: 1px solid #9fd9c0;
  color: var(--green-dark);
  background: var(--green-soft);
}

.home-team-players .motoric-rank-change.bad {
  border: 1px solid #edabb3;
  color: #9e2e3b;
  background: var(--red-soft);
}

.home-team-players .motoric-rank-change.neutral {
  border: 1px solid var(--line);
  color: #52677c;
  background: var(--club-surface);
}

.home-team-players .motoric-ranking-score small {
  color: #52677c;
}

.home-team-players .excel-table td.motoric-ranking-score.good {
  color: var(--green-dark);
  background: #e0fdee;
}

.home-team-players .excel-table td.motoric-ranking-score.neutral {
  color: var(--navy-700);
  background: #eaf6ff;
}

.home-team-players .excel-table td.motoric-ranking-score.warn {
  color: #795200;
  background: #fff6e6;
}

.home-team-players .excel-table td.motoric-ranking-score.bad {
  color: #9e2e3b;
  background: #ffebea;
}

.home-team-players .excel-table td.motoric-ranking-score.missing {
  color: var(--muted);
  background: var(--surface);
}

.home-team-players .excel-table tbody th,
.home-team-players .team-data-table tbody th {
  border-color: var(--line);
  color: var(--ink);
  background: var(--surface);
}

.home-team-players .excel-table tbody tr:nth-child(even) th,
.home-team-players .excel-table tbody tr:nth-child(even) td,
.home-team-players .team-data-table tbody tr:nth-child(even) th,
.home-team-players .team-data-table tbody tr:nth-child(even) td {
  background: var(--club-surface);
}

.home-team-players .excel-table tfoot th,
.home-team-players .excel-table tfoot td,
.home-team-players .team-data-table tfoot th,
.home-team-players .team-data-table tfoot td {
  border-color: #9fd9c0;
  color: var(--green-dark);
  background: var(--green-soft);
}

.home-team-players .team-data-player-link {
  color: var(--navy-800);
}

.home-team-players .team-data-player-link:hover,
.home-team-players .team-data-player-link:focus-visible {
  color: var(--green-dark);
}

.home-team-players .average-previous,
.home-team-players .average-trend.neutral,
.home-team-players .cell-trend.neutral {
  color: #52677c;
}

.home-team-players .average-trend.up,
.home-team-players .cell-trend.up {
  color: var(--green-dark);
}

.home-team-players .average-trend.down,
.home-team-players .cell-trend.down {
  color: #a72f3d;
}

.team-programs-head .primary-action,
.team-programs-head .primary-action span,
.team-programs-head .primary-action i {
  color: var(--white);
}

.home-team-players .team-average-meta > span {
  border-color: var(--line);
  color: var(--muted);
  background: var(--club-surface);
}

.home-team-players .team-average-meta > span span,
.home-team-players .team-average-meta .value-with-info {
  color: inherit;
}

.home-team-players .team-average-meta .change-text.good {
  border-color: #9fd9c0;
  color: var(--green-dark);
  background: var(--green-soft);
}

.home-team-players .team-average-meta .change-text.bad {
  border-color: #edabb3;
  color: #9e2e3b;
  background: var(--red-soft);
}

.home-team-players .team-average-meta .change-text.neutral {
  border-color: #ecd080;
  color: #795200;
  background: var(--gold-soft);
}

.home-team-players .team-average-meta .info-tip {
  border-color: #aac3ea;
  color: #1d5fbd;
  background: var(--blue-soft);
}

.value-with-info .info-tip,
.workspace .value-with-info .info-tip {
  border-color: #aac3ea;
  color: #1d5fbd;
  background: var(--blue-soft);
}

.home-team-players .orthopedic-reference-compare-card span,
.home-team-players .orthopedic-reference-compare-card small,
.orthopedic-reference-compare-card span,
.orthopedic-reference-compare-card small,
.reference-values-head span,
.reference-values-subhead span,
.reference-values-subcard small,
.reference-values-card p {
  color: var(--muted);
}

.home-team-players .orthopedic-reference-compare-card strong,
.home-team-players .orthopedic-reference-compare-card b,
.orthopedic-reference-compare-card strong,
.orthopedic-reference-compare-card b {
  color: var(--ink);
}

#coachProgramDialog .coach-program-dialog-card .dialog-form-note,
.coach-program-dialog-card .dialog-form-note,
.dialog-form-note {
  color: var(--muted) !important;
}

/* Marketplace: a korábbi klubshop-koncepció visszaemelt, valódi alkalmazásnézete. */
#marketplacePanel {
  display: grid;
  gap: 18px;
  color: var(--ink);
  background: var(--theme-canvas, var(--paper));
}

#marketplacePanel .marketplace-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
}

#marketplacePanel .marketplace-hero-copy {
  min-width: 0;
}

#marketplacePanel .marketplace-hero-copy > p:last-child {
  max-width: 720px;
  margin: 8px 0 0;
}

#marketplacePanel .marketplace-shop-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  white-space: nowrap;
  text-decoration: none;
}

#marketplacePanel .marketplace-shop-link svg,
#marketplacePanel .marketplace-info-grid svg,
#marketplacePanel .marketplace-product-link svg {
  width: 17px;
  height: 17px;
}

#marketplacePanel .marketplace-section {
  display: grid;
  gap: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 18px;
  background: var(--surface);
  box-shadow: var(--soft-shadow);
}

#marketplacePanel .marketplace-section-heading {
  align-items: end;
  margin: 0;
}

#marketplacePanel .marketplace-section-heading h4 {
  margin: 4px 0 0;
  color: var(--ink);
}

#marketplacePanel .marketplace-section-heading > span {
  color: var(--muted);
  font-size: 0.85rem;
  font-weight: 700;
  text-align: right;
}

#marketplacePanel .marketplace-product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

#marketplacePanel .marketplace-product-card {
  display: grid;
  min-width: 0;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  background: var(--club-surface);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

#marketplacePanel .marketplace-product-card:hover,
#marketplacePanel .marketplace-product-card:focus-within {
  border-color: #a6caba;
  box-shadow: var(--soft-shadow);
  transform: translateY(-2px);
}

#marketplacePanel .marketplace-product-image {
  display: grid;
  min-height: 142px;
  place-items: center;
  border-radius: 9px;
  background: var(--surface);
}

#marketplacePanel .marketplace-product-image img {
  width: 100%;
  height: 142px;
  object-fit: contain;
}

#marketplacePanel .marketplace-product-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

#marketplacePanel .marketplace-product-copy strong {
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 0.98rem;
}

#marketplacePanel .marketplace-product-copy span {
  color: var(--green-dark);
  font-size: 0.85rem;
  font-weight: 850;
}

#marketplacePanel .marketplace-product-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 34px;
  border-top: 1px solid var(--line);
  padding-top: 8px;
  color: var(--green-dark);
  font-size: 0.82rem;
  font-weight: 850;
  text-decoration: none;
}

#marketplacePanel .marketplace-product-link:hover,
#marketplacePanel .marketplace-product-link:focus-visible {
  color: var(--navy-800);
  text-decoration: underline;
}

#marketplacePanel .marketplace-info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

#marketplacePanel .marketplace-info-grid article {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px;
  background: var(--surface);
}

#marketplacePanel .marketplace-info-grid article > svg {
  flex: 0 0 auto;
  color: var(--green-dark);
}

#marketplacePanel .marketplace-info-grid div {
  display: grid;
  gap: 4px;
}

#marketplacePanel .marketplace-info-grid strong {
  color: var(--ink);
  font-size: 0.9rem;
}

#marketplacePanel .marketplace-info-grid span {
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

@media (max-width: 980px) {
  #marketplacePanel .marketplace-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  #marketplacePanel .marketplace-hero {
    grid-template-columns: auto minmax(0, 1fr);
  }

  #marketplacePanel .marketplace-shop-link {
    grid-column: 1 / -1;
    width: 100%;
  }

  #marketplacePanel .marketplace-section-heading {
    align-items: start;
    gap: 8px;
    flex-direction: column;
  }

  #marketplacePanel .marketplace-section-heading > span {
    text-align: left;
  }

  #marketplacePanel .marketplace-product-grid,
  #marketplacePanel .marketplace-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  #marketplacePanel .marketplace-hero {
    grid-template-columns: 1fr;
  }

  #marketplacePanel .marketplace-hero .data-hero-logo {
    display: none;
  }

  #marketplacePanel .marketplace-product-grid,
  #marketplacePanel .marketplace-info-grid {
    grid-template-columns: 1fr;
  }
}

.player-intake-documents {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid #b9ddd0;
  border-radius: 16px;
  background: #f3fbf7;
}

.player-intake-documents legend {
  padding: 0 6px;
  color: #075e43;
  font-weight: 850;
}

.player-intake-documents > p {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 0.86rem;
}

.player-intake-document-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.player-intake-document {
  display: grid;
  gap: 5px;
  min-height: 84px;
  padding: 13px;
  border: 1px dashed #7dbca8;
  border-radius: 12px;
  cursor: pointer;
  background: #fff;
}

.player-intake-document:hover { border-color: var(--green); background: #f8fffb; }
.player-intake-document span { color: var(--ink); font-weight: 800; }
.player-intake-document small { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }

.player-documents-status {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 16px;
  margin-bottom: 14px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #edf7f2;
  color: #075e43;
}

.player-documents-status span { font-weight: 850; }
.player-documents-status small { color: #3e6255; }

.player-document-list { display: grid; gap: 10px; }

.player-document-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--surface);
}

.player-document-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; color: #075e43; background: #dff3e9; }
.player-document-copy { display: grid; min-width: 0; gap: 2px; }
.player-document-copy strong { color: var(--ink); }
.player-document-copy span, .player-document-copy small { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.player-document-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.player-document-actions .ghost-action, .player-document-actions .danger-action { min-height: 36px; padding: 7px 10px; }

.technical-new-player-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 18px;
  padding: 18px 20px;
  border: 1px solid #efd185;
  border-left: 5px solid #c88900;
  border-radius: 15px;
  background: #fff9e8;
}

.technical-new-player-banner p, .technical-new-player-banner h4, .technical-new-player-banner span { margin: 0; }
.technical-new-player-banner p { color: #8a5b00; font-size: 0.75rem; font-weight: 900; letter-spacing: 0.05em; text-transform: uppercase; }
.technical-new-player-banner h4 { margin-top: 3px; color: #3d2c00; }
.technical-new-player-banner span { display: block; margin-top: 5px; color: #725b20; font-size: 0.88rem; }

.technical-new-player-review-dialog {
  width: min(560px, calc(100vw - 28px));
}

.technical-new-player-review-card {
  display: grid;
  gap: 18px;
}

.technical-new-player-review-hero {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding: 15px;
  border: 1px solid #b9ddd0;
  border-radius: 14px;
  background: #f3fbf7;
}

.technical-new-player-review-icon {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: var(--green-dark);
}

.technical-new-player-review-hero strong {
  display: block;
  color: var(--ink);
  font-size: 1.05rem;
}

.technical-new-player-review-hero p {
  margin: 4px 0 0;
  color: var(--muted);
  line-height: 1.45;
}

.technical-new-player-review-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.technical-new-player-review-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
}

.technical-new-player-review-list strong { color: var(--ink); }
.technical-new-player-review-list span { color: var(--muted); font-size: 0.84rem; }

.payment-record-person { display: grid; gap: 5px; }
.payment-parent-link-status { display: inline-flex; align-items: center; gap: 5px; width: fit-content; color: var(--muted); font-size: 0.75rem; font-weight: 750; }
.payment-parent-link-status.linked { color: #08734d; }
.payment-parent-link-status.unlinked, .payment-parent-link-status.missing { color: #a75c12; }
.payment-parent-link-status.checking { color: #607182; }

@media (max-width: 700px) {
  .player-intake-document-grid { grid-template-columns: 1fr; }
  .player-document-card { grid-template-columns: auto minmax(0, 1fr); }
  .player-document-actions { grid-column: 1 / -1; }
  .technical-new-player-banner { align-items: start; flex-direction: column; }
}

/* Tagdíj útvonalak, alaptagdíj-kérelem és EÜ jogosultság */
.payment-destination-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.payment-destination-card {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--green-dark);
  border-radius: 12px;
  padding: 13px;
  color: var(--ink);
  background: var(--surface);
}

.payment-destination-card.is-kelenvolgyi-se { border-left-color: #2d6fc2; }
.payment-destination-card > svg { flex: 0 0 auto; color: var(--green-dark); }
.payment-destination-card.is-kelenvolgyi-se > svg { color: #2d6fc2; }
.payment-destination-card > div { display: grid; min-width: 0; gap: 3px; }
.payment-destination-card strong { color: var(--ink); }
.payment-destination-card span,
.payment-destination-card small { color: var(--muted); }

.payment-route-label,
.payment-sibling-badge,
.payment-plan-pill,
.payment-request-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: fit-content;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 0.72rem;
  font-weight: 800;
}

.payment-route-label { padding-left: 0; color: var(--muted); }
.payment-sibling-badge { color: #6d4b00; background: #fff2c7; }
.payment-plan-pill.is-full { color: #08734d; background: #dcf5e8; }
.payment-plan-pill.is-base { color: #a13542; background: #ffe7ea; }
.payment-request-pill.pending { color: #805300; background: #fff1c4; }

.payment-base-fee-request-alert,
.parent-base-fee-status {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  border: 1px solid #e7c66d;
  border-radius: 11px;
  padding: 11px 12px;
  color: #694600;
  background: #fff8df;
  font-size: 0.84rem;
  font-weight: 750;
  line-height: 1.4;
}

.payment-base-fee-request-alert { margin: 10px 0 14px; }
.payment-base-fee-request-alert > svg,
.parent-base-fee-status > svg { flex: 0 0 auto; }
.parent-base-fee-status.handled { border-color: #91d0b5; color: #075e43; background: #eaf8f1; }
.parent-base-fee-request { border-color: #d6ab3d; color: #795000; background: #fff8df; }
.parent-base-fee-request:disabled { opacity: 0.7; }

#healthPanel .health-record-item {
  padding: 16px 52px 16px 16px;
}

#healthPanel .health-player-fee-status.eligible {
  color: #08734d !important;
}

#healthPanel .health-player-fee-status.blocked {
  color: #b32f3f !important;
}

#healthPanel .healthcare-access-label {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 0.72rem;
  font-weight: 850;
}

#healthPanel .healthcare-access-label.eligible { color: #075e43; background: #ddf5e9; }
#healthPanel .healthcare-access-label.blocked { color: #a52e3c; background: #ffe5e8; }
#healthPanel .health-delete { top: 12px; bottom: auto; }

.health-therapy-section {
  display: grid;
  gap: 11px;
  border-top: 1px solid var(--line);
  padding-top: 13px;
}

.health-therapy-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.health-therapy-head > div:first-child { display: grid; gap: 3px; }
.health-therapy-head strong { color: var(--ink); }
.health-therapy-head span,
.health-therapy-empty { margin: 0; color: var(--muted) !important; font-size: 0.8rem; }

.health-therapy-mini-stat {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.health-therapy-mini-stat span {
  display: grid;
  gap: 1px;
  border: 1px solid #a9d9c5;
  border-radius: 9px;
  padding: 7px 9px;
  color: #366252 !important;
  background: #effaf5;
  text-align: center;
}

.health-therapy-mini-stat b { color: #075e43; font-size: 0.88rem; }

.health-therapy-history {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.health-therapy-history li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 8px 10px;
  color: var(--ink);
  background: var(--club-surface);
  font-size: 0.82rem;
}

.health-therapy-history button {
  border: 0;
  padding: 3px 5px;
  color: #a52e3c;
  background: transparent;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 850;
  cursor: pointer;
}

.health-therapy-form {
  display: grid;
  grid-template-columns: minmax(150px, 0.7fr) minmax(220px, 1.3fr) auto;
  align-items: end;
  gap: 9px;
  border: 1px dashed #8acaae;
  border-radius: 11px;
  padding: 11px;
  background: var(--green-soft);
}

.health-therapy-form label {
  display: grid;
  gap: 5px;
  color: #45586c;
  font-size: 0.76rem;
  font-weight: 850;
}

.health-therapy-form input {
  min-width: 0;
  color: var(--ink);
  background: var(--surface);
}

.health-therapy-form .ghost-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 42px;
}

@media (max-width: 760px) {
  .payment-destination-grid { grid-template-columns: 1fr; }
  .health-therapy-head { flex-direction: column; }
  .health-therapy-mini-stat { justify-content: flex-start; }
  .health-therapy-form { grid-template-columns: 1fr; }
  .health-therapy-form .ghost-action { width: 100%; }
}
