:root {
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ink: #111827;
  --muted: #64748b;
  --line: #d8dee9;
  --panel: rgba(255, 255, 255, 0.96);
  --club-navy: #071426;
  --club-navy-2: #12345a;
  --club-gold: #94a3b8;
  --club-gold-soft: #eef2f7;
  --action-green: #53c414;
  --action-green-2: #8cff24;
  --iatic-black: #030604;
  --iatic-panel: #071009;
  --iatic-green: #78e31b;
  --iatic-green-2: #9dff2f;
  --iatic-silver: #cfd5d1;
  --iatic-white: #f8faf7;
  --blue: #2f8f19;
  --orange: var(--iatic-green);
  --green: #059669;
  --red: #dc2626;
}

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background:
    linear-gradient(rgba(17, 24, 39, .032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17, 24, 39, .032) 1px, transparent 1px),
    radial-gradient(circle at 10% 8%, rgba(148, 163, 184, .16), transparent 26rem),
    radial-gradient(circle at 86% 12%, rgba(83, 196, 20, .12), transparent 24rem),
    linear-gradient(180deg, #f7fafc 0%, #eef4f8 100%);
  background-size: 42px 42px, 42px 42px, auto, auto, auto;
  color: var(--ink);
}

button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a.link-button {
  display: inline-grid;
  place-items: center;
  min-height: 2.6rem;
  text-decoration: none;
}

.app-shell { min-height: 100vh; }
.app-hidden { display: none; }

