:root {
  --bg: #111111;
  --app: #0b0b0b;
  --panel: #151515;
  --panel-soft: #1d1d1d;
  --panel-lift: #2a2a2a;
  --panel-field: #303030;
  --line: #282828;
  --line-strong: #3a3a3a;
  --text: #f5f5f2;
  --muted: #9d9d98;
  --quiet: #777772;
  --blue: #f4f1ea;
  --blue-strong: #ffffff;
  --gold: #f4c84f;
  --danger: #ff6f6f;
  --shadow: 0 22px 70px rgba(0, 0, 0, 0.42);
  --team-header-bg: #111111;
  --team-header-border: #202020;
  --team-header-text: #f5f5f2;
  --team-header-muted: #9d9d98;
  --team-sidebar-bg: #080808;
  --team-sidebar-text: #b6b6b1;
  --team-secondary-color: #f5f5f2;
  --team-sidebar-accent: #282828;
  --button-height: 38px;
  --button-radius: 7px;
  --button-bg: #202020;
  --button-bg-hover: #292929;
  --button-border: #353535;
  --button-text: #f5f5f2;
  --button-danger-bg: #271717;
  --button-danger-border: #5a2626;
  --button-danger-text: #ffc7c7;
  --icon-size: 16px;
  --scrollbar-size: 10px;
  --scrollbar-thumb: color-mix(in srgb, var(--team-secondary-color) 62%, #2a2a2a);
  --scrollbar-thumb-hover: color-mix(in srgb, var(--team-secondary-color) 82%, #ffffff);
  --scrollbar-track: rgba(0, 0, 0, 0.28);
}

* {
  box-sizing: border-box;
}

body {
  min-width: 0;
  height: 100vh;
  margin: 0;
  overflow: hidden;
  color: var(--text);
  background:
    radial-gradient(circle at 50% -10%, rgba(255, 255, 255, 0.045), transparent 34rem),
    var(--bg);
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
}

button,
input,
select {
  font: inherit;
}

button {
  letter-spacing: 0;
  color: inherit;
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

button:focus-visible,
a:focus-visible {
  outline: 2px solid var(--team-secondary-color);
  outline-offset: 2px;
}


body.public-landing {
  height: auto;
  min-height: 100vh;
  overflow: auto;
  background: #050505;
}

body.public-profile-page {
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}

/* Public Player Vault surfaces. Scoped tokens keep the signed-in app independent. */
.landing-shell {
  --landing-bg: #050404;
  --landing-surface: #111111;
  --landing-surface-raised: #171717;
  --landing-border: #2c2c2c;
  --landing-border-strong: #686868;
  --landing-copy: #b6b6b6;
  --landing-light: #f5f5f2;
  --landing-accent: #7da0ff;
  --landing-ease: 160ms ease;
  --landing-gutter: max(24px, calc((100% - 1200px) / 2));
  --landing-space: clamp(64px, 7vw, 96px);
  min-height: 100vh;
  color: var(--landing-light);
  background: var(--landing-bg);
  overflow-x: clip;
}
.landing-shell > section { padding: var(--landing-space) var(--landing-gutter); scroll-margin-top: 100px; }
.landing-shell :is(h1,h2,h3,p) { margin-top: 0; }
.landing-shell :is(h1,h2,h3) { text-wrap: balance; }
.landing-shell :is(h1,h2) { margin-bottom: 20px; font-weight: 850; letter-spacing: -.045em; line-height: 1.05; text-transform: uppercase; }
.landing-shell h2 { font-size: clamp(32px, 3.5vw, 48px); }
.landing-shell p { color: var(--landing-copy); font-size: 16px; line-height: 1.65; }
.landing-shell :is(.landing-eyebrow,.landing-feature-kicker) { margin: 0 0 18px; color: var(--landing-copy); font-size: 12px; font-weight: 700; line-height: 1.5; letter-spacing: .15em; text-transform: uppercase; }
.landing-shell :is(button,a):focus-visible { outline: 2px solid var(--landing-accent); outline-offset: 4px; }
.landing-shell :is(button,a) { -webkit-tap-highlight-color: transparent; }
.landing-nav { position: sticky; top: 0; z-index: 80; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 80px; padding: 12px var(--landing-gutter); border-bottom: 1px solid transparent; background: var(--landing-bg); transition: border-color var(--landing-ease); }
.landing-scrolled .landing-nav { border-bottom-color: var(--landing-border); }
.landing-brand { display: inline-flex; flex-shrink: 0; align-items: center; gap: 10px; text-decoration: none; }
.landing-brand img { display: block; object-fit: contain; }
.landing-brand img:first-child { width: 30px; height: 30px; }
.landing-brand img:last-child { width: 154px; height: auto; }
.landing-brand img.landing-brand-logo { width: 168px; height: auto; }
.landing-nav-menu,.landing-nav-actions,.landing-cta-row { display: flex; align-items: center; gap: 12px; }
.landing-nav-menu { gap: 8px; }
.landing-nav-menu a,.landing-footer a,.landing-footer button { color: var(--landing-copy); font-size: 14px; font-weight: 600; text-decoration: none; transition: color var(--landing-ease); }
.landing-nav-menu a { padding: 12px 0; white-space: nowrap; }
.landing-nav-menu a:hover,.landing-footer a:hover,.landing-footer button:hover { color: #fff; }
.landing-audience-tab { min-height: 40px; padding: 8px 14px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--landing-copy); font: inherit; font-size: 14px; font-weight: 700; line-height: 1.4; cursor: pointer; transition: border-color var(--landing-ease),color var(--landing-ease),background var(--landing-ease); }
.landing-audience-tab:hover { color: #fff; }
.landing-audience-tab.is-active { border-color: var(--landing-light); color: var(--landing-light); }
.landing-shell[data-landing-audience="coaches"] .landing-pricing { display: none; }
.landing-shell[data-landing-audience="players"] .landing-coach-access { display: none; }
.landing-shell[data-landing-audience="players"] .landing-coach-preview { display: none; }
.landing-shell[data-landing-audience="players"] .landing-showcase { display: none; }
.landing-shell[data-landing-audience="players"] .landing-coach-team-request { display: none; }
.landing-shell[data-landing-audience="coaches"] .landing-feature-players { display: none; }
.landing-shell[data-landing-audience="coaches"] .landing-coach-access { display: none; }
.landing-shell[data-landing-audience="coaches"] .landing-one-link { display: none; }
.landing-shell :is(.landing-link-button,.landing-outline-button,.landing-primary-cta,.landing-secondary-cta,.landing-menu-toggle) { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 12px 22px; border: 1px solid #444; border-radius: 6px; background: transparent; color: var(--landing-light); font-size: 14px; font-weight: 700; line-height: 1.4; cursor: pointer; transition: background var(--landing-ease),border-color var(--landing-ease),transform var(--landing-ease); }
.landing-shell .landing-primary-cta { border-color: var(--landing-light); background: var(--landing-light); color: #101010; }
.landing-shell .landing-link-button { padding-inline: 10px; border-color: transparent; }
.landing-nav-actions .landing-outline-button { border-color: var(--landing-light); background: var(--landing-light); color: #101010; }
.landing-shell :is(.landing-outline-button,.landing-secondary-cta,.landing-menu-toggle):hover { background: #202020; border-color: #777; }
.landing-shell .landing-primary-cta:hover { background: #dededb; border-color: #dededb; }
.landing-nav-actions .landing-outline-button:hover { background: #dededb; border-color: #dededb; }
.landing-shell :is(.landing-link-button,.landing-outline-button,.landing-primary-cta,.landing-secondary-cta,.landing-menu-toggle):active { transform: translateY(1px); }
.landing-shell button:disabled { cursor: wait; transform: none; }
.landing-cta-row { flex-wrap: wrap; }
.landing-shell .landing-menu-toggle { display: none; }
.landing-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 48px; min-height: 620px; }
.landing-hero-copy { min-width: 0; }
.landing-hero h1 { max-width: 700px; font-size: clamp(44px, 4.5vw, 64px); line-height: 1.02; }
.landing-hero h1 span { display: block; }
.landing-hero h1 .landing-hero-solid-line { margin-top: 8px; color: #fff; }
.landing-hero-text { max-width: 510px; margin: 24px 0 0; }
.landing-product-stage { position: relative; min-width: 0; }
.landing-vault-mockup { display: block; width: 100%; height: auto; }
@media (min-width: 1201px) {
  .landing-hero { grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: 32px; }
  .landing-product-stage { width: calc(100% + 120px); margin-right: -120px; }
}
@media (min-width: 901px) and (max-width: 1200px) {
  .landing-hero { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 24px; }
}
.landing-browser-card,.landing-phone-card,.landing-mini-profile,.landing-board-preview,.landing-coach-access-board { border: 1px solid var(--landing-border); border-radius: 12px; background: var(--landing-surface); }
.landing-browser-card { width: 100%; padding: 14px; box-shadow: 0 12px 32px #0003; }
.landing-browser-bar { display: flex; align-items: center; gap: 6px; padding: 2px 0 14px; }
.landing-browser-bar > span { width: 6px; height: 6px; border-radius: 50%; background: #454545; }
.landing-browser-bar em { margin-left: 8px; color: #a5a5a5; font-size: 12px; font-style: normal; }
.landing-profile-preview { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 12px; border: 1px solid var(--landing-border); border-radius: 8px; background: #0b0b0b; }
.landing-profile-photo { height: 130px; overflow: hidden; border-radius: 6px; background: #292929; }
.landing-profile-photo img { width: 100%; height: 100%; object-fit: cover; }
.landing-profile-info { grid-column: span 2; display: grid; align-content: center; gap: 7px; min-width: 0; }
.landing-profile-info > span { color: #aaa; font-size: 12px; }
.landing-profile-info h2 { margin: 0; font-size: clamp(22px,2.3vw,32px); line-height: 1.05; }
.landing-profile-info p { margin: 0; font-size: 14px; }
.landing-profile-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.landing-profile-tags b,.landing-mini-profile b { border: 1px solid #333; border-radius: 4px; padding: 5px 7px; color: #ccc; font-size: 12px; font-weight: 500; }
.landing-profile-video { grid-column: 1/-1; display: grid; place-content: center; height: 96px; border: 1px solid #303030; border-radius: 6px; background: #1b1b1b; }
.landing-profile-video svg { width: 32px; height: 32px; color: #eee; }
.landing-metric-tile { display: grid; justify-items: center; gap: 6px; padding: 14px 4px; border: 1px solid #2d2d2d; border-radius: 6px; }
.landing-metric-tile span,.landing-metric-tile em { color: #aaa; font-size: 12px; font-style: normal; }
.landing-metric-tile strong { font-size: clamp(22px,2.5vw,32px); line-height: 1; font-variant-numeric: tabular-nums; }
.landing-phone-card { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; width: 100%; padding: 12px 18px; margin-top: 12px; background: #141414; }
.landing-phone-top { display: none; }
.landing-phone-card h3,.landing-phone-card p { display: none; }
.landing-phone-card div:not(.landing-phone-top) { display: flex; justify-content: space-between; gap: 8px; padding: 7px 0; font-size: 13px; }
.landing-phone-card div span { color: #aaa; }
.landing-shell .landing-proof-strip { padding: 0; overflow: hidden; border-block: 1px solid #242424; background: #111; }
.landing-logo-marquee { width: 100%; overflow: hidden; padding: 24px 0; }
.landing-logo-track { display: flex; width: max-content; animation: landing-logo-scroll 24s linear infinite; will-change: transform; }
.landing-logo-group { display: flex; align-items: center; gap: 42px; flex: none; padding-right: 42px; }
.landing-logo-group img { display: block; flex: none; object-fit: contain; }
.landing-logo-icon { width: 32px; height: 32px; }
.landing-logo-wordmark { width: 118px; height: auto; }
.landing-logo-marquee:hover .landing-logo-track { animation-play-state: paused; }
@keyframes landing-logo-scroll { to { transform: translateX(-50%); } }
.landing-feature-band { background: var(--landing-light); color: #111; }
.landing-how { background: var(--landing-light); color: #111; }
.landing-shell > .landing-how { padding-block: clamp(48px,5vw,68px); }
.landing-feature-intro { max-width: 700px; margin: 0 auto 40px; text-align: center; }
.landing-shell .landing-feature-kicker { color: #595959; }
.landing-feature-intro h2 { font-size: clamp(30px,3vw,42px); margin-bottom: 14px; }
.landing-feature-intro > p:last-child { color: #575757; margin: 0; }
.landing-feature-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); }
.landing-feature-grid article { min-width: 0; padding: 0 20px; border-left: 1px solid #d5d5d2; text-align: center; }
.landing-feature-grid article:first-child { border-left: 0; }
.landing-feature-art { display: block; width: 64px; height: 64px; margin: 0 auto 18px; }
.landing-feature-art img { width: 100%; height: 100%; object-fit: contain; }
.landing-feature-grid h3 { margin: 0 0 12px; font-size: 14px; font-weight: 800; line-height: 1.35; }
.landing-feature-grid p { color: #555; font-size: 14px; line-height: 1.6; margin: 0; }
.landing-coach-team-request { max-width: 1120px; margin: 0 auto; }
.landing-team-request-layout { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(340px,.95fr); gap: clamp(36px,7vw,100px); align-items: center; }
.landing-team-request-copy { min-width: 0; }
.landing-team-request-copy .landing-feature-kicker { margin-bottom: 16px; }
.landing-team-request-copy h2 { max-width: 540px; margin-bottom: 18px; font-size: clamp(36px,4vw,54px); }
.landing-team-request-copy > p:not(.landing-feature-kicker) { max-width: 520px; margin: 0 0 30px; color: #555; }
.landing-team-request-button { width: auto; min-height: 58px !important; padding: 16px 24px !important; border-radius: 8px !important; font-size: 15px !important; box-shadow: 0 10px 20px #0000001a; }
.landing-team-request-copy small { display: block; max-width: 460px; margin-top: 15px; color: #666; font-size: 13px; line-height: 1.5; }
.landing-team-request-card { padding: clamp(24px,3vw,34px); border: 1px solid #222; border-radius: 14px; background: #101010; color: #f5f5f2; box-shadow: 0 20px 46px #00000020; }
.landing-team-request-card > span { display: block; margin-bottom: 12px; color: #a9a9a4; font-size: 11px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.landing-team-request-card > strong { display: block; max-width: 300px; font-size: clamp(23px,2.4vw,31px); font-weight: 800; letter-spacing: -.04em; line-height: 1.05; }
.landing-team-request-card ul { display: grid; gap: 0; margin: 26px 0 0; padding: 0; list-style: none; border-top: 1px solid #303030; }
.landing-team-request-card li { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 12px; align-items: start; padding: 14px 0; border-bottom: 1px solid #303030; color: #d0d0cb; font-size: 14px; line-height: 1.5; }
.landing-team-request-card li b { color: #777; font-size: 11px; line-height: 1.9; }
.landing-one-link,.landing-coach-preview { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; gap: 64px; }
.landing-one-link > div,.landing-coach-preview > div { min-width: 0; }
.landing-one-link p,.landing-split p { max-width: 540px; }
.landing-demo-link-bar { display: flex; align-items: center; max-width: 680px; min-height: 70px; margin-top: 24px; padding: 6px; border: 1px solid #767676; border-radius: 999px; background: #090909; }
.landing-demo-link-bar button { flex: 0 0 auto; min-height: 56px; padding: 12px 24px; border: 0; border-radius: 999px; background: var(--landing-light); color: #101010; font: inherit; font-size: 15px; font-weight: 800; cursor: pointer; }
.landing-demo-link-bar span { min-width: 0; padding: 0 22px; overflow: hidden; color: #f2f2ef; font-size: 16px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.landing-demo-link-note { max-width: 560px; margin: 18px 0 0 !important; color: #999 !important; font-size: 14px !important; line-height: 1.5 !important; }
.landing-nolan-preview { min-width: 0; margin: 0; }
.landing-nolan-preview img { display: block; width: 100%; height: auto; border-radius: 24px; }
.landing-mini-profile { display: grid; gap: 12px; padding: 30px; }
.landing-mini-profile > span,.landing-board-preview > span { color: #aaa; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.landing-mini-profile strong { font-size: 36px; line-height: 1.1; letter-spacing: -.03em; }
.landing-mini-profile p { margin: 0; font-size: 14px; }
.landing-mini-profile > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.landing-shell .landing-players { padding-block: 56px; border-top: 1px solid #242424; }
.landing-players > div { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); column-gap: 64px; align-items: start; }
.landing-players .landing-eyebrow { grid-column: 1; }
.landing-players h2 { grid-column: 1; grid-row: 2/4; margin: 0; }
.landing-players p:not(.landing-eyebrow) { grid-column: 2; grid-row: 2; margin-bottom: 24px; }
.landing-players button { grid-column: 2; grid-row: 3; justify-self: start; }
.landing-coach-preview { background: #111; border-block: 1px solid #242424; }
.landing-board-preview { display: grid; gap: 12px; padding: 24px; background: #0c0c0c; }
.landing-board-preview article { display: grid; gap: 5px; padding: 16px; border: 1px solid #2d2d2d; border-radius: 6px; background: #171717; }
.landing-board-preview b { font-size: 16px; font-weight: 600; }
.landing-board-preview em { color: #aaa; font-size: 14px; font-style: normal; }
.landing-showcase h2 { max-width: 720px; }
.landing-showcase-grid,.landing-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; margin-top: 36px; }
.landing-showcase-grid article { padding: 24px 0 0; border-top: 1px solid #383838; }
.landing-showcase-grid span,.landing-steps span { font-size: 12px; color: #999; font-variant-numeric: tabular-nums; }
.landing-showcase-grid h3,.landing-steps h3 { margin: 24px 0 10px; font-size: 20px; line-height: 1.25; font-weight: 700; letter-spacing: -.02em; }
.landing-showcase-grid p,.landing-steps p { margin: 0; font-size: 14px; }
.landing-shell .landing-pricing { border-top: 1px solid #242424; }
.landing-pricing-header,.landing-pricing-grid,.landing-pricing-security { width: min(100%,1200px); margin-inline: auto; }
.landing-pricing-header { text-align: center; margin-bottom: 36px; }
.landing-pricing-header h2 { margin-bottom: 16px; }
.landing-pricing-header p:last-child { margin-bottom: 0; }
.landing-pricing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; align-items: stretch; }
.landing-plan-card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 28px; border: 1px solid #303030; border-radius: 14px; background: #111; cursor: pointer; transition: border-color var(--landing-ease),transform var(--landing-ease); }
.landing-plan-card:hover { border-color: #777; transform: translateY(-2px); }
.landing-plan-card:focus-within { border-color: var(--landing-accent); }
.landing-plan-card.recommended { border-color: #e5e5e1; background: #f5f5f2; color: #111; box-shadow: 0 12px 28px #0003; }
.landing-plan-topline { position: absolute; top: 24px; right: 24px; }
.landing-plan-topline > span { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 10px; border-radius: 999px; background: #111; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.landing-plan-card h3 { margin: 0 0 6px; font-size: 27px; line-height: 1.2; font-weight: 750; letter-spacing: -.035em; }
.landing-plan-card > p { margin: 0; color: #b9b9b9; font-size: 14px; line-height: 1.5; }
.landing-plan-card.recommended > p { color: #555; }
.landing-plan-card ul { display: grid; flex: 1; align-content: start; gap: 10px; margin: 16px 0 24px; padding: 20px 0 0; border-top: 1px solid #303030; list-style: none; }
.landing-plan-card.recommended ul { border-color: #d4d4cf; }
.landing-plan-card li { position: relative; padding-left: 24px; font-size: 14px; line-height: 1.45; color: #ebebeb; }
.landing-plan-card.recommended li { color: #222; }
.landing-plan-card li::before { content: '✓'; position: absolute; left: 0; color: #fff; font-weight: 800; }
.landing-plan-card.recommended li::before { color: #111; }
.landing-plan-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; margin: 0 0 3px; }
.landing-plan-price strong { font-size: 45px; font-weight: 800; line-height: 1; letter-spacing: -.055em; font-variant-numeric: tabular-nums; }
.landing-plan-price span { color: #b9b9b9; font-size: 16px; }
.landing-plan-card.recommended .landing-plan-price span { color: #666; }
.landing-plan-price em { display: grid; gap: 1px; margin-left: auto; color: #777; font-size: 12px; font-style: normal; text-align: right; }
.landing-plan-price em b { color: #111; font-size: 12px; text-transform: uppercase; }
.landing-plan-card small { display: block; min-height: 36px; margin-top: 6px; color: #a7a7a7; font-size: 12px; line-height: 1.4; text-align: left; }
.landing-plan-card.recommended small { color: #666; }
.landing-plan-action { display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 48px; margin-top: 18px; padding: 12px 16px; border: 1px solid #f5f5f2; border-radius: 7px; background: #f5f5f2; color: #111; font: inherit; font-size: 14px; font-weight: 750; cursor: pointer; }
.landing-plan-card.recommended .landing-plan-action { border-color: #111; background: #111; color: #fff; }
.landing-blueprint-plan { cursor: default; }
.landing-blueprint-add-on { display: block; margin-top: 1px; color: #fff; font-size: 17px; line-height: 1.2; }
.landing-shell .landing-pricing-security { margin-block: 22px 0; text-align: center; font-size: 13px; color: #aaa; }
.landing-pricing-security svg { width: 14px; height: 14px; margin-right: 6px; vertical-align: -2px; }
.landing-coach-access { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 64px; border-block: 1px solid #2a2a2a; background: #111; }
.landing-coach-access-copy { min-width: 0; }
.landing-coach-access-copy .landing-eyebrow { color: var(--landing-accent); }
.landing-coach-access-copy p:not(.landing-eyebrow) { max-width: 460px; }
.landing-coach-callout { margin: 22px 0 26px; color: #ccc; font-size: 14px; line-height: 1.65; }
.landing-coach-callout span { display: block; color: #999; }
.landing-coach-access-board { display: grid; gap: 12px; padding: 24px; background: #0b0b0b; }
.landing-coach-board-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid #292929; }
.landing-coach-board-top > div { display: grid; gap: 6px; }
.landing-coach-board-top span { color: #aaa; font-size: 12px; }
.landing-coach-board-top strong { font-size: 20px; font-weight: 650; }
.landing-coach-board-top em { max-width: 100px; color: #999; font-size: 12px; line-height: 1.5; font-style: normal; }
.landing-coach-search-preview { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px; border: 1px solid #2d2d2d; border-radius: 6px; color: #aaa; font-size: 12px; }
.landing-coach-search-preview svg,.landing-coach-save-mark svg { width: 16px; height: 16px; flex-shrink: 0; }
.landing-coach-player-card { display: grid; grid-template-columns: 42px minmax(0,1fr) auto auto; align-items: center; gap: 12px; }
.landing-coach-player-card,.landing-coach-folder-row,.landing-coach-evaluate-row { padding: 14px; border: 1px solid #2c2c2c; border-radius: 6px; background: #141414; }
.landing-coach-avatar { width: 42px; height: 42px; object-fit: cover; border-radius: 5px; }
.landing-coach-player-card span,.landing-coach-folder-row span,.landing-coach-evaluate-row span { color: #999; font-size: 12px; }
.landing-coach-player-card strong,.landing-coach-folder-row strong { display: block; margin-top: 4px; font-size: 16px; font-weight: 600; }
.landing-coach-metric { display: grid; justify-items: center; gap: 3px; font-size: 20px; font-style: normal; font-weight: 650; }
.landing-coach-metric span { font-size: 12px; font-weight: 400; }
.landing-coach-save-mark { display: flex; color: #aaa; }
.landing-coach-folder-row { display: flex; align-items: center; gap: 12px; }
.landing-coach-folder-icon { width: 22px; height: 16px; flex-shrink: 0; border-radius: 2px; background: #4d7cfe; }
.landing-coach-folder-row em { margin-left: auto; font-size: 12px; color: #aaa; font-style: normal; white-space: nowrap; }
.landing-coach-evaluate-row strong { display: block; margin-top: 6px; font-size: 14px; line-height: 1.5; font-weight: 500; }
.landing-faq { width: 100%; margin-inline: auto; padding: 0; color: #111; }
.landing-faq-intro { text-align: center; }
.landing-faq-intro .landing-eyebrow { margin-bottom: 16px; color: #555; }
.landing-faq-intro h2 { margin-bottom: 14px; font-size: clamp(32px,4vw,52px); }
.landing-faq-intro > p:last-child { margin-bottom: 0; color: #555; }
.landing-faq-list { display: grid; gap: 10px; width: 100%; max-width: none; margin: clamp(28px,3vw,36px) auto 0; }
.landing-faq-list details { overflow: hidden; border: 1px solid #d1d1ce; border-radius: 12px; background: #ececea; transition: border-color var(--landing-ease),box-shadow var(--landing-ease),background var(--landing-ease); }
.landing-faq-list details[open] { border-color: #111; background: #fff; box-shadow: 0 10px 24px #0000000d; }
.landing-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 78px; padding: 16px 20px; color: #111; font-size: 17px; font-weight: 750; line-height: 1.35; cursor: pointer; list-style: none; }
.landing-faq-list summary::-webkit-details-marker { display: none; }
.landing-faq-question { display: flex; align-items: center; gap: 14px; min-width: 0; }
.landing-faq-question b { display: grid; flex: 0 0 24px; place-items: center; width: 24px; height: 24px; border: 1px solid #c7c7c3; border-radius: 50%; color: #555; font-size: 10px; font-weight: 800; font-variant-numeric: tabular-nums; }
.landing-faq-toggle { display: grid; flex: 0 0 28px; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #111; color: var(--landing-light); font-size: 20px; font-weight: 400; line-height: 1; transition: transform var(--landing-ease),background var(--landing-ease); }
.landing-faq-list details[open] .landing-faq-toggle { transform: rotate(45deg); background: #111; }
.landing-faq-list details p { max-width: 660px; margin: -2px 56px 22px 54px; color: #555; font-size: 14px; line-height: 1.65; }
.landing-final-cta { text-align: center; }
.landing-final-cta h2 { max-width: 860px; margin-inline: auto; }
.landing-final-cta p { max-width: 620px; margin: 0 auto 28px; }
.landing-final-cta .landing-cta-row { justify-content: center; }
.landing-footer { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 32px var(--landing-gutter); border-top: 1px solid #292929; }
.landing-footer-brand { display: flex; flex-direction: column; gap: 12px; }
.landing-footer-brand p { margin: 0; color: #888; font-size: 12px; }
.landing-footer-legal { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 10px 20px; }
.landing-footer-legal a { color: #aaa; font-size: 13px; font-weight: 600; }
.landing-footer-legal a:hover { color: #fff; }
.checkout-return-card { max-width: 560px; }
@media (max-width:1100px) {
  .landing-nav { gap: 14px; }
  .landing-nav-menu { gap: 14px; }
  .landing-brand img:last-child { width: 132px; }
  .landing-nav-actions { gap: 4px; }
  .landing-nav-actions .landing-outline-button { padding-inline: 14px; }
  .landing-hero { gap: 32px; }
  .landing-one-link,.landing-coach-preview,.landing-coach-access { gap: 36px; }
  .landing-feature-grid article { padding-inline: 14px; }
  .landing-coach-player-card { grid-template-columns: 38px minmax(0,1fr) auto; gap: 10px; }
  .landing-coach-save-mark { display: none; }
}
@media (max-width:900px) {
  .landing-shell .landing-menu-toggle { display: inline-flex; margin-left: auto; }
  .landing-nav-menu { position: absolute; inset: calc(100% + 8px) 24px auto; display: none; padding: 12px; border: 1px solid #383838; border-radius: 8px; background: #151515; box-shadow: 0 10px 24px #0004; }
  .landing-nav-menu.open { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .landing-nav-menu :is(a,.landing-audience-tab) { padding: 12px; }
  .landing-shell .landing-hero { grid-template-columns: 1fr; min-height: 0; padding-top: 48px; }
  .landing-hero-copy { max-width: 650px; }
  .landing-hero h1 { max-width: 600px; font-size: 56px; }
  .landing-product-stage { width: min(100%,580px); margin-inline: auto; }
  .landing-profile-info h2 { font-size: 30px; }
  .landing-feature-grid { grid-template-columns: repeat(6,minmax(0,1fr)); row-gap: 32px; }
  .landing-feature-grid article { grid-column: span 2; }
  .landing-feature-grid article:nth-child(4) { grid-column: 2/span 2; border-left: 0; }
  .landing-showcase-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .landing-pricing-grid { grid-template-columns: 1fr; width: min(100%,580px); }
  .landing-one-link,.landing-coach-preview,.landing-coach-access,.landing-team-request-layout { grid-template-columns: 1fr; }
  .landing-mini-profile,.landing-board-preview,.landing-coach-access-board { width: 100%; max-width: 580px; }
  .landing-players > div { gap: 0 32px; }
  .landing-steps { gap: 24px; }
  .landing-footer { flex-direction: column; align-items: flex-start; }
  .landing-footer-legal { justify-content: flex-start; }
}
@media (max-width:600px) {
  .landing-shell { --landing-gutter: 20px; --landing-space: 56px; }
  .landing-shell > section { scroll-margin-top: 122px; }
  .landing-nav { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; padding-block: 8px; }
  .landing-brand img:first-child { width: 24px; height: 24px; }
  .landing-brand img:last-child { width: 128px; }
  .landing-brand img.landing-brand-logo { width: 154px; height: auto; }
  .landing-shell .landing-menu-toggle { min-height: 40px; padding: 8px 14px; }
  .landing-nav-actions { grid-column: 1/-1; justify-content: stretch; gap: 8px; }
  .landing-nav-actions button { flex: 1; min-height: 40px !important; padding-block: 8px !important; }
  .landing-nav-menu { inset-inline: 20px; }
  .landing-nav-menu.open { grid-template-columns: 1fr; gap: 0; }
  .landing-shell h2 { font-size: clamp(30px,8.5vw,40px); }
  .landing-shell .landing-hero { gap: 34px; padding-top: 36px; }
  .landing-hero h1 { font-size: clamp(32px,9.1vw,52px); }
  .landing-hero-text { margin-block: 20px 24px; }
  .landing-cta-row { flex-direction: column; align-items: stretch; gap: 10px; }
  .landing-product-stage { padding-bottom: 0; }
  .landing-browser-card { padding: 10px; }
  .landing-profile-preview { padding: 9px; gap: 8px; }
  .landing-profile-photo { height: 124px; }
  .landing-profile-info { gap: 6px; }
  .landing-profile-info h2 { font-size: 23px; }
  .landing-profile-info p { font-size: 12px; }
  .landing-profile-info > span { font-size: 12px; line-height: 1.4; }
  .landing-profile-tags { gap: 4px; }
  .landing-profile-tags b { padding: 3px 5px; font-size: 12px; }
  .landing-profile-video { height: 100px; }
  .landing-metric-tile { padding: 12px 2px; }
  .landing-metric-tile strong { font-size: 24px; }
  .landing-phone-card { display: none; }
  .landing-feature-intro { text-align: left; margin-bottom: 26px; }
  .landing-feature-grid { display: block; }
  .landing-feature-grid article { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 7px 16px; padding: 22px 0; border: 0; border-top: 1px solid #d4d4d1; text-align: left; }
  .landing-feature-art { grid-row: span 2; width: 48px; height: 48px; margin: 0; }
  .landing-feature-grid h3 { margin: 0; font-size: 16px; }
  .landing-feature-grid p { font-size: 14px; }
  .landing-feature-grid article:last-child { padding-bottom: 0; }
  .landing-team-request-layout { gap: 26px; }
  .landing-team-request-card { padding: 22px; }
  .landing-one-link,.landing-coach-preview,.landing-coach-access { gap: 30px; }
  .landing-demo-link-bar { display: grid; gap: 2px; min-height: 0; padding: 6px; border-radius: 22px; }
  .landing-demo-link-bar button { width: 100%; min-height: 48px; padding: 10px 16px; }
  .landing-demo-link-bar span { padding: 10px 12px 6px; font-size: 14px; text-align: center; white-space: normal; overflow-wrap: anywhere; }
  .landing-mini-profile,.landing-board-preview { padding: 22px; }
  .landing-mini-profile strong { font-size: 30px; }
  .landing-players > div { display: block; }
  .landing-players h2 { margin-bottom: 20px; }
  .landing-showcase-grid { gap: 26px 20px; margin-top: 28px; }
  .landing-showcase-grid h3 { margin-top: 16px; font-size: 18px; }
  .landing-pricing-header { text-align: left; margin-bottom: 28px; }
  .landing-pricing-grid { grid-template-columns: 1fr; gap: 16px; }
  .landing-plan-card { padding: 24px; }
  .landing-plan-topline { margin-bottom: 18px; }
  .landing-plan-price strong { font-size: 50px; }
  .landing-plan-callout { min-height: 0; margin-bottom: 20px; }
  .landing-plan-card ul { gap: 10px; padding-top: 20px; margin-bottom: 24px; }
  .landing-faq { padding: 0; }
  .landing-faq-intro h2 { font-size: 30px; }
  .landing-faq-list { margin-top: 28px; gap: 8px; }
  .landing-faq-list summary { min-height: 60px; padding: 12px; font-size: 14px; }
  .landing-faq-question { gap: 10px; }
  .landing-faq-question b { flex-basis: 22px; width: 22px; height: 22px; font-size: 9px; }
  .landing-faq-toggle { flex-basis: 26px; width: 26px; height: 26px; font-size: 18px; }
  .landing-faq-list details p { margin: 0 18px 18px 44px; font-size: 14px; }
  .landing-coach-access-board { padding: 18px; }
  .landing-coach-board-top { gap: 12px; }
  .landing-coach-player-card { grid-template-columns: 36px minmax(0,1fr) auto; padding: 12px; gap: 9px; }
  .landing-coach-avatar { width: 36px; height: 36px; }
  .landing-coach-player-card strong,.landing-coach-folder-row strong { font-size: 14px; }
  .landing-coach-folder-row { gap: 9px; padding: 12px; }
  .landing-coach-board-top strong { font-size: 18px; }
  .landing-steps { grid-template-columns: 1fr; gap: 24px; }
  .landing-steps h3 { margin: 12px 0 8px; }
  .landing-final-cta h2 br { display: none; }
  .landing-footer { gap: 22px; padding-block: 28px; }
  .landing-footer-legal { gap: 10px 18px; }
}

/* Public legal and policy pages */
html:has(body.legal-page) { height: auto !important; min-height: 100vh; overflow: auto !important; }
body.legal-page { min-height: 100vh; height: auto !important; margin: 0; overflow: auto !important; overscroll-behavior-y: auto; background: #050505; color: #f5f5f1; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.legal-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; padding: 0 clamp(22px, 5vw, 76px); border-bottom: 1px solid #292929; }
.legal-header .landing-brand { display: inline-flex; align-items: center; }
.legal-header .landing-brand-logo { width: auto; height: 29px; object-fit: contain; }
.legal-home-link, .legal-document a, .legal-footer a { color: #d7d7d2; text-underline-offset: 3px; }
.legal-home-link { font-size: 13px; font-weight: 700; text-decoration: none; }
.legal-home-link:hover, .legal-document a:hover, .legal-footer a:hover { color: #fff; }
.legal-document { width: min(100% - 44px, 820px); margin: 0 auto; padding: clamp(48px, 8vw, 92px) 0; }
.legal-eyebrow { margin: 0 0 12px; color: #aaa; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.legal-document h1 { margin: 0; color: #fff; font-size: clamp(36px, 6vw, 58px); letter-spacing: -.045em; line-height: 1; }
.legal-meta { margin: 18px 0 40px; color: #9f9f99; font-size: 13px; }
.legal-document > p, .legal-document section p { color: #d0d0cb; font-size: 16px; line-height: 1.72; }
.legal-document > p { margin: 0 0 30px; }
.legal-document section { padding: 28px 0; border-top: 1px solid #2b2b2b; }
.legal-document section h2 { margin: 0 0 12px; color: #fff; font-size: 20px; letter-spacing: -.02em; }
.legal-document section p { margin: 10px 0 0; }
.legal-document .legal-todo { margin-top: 20px; padding: 14px 16px; border-left: 2px solid #777; background: #121212; color: #c5c5bf; font-size: 14px; }
.legal-footer { display: flex; flex-wrap: wrap; gap: 10px 20px; align-items: center; padding: 28px clamp(22px, 5vw, 76px); border-top: 1px solid #292929; color: #858580; font-size: 12px; }
.legal-footer a { font-weight: 650; }
.signup-agreement { margin: 12px 2px 0; color: #999; font-size: 12px; line-height: 1.5; text-align: center; }
.signup-agreement a { color: #d7d7d2; font-weight: 700; text-underline-offset: 3px; }
.signup-agreement a:hover { color: #fff; }
@media (max-width: 600px) { .legal-header { min-height: 66px; } .legal-header .landing-brand-logo { height: 24px; } .legal-document { width: min(100% - 32px, 820px); } .legal-document > p, .legal-document section p { font-size: 15px; } .legal-footer { gap: 10px 16px; } }
@media (max-width:360px) {
  .landing-shell { --landing-gutter: 16px; }
  .landing-plan-card { padding: 20px; }
  .landing-showcase-grid { grid-template-columns: 1fr; }
  .landing-coach-access-board { padding: 14px; }
  .landing-coach-board-top { flex-wrap: wrap; }
  .landing-coach-board-top em { max-width: none; }
  .landing-profile-info h2 { font-size: 20px; }
}
@media (prefers-reduced-motion:reduce) {
  .landing-shell *, .auth-shell * { scroll-behavior: auto !important; transition: none !important; }
  .landing-logo-track { animation: none; transform: none; }
  .landing-logo-group:nth-child(2) { display: none; }
}


.app-toast-region {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 200;
  display: grid;
  gap: 10px;
  width: min(360px, calc(100vw - 44px));
  pointer-events: none;
}

.app-toast {
  display: grid;
  gap: 3px;
  min-height: 58px;
  padding: 12px 14px;
  border: 1px solid #373737;
  border-left: 3px solid var(--team-secondary-color);
  border-radius: 8px;
  background: #151515;
  color: var(--text);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.46);
}

.app-toast strong {
  font-size: 13px;
  font-weight: 900;
}

.app-toast span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
}

.app-toast[data-type="error"] {
  border-left-color: var(--danger);
}

.app-toast[data-type="success"] {
  border-left-color: var(--team-secondary-color);
}

.application-form,
.player-registration-form,
.player-list,
.search-panel,
.profile-pane,
.account-page,
.settings-page,
.control-center-page,
.control-tab-panel,
.folder-list,
.folder-board-grid,
.folder-detail-panel,
.saved-player-detail-panel,
.coach-profile-showcase,
.saved-player-detail-panel.showing-saved-profile,
.folder-detail-panel.showing-folder-profile {
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
  scrollbar-width: thin;
}

.application-form::-webkit-scrollbar,
.player-registration-form::-webkit-scrollbar,
.player-list::-webkit-scrollbar,
.search-panel::-webkit-scrollbar,
.profile-pane::-webkit-scrollbar,
.account-page::-webkit-scrollbar,
.settings-page::-webkit-scrollbar,
.control-center-page::-webkit-scrollbar,
.control-tab-panel::-webkit-scrollbar,
.folder-list::-webkit-scrollbar,
.folder-board-grid::-webkit-scrollbar,
.folder-detail-panel::-webkit-scrollbar,
.saved-player-detail-panel::-webkit-scrollbar,
.coach-profile-showcase::-webkit-scrollbar,
.saved-player-detail-panel.showing-saved-profile::-webkit-scrollbar,
.folder-detail-panel.showing-folder-profile::-webkit-scrollbar {
  width: var(--scrollbar-size);
  height: var(--scrollbar-size);
}

.application-form::-webkit-scrollbar-track,
.player-registration-form::-webkit-scrollbar-track,
.player-list::-webkit-scrollbar-track,
.search-panel::-webkit-scrollbar-track,
.profile-pane::-webkit-scrollbar-track,
.account-page::-webkit-scrollbar-track,
.settings-page::-webkit-scrollbar-track,
.control-center-page::-webkit-scrollbar-track,
.control-tab-panel::-webkit-scrollbar-track,
.folder-list::-webkit-scrollbar-track,
.folder-board-grid::-webkit-scrollbar-track,
.folder-detail-panel::-webkit-scrollbar-track,
.saved-player-detail-panel::-webkit-scrollbar-track,
.coach-profile-showcase::-webkit-scrollbar-track,
.saved-player-detail-panel.showing-saved-profile::-webkit-scrollbar-track,
.folder-detail-panel.showing-folder-profile::-webkit-scrollbar-track {
  border-radius: 999px;
  background: var(--scrollbar-track);
}

.application-form::-webkit-scrollbar-thumb,
.player-registration-form::-webkit-scrollbar-thumb,
.player-list::-webkit-scrollbar-thumb,
.search-panel::-webkit-scrollbar-thumb,
.profile-pane::-webkit-scrollbar-thumb,
.account-page::-webkit-scrollbar-thumb,
.settings-page::-webkit-scrollbar-thumb,
.control-center-page::-webkit-scrollbar-thumb,
.control-tab-panel::-webkit-scrollbar-thumb,
.folder-list::-webkit-scrollbar-thumb,
.folder-board-grid::-webkit-scrollbar-thumb,
.folder-detail-panel::-webkit-scrollbar-thumb,
.saved-player-detail-panel::-webkit-scrollbar-thumb,
.coach-profile-showcase::-webkit-scrollbar-thumb,
.saved-player-detail-panel.showing-saved-profile::-webkit-scrollbar-thumb,
.folder-detail-panel.showing-folder-profile::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: var(--scrollbar-thumb);
  background-clip: content-box;
}

.application-form::-webkit-scrollbar-thumb:hover,
.player-registration-form::-webkit-scrollbar-thumb:hover,
.player-list::-webkit-scrollbar-thumb:hover,
.search-panel::-webkit-scrollbar-thumb:hover,
.profile-pane::-webkit-scrollbar-thumb:hover,
.account-page::-webkit-scrollbar-thumb:hover,
.settings-page::-webkit-scrollbar-thumb:hover,
.control-center-page::-webkit-scrollbar-thumb:hover,
.control-tab-panel::-webkit-scrollbar-thumb:hover,
.folder-list::-webkit-scrollbar-thumb:hover,
.folder-board-grid::-webkit-scrollbar-thumb:hover,
.folder-detail-panel::-webkit-scrollbar-thumb:hover,
.saved-player-detail-panel::-webkit-scrollbar-thumb:hover,
.coach-profile-showcase::-webkit-scrollbar-thumb:hover,
.saved-player-detail-panel.showing-saved-profile::-webkit-scrollbar-thumb:hover,
.folder-detail-panel.showing-folder-profile::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover);
  background-clip: content-box;
}

.auth-shell {
  display: grid;
  height: 100vh;
  height: 100dvh;
  align-items: center;
  justify-items: center;
  overflow: hidden;
  padding: 76px 20px 28px;
  background:
    radial-gradient(circle at 56% -16%, rgba(255, 255, 255, 0.07), transparent 32rem),
    linear-gradient(135deg, rgba(244, 200, 79, 0.045), transparent 32%),
    #080808;
}

.auth-brand-panel {
  display: none;
}

.auth-brand-lockup {
  display: flex;
  align-items: center;
  gap: 12px;
}

.auth-brand-lockup img:first-child {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.auth-wordmark {
  width: 190px;
  height: auto;
  object-fit: contain;
}

.auth-card-header span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
}

.auth-stage {
  display: grid;
  grid-template-columns: minmax(280px, 420px);
  align-items: stretch;
  gap: 0;
  width: min(100%, 420px);
}

.auth-stage:has(#coach-application-view:not(.hidden)) {
  grid-template-columns: minmax(280px, 680px);
  width: min(100%, 680px);
}


.auth-shell:has(#signup-view:not(.hidden)) {
  height: auto;
  min-height: 100vh;
  min-height: 100dvh;
  align-items: start;
  overflow: auto;
  padding: clamp(34px, 4vh, 52px) 28px 32px;
  background:
    radial-gradient(circle at 50% -10%, rgba(255, 255, 255, 0.06), transparent 34rem),
    radial-gradient(circle at 12% 90%, rgba(255, 255, 255, 0.035), transparent 28rem),
    #050505;
}

.auth-stage:has(#signup-view:not(.hidden)) {
  grid-template-columns: minmax(320px, 1260px);
  width: min(100%, 1260px);
}

.auth-stage:has(#coach-pending-view:not(.hidden)),
.auth-stage:has(#checkout-success-view:not(.hidden)),
.auth-stage:has(#checkout-cancel-view:not(.hidden)) {
  grid-template-columns: minmax(280px, 560px);
  width: min(100%, 560px);
}

.auth-preview {
  display: grid;
  align-content: space-between;
  gap: 18px;
  min-height: 476px;
  padding: 22px;
  border: 1px solid #242424;
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 34%),
    #111111;
  box-shadow: var(--shadow);
}

.auth-preview-topline,
.auth-preview-player,
.auth-preview-metrics,
.auth-preview-list div,
.auth-row {
  display: flex;
  align-items: center;
}

.auth-preview-topline {
  justify-content: space-between;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.auth-preview-topline strong {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #343434;
  border-radius: 7px;
  background: #202020;
  color: var(--text);
  font-size: 14px;
  letter-spacing: 0;
}

.auth-preview-player {
  gap: 14px;
  padding: 14px;
  border: 1px solid #2b2b2b;
  border-radius: 8px;
  background: #181818;
}

.auth-preview-player img {
  width: 86px;
  height: 86px;
  flex: 0 0 auto;
  border-radius: 8px;
  object-fit: cover;
  filter: saturate(0.86) contrast(1.05);
}

.auth-preview-player span,
.auth-preview-metrics span {
  color: var(--quiet);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.auth-preview-player h2 {
  margin: 6px 0 4px;
  font-size: 22px;
  line-height: 1;
  letter-spacing: 0;
}

.auth-preview-player p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.auth-preview-metrics {
  gap: 7px;
}

.auth-preview-metrics div {
  display: grid;
  flex: 1;
  gap: 8px;
  min-height: 80px;
  padding: 12px;
  border: 1px solid #2d2d2d;
  border-radius: 8px;
  background: #1d1d1d;
}

.auth-preview-metrics strong {
  color: var(--text);
  font-size: 24px;
  line-height: 1;
}

.auth-preview-list {
  display: grid;
  gap: 6px;
}

.auth-preview-list div {
  display: grid;
  grid-template-columns: 16px 1fr auto;
  gap: 10px;
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: #191919;
}

.auth-preview-list span {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  background: var(--gold);
}

.auth-preview-list div:nth-child(2) span {
  background: #f28b82;
}

.auth-preview-list div:nth-child(3) span {
  background: #7fd1ae;
}

.auth-preview-list p {
  margin: 0;
  color: #d6d6d1;
  font-size: 13px;
}

.auth-preview-list strong {
  color: var(--muted);
  font-size: 13px;
}

.auth-panel {
  display: grid;
  width: 100%;
  min-height: 0;
  place-items: center;
}

.auth-card {
  position: relative;
  width: 100%;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.5);
}

.verification-card {
  display: grid;
  gap: 18px;
}

.verification-email-card {
  display: grid;
  gap: 6px;
  padding: 16px;
  border: 1px solid #303030;
  border-radius: 8px;
  background: #181818;
  text-align: center;
}

.verification-email-card span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.verification-email-card strong {
  color: var(--text);
  font-size: 16px;
  overflow-wrap: anywhere;
}

.verification-actions {
  display: grid;
  gap: 10px;
}

.auth-card-header {
  display: grid;
  gap: 6px;
  margin-bottom: 24px;
  text-align: center;
}
.auth-card-logo {
  width: 54px;
  height: 54px;
  object-fit: contain;
  justify-self: center;
  margin-bottom: 10px;
}


.auth-card-header h2 {
  margin: 0;
  color: var(--text);
  font-size: 26px;
  line-height: 1;
  letter-spacing: 0;
}

.auth-card-header p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.auth-form {
  display: grid;
  gap: 14px;
}

.signup-form {
  margin-top: 16px;
}

.application-form {
  max-height: min(58vh, 560px);
  overflow: auto;
  padding-right: 8px;
}

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

.auth-form > label,
.auth-name-grid label {
  display: grid;
  gap: 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.auth-form input,
.auth-form select {
  display: block;
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid #353535;
  border-radius: 7px;
  outline: 0;
  background: #262626;
  color: var(--text);
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none;
}

.auth-form input[readonly] {
  color: var(--muted);
}

.signup-dob-helper {
  color: var(--muted);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
}

.auth-check {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.auth-check input {
  width: 15px;
  height: 15px;
  min-height: 15px;
  padding: 0;
  border-radius: 4px;
  accent-color: var(--gold);
}

.auth-row {
  justify-content: space-between;
  gap: 16px;
}

.auth-link {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text);
  font-size: 12px;
  font-weight: 800;
}

.auth-form input:focus,
.auth-form select:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 2px rgba(244, 241, 234, 0.12);
}

.auth-primary,
.auth-secondary {
  width: 100%;
  min-height: 42px;
  border-radius: 7px;
  font-weight: 800;
}

.auth-primary {
  margin-top: 2px;
  border: 1px solid var(--blue);
  background: var(--blue);
  color: #101010;
}

.auth-primary:hover,
.auth-secondary:hover,
.auth-link:hover {
  color: var(--gold);
}

.auth-primary:hover {
  border-color: #ffffff;
  background: #ffffff;
  color: #101010;
}

.auth-secondary {
  border: 1px solid #353535;
  background: #262626;
  color: var(--text);
}

.auth-secondary:hover {
  border-color: #555555;
  background: #303030;
}

.auth-text-button {
  justify-self: center;
  width: auto;
  min-height: 0;
  margin-top: 2px;
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.auth-text-button:hover {
  color: var(--text);
}

.auth-signup-cta {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.auth-signup-cta span {
  color: var(--quiet);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

.auth-switch {
  margin: 18px 0 0;
  color: var(--quiet);
  font-size: 13px;
  text-align: center;
}

.auth-switch button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text);
  font-weight: 800;
}

.signup-card {
  width: 100%;
}

.auth-card-back {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 2;
  margin: 0;
}

.auth-card:has(.auth-card-back) .auth-card-header {
  padding-top: 14px;
}


.signup-page-shell {
  position: relative;
  display: grid;
  gap: clamp(18px, 2.4vh, 26px);
  width: min(100%, 1260px);
  padding: clamp(28px, 3.4vw, 40px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 28%),
    #0d0d0d;
  box-shadow: 0 34px 110px rgba(0, 0, 0, 0.62);
}

.signup-page-back {
  position: absolute;
  top: 24px;
  left: 24px;
  margin: 0;
  opacity: 0.78;
}

.signup-page-header {
  display: grid;
  justify-items: center;
  gap: 10px;
  max-width: 680px;
  margin: 0 auto;
  text-align: center;
}

.signup-page-logo {
  width: 52px;
  height: 52px;
  margin: 0 0 4px;
}

.signup-page-header span {
  color: #a9a9a3;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.signup-page-header h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(46px, 5.1vw, 70px);
  line-height: 0.92;
  letter-spacing: 0;
  text-transform: uppercase;
}

.signup-page-header p {
  margin: 0;
  color: #b9b9b4;
  font-size: 15px;
  line-height: 1.35;
}

.auth-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
}

.signup-stepper {
  width: min(100%, 820px);
  justify-self: center;
}

.auth-progress span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 30px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #73736e;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.auth-progress span:not(:last-child)::after {
  content: "";
  position: absolute;
  left: calc(50% + 78px);
  right: calc(-50% + 78px);
  top: 50%;
  height: 1px;
  background: #343434;
}

.auth-progress b {
  display: grid;
  width: 23px;
  height: 23px;
  place-items: center;
  border: 1px solid #3a3a3a;
  border-radius: 50%;
  background: #161616;
  color: #8e8e89;
  font-size: 10px;
  line-height: 1;
}

.auth-progress span.active,
.auth-progress.complete span {
  color: #fff;
}

.auth-progress span.active b,
.auth-progress.complete span b {
  border-color: #f2f2f2;
  background: #f2f2f2;
  color: #090909;
}

.player-signup-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.85fr) minmax(340px, 0.95fr);
  gap: clamp(24px, 3vw, 34px);
  align-items: start;
}

.player-signup-form-panel,
.membership-summary-card {
  border: 1px solid #2d2d2d;
  border-radius: 12px;
  background: #151515;
  box-shadow: 0 20px 70px rgba(0, 0, 0, 0.25);
}

.player-signup-form-panel {
  gap: 16px;
  padding: clamp(24px, 3vw, 32px);
}

.player-signup-form-panel.auth-form input {
  min-height: 50px;
  padding: 0 16px;
  border-color: #3a3a3a;
  background: #242424;
  font-size: 15px;
}

.player-signup-form-panel .auth-name-grid {
  gap: 18px;
}

.signup-submit-button.auth-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 56px;
  margin-top: 4px;
  border-color: #f2f2f2;
  background: #f2f2f2;
  color: #090909;
  font-size: 14px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.signup-submit-button span {
  font-size: 18px;
  line-height: 1;
}

.signup-note.auth-note {
  min-height: 18px;
  margin: -4px 0 0;
}

.membership-summary-card {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: clamp(24px, 3vw, 32px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 30%),
    #111;
}

.membership-summary-card > span {
  color: #9b9b95;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.membership-summary-card h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(26px, 2.6vw, 34px);
  line-height: 0.98;
  text-transform: uppercase;
}

.membership-summary-card strong {
  color: #fff;
  font-size: clamp(42px, 4.3vw, 58px);
  line-height: 0.9;
}

.membership-summary-card p {
  margin: 0;
  color: #b7b7b1;
  font-size: 14px;
  line-height: 1.5;
}

.membership-summary-badge {
  display: inline-flex;
  width: fit-content;
  min-height: 30px;
  align-items: center;
  padding: 0 12px;
  border: 1px solid #3a3a3a;
  border-radius: 999px;
  background: #f2f2f2;
  color: #080808 !important;
  font-size: 10px !important;
  font-weight: 950;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.membership-summary-list {
  display: grid;
  gap: 10px;
  margin: 2px 0 4px;
  padding: 0;
  list-style: none;
}

.membership-summary-list li {
  position: relative;
  padding-left: 28px;
  color: #ededeb;
  font-size: 14px;
  font-weight: 850;
}

.membership-summary-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: -1px;
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 1px solid #464646;
  border-radius: 50%;
  color: #fff;
  font-size: 10px;
}

.membership-secure-note {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 8px;
  padding-top: 18px;
  border-top: 1px solid #303030;
  color: #999;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.35;
  text-transform: uppercase;
}

.membership-secure-note span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid #3a3a3a;
  border-radius: 7px;
  color: #fff;
  font-size: 12px;
}

.auth-inline-switch {
  margin: 4px 0 0;
  color: var(--quiet);
  font-size: 13px;
  text-align: center;
}

.auth-inline-switch button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font-weight: 900;
}

@media (min-width: 761px) and (max-height: 1100px) {
  .auth-shell:has(#signup-view:not(.hidden)) {
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .signup-page-shell {
    gap: 12px;
    padding: 18px 36px;
  }

  .signup-page-logo {
    width: 38px;
    height: 38px;
  }

  .signup-page-header {
    gap: 4px;
  }

  .signup-page-header h2 {
    font-size: clamp(42px, 3.6vw, 52px);
  }

  .signup-page-header p {
    font-size: 14px;
  }

  .auth-progress span {
    min-height: 28px;
  }

  .player-signup-form-panel,
  .membership-summary-card {
    padding: 18px 22px;
  }

  .player-signup-form-panel {
    gap: 12px;
  }

  .player-signup-form-panel.auth-form input {
    min-height: 50px;
  }

  .signup-submit-button.auth-primary {
    min-height: 52px;
  }

  .membership-summary-card {
    gap: 9px;
  }

  .membership-summary-card strong {
    font-size: clamp(34px, 3.5vw, 46px);
  }

  .membership-summary-list {
    gap: 6px;
  }

  .membership-summary-list li {
    font-size: 13px;
  }

  .membership-secure-note {
    margin-top: 2px;
    padding-top: 12px;
  }
}

@media (min-width: 761px) and (min-height: 760px) and (max-height: 1100px) {
  .auth-shell:has(#signup-view:not(.hidden)) {
    align-items: center;
  }
}


@media (max-width: 760px) {
  .auth-shell:has(#signup-view:not(.hidden)) {
    padding: 48px 12px 28px;
  }

  .auth-stage:has(#signup-view:not(.hidden)) {
    width: 100%;
  }

  .signup-page-shell {
    gap: 24px;
    padding: 48px 18px 22px;
    border-radius: 12px;
  }

  .signup-page-back {
    top: 14px;
    left: 14px;
  }

  .signup-page-logo {
    width: 54px;
    height: 54px;
  }

  .signup-page-header h2 {
    font-size: 42px;
  }

  .signup-stepper {
    grid-template-columns: 1fr;
    gap: 8px;
    justify-self: stretch;
  }

  .auth-progress span {
    justify-content: flex-start;
    min-height: 34px;
  }

  .auth-progress span:not(:last-child)::after {
    display: none;
  }

  .player-signup-layout {
    grid-template-columns: 1fr;
  }

  .membership-summary-card {
    order: -1;
  }

  .player-signup-form-panel .auth-name-grid {
    grid-template-columns: 1fr;
  }

  .signup-submit-button.auth-primary {
    min-height: 58px;
  }
}

.auth-back {
  width: 36px;
  height: 36px;
  margin-bottom: 4px;
  border: 1px solid #353535;
  border-radius: 7px;
  background: #262626;
  color: var(--text);
  font-size: 22px;
  line-height: 1;
}

.signup-options {
  display: grid;
  gap: 10px;
}

.signup-option {
  display: grid;
  gap: 5px;
  min-height: 82px;
  padding: 14px;
  border: 1px solid #343434;
  border-radius: 8px;
  background: #202020;
  color: var(--text);
  text-align: left;
}

.signup-option:hover,
.signup-option.selected {
  border-color: var(--blue);
  background: #292929;
}

.signup-option span {
  font-size: 18px;
  font-weight: 850;
}

.signup-option strong {
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.35;
}

.auth-note {
  min-height: 18px;
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.auth-message {
  min-height: 18px;
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
  text-align: center;
}

.auth-message[data-type="error"],
.auth-note[data-type="error"] {
  color: var(--danger);
}

.auth-message[data-type="info"],
.auth-note[data-type="info"] {
  color: var(--muted);
}

.app-shell {
  display: grid;
  min-width: 1180px;
  height: 100vh;
  height: 100dvh;
  grid-template-columns: 240px minmax(900px, 1fr);
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: var(--app);
  box-shadow: none;
}

.sidebar {
  position: relative;
  z-index: 140;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 0;
  padding: 16px 14px;
  overflow: hidden;
  border-right: 1px solid color-mix(in srgb, var(--team-sidebar-bg) 72%, #ffffff 10%);
  background: var(--team-sidebar-bg);
  color: var(--team-sidebar-text);
}

.sidebar-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  min-width: 0;
}

.vault-mark {
  display: grid;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.vault-mark img {
  display: block;
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.brand-collab-x {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  color: color-mix(in srgb, var(--team-sidebar-text) 88%, #ffffff);
  font-size: 13px;
  font-weight: 300;
  line-height: 1;
  text-transform: uppercase;
}

.sidebar-brand .school-logo {
  display: block;
  width: auto;
  max-width: 126px;
  height: 34px;
  object-fit: contain;
  object-position: left center;
}

html.organization-dashboard-account .sidebar-brand {
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  width: 100%;
}

html.organization-dashboard-account .vault-mark {
  flex-basis: 34px;
  width: 34px;
  height: 34px;
}

html.organization-dashboard-account .vault-mark img {
  width: 30px;
  height: 30px;
}

html.organization-dashboard-account .sidebar-brand .school-logo {
  max-width: 66px;
  height: 32px;
  object-position: center;
}

.main-nav,
.secondary-nav {
  display: grid;
  gap: 6px;
}

.main-nav {
  margin-top: 2px;
}

.secondary-nav {
  margin-top: 2px;
}

html.guest-account .sidebar {
  gap: 12px;
}

.nav-item {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid transparent;
  border-radius: var(--button-radius);
  background: transparent;
  color: var(--team-sidebar-text);
  font-size: 13px;
  font-weight: 750;
  text-align: left;
}

.nav-item:hover,
.nav-item.active {
  border-color: color-mix(in srgb, var(--team-secondary-color) 22%, transparent);
  background: color-mix(in srgb, var(--team-secondary-color) 14%, transparent);
  color: var(--team-secondary-color);
}

html:not(.organization-dashboard-account) .nav-item.active {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

html:not(.organization-dashboard-account) .nav-item.active:hover {
  color: #ffffff;
}

.icon {
  display: grid;
  width: 20px;
  place-items: center;
  color: currentColor;
}

.nav-icon {
  display: grid;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  place-items: center;
}

.nav-item.organization-nav .nav-icon {
  mask-size: 20px 20px;
  -webkit-mask-size: 20px 20px;
}

.nav-icon img {
  display: block;
  width: 14px;
  height: 14px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.82;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.nav-item:hover .nav-icon img,
.nav-item.active .nav-icon img {
  opacity: 1;
}

.folder-section {
  border-top: 1px solid color-mix(in srgb, var(--team-sidebar-text) 28%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--team-sidebar-text) 28%, transparent);
  padding: 16px 0 14px;
}

.section-heading,
.list-meta,
.player-title-row,
.profile-actions,
.info-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.section-heading h2 {
  margin: 0;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--team-sidebar-text) 72%, transparent);
}

.icon-button,
.small-action {
  border: 1px solid var(--line);
  border-radius: var(--button-radius);
  background: var(--button-bg);
}

.icon-button {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  color: var(--button-text);
  font-size: 18px;
  font-weight: 850;
  line-height: 1;
}

.icon-button:hover,
.small-action:hover {
  border-color: color-mix(in srgb, var(--team-secondary-color) 26%, var(--button-border));
  background: var(--button-bg-hover);
}

.ghost-button img {
  display: block;
  width: var(--icon-size);
  height: var(--icon-size);
  object-fit: contain;
}

.folder-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  margin: 12px 0 8px;
}

.folder-color-picker {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 9px;
  min-height: 34px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #262626;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.folder-color-picker input[type="hidden"],
.folder-edit-panel input[type="hidden"] {
  display: none;
}

.folder-swatch-picker {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(7, 20px);
  align-items: center;
  justify-content: start;
  gap: 6px;
}

.folder-color-swatch {
  position: relative;
  display: inline-grid;
  width: 20px;
  height: 20px;
  place-items: center;
  flex: 0 0 20px;
  border: 1px solid #444;
  border-radius: 999px;
  padding: 0;
  background: #121212;
  cursor: pointer;
}

.folder-color-swatch span {
  display: block;
  width: 12px;
  height: 12px;
  border: 1px solid rgba(0, 0, 0, 0.18);
  border-radius: 999px;
  background: var(--swatch-color);
}

.folder-color-swatch.active {
  border-color: #f2f2f2;
  box-shadow: 0 0 0 1px #0b0b0b, 0 0 0 3px rgba(242, 242, 242, 0.28);
}

.folder-color-swatch.active:not([data-tooltip])::after {
  display: none;
}

.folder-color-swatch:hover,
.folder-color-swatch:focus-visible {
  border-color: #f2f2f2;
  outline: 0;
}

.folder-color-swatch[data-tooltip]::after {
  max-width: 120px;
  padding: 6px 8px;
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Kept for compatibility if old markup is cached briefly. */
.folder-colors {
  display: none;
  grid-column: 1 / -1;
  gap: 8px;
}

.folder-colors button {
  width: 22px;
  height: 22px;
  border: 2px solid transparent;
  border-radius: 999px;
  background: var(--swatch);
}

.folder-colors button.selected {
  border-color: #f4f1ea;
  box-shadow: 0 0 0 2px #2f2f2f;
}

.folder-form input,
.panel-search input,
.global-search input {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text);
}

.panel-search input[type="search"],
.global-search input[type="search"] {
  padding-right: 4px;
}

.panel-search input[type="search"]::-webkit-search-cancel-button,
.global-search input[type="search"]::-webkit-search-cancel-button {
  width: 14px;
  height: 14px;
  margin-left: 12px;
  cursor: pointer;
  opacity: 1;
  appearance: none;
  -webkit-appearance: none;
  background: #fff;
  mask: linear-gradient(45deg, transparent 43%, #000 43% 57%, transparent 57%),
    linear-gradient(-45deg, transparent 43%, #000 43% 57%, transparent 57%);
  -webkit-mask: linear-gradient(45deg, transparent 43%, #000 43% 57%, transparent 57%),
    linear-gradient(-45deg, transparent 43%, #000 43% 57%, transparent 57%);
}

.folder-form input {
  height: 34px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel-field);
}

.small-action {
  height: 36px;
  color: #dce2ea;
}

.hidden {
  display: none !important;
}

.folder-list {
  display: grid;
  gap: 6px;
  margin-top: 14px;
  overflow: auto;
}

.folder-row {
  position: relative;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: var(--button-radius);
  color: var(--team-sidebar-text);
  font-size: 13px;
  font-weight: 750;
}

.folder-row:hover {
  border-color: color-mix(in srgb, var(--team-secondary-color) 18%, transparent);
  background: color-mix(in srgb, var(--team-secondary-color) 9%, transparent);
}

.folder-row .folder-icon {
  display: grid;
  width: 19px;
  height: 19px;
  place-items: center;
  background: var(--folder-color, var(--gold));
  mask: url("icons/folder-svgrepo-com copy.svg") center / contain no-repeat;
  -webkit-mask: url("icons/folder-svgrepo-com copy.svg") center / contain no-repeat;
}

.folder-row .folder-icon img {
  display: none;
}

.folder-board h2::before {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 3px;
  background: var(--folder-color, var(--gold));
}

.folder-row .count {
  min-width: 18px;
  color: color-mix(in srgb, var(--team-sidebar-text) 82%, #ffffff);
  font-size: 12px;
  font-weight: 850;
  text-align: right;
}

.save-button,
.share-button {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--line-strong);
  border-radius: 7px;
  background: var(--panel-lift);
  font-weight: 750;
}

.workspace {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  min-height: 0;
  padding: 14px;
  overflow: hidden;
  background: #111111;
}

.topbar {
  position: relative;
  z-index: 80;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 52px;
  margin: -14px -14px 0;
  padding: 10px 18px;
  border: 0;
  border-bottom: 4px solid var(--team-header-border);
  border-radius: 0;
  background: var(--team-header-bg);
  color: var(--team-header-text);
}

.brand-lockup {
  display: flex;
  grid-column: 1;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.brand-logo {
  display: block;
  width: min(260px, 100%);
  max-height: 36px;
  object-fit: contain;
  object-position: left center;
}

.brand {
  font-size: 25px;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.18);
}

.tagline {
  margin-top: -2px;
  color: #979fa9;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.34em;
  text-transform: uppercase;
}

.global-search,
.panel-search {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #343434;
  border-radius: 7px;
  background: #2a2a2a;
  color: var(--muted);
}

.top-actions {
  display: flex;
  grid-column: 2;
  justify-self: end;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.top-folder-picker {
  position: relative;
}

.account-menu {
  position: relative;
}

.ghost-button,
.filter-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--button-height);
  padding: 0 14px;
  border: 1px solid var(--button-border);
  border-radius: var(--button-radius);
  background: var(--button-bg);
  color: var(--button-text);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.ghost-button:hover,
.filter-button:hover {
  background: var(--button-bg-hover);
  border-color: #444;
}

.filter-button.active {
  border-color: #f4f4f4;
  background: #2f2f2f;
  color: #ffffff;
}

.filter-button-icon {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linejoin: round;
}

.filter-button span {
  display: inline-flex;
  align-items: center;
}

.profile-menu {
  display: grid;
  grid-template-columns: 44px auto 16px;
  grid-template-rows: auto auto;
  column-gap: 12px;
  align-items: center;
  min-width: 150px;
  border: 0;
  background: transparent;
  color: var(--team-header-text);
  text-align: left;
}

.profile-menu span:first-child {
  display: grid;
  width: 40px;
  height: 40px;
  grid-row: span 2;
  place-items: center;
  border-radius: 50%;
  background: #323232;
  font-weight: 800;
}

.profile-menu strong {
  font-size: 14px;
}

.profile-menu small {
  color: var(--team-header-muted);
}

.profile-menu .chevron {
  grid-column: 3;
  grid-row: 1 / 3;
  color: var(--team-header-muted);
}

.account-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 120;
  display: grid;
  width: 180px;
  padding: 6px;
  border: 1px solid #333333;
  border-radius: 8px;
  background: #1b1b1b;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.42);
}

.account-dropdown button {
  min-height: 36px;
  padding: 0 10px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--text);
  font-size: 13px;
  font-weight: 700;
  text-align: left;
}

.account-dropdown button:hover {
  background: #292929;
}

.account-dropdown button:last-child {
  color: #f2c3c3;
}

.content-grid {
  display: grid;
  grid-template-columns: minmax(600px, 0.94fr) minmax(480px, 0.86fr);
  gap: 0;
  min-height: 0;
  height: calc(100% - 14px);
  margin-top: 14px;
  border: 1px solid #282828;
  border-radius: 10px;
  overflow: hidden;
  background: #121212;
  box-shadow: none;
}

.content-grid:not(.profile-open) {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.28fr);
}

.content-grid.guest-vault-list-only {
  grid-template-columns: minmax(0, 1fr);
}

.content-grid.guest-vault-list-only .search-panel {
  border-right: 0;
}

.content-grid.profile-open {
  grid-template-columns: minmax(390px, 0.76fr) minmax(0, 1.24fr);
}

.content-grid.profile-open .search-panel {
  min-width: 0;
  padding: 12px;
}

.content-grid.profile-open .panel-header {
  grid-template-columns: minmax(0, 1fr) auto;
}

.content-grid.profile-open .panel-search {
  min-width: 0;
  min-height: 36px;
  padding: 0 10px;
}

.content-grid.profile-open .filter-button {
  width: 42px;
  min-width: 42px;
  padding: 0;
  font-size: 0;
}

.content-grid.profile-open .filter-button::after {
  content: none;
}

.content-grid.profile-open .filter-button span {
  display: none;
}

.content-grid.profile-open .filter-button-icon {
  width: 16px;
  height: 16px;
  flex-basis: 16px;
}

.content-grid.profile-open .filters,
.content-grid.profile-open .search-panel.filters-open .filters {
  display: none;
}

.content-grid.profile-open .player-card {
  grid-template-columns: 70px minmax(0, 1fr) 28px;
  gap: 10px;
  min-height: 88px;
  padding: 8px 10px 8px 8px;
}

.content-grid.profile-open .player-photo {
  width: 70px;
  height: 70px;
}

.content-grid.profile-open .player-summary {
  padding-top: 2px;
}

.content-grid.profile-open .player-summary h3 {
  font-size: 15px;
}

.content-grid.profile-open .player-role {
  overflow: hidden;
  font-size: 9px;
  letter-spacing: 0.08em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.content-grid.profile-open .player-basics {
  font-size: 11px;
}

.folders-page {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  min-height: 0;
  margin-top: 14px;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #121212;
  box-shadow: none;
}

.bookmark-action-icon {
  display: block;
  background: currentColor;
  mask: url("icons/bookmark-svgrepo-com.svg") center / contain no-repeat;
  -webkit-mask: url("icons/bookmark-svgrepo-com.svg") center / contain no-repeat;
}

.control-center-page {
  display: grid;
  min-height: 0;
  margin-top: 14px;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #121212;
}

.account-page {
  min-height: 0;
  margin-top: 14px;
  padding: 14px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #121212;
}

.account-page:has(.player-profile-showcase) {
  display: grid;
  overflow: auto;
}

.account-shell {
  display: grid;
  gap: 14px;
  max-width: none;
}

.account-header,
.account-section {
  padding: 18px;
  border: 1px solid #2f2f2f;
  border-radius: 8px;
  background: #191919;
}

.account-header span,
.account-section span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.account-header h1,
.account-section h2 {
  margin: 6px 0;
  color: var(--text);
  letter-spacing: 0;
}

.account-header p,
.account-section p {
  max-width: 620px;
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.settings-action-button {
  width: min(100%, 260px);
  min-height: 42px;
  margin-top: 14px;
  border: 1px solid #3d3d3d;
  border-radius: 7px;
  background: #f4f1ea;
  color: #111;
  font-weight: 850;
}

.settings-action-button:hover {
  background: #ffffff;
}

.account-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.settings-shell {
  display: grid;
  gap: 16px;
  max-width: 1160px;
  margin: 0 auto;
}

.organization-page-shell {
  display: grid;
  gap: 18px;
  height: 100%;
  min-height: 0;
  padding: 18px 20px 26px;
  overflow: auto;
}

.organization-page-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.organization-page-title h1 {
  margin: 0;
  color: var(--text);
  font-size: 25px;
  line-height: 1;
  letter-spacing: 0;
}

.organization-page-title p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.organization-page-edit-button {
  min-height: 34px;
  border: 1px solid #343434;
  border-radius: 7px;
  padding: 0 18px;
  background: #202020;
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
}

.organization-page-edit-button:hover {
  border-color: color-mix(in srgb, var(--team-secondary-color) 68%, #3a3a3a);
  background: #262626;
}

.organization-hero,
.organization-panel,
.organization-info-card {
  border: 1px solid #2f2f2f;
  border-radius: 8px;
  background: #151515;
}

.organization-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr) 190px;
  grid-template-rows: auto auto;
  gap: 12px 26px;
  align-items: center;
  min-height: 0;
  padding: 18px 30px 16px;
  border-color: color-mix(in srgb, var(--team-secondary-color) 52%, #2f2f2f);
  background: var(--team-sidebar-bg);
  box-shadow:
    inset 0 -5px 0 var(--team-secondary-color),
    0 16px 45px rgba(0, 0, 0, 0.22);
}

.organization-hero::before {
  content: none;
}

.organization-hero-copy,
.organization-hero-logo {
  position: relative;
  z-index: 1;
}

.organization-hero span,
.organization-section-heading span,
.organization-info-card span,
.organization-invite-card span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.organization-hero .organization-hero-copy > span {
  color: #ffffff;
}

.organization-hero h2 {
  margin: 2px 0 4px;
  color: var(--text);
  font-size: clamp(30px, 3.4vw, 42px);
  line-height: 1;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.organization-hero p {
  margin: 0;
  color: color-mix(in srgb, var(--team-sidebar-text) 82%, #ffffff);
  font-size: 14px;
  line-height: 1.25;
}

.organization-hero-copy {
  display: grid;
  align-content: center;
  gap: 9px;
  min-width: 0;
}

.organization-meta-line,
.organization-detail-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px 10px;
  min-width: 0;
}

.organization-meta-line strong {
  color: color-mix(in srgb, var(--team-sidebar-text) 86%, #ffffff);
  font-size: 14px;
  font-weight: 800;
  min-width: 0;
}

.organization-meta-line i {
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--team-secondary-color);
  box-shadow: 0 0 16px color-mix(in srgb, var(--team-secondary-color) 80%, transparent);
}

.organization-detail-line b {
  color: var(--team-secondary-color);
  font-size: 15px;
  line-height: 1;
}

.organization-hero-logo {
  display: grid;
  place-items: center;
  width: 128px;
  height: 128px;
}

.organization-hero-logo-left {
  justify-self: start;
  grid-row: 1 / 3;
  align-self: start;
  border-radius: 16px;
  background: color-mix(in srgb, var(--team-sidebar-bg) 74%, rgba(255, 255, 255, 0.08));
}

.organization-hero-logo-right {
  justify-self: end;
  width: 148px;
  height: 148px;
  border: 1px solid color-mix(in srgb, var(--team-secondary-color) 50%, rgba(255, 255, 255, 0.2));
  border-radius: 18px;
  background: color-mix(in srgb, var(--team-sidebar-bg) 62%, rgba(255, 255, 255, 0.1));
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.28);
}

.organization-hero-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
}

.organization-hero-logo span {
  color: var(--text);
  font-size: 32px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.organization-hero-actions {
  display: grid;
  gap: 10px;
  justify-self: end;
  align-self: center;
  width: 100%;
  max-width: 174px;
}

.organization-hero-actions button {
  min-height: 40px;
  border: 1px solid color-mix(in srgb, var(--team-secondary-color) 65%, #3b3b3b);
  border-radius: 7px;
  background: color-mix(in srgb, var(--team-secondary-color) 42%, #202020);
  color: var(--text);
  font-weight: 900;
  padding-inline: 16px;
  text-align: center;
}

.organization-hero-stat-strip {
  position: relative;
  z-index: 1;
  grid-column: 2 / 3;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  align-self: end;
  max-width: 620px;
  padding-top: 10px;
  border-top: 1px solid color-mix(in srgb, var(--team-secondary-color) 36%, rgba(255, 255, 255, 0.15));
}

.organization-hero-stat {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 0 22px;
  border-left: 1px solid color-mix(in srgb, var(--team-secondary-color) 36%, rgba(255, 255, 255, 0.15));
}

.organization-hero-stat:first-child {
  padding-left: 0;
  border-left: 0;
}

.organization-hero-stat span {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  color: color-mix(in srgb, var(--team-sidebar-text) 82%, #ffffff);
  font-size: 16px;
  letter-spacing: 0;
}

.organization-hero-stat strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: #ffffff;
  font-size: 13px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.organization-hero-stat p {
  margin: 2px 0 0;
  color: color-mix(in srgb, var(--team-sidebar-text) 72%, #ffffff);
  font-size: 11px;
}

.organization-stats-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}

.organization-stat-card {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  grid-template-areas:
    "icon value"
    "icon label"
    "action action";
  gap: 2px 12px;
  align-items: center;
  min-height: 116px;
  padding: 18px;
  border: 1px solid #303030;
  border-radius: 8px;
  background: #171717;
}

.organization-stat-icon {
  grid-area: icon;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--team-secondary-color);
  color: var(--team-sidebar-color);
  font-size: 10px;
}

.organization-stat-icon::before {
  content: "";
  width: 17px;
  height: 17px;
  background: currentColor;
  border-radius: 50%;
}

.organization-stat-icon--bookmark::before {
  border-radius: 0;
  mask: url("icons/bookmark-svgrepo-com.svg") center / contain no-repeat;
  -webkit-mask: url("icons/bookmark-svgrepo-com.svg") center / contain no-repeat;
}

.organization-stat-icon--folder::before {
  width: 19px;
  height: 19px;
  border-radius: 0;
  mask: url("icons/folder-svgrepo-com copy.svg") center / contain no-repeat;
  -webkit-mask: url("icons/folder-svgrepo-com copy.svg") center / contain no-repeat;
}

.organization-stat-icon--organization::before {
  width: 18px;
  height: 18px;
  border-radius: 0;
  mask: url("icons/user-organization-svgrepo-com.svg") center / contain no-repeat;
  -webkit-mask: url("icons/user-organization-svgrepo-com.svg") center / contain no-repeat;
}

.organization-stat-icon--users::before {
  width: 18px;
  height: 18px;
  border-radius: 0;
  mask: url("icons/users-svgrepo-com.svg") center / contain no-repeat;
  -webkit-mask: url("icons/users-svgrepo-com.svg") center / contain no-repeat;
}

.organization-stat-card strong {
  grid-area: value;
  color: var(--text);
  font-size: 24px;
  line-height: 1;
}

.organization-stat-card span {
  grid-area: label;
  color: var(--muted);
  font-size: 13px;
}

.organization-stat-card p {
  grid-area: action;
  margin: 14px 0 0;
  color: color-mix(in srgb, var(--team-secondary-color) 78%, #ffffff);
  font-size: 12px;
  font-weight: 850;
}

.organization-activity-card {
  align-content: start;
  grid-column: span 2;
  min-height: 116px;
  max-height: 236px;
  overflow: hidden;
}

.organization-activity-card > strong {
  font-size: 16px;
}

.organization-activity-list {
  grid-area: action;
  display: grid;
  gap: 7px;
  margin-top: 10px;
  min-width: 0;
  max-height: 158px;
  overflow: auto;
  padding-right: 4px;
}

.organization-activity-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 10px;
  min-width: 0;
  padding-top: 7px;
  border-top: 1px solid #292929;
}

.organization-activity-item:first-child {
  padding-top: 0;
  border-top: 0;
}

.organization-activity-item strong {
  grid-column: 1;
  overflow: hidden;
  color: var(--text);
  font-size: 12px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.organization-activity-item p {
  grid-column: 1 / -1;
  margin: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.organization-activity-item span,
.organization-activity-empty {
  grid-column: 2;
  grid-row: 1;
  color: color-mix(in srgb, var(--team-secondary-color) 76%, #ffffff);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0;
  white-space: nowrap;
}

.organization-activity-empty {
  grid-column: 1 / -1;
  grid-row: auto;
  white-space: normal;
}

.organization-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.74fr) minmax(520px, 1.26fr);
  gap: 16px;
  align-items: start;
}

.organization-invite-card {
  display: grid;
  gap: 18px;
  align-content: start;
  min-height: 335px;
  padding: 18px;
  border: 1px solid #303030;
  border-radius: 8px;
  background: #171717;
}

.organization-invite-actions {
  display: grid;
  gap: 10px;
}

.organization-invite-fields {
  display: grid;
  gap: 8px;
}

.organization-invite-fields input,
.organization-invite-fields select {
  min-width: 0;
  min-height: 38px;
  border: 1px solid #333;
  border-radius: 7px;
  padding: 0 10px;
  background: #070707;
  color: var(--text);
  font: inherit;
}

.organization-invite-fields input:focus,
.organization-invite-fields select:focus {
  border-color: var(--team-secondary-color);
  outline: 0;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--team-secondary-color) 22%, transparent);
}

.organization-invite-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.organization-invite-link input {
  min-width: 0;
  min-height: 38px;
  border: 1px solid #333;
  border-radius: 7px;
  padding: 0 10px;
  background: #070707;
  color: var(--text);
}

.organization-pending-invites {
  display: grid;
  gap: 8px;
  margin-top: 6px;
  padding-top: 12px;
  border-top: 1px solid #2d2d2d;
}

.organization-pending-invites > strong {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.organization-pending-invite {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  border: 1px solid #2c2c2c;
  border-radius: 7px;
  background: #101010;
}

.organization-pending-invite span {
  color: var(--text);
  font-size: 13px;
  font-weight: 850;
}

.organization-pending-invite em,
.organization-pending-invite small {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
}

.organization-pending-invite-meta,
.organization-pending-invite-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.organization-pending-invite-actions button {
  min-height: 28px;
  border: 1px solid #343434;
  border-radius: 6px;
  padding: 0 9px;
  background: #1d1d1d;
  color: var(--text);
  font-size: 11px;
  font-weight: 850;
}

.organization-pending-invite-actions button:hover {
  border-color: #555;
  background: #252525;
}

.organization-invite-card button,
.organization-invite-link button {
  min-height: 44px;
  border: 1px solid color-mix(in srgb, var(--team-secondary-color) 60%, #393939);
  border-radius: 7px;
  padding: 0 14px;
  background: color-mix(in srgb, var(--team-secondary-color) 56%, #202020);
  color: var(--text);
  font-weight: 850;
}

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

.organization-info-card {
  display: grid;
  gap: 8px;
  min-height: 86px;
  padding: 14px;
}

.organization-info-card strong {
  overflow-wrap: anywhere;
  color: var(--text);
  font-size: 19px;
  line-height: 1.1;
}

.organization-panel {
  display: grid;
  grid-template-rows: auto auto;
  align-content: start;
  gap: 14px;
  min-height: 335px;
  padding: 18px;
}

.organization-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #2a2a2a;
}

.organization-section-heading h2 {
  margin: 5px 0 0;
  font-size: 24px;
}

.organization-section-heading p {
  margin: 0;
  color: var(--muted);
}

.organization-coach-list {
  display: grid;
  gap: 10px;
}

.organization-coach-table {
  display: grid;
  gap: 8px;
}

.organization-coach-table-head,
.organization-coach-row {
  display: grid;
  grid-template-columns: minmax(150px, 1.2fr) minmax(128px, 0.8fr) minmax(130px, 1fr) 76px 86px;
  gap: 12px;
  align-items: center;
}

.organization-coach-table-head {
  padding: 0 10px;
}

.organization-coach-table-head span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.organization-coach-row {
  min-height: 62px;
  padding: 10px;
  border: 1px solid #2d2d2d;
  border-radius: 7px;
  background: #101010;
}

.organization-coach-person {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.organization-coach-person strong,
.organization-coach-row p {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.organization-coach-row p {
  margin: 0;
  color: var(--muted);
}

.organization-role-pill {
  justify-self: start;
  border-radius: 999px;
  padding: 5px 8px;
  background: color-mix(in srgb, var(--team-secondary-color) 32%, #222);
  color: var(--text);
  font-size: 11px;
  font-weight: 900;
}

.organization-status-dot {
  color: #8cf3a5;
  font-size: 12px;
  font-weight: 850;
}

.organization-coach-actions {
  display: flex;
  justify-content: flex-end;
}

.organization-coach-actions button {
  min-height: 30px;
  border: 1px solid #3a2a2a;
  border-radius: 6px;
  padding: 0 10px;
  background: #241717;
  color: #ffd4d4;
  font-size: 11px;
  font-weight: 850;
}

.organization-coach-actions span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.organization-coach-card {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 66px;
  padding: 12px;
  border: 1px solid #2c2c2c;
  border-radius: 8px;
  background: #101010;
}

.organization-coach-avatar {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid color-mix(in srgb, var(--team-secondary-color) 55%, #3a3a3a);
  border-radius: 50%;
  background: color-mix(in srgb, var(--team-secondary-color) 24%, #252525);
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
}

.organization-brand-preview {
  gap: 14px;
}

.organization-preview-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  border: 1px solid #333;
  border-radius: 8px;
  padding: 14px;
  background: #101010;
}

.organization-preview-sidebar {
  display: grid;
  gap: 9px;
  min-height: 170px;
  padding: 10px;
  border-radius: 7px;
  background: var(--team-sidebar-bg);
}

.organization-preview-logo {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin-bottom: 8px;
}

.organization-preview-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.organization-preview-logo span {
  color: var(--team-sidebar-text);
  font-weight: 950;
}

.organization-preview-sidebar > span {
  display: block;
  width: 34px;
  height: 5px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--team-sidebar-text) 70%, transparent);
}

.organization-preview-profile {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.organization-preview-photo {
  overflow: hidden;
  width: 72px;
  height: 72px;
  border-radius: 6px;
  background: #2a2a2a;
}

.organization-preview-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.organization-preview-profile strong {
  display: block;
  color: var(--text);
  font-size: 16px;
}

.organization-preview-profile p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.organization-preview-card button {
  grid-column: 1 / -1;
  min-height: 40px;
  border: 1px solid color-mix(in srgb, var(--team-secondary-color) 60%, #333);
  border-radius: 6px;
  background: color-mix(in srgb, var(--team-secondary-color) 46%, #202020);
  color: var(--text);
  font-weight: 900;
}

.organization-coach-card h3 {
  margin: 0;
  font-size: 17px;
}

.organization-coach-card p {
  margin: 4px 0 0;
  color: var(--muted);
}

.organization-coach-card > span {
  justify-self: end;
  border: 1px solid #333;
  border-radius: 999px;
  padding: 7px 10px;
  background: #1f1f1f;
  color: var(--text);
  font-size: 12px;
  font-weight: 850;
}

.organization-loading {
  margin: 0;
  color: var(--muted);
}

.organization-command-page {
  align-content: start;
  gap: 16px;
}

.organization-command-hero {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto;
  gap: 18px 28px;
  padding: 22px 26px;
  background: var(--team-sidebar-bg);
}

.organization-hero-main {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  min-width: 0;
}

.organization-command-hero .organization-hero-logo-left {
  grid-row: auto;
  width: 112px;
  height: 112px;
  align-self: center;
  background: color-mix(in srgb, var(--team-sidebar-text) 13%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--team-sidebar-text) 18%, transparent);
}

.organization-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, max-content));
  gap: 10px 24px;
  min-width: 0;
}

.organization-detail-line {
  display: grid;
  align-items: start;
  gap: 3px;
}

.organization-detail-line b {
  color: color-mix(in srgb, var(--team-sidebar-text) 72%, #ffffff);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.organization-command-hero .organization-hero-actions {
  justify-self: end;
  align-self: start;
  width: auto;
  max-width: none;
}

.organization-hero-edit-button {
  min-height: 34px;
  border-radius: 7px;
  padding: 0 18px;
  font-size: 13px;
}

.organization-command-hero .organization-hero-stat-strip {
  grid-column: 1 / -1;
  max-width: none;
  padding-top: 14px;
}

.organization-hero-stat-icon {
  position: relative;
  display: grid;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--team-secondary-color) 92%, #101010);
  color: var(--team-sidebar-color);
}

.organization-hero-stat-icon::before {
  content: "";
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: currentColor;
}

.organization-stats-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

button.organization-stat-card {
  width: 100%;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

button.organization-stat-card:hover {
  border-color: color-mix(in srgb, var(--team-secondary-color) 72%, #404040);
  background: #1c1c1c;
}

.organization-dashboard-grid {
  grid-template-columns: minmax(360px, 0.92fr) minmax(440px, 1.08fr) minmax(260px, 0.72fr);
  align-items: stretch;
}

.organization-focused-grid {
  grid-template-columns: minmax(620px, 1.35fr) minmax(360px, 0.65fr);
}

.organization-dashboard-grid > .organization-panel {
  min-height: 0;
}

.organization-activity-panel {
  grid-row: span 2;
  min-height: 468px;
}

.organization-coaches-panel {
  grid-column: span 2;
}

.organization-focused-grid .organization-coaches-panel {
  grid-column: auto;
  min-height: 430px;
}

.organization-focused-grid .organization-invite-card {
  min-height: 430px;
}

.organization-panel-copy {
  margin: -4px 0 2px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.organization-brand-panel {
  min-height: 230px;
}

.organization-section-heading button {
  min-height: 34px;
  border: 1px solid #343434;
  border-radius: 7px;
  padding: 0 12px;
  background: #202020;
  color: var(--text);
  font-weight: 850;
}

.organization-section-heading button:hover {
  border-color: color-mix(in srgb, var(--team-secondary-color) 62%, #444);
}

.organization-activity-panel .organization-activity-list {
  grid-area: auto;
  gap: 10px;
  max-height: none;
  overflow: auto;
  padding-right: 6px;
}

.organization-activity-panel .organization-activity-item {
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 11px 0 0;
}

.organization-activity-panel .organization-activity-item strong {
  font-size: 14px;
}

.organization-activity-panel .organization-activity-item p {
  margin-top: 2px;
  font-size: 12px;
  white-space: normal;
}

.organization-mini-list,
.organization-folder-list {
  display: grid;
  gap: 8px;
}

.organization-mini-player,
.organization-folder-row {
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 58px;
  border: 1px solid #2d2d2d;
  border-radius: 7px;
  padding: 9px 10px;
  background: #101010;
  color: var(--text);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.organization-mini-player {
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.organization-folder-row {
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.organization-mini-player:hover,
.organization-folder-row:hover {
  border-color: color-mix(in srgb, var(--team-secondary-color) 58%, #3a3a3a);
  background: #171717;
}

.organization-mini-photo {
  display: grid;
  place-items: center;
  overflow: hidden;
  width: 42px;
  height: 42px;
  border-radius: 6px;
  background: #272727;
}

.organization-mini-photo img,
.organization-brand-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.organization-mini-player strong,
.organization-folder-row strong,
.organization-brand-card strong {
  display: block;
  overflow: hidden;
  color: var(--text);
  font-size: 14px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.organization-mini-player em,
.organization-folder-row em,
.organization-brand-card p {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.organization-folder-dot {
  display: block;
  width: 22px;
  height: 16px;
  border-radius: 2px;
  background: var(--folder-color);
}

.organization-folder-dot::before {
  content: "";
  display: block;
  width: 12px;
  height: 5px;
  margin-top: -4px;
  border-radius: 2px 2px 0 0;
  background: var(--folder-color);
}

.organization-panel-footer,
.organization-pending-empty {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #2a2a2a;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.organization-pending-empty.empty-state {
  margin-top: 14px;
  border: 1px dashed var(--line-strong);
  color: var(--muted);
}

.organization-invite-card {
  min-height: 0;
}

.organization-brand-card {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-width: 0;
  border: 1px solid #2d2d2d;
  border-radius: 8px;
  padding: 12px;
  background: #101010;
}

.organization-brand-logo {
  display: grid;
  place-items: center;
  overflow: hidden;
  width: 64px;
  height: 64px;
  border-radius: 8px;
  background: var(--team-sidebar-bg);
}

.organization-brand-logo span {
  color: var(--team-sidebar-text);
  font-size: 18px;
  font-weight: 950;
  letter-spacing: 0;
}

.organization-brand-swatches {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.organization-brand-swatches span {
  display: grid;
  gap: 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}

.organization-brand-swatches span::before {
  content: "";
  display: block;
  height: 26px;
  border: 1px solid #343434;
  border-radius: 6px;
  background: var(--swatch-color);
}

.organization-edit-modal.hidden {
  display: none;
}

.organization-edit-modal {
  position: fixed;
  z-index: 80;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
}

.organization-edit-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(8px);
}

.organization-edit-card {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 18px;
  width: min(720px, 100%);
  max-height: min(760px, calc(100vh - 48px));
  overflow: auto;
  border: 1px solid #333;
  border-radius: 8px;
  padding: 20px;
  background: #151515;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
}

.organization-edit-header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #2b2b2b;
}

.organization-edit-header span,
.organization-edit-section > span,
.organization-edit-form label > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.organization-edit-header h2 {
  margin: 5px 0 0;
  color: var(--text);
  font-size: 26px;
}

.organization-edit-header p {
  margin: 6px 0 0;
  color: var(--muted);
}

.organization-edit-header button {
  display: grid;
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid #363636;
  border-radius: 7px;
  background: #202020;
  color: var(--text);
  font-size: 20px;
}

.organization-edit-form,
.organization-edit-section {
  display: grid;
  gap: 14px;
}

.organization-edit-grid,
.organization-edit-color-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.organization-edit-form label {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.organization-edit-form input[type="text"],
.organization-edit-form input[type="file"] {
  min-width: 0;
  min-height: 42px;
  border: 1px solid #343434;
  border-radius: 7px;
  padding: 0 11px;
  background: #080808;
  color: var(--text);
  font: inherit;
}

.organization-edit-form input:focus {
  border-color: var(--team-secondary-color);
  outline: 0;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--team-secondary-color) 22%, transparent);
}

.organization-edit-logo-row {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.organization-edit-logo-preview {
  display: grid;
  place-items: center;
  overflow: hidden;
  width: 96px;
  height: 96px;
  border: 1px solid color-mix(in srgb, var(--team-secondary-color) 40%, #333);
  border-radius: 12px;
  background: var(--team-sidebar-bg);
}

.organization-edit-logo-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 7px;
}

.organization-edit-logo-preview span {
  color: var(--team-sidebar-text);
  font-size: 24px;
  font-weight: 950;
}

.organization-edit-upload em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.organization-edit-color-grid input[type="color"] {
  width: 100%;
  height: 44px;
  border: 1px solid #343434;
  border-radius: 7px;
  padding: 4px;
  background: #080808;
}

.organization-edit-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 6px;
}

.organization-edit-actions button {
  min-height: 40px;
  border: 1px solid #343434;
  border-radius: 7px;
  padding: 0 16px;
  background: #202020;
  color: var(--text);
  font-weight: 850;
}

.organization-edit-actions button[type="submit"] {
  border-color: color-mix(in srgb, var(--team-secondary-color) 62%, #343434);
  background: color-mix(in srgb, var(--team-secondary-color) 48%, #202020);
}

.settings-header,
.settings-panel {
  border: 1px solid #2f2f2f;
  border-radius: 8px;
  background: #141414;
}

.settings-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px;
}

.settings-header span,
.settings-panel-heading span,
.settings-info-item span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.settings-header h1,
.settings-panel-heading h2 {
  margin: 6px 0;
  color: var(--text);
  letter-spacing: 0;
}

.settings-header h1 {
  font-size: 28px;
}

.settings-header p,
.settings-panel-heading p,
.settings-note,
.delete-confirmation p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.settings-panel {
  display: grid;
  gap: 16px;
  padding: 18px;
}

.settings-layout {
  display: grid;
  grid-template-columns: minmax(190px, 0.28fr) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.settings-nav-panel {
  position: sticky;
  top: 18px;
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid #2f2f2f;
  border-radius: 8px;
  background: #141414;
}

.settings-nav-panel > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.settings-section-nav {
  display: grid;
  gap: 6px;
}

.settings-section-nav a {
  display: flex;
  align-items: center;
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.settings-section-nav a:hover,
.settings-section-nav a:focus-visible {
  border-color: #343434;
  background: #202020;
  color: var(--text);
  outline: 0;
}

.settings-content-stack {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.settings-subsection {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.settings-panel-heading {
  display: grid;
  gap: 2px;
}

.settings-info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.settings-card-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.settings-mini-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid #303030;
  border-radius: 7px;
  background: #202020;
}

.settings-mini-card span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.settings-mini-card strong {
  display: block;
  min-width: 0;
  margin-top: 7px;
  overflow: hidden;
  color: #f4f1ea;
  font-size: 18px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-mini-card p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.settings-info-item {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid #303030;
  border-radius: 7px;
  background: #202020;
}

.settings-info-item strong {
  display: block;
  min-width: 0;
  margin-top: 6px;
  overflow: hidden;
  color: #f4f1ea;
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-action-row,
.settings-danger-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.settings-secondary-button,
.settings-danger-button {
  min-height: 38px;
  padding: 0 16px;
  border-radius: 7px;
  font-weight: 850;
}

.settings-secondary-button {
  border: 1px solid #353535;
  background: #242424;
  color: var(--text);
}

.settings-secondary-button:hover {
  border-color: #555;
  background: #2d2d2d;
}

.settings-danger-button {
  border: 1px solid rgba(255, 111, 111, 0.45);
  background: rgba(255, 111, 111, 0.1);
  color: #ffb2b2;
}

.settings-danger-button:hover,
.settings-danger-button.confirm {
  background: #ff6f6f;
  color: #111;
}

.settings-toggle-list {
  display: grid;
  gap: 10px;
}

.settings-toggle-list label,
.settings-checkbox-row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 10px 12px;
  border: 1px solid #303030;
  border-radius: 7px;
  background: #202020;
  color: #e8e8e2;
  font-weight: 700;
}

.settings-checkbox-row span {
  display: grid;
  gap: 3px;
}

.settings-checkbox-row strong {
  color: #f4f1ea;
  font-size: 14px;
}

.settings-checkbox-row em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.35;
}

.settings-toggle-list input,
.settings-checkbox-row input {
  accent-color: var(--blue);
}

.settings-divider {
  height: 1px;
  background: #303030;
}

.settings-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.settings-form-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.settings-form-grid input {
  width: 100%;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid #343434;
  border-radius: 7px;
  outline: 0;
  background: #202020;
  color: #f4f1ea;
  font-size: 14px;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

.settings-form-grid input:focus {
  border-color: #5a5a5a;
}

.settings-switch-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-height: 76px;
  padding: 14px;
  border: 1px solid #303030;
  border-radius: 8px;
  background: #202020;
  cursor: pointer;
}

.settings-switch-row span {
  display: grid;
  gap: 4px;
}

.settings-switch-row strong {
  color: #f4f1ea;
  font-size: 15px;
  font-weight: 900;
}

.settings-switch-row em {
  color: var(--muted);
  font-size: 13px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.35;
}

.settings-switch-row input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.settings-switch-row i {
  position: relative;
  display: block;
  width: 52px;
  height: 30px;
  border: 1px solid #3c3c3c;
  border-radius: 999px;
  background: #111111;
  transition: background 0.18s ease, border-color 0.18s ease;
}

.settings-switch-row i::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #8f8f89;
  transition: transform 0.18s ease, background 0.18s ease;
}

.settings-switch-row input:checked + i {
  border-color: var(--team-sidebar-bg);
  background: var(--team-sidebar-bg);
}

.settings-switch-row input:checked + i::after {
  transform: translateX(22px);
  background: #ffffff;
}

.danger-panel {
  border-color: rgba(255, 111, 111, 0.35);
}

.delete-confirmation {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(255, 111, 111, 0.35);
  border-radius: 8px;
  background: rgba(255, 111, 111, 0.07);
}

.delete-confirmation strong {
  color: #fff;
}

.player-profile-showcase {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  align-items: start;
  gap: 20px;
  width: 100%;
  min-height: 0;
  overflow: visible;
}

.player-showcase-identity,
.player-showcase-main {
  min-width: 0;
}

.player-showcase-identity {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

.showcase-photo {
  overflow: hidden;
  width: 100%;
  height: clamp(230px, 34vh, 285px);
  box-sizing: border-box;
  border: 1px solid #3c3c3c;
  border-radius: 14px 14px 0 0;
  background: #252525;
}

.showcase-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.96);
}

.showcase-identity-copy {
  display: grid;
  gap: 10px;
  margin-top: -12px;
  padding: 18px;
  border: 1px solid #3a3a3a;
  border-top: 0;
  border-radius: 0 0 14px 14px;
  background: linear-gradient(180deg, rgba(10, 10, 10, 0.92), #050505);
}

.showcase-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.showcase-title-row h1 {
  margin: 0;
  max-width: 240px;
  color: #fff;
  font-size: 30px;
  line-height: 1;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.showcase-identity-copy p {
  margin: 0;
  color: #cfcfca;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.showcase-verified-box {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  border: 1px solid var(--blue);
  border-radius: 10px;
  background: rgba(80, 166, 232, 0.12);
}

.showcase-verified-box strong {
  color: #a8d7ff;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.showcase-verified-box span,
.showcase-contact span {
  color: #eeeeea;
  font-size: 13px;
}

.showcase-contact {
  display: grid;
  gap: 5px;
  padding-top: 10px;
  border-top: 1px solid #292929;
}

.showcase-side-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid #3a3a3a;
  border-radius: 12px;
  background: #090909;
}

.showcase-side-card .info-card,
.showcase-side-card .info-card strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.player-showcase-main {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 12px;
  min-height: 0;
  overflow: visible;
}

.showcase-panel {
  min-width: 0;
  padding: 16px;
  border: 1px solid #3a3a3a;
  border-radius: 12px;
  background: #070707;
}

.compact-panel {
  min-height: 0;
}

.wide-panel {
  grid-column: 1 / -1;
}

.showcase-panel h2 {
  margin: 0 0 12px;
  color: #d7d7d2;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

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

.compact-info-grid {
  gap: 10px;
}

.pitching-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.showcase-panel .info-card {
  min-width: 0;
  min-height: 62px;
  padding: 12px 14px;
  border-color: #3b3b3b;
  border-radius: 9px;
  background: #050505;
}

.showcase-panel .info-card strong {
  color: #fff;
  font-size: 16px;
  overflow-wrap: anywhere;
  line-height: 1.2;
}

.showcase-metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 10px;
  margin-top: 0;
}

.showcase-metric {
  display: grid;
  place-items: center;
  min-height: 76px;
  padding: 12px;
  border: 1px solid #3b3b3b;
  border-radius: 10px;
  background: #050505;
}

.showcase-metric span {
  color: #969690;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.showcase-metric strong {
  color: #fff;
  font-size: 28px;
  line-height: 1;
}

.showcase-bio {
  margin: 10px 0 0;
  padding: 12px 14px;
  border: 1px solid #343434;
  border-radius: 9px;
  background: #050505;
  color: #e7e7e2;
  line-height: 1.35;
  font-size: 14px;
}

.showcase-link-list {
  display: grid;
  gap: 10px;
}

.showcase-link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid #3b3b3b;
  border-radius: 9px;
  background: #050505;
}

.showcase-link-row strong {
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.showcase-link-row span,
.showcase-link-row a {
  overflow: hidden;
  color: var(--muted);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  max-width: 52ch;
}

.showcase-link-row a {
  color: #a8d7ff;
  font-weight: 800;
}

.showcase-updated {
  grid-column: 1 / -1;
  margin: 0 4px 0 0;
  color: var(--muted);
  font-size: 11px;
  text-align: right;
}

.player-profile-showcase {
  grid-template-columns: minmax(460px, 520px) minmax(0, 1fr);
  gap: 14px;
  padding: 0;
}

.showcase-left-column {
  display: grid;
  align-content: start;
  gap: 14px;
  min-width: 0;
}

.showcase-hero {
  display: grid;
  grid-template-columns: minmax(210px, 255px) minmax(0, 1fr);
  align-items: stretch;
  min-width: 0;
  border: 1px solid #303030;
  border-radius: 10px;
  background: #080808;
  overflow: hidden;
}

.showcase-hero .player-showcase-identity {
  display: block;
  overflow: hidden;
}

.showcase-hero .showcase-photo {
  height: 100%;
  min-height: 360px;
  border: 0;
  border-radius: 0;
  background: #2a2a2a;
}

.showcase-hero .showcase-photo img {
  object-position: center top;
}

.showcase-hero .showcase-identity-copy {
  align-content: center;
  margin: 0;
  padding: 22px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.showcase-hero .showcase-title-row {
  align-items: flex-start;
}

.showcase-hero .showcase-title-row h1 {
  max-width: none;
  font-size: clamp(24px, 2.35vw, 38px);
  line-height: 1.02;
  word-break: normal;
  overflow-wrap: anywhere;
}

.showcase-identity-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}

.showcase-identity-meta span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.showcase-identity-meta span:not(:last-child)::after {
  content: "|";
  margin-left: 8px;
  color: #555;
}

.showcase-hero .showcase-contact {
  gap: 8px;
  margin-top: 14px;
  padding-top: 16px;
}

.showcase-hero .showcase-contact .showcase-detail-row {
  gap: 3px;
  padding: 0;
  border-bottom: 0;
}

.showcase-hero .showcase-contact .showcase-detail-row span {
  color: #8b8b85;
  font-size: 9px;
}

.showcase-hero .showcase-contact .showcase-detail-row strong {
  font-size: 14px;
}

.showcase-report-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin-top: 12px;
  padding: 0 14px;
  border: 1px solid #3b3b3b;
  border-radius: 7px;
  color: #f4f1ea;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.showcase-report-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.showcase-report-list .showcase-report-button {
  margin-top: 0;
}

.player-showcase-main {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.showcase-stat-rail {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(116px, 1fr));
  min-width: 0;
  border: 1px solid #303030;
  border-radius: 10px;
  background: #080808;
  overflow: hidden;
}

.showcase-stat-rail .showcase-metric {
  min-height: 74px;
  border: 0;
  border-right: 1px solid #262626;
  border-radius: 0;
  background: transparent;
}

.showcase-stat-rail .showcase-metric:last-child {
  border-right: 0;
}

.showcase-stat-rail .showcase-metric strong {
  font-size: 18px;
}

.showcase-panel {
  border-radius: 10px;
  background: #080808;
}

.showcase-panel h2 {
  position: relative;
  padding-left: 14px;
  color: #f1f1ed;
}

.showcase-panel h2::before {
  position: absolute;
  left: 0;
  top: 1px;
  width: 2px;
  height: 13px;
  border-radius: 999px;
  background: var(--blue);
  content: "";
}

.showcase-detail-list {
  display: grid;
}

.showcase-detail-row {
  display: grid;
  gap: 5px;
  padding: 11px 0;
  border-bottom: 1px solid #242424;
}

.showcase-detail-row:last-child {
  border-bottom: 0;
}

.showcase-detail-row span {
  color: #aaa9a3;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.showcase-detail-row strong {
  color: #f4f1ea;
  font-size: 15px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.showcase-panel .showcase-info-grid {
  grid-template-columns: 1fr;
  gap: 0;
}

.showcase-panel .info-card {
  min-height: 0;
  padding: 11px 0;
  border: 0;
  border-bottom: 1px solid #242424;
  border-radius: 0;
  background: transparent;
}

.showcase-panel .info-card:last-child {
  border-bottom: 0;
}

.showcase-metric-grid {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  margin-bottom: 12px;
}

.pitching-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 18px;
  margin-top: 10px;
}

.pitching-grid .info-card {
  border-bottom: 1px solid #242424;
}

.showcase-side-card.wide-panel {
  padding: 12px 16px;
}

.showcase-side-card.wide-panel .info-card {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.showcase-season-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #242424;
  border-radius: 8px;
}

.showcase-season-grid .showcase-metric {
  min-height: 84px;
  border: 0;
  border-right: 1px solid #242424;
  border-bottom: 1px solid #242424;
  border-radius: 0;
  background: #050505;
}

.showcase-season-grid .showcase-metric:nth-child(4n) {
  border-right: 0;
}

.showcase-season-grid .showcase-metric:nth-last-child(-n + 4) {
  border-bottom: 0;
}

.showcase-season-grid .showcase-metric strong {
  font-size: 24px;
}

.showcase-videos {
  grid-column: 1 / -1;
}

.showcase-video-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.showcase-video-card {
  overflow: hidden;
  min-width: 0;
  border: 1px solid #303030;
  border-radius: 8px;
  background: #050505;
  color: #f4f1ea;
  text-decoration: none;
}

button.showcase-video-card {
  display: grid;
  grid-template-rows: auto auto;
  width: 100%;
  padding: 0;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

button.showcase-video-card:hover {
  border-color: #555;
  background: #0a0a0a;
}

.showcase-video-card.is-empty {
  color: #777;
}

.showcase-video-card.is-processing {
  border-color: rgba(255, 255, 255, 0.24);
}

.showcase-video-card.is-failed {
  border-color: rgba(255, 79, 79, 0.42);
}

.showcase-video-thumb {
  position: relative;
  display: grid;
  aspect-ratio: 16 / 9;
  min-height: 0;
  place-items: center;
  border-bottom: 1px solid #242424;
  background: #151515;
}

.showcase-video-thumb video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.showcase-video-thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.showcase-video-thumb.has-preview::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.42));
  content: "";
}

.showcase-video-thumb span {
  position: relative;
  z-index: 1;
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 2px solid #f4f1ea;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.34);
  color: #f4f1ea;
  font-size: 17px;
}

.showcase-video-status {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 2;
  padding: 4px 7px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 5px;
  background: rgba(0, 0, 0, 0.76);
  color: #f5f5f2;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.showcase-video-status.is-failed {
  border-color: rgba(255, 79, 79, 0.5);
}

.showcase-video-copy {
  display: grid;
  gap: 5px;
  padding: 12px 14px;
}

.showcase-video-copy strong {
  color: #f4f1ea;
  font-size: 14px;
}

.showcase-video-copy small {
  color: var(--muted);
  font-size: 12px;
}

body.modal-open {
  overflow: hidden;
}

.video-modal.hidden {
  display: none;
}

.video-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 24px;
}

.video-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(8px);
}

.video-modal-card {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
  width: min(1040px, 92vw);
  max-height: 88vh;
  padding: 16px;
  border: 1px solid #343434;
  border-radius: 10px;
  background: #0b0b0b;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.58);
}

.video-modal-card h2 {
  margin: 0;
  padding-right: 48px;
  color: #f4f1ea;
  font-size: 14px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.video-modal-status {
  min-height: 16px;
  margin: -8px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.video-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  display: grid;
  width: var(--button-height);
  height: var(--button-height);
  place-items: center;
  border: 1px solid var(--button-border);
  border-radius: var(--button-radius);
  background: var(--button-bg);
  color: #f4f1ea;
  font-size: 24px;
  line-height: 1;
}

.video-modal-close:hover {
  border-color: #5a5a5a;
  background: #303030;
}

.video-modal-card video {
  width: 100%;
  max-height: 72vh;
  border: 1px solid #242424;
  border-radius: 8px;
  background: #000;
}

.confirm-modal.hidden {
  display: none;
}

.membership-feedback-modal.hidden { display: none; }
.membership-feedback-modal { position:fixed; inset:0; z-index:221; display:grid; place-items:center; padding:20px; }
.membership-feedback-card { position:relative; z-index:1; display:grid; gap:14px; width:min(460px,92vw); padding:24px; border:1px solid #343434; border-radius:10px; background:#111; box-shadow:0 24px 70px rgba(0,0,0,.55); }
.membership-feedback-card h2 { margin:0; color:#f4f1ea; font-size:22px; font-weight:600; letter-spacing:-.02em; }
.membership-feedback-card > p { margin:0; color:#bdbdb7; font-size:14px; line-height:1.55; }
.membership-feedback-card fieldset { display:grid; gap:8px; margin:2px 0 0; padding:0; border:0; }
.membership-feedback-card legend { margin-bottom:10px; color:#e8e8e3; font-size:14px; font-weight:600; }
.membership-feedback-card legend span { color:#a7a7a1; font-weight:400; }
.membership-feedback-card label { display:flex; align-items:center; gap:10px; min-height:38px; color:#d8d8d3; font-size:14px; cursor:pointer; }
.membership-feedback-card input { width:17px; height:17px; accent-color:#e8e8e2; }
.membership-cancel-confirm { color:#d6b1b1; border-color:#553c3c; }
#settings-view .membership-panel { gap:16px; }
#settings-view .membership-status-copy { display:grid; gap:5px; padding:16px; border:1px solid #303030; border-radius:7px; background:#1c1c1c; }
#settings-view .membership-status-copy strong { color:#f0f0eb; font-size:15px; font-weight:600; }
#settings-view .membership-status-copy p { margin:0; color:#b3b3ae; font-size:13px; line-height:1.5; }
.signup-age-modal.hidden { display:none; }
.signup-age-modal { position:fixed; inset:0; z-index:221; display:grid; place-items:center; padding:20px; }
.signup-age-modal-card { position:relative; z-index:1; display:grid; gap:16px; width:min(430px,92vw); padding:24px; border:1px solid #343434; border-radius:10px; background:#111; box-shadow:0 24px 70px rgba(0,0,0,.55); }
.signup-age-modal-card h2 { margin:0; color:#f4f1ea; font-size:22px; font-weight:600; letter-spacing:-.02em; }
.signup-age-modal-card p { margin:0; color:#bdbdb7; font-size:14px; line-height:1.6; }

.confirm-modal {
  position: fixed;
  inset: 0;
  z-index: 95;
  display: grid;
  place-items: center;
  padding: 20px;
}

.confirm-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(8px);
}

.confirm-modal-card {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
  width: min(430px, 92vw);
  padding: 20px;
  border: 1px solid #343434;
  border-radius: 10px;
  background: #111111;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.55);
}

.confirm-modal-kicker {
  color: #a8a8a2;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.confirm-modal-card h2 {
  margin: 0;
  color: #f4f1ea;
  font-size: 24px;
  letter-spacing: 0;
}

.confirm-modal-card p {
  margin: 0;
  color: #bdbdb7;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.45;
}

.confirm-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 6px;
}

.danger-button {
  min-height: var(--button-height);
  padding: 0 16px;
  border: 1px solid rgba(255, 112, 112, 0.38);
  border-radius: var(--button-radius);
  background: rgba(96, 23, 23, 0.82);
  color: #fff5f5;
  font-size: var(--button-font-size);
  font-weight: 850;
}

.danger-button:hover {
  border-color: rgba(255, 145, 145, 0.62);
  background: rgba(125, 31, 31, 0.95);
}

/* Final player profile layout: scrollable showcase */
.account-page:has(.player-profile-showcase) {
  height: calc(100vh - 96px);
  margin-top: 10px;
  padding: 12px;
  overflow-x: hidden;
  overflow-y: auto;
}

.player-profile-showcase {
  display: grid;
  grid-template-columns: minmax(440px, 38%) minmax(0, 1fr);
  gap: 14px;
  min-height: 0;
  overflow: visible;
}

.showcase-left-column,
.player-showcase-main {
  min-height: 0;
}

.showcase-left-column {
  grid-template-rows: auto auto;
  gap: 14px;
}

.showcase-hero,
.showcase-panel,
.showcase-stat-rail {
  border-color: #303030;
  border-radius: 8px;
  background: #070707;
}

.showcase-hero {
  grid-template-columns: minmax(210px, 48%) minmax(0, 1fr);
  min-height: 0;
}

.showcase-hero .showcase-photo {
  min-height: 360px;
  height: 100%;
}

.showcase-hero .showcase-identity-copy {
  gap: 10px;
  padding: 20px;
}

.showcase-hero .showcase-title-row h1 {
  font-size: clamp(25px, 2.35vw, 36px);
  line-height: 0.98;
}

.showcase-identity-meta {
  gap: 6px;
  margin-top: 2px;
}

.showcase-identity-meta span {
  font-size: 10px;
}

.showcase-identity-meta span:not(:last-child)::after {
  margin-left: 6px;
}

.showcase-hero .showcase-contact {
  gap: 6px;
  margin-top: 8px;
  padding-top: 10px;
}

.showcase-hero .showcase-contact .showcase-detail-row strong {
  font-size: 12px;
}

.showcase-report-button {
  min-height: 34px;
  margin-top: 8px;
  font-size: 10px;
}

.player-showcase-main {
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  grid-template-rows: auto;
  gap: 14px;
  overflow: visible;
}

.showcase-stat-rail {
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  grid-template-columns: none;
}

.showcase-stat-rail .showcase-metric {
  justify-items: center;
  min-height: 70px;
  padding: 10px 8px;
  text-align: center;
}

.showcase-stat-rail .showcase-metric span,
.showcase-metric span,
.showcase-detail-row span,
.showcase-panel .info-card span {
  font-size: 8px;
}

.showcase-stat-rail .showcase-metric strong {
  font-size: 14px;
}

.showcase-panel {
  min-height: 0;
  padding: 14px;
  overflow: visible;
}

.showcase-panel h2 {
  margin-bottom: 8px;
  font-size: 10px;
}

.showcase-panel h2::before {
  height: 11px;
}

.showcase-detail-row,
.showcase-panel .info-card {
  gap: 3px;
  padding: 10px 0;
}

.showcase-detail-row strong,
.showcase-panel .info-card strong {
  font-size: 13px;
  line-height: 1.15;
}

.showcase-left-column .showcase-panel {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
}

.showcase-metric-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 8px;
}

.showcase-metric {
  min-height: 60px;
  padding: 10px;
  border-radius: 7px;
}

.showcase-metric strong {
  font-size: 20px;
}

.pitching-grid {
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 6px;
  overflow: visible;
}

.pitching-grid .info-card {
  padding: 9px 0;
}

.showcase-season-grid {
  height: auto;
  max-height: none;
}

.player-showcase-main .wide-panel:has(.showcase-season-grid) {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

.showcase-season-grid .showcase-metric {
  min-height: 86px;
  padding: 10px 8px;
}

.showcase-season-grid .showcase-metric strong {
  font-size: 16px;
}

.showcase-season-grid .showcase-metric span {
  font-size: 7px;
}

.showcase-updated {
  align-self: end;
  margin: 0;
  font-size: 10px;
}

.showcase-videos {
  grid-column: 1 / -1;
  min-height: 0;
  padding: 14px;
}

.showcase-video-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  height: auto;
}

.showcase-video-card {
  display: grid;
  grid-template-rows: auto auto;
}

.showcase-video-thumb {
  aspect-ratio: 16 / 9;
  min-height: 0;
}

.showcase-video-thumb span {
  width: 42px;
  height: 42px;
  font-size: 14px;
}

.showcase-video-copy {
  gap: 2px;
  padding: 7px 10px;
}

.showcase-video-copy strong {
  font-size: 12px;
}

.showcase-video-copy small {
  font-size: 10px;
}

/* Profile grid refinement: align top cards and metric rows */
.player-profile-showcase {
  grid-template-columns: minmax(560px, 44%) minmax(0, 0.38fr) minmax(0, 0.62fr);
  grid-template-rows: 82px minmax(385px, auto) minmax(430px, auto) minmax(320px, auto);
  grid-template-areas:
    "hero stats stats"
    "hero recruiting background"
    "pitching season season"
    "videos videos videos";
  gap: 20px 18px;
}

.showcase-left-column,
.player-showcase-main {
  display: contents;
}

.showcase-hero {
  grid-area: hero;
  height: 100%;
}

.showcase-stat-rail {
  grid-area: stats;
}

.recruiting-panel {
  grid-area: recruiting;
}

.background-panel {
  grid-area: background;
}

.pitching-panel {
  grid-area: pitching;
}

.season-panel {
  grid-area: season;
}

.showcase-videos {
  grid-area: videos;
}

.showcase-hero .showcase-identity-copy {
  align-content: center;
}

.showcase-hero .showcase-title-row h1 {
  font-size: clamp(24px, 2vw, 34px);
}

.pitching-panel,
.season-panel {
  height: 100%;
  margin-top: 0;
}

.pitching-panel {
  grid-template-rows: auto auto minmax(0, 1fr);
}

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

.pitching-panel .showcase-metric-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pitching-panel .pitching-grid {
  overflow: visible;
}

.season-panel .showcase-season-grid {
  max-height: none;
}

.showcase-stat-rail .showcase-metric {
  min-height: 82px;
  padding: 13px 10px;
}

.showcase-stat-rail .showcase-metric span {
  font-size: 9px;
  letter-spacing: 0.13em;
}

.showcase-stat-rail .showcase-metric strong {
  font-size: 17px;
  line-height: 1.15;
}

.showcase-panel {
  padding: 18px;
  overflow: visible;
}

.showcase-panel h2 {
  margin-bottom: 12px;
  font-size: 12px;
  letter-spacing: 0.16em;
}

.showcase-detail-row,
.showcase-panel .info-card {
  gap: 5px;
  padding: 12px 0;
}

.showcase-detail-row span,
.showcase-panel .info-card span,
.showcase-metric span {
  font-size: 9px;
  letter-spacing: 0.12em;
}

.showcase-detail-row strong,
.showcase-panel .info-card strong {
  font-size: 15px;
  line-height: 1.25;
}

.showcase-metric {
  min-height: 68px;
  padding: 12px;
}

.showcase-metric strong {
  font-size: 23px;
  line-height: 1.05;
}

.pitching-panel .showcase-metric-grid {
  gap: 10px;
  margin-bottom: 16px;
}

.pitching-panel .pitching-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 8px;
}

.pitching-panel .pitching-grid .info-card {
  gap: 7px;
  min-height: 62px;
  padding: 12px;
  border: 1px solid #272727;
  border-radius: 8px;
  background: #050505;
}

.recruiting-panel,
.background-panel {
  align-self: start;
  min-height: 0;
}

.recruiting-panel .showcase-detail-list,
.background-panel .showcase-info-grid {
  gap: 0;
}

.recruiting-panel .showcase-detail-row {
  padding: 10px 0;
}

.recruiting-panel .showcase-detail-row strong {
  font-size: 14px;
}

.pitching-panel .pitching-grid .info-card:first-child {
  grid-column: 1 / -1;
}

.pitching-panel .pitching-grid .info-card span {
  font-size: 9px;
  line-height: 1;
}

.pitching-panel .pitching-grid .info-card strong {
  font-size: 15px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.season-panel .showcase-season-grid {
  border-radius: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.season-panel .showcase-season-grid .showcase-metric {
  min-height: 102px;
  padding: 14px 10px;
}

.season-panel .showcase-season-grid .showcase-metric span {
  margin-bottom: 12px;
  font-size: 9px;
  letter-spacing: 0.14em;
}

.season-panel .showcase-season-grid .showcase-metric strong {
  font-size: 24px;
  line-height: 1;
}

.showcase-video-grid {
  gap: 18px;
}

.showcase-updated {
  display: none;
}

.control-center-shell {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  min-height: 0;
}

.control-center-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px;
  border-bottom: 1px solid #242424;
}

.control-center-header span,
.control-center-card span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.control-center-header h1,
.control-center-card h1 {
  margin: 8px 0 8px;
  font-size: 28px;
  letter-spacing: 0;
}

.control-center-header p,
.control-center-card p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}

.control-tabs {
  display: flex;
  align-items: center;
  gap: 4px;
  min-height: 42px;
  padding: 6px 18px;
  overflow-x: auto;
  border-bottom: 1px solid #242424;
  background: #141414;
}

.control-tabs button {
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}

.control-tabs button.active,
.control-tabs button:hover {
  border-color: #353535;
  background: #262626;
  color: var(--text);
}

.control-tab-panel {
  min-height: 0;
  padding: 18px;
  overflow: auto;
}

.control-panel-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  align-items: end;
  gap: 16px;
  margin-bottom: 14px;
}

.control-panel-header h2 {
  margin: 0 0 5px;
  font-size: 20px;
  letter-spacing: 0;
}

.control-panel-header p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.control-search {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid #343434;
  border-radius: 7px;
  background: #252525;
  color: var(--muted);
}

.control-search input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text);
}

.admin-table {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.admin-list-table {
  padding: 10px;
  border: 1px solid #2f2f2f;
  border-radius: 8px;
  background: #111;
}

.admin-table-head,
.admin-grid-row,
.school-row-toggle,
.coach-row {
  display: grid;
  gap: 10px;
  align-items: center;
}

.admin-table-head,
.school-row-toggle {
  grid-template-columns: 1.45fr 0.75fr 0.65fr 0.55fr 0.75fr;
}

.schools-table .admin-table-head,
.school-row-main {
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.36fr);
}

.schools-table .admin-table-head {
  grid-template-columns: 1.25fr 0.68fr 0.62fr 0.45fr 0.68fr minmax(220px, 0.8fr);
}

.school-row-main {
  display: grid;
  align-items: center;
  gap: 8px;
}

.school-row-main .school-row-toggle {
  grid-template-columns: 1.45fr 0.75fr 0.65fr 0.55fr 0.75fr;
}

.school-edit-button {
  min-height: 32px;
  margin-right: 12px;
  border: 1px solid #383838;
  border-radius: 6px;
  background: #262626;
  color: var(--text);
  font-size: 11px;
  font-weight: 800;
}

.school-edit-button:hover {
  background: #303030;
}

.players-head {
  grid-template-columns: 1fr 0.82fr 0.62fr 0.62fr 0.72fr 0.56fr minmax(160px, 0.8fr);
}

.admin-list-table .admin-table-head {
  padding: 0 10px 4px;
}

.admin-list-table .admin-row {
  border-color: #303030;
  background: #191919;
}

.admin-list-table .admin-grid-row {
  min-height: 58px;
  border-radius: 7px;
}

.guests-head {
  grid-template-columns: 1fr 1.18fr 0.62fr 0.72fr minmax(160px, 0.72fr);
}

.applications-head {
  grid-template-columns:
    minmax(72px, 0.78fr)
    minmax(90px, 0.96fr)
    minmax(104px, 0.86fr)
    minmax(78px, 0.7fr)
    minmax(110px, 0.95fr)
    minmax(72px, 0.65fr)
    minmax(68px, 0.55fr)
    minmax(68px, 0.55fr)
    minmax(86px, 0.5fr);
}

.admin-table-head {
  padding: 0 12px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-row {
  border: 1px solid #2f2f2f;
  border-radius: 8px;
  background: #191919;
}

.admin-grid-row,
.school-row-toggle {
  width: 100%;
  min-height: 58px;
  padding: 0 12px;
  border: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
}

.admin-grid-row span,
.school-row-toggle span,
.coach-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.school-row-toggle:hover,
.admin-grid-row:hover {
  background: #202020;
}

.school-coach-panel {
  display: grid;
  gap: 6px;
  padding: 10px 12px 12px;
  border-top: 1px solid #2b2b2b;
}

.school-coach-panel p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.coach-row {
  grid-template-columns: 1fr 1.35fr 0.7fr 0.7fr 0.8fr;
  min-height: 38px;
  padding: 0 10px;
  border-radius: 7px;
  background: #222;
  color: #d8d8d3;
  font-size: 13px;
}

.application-actions {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
  min-width: 0;
}

.admin-row-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
}

.admin-row-actions .admin-action-button {
  min-width: 0;
}

.application-logo-upload {
  display: inline-grid;
  gap: 4px;
  min-width: 0;
}

.application-logo-upload span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.application-logo-upload input {
  width: 100%;
  min-width: 0;
  color: var(--muted);
  font-size: 10px;
}

.application-actions button {
  min-height: 30px;
  padding: 0 14px;
  border: 1px solid #383838;
  border-radius: 6px;
  background: #262626;
  color: var(--text);
  font-size: 11px;
  font-weight: 750;
  white-space: nowrap;
}

.admin-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  min-height: 32px;
  padding: 0 14px;
  border: 1px solid #3a3a3a;
  border-radius: var(--button-radius);
  background: #242424;
  color: #f4f1ea;
  font-size: 12px;
  font-weight: 850;
}

.admin-action-button:hover,
.school-edit-button:hover {
  border-color: #565656;
  background: #303030;
}

.admin-action-button[data-tone="danger"] {
  border-color: rgba(255, 111, 111, 0.45);
  background: rgba(255, 111, 111, 0.1);
  color: #ffb2b2;
}

.admin-action-button[data-tone="danger"]:hover {
  background: rgba(255, 111, 111, 0.18);
}

.admin-action-button[data-tone="success"] {
  border-color: rgba(126, 227, 162, 0.34);
  background: rgba(78, 172, 113, 0.12);
  color: #a8f0bf;
}

.admin-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  min-height: 24px;
  padding: 0 9px;
  border: 1px solid #3a3a3a;
  border-radius: 999px;
  background: #232323;
  color: #d8d8d3;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.admin-status-pill[data-status="active"],
.admin-status-pill[data-status="approved"],
.admin-status-pill[data-status="sent"] {
  border-color: rgba(126, 227, 162, 0.28);
  background: rgba(78, 172, 113, 0.12);
  color: #a8f0bf;
}

.admin-status-pill[data-status="pending"],
.admin-status-pill[data-status="queued"],
.admin-status-pill[data-status="waiting"] {
  border-color: rgba(244, 202, 106, 0.34);
  background: rgba(244, 202, 106, 0.1);
  color: #f4d788;
}

.admin-status-pill[data-status="rejected"],
.admin-status-pill[data-status="declined"],
.admin-status-pill[data-status="inactive"],
.admin-status-pill[data-status="failed"] {
  border-color: rgba(255, 111, 111, 0.34);
  background: rgba(255, 111, 111, 0.1);
  color: #ffb2b2;
}

.control-empty-state {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 8px;
  min-height: 180px;
  border: 1px dashed #343434;
  border-radius: 8px;
  background: #171717;
  padding: 24px;
  text-align: center;
}

.control-empty-mark {
  display: block;
  width: 34px;
  height: 34px;
  border: 1px solid #343434;
  border-radius: 50%;
  background:
    linear-gradient(#6b6b66, #6b6b66) center / 13px 2px no-repeat,
    #202020;
}

.control-empty-state h3 {
  margin: 0;
  color: var(--text);
  font-size: 15px;
  font-weight: 900;
}

.control-empty-state p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(0, 0, 0, 0.74);
  backdrop-filter: blur(6px);
}

@media (min-width: 861px) {
  .app-shell:not(.hidden) ~ .modal-backdrop {
    left: 240px;
  }
}

.application-modal-card {
  width: min(100%, 820px);
  max-height: min(720px, 86vh);
  overflow: auto;
  border: 1px solid #343434;
  border-radius: 10px;
  background: #151515;
  box-shadow: var(--shadow);
}

.player-registration-card {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(100%, 940px);
  max-height: min(860px, calc(100vh - 48px));
  overflow: hidden;
  border: 1px solid #343434;
  border-radius: 10px;
  background: #151515;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.62);
}

.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid #282828;
}

.modal-header span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.modal-header h2 {
  margin: 5px 0 0;
  font-size: 20px;
}

.modal-header p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.modal-header button {
  width: 36px;
  height: 36px;
  border: 1px solid #353535;
  border-radius: 7px;
  background: #262626;
}

.application-modal-body {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.application-review-section {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid #303030;
  border-radius: 8px;
  background: #1b1b1b;
}

.application-review-section-header {
  display: grid;
  gap: 4px;
}

.application-review-section-header h3 {
  margin: 0;
  color: var(--text);
  font-size: 18px;
}

.application-review-section-header p {
  max-width: 620px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.application-review-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.application-review-item {
  display: grid;
  gap: 5px;
  min-height: 58px;
  padding: 10px;
  border: 1px solid #303030;
  border-radius: 7px;
  background: #222;
}

.application-modal-body span,
.application-review-file {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.application-review-item strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--text);
  font-size: 14px;
}

.application-review-logo-section .application-logo-upload {
  max-width: 420px;
}

.school-branding-layout {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}

.school-logo-preview {
  display: grid;
  min-height: 140px;
  place-items: center;
  overflow: hidden;
  border: 1px solid #303030;
  border-radius: 8px;
  background: #111;
}

.school-logo-preview img {
  display: block;
  width: 100%;
  max-width: 142px;
  max-height: 96px;
  object-fit: contain;
}

.school-logo-preview span {
  padding: 12px;
  color: var(--muted);
  font-size: 12px;
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
}

.school-branding-fields {
  display: grid;
  gap: 10px;
}

.school-color-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.school-color-grid label {
  display: grid;
  gap: 6px;
  padding: 10px;
  border: 1px solid #303030;
  border-radius: 7px;
  background: #222;
}

.school-color-grid span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.school-color-grid input {
  width: 100%;
  height: 34px;
  padding: 0;
  overflow: hidden;
  border: 1px solid #383838;
  border-radius: 6px;
  background: #151515;
}

.application-review-file {
  margin: -4px 0 0;
  text-transform: none;
  letter-spacing: 0;
}

.application-review-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 4px;
}

.application-review-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--button-height);
  padding: 0 16px;
  border: 1px solid var(--button-border);
  border-radius: var(--button-radius);
  background: var(--button-bg);
  color: var(--button-text);
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
}

.application-review-actions .application-approve-button {
  border-color: #d4cab8;
  background: #f4efe6;
  color: #101010;
}

.application-review-actions .application-reject-button {
  border-color: #5f3535;
  background: #2a1717;
  color: #f3c0c0;
}

.school-theme-preview-backdrop {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 26px;
  background: rgba(0, 0, 0, 0.72);
}

.school-theme-preview-card {
  position: relative;
  width: min(980px, 100%);
  overflow: hidden;
  border: 1px solid #333;
  border-radius: 10px;
  background: #101010;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.58);
}

.school-theme-preview-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--preview-secondary) 45%, #ffffff 10%);
  border-radius: 7px;
  background: rgba(0, 0, 0, 0.38);
  color: #fff;
  font-size: 22px;
}

.school-theme-preview-shell {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  min-height: 520px;
}

.school-theme-preview-sidebar {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 16px 12px;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  background: var(--preview-main);
  color: var(--preview-text);
}

.school-theme-preview-brand {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  margin-bottom: 12px;
  color: var(--preview-secondary);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.08em;
}

.school-theme-preview-brand img:first-child {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.school-theme-preview-logo {
  width: auto;
  max-width: 92px;
  height: 28px;
  object-fit: contain;
}

.school-theme-preview-nav {
  min-height: 34px;
  padding: 9px 10px;
  border-radius: 7px;
  color: var(--preview-text);
  font-size: 12px;
  font-weight: 750;
}

.school-theme-preview-nav.active {
  background: color-mix(in srgb, var(--preview-secondary) 16%, transparent);
  color: var(--preview-secondary);
}

.school-theme-preview-divider {
  height: 1px;
  margin: 8px 0;
  background: color-mix(in srgb, var(--preview-text) 18%, transparent);
}

.school-theme-preview-main {
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  background: #111;
}

.school-theme-preview-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 58px;
  padding: 12px 18px;
  border-bottom: 4px solid var(--preview-secondary);
  background: #111;
}

.school-theme-preview-header img {
  width: 178px;
  height: 28px;
  object-fit: contain;
  object-position: left center;
}

.school-theme-preview-header div {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
}

.school-theme-preview-header strong {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 999px;
  background: #303030;
  font-size: 12px;
}

.school-theme-preview-header span {
  color: #bcbcb8;
  font-size: 12px;
}

.school-theme-preview-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 14px;
  padding: 18px;
}

.school-theme-preview-content > div {
  min-height: 180px;
  padding: 18px;
  border: 1px solid #2f2f2f;
  border-radius: 8px;
  background: #171717;
}

.school-theme-preview-content span {
  color: #aaa;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.school-theme-preview-content h3 {
  margin: 8px 0;
  color: #fff;
  font-size: 28px;
}

.school-theme-preview-content p {
  max-width: 520px;
  margin: 0;
  color: #b8b8b2;
  line-height: 1.45;
}

.school-theme-preview-player {
  display: grid;
  align-content: start;
  gap: 8px;
}

.school-theme-preview-player div {
  width: 58px;
  height: 58px;
  border-radius: 7px;
  background: color-mix(in srgb, var(--preview-secondary) 24%, #2a2a2a);
}

.school-theme-preview-player strong {
  color: #fff;
  font-size: 18px;
}

.school-theme-preview-player span {
  color: #aaa;
  font-size: 11px;
  letter-spacing: 0;
  text-transform: none;
}

.player-registration-form {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  gap: 0;
  min-height: 0;
  max-height: none;
  overflow: hidden;
  padding: 16px;
}

.registration-stepper {
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0 0 14px;
  border-bottom: 1px solid #282828;
  background: #151515;
}

.registration-stepper button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  border: 1px solid #333;
  border-radius: 8px;
  background: #222;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0;
  cursor: pointer;
}

.registration-stepper button span {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #303030;
  color: var(--text);
  font-size: 11px;
}

.registration-stepper button.active {
  border-color: var(--blue);
  background: #2d2d2d;
  color: var(--text);
}

.registration-stepper button.active span {
  background: var(--blue);
  color: #07111d;
}

.registration-step {
  display: grid;
  gap: 12px;
  min-height: 0;
  overflow: auto;
  margin-top: 14px;
  padding: 0 2px 14px 0;
}

.registration-step.hidden {
  display: none;
}

.registration-trackman-warning {
  display: grid;
  gap: 4px;
  margin: 12px 0 0;
  padding: 12px 14px;
  border: 1px solid rgba(255, 210, 64, 0.42);
  border-radius: 8px;
  background: rgba(255, 210, 64, 0.08);
  color: var(--text);
}

.registration-trackman-warning strong {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.registration-trackman-warning span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.35;
}

.registration-section {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid #303030;
  border-radius: 8px;
  background: #1b1b1b;
}

.registration-section h3 {
  margin: 0;
  color: var(--text);
  font-size: 15px;
}

.registration-section .registration-helper {
  margin: -5px 0 2px;
  color: #a5a5a0;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
}

.registration-subtitle {
  margin: 0 0 8px;
  color: var(--text);
  font-size: 13px;
}

.registration-section p {
  margin: -4px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.registration-grid {
  display: grid;
  gap: 10px;
}

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

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

.registration-grid.four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.registration-grid.one {
  grid-template-columns: minmax(0, 1fr);
}

.player-registration-form label,
.checkbox-panel span {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.player-registration-form input,
.player-registration-form select,
.player-registration-form textarea {
  width: 100%;
  min-height: 40px;
  padding: 0 11px;
  border: 1px solid #353535;
  border-radius: 7px;
  outline: 0;
  background: #262626;
  color: var(--text);
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none;
}

.player-registration-form textarea {
  min-height: 96px;
  padding: 10px 11px;
  resize: vertical;
}

.player-registration-form input[type="file"] {
  padding: 9px 11px;
  color: var(--muted);
}

.player-registration-form input:focus,
.player-registration-form select:focus,
.player-registration-form textarea:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 2px rgba(244, 241, 234, 0.1);
}

.player-registration-form input.is-invalid,
.player-registration-form select.is-invalid,
.player-registration-form textarea.is-invalid {
  border-color: #f36b6b;
  box-shadow: 0 0 0 2px rgba(243, 107, 107, 0.14);
}

.registration-field-error {
  color: #ff9b9b;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.25;
  text-transform: none;
}

.position-question-group {
  display: grid;
  gap: 12px;
  padding-top: 4px;
}

.registration-stat-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 4px;
  border-bottom: 1px solid #303030;
}

.registration-stat-header span {
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.registration-stat-header p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  text-align: right;
}

.checkbox-panel {
  display: grid;
  gap: 10px;
}

.checkbox-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.checkbox-grid label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid #343434;
  border-radius: 7px;
  background: #242424;
  color: var(--text);
  font-size: 13px;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: none;
}

.checkbox-grid input {
  width: 15px;
  min-height: 15px;
  accent-color: var(--gold);
}

.pitch-velocity-grid {
  display: grid;
  gap: 8px;
}

.pitch-velocity-row {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) repeat(2, minmax(90px, 0.6fr));
  gap: 8px;
  align-items: end;
}

.pitch-velocity-row strong {
  align-self: center;
  color: var(--text);
  font-size: 13px;
}


.registration-verified-note {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #333;
  border-radius: 7px;
  background: #191919;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.35;
}

.registration-verified-note span {
  display: inline-grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 999px;
  background: #f4f1ea;
  color: #111;
  font-size: 11px;
  font-weight: 950;
}

.registration-next-steps-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.registration-next-steps-grid article {
  display: grid;
  gap: 5px;
  min-height: 92px;
  padding: 14px;
  border: 1px solid #303030;
  border-radius: 7px;
  background: #171717;
}

.registration-next-steps-grid strong {
  color: var(--text);
  font-size: 13px;
}

.registration-next-steps-grid span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.settings-media-form {
  display: grid;
  gap: 12px;
}

.settings-media-manager {
  display: grid;
  gap: 14px;
}

.settings-media-section {
  display: grid;
  gap: 10px;
}

.settings-media-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
}

.settings-media-section-heading strong {
  color: var(--text);
  font-size: 14px;
  font-weight: 900;
}

.settings-media-section-heading span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
  text-align: right;
}

.settings-profile-photo-upload {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 132px;
  padding: 12px;
  border: 1px solid #303030;
  border-radius: 7px;
  background: #151515;
}

.settings-profile-photo-section.has-new-file .settings-profile-photo-upload {
  border-color: #f5f5f2;
  background: #1d1d1d;
}

.settings-profile-photo-preview {
  display: grid;
  width: 112px;
  height: 112px;
  place-items: center;
  overflow: hidden;
  border: 1px solid #383838;
  border-radius: 7px;
  background: #0c0c0c;
  color: #888883;
  font-size: 11px;
  font-weight: 750;
  text-align: center;
}

.settings-profile-photo-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.settings-profile-photo-copy {
  display: grid;
  align-content: center;
  gap: 7px;
  min-width: 0;
}

.settings-profile-photo-copy > strong {
  color: var(--text);
  font-size: 14px;
  font-weight: 900;
}

.settings-profile-photo-copy p {
  max-width: 440px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.settings-profile-photo-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.settings-media-slot-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

@media (max-width: 560px) {
  .settings-profile-photo-upload {
    grid-template-columns: 84px minmax(0, 1fr);
    min-height: 104px;
  }

  .settings-profile-photo-preview {
    width: 84px;
    height: 84px;
  }
}

.settings-media-slot {
  display: grid;
  grid-template-rows: 1fr auto;
  min-width: 0;
  min-height: 154px;
  padding: 13px;
  border: 1px solid #303030;
  border-radius: 7px;
  background: #151515;
  transition: border-color 160ms ease, background 160ms ease;
}

.settings-media-slot.has-media {
  background: #101010;
  border-color: #3a3a3a;
}

.settings-media-slot.has-new-file {
  border-color: #f5f5f2;
  background: #1d1d1d;
}

.settings-media-slot-copy {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
}

.settings-media-slot-copy span,
.settings-media-slot-copy em,
.settings-media-slot-copy small {
  display: block;
  min-width: 0;
}

.settings-media-slot-copy span {
  color: #a9a9a5;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.settings-media-slot-copy strong {
  overflow: hidden;
  color: var(--text);
  font-size: 14px;
  font-weight: 950;
  line-height: 1.18;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-media-slot-copy em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.settings-media-slot-copy small {
  overflow: hidden;
  color: #878783;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-media-new-file:not(:empty) {
  margin-top: 6px;
  color: #f5f5f2;
}

.settings-media-slot-actions {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 8px;
  margin-top: 13px;
}

.settings-media-replace,
.settings-media-delete {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #343434;
  border-radius: 6px;
  background: #222;
  color: var(--text);
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: none;
}

.settings-media-replace:hover,
.settings-media-delete:hover {
  border-color: #555;
  background: #292929;
}

.settings-media-delete {
  color: #ffb5b5;
  border-color: rgba(255, 120, 120, 0.32);
  background: rgba(120, 30, 30, 0.18);
}

.settings-media-replace input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.settings-media-upload-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.settings-media-upload-grid label {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #303030;
  border-radius: 7px;
  background: #181818;
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.settings-media-upload-grid input {
  width: 100%;
  min-width: 0;
  color: var(--text);
  font-size: 11px;
  letter-spacing: 0;
  text-transform: none;
}

.registration-divider {
  height: 1px;
  background: #303030;
}

.registration-video-slots {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.registration-media-upload-grid {
  display: grid;
  gap: 10px;
}

.media-upload-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 124px;
  grid-template-rows: auto auto;
  gap: 10px 12px;
  align-items: center;
  min-width: 0;
  min-height: 118px;
  padding: 12px;
  border: 1px solid #303030;
  border-radius: 8px;
  background: #202020;
}

.registration-media-upload-grid .media-upload-card {
  grid-template-columns: minmax(0, 1fr) 150px;
  min-height: 154px;
}

.registration-media-frame {
  position: relative;
  display: grid;
  place-items: center;
  width: 124px;
  height: 78px;
  max-width: 100%;
  overflow: hidden;
  border: 1px solid #353535;
  border-radius: 7px;
  background: #111;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  grid-column: 2;
  grid-row: 1 / span 2;
}

.registration-media-frame span {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  padding: 10px;
  line-height: 1.2;
  text-align: center;
}

.registration-media-frame.profile-photo {
  width: 150px;
  height: 150px;
  aspect-ratio: 1 / 1;
}

.registration-media-frame img,
.registration-media-frame video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.registration-video-status {
  position: absolute;
  inset: auto 8px 8px 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 8px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.78);
  color: #f5f5f2;
  font-size: 11px;
  line-height: 1.2;
}

.registration-video-status strong {
  font-size: 11px;
}

.registration-video-status em {
  color: #b6b6b1;
  font-style: normal;
}

.registration-video-status button {
  min-height: 26px;
  padding: 0 10px;
  border-color: #f5f5f2;
  background: #f5f5f2;
  color: #050505;
  font-size: 11px;
}

.registration-video-status[data-status="failed"] {
  border-color: rgba(255, 79, 79, 0.48);
}

.registration-video-status[data-status="processing"] {
  border-color: rgba(255, 255, 255, 0.24);
}

.media-upload-card > span {
  align-self: end;
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.media-upload-card input[type="file"] {
  align-self: start;
  min-width: 0;
}

.media-upload-card .video-title-input {
  width: 100%;
  min-width: 0;
  height: 34px;
  padding: 0 10px;
  border: 1px solid #353535;
  border-radius: 7px;
  background: #121212;
  color: #f5f5f2;
  font-size: 12px;
  font-weight: 800;
}

.media-upload-card .video-title-input::placeholder {
  color: #777;
}

.registration-upload-progress {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid #303030;
  border-radius: 8px;
  background: #181818;
}

.registration-upload-progress-row {
  display: grid;
  gap: 6px;
}

.registration-upload-progress-row.is-indeterminate .registration-upload-progress-track span {
  width: 42%;
  animation: upload-progress-sweep 0.9s ease-in-out infinite;
}

@keyframes upload-progress-sweep {
  0% {
    transform: translateX(-120%);
  }
  100% {
    transform: translateX(240%);
  }
}

.registration-upload-progress-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #f5f5f2;
  font-size: 12px;
  font-weight: 800;
}

.registration-upload-progress-label span {
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  text-align: right;
}

.registration-upload-progress-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #0f0f0f;
}

.registration-upload-progress-track span {
  display: block;
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: #f5f5f2;
  transition: width 0.2s ease;
}

.player-registration-form > .auth-note {
  min-height: 18px;
  margin: 0;
  padding: 0 0 10px;
}

.registration-actions {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  width: calc(100% + 32px);
  margin: 0 -16px -16px;
  padding: 14px 16px;
  border-top: 1px solid #2d2d2d;
  background: #151515;
  box-shadow: 0 -10px 18px rgba(0, 0, 0, 0.24);
}

.registration-actions #registration-cancel-button {
  margin-right: auto;
}

.registration-actions .ghost-button,
.registration-actions .auth-primary {
  min-height: 40px;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 850;
}

.trim-modal.hidden {
  display: none;
}

.trim-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 24px;
}

.trim-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(8px);
}

.trim-modal-card {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
  width: min(860px, 100%);
  max-height: min(92vh, 860px);
  overflow: auto;
  padding: 18px;
  border: 1px solid #363636;
  border-radius: 8px;
  background: #151515;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
}

.trim-modal-header {
  display: grid;
  gap: 5px;
}

.trim-modal-header span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.trim-modal-header h2 {
  margin: 0;
  color: #f5f5f2;
  font-size: 24px;
  letter-spacing: 0;
}

.trim-modal-header p,
.trim-status {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.trim-modal-card video {
  width: 100%;
  max-height: 420px;
  border: 1px solid #303030;
  border-radius: 7px;
  background: #050505;
}

.trim-controls,
.trim-thumbnail-controls {
  display: grid;
  gap: 12px;
}

.trim-timeline,
.thumbnail-scrubber {
  position: relative;
  width: 100%;
  height: 54px;
  overflow: hidden;
  border: 1px solid #333;
  border-radius: 7px;
  background:
    repeating-linear-gradient(90deg, #343434 0 2px, transparent 2px 44px),
    linear-gradient(180deg, #262626, #111);
  touch-action: none;
  cursor: grab;
  user-select: none;
}

.trim-timeline:active,
.thumbnail-scrubber:active {
  cursor: grabbing;
}

.trim-timeline-selection {
  position: absolute;
  top: 7px;
  bottom: 7px;
  border: 2px solid #f4c84f;
  border-radius: 5px;
  background: rgba(244, 200, 79, 0.16);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.55);
}

.trim-timeline-dim {
  position: absolute;
  top: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.56);
  pointer-events: none;
}

.trim-timeline-dim-left {
  left: 0;
}

.trim-timeline-dim-right {
  right: 0;
}

.trim-handle,
.thumbnail-scrubber-handle {
  position: absolute;
  top: 50%;
  width: 18px;
  height: 44px;
  border: 0;
  border-radius: 5px;
  background: #f4c84f;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.32);
  transform: translate(-50%, -50%);
  cursor: ew-resize;
}

.trim-handle::before,
.trim-handle::after {
  content: "";
  position: absolute;
  top: 12px;
  bottom: 12px;
  width: 2px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.46);
}

.trim-handle::before {
  left: 6px;
}

.trim-handle::after {
  right: 6px;
}

.thumbnail-scrubber {
  height: 44px;
  background:
    repeating-linear-gradient(90deg, rgba(245, 245, 242, 0.16) 0 1px, transparent 1px 34px),
    linear-gradient(180deg, #252525, #111);
}

.thumbnail-scrubber-track {
  position: absolute;
  inset: 8px;
  border-radius: 5px;
  background: rgba(127, 209, 174, 0.14);
}

.thumbnail-scrubber-handle {
  width: 14px;
  height: 36px;
  background: #7fd1ae;
}

.trim-time-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 12px;
}

.trim-time-row strong {
  color: #f5f5f2;
  font-size: 14px;
}

.trim-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.registration-actions .ghost-button,
.registration-actions .auth-primary {
  width: auto;
  min-width: 132px;
}

.registration-actions .hidden {
  display: none;
}

@media (max-width: 900px) {
  .registration-stepper,
  .registration-video-slots {
    grid-template-columns: 1fr;
  }

  .media-upload-card {
    grid-template-columns: 1fr;
  }

  .registration-media-frame {
    grid-column: auto;
    grid-row: auto;
  }
}

.folders-page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
}

.folders-page-header h1 {
  margin: 0;
  font-size: 18px;
}

.folders-page-header span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.folder-board-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  max-height: none;
  overflow-y: auto;
}

.folder-board {
  display: grid;
  align-content: start;
  min-height: 72px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #181818;
  cursor: pointer;
}

.folder-board.active {
  border-color: #3d3d3d;
  border-left-color: var(--folder-color, var(--gold));
  background: #202020;
}

.folder-board-header {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.folder-board-icon {
  width: 26px;
  height: 26px;
  background: var(--folder-color, var(--gold));
  mask: url("icons/folder-svgrepo-com copy.svg") center / contain no-repeat;
  -webkit-mask: url("icons/folder-svgrepo-com copy.svg") center / contain no-repeat;
}

.saved-board,
.saved-player-detail-panel {
  --folder-color: #ffffff;
}

.saved-player-detail-panel.showing-saved-profile,
.folder-detail-panel.showing-folder-profile {
  max-height: calc(100vh - 84px);
  padding: 0 16px 0;
  overflow-y: auto;
}

.saved-player-detail-panel.showing-saved-profile .coach-profile-shell,
.folder-detail-panel.showing-folder-profile .coach-profile-shell {
  min-height: auto;
}

.saved-board-icon,
.saved-folder-chip {
  mask-image: url("icons/bookmark-svgrepo-com.svg");
  -webkit-mask-image: url("icons/bookmark-svgrepo-com.svg");
}

.saved-board-widget {
  display: grid;
  gap: 5px;
  min-height: 82px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #181818;
}

.saved-board-widget span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.saved-board-widget strong {
  min-width: 0;
  overflow: hidden;
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.saved-board-widget p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.folder-board h2 {
  margin: 0;
  font-size: 15px;
}

.folder-board h2::before {
  display: none;
}

.folder-board-header span,
.folder-board-players p {
  color: var(--muted);
}

.folder-board-players {
  display: grid;
  gap: 8px;
}

.folders-rail {
  min-height: 0;
  padding: 18px;
  border-right: 1px solid var(--line);
  background: #101010;
}

.folder-board-meta,
.folder-board-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.folder-board-meta span,
.folder-board-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: #292929;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.folder-detail-panel {
  min-width: 0;
  min-height: 0;
  padding: 20px;
  overflow: hidden;
}

.folder-detail-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 16px;
}

.folder-detail-title {
  display: flex;
  gap: 14px;
  align-items: center;
}

.folder-detail-title h2 {
  margin: 0;
  font-size: 24px;
}

.folder-detail-title p {
  margin: 3px 0 0;
  color: var(--muted);
}

.folder-chip {
  width: 38px;
  height: 38px;
  background: var(--folder-color, var(--gold));
  mask: url("icons/folder-svgrepo-com copy.svg") center / contain no-repeat;
  -webkit-mask: url("icons/folder-svgrepo-com copy.svg") center / contain no-repeat;
}

.saved-folder-chip {
  mask: url("icons/bookmark-svgrepo-com.svg") center / contain no-repeat;
  -webkit-mask: url("icons/bookmark-svgrepo-com.svg") center / contain no-repeat;
}

.folder-detail-actions {
  display: flex;
  gap: 8px;
}

.folder-detail-actions button,
.folder-detail-search button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--button-height);
  padding: 0 14px;
  border: 1px solid var(--button-border);
  border-radius: var(--button-radius);
  background: var(--button-bg);
  color: var(--button-text);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.folder-detail-actions .danger-folder-action {
  border-color: var(--button-danger-border);
  background: var(--button-danger-bg);
  color: var(--button-danger-text);
}

.folder-edit-panel {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(260px, auto) auto;
  gap: 12px;
  align-items: end;
  margin: 2px 0 16px;
  padding: 14px;
  border: 1px solid #303030;
  border-radius: 8px;
  background: #151515;
}

.folder-edit-panel label {
  display: grid;
  gap: 7px;
}

.folder-edit-panel span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.folder-edit-panel input {
  width: 100%;
  min-height: 40px;
  border: 1px solid #343434;
  border-radius: 7px;
  padding: 0 10px;
  background: #242424;
  color: var(--text);
  font: inherit;
  font-weight: 800;
}

.folder-edit-panel .folder-swatch-picker {
  min-height: 40px;
  grid-template-columns: repeat(7, 20px);
  justify-content: flex-start;
}

.folder-edit-actions {
  display: flex;
  gap: 8px;
}

.folder-edit-actions button {
  min-height: 40px;
  border: 1px solid #353535;
  border-radius: 7px;
  padding: 0 14px;
  background: #202020;
  color: var(--text);
  font-weight: 850;
}

.folder-edit-actions button[type="submit"] {
  border-color: color-mix(in srgb, var(--folder-color) 55%, #333);
  background: color-mix(in srgb, var(--folder-color) 25%, #202020);
}

.folder-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}

.folder-stats div {
  display: grid;
  place-items: center;
  min-height: 72px;
  border: 1px solid #343434;
  border-radius: 8px;
  background: #1a1a1a;
}

.folder-stats strong {
  font-size: 24px;
}

.folder-stats span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.folder-detail-search {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  gap: 8px;
  margin-bottom: 16px;
}

.saved-player-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.saved-player-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--button-height);
  border: 1px solid var(--button-border);
  border-radius: var(--button-radius);
  padding: 0 12px;
  background: var(--button-bg);
  color: var(--button-text);
  font-size: 12px;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
}

.saved-player-actions .danger-folder-action {
  border-color: var(--button-danger-border);
  background: var(--button-danger-bg);
  color: var(--button-danger-text);
}

.folder-detail-search input {
  min-width: 0;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #343434;
  border-radius: 7px;
  outline: 0;
  background: #222;
  color: var(--text);
}

.folder-player-table {
  display: grid;
  gap: 8px;
  max-height: calc(100vh - 312px);
  overflow-y: auto;
  padding-right: 6px;
}

.folder-player-row {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 64px;
  padding: 10px 12px;
  border: 1px solid #2f2f2f;
  border-radius: 8px;
  background: #191919;
}

.saved-player-row {
  grid-template-columns: 24px 40px minmax(0, 1fr) auto;
  cursor: pointer;
}

.saved-player-row:hover,
.saved-player-row:focus-visible {
  border-color: #5a5a5a;
  background: #202020;
  outline: 0;
}

.saved-player-row.selected {
  border-color: color-mix(in srgb, var(--folder-color, #ffffff) 58%, #2f2f2f);
  background: #202020;
}

.saved-player-main {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.saved-player-context {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 5px;
}

.saved-context-chip,
.saved-context-note {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  border: 1px solid #303030;
  border-radius: 999px;
  background: #151515;
  color: var(--muted);
  font: inherit;
  cursor: pointer;
}

.saved-context-chip {
  gap: 6px;
  max-width: 150px;
  padding: 0 8px;
}

.saved-context-chip span {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  background: var(--folder-color, #f2f2f2);
  mask: url("icons/folder-svgrepo-com copy.svg") center / contain no-repeat;
  -webkit-mask: url("icons/folder-svgrepo-com copy.svg") center / contain no-repeat;
}

.saved-context-chip em {
  min-width: 0;
  overflow: hidden;
  color: #d6d6d6;
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.saved-context-more {
  padding: 0 8px;
  font-size: 10px;
  font-weight: 900;
  cursor: default;
}

.saved-context-note {
  width: 24px;
  height: 22px;
  padding: 0;
}

.saved-context-note span {
  width: 12px;
  height: 14px;
  border: 1px solid #d8d8d8;
  border-radius: 2px;
  background:
    linear-gradient(#d8d8d8, #d8d8d8) 3px 4px / 6px 1px no-repeat,
    linear-gradient(#d8d8d8, #d8d8d8) 3px 7px / 5px 1px no-repeat,
    transparent;
}

.saved-context-chip:hover,
.saved-context-chip:focus-visible,
.saved-context-note:hover,
.saved-context-note:focus-visible {
  border-color: #555;
  background: #1f1f1f;
  outline: 0;
}


.saved-player-select {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  cursor: pointer;
}

.saved-player-select input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.saved-player-select span {
  display: block;
  width: 14px;
  height: 14px;
  border: 1px solid #555;
  border-radius: 4px;
  background: #111;
}

.saved-player-select input:checked + span {
  border-color: var(--folder-color, #ffffff);
  background:
    linear-gradient(135deg, transparent 0 36%, #111 36% 48%, transparent 48%),
    var(--folder-color, #ffffff);
}


.saved-nav-group {
  display: grid;
  gap: 8px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.saved-nav-group + .saved-nav-group {
  padding-top: 14px;
}

.saved-nav-group > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.saved-nav-row {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #171717;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.saved-nav-row:hover,
.saved-nav-row:focus-visible,
.saved-nav-row.active {
  border-color: #4b4b4b;
  background: #202020;
  outline: 0;
}

.saved-nav-row strong {
  display: grid;
  min-width: 0;
  gap: 2px;
  overflow: hidden;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.saved-nav-row strong em {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.saved-nav-row b {
  color: #f1f1f1;
  font-size: 13px;
  font-weight: 900;
}

.saved-nav-icon {
  width: 22px;
  height: 22px;
  background: #f2f2f2;
}

.saved-nav-icon.bookmark,
.saved-nav-icon.unsorted {
  mask: url("icons/bookmark-svgrepo-com.svg") center / contain no-repeat;
  -webkit-mask: url("icons/bookmark-svgrepo-com.svg") center / contain no-repeat;
}

.saved-nav-icon.updated {
  border: 2px solid #f2f2f2;
  border-radius: 999px;
  background: transparent;
}

.saved-nav-icon.updated::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  margin: 5px;
  border-radius: 999px;
  background: #f2f2f2;
}

.saved-nav-icon.folder {
  background: var(--folder-color, #f2f2f2);
  mask: url("icons/folder-svgrepo-com copy.svg") center / contain no-repeat;
  -webkit-mask: url("icons/folder-svgrepo-com copy.svg") center / contain no-repeat;
}

.saved-nav-link {
  min-height: 34px;
  border: 1px solid #303030;
  border-radius: 7px;
  background: #1c1c1c;
  color: #f2f2f2;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.saved-nav-link:hover,
.saved-nav-link:focus-visible {
  border-color: #555;
  background: #242424;
  outline: 0;
}

.saved-nav-empty {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.saved-page-header {
  align-items: center;
}

.saved-page-header .saved-folder-chip {
  background: #f2f2f2;
}

.saved-player-search {
  grid-template-columns: minmax(220px, 1.5fr) repeat(6, minmax(118px, 1fr));
  align-items: end;
}

.saved-filter-control {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.saved-filter-control span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.saved-filter-control select {
  min-width: 0;
  min-height: 40px;
  padding: 0 28px 0 10px;
  border: 1px solid #343434;
  border-radius: 7px;
  background: #222;
  color: var(--text);
  font: inherit;
  font-size: 12px;
  font-weight: 800;
}

.saved-player-table {
  max-height: calc(100vh - 270px);
}

.saved-review-card {
  grid-template-columns: 24px 48px minmax(0, 1fr) auto auto;
  gap: 12px;
  min-height: 76px;
  padding: 12px;
}

.saved-review-card .folder-player-photo {
  width: 48px;
  height: 48px;
}

.saved-player-title-line {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
}

.saved-player-title-line h3 {
  overflow: hidden;
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.saved-card-metrics {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.saved-card-metrics span {
  display: grid;
  place-items: center;
  min-width: 52px;
  min-height: 42px;
  padding: 5px 8px;
  border: 1px solid #333;
  border-radius: 7px;
  background: #202020;
}

.saved-card-metrics strong {
  font-size: 14px;
  line-height: 1;
}

.saved-card-metrics em {
  margin-top: 4px;
  color: var(--muted);
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.saved-card-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.saved-card-actions button {
  min-height: 34px;
  border: 1px solid var(--button-border);
  border-radius: var(--button-radius);
  padding: 0 10px;
  background: var(--button-bg);
  color: var(--button-text);
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
  cursor: pointer;
}

.saved-card-actions .danger-folder-action {
  border-color: var(--button-danger-border);
  background: var(--button-danger-bg);
  color: var(--button-danger-text);
}

.saved-card-actions button:hover,
.saved-card-actions button:focus-visible {
  border-color: #555;
  background: #242424;
  outline: 0;
}

.saved-card-actions .danger-folder-action:hover,
.saved-card-actions .danger-folder-action:focus-visible {
  border-color: #6b3636;
  background: #2d1717;
}

@media (max-width: 1320px) {
  .saved-player-search {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .saved-player-search input {
    grid-column: 1 / -1;
  }

  .saved-review-card {
    grid-template-columns: 24px 48px minmax(0, 1fr);
  }

  .saved-card-metrics,
  .saved-card-actions {
    grid-column: 3 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 920px) {
  .saved-player-search {
    grid-template-columns: 1fr;
  }

  .saved-review-card {
    grid-template-columns: 24px 44px minmax(0, 1fr);
  }

  .saved-page-header {
    align-items: flex-start;
  }
}

.folder-player-row h3,
.folder-player-row p {
  margin: 0;
}

.folder-player-row p {
  color: var(--muted);
  font-size: 12px;
}

.folder-player-photo {
  width: 40px;
  height: 40px;
  overflow: hidden;
  border: 1px solid #393939;
  border-radius: 7px;
  background: #303030;
}

.folder-player-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.folder-player-metrics {
  display: flex;
  gap: 8px;
}

.folder-player-metrics span {
  display: grid;
  min-width: 54px;
  min-height: 42px;
  place-items: center;
  border: 1px solid #343434;
  border-radius: 7px;
  background: #252525;
}

.folder-player-metrics strong {
  font-size: 14px;
}

.folder-player-metrics em {
  color: var(--muted);
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
}

.folder-board-players button {
  display: grid;
  gap: 3px;
  min-height: 52px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #292929;
  color: var(--text);
  text-align: left;
}

.folder-board-players span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.search-panel,
.profile-pane {
  min-height: 0;
  height: 100%;
}

.search-panel {
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  align-content: stretch;
  padding: 16px;
  overflow: hidden;
  border-right: 1px solid #252525;
  background: #151515;
}

.panel-header {
  display: grid;
  grid-template-columns: 1fr 116px;
  gap: 8px;
}

.filters {
  display: none;
  grid-template-columns: repeat(5, minmax(118px, 1fr));
  gap: 8px;
  margin: 14px 0 16px;
}

.search-panel.filters-open .filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(118px, 1fr));
  gap: 8px;
  margin: 14px 0 16px;
}

.filters label {
  display: grid;
  gap: 6px;
  min-height: 58px;
  padding: 9px 11px 8px;
  border: 1px solid #303030;
  border-radius: 6px;
  background: linear-gradient(180deg, #292929, #242424);
  color: #a6a6a6;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  position: relative;
}

.filters select {
  position: absolute;
  pointer-events: none;
  opacity: 0;
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #fff;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: none;
}

.filters label:focus-within {
  border-color: #f4f4f4;
  background: #2d2d2d;
}

.filter-select-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-height: 22px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1;
  text-align: left;
  text-transform: none;
}

.filter-select-chevron {
  width: 8px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg) translateY(-2px);
  opacity: 0.9;
}

.filter-select.open .filter-select-chevron {
  transform: rotate(225deg) translateY(-1px);
}

.filter-select-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 60;
  display: none;
  width: min(240px, max(100%, 180px));
  max-height: 280px;
  overflow: auto;
  padding: 6px;
  border: 1px solid #4a4a4a;
  border-radius: 7px;
  background: #111;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.55);
}

.filter-select.open .filter-select-menu {
  display: grid;
  gap: 2px;
}

.filter-select-option {
  display: flex;
  align-items: center;
  min-height: 32px;
  padding: 0 9px;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  color: #f8f8f8;
  font-size: 13px;
  font-weight: 750;
  text-align: left;
}

.filter-select-option:hover,
.filter-select-option:focus-visible {
  border-color: #3d3d3d;
  background: #252525;
  outline: 0;
}

.smart-search-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: -4px 0 14px;
}

.smart-search-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border: 1px solid #3a3a3a;
  border-radius: 999px;
  background: #191919;
  color: #f4f4f4;
  font-size: 11px;
  font-weight: 850;
}

.list-meta {
  margin-bottom: 10px;
  color: #9c9c96;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.list-meta button {
  border: 0;
  background: transparent;
  color: #c9ced5;
  text-transform: none;
}

.player-list {
  display: grid;
  align-content: start;
  gap: 8px;
  height: 100%;
  min-height: 0;
  overflow-y: auto;
  padding-right: 6px;
}

.player-card {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 14px;
  min-height: 112px;
  padding: 10px 12px;
  border: 1px solid #2f2f2f;
  border-radius: 8px;
  background: #191919;
  outline: 0;
}

.player-card:hover,
.player-card.active {
  border-color: #4a4a4a;
  background: #232323;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.035);
}

.player-photo,
.profile-photo {
  overflow: hidden;
  border: 1px solid #393939;
  border-radius: 7px;
  background:
    radial-gradient(circle at 50% 30%, var(--skin, #d8b190) 0 18%, transparent 19%),
    radial-gradient(ellipse at 50% 82%, var(--uniform, #6d2632) 0 34%, transparent 35%),
    linear-gradient(145deg, var(--photo-a, #eef2f5), var(--photo-b, #aeb6c1));
}

.player-photo img,
.profile-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.player-photo {
  width: 92px;
  height: 92px;
}

.player-summary {
  min-width: 0;
  padding-top: 8px;
}

.player-summary h3,
.profile-copy h1 {
  margin: 0;
  letter-spacing: 0;
}

.player-summary h3 {
  overflow: hidden;
  font-size: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.player-title-row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-width: 0;
}

.player-title-row h3 {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
}

.player-vault-id {
  flex: 0 0 auto;
  padding: 3px 6px;
  border: 1px solid #343434;
  border-radius: 6px;
  color: #d8d8d3;
  background: #111;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.05em;
}

.content-grid.profile-open .player-vault-id {
  display: none;
}

.trackman-verified-badge {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
}

.trackman-verified-badge img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.trackman-verified-badge.player-card-verified {
  width: 18px;
  height: 18px;
}

.trackman-verified-badge.profile-verified {
  width: 32px;
  height: 32px;
  margin-top: 4px;
}

.trackman-verified-badge.profile-verified::after {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  z-index: 20;
  width: min(280px, 72vw);
  padding: 12px 13px;
  border: 1px solid #343434;
  border-radius: 8px;
  background: #090909;
  color: #f5f5f2;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.45);
  content: "Verified metrics from an uploaded TrackMan report.";
  font-size: 12px;
  font-weight: 850;
  line-height: 1.35;
  letter-spacing: 0;
  opacity: 0;
  pointer-events: none;
  text-transform: none;
  transform: translateY(4px);
  transition: opacity 140ms ease, transform 140ms ease;
}

.trackman-verified-badge.profile-verified::before {
  position: absolute;
  right: 10px;
  top: calc(100% + 4px);
  z-index: 21;
  width: 10px;
  height: 10px;
  background: #090909;
  border-left: 1px solid #343434;
  border-top: 1px solid #343434;
  content: "";
  opacity: 0;
  pointer-events: none;
  transform: rotate(45deg) translateY(4px);
  transition: opacity 140ms ease, transform 140ms ease;
}

.trackman-verified-badge.profile-verified:hover::after,
.trackman-verified-badge.profile-verified:focus-visible::after,
.trackman-verified-badge.profile-verified:hover::before,
.trackman-verified-badge.profile-verified:focus-visible::before {
  opacity: 1;
  transform: translateY(0);
}

.trackman-verified-badge.profile-verified:hover::before,
.trackman-verified-badge.profile-verified:focus-visible::before {
  transform: rotate(45deg) translateY(0);
}

.player-save-indicator {
  display: block;
  grid-column: 3;
  align-self: center;
  justify-self: center;
  width: 24px;
  height: 24px;
  background: #686868;
  opacity: 0.45;
  mask: url("icons/bookmark-svgrepo-com.svg") center / contain no-repeat;
  -webkit-mask: url("icons/bookmark-svgrepo-com.svg") center / contain no-repeat;
}

.content-grid.profile-open .player-save-indicator {
  width: 22px;
  height: 22px;
}

.player-save-indicator.saved {
  background: var(--team-sidebar-bg);
  opacity: 1;
}

.player-role,
.player-basics {
  margin: 6px 0 0;
  color: #d8d8d3;
}

.player-role {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.player-basics {
  display: grid;
  gap: 2px;
  font-size: 13px;
}

.mini-stat,
.hero-stat {
  display: grid;
  place-items: center;
  min-height: 52px;
  border: 1px solid #3a3a3a;
  border-radius: 7px;
  background: #292929;
}

.mini-stat span,
.hero-stat span,
.info-card span {
  color: #969690;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mini-stat strong {
  margin-top: -2px;
  font-size: 21px;
}

.pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  align-self: end;
  margin-top: auto;
  min-height: 58px;
  color: var(--muted);
}

.pager button {
  min-width: 38px;
  height: 38px;
  border: 1px solid #343434;
  border-radius: 7px;
  background: #222;
}

.pager button.active {
  border-color: #f4f1ea;
  background: #f4f1ea;
  color: #0d0d0d;
}

.pager span {
  margin-left: 18px;
  font-size: 13px;
}

.profile-pane {
  padding: 16px 16px 0;
  overflow-y: auto;
  background: #151515;
}

.profile-pane:has(.coach-profile-shell) {
  padding-top: 0;
}

.widget-panel {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 100%;
}

.widget-card {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid #2f2f2f;
  border-radius: 8px;
  background: #191919;
}

.widget-card span {
  color: #969690;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.widget-card strong {
  font-size: 30px;
  line-height: 1;
}

.widget-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.recent-update-list {
  display: grid;
  gap: 10px;
  max-height: 360px;
  overflow: auto;
  padding-right: 3px;
}

.recent-update-list button {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
}

.recent-update-list button:hover {
  color: var(--accent-light);
}

.recent-avatar {
  grid-row: 1 / 3;
  width: 28px;
  height: 28px;
  overflow: hidden;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 36%, var(--skin) 0 18%, transparent 19%),
    radial-gradient(ellipse at 50% 90%, var(--uniform) 0 45%, transparent 46%),
    var(--photo-a);
}

.recent-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.recent-update-list strong {
  grid-column: 2;
  min-width: 0;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.recent-update-list button > span {
  grid-column: 2 / -1;
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.recent-update-list em {
  grid-column: 3;
  grid-row: 1;
  color: var(--muted);
  font-style: normal;
  font-size: 11px;
  white-space: nowrap;
}

.recent-update-empty {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.profile-shell {
  display: grid;
  gap: 12px;
  min-height: 100%;
  padding-bottom: 84px;
}

.profile-top {
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 24px;
  align-items: start;
}

.profile-photo {
  width: 210px;
  height: 250px;
}

.profile-copy {
  min-width: 0;
  padding-top: 28px;
}

.profile-copy h1 {
  font-size: 27px;
}

.portal-id {
  margin: 12px 0;
  color: #b9c0ca;
  font-size: 17px;
}

.profile-role {
  color: #e6e9ee;
  font-size: 14px;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.verified-box {
  max-width: 330px;
  margin: 20px 0 16px;
  padding: 13px 15px;
  border: 1px solid #3b3b3b;
  border-radius: 8px;
  background: #252525;
}

.verified-box strong {
  display: block;
  margin-bottom: 4px;
  color: #f4f1ea;
  font-size: 14px;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.verified-box small {
  color: #d8d8d3;
}

.contact-lines {
  display: grid;
  gap: 8px;
  font-weight: 750;
}

.profile-actions {
  align-self: start;
}

[data-tooltip] {
  position: relative;
}

[data-tooltip]::before,
[data-tooltip]::after {
  position: absolute;
  z-index: 80;
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms ease, transform 140ms ease;
}

[data-tooltip]::after {
  content: attr(data-tooltip);
  left: 50%;
  bottom: calc(100% + 10px);
  transform: translate(-50%, 4px);
  width: max-content;
  max-width: 230px;
  padding: 8px 10px;
  border: 1px solid #373737;
  border-radius: 7px;
  background: #111;
  color: #fff;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.46);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: 0;
  text-align: center;
  text-transform: none;
  white-space: normal;
}

[data-tooltip]::before {
  content: "";
  left: 50%;
  bottom: calc(100% + 4px);
  transform: translate(-50%, 4px) rotate(45deg);
  width: 10px;
  height: 10px;
  border-right: 1px solid #373737;
  border-bottom: 1px solid #373737;
  background: #111;
}

[data-tooltip]:hover::before,
[data-tooltip]:hover::after,
[data-tooltip]:focus-visible::before,
[data-tooltip]:focus-visible::after {
  opacity: 1;
}

[data-tooltip]:hover::after,
[data-tooltip]:focus-visible::after {
  transform: translate(-50%, 0);
}

[data-tooltip]:hover::before,
[data-tooltip]:focus-visible::before {
  transform: translate(-50%, 0) rotate(45deg);
}

[data-tooltip][data-tooltip-align="left"]::after {
  left: 0;
  transform: translateY(4px);
  text-align: left;
}

[data-tooltip][data-tooltip-align="left"]::before {
  left: 14px;
  transform: translateY(4px) rotate(45deg);
}

[data-tooltip][data-tooltip-align="left"]:hover::after,
[data-tooltip][data-tooltip-align="left"]:focus-visible::after {
  transform: translateY(0);
}

[data-tooltip][data-tooltip-align="left"]:hover::before,
[data-tooltip][data-tooltip-align="left"]:focus-visible::before {
  transform: translateY(0) rotate(45deg);
}

[data-tooltip][data-tooltip-align="right"]::after {
  right: 0;
  left: auto;
  transform: translateY(4px);
  text-align: right;
}

[data-tooltip][data-tooltip-align="right"]::before {
  right: 14px;
  left: auto;
  transform: translateY(4px) rotate(45deg);
}

[data-tooltip][data-tooltip-align="right"]:hover::after,
[data-tooltip][data-tooltip-align="right"]:focus-visible::after {
  transform: translateY(0);
}

[data-tooltip][data-tooltip-align="right"]:hover::before,
[data-tooltip][data-tooltip-align="right"]:focus-visible::before {
  transform: translateY(0) rotate(45deg);
}

[data-tooltip]:disabled::before,
[data-tooltip]:disabled::after {
  display: none;
}


.profile-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.profile-actions > button,
.profile-tools > button,
.profile-tools > a {
  display: inline-grid;
  width: var(--button-height);
  height: var(--button-height);
  place-items: center;
  border: 1px solid var(--button-border);
  border-radius: var(--button-radius);
  background: var(--button-bg);
  color: var(--text);
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
}

.profile-tools > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.profile-actions > button {
  font-size: 24px;
}

#close-profile-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--button-height);
  height: var(--button-height);
  padding: 0;
  font-size: 30px;
  line-height: 0;
  font-weight: 700;
  text-align: center;
}

.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.hero-stat {
  min-height: 92px;
}

.hero-stat strong {
  font-size: 30px;
  line-height: 1;
}

.hero-stat em {
  color: #aeb5be;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.profile-section {
  padding: 12px;
  border: 1px solid #2f2f2f;
  border-radius: 8px;
  background: #191919;
}

.notes-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.notes-section-header h2 {
  margin: 0;
}

.notes-save-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.notes-save-status {
  min-width: 54px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
  text-align: right;
}

.notes-save-button {
  min-height: 32px;
  border: 1px solid #3a3a3a;
  border-radius: 7px;
  padding: 0 10px;
  background: #242424;
  color: var(--text);
  font-size: 12px;
  font-weight: 850;
}

.notes-save-button:hover {
  border-color: #5a5a5a;
  background: #303030;
}

.notes-section textarea {
  width: 100%;
  min-height: 118px;
  resize: vertical;
  border: 1px solid #343434;
  border-radius: 7px;
  outline: 0;
  padding: 12px;
  background: #292929;
  color: var(--text);
  font: inherit;
  line-height: 1.4;
}

.notes-section textarea::placeholder {
  color: var(--muted);
}

.notes-section textarea[data-save-state="saving"] {
  border-color: #777;
}

.notes-section textarea[data-save-state="saved"] {
  border-color: #3f6f55;
}

.notes-section textarea[data-save-state="error"] {
  border-color: #8e3e3e;
}

.profile-section h2 {
  margin: 0 0 12px;
  color: #bec5ce;
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.info-card {
  display: grid;
  gap: 5px;
  min-height: 56px;
  padding: 10px 12px;
  border: 1px solid #343434;
  border-radius: 7px;
  background: #292929;
}

.info-card strong {
  font-size: 16px;
}

.link-row {
  display: grid;
  gap: 8px;
}

.portal-row,
.video-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  padding: 0 14px;
  border: 1px solid #343434;
  border-radius: 7px;
  background: #292929;
}

.portal-row button,
.video-row a,
.folder-action {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid #3a3a3a;
  border-radius: 7px;
  background: #303030;
  color: #fff;
  text-decoration: none;
  font-weight: 750;
}

.save-button {
  border-color: rgba(85, 169, 255, 0.42);
  background: linear-gradient(180deg, #328fff, #1f70d8);
}

.save-button.saved {
  border-color: rgba(247, 206, 70, 0.65);
  background: linear-gradient(180deg, #4b4425, #2d291b);
}

.folder-picker {
  position: relative;
}

.folder-menu {
  position: absolute;
  right: 0;
  bottom: 52px;
  z-index: 5;
  display: grid;
  gap: 6px;
  width: 230px;
  padding: 10px;
  border: 1px solid #3a3a3a;
  border-radius: 8px;
  background: #1f1f1f;
  box-shadow: var(--shadow);
}

.profile-folder-menu {
  top: calc(100% + 8px);
  right: 0;
  bottom: auto;
  left: auto;
}

.coach-profile-shell {
  gap: 14px;
  padding-bottom: 18px;
}


.coach-profile-shell .profile-actions [data-tooltip]::after {
  top: calc(100% + 10px);
  bottom: auto;
}

.coach-profile-shell .profile-actions [data-tooltip]::before {
  top: calc(100% + 4px);
  bottom: auto;
  border: 0;
  border-left: 1px solid #373737;
  border-top: 1px solid #373737;
}

.coach-profile-shell .profile-actions [data-tooltip]:hover::after,
.coach-profile-shell .profile-actions [data-tooltip]:focus-visible::after {
  transform: translate(-50%, 0);
}

.coach-profile-shell .profile-actions [data-tooltip]:hover::before,
.coach-profile-shell .profile-actions [data-tooltip]:focus-visible::before {
  transform: translate(-50%, 0) rotate(45deg);
}

.coach-profile-shell .profile-actions [data-tooltip][data-tooltip-align="left"]:hover::after,
.coach-profile-shell .profile-actions [data-tooltip][data-tooltip-align="left"]:focus-visible::after,
.coach-profile-shell .profile-actions [data-tooltip][data-tooltip-align="right"]:hover::after,
.coach-profile-shell .profile-actions [data-tooltip][data-tooltip-align="right"]:focus-visible::after {
  transform: translateY(0);
}

.coach-profile-shell .profile-actions [data-tooltip][data-tooltip-align="left"]:hover::before,
.coach-profile-shell .profile-actions [data-tooltip][data-tooltip-align="left"]:focus-visible::before,
.coach-profile-shell .profile-actions [data-tooltip][data-tooltip-align="right"]:hover::before,
.coach-profile-shell .profile-actions [data-tooltip][data-tooltip-align="right"]:focus-visible::before {
  transform: translateY(0) rotate(45deg);
}

.coach-profile-shell .profile-actions {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 -16px;
  padding: 12px 14px;
  border-bottom: 1px solid #2a2a2a;
  background: #151515;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.42);
}

.coach-profile-shell .coach-profile-showcase {
  padding-top: 12px;
}

.coach-profile-shell .profile-tools {
  flex-wrap: wrap;
}

.coach-profile-shell .profile-folder-picker {
  position: relative;
  min-width: 0;
}

.coach-profile-shell .profile-actions .ghost-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--button-height);
  width: auto;
  padding: 0 14px;
  white-space: nowrap;
}

.coach-profile-shell .profile-actions .profile-action-button {
  width: 136px;
  min-width: 136px;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0;
}

.coach-profile-shell .profile-actions .profile-action-icon {
  display: inline-grid;
  width: var(--icon-size);
  height: var(--icon-size);
  place-items: center;
  flex: 0 0 var(--icon-size);
  font-size: var(--icon-size);
  line-height: 1;
}

.coach-profile-shell .profile-actions .profile-action-icon img {
  width: var(--icon-size);
  height: var(--icon-size);
  object-fit: contain;
}

.coach-profile-shell .profile-actions .bookmark-action-icon {
  width: var(--icon-size);
  height: var(--icon-size);
  color: currentColor;
}

.coach-profile-shell #profile-folder-button .profile-action-icon img {
  filter: brightness(0) invert(1);
}

.coach-profile-shell .profile-download-button {
  display: inline-grid;
  place-items: center;
}

.coach-profile-shell .profile-download-icon {
  display: block;
  width: 19px;
  height: 19px;
  background: currentColor;
  mask: url("icons/download-svgrepo-com.svg") center / contain no-repeat;
  -webkit-mask: url("icons/download-svgrepo-com.svg") center / contain no-repeat;
}

.coach-profile-shell .profile-actions .save-toggle.saved {
  border-color: rgba(244, 200, 79, 0.55);
  background: #342f1b;
}

.coach-profile-showcase {
  display: grid;
  grid-template-columns: minmax(540px, 1fr) minmax(340px, 0.58fr);
  grid-template-areas:
    "hero stats"
    "recruiting background"
    "pitching season"
    "videos videos"
    "notes notes"
    "updated updated";
  gap: 16px;
  align-content: start;
}

.coach-profile-showcase .showcase-hero,
.coach-profile-showcase .showcase-panel,
.coach-profile-showcase .showcase-stat-rail {
  border: 1px solid #303030;
  border-radius: 6px;
  background: #101010;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.coach-profile-showcase .showcase-hero {
  grid-area: hero;
  display: grid;
  grid-template-columns: minmax(210px, 0.66fr) minmax(300px, 1fr);
  min-height: 318px;
  overflow: hidden;
}

.coach-profile-showcase .showcase-photo {
  min-height: 318px;
  border: 0;
  border-radius: 0;
  background: #3b3b3b;
}

.coach-profile-showcase .showcase-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.coach-profile-showcase .showcase-identity-copy {
  display: grid;
  align-content: center;
  gap: 14px;
  min-width: 0;
  padding: 26px 24px;
}

.coach-profile-showcase .showcase-title-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.coach-profile-showcase .showcase-title-row h1 {
  display: grid;
  gap: 1px;
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: clamp(36px, 4vw, 60px);
  line-height: 0.94;
}

.coach-profile-showcase .showcase-title-row h1 span {
  display: block;
  max-width: 100%;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

.coach-profile-showcase .showcase-identity-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  color: #f4f1ea;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.coach-profile-showcase .showcase-identity-meta span:not(:last-child)::after {
  content: "|";
  margin-left: 7px;
  color: #777;
}

.coach-profile-showcase .showcase-contact {
  display: grid;
  gap: 8px;
  padding-top: 16px;
  border-top: 1px solid #262626;
}

.coach-profile-showcase .showcase-contact .showcase-detail-row,
.coach-profile-showcase .showcase-detail-row,
.coach-profile-showcase .info-card {
  min-height: auto;
  padding: 0 0 10px;
  border: 0;
  border-bottom: 1px solid #252525;
  border-radius: 0;
  background: transparent;
}

.coach-profile-showcase .showcase-contact .showcase-detail-row:last-child,
.coach-profile-showcase .showcase-detail-row:last-child,
.coach-profile-showcase .info-card:last-child {
  border-bottom: 0;
}

.coach-profile-showcase .showcase-detail-row span,
.coach-profile-showcase .info-card span,
.coach-profile-showcase .showcase-metric span {
  color: #9b9b96;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.16em;
}

.coach-profile-showcase .showcase-detail-row strong,
.coach-profile-showcase .info-card strong {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.18;
}

.coach-profile-showcase .showcase-detail-row.is-empty strong,
.coach-profile-showcase .info-card.is-empty strong,
.coach-profile-showcase .showcase-metric.is-empty strong {
  color: #787874;
  font-size: 13px;
  font-weight: 750;
}

.coach-profile-showcase .showcase-stat-rail {
  grid-area: stats;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(88px, 1fr));
  gap: 10px;
  align-content: center;
  justify-content: center;
  min-height: 318px;
  padding: 12px;
  overflow: hidden;
}

.coach-profile-showcase .showcase-stat-rail .showcase-metric {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 6px;
  min-width: 0;
  min-height: 88px;
  padding: 16px 10px;
  border-width: 1px;
  border-radius: 6px;
  background: #0b0b0b;
  text-align: center;
}

.coach-profile-showcase .showcase-stat-rail .showcase-metric:last-child {
  border-right-width: 1px;
}

.coach-profile-showcase .showcase-stat-rail .showcase-metric strong {
  overflow-wrap: anywhere;
  font-size: clamp(18px, 1.7vw, 24px);
  line-height: 1.05;
  text-align: center;
}

.coach-profile-showcase .showcase-stat-rail .showcase-metric span {
  display: block;
  line-height: 1.1;
  max-width: 100%;
  overflow-wrap: anywhere;
  font-size: 10px;
}

.coach-profile-showcase .showcase-stat-rail .showcase-metric:nth-child(1),
.coach-profile-showcase .showcase-stat-rail .showcase-metric:nth-child(2) {
  border-color: rgba(255, 255, 255, 0.62);
}

.coach-profile-showcase .showcase-stat-rail .showcase-metric:nth-child(1) strong,
.coach-profile-showcase .showcase-stat-rail .showcase-metric:nth-child(2) strong {
  font-size: clamp(23px, 2vw, 31px);
}

.coach-profile-showcase .showcase-panel {
  padding: 17px;
}

.coach-profile-showcase .showcase-panel h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  font-size: 17px;
  line-height: 1;
  text-transform: none;
  letter-spacing: 0;
}

.coach-profile-showcase .showcase-panel h2::before {
  content: "";
  width: 3px;
  height: 14px;
  border-radius: 999px;
  background: #f4f1ea;
}

.coach-profile-showcase .recruiting-panel,
.coach-profile-showcase .background-panel {
  min-height: 0;
}

.coach-profile-showcase .recruiting-panel {
  grid-area: recruiting;
}

.coach-profile-showcase .background-panel {
  grid-area: background;
}

.coach-profile-showcase .pitching-panel {
  grid-area: pitching;
}

.coach-profile-showcase .season-panel {
  grid-area: season;
}

.coach-profile-showcase .wide-panel {
  grid-column: auto;
}

.coach-profile-showcase .showcase-videos {
  grid-area: videos;
}

.coach-profile-showcase .coach-notes-panel {
  grid-area: notes;
}

.coach-profile-showcase .showcase-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.coach-profile-showcase .showcase-metric {
  min-height: 70px;
  padding: 12px;
  border: 1px solid #2f2f2f;
  border-radius: 6px;
  background: #070707;
  overflow: hidden;
}

.coach-profile-showcase .showcase-metric strong {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  font-size: 24px;
  line-height: 1.05;
}

.coach-profile-showcase .pitching-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.coach-profile-showcase .pitching-grid .info-card:first-child {
  grid-column: 1 / -1;
  padding: 12px;
  border: 1px solid #2f2f2f;
  border-radius: 6px;
  background: #070707;
}

.coach-profile-showcase .pitching-grid .info-card:not(:first-child) {
  padding: 12px;
  border: 1px solid #2f2f2f;
  border-radius: 6px;
  background: #070707;
}

.pitch-frequency-chart {
  display: grid;
  gap: 8px;
}

.pitch-frequency-header,
.pitch-frequency-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px 96px;
  column-gap: 12px;
  align-items: center;
}

.pitch-frequency-header {
  padding: 0 14px 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pitch-frequency-row {
  position: relative;
  min-height: 64px;
  padding: 12px 14px 14px;
  border: 1px solid #2f2f2f;
  border-radius: 8px;
  background: #070707;
  box-shadow: none;
}

.pitch-frequency-name {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.pitch-frequency-name i {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--pitch-color);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--pitch-color) 72%, #ffffff 12%);
}

.pitch-frequency-name strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 15px;
  font-weight: 850;
  letter-spacing: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pitch-frequency-percent strong {
  color: var(--text);
  font-size: 18px;
  font-weight: 950;
  letter-spacing: 0;
}

.pitch-frequency-velo {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}

.pitch-frequency-bar {
  grid-column: 1 / -1;
  height: 6px;
  margin-left: 28px;
  border-radius: 999px;
  background: #222;
  overflow: hidden;
}

.pitch-frequency-bar span {
  display: block;
  width: var(--pitch-percent);
  height: 100%;
  border-radius: inherit;
  background: var(--pitch-color);
}

@media (max-width: 760px) {
  .pitch-frequency-header,
  .pitch-frequency-row {
    grid-template-columns: minmax(0, 1fr) 70px;
  }

  .pitch-frequency-header span:last-child,
  .pitch-frequency-velo {
    display: none;
  }
}

.coach-profile-showcase .showcase-season-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid #242424;
  border-radius: 6px;
  overflow: hidden;
}

.coach-profile-showcase .showcase-season-grid .showcase-metric {
  min-height: 104px;
  border-width: 0 1px 1px 0;
  border-radius: 0;
}

.coach-profile-showcase .showcase-season-grid .showcase-metric:nth-child(4n) {
  border-right: 0;
}

.coach-profile-showcase .showcase-season-grid .showcase-metric:nth-last-child(-n + 4) {
  border-bottom: 0;
}

.coach-profile-showcase .showcase-season-grid .showcase-metric strong {
  font-size: 25px;
}

.coach-notes-panel textarea {
  min-height: 112px;
  background: #070707;
}

.coach-profile-showcase .showcase-video-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.coach-profile-showcase .showcase-video-card {
  min-height: 0;
}

.coach-profile-showcase .showcase-video-thumb {
  aspect-ratio: 16 / 9;
  min-height: 0;
  overflow: hidden;
  background: #1b1b1b;
}

.coach-profile-showcase .showcase-video-thumb video {
  display: block;
  opacity: 1;
  filter: saturate(1.08) contrast(1.04);
}

.coach-profile-showcase .showcase-video-placeholder {
  width: 100%;
  height: 100%;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0)),
    #1b1b1b;
}

.coach-profile-showcase .showcase-video-thumb.has-preview::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.26));
}

.coach-profile-showcase .showcase-updated {
  grid-area: updated;
  margin: -4px 0 0;
  text-align: right;
}

.account-page:has(.player-owned-profile-shell) {
  display: block;
  height: calc(100vh - 96px);
  margin-top: 10px;
  padding: 12px;
  overflow-x: hidden;
  overflow-y: auto;
}

.player-owned-profile-shell {
  min-height: 100%;
}

.player-owned-showcase {
  grid-template-columns: minmax(520px, 1fr) minmax(340px, 0.58fr);
}

.player-owned-showcase .showcase-videos {
  margin-bottom: 0;
}

@media (max-width: 1180px) {
  .coach-profile-showcase {
    grid-template-columns: 1fr;
    grid-template-areas:
      "hero"
      "stats"
      "recruiting"
      "background"
      "pitching"
      "season"
      "videos"
      "notes"
      "updated";
  }

  .coach-profile-showcase .showcase-stat-rail {
    min-height: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(92px, 1fr));
  }
}

.profile-sticky-actions {
  position: sticky;
  bottom: 0;
  z-index: 8;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: auto -16px 0;
  padding: 12px 16px;
  border-top: 1px solid #2f2f2f;
  background: rgba(21, 21, 21, 0.96);
  backdrop-filter: blur(10px);
}

.profile-folder-picker {
  position: relative;
  min-width: 0;
}

.profile-sticky-actions .ghost-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
}

.profile-sticky-actions .save-toggle.saved {
  border-color: rgba(244, 200, 79, 0.55);
  background: #342f1b;
}

.folder-menu button {
  min-height: 36px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #dce1e8;
  text-align: left;
}

.folder-menu button:hover {
  border-color: #383838;
  background: #2b2b2b;
}

.empty-state {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 8px;
  min-height: 360px;
  border: 1px dashed var(--line-strong);
  border-radius: 8px;
  padding: 28px;
  color: var(--muted);
  text-align: center;
}

.empty-state h3 {
  margin: 0;
  color: var(--text);
  font-size: 16px;
  font-weight: 900;
}

.empty-state p {
  max-width: 360px;
  margin: 0 auto;
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

.compact-empty-state {
  min-height: 128px;
  padding: 18px;
}

.empty-state-action {
  margin-top: 8px;
  min-height: 36px;
  border: 1px solid #343434;
  border-radius: 6px;
  background: #202020;
  padding: 0 14px;
  color: var(--text);
  font-size: 12px;
  font-weight: 900;
}

.empty-state-action:hover {
  border-color: #f2f2ef;
  background: #f2f2ef;
  color: #080808;
}

.panel-search:focus-within,
.control-search:focus-within,
.folder-detail-search:focus-within,
.notes-section textarea:focus-visible,
.filters select:focus-visible,
.filter-select-button:focus-visible {
  border-color: #f2f2ef;
  box-shadow: 0 0 0 2px rgba(242, 242, 239, 0.18);
}

.panel-search input:focus-visible,
.control-search input:focus-visible,
.folder-detail-search input:focus-visible,
.notes-section textarea:focus-visible,
.filters select:focus-visible {
  outline: 0;
}

@media (max-width: 1280px) {
  .app-shell {
    min-width: 1024px;
  }

  .player-profile-showcase {
    grid-template-columns: 1fr;
  }

  .app-shell {
    grid-template-columns: 240px minmax(780px, 1fr);
  }

  .topbar {
    grid-template-columns: minmax(190px, 1fr);
  }

  .top-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  .content-grid {
    grid-template-columns: minmax(520px, 1fr) minmax(420px, 0.8fr);
  }

  .filters {
    grid-template-columns: repeat(3, minmax(118px, 1fr));
  }

  .organization-hero {
    grid-template-columns: 92px minmax(0, 1fr) 148px;
    gap: 14px;
    padding: 18px;
  }

  .organization-hero-logo {
    width: 88px;
    height: 88px;
  }

  .organization-hero h2 {
    font-size: clamp(26px, 3.2vw, 34px);
  }

  .organization-hero-stat-strip {
    max-width: none;
  }

  .organization-hero-stat {
    padding: 0 14px;
  }

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

  .organization-dashboard-grid {
    grid-template-columns: 1fr;
  }

  .settings-layout {
    grid-template-columns: 1fr;
  }

  .settings-nav-panel {
    position: static;
  }

  .settings-section-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 1023px) {
  .app-shell {
    min-width: 0;
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .workspace,
  .search-panel,
  .profile-pane,
  .account-page,
  .control-center-page {
    min-width: 0;
  }

  .content-grid,
  .content-grid.profile-open,
  .folders-page,
  .saved-page {
    grid-template-columns: 1fr;
  }

  .profile-pane {
    min-height: 520px;
  }
}

@media (max-width: 760px) {
  body {
    min-width: 0;
  }

  .app-shell,
  .auth-shell,
  .profile-top,
  .info-grid,
  .hero-stats,
  .filters,
  .panel-header,
  .topbar {
    grid-template-columns: 1fr;
  }

  .showcase-info-grid,
  .showcase-metric-grid {
    grid-template-columns: 1fr;
  }

  .showcase-title-row h1 {
    font-size: 30px;
  }

  .showcase-link-row {
    align-items: flex-start;
    flex-direction: column;
    padding: 12px;
  }

  .organization-hero,
  .organization-stats-grid,
  .organization-coach-table-head,
  .organization-coach-row {
    grid-template-columns: 1fr;
  }

  .organization-hero-logo-left,
  .organization-hero-stat-strip {
    grid-row: auto;
    grid-column: auto;
  }

  .organization-hero-stat-strip {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .organization-hero-stat {
    padding: 0;
    border-left: 0;
  }

  .organization-hero-actions {
    justify-self: stretch;
  }

  .app-shell {
    min-width: 0;
    grid-template-rows: auto minmax(0, 1fr);
  }

  .auth-shell {
    height: auto;
    min-height: 100vh;
    min-height: 100dvh;
    align-items: start;
    overflow: auto;
    padding: 32px 16px 20px;
  }

  .auth-brand-panel {
    top: 18px;
    left: 16px;
  }

  .auth-wordmark {
    width: 156px;
  }

  .auth-stage {
    grid-template-columns: 1fr;
    gap: 12px;
    width: min(100%, 430px);
  }

  .auth-preview {
    min-height: 0;
    padding: 16px;
  }

  .auth-preview-player img {
    width: 68px;
    height: 68px;
  }

  .auth-preview-player h2 {
    font-size: 18px;
  }

  .auth-preview-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .auth-preview-metrics div {
    min-height: 68px;
    padding: 10px;
  }

  .auth-preview-metrics strong {
    font-size: 20px;
  }

  .auth-card {
    min-height: 0;
    padding: 22px;
  }

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

  .sidebar {
    gap: 16px;
    padding: 14px;
    overflow: hidden;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .workspace {
    padding: 14px;
  }

  .auth-shell {
    display: grid;
    min-height: 100vh;
    align-items: start;
    justify-items: center;
    padding: 84px 16px 20px;
  }

  .auth-panel {
    width: 100%;
  }

  .auth-card {
    padding: 22px;
  }

  .vault-mark {
    width: 34px;
    height: 34px;
  }

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

  .folder-section {
    padding: 14px 0;
  }

  .folder-list {
    grid-auto-flow: column;
    grid-auto-columns: minmax(190px, 1fr);
    overflow-x: auto;
    overflow-y: hidden;
  }

  .folder-row {
    min-width: 0;
  }

  .secondary-nav {
    display: grid;
    grid-template-columns: 1fr;
  }

  .top-actions {
    flex-wrap: wrap;
  }

  .topbar {
    gap: 12px;
  }

  .brand {
    font-size: 22px;
  }

  .content-grid {
    margin-top: 12px;
  }

  .search-panel {
    border-right: 0;
  }

  .profile-pane {
    display: none;
    padding: 12px;
  }

  .content-grid.profile-open .search-panel {
    display: none;
  }

  .content-grid.profile-open .profile-pane {
    display: block;
  }

  .settings-header,
  .settings-info-grid,
  .settings-card-row,
  .settings-form-grid,
  .settings-section-nav {
    grid-template-columns: 1fr;
  }

  .settings-header {
    display: grid;
  }

  .filters {
    gap: 8px;
    margin: 12px 0;
  }

  .player-card {
    grid-template-columns: 92px 1fr;
    min-height: 142px;
  }

  .player-photo {
    width: 92px;
    height: 112px;
  }

  .profile-photo {
    width: 100%;
    height: 320px;
  }

  .control-panel-header,
  .application-modal-body {
    grid-template-columns: 1fr;
  }

  .account-card-grid {
    grid-template-columns: 1fr;
  }

  .registration-grid.two,
  .registration-grid.three,
  .registration-grid.four,
  .checkbox-grid,
  .pitch-velocity-row {
    grid-template-columns: 1fr;
  }

  .registration-stat-header {
    display: grid;
  }

  .registration-stat-header p {
    text-align: left;
  }

  .control-center-header,
  .control-tab-panel {
    padding: 14px;
  }

  .control-tabs {
    padding: 10px 14px;
  }

  .admin-table {
    overflow-x: auto;
  }

  .admin-table-head,
  .admin-grid-row,
  .school-row-toggle {
    min-width: 760px;
  }

  .applications-head {
    min-width: 980px;
  }
}

@media (max-width: 1180px) {
  .organization-command-hero {
    grid-template-columns: 1fr;
  }

  .organization-command-hero .organization-hero-actions {
    justify-self: stretch;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: none;
  }

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

  .organization-focused-grid {
    grid-template-columns: 1fr;
  }

  .organization-activity-panel,
  .organization-coaches-panel {
    grid-column: span 2;
  }

  .organization-focused-grid .organization-coaches-panel {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  .organization-page-shell {
    padding: 14px;
  }

  .organization-hero-main,
  .organization-stats-grid,
  .organization-dashboard-grid,
  .organization-detail-grid,
  .organization-brand-swatches {
    grid-template-columns: 1fr;
  }

  .organization-command-hero .organization-hero-actions {
    grid-template-columns: 1fr;
  }

  .organization-command-hero .organization-hero-logo-left {
    width: 92px;
    height: 92px;
  }

  .organization-activity-panel,
  .organization-coaches-panel {
    grid-column: auto;
    min-height: 0;
  }

  .organization-edit-modal {
    padding: 14px;
  }

  .organization-edit-grid,
  .organization-edit-color-grid,
  .organization-edit-logo-row {
    grid-template-columns: 1fr;
  }

  .organization-edit-actions {
    display: grid;
  }
}


/* Player profile: one responsive layout shared by the player and coach views. */
.coach-profile-showcase.profile-showcase-redesign {
  display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: none;
  gap: 20px; align-content: start; min-width: 0; container-type: inline-size;
}
.coach-profile-showcase.profile-showcase-redesign :is(.showcase-hero,.showcase-panel,.coach-notes-panel,.showcase-updated) { grid-area: auto; min-width: 0; }
.coach-profile-showcase.profile-showcase-redesign :is(.showcase-hero,.showcase-panel) { border: 1px solid #2b2b2b; border-radius: 10px; background: #141414; box-shadow: none; }
.coach-profile-showcase.profile-showcase-redesign .profile-hero-wide { display: grid; grid-template-columns: 200px minmax(0,1fr); gap: 28px; min-height: 0; padding: 28px; overflow: visible; }
.coach-profile-showcase.profile-showcase-redesign .showcase-photo { width: 100%; height: 238px; min-height: 0; border: 1px solid #333; border-radius: 7px; background: #1c1c1c; overflow: hidden; }
.coach-profile-showcase.profile-showcase-redesign .showcase-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.coach-profile-showcase.profile-showcase-redesign .showcase-identity-copy { min-width: 0; padding: 0; gap: 20px; align-content: start; }
.coach-profile-showcase.profile-showcase-redesign .showcase-title-row { align-items: flex-start; gap: 16px; }
.coach-profile-showcase.profile-showcase-redesign .showcase-title-row h1 { font-size: clamp(32px, 3.5vw, 52px); line-height: 1; letter-spacing: -.035em; font-weight: 800; }
.coach-profile-showcase.profile-showcase-redesign .showcase-identity-meta { display: flex; flex-wrap: wrap; gap: 6px 10px; font-size: 12px; line-height: 1.5; font-weight: 500; letter-spacing: .02em; text-transform: none; color: #b5b5b1; }
.coach-profile-showcase.profile-showcase-redesign .showcase-identity-meta span:not(:last-child)::after { margin-left: 10px; color: #60605e; }
.coach-profile-showcase.profile-showcase-redesign .showcase-header-details { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px 20px; padding-top: 20px; border-top: 1px solid #303030; }
.coach-profile-showcase.profile-showcase-redesign .showcase-header-detail { min-width: 0; padding: 0; border: 0; }
.coach-profile-showcase.profile-showcase-redesign .showcase-header-detail span { display: block; margin-bottom: 5px; font-size: 11px; font-weight: 500; letter-spacing: .04em; color: #a6a6a2; text-transform: uppercase; }
.coach-profile-showcase.profile-showcase-redesign .showcase-header-detail strong { display: block; font-size: 13px; line-height: 1.5; font-weight: 550; white-space: normal; overflow: visible; overflow-wrap: anywhere; }
.profile-view-tabs { display: flex; width: fit-content; max-width: 100%; gap: 4px; padding: 4px; border: 1px solid #303030; border-radius: 8px; background: #111; }
.profile-view-tab { min-height: 44px; padding: 0 20px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: #aaa; font-size: 14px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.profile-view-tab:hover { color: #fff; background: #222; }
.profile-view-tab.active { border-color: #414141; color: #fff; background: #292929; }
.profile-tab-panel { display: grid; gap: 20px; min-width: 0; }
.profile-tab-panel.hidden { display: none; }
.showcase-kpi-row { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.coach-profile-showcase.profile-showcase-redesign .showcase-kpi-row .showcase-metric { display: grid; grid-template-rows: auto 1fr; gap: 12px; align-content: start; align-items: center; justify-items: start; min-width: 0; min-height: 124px; padding: 18px; text-align: left; border: 1px solid #303030; border-top: 3px solid #f5f5f2; border-radius: 10px; background: linear-gradient(135deg,#191919,#141414); }
.coach-profile-showcase.profile-showcase-redesign .showcase-kpi-row .showcase-metric strong { max-width: 100%; font-size: clamp(28px,3.2cqw,40px); line-height: 1.05; font-weight: 800; letter-spacing: -.035em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.coach-profile-showcase.profile-showcase-redesign .showcase-kpi-row .showcase-metric > span { margin: 0; font-size: 13px; line-height: 1.4; font-weight: 600; letter-spacing: .08em; color: #b3b3b3; }
.coach-profile-showcase.profile-showcase-redesign .showcase-metric.is-empty strong { font-size: 16px; font-weight: 450; letter-spacing: 0; color: #989894; }
.showcase-tab-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.showcase-tab-grid .wide-panel { grid-column: 1 / -1; }
.coach-profile-showcase.profile-showcase-redesign .showcase-panel { padding: 22px; }
.coach-profile-showcase.profile-showcase-redesign .showcase-panel h2 { margin: 0 0 18px; font-size: 18px; font-weight: 600; letter-spacing: -.015em; }
.coach-profile-showcase.profile-showcase-redesign .showcase-panel h2::before { content: none; }
.coach-profile-showcase.profile-showcase-redesign :is(.recruiting-priority-grid,.recruiting-extra-list) { display: grid; gap: 0; }
.coach-profile-showcase.profile-showcase-redesign :is(.showcase-detail-row,.info-card) { min-width: 0; min-height: 0; padding: 13px 0; border: 0; border-bottom: 1px solid #292929; border-radius: 0; background: transparent; }
.coach-profile-showcase.profile-showcase-redesign :is(.showcase-detail-row,.info-card) span { display: block; margin-bottom: 5px; font-size: 11px; font-weight: 500; letter-spacing: .04em; color: #aaa; }
.coach-profile-showcase.profile-showcase-redesign :is(.showcase-detail-row,.info-card) strong { font-size: 14px; font-weight: 500; line-height: 1.55; overflow-wrap: anywhere; }
.coach-profile-showcase.profile-showcase-redesign .background-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; }
.coach-profile-showcase.profile-showcase-redesign .showcase-season-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.coach-profile-showcase.profile-showcase-redesign .season-panel .showcase-season-grid .showcase-metric { display: grid; align-content: center; justify-items: start; gap: 10px; min-width: 0; min-height: 82px; padding: 12px; text-align: left; background: #1b1b1b; }
.coach-profile-showcase.profile-showcase-redesign .season-panel .showcase-season-grid .showcase-metric span { font-size: 11px; font-weight: 500; letter-spacing: .04em; }
.coach-profile-showcase.profile-showcase-redesign .season-panel .showcase-season-grid .showcase-metric strong { font-size: 24px; font-weight: 600; line-height: 1.2; }
.coach-profile-showcase.profile-showcase-redesign .season-panel .showcase-season-grid .showcase-metric.is-empty strong { font-size: 13px; font-weight: 400; color: #999; }
.coach-profile-showcase.profile-showcase-redesign .profile-videos-wide { display: block; width: 100%; grid-column: 1 / -1; }
.coach-profile-showcase.profile-showcase-redesign .showcase-video-grid { width: 100%; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.coach-profile-showcase.profile-showcase-redesign .showcase-video-card { width: 100%; min-width: 0; border-radius: 8px; }
.coach-profile-showcase.profile-showcase-redesign .showcase-video-copy strong { font-size: 14px; font-weight: 600; }
.coach-profile-showcase.profile-showcase-redesign .showcase-video-copy small { font-size: 12px; line-height: 1.5; }
.coach-profile-showcase.profile-showcase-redesign .showcase-video-card.is-empty { opacity: 1; border-style: dashed; }
.coach-profile-showcase.profile-showcase-redesign .profile-recruiting-info-grid { align-items:stretch; gap:20px; }
.coach-profile-showcase.profile-showcase-redesign .player-info-panel,
.coach-profile-showcase.profile-showcase-redesign .player-bio-panel { padding:34px 36px; border-color:#2b2b2b; background:#141414; }
.coach-profile-showcase.profile-showcase-redesign .player-info-heading { margin:0 0 24px; }
.coach-profile-showcase.profile-showcase-redesign .player-info-heading h2 { margin:0; color:#f5f5f2; font-size:clamp(28px,2.6cqw,38px); font-weight:750; letter-spacing:-.035em; line-height:1.08; }
.coach-profile-showcase.profile-showcase-redesign .player-info-heading p { margin:7px 0 0; color:#aaa; font-size:12px; font-weight:800; letter-spacing:.12em; line-height:1.3; text-transform:uppercase; }
.coach-profile-showcase.profile-showcase-redesign .player-info-row-list { display:grid; }
.coach-profile-showcase.profile-showcase-redesign .player-info-row { display:grid; align-content:start; gap:8px; min-width:0; padding:20px 4px; border-bottom:1px solid #292929; }
.coach-profile-showcase.profile-showcase-redesign .player-info-row:first-child { padding-top:8px; }
.coach-profile-showcase.profile-showcase-redesign .player-info-row:last-child { padding-bottom:8px; border-bottom:0; }
.coach-profile-showcase.profile-showcase-redesign .player-info-row > span { margin:0; color:#aaa; font-size:11px; font-weight:850; letter-spacing:.1em; line-height:1.25; text-transform:uppercase; }
.coach-profile-showcase.profile-showcase-redesign .player-info-row > strong { color:#f5f5f2; font-size:17px; font-weight:650; line-height:1.35; overflow-wrap:anywhere; }
.coach-profile-showcase.profile-showcase-redesign .player-info-row.is-empty > strong,
.coach-profile-showcase.profile-showcase-redesign .player-bio-copy.is-empty { color:#989894; font-weight:500; }
.coach-profile-showcase.profile-showcase-redesign .player-recruiting-status-row { gap:10px; }
.recruiting-status-badge { display:inline-flex; align-items:center; justify-self:start; gap:8px; min-height:34px; padding:0 14px; border:1px solid var(--recruiting-status-color); border-radius:999px; background:color-mix(in srgb, var(--recruiting-status-color) 14%, #10151b); color:var(--recruiting-status-color); font-size:14px; font-weight:800; line-height:1; }
.recruiting-status-badge i { display:block; width:8px; height:8px; border-radius:50%; background:var(--recruiting-status-color); box-shadow:0 0 10px color-mix(in srgb, var(--recruiting-status-color) 44%, transparent); }
.coach-profile-showcase.profile-showcase-redesign .player-bio-panel { grid-column:1 / -1; }
.coach-profile-showcase.profile-showcase-redesign .player-bio-copy { min-height:0; margin:0; padding:20px 24px; border:1px solid #343434; border-radius:8px; background:#191919; color:#e5e5e1; font-size:16px; font-weight:500; line-height:1.65; overflow-wrap:anywhere; white-space:pre-wrap; }
@container (max-width:800px) {
  .coach-profile-showcase.profile-showcase-redesign .player-info-panel,
  .coach-profile-showcase.profile-showcase-redesign .player-bio-panel { padding:26px; }
}
@container (max-width:520px) {
  .coach-profile-showcase.profile-showcase-redesign .player-info-panel,
  .coach-profile-showcase.profile-showcase-redesign .player-bio-panel { padding:20px; }
  .coach-profile-showcase.profile-showcase-redesign .player-info-heading h2 { font-size:28px; }
  .coach-profile-showcase.profile-showcase-redesign .player-info-row { padding:17px 2px; }
  .coach-profile-showcase.profile-showcase-redesign .player-bio-copy { padding:16px; font-size:15px; }
}
.player-owned-showcase { grid-template-columns: minmax(0,1fr); }
@container (min-width: 1100px) {
  .coach-profile-showcase.profile-showcase-redesign .showcase-header-details {
    grid-template-columns: minmax(0,1.65fr) minmax(0,1.25fr) minmax(0,.55fr) minmax(0,1.4fr) minmax(0,.7fr) minmax(0,.85fr);
    gap: 18px;
  }
}

@container (max-width: 800px) {
  .coach-profile-showcase.profile-showcase-redesign .profile-hero-wide { grid-template-columns: 140px minmax(0,1fr); gap: 20px; }
  .coach-profile-showcase.profile-showcase-redesign .showcase-photo { height: 180px; }
  .coach-profile-showcase.profile-showcase-redesign .showcase-header-details { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .showcase-tab-grid { grid-template-columns: minmax(0,1fr); }
}
@container (max-width: 520px) {
  .coach-profile-showcase.profile-showcase-redesign .profile-hero-wide { grid-template-columns: minmax(0,1fr); padding: 18px; gap: 20px; }
  .coach-profile-showcase.profile-showcase-redesign .showcase-photo { width: 112px; height: 136px; }
  .coach-profile-showcase.profile-showcase-redesign .showcase-title-row h1 { font-size: 34px; }
  .coach-profile-showcase.profile-showcase-redesign .showcase-header-details { gap: 16px; }
  .showcase-kpi-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .coach-profile-showcase.profile-showcase-redesign .showcase-kpi-row .showcase-metric { padding: 18px; min-height: 112px; gap: 10px; }
  .coach-profile-showcase.profile-showcase-redesign .showcase-panel { padding: 18px; }
  .coach-profile-showcase.profile-showcase-redesign .showcase-video-grid { grid-template-columns: minmax(0,1fr); }
  .coach-profile-showcase.profile-showcase-redesign .showcase-season-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .profile-view-tabs { width: 100%; }
  .profile-view-tab { flex: 1; padding: 0 10px; }
}

/* TrackMan profile visuals */

.trackman-pitch-selector {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 14px;
}

.trackman-pitch-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 999px;
  background: #171717;
  color: #d8d8d4;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease, color 140ms ease;
}

.trackman-pitch-pill::before {
  content: "";
  width: 9px;
  height: 9px;
  margin-right: 8px;
  border-radius: 999px;
  background: var(--pitch-color);
}

.trackman-pitch-pill:hover,
.trackman-pitch-pill.active {
  border-color: var(--pitch-color);
  background: color-mix(in srgb, var(--pitch-color) 18%, #111111);
  color: #ffffff;
}

.trackman-pitch-kpi-panel.hidden {
  display: none;
}

.coach-profile-showcase.profile-showcase-redesign :is(.trackman-pitch-kpi-panel,.manual-pitch-kpi-panel) .showcase-metric {
  border-top-color: var(--pitch-color);
}

.coach-profile-showcase.profile-showcase-redesign .pitching-kpi-row {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.coach-profile-showcase.profile-showcase-redesign .trackman-kpi strong small {
  display: inline;
  margin-left: 4px;
  color: #f5f5f2;
  font-size: 0.48em;
  font-weight: 900;
  letter-spacing: 0;
  vertical-align: 0.34em;
}

.coach-profile-showcase.profile-showcase-redesign .trackman-kpi strong em {
  display: block;
  margin-top: 8px;
  color: #f5f5f2;
  font-size: 0.48em;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1;
}

.trackman-panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
}

.trackman-panel-heading h2 {
  margin-bottom: 6px !important;
}

.trackman-panel-heading p {
  margin: 0;
  color: #aaa;
  font-size: 12px;
}

.trackman-legend {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  gap: 8px;
  max-width: 420px;
}

.trackman-legend span {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  gap: 5px;
  color: #dcdcd8;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.trackman-legend i {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--pitch-color);
}


/* Movement chart: quiet grid, consistent scale, individual pitches and averages. */
.trackman-plot-panel .trackman-panel-heading { align-items: flex-start; gap: 20px; margin-bottom: 24px; }
.trackman-plot-panel .trackman-panel-heading p { font-size: 13px; line-height: 1.6; color: #a5a5a5; }
.trackman-plot-panel .trackman-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; max-width: 460px; padding-top: 4px; }
.trackman-plot-panel .trackman-legend span { font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; color: #c6c6c6; }
.trackman-plot-panel .trackman-legend i { width: 7px; height: 7px; flex-shrink: 0; }
.trackman-plot-panel .trackman-plot-frame { display: flex; justify-content: center; width: min(100%,680px); margin: 0 auto; padding: 12px 24px 58px 66px; }
.trackman-plot-panel .trackman-movement-plot {
  position: relative; width: 100%; max-width: 520px; aspect-ratio: 1; margin: 0 auto;
  border: 1px solid #383838; border-radius: 6px; background-color: #1a1a1a;
  background-image: linear-gradient(to right, #ffffff0b 1px, transparent 1px), linear-gradient(to bottom, #ffffff0b 1px, transparent 1px);
  background-size: 25% 25%; box-shadow: none; overflow: visible;
}
.trackman-plot-panel .trackman-movement-plot::before,
.trackman-plot-panel .trackman-movement-plot::after { content: none; }
.trackman-plot-panel .trackman-zero-axis { position: absolute; z-index: 1; display: block; background: #ffffff; border-radius: 0; box-shadow: none; pointer-events: none; }
.trackman-plot-panel .zero-x { left: 0; right: 0; top: var(--zero-y); height: 2px; transform: translateY(-50%); }
.trackman-plot-panel .zero-y { top: 0; bottom: 0; left: var(--zero-x); width: 2px; transform: translateX(-50%); }
.trackman-plot-panel .trackman-dot { position: absolute; z-index: 2; left: var(--dot-x); top: var(--dot-y); width: 14px; height: 14px; border: 1px solid color-mix(in srgb,var(--pitch-color) 70%,transparent); border-radius: 50%; background: var(--pitch-color); opacity: .78; box-shadow: none; transform: translate(-50%,-50%); }
.trackman-plot-panel .trackman-dot:hover { opacity: 1; }
.trackman-plot-panel .trackman-average-dot { z-index: 3; width: 24px; height: 24px; padding: 0; border: 2px solid var(--pitch-color); background: #1a1a1a; opacity: 1; box-shadow: 0 0 0 3px #1a1a1a; cursor: pointer; }
.trackman-plot-panel .trackman-average-dot::before { content: ''; position: absolute; width: 5px; height: 5px; left: 50%; top: 50%; transform: translate(-50%,-50%); border-radius: 50%; background: var(--pitch-color); }
.trackman-plot-panel .trackman-average-dot:is(:hover,:focus) { z-index: 8; }
.trackman-plot-panel .trackman-average-dot:focus-visible { outline: 2px solid #f3f3ef; outline-offset: 5px; }
.trackman-plot-panel .trackman-avg-tooltip { position: absolute; left: 50%; bottom: calc(100% + 14px); width: 182px; padding: 14px; border: 1px solid #484848; border-radius: 8px; background: #222222; color: #eee; opacity: 0; visibility: hidden; pointer-events: none; transform: translateX(-50%); box-shadow: 0 8px 24px #0006; transition: opacity 120ms ease; }
.trackman-plot-panel .trackman-avg-tooltip::after { content: none; }
.trackman-plot-panel .trackman-average-dot:is(:hover,:focus) .trackman-avg-tooltip { opacity: 1; visibility: visible; transform: translateX(-50%); }
.trackman-plot-panel .trackman-average-dot[data-tooltip-edge='end'] .trackman-avg-tooltip { left: auto; right: -8px; transform: none; }
.trackman-plot-panel .trackman-average-dot[data-tooltip-edge='start'] .trackman-avg-tooltip { left: -8px; transform: none; }
.trackman-plot-panel .trackman-average-dot[data-tooltip-below='true'] .trackman-avg-tooltip { top: calc(100% + 14px); bottom: auto; }
.trackman-plot-panel .trackman-avg-tooltip-title { display: flex; align-items: center; gap: 8px; padding-bottom: 10px; border-bottom: 1px solid #3a3a3a; color: #f3f3ef; text-transform: none; }
.trackman-plot-panel .trackman-avg-tooltip-title i { width: 7px; height: 7px; border-radius: 50%; background: var(--pitch-color); box-shadow: none; }
.trackman-plot-panel .trackman-avg-tooltip-title strong { font-size: 13px; font-weight: 600; letter-spacing: 0; }
.trackman-plot-panel .trackman-avg-tooltip-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-top: 10px; }
.trackman-plot-panel .trackman-avg-tooltip-row + .trackman-avg-tooltip-row { margin-top: 0; border: 0; }
.trackman-plot-panel .trackman-avg-tooltip-row em { color: #b0b0b0; font-size: 12px; font-style: normal; font-weight: 400; letter-spacing: 0; text-transform: none; }
.trackman-plot-panel .trackman-avg-tooltip-row b { color: #f2f2ee; font-size: 15px; font-weight: 550; font-variant-numeric: tabular-nums; }
.trackman-plot-panel .trackman-axis-label { position: absolute; z-index: 1; color: #aaaaaa; font-size: 11px; font-weight: 400; letter-spacing: .02em; text-transform: none; white-space: nowrap; pointer-events: none; }
.trackman-plot-panel .x-label { left: 50%; bottom: -46px; transform: translateX(-50%); }
.trackman-plot-panel .y-label { left: -54px; top: 50%; transform: translate(-50%,-50%) rotate(-90deg); transform-origin: center; }
.trackman-plot-panel .trackman-axis-ticks { position: absolute; z-index: 1; color: #999999; font-size: 10px; font-weight: 400; font-variant-numeric: tabular-nums; pointer-events: none; }
.trackman-plot-panel .trackman-axis-ticks span { position: absolute; white-space: nowrap; font-size: 10px; }
.trackman-plot-panel .trackman-ticks-bottom { left: 0; right: 0; bottom: -24px; height: 14px; }
.trackman-plot-panel .trackman-ticks-bottom span { left: var(--tick); transform: translateX(-50%); }
.trackman-plot-panel .trackman-ticks-left { top: 0; bottom: 0; left: -38px; width: 26px; text-align: right; }
.trackman-plot-panel .trackman-ticks-left span { top: var(--tick); right: 0; transform: translateY(-50%); }
.trackman-plot-panel .trackman-plot-key { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 10px 22px; margin-top: 8px; padding-top: 16px; border-top: 1px solid #303030; color: #a0a0a0; font-size: 11px; line-height: 1.5; }
.trackman-plot-key span { display: inline-flex; align-items: center; gap: 7px; }
.trackman-key-dot { width: 5px; height: 5px; border-radius: 50%; background: #aaaaaa; opacity: .6; }
.trackman-key-ring { width: 11px; height: 11px; border: 1.5px solid #c5c5c5; border-radius: 50%; }
@media (max-width:760px) {
  .trackman-plot-panel .trackman-panel-heading { display: grid; gap: 12px; margin-bottom: 20px; }
  .trackman-plot-panel .trackman-legend { justify-content: flex-start; }
}
@media (max-width:520px) {
  .trackman-plot-panel .trackman-plot-frame { padding: 12px 10px 54px 46px; }
  .trackman-plot-panel .y-label { left: -40px; }
  .trackman-plot-panel .trackman-ticks-left { left: -29px; width: 21px; }
  .trackman-plot-panel .trackman-dot { width: 11px; height: 11px; }
  .trackman-plot-panel .trackman-average-dot { width: 21px; height: 21px; }
  .trackman-plot-panel .trackman-avg-tooltip { width: 148px; padding: 10px; }
  .trackman-plot-panel .trackman-plot-key { gap: 8px 14px; }
}

.trackman-empty {
  display: grid;
  min-height: 220px;
  place-items: center;
  border: 1px dashed #343434;
  border-radius: 6px;
  color: #aaa;
  text-align: center;
}

@media (max-width: 1180px) {
  .coach-profile-showcase.profile-showcase-redesign .pitching-kpi-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .coach-profile-showcase.profile-showcase-redesign .pitching-kpi-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trackman-panel-heading {
    display: grid;
  }

  .trackman-legend {
    justify-content: flex-start;
  }
}


/* TrackMan upload controls */
.registration-trackman-block {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid #303030;
  border-radius: 8px;
  background: #111;
}

.registration-section-heading.compact-heading h4 {
  margin: 0 0 6px;
  color: #f4f1ea;
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.registration-section-heading.compact-heading p {
  margin: 0;
  color: #aaa;
  font-size: 13px;
  line-height: 1.35;
}

.trackman-import-preview {
  display: grid;
  gap: 10px;
  min-height: 44px;
  padding: 12px;
  border: 1px dashed #343434;
  border-radius: 7px;
  background: #080808;
  color: #aaa;
}

.trackman-import-preview article {
  display: grid;
  gap: 4px;
  padding: 10px 0;
  border-bottom: 1px solid #242424;
}

.trackman-import-preview article:last-child {
  border-bottom: 0;
}

.trackman-import-preview strong {
  color: #f4f1ea;
  font-size: 13px;
}

.trackman-import-preview span {
  color: #aaa;
  font-size: 12px;
}


.vault-readiness-slot:empty {
  display: none;
}

.player-registration-form .vault-readiness-slot {
  display: none;
}

.vault-readiness-banner {
  display: grid;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid #343434;
  border-radius: 8px;
  background: #181818;
  color: var(--text);
}

.player-owned-profile-shell > .vault-readiness-banner {
  margin-bottom: 14px;
}

.vault-readiness-banner.is-complete {
  border-color: rgba(105, 220, 132, 0.55);
  background: rgba(40, 105, 52, 0.18);
}

.vault-readiness-copy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.vault-readiness-copy span {
  color: var(--text);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
}

.vault-readiness-copy strong {
  color: #b8b8b3;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.35;
  text-align: right;
}

.vault-readiness-meter {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #080808;
}

.vault-readiness-meter span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #f5f5f2;
  transition: width 0.25s ease;
}

.vault-readiness-banner.is-complete .vault-readiness-meter span {
  background: #69dc84;
}

.vault-readiness-missing {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.vault-readiness-missing span {
  padding: 5px 8px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: #222;
  color: #d6d6d0;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
}

.player-registration-form .vault-required-field {
  position: relative;
}

.player-registration-form .vault-required-field::after {
  content: "Vault ready";
  justify-self: start;
  width: fit-content;
  padding: 3px 6px;
  border: 1px solid #3a3a3a;
  border-radius: 999px;
  color: #a9a9a2;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.player-registration-form .vault-required-missing input,
.player-registration-form .vault-required-missing select,
.player-registration-form .vault-required-missing textarea,
.player-registration-form .vault-required-missing.registration-media-frame,
.player-registration-form .vault-required-missing.checkbox-grid {
  border-color: rgba(255, 92, 92, 0.68);
  box-shadow: 0 0 0 2px rgba(255, 92, 92, 0.1);
}

.player-registration-form .vault-required-missing::after {
  border-color: rgba(255, 92, 92, 0.38);
  color: #ffabab;
}

.registration-validation-summary {
  display: grid;
  gap: 6px;
}

.registration-validation-summary button {
  width: fit-content;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 720px) {
  .vault-readiness-copy {
    align-items: flex-start;
    flex-direction: column;
  }

  .vault-readiness-copy strong {
    text-align: left;
  }
}

/* Shared authentication and onboarding system */
.auth-shell {
  padding: 48px 20px;
  background: radial-gradient(circle at 50% 30%, rgba(255, 255, 255, 0.045), transparent 34rem), #050505;
}

.auth-card,
.signup-page-shell {
  border-color: #303030;
  border-radius: 12px;
  background: #151515;
  box-shadow: 0 24px 72px rgba(0, 0, 0, 0.46);
}

.signup-page-shell {
  background: #151515;
}

.auth-card-header {
  gap: 8px;
  margin-bottom: 22px;
}

.auth-card-logo,
.signup-page-logo {
  width: 46px;
  height: 46px;
  margin-bottom: 6px;
}

.auth-card-header span,
.signup-page-header span,
.auth-form > label,
.auth-name-grid label {
  color: #b6b6b0;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.14em;
}

.auth-card-header h2,
.signup-page-header h2 {
  font-family: inherit;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.auth-card-header h2 {
  font-size: clamp(30px, 3vw, 38px);
  line-height: 0.95;
}

.signup-page-header h2 {
  font-size: clamp(42px, 4.2vw, 58px);
}

.auth-card-header p,
.signup-page-header p {
  color: #b8b8b2;
  font-size: 14px;
}

.auth-form {
  gap: 14px;
}

.auth-form input,
.auth-form select {
  min-height: 50px;
  padding: 0 15px;
  border-color: #353535;
  border-radius: 8px;
  background: #252525;
  transition: border-color 190ms ease, background 190ms ease, box-shadow 190ms ease;
}

.auth-form input:hover,
.auth-form select:hover {
  border-color: #484848;
}

.auth-form input:focus,
.auth-form select:focus {
  border-color: #edebe5;
  box-shadow: 0 0 0 2px rgba(237, 235, 229, 0.12);
}

.auth-primary,
.auth-secondary {
  min-height: 52px;
  border-radius: 8px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: transform 190ms ease, border-color 190ms ease, background 190ms ease, box-shadow 190ms ease, color 190ms ease;
}

.auth-primary {
  border-color: #f2f2ee;
  background: #f2f2ee;
  color: #080808;
}

.auth-primary:hover,
.auth-primary:focus-visible {
  border-color: #fff;
  background: #fff;
  color: #080808;
  box-shadow: 0 7px 18px rgba(0, 0, 0, 0.22);
  transform: translateY(-1px);
}

.auth-secondary {
  border-color: #353535;
  background: #1b1b1b;
  color: #f1f1ec;
}

.auth-secondary:hover,
.auth-secondary:focus-visible {
  border-color: #edebe5;
  background: #202020;
  color: #fff;
}

.auth-oauth-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #9a9a94;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.auth-oauth-divider span {
  height: 1px;
  flex: 1;
  background: #353535;
}

.auth-google-button {
  display: inline-flex;
  width: 100%;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid #4a4a4a;
  border-radius: 8px;
  background: #fff;
  color: #161616;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
  transition: transform 190ms ease, border-color 190ms ease, background 190ms ease, box-shadow 190ms ease;
}

.auth-google-button svg {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
}

.auth-google-button:hover,
.auth-google-button:focus-visible {
  border-color: #fff;
  background: #f4f4f1;
  box-shadow: 0 7px 18px rgba(0, 0, 0, .22);
  transform: translateY(-1px);
}

.auth-google-button:disabled {
  cursor: wait;
  opacity: .68;
  transform: none;
}

.auth-back {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  margin: 0;
  border-color: #353535;
  border-radius: 8px;
  background: #202020;
  transition: transform 190ms ease, border-color 190ms ease, background 190ms ease;
}

.auth-back:hover,
.auth-back:focus-visible {
  border-color: #edebe5;
  background: #272727;
  transform: translateX(-1px);
}

.auth-text-button,
.auth-inline-switch button,
.auth-coach-access button {
  transition: color 190ms ease, text-decoration-color 190ms ease;
}

.auth-text-button:hover,
.auth-inline-switch button:hover,
.auth-coach-access button:hover {
  color: #fff;
  text-decoration-color: currentColor;
}

.auth-signup-cta {
  gap: 9px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #2e2e2e;
}

.auth-coach-access {
  margin: 16px 0 0;
  color: #95958f;
  font-size: 12px;
  text-align: center;
}

.auth-coach-access button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #deded8;
  font-size: inherit;
  font-weight: 900;
  text-transform: uppercase;
}

.application-card {
  padding: 30px;
}

.application-form {
  max-height: none;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: visible;
  padding-right: 0;
}

.application-form .auth-name-grid,
.application-form > label:has(#coach-school-name),
.application-form > .auth-primary {
  grid-column: 1 / -1;
}

.application-card > .auth-note {
  margin: 16px 0 0;
  color: #aaa9a3;
  text-align: center;
}

@media (max-width: 760px) {
  .auth-card-header h2,
  .signup-page-header h2 {
    font-size: 38px;
  }

  .application-card {
    padding: 22px;
  }

  .application-form {
    grid-template-columns: 1fr;
  }

  .application-form .auth-name-grid,
  .application-form > label:has(#coach-school-name),
  .application-form > .auth-primary {
    grid-column: auto;
  }
}


/* Purchase and access screens share the landing page's restrained hierarchy. */
.auth-shell,.auth-shell:has(#signup-view:not(.hidden)) { height: 100dvh; min-height: 0; overflow: auto; background: #080808; }
.auth-stage,.auth-stage:has(#signup-view:not(.hidden)),.auth-stage:has(#coach-application-view:not(.hidden)),.auth-stage:has(#checkout-success-view:not(.hidden)),.auth-stage:has(#checkout-cancel-view:not(.hidden)) { min-width: 0; grid-template-columns: minmax(0,1fr); }
.auth-panel,.signup-page-shell,.auth-form,.auth-form label,.auth-form input,.auth-form select { min-width: 0; }
.auth-card,.signup-page-shell { background: #111; box-shadow: 0 8px 28px #0003; }
.signup-page-shell { width: min(100%, 1080px); padding: 32px; gap: 24px; }
.signup-page-header { gap: 10px; }
.signup-page-header h2 { font-size: clamp(32px,3.8vw,44px); letter-spacing: -.04em; line-height: 1.08; }
.signup-page-header p,.auth-card-header p { font-size: 16px; line-height: 1.6; }
.player-signup-layout { grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: 28px; }
.player-signup-form-panel { border: 0; padding: 0; box-shadow: none; background: transparent; }
.player-signup-form-panel.auth-form input,.auth-form input,.auth-form select { font-size: 16px; font-weight: 400; border-radius: 6px; background: #1d1d1d; }
.auth-form > label,.auth-name-grid label { font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.auth-primary,.auth-secondary,.signup-submit-button.auth-primary { min-height: 48px; border-radius: 6px; padding: 12px 16px; font-size: 14px; font-weight: 650; text-transform: none; letter-spacing: 0; box-shadow: none; }
.auth-primary:hover,.auth-primary:focus-visible { box-shadow: none; transform: none; }
.signup-submit-button.auth-primary:disabled { border-color: #2d2d2d; background: #242424; color: #8e8e8e; opacity: 1; }
.auth-google-button:hover,.auth-google-button:focus-visible { border-color: #4a4a4a; background: #fff; box-shadow: none; transform: none; }
.auth-shell :is(button,a):focus-visible { outline: 2px solid #7da0ff; outline-offset: 4px; }
.auth-shell :is(input,select):focus { outline: 2px solid #7da0ff; outline-offset: 2px; box-shadow: none; }
.auth-shell button:active:not(:disabled) { transform: translateY(1px); }
.auth-shell button:disabled { transform: none; }
.auth-back { width: 44px; height: 44px; }
.membership-summary-card { padding: 24px; gap: 12px; background: #181818; box-shadow: none; border-radius: 8px; }
.membership-summary-card h3 { font-size: 22px; line-height: 1.2; font-weight: 600; text-transform: none; }
.membership-summary-card strong { font-size: 36px; line-height: 1.1; letter-spacing: -.04em; }
.membership-summary-badge { padding: 0; border: 0; background: transparent; color: #a9c0ff !important; font-size: 13px !important; font-weight: 500; letter-spacing: 0; text-transform: none; }
.membership-summary-list { gap: 10px; padding-top: 18px; border-top: 1px solid #333; }
.membership-summary-list li { font-size: 14px; line-height: 1.5; font-weight: 400; padding-left: 22px; }
.membership-summary-list li::before { width: auto; height: auto; border: 0; font-size: 14px; color: #aaa; }
.membership-secure-note { font-size: 12px; font-weight: 400; text-transform: none; color: #aaa; }
.membership-secure-note svg { width: 16px; height: 16px; flex-shrink: 0; }
.auth-progress span { font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; color: #999; }
.auth-progress b { flex-shrink: 0; }
.auth-inline-switch,.auth-coach-access { font-size: 14px; line-height: 1.6; color: #aaa; }
.auth-coach-access button { text-transform: none; font-weight: 600; }
.signup-note.auth-note { line-height: 1.55; font-size: 13px; }
@media (max-width:900px) {
  .player-signup-layout { grid-template-columns: 1fr; }
  .membership-summary-card { order: -1; }
  .membership-summary-list { display: none; }
  .signup-page-shell { width: min(100%,600px); }
}
@media (max-width:600px) {
  .auth-shell:has(#signup-view:not(.hidden)) { padding: 16px 12px; }
  .signup-page-shell { padding: 62px 18px 24px; gap: 22px; }
  .signup-page-header h2 { font-size: 32px; }
  .signup-page-header p { font-size: 14px; }
  .signup-stepper { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  .signup-stepper span { flex-direction: column; justify-content: flex-start; gap: 6px; text-align: center; line-height: 1.4; }
  .membership-summary-card { padding: 18px; gap: 8px; }
  .membership-summary-card h3 { font-size: 20px; }
  .membership-summary-card strong { font-size: 32px; }
  .membership-secure-note { margin-top: 4px; padding-top: 12px; }
  .player-signup-form-panel .auth-name-grid { grid-template-columns: 1fr; }
  .auth-card-header h2 { font-size: 32px; line-height: 1.05; }
}

/* Authenticated UI system. Public landing and purchase surfaces remain independent. */
.app-shell { min-width: 0; grid-template-columns: 220px minmax(0,1fr); grid-template-rows: minmax(0,1fr); }
.app-shell .sidebar { z-index: 30; gap: 20px; padding: 22px 16px; }
.app-shell .nav-item { min-height: 44px; border-radius: 7px; font-size: 14px; font-weight: 550; }
.app-shell .nav-item.active { background: var(--team-sidebar-accent); color: var(--team-header-text); }
.app-shell .topbar { position:relative; grid-template-columns: minmax(0,1fr) auto; min-height: 72px; gap: 16px; padding: 12px 24px; border-bottom-width: 1px; z-index: 25; }
.app-shell .top-actions { grid-column: 2; justify-content: flex-end; }
.app-shell .topbar .brand-lockup { position:absolute; top:50%; left:calc(50% - 110px); z-index:1; transform:translate(-50%,-50%); }
.app-shell .brand-logo { width:270px; max-height:44px; object-position:center; }
.app-shell .profile-menu { max-width: 260px; min-height: 44px; }
.app-shell .profile-menu strong { font-size: 13px; font-weight: 550; }
.app-shell .profile-menu small { font-size: 11px; text-transform: capitalize; }
.app-shell .account-dropdown { min-width: 190px; padding: 6px; border: 1px solid #383838; border-radius: 8px; box-shadow: 0 12px 35px #0006; }
.app-shell .account-dropdown button { min-height: 44px; border-radius: 5px; font-size: 14px; font-weight: 500; }
.app-shell :is(button,a,input,select,textarea):focus-visible,
:is(#player-registration-modal,.confirm-modal,.video-modal,.trim-modal) :is(button,a,input,select,textarea):focus-visible { outline: 2px solid #9bb6ff; outline-offset: 3px; box-shadow: none; }
.app-shell :is(button,a) { -webkit-tap-highlight-color: transparent; }
.app-shell :is(.settings-note,.auth-note)[data-type='error'] { color: #ffb1b1; }
.app-shell :is(.settings-note,.auth-note)[data-type='success'] { color: #a1dab4; }
html.player-account .app-shell { background: #101010; }
html.player-account .workspace { padding: 0; }
html.player-account .topbar { margin: 0; }
html.player-account :is(#account-view,#settings-view) { margin: 0; padding: 28px; min-width: 0; border: 0; border-radius: 0; background: transparent; overscroll-behavior: contain; scroll-padding-top: 24px; }
html.player-account #account-view { display: block; overflow: auto; }
html.player-account #account-view.hidden { display: none; }
html.player-account .player-owned-profile-shell { display: grid; min-height: 0; height: auto; max-width: 1220px; margin: 0 auto; padding: 0; border: 0; overflow: visible; background: transparent; }
.player-profile-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 0 0 20px; }
.player-profile-toolbar p { margin: 0; font-size: 14px; color: #aaa; }
.player-profile-toolbar p strong { display: block; margin-bottom: 4px; color: #eee; font-size: 18px; font-weight: 600; }
.player-profile-toolbar-actions { display: flex; gap: 10px; }
.player-profile-toolbar :is(button,.player-profile-toolbar-button) { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; border:1px solid #3a3a3a; border-radius:6px; background:#202020; color:#eee; font-size:13px; font-weight:600; white-space:nowrap; text-decoration:none; }
.player-profile-toolbar .player-profile-x-button { background:#050505; border-color:#2d2d2d; }
.player-profile-toolbar .player-profile-x-button:hover { background:#000; border-color:#686868; }
.player-profile-x-mark { width:18px; height:18px; object-fit:contain; filter:invert(1); }
.player-profile-toolbar .player-profile-icon-button { position:relative; width:44px; padding:10px; background:#202020; }
.player-profile-icon-button img { width:18px; height:18px; object-fit:contain; filter:invert(1); }
.player-profile-toolbar :is(button,.player-profile-toolbar-button)[data-tooltip] { position:relative; }
.player-profile-toolbar :is(button,.player-profile-toolbar-button)[data-tooltip]::before { content:none; display:none; }
.player-profile-toolbar :is(button,.player-profile-toolbar-button)[data-tooltip]::after { position:absolute; z-index:8; top:calc(100% + 8px); bottom:auto; left:50%; width:max-content; max-width:calc(100vw - 24px); box-sizing:border-box; padding:7px 9px; border:1px solid #454545; border-radius:5px; background:#111; color:#f2f2ee; content:attr(data-tooltip); font-size:12px; font-weight:600; line-height:1.2; opacity:0; pointer-events:none; text-align:center; transform:translate(-50%,-3px); transition:opacity .15s ease, transform .15s ease; white-space:normal; }
.player-profile-toolbar :is(button,.player-profile-toolbar-button)[data-tooltip]:hover::after, .player-profile-toolbar :is(button,.player-profile-toolbar-button)[data-tooltip]:focus-visible::after { opacity:1; transform:translate(-50%,0); }
.player-profile-icon-button:disabled { width:auto; min-width:44px; }
.player-profile-toolbar #edit-my-profile-button { background: #f2f2ee; border-color: #f2f2ee; color: #111; }
.player-profile-toolbar :is(button,.player-profile-toolbar-button):hover { border-color: #aaa; }
.inline-profile-edit-shell { padding-bottom:28px; }
.inline-profile-toolbar { align-items:flex-start; }
.inline-profile-toolbar #inline-profile-save,.inline-profile-save-bar button[type="submit"] { border-color:#f2f2ee; background:#f2f2ee; color:#111; }
.inline-profile-status { min-height:20px; margin:-8px 0 14px; color:#aaa; font-size:13px; font-weight:650; }
.inline-profile-status[data-type="error"] { color:#ff9e9e; }
.inline-profile-sections { display:grid; gap:14px; }
.inline-profile-section { padding:24px 28px; }
.inline-profile-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.inline-profile-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.inline-profile-grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.inline-profile-field { display:grid; gap:7px; min-width:0; }
.inline-profile-field > span { color:#a8a8a3; font-size:10px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.inline-profile-field :is(input,select,textarea) { width:100%; min-height:42px; border:1px solid #3a3a3a; border-radius:6px; background:#202020; color:#f2f2ee; font:inherit; font-size:14px; font-weight:600; }
.inline-profile-field :is(input,select) { padding:0 11px; }
.inline-profile-field textarea { min-height:108px; padding:11px; line-height:1.45; resize:vertical; }
.inline-profile-field :is(input,select,textarea):focus { border-color:#e9e8e1; outline:2px solid rgba(242,242,238,.16); outline-offset:1px; }
.inline-profile-field input[readonly] { color:#9b9b96; background:#171717; cursor:not-allowed; }
.inline-profile-field-wide { margin-top:16px; }
.inline-profile-verified-lock { display:grid; gap:6px; padding:16px; border:1px solid #394e64; border-radius:7px; background:#131a22; }
.inline-profile-verified-lock strong { color:#d9e9ff; font-size:14px; font-weight:850; }
.inline-profile-verified-lock span { color:#afbecd; font-size:13px; line-height:1.45; }
.inline-profile-save-bar { position:sticky; bottom:12px; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:14px; padding:12px 14px; border:1px solid #3a3a3a; border-radius:8px; background:rgba(24,24,24,.96); box-shadow:0 12px 28px rgba(0,0,0,.28); }
.inline-profile-save-bar > span { color:#aaa; font-size:12px; font-weight:600; line-height:1.4; }
.inline-profile-save-bar > div { display:flex; flex-shrink:0; gap:8px; }
.inline-profile-save-bar button { min-height:40px; padding:0 14px; border:1px solid #3a3a3a; border-radius:6px; background:#222; color:#f2f2ee; font-size:13px; font-weight:750; }
.coach-profile-showcase.profile-showcase-redesign .player-owned-title-row { align-items:flex-start; justify-content:space-between; gap:20px; }
.player-profile-identifiers { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; padding-top:2px; }
.profile-vault-id { display:inline-flex; align-items:center; min-height:28px; padding:0 9px; border:1px solid #353535; border-radius:6px; background:#1b1b1b; color:#d9d9d5; font-size:11px; font-weight:800; letter-spacing:.07em; line-height:1; white-space:nowrap; }
.coach-profile-showcase.profile-showcase-redesign.player-owned-showcase .showcase-header-details { grid-template-columns:repeat(5,minmax(0,1fr)); }
@container (max-width:900px) {
  .coach-profile-showcase.profile-showcase-redesign.player-owned-showcase .showcase-header-details { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@container (max-width:600px) {
  .coach-profile-showcase.profile-showcase-redesign.player-owned-showcase .showcase-header-details { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .coach-profile-showcase.profile-showcase-redesign .player-owned-title-row { flex-direction:column; gap:12px; }
  .player-profile-identifiers { justify-content:flex-start; }
}
.public-player-view {
  height:100vh;
  height:100dvh;
  min-height:100vh;
  min-height:100dvh;
  padding:28px;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
  background:#101010;
  color:#f2f2ee;
}
.public-profile-shell { width:min(1220px,100%); margin:0 auto; }
.public-profile-topbar { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:44px; margin-bottom:24px; }
.public-profile-topbar nav { display:flex; align-items:center; gap:10px; }
.public-profile-topbar nav a { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 13px; border:1px solid #3a3a3a; border-radius:6px; color:#f2f2ee; font-size:13px; font-weight:650; text-decoration:none; }
.public-profile-topbar nav a:hover { border-color:#777; background:#1c1c1c; }
.public-profile-topbar img,
.public-profile-message img { width:220px; max-height:44px; object-fit:contain; object-position:left center; }
.public-profile-message { display:grid; min-height:70vh; align-content:center; justify-items:center; gap:14px; padding:28px; color:#aaa; text-align:center; }
.public-profile-message h1 { margin:8px 0 0; color:#f2f2ee; font-size:28px; }
.public-profile-message p { margin:0; font-size:14px; line-height:1.55; }
.public-profile-message a { display:inline-flex; align-items:center; min-height:40px; padding:0 14px; border:1px solid #3a3a3a; border-radius:6px; color:#eee; text-decoration:none; }
@media (max-width:760px) {
  .player-profile-toolbar { align-items:flex-start; flex-direction:column; }
  .player-profile-toolbar-actions { flex-wrap:wrap; }
  .inline-profile-grid,.inline-profile-grid.two,.inline-profile-grid.four { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .inline-profile-section { padding:18px; }
  .inline-profile-save-bar { align-items:flex-start; flex-direction:column; }
  .public-player-view { padding:18px; }
  .public-profile-topbar { align-items:flex-start; flex-direction:column; }
}
@media (max-width:460px) {
  .player-profile-toolbar-actions { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .player-profile-toolbar :is(button,.player-profile-toolbar-button) { min-width:0; padding:10px; }
  .player-profile-toolbar #edit-my-profile-button { grid-column:span 2; }
  .inline-profile-grid,.inline-profile-grid.two,.inline-profile-grid.four { grid-template-columns:1fr; }
  .inline-profile-save-bar > div { width:100%; }
  .inline-profile-save-bar button { flex:1; padding-inline:10px; }
}
#settings-view .settings-shell { gap: 28px; max-width: 1160px; }
#settings-view .settings-header { padding: 0 0 22px; border: 0; border-bottom: 1px solid #2d2d2d; border-radius: 0; background: transparent; }
#settings-view .settings-header h1 { margin: 6px 0 10px; font-size: 30px; font-weight: 650; letter-spacing: -.03em; }
#settings-view .settings-header p { max-width: 620px; font-size: 14px; line-height: 1.6; }
#settings-view .settings-layout { grid-template-columns: 176px minmax(0,1fr); gap: 24px; }
#settings-view .settings-nav-panel { top: 0; padding: 4px 0; border: 0; background: transparent; position: sticky; }
#settings-view .settings-nav-panel > span { padding: 0 12px; font-weight: 500; }
#settings-view .settings-section-nav { display: grid; grid-template-columns: minmax(0,1fr); gap: 4px; }
#settings-view .settings-section-nav a { min-height: 42px; padding: 10px 12px; font-size: 13px; font-weight: 500; }
#settings-view .settings-section-nav a[aria-current='location'] { color: #fff; background: #252525; border-color: #333; }
#settings-view .settings-content-stack { gap: 20px; }
#settings-view .settings-panel { min-width: 0; padding: 24px; gap: 20px; border-color: #2d2d2d; border-radius: 10px; background: #151515; scroll-margin-top: 24px; }
#settings-view .settings-subsection { scroll-margin-top: 24px; }
#settings-view .settings-panel-heading { gap: 6px; }
#settings-view .settings-panel-heading > span { font-size: 10px; font-weight: 500; letter-spacing: .1em; }
#settings-view .settings-panel-heading h2 { margin: 0; font-size: 21px; font-weight: 600; letter-spacing: -.02em; }
#settings-view .settings-panel-heading p { font-size: 14px; line-height: 1.6; max-width: 640px; }
#settings-view :is(.settings-info-grid,.settings-card-row) { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
#settings-view :is(.settings-info-item,.settings-mini-card) { padding: 0 0 14px; border: 0; border-bottom: 1px solid #303030; border-radius: 0; background: transparent; }
#settings-view :is(.settings-info-item,.settings-mini-card) span { font-size: 11px; font-weight: 500; letter-spacing: .03em; }
#settings-view :is(.settings-info-item,.settings-mini-card) strong { margin-top: 8px; font-size: 15px; font-weight: 550; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
#settings-view .settings-mini-card p { font-size: 12px; line-height: 1.5; }
#settings-view .settings-action-row { margin: 0; gap: 14px; flex-wrap: wrap; }
#settings-view :is(.settings-action-button,.settings-secondary-button,.settings-danger-button) { width: auto; min-height: 44px; padding: 10px 18px; margin-top: 0; border-radius: 6px; font-size: 13px; font-weight: 600; }
#settings-view .settings-note { font-size: 13px; line-height: 1.55; }
#settings-view .settings-note:empty { display: none; }
#settings-view .settings-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
#settings-view .settings-form-grid label { min-width: 0; font-size: 13px; font-weight: 500; text-transform: none; letter-spacing: 0; }
#settings-view .settings-form-grid input { min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid #3b3b3b; background: #202020; border-radius: 6px; font-size: 16px; font-weight: 400; }
#settings-view .settings-form-grid label:last-child { grid-column: 1 / -1; }
#settings-view :is(.settings-checkbox-row,.settings-switch-row) { gap: 14px; padding: 16px; border-radius: 7px; background: #1c1c1c; }
#settings-view :is(.settings-checkbox-row,.settings-switch-row) strong { font-size: 14px; font-weight: 500; line-height: 1.5; }
#settings-view :is(.settings-checkbox-row,.settings-switch-row) em { font-size: 13px; font-weight: 400; line-height: 1.5; }
#settings-view .settings-checkbox-row input { flex-shrink: 0; width: 18px; height: 18px; accent-color: #d5d5d0; }
#settings-view .settings-switch-row:has(input:focus-visible) { outline: 2px solid #9bb6ff; outline-offset: 3px; }
#settings-view .settings-switch-row i { flex-shrink: 0; }
#settings-view .settings-media-section-heading { flex-wrap: wrap; gap: 8px; }
#settings-view .settings-media-section-heading strong { font-size: 15px; font-weight: 600; }
#settings-view .settings-media-section-heading span { font-size: 12px; line-height: 1.5; font-weight: 400; }
#settings-view .settings-media-manager { gap: 28px; }
#settings-view .settings-media-slot-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
#settings-view .settings-media-slot { gap: 10px; padding: 16px; min-height: 188px; border: 1px dashed #3b3b3b; border-radius: 8px; background: #181818; }
#settings-view .settings-media-slot.has-media { border-style: solid; background: #1d1d1d; }
#settings-view .settings-media-slot-copy { gap: 8px; }
#settings-view .settings-media-slot-copy :is(strong,small) { white-space: normal; overflow: visible; overflow-wrap: anywhere; line-height: 1.5; }
#settings-view .settings-media-slot-copy strong { font-size: 14px; font-weight: 550; }
#settings-view .settings-media-slot-copy :is(em,small) { font-size: 12px; font-weight: 400; color: #aaa; }
#settings-view .settings-media-slot[data-media-status='processing'] em { color: #d8c48e; }
#settings-view .settings-media-slot[data-media-status='failed'] em { color: #ffb1b1; }
#settings-view :is(.settings-media-replace,.settings-media-delete) { min-height: 44px; padding: 10px 12px; font-size: 13px; font-weight: 550; }
#settings-view .settings-media-replace { position: relative; }
#settings-view .settings-media-replace:focus-within { outline: 2px solid #9bb6ff; outline-offset: 3px; }
#settings-view .danger-panel { border-color: #493030; }
#settings-view .delete-confirmation { padding: 18px; border-radius: 8px; line-height: 1.6; }
/* Dialogs cover the entire application, including navigation. */
.modal-backdrop { z-index: 200; left: 0; padding: 24px; }
.app-shell:not(.hidden) ~ .modal-backdrop { left: 0; }
:is(.video-modal,.trim-modal,.confirm-modal) { z-index: 220; }
#player-registration-modal { padding: 24px; }
#player-registration-modal .player-registration-card { width: min(100%,880px); max-height: calc(100dvh - 48px); min-width: 0; border-radius: 12px; }
#player-registration-modal .modal-header { padding: 22px 24px; }
#player-registration-modal .modal-header h2 { font-size: 24px; line-height: 1.2; font-weight: 600; letter-spacing: -.025em; }
#player-registration-modal .modal-header p { font-size: 14px; line-height: 1.5; }
#player-registration-modal .modal-header > div { min-width: 0; }
#player-registration-modal .player-registration-form { display: flex; flex-direction: column; min-width: 0; min-height: 0; padding: 0; }
#player-registration-modal .registration-stepper { flex-shrink: 0; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 16px 24px; gap: 8px; }
#player-registration-modal .registration-stepper button { min-width: 0; min-height: 44px; padding: 8px; font-size: 12px; font-weight: 500; background: #1d1d1d; }
#player-registration-modal .registration-stepper button.active { background: #303030; border-color: #c6c6c0; }
#player-registration-modal .registration-stepper button span { flex-shrink: 0; }
#player-registration-modal .registration-step { flex: 1 1 auto; min-height: 0; margin: 0; padding: 24px; overflow: auto; overscroll-behavior: contain; gap: 28px; }
#player-registration-modal .registration-section { min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
#player-registration-modal .registration-section h3 { margin: 0 0 8px; font-size: 17px; font-weight: 600; }
#player-registration-modal .registration-helper { margin-bottom: 20px; font-size: 13px; font-weight: 400; line-height: 1.5; }
#player-registration-modal .registration-grid { gap: 18px; }
#player-registration-modal .registration-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
#player-registration-modal .registration-grid.four { grid-template-columns: repeat(4,minmax(0,1fr)); }
#player-registration-modal .player-registration-form label { min-width: 0; font-size: 13px; font-weight: 500; line-height: 1.5; text-transform: none; letter-spacing: 0; }
#player-registration-modal .player-registration-form :is(input,select,textarea) { min-width: 0; width: 100%; min-height: 46px; padding: 11px 12px; font-family: inherit; font-size: 16px; font-weight: 400; border-radius: 6px; background: #222; border: 1px solid #404040; color: #eee; }
#player-registration-modal input[readonly] { background: #181818; color: #b5b5b0; }
#player-registration-modal .player-registration-form input[type='checkbox'] { width: 18px; min-height: 18px; height: 18px; margin: 0; flex-shrink: 0; accent-color: #ddd; }
#player-registration-modal .checkbox-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
#player-registration-modal .checkbox-grid label { min-height: 44px; padding: 10px; }
#player-registration-modal .player-registration-form .vault-required-field::after { content: none; }
#player-registration-modal .player-registration-form :is(input,select,textarea).is-invalid { border-color: #ed8c8c; }
#player-registration-modal .registration-field-error { color: #ffb1b1; font-size: 12px; font-weight: 400; line-height: 1.5; text-transform: none; letter-spacing: 0; }
#player-registration-modal .registration-actions { flex-shrink: 0; width: 100%; margin: 0; padding: 16px 24px; gap: 10px; box-shadow: none; }
#player-registration-modal .registration-actions :is(.ghost-button,.auth-primary) { min-width: 0; width: auto; min-height: 44px; padding: 10px 22px; font-size: 14px; font-weight: 550; }
#player-registration-modal .auth-note { flex-shrink: 0; padding: 12px 24px; font-size: 13px; line-height: 1.5; }
#player-registration-modal .auth-note:empty { display: none; }
#player-registration-modal .registration-trackman-warning { padding: 14px; border-color: #46506b; background: #1a202c; }
#player-registration-modal .registration-media-upload-grid { grid-template-columns: minmax(0,1fr); }
#player-registration-modal .media-upload-card { gap: 12px; }
#player-registration-modal .registration-media-frame.profile-photo { max-width: 180px; min-height: 0; height: 210px; }
#player-registration-modal .registration-next-steps-grid article { background: #1d1d1d; padding: 16px; }
.coach-profile-showcase.profile-showcase-redesign .pitching-kpi-row { grid-template-columns: repeat(3,minmax(0,1fr)); }
.coach-profile-showcase.profile-showcase-redesign .trackman-kpi strong em { display: inline; margin: 0 0 0 5px; font-size: 11px; font-weight: 500; color: #aaa; }
.trackman-pitch-selector { gap: 8px; margin: 0; }
.trackman-pitch-pill { min-height: 44px; font-size: 12px; font-weight: 550; text-transform: none; letter-spacing: 0; }
.trackman-legend { flex-wrap: wrap; }
@media (max-width:1100px) {
  #settings-view .settings-layout { grid-template-columns: minmax(0,1fr); }
  #settings-view .settings-nav-panel { position: static; padding: 0; }
  #settings-view .settings-nav-panel > span { display: none; }
  #settings-view .settings-section-nav { display: flex; flex-wrap: wrap; gap: 6px; }
  #settings-view .settings-section-nav a { background: #181818; border-color: #2d2d2d; }
  #settings-view .settings-media-slot-grid { grid-template-columns: minmax(0,1fr); }
  #settings-view .settings-media-slot { min-height: 0; grid-template-columns: minmax(0,1fr) auto; grid-template-rows: auto; align-items: center; gap: 16px; }
  #settings-view .settings-media-slot-actions { margin-top: 0; }
}
@media (max-width:860px) {
  html.player-account .app-shell { grid-template-columns: minmax(0,1fr); grid-template-rows: auto minmax(0,1fr); }
  html.player-account .sidebar { display: flex; flex-direction: row; align-items: center; gap: 14px; padding: 10px 18px; border-right: 0; border-bottom: 1px solid #292929; }
  html.player-account .main-nav:empty { display: none; }
  html.player-account .main-nav { display: none; }
  html.player-account .secondary-nav { display: flex; gap: 6px; margin: 0 0 0 auto; padding: 0; }
  html.player-account .secondary-nav .nav-item { padding: 10px 14px; width: auto; }
  html.player-account .sidebar-brand { min-height: 32px; }
  html.player-account .vault-mark { width: 30px; height: 30px; flex-basis: 30px; }
  html.player-account .vault-mark img { width: 28px; height: 28px; }
  html.player-account .topbar { min-height: 64px; padding: 10px 20px; }
  .app-shell .topbar .brand-lockup { left:50%; }
  .app-shell .brand-logo { width:210px; max-height:36px; }
  html.player-account :is(#account-view,#settings-view) { padding: 22px; }
  #settings-view :is(.settings-info-grid,.settings-card-row) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #player-registration-modal .registration-stepper { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #player-registration-modal .registration-grid.four { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
  html.player-account .sidebar { padding: 8px 14px; gap: 8px; }
  html.player-account .secondary-nav .nav-item { padding: 10px 12px; font-size: 13px; }
  html.player-account .topbar { padding: 8px 16px; }
  html.player-account .brand-logo { width:148px; max-height:28px; }
  html.player-account .profile-menu { display: flex; gap: 8px; padding: 0; min-width: 0; }
  html.player-account .profile-menu :is(strong,small) { display: none; }
  html.player-account .profile-menu > span:first-child { width: 34px; height: 34px; font-size: 12px; }
  html.player-account :is(#account-view,#settings-view) { padding: 18px 14px; }
  .player-profile-toolbar { flex-wrap: wrap; gap: 14px; padding-bottom: 18px; }
  .player-profile-toolbar-actions { width: 100%; }
  .player-profile-toolbar-actions button { flex: 1; }
  #settings-view .settings-header { display: flex; align-items: flex-start; gap: 12px; }
  #settings-view .settings-header h1 { font-size: 26px; }
  #settings-view .settings-header > button { padding-inline: 12px; white-space: nowrap; }
  #settings-view .settings-header p { font-size: 13px; }
  #settings-view .settings-shell { gap: 20px; }
  #settings-view .settings-section-nav { flex-wrap: nowrap; overflow-x: auto; padding: 3px 3px 10px; }
  #settings-view .settings-section-nav a { white-space: nowrap; flex-shrink: 0; }
  #settings-view .settings-panel { padding: 18px; }
  #settings-view .settings-panel-heading h2 { font-size: 20px; }
  #settings-view .settings-card-row { grid-template-columns: minmax(0,1fr); gap: 12px; }
  #settings-view .settings-mini-card { display: grid; grid-template-columns: 1fr 1fr; gap: 5px 10px; align-items: start; }
  #settings-view .settings-mini-card strong { margin: 0; text-align: right; }
  #settings-view .settings-mini-card p { grid-column: 1 / -1; margin: 0; }
  #settings-view .settings-form-grid { grid-template-columns: minmax(0,1fr); }
  #settings-view .settings-media-slot { grid-template-columns: minmax(0,1fr); }
  #settings-view .settings-media-slot-actions { margin-top: 8px; }
  #settings-view .settings-info-item:has(strong) { overflow-wrap: anywhere; }
  #player-registration-modal { padding: 8px; }
  #player-registration-modal .player-registration-card { max-height: calc(100dvh - 16px); border-radius: 10px; }
  #player-registration-modal .modal-header { padding: 18px; }
  #player-registration-modal .modal-header h2 { font-size: 22px; }
  #player-registration-modal .modal-header p { font-size: 13px; }
  #player-registration-modal .registration-stepper { padding: 12px 16px; gap: 6px; }
  #player-registration-modal .registration-stepper button { font-size: 11px; gap: 5px; padding: 8px 4px; }
  #player-registration-modal .registration-step { padding: 20px 16px; }
  #player-registration-modal .registration-grid.two { grid-template-columns: minmax(0,1fr); }
  #player-registration-modal .checkbox-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #player-registration-modal .registration-actions { padding: 12px 16px; gap: 8px; }
  #player-registration-modal .registration-actions :is(.ghost-button,.auth-primary) { padding-inline: 14px; font-size: 13px; }
  #player-registration-modal .registration-next-steps-grid { grid-template-columns: minmax(0,1fr); }
  .coach-profile-showcase.profile-showcase-redesign .pitching-kpi-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trackman-plot-frame { padding: 34px 36px 50px; }
  .trackman-ticks-left { left: -34px; width: 30px; }
  .trackman-ticks-right { right: -34px; width: 30px; }
}
@media (prefers-reduced-motion:reduce) {
  .app-shell *, #player-registration-modal * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
/* Final responsive and interaction refinements. */
html.player-account :is(.app-shell,.workspace) { overflow: clip; }
.coach-profile-showcase.profile-showcase-redesign .showcase-report-button { display: inline-flex; align-items: center; min-height: 40px; padding: 10px 14px; font-size: 12px; font-weight: 550; letter-spacing: 0; text-transform: none; border-radius: 6px; }
.coach-profile-showcase.profile-showcase-redesign .pitch-frequency-name strong { font-size: 14px; font-weight: 550; }
.coach-profile-showcase.profile-showcase-redesign .pitch-frequency-percent strong { font-size: 16px; font-weight: 600; }
.coach-profile-showcase.profile-showcase-redesign .showcase-video-card.is-empty .showcase-video-thumb > span { display: none; }
.confirm-modal-card { width: min(430px,100%); max-height: calc(100dvh - 40px); overflow: auto; padding: 24px; gap: 16px; }
.confirm-modal-card h2 { font-size: 22px; font-weight: 600; letter-spacing: -.02em; }
.confirm-modal-card p { font-weight: 400; line-height: 1.6; }
.confirm-modal-actions button { min-height: 44px; font-size: 14px; font-weight: 550; }
@container (max-width:520px) {
  .coach-profile-showcase.profile-showcase-redesign .profile-hero-wide { grid-template-columns: 84px minmax(0,1fr); gap: 18px 14px; align-items: center; }
  .coach-profile-showcase.profile-showcase-redesign .showcase-photo { width: 84px; height: 110px; grid-column: 1; grid-row: 1; }
  .coach-profile-showcase.profile-showcase-redesign .showcase-identity-copy { display: contents; }
  .coach-profile-showcase.profile-showcase-redesign .showcase-title-row { grid-column: 2; grid-row: 1; display: grid; gap: 10px; }
  .coach-profile-showcase.profile-showcase-redesign .showcase-title-row h1 { font-size: 28px; }
  .coach-profile-showcase.profile-showcase-redesign .showcase-title-row .profile-verified { width: 24px; height: 24px; }
  .coach-profile-showcase.profile-showcase-redesign :is(.showcase-identity-meta,.showcase-header-details,.showcase-report-list) { grid-column: 1 / -1; }
  .coach-profile-showcase.profile-showcase-redesign .showcase-header-detail:first-child { grid-column: 1 / -1; }
}
@media (max-width:660px) {
  html:not(.player-account) .app-shell { grid-template-columns: minmax(0,1fr); grid-template-rows: auto minmax(0,1fr); }
}
@media (max-width:520px) {
  .trackman-axis-label { font-size: 10px; font-weight: 500; white-space: nowrap; }
  .trackman-axis-label.x-label { bottom: -48px; }
  .trackman-axis-label.y-label { left: -91px; }
  .trackman-axis-ticks span { font-size: 10px; }
  .trackman-ticks-top { top: -26px; }
  .trackman-ticks-bottom { bottom: -26px; }
}
#player-registration-modal .registration-media-upload-grid .media-upload-card { grid-template-columns: 180px minmax(0,1fr); padding: 18px; gap: 12px 24px; }
#player-registration-modal .media-upload-card > span { grid-column: 2; grid-row: 1; align-self: end; font-size: 13px; font-weight: 500; letter-spacing: 0; text-transform: none; }
#player-registration-modal .media-upload-card input[type='file'] { grid-column: 2; grid-row: 2; width: 100%; font-size: 13px; align-self: start; padding: 8px; }
#player-registration-modal .media-upload-card input::file-selector-button { min-height: 32px; margin-right: 10px; padding: 6px 10px; border: 0; border-radius: 4px; background: #e8e8e2; color: #151515; font: inherit; cursor: pointer; }
#player-registration-modal .registration-media-frame.profile-photo { grid-column: 1; grid-row: 1 / 3; width: 180px; }
@media (max-width:520px) {
  #player-registration-modal .registration-media-upload-grid .media-upload-card { grid-template-columns: minmax(0,1fr); padding: 14px; }
  #player-registration-modal .media-upload-card > span { grid-column: 1; grid-row: 1; }
  #player-registration-modal .media-upload-card input[type='file'] { grid-column: 1; grid-row: 2; }
  #player-registration-modal .registration-media-frame.profile-photo { grid-column: 1; grid-row: 3; width: 120px; height: 150px; }
}

/* Pitching summary: a season stat rail followed by full-width arsenal rows. */
.pitching-summary-stack { display: grid; gap: 20px; min-width: 0; }
.coach-profile-showcase.profile-showcase-redesign .pitching-summary-stack .showcase-panel { padding: 24px; }
.coach-profile-showcase.profile-showcase-redesign .pitching-summary-stack .showcase-panel h2 { font-size: 20px; margin-bottom: 24px; }
.coach-profile-showcase.profile-showcase-redesign .pitching-summary-stack .showcase-season-grid {
  grid-template-columns: repeat(8,minmax(0,1fr)); gap: 0; border: 0; border-radius: 0; overflow: visible;
}
.coach-profile-showcase.profile-showcase-redesign .pitching-summary-stack .showcase-season-grid .showcase-metric {
  justify-items: center; align-content: center; align-items: center; grid-template-rows: 18px 36px; gap: 8px; min-height: 88px; padding: 8px;
  border: 0; border-inline-end: 1px solid #353535; border-radius: 0; background: transparent; text-align: center;
}
.coach-profile-showcase.profile-showcase-redesign .pitching-summary-stack .showcase-season-grid .showcase-metric:last-child { border-inline-end: 0; }
.coach-profile-showcase.profile-showcase-redesign .pitching-summary-stack .showcase-season-grid .showcase-metric span { font-size: 12px; color: #aaa; margin: 0; }
.coach-profile-showcase.profile-showcase-redesign .pitching-summary-stack .showcase-season-grid .showcase-metric strong { font-size: 30px; font-weight: 650; font-variant-numeric: tabular-nums; }
.coach-profile-showcase.profile-showcase-redesign .pitching-summary-stack .showcase-season-grid .showcase-metric.is-empty strong { font-size: 13px; font-weight: 400; color: #999; }
.pitching-summary-stack .pitch-frequency-panel:has(.pitch-frequency-chart) { display: grid; grid-template-columns: minmax(0,1fr) 242px; gap: 8px 20px; align-items: center; }
.coach-profile-showcase.profile-showcase-redesign .pitching-summary-stack .pitch-frequency-panel:has(.pitch-frequency-chart) h2 { grid-column: 1; grid-row: 1; margin: 0 0 12px; }
.pitching-summary-stack .pitch-frequency-chart { display: contents; }
.pitching-summary-stack .pitch-frequency-header { grid-column: 2; grid-row: 1; grid-template-columns: 100px 110px; gap: 16px; padding: 0 16px 12px 0; text-align: center; font-weight: 550; }
.pitching-summary-stack .pitch-frequency-header span:first-child { display: none; }
.pitching-summary-stack .pitch-frequency-header span:last-child { display: block; }
.pitching-summary-stack .pitch-frequency-row {
  grid-column: 1 / -1; grid-template-columns: 150px minmax(0,1fr) 100px 110px; gap: 16px;
  min-height: 58px; padding: 12px 16px; border-color: #2b2b2b; background: #101010;
}
.pitching-summary-stack .pitch-frequency-name { grid-column: 1; grid-row: 1; gap: 12px; }
.pitching-summary-stack .pitch-frequency-bar { grid-column: 2; grid-row: 1; height: 10px; margin: 0; background: #292929; }
.pitching-summary-stack .pitch-frequency-percent { grid-column: 3; grid-row: 1; text-align: center; font-variant-numeric: tabular-nums; }
.pitching-summary-stack .pitch-frequency-velo { display: block; grid-column: 4; grid-row: 1; text-align: center; font-weight: 450; font-variant-numeric: tabular-nums; }
@container (max-width: 800px) {
  .coach-profile-showcase.profile-showcase-redesign .pitching-summary-stack .showcase-season-grid { grid-template-columns: repeat(4,minmax(0,1fr)); row-gap: 20px; }
  .coach-profile-showcase.profile-showcase-redesign .pitching-summary-stack .showcase-season-grid .showcase-metric:nth-child(4n) { border-inline-end: 0; }
  .pitching-summary-stack .pitch-frequency-panel:has(.pitch-frequency-chart) { grid-template-columns: minmax(0,1fr) 192px; }
  .pitching-summary-stack .pitch-frequency-header { grid-template-columns: 76px 84px; }
  .pitching-summary-stack .pitch-frequency-row { grid-template-columns: 122px minmax(0,1fr) 76px 84px; }
}
@container (max-width: 600px) {
  .coach-profile-showcase.profile-showcase-redesign .pitching-summary-stack .showcase-panel { padding: 18px; }
  .pitching-summary-stack .pitch-frequency-panel:has(.pitch-frequency-chart) { grid-template-columns: minmax(0,1fr); }
  .coach-profile-showcase.profile-showcase-redesign .pitching-summary-stack .pitch-frequency-panel:has(.pitch-frequency-chart) h2 { grid-column: 1 / -1; margin-bottom: 8px; }
  .pitching-summary-stack .pitch-frequency-header { grid-column: 1 / -1; grid-row: auto; grid-template-columns: minmax(0,1fr) 52px 72px; gap: 8px; padding: 0 12px 4px; font-size: 10px; letter-spacing: .03em; }
  .pitching-summary-stack .pitch-frequency-header span:first-child { display: block; }
  .pitching-summary-stack .pitch-frequency-row { grid-template-columns: minmax(0,1fr) 52px 72px; gap: 12px 8px; padding: 12px; }
  .pitching-summary-stack .pitch-frequency-name { gap: 8px; }
  .pitching-summary-stack .pitch-frequency-name i { width: 12px; height: 12px; }
  .pitching-summary-stack .pitch-frequency-percent { grid-column: 2; }
  .pitching-summary-stack .pitch-frequency-velo { grid-column: 3; font-size: 12px; }
  .pitching-summary-stack .pitch-frequency-bar { grid-column: 1 / -1; grid-row: 2; height: 8px; }
}
@container (max-width: 380px) {
  .pitching-summary-stack .pitch-frequency-row,
  .pitching-summary-stack .pitch-frequency-header { grid-template-columns: minmax(0,1fr) 44px 64px; column-gap: 6px; padding-inline: 10px; }
  .pitching-summary-stack .pitch-frequency-name { gap: 6px; }
  .pitching-summary-stack .pitch-frequency-name i { width: 10px; height: 10px; }
  .coach-profile-showcase.profile-showcase-redesign .pitching-summary-stack .pitch-frequency-name strong { font-size: 13px; }

  .coach-profile-showcase.profile-showcase-redesign .pitching-summary-stack .showcase-season-grid { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 16px; }
  .coach-profile-showcase.profile-showcase-redesign .pitching-summary-stack .showcase-season-grid .showcase-metric:nth-child(2n) { border-inline-end: 0; }
}

/* Outlined pitch identifiers share each pitch's established chart color. */
.pitch-frequency-name .pitch-type-badge {
  display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center;
  width: 38px; height: 32px; border: 2px solid var(--pitch-color); border-radius: 7px;
  background: #111; color: var(--pitch-color); font-size: 13px; font-weight: 750;
  line-height: 1; letter-spacing: .02em;
}
@container (max-width: 800px) {
  .pitching-summary-stack .pitch-frequency-name { gap: 8px; }
  .pitch-frequency-name .pitch-type-badge { width: 32px; height: 28px; font-size: 12px; }
}
@container (max-width: 380px) {
  .pitching-summary-stack .pitch-frequency-name { flex-direction: column; align-items: flex-start; gap: 6px; }
}

/* Compact values with quieter units, shared by all profile KPI cards. */
.coach-profile-showcase.profile-showcase-redesign .pitching-kpi-row .showcase-metric { min-height: 136px; }
.coach-profile-showcase.profile-showcase-redesign .pitching-kpi-row .showcase-metric strong { font-size: clamp(28px,3.6cqw,46px); }
.coach-profile-showcase.profile-showcase-redesign .showcase-kpi-row .showcase-metric.is-empty strong { font-size: 18px; font-weight: 450; letter-spacing: 0; color: #999; }
.coach-profile-showcase.profile-showcase-redesign .trackman-kpi strong em { margin-left: 6px; font-size: clamp(12px,1.5cqw,18px); font-weight: 500; color: #b3b3b3; }
@container (max-width: 800px) {
  .coach-profile-showcase.profile-showcase-redesign .showcase-kpi-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .coach-profile-showcase.profile-showcase-redesign .pitching-kpi-row { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .coach-profile-showcase.profile-showcase-redesign .pitching-kpi-row .showcase-metric { min-height: 124px; padding: 18px; }
}
@container (max-width: 600px) {
  .coach-profile-showcase.profile-showcase-redesign .pitching-kpi-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .coach-profile-showcase.profile-showcase-redesign .showcase-kpi-row .showcase-metric { min-height: 112px; padding: 16px; gap: 10px; }
  .coach-profile-showcase.profile-showcase-redesign .showcase-kpi-row .showcase-metric > span { font-size: 11px; letter-spacing: .05em; }
}
@container (max-width: 380px) {
  .coach-profile-showcase.profile-showcase-redesign .showcase-kpi-row .showcase-metric { padding: 14px; }
  .coach-profile-showcase.profile-showcase-redesign .showcase-kpi-row .showcase-metric strong { font-size: 28px; }
  .coach-profile-showcase.profile-showcase-redesign .showcase-kpi-row .showcase-metric.is-empty strong { font-size: 16px; }
  .coach-profile-showcase.profile-showcase-redesign .trackman-kpi strong em { margin-left: 3px; font-size: 11px; }
}

/* Edit self-reported season stats in place. */
.season-stats-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.coach-profile-showcase.profile-showcase-redesign .season-stats-heading h2,
.coach-profile-showcase.profile-showcase-redesign .pitching-summary-stack .season-stats-heading h2 { margin: 0; }
.season-stats-edit, .season-stats-actions button { min-height: 40px; padding: 9px 16px; border: 1px solid #3b3b3b; border-radius: 6px; background: #222; color: #eee; font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.season-stats-edit[hidden] { display: none; }
.season-stats-edit:hover, .season-stats-actions button:hover { background: #303030; }
.season-stats-form { display: grid; gap: 20px; }
.season-stats-help { margin: 0; color: #aaa; font-size: 13px; line-height: 1.6; }
.season-stats-fields { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px 16px; }
.season-stats-fields label { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.season-stats-fields label > span { color: #c5c5c5; font-size: 12px; font-weight: 600; letter-spacing: .03em; }
.season-stats-fields input { width: 100%; min-width: 0; height: 46px; padding: 10px 12px; border: 1px solid #444; border-radius: 6px; background: #101010; color: #f5f5f2; font-size: 16px; font-variant-numeric: tabular-nums; }
.season-stats-fields small { font-size: 11px; line-height: 1.5; color: #999; }
.season-stats-fields input[aria-invalid="true"] { border-color: #ec7e7e; }
.season-stats-fields input:focus-visible, .season-stats-edit:focus-visible, .season-stats-actions button:focus-visible { outline: 2px solid #f5f5f2; outline-offset: 3px; }
.season-stats-message { margin: 0; color: #b5b5b5; font-size: 13px; line-height: 1.5; }
.season-stats-message:empty { display: none; }
.season-stats-message[data-type="error"] { color: #f19a9a; }
.season-stats-actions { display: flex; justify-content: flex-end; gap: 10px; padding-top: 16px; border-top: 1px solid #303030; }
.season-stats-actions button[type="submit"] { background: #f5f5f2; color: #151515; border-color: #f5f5f2; }
.season-stats-actions button:disabled, .season-stats-fields input:disabled { opacity: .55; cursor: wait; }
@container (max-width: 800px) {
  .season-stats-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@container (max-width: 380px) {
  .season-stats-heading { gap: 10px; }
  .season-stats-edit { padding-inline: 12px; white-space: nowrap; }
  .season-stats-actions button { flex: 1; }
}

/* Media library: previews, honest upload progress, and recoverable states. */
#settings-media .settings-media-slot { display:flex; flex-direction:column; align-items:stretch; padding:14px; gap:14px; min-width:0; }
#settings-media .settings-media-slot-copy { flex:1; }
#settings-media .settings-media-slot-copy > span { color:#999; font-size:10px; letter-spacing:.08em; }
#settings-media .settings-media-slot-copy > .settings-media-state { display:block; width:fit-content; padding:4px 7px; border:1px solid #3c3c3c; border-radius:4px; background:#242424; font-size:11px; font-style:normal; }
#settings-media [data-media-status="processing"] .settings-media-state { color:#e0cc94; border-color:#655a3c; background:#29261e; }
#settings-media [data-media-status="failed"] .settings-media-state { color:#efaaaa; border-color:#674141; background:#2c2020; }
#settings-media [data-media-status="ready"] .settings-media-state { color:#c0d7c2; }
#settings-media .settings-video-preview { display:block; position:relative; width:100%; padding:0; aspect-ratio:16/9; overflow:hidden; border:1px solid #363636; border-radius:6px; background:#222; }
#settings-media .settings-video-preview :is(img, video) { width:100%; height:100%; object-fit:cover; display:block; }
#settings-media button.settings-video-preview:hover { border-color:#aaa; }
#settings-media .settings-video-preview > span { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#111d; color:#fff; font-size:16px; }
#settings-media .settings-video-preview > small { position:absolute; bottom:0; left:0; right:0; padding:8px; background:#111d; color:#eee; font-size:11px; font-weight:500; letter-spacing:0; text-transform:none; }
#settings-media .settings-selected-preview { display:block; width:100%; aspect-ratio:16/9; background:#111; border-radius:6px; }
#settings-media .settings-selected-caption { display:block; color:#bbb; font-size:11px; line-height:1.5; margin-top:8px; }
#settings-media .settings-media-slot-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:0; }
#settings-media .settings-media-slot-actions > * { flex:1 1 auto; }
#settings-media :is(.settings-media-retry,.settings-media-clear,.settings-media-status-refresh) { min-height:40px; padding:9px 12px; border:1px solid #414141; border-radius:6px; background:#242424; color:#eee; font-size:12px; font-weight:550; text-transform:none; letter-spacing:0; }
#settings-media .settings-media-retry { flex-basis:100%; border-color:#786048; }
#settings-media .settings-media-clear { flex-basis:100%; background:transparent; }
#settings-media .settings-media-section-heading { align-items:center; }
#settings-media .settings-media-section-heading > div { display:grid; gap:5px; }
#settings-media .settings-media-status-refresh { flex-shrink:0; }
#settings-media .settings-media-progress { display:grid; gap:8px; padding-top:8px; border-top:1px solid #343434; }
#settings-media .settings-media-progress > div { display:flex; justify-content:space-between; gap:8px; font-size:12px; line-height:1.5; color:#ccc; }
#settings-media .settings-media-progress strong { font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; }
#settings-media .settings-media-progress progress { width:100%; height:6px; accent-color:#e5e5e0; border:0; border-radius:4px; overflow:hidden; }
#settings-media .settings-media-progress progress::-webkit-progress-bar { background:#363636; }
#settings-media .settings-media-progress progress::-webkit-progress-value { background:#e5e5e0; }
#settings-media .settings-media-progress.is-error > div, #settings-media-note[data-type="error"] { color:#f0aaaa; }
#settings-media [aria-busy="true"] .settings-media-replace { opacity:.5; pointer-events:none; }
#settings-media button:disabled { opacity:.5; cursor:wait; }
#settings-media :is(button,.settings-media-replace):focus-visible, #settings-media .settings-media-replace:focus-within { outline:2px solid #ddd; outline-offset:3px; }
#settings-media .settings-media-save-row { padding-top:18px; border-top:1px solid #333; align-items:center; }
#settings-media .settings-media-save-row .settings-note { flex:1; min-width:180px; }
@media (min-width:661px) and (max-width:1100px) {
  #settings-media .settings-media-slot[data-media-kind="video"] { display:grid; grid-template-columns:180px minmax(0,1fr); align-items:start; }
  #settings-media [data-media-kind="video"] [data-media-preview] { grid-column:1; grid-row:1 / 3; }
  #settings-media [data-media-kind="video"] .settings-media-slot-copy { grid-column:2; }
  #settings-media [data-media-kind="video"] .settings-media-slot-actions { grid-column:2; }
  #settings-media [data-media-kind="video"] .settings-media-progress { grid-column:1 / -1; }
}

/* Recruiting workspace: readable rows, native filters, and predictable scrolling. */
#main-view .search-panel { display:flex; flex-direction:column; gap:12px; }
#main-view .panel-header, #main-view .filters, #main-view .list-meta, #main-view .pager,
#main-view .active-recruiting-filters, #main-view .smart-search-chips { flex:0 0 auto; margin:0; }
#main-view .player-list { flex:1 1 auto; min-height:0; align-content:start; }
#main-view .pager { min-height:24px; justify-content:flex-start; color:#a9a9a9; font-size:12px; }
#main-view .filters, #main-view.profile-open .search-panel.filters-open .filters { grid-template-columns:repeat(3,minmax(0,1fr)); }
#main-view .filters label { min-width:0; padding:8px; letter-spacing:.06em; background:#1c1c1c; }
#main-view .filters select.recruit-native-select { position:static; opacity:1; pointer-events:auto; min-width:0; width:100%; height:30px; color-scheme:dark; cursor:pointer; }
#main-view.profile-open .search-panel.filters-open .filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-height:280px; overflow:auto; }
#main-view .active-recruiting-filters { display:flex; flex-wrap:wrap; gap:6px; }
#main-view .active-recruiting-filters.hidden { display:none; }
.active-recruiting-filters button, .recruiting-list-status button { border:1px solid #3b3b3b; background:#232323; color:#e2e2e2; border-radius:6px; padding:6px 9px; font:inherit; font-size:11px; cursor:pointer; }
#main-view .player-card { grid-template-columns:104px minmax(0,1fr) 24px; gap:14px; min-height:126px; padding:10px; cursor:pointer; }
#main-view .player-card.has-card-kpis { grid-template-columns:104px minmax(0,1fr) auto 24px; }
#main-view .player-photo { width:104px; height:104px; border-radius:6px; }
#main-view .player-save-indicator { width:20px; height:20px; background:#9a9a9a; opacity:.72; }
#main-view .player-summary { align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding:0; }
#main-view .player-summary h3 { font-size:clamp(18px, 1.5vw, 22px); line-height:1.05; }
#main-view .player-title-row { gap:7px; }
#main-view .player-role { margin:6px 0 4px; color:#efefec; line-height:1.35; font-size:10px; letter-spacing:.05em; white-space:normal; }
#main-view .player-basics { display:grid; gap:3px; color:#b9b9b4; font-size:12px; line-height:1.35; }
#main-view .recruit-school { color:#d2d2d2; }
.player-card-kpis { display:flex; align-self:center; gap:8px; }
.player-card-kpis[hidden] { display:none; }
.player-card-kpi { display:grid; place-items:center; align-content:center; width:88px; min-height:86px; padding:8px 6px; border:1px solid #c7c7c1; border-radius:7px; background:#151515; color:#f5f5f2; font-variant-numeric:tabular-nums; text-align:center; }
.player-card-kpi small { color:#f0f0ec; font-size:10px; font-weight:900; letter-spacing:.02em; line-height:1.1; white-space:nowrap; }
.player-card-kpi strong { margin-top:4px; font-size:38px; font-weight:900; line-height:.95; letter-spacing:-.04em; }
#main-view.profile-open .player-card { grid-template-columns:82px minmax(0,1fr); gap:11px; min-height:102px; padding:9px; border-radius:10px; }
#main-view.profile-open .player-card.active { border-color:#f4f4ef; box-shadow:inset 0 0 0 1px #f4f4ef; }
#main-view.profile-open .player-photo { width:82px; height:82px; align-self:center; border-radius:7px; }
#main-view.profile-open .player-summary { justify-content:center; }
#main-view.profile-open .player-summary h3 { font-size:19px; line-height:1.08; }
#main-view.profile-open .player-save-indicator { display:none; }
#main-view.profile-open .player-card-kpis { display:none; }
#main-view.profile-open .player-role { margin:5px 0 3px; font-size:9px; line-height:1.3; letter-spacing:.045em; }
#main-view.profile-open .player-basics { gap:2px; font-size:11px; line-height:1.3; }
#main-view .player-card:focus-visible, .folders-page :is(.folder-board,.folder-player-row):focus-visible,
.folder-row:focus-visible, .folders-page :is(button,input,select):focus-visible,
#main-view :is(button,select,input):focus-visible { outline:2px solid #f2f2f2; outline-offset:3px; }
#main-view #clear-filters:disabled { opacity:.4; cursor:default; }
#main-view .primary-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; }
#main-view .secondary-filters { display:none; grid-template-columns:repeat(5,minmax(0,1fr)); margin:0; }
#main-view .search-panel.filters-open .secondary-filters { display:grid; }
#main-view .filters label { position:relative; min-height:58px; }
#main-view .filters select.recruit-native-select,
#main-view .vault-sort-control select.recruit-native-select { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
#main-view .filter-select { position:relative; width:100%; }
#main-view .filter-select-button { min-height:25px; cursor:pointer; }
#main-view .filter-select-option[aria-selected="true"] { background:#2c2c2c; color:#fff; }
#main-view .list-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:34px; margin:0; }
#main-view .list-meta-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; }
#main-view .vault-sort-control { position:relative; min-width:142px; }
#main-view .vault-sort-control .filter-select { padding:0; border:0; background:transparent; }
#main-view .vault-sort-control .filter-select-button { min-height:30px; padding:0 9px; border:1px solid #3b3b3b; border-radius:6px; background:#202020; font-size:11px; }
#main-view .vault-sort-control .filter-select-menu { right:0; left:auto; }
.more-filters-count { display:inline-grid; width:17px; height:17px; place-items:center; border-radius:50%; background:#eeeeea; color:#111; font-size:10px; font-weight:900; }
.more-filters-count.hidden { display:none; }
#main-view.profile-open .primary-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
#main-view.profile-open .secondary-filters { display:none; }
#main-view.profile-open .search-panel.filters-open .secondary-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-height:204px; overflow:auto; }
@media (max-width:760px) {
  #main-view .primary-filters, #main-view .secondary-filters, #main-view .search-panel.filters-open .secondary-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #main-view .list-meta { align-items:flex-start; }
  #main-view .list-meta-actions { gap:6px; }
  #main-view .vault-sort-control { min-width:126px; }
}
#saved-view, #folders-view { grid-template-columns:230px minmax(0,1fr); }
.folders-page .folders-rail { overflow:auto; }
.folders-page .folder-detail-panel:not(.showing-folder-profile):not(.showing-saved-profile) { display:flex; flex-direction:column; gap:0; overflow:auto; }
.folders-page .folder-detail-header { flex:0 0 auto; flex-wrap:wrap; gap:12px; }
.folders-page .folder-detail-title { min-width:0; }
.folders-page .folder-detail-title h2 { font-size:22px; overflow-wrap:anywhere; }
.folders-page .folder-detail-title p { font-size:12px; line-height:1.5; }
.folders-page .folder-chip { flex-shrink:0; width:26px; height:26px; }
.folders-page .folder-detail-search { flex:0 0 auto; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; gap:10px; padding:14px; border:1px solid #2c2c2c; border-radius:9px; background:#171717; }
.folders-page .folder-detail-search input { grid-column:1 / -1; width:100%; }
.folders-page .folder-detail-search select { width:100%; color-scheme:dark; font-size:12px; font-weight:600; }
.folders-page .folder-detail-actions { flex-wrap:wrap; }
.folders-page .folder-player-table { flex:1 1 auto; min-height:160px; max-height:none; align-content:start; }
.folders-page .saved-review-card { grid-template-columns:22px 44px minmax(0,1fr) auto; gap:10px; padding:14px; }
.folders-page .saved-card-metrics { grid-column:4; grid-row:1; gap:8px; }
.folders-page .saved-card-actions { grid-column:3 / -1; justify-content:flex-start; }
.folders-page .folder-player-metrics { font-variant-numeric:tabular-nums; }
.folders-page .saved-card-metrics span { min-width:55px; background:transparent; border:0; border-left:1px solid #333; border-radius:0; }
.folders-page .saved-card-metrics em { font-size:8px; letter-spacing:.025em; }
.folders-page .folder-player-row { cursor:pointer; }
.folders-page .folder-player-row p { line-height:1.6; }
.folders-page .folder-player-row h3 { white-space:normal; line-height:1.35; }
.recruiting-list-status { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin:0 0 12px; font-size:12px; color:#aaa; }
.recruiting-list-status > div { display:flex; gap:8px; }
@media (max-width:1100px) {
  #saved-view, #folders-view { grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); }
  .folders-page .folders-rail { padding:14px; border-right:0; border-bottom:1px solid #2c2c2c; }
  .folders-page .folders-page-header { margin-bottom:10px; }
  .folders-page .folder-board-grid { display:flex; overflow-x:auto; gap:8px; }
  .folders-page .folder-board { flex:0 0 200px; min-height:60px; }
  .folders-page .folder-board-header h2 { font-size:14px; }
  .folders-page .saved-nav-group { display:flex; gap:8px; width:100%; }
  .folders-page .saved-nav-group > span, .folders-page .saved-nav-row em { display:none; }
  .folders-page .saved-nav-row { flex:1; min-width:150px; min-height:46px; grid-template-columns:minmax(0,1fr) auto; padding:10px; }
  .folders-page .saved-nav-icon { display:none; }
  .folders-page .saved-nav-row strong { font-size:12px; }
  .folders-page .folder-detail-panel { padding:16px; }
  .folders-page .saved-review-card { grid-template-columns:22px 40px minmax(0,1fr); }
  .folders-page .saved-card-metrics { grid-column:3; grid-row:auto; justify-content:flex-start; }
  .folders-page .saved-card-actions { grid-column:3; }
}
@media (max-width:600px) {
  #main-view .filters, #main-view .search-panel.filters-open .filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #main-view .search-panel { height:auto; overflow:visible; }
  #main-view .player-list { overflow:visible; }
  #main-view .player-card { grid-template-columns:64px minmax(0,1fr); min-height:96px; padding:10px; gap:10px; }
  #main-view .player-card.has-card-kpis { grid-template-columns:64px minmax(0,1fr); }
  #main-view .player-photo { width:64px; height:76px; align-self:center; }
  #main-view .player-save-indicator { display:none; }
  #main-view .player-card-kpis { display:none; }
  #main-view .player-vault-id { display:none; }
  #saved-view, #folders-view { display:block; height:auto; overflow:visible; }
  .folders-page .folder-detail-panel, .folders-page .folder-detail-panel.showing-folder-profile, .folders-page .folder-detail-panel.showing-saved-profile { overflow:visible; max-height:none; padding:12px; }
  .folders-page .folder-player-table { overflow:visible; min-height:0; }
  .folders-page .folder-detail-search { grid-template-columns:repeat(2,minmax(0,1fr)); padding:10px; }
  .folders-page .folder-detail-title h2 { font-size:20px; }
  .folders-page .saved-review-card { grid-template-columns:20px 32px minmax(0,1fr); padding:10px; gap:8px; }
  .folders-page .saved-review-card .folder-player-photo { width:32px; height:40px; }
  .folders-page .saved-card-metrics, .folders-page .saved-card-actions { grid-column:2 / -1; }
  .folders-page .saved-card-metrics span { min-width:0; padding:4px 8px; }
  .folders-page .saved-card-actions button { min-height:38px; }
  #folders-view .folder-player-row { grid-template-columns:36px minmax(0,1fr); }
  #folders-view .folder-player-metrics { grid-column:2; justify-content:flex-start; }
  .folders-page .folder-edit-panel { grid-template-columns:1fr; }
}
/* Rows size to their content even inside the fixed-height desktop workspace. */
#main-view .player-list, .folders-page .folder-player-table { display:flex; flex-direction:column; }
#main-view .player-card, .folders-page .folder-player-row { flex:0 0 auto; }
#saved-view, #folders-view, .folders-page .folders-rail, .folders-page .folder-board-grid { min-width:0; }
.folders-page .folder-detail-search:focus-within { outline:0; box-shadow:none; border-color:#2c2c2c; }
@media (max-width:600px) {
  .folders-page .saved-nav-group { width:max-content; }
  .folders-page .folder-detail-title { max-width:100%; }
  .folders-page .folder-detail-title p { overflow-wrap:anywhere; }
}
@media (max-width:760px) {
  html:not(.player-account) .app-shell .sidebar { gap:8px; padding:10px 14px; }
  html:not(.player-account) .app-shell .sidebar-brand { display:none; }
  html:not(.player-account) .app-shell .main-nav,
  html:not(.player-account) .app-shell .secondary-nav { display:flex; gap:6px; margin:0; padding:0; border:0; }
  html:not(.player-account) .app-shell .sidebar .nav-item { flex:1; justify-content:center; min-height:38px; padding:8px; font-size:11px; white-space:nowrap; }
  html:not(.player-account) .app-shell .folder-section:not(:has(.folder-form:not(.hidden))) { display:none; }
  html:not(.player-account) .app-shell .secondary-nav .nav-item { color:#aaa; }
}
.folders-page .saved-player-search { grid-template-columns:minmax(0,1fr) auto; }
.folders-page .saved-player-search > input { grid-column:auto; }
.saved-search-options { display:grid; grid-column:1 / -1; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding-top:4px; }
@media (max-width:600px) { .saved-search-options { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) {
  #main-view.profile-open .search-panel { display:none; }
}
@media (max-width:1100px) {
  #main-view, #main-view.profile-open { grid-template-columns:minmax(0,1fr); }
  #main-view:not(.profile-open) #profile-pane, #main-view.profile-open .search-panel { display:none; }
  #main-view.profile-open #profile-pane { display:block; }
}

@media (max-width:600px) {
  html:not(.player-account) .app-shell .profile-menu { display:flex; gap:8px; min-width:0; padding:0; }
  html:not(.player-account) .app-shell .profile-menu strong { display:none; }
}

/* Player identity header: roster-style hierarchy shared by private and coach views. */
.coach-profile-showcase.profile-showcase-redesign .profile-hero-wide {
  grid-template-columns: minmax(180px, 280px) minmax(0, 1fr);
  gap: clamp(20px, 2vw, 30px);
  min-height: 0;
  padding: clamp(20px, 2vw, 26px);
  background: #090909;
}
.coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-photo {
  height: clamp(240px, 21vw, 330px);
  border-color: #444;
  border-radius: 12px;
  background: #151515;
}
.coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-photo img {
  object-position: center top;
}
.coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-identity-copy {
  display: grid;
  align-content: center;
  gap: clamp(12px, 1.1vw, 16px);
  min-width: 0;
}
.coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-title-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
}
.coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-title-row h1 {
  min-width: 0;
  max-width: none;
  margin: 0;
  color: #f7f7f4;
  font-size: clamp(34px, 4.3cqw, 60px);
  font-weight: 850;
  line-height: .98;
  letter-spacing: .03em;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .profile-vault-id {
  min-height: 24px;
  padding: 0 8px;
  border: 1px solid #464646;
  border-radius: 999px;
  background: #171717;
  color: #d0d0cc;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
  line-height: 22px;
  white-space: nowrap;
}
.coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-position-line {
  margin: 0;
  color: #f4f4f1;
  font-size: clamp(18px, 1.85cqw, 26px);
  font-weight: 760;
  line-height: 1.15;
  letter-spacing: .035em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
.coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-physical-line {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 14px;
  margin: 0;
  color: #e1e1de;
  font-size: clamp(14px, 1.25cqw, 18px);
  font-weight: 550;
  letter-spacing: .06em;
}
.coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-physical-line span:not(:last-child)::after {
  content: "|";
  margin-left: 14px;
  color: #747470;
}
.coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-header-details {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 0;
  padding-top: clamp(14px, 1.25vw, 18px);
  border-top-color: #343434;
}
.coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-header-detail span {
  margin-bottom: 6px;
  color: #999995;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .11em;
}
.coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-header-detail strong {
  color: #f2f2ef;
  font-size: clamp(13px, 1.1cqw, 16px);
  font-weight: 520;
  line-height: 1.35;
}
@container (max-width: 900px) {
  .coach-profile-showcase.profile-showcase-redesign .profile-hero-wide { grid-template-columns: minmax(140px, 24%) minmax(0, 1fr); gap: 20px; }
  .coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-photo { height: 250px; }
  .coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-header-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (max-width: 560px) {
  .coach-profile-showcase.profile-showcase-redesign .profile-hero-wide { grid-template-columns: 98px minmax(0, 1fr); gap: 18px 16px; padding: 20px; }
  .coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-photo { grid-column: 1; grid-row: 1; width: 98px; height: 132px; }
  .coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-identity-copy { display: contents; }
  .coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-title-row { grid-column: 2; grid-row: 1; gap: 8px; }
  .coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-title-row h1 { font-size: clamp(29px, 9.5cqw, 46px); }
  .coach-profile-showcase.profile-showcase-redesign .profile-hero-wide :is(.showcase-position-line, .showcase-physical-line, .showcase-header-details) { grid-column: 1 / -1; }
  .coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-position-line { font-size: clamp(17px, 5.2cqw, 24px); }
  .coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-physical-line { font-size: 14px; gap: 6px 10px; }
  .coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-physical-line span:not(:last-child)::after { margin-left: 10px; }
  .coach-profile-showcase.profile-showcase-redesign .profile-hero-wide .showcase-header-details { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 14px; }
}

/* Dynamic player stats: only populated, position-relevant performance details. */
.coach-profile-showcase.profile-showcase-redesign .profile-dynamic-stats-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
.coach-profile-showcase.profile-showcase-redesign .profile-stats-main-row {
  display: grid;
  grid-template-columns: minmax(0, 1.38fr) minmax(300px, .95fr);
  gap: 20px;
  align-items: stretch;
}
.coach-profile-showcase.profile-showcase-redesign .profile-stats-main-row > :only-child { grid-column: 1 / -1; }
.coach-profile-showcase.profile-showcase-redesign .profile-stats-panel .player-info-heading {
  margin-bottom: 18px;
}
.coach-profile-showcase.profile-showcase-redesign .profile-stats-panel .player-info-heading h2 {
  font-size: 22px;
}
.coach-profile-showcase.profile-showcase-redesign .profile-stats-panel .player-info-heading p {
  margin-top: 5px;
  font-size: 10px;
}
.coach-profile-showcase.profile-showcase-redesign .profile-stats-panel .profile-stats-grid {
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
}
.coach-profile-showcase.profile-showcase-redesign .profile-stats-panel .profile-stats-grid .showcase-metric,
.coach-profile-showcase.profile-showcase-redesign .profile-pitch-panel .showcase-season-grid .showcase-metric {
  display: grid;
  align-content: center;
  gap: 7px;
  min-height: 78px;
  padding: 12px;
  border: 1px solid #303030;
  border-radius: 7px;
  background: #1a1a1a;
}
.coach-profile-showcase.profile-showcase-redesign .profile-stats-panel .profile-stats-grid .showcase-metric span,
.coach-profile-showcase.profile-showcase-redesign .profile-pitch-panel .showcase-season-grid .showcase-metric span {
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .08em;
}
.coach-profile-showcase.profile-showcase-redesign .profile-stats-panel .profile-stats-grid .showcase-metric strong,
.coach-profile-showcase.profile-showcase-redesign .profile-pitch-panel .showcase-season-grid .showcase-metric strong {
  font-size: 24px;
  font-weight: 750;
  line-height: 1.1;
}
.coach-profile-showcase.profile-showcase-redesign .profile-stats-main-row .season-panel {
  display: grid;
  grid-template-rows: auto 1fr auto;
}
.coach-profile-showcase.profile-showcase-redesign .profile-stats-main-row .season-panel .showcase-season-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border: 1px solid #343434;
  border-radius: 8px;
}
.coach-profile-showcase.profile-showcase-redesign .profile-stats-main-row .season-panel .showcase-season-grid .showcase-metric {
  min-height: 112px;
  padding: 16px 12px;
  border: 0;
  border-inline-end: 1px solid #343434;
  border-bottom: 1px solid #343434;
  border-radius: 0;
  background: linear-gradient(135deg, #191919, #151515);
}
.coach-profile-showcase.profile-showcase-redesign .profile-stats-main-row .season-panel .showcase-season-grid .showcase-metric:nth-child(4n) { border-inline-end: 0; }
.coach-profile-showcase.profile-showcase-redesign .profile-stats-main-row .season-panel .showcase-season-grid .showcase-metric:nth-last-child(-n + 4) { border-bottom: 0; }
.coach-profile-showcase.profile-showcase-redesign .profile-position-stats-panel {
  display: grid;
  align-content: start;
}
.coach-profile-showcase.profile-showcase-redesign .profile-position-stats-groups {
  display: grid;
  gap: 18px;
}
.profile-position-stats-group {
  display: grid;
  gap: 10px;
  padding-top: 18px;
  border-top: 1px solid #303030;
}
.profile-position-stats-group:first-child { padding-top: 0; border-top: 0; }
.profile-position-stats-group h3 {
  margin: 0;
  color: #f3f3ef;
  font-size: 17px;
  font-weight: 750;
  line-height: 1.2;
  letter-spacing: -.02em;
}
.profile-position-stats-group h3 span { color: #999; font-weight: 550; }
.coach-profile-showcase.profile-showcase-redesign .profile-position-stats-group .profile-stats-grid {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}
.profile-pitch-mix {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #303030;
}
.profile-pitch-mix > p {
  margin: 0 0 10px;
  color: #b8b8b3;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.profile-pitch-mix > p span { color: #777; }
.profile-pitch-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.profile-pitch-stat-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  min-height: 78px;
  padding: 12px;
  border: 1px solid #303030;
  border-radius: 7px;
  background: #181818;
}
.profile-pitch-stat-card > strong {
  color: #f3f3f0;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.25;
}
.profile-pitch-stat-card > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
}
.profile-pitch-stat-card span {
  color: #aaa;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .07em;
}
.profile-pitch-stat-card b {
  margin-left: 4px;
  color: #f2f2ef;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: 0;
}
.profile-pitch-stat-card .profile-pitch-selected { color: #777; letter-spacing: .04em; }
.coach-profile-showcase.profile-showcase-redesign .profile-stats-empty { padding: 24px; }
.coach-profile-showcase.profile-showcase-redesign .profile-stats-empty h2 { margin-bottom: 8px; }
.coach-profile-showcase.profile-showcase-redesign .profile-stats-empty p { margin: 0; color: #aaa; line-height: 1.5; }
@container (max-width: 680px) {
  .coach-profile-showcase.profile-showcase-redesign .profile-stats-main-row { grid-template-columns: minmax(0, 1fr); }
  .profile-pitch-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (max-width: 520px) {
  .coach-profile-showcase.profile-showcase-redesign .profile-stats-main-row .season-panel .showcase-season-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coach-profile-showcase.profile-showcase-redesign .profile-stats-main-row .season-panel .showcase-season-grid .showcase-metric:nth-child(4n) { border-inline-end: 1px solid #343434; }
  .coach-profile-showcase.profile-showcase-redesign .profile-stats-main-row .season-panel .showcase-season-grid .showcase-metric:nth-child(2n) { border-inline-end: 0; }
  .coach-profile-showcase.profile-showcase-redesign .profile-stats-main-row .season-panel .showcase-season-grid .showcase-metric:nth-last-child(-n + 4) { border-bottom: 1px solid #343434; }
  .coach-profile-showcase.profile-showcase-redesign .profile-stats-main-row .season-panel .showcase-season-grid .showcase-metric:nth-last-child(-n + 2) { border-bottom: 0; }
}
@container (max-width: 420px) {
  .profile-pitch-stat-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Keep phone pages vertically focused. Individual data rails retain their own horizontal scrolling. */
@media (max-width: 760px) {
  html,
  body,
  body.public-landing,
  body.public-profile-page {
    max-width: 100%;
    overflow-x: hidden;
  }

  .auth-form input[type="date"] {
    min-width: 0;
    max-width: 100%;
    padding-inline: 12px;
  }

  .auth-form input[type="date"]::-webkit-date-and-time-value {
    min-width: 0;
    text-align: left;
  }

  .auth-form input[type="date"]::-webkit-calendar-picker-indicator {
    flex: 0 0 auto;
    margin: 0;
  }
}