.login-screen {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto 1fr;
  padding: clamp(1rem, 3vw, 2.5rem);
  color: white;
  background:
    linear-gradient(rgba(157, 255, 47, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(157, 255, 47, .055) 1px, transparent 1px),
    radial-gradient(circle at 22% 16%, rgba(157, 255, 47, .18), transparent 18rem),
    radial-gradient(circle at 78% 36%, rgba(34, 197, 94, .16), transparent 22rem),
    linear-gradient(90deg, rgba(255,255,255,.08) 0 2px, transparent 2px 48%, rgba(255,255,255,.08) 48% 52%, transparent 52%),
    linear-gradient(135deg, #020604, #061508 48%, #030907);
  background-size: 46px 46px, 46px 46px, auto, auto, auto, auto;
}
.login-screen::before {
  content: "";
  position: absolute;
  inset: 8.5rem 3vw 3vw;
  border: 2px solid rgba(255,255,255,.08);
  border-radius: 18px;
  pointer-events: none;
}
.login-screen::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 54%;
  width: min(32vw, 24rem);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border: 2px solid rgba(157, 255, 47, .14);
  border-radius: 999px;
  box-shadow: 0 0 0 1rem rgba(157, 255, 47, .025), inset 0 0 44px rgba(157, 255, 47, .05);
  pointer-events: none;
}
.login-screen.app-hidden,
.app-shell.app-hidden {
  display: none;
}
.login-brand {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: .85rem;
  width: fit-content;
  padding: .75rem .9rem;
  border: 1px solid rgba(157, 255, 47, .18);
  border-radius: 8px;
  background: rgba(0,0,0,.55);
  box-shadow: 0 16px 34px rgba(0,0,0,.28);
}
.login-logo {
  display: block;
  width: min(300px, 72vw);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 0 22px rgba(120, 227, 27, .18));
}
.iatic-logo-mark {
  position: relative;
  display: grid;
  place-items: center;
  width: 3.7rem;
  height: 3.7rem;
  color: var(--iatic-green);
  font-size: 2.25rem;
  font-weight: 950;
  line-height: 1;
  filter: drop-shadow(0 0 18px rgba(120, 227, 27, .42));
}
.iatic-logo-mark::before,
.iatic-logo-mark::after {
  content: "";
  position: absolute;
  inset: .2rem;
  border-radius: 14px;
  transform: rotate(30deg);
}
.iatic-logo-mark::before {
  border-left: 5px solid var(--iatic-silver);
  border-bottom: 5px solid var(--iatic-silver);
  filter: drop-shadow(0 0 8px rgba(255,255,255,.22));
}
.iatic-logo-mark::after {
  border-right: 5px solid var(--iatic-green);
  border-top: 5px solid var(--iatic-green);
}
.iatic-logo-mark span { position: relative; transform: translateY(-.03em); }
.login-brand strong,
.login-brand span {
  display: block;
}
.login-brand strong {
  font-size: 1.25rem;
  letter-spacing: .02em;
  color: var(--iatic-white);
  text-transform: lowercase;
}
.login-brand span {
  color: #90978f;
  font-size: .9rem;
  font-weight: 700;
}
.logo-dot { color: var(--iatic-green); }
.login-layout {
  position: relative;
  z-index: 1;
  width: min(1120px, 100%);
  margin: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, .75fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
}
.login-copy h1 {
  margin: .75rem 0 1rem;
  max-width: 12ch;
  font-size: clamp(2.8rem, 6.6vw, 6rem);
  line-height: .9;
  letter-spacing: 0;
  text-transform: uppercase;
  text-wrap: balance;
}
.login-copy p {
  max-width: 43rem;
  margin: 0;
  color: #d8e2d5;
  font-size: clamp(1rem, 2vw, 1.2rem);
  line-height: 1.65;
  font-weight: 700;
}
.eyebrow {
  display: inline-flex;
  width: fit-content;
  color: var(--iatic-green);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.login-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
  max-width: 34rem;
  margin-top: 2rem;
}
.login-metrics div {
  border: 1px solid rgba(157, 255, 47, .24);
  border-radius: 8px;
  padding: .95rem 1rem;
  background: rgba(2, 6, 4, .62);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
.login-metrics strong,
.login-metrics span {
  display: block;
}
.login-metrics strong {
  color: #fff;
  font-size: 1.55rem;
  line-height: 1;
  text-transform: uppercase;
}
.login-metrics span {
  color: #a8b7a5;
  font-size: .8rem;
  font-weight: 850;
  text-transform: uppercase;
}
.login-card {
  position: relative;
  display: grid;
  gap: .9rem;
  padding: clamp(1.2rem, 3vw, 1.8rem);
  border-radius: 8px;
  background:
    linear-gradient(rgba(157,255,47,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(157,255,47,.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(13, 22, 15, .96), rgba(3, 8, 4, .98));
  background-size: 24px 24px, 24px 24px, auto;
  color: var(--iatic-white);
  box-shadow: 0 28px 72px rgba(0, 0, 0, .58), 0 0 50px rgba(120, 227, 27, .10);
  border: 1px solid rgba(157, 255, 47, .25);
}
.login-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  border-radius: 8px 8px 0 0;
  background: linear-gradient(90deg, var(--iatic-green), var(--iatic-green-2));
}
.login-card input {
  min-height: 3.15rem;
  background: #eef6ff;
  border-color: rgba(157, 255, 47, .28);
  font-weight: 850;
}
.login-card h2 {
  margin: 0;
  color: var(--iatic-white);
  font-size: clamp(1.8rem, 3vw, 2.45rem);
  line-height: 1;
}
.login-card label {
  display: grid;
  gap: .35rem;
  color: #dce5da;
  font-size: .9rem;
  font-weight: 800;
}
.login-secondary {
  border: 1px solid rgba(120, 227, 27, .28);
  border-radius: 8px;
  min-height: 3rem;
  padding: .75rem 1rem;
  background: rgba(2, 6, 4, .62);
  color: var(--iatic-green-2);
  font-weight: 850;
}
.topbar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem clamp(1rem, 3vw, 2rem);
  color: white;
  background: #071426;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  backdrop-filter: blur(14px);
  box-shadow: 0 12px 32px rgba(7, 20, 38, .2);
}
.brand { display: flex; align-items: center; gap: .8rem; min-width: 0; }
.brand img { width: 3rem; height: 3rem; object-fit: contain; }
.brand strong, .brand span { display: block; }
.brand strong { font-size: clamp(1rem, 2vw, 1.3rem); }
.brand span { color: #d9e3ee; font-size: .85rem; }
.header-actions { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.account-button {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .55rem;
  align-items: center;
  min-width: min(18rem, 58vw);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 8px;
  padding: .62rem .8rem;
  background: rgba(255,255,255,.08);
  color: white;
  text-align: left;
}
.account-icon {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  font-size: 1rem;
}
.account-login {
  min-width: 0;
  color: #d9e3ee;
  font-size: .78rem;
  font-weight: 850;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.account-login::before {
  content: "Usuario";
  display: block;
  color: white;
  font-size: .7rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
select, input, textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: .72rem .8rem;
  background: #fff;
  color: var(--ink);
}
.header-actions select { min-width: 8.5rem; }
#teamSelect { min-width: 13rem; max-width: 18rem; }

.tabs {
  position: sticky;
  top: 5rem;
  z-index: 4;
  display: flex;
  gap: .45rem;
  overflow-x: auto;
  padding: .75rem clamp(1rem, 3vw, 2rem);
  background: rgba(247, 250, 252, .86);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(15, 39, 68, .1);
}
.tab {
  border: 1px solid #dbe3ef;
  color: #334155;
  background: rgba(255,255,255,.78);
  padding: .7rem .9rem;
  border-radius: 8px;
  white-space: nowrap;
}
.tab.active {
  background: var(--club-navy);
  color: white;
  border-color: var(--club-navy);
  box-shadow: inset 0 -3px 0 var(--action-green);
}

main { max-width: 1180px; margin: 0 auto; padding: 1rem clamp(1rem, 3vw, 2rem) 3rem; }
.status-line {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: #475569;
  font-size: .86rem;
  margin-bottom: .85rem;
}
.toolbar {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
}
.toolbar h1 { color: var(--club-navy); margin: 0; font-size: clamp(1.5rem, 4vw, 2.15rem); letter-spacing: 0; }
.toolbar p { color: #64748b; margin: .2rem 0 0; }
.toolbar-team-filter {
  min-width: min(24rem, 100%);
  display: grid;
  gap: .25rem;
  color: #475569;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}
.toolbar-team-filter select {
  min-height: 3rem;
  border-radius: 8px;
  border: 1px solid #dbe3ef;
  background: #fff;
  color: #0f172a;
  font-size: 1rem;
  font-weight: 850;
  padding: 0 .9rem;
}
.primary, .ghost-button, .danger {
  border: 0;
  border-radius: 8px;
  padding: .75rem 1rem;
  font-weight: 800;
}
.primary { background: linear-gradient(135deg, var(--action-green), var(--action-green-2)); color: #071006; }
.ghost-button { background: #f8fafc; color: #1e293b; border: 1px solid #dbe3ef; }
.danger { background: #fee2e2; color: #991b1b; }
.panel {
  background: var(--panel);
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  box-shadow: 0 18px 40px rgba(15, 39, 68, .08);
  overflow: hidden;
}
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); gap: 1rem; }
.card {
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  min-height: 10rem;
}
.card h3 { margin: 0 0 .35rem; }
.meta { color: var(--muted); font-size: .86rem; display: flex; gap: .45rem; flex-wrap: wrap; }
.badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .22rem .55rem;
  font-size: .74rem;
  font-weight: 800;
  background: #e0f2fe;
  color: #075985;
}
.badge.orange { background: #ffedd5; color: #9a3412; }
.badge.green { background: #dcfce7; color: #166534; }
.badge.red { background: #fee2e2; color: #991b1b; }
.actions { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .9rem; }
.actions button { padding: .55rem .7rem; }
.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; background: white; }
th, td { padding: .85rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { color: #334155; font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }
.responsive-table td { overflow-wrap: anywhere; }
.match-toolbar {
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) auto auto;
  gap: .8rem;
  align-items: end;
  margin-bottom: 1rem;
}
.match-toolbar label {
  color: #64748b;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}
.match-toolbar input {
  margin-top: .35rem;
}
.match-toolbar strong {
  color: #0f172a;
  white-space: nowrap;
}
.match-status-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.match-status-tabs button {
  min-height: 2.5rem;
  padding: .55rem .75rem;
  border: 1px solid #cbd5e1;
  background: #f8fafc;
  color: #334155;
  box-shadow: none;
}
.match-status-tabs button.active {
  border-color: #4dd415;
  background: #ecfccb;
  color: #14532d;
}
.match-list-compact {
  display: grid;
  gap: .7rem;
}
.match-month-panel {
  margin-bottom: 1rem;
}
.match-day-list {
  margin-top: .85rem;
}
.match-day-card .match-list-compact {
  padding-top: .85rem;
}
.match-day-card .match-row-card {
  box-shadow: none;
}
.match-row-card {
  display: grid;
  gap: .65rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(15, 23, 42, .04), rgba(120, 227, 27, .06)),
    #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
}
.match-row-main {
  display: grid;
  grid-template-columns: minmax(12rem, 1.05fr) minmax(10rem, .75fr) minmax(16rem, 1.2fr) minmax(7rem, .55fr);
  gap: .8rem;
  align-items: center;
}
.match-row-title {
  min-width: 0;
}
.match-row-title h2 {
  margin: .3rem 0 .2rem;
  color: #0f172a;
  font-size: clamp(1.05rem, 2vw, 1.45rem);
  line-height: 1.12;
  overflow-wrap: anywhere;
}
.match-row-title p,
.match-row-score small,
.match-row-extra {
  color: var(--muted);
  font-weight: 750;
}
.match-row-kpis {
  display: grid;
  grid-template-columns: .55fr .8fr 1fr;
  gap: .45rem;
}
.match-row-scoreboard {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: .35rem;
  padding: .65rem .75rem;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 8px;
  background: #101b16;
  color: white;
}
.match-row-scoreboard span {
  display: grid;
  justify-items: center;
  gap: .1rem;
  min-width: 0;
}
.match-row-scoreboard small {
  max-width: 6.5rem;
  color: #cbd5e1;
  font-size: .62rem;
  font-weight: 950;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.match-row-scoreboard strong {
  color: white;
  font-size: 1.8rem;
  line-height: 1;
}
.match-row-scoreboard b {
  color: var(--iatic-green-2);
  font-size: 1.2rem;
}
.match-row-kpis span {
  display: grid;
  gap: .1rem;
  min-width: 0;
  padding: .55rem .65rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}
.match-row-kpis small {
  color: #64748b;
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
}
.match-row-kpis strong {
  color: #0f172a;
  overflow-wrap: anywhere;
}
.match-row-score {
  display: grid;
  justify-items: end;
  gap: .25rem;
  text-align: right;
}
.match-row-score strong {
  color: #0f172a;
  font-size: clamp(1.35rem, 3vw, 2rem);
  line-height: 1;
}
.match-row-extra {
  display: flex;
  gap: .8rem;
  flex-wrap: wrap;
  font-size: .9rem;
}
.match-row-actions {
  display: grid;
  grid-template-columns: 1.1fr 1.1fr repeat(5, minmax(4.75rem, .65fr));
  gap: .45rem;
}
.match-row-actions button {
  min-height: 2.65rem;
  padding: .55rem .65rem;
  font-weight: 900;
}
.match-row-actions .direct-button,
.match-row-actions .stats-button {
  font-size: .98rem;
}
.match-row-actions .ghost-button {
  background: #f8fafc;
  color: #334155;
  border: 1px solid #dbe3ef;
}
.match-stats-editor {
  display: grid;
  gap: .9rem;
}
.match-stats-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  border-radius: 8px;
  background: #172235;
  color: #fff;
}
.match-stats-hero h3,
.match-stats-hero p {
  margin: 0;
}
.match-stats-hero h3 {
  color: #fff;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
}
.match-stats-hero p {
  margin-top: .25rem;
  color: #cbd5e1;
  font-weight: 800;
}
.match-stats-score {
  display: grid;
  grid-template-columns: 6rem auto 6rem;
  gap: .45rem;
  align-items: end;
}
.match-stats-score label {
  color: #cbd5e1;
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
}
.match-stats-score input {
  margin-top: .25rem;
  height: 3.4rem;
  padding: .2rem;
  text-align: center;
  font-size: 1.7rem;
}
.match-stats-score strong {
  align-self: center;
  color: #93c5fd;
  font-size: 2rem;
}
.match-stats-overview {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr) minmax(15rem, .5fr);
  gap: .75rem;
}
.match-stat-ring,
.match-stat-kpis,
.match-mvp-select,
.match-impact-podium article,
.match-player-stat-card {
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(15, 39, 68, .05);
}
.match-stat-ring {
  display: grid;
  place-items: center;
  min-height: 8rem;
  background:
    radial-gradient(circle at center, #fff 0 56%, transparent 57%),
    conic-gradient(#54d414 calc(var(--value) * 1%), #e2e8f0 0);
}
.match-stat-ring strong {
  color: #0f172a;
  font-size: 1.8rem;
}
.match-stat-ring span,
.match-mvp-select span {
  color: #64748b;
  font-size: .75rem;
  font-weight: 900;
}
.match-stat-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .5rem;
  padding: .7rem;
}
.match-stat-kpis span {
  display: grid;
  gap: .15rem;
  padding: .55rem;
  border-radius: 8px;
  background: #f8fafc;
}
.match-stat-kpis strong {
  color: #0f172a;
  font-size: 1.35rem;
}
.match-stat-kpis small {
  color: #64748b;
  font-weight: 950;
  text-transform: uppercase;
}
.match-mvp-select {
  display: grid;
  gap: .35rem;
  padding: .75rem;
  color: #334155;
  font-weight: 950;
}
.match-impact-podium {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.match-impact-podium article {
  display: grid;
  grid-template-columns: auto 2.75rem minmax(0, 1fr);
  gap: .6rem;
  align-items: center;
  padding: .75rem;
}
.match-impact-podium article > span {
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  background: #dcfce7;
  color: #166534;
  font-weight: 950;
}
.match-impact-podium img {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 8px;
  object-fit: cover;
}
.match-impact-podium strong,
.match-impact-podium small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.match-impact-podium small {
  color: #64748b;
  font-weight: 800;
}
.match-player-stats-list {
  display: grid;
  gap: .75rem;
}
.match-player-stat-card {
  display: grid;
  gap: .75rem;
  padding: .85rem;
}
.match-player-stat-head {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) 6rem 6rem;
  gap: .75rem;
  align-items: center;
}
.starter-toggle {
  color: #64748b;
  font-size: .75rem;
  font-weight: 950;
  text-transform: uppercase;
}
.starter-toggle select {
  margin-top: .25rem;
}
.impact-meter {
  display: grid;
  place-items: center;
  min-height: 4.6rem;
  border-radius: 8px;
  background:
    radial-gradient(circle at center, #fff 0 54%, transparent 55%),
    conic-gradient(#38bdf8 calc(var(--value) * 1%), #e2e8f0 0);
}
.impact-meter strong {
  color: #0f172a;
  font-size: 1.25rem;
}
.impact-meter span {
  color: #64748b;
  font-size: .65rem;
  font-weight: 950;
  text-transform: uppercase;
}
.match-player-visuals {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .55rem;
}
.visual-stat-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .35rem;
  align-items: center;
  padding: .5rem;
  border-radius: 8px;
  background: #f8fafc;
  color: #334155;
  font-size: .78rem;
  font-weight: 900;
}
.visual-stat-bar i {
  grid-column: 1 / -1;
  display: block;
  height: .42rem;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: hidden;
}
.visual-stat-bar i::before {
  content: "";
  display: block;
  width: var(--w);
  height: 100%;
  border-radius: inherit;
  background: #54d414;
}
.visual-stat-bar.blue i::before { background: #2563eb; }
.visual-stat-bar.navy i::before { background: #172235; }
.visual-stat-bar.red i::before { background: #ef4444; }
.match-stat-input-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(4.2rem, 1fr));
  gap: .45rem;
}
.compact-stat {
  color: #64748b;
  font-size: .68rem;
  font-weight: 950;
  text-transform: uppercase;
}
.compact-stat input {
  margin-top: .2rem;
  min-height: 2.35rem;
  padding: .35rem .45rem;
  font-size: .9rem;
}
.compact-stat.note {
  grid-column: span 2;
}
.training-grid,
.training-day-list {
  display: grid;
  gap: 1rem;
}
.training-month-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: linear-gradient(135deg, #eef6ff 0%, #f7fbff 58%, #effdf5 100%);
  color: #0f172a;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}
.training-month-metrics {
  display: flex;
  align-items: stretch;
}
.training-month-metrics span {
  min-width: 5.8rem;
  padding: .3rem .75rem;
  border-left: 1px solid #cbd5e1;
  text-align: center;
}
.training-month-metrics span:first-child {
  border-left: 0;
}
.training-month-metrics strong,
.training-month-metrics small {
  display: block;
}
.training-month-metrics strong {
  color: #0f172a;
  font-size: 1.25rem;
  font-weight: 950;
}
.training-month-metrics small {
  color: #64748b;
  font-size: .68rem;
  font-weight: 950;
  text-transform: uppercase;
}
.training-month-controls {
  display: grid;
  grid-template-columns: auto minmax(9rem, 1fr) auto auto;
  gap: .45rem;
  align-items: center;
}
.training-month-controls input {
  min-height: 2.6rem;
  border-color: #bfdbfe;
  background: #fff;
  font-weight: 950;
}
.training-month-controls .ghost-button {
  min-height: 2.6rem;
  border-color: #cbd5e1;
  background: #fff;
  color: #0f172a;
}
.training-day-card {
  overflow: hidden;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}
.training-day-card summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: .95rem 1rem;
  cursor: pointer;
  list-style: none;
  background: #172235;
  color: #fff;
}
.training-day-card summary::-webkit-details-marker {
  display: none;
}
.training-day-card summary::after {
  content: "Abrir";
  justify-self: end;
  padding: .42rem .7rem;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 8px;
  color: #dbeafe;
  font-size: .78rem;
  font-weight: 950;
  text-transform: uppercase;
}
.training-day-card[open] summary::after {
  content: "Cerrar";
}
.training-day-kicker {
  display: block;
  margin-bottom: .15rem;
  color: #93c5fd;
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
}
.training-day-card h3 {
  margin: 0;
  color: #fff;
  font-size: 1.25rem;
}
.training-day-metrics {
  display: flex;
  gap: .55rem;
  align-items: center;
}
.training-day-metrics span {
  min-width: 5.4rem;
  padding: .45rem .65rem;
  border-left: 1px solid rgba(255, 255, 255, .18);
  text-align: center;
}
.training-day-metrics strong,
.training-day-metrics small {
  display: block;
}
.training-day-metrics strong {
  color: #fff;
  font-size: 1.05rem;
  font-weight: 950;
}
.training-day-metrics small {
  color: #cbd5e1;
  font-size: .68rem;
  font-weight: 950;
  text-transform: uppercase;
}
.training-session-list {
  display: grid;
  gap: .9rem;
  padding: .9rem;
}
.training-session-panel {
  display: grid;
  gap: .85rem;
  padding: .9rem;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #f8fafc;
}
.training-session-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .8rem;
  align-items: start;
}
.training-session-head h4 {
  margin: 0;
  color: #0f172a;
  font-size: 1.1rem;
}
.training-session-head p {
  margin: .2rem 0 0;
  color: #64748b;
  font-weight: 800;
}
.training-session-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  justify-content: flex-end;
}
.training-player-table {
  overflow: hidden;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #fff;
}
.training-player-head,
.training-attendance-row {
  display: grid;
  grid-template-columns: 4rem minmax(11rem, 1fr) 6.5rem minmax(23rem, 1.3fr);
  gap: .55rem;
  align-items: center;
}
.training-player-head {
  padding: .55rem .72rem;
  border-bottom: 1px solid #dbe3ef;
  background: #f8fafc;
  color: #334155;
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
}
.training-card {
  display: grid;
  gap: .9rem;
}
.training-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .55rem;
}
.training-summary div {
  display: grid;
  gap: .15rem;
  padding: .65rem .75rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}
.training-summary span {
  color: #64748b;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}
.training-summary strong {
  color: #0f172a;
  font-size: 1.25rem;
}
.training-attendance-list {
  display: grid;
}
.training-attendance-row {
  min-height: 3.2rem;
  padding: .38rem .72rem;
  border-bottom: 1px solid #edf2f7;
  background: #fff;
  color: #0f172a;
  font-size: .84rem;
  font-weight: 850;
}
.training-attendance-row:last-child {
  border-bottom: 0;
}
.training-dorsal {
  color: #0f172a;
  font-size: .9rem;
  font-weight: 950;
}
.training-player-main {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-width: 0;
}
.training-player-main img {
  width: 2rem;
  height: 2rem;
  border-radius: 8px;
  object-fit: cover;
  box-shadow: 0 6px 14px rgba(15, 23, 42, .12);
}
.training-player-main strong,
.training-player-main span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.training-player-main span {
  color: #64748b;
  font-size: .76rem;
  font-weight: 750;
}
.training-status-buttons {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .35rem;
}
.training-status {
  min-height: 2.25rem;
  padding: .42rem .45rem;
  border: 1px solid #d8dee9;
  border-radius: 8px;
  background: #f8fafc;
  color: #334155;
  font-size: .76rem;
  font-weight: 900;
  box-shadow: none;
}
.training-status.active { border-color: #0f172a; color: #0f172a; }
.training-status.active.presente {
  border-color: #16a34a;
  background: #dcfce7;
  color: #166534;
}
.training-status.active.retraso {
  border-color: #f59e0b;
  background: #fef3c7;
  color: #92400e;
}
.training-status.active.ausente_justificada {
  border-color: #38bdf8;
  background: #e0f2fe;
  color: #075985;
}
.training-status.active.ausente_injustificada,
.training-status.active.lesionada {
  border-color: #ef4444;
  background: #fee2e2;
  color: #991b1b;
}
.training-player-picker {
  display: grid;
  gap: .8rem;
  padding: .85rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}
.training-player-search {
  display: grid;
  gap: .35rem;
}
.training-player-section {
  display: grid;
  gap: .55rem;
}
.training-player-section h3 {
  margin: .25rem 0 0;
  color: #0f172a;
  font-size: .95rem;
}
.training-player-section h3 small { color: #64748b; }
.training-pick-table {
  overflow: hidden;
  border: 1px solid #dbe4f0;
  border-radius: 8px;
  background: #fff;
}
.training-pick-head,
.training-player-option {
  display: grid;
  grid-template-columns: 2.4rem 5rem minmax(15rem, 1fr) minmax(8rem, .55fr) 7rem;
  gap: .75rem;
  align-items: center;
}
.training-pick-head {
  padding: .65rem .9rem;
  border-bottom: 1px solid #dbe4f0;
  background: #f8fafc;
  color: #334155;
  font-size: .76rem;
  font-weight: 950;
  text-transform: uppercase;
}
.training-player-option {
  min-height: 4.25rem;
  padding: .55rem .9rem;
  border-bottom: 1px solid #e8eef6;
  color: #0f172a;
  cursor: pointer;
  transition: background .15s ease, box-shadow .15s ease;
}
.training-player-option:last-child { border-bottom: 0; }
.training-player-option:hover {
  background: #f8fbff;
}
.training-player-option.selected {
  background: linear-gradient(90deg, #ecfdf3 0%, #f7ffe9 100%);
  box-shadow: inset 4px 0 0 #55d80f;
}
.training-player-option input {
  width: 1.05rem;
  height: 1.05rem;
  accent-color: #4fd40c;
}
.training-pick-dorsal {
  color: #0f172a;
  font-size: 1.25rem;
  font-weight: 950;
}
.training-pick-player {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: .75rem;
}
.training-pick-player img {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 8px;
  object-fit: cover;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .12);
}
.training-pick-player > span {
  display: grid;
  min-width: 0;
}
.training-pick-player strong {
  overflow: hidden;
  color: #0f172a;
  font-size: .95rem;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.training-player-option em {
  color: #64748b;
  font-size: .82rem;
  font-style: normal;
  font-weight: 750;
}
.training-pick-state {
  justify-self: start;
  min-width: 5.5rem;
  padding: .45rem .6rem;
  border: 1px solid #d8e2ef;
  border-radius: 8px;
  background: #f8fafc;
  color: #334155;
  font-size: .8rem;
  font-weight: 950;
  text-align: center;
}
.training-player-option.selected .training-pick-state {
  border-color: #16a34a;
  background: #dcfce7;
  color: #166534;
}
.injury-panel,
.injury-list,
.injury-card {
  display: grid;
  gap: 1rem;
}
.injury-technical-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
.injury-technical-layout.has-detail {
  grid-template-columns: minmax(0, 1fr) minmax(22rem, .44fr);
}
.injury-roster-table-card,
.injury-detail-card {
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}
.injury-roster-table-card {
  overflow: hidden;
}
.injury-roster-table-head,
.injury-roster-row {
  display: grid;
  grid-template-columns: 4rem minmax(12rem, 1.2fr) minmax(13rem, 1.1fr) 7rem 6rem 3.2rem;
  gap: .55rem;
  align-items: center;
}
.injury-roster-table-head {
  padding: .55rem .72rem;
  border-bottom: 1px solid #dbe3ef;
  background: #f8fafc;
  color: #334155;
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
}
.injury-roster-list {
  display: grid;
}
.injury-roster-row {
  width: 100%;
  min-height: 3.3rem;
  padding: .38rem .72rem;
  border: 0;
  border-bottom: 1px solid #edf2f7;
  border-radius: 0;
  background: #fff;
  color: #0f172a;
  font-size: .84rem;
  font-weight: 850;
  text-align: left;
  box-shadow: none;
}
.injury-roster-row:hover {
  background: #f8fafc;
}
.injury-roster-row:last-child {
  border-bottom: 0;
}
.injury-roster-row.selected {
  background: linear-gradient(90deg, color-mix(in srgb, var(--accent, #78e31b) 14%, white), rgba(255, 255, 255, .96));
  box-shadow: inset 4px 0 0 var(--accent, #78e31b);
}
.injury-dorsal {
  color: #0f172a;
  font-size: .9rem;
  font-weight: 950;
}
.injury-player-cell {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-width: 0;
}
.injury-player-cell img {
  width: 2rem;
  height: 2rem;
  border-radius: 8px;
  object-fit: cover;
  box-shadow: 0 6px 14px rgba(15, 23, 42, .12);
}
.injury-player-cell strong,
.injury-player-cell small,
.injury-row-title strong,
.injury-row-title small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.injury-player-cell small,
.injury-row-title small {
  color: #64748b;
  font-size: .76rem;
  font-weight: 750;
}
.injury-phase-chip {
  display: inline-grid;
  place-items: center;
  width: 2.4rem;
  min-height: 1.7rem;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: .78rem;
  font-weight: 950;
}
.injury-history-count {
  display: grid;
  gap: .05rem;
  align-content: center;
}
.injury-history-count strong {
  color: #0f172a;
  font-size: .95rem;
  font-weight: 950;
}
.injury-history-count small {
  color: #64748b;
  font-size: .7rem;
  font-weight: 850;
}
.injury-eye-button {
  width: 2.35rem;
  height: 2.35rem;
  min-height: 2.35rem;
  padding: 0;
  border: 1px solid #d8e2ef;
  border-radius: 8px;
  background: #f8fafc;
  color: #0f172a;
  font-size: 1rem;
  box-shadow: none;
}
.injury-eye-button:hover,
.injury-roster-row.selected .injury-eye-button {
  border-color: #2563eb;
  background: #eff6ff;
}
.injury-detail-card {
  display: grid;
  gap: .9rem;
  padding: 1rem;
  position: sticky;
  top: 1rem;
}
.injury-detail-hero {
  display: grid;
  grid-template-columns: 6.5rem minmax(0, 1fr);
  gap: .9rem;
  align-items: center;
  padding: .85rem;
  border-radius: 8px;
  background: #172235;
  color: #fff;
}
.injury-detail-hero > img {
  width: 6.5rem;
  height: 6.5rem;
  border-radius: 8px;
  border: 2px solid rgba(255, 255, 255, .7);
  object-fit: cover;
}
.injury-detail-kicker {
  color: #93c5fd;
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
}
.injury-detail-hero h2,
.injury-detail-hero p {
  margin: 0;
}
.injury-detail-hero h2 {
  color: #fff;
}
.injury-detail-hero p {
  margin-top: .2rem;
  color: #cbd5e1;
  font-weight: 800;
}
.injury-filters {
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) minmax(12rem, .45fr) minmax(10rem, .35fr) minmax(12rem, .45fr);
  gap: .75rem;
  align-items: end;
}
.injury-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
}
.injury-kpis div {
  display: grid;
  gap: .15rem;
  padding: .75rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}
.injury-kpis strong {
  color: #0f172a;
  font-size: 1.35rem;
}
.injury-kpis span {
  color: #64748b;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}
.injury-card {
  padding: 1rem;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #fff;
}
.injury-card-head,
.injury-main {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}
.player-mini {
  display: flex;
  gap: .75rem;
  align-items: center;
  min-width: 0;
}
.player-mini img {
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  object-fit: cover;
  border: 2px solid #e2e8f0;
}
.player-mini h3,
.player-mini p,
.injury-main h2,
.injury-main p {
  margin: 0;
}
.player-mini p {
  color: #64748b;
  font-size: .85rem;
  font-weight: 800;
}
.injury-badges,
.injury-phase-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  justify-content: flex-end;
}
.injury-main h2 {
  color: #0f172a;
  font-size: clamp(1.1rem, 2vw, 1.45rem);
}
.injury-phase-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .55rem;
}
.injury-phase {
  display: grid;
  gap: .25rem;
  min-height: 6.2rem;
  padding: .7rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
  color: #64748b;
  text-align: left;
  box-shadow: none;
}
.injury-phase strong {
  color: #334155;
  font-size: .82rem;
}
.injury-phase span,
.injury-phase em {
  font-size: .75rem;
  font-style: normal;
}
.injury-phase.done {
  border-color: #86efac;
  background: #f0fdf4;
}
.injury-phase.current {
  border-color: #38bdf8;
  background: #e0f2fe;
  color: #075985;
  box-shadow: inset 0 0 0 1px #38bdf8;
}
.injury-phase.current strong {
  color: #075985;
}
.injury-phase:disabled {
  cursor: default;
  opacity: 1;
}
.injury-treatment-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7rem;
}
.injury-treatment-grid > div,
.injury-history,
.injury-notes,
.injury-rehab-files,
.injury-player-history {
  padding: .8rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}
.injury-treatment-grid h4,
.injury-history h4,
.injury-notes h4,
.injury-rehab-files h4,
.injury-player-history h4 {
  margin: 0 0 .45rem;
  color: #0f172a;
}
.injury-player-history {
  display: grid;
  gap: .45rem;
}
.injury-history-item {
  display: grid;
  gap: .12rem;
  width: 100%;
  min-height: 3rem;
  padding: .55rem .65rem;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #fff;
  color: #0f172a;
  text-align: left;
  box-shadow: none;
}
.injury-history-item strong {
  color: #0f172a;
  font-size: .88rem;
}
.injury-history-item span {
  color: #64748b;
  font-size: .76rem;
  font-weight: 800;
}
.injury-history-item.active {
  border-color: #86efac;
  background: #f0fdf4;
}
.injury-file-link {
  display: block;
  padding: .55rem .65rem;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #fff;
  color: #0f172a;
  font-weight: 850;
  text-decoration: none;
}
.injury-file-link + .injury-file-link {
  margin-top: .45rem;
}
.injury-treatment-grid ul {
  margin: 0;
  padding-left: 1.1rem;
  color: #475569;
  font-weight: 700;
}
.injury-history p,
.injury-note-list p {
  margin: .35rem 0;
  color: #475569;
  font-size: .9rem;
}
.injury-note-list {
  max-height: 11rem;
  overflow: auto;
}
.injury-note-form {
  display: grid;
  grid-template-columns: 1fr minmax(10rem, .3fr) auto;
  gap: .5rem;
  margin-top: .65rem;
}
.injury-presets {
  display: grid;
  gap: .55rem;
  padding: .8rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}
.injury-player-picker {
  display: grid;
  gap: .75rem;
  padding: .85rem;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #f8fafc;
}
.injury-player-selected {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .75rem;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: linear-gradient(135deg, #eff6ff, #f0fdf4);
}
.injury-player-selected img {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 8px;
  object-fit: cover;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .14);
}
.injury-player-selected span,
.injury-player-selected small {
  display: block;
  color: #64748b;
  font-size: .78rem;
  font-weight: 850;
}
.injury-player-selected strong {
  display: block;
  color: #0f172a;
  font-size: 1.05rem;
  font-weight: 950;
}
.injury-player-search {
  display: grid;
  gap: .35rem;
}
.injury-player-pick-table {
  overflow: hidden;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #fff;
}
.injury-player-pick-head,
.injury-player-pick-row {
  display: grid;
  grid-template-columns: 4rem minmax(13rem, 1fr) 7rem 8rem 6.5rem;
  gap: .55rem;
  align-items: center;
}
.injury-player-pick-head {
  padding: .55rem .7rem;
  border-bottom: 1px solid #dbe3ef;
  background: #f8fafc;
  color: #334155;
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
}
.injury-player-pick-row {
  min-height: 3.4rem;
  padding: .45rem .7rem;
  border-bottom: 1px solid #edf2f7;
}
.injury-player-pick-row:last-child {
  border-bottom: 0;
}
.injury-player-pick-row.selected {
  background: linear-gradient(90deg, color-mix(in srgb, var(--team-accent, #78e31b) 14%, white), #fff);
  box-shadow: inset 4px 0 0 var(--team-accent, #78e31b);
}
.injury-player-pick-row .small {
  min-height: 2.15rem;
  padding: .35rem .55rem;
  font-size: .78rem;
}
.injury-presets .actions {
  justify-content: flex-start;
}
.video-panel,
.video-grid {
  display: grid;
  gap: 1rem;
}
.video-toolbar {
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) auto;
  gap: .8rem;
  align-items: end;
}
.video-card {
  display: grid;
  gap: .8rem;
}
.storage-quota-card {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) minmax(12rem, 22rem) auto;
  gap: .8rem;
  align-items: center;
  padding: .85rem;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #f8fafc;
}
.storage-quota-card strong,
.storage-quota-card span {
  display: block;
}
.storage-quota-card span,
.storage-quota-card em {
  color: #64748b;
  font-size: .86rem;
  font-style: normal;
  font-weight: 850;
}
.storage-bar {
  height: .7rem;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e8f0;
}
.storage-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #4dd415, #9dff2f);
}
.drive-upload-box {
  display: grid;
  gap: .65rem;
  padding: .85rem;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #f8fafc;
}
#driveUploadState {
  color: #475569;
  font-size: .9rem;
  font-weight: 800;
}
.match-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  margin-top: 1rem;
  color: #334155;
  font-weight: 900;
}
.list-controls {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: end;
}
.list-controls label {
  display: grid;
  gap: .35rem;
  min-width: min(26rem, 100%);
  color: #475569;
  font-size: .85rem;
  font-weight: 800;
}
.pager {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .6rem;
  color: var(--muted);
  font-size: .88rem;
  white-space: nowrap;
}
button:disabled {
  cursor: not-allowed;
  opacity: .45;
}
.empty { padding: 2rem; color: var(--muted); text-align: center; }
dialog {
  border: 0;
  border-radius: 8px;
  padding: 0;
  width: min(94vw, 760px);
  max-height: 90vh;
  overflow: auto;
  box-shadow: 0 28px 70px rgba(7, 20, 38, .28);
}
#editDialog { width: min(96vw, 1120px); }
#editDialog:has(.live-match-console) {
  width: min(99vw, 1500px);
  max-height: 96vh;
}
#editDialog:has(.live-match-console) .modal-card {
  padding: .75rem;
  gap: .55rem;
}
#editDialog:has(.live-match-console) #editTitle,
#editDialog:has(.live-match-console) #editError,
#editDialog:has(.live-match-console) .edit-save-button {
  display: none;
}
#editDialog.injury-view-dialog {
  width: min(98vw, 1500px);
  max-height: 96vh;
}
#editDialog.injury-view-dialog .modal-card {
  min-height: min(90vh, 980px);
  padding: 1rem;
}
#editDialog.injury-view-dialog #editFields {
  align-items: stretch;
}
#editDialog.injury-view-dialog .injury-modal-content {
  display: block;
}
#editDialog.injury-view-dialog .injury-detail-card {
  min-height: calc(90vh - 7rem);
  position: static;
  top: auto;
}
dialog::backdrop { background: rgba(7, 20, 38, .62); backdrop-filter: blur(4px); }
.modal-card {
  padding: 1.2rem;
  display: grid;
  gap: .85rem;
  background:
    linear-gradient(180deg, #ffffff, #f8fafc);
}
.modal-card.wide { width: 100%; }
.modal-card h2, .modal-card p { margin: 0; }
.modal-card h2 {
  color: var(--club-navy);
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  letter-spacing: 0;
}
.modal-card label { display: grid; gap: .35rem; color: #475569; font-weight: 750; font-size: .9rem; }
.edit-save-button {
  position: sticky;
  bottom: 0;
  z-index: 6;
  min-height: 3.25rem;
  box-shadow: 0 -10px 24px rgba(255, 255, 255, .9);
}
.form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .8rem; }
.form-grid label.full,
.form-grid > .full { grid-column: 1 / -1; }
.close {
  justify-self: end;
  border: 1px solid #dbe3ef;
  background: #f8fafc;
  color: var(--club-navy);
  border-radius: 8px;
  padding: .4rem .65rem;
  font-size: 1.25rem;
}
.error { color: var(--red); font-weight: 800; min-height: 1.1rem; }
.live-fullscreen-page {
  background: #02070a;
  bottom: 0;
  display: grid;
  gap: .42rem;
  grid-template-rows: auto minmax(0, 1fr);
  left: 0;
  padding: .55rem;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 50;
}
.live-fullscreen-toolbar {
  align-items: center;
  display: flex;
  gap: .6rem;
  justify-content: space-between;
  min-width: 0;
}
.live-back-button {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  color: #0f172a;
  display: inline-flex;
  font-size: .95rem;
  font-weight: 950;
  justify-content: center;
  justify-self: start;
  min-height: 2.25rem;
  padding: .35rem .75rem;
}
.live-voice-panel-compact {
  align-items: center;
  background: #f7fee7;
  border: 1px solid rgba(120, 227, 27, .35);
  border-radius: 8px;
  display: grid;
  gap: .12rem;
  grid-template-columns: minmax(13rem, 22rem);
  margin-left: auto;
  max-width: min(24rem, 62vw);
  padding: .26rem .36rem;
}
.live-voice-panel-compact .live-voice-controls {
  display: grid;
  gap: .24rem;
  grid-template-columns: minmax(9rem, 1fr) 2.2rem 2.2rem;
}
.live-voice-panel-compact input {
  font-size: .82rem;
  min-height: 2.05rem;
  padding: .25rem .48rem;
}
.live-voice-panel-compact .icon-voice-button {
  align-items: center;
  display: inline-flex;
  font-size: 1rem;
  justify-content: center;
  min-height: 2.05rem;
  min-width: 2.2rem;
  padding: 0;
}
.live-voice-panel-compact .live-command-feedback {
  display: none;
}
.live-fullscreen-page .live-match-console {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, .35);
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
  max-height: none;
  min-height: 0;
  overflow: hidden;
  padding: .48rem;
}
.live-fullscreen-page .live-tablet-layout {
  min-height: 0;
}
.chat-toolbar {
  align-items: end;
}

.chat-shell {
  display: grid;
  grid-template-columns: minmax(19rem, .75fr) minmax(0, 1.35fr);
  gap: 1rem;
  min-height: 42rem;
}

.chat-sidebar,
.chat-conversation {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .07);
  overflow: hidden;
}

.chat-sidebar {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.chat-search {
  padding: 1rem;
  border-bottom: 1px solid var(--line);
}

.chat-search input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: .82rem 1rem;
  font-weight: 800;
  background: #f8fafc;
}

.chat-group-list {
  display: grid;
  align-content: start;
  max-height: 31rem;
  overflow: auto;
}

.chat-group-row {
  appearance: none;
  border: 0;
  border-bottom: 1px solid #e8eef5;
  background: #fff;
  color: var(--ink);
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: .75rem;
  padding: .95rem 1rem;
  text-align: left;
  cursor: pointer;
}

.chat-group-row.active {
  background: #edfbe4;
  box-shadow: inset .28rem 0 0 var(--green);
}

.chat-group-row strong,
.chat-group-row em,
.chat-group-row small {
  display: block;
}

.chat-group-row strong {
  font-size: .98rem;
}

.chat-group-row em {
  color: var(--muted);
  font-style: normal;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.chat-group-row small {
  margin-top: .2rem;
  color: #64748b;
  font-weight: 700;
  line-height: 1.25;
}

.chat-group-avatar {
  align-items: center;
  background: #0b1728;
  border-radius: 8px;
  color: #94ff2f;
  display: inline-flex;
  font-weight: 1000;
  height: 3rem;
  justify-content: center;
  letter-spacing: .04em;
  width: 3rem;
}

.chat-notices {
  border-top: 1px solid var(--line);
  display: grid;
  gap: .55rem;
  padding: 1rem;
}

.chat-notices h3 {
  color: var(--muted);
  font-size: .82rem;
  letter-spacing: .06em;
  margin: 0;
  text-transform: uppercase;
}

.chat-notice {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: .2rem;
  padding: .75rem;
}

.chat-notice.urgent {
  background: #fff7ed;
  border-color: #fed7aa;
}

.chat-notice span {
  color: #64748b;
  font-weight: 700;
}

.chat-conversation {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  min-width: 0;
}

.chat-conversation-head {
  align-items: center;
  background: #0b1728;
  color: #fff;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
}

.chat-conversation-head h2 {
  margin: .25rem 0 .1rem;
}

.chat-conversation-head p {
  color: #cbd5e1;
  font-weight: 800;
  margin: 0;
}

.chat-members-strip {
  display: flex;
  gap: .5rem;
  overflow: auto;
  padding: .8rem 1rem;
  border-bottom: 1px solid var(--line);
}

.chat-members-strip span {
  align-items: center;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 999px;
  display: inline-flex;
  flex: 0 0 auto;
  gap: .4rem;
  font-size: .78rem;
  font-weight: 900;
  padding: .35rem .65rem;
}

.chat-members-strip img {
  border-radius: 50%;
  height: 1.55rem;
  object-fit: cover;
  width: 1.55rem;
}

.chat-bubble-list {
  background:
    linear-gradient(rgba(15, 23, 42, .03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 23, 42, .03) 1px, transparent 1px),
    #eef4f8;
  background-size: 3rem 3rem;
  display: grid;
  align-content: start;
  gap: .7rem;
  overflow: auto;
  padding: 1.2rem;
}

.chat-bubble {
  background: #fff;
  border: 1px solid #d8e2ed;
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
  max-width: min(36rem, 84%);
  padding: .82rem .95rem;
}

.chat-bubble.mine {
  justify-self: end;
  background: #e7ffd7;
  border-color: #b6ef88;
}

.chat-bubble strong,
.chat-bubble small,
.chat-bubble time {
  display: block;
}
.chat-bubble small {
  margin-top: .08rem;
  color: #64748b;
  font-size: .72rem;
  font-weight: 850;
}

.chat-bubble p {
  margin: .25rem 0;
  white-space: pre-wrap;
}

.chat-bubble time {
  color: #64748b;
  font-size: .76rem;
  font-weight: 800;
  text-align: right;
}

.chat-message-form {
  align-items: end;
  border-top: 1px solid var(--line);
  display: grid;
  gap: .75rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 1rem;
}

.chat-message-form textarea {
  border: 1px solid var(--line);
  border-radius: 8px;
  font-weight: 800;
  min-height: 3.2rem;
  resize: vertical;
}

.chat-group-editor {
  display: grid;
  gap: 1rem;
}

.chat-group-editor-head {
  background: #0b1728;
  border-radius: 8px;
  color: #fff;
  padding: 1rem;
}

.chat-group-editor-head span {
  color: #9bd0ff;
  font-weight: 1000;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.chat-group-editor-head h3,
.chat-group-editor-head p {
  margin: .25rem 0 0;
}

.chat-group-editor-head p {
  color: #cbd5e1;
}

.chat-player-picker h4 {
  margin: 0 0 .7rem;
}

.chat-player-grid {
  display: grid;
  gap: .55rem;
  max-height: 22rem;
  overflow: auto;
}

.chat-player-option {
  align-items: center;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  grid-template-columns: auto 2.8rem 1fr;
  gap: .7rem;
  padding: .65rem;
}

.chat-player-option img {
  border-radius: 8px;
  height: 2.8rem;
  object-fit: cover;
  width: 2.8rem;
}

.chat-player-option span,
.chat-player-option em {
  display: block;
}

.chat-player-option em {
  color: #64748b;
  font-style: normal;
  font-weight: 800;
}

.chat-box { display: grid; gap: .8rem; }
.message { padding: .8rem; border-radius: 8px; background: #f8fafc; border: 1px solid var(--line); }
.notice-board {
  display: grid;
  gap: .75rem;
}
.notice-board h2 {
  margin: 0;
  font-size: 1.05rem;
}
.notice-list {
  display: grid;
  gap: .65rem;
}
.notice-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .8rem;
  padding: .85rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.notice-item.urgent {
  border-color: #fecaca;
  background: #fff7f7;
}
.notice-item p {
  margin: .25rem 0 0;
  color: var(--muted);
}
.private {
  padding: 1.2rem;
  display: grid;
  gap: 1rem;
}
.profile-session-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}
.profile-session-head h2,
.profile-session-head p {
  margin: 0;
}
.profile-session-head p {
  margin-top: .25rem;
  color: #64748b;
  font-weight: 800;
}
.platform-panel { margin-bottom: 1rem; }
.kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: .75rem;
}
.kpi-grid div {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: .85rem;
  background: #f8fafc;
}
.kpi-grid strong,
.kpi-grid span { display: block; }
.kpi-grid strong { font-size: 1.35rem; }
.kpi-grid span { color: var(--muted); font-size: .82rem; font-weight: 750; }
.business-subpanel {
  margin: 1rem 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
  padding: 1rem;
}
.business-subpanel h3 {
  margin: 0;
  font-size: 1.05rem;
}
.business-subpanel p {
  margin: .15rem 0 0;
  color: var(--muted);
  font-weight: 750;
}
.business-card { display: grid; gap: .8rem; }
.team-assignment-block {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: .9rem;
  background: #f8fafc;
}
.assignment-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: .75rem;
  margin-bottom: .75rem;
}
.assignment-title strong {
  color: #0f172a;
  font-size: 1rem;
}
.assignment-title span {
  color: var(--muted);
  font-size: .82rem;
  font-weight: 750;
}
.team-assignment-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .65rem;
}
.team-assignment-option {
  display: flex;
  align-items: center;
  width: 100%;
  text-align: left;
  gap: .7rem;
  min-height: 4rem;
  border: 1px solid #dbe4f0;
  border-radius: 8px;
  padding: .75rem;
  background: #fff;
  color: inherit;
  font: inherit;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.team-assignment-option.selected {
  border-color: #65d818;
  background: #f0ffe8;
  box-shadow: inset 4px 0 0 #65d818;
}
.team-assignment-option input {
  width: 1.1rem;
  height: 1.1rem;
  margin: 0;
  accent-color: #4dd70f;
  flex: 0 0 auto;
  pointer-events: none;
}
.team-assignment-option span,
.team-assignment-option strong,
.team-assignment-option em {
  display: block;
  min-width: 0;
}
.team-assignment-option strong {
  color: #0f172a;
  line-height: 1.1;
}
.team-assignment-option em {
  margin-top: .2rem;
  color: var(--muted);
  font-style: normal;
  font-size: .82rem;
  font-weight: 750;
}
.brand-color-field {
  display: grid;
  gap: .5rem;
}
.brand-color-field input[type="color"] {
  min-height: 3rem;
  padding: .25rem;
}
.brand-color-preview {
  display: flex;
  align-items: center;
  gap: .65rem;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #f8fafc;
  padding: .65rem;
  color: #334155;
  font-size: .82rem;
  font-weight: 800;
}
.brand-color-preview span {
  width: 3rem;
  height: 2rem;
  border-radius: 8px;
  background: var(--preview-color, #78e31b);
  box-shadow: inset 0 -4px 0 rgba(15, 23, 42, .18);
  flex: 0 0 auto;
}
.card-head {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: flex-start;
}
.facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
  margin: 0;
}
.facts div {
  min-width: 0;
  border-top: 1px solid var(--line);
  padding-top: .55rem;
}
.facts dt {
  color: var(--muted);
  font-size: .74rem;
  font-weight: 850;
  text-transform: uppercase;
}
.facts dd {
  margin: .15rem 0 0;
  font-weight: 850;
  overflow-wrap: anywhere;
}
.strategy-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 1rem;
}
.strategy-technical-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
.strategy-roster-table-card,
.strategy-preview-card {
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}
.strategy-roster-table-card {
  overflow: hidden;
}
.strategy-roster-table-head,
.strategy-roster-row {
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) 10rem 9rem 8rem 4rem 4rem;
  gap: .75rem;
  align-items: center;
}
.strategy-roster-table-head {
  padding: .55rem .72rem;
  border-bottom: 1px solid #dbe3ef;
  background: #f8fafc;
  color: #334155;
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
}
.strategy-roster-list {
  display: grid;
}
.strategy-roster-row {
  min-height: 3.4rem;
  padding: .45rem .72rem;
  border-bottom: 1px solid #edf2f7;
  color: #0f172a;
  font-size: .84rem;
  font-weight: 850;
}
.strategy-roster-row:last-child {
  border-bottom: 0;
}
.strategy-roster-row:hover {
  background: #f8fafc;
}
.strategy-roster-row.selected {
  background: linear-gradient(90deg, color-mix(in srgb, var(--team-accent, #78e31b) 15%, white), rgba(255,255,255,.96));
  box-shadow: inset 4px 0 0 var(--team-accent, #78e31b);
}
.strategy-row-main {
  display: grid;
  min-width: 0;
}
.strategy-row-main strong,
.strategy-row-main small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.strategy-row-main strong {
  color: #0f172a;
  font-weight: 950;
}
.strategy-row-main small {
  color: #64748b;
  font-size: .78rem;
  font-weight: 800;
}
.strategy-preview-card {
  display: grid;
  gap: .85rem;
  padding: .95rem;
  position: sticky;
  top: .75rem;
}
.strategy-detail-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: start;
}
.strategy-detail-kicker {
  display: block;
  margin-bottom: .2rem;
  color: #2563eb;
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
}
.strategy-detail-head h2 {
  margin: 0;
  color: #0f172a;
  font-size: 1.25rem;
}
.strategy-detail-head p,
.strategy-preview-card > p {
  margin: .25rem 0 0;
  color: #64748b;
  font-weight: 800;
}
.strategy-preview.large .tactical-pitch {
  min-height: 15rem;
}
.strategy-step-list {
  display: grid;
  gap: .45rem;
  padding: .75rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}
.strategy-step-list h4 {
  margin: 0;
  color: #0f172a;
}
.strategy-step-list span {
  display: grid;
  grid-template-columns: 1.6rem minmax(0, 1fr);
  gap: .45rem;
  color: #475569;
  font-weight: 800;
}
.strategy-step-list strong {
  display: grid;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: #172235;
  color: #fff;
  font-size: .75rem;
}
.strategy-card {
  display: grid;
  gap: .85rem;
}
.match-sheet-card {
  display: grid;
  gap: .75rem;
}
.live-score-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  gap: .55rem;
}
.live-score-strip div,
.live-clock-card,
.live-score-card,
.live-control-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: .85rem;
  background: #f8fafc;
}
.live-score-strip span,
.live-clock-card span,
.live-score-card span,
.live-control-card span {
  display: block;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}
.live-score-strip strong,
.live-clock-card strong,
.live-score-card strong,
.live-control-card strong {
  display: block;
  color: #0f172a;
  font-size: 1.5rem;
  line-height: 1.1;
}
.icon-clock-button {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  font-size: 1.45rem !important;
  line-height: 1;
}
.pause-button {
  background: #f97316 !important;
  border-color: #ea580c !important;
  color: #fff !important;
}
.pause-button:not(:disabled):hover {
  background: #ea580c !important;
}
.timeout-chip {
  border: 1px solid rgba(120, 227, 27, .45);
  border-radius: 8px;
  padding: .65rem .8rem;
  background: #ecfccb;
  color: #1a2e05;
  font-weight: 900;
}
.event-mini-list {
  display: grid;
  gap: .35rem;
}
.event-mini-list p {
  margin: 0;
  color: var(--muted);
  font-size: .84rem;
}
.live-match-console {
  display: grid;
  gap: 1rem;
}
.live-match-console button {
  min-height: 3.1rem;
  font-size: .98rem;
  font-weight: 900;
  touch-action: manipulation;
}
.live-match-console .ghost-button {
  background: #e2e8f0;
  color: #0f172a;
  border-color: #cbd5e1;
}
.live-match-console .ghost-button:not(:disabled):hover {
  background: #cbd5e1;
}
.live-match-console button:disabled {
  background: #e5e7eb !important;
  color: #64748b !important;
  border-color: #cbd5e1 !important;
  opacity: .72;
}
.live-main-board,
.live-controls-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  gap: .8rem;
}
.team-own {
  border-color: rgba(76, 175, 17, .45);
  background: linear-gradient(180deg, #f0fdf4, #fff);
}
.team-rival {
  border-color: rgba(37, 99, 235, .38);
  background: linear-gradient(180deg, #eff6ff, #fff);
}
.team-own span,
.action-own {
  color: #14532d !important;
}
.team-rival span,
.action-rival {
  color: #1e3a8a !important;
}
.action-own {
  border-color: #65a30d !important;
  background: #d9f99d !important;
}
.action-rival {
  border-color: #2563eb !important;
  background: #dbeafe !important;
}
.live-match-console .action-own:not(:disabled):hover {
  background: #bef264 !important;
}
.live-match-console .action-rival:not(:disabled):hover {
  background: #bfdbfe !important;
}
.card-actions-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
  margin-top: .75rem;
}
.card-yellow {
  border-color: #facc15 !important;
  background: #fef9c3 !important;
  color: #713f12 !important;
}
.card-red {
  border-color: #ef4444 !important;
  background: #fee2e2 !important;
  color: #991b1b !important;
}
.live-score-card strong {
  font-size: clamp(2.2rem, 8vw, 4rem);
}
.timeout-status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
  margin: .75rem 0;
}
.timeout-status-grid div {
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  padding: .55rem;
  background: #f0fdf4;
}
.timeout-status-grid div.rival {
  border-color: #bfdbfe;
  background: #eff6ff;
}
.timeout-status-grid div.used {
  border-color: #65a30d;
  background: #d9f99d;
}
.timeout-status-grid div.used.rival {
  border-color: #2563eb;
  background: #dbeafe;
}
.timeout-status-grid div.current {
  box-shadow: inset 0 0 0 2px rgba(15, 23, 42, .22);
}
.timeout-status-grid span {
  color: #475569;
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
}
.timeout-status-grid strong {
  font-size: .98rem;
}
.live-tools-row {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}
.live-voice-panel {
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  padding: .9rem;
  background: #f7fee7;
  display: grid;
  gap: .75rem;
}
.live-voice-panel h3,
.live-voice-panel p {
  margin: 0;
}
.live-voice-panel p {
  color: var(--muted);
  font-size: .88rem;
  font-weight: 750;
}
.live-voice-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: .55rem;
}
.live-voice-controls input {
  min-height: 3.1rem;
}
.live-command-feedback {
  border-top: 1px solid rgba(101, 163, 13, .22);
  padding-top: .65rem;
}
.live-split {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.live-split h3 {
  margin: 0 0 .6rem;
}
.live-player-board,
.live-player-list,
.live-bench-list,
.live-events {
  display: grid;
  gap: .55rem;
}
.live-player-zone {
  display: grid;
  gap: .55rem;
}
.live-player-zone + .live-player-zone {
  margin-top: .9rem;
}
.live-player-zone h4 {
  align-items: center;
  color: #0f172a;
  display: flex;
  justify-content: space-between;
  margin: 0;
}
.live-player-zone h4 small {
  color: var(--muted);
  font-size: .82rem;
}
.active-zone {
  border: 1px solid rgba(101, 163, 13, .24);
  border-radius: 8px;
  padding: .7rem;
  background: #f7fee7;
}
.bench-zone {
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  padding: .7rem;
  background: #f8fafc;
}
.events-zone {
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  padding: .65rem;
  background: #fff;
}
.events-zone .live-events {
  max-height: 10.5rem;
  overflow-y: auto;
  padding-right: .2rem;
}
.live-player-row,
.live-bench-row,
.live-event {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: .75rem;
  background: #fff;
}
.live-player-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.live-bench-row {
  align-items: center;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(6.5rem, auto);
  gap: .65rem;
}
.live-player-row .actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(5.4rem, 1fr));
  gap: .45rem;
  margin-top: 0;
}
.live-action-pair {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 2.6rem;
  gap: .25rem;
}
.live-action-pair .decrement-button {
  min-width: 2.6rem;
  padding-left: .35rem;
  padding-right: .35rem;
}
.live-player-row span,
.live-bench-row span,
.live-event span {
  display: block;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 800;
}
.live-player-time {
  margin-top: .3rem;
}
.live-player-time strong {
  color: #14532d;
  display: block;
  font-size: .92rem;
}
.live-player-time em {
  color: #64748b;
  display: block;
  font-size: .76rem;
  font-style: normal;
  font-weight: 800;
}
.live-event p {
  margin: .2rem 0 0;
}

.live-match-console {
  gap: .55rem;
  max-height: calc(96vh - 4rem);
  overflow: hidden;
}
.live-topbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: .75rem;
  align-items: center;
  padding: .52rem .75rem;
  border: 1px solid rgba(120, 227, 27, .28);
  border-radius: 8px;
  background: linear-gradient(135deg, #020604 0%, #07130c 64%, #0b2014 100%);
  color: #fff;
}
.live-brand-block {
  align-items: center;
  display: flex;
  gap: .7rem;
  min-width: 0;
}
.live-iaticsw-mark {
  align-items: center;
  border-right: 1px solid rgba(255, 255, 255, .18);
  display: grid;
  grid-template-columns: auto 1fr;
  min-width: 12rem;
  padding-right: .9rem;
}
.live-iaticsw-mark span {
  color: var(--iatic-green-2);
  font-size: 2.1rem;
  font-weight: 950;
  grid-row: span 2;
  line-height: .85;
  margin-right: .38rem;
}
.live-iaticsw-mark strong {
  color: #fff;
  font-size: 1.34rem;
  letter-spacing: .03em;
  line-height: 1;
}
.live-iaticsw-mark small {
  color: #b6c1cc;
  font-size: .46rem;
  font-weight: 900;
  letter-spacing: .22em;
}
.live-topbar-logo {
  height: 2.95rem;
  width: 2.95rem;
}
.live-topbar h3 {
  margin: .1rem 0 0;
  color: #fff;
  font-size: clamp(1rem, 2vw, 1.28rem);
}
.live-topbar p {
  color: #d8e2e8;
  font-size: .9rem;
  font-weight: 800;
  margin: .08rem 0 0;
}
.live-topbar-motto {
  color: #d7dde2 !important;
  font-size: .62rem !important;
  font-weight: 950 !important;
  letter-spacing: .18em;
  line-height: 1.25;
  margin: 0 !important;
  text-align: right;
  text-transform: uppercase;
}
.live-topbar .eyebrow {
  color: var(--iatic-green-2);
}
.live-topbar-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(4.4rem, auto));
  gap: .42rem;
}
.live-topbar-actions button {
  min-height: 2.35rem;
  padding: .42rem .7rem;
}
.icon-top-button {
  align-items: center;
  background: rgba(255, 255, 255, .08) !important;
  border-color: rgba(255, 255, 255, .16) !important;
  color: #fff !important;
  display: inline-flex;
  font-size: 1.1rem !important;
  justify-content: center;
  min-width: 2.35rem;
}
.live-match-console button {
  min-height: 2.45rem;
  font-size: .86rem;
}
.live-clock-card,
.live-score-card,
.live-control-card {
  padding: .62rem;
}
.live-main-board {
  grid-template-columns: .72fr 1fr 1fr;
  gap: .52rem;
}
.live-controls-grid {
  grid-template-columns: .78fr 1fr 1.08fr 1.25fr;
  gap: .52rem;
}
.live-score-card strong {
  font-size: clamp(1.9rem, 4.8vw, 3.2rem);
}
.live-clock-card .actions,
.live-control-card .actions {
  gap: .35rem;
}
.timeout-status-grid {
  gap: .28rem;
  margin: .38rem 0;
}
.timeout-status-grid div {
  padding: .4rem;
}
.timeout-status-grid span,
.timeout-status-grid strong {
  font-size: .68rem;
}
.live-split {
  min-height: 0;
}
.live-split h3 {
  display: none;
}
.live-player-board {
  grid-template-areas:
    "active bench"
    "events events";
  grid-template-columns: minmax(0, 1.42fr) minmax(18rem, .75fr);
  gap: .55rem;
  align-items: start;
}
.active-zone { grid-area: active; }
.bench-zone { grid-area: bench; }
.events-zone { grid-area: events; }
.active-zone,
.bench-zone,
.events-zone {
  padding: .5rem;
}
.live-player-zone + .live-player-zone {
  margin-top: 0;
}
.live-player-zone h4 {
  font-size: .88rem;
}
.active-zone .live-player-list,
.bench-zone .live-bench-list {
  max-height: clamp(12.5rem, 30vh, 18rem);
  overflow: auto;
  padding-right: .15rem;
}
.live-player-row,
.live-bench-row,
.live-event {
  padding: .46rem;
}
.live-player-row {
  align-items: flex-start;
}
.live-player-row .actions {
  grid-template-columns: repeat(4, minmax(3.8rem, 1fr));
  gap: .25rem;
}
.live-action-pair {
  grid-template-columns: minmax(0, 1fr) 2.15rem;
  gap: .16rem;
}
.live-action-pair .decrement-button {
  min-width: 2.15rem;
}
.live-player-row strong,
.live-bench-row strong {
  font-size: .9rem;
}
.live-player-row span,
.live-bench-row span,
.live-event span {
  font-size: .68rem;
}
.live-player-time strong {
  font-size: .72rem;
}
.live-player-time em {
  font-size: .64rem;
}
.events-zone .live-events {
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  max-height: 7.25rem;
  overflow: auto;
}
.live-voice-panel {
  grid-template-columns: minmax(12rem, .65fr) minmax(0, 1fr);
  gap: .55rem;
  padding: .55rem;
}
.live-voice-panel h3 {
  font-size: .95rem;
}
.live-voice-panel p,
.live-command-feedback {
  font-size: .74rem;
}
.live-voice-controls {
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: .4rem;
}
.live-voice-controls input {
  min-height: 2.45rem;
}

.live-tablet-layout {
  display: grid;
  grid-template-columns: minmax(15rem, 20rem) minmax(0, 1fr);
  gap: .62rem;
  min-height: 0;
}
.live-side-panel,
.live-court-console {
  min-height: 0;
}
.live-side-panel {
  background:
    radial-gradient(circle at 50% -10%, rgba(90, 170, 255, .18), transparent 34%),
    linear-gradient(180deg, #071017 0%, #0b171a 42%, #111f18 100%);
  border: 1px solid rgba(127, 255, 36, .36);
  border-radius: 8px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .08),
    0 14px 34px rgba(0, 0, 0, .22);
  color: #fff;
  display: grid;
  gap: .24rem;
  padding: .42rem;
}
.live-side-panel .live-direct-card {
  order: 1;
}
.live-side-panel .live-mini-board {
  order: 2;
}
.live-side-panel .live-dual-grid {
  order: 3;
}
.live-direct-card,
.live-timeout-card,
.live-side-panel .live-clock-card,
.live-side-panel .live-score-card,
.live-side-panel .live-control-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .025));
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 8px;
  color: #fff;
  padding: .42rem;
}
.live-direct-card {
  display: grid;
  gap: .34rem;
  justify-items: stretch;
  text-align: center;
}
.live-direct-head {
  align-items: center;
  border-bottom: 1px solid rgba(148, 163, 184, .18);
  display: flex;
  gap: .45rem;
  justify-content: flex-start;
  padding-bottom: .28rem;
}
.live-direct-head span {
  background: var(--iatic-green-2);
  border-radius: 999px;
  box-shadow: 0 0 12px rgba(132, 255, 24, .7);
  height: .72rem;
  width: .72rem;
}
.live-direct-head strong {
  color: #f8fafc;
  font-size: 1rem;
  line-height: 1;
}
.live-main-clock {
  color: #f8fafc;
  display: block;
  font-size: 2.65rem;
  letter-spacing: .02em;
  line-height: .9;
  text-shadow: 0 8px 22px rgba(0, 0, 0, .45);
}
.live-side-panel .live-clock-card span,
.live-side-panel .live-score-card span,
.live-side-panel .live-control-card span,
.live-side-panel .meta {
  color: rgba(226, 232, 240, .86);
}
.live-side-panel .live-clock-card strong,
.live-side-panel .live-score-card strong,
.live-side-panel .live-control-card strong {
  color: #fff;
}
.live-period-pill {
  color: var(--iatic-green-2);
  font-size: 1.02rem;
  font-weight: 950;
  margin: -.08rem 0;
  text-align: center;
}
.live-scoreboard {
  align-items: end;
  display: grid;
  gap: .35rem;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  padding: 0;
}
.live-score-team {
  display: grid;
  gap: .12rem;
  justify-items: center;
  min-width: 0;
}
.live-score-team img,
.live-rival-shield {
  height: 2.1rem;
  width: 2.1rem;
}
.live-rival-shield {
  align-items: center;
  border: 2px solid rgba(147, 197, 253, .48);
  border-radius: 8px;
  color: rgba(147, 197, 253, .8);
  display: inline-flex;
  font-size: 1.45rem;
  justify-content: center;
}
.live-score-team span {
  color: #dbeafe;
  font-size: .68rem;
  font-weight: 950;
  line-height: 1.05;
  max-width: 6.6rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.live-score-team strong {
  color: #fff;
  font-size: 2.55rem;
  line-height: .94;
}
.live-score-separator {
  color: rgba(147, 197, 253, .72);
  font-size: 1.5rem;
  font-weight: 950;
  padding-bottom: .4rem;
}
.live-clock-primary-actions {
  display: grid;
  gap: .32rem;
  grid-template-columns: 1fr;
}
.live-clock-primary-actions .icon-clock-button {
  border-radius: 8px;
  font-size: 1.02rem !important;
  min-height: 2.45rem;
}
.live-clock-primary-actions .icon-clock-button.wide {
  font-size: 1rem !important;
  font-weight: 950;
}
.live-clock-secondary {
  background: rgba(15, 33, 45, .86) !important;
  border: 1px solid rgba(148, 210, 255, .26) !important;
  border-radius: 8px !important;
  color: #e2e8f0 !important;
  font-size: .75rem !important;
  font-weight: 900 !important;
  min-height: 2rem !important;
  padding: .22rem .45rem !important;
  text-align: center;
}
.live-score-duel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .22rem;
}
.live-score-duel .live-score-card {
  text-align: center;
}
.live-score-duel .live-score-card strong {
  font-size: 1.65rem;
}
.live-score-duel .live-score-card button,
.live-side-panel .live-control-card button,
.live-tactic-side-button {
  font-size: .72rem;
  min-height: 1.45rem;
  padding: .18rem .3rem;
}
.live-side-panel .card-actions-grid {
  gap: .16rem;
  margin-top: .18rem;
}
.live-side-panel .card-actions-grid button {
  font-size: .56rem;
}
.live-side-panel .segmented-control.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  background: #edf2f7;
  border-radius: 8px;
  padding: .14rem;
}
.live-side-panel .segmented-control.compact button {
  color: #475569;
  min-height: 1.42rem;
}
.live-side-panel .segmented-control.compact button.active {
  background: #fff;
  color: #0f172a;
  box-shadow: 0 3px 12px rgba(15, 23, 42, .12);
}
.live-side-panel .live-clock-card > strong {
  font-size: 1.22rem;
}
.live-side-panel .live-control-card > strong {
  font-size: 1.06rem;
}
.live-side-panel .live-clock-card .actions,
.live-side-panel .live-control-card .actions {
  gap: .28rem;
}
.live-side-panel .icon-clock-button {
  min-height: 1.9rem;
}
.live-side-panel .live-clock-card span,
.live-side-panel .live-score-card span,
.live-side-panel .live-control-card span,
.live-side-panel .meta {
  font-size: .58rem;
}
.live-side-panel .meta {
  margin-top: .08rem;
}
.live-dual-grid,
.live-timeout-grid {
  display: grid;
  gap: .24rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.live-dual-grid {
  align-items: stretch;
}
.live-dual-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .025));
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 8px;
  color: #fff;
  display: grid;
  gap: .14rem;
  min-width: 0;
  padding: .28rem;
  text-align: center;
}
.live-dual-card span {
  color: rgba(226, 232, 240, .9);
  font-size: .64rem;
  font-weight: 950;
  line-height: 1.05;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.live-dual-card strong {
  color: #fff;
  font-size: 1.36rem;
  line-height: 1;
}
.live-dual-card button {
  border-radius: 8px;
  font-size: .62rem;
  font-weight: 950;
  min-height: 1.42rem;
  padding: .1rem .22rem;
}
.live-dual-card.cards div {
  display: grid;
  gap: .18rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.live-dual-card.cards button {
  font-size: .8rem;
  min-height: 1.38rem;
}
.live-dual-grid .live-timeout-close,
.live-dual-grid .live-timeout-status {
  grid-column: 1 / -1;
}
.live-timeout-card {
  display: grid;
  gap: .26rem;
  text-align: center;
}
.live-timeout-card span {
  color: #f8fafc;
  font-size: .72rem;
  font-weight: 950;
}
.live-timeout-card strong {
  color: #f8fafc;
  font-size: 1.3rem;
}
.live-timeout-card button {
  font-size: .66rem;
  min-height: 1.65rem;
  padding: .16rem .25rem;
}
.live-timeout-close,
.live-timeout-status {
  grid-column: 1 / -1;
}
.live-timeout-close {
  font-size: .65rem;
  min-height: 1.55rem;
  padding: .12rem .2rem;
}
.live-timeout-status {
  color: #cbd5e1;
  font-size: .58rem;
  margin: 0;
  text-align: center;
}
.live-court-console {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: .44rem;
}
.live-court-console .live-player-board {
  grid-template-areas:
    "active active"
    "bench bench";
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
}
.live-court-console .active-zone,
.live-court-console .bench-zone,
.live-court-console .events-zone {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border-color: #dbe3ef;
  padding: .5rem;
}
.live-court-console .active-zone h4,
.live-court-console .bench-zone h4,
.live-court-console .events-zone h4 {
  color: #083012;
  font-size: .96rem;
  letter-spacing: 0;
}
.active-zone .live-player-list,
.bench-zone .live-bench-list {
  max-height: none;
  overflow: visible;
  padding-right: 0;
}
.active-zone .live-player-list {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.bench-zone .live-bench-list {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}
.live-player-card,
.live-bench-card {
  background: #fff;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
  min-width: 0;
}
.live-player-card {
  display: grid;
  gap: .46rem;
  padding: .52rem;
}
.live-player-card-head,
.live-bench-card-head {
  display: flex;
  gap: .42rem;
  min-width: 0;
}
.live-player-card-head {
  align-items: flex-start;
  justify-content: space-between;
  display: grid;
  grid-template-columns: minmax(0, .7fr) minmax(4.6rem, 1fr);
  min-height: 5.9rem;
}
.live-player-card-head strong {
  color: #020617;
  display: block;
  font-size: 2.35rem;
  line-height: .95;
}
.live-player-card-head span,
.live-bench-card-head strong {
  color: #0f172a;
  display: block;
  font-weight: 950;
  line-height: 1.05;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.live-player-card-head span {
  font-size: 1.02rem;
  max-width: 6.2rem;
  text-transform: uppercase;
}
.live-player-card-head em,
.live-bench-card-head span {
  color: #64748b;
  display: block;
  font-size: .68rem;
  font-style: normal;
  font-weight: 850;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.live-player-card-head small {
  color: #0f172a;
  display: block;
  font-size: 1.02rem;
  font-weight: 950;
  margin-top: .6rem;
}
.live-player-photo {
  border-radius: 8px;
  height: 5.9rem;
  overflow: hidden;
  position: relative;
  width: 100%;
  flex: 0 0 auto;
  background: #e2e8f0;
}
.live-player-photo.small {
  height: 2.15rem;
  width: 2.15rem;
}
.live-player-photo img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.live-player-photo span {
  align-items: center;
  background: #0f172a;
  border-radius: 999px;
  bottom: .12rem;
  color: var(--iatic-green-2);
  display: inline-flex;
  font-size: .72rem;
  font-weight: 950;
  height: 1.25rem;
  justify-content: center;
  min-width: 1.25rem;
  padding: 0 .2rem;
  position: absolute;
  right: .12rem;
}
.live-player-card .actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .18rem;
  margin: 0;
}
.live-player-card .actions button,
.live-player-card .live-action-pair button {
  border-radius: 6px;
  font-size: .72rem;
  min-height: 2.34rem;
  padding: .12rem .08rem;
}
.live-player-card .actions .live-icon-stat-btn {
  align-items: center;
  display: grid;
  gap: .08rem;
  grid-template-rows: 1fr auto;
  justify-items: center;
}
.live-action-icon {
  display: block;
  font-size: 1.12rem;
  font-weight: 950;
  line-height: 1;
  margin: 0;
}
.live-player-card .actions button span:not(.live-action-icon) {
  display: block;
  line-height: 1.05;
}
.live-player-card .actions button em {
  display: block;
  font-size: .9rem;
  font-style: normal;
  font-weight: 950;
  line-height: 1;
}
.live-assist-btn {
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #fff !important;
}
.live-foul-btn {
  background: #020617 !important;
  border-color: #020617 !important;
  color: #fff !important;
}
.live-loss-btn {
  background: #ef4444 !important;
  border-color: #ef4444 !important;
  color: #fff !important;
}
.live-chance-btn {
  background: #f97316 !important;
  border-color: #f97316 !important;
  color: #fff !important;
}
.live-yellow-btn {
  background: #facc15 !important;
  border-color: #facc15 !important;
  color: #111827 !important;
}
.live-red-btn {
  background: #fee2e2 !important;
  border-color: #ef4444 !important;
  color: #991b1b !important;
}
.live-exit-btn {
  background: #f8fafc !important;
  border-color: #dbe3ef !important;
  color: #dc2626 !important;
}
.live-actions-legend {
  align-items: center;
  border-top: 1px solid #e2e8f0;
  color: #475569;
  display: flex;
  flex-wrap: wrap;
  font-size: .62rem;
  font-weight: 900;
  gap: .26rem .52rem;
  margin-top: .42rem;
  padding-top: .38rem;
}
.live-actions-legend span {
  align-items: center;
  display: inline-flex;
  gap: .22rem;
  white-space: nowrap;
}
.live-actions-legend i {
  align-items: center;
  border-radius: 6px;
  display: inline-flex;
  font-size: .72rem;
  font-style: normal;
  font-weight: 950;
  height: 1.15rem;
  justify-content: center;
  width: 1.15rem;
}
.live-actions-legend .live-goal-btn {
  background: #67e819;
  color: #102a06;
}
.live-actions-legend .live-assist-btn {
  background: #2563eb;
  color: #fff;
}
.live-actions-legend .live-foul-btn {
  background: #020617;
  color: #fff;
}
.live-actions-legend .live-loss-btn {
  background: #ef4444;
  color: #fff;
}
.live-actions-legend .live-chance-btn {
  background: #f97316;
  color: #fff;
}
.live-actions-legend .live-yellow-btn {
  background: #facc15;
  color: #111827;
}
.live-actions-legend .live-red-btn {
  background: #fee2e2;
  border: 1px solid #ef4444;
  color: #991b1b;
}
.live-actions-legend .live-exit-btn {
  background: #f8fafc;
  border: 1px solid #dbe3ef;
  color: #dc2626;
}
.live-bench-card {
  display: grid;
  gap: .28rem;
  padding: .36rem;
}
.live-bench-card-head {
  align-items: center;
}
.live-bench-card-head > div {
  min-width: 0;
}
.live-bench-card-head strong {
  font-size: .72rem;
}
.live-bench-card-head span {
  font-size: .62rem;
}
.live-bench-stats {
  color: #475569;
  display: grid;
  font-size: .62rem;
  font-weight: 900;
  gap: .12rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.live-bench-card button {
  font-size: .72rem;
  min-height: 2rem;
  padding: .22rem;
}
.events-zone .live-events {
  display: grid;
  gap: 0;
  grid-template-columns: 1fr;
  max-height: 6.25rem;
  overflow: auto;
}
.live-event {
  align-items: center;
  display: grid;
  gap: .42rem;
  grid-template-columns: 3.2rem 1.8rem 3rem minmax(0, 1fr) 1.8rem 3.9rem;
  min-height: 1.85rem;
  padding: .12rem .28rem;
  border-radius: 0;
  border-width: 0 0 1px;
}
.live-event p {
  font-size: .74rem;
  font-weight: 850;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.live-events-title {
  align-items: center;
  display: inline-flex;
  gap: .45rem;
}
.live-event-time,
.live-event-score {
  color: #0f172a;
  font-size: .75rem;
  font-weight: 900;
}
.live-event-icon {
  align-items: center;
  color: #0f172a;
  display: inline-flex;
  font-size: .9rem;
  font-weight: 950;
  justify-content: center;
}
.live-event-icon.goal { font-size: 1rem; }
.live-event-icon.yellow { color: #facc15; }
.live-event-icon.red { color: #ef4444; }
.live-event-icon.change {
  align-items: center;
  color: #16a34a;
  display: inline-flex;
  min-width: 1.35rem;
}
.change-arrows {
  display: inline-grid;
  gap: .02rem;
  line-height: .72;
  place-items: center;
}
.change-arrows b {
  display: block;
  font-size: .9rem;
  font-weight: 950;
}
.change-arrows b:first-child {
  color: #22c55e;
}
.change-arrows b:last-child {
  color: #ef4444;
}
.live-event-icon.foul {
  background: #020617;
  border-radius: 3px;
  color: #020617;
  font-size: .72rem;
  height: 1.05rem;
  width: .72rem;
}
.live-event-side {
  align-items: center;
  display: inline-flex;
  font-size: .9rem;
  justify-content: center;
}
.live-event-side.own { color: #0f172a; }
.live-event-side.rival { color: #64748b; }
.live-event-actions {
  display: flex;
  gap: .18rem;
  justify-content: flex-end;
}
.icon-row-button {
  border-radius: 6px;
  font-size: .78rem;
  height: 1.45rem;
  min-height: 1.45rem !important;
  min-width: 1.55rem;
  padding: .05rem .18rem;
}
.live-event.editing {
  background: #f8fafc;
  grid-template-columns: 1fr;
  min-height: 3.35rem;
  padding: .2rem .28rem;
  position: relative;
  z-index: 3;
}
.live-event.editing > :not(.live-event-edit-form) {
  display: none;
}
.live-event-edit-form {
  display: grid;
  gap: .3rem;
  grid-template-columns: 4.4rem minmax(7.8rem, 1fr) minmax(8.4rem, 1fr) auto;
  padding: .08rem 0;
}
.live-event-edit-form label {
  color: #64748b;
  display: grid;
  font-size: .62rem;
  font-weight: 900;
  gap: .12rem;
}
.live-event-edit-form input,
.live-event-edit-form select {
  min-height: 1.9rem;
  padding: .18rem .35rem;
}
.live-event-edit-actions {
  align-items: end;
  display: flex;
  gap: .25rem;
}
.live-event-edit-actions button {
  min-height: 1.9rem !important;
  padding: .18rem .5rem;
}
.live-voice-panel {
  border-color: #dbe3ef;
  align-content: stretch;
  grid-template-columns: 1fr;
  padding: .5rem;
}
.live-voice-panel h3 {
  font-size: 1rem;
}
.live-voice-panel p {
  font-size: .72rem;
}
.live-voice-controls {
  grid-template-columns: minmax(0, 1fr) auto auto;
}
.live-voice-controls input {
  min-height: 2.7rem;
}
.live-command-feedback {
  align-self: center;
  border-top: 0;
  padding-top: 0;
}
.live-bottom-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .44rem;
  min-height: 0;
}
.live-bottom-grid .events-zone,
.live-bottom-grid .live-voice-panel {
  margin: 0;
}
.live-bottom-grid .events-zone {
  grid-area: auto;
  min-width: 0;
}
.live-bottom-grid .live-voice-panel {
  align-content: stretch;
  display: grid;
  gap: .35rem;
  grid-template-columns: 1fr;
}
.live-bottom-grid .live-voice-controls {
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: .35rem;
}
.live-bottom-grid .live-command-feedback {
  align-self: center;
  border-top: 1px solid rgba(219, 227, 239, .9);
  font-size: .72rem;
  padding-top: .3rem;
}
.live-event-filters {
  display: flex;
  gap: .35rem;
}
.live-event-filters button {
  background: #f1f5f9;
  border: 1px solid #dbe3ef;
  border-radius: 999px;
  color: #334155;
  font-size: .65rem;
  font-weight: 900;
  min-height: 1.65rem;
  padding: .18rem .65rem;
}
.live-event-filters button.active {
  background: linear-gradient(135deg, #4bd414, #8bff20);
  border-color: #65a30d;
  color: #102a06;
}
.live-mini-board {
  background:
    radial-gradient(circle at 50% 0%, rgba(91, 195, 255, .08), transparent 42%),
    rgba(255, 255, 255, .055);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px;
  display: grid;
  gap: .2rem;
  overflow: hidden;
  padding: .34rem;
  min-height: 5.45rem;
}
.live-mini-board header {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
.live-mini-board header strong {
  align-items: center;
  display: inline-flex;
  font-size: .78rem;
  gap: .28rem;
}
.live-mini-board header strong::before {
  color: #e2e8f0;
  content: "▣";
  font-size: .74rem;
}
.live-mini-board header button {
  background: transparent;
  border: 0;
  color: #fff;
  min-height: 1rem;
  padding: 0;
}
.live-mini-court {
  aspect-ratio: 2.2;
  height: 3.85rem;
  min-height: 3.85rem;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .08), transparent 16%),
    linear-gradient(90deg, rgba(142, 84, 23, .42) 1px, transparent 1px) 0 0 / 12.5% 100%,
    linear-gradient(135deg, #d79c4f 0%, #f0bd68 46%, #d59a43 100%);
  border: 2px solid rgba(255, 255, 255, .9);
  border-radius: 6px;
  flex: 0 0 auto;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.live-mini-court::before,
.live-mini-court::after {
  border: 2px solid rgba(255, 255, 255, .92);
  content: "";
  position: absolute;
}
.live-mini-court::before {
  border-radius: 999px;
  height: 34%;
  left: 40%;
  top: 32%;
  width: 20%;
}
.live-mini-court::after {
  background: rgba(255, 255, 255, .92);
  height: 100%;
  left: 50%;
  top: 0;
  width: 2px;
}
.live-mini-court {
  box-shadow: inset 0 0 0 1px rgba(159, 91, 28, .42);
}
.live-mini-court .mini-dot {
  box-shadow: 0 2px 6px rgba(0, 0, 0, .28);
}
.live-mini-court::selection {
  background: transparent;
}
.live-mini-board .live-mini-court:after {
  z-index: 1;
}
.live-mini-board .live-mini-court:before {
  z-index: 1;
}
.live-mini-board .live-mini-court .mini-dot {
  z-index: 2;
}
.mini-goal,
.mini-area {
  border: 2px solid rgba(255, 255, 255, .94);
  pointer-events: none;
  position: absolute;
  z-index: 1;
}
.mini-goal {
  background: rgba(255, 255, 255, .08);
  height: 24%;
  top: 38%;
  width: 6%;
}
.mini-goal.left {
  border-left: 0;
  left: 0;
}
.mini-goal.right {
  border-right: 0;
  right: 0;
}
.mini-area {
  height: 56%;
  top: 22%;
  width: 24%;
}
.mini-area.left {
  border-left: 0;
  border-radius: 0 999px 999px 0;
  left: 0;
}
.mini-area.right {
  border-radius: 999px 0 0 999px;
  border-right: 0;
  right: 0;
}
.mini-dot {
  align-items: center;
  border: 2px solid #fff;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: .48rem;
  font-weight: 950;
  height: .82rem;
  justify-content: center;
  position: absolute;
  width: .82rem;
  z-index: 2;
}
.mini-dot.own { background: #2563eb; }
.mini-dot.rival { background: #111827; }
.mini-dot.p1 { left: 13%; top: 58%; }
.mini-dot.p2 { left: 37%; top: 48%; }
.mini-dot.p3 { left: 28%; top: 20%; }
.mini-dot.p4 { left: 69%; top: 43%; }
.mini-dot.p5 { left: 78%; top: 23%; }

@media (min-width: 721px) and (max-width: 1080px) {
  #editDialog { width: 98vw; max-height: 96vh; }
  #editDialog .modal-card { padding: 1rem; }
  .live-match-console { gap: .55rem; }
  .live-main-board { grid-template-columns: .9fr 1fr 1fr; }
  .live-controls-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .live-split { grid-template-columns: 1fr; }
  .live-player-board {
    grid-template-areas:
      "active bench"
      "events events";
    grid-template-columns: minmax(0, 1.35fr) minmax(16rem, .8fr);
  }
  .live-clock-card,
  .live-score-card,
  .live-control-card,
  .live-voice-panel,
  .active-zone,
  .bench-zone,
  .events-zone { padding: .55rem; }
  .live-main-board,
  .live-controls-grid,
  .live-player-board,
  .live-player-list,
  .live-bench-list,
  .live-events { gap: .42rem; }
  .live-tools-row { gap: .42rem; }
  .live-voice-controls input,
  .live-match-console button { min-height: 2.55rem; }
  .live-score-card strong { font-size: clamp(1.9rem, 5vw, 3rem); }
  .timeout-status-grid { margin: .45rem 0; }
  .events-zone .live-events { max-height: 7.5rem; }
  .live-player-row {
    align-items: stretch;
    display: grid;
    grid-template-columns: minmax(10rem, .75fr) minmax(0, 1.5fr);
  }
  .live-tools-row button { flex: 1 1 30%; }
  .match-toolbar {
    grid-template-columns: 1fr;
  }
  .match-row-main {
    grid-template-columns: minmax(12rem, 1fr) minmax(10rem, .8fr);
  }
  .match-row-scoreboard,
  .match-row-score {
    grid-column: 1 / -1;
  }
  .match-row-kpis {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    order: 3;
  }
  .match-row-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .player-technical-layout {
    grid-template-columns: 1fr;
  }
  .player-preview-card {
    position: static;
    grid-template-columns: minmax(12rem, .35fr) minmax(0, 1fr);
    align-items: start;
  }
  .player-preview-photo {
    grid-row: span 4;
  }
  .match-row-actions .direct-button,
  .match-row-actions .stats-button {
    grid-column: span 2;
  }
  .live-tablet-layout {
    grid-template-columns: minmax(13rem, 16rem) minmax(0, 1fr);
  }
  .live-court-console .live-player-board {
    grid-template-areas:
      "active active"
      "bench bench";
    grid-template-columns: 1fr 1fr;
  }
  .live-bottom-grid {
    grid-template-columns: minmax(0, 1fr) minmax(18rem, .78fr);
  }
  .active-zone .live-player-list {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .bench-zone .live-bench-list {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .live-player-photo {
    height: 3rem;
    width: 3rem;
  }
  .live-player-card .actions button,
  .live-player-card .live-action-pair button {
    font-size: .58rem;
    min-height: 1.72rem;
  }
  .live-bench-card-head strong,
  .live-bench-stats,
  .live-bench-card button {
    font-size: .58rem;
  }
}

@media (orientation: landscape) and (max-width: 1180px) {
  .live-fullscreen-page {
    gap: .28rem;
    padding: .32rem;
  }
  .live-fullscreen-toolbar {
    gap: .35rem;
  }
  .live-back-button {
    font-size: .78rem;
    min-height: 1.9rem;
    padding: .18rem .48rem;
  }
  .live-voice-panel-compact {
    grid-template-columns: minmax(10rem, 1fr);
    max-width: min(18rem, 62vw);
    padding: .18rem .24rem;
  }
  .live-voice-panel-compact .live-voice-controls {
    grid-template-columns: minmax(7rem, 1fr) 1.85rem 1.85rem;
  }
  .live-voice-panel-compact input,
  .live-voice-panel-compact .icon-voice-button {
    min-height: 1.72rem;
  }
  .live-voice-panel-compact .live-command-feedback {
    font-size: .58rem;
  }
  .live-fullscreen-page .live-match-console {
    gap: .32rem;
    padding: .32rem;
  }
  .live-topbar {
    gap: .4rem;
    padding: .36rem .46rem;
  }
  .live-iaticsw-mark {
    min-width: 8.4rem;
    padding-right: .45rem;
  }
  .live-iaticsw-mark span {
    font-size: 1.5rem;
  }
  .live-iaticsw-mark strong {
    font-size: 1rem;
  }
  .live-iaticsw-mark small {
    font-size: .34rem;
  }
  .live-topbar-logo {
    height: 2.1rem;
    width: 2.1rem;
  }
  .live-brand-block h3 {
    font-size: 1.05rem;
  }
  .live-brand-block p {
    font-size: .68rem;
  }
  .live-topbar-motto {
    font-size: .48rem;
  }
  .live-topbar-actions button,
  .live-match-console .live-topbar-actions button {
    font-size: .72rem;
    min-height: 2rem;
    padding: .25rem .55rem;
  }
  .live-tablet-layout {
    gap: .38rem;
    grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr);
  }
  .live-side-panel {
    gap: .16rem;
    padding: .24rem;
  }
  .live-direct-card,
  .live-timeout-card,
  .live-side-panel .live-control-card,
  .live-mini-board {
    padding: .26rem .3rem;
  }
  .live-direct-card {
    gap: .22rem;
  }
  .live-direct-head {
    padding-bottom: .22rem;
  }
  .live-direct-head strong {
    font-size: .9rem;
  }
  .live-direct-head span {
    height: .56rem;
    width: .56rem;
  }
  .live-period-pill {
    font-size: .95rem;
  }
  .live-main-clock {
    font-size: 2.25rem;
  }
  .live-score-team img,
  .live-rival-shield {
    height: 1.85rem;
    width: 1.85rem;
  }
  .live-score-team strong {
    font-size: 1.95rem;
  }
  .live-score-team span {
    font-size: .56rem;
    max-width: 4.7rem;
  }
  .live-score-separator {
    font-size: 1.35rem;
    padding-bottom: 1.45rem;
  }
  .live-clock-primary-actions .icon-clock-button {
    min-height: 2rem;
  }
  .live-timeout-grid {
    gap: .18rem;
  }
  .live-timeout-card {
    gap: .16rem;
  }
  .live-timeout-card strong {
    font-size: 1.08rem;
  }
  .live-side-panel .live-clock-card,
  .live-side-panel .live-score-card,
  .live-side-panel .live-control-card {
    padding: .22rem .28rem;
  }
  .live-score-duel .live-score-card strong {
    font-size: 1.35rem;
  }
  .live-side-panel .live-control-card > strong,
  .live-side-panel .live-clock-card > strong {
    font-size: 1rem;
  }
  .live-side-panel .live-score-card button,
  .live-side-panel .live-control-card button,
  .live-timeout-card button,
  .live-timeout-close,
  .live-dual-card button {
    font-size: .6rem;
    min-height: 1.25rem;
    padding: .12rem .2rem;
  }
  .live-dual-grid {
    gap: .18rem;
  }
  .live-dual-card {
    gap: .12rem;
    padding: .22rem .24rem;
  }
  .live-dual-card span {
    font-size: .52rem;
  }
  .live-dual-card strong {
    font-size: 1.05rem;
  }
  .live-clock-secondary {
    font-size: .62rem !important;
    min-height: 1.62rem !important;
  }
  .live-mini-court {
    aspect-ratio: 2.25;
    height: 3.3rem;
    min-height: 3.3rem;
  }
  .live-mini-board {
    gap: .22rem;
  }
  .mini-dot {
    font-size: .52rem;
    height: .92rem;
    width: .92rem;
  }
  .live-court-console {
    gap: .3rem;
  }
  .active-zone .live-player-list {
    gap: .3rem;
  }
  .bench-zone .live-bench-list {
    gap: .26rem;
  }
  .live-player-card {
    gap: .28rem;
    padding: .34rem;
  }
  .live-player-card-head {
    grid-template-columns: minmax(0, .62fr) minmax(3.45rem, .9fr);
    min-height: 4.55rem;
  }
  .live-player-card-head strong {
    font-size: 1.72rem;
  }
  .live-player-card-head span {
    font-size: .78rem;
  }
  .live-player-card-head small {
    font-size: .78rem;
    margin-top: .28rem;
  }
  .live-player-photo {
    height: 4.55rem;
  }
  .live-player-card .actions {
    gap: .14rem;
  }
  .live-player-card .actions button,
  .live-player-card .live-action-pair button {
    font-size: .55rem;
    min-height: 1.75rem;
    padding: .08rem .05rem;
  }
  .live-action-icon {
    font-size: .9rem;
  }
  .live-player-card .actions button em {
    font-size: .72rem;
  }
  .live-actions-legend {
    font-size: .5rem;
    gap: .18rem .34rem;
    margin-top: .28rem;
    padding-top: .26rem;
  }
  .live-actions-legend i {
    font-size: .58rem;
    height: .9rem;
    width: .9rem;
  }
  .live-bench-card {
    gap: .18rem;
    padding: .24rem;
  }
  .live-bench-card-head strong,
  .live-bench-card button {
    font-size: .58rem;
  }
  .live-bench-stats {
    font-size: .52rem;
  }
  .events-zone .live-events {
    max-height: 5.1rem;
  }
  .live-event {
    grid-template-columns: 2.7rem 1.35rem 2.55rem minmax(0, 1fr) 1.35rem 3.2rem;
    min-height: 1.52rem;
    padding: .06rem .18rem;
  }
  .live-event p,
  .live-event-time,
  .live-event-score {
    font-size: .62rem;
  }
  .live-event-filters button {
    font-size: .56rem;
    min-height: 1.35rem;
    padding: .08rem .42rem;
  }
  .icon-row-button {
    height: 1.2rem;
    min-height: 1.2rem !important;
    min-width: 1.3rem;
  }
}

@media (orientation: landscape) and (min-width: 1181px) and (max-width: 1368px) {
  .live-fullscreen-page {
    padding: .42rem;
  }
  .live-tablet-layout {
    grid-template-columns: minmax(14rem, 17.5rem) minmax(0, 1fr);
  }
  .live-side-panel {
    gap: .28rem;
    padding: .36rem;
  }
  .live-direct-card,
  .live-timeout-card,
  .live-side-panel .live-control-card,
  .live-mini-board {
    padding: .34rem .38rem;
  }
  .live-direct-card {
    gap: .3rem;
  }
  .live-direct-head strong {
    font-size: .98rem;
  }
  .live-main-clock {
    font-size: 2.65rem;
  }
  .live-score-team img,
  .live-rival-shield {
    height: 2.1rem;
    width: 2.1rem;
  }
  .live-score-team strong {
    font-size: 2.25rem;
  }
  .live-score-team span {
    max-width: 5.7rem;
  }
  .live-clock-primary-actions .icon-clock-button {
    min-height: 2.25rem;
  }
  .live-timeout-card strong {
    font-size: 1.28rem;
  }
  .live-mini-court {
    aspect-ratio: 2.25;
    height: 3.85rem;
    min-height: 3.85rem;
  }
  .live-player-card-head {
    grid-template-columns: minmax(0, .65fr) minmax(4.1rem, .95fr);
    min-height: 5.2rem;
  }
  .live-player-photo {
    height: 5.2rem;
  }
  .live-player-card-head strong {
    font-size: 2rem;
  }
  .live-player-card .actions button,
  .live-player-card .live-action-pair button {
    font-size: .61rem;
    min-height: 1.95rem;
  }
  .live-action-icon {
    font-size: 1rem;
  }
  .live-player-card .actions button em {
    font-size: .78rem;
  }
  .live-actions-legend {
    font-size: .56rem;
    gap: .2rem .42rem;
    margin-top: .32rem;
  }
  .events-zone .live-events {
    max-height: 5.55rem;
  }
}
.quick-tactic-preview {
  min-height: 8rem;
}
.live-tactic-editor {
  border: 1px solid rgba(37, 99, 235, .18);
  border-radius: 8px;
  padding: .8rem;
  background: #f8fafc;
}
.stacked-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  justify-content: flex-end;
}
.strategy-preview {
  min-height: 0;
}
.strategy-video-editor {
  display: grid;
  gap: .7rem;
  padding: 1rem;
  border: 1px dashed rgba(16, 185, 129, .45);
  border-radius: 8px;
  background: #f0fdf4;
}
.strategy-video-editor strong,
.strategy-video-editor span {
  display: block;
}
.strategy-video-editor span {
  color: #475569;
  font-size: .86rem;
  margin-top: .2rem;
}
.strategy-video-preview {
  display: grid;
  gap: .45rem;
}
.strategy-video-preview video {
  width: 100%;
  max-height: 22rem;
  border-radius: 8px;
  background: #020617;
  border: 1px solid var(--line);
}
.strategy-video-preview a {
  color: #166534;
  font-size: .84rem;
  font-weight: 850;
}
.video-empty {
  padding: .8rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255,255,255,.75);
  color: var(--muted);
  font-size: .86rem;
  font-weight: 800;
}
.tactic-editor,
.strategy-viewer {
  display: grid;
  gap: .8rem;
}
.strategy-editor-shell {
  display: grid;
  gap: .9rem;
}
.strategy-editor-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1.15rem;
  border-radius: 8px;
  background: #142033;
  color: white;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 14px 34px rgba(15, 23, 42, .16);
}
.strategy-editor-hero span,
.tactic-panel-kicker {
  display: block;
  color: #93c5fd;
  font-size: .74rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.strategy-editor-hero h3 {
  margin: .22rem 0 .15rem;
  color: white;
  font-size: clamp(1.35rem, 2.2vw, 2.15rem);
  line-height: 1;
}
.strategy-editor-hero p {
  margin: 0;
  color: #cbd5e1;
  font-size: .94rem;
  font-weight: 800;
}
.strategy-editor-status {
  display: grid;
  place-items: center;
  min-width: 11rem;
  padding: .8rem 1rem;
  border-left: 1px solid rgba(255,255,255,.18);
}
.strategy-editor-status strong {
  color: white;
  font-size: 1.15rem;
}
.strategy-editor-status span {
  color: #cbd5e1;
  letter-spacing: 0;
  text-transform: none;
}
.strategy-editor-meta,
.strategy-editor-notes {
  display: grid;
  gap: .75rem;
}
.strategy-editor-meta {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.strategy-editor-meta .wide {
  grid-column: span 2;
}
.strategy-editor-notes {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.strategy-editor-meta label,
.strategy-editor-notes label {
  padding: .75rem;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #f8fafc;
}
.tactic-workbench {
  display: grid;
  grid-template-columns: minmax(15rem, .28fr) minmax(0, 1fr);
  gap: .9rem;
  align-items: stretch;
}
.tactic-side-panel,
.tactic-board-panel {
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}
.tactic-side-panel {
  display: grid;
  gap: .85rem;
  align-content: start;
  padding: .9rem;
}
.tactic-side-panel strong {
  display: block;
  margin-top: .15rem;
  color: #0f172a;
  font-size: 1.25rem;
}
.tactic-side-panel .tactic-tools,
.tactic-side-panel .recording-tools {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.tactic-side-panel .recording-tools {
  grid-template-columns: 1fr;
}
.tactic-board-panel {
  display: grid;
  gap: .7rem;
  padding: .9rem;
}
.tactic-header {
  display: grid;
  gap: .75rem;
}
.tactic-header strong,
.tactic-header span {
  display: block;
}
.tactic-header strong { color: #0f172a; font-size: 1rem; }
.tactic-header span { color: var(--muted); font-size: .86rem; }
.tactic-tools {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.recording-tools,
.movement-replay {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}
.recording-tools {
  padding: .7rem;
  border: 1px solid rgba(120, 227, 27, .28);
  border-radius: 8px;
  background: #f7fee7;
}
.recording-tools span,
.movement-replay span {
  color: var(--muted);
  font-size: .82rem;
  font-weight: 850;
}
.movement-replay {
  justify-content: space-between;
  padding: .8rem;
  border: 1px solid rgba(120, 227, 27, .28);
  border-radius: 8px;
  background: #f7fee7;
}
.strategy-play-button,
.replay-main-button {
  box-shadow: 0 10px 24px rgba(120, 227, 27, .22);
}
.strategy-play-button {
  min-width: 11rem;
}
.replay-main-button {
  padding: .85rem 1.1rem;
  font-size: .95rem;
}
.replay-controls {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
  justify-content: flex-end;
}
.replay-arrow {
  min-width: 7.5rem;
  background: #fff;
  color: #0f172a;
  border: 1px solid #cbd5e1;
  font-size: .95rem;
}
.replay-counter {
  min-width: 8.5rem;
  padding: .45rem .6rem;
  border-radius: 8px;
  background: rgba(7, 16, 9, .08);
  color: #14532d;
  font-size: .82rem;
  font-weight: 900;
  text-align: center;
}
.replay-current-step {
  flex: 1 0 100%;
  display: grid;
  grid-template-columns: 2.1rem minmax(0, 1fr);
  gap: .75rem;
  align-items: center;
  margin-top: .25rem;
  padding: .75rem .85rem;
  border-radius: 8px;
  background: white;
  border: 1px solid rgba(120, 227, 27, .36);
  color: #0f172a;
}
.replay-current-step strong {
  display: grid;
  place-items: center;
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 50%;
  background: #071009;
  color: var(--iatic-green-2);
  font-size: .95rem;
  line-height: 1;
  text-align: center;
}
.movement-replay .replay-current-step strong {
  display: grid;
}
.replay-current-step span {
  color: #0f172a;
  font-size: 1rem;
  font-weight: 850;
}
.replay-current-step small {
  display: block;
  margin-bottom: .15rem;
  color: #64748b;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}
.movement-replay strong,
.movement-replay span {
  display: block;
}
.primary.small,
.ghost-button.small,
.danger.small {
  padding: .5rem .65rem;
  font-size: .82rem;
}
.tactic-tools .ghost-button {
  background: #f8fafc;
  color: #0f172a;
  border: 1px solid var(--line);
}
.tactic-tools .ghost-button:hover {
  border-color: rgba(120, 227, 27, .7);
}
.tactic-tool.active {
  background: #0f172a;
  color: var(--iatic-green-2);
  border-color: rgba(120, 227, 27, .65);
}
.tactic-tools .danger:disabled {
  background: #f1f5f9;
  color: #94a3b8;
}
.tactical-pitch {
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 2px solid rgba(146, 64, 14, .58);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.10), transparent 12%, rgba(255,255,255,.08) 24%, transparent 36%, rgba(255,255,255,.08) 49%, transparent 62%, rgba(255,255,255,.08) 78%, transparent),
    repeating-linear-gradient(90deg, #d7a35b 0 28px, #c88d45 28px 30px, #e1b06c 30px 58px, #b97936 58px 60px),
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(101, 43, 12, .12));
  box-shadow: inset 0 0 42px rgba(82, 36, 12, .28), inset 0 0 0 999px rgba(245, 158, 11, .06);
  touch-action: none;
  user-select: none;
}
.tactical-pitch.half-pitch { aspect-ratio: 4 / 3; }
.tactical-pitch.full-pitch {
  aspect-ratio: 16 / 9;
}
.create-strategy-card {
  min-height: 14rem;
  align-content: center;
  background: linear-gradient(135deg, #071009, #173d17);
  color: white;
  border-color: rgba(120, 227, 27, .42);
}
.create-strategy-card h3 { color: white; font-size: 1.35rem; }
.create-strategy-card p { color: #d9f99d; }
.tactic-editor .tactical-pitch {
  min-height: clamp(21rem, 48vw, 34rem);
}
.strategy-viewer .tactical-pitch {
  min-height: clamp(20rem, 50vw, 36rem);
}
.tactical-pitch.mini {
  border-width: 1px;
  height: clamp(12rem, 28vw, 18rem);
  min-height: 0;
  aspect-ratio: auto;
}
.pitch-lines-layer,
.pitch-drawings-layer,
.token-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.pitch-club-logo {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  width: clamp(8rem, 22%, 13rem);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--club-primary, #78e31b) 18%, rgba(255,255,255,.82));
  border: 3px solid color-mix(in srgb, var(--club-primary, #78e31b) 60%, rgba(255,255,255,.95));
  box-shadow: 0 16px 34px rgba(82, 36, 12, .22), 0 0 0 8px rgba(255,255,255,.18);
  opacity: .62;
  pointer-events: none;
}
.pitch-club-logo img {
  max-width: 74%;
  max-height: 74%;
  object-fit: contain;
  filter: saturate(1.05) contrast(1.02);
}
.pitch-center-mark {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  width: clamp(7.5rem, 22%, 14rem);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border: clamp(4px, .55vw, 7px) solid rgba(255, 255, 255, .96);
  border-radius: 50%;
  pointer-events: none;
}
.pitch-center-mark span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: clamp(.6rem, 1.2vw, 1rem);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #fff;
}
.pitch-lines-layer,
.pitch-drawings-layer {
  opacity: .94;
  pointer-events: none;
}
.pitch-lines-layer { z-index: 2; }
.pitch-drawings-layer { z-index: 4; }
.token-layer { z-index: 5; }
.tactical-pitch.mini .pitch-club-logo {
  width: clamp(4rem, 24%, 6rem);
  opacity: .48;
}
.tactical-pitch.replay-mode .tactic-token {
  transition: left 1.15s cubic-bezier(.22, 1, .36, 1), top 1.15s cubic-bezier(.22, 1, .36, 1), transform .2s ease;
}
.tactical-pitch.replay-mode .tactic-token span {
  box-shadow: 0 10px 22px rgba(0,0,0,.36), 0 0 0 4px rgba(255,255,255,.08);
}
.tactical-pitch.replay-mode .drawing-layer line,
.tactical-pitch.replay-mode .drawing-layer path {
  animation: drawIn .65s ease both;
}
.tactical-pitch.replay-mode .drawing-layer text {
  animation: fadeIn .5s ease .25s both;
}
.replay-step-label {
  position: absolute;
  left: .75rem;
  bottom: .75rem;
  z-index: 3;
  max-width: calc(100% - 1.5rem);
  padding: .42rem .65rem;
  border-radius: 8px;
  background: rgba(7, 16, 9, .82);
  color: var(--iatic-green-2);
  font-size: .78rem;
  font-weight: 900;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(157, 255, 47, .35);
}
@keyframes drawIn {
  from { opacity: 0; stroke-dashoffset: 14; }
  to { opacity: 1; stroke-dashoffset: 0; }
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(1px); }
  to { opacity: 1; transform: translateY(0); }
}
.tactic-token {
  position: absolute;
  display: grid;
  justify-items: center;
  gap: .16rem;
  min-width: 2.2rem;
  padding: 0;
  border: 0;
  background: transparent;
  transform: translate(-50%, -50%);
  cursor: grab;
  color: white;
  touch-action: none;
}
.tactic-token:active { cursor: grabbing; }
.tactic-token span {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.75);
  color: white;
  font-size: .74rem;
  font-weight: 950;
  box-shadow: 0 7px 16px rgba(0,0,0,.34);
}
.tactic-token.atacante span { background: #dc2626; }
.tactic-token.defensor span { background: #2563eb; }
.tactic-token.balon span {
  background: white;
  color: #0f172a;
  border-color: #111827;
}
.tactic-token em {
  max-width: 6rem;
  padding: .08rem .28rem;
  border-radius: 5px;
  background: rgba(2, 6, 23, .78);
  color: white;
  font-size: .58rem;
  font-style: normal;
  font-weight: 850;
  line-height: 1.15;
  white-space: nowrap;
}
.tactical-pitch.mini .tactic-token span {
  width: 1.45rem;
  height: 1.45rem;
  font-size: .62rem;
}
.tactical-pitch.mini .tactic-token em { display: none; }
.tactic-token.selected span {
  outline: 3px solid var(--iatic-green-2);
  outline-offset: 2px;
}
.tactic-legend,
.strategy-summary {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  align-items: center;
}
.tactic-legend {
  color: var(--muted);
  font-size: .82rem;
  font-weight: 800;
}
.tactic-legend span {
  display: inline-flex;
  gap: .3rem;
  align-items: center;
}
.tactic-legend i {
  display: inline-block;
  width: .85rem;
  height: .85rem;
  border-radius: 50%;
}
.tactic-legend .attacker { background: #dc2626; }
.tactic-legend .defender { background: #2563eb; }
.tactic-legend .pass,
.tactic-legend .run,
.tactic-legend .shot {
  height: .18rem;
  border-radius: 0;
}
.tactic-legend .pass { background: #10b981; }
.tactic-legend .run { background: #f59e0b; }
.tactic-legend .shot { background: #ef4444; }
.steps-list {
  display: grid;
  gap: .5rem;
  opacity: .58;
}
.steps-list div {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: .6rem;
  align-items: start;
  padding: .65rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.steps-list div {
  font-size: .86rem;
}
.steps-list strong {
  display: grid;
  place-items: center;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 50%;
  background: #0f172a;
  color: var(--iatic-green-2);
  font-size: .75rem;
}
.players-panel { overflow: visible; }
.player-squad-panel {
  background: #fff;
  border: 1px solid #dbe3ef;
  box-shadow: 0 20px 50px rgba(15, 39, 68, .08);
}
.player-squad-titlebar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: start;
  margin-bottom: 1.2rem;
}
.player-squad-title-actions {
  display: flex;
  align-items: center;
  gap: .75rem;
}
.player-squad-title-actions select {
  min-width: 14rem;
  min-height: 2.8rem;
  background: #fff;
}
.player-squad-titlebar h1 {
  margin: 0;
  color: #08111f;
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: 0;
  line-height: 1;
}
.player-squad-titlebar h1 span {
  color: #0f172a;
  font-weight: 750;
}
.player-squad-titlebar p {
  margin: .45rem 0 0;
  color: #475569;
  font-size: 1rem;
  font-weight: 700;
}
.player-roster-top {
  display: grid;
  grid-template-columns: minmax(14rem, .9fr) minmax(24rem, 1.45fr);
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
  padding: 1.15rem 1.35rem;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 8px;
  background: #172235;
  color: white;
}
.player-roster-brand {
  display: flex;
  align-items: center;
  gap: .9rem;
  min-width: 0;
}
.player-roster-brand img {
  width: 4.2rem;
  height: 4.2rem;
  object-fit: contain;
  filter: drop-shadow(0 10px 20px rgba(0, 0, 0, .3));
}
.player-roster-top h2 {
  margin: .15rem 0;
  color: white;
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  line-height: 1.05;
}
.player-roster-top p {
  margin: 0;
  color: #cbd5e1;
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.eyebrow {
  display: block;
  color: var(--iatic-green-2);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.player-roster-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(4.2rem, 1fr));
  gap: 0;
}
.player-roster-metrics span {
  display: grid;
  place-items: center;
  gap: .1rem;
  min-height: 3.85rem;
  padding: .35rem .7rem;
  border-left: 1px solid rgba(255, 255, 255, .18);
  background: transparent;
}
.player-roster-metrics strong {
  color: white;
  font-size: 1.55rem;
  line-height: 1;
}
.player-roster-metrics small {
  color: #f8fafc;
  font-size: .65rem;
  font-weight: 900;
  text-transform: uppercase;
}
.player-controls {
  display: grid;
  grid-template-columns: minmax(16rem, .42fr) minmax(0, 1fr);
  gap: .8rem;
  align-items: center;
  margin-bottom: .75rem;
}
.player-controls label {
  display: grid;
  gap: .35rem;
  color: #475569;
  font-size: .85rem;
  font-weight: 850;
}
.player-search-box {
  position: relative;
}
.player-search-box span {
  position: absolute;
  width: 1px;
  height: 1px;
  clip: rect(0 0 0 0);
  overflow: hidden;
}
.player-search-box input {
  padding-left: 2.6rem;
  background:
    linear-gradient(90deg, transparent 2.15rem, transparent),
    #fff;
}
.player-search-box::before {
  content: "⌕";
  position: absolute;
  left: .9rem;
  top: 50%;
  translate: 0 -50%;
  color: #475569;
  font-size: 1.25rem;
  font-weight: 950;
  z-index: 1;
}
.player-list-summary {
  color: #64748b;
  font-size: .9rem;
  font-weight: 850;
  margin: .2rem 0 0;
}
.segmented-control {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
}
.segmented-control button {
  border: 1px solid #dbe3ef;
  border-radius: 999px;
  min-height: 2.6rem;
  padding: .55rem 1.05rem;
  background: #f8fafc;
  color: #475569;
  font-size: .82rem;
  font-weight: 850;
  box-shadow: 0 6px 16px rgba(15, 23, 42, .04);
}
.segmented-control button.active {
  border-color: var(--action-green);
  background: linear-gradient(180deg, var(--action-green-2), var(--action-green));
  color: #06110a;
  box-shadow: 0 8px 18px rgba(83, 196, 20, .18);
}
.player-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
  gap: 1rem;
}
.player-technical-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15.5rem, .3fr);
  gap: 1rem;
  align-items: start;
}
.player-roster-table-card,
.player-preview-card {
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: white;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}
.player-roster-table-card {
  overflow: hidden;
}
.player-roster-table-head,
.player-roster-row {
  display: grid;
  grid-template-columns: 4rem minmax(10.5rem, 1.35fr) 5.8rem 4.15rem 4.5rem 6.25rem 3.2rem 3.4rem;
  gap: .45rem;
  align-items: center;
}
.player-roster-table-head {
  padding: .55rem .72rem;
  border-bottom: 1px solid #dbe3ef;
  background: #f8fafc;
  color: #334155;
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
}
.player-roster-list {
  display: grid;
}
.player-roster-row {
  min-height: 3rem;
  padding: .35rem .72rem;
  border-bottom: 1px solid #edf2f7;
  color: #0f172a;
  font-size: .84rem;
  font-weight: 850;
  cursor: pointer;
}
.player-roster-row:hover {
  background: #f8fafc;
}
.player-roster-row:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--team-accent) 55%, white);
  outline-offset: -3px;
}
.player-roster-row:last-child {
  border-bottom: 0;
}
.player-roster-row.selected {
  background: linear-gradient(90deg, color-mix(in srgb, var(--team-accent) 15%, white), rgba(255, 255, 255, .96));
  box-shadow: inset 4px 0 0 var(--team-accent);
}
.roster-dorsal {
  color: #0f172a;
  font-size: .84rem;
  font-weight: 950;
}
.roster-player-cell {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-width: 0;
}
.roster-player-cell img {
  width: 2rem;
  height: 2rem;
  border-radius: 8px;
  object-fit: cover;
  box-shadow: 0 6px 14px rgba(15, 23, 42, .14);
}
.roster-player-cell strong,
.roster-player-cell small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.roster-player-cell strong {
  font-size: .84rem;
  font-weight: 900;
}
.roster-player-cell small,
.roster-muted {
  color: #64748b;
  font-size: .84rem;
  font-weight: 850;
}
.player-roster-row .badge {
  display: inline-flex;
  justify-content: center;
  min-width: 4.75rem;
  max-width: 4.75rem;
  padding-inline: .45rem;
  font-size: .84rem;
  font-weight: 850;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.player-status-dot {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: #334155;
  font-size: .84rem;
  font-weight: 850;
}
.player-status-dot::before {
  content: "";
  display: inline-block;
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: #94a3b8;
}
.player-status-dot.ok::before { background: #22c55e; }
.player-status-dot.warning::before { background: #f59e0b; }
.player-status-dot.muted::before { background: #94a3b8; }
.roster-action-view,
.roster-action-edit {
  display: flex;
  gap: .35rem;
  justify-content: center;
}
.icon-button {
  min-width: 1.85rem;
  min-height: 1.85rem;
  padding: .25rem;
  border: 1px solid #dbe3ef;
  border-radius: 7px;
  background: #f8fafc;
  color: #0f172a;
  box-shadow: none;
  font-size: .9rem;
}
.player-preview-card {
  display: grid;
  gap: .85rem;
  padding: .95rem;
  position: sticky;
  top: .75rem;
  align-self: start;
}
.player-preview-photo {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  aspect-ratio: 4 / 3;
  background: #e2e8f0;
}
.player-preview-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.player-preview-photo span {
  position: absolute;
  right: .65rem;
  bottom: .65rem;
  display: grid;
  min-width: 2.7rem;
  height: 2.7rem;
  place-items: center;
  border-radius: 8px;
  border: 2px solid white;
  background: #0f172a;
  color: var(--iatic-green-2);
  font-size: 1.35rem;
  font-weight: 950;
}
.player-preview-title h3 {
  margin: 0 0 .45rem;
  color: #0f172a;
  font-size: 1.2rem;
  line-height: 1.15;
}
.player-preview-data {
  display: grid;
  gap: .45rem;
}
.player-preview-data div {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  padding-bottom: .45rem;
  border-bottom: 1px solid #e2e8f0;
}
.player-preview-data span,
.player-preview-contact h4 {
  color: #64748b;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}
.player-preview-data strong,
.player-preview-contact p {
  margin: 0;
  color: #0f172a;
  font-weight: 850;
}
.player-preview-contact {
  display: grid;
  gap: .25rem;
  padding: .75rem;
  border-radius: 8px;
  background: #f8fafc;
}
.player-preview-contact h4 {
  margin: 0;
}
.player-preview-contact p strong {
  color: #0f172a;
}
.player-family-list {
  display: grid;
  gap: .5rem;
}
.player-family-list > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .65rem .75rem;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #fff;
}
.player-family-list span,
.player-family-list em {
  display: block;
  min-width: 0;
}
.player-family-list em {
  color: #64748b;
  font-style: normal;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.player-family-list button {
  flex: 0 0 auto;
  min-height: 2.2rem;
  padding: .45rem .65rem;
}
.player-access-section .section-head {
  margin-bottom: .65rem;
}
.player-access-list {
  display: grid;
  gap: .85rem;
}
.player-access-row {
  display: grid;
  grid-template-columns: minmax(11rem, .42fr) minmax(0, 1fr) minmax(9rem, auto);
  gap: .75rem;
  align-items: center;
  padding: .85rem;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, #f8fafc);
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}
.player-access-row.inactive {
  background: linear-gradient(180deg, #fff7ed, #f8fafc);
  border-color: #fed7aa;
}
.player-access-row.inactive input {
  color: #64748b;
}
.player-access-type {
  display: grid;
  gap: .18rem;
  align-content: center;
  min-width: 0;
}
.player-access-type strong {
  color: #0f172a;
  font-size: 1rem;
}
.player-access-type small {
  color: #64748b;
  font-weight: 850;
}
.player-access-type .badge {
  width: fit-content;
  margin-top: .25rem;
}
.player-access-fields {
  display: grid;
  grid-template-columns: minmax(9rem, 1.1fr) minmax(7rem, .8fr) minmax(11rem, 1.1fr) minmax(9rem, 1fr) minmax(9rem, 1fr);
  gap: .6rem;
  min-width: 0;
}
.player-access-row label {
  margin: 0;
  min-width: 0;
}
.player-access-row input {
  min-width: 0;
  width: 100%;
}
.player-access-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: .45rem;
}
.player-access-actions button {
  min-height: 2.45rem;
  padding: .45rem .65rem;
  white-space: nowrap;
}
@media (max-width: 1180px) {
  .player-access-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .player-access-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .player-access-fields label:first-child,
  .player-access-fields label:nth-child(3) {
    grid-column: span 2;
  }
  .player-access-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.player-card {
  position: relative;
  display: grid;
  gap: .9rem;
  padding: .85rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(248, 250, 252, .98), rgba(255, 255, 255, .98));
  box-shadow: 0 14px 32px rgba(15, 23, 42, .1);
  overflow: hidden;
}
.player-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: .28rem;
  background: linear-gradient(90deg, #52d313, #86ff22);
}
.player-card-main,
.player-photo-editor,
.player-detail-hero {
  display: flex;
  align-items: center;
  gap: .9rem;
}
.player-card h3,
.player-detail h3 {
  margin: 0;
  color: #0f172a;
  line-height: 1.15;
}
.player-card h3 {
  font-size: 1.25rem;
  text-transform: uppercase;
}
.player-card h3 span {
  display: block;
  font-size: .92rem;
}
.player-avatar-wrap {
  position: relative;
  flex: 0 0 auto;
}
.player-avatar {
  display: block;
  width: 6.1rem;
  height: 6.1rem;
  border-radius: 8px;
  object-fit: cover;
  background: #e2e8f0;
  border: 2px solid white;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .18);
}
.player-avatar-wrap.large .player-avatar {
  width: 7rem;
  height: 7rem;
}
.player-avatar-wrap.huge .player-avatar {
  width: 7.5rem;
  height: 7.5rem;
}
.player-dorsal {
  position: absolute;
  right: -.35rem;
  bottom: -.35rem;
  display: grid;
  min-width: 2rem;
  height: 2rem;
  place-items: center;
  padding: 0 .35rem;
  border-radius: 8px;
  border: 2px solid white;
  background: #facc15;
  color: #111827;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .2);
}
.player-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin: .45rem 0;
}
.player-facts,
.player-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.2rem, 1fr));
  gap: .5rem;
}
.player-facts div,
.player-detail-grid div {
  min-width: 0;
  padding: .65rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.player-facts span,
.player-detail-grid span {
  display: block;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
}
.player-facts strong,
.player-detail-grid strong {
  display: block;
  margin-top: .18rem;
  color: #0f172a;
  font-size: .86rem;
  overflow-wrap: anywhere;
}
.medical-note {
  margin: 0;
  padding: .65rem;
  border-radius: 8px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #9a3412;
  font-size: .86rem;
  font-weight: 750;
}
.medical-note.detail strong,
.medical-note.detail p {
  display: block;
  margin: 0;
}
.medical-note.detail p { margin-top: .35rem; }
.injury-pill,
.injury-banner {
  border-radius: 8px;
  border: 1px solid #fecdd3;
  background: #fff1f2;
  color: #be123c;
  font-size: .78rem;
  font-weight: 900;
}
.injury-pill { padding: .5rem .65rem; }
.injury-banner {
  display: grid;
  gap: .2rem;
  padding: .8rem;
}
.player-photo-editor {
  position: relative;
  padding: 1rem;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background:
    radial-gradient(circle at 0 0, rgba(120, 227, 27, .12), transparent 32%),
    linear-gradient(135deg, #ffffff, #f4f7fb);
  color: var(--club-navy);
  box-shadow: 0 14px 34px rgba(15, 39, 68, .08);
  overflow: hidden;
}
.player-photo-editor::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: .35rem;
  background: linear-gradient(180deg, #94a3b8, var(--action-green));
}
.player-photo-editor strong,
.player-photo-editor span {
  display: block;
}
.player-photo-editor span {
  margin-top: .25rem;
  color: #64748b;
  font-size: .86rem;
}
.player-photo-editor p {
  margin: .3rem 0 0;
  color: #475569;
  font-weight: 750;
}
.player-photo-editor .eyebrow {
  color: #166534;
}
.player-photo-editor .ghost-button {
  background: white;
}
.player-editor-shell {
  display: grid;
  gap: 1rem;
}
.player-form-section {
  display: grid;
  gap: .8rem;
  padding: 1rem;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: white;
  box-shadow: 0 10px 26px rgba(15, 39, 68, .05);
}
.player-form-section h3 {
  margin: 0;
  color: var(--club-navy);
  font-size: 1rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid #e6edf5;
}
.player-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
}
.player-form-grid .wide {
  grid-column: 1 / -1;
}
.upload-button {
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  position: relative;
}
.upload-button input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.publication-card {
  gap: .85rem;
}
.publication-technical-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
.publication-roster-table-card,
.publication-preview-card {
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}
.publication-roster-table-card {
  overflow: hidden;
}
.publication-roster-table-head,
.publication-roster-row {
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) 11rem 8rem 5rem 4rem 4rem;
  gap: .75rem;
  align-items: center;
}
.publication-roster-table-head {
  padding: .55rem .72rem;
  border-bottom: 1px solid #dbe3ef;
  background: #f8fafc;
  color: #334155;
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
}
.publication-roster-list {
  display: grid;
}
.publication-roster-row {
  min-height: 3.4rem;
  padding: .45rem .72rem;
  border-bottom: 1px solid #edf2f7;
  color: #0f172a;
  font-size: .84rem;
  font-weight: 850;
}
.publication-roster-row:last-child {
  border-bottom: 0;
}
.publication-roster-row:hover {
  background: #f8fafc;
}
.publication-roster-row.selected {
  background: linear-gradient(90deg, color-mix(in srgb, var(--team-accent, #78e31b) 15%, white), rgba(255,255,255,.96));
  box-shadow: inset 4px 0 0 var(--team-accent, #78e31b);
}
.publication-row-main {
  display: grid;
  min-width: 0;
}
.publication-row-main strong,
.publication-row-main small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.publication-row-main strong {
  color: #0f172a;
  font-weight: 950;
}
.publication-row-main small {
  color: #64748b;
  font-size: .78rem;
  font-weight: 800;
}
.publication-attachment-count {
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 8px;
  background: #eff6ff;
  color: #1d4ed8;
  font-weight: 950;
}
.publication-preview-card {
  display: grid;
  gap: 1rem;
  padding: 1.25rem;
  position: sticky;
  top: .75rem;
}
.publication-detail-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: start;
}
.publication-detail-kicker {
  display: block;
  margin-bottom: .2rem;
  color: #2563eb;
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
}
.publication-detail-head h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(1.8rem, 3vw, 3.2rem);
  line-height: .95;
}
.publication-detail-head p {
  margin: .25rem 0 0;
  color: #64748b;
  font-weight: 800;
}
.publication-detail-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
}
.publication-detail-meta span {
  display: grid;
  gap: .1rem;
  padding: .65rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
  color: #0f172a;
  font-weight: 900;
}
.publication-detail-meta strong {
  color: #64748b;
  font-size: .72rem;
  text-transform: uppercase;
}
.publication-summary-list {
  display: grid;
  gap: .45rem;
  padding: .75rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}
.publication-summary-list h4 {
  margin: 0;
  color: #0f172a;
}
.publication-summary-list span {
  color: #475569;
  font-weight: 800;
}
#editDialog.publication-view-dialog {
  width: min(96vw, 1320px);
  max-height: 94vh;
}
#editDialog.publication-view-dialog .modal-card {
  min-height: min(82vh, 900px);
  padding: 1rem;
}
#editDialog.publication-view-dialog #editFields {
  align-items: stretch;
}
#editDialog.publication-view-dialog .publication-modal-content {
  display: block;
}
#editDialog.publication-view-dialog .publication-preview-card {
  min-height: calc(82vh - 7rem);
  position: static;
  top: auto;
  padding: clamp(1rem, 2vw, 2rem);
}
#editDialog.publication-view-dialog .publication-detail-meta {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
#editDialog:has(.strategy-viewer) {
  width: min(98vw, 1500px);
  max-height: 96vh;
}
#editDialog:has(.strategy-viewer) .modal-card {
  min-height: min(90vh, 980px);
  padding: 1rem;
}
#editDialog:has(.strategy-viewer) #editFields {
  align-items: stretch;
}
#editDialog:has(.strategy-viewer) .strategy-viewer {
  align-content: start;
}
#editDialog:has(.strategy-editor-shell) {
  width: min(98vw, 1500px);
  max-height: 96vh;
}
#editDialog:has(.strategy-editor-shell) .modal-card {
  padding: 1rem;
}
.publication-form-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .9rem;
  padding: 1rem;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: linear-gradient(135deg, #eff6ff, #f0fdf4);
}
.publication-form-hero span {
  color: #2563eb;
  font-size: .78rem;
  font-weight: 950;
  text-transform: uppercase;
}
.publication-form-hero strong {
  display: block;
  color: #0f172a;
  font-size: 1.15rem;
}
.publication-form-hero p {
  margin: .25rem 0 0;
  color: #64748b;
  font-weight: 800;
}
.publication-form-section {
  display: grid;
  gap: .7rem;
  padding: .85rem;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #fff;
}
.publication-form-section h3 {
  margin: 0;
  color: #0f172a;
}
.publication-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.publication-form-grid .wide {
  grid-column: span 2;
}
.publication-attachments,
.publication-existing-files {
  display: grid;
  gap: .55rem;
}
.publication-attachments {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 9rem), 1fr));
}
.publication-attachment {
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  color: #0f172a;
  display: grid;
  gap: .35rem;
  min-height: 6rem;
  overflow: hidden;
  padding: .55rem;
  text-decoration: none;
}
.publication-attachment img {
  aspect-ratio: 16 / 10;
  border-radius: 6px;
  object-fit: cover;
  width: 100%;
}
.publication-attachment.pdf span {
  align-items: center;
  background: #fee2e2;
  border-radius: 6px;
  color: #991b1b;
  display: flex;
  font-weight: 950;
  justify-content: center;
  min-height: 3.7rem;
}
.publication-attachment strong,
.publication-existing-file strong {
  font-size: .82rem;
  overflow-wrap: anywhere;
}
.publication-upload {
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: .75rem;
  padding: .85rem;
  background: #f8fafc;
}
.publication-existing-file {
  align-items: center;
  background: #fff;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: .5rem;
  padding: .55rem;
}
.publication-file-button {
  justify-content: center;
}
.player-detail {
  display: grid;
  gap: 1rem;
}
.player-report {
  gap: .85rem;
}
.player-report-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  border-radius: 8px;
  background: #071426;
  color: white;
}
.player-report-id {
  display: flex;
  gap: 1rem;
  align-items: center;
  min-width: 0;
}
.player-report-id h3 {
  margin: .2rem 0;
  color: white;
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  line-height: 1;
}
.player-report-id p {
  margin: .35rem 0 0;
  color: #cbd5e1;
  font-weight: 800;
}
.player-report-score {
  display: grid;
  place-items: center;
  min-width: 8rem;
  padding: .9rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 8px;
  background: rgba(255,255,255,.08);
}
.player-report-score span,
.player-report-score em {
  color: #cbd5e1;
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}
.player-report-score strong {
  color: var(--iatic-green-2);
  font-size: 2.5rem;
  line-height: 1;
}
.player-report-kpis,
.player-report-grid {
  display: grid;
  gap: .75rem;
}
.player-report-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.player-report-kpis div,
.player-report-card {
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: white;
  box-shadow: 0 10px 26px rgba(15, 39, 68, .05);
}
.player-report-kpis div {
  display: grid;
  gap: .12rem;
  padding: .85rem;
}
.player-report-kpis span,
.player-report-kpis em {
  color: #64748b;
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}
.player-report-kpis strong {
  color: #0f172a;
  font-size: 1.75rem;
  line-height: 1;
}
.player-report-visual-row {
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr) minmax(14rem, .55fr);
  gap: .75rem;
}
.player-performance-ring,
.player-spark-card,
.player-balance-card {
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: white;
  box-shadow: 0 10px 26px rgba(15, 39, 68, .05);
}
.player-performance-ring {
  display: grid;
  place-items: center;
  min-height: 8rem;
  background:
    radial-gradient(circle at center, #fff 0 54%, transparent 55%),
    conic-gradient(#54d414 calc(var(--value) * 1%), #e2e8f0 0);
}
.player-performance-ring strong {
  color: #0f172a;
  font-size: 2.2rem;
  line-height: 1;
}
.player-performance-ring span {
  color: #64748b;
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
}
.player-spark-card,
.player-balance-card {
  display: grid;
  gap: .65rem;
  padding: .85rem;
}
.player-spark-card h4,
.player-balance-card h4 {
  margin: 0;
  color: #0f172a;
}
.player-sparkline {
  display: flex;
  align-items: end;
  gap: .35rem;
  height: 4.3rem;
  padding: .5rem;
  border-radius: 8px;
  background: #f8fafc;
}
.player-sparkline i {
  flex: 1;
  min-width: .6rem;
  height: var(--h);
  border-radius: 999px 999px 4px 4px;
  background: linear-gradient(180deg, #86efac, #16a34a);
}
.player-spark-card p {
  margin: 0;
  color: #64748b;
  font-weight: 800;
}
.player-balance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
}
.player-balance-grid span {
  display: grid;
  gap: .15rem;
  padding: .55rem;
  border-radius: 8px;
  background: #f8fafc;
}
.player-balance-grid strong {
  color: #0f172a;
  font-size: 1.2rem;
}
.player-balance-grid small {
  color: #64748b;
  font-weight: 900;
  text-transform: uppercase;
}
.player-report-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr);
}
.player-report-card {
  display: grid;
  gap: .75rem;
  padding: .9rem;
}
.player-report-card h4 {
  margin: 0;
  color: #0f172a;
  font-size: 1rem;
}
.report-bar {
  display: grid;
  gap: .32rem;
}
.report-bar div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: #475569;
  font-size: .82rem;
  font-weight: 900;
}
.report-bar i {
  display: block;
  height: .62rem;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: hidden;
}
.report-bar b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #54d414, #9dff2f);
}
.player-radar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .6rem;
}
.player-radar span {
  display: grid;
  place-items: center;
  min-height: 5.4rem;
  border-radius: 8px;
  background:
    conic-gradient(#54d414 var(--value), #e2e8f0 0);
  color: #0f172a;
  font-weight: 950;
  position: relative;
  overflow: hidden;
}
.player-radar span::before {
  content: "";
  position: absolute;
  inset: .42rem;
  border-radius: 6px;
  background: white;
}
.player-radar b,
.player-radar em {
  position: relative;
  z-index: 1;
  font-style: normal;
}
.player-radar em {
  color: #64748b;
  font-size: .8rem;
}
.player-match-timeline {
  display: grid;
  gap: .45rem;
}
.player-match-timeline div {
  display: grid;
  grid-template-columns: minmax(8rem, .75fr) minmax(0, 1fr) minmax(8rem, .8fr);
  gap: .75rem;
  align-items: center;
  padding: .6rem .7rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}
.player-match-timeline span,
.player-match-timeline em {
  color: #64748b;
  font-size: .8rem;
  font-style: normal;
  font-weight: 850;
}
.player-match-timeline strong {
  color: #0f172a;
}
.player-detail-hero {
  align-items: flex-start;
  padding: 1rem;
  border-radius: 8px;
  background: linear-gradient(135deg, #0f172a, #15391e);
  color: white;
}
.player-detail-hero h3 { color: white; font-size: 1.55rem; }
.player-detail-hero .meta { color: #dbeafe; }
.match-panel,
.report-panel {
  overflow: visible;
}
.match-table strong {
  color: #0f172a;
}
.check-list {
  display: grid;
  gap: .6rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.check-list strong,
.check-list span {
  display: block;
}
.check-list span {
  color: var(--muted);
  font-size: .84rem;
}
.check-list > div {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
  gap: .45rem;
}
.check-list label {
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: white;
  color: #0f172a;
}
.check-list .convocatoria-player {
  padding: .55rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: white;
  color: #0f172a;
}
.check-list .convocatoria-player label {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
}
.check-list input[type="checkbox"] {
  width: auto;
}
.convocatoria-search {
  margin-top: .25rem;
}
.convocatoria-section {
  display: grid;
  gap: .45rem;
}
.convocatoria-section h3 {
  margin: .35rem 0 0;
  color: #0f172a;
  font-size: .95rem;
}
.convocatoria-section h3 small {
  color: var(--muted);
  font-size: .8rem;
}
.convocatoria-section > div {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
  gap: .45rem;
}
.convocatoria-player {
  align-items: flex-start;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .5rem;
}
.convocatoria-player label,
.convocatoria-player span {
  color: #0f172a;
}
.convocatoria-player label strong,
.convocatoria-player label em,
.convocatoria-player span strong,
.convocatoria-player span em {
  display: block;
}
.convocatoria-player label em,
.convocatoria-player span em {
  margin-top: .15rem;
  color: var(--muted);
  font-size: .78rem;
  font-style: normal;
}
.convocatoria-player[data-group="reinforcement"] {
  border-color: rgba(37, 99, 235, .26);
  background: #eff6ff;
}
.convocatoria-player.selected {
  border-color: rgba(120, 227, 27, .6);
  background: #f0fdf4;
}
.match-dorsal-field {
  grid-column: 1 / -1;
  display: grid !important;
  grid-template-columns: auto minmax(4.5rem, 6rem);
  align-items: center;
  gap: .45rem;
  color: var(--muted) !important;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}
.match-dorsal-field input {
  min-height: 2.25rem;
  padding: .35rem .5rem;
}
.convocatoria-section.empty-filtered::after {
  content: "Sin coincidencias en este bloque.";
  color: var(--muted);
  font-size: .85rem;
  font-weight: 750;
}
.score-editor {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
  padding: 1rem;
  border: 1px solid rgba(120, 227, 27, .32);
  border-radius: 8px;
  background: #f7fee7;
}
.stats-board {
  display: grid;
  gap: .7rem;
}
.player-stat-row {
  display: grid;
  grid-template-columns: minmax(13rem, 1.4fr) repeat(10, minmax(4.8rem, .5fr)) minmax(10rem, 1fr);
  gap: .45rem;
  align-items: end;
  padding: .75rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  overflow-x: auto;
}
.player-stat-row label {
  min-width: 4.8rem;
}
.player-stat-row input,
.player-stat-row select {
  padding: .55rem .5rem;
}
.stat-player {
  display: grid;
  gap: .15rem;
  min-width: 12rem;
}
.stat-player span {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 800;
}
.stat-note {
  min-width: 10rem;
}
.report-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: .75rem;
}
.report-kpis div {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 1rem;
  background: #f8fafc;
}
.report-kpis strong,
.report-kpis span {
  display: block;
}
.report-kpis strong {
  color: #0f172a;
  font-size: 1.45rem;
}
.report-kpis span {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}
.report-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  gap: 1rem;
}
.report-panel {
  display: grid;
  gap: 1rem;
}
.report-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  border-radius: 8px;
  background: #172235;
  color: #fff;
}
.report-hero h2,
.report-hero p {
  margin: 0;
}
.report-hero h2 {
  color: #fff;
  font-size: clamp(1.6rem, 3vw, 2.35rem);
}
.report-hero p {
  margin-top: .25rem;
  color: #cbd5e1;
  font-weight: 800;
}
.report-hero-balance {
  display: grid;
  place-items: center;
  min-width: 11rem;
  padding: .8rem 1rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 8px;
  background: rgba(255,255,255,.08);
}
.report-hero-balance strong {
  color: #86efac;
  font-size: 1.45rem;
}
.report-hero-balance span {
  color: #cbd5e1;
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
}
.report-visual-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, .55fr);
  gap: 1rem;
}
.report-visual-strip article,
.report-match-card {
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(15, 39, 68, .05);
}
.report-visual-strip article {
  display: grid;
  gap: .75rem;
  padding: .9rem;
}
.report-visual-strip h3 {
  margin: 0;
  color: #0f172a;
}
.report-score-flow {
  display: flex;
  gap: .55rem;
  align-items: stretch;
  overflow-x: auto;
  padding-bottom: .1rem;
}
.report-score-flow span {
  display: grid;
  gap: .35rem;
  min-width: 5.5rem;
  padding: .55rem;
  border-radius: 8px;
  background: #f8fafc;
}
.report-score-flow span::after {
  content: "";
  display: block;
  height: .5rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #54d414 var(--own), #ef4444 0);
}
.report-score-flow strong,
.report-score-flow em {
  font-style: normal;
  font-weight: 950;
}
.report-score-flow em {
  color: #64748b;
}
.report-impact-bars {
  display: grid;
  gap: .55rem;
}
.report-impact-bars div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .45rem;
  align-items: center;
  color: #334155;
  font-weight: 900;
}
.report-impact-bars i {
  grid-column: 1 / -1;
  height: .5rem;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: hidden;
}
.report-impact-bars i::before {
  content: "";
  display: block;
  width: var(--w);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #54d414, #86efac);
}
.report-match-list {
  display: grid;
  gap: .75rem;
}
.report-match-card {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) 7.5rem minmax(13rem, .8fr) 5.2rem;
  gap: .75rem;
  align-items: center;
  padding: .8rem;
}
.report-match-main h3,
.report-match-main p {
  margin: 0;
}
.report-match-main h3 {
  margin-top: .25rem;
  color: #0f172a;
  font-size: 1.05rem;
}
.report-match-main p {
  margin-top: .15rem;
  color: #64748b;
  font-weight: 800;
}
.report-match-score {
  display: grid;
  gap: .35rem;
  justify-items: center;
}
.report-match-score strong {
  color: #0f172a;
  font-size: 1.45rem;
}
.report-match-score i {
  display: block;
  width: 100%;
  height: .45rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #54d414 var(--own), #ef4444 0);
}
.report-match-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .45rem;
}
.report-match-summary span {
  display: grid;
  gap: .05rem;
  padding: .45rem;
  border-radius: 8px;
  background: #f8fafc;
}
.report-match-summary strong {
  color: #0f172a;
}
.report-match-summary small,
.report-match-summary em {
  color: #64748b;
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}
.report-match-summary em {
  grid-column: 1 / -1;
  text-transform: none;
}
.report-match-actions {
  display: grid;
  gap: .45rem;
}
.report-match-actions button {
  min-height: 2.45rem;
  padding: .45rem .5rem;
  font-size: .86rem;
}
.leader-list img {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 8px;
  object-fit: cover;
}
.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: .8rem;
  margin-bottom: .75rem;
}
.section-head h2 {
  margin: 0;
  color: #0f172a;
  font-size: 1.05rem;
}
.section-head span {
  color: var(--muted);
  font-size: .84rem;
  font-weight: 800;
}
.leader-list {
  display: grid;
  gap: .55rem;
}
.leader-list div {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  gap: .65rem;
  align-items: center;
  padding: .7rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
}
.leader-list b {
  display: grid;
  place-items: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 8px;
  background: #071009;
  color: var(--iatic-green-2);
}
.leader-list span,
.leader-list em {
  display: block;
}
.leader-list em {
  color: var(--muted);
  font-size: .78rem;
  font-style: normal;
  font-weight: 750;
}

.rehab-profile-card {
  border-color: rgba(120, 227, 27, .28);
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.rehab-card-head,
.rehab-editor-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.rehab-card-head p {
  margin: .2rem 0 0;
}
.rehab-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1rem;
  margin-top: .9rem;
}
.rehab-split h5 {
  margin: 0 0 .55rem;
  color: var(--muted);
  font-size: .85rem;
  text-transform: uppercase;
}
.rehab-list {
  display: grid;
  gap: .7rem;
}
.rehab-item {
  display: grid;
  gap: .45rem;
  padding: .85rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.rehab-item span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.rehab-item em,
.rehab-item small {
  color: var(--muted);
  font-style: normal;
  font-weight: 750;
}
.rehab-item p {
  margin: 0;
}
.rehab-item ul {
  margin: 0;
  padding-left: 1rem;
}
.rehab-editor-head {
  justify-content: flex-start;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fafc;
}
.rehab-editor-head img {
  width: 4rem;
  height: 4rem;
  border-radius: 8px;
  object-fit: cover;
}
.rehab-editor-head h3,
.rehab-editor-head p {
  margin: .1rem 0;
}

.club-config-hero {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: 1.25rem;
  align-items: center;
  padding: 1.25rem;
  border-radius: 8px;
  background: #101b2d;
  color: #fff;
}
.club-logo-preview {
  display: grid;
  place-items: center;
  width: 7rem;
  height: 7rem;
  border-radius: 8px;
  background: rgba(255,255,255,.08);
}
.club-logo-preview img,
.club-staff-card img,
.coach-chip-list img {
  object-fit: cover;
}
.club-logo-preview img {
  max-width: 5.5rem;
  max-height: 5.5rem;
}
.club-admin-grid,
.training-report-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  gap: 1rem;
  margin-top: 1rem;
}
.club-team-list,
.club-staff-list {
  display: grid;
  gap: .75rem;
}
.club-team-card,
.club-staff-card,
.training-report-card {
  display: grid;
  gap: .75rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.club-staff-card {
  grid-template-columns: 3.25rem minmax(0, 1fr) auto;
  align-items: center;
}
.club-staff-card img {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 8px;
}
.club-staff-card span,
.club-team-card p {
  display: block;
  color: var(--muted);
}
.coach-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.coach-chip-list span {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .35rem .55rem;
  border-radius: 999px;
  background: #eef7ff;
  color: #075985;
  font-weight: 850;
}
.coach-chip-list img {
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 50%;
}
.coach-chip-list em {
  color: var(--muted);
  font-style: normal;
}
.training-report-grid {
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}
.training-report-ring {
  width: 7rem;
  height: 7rem;
  display: grid;
  place-items: center;
  justify-self: center;
  border-radius: 50%;
  background: conic-gradient(var(--iatic-green-2) calc(var(--value) * 1%), #e8edf5 0);
  box-shadow: inset 0 0 0 12px #fff;
}
.training-report-ring strong,
.training-report-ring span {
  grid-area: 1 / 1;
}
.training-report-ring span {
  margin-top: 2.1rem;
  color: var(--muted);
  font-size: .75rem;
  font-weight: 850;
}
.upload-inline {
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: .9rem;
  border: 1px dashed #b8c6d8;
  border-radius: 8px;
  background: #f8fafc;
}
.upload-inline img {
  width: 5rem;
  height: 5rem;
  object-fit: contain;
  border-radius: 8px;
  background: white;
}
.upload-inline small {
  display: block;
  color: var(--muted);
  font-weight: 750;
}

@media (max-width: 1090px) {
  .club-admin-grid,
  .club-config-hero {
    grid-template-columns: 1fr;
  }
  .player-controls,
  .player-roster-top,
  .player-form-grid,
  .player-technical-layout {
    grid-template-columns: 1fr;
  }
  .player-roster-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .player-roster-table-head {
    display: none;
  }
  .player-roster-row {
    grid-template-columns: 3.2rem minmax(0, 1fr) 5.4rem 2.4rem 2.4rem;
    gap: .55rem;
    align-items: center;
    padding: .7rem;
  }
  .player-roster-row > div:nth-child(4),
  .player-roster-row > div:nth-child(5),
  .player-roster-row > div:nth-child(6) {
    display: none;
  }
  .player-roster-row > div:nth-child(7) {
    grid-column: 4;
    grid-row: 1;
  }
  .player-roster-row > div:nth-child(8) {
    grid-column: 5;
    grid-row: 1;
  }
  .roster-dorsal {
    display: grid;
    place-items: center;
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 8px;
    background: #0f172a;
    color: var(--iatic-green-2);
  }
  .roster-player-cell img {
    width: 2.45rem;
    height: 2.45rem;
  }
  .roster-player-cell strong {
    white-space: normal;
    font-size: .84rem;
  }
  .roster-player-cell small {
    display: none;
  }
  .player-roster-row .badge {
    justify-self: start;
    max-width: 5.4rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-inline: .45rem;
    font-size: .84rem;
  }
  .icon-button {
    min-width: 2.15rem;
    min-height: 2.15rem;
  }
  .player-preview-card {
    position: static;
  }
  .player-preview-photo {
    aspect-ratio: 16 / 10;
  }
  .player-report-hero,
  .player-report-visual-row,
  .player-report-grid,
  .report-hero,
  .report-visual-strip,
  .report-match-card,
  .match-stats-hero,
  .match-stats-overview,
  .match-player-stat-head,
  .player-match-timeline div {
    grid-template-columns: 1fr;
  }
  .player-report-score {
    justify-items: start;
    place-items: stretch;
  }
  .player-report-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .match-stat-kpis,
  .match-impact-podium,
  .match-player-visuals {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .report-match-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .report-match-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .match-stat-input-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .compact-stat.note {
    grid-column: 1 / -1;
  }
  .segmented-control {
    overflow-x: auto;
    flex-wrap: nowrap;
  }
}

@media (max-width: 720px) {
  .player-access-row {
    grid-template-columns: 1fr;
  }
  .player-access-fields,
  .player-access-actions {
    grid-template-columns: 1fr;
  }
  .player-access-fields label:first-child,
  .player-access-fields label:nth-child(3) {
    grid-column: auto;
  }
  .player-access-actions button {
    width: 100%;
  }
  .login-layout { grid-template-columns: 1fr; }
  .login-screen {
    padding: .85rem;
  }
  .login-screen::before {
    inset: 6.5rem .85rem .85rem;
  }
  .login-screen::after {
    top: 42%;
    width: min(70vw, 18rem);
  }
  .login-brand {
    padding: .55rem .65rem;
  }
  .login-copy h1 {
    max-width: 11ch;
    font-size: clamp(2.35rem, 13vw, 3.6rem);
  }
  .login-copy p {
    font-size: .98rem;
  }
  .login-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
  }
  .login-metrics div {
    padding: .75rem .6rem;
  }
  .login-metrics strong {
    font-size: 1rem;
  }
  .login-card {
    padding: 1rem;
  }
  .topbar { align-items: flex-start; flex-direction: column; }
  .header-actions { width: 100%; }
  .toolbar { align-items: flex-start; flex-direction: column; }
  .toolbar .primary { width: 100%; }
  .tabs { top: 7.6rem; }
  dialog { width: min(96vw, 760px); }
  .match-stat-kpis,
  .match-impact-podium,
  .match-player-visuals,
  .match-stat-input-grid,
  .player-report-kpis,
  .player-balance-grid,
  .report-match-summary {
    grid-template-columns: 1fr;
  }
  #editDialog {
    width: 100vw;
    max-width: 100vw;
    max-height: 100dvh;
    height: 100dvh;
    border-radius: 0;
  }
  #editDialog .modal-card {
    min-height: 100dvh;
    padding: .75rem;
    gap: .7rem;
  }
  #editDialog .close {
    position: sticky;
    top: .4rem;
    z-index: 5;
    justify-self: end;
    min-width: 3rem;
    min-height: 3rem;
  }
  #editTitle {
    font-size: clamp(1.45rem, 7vw, 2rem);
    line-height: 1.05;
  }
  .form-grid { grid-template-columns: 1fr; }
  .profile-session-head {
    flex-direction: column;
  }
  .profile-session-head button {
    width: 100%;
  }
  .strategy-editor-hero,
  .strategy-editor-meta,
  .strategy-editor-notes,
  .tactic-workbench {
    grid-template-columns: 1fr;
  }
  .strategy-editor-meta .wide {
    grid-column: auto;
  }
  .strategy-editor-status {
    justify-items: start;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.18);
    padding-inline: 0;
  }
  .tactic-side-panel .tactic-tools {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .list-controls { align-items: stretch; flex-direction: column; }
  .pager { justify-content: space-between; }
  .responsive-table,
  .responsive-table thead,
  .responsive-table tbody,
  .responsive-table tr,
  .responsive-table th,
  .responsive-table td {
    display: block;
  }
  .responsive-table thead { display: none; }
  .responsive-table tr {
    border-bottom: 1px solid var(--line);
    padding: .75rem;
  }
  .responsive-table td {
    border: 0;
    display: grid;
    grid-template-columns: 7.5rem minmax(0, 1fr);
    gap: .75rem;
    padding: .45rem 0;
  }
  .responsive-table td::before {
    content: attr(data-label);
    color: #475569;
    font-size: .74rem;
    font-weight: 900;
    text-transform: uppercase;
  }
  .responsive-table td.actions {
    display: flex;
    gap: .5rem;
    margin-top: .5rem;
  }
  .responsive-table td.actions::before { display: none; }
  .match-toolbar {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .match-toolbar strong {
    justify-self: start;
  }
  .match-status-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .match-row-card { padding: .8rem; }
  .match-row-main,
  .match-row-kpis { grid-template-columns: 1fr; }
  .match-row-scoreboard {
    grid-template-columns: 1fr auto 1fr;
  }
  .match-row-score {
    justify-items: start;
    text-align: left;
    padding-top: .2rem;
    border-top: 1px solid #e2e8f0;
  }
  .match-row-extra {
    gap: .35rem;
    flex-direction: column;
  }
  .match-row-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
  }
  .match-row-actions .direct-button,
  .match-row-actions .stats-button {
    grid-column: 1 / -1;
  }
  .match-row-actions .direct-button { order: 1; }
  .match-row-actions .stats-button { order: 2; }
  .match-row-actions button[data-edit-convocatoria],
  .match-row-actions button[data-create-sheet] {
    order: 3;
  }
  .match-row-actions .danger {
    grid-column: 1 / -1;
    order: 4;
    min-height: 2.9rem;
  }
  .match-row-actions button[data-schedule-change],
  .match-row-actions button[data-edit="matches"],
  .match-row-actions button[data-export-report] {
    order: 5;
    min-height: 2.85rem;
    font-size: .9rem;
  }
  .match-row-actions button {
    min-height: 3.25rem;
    width: 100%;
  }
  .match-pagination {
    display: grid;
    grid-template-columns: 1fr;
    text-align: center;
  }
  .tactic-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .recording-tools { display: grid; grid-template-columns: 1fr; }
  .tactic-tools button { width: 100%; }
  .tactical-pitch.half-pitch { aspect-ratio: 3 / 4; }
  .tactical-pitch.full-pitch { aspect-ratio: 4 / 3; }
  .tactic-token span {
    width: 1.8rem;
    height: 1.8rem;
  }
  .tactic-token em { max-width: 4.8rem; font-size: .54rem; }
  .player-controls,
  .player-roster-top,
  .player-form-grid,
  .player-technical-layout,
  .strategy-technical-layout,
  .publication-technical-layout,
  .publication-form-grid,
  .publication-detail-meta { grid-template-columns: 1fr; }
  .player-roster-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .player-card-main { align-items: flex-start; }
  .player-roster-table-head { display: none; }
  .player-roster-row {
    grid-template-columns: 3.2rem minmax(0, 1fr) 5.4rem 2.4rem 2.4rem;
    gap: .55rem;
    align-items: center;
    padding: .7rem;
  }
  .player-roster-row > div:nth-child(4),
  .player-roster-row > div:nth-child(5),
  .player-roster-row > div:nth-child(6) {
    display: none;
  }
  .player-roster-row > div:nth-child(7) {
    grid-column: 4;
    grid-row: 1;
  }
  .player-roster-row > div:nth-child(8) {
    grid-column: 5;
    grid-row: 1;
  }
  .roster-dorsal {
    display: grid;
    place-items: center;
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 8px;
    background: #0f172a;
    color: var(--iatic-green-2);
  }
  .roster-player-cell img {
    width: 2.45rem;
    height: 2.45rem;
  }
  .roster-player-cell strong {
    white-space: normal;
    font-size: .84rem;
  }
  .roster-player-cell small {
    display: none;
  }
  .player-roster-row .badge {
    justify-self: start;
    max-width: 5.4rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-inline: .45rem;
    font-size: .84rem;
  }
  .icon-button {
    min-width: 2.15rem;
    min-height: 2.15rem;
  }
  .player-preview-card {
    position: static;
  }
  .strategy-preview-card {
    position: static;
  }
  .publication-preview-card {
    position: static;
  }
  .strategy-roster-table-head {
    display: none;
  }
  .strategy-roster-row {
    grid-template-columns: minmax(0, 1fr) 5.8rem 2.4rem 2.4rem;
    gap: .55rem;
    padding: .7rem;
  }
  .strategy-roster-row > .badge:nth-of-type(2),
  .strategy-roster-row > .roster-muted {
    display: none;
  }
  .strategy-roster-row [data-select-strategy] {
    grid-column: 3;
    grid-row: 1;
  }
  .strategy-roster-row [data-edit] {
    grid-column: 4;
    grid-row: 1;
  }
  .strategy-detail-head {
    grid-template-columns: 1fr;
  }
  .publication-roster-table-head {
    display: none;
  }
  .publication-roster-row {
    grid-template-columns: minmax(0, 1fr) 3.8rem 2.4rem 2.4rem;
    gap: .55rem;
    padding: .7rem;
  }
  .publication-roster-row > .badge,
  .publication-roster-row > .roster-muted {
    display: none;
  }
  .publication-roster-row [data-select-publication] {
    grid-column: 3;
    grid-row: 1;
  }
  .publication-roster-row [data-edit] {
    grid-column: 4;
    grid-row: 1;
  }
  .publication-detail-head,
  .publication-form-hero {
    grid-template-columns: 1fr;
    align-items: flex-start;
    flex-direction: column;
  }
  .publication-form-grid .wide {
    grid-column: auto;
  }
  .player-preview-photo {
    aspect-ratio: 16 / 10;
  }
  .segmented-control { overflow-x: auto; flex-wrap: nowrap; }
  .injury-filters,
  .injury-technical-layout,
  .injury-treatment-grid,
  .injury-note-form,
  .video-toolbar,
  .storage-quota-card {
    grid-template-columns: 1fr;
  }
  .injury-detail-card {
    position: static;
  }
  .injury-roster-table-head {
    display: none;
  }
  .injury-roster-row {
    grid-template-columns: 3rem minmax(0, 1fr) 2.5rem;
    gap: .55rem;
    align-items: center;
    padding: .65rem;
  }
  .injury-row-title,
  .injury-roster-row > .badge,
  .injury-history-count {
    grid-column: 2 / -1;
  }
  .injury-eye-button {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
  }
  .injury-history-count {
    display: flex;
    gap: .35rem;
    align-items: baseline;
  }
  .injury-player-pick-head {
    display: none;
  }
  .injury-player-pick-row {
    grid-template-columns: 3rem minmax(0, 1fr) auto;
  }
  .injury-player-pick-row > .badge,
  .injury-player-pick-row > .player-status-dot {
    grid-column: 2 / -1;
    justify-self: start;
  }
  .injury-player-pick-row [data-injury-player-pick] {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
  }
  .injury-detail-hero {
    grid-template-columns: 1fr;
  }
  .injury-detail-hero > img {
    width: 5.4rem;
    height: 5.4rem;
  }
  .injury-kpis,
  .injury-phase-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .training-month-panel {
    grid-template-columns: 1fr;
  }
  .training-month-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .training-month-metrics span {
    border-left: 0;
    border-top: 1px solid #dbeafe;
  }
  .training-month-controls {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }
  .training-month-controls [data-training-month-current] {
    grid-column: 1 / -1;
  }
  .training-pick-head {
    display: none;
  }
  .training-player-option {
    grid-template-columns: auto 3rem minmax(0, 1fr) auto;
    gap: .55rem;
    padding: .65rem;
  }
  .training-player-option > .badge {
    grid-column: 3 / -1;
    justify-self: start;
  }
  .training-pick-state {
    grid-column: 4;
    grid-row: 1;
    min-width: 4.8rem;
    justify-self: end;
  }
  .training-pick-dorsal {
    font-size: 1.1rem;
  }
  .training-pick-player img {
    width: 2.1rem;
    height: 2.1rem;
  }
  .injury-card-head,
  .injury-main {
    align-items: stretch;
    flex-direction: column;
  }
  .injury-badges,
  .injury-phase-actions {
    justify-content: flex-start;
  }
  .player-facts,
  .player-detail-grid { grid-template-columns: 1fr; }
  .live-score-strip,
  .live-main-board,
  .live-controls-grid,
  .live-split { grid-template-columns: 1fr; }
  .live-match-console { gap: .7rem; }
  .live-clock-card,
  .live-score-card,
  .live-control-card { padding: .75rem; }
  .live-score-card strong { font-size: 3.2rem; }
  .live-match-console button {
    width: 100%;
    min-height: 3.35rem;
  }
  .live-clock-card .actions,
  .live-control-card .actions,
  .card-actions-grid,
  .timeout-status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .live-clock-card .actions,
  .live-control-card .actions {
    display: grid;
    gap: .45rem;
  }
  .live-player-row { align-items: stretch; flex-direction: column; }
  .live-bench-row {
    align-items: stretch;
    grid-template-columns: 1fr;
  }
  .live-player-row .actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }
  .live-voice-controls {
    grid-template-columns: 1fr;
  }
  .live-tools-row button { flex: 1 1 100%; }
  .player-photo-editor,
  .player-detail-hero { align-items: flex-start; flex-direction: column; }
  .score-editor { grid-template-columns: 1fr; }
  .training-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .training-day-card summary,
  .training-session-head {
    grid-template-columns: 1fr;
  }
  .training-day-metrics,
  .training-session-actions {
    justify-content: stretch;
  }
  .training-day-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .training-day-metrics span {
    min-width: 0;
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, .18);
  }
  .training-day-card summary::after {
    justify-self: stretch;
    text-align: center;
  }
  .training-player-head {
    display: none;
  }
  .training-attendance-row {
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: .55rem;
    padding: .65rem;
  }
  .training-attendance-row > .badge {
    grid-column: 2;
    justify-self: start;
  }
  .training-status-buttons {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .training-status-buttons {
    justify-content: stretch;
  }
  .training-status {
    width: 100%;
  }
  .player-stat-row {
    grid-template-columns: repeat(2, minmax(8rem, 1fr));
  }
  .stat-player,
  .stat-note { grid-column: 1 / -1; }
  .report-grid { grid-template-columns: 1fr; }
}

@media (max-width: 1090px) {
  .rehab-split {
    grid-template-columns: 1fr;
  }
  .chat-shell {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .chat-group-list {
    max-height: 22rem;
  }
  .chat-conversation {
    min-height: 34rem;
  }
}

@media (max-width: 720px) {
  .chat-toolbar {
    align-items: stretch;
  }
  .chat-conversation-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .chat-message-form {
    grid-template-columns: 1fr;
  }
  .chat-bubble {
    max-width: 96%;
  }
  .chat-group-row {
    grid-template-columns: 2.6rem 1fr;
    padding: .8rem;
  }
  .chat-group-avatar {
    height: 2.6rem;
    width: 2.6rem;
  }
  .chat-player-option {
    grid-template-columns: auto 2.5rem 1fr;
  }
  .chat-player-option img {
    height: 2.5rem;
    width: 2.5rem;
  }
}
