@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap");

:root {
  color-scheme: light;
  --ink: #17221b;
  --muted: #69736c;
  --paper: #f4f6f1;
  --card: #ffffff;
  --green: #17643a;
  --green-dark: #104c2c;
  --line: #dfe5dd;
  --alert: #b35a22;
  --gm-green: #14532d;
  --gm-ink: #0f172a;
  --gm-muted: #64748b;
  --gm-meta: #94a3b8;
  --gm-border: rgba(0, 0, 0, .10);
  --gm-card: #ffffff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.admin-leagues-page .admin-league-filters { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:14px; margin-bottom:16px; padding:17px 20px; border:1px solid #dce8df; border-radius:17px; background:#fff; box-shadow:0 7px 21px rgba(15,55,33,.04); }
.admin-leagues-page .admin-league-filters label { display:grid; gap:7px; color:#14532d; font-size:12px; font-weight:700; }
.admin-leagues-page .admin-league-filters input,.admin-leagues-page .admin-league-filters select { width:100%; min-width:0; min-height:43px; padding:0 12px; border:1px solid #dce8df; border-radius:11px; background:#fff; color:#153b2a; font:inherit; font-size:13px; font-weight:400; }
.admin-app.admin-leagues-page .admin-leagues-results { margin-top:0; }
.admin-leagues-page .admin-leagues-results .section-heading { align-items:center; }
.admin-leagues-page .admin-leagues-results .section-heading h2 { margin:2px 0 0; }
.admin-league-list { display:grid; gap:10px; }
.admin-league-card { display:flex; min-width:0; align-items:center; gap:14px; padding:14px; border:1px solid #dce8df; border-radius:16px; background:#fff; color:#14532d; text-decoration:none; transition:border-color .15s ease,transform .15s ease; }
.admin-league-card:hover { border-color:#9fc9ac; transform:translateY(-1px); }
.admin-league-logo { display:grid; width:56px; height:56px; flex:0 0 56px; place-items:center; border:1px solid #d8e8dc; border-radius:12px; object-fit:contain; }
.admin-league-placeholder { background:#eaf4ec; font-weight:800; }
.admin-league-copy { display:grid; min-width:0; flex:1; gap:4px; }
.admin-league-copy strong { font-size:15px; overflow-wrap:anywhere; }
.admin-league-copy small { color:#65766b; font-size:11px; line-height:1.4; overflow-wrap:anywhere; }
.admin-league-status { flex:0 0 auto; padding:7px 10px; border:1px solid #d4e6d9; border-radius:999px; background:#f1f8f3; color:#14532d; font-size:11px; font-weight:700; }
.admin-league-status.status-completed,.admin-league-status.status-archived { border-color:#e9dfc1; background:#fff9e9; color:#86651f; }
.admin-league-status.status-cancelled,.admin-league-status.status-deleted { border-color:#efdad5; background:#fff7f5; color:#9b493e; }
.admin-leagues-page .page-header { align-items:center; }
.admin-leagues-page .page-header .primary { flex:0 0 auto; }
.admin-league-card-shell { position:relative; min-width:0; overflow:hidden; border-radius:16px; }
.admin-league-front { position:relative; z-index:1; display:flex; align-items:stretch; background:#fff; transition:transform .2s ease; touch-action:pan-y; }
.admin-league-front .admin-league-card { min-width:0; flex:1; }
.admin-league-more { width:40px; flex:0 0 40px; margin-left:-1px; border:1px solid #dce8df; border-radius:0 16px 16px 0; background:#fff; color:#527461; font-size:22px; cursor:pointer; }
.admin-league-front .admin-league-card { border-radius:16px 0 0 16px; }
.admin-league-actions { position:absolute; top:0; right:0; bottom:0; display:flex; width:145px; background:#f5f8f5; }
.admin-league-actions button { width:50%; border:0; background:transparent; color:#14532d; font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.admin-league-actions button:last-child { background:#fff0ec; color:#a13f32; }
.admin-league-card-shell.is-open .admin-league-front { transform:translateX(-145px); }
.admin-league-reason { display:block; padding:7px 14px 2px; color:#8b5145; font-size:11px; }
.admin-league-dialog { width:min(92vw,650px); max-height:90dvh; padding:25px; border:1px solid #dce8df; border-radius:22px; background:#fff; box-shadow:0 25px 80px rgba(11,43,25,.2); color:#153b2a; }
.admin-league-dialog::backdrop { background:rgba(10,31,21,.46); }
.admin-league-dialog-heading { display:flex; justify-content:space-between; gap:12px; margin-bottom:21px; }
.admin-league-dialog-heading .eyebrow { color:#b28731; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.admin-league-dialog-heading h2 { margin:3px 0 6px; color:#14532d; font-size:24px; }
.admin-league-dialog-heading p:last-child { margin:0; color:#627368; font-size:12px; line-height:1.5; }
.admin-league-dialog label { display:grid; gap:7px; color:#14532d; font-size:12px; font-weight:700; }
.admin-league-dialog input,.admin-league-dialog select,.admin-league-dialog textarea { width:100%; min-height:43px; padding:10px 12px; border:1px solid #dce8df; border-radius:11px; background:#fff; color:#153b2a; font:inherit; font-size:13px; font-weight:400; }
.admin-league-dialog label small { color:#738376; font-size:10px; font-weight:400; }
.admin-league-dialog form > label { margin-bottom:16px; }
.admin-league-dialog .dialog-close { align-self:start; border:0; background:transparent; color:#516d5a; font-size:25px; cursor:pointer; }
.admin-league-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.admin-league-form-grid .wide { grid-column:1/-1; }
.admin-league-player-picker { margin:20px 0; padding:15px; border:1px solid #dce8df; border-radius:14px; }
.admin-league-player-picker legend { padding:0 5px; color:#14532d; font-size:13px; font-weight:800; }
.admin-league-player-picker > p { margin:0 0 12px; color:#64766a; font-size:11px; }
.admin-league-player-picker > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:180px; overflow:auto; }
.admin-league-dialog .admin-league-player-option { display:flex; align-items:center; gap:9px; padding:9px; border:1px solid #e4ece5; border-radius:10px; }
.admin-league-player-option input { width:16px; min-height:16px; }
.admin-league-player-option span { display:grid; gap:2px; }
.admin-league-player-option small { color:#64766a; font-size:10px; }
.admin-league-dialog .form-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:18px; }
.admin-league-dialog .danger-button { padding:10px 16px; border:1px solid #ad4335; border-radius:11px; background:#ad4335; color:#fff; font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.admin-league-detail-page .admin-league-detail-header { display:flex; align-items:center; }
.admin-league-detail-logo { width:72px; height:72px; flex:0 0 72px; padding:6px; border:1px solid rgba(255,255,255,.3); border-radius:15px; background:#fff; object-fit:contain; }
.admin-league-header-actions { display:grid; justify-items:end; gap:6px; }
.admin-league-header-actions small { max-width:190px; color:#dcefe1; font-size:10px; line-height:1.4; text-align:right; }
.admin-league-header-actions button:disabled { opacity:.55; cursor:not-allowed; }
.admin-league-detail-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.admin-league-detail-kpis > div { display:grid; gap:5px; min-height:88px; align-content:center; padding:15px 18px; border:1px solid #dce8df; border-radius:16px; background:#fff; box-shadow:0 5px 18px rgba(15,55,33,.04); }
.admin-league-detail-kpis span { color:#617666; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.admin-league-detail-kpis strong { color:#14532d; font-size:26px; line-height:1; }
.admin-league-detail-section { margin-top:16px !important; }
.admin-league-detail-section .section-heading { align-items:center; }
.admin-league-participants,.admin-league-rounds { display:grid; gap:9px; }
.admin-league-participant,.admin-league-round { display:flex; min-width:0; align-items:center; gap:12px; padding:12px 14px; border:1px solid #e1ebe3; border-radius:13px; background:#fff; }
.admin-league-participant-avatar { display:grid; width:36px; height:36px; flex:0 0 36px; place-items:center; border:1px solid #cfe2d4; border-radius:50%; background:#eef7f0; color:#14532d; font-size:14px; font-weight:800; }
.admin-league-participant-name,.admin-league-round-main { display:grid; min-width:0; flex:1; gap:3px; }
.admin-league-participant-name strong,.admin-league-round-main strong { color:#14532d; font-size:13px; overflow-wrap:anywhere; }
.admin-league-participant-name small,.admin-league-round-main small { color:#647668; font-size:11px; overflow-wrap:anywhere; }
.admin-league-participant-status,.admin-league-round-status { flex:0 0 auto; padding:6px 9px; border:1px solid #cfe5d4; border-radius:999px; background:#f1f8f3; color:#14532d; font-size:10px; font-weight:700; }
.admin-league-participant-status.pending,.admin-league-round-status.in_progress { border-color:#eadbb3; background:#fff9eb; color:#916b26; }
.admin-league-participant-status.declined,.admin-league-round-status.cancelled { border-color:#efdad5; background:#fff7f5; color:#9b493e; }
.admin-league-round { color:inherit; text-decoration:none; }
.admin-league-round:hover { border-color:#a9cdb5; background:#f9fcf9; }
.admin-league-round-date { width:92px; flex:0 0 92px; color:#516a5a; font-size:11px; font-weight:700; }
.admin-league-round-actions { display:flex; align-items:center; gap:9px; }
.admin-league-round-actions .button-link { text-decoration:none; }
.admin-league-classification-state { padding:6px 9px; border-radius:999px; background:#edf5ee; color:#17643a; font-size:10px; font-weight:700; }
.admin-league-standings { min-width:650px; }
.admin-league-config { margin-top:16px !important; }
.admin-league-config summary { color:#14532d; font-size:14px; font-weight:800; cursor:pointer; }
.admin-league-config dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:18px 0 0; }
.admin-league-config dl > div { padding:12px; border:1px solid #e2ebe4; border-radius:11px; }
.admin-league-config dt { color:#687b6e; font-size:10px; }
.admin-league-config dd { margin:4px 0 0; color:#14532d; font-size:13px; font-weight:700; }
.admin-league-player-link { margin:16px 2px; text-align:right; }
.admin-league-player-link a { color:#14532d; font-size:12px; font-weight:700; text-decoration:none; }
.admin-league-invite-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:250px; overflow:auto; }
.admin-league-dialog .admin-league-invite-options .admin-league-player-option { display:flex; align-items:center; gap:9px; padding:10px; border:1px solid #e2ebe4; border-radius:11px; }
.admin-league-invite-options input { width:16px; min-height:16px; }
.admin-league-invite-options .admin-league-player-option span { display:grid; gap:2px; }
@media (max-width:620px) {
  .admin-leagues-page .admin-league-filters { grid-template-columns:1fr; gap:12px; padding:14px; }
  .admin-leagues-page .admin-leagues-results { padding:15px; }
  .admin-leagues-page .page-header { flex-wrap:nowrap; }
  .admin-leagues-page .page-header h1 { font-size:23px; }
  .admin-leagues-page .page-header .primary { padding-inline:11px; font-size:11px; }
  .admin-league-card { gap:10px; padding:11px; }
  .admin-league-logo { width:46px; height:46px; flex-basis:46px; }
  .admin-league-copy strong { font-size:13px; }
  .admin-league-copy small { font-size:10px; }
  .admin-league-status { align-self:flex-start; padding:5px 7px; font-size:10px; }
  .admin-league-dialog { width:calc(100vw - 22px); padding:18px; }
  .admin-league-form-grid,.admin-league-player-picker > div { grid-template-columns:1fr; }
  .admin-league-detail-page .admin-league-detail-header { flex-wrap:wrap; gap:10px; }
  .admin-league-detail-logo { width:52px; height:52px; flex-basis:52px; }
  .admin-league-detail-header > div:nth-child(2) { flex:1; }
  .admin-league-header-actions { width:100%; justify-items:stretch; }
  .admin-league-header-actions small { max-width:none; text-align:left; }
  .admin-league-detail-kpis { gap:6px; }
  .admin-league-detail-kpis > div { min-height:72px; padding:10px; }
  .admin-league-detail-kpis span { font-size:8px; line-height:1.25; }
  .admin-league-detail-kpis strong { font-size:22px; }
  .admin-league-detail-section { padding:15px !important; }
  .admin-league-round { flex-wrap:wrap; gap:7px 9px; }
  .admin-league-round-date { width:auto; flex-basis:auto; }
  .admin-league-round-main { flex-basis:calc(100% - 100px); }
  .admin-league-round-status { margin-left:auto; }
  .admin-league-config dl,.admin-league-invite-options { grid-template-columns:1fr; }
}

/* Admin cups: shared competition language, with a subtle distinction between individual and team cups. */
.admin-cups-page .page-header { align-items:center; }
.admin-cups-page .page-header .primary { flex:0 0 auto; }
.admin-cup-filters { display:grid; grid-template-columns:minmax(0,1fr) 175px 175px; gap:12px; margin-bottom:16px; padding:17px 20px; border:1px solid #dce8df; border-radius:17px; background:#fff; box-shadow:0 7px 21px rgba(15,55,33,.04); }
.admin-cup-filters label { display:grid; gap:7px; color:#14532d; font-size:12px; font-weight:700; }
.admin-cup-filters input,.admin-cup-filters select { width:100%; min-width:0; min-height:43px; padding:0 12px; border:1px solid #dce8df; border-radius:11px; background:#fff; color:#153b2a; font:inherit; font-size:13px; font-weight:400; }
.admin-cups-results { margin-top:0 !important; }
.admin-cup-list { display:grid; gap:10px; }
.admin-cup-card-shell { position:relative; min-width:0; overflow:hidden; border-radius:16px; }
.admin-cup-front { position:relative; z-index:1; display:flex; align-items:stretch; background:#fff; transition:transform .2s ease; touch-action:pan-y; }
.admin-cup-front .admin-cup-card { min-width:0; flex:1; border-radius:16px 0 0 16px; }
.admin-cup-more { width:40px; flex:0 0 40px; margin-left:-1px; border:1px solid #dce8df; border-radius:0 16px 16px 0; background:#fff; color:#527461; font-size:22px; cursor:pointer; }
.admin-cup-actions { position:absolute; inset:0 0 0 auto; display:flex; width:145px; background:#f5f8f5; }
.admin-cup-actions button { width:50%; border:0; background:transparent; color:#14532d; font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.admin-cup-actions button:last-child { background:#fff0ec; color:#a13f32; }
.admin-cup-card-shell.is-open .admin-cup-front { transform:translateX(-145px); }
.admin-cup-reason { display:block; padding:7px 14px 2px; color:#8b5145; font-size:11px; }
.admin-cup-detail-context { display:flex; align-items:center; gap:18px; margin-bottom:16px; padding:15px 18px; border:1px solid #d5e5d9; border-radius:17px; background:linear-gradient(135deg,#0f5130,#247348); color:#fff; box-shadow:0 10px 26px rgba(15,81,48,.13); }
.admin-cup-detail-context > div:first-child { display:grid; min-width:0; flex:1; gap:3px; }
.admin-cup-detail-context .eyebrow { margin:0; color:#f1cd67; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.admin-cup-detail-context strong { font-size:18px; }
.admin-cup-detail-context > div:first-child span { color:#d9eee1; font-size:10px; }
.admin-cup-detail-stats { display:flex; gap:8px; }
.admin-cup-detail-stats span { display:grid; min-width:86px; gap:2px; padding:9px 12px; border:1px solid rgba(255,255,255,.2); border-radius:12px; background:rgba(255,255,255,.08); color:#dcece2; font-size:9px; text-align:center; }
.admin-cup-detail-stats b { color:#fff; font-size:18px; }
.admin-cup-detail-context > a { padding:9px 12px; border-radius:10px; background:#fff; color:#14532d; font-size:10px; font-weight:800; text-decoration:none; }
.admin-cup-detail-logo { display:grid; width:72px; height:72px; flex:0 0 72px; place-items:center; border:1px solid rgba(255,255,255,.3); border-radius:15px; background-color:#fff; background-position:center; background-repeat:no-repeat; background-size:contain; color:#14532d; font-size:22px; font-weight:800; }
.admin-cup-detail-state { margin-left:auto; padding:7px 11px; border:1px solid rgba(255,255,255,.28); border-radius:999px; color:#fff; font-size:10px; font-weight:800; }
.admin-cup-admin-matches { display:grid; gap:9px; }
.admin-cup-admin-match { display:flex; min-width:0; align-items:center; gap:12px; padding:12px 14px; border:1px solid #e1ebe3; border-radius:13px; background:#fff; color:inherit; text-decoration:none; }
.admin-cup-admin-match:hover { border-color:#a9cdb5; background:#f9fcf9; }
.admin-cup-admin-match.is-disabled { opacity:.76; }
.admin-cup-admin-match-main { display:grid; min-width:0; flex:1; gap:3px; }
.admin-cup-admin-match-main strong { color:#14532d; font-size:13px; }
.admin-cup-admin-match-main small { color:#4f6557; font-size:11px; }
.admin-cup-admin-match-main em { color:#819087; font-size:9px; font-style:normal; }
.admin-cup-admin-match > b { flex:0 0 auto; color:#14532d; font-size:10px; }
@media (max-width:620px) {
  .admin-cup-detail-context { flex-wrap:wrap; gap:11px; padding:14px; }
  .admin-cup-detail-context > div:first-child { flex-basis:100%; }
  .admin-cup-detail-stats { flex:1; }
  .admin-cup-detail-stats span { min-width:0; flex:1; }
  .admin-cup-detail-logo { width:52px; height:52px; flex-basis:52px; }
  .admin-cup-detail-state { width:100%; margin-left:0; text-align:center; }
  .admin-cup-admin-match { flex-wrap:wrap; gap:7px; }
  .admin-cup-admin-match-main { flex-basis:calc(100% - 90px); }
  .admin-cup-admin-match > b { width:100%; text-align:right; }
}
.admin-cup-card { display:flex; min-width:0; align-items:center; gap:14px; padding:14px; border:1px solid #dce8df; border-radius:16px; background:#fff; color:#14532d; text-decoration:none; transition:border-color .15s ease,transform .15s ease; }
.admin-cup-card:hover { border-color:#9fc9ac; transform:translateY(-1px); }
.admin-cup-card.is-team { border-left:3px solid #b28731; }
.admin-cup-logo { display:grid; width:56px; height:56px; flex:0 0 56px; place-items:center; border:1px solid #d8e8dc; border-radius:12px; object-fit:contain; }
.admin-cup-placeholder { background:#eaf4ec; font-weight:800; }
.admin-cup-card.is-team .admin-cup-placeholder { background:#fff8e8; color:#8a681f; }
.admin-cup-copy { display:grid; min-width:0; flex:1; gap:3px; }
.admin-cup-copy strong { font-size:15px; overflow-wrap:anywhere; }
.admin-cup-copy small { color:#65766b; font-size:11px; line-height:1.4; overflow-wrap:anywhere; }
.admin-cup-kind { color:#a17622; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.admin-cup-status { flex:0 0 auto; padding:7px 10px; border:1px solid #d4e6d9; border-radius:999px; background:#f1f8f3; color:#14532d; font-size:11px; font-weight:700; }
.admin-cup-status.status-completed,.admin-cup-status.status-archived { border-color:#e9dfc1; background:#fff9e9; color:#86651f; }
.admin-cup-status.status-cancelled { border-color:#efdad5; background:#fff7f5; color:#9b493e; }
.admin-cup-kind-dialog { width:min(92vw,620px); padding:25px; border:1px solid #dce8df; border-radius:22px; background:#fff; box-shadow:0 25px 80px rgba(11,43,25,.2); color:#153b2a; }
.admin-cup-kind-dialog::backdrop { background:rgba(10,31,21,.46); }
.admin-cup-kind-dialog .dialog-close { align-self:start; border:0; background:transparent; color:#516d5a; font-size:25px; cursor:pointer; }
.admin-cup-kind-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.admin-cup-kind-options a { display:grid; gap:5px; padding:20px; border:1px solid #dce8df; border-radius:16px; background:#f9fcf9; color:#14532d; text-decoration:none; }
.admin-cup-kind-options a:last-child { border-color:#eadcb8; background:#fffaf0; }
.admin-cup-kind-options span { color:#a17622; font-size:9px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.admin-cup-kind-options strong { font-size:16px; }
.admin-cup-kind-options small { color:#65766b; font-size:11px; line-height:1.45; }
@media (max-width:620px) {
  .admin-cup-filters,.admin-cup-kind-options { grid-template-columns:1fr; }
  .admin-cup-filters { gap:11px; padding:14px; }
  .admin-cups-results { padding:15px !important; }
  .admin-cups-page .page-header { flex-wrap:nowrap; }
  .admin-cups-page .page-header h1 { font-size:23px; }
  .admin-cups-page .page-header .primary { padding-inline:11px; font-size:11px; }
  .admin-cup-card { gap:10px; padding:11px; }
  .admin-cup-logo { width:46px; height:46px; flex-basis:46px; }
  .admin-cup-copy strong { font-size:13px; }
  .admin-cup-copy small { font-size:10px; }
  .admin-cup-status { align-self:flex-start; padding:5px 7px; font-size:10px; }
  .admin-cup-kind-dialog { width:calc(100vw - 22px); padding:18px; }
}

/* Default data-table pattern: soft header, highlighted row label and centered metrics. */
/* League results detail */
.league-results-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 30px; }
.league-results-heading h1 { margin: 3px 0 6px; color: var(--gm-green); font-size: 20px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.league-results-heading > div > p:last-child { margin: 0; color: var(--gm-muted); font-size: 10px; }
.league-complete-button { min-height: 34px; padding: 0 14px; border: 1px solid rgba(20,83,45,.22); border-radius: 11px; background: rgba(20,83,45,.08); color: var(--gm-green); font-size: 11px; font-weight: 800; cursor: pointer; }
.league-complete-button:hover { background: #dceadf; }
.league-results-block { margin-bottom: 14px; padding: 16px; border: 1px solid var(--gm-border); border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgba(15,23,42,.04); }
.league-block-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 17px; }
.league-block-heading .eyebrow { margin: 0 0 3px; font-size: 8px; }
.league-block-heading h2 { margin: 0; color: var(--gm-green); font-size: 14px; }
.classification-state { padding: 5px 8px; border-radius: 999px; background: #edf4ef; color: var(--gm-green); font-size: 8px; font-weight: 600; }
.league-results-page .table-wrap { border: 1px solid var(--gm-border); border-radius: 11px; }
.league-standings-scroll { width: 100%; overflow-x: visible; }
.league-standings-table { width: 100%; min-width: 0; table-layout: fixed; font-size: 10px; }
.league-standings-table th, .league-standings-table td { padding: 8px 5px; border-color: #dbe2dc; text-align: center; white-space: nowrap; }
.league-standings-table thead th { background: #f5f7f5; color: var(--gm-green); font-size: 9px; font-weight: 700; letter-spacing: 0; text-align: center; text-transform: none; }
.league-standings-table tbody td { color: var(--gm-ink); font-size: 10px; font-weight: 400; text-align: center; }
.league-standings-table th:nth-child(1), .league-standings-table td:nth-child(1) { width: 14%; text-align: left; }
.league-standings-table th:nth-child(2), .league-standings-table td:nth-child(2) { width: 4%; text-align: center; }
.league-standings-table tbody td:nth-child(1) { background: #f5f7f5; color: var(--gm-green); font-weight: 700; text-align: left; }
.league-standings-table th:nth-child(n+3):nth-child(-n+5), .league-standings-table td:nth-child(n+3):nth-child(-n+5) { width: 7%; }
.league-standings-table th:nth-child(n+6):nth-child(-n+9), .league-standings-table td:nth-child(n+6):nth-child(-n+9) { width: 7.25%; }
.league-standings-table th:nth-child(n+10), .league-standings-table td:nth-child(n+10) { width: 8%; }
.league-standings-table tbody td.highlight-net,
.league-standings-table tbody td.highlight-score,
.league-standings-table tbody td.highlight-points { background: #fffed6; font-weight: 600; }
.player-detail-heading label { display: grid; grid-template-columns: auto minmax(140px, 190px); align-items: center; gap: 8px; color: var(--gm-green); font-size: 9px; font-weight: 600; }
.player-detail-heading select { min-height: 35px; padding: 0 28px 0 9px; border: 1px solid var(--gm-border); border-radius: 9px; background: #fff; color: var(--gm-ink); font: 400 10px Montserrat, sans-serif; }
.league-player-analysis { display: grid; grid-template-columns: .85fr 1fr 1.2fr 1fr; gap: 12px; }
.league-player-card, .league-stat-card { min-width: 0; min-height: 286px; padding: 14px; border: 1px solid var(--gm-border); border-radius: 14px; background: #fff; }
.league-player-card { display: flex; align-items: center; flex-direction: column; justify-content: center; text-align: center; }
.league-player-avatar { display: grid; width: 116px; height: 116px; margin-bottom: 11px; place-items: center; border: 1px solid #a9c6b3; border-radius: 18px; background: #edf5ef; color: var(--gm-green); font-size: 22px; font-weight: 600; }
.league-player-avatar img, .league-player-avatar b { grid-area: 1 / 1; }
.league-player-avatar img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.league-player-avatar b { font: inherit; }
.league-player-avatar.has-photo b { display: none; }
.league-player-card h3, .league-stat-card h3 { margin: 0 0 9px; color: var(--gm-green); font-size: 11px; }
.league-player-card p { margin: 2px 0; color: var(--gm-muted); font-size: 8.5px; }
.league-stat-card dl { margin: 0; }
.league-stat-card dl div { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 4.5px 6px; border-bottom: 1px solid #e4e8e4; font-size: 9px; }
.league-stat-card dl div.total { margin-top: 5px; background: #f5f8f5; color: var(--gm-green); font-weight: 700; }
.league-stat-card dt, .league-stat-card dd { margin: 0; }
.league-stat-card dt { font-size: 9.75px; }
.league-stat-card dd { font-weight: 600; }
.distribution-card { text-align: center; }
.shot-count-card dl div dd { display: grid; min-width: 42px; align-self: stretch; margin: -4px -6px -4px 0; place-items: center; color: var(--gm-ink); }
.shot-count-card .shot-hio dd { background: #ffc000; }
.shot-count-card .shot-albatross dd { background: #ffe5b4; }
.shot-count-card .shot-eagle dd { background: #fff7cc; }
.shot-count-card .shot-birdie dd { background: #ffe4d6; }
.shot-count-card .shot-par dd { background: #e2f0d9; }
.shot-count-card .shot-bogey dd { background: #d9e1f2; }
.shot-count-card .shot-double dd { background: #f2f2f2; }
.shot-count-card .shot-over dd { background: #e0e0e0; }
.league-donut { position: relative; display: grid; width: 172px; height: 172px; margin: 8px auto 0; place-items: center; }
.league-donut svg { width: 100%; height: 100%; overflow: visible; }
.league-donut circle { fill: none; stroke-width: 28; }
.league-donut .donut-track { stroke: #f3f4f6; }
.league-donut .donut-segment { cursor: default; }
.league-donut text { fill: #27303d; font-size: 7px; font-weight: 600; text-anchor: middle; dominant-baseline: middle; pointer-events: none; }
.league-donut > span { position: absolute; display: grid; color: var(--gm-green); font-size: 17px; font-weight: 700; }
.league-donut small { font-size: 8px; font-weight: 500; }
.league-donut-empty { display: grid; min-height: 172px; place-items: center; color: var(--gm-muted); font-size: 9px; }
.league-rates { display: grid; gap: 7px; margin-top: 5px; }
.league-rate { display: grid; grid-template-columns: 24px 1fr 30px; align-items: center; gap: 7px; color: var(--gm-green); font-size: 9px; }
.league-rate > div { height: 15px; overflow: hidden; border-radius: 999px; background: #e5e7eb; }
.league-rate i { display: block; height: 100%; border-radius: inherit; }
.league-rate i.fir { background: linear-gradient(90deg, #c3fad8, #59c477); }
.league-rate i.gir { background: linear-gradient(90deg, #bfdbfe, #69acfd); }
.league-rate strong { color: var(--gm-ink); font-size: 9px; text-align: right; }
.league-rounds-heading { display: flex; align-items: center; justify-content: space-between; margin: 16px 0 8px; }
.league-rounds-heading h3 { margin: 0; color: var(--gm-green); font-size: 11px; }
.league-rounds-heading span { color: var(--gm-muted); font-size: 8px; }
.league-player-rounds { width: 100%; min-width: 0; table-layout: fixed; font-size: 10px; }
.league-player-rounds th, .league-player-rounds td { padding: 8px 5px; border-color: #dbe2dc; text-align: center; white-space: nowrap; }
.league-player-rounds thead th { background: #f5f7f5; color: var(--gm-green); font-size: 9px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.league-player-rounds tbody td { color: var(--gm-ink); font-size: 10px; font-weight: 400; }
.league-player-rounds th:nth-child(1), .league-player-rounds td:nth-child(1) { width: 9%; }
.league-player-rounds th:nth-child(2), .league-player-rounds td:nth-child(2) { width: 23%; text-align: left; }
.league-player-rounds th:nth-child(3), .league-player-rounds td:nth-child(3) { width: 7%; }
.league-player-rounds th:nth-child(n+4):nth-child(-n+6), .league-player-rounds td:nth-child(n+4):nth-child(-n+6) { width: 8%; }
.league-player-rounds th:nth-child(7), .league-player-rounds td:nth-child(7), .league-player-rounds th:nth-child(8), .league-player-rounds td:nth-child(8) { width: 7%; }
.league-player-rounds th:nth-child(9), .league-player-rounds td:nth-child(9) { width: 6%; }
.league-player-rounds th:nth-child(10), .league-player-rounds td:nth-child(10) { width: 8%; }
.league-player-rounds th:nth-child(11), .league-player-rounds td:nth-child(11) { width: 9%; }
.league-results-page .league-player-rounds th:nth-child(n+3):nth-child(-n+9),
.league-results-page .league-player-rounds td:nth-child(n+3):nth-child(-n+9) { text-align: center; }
.league-player-rounds a { color: var(--gm-green); font-weight: 600; text-decoration: none; }
.round-outcome { display: inline-grid; min-width: 43px; min-height: 20px; padding: 0 8px; place-items: center; border-radius: 999px; background: #f1f3f1; color: var(--gm-muted); font-size: 8px; font-weight: 600; }
.round-outcome.win { background: #dcf7e3; color: #17643a; }
.round-outcome.loss { background: #fbe4e4; color: #a73737; }
.round-outcome.tie { background: #fff3cf; color: #8a6610; }
.league-challenge-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.league-challenge { display: flex; min-height: 124px; align-items: center; gap: 13px; padding: 12px 14px; border: 1px solid var(--gm-border); border-radius: 14px; }
.challenge-trophy { display: grid; width: 76px; height: 96px; flex: 0 0 76px; place-items: center; }
.challenge-trophy img { display: block; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.league-challenge h3 { margin: 0 0 3px; color: var(--gm-green); font-size: 10px; text-transform: uppercase; }
.league-challenge p { min-height: 25px; margin: 0 0 7px; color: var(--gm-muted); font-size: 7.5px; line-height: 1.4; }
.league-challenge strong { display: block; margin-bottom: 6px; color: #b47b04; font-size: 9px; }
.league-challenge small { display: inline-block; padding: 4px 6px; border-radius: 7px; background: #f3f5f3; color: var(--gm-muted); font-size: 7px; }
@media (max-width: 720px) {
  .league-results-heading { align-items: stretch; flex-direction: column; margin-bottom: 20px; }
  .league-results-heading h1 { font-size: 17px; }
  .league-results-block { padding: 12px; border-radius: 15px; }
  .league-block-heading { align-items: stretch; flex-direction: column; gap: 9px; }
  .league-block-heading h2 { font-size: 13px; }
  .classification-state { align-self: flex-start; }
  .league-rounds-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .league-player-rounds { width: 920px; min-width: 920px; }
  .league-player-rounds th:nth-child(1), .league-player-rounds td:nth-child(1) { width: 90px; }
  .league-player-rounds th:nth-child(2), .league-player-rounds td:nth-child(2) { width: 210px; }
  .player-detail-heading label { grid-template-columns: auto 1fr; }
  .league-player-analysis { grid-template-columns: 1fr 1fr; }
  .league-player-card, .league-stat-card { min-height: 0; padding: 11px; }
  .league-player-avatar { width: 94px; height: 94px; }
  .league-challenge-grid { grid-template-columns: 1fr; }
}

/* Cup creation */
.cup-kind-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 16px; }
.cup-kind-card { min-height: 126px; padding: 20px; border: 1px solid rgba(20,83,45,.22); border-radius: 18px; background: #fff; }
.cup-kind-card.is-selected { background: linear-gradient(135deg, #14532d, #267348); color: #fff; box-shadow: 0 12px 28px rgba(20,83,45,.14); }
.cup-kind-card.is-upcoming { color: var(--gm-green); opacity: .62; }
.cup-kind-card > span { display: block; margin-bottom: 8px; font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.cup-kind-card h2 { margin: 0 0 7px; font-size: 18px; }
.cup-kind-card p { margin: 0; font-size: 11px; line-height: 1.5; }
.cup-kind-selector { width: 100%; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.cup-create-card { padding: 20px; border: 1px solid var(--gm-border); border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgba(15,23,42,.04); }
.cup-form-heading { margin-bottom: 18px; }
.cup-form-heading h2 { margin: 0 0 5px; color: var(--gm-green); font-size: 16px; }
.cup-form-heading p { margin: 0; color: var(--gm-muted); font-size: 10px; }
.cup-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.cup-form-grid > .wide { grid-column: 1 / -1; }
.cup-form-grid > label { display: grid; gap: 7px; color: var(--gm-green); font-size: 10px; font-weight: 600; }
.cup-form-grid input[type="text"], .cup-form-grid > label > input { width: 100%; min-height: 42px; padding: 0 13px; border: 1px solid var(--line); border-radius: 12px; font: inherit; color: var(--gm-ink); }
.cup-choice-group { min-width: 0; margin: 0; padding: 13px; border: 1px solid var(--line); border-radius: 14px; }
.cup-choice-group legend { padding: 0 6px; color: var(--gm-green); font-size: 10px; font-weight: 700; }
.cup-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cup-choice-grid label { position: relative; cursor: pointer; }
.cup-choice-grid input { position: absolute; opacity: 0; pointer-events: none; }
.cup-choice-grid span { display: grid; min-height: 69px; align-content: center; gap: 4px; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.cup-choice-grid input:checked + span { border-color: rgba(20,83,45,.45); background: #edf5ef; box-shadow: inset 0 0 0 1px rgba(20,83,45,.12); }
.cup-choice-grid strong { color: var(--gm-green); font-size: 10px; }
.cup-choice-grid small { color: var(--gm-muted); font-size: 8px; line-height: 1.35; }
.cup-player-picker { margin-top: 16px; }
.cup-preview { display: grid; gap: 4px; margin-top: 14px; padding: 13px 15px; border-radius: 13px; background: #edf5ef; color: var(--gm-green); }
.cup-preview > span { font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cup-preview strong { font-size: 12px; }
.cup-preview p { margin: 0; color: var(--gm-muted); font-size: 9px; }
@media (max-width: 720px) {
  .cup-kind-grid, .cup-form-grid { grid-template-columns: 1fr; }
  .cup-create-card { padding: 14px; }
  .cup-kind-card { min-height: 108px; padding: 16px; }
  .cup-choice-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 430px) { .cup-choice-grid { grid-template-columns: 1fr; } }
@media (max-width: 430px) { .league-player-analysis { grid-template-columns: 1fr; } }
@media (hover: none) and (pointer: coarse) {
  .league-standings-scroll { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; }
  .league-standings-table { width: max-content; min-width: 1050px; }
  .league-standings-table th:nth-child(1), .league-standings-table td:nth-child(1) { width: 130px; }
  .league-standings-table th:nth-child(2), .league-standings-table td:nth-child(2) { width: 42px; }
  .league-standings-table th:nth-child(n+3):nth-child(-n+9), .league-standings-table td:nth-child(n+3):nth-child(-n+9) { width: 72px; }
  .league-standings-table th:nth-child(n+10), .league-standings-table td:nth-child(n+10) { width: 84px; }
  .league-player-rounds { width: 920px; min-width: 920px; }
  .league-player-rounds th:nth-child(1), .league-player-rounds td:nth-child(1) { width: 90px; }
  .league-player-rounds th:nth-child(2), .league-player-rounds td:nth-child(2) { width: 210px; }
}
@media (max-width: 640px) {
  .league-standings-table th:nth-child(1), .league-standings-table td:nth-child(1) { position: sticky; left: 0; z-index: 2; background: #f5f7f5; }
  .league-standings-table th:nth-child(2), .league-standings-table td:nth-child(2) { position: sticky; left: 130px; z-index: 2; background: #fff; box-shadow: 1px 0 #dfe5dd; }
  .league-standings-table thead th:nth-child(1), .league-standings-table thead th:nth-child(2) { z-index: 3; background: #f3f4f6; }
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
.hidden { display: none !important; }
.shell { width: min(100%, 1080px); min-height: 100vh; margin: 0 auto; padding: 28px 20px 96px; }
.hero, .page-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 26px; }
.hero h1, .page-header h1 { margin: 3px 0 7px; font-size: clamp(2rem, 7vw, 3.4rem); letter-spacing: -.055em; line-height: 1; }
.eyebrow { margin: 0; color: var(--green); font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.subtitle { margin: 0; color: var(--muted); font-size: 1rem; }
.avatar { display: grid; place-items: center; width: 52px; height: 52px; padding: 0; flex: 0 0 auto; border: 0; border-radius: 50%; background: var(--ink); color: white; font-weight: 800; cursor: pointer; }
.avatar.logged-out { width: auto; padding: 0 15px; border-radius: 16px; background: var(--green); }
.account-compact { display: grid; justify-items: center; gap: 5px; color: var(--muted); font-size: .65rem; font-weight: 800; }
.play-grid { display: grid; gap: 14px; }
.play-card { position: relative; display: flex; min-height: 168px; gap: 18px; align-items: flex-start; padding: 22px; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: var(--card); box-shadow: 0 10px 28px rgba(26, 48, 34, .05); }
.play-card.is-live { border-color: #a8c9b3; background: linear-gradient(140deg, #fff 15%, #e7f3e9); }
.play-card.is-live:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(23, 100, 58, .12); }
.play-card.is-upcoming { opacity: .76; }
.card-icon { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 auto; border-radius: 15px; background: #e8ede7; color: var(--green); font-size: 1.45rem; }
.card-copy { min-width: 0; flex: 1; }
.card-copy h2, .section-heading h2 { margin: 6px 0 8px; font-size: 1.35rem; letter-spacing: -.025em; }
.card-copy p { margin: 0; color: var(--muted); line-height: 1.45; }
.pill, .coming-soon { display: inline-flex; width: fit-content; border-radius: 999px; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.pill { color: var(--green); }
.coming-soon { position: absolute; right: 16px; bottom: 16px; padding: 6px 9px; background: #edf0ec; color: var(--muted); }
.arrow { align-self: center; color: var(--green); font-size: 1.7rem; }
.metrics { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.metrics span { padding: 7px 9px; border-radius: 10px; background: rgba(255,255,255,.75); color: var(--muted); font-size: .74rem; }
.metrics strong { color: var(--ink); }
.metrics .metric-alert strong { color: var(--alert); }
.play-round-list { display: grid; gap: 6px; margin-top: 12px; }
.play-round-chip { padding: 8px 10px; border-radius: 10px; background: white; color: var(--green-dark); font-size: .72rem; font-weight: 800; }
.play-round-chip small { display: block; margin-top: 3px; color: var(--muted); font-weight: 600; }
.play-round-chip.is-readonly { opacity: .82; }
.friendly-status-list { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px; }
.friendly-player-status { padding: 4px 7px; border-radius: 999px; background: #fff1dd; color: #8a4d17; font-size: .62rem; }
.friendly-player-status.is-complete { background: #e4f5e8; color: var(--green-dark); }
.friendly-round-item { font-weight: 600; }
.friendly-round-main { display: block; color: var(--green-dark); }
.friendly-round-main.is-readonly { opacity: .82; }
.friendly-round-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; padding-top: 7px; border-top: 1px solid var(--line); }
.friendly-round-actions .text-button { font-size: .66rem; }
.cancellation-pending { display: inline-block; margin-top: 7px; color: #9a531b; font-size: .66rem; font-weight: 800; }
.play-round-empty { color: var(--muted); font-size: .72rem; }
.dashboard-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.dashboard-panel { margin-top: 24px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: white; }
.chart-placeholder { display: grid; min-height: 180px; place-items: center; padding: 20px; border-radius: 14px; background: repeating-linear-gradient(to top, #f6f8f5 0, #f6f8f5 35px, #e4e9e3 36px); color: var(--muted); text-align: center; font-size: .8rem; }
.round-chart { display: flex; min-height: 180px; align-items: flex-end; justify-content: center; gap: clamp(5px, 2vw, 15px); padding: 20px 8px 5px; border-bottom: 1px solid var(--line); }
.round-bar-column { display: grid; flex: 1; max-width: 56px; justify-items: center; align-items: end; gap: 5px; }
.round-bar-column strong { font-size: .7rem; }
.round-bar-column span { color: var(--muted); font-size: .6rem; }
.round-bar { width: min(100%, 34px); min-height: 5px; border-radius: 8px 8px 3px 3px; background: linear-gradient(#43a66b, var(--green)); }
.bottom-nav { position: fixed; z-index: 5; left: 50%; bottom: 12px; display: flex; width: min(calc(100% - 24px), 620px); padding: 7px; transform: translateX(-50%); border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.94); box-shadow: 0 12px 30px rgba(23,34,27,.14); backdrop-filter: blur(12px); }
.bottom-nav a, .bottom-nav .nav-disabled { flex: 1; padding: 10px 4px; border-radius: 12px; color: var(--muted); text-align: center; font-size: .72rem; font-weight: 700; }
.bottom-nav a.active { background: var(--green); color: white; }
.bottom-nav .nav-disabled { cursor: default; opacity: .48; }
.page-header { align-items: center; }
.page-header h1 { font-size: clamp(2rem, 7vw, 2.8rem); }
.back-link { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 13px; background: white; font-size: 1.25rem; }
.page-header > div { flex: 1; }
.primary, .secondary { min-height: 44px; padding: 0 17px; border: 0; border-radius: 13px; font-weight: 800; cursor: pointer; }
.primary { background: var(--green); color: white; }
.primary:hover { background: var(--green-dark); }
.button-link { display: inline-flex; align-items: center; justify-content: center; }
.secondary { border: 1px solid var(--line); background: white; color: var(--ink); }
.compact { min-height: 40px; padding: 0 13px; font-size: .82rem; }
.notice { margin: 0 0 18px; padding: 13px 15px; border-radius: 13px; background: #fff4e7; color: #7b431e; line-height: 1.4; }
.session-strip { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: -6px 0 20px; padding: 11px 14px; border-radius: 13px; background: #e7f1e8; color: var(--green-dark); font-size: .82rem; font-weight: 700; }
.text-button { padding: 5px; border: 0; background: transparent; color: var(--green); font: inherit; font-weight: 800; cursor: pointer; }
.text-button.danger { color: #a13f32; }
.login-shell { display: grid; min-height: 100vh; place-items: center; padding: 24px 20px; }
.login-card { width: min(100%, 430px); padding: 28px 24px; border: 1px solid var(--line); border-radius: 24px; background: white; box-shadow: 0 18px 50px rgba(23,34,27,.08); }
.login-card h1 { margin: 7px 0 9px; font-size: 2.25rem; letter-spacing: -.05em; }
.login-card .subtitle { margin-bottom: 26px; }
.login-form { display: grid; gap: 16px; }
.login-form label { display: block; margin-bottom: 7px; font-size: .78rem; font-weight: 800; }
.login-form input { width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid var(--line); border-radius: 13px; outline: none; }
.login-form input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(23,100,58,.1); }
.login-form .primary { width: 100%; margin-top: 4px; }
.login-error { margin: 0; color: #9b3f2a; font-size: .85rem; line-height: 1.4; }
.login-back { display: block; margin-top: 20px; color: var(--muted); text-align: center; font-size: .82rem; font-weight: 700; }
.create-panel { display: grid; gap: 14px; margin-bottom: 24px; padding: 18px; border: 1px solid #b9d3c0; border-radius: 18px; background: white; }
.create-panel label { display: block; margin-bottom: 7px; font-size: .78rem; font-weight: 800; }
.create-panel input { width: 100%; min-height: 48px; padding: 0 13px; border: 1px solid var(--line); border-radius: 12px; outline: none; }
.create-panel input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(23,100,58,.1); }
.create-panel select { width: 100%; min-height: 48px; padding: 0 13px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.round-type-grid { display: grid; gap: 10px; margin-bottom: 18px; }
.round-type-card { display: flex; align-items: center; gap: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 17px; background: white; color: var(--ink); text-align: left; }
.round-type-card.active { border-color: #8bbb99; background: #eef7f0; }
.round-type-card:disabled { opacity: .55; }
.round-type-card small, .round-type-card strong { display: block; }
.round-type-card small { margin-bottom: 3px; color: var(--muted); }
.round-create-panel h2 { margin: 4px 0 10px; }
.round-form-grid { display: grid; gap: 14px; margin-bottom: 15px; }
.participant-picker { margin: 0 0 15px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; }
.participant-picker legend { padding: 0 6px; font-weight: 800; }
.form-help { margin: 0 0 10px; color: var(--muted); font-size: .78rem; }
.current-participant { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(180px, 1fr); align-items: center; gap: 12px; margin: 0 0 8px; padding: 10px 12px; border-radius: 11px; background: #eef7f0; }
.current-participant span, .current-participant small { display: block; }
.current-participant small { margin-top: 2px; color: var(--green); font-size: .72rem; }
.participant-add-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.participant-add-button { min-width: 96px; }
.participant-add-button:disabled { opacity: .5; }
.selected-participants { display: grid; gap: 7px; margin-top: 9px; }
.selected-participant { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(180px, 1fr) auto; align-items: center; gap: 10px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.selected-participant button { border: 0; background: transparent; color: #9a3f20; font-weight: 800; }
.tee-preview { display: flex; justify-content: space-between; gap: 12px; margin: 0 0 15px; padding: 13px; border-radius: 12px; background: #eef4ed; color: var(--green-dark); font-size: .78rem; }
.score-progress { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }
.score-progress div { padding: 12px; border-radius: 13px; background: white; text-align: center; }
.score-progress span, .score-progress strong { display: block; }
.score-progress span { margin-bottom: 4px; color: var(--muted); font-size: .68rem; }
.start-round-panel { padding: 22px; border: 1px solid #a8c9b3; border-radius: 18px; background: white; text-align: center; }
.hole-card-list { display: grid; gap: 12px; margin-top: 16px; }
.hole-score-card { padding: 15px; border: 1px solid var(--line); border-radius: 17px; background: white; }
.hole-score-card.saved { border-color: #a8c9b3; }
.hole-score-heading { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-bottom: 13px; }
.hole-score-heading div { padding: 8px; border-radius: 9px; background: #f1f4ef; text-align: center; }
.hole-score-heading span, .hole-score-heading strong { display: block; }
.hole-score-heading span { color: var(--muted); font-size: .62rem; }
.hole-score-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.hole-score-fields label { color: var(--muted); font-size: .7rem; font-weight: 700; }
.hole-score-fields input, .hole-score-fields select { width: 100%; min-height: 42px; margin-top: 5px; padding: 0 9px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.hole-score-fields .check-field { display: flex; align-items: center; gap: 7px; }
.hole-score-fields .check-field input { width: 18px; min-height: 18px; margin: 0; }
.hole-score-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 13px; color: var(--green); font-size: .72rem; font-weight: 800; }
.single-hole-card { width: 100%; min-width: 0; padding: 15px; overflow: hidden; border: 1px solid #b9d3c0; border-radius: 19px; background: white; }
.single-hole-nav { display: grid; grid-template-columns: 48px 1fr 48px; align-items: center; gap: 10px; text-align: center; }
.single-hole-nav h2 { margin: 0; color: var(--green-dark); font-size: 1.3rem; }
.single-hole-nav p { margin: 3px 0 0; color: var(--muted); font-size: .72rem; }
.hole-nav-button { width: 46px; height: 46px; border: 0; border-radius: 13px; background: #20bf61; color: white; font-weight: 900; cursor: pointer; }
.hole-nav-button:disabled { background: #dbe3dc; cursor: default; }
.single-hole-fields { display: grid; gap: 12px; margin: 22px 0 14px; }
.score-counter > span { display: block; margin-bottom: 5px; color: var(--muted); text-align: center; font-size: .72rem; }
.score-counter > div { display: grid; grid-template-columns: 46px minmax(0, 1fr) 46px; gap: 7px; min-width: 0; }
.score-counter button, .score-counter input { width: 100%; min-width: 0; min-height: 44px; padding: 0; border: 1px solid #bdd3c3; border-radius: 12px; background: white; color: var(--green-dark); text-align: center; font-size: 1.05rem; font-weight: 900; }
.unfinished-toggle { display: flex; width: fit-content; align-items: center; gap: 8px; margin: 10px auto; color: var(--muted); font-size: .75rem; }
.unfinished-toggle input { width: 18px; height: 18px; }
.tracking-row { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; padding: 10px; border-radius: 12px; background: #f3f6f2; color: var(--green-dark); font-size: .7rem; font-weight: 800; }
.fir-toggle { display: flex; min-height: 48px; flex: 0 0 auto; align-items: center; gap: 11px; padding: 7px 10px 7px 13px; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: 0 5px 14px rgba(23,34,27,.06); cursor: pointer; }
.fir-toggle input { position: relative; width: 48px; height: 28px; margin: 0; appearance: none; border: 1px solid #aac5b2; border-radius: 999px; background: #dfe9e2; cursor: pointer; transition: background .15s ease; }
.fir-toggle input::after { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: white; box-shadow: 0 2px 5px rgba(23,34,27,.2); content: ""; transition: transform .15s ease; }
.fir-toggle input:checked { background: var(--green); }
.fir-toggle input:checked::after { transform: translateX(20px); }
.fir-toggle input:focus-visible { outline: 3px solid rgba(23,100,58,.2); outline-offset: 2px; }
.gir-calculated, .tracking-na { color: var(--muted); font-weight: 600; }
.gir-calculated { min-width: 0; text-align: right; }
.single-hole-status { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 10px; margin-top: 13px; color: var(--muted); font-size: .7rem; }
.single-hole-status span { min-width: 0; }
.single-hole-status button { flex: 0 0 auto; }
.finish-round-panel { margin-top: 10px; text-align: center; }
.finish-round-panel button { width: 100%; }
.finish-round-panel button:disabled { background: #9bd8b2; color: #607a69; cursor: default; }
.finish-round-panel p { margin: 7px 0 0; color: var(--muted); font-size: .7rem; }
.delete-practice-button { margin-top: 8px; }
.stableford-landscape-card { display: none; }
.stableford-card-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: white; }
.stableford-landscape-card table { width: 100%; min-width: 760px; border-collapse: collapse; table-layout: fixed; }
.stableford-landscape-card th, .stableford-landscape-card td { height: 27px; padding: 2px 3px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--green-dark); font-size: 8px; text-align: center; }
.stableford-landscape-card th:first-child { width: 72px; padding-left: 8px; text-align: left; }
.stableford-landscape-card th:last-child, .stableford-landscape-card td:last-child { width: 44px; border-right: 0; }
.stableford-landscape-card tbody tr:last-child > * { border-bottom: 0; }
.stableford-landscape-card .meters-row td { background: #fff4b3; }
.stableford-landscape-card td span { display: grid; min-height: 23px; place-items: center; margin: -2px -3px; }
.stableford-landscape-card .tracking-row-card td { font-size: 10px; }
.stableford-landscape-card td span.tracking-hit { color: #22c55e; }
.stableford-landscape-card td span.tracking-miss { color: #ef4444; }
.stableford-landscape-card > p { margin: 7px 0 0; color: var(--muted); font-size: 8px; text-align: center; }
.scorecard-page .scorecard-shell { max-width: 1080px; }
.scorecard-heading { display: flex; align-items: baseline; gap: 3px 9px; flex-wrap: wrap; margin-bottom: 10px; }
.scorecard-heading h1 { margin: 0; color: var(--gm-ink); font-size: 14px; font-weight: 600; line-height: 1.25; }
.scorecard-heading > span { color: var(--gm-muted); font-size: 10px; line-height: 1.25; }
@media (orientation: landscape) and (max-width: 1000px) {
  .scorecard-page .player-topbar { min-height: 38px; padding-block: 4px; }
  .scorecard-page .golfmode-wordmark { width: 123px; height: 26px; flex-basis: 123px; }
  .scorecard-page .golfmode-wordmark img { left: -35px; height: 26px; }
  .scorecard-page .player-accountbar { min-height: 34px; padding-block: 2px; }
  .scorecard-page .player-account-pill { min-height: 30px; }
  .scorecard-page .player-avatar-shell { width: 26px; height: 26px; }
  .scorecard-page .player-play-button { height: 30px; }
  .scorecard-page .player-breadcrumb { min-height: 27px; padding-block: 5px; }
  .scorecard-page .scorecard-shell { max-width: none; min-height: 0; padding: 8px 10px; }
  .scorecard-shell .scorecard-heading, .scorecard-shell .score-progress, .scorecard-shell .start-round-panel, .scorecard-shell .hole-card-list, .scorecard-shell .finish-round-panel { display: none !important; }
  .scorecard-shell #scoreContent { display: block !important; }
  .scorecard-shell .stableford-landscape-card { display: block; }
  .scorecard-shell .stableford-landscape-card.hidden { display: none !important; }
}
@media (max-width: 480px) {
  .scorecard-page .scorecard-shell { padding-top: 14px; }
  .scorecard-shell .score-progress { margin-bottom: 9px; }
  .scorecard-shell .score-progress div { padding: 8px; }
  .scorecard-shell .single-hole-fields { margin: 14px 0 9px; gap: 8px; }
  .scorecard-shell .tracking-row { margin-top: 8px; padding: 8px; }
  .scorecard-shell { min-width: 0; padding-inline: 12px; }
  .scorecard-shell .single-hole-card { padding: 12px; }
  .scorecard-shell .score-counter > div { grid-template-columns: 42px minmax(0, 1fr) 42px; gap: 6px; }
  .scorecard-shell .tracking-row { align-items: flex-start; }
  .scorecard-shell .hole-card-list { margin-top: 18px; }
  .scorecard-shell .gir-calculated { max-width: 150px; }
}
.form-actions { display: flex; justify-content: flex-end; gap: 9px; }
.section-block { margin-top: 28px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 12px; }
.section-heading h2 { margin-bottom: 0; }
.count-badge { display: grid; place-items: center; min-width: 30px; height: 30px; padding: 0 9px; border-radius: 999px; background: #e1e8e0; font-size: .78rem; font-weight: 800; }
.count-badge.alert { background: #ffead8; color: var(--alert); }
.stack { display: grid; gap: 10px; }
.list-card { display: flex; align-items: center; gap: 13px; padding: 16px; border: 1px solid var(--line); border-radius: 17px; background: white; }
.list-card-main { min-width: 0; flex: 1; }
.list-card h3 { margin: 0 0 4px; font-size: 1rem; }
.list-card p { margin: 0; overflow: hidden; color: var(--muted); font-size: .82rem; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.status-dot { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; background: #43a66b; box-shadow: 0 0 0 5px #e6f4e9; }
.card-action { color: var(--green); font-size: .78rem; font-weight: 800; }
.inline-actions { display: flex; flex: 0 0 auto; gap: 6px; }
.empty-state { padding: 22px; border: 1px dashed #c9d1c8; border-radius: 17px; color: var(--muted); text-align: center; }
.admin-grid { display: grid; gap: 12px; }
.admin-player-form { margin-bottom: 24px; padding: 20px; border: 1px solid #b9d3c0; border-radius: 20px; background: white; }
.admin-player-form h2 { margin: 4px 0 0; }
.admin-player-form .form-grid { display: grid; gap: 14px; }
.admin-player-form label { display: block; color: var(--ink); font-size: .78rem; font-weight: 800; }
.admin-player-form input { width: 100%; min-height: 48px; margin-top: 7px; padding: 0 13px; border: 1px solid var(--line); border-radius: 12px; outline: none; }
.admin-player-form input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(23,100,58,.1); }
.admin-player-form .optional, .helper-text { color: var(--muted); font-size: .7rem; font-weight: 500; }
.admin-player-form .helper-text { margin: 14px 0; }
.player-avatar-small { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 auto; border: 1px solid #b9d3c0; border-radius: 50%; object-fit: cover; }
.player-avatar-placeholder { background: #e7f1e8; color: var(--green); font-weight: 900; }
.notice.success { border-color: #9bc9a8; background: #edf8f0; color: var(--green-dark); }
.admin-card { padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: white; }
.admin-rounds-card { grid-column: 1 / -1; }
.admin-kpi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 28px; }
.admin-kpi { display: grid; gap: 5px; min-height: 110px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: white; }
.admin-kpi span { color: var(--green); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admin-kpi strong { font-size: 1.8rem; }
.admin-kpi small { color: var(--muted); }
.admin-kpi-alert { border-color: #e8c69f; background: #fff8ef; }
.admin-section { margin-top: 24px; padding: 20px; border: 1px solid var(--line); border-radius: 22px; background: white; }
.admin-module-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.admin-module-grid .admin-card { min-height: 170px; }
.admin-card.is-upcoming { opacity: .65; }
.admin-card.is-upcoming > span { color: var(--muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.admin-open-rounds { display: grid; gap: 10px; margin-top: 16px; }
.admin-open-round { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px; border-radius: 14px; background: var(--paper); }
.admin-open-round div { display: grid; gap: 3px; min-width: 0; }
.admin-open-round small { color: var(--muted); }
@media (max-width: 760px) { .admin-kpi-grid { grid-template-columns: repeat(2, 1fr); } .admin-module-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .admin-open-round { align-items: stretch; flex-direction: column; } .admin-section { padding: 14px; } }
.admin-card h2 { margin: 5px 0 7px; font-size: 1.15rem; }
.admin-card p { margin: 0; color: var(--muted); font-size: .88rem; line-height: 1.45; }
.admin-card-link { position: relative; transition: transform .15s ease, box-shadow .15s ease; }
.admin-card-link:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(23,100,58,.09); }
.admin-card-link .card-action { display: block; margin-top: 14px; }
.admin-achievements-breadcrumb { display: flex; gap: 8px; margin: 8px 0 22px; color: var(--muted); font-size: 12px; }
.admin-achievements-breadcrumb a { color: var(--green-dark); text-decoration: none; }
.admin-achievement-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.admin-achievement-card { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.admin-achievement-head { display: flex; align-items: center; gap: 11px; }
.admin-achievement-head > div { min-width: 0; flex: 1; }
.admin-achievement-icon { display: grid; width: 58px; height: 58px; flex: 0 0 58px; place-items: center; border: 1px solid var(--line); border-radius: 12px; color: var(--green-dark); }
.admin-achievement-icon img { max-width: 48px; max-height: 48px; object-fit: contain; }
.admin-achievement-head small { color: var(--muted); font-size: 10px; }
.admin-achievement-head h3 { margin: 3px 0; color: var(--green-dark); font-size: 14px; }
.admin-achievement-head p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.4; }
.admin-achievement-status { align-self: flex-start; padding: 5px 8px; border-radius: 999px; background: #f1f2f4; color: var(--muted); font-size: 10px; }
.admin-achievement-status.active { background: #eaf7ee; color: var(--green-dark); }
.admin-achievement-card details { margin-top: 10px; border-top: 1px solid var(--line); padding-top: 9px; }
.admin-achievement-card summary { width: fit-content; color: var(--green-dark); cursor: pointer; font-size: 11px; font-weight: 700; }
.admin-achievement-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.admin-achievement-form .full { grid-column: 1 / -1; }
.admin-achievement-form label { display: grid; gap: 5px; color: var(--green-dark); font-size: 11px; font-weight: 700; }
.admin-achievement-form label small { color: var(--muted); font-weight: 400; }
.admin-achievement-form input:not([type="checkbox"]), .admin-achievement-form textarea, .admin-achievement-form select { width: 100%; min-width: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font: inherit; font-weight: 400; }
.admin-achievement-form .admin-achievement-check { display: flex; align-items: center; gap: 7px; }
@media (max-width: 760px) { .admin-achievement-grid { grid-template-columns: 1fr; } }
.list-card.is-inactive { opacity: .62; }
.list-card.is-inactive .status-dot { background: #909891; box-shadow: 0 0 0 5px #edf0ec; }
.access-card { text-align: center; }
.access-card .back-link { margin: 22px auto 0; width: auto; padding: 0 16px; font-size: .85rem; font-weight: 800; }
.detail-hero { margin-bottom: 20px; padding: 22px; border-radius: 22px; background: linear-gradient(140deg, #164f31, #1e7443); color: white; }
.detail-hero .eyebrow { color: #bfe2c9; }
.detail-hero h1 { margin: 7px 0 9px; font-size: clamp(2rem, 8vw, 3rem); letter-spacing: -.05em; line-height: 1; }
.detail-hero p:last-child { margin: 0; color: #dcece1; }
.detail-tabs { display: flex; gap: 8px; margin: 0 -20px 22px; padding: 0 20px 5px; overflow-x: auto; scrollbar-width: none; }
.detail-tabs::-webkit-scrollbar { display: none; }
.detail-tabs a { flex: 0 0 auto; padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--muted); font-size: .75rem; font-weight: 800; }
.detail-section { scroll-margin-top: 20px; margin-top: 30px; }
.detail-section > h2 { margin: 0 0 13px; font-size: 1.3rem; letter-spacing: -.025em; }
.facts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.fact { padding: 14px; border: 1px solid var(--line); border-radius: 15px; background: white; }
.fact span { display: block; margin-bottom: 5px; color: var(--muted); font-size: .7rem; font-weight: 700; }
.fact strong { font-size: .9rem; }
.participant-list { display: flex; flex-wrap: wrap; gap: 8px; }
.participant { padding: 9px 12px; border-radius: 999px; background: white; border: 1px solid var(--line); font-size: .8rem; font-weight: 750; }
.participant.organizer { border-color: #a8c9b3; background: #e7f3e9; }

/* Shared player navigation shell */
.player-app { background: #f8fafc; color: var(--gm-ink); font-family: Montserrat, ui-sans-serif, system-ui, sans-serif; font-size: 14px; font-weight: 400; }
.player-sticky-shell { position: sticky; z-index: 40; top: 0; border-bottom: 1px solid #dfe3e7; background: rgba(255,255,255,.97); box-shadow: 0 4px 16px rgba(23,34,27,.035); backdrop-filter: blur(14px); }
.player-topbar { display: flex; width: min(100%, 1200px); min-height: 66px; align-items: center; justify-content: flex-start; gap: 14px; margin: 0 auto; padding: 11px 22px; }
.golfmode-wordmark { position: relative; display: block; width: 150px; height: 32px; flex: 0 0 150px; overflow: hidden; }
.golfmode-wordmark img { position: absolute; top: 0; left: -43px; display: block; width: auto; max-width: none; height: 32px; }
.player-desktop-nav { display: flex; align-items: center; gap: 0; color: var(--gm-green); font-size: .72rem; font-weight: 400; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.player-desktop-nav a, .player-desktop-nav .nav-coming { padding: 8px 7px; }
.player-desktop-nav a:hover { color: #23804b; }
.player-desktop-nav a.is-active { background: rgba(20,83,45,.10); }
.player-desktop-nav > span:not(.nav-coming) { color: rgba(20,83,45,.35); font-weight: 800; }
@media (min-width: 1081px) {
  .player-topbar { position: relative; width: min(100%, 1040px); padding-inline: 0; }
  .player-desktop-nav { position: absolute; left: 50%; transform: translateX(-50%); }
}
.nav-coming { color: var(--gm-meta); }
.burger-button { display: none; width: 42px; height: 42px; flex: 0 0 auto; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 0; border: 1px solid #d8e5dc; border-radius: 12px; background: #fff; box-shadow: 0 2px 7px rgba(21,64,40,.055); cursor: pointer; }
.burger-button span { display: block; width: 18px; height: 2px; margin: 0; border-radius: 2px; background: #173f2d; transition: transform .16s ease; }
.burger-button span:nth-child(3) { display: none; }
.menu-open .burger-button span:first-child { transform: translateY(3.5px) rotate(45deg); }
.menu-open .burger-button span:nth-child(2) { transform: translateY(-3.5px) rotate(-45deg); }
.player-accountbar { display: flex; min-height: 51px; align-items: center; justify-content: space-between; gap: 15px; padding: 5px max(20px, calc((100% - 1040px) / 2)); border-top: 1px solid #eef0f2; background: #fff; }
.player-account-wrap { position: relative; }
.player-account-pill { display: flex; min-height: 40px; align-items: center; gap: 8px; padding: 3px 10px 3px 4px; border: 1px solid #e3ebe5; border-radius: 999px; background: #fbfdfb; color: var(--gm-muted); box-shadow: 0 2px 6px rgba(23,34,27,.035); cursor: pointer; }
.player-account-pill:hover { background: #f1f7f2; }
.player-account-pill:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(20,83,45,.15); }
.player-account-pill > strong { max-width: 200px; overflow: hidden; color: var(--gm-green); font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.player-avatar-shell { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; overflow: hidden; border-radius: 50%; background: rgba(20,83,45,.08); color: var(--gm-green); font-size: .85rem; font-weight: 800; }
.player-avatar-shell img { width: 100%; height: 100%; object-fit: cover; }
.account-divider,.account-hcp { display: none; }
.account-profile-label { display: none; }
.account-chevron { margin-left: 3px; color: var(--green-dark); }
.account-menu { position: absolute; z-index: 55; top: calc(100% + 7px); left: 0; min-width: 170px; padding: 7px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: 0 15px 30px rgba(23,34,27,.13); }
.account-menu a, .account-menu button { display: block; width: 100%; padding: 10px; border: 0; border-radius: 9px; background: transparent; text-align: left; font-size: 13px; font-weight: 600; cursor: pointer; }
.account-menu a { color: var(--gm-green); }
.account-menu a:hover { background: rgba(20,83,45,.08); }
.account-menu button { color: #963e31; }
.account-menu button:hover { background: #fff1ef; }
.player-play-button { display: inline-flex; min-width: 78px; height: 40px; align-items: center; justify-content: center; padding: 0 22px; border: 1px solid rgba(20,83,45,.22); border-radius: 12px; background: rgba(20,83,45,.08); color: var(--gm-green); text-align: center; font-size: 12px; font-weight: 800; letter-spacing: .8px; }
.player-play-button:hover { background: #dceadf; }
.player-breadcrumb { min-height: 31px; padding: 7px max(20px, calc((100% - 1040px) / 2)); border-top: 1px solid rgba(0,0,0,.06); background: #f8fafc; color: #607269; font-size: 10px; font-weight: 500; letter-spacing: .09em; text-transform: uppercase; }
.player-breadcrumb { display: flex; align-items: center; gap: 8px; }
.player-breadcrumb > span:last-child { color: var(--gm-green); font-weight: 700; }
.mobile-menu-backdrop { position: fixed; z-index: 42; inset: 0; background: rgba(18,31,23,.22); backdrop-filter: blur(5px); }
.mobile-menu { position: fixed; z-index: 45; top: 74px; right: 10px; width: min(calc(100% - 20px), 370px); padding: 18px; border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: 0 25px 55px rgba(23,34,27,.2); opacity: 0; pointer-events: none; transform: translateY(-10px); transition: opacity .16s ease, transform .16s ease; }
.mobile-menu.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
.mobile-menu nav { display: grid; }
.mobile-menu nav a, .mobile-menu nav > span { display: flex; min-height: 50px; align-items: center; justify-content: space-between; padding: 0 10px; border-bottom: 1px solid #eff1ef; color: var(--gm-green); font-size: 14px; font-weight: 600; letter-spacing: .04em; }
.mobile-menu nav a.is-active { background: rgba(20,83,45,.08); }
.mobile-menu nav > span { color: var(--gm-muted); }
.mobile-menu small { font-size: .55rem; text-transform: uppercase; }
.mobile-logout { width: 100%; margin-top: 12px; padding: 12px; border: 0; border-radius: 11px; background: #f8eeec; color: #963e31; font-weight: 800; }
.menu-open { overflow: hidden; }
.player-content-shell { width: min(100%, 1080px); min-height: 70vh; margin: 0 auto; padding: 24px 20px 70px; }
.player-welcome { margin-bottom: 22px; }
.player-welcome h1 { margin: 5px 0; color: var(--gm-ink); font-size: clamp(28px, 5vw, 42px); font-weight: 700; letter-spacing: -.04em; }
.player-welcome > p:last-child { margin: 0; color: var(--gm-muted); font-size: 14px; font-weight: 400; }
.player-dashboard-kpis { grid-template-columns: repeat(4, 1fr); }
.player-dashboard-kpis .fact { min-height: 105px; padding: 18px; border-color: var(--gm-border); border-radius: 18px; background: var(--gm-card); box-shadow: 0 7px 20px rgba(23,34,27,.035); }
.player-dashboard-kpis .fact span { color: var(--gm-muted); font-size: 12px; font-weight: 500; }
.player-dashboard-kpis .fact strong { color: var(--gm-green); font-size: 24px; font-weight: 700; }
.player-dashboard-panel { border-radius: 20px; box-shadow: 0 8px 24px rgba(23,34,27,.035); }
.player-app .eyebrow { color: var(--gm-green); font-size: 11px; font-weight: 700; }
.player-app .section-heading h2 { color: var(--gm-ink); font-size: 20px; font-weight: 700; }
.player-app .play-round-empty, .player-app .news-placeholder { color: var(--gm-muted); font-size: 13px; }
.news-section { margin-top: 30px; }
.news-placeholder { padding: 24px; border: 1px dashed #cbd4cc; border-radius: 18px; background: rgba(255,255,255,.65); color: var(--muted); }
.news-placeholder strong { color: var(--green-dark); }
.news-placeholder p { margin: 6px 0 0; }
.directory-heading { margin-bottom: 24px; }
.directory-heading h1 { margin: 0 0 7px; color: var(--gm-green); font-size: clamp(20px, 2.2vw, 24px); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.directory-heading p { margin: 0; color: var(--gm-muted); font-size: 13px; }
.player-search-panel { margin-bottom: 28px; border-color: var(--gm-border); border-radius: 16px; background: white; }
.player-directory-page .player-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.player-directory-page .player-card-grid.single { grid-template-columns: minmax(0, 1fr); max-width: 340px; }
.player-directory-page .player-summary-card { min-height: 270px; flex-direction: column; justify-content: center; gap: 12px; padding: 20px; border-color: var(--gm-border); border-radius: 18px; box-shadow: 0 8px 22px rgba(15,23,42,.05); text-align: center; }
.player-directory-page .player-avatar { width: 116px; height: 116px; border-color: #22b55e; }
.player-directory-page .player-card-copy { flex: 0 0 auto; }
.player-directory-page .player-card-copy h3 { margin-bottom: 6px; color: var(--gm-green); font-size: 16px; font-weight: 700; }
.player-directory-page .player-nickname { color: var(--gm-muted); font-size: 13px; font-weight: 500; }
.player-directory-page .player-card-copy p { color: #16a34a; font-size: 16px; font-weight: 600; }
.player-directory-page .player-actions { justify-content: center; }
.player-directory-page .friend-remove { color: #8b2f29; font-size: 11px; font-weight: 600; }
.directory-label-heading { align-items: center; justify-content: flex-start; margin-bottom: 12px; }
.directory-label-with-count { display: flex; align-items: center; gap: 7px; }
.count-badge.subtle { min-width: 20px; height: 20px; padding: 0 6px; background: #e8eee9; color: var(--gm-green); font-size: 10px; font-weight: 600; }
.password-settings-heading { margin-top: 6px; padding-top: 16px; border-top: 1px solid var(--gm-border); }
.password-settings-heading small { display: block; margin-top: 5px; color: var(--gm-muted); font-size: 12px; }
.course-city-filter { width: 100%; margin-bottom: 28px; border-color: var(--gm-border); }
.course-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.course-directory-page .course-directory-card { min-height: 230px; flex-direction: column; justify-content: center; gap: 14px; border-color: var(--gm-border); box-shadow: 0 8px 22px rgba(15,23,42,.05); text-align: center; }
.course-directory-page .course-directory-card img, .course-directory-page .course-directory-card .catalog-logo-placeholder { width: 92px; height: 92px; border-radius: 16px; }
.course-directory-page .course-directory-card div:nth-child(2) { flex: 0 0 auto; }
.course-directory-page .course-directory-card h2 { color: var(--gm-green); font-size: 16px; font-weight: 700; }
.course-directory-page .course-directory-card p { color: var(--gm-muted); font-size: 13px; font-weight: 500; }
.course-directory-page .course-directory-card .card-action { margin-top: 2px; color: var(--gm-green); font-size: 12px; font-weight: 600; }

@media (max-width: 1080px) {
  .player-desktop-nav { display: none; }
  .burger-button { display: flex; }
}
@media (max-width: 760px) {
  .player-directory-page .player-card-grid { grid-template-columns: 1fr 1fr; }
  .course-directory-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .player-topbar { min-height: 64px; justify-content: center; padding: 8px 14px; }
  .burger-button { position: absolute; right: 14px; }
  .player-accountbar { min-height: 48px; padding: 4px 14px; }
  .player-account-pill { min-height: 38px; padding: 2px 10px 2px 3px; font-size: .72rem; }
  .player-account-pill > strong { display: none; }
  .account-profile-label { display: inline; color: var(--gm-green); font-size: 11px; font-weight: 700; }
  .player-avatar-shell { width: 32px; height: 32px; }
  .player-play-button { min-width: 70px; padding-inline: 13px; }
  .player-breadcrumb { min-height: 29px; padding: 6px 16px; }
  .mobile-menu { top: 68px; }
  .player-content-shell { padding: 26px 14px 55px; }
  .player-dashboard-kpis { grid-template-columns: 1fr 1fr; }
  .player-dashboard-kpis .fact { min-height: 94px; padding: 14px; }
  .player-dashboard-kpis .fact strong { font-size: 22px; }
  .player-directory-page .player-card-grid, .player-directory-page .player-card-grid.single { grid-template-columns: 1fr; max-width: none; }
  .player-directory-page .player-summary-card { min-height: 126px; flex-direction: row; justify-content: flex-start; gap: 13px; padding: 14px; text-align: left; }
  .player-directory-page .player-avatar { width: 76px; height: 76px; }
  .player-directory-page .player-card-copy { flex: 1; }
  .player-directory-page .player-card-copy h3 { font-size: 14px; }
  .player-directory-page .player-nickname { font-size: 12px; }
  .player-directory-page .player-card-copy p { font-size: 14px; }
  .player-directory-page .player-actions { max-width: 106px; flex: 0 0 auto; align-items: flex-end; flex-direction: column; }
  .player-directory-page .player-actions .secondary { min-height: 38px; padding-inline: 11px; font-size: 12px; }
  .player-directory-page .friend-label, .player-directory-page .player-actions .text-button { font-size: 11px; }
  .course-city-filter { width: 100%; min-width: 0; }
  .course-directory-grid { grid-template-columns: 1fr; }
  .course-directory-page .course-directory-card { min-height: 118px; flex-direction: row; justify-content: flex-start; padding: 14px; text-align: left; }
  .course-directory-page .course-directory-card img, .course-directory-page .course-directory-card .catalog-logo-placeholder { width: 72px; height: 72px; }
  .course-directory-page .course-directory-card div:nth-child(2) { flex: 1; }
  .course-directory-page .course-directory-card .card-action { flex: 0 0 auto; }
  .directory-heading h1 { font-size: 20px; }
}

/* Unified new-round flow */
.new-round-page .directory-heading { margin-bottom: 24px; }
.new-round-card { padding: 20px; border: 1px solid var(--gm-border); border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgba(15,23,42,.04); }
.new-round-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.new-round-fields label { display: grid; gap: 7px; color: var(--gm-green); font-size: 11px; font-weight: 600; }
.new-round-fields input, .new-round-fields select, .round-player-builder select, .round-player-builder input { box-sizing: border-box; width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid var(--gm-border); border-radius: 11px; background: #fff; color: var(--gm-ink); font: 400 12px Montserrat, sans-serif; }
.new-round-card .tee-preview { display: flex; align-items: center; gap: 12px; margin-top: 16px; padding: 11px 14px; border-radius: 12px; background: #f1f6f2; color: var(--gm-green); font-size: 11px; }
.new-round-card .tee-preview strong { font-size: 12px; }
.round-player-builder { margin: 18px 0 0; padding: 16px; border: 1px solid var(--gm-border); border-radius: 15px; }
.round-player-builder legend { padding: 0 6px; color: var(--gm-green); font-size: 14px; font-weight: 700; }
.round-player-builder > p { margin: 0 0 12px; color: var(--gm-muted); font-size: 11px; }
.round-player-builder > small { display: block; margin-top: 10px; color: var(--gm-muted); font-size: 10px; }
.round-player-builder .participant-add-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.round-player-builder .participant-add-row button { min-height: 42px; }
.round-participant-list { display: grid; gap: 8px; margin-top: 12px; }
.round-participant { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(150px, 210px) 150px 56px; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--gm-border); border-radius: 12px; }
.round-participant > span { display: grid; gap: 2px; color: var(--gm-green); font-size: 12px; }
.round-participant > span small { color: var(--gm-muted); font-size: 9px; font-weight: 400; }
.round-participant label { display: grid; grid-template-columns: auto minmax(58px, 1fr); align-items: center; gap: 7px; color: var(--gm-muted); font-size: 9px; }
.round-participant label:last-of-type { grid-template-columns: auto 58px; }
.round-participant select { min-height: 34px; padding: 0 8px; font-size: 11px; }
.round-participant input { min-height: 34px; padding: 0 7px; }
.round-participant button { color: #8b2c2c; font-size: 9px; }
.round-participant .self-tag { color: var(--gm-muted); font-size: 9px; text-align: center; }
.new-round-card .form-actions { justify-content: flex-end; margin-top: 18px; }
.new-round-card .form-actions .player-play-button { min-height: 42px; padding: 0 18px; }
@media (max-width: 720px) {
  .new-round-card { padding: 14px; }
  .new-round-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
  .new-round-card .tee-preview { align-items: flex-start; flex-direction: column; gap: 3px; }
  .round-participant { grid-template-columns: minmax(0, 1fr) minmax(120px, 1fr) 100px auto; gap: 7px; padding: 9px; }
  .round-participant label { grid-template-columns: 1fr; gap: 3px; }
}
@media (max-width: 420px) {
  .new-round-fields { grid-template-columns: 1fr; }
  .round-player-builder .participant-add-row { grid-template-columns: 1fr; }
  .round-participant { grid-template-columns: 1fr 1fr; }
  .round-participant > span { grid-column: 1 / -1; }
  .round-participant button, .round-participant .self-tag { justify-self: end; }
  .new-round-card .form-actions { display: grid; grid-template-columns: 1fr 1fr; }
}

/* Shared knockout match-play card */
.match-play-shell { max-width: 760px; }
.match-scoreboard, .match-hole-card { padding: 20px; border: 1px solid var(--gm-border); border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgba(15,23,42,.05); }
.match-scoreboard header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.match-scoreboard h1 { margin: 2px 0 5px; color: var(--gm-green); font-size: 21px; }
.match-scoreboard header p:last-child { margin: 0; color: var(--gm-muted); font-size: 11px; }
.match-opponents { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; margin: 22px 0 16px; }
.match-opponents > b { color: var(--gm-muted); font-size: 11px; }
.match-player { padding: 10px 15px; border: 1px solid; border-radius: 999px; font-size: 12px; font-weight: 700; text-align: center; }
.match-player.first { border-color: #efcaca; background: #fff0f0; color: #8c2f2f; }
.match-player.second { border-color: #c9d5ed; background: #eef3ff; color: #284a87; }
.match-running-score { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border: 1px solid var(--gm-border); border-radius: 13px; color: var(--gm-muted); font-size: 11px; }
.match-running-score strong { min-width: 90px; padding: 6px 14px; border-radius: 999px; background: #eaf1ff; color: var(--gm-green); font-size: 13px; text-align: center; }
.match-running-score strong.leader-first { background: #fff0f0; color: #a33232; }
.match-running-score strong.leader-second { background: #eaf1ff; color: #28509a; }
.match-save-state { display: flex; align-items: center; justify-content: space-between; min-height: 30px; padding: 8px 2px 0; color: var(--gm-muted); font-size: 10px; }
.match-play-page .start-round-panel, .match-play-page .finish-round-panel { margin-top: 14px; }
.match-hole-card { margin-top: 16px; }
.match-hole-card .single-hole-nav { margin-bottom: 18px; }
.match-hole-card .single-hole-nav h2 { margin: 0; color: var(--gm-green); font-size: 18px; }
.match-hole-card .single-hole-nav p { margin: 3px 0 0; color: var(--gm-muted); font-size: 10px; }
.match-hole-allowance { min-height: 19px; margin: -7px 0 12px; color: var(--gm-muted); font-size: 10px; text-align: center; }
.match-hole-allowance strong { color: var(--gm-green); }
.match-hole-choices { display: grid; grid-template-columns: 1fr 112px 1fr; gap: 10px; }
.match-hole-choices button { min-height: 52px; padding: 8px 12px; border: 1px solid var(--gm-green); border-radius: 13px; background: #fff; color: var(--gm-green); font: 700 12px Montserrat, sans-serif; }
.match-hole-choices button span { display: block; }
.match-hole-choices button small { display: block; margin-top: 3px; color: inherit; font-size: 8px; }
.match-hole-choices button:first-child.selected { background: #fff0f0; box-shadow: inset 0 0 0 2px #d86c6c; }
.match-hole-choices button:nth-child(2).selected { background: #eef4ed; box-shadow: inset 0 0 0 2px #8aa68b; }
.match-hole-choices button:last-child.selected { background: #eef3ff; box-shadow: inset 0 0 0 2px #789ad7; }
.match-landscape-overview { margin-top: 14px; border: 1px solid var(--gm-border); border-radius: 14px; background: #fff; overflow: hidden; }
.match-overview-scroll { overflow-x: auto; }
.match-landscape-overview table { width: 100%; min-width: 760px; border-collapse: collapse; table-layout: fixed; }
.match-landscape-overview th, .match-landscape-overview td { height: 34px; padding: 3px 2px; border-right: 1px solid var(--gm-border); border-bottom: 1px solid var(--gm-border); color: var(--gm-green); font-size: 8px; text-align: center; }
.match-landscape-overview thead th span, .match-landscape-overview thead th i { display: block; }
.match-landscape-overview thead th i { margin-top: 2px; font-size: 7px; font-style: normal; }
.match-landscape-overview thead th i.stroke-first { color: #a33232; }
.match-landscape-overview thead th i.stroke-second { color: #28509a; }
.match-landscape-overview th:first-child { width: 54px; }
.match-landscape-overview th:last-child, .match-landscape-overview td:last-child { width: 104px; border-right: 0; }
.match-landscape-overview tbody tr:last-child > * { border-bottom: 0; }
.overview-hole-result { width: 27px; height: 27px; padding: 0; border: 0; border-radius: 7px; background: #f3f4f6; color: var(--gm-muted); font: 700 8px Montserrat, sans-serif; }
.overview-hole-result.result-first { background: #fff0f0; color: #a33232; }
.overview-hole-result.result-second { background: #eaf1ff; color: #28509a; }
.overview-hole-result.result-tie { background: #eef4ed; color: var(--gm-green); }
.overview-total { display: inline-block; padding: 6px 8px; border-radius: 999px; background: #eef4ed; white-space: nowrap; }
.overview-total.leader-first { background: #fff0f0; color: #a33232; }
.overview-total.leader-second { background: #eaf1ff; color: #28509a; }
.match-decided-dialog { box-sizing: border-box; width: min(470px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 17px; background: #fff; color: var(--gm-green); box-shadow: 0 24px 70px rgba(15,23,42,.25); }
.match-decided-dialog::backdrop { background: rgba(17,35,27,.48); }
.match-decided-dialog > div { padding: 22px; }
.match-decided-dialog h2 { margin: 0 0 10px; font-size: 19px; }
.match-decided-dialog p { margin: 0 0 20px; color: var(--gm-muted); font-size: 12px; }
.match-decided-dialog p strong { color: var(--gm-green); }
.match-decided-dialog > div > div { display: flex; align-items: center; justify-content: flex-end; gap: 16px; }
.cup-match-player.is-winner { border-color: #b8d7bd; background: #eef8ef; }
.cup-match-player.is-winner em { color: #176634; font-weight: 700; }
.cup-match-result { margin: 5px 0 0; padding: 5px 8px; border-radius: 8px; background: #eef4ed; color: var(--gm-green); font-size: 10px; font-weight: 800; text-align: center; }
.cup-summary-match { display: grid; grid-template-columns: 130px 1fr; overflow: hidden; border: 1px solid var(--gm-border); border-radius: 14px; background: #fff; }
.cup-summary-match > strong { padding: 14px 12px; border-right: 1px solid var(--gm-border); color: var(--gm-muted); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.cup-summary-match > div { min-width: 0; padding: 13px 16px; }
.cup-summary-match header { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--gm-green); font-size: 11px; }
.cup-summary-match header i { padding: 0 5px; color: var(--gm-muted); font-style: normal; }
.cup-summary-match header > b { color: var(--gm-muted); font-size: 10px; }
.cup-summary-meta { margin: 5px 0 0; color: var(--gm-muted); font-size: 9px; }
.cup-summary-holes { display: grid; grid-template-columns: repeat(18, minmax(34px, 1fr)); gap: 2px; margin-top: 9px; overflow-x: auto; }
.cup-summary-holes > span { display: grid; min-width: 34px; overflow: hidden; border: 1px solid var(--gm-border); border-radius: 6px; text-align: center; }
.cup-summary-holes b, .cup-summary-holes em { padding: 3px 1px; font-size: 8px; font-style: normal; }
.cup-summary-holes b { color: var(--gm-muted); background: #f7f8f8; }
.cup-summary-holes em.first { background: #fff0f0; color: #a33232; }
.cup-summary-holes em.second { background: #eaf1ff; color: #28509a; }
.cup-summary-holes em.all-square { background: #eef4ed; color: var(--gm-green); }
@media (max-width: 640px) {
  .cup-summary-match { grid-template-columns: 1fr; }
  .cup-summary-match > strong { border-right: 0; border-bottom: 1px solid var(--gm-border); }
  .cup-summary-match header { align-items: flex-start; flex-direction: column; gap: 5px; }
}
@media (max-width: 560px) {
  .match-play-shell { padding-inline: 14px; }
  .match-scoreboard, .match-hole-card { padding: 14px; border-radius: 16px; }
  .match-scoreboard h1 { font-size: 18px; }
  .match-opponents { gap: 7px; margin-top: 18px; }
  .match-player { padding: 8px 6px; font-size: 10px; }
  .match-hole-choices { grid-template-columns: 1fr 76px 1fr; gap: 7px; }
  .match-hole-choices button { min-height: 48px; padding-inline: 5px; font-size: 10px; }
}
@media (orientation: portrait), (min-width: 1001px) {
  .match-landscape-overview { display: none !important; }
}
@media (orientation: landscape) and (max-width: 1000px) {
  .match-play-shell { max-width: none; padding-top: 14px; }
  .match-landscape-overview { display: block !important; }
}
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 17px; background: white; }
.standings-table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: .8rem; }
.standings-table th, .standings-table td { padding: 12px; border-bottom: 1px solid var(--line); text-align: left; }
.standings-table th { color: var(--muted); font-size: .68rem; text-transform: uppercase; }
.standings-table tr:last-child td { border-bottom: 0; }
.holes-table { min-width: 360px; }
.holes-table input { width: 86px; min-height: 40px; padding: 0 9px; border: 1px solid var(--line); border-radius: 10px; }
.holes-grid { min-width: max-content; }
.holes-grid th:first-child { position: sticky; left: 0; z-index: 1; background: white; }
.holes-grid input, .holes-table input { width: 58px; min-height: 40px; padding: 0 5px; border: 1px solid var(--line); border-radius: 9px; text-align: center; }
.settings-form .holes-grid input { width: 64px; min-width: 64px; max-width: 64px; }
.sticky-actions { position: sticky; bottom: 76px; margin-top: 14px; padding: 10px; border-radius: 15px; background: rgba(244,246,241,.94); backdrop-filter: blur(8px); }
.rank { color: var(--green); font-weight: 900; }
.action-list { display: flex; flex-wrap: wrap; gap: 8px; }
.action-chip { padding: 10px 12px; border: 1px solid #a8c9b3; border-radius: 12px; background: #e7f3e9; color: var(--green-dark); font-size: .78rem; font-weight: 800; }
.action-chip.admin { border-color: #e8c69f; background: #fff1df; color: #8a4b1d; }
.readiness-card { margin-bottom: 24px; padding: 18px; border: 1px solid #b9d3c0; border-radius: 18px; background: white; }
.readiness-card h2 { margin: 5px 0 13px; font-size: 1.15rem; }
.readiness-list { display: grid; gap: 8px; }
.readiness-item { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: .82rem; }
.readiness-item::before { content: "○"; color: var(--alert); font-weight: 900; }
.readiness-item.ready { color: var(--green-dark); }
.readiness-item.ready::before { content: "✓"; color: var(--green); }
.detail-loading { display: grid; gap: 12px; }
.settings-form { display: grid; gap: 14px; margin-top: 14px; padding: 18px; border: 1px solid #a8c9b3; border-radius: 17px; background: white; }
.settings-form label { display: block; margin-bottom: 7px; font-size: .76rem; font-weight: 800; }
.settings-form input, .settings-form select { width: 100%; min-height: 46px; padding: 0 12px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.settings-form .full-row { grid-column: 1 / -1; }
.field-help { display: block; margin-top: 6px; color: var(--muted); font-size: .72rem; line-height: 1.35; }
.paste-feedback { margin: -7px 0 14px; color: var(--green-dark); font-size: .8rem; font-weight: 800; }
.course-logo-preview { display: block; width: 96px; height: 96px; margin-top: 12px; border: 1px solid var(--line); border-radius: 18px; object-fit: contain; background: white; }
.course-logo-small { width: 44px; height: 44px; flex: 0 0 auto; border-radius: 12px; object-fit: contain; background: white; }
.course-brand-card { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: white; }
.settings-actions { grid-column: 1 / -1; }
.player-picker { display: grid; grid-column: 1 / -1; gap: 8px; }
.player-option { display: flex; align-items: center; gap: 11px; padding: 12px; border: 1px solid var(--line); border-radius: 13px; cursor: pointer; }
.player-option:has(input:checked) { border-color: var(--green); background: #e7f3e9; }
.player-option input { width: 18px; min-height: auto; height: 18px; flex: 0 0 auto; }
.player-option span { flex: 1; font-size: .85rem; font-weight: 750; }
.player-option small { color: var(--muted); }
.skeleton { height: 72px; border-radius: 17px; background: linear-gradient(90deg, #e7ebe6 25%, #f2f4f1 50%, #e7ebe6 75%); background-size: 200% 100%; animation: shine 1.3s infinite; }
.catalog-course { padding: 20px; border: 1px solid #b9d3c0; border-radius: 20px; background: white; }
.catalog-course-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.catalog-course-heading h2 { margin: 4px 0 0; font-size: 1.35rem; }
.catalog-layout { padding: 15px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.catalog-layout-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.catalog-layout-heading h3 { margin: 0; font-size: 1rem; }
.catalog-layout-heading span { color: var(--muted); font-size: .72rem; }
.catalog-tees { display: grid; gap: 7px; }
.catalog-tee { display: flex; align-items: center; gap: 11px; padding: 11px; border-radius: 12px; background: white; }
.catalog-tee div { min-width: 0; flex: 1; }
.catalog-tee strong, .catalog-tee small { display: block; }
.catalog-tee small { margin-top: 3px; color: var(--muted); font-size: .7rem; }
.catalog-tee b { font-size: .8rem; white-space: nowrap; }
.catalog-filter { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; padding: 15px; border: 1px solid var(--line); border-radius: 16px; background: white; }
.catalog-filter label { color: var(--green-dark); font-size: .8rem; font-weight: 800; }
.catalog-filter select { min-height: 40px; padding: 0 34px 0 12px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.catalog-summary-card { display: flex; align-items: center; gap: 16px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: white; }
.catalog-summary-card img, .catalog-logo-placeholder { display: grid; place-items: center; width: 68px; height: 68px; flex: 0 0 auto; border: 1px solid #b9d3c0; border-radius: 15px; object-fit: contain; background: white; color: var(--green); font-weight: 900; }
.catalog-summary-card div:nth-child(2) { min-width: 0; flex: 1; }
.catalog-summary-card h2 { margin: 0 0 5px; font-size: 1rem; }
.catalog-summary-card p { margin: 0; color: var(--muted); font-size: .78rem; }
.round-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin-bottom: 18px; padding: 15px; border: 1px solid var(--line); border-radius: 16px; background: white; }
.round-filters label { display: grid; flex: 1 1 160px; gap: 6px; color: var(--green-dark); font-size: .75rem; font-weight: 800; }
.round-filters input, .round-filters select { min-height: 42px; padding: 0 11px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.round-summary-card { display: flex; align-items: center; gap: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 17px; background: white; }
.round-summary-card h3 { margin: 0 0 5px; font-size: 1rem; }
.round-summary-card p { margin: 0; overflow: hidden; color: var(--muted); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.round-date { display: grid; width: 50px; flex: 0 0 auto; text-align: center; }
.round-date strong { color: var(--green-dark); font-size: .78rem; text-transform: uppercase; }
.rounds-directory-page .directory-heading-actions { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.rounds-directory-page .directory-heading-actions .button-link { flex: 0 0 auto; padding: 11px 17px; border: 1px solid rgba(20,83,45,.22); border-radius: 12px; background: rgba(20,83,45,.08); color: var(--gm-green); font-size: 12px; font-weight: 800; letter-spacing: .4px; }
.rounds-directory-page .directory-heading-actions .button-link:hover { background: #dceadf; }
.rounds-directory-page .round-filters { margin-bottom: 26px; padding: 14px 16px; border-color: var(--gm-border); box-shadow: 0 7px 18px rgba(15,23,42,.035); }
.rounds-directory-page .round-filters label { color: var(--gm-green); font-size: 11px; font-weight: 500; }
.rounds-directory-page .round-filters select { min-height: 40px; border-color: var(--gm-border); color: var(--gm-ink); font-size: 12px; font-weight: 400; }
.rounds-directory-page .round-clear-filters { color: var(--gm-green); font-size: 11px; }
.round-directory-list { display: grid; gap: 12px; }
.rounds-directory-page .round-summary-card { min-height: 92px; padding: 14px 18px; border-color: var(--gm-border); box-shadow: 0 7px 18px rgba(15,23,42,.04); transition: border-color .15s ease, transform .15s ease; }
.rounds-directory-page .round-summary-card:hover { border-color: #a9c6b3; transform: translateY(-1px); }
.round-course-mark { position: relative; display: grid; width: 54px; height: 54px; flex: 0 0 auto; place-items: center; overflow: hidden; border: 1px solid #b8d0bf; border-radius: 14px; background: #fff; color: var(--gm-green); font-size: 14px; font-weight: 600; }
.round-course-mark img { position: absolute; inset: 4px; width: calc(100% - 8px); height: calc(100% - 8px); object-fit: contain; background: #fff; }
.rounds-directory-page .round-summary-card time { display: block; margin-bottom: 4px; color: var(--gm-green); font-size: 11px; font-weight: 600; }
.rounds-directory-page .round-summary-card h3 { margin-bottom: 4px; color: var(--gm-green); font-size: 15px; font-weight: 600; }
.rounds-directory-page .round-summary-card p { display: flex; gap: 4px 10px; color: var(--gm-muted); font-size: 11px; }
.rounds-directory-page .round-summary-card p span + span::before { content: "· "; }
.rounds-directory-page .round-kind { padding: 7px 12px; border: 1px solid #c8d6e7; border-radius: 999px; background: #f4f7fb; color: #334a68; font-size: 11px; font-weight: 500; }
.rounds-directory-page .round-kind.kind-practice { border-color: #f1bd72; background: #fff3df; color: #8c5311; }
.rounds-directory-page .round-kind.kind-competition { border-color: #89dda9; background: #e7fbef; color: #146c38; }
@media (max-width: 620px) {
  .rounds-directory-page .directory-heading-actions { align-items: flex-start; }
  .rounds-directory-page .directory-heading-actions .button-link { padding: 9px 12px; white-space: nowrap; }
  .rounds-directory-page .round-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 12px; }
  .rounds-directory-page .round-filters label { width: 100%; min-width: 0; }
  .rounds-directory-page .round-filters select { width: 100%; min-width: 0; max-width: 100%; }
  .rounds-directory-page .round-filters button { min-height: 38px; }
  .rounds-directory-page .round-summary-card { min-height: 80px; gap: 10px; padding: 12px; }
  .round-course-mark { width: 44px; height: 44px; border-radius: 12px; font-size: 13px; }
  .rounds-directory-page .round-summary-card h3 { font-size: 13px; }
  .rounds-directory-page .round-summary-card p { display: block; font-size: 10px; }
  .rounds-directory-page .round-summary-card p span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .rounds-directory-page .round-summary-card p span + span::before { content: ""; }
  .rounds-directory-page .round-kind { padding: 5px 8px; font-size: 9px; }
}
.round-date span { color: var(--muted); font-size: .68rem; }
.round-kind { flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; background: #edf0ec; color: var(--muted); font-size: .68rem; font-weight: 800; }
.round-card-badges{display:grid;flex:0 0 auto;justify-items:center;gap:6px}.round-state{font-size:9px;font-weight:600}.round-state.is-live{color:#b45309}.round-state.is-closed{color:var(--gm-muted)}
.round-player-detail { padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: white; }
.inline-select { display: flex; align-items: center; gap: 8px; color: var(--green-dark); font-size: .76rem; font-weight: 800; }
.inline-select select { min-height: 38px; padding: 0 30px 0 10px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.round-summary-table { min-width: 820px; }
.score-detail-table { width: max-content; min-width: 100%; text-align: center; }
.score-detail-table th, .score-detail-table td { min-width: 46px; padding: 9px 7px; text-align: center; }
.score-detail-table th:first-child { position: sticky; left: 0; min-width: 112px; background: white; text-align: left; }
.score-total { background: #edf1f7; font-weight: 900; }
.cell-hio { background: #ffc000; color: #000; font-weight: 700; }
.cell-albatros { background: #ffe5b4; color: #000; }
.cell-eagle { background: #fff7cc; color: #000; }
.cell-birdie { background: #ffe4d6; color: #000; }
.cell-par { background: #e2f0d9; color: #000; }
.cell-bogey { background: #d9e1f2; color: #000; }
.cell-dblbogey { background: #f2f2f2; color: #000; }
.cell-overdbl { background: #e0e0e0; color: #000; }
.stat-hit { color: #1ebc60; font-weight: 900; }
.stat-miss { color: #e34b4b; font-weight: 900; }
.kind-friendly { background: #edf4fb; color: #315b7a; }
.kind-competition { background: #e5f7e9; color: var(--green-dark); }
.new-round-note { margin-top: 22px; }
.catalog-filter input { flex: 1; min-height: 40px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; }
.player-card-grid { display: grid; gap: 12px; }
.player-card-grid.single { grid-template-columns: 1fr; }
.player-summary-card { display: flex; align-items: center; gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: white; }
.player-avatar { display: grid; width: 58px; height: 58px; flex: 0 0 auto; place-items: center; border: 2px solid #43a66b; border-radius: 50%; background: #edf6ef; color: var(--green-dark); font-weight: 900; }
.player-summary-card img.player-avatar { object-fit: cover; }
.player-avatar.small { width: 42px; height: 42px; font-size: .75rem; }
.player-card-copy { min-width: 0; flex: 1; }
.player-card-copy h3 { margin: 0 0 5px; font-size: 1.05rem; }
.player-nickname { display: block; margin: -2px 0 5px; color: var(--muted); font-size: .78rem; font-style: italic; }
.player-card-copy p { margin: 0; color: var(--green); font-size: .82rem; font-weight: 800; }
.player-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 5px; }
.friend-label { color: var(--green-dark); font-size: .74rem; font-weight: 800; }
.friend-label.muted { color: var(--muted); }
.catalog-layout-detail { margin-bottom: 14px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: white; }
.catalog-layout-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 5px; }
.catalog-layout-title h3 { margin: 4px 0 0; }
.catalog-layout-detail .table-wrap { margin-top: 15px; }
.print-card { margin-top: 14px; }
.course-detail-page .course-detail-heading { margin-bottom: 24px; }
.course-detail-page .course-detail-heading h1 { font-size: 19px; font-weight: 500; letter-spacing: .08em; }
.course-detail-page .course-brand-card { min-height: 132px; gap: 28px; margin-bottom: 0; padding: 22px 30px; border-color: var(--gm-border); box-shadow: 0 8px 22px rgba(15,23,42,.04); }
.course-detail-page .course-logo-frame { display: grid; width: 150px; place-items: center; flex: 0 0 150px; }
.course-detail-page .course-logo-preview, .course-detail-page .course-logo-frame .catalog-logo-placeholder { width: 104px; height: 104px; margin: 0; border-radius: 17px; object-fit: contain; }
.course-detail-page .course-brand-card h2 { margin: 0 0 6px; color: var(--gm-green); font-size: 17px; }
.course-detail-page .course-brand-copy { min-width: 190px; }
.course-detail-page .course-selected-facts { display: grid; grid-template-columns: repeat(3, minmax(92px, 1fr)); gap: 8px 14px; width: min(470px, 100%); margin: 0 0 0 auto; }
.course-detail-page .course-selected-facts div { min-width: 0; }
.course-detail-page .course-selected-facts dt { margin-bottom: 2px; color: var(--gm-muted); font-size: 11px; font-weight: 500; }
.course-detail-page .course-selected-facts dd { margin: 0; color: var(--gm-green); font-size: 13px; font-weight: 600; }
.course-detail-page .course-selection-panel { display: grid; grid-template-columns: repeat(2, minmax(180px, 260px)); gap: 16px; margin-top: 16px; padding: 14px 18px; border: 1px solid var(--gm-border); border-radius: 16px; background: white; }
.course-detail-page .course-selection-panel label { display: grid; gap: 6px; color: var(--gm-green); font-size: 12px; font-weight: 600; }
.course-detail-page .course-selection-panel select { min-height: 42px; padding: 0 38px 0 12px; border: 1px solid var(--gm-border); border-radius: 11px; background-color: #fff; color: var(--gm-ink); font: inherit; }
.course-detail-page .course-layouts-section { margin-top: 16px; padding: 20px 14px 6px; border: 1px solid var(--gm-border); border-radius: 18px; background: white; box-shadow: 0 8px 22px rgba(15,23,42,.04); }
.course-detail-page .section-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; padding: 0 6px 12px; }
.course-detail-page .section-heading h2 { margin: 3px 0 0; color: var(--gm-green); font-size: 18px; }
.course-detail-page .detail-tabs { margin: 0; }
.course-detail-page .catalog-layout-detail { margin: 0; padding: 0; border: 0; box-shadow: none; }
.course-detail-page .catalog-layout-title h3 { color: var(--gm-green); font-size: 16px; }
.course-detail-page .holes-grid th, .course-detail-page .holes-grid td { padding: 10px; text-align: center; }
.course-detail-page .holes-grid th:first-child { min-width: 82px; color: var(--gm-green); text-align: left; }
.course-detail-page .tee-distance-row th, .course-detail-page .tee-distance-row td { font-weight: 600; }
.course-detail-page .tee-distance-row.tee-yellow th, .course-detail-page .tee-distance-row.tee-yellow td { background: #fff5b8; color: #594b00; }
.course-detail-page .tee-distance-row.tee-white th, .course-detail-page .tee-distance-row.tee-white td { background: #f8fafc; color: #334155; box-shadow: inset 0 1px #d8dee6, inset 0 -1px #d8dee6; }
.course-detail-page .tee-distance-row.tee-red th, .course-detail-page .tee-distance-row.tee-red td { background: #fee2e2; color: #7f1d1d; }
.course-detail-page .tee-distance-row.tee-blue th, .course-detail-page .tee-distance-row.tee-blue td { background: #dbeafe; color: #1e3a8a; }
.course-detail-page .tee-distance-row.tee-black th, .course-detail-page .tee-distance-row.tee-black td { background: #1f2937; color: #fff; }
.course-detail-page .tee-distance-row.tee-green th, .course-detail-page .tee-distance-row.tee-green td { background: #dcfce7; color: #14532d; }
.course-detail-page .tee-distance-row.tee-orange th, .course-detail-page .tee-distance-row.tee-orange td { background: #ffedd5; color: #7c2d12; }
.course-detail-page .tee-distance-row.tee-neutral th, .course-detail-page .tee-distance-row.tee-neutral td { background: #eef3ef; color: var(--gm-green); }
.print-builder-section { margin-top: 16px; padding: 20px; border: 1px solid var(--gm-border); border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgba(15,23,42,.04); }
.print-builder-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.print-builder-heading h2 { margin: 3px 0 4px; color: var(--gm-green); font-size: 18px; }
.print-builder-heading p:not(.eyebrow) { margin: 0; color: var(--gm-muted); font-size: 12px; }
.print-builder-grid { display: grid; grid-template-columns: minmax(260px, .9fr) minmax(320px, 1.1fr); gap: 14px; }
.print-player-add, .print-player-list { padding: 14px; border: 1px solid var(--gm-border); border-radius: 15px; }
.print-player-add > label, .print-player-list > strong { display: block; margin-bottom: 9px; color: var(--gm-green); font-size: 12px; }
.print-player-add > div { display: flex; gap: 8px; }
.print-player-add select { min-width: 0; flex: 1; min-height: 40px; padding: 0 10px; border: 1px solid var(--gm-border); border-radius: 10px; background: #fff; font-size: 12px; }
.print-player-add button { min-height: 40px; padding: 0 14px; }
.print-player-add small { display: block; margin-top: 8px; color: var(--gm-muted); font-size: 10px; }
.print-player-list > strong span { float: right; color: var(--gm-muted); font-weight: 500; }
.selected-print-player { display: grid; grid-template-columns: 1fr 125px auto; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--gm-border); font-size: 12px; }
.selected-print-player label { display: flex; align-items: center; gap: 7px; color: var(--gm-muted); font-size: 10px; }
.selected-print-player input { width: 72px; min-height: 34px; padding: 0 8px; border: 1px solid var(--gm-border); border-radius: 9px; }
.selected-print-player button { color: #8b2c2c; font-size: 10px; }
.scorecard-preview { margin-top: 14px; padding: 14px; border: 1px solid var(--gm-border); border-radius: 15px; }
.scorecard-preview > h3 { margin: 0 0 12px; color: var(--gm-green); font-size: 13px; }
.scorecard-preview-stage { min-height: 180px; padding: 18px; overflow-x: auto; border-radius: 12px; background: #f6f7f5; }
.print-scorecard { width: max-content; margin: 0 auto; color: #111; font-family: Arial, Helvetica, sans-serif; }
.scorecard-preview-empty { width: min(520px, 70vw); margin: 65px auto; color: var(--gm-muted); font: 12px Montserrat, sans-serif; text-align: center; }
.fixed-scorecard { box-sizing: border-box; width: 210mm; min-height: 92mm; padding: 5mm; border: .25mm solid #000; background: #fff; }
.fixed-scorecard header { display: grid; grid-template-columns: minmax(90mm, 1fr) auto auto; align-items: center; gap: 10mm; margin-bottom: 2mm; }
.fixed-scorecard header h1 { margin: 0 0 2mm; color: #14532d; font-size: 16px; font-weight: 900; }
.fixed-scorecard header p { margin: 0; color: #666; font-size: 9px; }
.fixed-scorecard header img { width: 28mm; height: 24mm; object-fit: contain; }
.fixed-scorecard header .print-brand { width: 45mm; height: 12mm; object-fit: contain; }
.official-scorecard { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 8px; }
.official-scorecard th, .official-scorecard td { box-sizing: border-box; height: 6mm; padding: 2px; border: .5pt solid #000; text-align: center; vertical-align: middle; }
.official-scorecard .label { width: 21mm; padding-left: 5px; text-align: left; font-weight: 800; }
.official-scorecard .hole { width: calc((100% - 63mm) / 18); }
.official-scorecard .subtotal { width: 7mm; background: #f2f2f2; font-weight: 900; }
.official-scorecard .grand-total { width: 14mm; background: #e9eef7; font-weight: 900; }
.official-scorecard .scorecard-gap { width: 7mm; border: 0; background: #fff; }
.official-scorecard .print-meters.tee-yellow th, .official-scorecard .print-meters.tee-yellow td { background: #fff3a6; color: #594b00; }
.official-scorecard .print-meters.tee-white th, .official-scorecard .print-meters.tee-white td { background: #f8fafc; color: #334155; }
.official-scorecard .print-meters.tee-red th, .official-scorecard .print-meters.tee-red td { background: #fee2e2; color: #7f1d1d; }
.official-scorecard .print-meters.tee-blue th, .official-scorecard .print-meters.tee-blue td { background: #dbeafe; color: #1e3a8a; }
.official-scorecard .print-meters.tee-black th, .official-scorecard .print-meters.tee-black td { background: #1f2937; color: #fff; }
.official-scorecard .print-meters.tee-green th, .official-scorecard .print-meters.tee-green td { background: #dcfce7; color: #14532d; }
.official-scorecard .print-meters.tee-orange th, .official-scorecard .print-meters.tee-orange td { background: #ffedd5; color: #7c2d12; }
.official-scorecard .print-meters.tee-neutral th, .official-scorecard .print-meters.tee-neutral td { background: #eef3ef; color: #14532d; }
.official-scorecard .print-meters td.scorecard-gap { border: 0; background: #fff; color: transparent; }
.official-scorecard .print-player-row .label { background: #eef6f1; color: #14532d; }
.official-scorecard .print-player-row small { display: block; margin-top: 2px; color: #666; font-size: 7px; }
.official-scorecard .stars { position: relative; top: -3px; font-weight: 900; letter-spacing: -.5px; }
.official-scorecard .scorecard-separator td { height: 2mm; padding: 0; border: 0; background: #fff; }
@media (max-width: 620px) {
  .course-detail-page .course-detail-heading { margin-bottom: 20px; }
  .course-detail-page .course-brand-card { min-height: 104px; gap: 16px; padding: 16px; }
  .course-detail-page .course-logo-frame { width: 82px; flex-basis: 82px; }
  .course-detail-page .course-logo-preview, .course-detail-page .course-logo-frame .catalog-logo-placeholder { width: 76px; height: 76px; }
  .course-detail-page .course-layouts-section { padding: 16px 10px 2px; }
  .course-detail-page .course-brand-card { align-items: flex-start; flex-wrap: wrap; }
  .course-detail-page .course-brand-copy { min-width: 0; flex: 1; }
  .course-detail-page .course-selected-facts { grid-template-columns: repeat(2, 1fr); width: 100%; margin-left: 0; padding-top: 12px; border-top: 1px solid var(--gm-border); }
  .course-detail-page .course-selection-panel { grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px; }
  .course-detail-page .section-heading { align-items: flex-start; flex-direction: column; }
  .course-detail-page .detail-tabs { width: 100%; }
  .course-detail-page .catalog-layout-detail { padding: 10px; }
  .course-detail-page .course-brand-card { justify-content: center; }
  .course-detail-page .course-logo-frame { align-self: center; }
  .course-detail-page .course-selected-facts div { padding: 7px 10px; border-radius: 10px; background: #f1f6f2; }
  .course-detail-page .course-selected-facts dt { font-size: 9px; text-transform: uppercase; }
  .course-detail-page .course-selected-facts dd { font-size: 11px; }
  .course-detail-page .catalog-layout-detail { padding: 0; }
  .print-builder-section { padding: 14px; }
  .print-builder-heading { align-items: flex-end; }
  .print-builder-grid { grid-template-columns: 1fr; }
  .print-player-add > div { flex-direction: column; }
  .selected-print-player { grid-template-columns: 1fr auto; }
  .selected-print-player label { grid-column: 1 / -1; grid-row: 2; }
  .scorecard-preview { display: none; }
}
@media print {
  @page { size: A4 landscape; margin: 10mm; }
  html, body { background: #fff !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .player-sticky-shell, .mobile-menu-backdrop, .mobile-menu, .player-content-shell > :not(.print-builder-section), .print-builder-heading, .print-builder-grid, .scorecard-preview > h3 { display: none !important; }
  .player-content-shell { width: auto; max-width: none; margin: 0; padding: 0; }
  .print-builder-section, .scorecard-preview, .scorecard-preview-stage { margin: 0; padding: 0; border: 0; box-shadow: none; background: #fff; }
  .scorecard-preview { display: block; }
  .scorecard-preview-stage { min-height: 0; overflow: visible; }
  .print-scorecard { margin: 0 auto; }
  .fixed-scorecard { transform: none; }
}
@keyframes shine { to { background-position: -200% 0; } }

/* Player leagues directory */
.leagues-directory-page .directory-heading-actions { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.leagues-directory-page #showCreateLeague,
.leagues-directory-page #showCreateCup { flex: 0 0 auto; min-height: 40px; padding: 0 16px; border: 1px solid rgba(20,83,45,.22); border-radius: 12px; background: rgba(20,83,45,.08); color: var(--gm-green); font-size: 11px; font-weight: 700; }
.leagues-directory-page #showCreateCup { min-height: 38px; padding-inline: 14px; font-size: 10px; }
.league-priority-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 16px; }
.league-priority-sections:has(.league-directory-section:not(.hidden)) { margin-bottom: 16px; }
.league-directory-section { padding: 16px; border: 1px solid var(--gm-border); border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgba(15,23,42,.04); }
.league-main-section { min-height: 180px; }
.league-main-section .league-card-list { grid-template-columns: 1fr; }
.league-view-tabs { display: flex; align-items: center; gap: 7px; }
.league-view-tabs button { display: inline-flex; min-height: 28px; align-items: center; gap: 6px; padding: 0 11px; border: 1px solid var(--gm-border); border-radius: 999px; background: #fff; color: var(--gm-muted); font-size: 9px; font-weight: 600; }
.league-view-tabs button.is-active { border-color: #9ebca7; background: #eaf2ec; color: var(--gm-green); }
.league-view-tabs button span { display: grid; min-width: 17px; height: 17px; padding: 0 3px; place-items: center; border-radius: 999px; background: rgba(20,83,45,.08); font-size: 7px; }
.league-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.league-section-heading .eyebrow { margin: 0 0 3px; font-size: 8px; }
.league-section-heading h2 { margin: 0; color: var(--gm-green); font-size: 15px; }
.league-section-heading .count-badge { min-width: 27px; height: 27px; padding: 0; font-size: 10px; }
.league-card-list { display: grid; gap: 9px; }
.league-summary-card { display: flex; min-width: 0; min-height: 72px; align-items: center; gap: 12px; padding: 11px 12px; border: 1px solid var(--gm-border); border-radius: 14px; background: #fff; color: inherit; text-decoration: none; transition: border-color .15s ease, transform .15s ease; }
a.league-summary-card:hover { border-color: #a9c6b3; transform: translateY(-1px); }
.league-mark { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; border: 1px solid #b8d0bf; border-radius: 12px; background: #f1f6f2; color: var(--gm-green); font-size: 15px; font-weight: 700; }
.league-mark.active { border-color: #85c79c; background: #e9f7ee; }
.league-mark.invitation { border-color: #d5c789; background: #fffbea; }
.league-mark.warning { border-color: #e3b4a9; background: #fff1ee; color: #8b2c2c; }
.league-card-copy { min-width: 0; flex: 1; }
.league-card-copy h3 { margin: 3px 0 4px; overflow: hidden; color: var(--gm-green); font-size: 13px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.league-card-copy p { margin: 0; overflow: hidden; color: var(--gm-muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.league-status { display: inline-block; color: var(--gm-muted); font-size: 7px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.league-status.status-active { color: #168044; }
.league-status.status-draft { color: #8a6b11; }
.league-card-arrow { flex: 0 0 auto; color: var(--gm-green); font-size: 9px; font-weight: 600; }
.league-action-card .inline-actions { flex: 0 0 auto; }
.league-attention-section:has(.count-badge.alert:not(:empty)) { border-color: #d9ded9; }
.league-create-dialog { box-sizing: border-box; width: min(760px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; overflow: auto; border: 0; border-radius: 20px; background: #fff; color: var(--gm-ink); box-shadow: 0 24px 70px rgba(15,23,42,.22); }
.league-create-dialog::backdrop { background: rgba(17,35,27,.42); backdrop-filter: blur(2px); }
.league-create-dialog form { padding: 22px; }
.league-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.league-dialog-heading h2 { margin: 2px 0 5px; color: var(--gm-green); font-size: 20px; }
.league-dialog-heading p:last-child { margin: 0; color: var(--gm-muted); font-size: 10px; }
.dialog-close { display: grid; width: 34px; height: 34px; flex: 0 0 34px; padding: 0; place-items: center; border: 1px solid var(--gm-border); border-radius: 10px; background: #fff; color: var(--gm-green); font-size: 21px; line-height: 1; }
.league-dialog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.league-dialog-grid label { display: grid; gap: 6px; color: var(--gm-green); font-size: 10px; font-weight: 600; }
.league-dialog-grid label.wide { grid-column: 1 / -1; }
.league-dialog-grid input, .league-dialog-grid select { box-sizing: border-box; width: 100%; min-height: 42px; padding: 0 11px; border: 1px solid var(--gm-border); border-radius: 10px; background: #fff; color: var(--gm-ink); font: 400 11px Montserrat, sans-serif; }
.league-logo-control { display: flex; align-items: center; gap: 12px; padding: 10px; border: 1px solid var(--gm-border); border-radius: 12px; }
.league-logo-control > span:last-child { display: grid; gap: 5px; }
.league-logo-control input { min-height: 0; padding: 0; border: 0; }
.league-logo-control small { color: var(--gm-muted); font-size: 8px; font-weight: 400; }
.league-logo-preview, .league-card-logo { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; border: 1px solid #b8d0bf; border-radius: 12px; background: #f1f6f2 center/contain no-repeat; color: var(--gm-green); font-size: 16px; font-weight: 700; object-fit: contain; }
.league-card-logo { width: 42px; height: 42px; flex-basis: 42px; background-color: #fff; }
.number-stepper { display: grid; grid-template-columns: 42px minmax(0, 1fr) 42px; overflow: hidden; border: 1px solid var(--gm-border); border-radius: 10px; background: #fff; }
.league-dialog-grid .number-stepper input { min-width: 0; border: 0; border-right: 1px solid var(--gm-border); border-left: 1px solid var(--gm-border); border-radius: 0; text-align: center; appearance: textfield; }
.league-dialog-grid .number-stepper input::-webkit-inner-spin-button { margin: 0; appearance: none; }
.number-stepper button { border: 0; background: #f5f8f5; color: var(--gm-green); font-size: 18px; font-weight: 500; touch-action: manipulation; }
.number-stepper button:active { background: #e8f1ea; }
.label-with-info { display: flex; align-items: center; gap: 6px; }
.info-tip { position: relative; display: grid; width: 17px; height: 17px; padding: 0; place-items: center; border: 1px solid #a9c6b3; border-radius: 50%; background: #f1f6f2; color: var(--gm-green); font-size: 9px; font-weight: 700; }
.info-tip::after { position: absolute; right: -8px; bottom: calc(100% + 7px); z-index: 5; width: 220px; padding: 8px 10px; border-radius: 8px; background: #173e2b; color: #fff; content: attr(data-tooltip); font-size: 8px; font-weight: 400; line-height: 1.45; opacity: 0; pointer-events: none; transform: translateY(3px); transition: opacity .15s, transform .15s; }
.info-tip:hover::after, .info-tip:focus::after { opacity: 1; transform: translateY(0); }
.league-player-picker { margin: 18px 0 0; padding: 14px; border: 1px solid var(--gm-border); border-radius: 14px; }
.league-player-picker legend { padding: 0 6px; color: var(--gm-green); font-size: 11px; font-weight: 700; }
.league-player-picker > p { margin: 0 0 10px; color: var(--gm-muted); font-size: 9px; }
#newLeaguePlayers { display: grid; max-height: 170px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; overflow-y: auto; }
.league-player-option { display: flex; align-items: center; gap: 9px; padding: 9px 10px; border: 1px solid var(--gm-border); border-radius: 10px; cursor: pointer; }
.league-player-option input { accent-color: var(--gm-green); }
.league-player-option span { display: flex; min-width: 0; flex: 1; align-items: center; justify-content: space-between; gap: 8px; }
.league-player-option strong { overflow: hidden; color: var(--gm-green); font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.league-player-option small, .form-help { color: var(--gm-muted); font-size: 8px; white-space: nowrap; }
.league-create-dialog .notice { margin: 14px 0 0; }
.league-create-dialog .form-actions { justify-content: flex-end; margin-top: 18px; }
.league-dialog-actions .action-spacer { flex: 1; }
.league-dialog-grid :disabled { cursor: default; opacity: 1; }
.league-dialog-grid input:disabled, .league-dialog-grid select:disabled { background: #f3f6f3; color: #53645a; }
.draft-participant-list { display: grid; gap: 7px; margin-bottom: 11px; }
.draft-participant { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 10px; border: 1px solid var(--gm-border); border-radius: 10px; background: #fafcfa; }
.draft-participant > span { display: flex; min-width: 0; align-items: baseline; gap: 7px; }
.draft-participant strong { overflow: hidden; color: var(--gm-green); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.draft-participant small { color: var(--gm-muted); font-size: 8px; }
.invitation-state { flex: 0 0 auto; padding: 4px 7px; border-radius: 999px; background: #fff6dc; color: #80620b; font-size: 7px; font-style: normal; font-weight: 700; text-transform: uppercase; }
.invitation-state.accepted { background: #e7f5ea; color: #17623a; }
.danger-link { padding: 8px 0; border: 0; background: transparent; color: #8d332a; font-size: 9px; font-weight: 700; }
.home-invitation-notice { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; padding: 12px 14px; border: 1px solid #e2cf91; border-radius: 14px; background: #fffbed; color: inherit; text-decoration: none; box-shadow: 0 7px 18px rgba(90,72,15,.05); }
.home-notice-icon { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border: 1px solid #dcc77c; border-radius: 10px; color: var(--gm-green); font-size: 12px; font-weight: 700; }
.home-invitation-notice > span:nth-child(2) { display: grid; min-width: 0; flex: 1; gap: 2px; }
.home-invitation-notice strong { color: var(--gm-green); font-size: 10px; }
.home-invitation-notice small { color: var(--gm-muted); font-size: 8px; }
.home-invitation-notice em { color: var(--gm-green); font-size: 9px; font-style: normal; font-weight: 700; white-space: nowrap; }
@media (max-width: 720px) {
  .leagues-directory-page .directory-heading-actions { align-items: flex-start; }
  .leagues-directory-page #showCreateLeague,
  .leagues-directory-page #showCreateCup { min-height: 38px; padding: 0 12px; white-space: nowrap; }
  .league-priority-sections { grid-template-columns: 1fr; gap: 12px; }
  .league-directory-section { padding: 13px; border-radius: 15px; }
  .league-main-section .league-card-list { grid-template-columns: 1fr; }
  .league-main-heading { align-items: flex-end; }
  .league-view-tabs { gap: 5px; }
  .league-view-tabs button { min-height: 27px; padding: 0 9px; }
  .league-summary-card { min-height: 66px; padding: 10px; }
  .league-mark { width: 38px; height: 38px; flex-basis: 38px; }
  .league-action-card { align-items: stretch; flex-wrap: wrap; }
  .league-action-card .inline-actions { width: 100%; justify-content: flex-end; padding-left: 50px; }
  .league-create-dialog { width: calc(100vw - 18px); max-height: calc(100vh - 18px); border-radius: 16px; }
  .league-create-dialog form { padding: 16px 14px; }
  .league-dialog-heading { margin-bottom: 16px; }
  .league-dialog-heading h2 { font-size: 18px; }
  .league-dialog-grid { grid-template-columns: 1fr; gap: 11px; }
  .league-dialog-grid label.wide { grid-column: auto; }
  #newLeaguePlayers { grid-template-columns: 1fr; }
  .league-create-dialog .form-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .league-dialog-actions .danger-link { grid-column: 1 / -1; justify-self: start; }
  .league-dialog-actions .action-spacer { display: none; }
  .home-invitation-notice { padding: 11px; }
  .home-invitation-notice em { font-size: 0; }
  .home-invitation-notice em::after { content: "Ver →"; font-size: 9px; }
}

/* Completed round detail */
.round-detail-page .round-detail-heading { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 28px; }
.round-detail-page .round-detail-heading .eyebrow { margin-bottom: 5px; }
.round-detail-page .round-detail-heading h1 { margin: 0 0 6px; color: var(--gm-green); font-size: 19px; font-weight: 500; letter-spacing: .075em; text-transform: uppercase; }
.round-detail-page .round-detail-heading > p:last-child { margin: 0; color: var(--gm-muted); font-size: 11px; }
.round-detail-page .round-detail-heading > div:first-child > p:last-child { margin: 0; color: var(--gm-muted); font-size: 11px; }
.round-winner { display: flex; max-width: 360px; align-items: center; gap: 10px; padding: 9px 13px; border: 1px solid #eadb9d; border-radius: 13px; background: #fffdf2; color: var(--gm-green); }
.round-winner > span:first-child { font-size: 17px; }
.round-winner > span:last-child { display: grid; grid-template-columns: auto auto; align-items: baseline; gap: 1px 8px; }
.round-winner small { grid-column: 1 / -1; color: #8a6b11; font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.round-winner strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.round-winner em { color: var(--gm-muted); font-size: 9px; font-style: normal; white-space: nowrap; }
.round-detail-section { margin-bottom: 14px; padding: 16px; border: 1px solid var(--gm-border); border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgba(15,23,42,.04); }
.round-detail-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 12px; }
.round-detail-section-heading .eyebrow { margin: 0 0 3px; font-size: 9px; }
.round-detail-section-heading h2 { margin: 0; color: var(--gm-green); font-size: 16px; font-weight: 700; }
.round-detail-page .table-wrap { border: 1px solid var(--gm-border); border-radius: 12px; }
.round-detail-page .standings-table { font-size: 10px; }
.round-detail-page .standings-table th, .round-detail-page .standings-table td { padding: 8px 9px; border-color: #dbe2dc; }
.round-detail-page .standings-table thead th { background: #f5f7f5; color: var(--gm-green); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.round-detail-page .summary-scroll { overflow-x: hidden; }
.round-detail-page .round-summary-table { width: 100%; min-width: 0; table-layout: fixed; }
.round-detail-page .round-summary-table th, .round-detail-page .round-summary-table td { padding-right: 4px; padding-left: 4px; text-align: center; white-space: normal; }
.round-detail-page .round-summary-table th:first-child, .round-detail-page .round-summary-table td:first-child { width: 14%; background: #f5f7f5; color: var(--gm-green); text-align: left; }
.round-detail-page .round-summary-table th:nth-child(n+2):nth-child(-n+9), .round-detail-page .round-summary-table td:nth-child(n+2):nth-child(-n+9) { width: 5.25%; }
.round-detail-page .round-summary-table th:nth-child(10), .round-detail-page .round-summary-table td:nth-child(10), .round-detail-page .round-summary-table th:nth-child(11), .round-detail-page .round-summary-table td:nth-child(11) { width: 9%; }
.round-detail-page .round-summary-table th:nth-child(12), .round-detail-page .round-summary-table td:nth-child(12) { width: 26%; }
.round-detail-page .round-summary-table .summary-hcp-points { background: #fffbdc; color: var(--gm-ink); font-weight: 700; }
.summary-chart-cell { min-width: 0; }
.round-percentage-bar { position: relative; width: 100%; height: 20px; margin: 0 auto; overflow: hidden; border-radius: 999px; background: #e5e7eb; }
.round-percentage-bar span { position: absolute; inset: 0 auto 0 0; border-radius: inherit; }
.round-percentage-bar .fir { background: linear-gradient(90deg, #c3fad8, #6bf8a1); }
.round-percentage-bar .gir { background: linear-gradient(90deg, #bfdbfe, #69acfd); }
.round-percentage-bar strong { position: relative; z-index: 1; display: grid; height: 100%; place-items: center; color: var(--gm-ink); font-size: 9px; font-weight: 600; }
.round-detail-page .summary-shots-cell { min-width: 0; }
.round-shots-bar { display: flex; width: 100%; height: 20px; margin: 0 auto; overflow: hidden; border-radius: 999px; background: #f3f4f6; }
.round-shots-bar span { display: grid; min-width: 2px; place-items: center; color: #27303d; font-size: 8px; }
.round-shots-bar .hio { background: #ffc000; }
.round-shots-bar .albatros { background: #ffe5b4; }
.round-shots-bar .eagle { background: #fff7cc; }
.round-shots-bar .birdie { background: #ffe4d6; }
.round-shots-bar .par { background: #e2f0d9; }
.round-shots-bar .bogey { background: #d9e1f2; }
.round-shots-bar .double { background: #f2f2f2; }
.round-shots-bar .over { background: #e0e0e0; }
.round-entry-select { display: grid; grid-template-columns: auto minmax(130px, 190px); align-items: center; gap: 8px; color: var(--gm-green); font-size: 10px; font-weight: 600; }
.round-entry-select select { min-height: 36px; padding: 0 30px 0 10px; border: 1px solid var(--gm-border); border-radius: 9px; background: #fff; color: var(--gm-ink); font: 400 11px Montserrat, sans-serif; }
.round-detail-page .score-detail-table { font-size: 9.5px; }
.round-detail-page .score-detail-table th, .round-detail-page .score-detail-table td { min-width: 42px; padding: 8px 6px; }
.round-detail-page .score-detail-table th:first-child { box-sizing: border-box; width: 105px; min-width: 105px; background: #f5f7f5; color: var(--gm-green); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.round-detail-page .score-meters-row td { font-weight: 600; }
.round-detail-page .score-meters-row.tee-yellow td { background: #fff3a6; color: #594b00; }
.round-detail-page .score-meters-row.tee-white td { background: #f8fafc; color: #334155; box-shadow: inset 0 1px #d8dee6, inset 0 -1px #d8dee6; }
.round-detail-page .score-meters-row.tee-red td { background: #fee2e2; color: #7f1d1d; }
.round-detail-page .score-meters-row.tee-blue td { background: #dbeafe; color: #1e3a8a; }
.round-detail-page .score-meters-row.tee-black td { background: #1f2937; color: #fff; }
.round-detail-page .score-meters-row.tee-green td { background: #dcfce7; color: #14532d; }
.round-detail-page .score-meters-row.tee-orange td { background: #ffedd5; color: #7c2d12; }
.round-detail-page .score-meters-row.tee-neutral td { background: #eef3ef; color: #14532d; }
.round-detail-page .score-meters-row th { background: #f5f7f5; }
.round-player-averages { box-sizing: border-box; display: grid; grid-template-columns: 105px repeat(4, 1fr); margin-top: 10px; overflow: visible; border: 1px solid var(--gm-border); border-radius: 10px; color: var(--gm-ink); font-size: 10.5px; }
.round-player-averages span { padding: 8px 10px; text-align: center; }
.round-player-averages .averages-label { position: sticky; left: 0; z-index: 3; border-radius: 9px 0 0 9px; background: #f5f7f5; color: var(--gm-green); font-size: 9px; font-weight: 700; text-align: left; text-transform: uppercase; }
.round-player-averages strong { margin-left: 3px; color: var(--gm-green); }
.mobile-table-hint { display: none; margin: 8px 2px 0; color: var(--gm-muted); font-size: 9px; }
@media (max-width: 620px) {
  .round-detail-page .round-detail-heading { margin-bottom: 20px; }
  .round-detail-page .round-detail-heading { align-items: stretch; flex-direction: column; gap: 12px; }
  .round-detail-page .round-detail-heading h1 { font-size: 17px; line-height: 1.35; }
  .round-winner { box-sizing: border-box; width: 100%; max-width: none; }
  .round-detail-section { padding: 12px; border-radius: 15px; }
  .round-detail-section-heading { align-items: stretch; flex-direction: column; gap: 10px; }
  .round-detail-section-heading h2 { font-size: 14px; }
  .round-entry-select { grid-template-columns: auto 1fr; }
  .round-entry-select select { width: 100%; }
  .round-detail-page .standings-table th, .round-detail-page .standings-table td { padding: 7px; }
  .round-detail-page .summary-scroll { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .round-detail-page .round-summary-table { width: 980px; min-width: 980px; font-size: 9px; }
  .round-detail-page .round-summary-table th, .round-detail-page .round-summary-table td { padding: 8px 6px; white-space: nowrap; }
  .round-detail-page .round-summary-table thead th { font-size: 8px; }
  .round-detail-page .round-summary-table th:first-child, .round-detail-page .round-summary-table td:first-child { position: sticky; left: 0; z-index: 3; width: 125px; min-width: 125px; }
  .round-detail-page .round-summary-table th:nth-child(n+2):nth-child(-n+9), .round-detail-page .round-summary-table td:nth-child(n+2):nth-child(-n+9) { width: 52px; }
  .round-detail-page .round-summary-table th:nth-child(10), .round-detail-page .round-summary-table td:nth-child(10), .round-detail-page .round-summary-table th:nth-child(11), .round-detail-page .round-summary-table td:nth-child(11) { width: 88px; }
  .round-detail-page .round-summary-table th:nth-child(12), .round-detail-page .round-summary-table td:nth-child(12) { width: 260px; }
  .round-percentage-bar { width: 76px; height: 20px; }
  .round-shots-bar { width: 240px; height: 20px; }
  .round-percentage-bar strong { font-size: 8px; }
  .round-shots-bar span { font-size: 7px; }
  .round-detail-page .score-detail-table th, .round-detail-page .score-detail-table td { min-width: 39px; padding: 7px 5px; }
  .round-detail-page .score-detail-table { font-size: 9.5px; }
  .round-detail-page .score-detail-table th:first-child { width: 92px; min-width: 92px; }
  .round-player-averages { grid-template-columns: 92px repeat(4, minmax(0, 1fr)); }
  .round-player-averages .averages-label { position: sticky; left: 0; z-index: 3; text-align: left; }
  .mobile-table-hint { display: block; }
}

@media (max-width: 480px) {
  .list-card:has(.inline-actions) { align-items: stretch; flex-direction: column; }
  .inline-actions { justify-content: flex-end; }
  .current-participant { grid-template-columns: 1fr; }
  .selected-participant { grid-template-columns: 1fr auto; }
  .selected-participant select { grid-column: 1 / -1; grid-row: 2; }
  .selected-participant button { grid-column: 2; grid-row: 1; }
  .participant-add-button span { display: none; }
  .participant-add-button { min-width: 48px; }
}

@media (min-width: 720px) {
  .round-type-grid { grid-template-columns: 1fr 1fr; }
  .round-form-grid { grid-template-columns: repeat(2, 1fr); }
  .admin-player-form .two-columns { grid-template-columns: 1fr 1fr; }
  .shell { padding-top: 52px; }
  .play-grid { grid-template-columns: 1fr 1fr; }
  .play-card { min-height: 220px; flex-direction: column; }
  .player-card-grid { grid-template-columns: 1fr 1fr; }
  .arrow { position: absolute; right: 22px; bottom: 20px; }
  .create-panel { grid-template-columns: 1fr auto; align-items: end; }
  .admin-grid { grid-template-columns: repeat(2, 1fr); }
  .settings-form { grid-template-columns: repeat(2, 1fr); }
  .dashboard-kpis { grid-template-columns: repeat(4, 1fr); }
}

/* Cup detail */
.cup-detail-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 20px; }
.cup-title-mark { display: grid; width: 54px; height: 54px; flex: 0 0 54px; place-items: center; border: 1px solid #b8d0bf; border-radius: 14px; background: #f1f6f2 center/contain no-repeat; color: var(--gm-green); font-size: 18px; font-weight: 700; }
.cup-detail-heading > div:nth-child(2) { min-width: 0; flex: 1; }
.cup-detail-heading h1 { margin: 0 0 5px; overflow: hidden; color: var(--gm-green); font-size: 22px; font-weight: 600; letter-spacing: .06em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.cup-detail-heading p { margin: 0; color: var(--gm-muted); font-size: 10px; }
.cup-state-pill { padding: 7px 12px; border: 1px solid #a9c6b3; border-radius: 999px; background: #edf4ef; color: var(--gm-green); font-size: 9px; font-weight: 700; }
.cup-detail-section { margin-bottom: 14px; padding: 16px; border: 1px solid var(--gm-border); border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgba(15,23,42,.04); }
.cup-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.cup-section-heading h2 { margin: 0 0 4px; color: var(--gm-green); font-size: 16px; font-weight: 700; }
.cup-section-heading p, .cup-section-heading > span { margin: 0; color: var(--gm-muted); font-size: 9px; }
.cup-phase-tabs { display: none; }
.cup-bracket { display: grid; min-height: 520px; grid-template-columns: repeat(5, minmax(145px, 1fr)); gap: 18px; padding: 20px; overflow-x: auto; border-radius: 16px; background: linear-gradient(145deg, #173c2a, #255b3c); }
.cup-bracket-stage { display: flex; min-width: 145px; flex-direction: column; }
.cup-bracket-stage h3 { margin: 0 0 14px; color: #fff; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.cup-stage-matches { display: flex; flex: 1; flex-direction: column; justify-content: space-around; gap: 12px; }
.cup-match-card { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.4); border-radius: 11px; background: #fff; box-shadow: 0 8px 18px rgba(5,20,12,.15); }
.cup-match-card::after { position: absolute; top: 50%; left: 100%; width: 19px; height: 1px; background: rgba(255,255,255,.65); content: ""; }
.cup-match-label { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 6px 8px; background: #f1f5f2; }
.cup-match-label span { color: var(--gm-muted); font-size: 7px; font-weight: 600; }
.cup-match-label em { color: #8a6b11; font-size: 7px; font-style: normal; font-weight: 700; }
.cup-match-card.has-bye .cup-match-label em { color: #28764a; }
.cup-match-player { display: flex; min-height: 29px; align-items: center; justify-content: space-between; gap: 8px; padding: 0 9px; border-top: 1px solid #e3e8e4; color: var(--gm-ink); font-size: 9px; font-weight: 600; }
.cup-match-player span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cup-match-player em { color: var(--gm-muted); font-size: 9px; font-style: normal; }
.cup-match-player.is-empty { color: #9ba7a0; font-weight: 400; }
.cup-match-action { display: block; padding: 7px 9px; border-top: 1px solid #e3e8e4; color: var(--gm-green); font-size: 8px; font-weight: 700; text-align: right; text-decoration: none; }
.cup-match-action.is-muted { color: var(--gm-muted); }
.cup-tiebreak { padding: 9px; border-top: 1px solid #e3e8e4; background: #fffbed; }
.cup-tiebreak strong { display: block; color: #66520d; font-size: 8px; line-height: 1.4; }
.cup-tiebreak div { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-top: 7px; }
.cup-tiebreak button { min-height: 28px; padding: 4px; border: 1px solid #b8d0bf; border-radius: 7px; background: #fff; color: var(--gm-green); font-size: 7px; font-weight: 700; }
.cup-champion-stage { justify-content: flex-start; }
.cup-champion-card { display: grid; margin: auto 0; padding: 18px 10px; place-items: center; border: 1px solid rgba(255,255,255,.55); border-radius: 14px; background: rgba(255,255,255,.96); text-align: center; box-shadow: 0 10px 25px rgba(5,20,12,.18); }
.cup-champion-card img { width: 78px; height: 92px; object-fit: contain; }
.cup-champion-card strong { margin-top: 5px; color: var(--gm-green); font-size: 11px; }
.cup-champion-card span { margin-top: 3px; color: var(--gm-muted); font-size: 7px; }
.cup-empty-matches { padding: 14px; border: 1px dashed #cad6cd; border-radius: 11px; background: #fafcfa; color: var(--gm-muted); font-size: 10px; }
.cup-empty-matches.has-results { display: grid; gap: 10px; padding: 0; border: 0; background: transparent; }
.cup-standings-table th:not(:first-child), .cup-standings-table td:not(:first-child) { text-align: center; }
.cup-standings-table td:first-child { color: var(--gm-green); font-weight: 700; }
.cup-detail-page .cup-standings-table { min-width: 650px; }
.cup-detail-page .cup-standings-table th:first-child,
.cup-detail-page .cup-standings-table td:first-child { width: 28%; }
.cup-detail-page .cup-standings-table th:nth-child(n+2),
.cup-detail-page .cup-standings-table td:nth-child(n+2) { width: 12%; }
.cup-round-robin-matches { min-width: 860px; }
.cup-round-robin-matches th:nth-child(1), .cup-round-robin-matches td:nth-child(1) { width: 10%; }
.cup-round-robin-matches th:nth-child(2), .cup-round-robin-matches td:nth-child(2) { width: 22%; text-align: left; }
.cup-round-robin-matches th:nth-child(3), .cup-round-robin-matches td:nth-child(3),
.cup-round-robin-matches th:nth-child(4), .cup-round-robin-matches td:nth-child(4) { width: 14%; }
.cup-round-robin-matches th:nth-child(5), .cup-round-robin-matches td:nth-child(5) { width: 10%; }
.cup-round-robin-matches th:nth-child(6), .cup-round-robin-matches td:nth-child(6) { width: 14%; }
.cup-round-robin-matches th:nth-child(7), .cup-round-robin-matches td:nth-child(7) { width: 12%; }
.cup-fixtures-table { width: max-content; min-width: 700px; table-layout: auto; }
.cup-fixtures-table th:nth-child(1), .cup-fixtures-table td:nth-child(1) { width: 130px; text-align: left; }
.cup-fixtures-table th:nth-child(2), .cup-fixtures-table td:nth-child(2) { width: 32px; padding-inline: 6px; text-align: center; }
.cup-fixtures-table th:nth-child(3), .cup-fixtures-table td:nth-child(3) { width: 130px; text-align: left; }
.cup-fixtures-table th:nth-child(4), .cup-fixtures-table td:nth-child(4) { width: 95px; text-align: center; }
.cup-fixtures-table th:nth-child(5), .cup-fixtures-table td:nth-child(5) { width: 160px; text-align: center; }
.cup-fixtures-table th:nth-child(6), .cup-fixtures-table td:nth-child(6) { width: 90px; text-align: center; }
.cup-fixtures-table .cup-versus { color: var(--gm-muted); font-weight: 700; text-align: center; }
.cup-result-toggle { padding: 4px 0; border: 0; background: transparent; color: var(--gm-green); font: 600 10px Montserrat, sans-serif; cursor: pointer; white-space: nowrap; }
.cup-result-toggle:hover { text-decoration: underline; }
.cup-result-toggle:focus-visible { outline: 2px solid var(--gm-green); outline-offset: 3px; }
.cup-fixtures-table .cup-fixture-result-row > td { width: auto; padding: 0 12px 12px; border-bottom: 1px solid var(--gm-border); }
.cup-fixture-result-detail { padding: 10px 12px; border: 1px solid var(--gm-border); border-radius: 10px; background: #fbfcfb; }
.cup-fixture-result-detail p { margin: 0 0 8px; color: var(--gm-muted); font-size: 9px; }
.cup-fixture-result-detail .cup-summary-holes { margin: 0; }
@media (min-width: 621px) {
  .cup-fixtures-table { width: 100%; }
  .cup-fixtures-table th:nth-child(1), .cup-fixtures-table td:nth-child(1) { width: 16%; }
  .cup-fixtures-table th:nth-child(2), .cup-fixtures-table td:nth-child(2) { width: 5%; }
  .cup-fixtures-table th:nth-child(3), .cup-fixtures-table td:nth-child(3) { width: 16%; }
  .cup-fixtures-table th:nth-child(4), .cup-fixtures-table td:nth-child(4) { width: 15%; }
  .cup-fixtures-table th:nth-child(5), .cup-fixtures-table td:nth-child(5) { width: 25%; }
  .cup-fixtures-table th:nth-child(6), .cup-fixtures-table td:nth-child(6) { width: 23%; text-align: right; }
}
.cup-fixture-state { display: inline-flex; min-width: 62px; min-height: 20px; align-items: center; justify-content: center; padding: 0 8px; border-radius: 999px; background: #eef1ef; color: var(--gm-muted); font-size: 8px; font-weight: 700; }
.cup-fixture-state.in_progress { background: #e1f3e6; color: #176737; }
.cup-fixture-state.completed { background: #e1f3e6; color: #176737; }
.cup-kind-link { color: inherit; text-decoration: none; }
.team-cup-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 16px; }
.team-cup-panel, .team-rounds { padding: 20px 15px 15px; border: 1px solid var(--gm-border); border-radius: 15px; }
.team-cup-panel.team-a { border-color: #9bbcff; }
.team-cup-panel.team-b { border-color: #f2a0a0; }
.team-cup-panel legend, .team-rounds legend { padding: 0 9px; color: var(--gm-green); font-size: 15px; font-weight: 600; }
.team-cup-panel > label { display: grid; gap: 6px; margin-bottom: 12px; color: var(--gm-green); font-size: 10px; font-weight: 700; }
.team-cup-panel > label > input:not([type="file"]),
.team-round-card input,
.team-round-card select { width: 100%; min-height: 42px; padding: 0 13px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--gm-ink); font: inherit; }
.team-roster { display: grid; gap: 6px; padding: 7px; border: 1px solid var(--gm-border); border-radius: 12px; background: #f8faf8; }
.team-player-option { display: flex; min-height: 34px; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid #dfe5e0; border-radius: 9px; background: #fff; color: var(--gm-ink); font-size: 11px; font-weight: 600; }
.team-player-option.is-blocked { opacity: .42; }
.team-rounds { margin-top: 14px; }
.team-rounds-heading { display: flex; align-items: center; justify-content: space-between; }
.team-rounds > p { margin: 2px 0 12px; color: var(--gm-muted); font-size: 10px; }
.team-round-card { padding: 12px; border: 1px solid var(--gm-border); border-radius: 12px; }
.team-round-card + .team-round-card { margin-top: 9px; }
.team-round-card header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; color: var(--gm-green); font-size: 10px; }
.team-round-card header button { border: 0; background: transparent; color: #b42318; font-size: 9px; font-weight: 700; }
.team-round-card > div { display: grid; grid-template-columns: 1fr 1fr 1.3fr 1fr; gap: 10px; }
.team-round-card label { display: grid; gap: 5px; color: var(--gm-green); font-size: 9px; font-weight: 700; }
@media (max-width: 720px) { .team-cup-grid { grid-template-columns: 1fr; } .team-round-card > div { grid-template-columns: 1fr 1fr; } }
.team-draft-summary { display: grid; gap: 12px; margin: 14px 0; }
.team-draft-summary > div:first-child { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.team-draft-card { padding: 12px; border: 1px solid var(--gm-border); border-radius: 12px; }
.team-draft-card.team-a { border-color: #9bbcff; }
.team-draft-card.team-b { border-color: #f2a0a0; }
.team-draft-card header { display: flex; align-items: center; gap: 9px; }
.team-draft-card header img, .team-draft-card header span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; background: #f0f5f1; object-fit: contain; }
.team-draft-card h3 { margin: 0; color: var(--gm-green); font-size: 12px; }
.team-cup-detail { display: grid; gap: 14px; }
.team-scoreboard, .team-detail-panel { overflow: hidden; border: 1px solid var(--gm-border); border-radius: 17px; background: #fff; box-shadow: 0 8px 22px rgba(15,23,42,.04); }
.team-scoreboard > header, .team-detail-panel > header { padding: 9px; background: linear-gradient(90deg, #2e5fe3, #263451 50%, #e34232); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-align: center; text-transform: uppercase; }
#teamGlobalScore { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 20px; }
#teamGlobalScore > b { color: #c1c7ce; font-size: 24px; }
.team-score-side { display: grid; grid-template-columns: auto auto; align-items: center; gap: 8px; }
.team-score-side.team-b { justify-content: end; }
.team-score-side img, .team-score-side > span { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 11px; background: #f3f5f4; object-fit: contain; }
.team-score-side strong { font-size: 29px; }
.team-score-side.team-a strong { color: #245fe5; }.team-score-side.team-b strong { color: #dc2626; }
.team-score-side small { grid-column: 1 / -1; font-size: 10px; font-weight: 700; }.team-score-side.team-b small { text-align: right; }
.team-points-progress { grid-column:1/-1;display:flex;gap:3px;margin-top:14px;padding:4px;border-radius:999px;background:#eef0f3 }
.team-points-progress i { flex:1;height:9px;border-radius:999px;background:#dfe3e8 }.team-points-progress .won-a { background:#2e5fe3 }.team-points-progress .won-b { background:#df342b }
.team-tournament-hero { position:relative;min-height:150px;justify-content:center;flex-direction:column;gap:8px;margin-bottom:18px;border:1px solid #263451;border-radius:17px;background:linear-gradient(105deg,#173f9e,#202d56 48%,#a7191e);color:#fff;text-align:center }
.team-tournament-hero .cup-title-mark { width:58px;height:58px;border-color:rgba(255,255,255,.25);background-color:rgba(255,255,255,.12) }.team-tournament-hero h1 { color:#fff;letter-spacing:.06em }.team-tournament-hero p { color:#fff }.team-tournament-hero .cup-state-pill { position:absolute;right:18px;top:18px;border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.12) }
.team-detail-tabs { display: flex; justify-content: center; }.team-detail-tabs button { min-width: 88px; padding: 7px 18px; border: 0; background: #e9ebef; color: #9299a8; font-size: 9px; font-weight: 800; text-transform: uppercase; }.team-detail-tabs button:first-child { border-radius: 999px 0 0 999px; }.team-detail-tabs button:last-child { border-radius: 0 999px 999px 0; }.team-detail-tabs button.is-active { background: #fff; color: var(--gm-ink); box-shadow: 0 1px 5px #cdd1d7; }
.team-round-tabs { display: flex; gap: 3px; margin: 14px; padding: 4px; border-radius: 11px; background: #dfe3e9; }.team-round-tabs button { display: grid; min-width: 120px; gap: 2px; padding: 7px 14px; border: 0; border-radius: 8px; background: transparent; color: #7b8494; font-size: 9px; }.team-round-tabs button.is-active { background: #fff; color: var(--gm-ink); }.team-round-tabs small { font-size: 8px; text-transform: capitalize; }
.team-round-summary { display: flex; align-items: center; justify-content: space-between; padding: 8px 16px 14px; }.team-round-summary h3 { margin: 0 0 4px; color: var(--gm-green); }.team-round-summary p { margin: 0; color: var(--gm-muted); font-size: 9px; text-transform: capitalize; }
.team-fixture-list { display: grid; gap: 8px; padding: 0 16px 16px; }.team-fixture-card { display: grid; grid-template-columns: 1fr 75px 1fr; min-height: 48px; align-items: center; border: 1px solid var(--gm-border); border-radius: 11px; overflow: hidden; font-size: 10px; }.team-fixture-card div { padding: 10px; }.team-fixture-card div:first-child { color: #245fe5; }.team-fixture-card div:last-child { color: #dc2626; text-align: right; }.team-fixture-card span { align-self: stretch; display: grid; place-items: center; background: #718096; color: #fff; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.team-fixture-action { grid-column: 1 / -1; min-height: 32px; border: 0; border-top: 1px solid var(--gm-border); background: #f8faf8; color: var(--gm-green); font-size: 9px; font-weight: 800; cursor: pointer; }
.team-fixture-card span.is-live { background:#303846 }.team-fixture-card span.leader-a { background:#2e5fe3 }.team-fixture-card span.leader-b { background:#df342b }.team-round-configure { min-height:28px;padding:0 11px;border:1px solid #cfd4da;border-radius:8px;background:#e8ebee;color:#525c68;font-size:8px;font-weight:800;cursor:pointer }.team-fixture-action { min-height:26px;background:#e8ebee;color:#525c68;text-decoration:none }
.team-detail-rosters { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 14px; }.team-detail-rosters > article { display: grid; gap: 8px; }.team-detail-rosters article > header { display: flex; min-height: 36px; align-items: center; justify-content: center; gap: 8px; border-radius: 9px; background: #e1e5eb; font-size: 10px; }.team-detail-rosters header img, .team-detail-rosters header > span { width: 22px; height: 22px; object-fit: contain; }.team-detail-rosters article > div { display: flex; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--gm-border); border-radius: 11px; }.team-detail-rosters article > div p { display: grid; margin: 0; font-size: 10px; }.team-detail-rosters article > div small { color: var(--gm-muted); }
.team-fixtures-dialog { width: min(720px, calc(100% - 24px)); border: 0; border-radius: 18px; }.team-fixtures-dialog form { display: grid; gap: 14px; }.team-fixture-editor { padding: 12px; border: 1px solid var(--gm-border); border-radius: 12px; }.team-fixture-editor header { display: flex; justify-content: space-between; }.team-fixture-editor header button { border: 0; background: none; color: #b42318; }.team-fixture-editor > div { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; }.team-fixture-editor fieldset { display: grid; gap: 7px; border: 0; }.team-fixture-editor select { min-height: 40px; padding: 0 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.team-match-date { display: grid; grid-template-columns: auto 170px; align-items: center; justify-content: end; gap: 10px; color: var(--gm-green); font-size: 10px; font-weight: 700; }.team-match-date input { min-height: 40px; padding: 0 10px; border: 1px solid var(--line); border-radius: 10px; }.team-match-player-setup { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.team-match-player-setup article { display: grid; grid-template-columns: 1fr 1.25fr .55fr; align-items: end; gap: 9px; padding: 15px; border: 1px solid var(--gm-border); border-radius: 12px; }.team-match-player-setup article > div { display: grid; align-self: center; }.team-match-player-setup small { color: var(--gm-muted); }.team-match-player-setup label { display: grid; gap: 5px; color: var(--gm-green); font-size: 9px; font-weight: 700; }.team-match-player-setup select, .team-match-player-setup input { width: 100%; min-height: 38px; padding: 0 9px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
@media (max-width: 600px) { #teamGlobalScore { padding: 14px 10px; }.team-score-side img, .team-score-side > span { width: 38px; height: 38px; }.team-score-side strong { font-size: 24px; }.team-round-tabs { overflow-x: auto; }.team-detail-rosters { grid-template-columns: 1fr; }.team-fixture-editor > div { grid-template-columns: 1fr; }.team-fixture-editor > div > b { text-align: center; }.team-match-player-setup { grid-template-columns: 1fr; }.team-match-player-setup article { grid-template-columns: 1fr 1fr; }.team-match-player-setup article > div { grid-column: 1 / -1; } }
.team-draft-card ul { margin: 9px 0 0; padding-left: 18px; color: var(--gm-ink); font-size: 10px; line-height: 1.7; }
.team-draft-summary > div:last-child { padding: 12px; border: 1px solid var(--gm-border); border-radius: 12px; }
.team-draft-summary > div:last-child h3 { margin: 0 0 8px; color: var(--gm-green); font-size: 12px; }
#teamDraftRounds { display: grid; gap: 6px; }
#teamDraftRounds article { display: grid; grid-template-columns: 70px 1fr 2fr; gap: 8px; padding: 8px; border-radius: 8px; background: #f6f8f6; font-size: 9px; }
#teamDraftRounds small { color: var(--gm-muted); }
@media (max-width: 720px) { .team-draft-summary > div:first-child { grid-template-columns: 1fr; } #teamDraftRounds article { grid-template-columns: 1fr; } }
.round-robin-champion { display: flex; width: min(520px, 100%); min-height: 210px; box-sizing: border-box; align-items: center; justify-content: center; gap: 28px; margin: 16px auto 0; padding: 24px 34px; border: 1px solid var(--gm-border); border-radius: 18px; background: #fff; text-align: left; box-shadow: 0 8px 22px rgba(15,23,42,.04); }
.round-robin-champion img { width: 112px; height: 142px; object-fit: contain; }
.round-robin-champion div { display: grid; gap: 7px; }
.round-robin-champion span { color: #927017; font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.round-robin-champion strong { color: var(--gm-green); font-size: 19px; line-height: 1.2; }
.round-robin-champion small { color: var(--gm-muted); font-size: 10px; }

@media (max-width: 720px) {
  .cup-detail-heading { align-items: flex-start; flex-wrap: wrap; }
  .cup-title-mark { width: 46px; height: 46px; flex-basis: 46px; }
  .cup-detail-heading h1 { font-size: 17px; }
  .cup-state-pill { margin-left: 59px; }
  .cup-detail-section { padding: 13px; border-radius: 15px; }
  .cup-section-heading { align-items: flex-start; }
  .cup-section-heading h2 { font-size: 14px; }
  .cup-phase-tabs { display: flex; gap: 6px; margin: 0 -2px 12px; padding: 2px; overflow-x: auto; }
  .cup-phase-tab { min-height: 30px; flex: 0 0 auto; padding: 0 11px; border: 1px solid var(--gm-border); border-radius: 999px; background: #fff; color: var(--gm-muted); font-size: 8px; font-weight: 700; }
  .cup-phase-tab.is-active { border-color: #8fb69b; background: #eaf2ec; color: var(--gm-green); }
  .cup-bracket { display: block; min-height: 390px; padding: 15px; overflow: hidden; }
  .cup-bracket-stage { display: none; min-height: 360px; }
  .cup-bracket-stage.is-mobile-active { display: flex; }
  .cup-stage-matches { justify-content: center; gap: 14px; }
  .cup-match-card::after { display: none; }
  .cup-champion-card { width: min(210px, 80%); box-sizing: border-box; margin: auto; }
  .cup-standings-table { min-width: 680px; }
  .cup-rounds-scroll { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; }
  .round-robin-champion { min-height: 190px; flex-direction: column; gap: 10px; padding: 18px; text-align: center; }
  .round-robin-champion img { width: 88px; height: 108px; }
}

/* Keep league round metrics readable on every narrow viewport, including desktop emulation. */
@media (max-width: 720px) {
  .league-results-page .league-rounds-scroll { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; }
  .league-results-page .league-player-rounds { width: 920px; min-width: 920px; table-layout: fixed; }
  .league-results-page .league-player-rounds th:nth-child(1),
  .league-results-page .league-player-rounds td:nth-child(1) { width: 90px; }
  .league-results-page .league-player-rounds th:nth-child(2),
  .league-results-page .league-player-rounds td:nth-child(2) { width: 210px; }
}
.team-match-scoreboard { border-top: 8px solid transparent; border-image: linear-gradient(90deg,#315bd6,#22366e,#d84435) 1; }
.team-versus { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:18px; margin-top:22px; }
.team-side { padding:16px; border-radius:14px; background:#eef3ff; color:#2153d5; }
.team-side.second { text-align:right; background:#fff0ef; color:#d52d26; }
.team-side b,.team-side span { display:block; }.team-side span { margin-top:5px; font-size:13px; }
.team-versus > strong { min-width:110px; padding:13px; text-align:center; border-radius:10px; background:#eef0f4; }
.team-versus > strong.leader-first { background:#315be8;color:white }.team-versus > strong.leader-second { background:#df4136;color:white }
.team-match-page .match-hole-choices button:first-child.selected { background:#315be8;color:#fff }.team-match-page .match-hole-choices button:last-child.selected { background:#df4136;color:#fff }
.team-match-page .match-hole-choices small { display:block;margin-top:5px;font-size:10px }
.team-hole-allowances { display:grid;grid-template-columns:1fr minmax(74px,.45fr) 1fr;gap:10px;min-height:36px;margin:6px 0 2px;padding:0 10px;color:#87909d;font-size:10px;line-height:1.35 }
.team-hole-allowances > div { display:flex;flex-direction:column }.team-hole-allowances > div:last-child { text-align:right;align-items:flex-end }
.team-hole-allowances b { letter-spacing:2px }.allowance-a { color:#315be8 }.allowance-b { color:#df4136 }
.team-match-page .match-hole-allowance { margin:2px 0 0;font-size:9px;color:#a0a7b1 }
.team-match-page .finish-round-panel { margin-top:30px }.result-locked { opacity:.38;cursor:not-allowed }

/* Detalle Ryder Cup: adaptación de la vista histórica a la aplicación actual. */
.team-tournament-hero { position:relative;overflow:hidden;min-height:174px;padding:22px 16px;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.08),transparent 55%),radial-gradient(circle at 20% 50%,rgba(37,99,235,.35),transparent 55%),radial-gradient(circle at 80% 50%,rgba(220,38,38,.35),transparent 55%),linear-gradient(120deg,#1e3a8a 0%,#0f172a 40%,#7f1d1d 100%);animation:teamHeroIn .4s ease }
.team-tournament-hero::after { content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:6px 6px;opacity:.15;pointer-events:none }
.team-tournament-hero > * { position:relative;z-index:1 }.team-tournament-hero .cup-title-mark { width:68px;height:68px;border-radius:16px;backdrop-filter:blur(4px) }.team-tournament-hero h1 { margin-top:4px;font-size:20px;font-weight:900 }.team-tournament-hero p { font-size:12px;color:rgba(255,255,255,.75) }
.team-tournament-hero > div:nth-child(2) { flex:0;text-align:center }.team-tournament-hero .cup-state-pill { right:12px;top:12px;min-height:22px;padding:3px 8px;font-size:8px;line-height:1 }
.team-tournament-hero { align-items:center;flex-wrap:nowrap }.team-tournament-hero .cup-title-mark { flex:0 0 auto }.team-tournament-hero > div:nth-child(2) { width:100% }
@keyframes teamHeroIn { from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none} }
#teamCupSection { gap:16px }.team-scoreboard,.team-detail-panel { border-radius:18px;box-shadow:0 10px 24px rgba(15,23,42,.05) }.team-scoreboard>header,.team-detail-panel>header { padding:10px 16px;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.22),transparent 18%),linear-gradient(90deg,#2451c7 0%,#4a6ee0 20%,#1e1e1f 50%,#df6a56 80%,#c7392d 100%);font-size:11px;letter-spacing:.18em;text-shadow:0 1px 2px rgba(0,0,0,.18) }
#teamGlobalScore { margin:12px;padding:18px 16px 14px;border:1px solid rgba(15,23,42,.08);border-radius:16px;box-shadow:0 6px 18px rgba(15,23,42,.04) }.team-score-side { gap:12px }.team-score-side img,.team-score-side>span { width:64px;height:64px;border-radius:16px;box-shadow:0 6px 18px rgba(15,23,42,.06) }.team-score-side strong { font-size:41px;font-weight:900;letter-spacing:-.04em }.team-score-side small { font-size:12px;color:rgba(15,23,42,.62) }.team-points-progress { margin-top:14px;padding:4px;border:1px solid rgba(15,23,42,.08);border-radius:10px }.team-points-progress i { height:10px;border-radius:4px }
#teamGlobalScore .team-score-side { justify-content:center }#teamGlobalScore .team-score-side small { text-align:center }
.team-detail-tabs { margin:0 auto 2px;padding:3px;border-radius:999px;background:rgba(15,23,42,.06) }.team-detail-tabs button { min-width:98px;padding:6px 14px;background:transparent;border-radius:999px!important }.team-detail-tabs button.is-active { background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08) }
.team-round-tabs { display:inline-flex;max-width:calc(100% - 28px);overflow-x:auto;margin:14px;padding:4px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:linear-gradient(180deg,#d7d9de,#c8cbd1);box-shadow:inset 0 1px 0 rgba(255,255,255,.45) }.team-round-tabs button { min-width:108px;padding:8px 14px;border-radius:10px }.team-round-tabs button.is-active { background:linear-gradient(180deg,#fff,#f3f4f6);box-shadow:0 1px 2px rgba(15,23,42,.08) }
.team-round-summary h3 { background:linear-gradient(180deg,#7b8391,#596170);background-clip:text;color:transparent;font-size:16px;font-weight:900 }.team-round-summary p { font-size:11px }.team-fixture-list { gap:10px }.team-fixture-card { display:grid;grid-template-columns:minmax(0,1.45fr) 62px minmax(0,1.45fr);min-height:58px;border-color:rgba(15,23,42,.08);border-radius:12px;box-shadow:0 4px 14px rgba(15,23,42,.04) }.team-fixture-card .team-fixture-side { padding:12px 10px;background:#fff;font-size:12px;font-weight:600 }.team-fixture-card .team-fixture-side-a { color:#2563eb }.team-fixture-card .team-fixture-side-b { color:#dc2626;text-align:right }.team-fixture-card .team-fixture-score { position:relative;z-index:2;display:flex;align-self:stretch;flex-direction:column;align-items:center;justify-content:center;padding:8px 3px;background:#64748b }.team-fixture-score strong { font-size:13px;line-height:1 }.team-fixture-score small { margin-top:5px;font-size:8px;letter-spacing:.05em }.team-fixture-card .team-fixture-score.leader-a { background:linear-gradient(180deg,#4f63e8,#4457d8);clip-path:polygon(0 50%,12% 0,100% 0,100% 100%,12% 100%) }.team-fixture-card .team-fixture-score.leader-b { background:linear-gradient(180deg,#e05a47,#cf4937);clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%) }
.team-detail-rosters { position:relative;gap:14px }.team-detail-rosters::after { content:"";position:absolute;top:14px;bottom:14px;left:50%;width:1px;background:rgba(15,23,42,.06) }.team-detail-rosters article>header { min-height:40px;background:linear-gradient(180deg,#e2e6eb,#d7dce3);border:1px solid rgba(15,23,42,.06) }.team-detail-rosters article>div { min-height:76px;padding:12px;border-color:rgba(15,23,42,.06);border-radius:14px;box-shadow:0 6px 18px rgba(15,23,42,.05) }.team-detail-rosters .player-avatar-shell { width:54px;height:54px;flex:0 0 54px }.team-detail-rosters article:first-child .player-avatar-shell { border:2px solid rgba(37,99,235,.55) }.team-detail-rosters article:last-child .player-avatar-shell { border:2px solid rgba(220,38,38,.5) }
.team-detail-rosters .player-avatar-shell img,.team-detail-rosters .player-avatar-shell>span{grid-area:1 / 1}.team-detail-rosters .player-avatar-shell img{border-radius:inherit}.team-detail-rosters .player-avatar-shell.has-photo>span{display:none}
@media(max-width:700px){.team-tournament-hero{min-height:156px;padding:20px 14px}.team-tournament-hero .cup-title-mark{width:62px;height:62px}.team-tournament-hero h1{font-size:17px}#teamGlobalScore{padding:16px 12px}.team-score-side img,.team-score-side>span{width:54px;height:54px}.team-score-side strong{font-size:35px}.team-fixture-card{grid-template-columns:minmax(0,1.5fr) 54px minmax(0,1.5fr)}.team-fixture-card .team-fixture-side{padding:10px 6px;font-size:11px}.team-fixture-score strong{font-size:12px}.team-fixture-score small{font-size:7px}.team-detail-rosters{grid-template-columns:1fr 1fr;gap:10px}.team-detail-rosters article>div{padding:9px;gap:8px}.team-detail-rosters .player-avatar-shell{width:46px;height:46px;flex-basis:46px}}
.team-match-player-setup article.team-match-player-team-a { border-color:rgba(37,99,235,.22);background:rgba(37,99,235,.07) }.team-match-player-setup article.team-match-player-team-b { border-color:rgba(220,38,38,.20);background:rgba(220,38,38,.06) }.team-match-player-setup article strong { font-weight:500 }
@media(max-width:600px){.team-match-setup-dialog{box-sizing:border-box;width:calc(100% - 20px);max-width:calc(100% - 20px);max-height:calc(100dvh - 20px);margin:auto;padding:14px;overflow:auto}.team-match-setup-dialog form{gap:9px}.team-match-setup-dialog .league-dialog-heading h2{font-size:17px;font-weight:600}.team-match-setup-dialog .league-dialog-heading p{font-size:9px}.team-match-setup-dialog .dialog-close{width:30px;height:30px;flex-basis:30px}.team-match-date{grid-template-columns:auto minmax(0,150px);gap:7px;font-weight:500}.team-match-date input{min-height:34px}.team-match-player-setup{gap:7px}.team-match-player-setup article{grid-template-columns:minmax(0,1.25fr) minmax(0,1.35fr) 74px;gap:7px;padding:9px;border-radius:10px}.team-match-player-setup article>div{grid-column:auto}.team-match-player-setup article strong{font-size:12px;font-weight:500}.team-match-player-setup small{font-size:8px}.team-match-player-setup label{gap:3px;font-size:8px;font-weight:500}.team-match-player-setup select,.team-match-player-setup input{min-height:34px;padding:0 7px;font-size:10px}.team-match-setup-dialog .form-help{margin:0;font-size:8px}.team-match-setup-dialog .form-actions{gap:7px}.team-match-setup-dialog .form-actions button{min-height:38px;padding:0 14px;font-size:12px}}
@media(max-width:600px){.team-match-setup-dialog{width:calc(100% - 30px);max-width:calc(100% - 30px);padding:11px}.team-match-player-setup article{grid-template-columns:minmax(0,1.15fr) minmax(0,1.2fr) 60px;gap:5px;padding:7px}.team-match-player-setup article strong{font-size:11px}.team-match-player-setup select,.team-match-player-setup input{min-height:32px;padding:0 5px;font-size:9px}.team-fixtures-dialog{box-sizing:border-box;width:calc(100% - 30px);max-width:calc(100% - 30px);max-height:calc(100dvh - 20px);margin:auto;padding:11px;overflow:auto}.team-fixtures-dialog form{gap:9px}.team-fixtures-dialog .league-dialog-heading h2{font-size:17px;font-weight:600}.team-fixtures-dialog .league-dialog-heading p{font-size:9px}.team-fixtures-dialog .dialog-close{width:30px;height:30px;flex-basis:30px}.team-fixture-editor{padding:8px;border-radius:10px}.team-fixture-editor header{font-size:10px;font-weight:500}.team-fixture-editor>div{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:5px}.team-fixture-editor>div>b{font-size:8px}.team-fixture-editor fieldset{gap:5px;padding:7px;border-radius:8px}.team-fixture-editor .fixture-team-a{background:rgba(37,99,235,.07);color:#315be8}.team-fixture-editor .fixture-team-b{background:rgba(220,38,38,.06);color:#d83d35}.team-fixture-editor legend{font-size:8px;font-weight:500}.team-fixture-editor select{width:100%;min-width:0;min-height:32px;padding:0 5px;font-size:9px}.team-fixtures-dialog .form-actions{gap:7px}.team-fixtures-dialog .form-actions button{min-height:38px;padding:0 12px;font-size:11px}}
@media(max-width:650px){.team-versus{gap:7px}.team-side{padding:10px 7px;font-size:12px}.team-side span{font-size:10px}.team-versus>strong{min-width:64px;padding:10px 4px}.team-match-page .match-landscape-overview{display:none}}
@media(max-width:600px){.team-match-setup-dialog{overflow-x:hidden}.team-match-player-setup,.team-match-player-setup article,.team-match-player-setup article>*{min-width:0;max-width:100%}.team-match-player-setup article{grid-template-columns:76px minmax(0,1fr) 52px}.team-match-player-setup article>div{overflow:hidden}.team-match-player-setup article strong,.team-match-player-setup article small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-match-player-setup select,.team-match-player-setup input{box-sizing:border-box;min-width:0;max-width:100%}.team-match-setup-dialog .form-actions{margin-top:2px}.team-match-setup-dialog .form-actions button{min-width:0;min-height:32px;padding:0 11px;border:1px solid rgba(20,83,45,.22);border-radius:10px;background:rgba(20,83,45,.08);color:var(--gm-green);font-size:10px;font-weight:700;letter-spacing:.3px}.team-match-setup-dialog .form-actions button:hover{background:#dceadf}.team-match-setup-dialog .form-actions .secondary{background:#fff}}
@media(max-width:600px){.team-fixtures-dialog .form-actions{margin-top:2px}.team-fixtures-dialog .form-actions button{min-width:0;min-height:32px;padding:0 11px;border:1px solid rgba(20,83,45,.22);border-radius:10px;background:rgba(20,83,45,.08);color:var(--gm-green);font-size:10px;font-weight:700;letter-spacing:.3px}.team-fixtures-dialog .form-actions button:hover{background:#dceadf}.team-fixtures-dialog .form-actions .secondary{background:#fff}.team-fixtures-dialog #addTeamFixture{min-height:30px;padding:0 10px;border:1px solid rgba(20,83,45,.22);border-radius:10px;background:rgba(20,83,45,.08);color:var(--gm-green);font-size:9px;font-weight:700}}
@media(max-width:600px){.team-match-setup-dialog form,.team-match-player-setup{width:100%;min-width:0}.team-match-date{width:100%;grid-template-columns:52px minmax(0,1fr);justify-content:stretch}.team-match-date input{box-sizing:border-box;width:100%;min-width:0}.team-match-player-setup article{box-sizing:border-box;width:100%;grid-template-columns:minmax(0,1fr) 54px;gap:5px 7px}.team-match-player-setup article>div{grid-column:1/-1}.team-match-player-setup article label{min-width:0}.team-match-player-setup article label:nth-of-type(1){grid-column:1}.team-match-player-setup article label:nth-of-type(2){grid-column:2}.team-match-player-setup select{width:100%;min-width:0;max-width:100%}.team-match-setup-dialog .form-actions{width:100%;flex-wrap:nowrap}.team-match-setup-dialog .form-actions button{min-height:31px;padding:0 9px;font-size:9px;white-space:nowrap}}
@media(max-width:600px){.team-match-setup-dialog{overflow-x:auto}.team-match-setup-dialog form{box-sizing:border-box;min-width:0;max-width:100%}.team-match-player-setup{box-sizing:border-box;min-width:0;max-width:100%;overflow:visible}.team-match-player-setup article{inline-size:min(100%,calc(100vw - 64px));max-inline-size:100%;min-inline-size:0;overflow:hidden}.team-match-player-setup article>*{min-inline-size:0}.team-match-player-setup select,.team-match-player-setup input{inline-size:100%;max-inline-size:100%;min-inline-size:0;text-overflow:ellipsis}.team-match-player-setup option{max-width:100%}.team-match-setup-dialog .form-actions{width:100%;justify-content:flex-end}.team-match-setup-dialog .form-actions button{flex:0 1 auto;white-space:nowrap}}
.team-fixtures-dialog .dialog-close{display:none}@media(max-width:600px){.team-match-date{width:auto;grid-template-columns:42px 120px;justify-content:start}.team-match-date input{min-height:30px;padding:0 8px;font-size:10px}.team-match-setup-dialog .form-actions,.team-fixtures-dialog .form-actions{justify-content:center;align-items:center}.team-match-setup-dialog .form-actions button,.team-fixtures-dialog .form-actions button{flex:0 0 auto}}
.hcp-stepper{display:grid;grid-template-columns:22px minmax(28px,1fr) 22px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#fff}.hcp-stepper button{padding:0;border:0;background:rgba(20,83,45,.07);color:var(--gm-green);font-size:16px}.hcp-stepper input{border:0!important;border-radius:0!important;text-align:center}@media(max-width:600px){.team-match-player-setup article{grid-template-columns:minmax(0,1fr) 82px}.hcp-stepper{grid-template-columns:20px minmax(26px,1fr) 20px}.hcp-stepper button{min-height:32px}.hcp-stepper input{padding:0!important}}
.team-fixture-action{display:flex;align-items:center;justify-content:center;text-align:center}.team-fixture-score strong:empty{display:none}.team-fixture-score strong:empty+small{margin-top:0;font-size:8px}
.team-match-page .overview-hole-result.result-a{background:#315be8;color:#fff;box-shadow:inset 0 0 0 1px rgba(28,67,190,.25)}.team-match-page .overview-hole-result.result-b{background:#df4136;color:#fff;box-shadow:inset 0 0 0 1px rgba(170,38,30,.22)}.team-match-page .overview-hole-result.result-tie{background:#e8f2e7;color:var(--gm-green)}.team-match-page .overview-hole-result.result-pending{background:#f0f2f4;color:#8d96a3}
.team-match-page .team-match-scoreboard{overflow:hidden;padding:0 12px 12px;border:1px solid rgba(15,23,42,.1);border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.05);border-image:none}.team-live-band{margin:0 -12px 14px;padding:9px 12px;background:linear-gradient(90deg,#315bd6,#263451 50%,#e24b39);color:#fff;font-size:10px;font-weight:900;letter-spacing:.05em;text-align:center;text-transform:uppercase}.team-match-page .team-match-scoreboard>header{align-items:flex-start;margin-bottom:20px}.team-match-page .team-match-scoreboard>header h1{margin:0 0 4px;color:#596170;font-size:18px;font-weight:900;text-transform:capitalize}.team-match-page .team-match-scoreboard>header p{font-size:10px}.team-match-page .team-match-scoreboard>header .button-link{min-height:32px;padding:0 12px;border-radius:999px;font-size:10px}.team-match-page .team-versus{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);gap:0;margin:0;border:1px solid rgba(15,23,42,.09);border-radius:12px;background:#fff}.team-match-page .team-side{display:flex;min-width:0;align-items:center;padding:12px 10px;background:#fff;color:#2563eb;font-size:10px;font-weight:600}.team-match-page .team-side.second{justify-content:flex-end;background:#fff;color:#dc2626;text-align:right}.team-match-page .team-side span{overflow:hidden;text-overflow:ellipsis}.team-match-page .team-versus>strong{display:flex;min-width:0;min-height:54px;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;border-radius:0;background:#64748b;color:#fff;font-size:13px}.team-match-page .team-versus>strong small{display:block;margin-top:5px;font-size:8px;letter-spacing:.04em}.team-match-page .team-versus>strong.leader-first{background:linear-gradient(180deg,#4f63e8,#4457d8);clip-path:polygon(0 50%,12% 0,100% 0,100% 100%,12% 100%)}.team-match-page .team-versus>strong.leader-second{background:linear-gradient(180deg,#e05a47,#cf4937);clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%)}.team-dormie{margin:7px 0 -2px;text-align:center;font-size:9px;font-weight:700;letter-spacing:.08em}.team-dormie.leader-first{color:#315be8}.team-dormie.leader-second{color:#df4136}.team-match-page .match-save-state{margin-top:10px;padding:0;border:0;font-size:9px}
.team-match-page .hole-nav-button{border-color:#cbd0d5;background:#e5e7eb;color:#525c68}.team-match-page .match-hole-choices button{border-color:#9aa1a9;color:#434a53}.team-match-page .finish-round-panel .primary{background:#d9dde1;color:#59616b}.team-match-page .finish-round-panel .primary:not(:disabled){background:#bfc5cb;color:#303740}.team-match-page .match-hole-choices button:first-child.selected{border-color:#315be8;background:#eaf0ff;color:#1d4ed8}.team-match-page .match-hole-choices button:last-child.selected{border-color:#df4136;background:#fff0ef;color:#b91c1c}
.team-match-page .single-hole-nav h2{color:#59616b}.team-match-page .match-hole-choices button:nth-child(2).selected{border-color:#8e969f;background:#e7e9ec;color:#3f4750}.team-match-page .finish-round-panel .primary:not(:disabled){background:#bfe5cd;color:#14532d}
.team-champion-card{position:relative;display:flex;min-height:190px;flex-direction:column;align-items:center;justify-content:center;gap:8px;overflow:hidden;margin-top:4px;border-radius:18px;color:#fff;text-align:center;box-shadow:0 12px 28px rgba(15,23,42,.12)}.team-champion-card::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px);background-size:6px 6px;opacity:.18}.team-champion-card>*{position:relative;z-index:1}.team-champion-card.champion-a{background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.18),transparent 30%),linear-gradient(120deg,#173f9e,#315bd6)}.team-champion-card.champion-b{background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.18),transparent 30%),linear-gradient(120deg,#7f1d1d,#df4136)}.team-champion-card.is-tie{background:linear-gradient(120deg,#315bd6,#263451 50%,#df4136)}.team-champion-card img,.team-champion-card>span:first-child{display:grid;width:68px;height:68px;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:rgba(255,255,255,.1);object-fit:contain}.team-champion-card small{font-size:13px;font-weight:700}.team-champion-card strong{font-size:25px;font-weight:900;letter-spacing:.12em}.team-champion-card>span:last-child{font-size:10px}.team-champion-trophy{font-size:31px}@media(max-width:600px){.team-champion-card{min-height:165px}.team-champion-card img,.team-champion-card>span:first-child{width:58px;height:58px}.team-champion-card strong{font-size:21px}}
@media(max-width:600px){#teamCupForm{font-weight:400}#teamCupForm label,#teamCupForm input,#teamCupForm select,#teamCupForm .team-player-option,#teamCupForm .team-round-card header{font-weight:400}.team-round-card .team-round-name{display:none}.team-round-card .team-round-course{grid-column:1 / -1}.team-round-card>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.team-round-card input,.team-round-card select{min-height:36px;padding:0 9px;font-size:10px}.team-rounds{padding:16px 12px 12px}.team-rounds-heading #addTeamRound,#teamCupForm>.form-actions .button-link,#teamCupForm>.form-actions button{min-width:0;min-height:34px;padding:0 12px;border:1px solid rgba(20,83,45,.25);border-radius:11px;background:rgba(20,83,45,.08);color:var(--gm-green);font-size:10px;font-weight:600;letter-spacing:.02em}.team-rounds-heading #addTeamRound{min-height:32px;padding:0 11px}.team-rounds-heading #addTeamRound:hover,#teamCupForm>.form-actions button:hover{background:#dceadf}#teamCupForm>.form-actions{justify-content:center;gap:8px;margin-top:12px}#teamCupForm>.form-actions .button-link{background:#fff}}
@media(max-width:600px){#createCupForm>.form-actions{justify-content:center;gap:8px;margin-top:12px}#createCupForm>.form-actions .button-link,#createCupForm>.form-actions button{min-width:0;min-height:34px;padding:0 12px;border:1px solid rgba(20,83,45,.25);border-radius:11px;background:rgba(20,83,45,.08);color:var(--gm-green);font-size:10px;font-weight:600;letter-spacing:.02em}#createCupForm>.form-actions .button-link{background:#fff}#createCupForm>.form-actions button:hover{background:#dceadf}}
.cup-invitation-card{cursor:pointer}.cup-invitation-view{min-height:0;padding:4px 0;border:0;background:transparent}.cup-invitation-actions{display:flex;min-width:0;flex:1 1 100%;align-items:center;justify-content:center;gap:8px}.cup-invitation-actions button{min-width:0;min-height:34px;flex:0 1 auto;padding:0 13px;border:1px solid rgba(20,83,45,.25);border-radius:11px;background:rgba(20,83,45,.08);color:var(--gm-green);font-size:10px;font-weight:600}.cup-invitation-actions button.secondary{background:#fff}.team-draft-card.is-player-team{box-shadow:0 0 0 2px rgba(20,83,45,.18),0 8px 20px rgba(15,23,42,.06)}
.team-fixture-card .team-fixture-side{line-height:1.45;text-align:center}.team-fixture-card .team-fixture-side-b{text-align:center}

/* Acciones compactas de la copa en preparación, al estilo PLAY. */
#cupDraftDialog .league-dialog-actions { align-items: center; gap: 8px; }
#cupDraftDialog .league-dialog-actions > button:not(.danger-link) {
  box-sizing: border-box;
  min-width: 0;
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid rgba(20,83,45,.25);
  border-radius: 11px;
  background: rgba(20,83,45,.08);
  color: var(--gm-green);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1.2;
  white-space: nowrap;
}
#cupDraftDialog .league-dialog-actions > button.secondary { background: #fff; }
#cupDraftDialog .league-dialog-actions > button:not(.danger-link):hover { background: #dceadf; }
#cupDraftDialog .league-dialog-actions > button:focus-visible { outline: 2px solid var(--gm-green); outline-offset: 2px; }
@media (max-width: 720px) {
  #cupDraftDialog .league-dialog-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 14px;
  }
  #cupDraftDialog .league-dialog-actions .danger-link {
    width: 100%;
    margin-bottom: 2px;
    text-align: left;
  }
  #cupDraftDialog .league-dialog-actions .action-spacer { display: none; }
  #cupDraftDialog .league-dialog-actions > button:not(.danger-link) { flex: 0 1 auto; }
  #cupDraftDialog .cup-invitation-actions { flex-basis: 100%; }
}

/* Tarjeta acumulada de Match Play: consulta en horizontal, edición en vertical. */
.match-landscape-overview table { min-width: 760px; }
.match-landscape-overview th:first-child { width: 94px; }
.match-landscape-overview th:last-child, .match-landscape-overview td:last-child { width: auto; }
.match-landscape-overview tbody th { padding-left: 7px; text-align: left; }
.match-landscape-overview td.cumulative-first { background: #2563eb; color: #fff; font-weight: 800; }
.match-landscape-overview td.cumulative-second { background: #dc2626; color: #fff; font-weight: 800; }
.match-landscape-overview td.cumulative-square { background: #e5e7eb; color: #555e6b; font-weight: 700; }
.match-landscape-overview td.cumulative-pending { background: #f8f9fa; color: #a4acb5; }
.match-landscape-overview .cumulative-name-first { color: #2563eb; }
.match-landscape-overview .cumulative-name-second { color: #dc2626; }
@media (orientation: landscape) and (max-width: 1000px) {
  .match-play-page .player-sticky-shell,
  .match-play-page .match-scoreboard,
  .match-play-page .match-hole-card,
  .match-play-page .finish-round-panel,
  .match-play-page .start-round-panel { display: none !important; }
  .match-play-page .player-content-shell { max-width: none; padding: 8px 10px; }
  .match-play-page .match-landscape-overview { display: block !important; margin: 0; }
  .match-play-page .match-landscape-overview.hidden { display: none !important; }
  .match-play-page .match-landscape-overview th,
  .match-play-page .match-landscape-overview td { height: 31px; }
}

/* Compact Play directory; the shared navigation shell remains unchanged. */
.play-page .player-content-shell { max-width: 1040px; }
.play-page .play-welcome { margin: 0 0 18px; padding: 17px 20px; border: 1px solid #dce4e7; border-radius: 18px; background: linear-gradient(135deg, #eef3f4, #fff 72%); }
.play-page .play-welcome .eyebrow { margin-bottom: 5px; font-size: 9px; letter-spacing: .12em; }
.play-page .play-welcome h1 { margin: 0 0 5px; color: var(--gm-ink); font-size: clamp(20px, 3vw, 25px); font-weight: 700; letter-spacing: -.035em; }
.play-page .play-welcome > p:last-child { margin: 0; color: var(--gm-muted); font-size: 12px; line-height: 1.35; }
.play-page .play-grid { gap: 12px; }
.play-page .play-card { min-height: 0; flex-direction: row; gap: 13px; padding: 16px; border-color: #dce4e7; border-radius: 17px; background: #fff; box-shadow: 0 5px 15px rgba(23,34,27,.035); }
.play-page .play-card.is-live:hover { transform: none; box-shadow: 0 7px 18px rgba(23,34,27,.07); }
.play-page .card-icon { width: 42px; height: 42px; flex-basis: 42px; border: 1px solid #dce4e7; border-radius: 12px; background: #f1f5f4; font-size: 19px; }
.play-page .card-friendly .card-icon { background: #f2f6ff; color: #355d9a; }
.play-page .card-league .card-icon { background: #f8f5ed; color: #896b27; }
.play-page .card-cup .card-icon { background: #f5f1ff; color: #7052a3; }
.play-page .card-copy .pill { margin-bottom: 4px; font-size: 9px; letter-spacing: .08em; }
.play-page .card-copy h2 { margin: 0 0 4px; color: var(--gm-ink); font-size: 16px; font-weight: 700; line-height: 1.2; }
.play-page .play-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.play-page .play-quick-action { display: inline-flex; min-height: 32px; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid rgba(20,83,45,.22); border-radius: 10px; background: rgba(20,83,45,.08); color: var(--gm-green); font-size: 10px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.play-page .play-quick-action:hover { background: #dceadf; }
.play-page .play-quick-action:focus-visible { outline: 2px solid var(--gm-green); outline-offset: 2px; }
.play-page .card-copy > p { color: var(--gm-muted); font-size: 12px; line-height: 1.35; }
.play-page .metrics { gap: 6px; margin-top: 10px; }
.play-page .metrics span { padding: 5px 7px; border: 1px solid #e6ece8; border-radius: 8px; background: #f8faf9; font-size: 10px; }
.play-page .play-round-list { gap: 5px; margin-top: 9px; }
.play-page .play-round-empty { color: var(--gm-meta); font-size: 10px; line-height: 1.3; }
.play-page .play-round-chip { padding: 7px 9px; border: 1px solid #e7ece9; border-radius: 9px; background: #f8faf9; font-size: 10px; font-weight: 600; }
.play-page .play-round-chip small { font-size: 9px; font-weight: 400; }
@media (max-width: 620px) {
  .play-page .player-content-shell { padding-top: 18px; }
  .play-page .play-welcome { padding: 15px 16px; }
  .play-page .play-card { padding: 14px; }
}

/* Player directory: restrained title and compact handicap metadata. */
.player-directory-page .directory-heading { margin-bottom: 16px; }
.player-directory-page .directory-heading h1 { margin: 0; font-size: 18px; font-weight: 600; letter-spacing: .04em; }
.player-directory-page .player-card-copy .player-card-handicap { display: flex; align-items: baseline; gap: 4px; color: var(--gm-muted); font-size: 11px; font-weight: 400; }
.player-directory-page .player-card-handicap strong { color: var(--gm-green); font-size: 12px; font-weight: 600; }
.player-directory-page .player-summary-card { position: relative; }
.player-directory-page .player-card-overlay { position: absolute; z-index: 1; inset: 0; border-radius: inherit; }
.player-directory-page .player-card-overlay:focus-visible { outline: 3px solid var(--gm-green); outline-offset: 3px; }
.player-directory-page .player-summary-card:has(.player-card-overlay):hover { border-color: #a8c9b3; box-shadow: 0 9px 22px rgba(15,23,42,.09); }
.player-directory-page .player-summary-card .player-actions { position: relative; z-index: 2; }
.player-profile-page .player-content-shell { max-width: 1100px; padding-top: 42px; }
.profile-identity { display: flex; align-items: center; gap: 16px; min-height: 124px; padding: 20px; border: 1px solid var(--gm-border); border-radius: 16px; background: #fff; box-shadow: 0 7px 20px rgba(15,23,42,.045); }
.profile-identity-avatar { display: grid; width: 82px; height: 82px; flex: 0 0 82px; place-items: center; overflow: hidden; border: 1px solid #d7e1da; border-radius: 50%; background: #f4f8f5; color: var(--gm-green); font-size: 22px; font-weight: 700; }
.profile-identity-avatar img { width: 100%; height: 100%; object-fit: cover; }
.profile-identity-main { min-width: 0; }
.profile-identity-name { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.profile-identity-name h1 { margin: 0; color: var(--gm-green); font-size: 19px; font-weight: 700; }
.profile-merit-stars { display: block; width: fit-content; margin: -7px 0 9px; color: #c99b26; font-size: 17px; line-height: 1; letter-spacing: 2px; }
.profile-nickname { padding: 5px 9px; border-radius: 999px; background: var(--gm-green); color: #fff; font-size: 10px; font-weight: 600; }
.profile-identity-meta { display: flex; gap: 8px; flex-wrap: wrap; }
.profile-identity-meta > span { padding: 6px 10px; border: 1px solid #d6e3da; border-radius: 999px; background: #f8fbf9; color: var(--gm-muted); font-size: 11px; }
.profile-identity-meta strong { color: var(--gm-ink); font-weight: 600; }
.profile-identity-meta > .profile-meta-victories { border-color: #e8d493; background: #fff7dc; color: #745109; }
.profile-identity-meta > .profile-meta-victories strong { color: inherit; }
.profile-performance { margin-top: 14px; }
.profile-year-filter { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-bottom: 13px; color: var(--gm-green); font-size: 11px; font-weight: 600; }
.profile-year-filter select { min-height: 34px; padding: 0 28px 0 10px; border: 1px solid var(--gm-border); border-radius: 10px; background: #fff; color: var(--gm-ink); font-size: 11px; }
.profile-kpi-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.profile-kpi { display: flex; min-width: 0; min-height: 90px; flex-direction: column; padding: 13px; border: 1px solid var(--gm-border); border-radius: 13px; background: #fff; box-shadow: 0 5px 13px rgba(15,23,42,.035); }
.profile-kpi > span { color: var(--gm-ink); font-size: 10px; font-weight: 600; line-height: 1.3; }
.profile-kpi > strong { margin: auto 0 3px; color: var(--gm-green); font-size: 20px; font-weight: 700; }
.profile-kpi > small { color: var(--gm-muted); font-size: 9px; line-height: 1.25; }
.profile-chart-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 15px; padding: 13px; border: 1px solid var(--gm-border); border-radius: 16px; background: #fff; }
.profile-chart-card { min-width: 0; min-height: 245px; padding: 14px; border: 1px solid var(--gm-border); border-radius: 13px; background: #fff; }
.profile-chart-card h2 { margin: 0 0 12px; color: var(--gm-green); font-size: 13px; font-weight: 600; }
.profile-chart-caption { margin: -8px 0 4px; color: var(--gm-muted); font-size: 10px; }
.profile-trend-bars { display: flex; min-height: 188px; align-items: flex-end; justify-content: space-around; gap: 6px; padding: 13px 4px 0; color: var(--gm-muted); font-size: 11px; }
.profile-trend-item { display: flex; width: min(10%, 28px); height: 170px; align-items: center; flex-direction: column; justify-content: flex-end; gap: 3px; }
.profile-trend-item strong { color: var(--gm-green); font-size: 9px; }
.profile-trend-item span { display: block; width: 100%; min-height: 6px; border-radius: 9px 9px 0 0; background: #c6d9d0; }
.profile-trend-item:last-child span { background: #77d39a; }
.profile-par-averages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.profile-par-averages > div { display: grid; gap: 3px; padding: 8px 4px; border: 1px solid var(--gm-border); border-radius: 10px; text-align: center; }
.profile-par-averages span { color: var(--gm-muted); font-size: 9px; }
.profile-par-averages strong { color: var(--gm-green); font-size: 15px; }
.profile-rate-pair { display: flex; justify-content: space-around; gap: 10px; margin-top: 16px; }
.profile-rate-ring { display: grid; width: min(45%, 120px); aspect-ratio: 1; place-items: center; border-radius: 50%; background: conic-gradient(#1db75c var(--rate), #e7eaf0 var(--rate) 100%); }
.profile-rate-ring.gir { background: conic-gradient(#5d9eef var(--rate), #e7eaf0 var(--rate) 100%); }
.profile-rate-ring > div { display: grid; width: 73%; aspect-ratio: 1; align-content: center; border-radius: 50%; background: #fff; text-align: center; }
.profile-rate-ring span { color: var(--gm-muted); font-size: 10px; }
.profile-rate-ring strong { color: var(--gm-green); font-size: 21px; }
.profile-distribution { display: flex; align-items: center; gap: 12px; min-height: 190px; }
.profile-distribution-ring { position: relative; width: 58%; max-width: 180px; flex: 0 0 auto; aspect-ratio: 1; border-radius: 50%; background: #e9edf1; }
.profile-distribution-ring::after { position: absolute; inset: 21.5%; border-radius: 50%; background: #fff; content: ""; }
.profile-distribution-percent { position: absolute; z-index: 1; transform: translate(-50%, -50%); color: #173a2b; font-size: 8px; font-weight: 600; white-space: nowrap; }
.profile-distribution-center { position: absolute; top: 50%; left: 50%; z-index: 1; display: grid; width: 55%; transform: translate(-50%, -50%); text-align: center; }
.profile-distribution-center span { color: var(--gm-muted); font-size: 8px; }
.profile-distribution-center strong { color: var(--gm-green); font-size: 19px; line-height: 1.2; }
.profile-distribution-legend { display: grid; min-width: 0; flex: 1; gap: 5px; }
.profile-distribution-legend > div { display: grid; grid-template-columns: 7px minmax(0, 1fr) auto; align-items: center; gap: 5px; color: var(--gm-muted); font-size: 8px; }
.profile-distribution-legend i { width: 7px; height: 7px; border-radius: 2px; }
.profile-distribution-legend strong { color: var(--gm-green); font-weight: 600; }
.profile-achievements { margin-top: 15px; padding: 16px; border: 1px solid var(--gm-border); border-radius: 16px; background: #fff; }
.profile-achievements h2 { margin: 0 0 12px; color: var(--gm-green); font-size: 14px; }
.profile-achievement-grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 10px; }
.profile-achievement { min-width: 0; min-height: 102px; padding: 9px; border: 1px solid var(--gm-border); border-radius: 12px; text-align: center; }
.profile-achievement summary { display: grid; min-height: 82px; place-items: center; align-content: center; gap: 6px; cursor: pointer; list-style: none; }
.profile-achievement summary::-webkit-details-marker { display: none; }
.profile-achievement summary:focus-visible { outline: 2px solid var(--gm-green); outline-offset: 3px; }
.profile-achievement img { width: 58px; height: 58px; object-fit: contain; }
.profile-achievement span { color: var(--gm-ink); font-size: 10px; line-height: 1.2; }
.profile-achievement.is-locked { opacity: .36; border-style: dashed; filter: grayscale(1); }
.profile-achievement[open] { opacity: 1; }
.profile-achievement-detail { display: block; margin-top: 5px; padding-top: 8px; border-top: 1px solid var(--gm-border); }
.statistics-page .player-content-shell { max-width: 1100px; }
.statistics-filters { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px; margin: 18px 0; }
.statistics-multi { position: relative; width: 170px; min-width: 0; color: var(--gm-green); font-size: 11px; font-weight: 600; }
.statistics-multi summary { display: grid; gap: 5px; cursor: pointer; list-style: none; }
.statistics-multi summary::-webkit-details-marker { display: none; }
.statistics-multi summary strong { display: flex; min-height: 38px; align-items: center; justify-content: space-between; gap: 6px; padding: 0 10px; overflow: hidden; border: 1px solid var(--gm-border); border-radius: 10px; background: #fff; color: var(--gm-ink); font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.statistics-multi summary strong::after { content: "⌄"; flex: 0 0 auto; color: var(--gm-green); }
.statistics-multi summary:focus-visible strong { outline: 2px solid var(--gm-green); outline-offset: 2px; }
.statistics-multi-options { position: absolute; z-index: 20; top: calc(100% + 4px); left: 0; box-sizing: border-box; width: max(100%, 210px); max-height: 240px; padding: 5px; overflow-y: auto; border: 1px solid var(--gm-border); border-radius: 11px; background: #fff; box-shadow: 0 12px 26px rgba(15,23,42,.14); }
.statistics-multi:last-child .statistics-multi-options { right: 0; left: auto; }
.statistics-multi-options label { display: flex; align-items: center; gap: 8px; padding: 8px; border-radius: 7px; color: var(--gm-ink); cursor: pointer; font-size: 11px; font-weight: 500; }
.statistics-multi-options label:hover { background: #f1f7f2; }
.statistics-multi-options input { accent-color: var(--gm-green); }
.statistics-comparison { padding: 16px; border: 1px solid var(--gm-border); border-radius: 15px; background: #fff; }
.statistics-comparison { margin-top: 15px; }
.statistics-comparison h2 { margin: 0 0 12px; color: var(--gm-green); font-size: 14px; }
.statistics-table-wrap { overflow-x: auto; }
.statistics-comparison table { width: 100%; border-collapse: collapse; white-space: nowrap; font-size: 11px; }
.statistics-comparison th, .statistics-comparison td { padding: 9px 10px; border-bottom: 1px solid var(--gm-border); text-align: left; }
.statistics-comparison thead th { color: var(--gm-green); background: #f7faf8; }
.statistics-comparison tbody th { color: var(--gm-ink); }
.statistics-comparison table:not(.statistics-score-table) thead th:not(:first-child), .statistics-comparison table:not(.statistics-score-table) tbody td, .statistics-comparison table:not(.statistics-score-table) tfoot td { text-align: center; }
.statistics-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.statistics-section-heading h2 { margin: 0; color: var(--gm-green); font-size: 16px; }
.statistics-section-heading > span { padding: 5px 9px; border: 1px solid #cfe2d4; border-radius: 999px; background: #f2faf4; color: var(--gm-green); font-size: 10px; }
.statistics-score-table { width: 100%; min-width: 0; table-layout: fixed; }
.statistics-score-table td, .statistics-score-table th { padding: 8px 3px; overflow: hidden; text-align: center !important; text-overflow: ellipsis; }
.statistics-score-table th:nth-child(1), .statistics-score-table td:nth-child(1) { width: 74px; }
.statistics-score-table th:nth-child(2), .statistics-score-table td:nth-child(2) { width: 130px; }
.statistics-score-table th:nth-child(3), .statistics-score-table td:nth-child(3) { width: 110px; }
.statistics-score-table th:nth-child(4), .statistics-score-table td:nth-child(4), .statistics-score-table th:nth-child(5), .statistics-score-table td:nth-child(5) { width: 43px; }
.statistics-score-table th:nth-child(24), .statistics-score-table td:nth-child(24), .statistics-score-table th:nth-child(25), .statistics-score-table td:nth-child(25) { width: 42px; }
.statistics-score-table td:nth-child(2), .statistics-score-table td:nth-child(3) { text-align: left !important; }
.statistics-comparison tfoot th, .statistics-comparison tfoot td { border-top: 2px solid #a8c9b3; background: #f0f7f2; color: var(--gm-green); font-weight: 700; }
.statistics-score-table tr.is-best-round td { box-shadow: inset 0 2px #b58a2d, inset 0 -2px #b58a2d; }
.statistics-score-table tr.is-best-round td:first-child { border-left: 2px solid #b58a2d; background: #fff2ca; font-weight: 700; }
.statistics-score-table tr.is-best-round td:last-child { border-right: 2px solid #b58a2d; }
.rankings-page .player-content-shell { max-width: 1100px; }
.rankings-toolbar { display: flex; margin: 18px 0; }
.rankings-toolbar label { display: grid; gap: 5px; min-width: 150px; color: var(--gm-green); font-size: 11px; font-weight: 600; }
.rankings-toolbar select { min-height: 38px; padding: 0 10px; border: 1px solid var(--gm-border); border-radius: 10px; background: #fff; color: var(--gm-ink); }
.rankings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.rankings-card { min-width: 0; padding: 16px; border: 1px solid var(--gm-border); border-radius: 15px; background: #fff; }
.rankings-card.is-merit { grid-column: 1 / -1; border-color: #ddc88e; background: linear-gradient(135deg, #fffdf7, #fff); }
.rankings-card.is-merit .rankings-card-heading h2 { color: #795917; font-size: 18px; }
.rankings-card.is-merit tbody tr:first-child { background: #fff5d8; }
.rankings-card .rankings-current-player { background: #f1f8f3; }
.rankings-card .rankings-own-position { border-top: 2px dashed #c8d7cd; }
.rankings-card .rankings-own-position td { padding-top: 13px; }
.rankings-card-heading h2 { margin: 0; color: var(--gm-green); font-size: 15px; }
.rankings-card-heading p { margin: 4px 0 13px; color: var(--gm-meta); font-size: 11px; }
.rankings-card table { width: 100%; border-collapse: collapse; font-size: 11px; }
.rankings-card th, .rankings-card td { padding: 9px 7px; border-bottom: 1px solid var(--gm-border); }
.rankings-card th { color: var(--gm-green); background: #f7faf8; text-align: left; }
.rankings-card th:nth-child(3), .rankings-card td:nth-child(3), .rankings-card th:nth-child(4), .rankings-card td:nth-child(4) { text-align: center; }
.rankings-card td:first-child { width: 32px; color: var(--gm-green); font-weight: 700; }
.rankings-card td a { color: var(--gm-ink); text-decoration: none; font-weight: 600; }
.rankings-card td a:hover { text-decoration: underline; }
.rankings-top-1 td:first-child { color: #a7760c; }
.rankings-top-2 td:first-child { color: #77838b; }
.rankings-top-3 td:first-child { color: #a16a45; }
.rankings-empty { color: var(--gm-meta); text-align: center; }
@media (max-width: 700px) { .rankings-grid { grid-template-columns: 1fr; } }
.mobile-menu nav > span { display: none; }
.news-feed, .home-news-feed, .admin-news-list { display: grid; gap: 12px; }
.news-card, .home-news-card, .admin-news-item { padding: 16px; border: 1px solid var(--gm-border); border-radius: 15px; background: #fff; color: var(--gm-ink); text-decoration: none; }
.news-card.has-image, .home-news-card.has-image { padding: 0; overflow: hidden; }
.news-card-content, .home-news-content { padding: 16px; }
.news-card:not(.has-image) .news-card-content, .home-news-card:not(.has-image) .home-news-content { padding: 0; }
.news-card-media, .home-news-media { position: relative; overflow: hidden; aspect-ratio: 16 / 7; background: var(--gm-soft); }
.news-card-media img, .home-news-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.news-card-badge, .home-news-media b { position: absolute; top: 12px; left: 12px; padding: 6px 10px; border-radius: 999px; background: var(--gm-green); color: #fff; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.news-card-media.is-achievement .news-card-badge, .home-news-media.is-achievement b { background: #d7aa20; color: #173724; }
.news-card-media.is-champion .news-card-badge, .home-news-media.is-champion b { background: #d7aa20; color: #173724; }
.news-card-media.is-cup_individual .news-card-badge, .home-news-media.is-cup_individual b,
.news-card-media.is-cup_team .news-card-badge, .home-news-media.is-cup_team b,
.news-card-media.is-merit .news-card-badge, .home-news-media.is-merit b { background: #d7aa20; color: #173724; }
.news-card-meta { display: flex; justify-content: space-between; gap: 10px; color: var(--gm-muted); font-size: 10px; }
.news-card-meta span { color: var(--gm-green); font-weight: 700; text-transform: uppercase; }
.news-card h2 { margin: 9px 0 6px; color: var(--gm-green); font-size: 18px; }
.news-card p { margin: 0; white-space: pre-wrap; line-height: 1.6; }
.home-news-feed { grid-template-columns: 1fr; gap: 9px; }
.home-news-card { min-width: 0; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.home-news-card:hover { border-color: #b8d0bf; box-shadow: 0 10px 24px rgba(23, 55, 36, .08); transform: translateY(-2px); }
.home-news-card.has-image { display: grid; grid-template-columns: 190px 1fr; height: 116px; min-height: 116px; }
.home-news-card .home-news-media { height: 116px; min-height: 116px; aspect-ratio: auto; }
.home-news-card .home-news-content { display: flex; flex-direction: column; justify-content: center; padding: 14px 18px; }
.home-news-card span { color: var(--gm-muted); font-size: 9px; }
.home-news-card strong { display: block; margin: 4px 0; color: var(--gm-green); font-size: 14px; line-height: 1.25; }
.home-news-card p { display: -webkit-box; overflow: hidden; margin: 0; color: var(--gm-muted); font-size: 11px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.admin-news-form { display: grid; gap: 14px; }
.admin-news-form > label, .admin-news-fields label { display: grid; gap: 6px; font-weight: 600; }
.admin-news-form > .admin-news-publish { display: inline-flex; width: fit-content; align-items: center; gap: 8px; cursor: pointer; }
.admin-news-publish input { width: 16px; height: 16px; margin: 0; accent-color: var(--gm-green); }
.admin-news-form input:not([type=checkbox]), .admin-news-form textarea, .admin-news-form select { box-sizing: border-box; width: 100%; padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font: inherit; }
.admin-news-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.admin-news-recipients { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.admin-news-recipients label { display: flex; gap: 7px; align-items: center; }
.admin-news-item { display: flex; justify-content: space-between; gap: 16px; }
.admin-news-item h3 { margin: 5px 0; }
.admin-news-item p { display: -webkit-box; overflow: hidden; margin: 0; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.admin-news-item > div:last-child { display: flex; align-items: center; gap: 8px; }
.news-automation-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.news-automation-item { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.news-automation-item span { display: grid; gap: 4px; }
.news-automation-item small { color: var(--muted); }
.news-automation-item input { width: 18px; height: 18px; accent-color: var(--gm-green); }
@media(max-width:620px){
  .home-news-feed,.admin-news-fields{grid-template-columns:1fr}
  .home-news-card.has-image { grid-template-columns: 104px 1fr; height: 96px; min-height: 96px; }
  .home-news-card .home-news-media { height: 96px; min-height: 96px; }
  .home-news-card .home-news-content { padding: 12px; }
  .home-news-card strong { margin: 3px 0; font-size: 12px; }
  .home-news-card p { font-size: 10px; -webkit-line-clamp: 2; }
  .admin-news-recipients{grid-template-columns:1fr 1fr}.admin-news-item{flex-direction:column}
}
@media (max-width: 900px) { .statistics-score-table { min-width: 960px; } }
@media (max-width: 620px) { .statistics-multi { width: calc(50% - 5px); } }
@media (max-width: 900px) { .profile-chart-grid { grid-template-columns: 1fr; } .profile-chart-card { min-height: 0; } }
@media (max-width: 900px) { .profile-achievement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .profile-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 620px) {
  .player-profile-page .player-content-shell { padding-top: 18px; }
  .profile-identity { align-items: center; gap: 14px; min-height: 0; padding: 15px; }
  .profile-identity-avatar { width: 88px; height: 88px; flex-basis: 88px; border-radius: 16px; font-size: 22px; }
  .profile-identity-name { gap: 6px; margin-bottom: 8px; }
  .profile-identity-name h1 { font-size: 17px; }
  .profile-nickname { padding: 4px 7px; }
  .profile-identity-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
  .profile-identity-meta > span { display: block; min-width: 0; padding: 6px 3px; border: 0; border-radius: 0; background: #165a36; color: #fff; font-size: clamp(8px, 2.3vw, 10px); line-height: 1.15; text-align: center; white-space: nowrap; }
  .profile-identity-meta > span strong { color: inherit; }
  .profile-identity-meta > .profile-meta-victories { background: #b58a2d; color: #fff; }
  .profile-performance { margin-top: 20px; }
  .profile-year-filter { margin-bottom: 16px; }
  .profile-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .profile-kpi { min-height: 82px; padding: 10px; box-shadow: none; }
  .profile-kpi > strong { font-size: 18px; }
  .profile-chart-grid { gap: 12px; padding: 12px; }
  .profile-chart-card { padding: 15px; }
  .profile-distribution { justify-content: space-around; }
}
/* Player home — personal dashboard */
.home-dashboard { display:grid; gap:18px; }
.home-player-hero { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:22px 32px; overflow:hidden; padding:28px 30px; border-radius:26px; background:linear-gradient(128deg,#0d472c 0%,#17643d 58%,#2d7950 100%); color:#fff; box-shadow:0 18px 42px rgba(12,65,39,.18); }
.home-player-hero::after { content:""; position:absolute; z-index:-1; right:-82px; bottom:-128px; width:310px; height:310px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 42px rgba(255,255,255,.035),0 0 0 88px rgba(255,255,255,.025); }
.home-hero-identity { display:flex; min-width:0; align-items:center; gap:18px; }
.home-hero-photo { display:grid; width:92px; height:92px; flex:0 0 auto; place-items:center; overflow:hidden; border:3px solid rgba(255,255,255,.72); border-radius:22px; background:rgba(255,255,255,.14); color:#fff; font-size:24px; font-weight:800; box-shadow:0 10px 28px rgba(0,0,0,.18); }
.home-hero-photo img { width:100%; height:100%; object-fit:cover; }
.home-hero-kicker { margin:0 0 5px; color:#d6b55a; font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.home-player-hero h1 { margin:0; color:#fff; font-size:clamp(25px,3vw,36px); line-height:1.05; letter-spacing:-.035em; }
.home-hero-message { max-width:480px; margin:9px 0 0; color:rgba(255,255,255,.78); font-size:13px; line-height:1.5; }
.home-level-card { grid-row:span 2; display:grid; min-width:170px; align-content:center; justify-items:center; padding:18px 22px; border:1px solid rgba(255,255,255,.18); border-radius:20px; background:rgba(255,255,255,.11); backdrop-filter:blur(8px); }
.home-level-card>span { color:rgba(255,255,255,.72); font-size:11px; font-weight:600; }
.home-level-card>strong { margin:2px 0; color:#fff; font-size:46px; line-height:1; letter-spacing:-.05em; }
.home-level-card>small { color:#f2d77f; font-size:10px; font-weight:700; text-align:center; }
.home-hero-actions { display:flex; align-items:center; gap:10px; padding-left:110px; }
.home-hcp-chip { display:flex; min-height:42px; align-items:center; gap:7px; padding:0 14px; border:1px solid rgba(255,255,255,.16); border-radius:13px; background:rgba(0,0,0,.1); }
.home-hcp-chip span { color:rgba(255,255,255,.7); font-size:11px; }
.home-hcp-chip strong { color:#fff; font-size:15px; }
.hcp-refresh-indicator { width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:#f2d77f; box-shadow:0 0 0 0 rgba(242,215,127,.65); animation:hcp-refresh-pulse 1.35s ease-out infinite; }
@keyframes hcp-refresh-pulse { 0% { box-shadow:0 0 0 0 rgba(242,215,127,.65); } 70% { box-shadow:0 0 0 6px rgba(242,215,127,0); } 100% { box-shadow:0 0 0 0 rgba(242,215,127,0); } }
.home-hcp-chip,.profile-meta-handicap { position:relative; }
.hcp-date-button { display:inline-flex; align-items:center; gap:7px; padding:0; border:0; background:none; color:inherit; font:inherit; cursor:help; }
.hcp-date-button:focus-visible { outline:2px solid currentColor; outline-offset:4px; border-radius:4px; }
.hcp-date-tooltip { position:absolute; z-index:12; left:0; bottom:calc(100% + 9px); width:max-content; max-width:min(280px, calc(100vw - 32px)); padding:9px 12px; border:1px solid #d6e3da; border-radius:10px; background:#fff; box-shadow:0 10px 25px rgba(12,48,31,.2); color:#143d2a; font-size:12px; font-weight:500; line-height:1.35; white-space:normal; text-align:left; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .15s ease; }
.hcp-date-button:hover + .hcp-date-tooltip,.hcp-date-button:focus-visible + .hcp-date-tooltip,.hcp-date-button.is-open + .hcp-date-tooltip { opacity:1; visibility:visible; }
.home-hcp-chip .hcp-date-tooltip { color:#143d2a; }
.home-play-cta { display:inline-flex; min-height:42px; align-items:center; gap:18px; padding:0 16px; border-radius:13px; background:#fff; color:#115534; font-size:12px; font-weight:800; box-shadow:0 8px 18px rgba(0,0,0,.12); }
.home-play-cta span { color:#c69d2f; font-size:18px; }
.home-stat-strip { display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; border:1px solid var(--gm-border); border-radius:18px; background:#fff; box-shadow:0 8px 22px rgba(23,34,27,.035); }
.home-stat-strip article { display:flex; min-height:78px; align-items:baseline; justify-content:center; gap:7px; padding:17px; border-right:1px solid var(--gm-border); }
.home-stat-strip article:last-child { border-right:0; }
.home-stat-strip span { color:var(--gm-muted); font-size:11px; }
.home-stat-strip strong { color:var(--gm-green); font-size:25px; }
.home-stat-strip small { color:var(--gm-muted); font-size:10px; }
.home-dashboard .player-dashboard-panel { margin-top:0; padding:21px 24px 16px; }
.home-chart-heading { align-items:end; }
.home-chart-heading>span { color:var(--gm-muted); font-size:10px; }
.home-round-chart { min-height:205px; padding:25px 12px 7px; gap:clamp(7px,2vw,18px); border-bottom-color:#dce4dd; background:repeating-linear-gradient(to top,transparent 0,transparent 48px,rgba(20,83,45,.055) 49px,transparent 50px); }
.home-round-chart .round-bar-column { position:relative; max-width:64px; text-decoration:none; transition:transform .16s ease; }
.home-round-chart .round-bar-column:hover { transform:translateY(-3px); }
.home-round-chart .round-bar-column strong { color:var(--gm-green); font-size:11px; }
.home-round-chart .round-bar-column span { color:var(--gm-muted); font-size:9px; text-transform:capitalize; white-space:nowrap; }
.home-round-chart .round-bar { width:min(100%,38px); border-radius:12px 12px 5px 5px; background:linear-gradient(180deg,#87cda6,#23754a); box-shadow:inset 0 1px rgba(255,255,255,.3); }
.home-round-chart .is-best .round-bar { background:linear-gradient(180deg,#f4d477,#c39829); }
.home-round-chart .is-best strong { color:#9b761c; }
.home-round-chart .is-latest .round-bar { outline:3px solid rgba(35,117,74,.12); outline-offset:2px; }
.home-chart-hint { margin:10px 0 0; color:var(--gm-muted); font-size:10px; text-align:right; }
.home-invitations:empty { display:none; }
.home-dashboard .news-section { margin-top:5px; }

@media (max-width:620px) {
  .home-dashboard { gap:13px; padding-top:14px; }
  .home-player-hero { grid-template-columns:1fr auto; gap:17px 12px; padding:20px 18px; border-radius:23px; }
  .home-hero-identity { align-items:flex-start; gap:13px; }
  .home-hero-photo { width:72px; height:82px; border-width:2px; border-radius:17px; }
  .home-hero-kicker { margin-top:3px; font-size:9px; }
  .home-player-hero h1 { font-size:23px; }
  .home-hero-message { margin-top:7px; font-size:11px; line-height:1.4; }
  .home-level-card { grid-row:auto; min-width:82px; padding:12px 9px; border-radius:17px; }
  .home-level-card>span { font-size:9px; }
  .home-level-card>strong { font-size:34px; }
  .home-level-card>small { max-width:80px; font-size:8px; line-height:1.25; }
  .home-hero-actions { grid-column:1/-1; justify-content:space-between; padding-left:0; }
  .home-hcp-chip,.home-play-cta { min-height:39px; }
  .home-hcp-chip { padding-inline:12px; }
  .home-play-cta { gap:12px; }
  .home-stat-strip { border-radius:16px; }
  .home-stat-strip article { min-height:67px; flex-direction:column; align-items:center; justify-content:center; gap:0; padding:10px 5px; }
  .home-stat-strip span { font-size:9px; }
  .home-stat-strip strong { font-size:21px; line-height:1.15; }
  .home-stat-strip small { font-size:8px; }
  .home-dashboard .player-dashboard-panel { padding:17px 13px 12px; border-radius:18px; }
  .home-chart-heading { margin-bottom:0; }
  .home-round-chart { min-height:176px; gap:4px; padding:22px 2px 6px; }
  .home-round-chart .round-bar-column strong { font-size:9px; }
  .home-round-chart .round-bar-column span { font-size:7px; }
  .home-round-chart .round-bar { width:min(100%,24px); }
  .home-chart-hint { display:none; }
.home-dashboard .news-section { margin-top:8px; }
}

/* Home navigation follows the shared player shell. */
.home-page .player-sticky-shell { box-shadow:0 5px 20px rgba(18,53,35,.045); }
.home-page .player-breadcrumb [aria-current="page"] { font-weight:700; }

/* Play: the home page's confident palette, with actions and pending rounds kept legible. */
.play-page .play-dashboard { display:grid; gap:22px; max-width:1040px; padding-top:22px; }
.play-page .play-intro { position:relative; isolation:isolate; overflow:hidden; padding:25px 28px; border-radius:23px; background:linear-gradient(120deg,#0d472c,#17643d 65%,#28774d); color:#fff; box-shadow:0 13px 29px rgba(12,65,39,.12); }
.play-page .play-intro::after { content:""; position:absolute; z-index:-1; right:-54px; bottom:-148px; width:250px; height:250px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 36px rgba(255,255,255,.035),0 0 0 72px rgba(255,255,255,.02); }
.play-page .play-intro .eyebrow { margin:0 0 7px; color:#e6c767; font-size:10px; letter-spacing:.15em; }
.play-page .play-intro h1 { margin:0 0 7px; color:#fff; font-size:clamp(23px,3vw,31px); line-height:1.12; letter-spacing:-.035em; }
.play-page .play-intro > p:last-child { position:relative; margin:0; color:#e7f3eb; font-size:12px; line-height:1.5; }
.play-page .play-section-heading { margin-bottom:10px; }
.play-page .play-section-heading .eyebrow { margin-bottom:3px; color:#2d7148; font-size:9px; }
.play-page .play-section-heading h2 { margin:0; color:var(--gm-ink); font-size:19px; letter-spacing:-.025em; }
.play-page .play-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.play-page .play-card { display:flex; min-width:0; min-height:0; flex-direction:column; gap:13px; padding:20px; border:1px solid #dce6df; border-radius:20px; background:#fff; box-shadow:0 7px 22px rgba(23,34,27,.045); }
.play-page .play-card.is-live:hover { transform:translateY(-2px); box-shadow:0 11px 25px rgba(23,34,27,.08); }
.play-page .play-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.play-page .play-card-mark { display:grid; width:40px; height:40px; flex:0 0 40px; place-items:center; border-radius:12px; background:#e9f3ec; color:#17643d; font-size:13px; font-weight:800; letter-spacing:-.02em; }
.play-page .card-friendly .play-card-mark { background:#fbf3dd; color:#8e6a18; }
.play-page .card-league .play-card-mark,.play-page .card-cup .play-card-mark { background:#f1f4ef; color:#44634c; }
.play-page .play-card .pill { margin:0; color:#557265; font-size:9px; letter-spacing:.11em; }
.play-page .play-card .card-copy { flex:0 0 auto; }
.play-page .play-card .card-copy h3 { margin:0 0 5px; color:#153e2b; font-size:18px; font-weight:750; line-height:1.2; letter-spacing:-.025em; }
.play-page .play-card .card-copy p { margin:0; color:#556e61; font-size:12px; line-height:1.5; }
.play-page .play-quick-action { display:inline-flex; width:fit-content; min-height:40px; align-items:center; gap:18px; padding:0 15px; border:0; border-radius:12px; background:#145b38; color:#fff; font-size:12px; font-weight:750; text-decoration:none; box-shadow:0 5px 12px rgba(20,91,56,.12); }
.play-page .play-quick-action span { color:#eacb6d; font-size:17px; line-height:1; }
.play-page .play-quick-action:hover { background:#0e472c; }
.play-page .play-quick-action:focus-visible { outline:3px solid #e0be5a; outline-offset:3px; }
.play-page .play-round-list { gap:7px; margin-top:2px; padding-top:13px; border-top:1px solid #e9eee9; }
.play-page .play-round-list:has(> .play-round-chip)::before { content:"PREPARADAS PARA JUGAR"; color:#63766a; font-size:9px; font-weight:800; letter-spacing:.1em; }
.play-page .play-round-empty { color:#718176; font-size:11px; line-height:1.45; }
.play-page .play-round-chip { display:block; padding:10px 11px; border:1px solid #dfebe2; border-radius:11px; background:#f8fbf9; color:#174e32; font-size:11px; font-weight:650; line-height:1.5; text-decoration:none; }
.play-page a.play-round-chip:hover,.play-page .friendly-round-main:hover { background:#edf6ef; }
.play-page .play-round-chip small { margin-top:3px; color:#667a6c; font-size:10px; line-height:1.4; }
.play-page .friendly-round-item { display:block; }
.play-page .friendly-round-actions { align-items:center; }
.play-page .friendly-player-status { font-size:10px; }
.play-page .metrics { margin-top:13px; }
.play-page .metrics span { font-size:10px; }
.play-page .play-competition-section { padding-top:2px; }
@media (max-width:720px) {
  .play-page .play-grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .play-page .play-dashboard { gap:18px; padding-top:15px; }
  .play-page .play-intro { padding:22px 19px; border-radius:21px; }
  .play-page .play-intro h1 { font-size:25px; }
  .play-page .play-section-heading h2 { font-size:18px; }
  .play-page .play-card { gap:12px; padding:17px; border-radius:18px; }
  .play-page .play-quick-action { min-height:42px; }
}

/* New round: refresh the framing and actions without changing the form layout. */
.new-round-page .directory-heading { position:relative; isolation:isolate; overflow:hidden; margin-bottom:17px; padding:21px 24px; border-radius:21px; background:linear-gradient(120deg,#0d472c,#17643d 68%,#28774d); box-shadow:0 12px 27px rgba(12,65,39,.12); }
.new-round-page .directory-heading::after { content:""; position:absolute; z-index:-1; right:-55px; bottom:-154px; width:245px; height:245px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.02); }
.new-round-page .directory-heading h1 { margin:0 0 5px; color:#fff; font-size:clamp(22px,2.8vw,28px); font-weight:750; letter-spacing:-.035em; line-height:1.15; text-transform:none; }
.new-round-page .directory-heading p { position:relative; color:#e7f3eb; font-size:12px; line-height:1.45; }
.new-round-page .new-round-card .form-actions { gap:10px; }
.new-round-page .new-round-card .form-actions .button-link,.new-round-page .new-round-card .form-actions #createRoundButton { min-width:128px; min-height:44px; padding:0 17px; border-radius:12px; font-size:12px; font-weight:750; letter-spacing:0; text-decoration:none; }
.new-round-page .new-round-card .form-actions .button-link { border:1px solid #d4e2d8; background:#fff; color:#174e32; }
.new-round-page .new-round-card .form-actions .button-link:hover { background:#f0f7f2; }
.new-round-page .new-round-card .form-actions #createRoundButton { border:1px solid #145b38; background:#145b38; color:#fff; box-shadow:0 5px 12px rgba(20,91,56,.12); }
.new-round-page .new-round-card .form-actions #createRoundButton:hover { background:#0e472c; }
.new-round-page #addParticipantButton { border:1px solid #bcd6c4; border-radius:11px; background:#edf6ef; color:#145b38; font-size:12px; font-weight:700; }
.new-round-page #addParticipantButton:hover:not(:disabled) { background:#dceee1; }
.new-round-page #addParticipantButton:disabled { opacity:.55; cursor:not-allowed; }
.new-round-page .round-participant button { font-size:11px; }
.new-round-page .new-round-card .form-actions :is(a,button):focus-visible,.new-round-page #addParticipantButton:focus-visible { outline:3px solid #d7b856; outline-offset:3px; }
@media (max-width:620px) {
  .new-round-page .directory-heading { padding:19px 17px; border-radius:19px; }
  .new-round-page .directory-heading h1 { font-size:24px; }
}
@media (max-width:420px) {
  .new-round-page .new-round-card .form-actions .button-link,.new-round-page .new-round-card .form-actions #createRoundButton { min-width:0; }
}

/* Players: the same restrained green framing, with readable cards and search. */
.player-directory-page .directory-heading { position:relative; isolation:isolate; overflow:hidden; margin-bottom:17px; padding:21px 24px; border-radius:21px; background:linear-gradient(120deg,#0d472c,#17643d 68%,#28774d); box-shadow:0 12px 27px rgba(12,65,39,.12); }
.player-directory-page .directory-heading::after { content:""; position:absolute; z-index:-1; right:-55px; bottom:-154px; width:245px; height:245px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.02); }
.player-directory-page .directory-heading h1 { margin:0 0 5px; color:#fff; font-size:clamp(22px,2.8vw,28px); font-weight:750; letter-spacing:-.035em; line-height:1.15; text-transform:none; }
.player-directory-page .directory-heading p { position:relative; color:#e7f3eb; font-size:12px; line-height:1.45; }
.player-directory-page .player-search-panel { margin-bottom:23px; border-color:#dce6df; border-radius:18px; box-shadow:0 6px 19px rgba(23,34,27,.035); }
.player-directory-page .player-search-panel label { color:#174e32; font-size:12px; }
.player-directory-page .player-search-panel input { min-width:0; min-height:44px; border-color:#dce6df; border-radius:11px; color:#173f2d; font-size:13px; }
.player-directory-page .player-search-panel input:focus-visible { outline:2px solid #28774d; outline-offset:2px; }
.player-directory-page .section-block { margin-top:23px; }
.player-directory-page .player-summary-card { min-height:220px; border-color:#dce6df; border-radius:19px; box-shadow:0 7px 22px rgba(23,34,27,.045); }
.player-directory-page .player-avatar { width:90px; height:90px; border-color:#b8d9c3; background:#edf6ef; color:#145b38; }
.player-directory-page .player-avatar.small { width:42px; height:42px; }
.player-directory-page .player-card-copy h3 { color:#153e2b; }
.player-directory-page .player-card-copy .player-card-handicap strong { color:#145b38; font-weight:750; }
.player-directory-page .player-actions .secondary { border:1px solid #bcd6c4; border-radius:11px; background:#edf6ef; color:#145b38; font-size:12px; font-weight:700; }
.player-directory-page .player-actions .secondary:hover { background:#dceee1; }
.player-directory-page .settings-form .primary,.player-directory-page .inline-actions .primary { border-radius:11px; background:#145b38; color:#fff; }
.player-directory-page .settings-form .primary:hover,.player-directory-page .inline-actions .primary:hover { background:#0e472c; }
.player-directory-page .settings-form .secondary,.player-directory-page .inline-actions .secondary { border:1px solid #d4e2d8; border-radius:11px; background:#fff; color:#174e32; }
.player-directory-page .settings-form .secondary:hover,.player-directory-page .inline-actions .secondary:hover { background:#f0f7f2; }
@media (max-width:620px) {
  .player-directory-page .directory-heading { padding:19px 17px; border-radius:19px; }
  .player-directory-page .directory-heading h1 { font-size:24px; }
  .player-directory-page .player-search-panel { flex-direction:column; align-items:stretch; gap:8px; padding:14px; }
  .player-directory-page .player-summary-card { min-height:126px; }
  .player-directory-page .player-avatar { width:70px; height:70px; }
  .player-directory-page .player-card-copy h3 { font-size:15px; }
}

/* Player detail: room for merit titles and a calmer chart language. */
.player-profile-page .player-content-shell { max-width:1160px; padding-top:27px; }
.player-profile-page .profile-identity { position:relative; overflow:hidden; min-height:132px; padding:22px 24px; border-color:#d4e3d8; border-radius:21px; background:linear-gradient(90deg,#c9a54b,#dce8d7 68%,transparent) top/100% 3px no-repeat,linear-gradient(110deg,#fff 64%,#f6faf7); box-shadow:0 11px 29px rgba(21,64,40,.07); }
.player-profile-page .profile-identity::before { content:none; }
.player-profile-page .profile-identity-name { margin-bottom:8px; }
.player-profile-page .profile-identity-name h1 { color:#153e2b; font-size:21px; letter-spacing:-.025em; }
.player-profile-page .profile-merit-stars { max-width:100%; margin:0 0 11px; color:#ba8b22; font-size:18px; font-weight:700; line-height:1.35; letter-spacing:3px; overflow-wrap:anywhere; }
.player-profile-page .profile-identity-meta > span { border-color:#d9e7dc; background:#f8fbf9; }
.player-profile-page .profile-identity-meta > .profile-meta-victories { border-color:#e8d493; background:#fff7dc; }
.player-profile-page .profile-kpi { border-color:#dce6df; border-radius:15px; box-shadow:0 6px 17px rgba(21,64,40,.035); }
.player-profile-page .profile-kpi > strong { color:#145b38; }
.player-profile-page .profile-kpi:has([data-profile-stat="average_play_level"]) { border-color:#cbded0; background:#f7fbf8; }
.player-profile-page .profile-kpi:has([data-profile-stat="best_gross"]) { border-color:#ead9a7; background:#fffcf4; }
.player-profile-page .profile-kpi:has([data-profile-stat="best_gross"]) > strong { color:#8d6618; }
.player-profile-page .profile-chart-grid { gap:14px; margin-top:18px; padding:0; border:0; background:transparent; }
.player-profile-page .profile-chart-card { min-height:260px; padding:18px; border:1px solid #dce6df; border-radius:19px; background:#fff; box-shadow:0 8px 23px rgba(21,64,40,.045); }
.player-profile-page .profile-chart-card h2 { margin:0 0 14px; padding-left:10px; border-left:3px solid #c9a54b; color:#153e2b; font-size:14px; font-weight:700; line-height:1.3; }
.player-profile-page .profile-chart-caption { margin:-8px 0 7px 13px; color:#657b6d; font-size:10px; }
.player-profile-page .profile-trend-bars { min-height:190px; border-bottom:1px solid #dce8df; background:repeating-linear-gradient(to top,transparent 0,transparent 47px,rgba(20,83,45,.045) 48px,transparent 49px); }
.player-profile-page .profile-trend-item strong { color:#174e32; font-size:10px; }
.player-profile-page .profile-trend-item span { background:linear-gradient(180deg,#b9d9c7,#6aa883); }
.player-profile-page .profile-trend-item.is-best span { background:linear-gradient(180deg,#f3d779,#c49b37); }
.player-profile-page .profile-trend-item.is-best strong { color:#866315; }
.player-profile-page .profile-trend-item.is-latest span { background:linear-gradient(180deg,#8acda3,#23754a); outline:2px solid rgba(20,91,56,.16); outline-offset:2px; }
.player-profile-page .profile-trend-item.is-best.is-latest span { background:linear-gradient(180deg,#f3d779,#c49b37); }
.player-profile-page .profile-par-averages > div { border-color:#dce6df; border-radius:12px; background:#f9fcfa; }
.player-profile-page .profile-par-averages strong { color:#145b38; }
.player-profile-page .profile-rate-ring { background:conic-gradient(#23a45e var(--rate),#e8edf0 var(--rate) 100%); }
.player-profile-page .profile-rate-ring.gir { background:conic-gradient(#4c8fdf var(--rate),#e8edf0 var(--rate) 100%); }
.player-profile-page .profile-rate-ring strong { color:#145b38; }
.player-profile-page .profile-distribution-legend { gap:7px; }
.player-profile-page .profile-distribution-legend > div { gap:6px; color:#516d5c; font-size:10px; line-height:1.25; }
.player-profile-page .profile-distribution-legend strong { color:#153e2b; font-weight:700; }
.player-profile-page .profile-distribution-percent { color:#153e2b; font-size:8px; font-weight:700; }
.player-profile-page .profile-distribution-center span { font-size:9px; }
.player-profile-page .profile-distribution-center strong { color:#145b38; }
@media (max-width:620px) {
  .player-profile-page .player-content-shell { padding:17px 10px 55px; }
  .player-profile-page .profile-identity { gap:12px; min-height:0; padding:16px 14px; border-radius:19px; }
  .player-profile-page .profile-identity-avatar { width:84px; height:84px; flex-basis:84px; }
  .player-profile-page .profile-identity-name h1 { font-size:18px; }
  .player-profile-page .profile-merit-stars { margin:0 0 10px; font-size:17px; line-height:1.4; letter-spacing:3px; }
  .player-profile-page .profile-identity-meta > span { border:0; border-radius:0; background:#165a36; color:#fff; }
  .player-profile-page .profile-identity-meta > .profile-meta-victories { border:0; background:#b58a2d; color:#fff; }
  .player-profile-page .profile-chart-grid { gap:13px; padding:0; }
  .player-profile-page .profile-chart-card { min-height:0; padding:16px; }
  .player-profile-page .profile-distribution { gap:10px; }
  .player-profile-page .profile-distribution-ring { width:54%; }
}

/* Rounds directory: one clear hero action, quiet filters, unchanged round cards. */
.rounds-directory-page .directory-heading { position:relative; isolation:isolate; overflow:hidden; align-items:center; margin-bottom:17px; padding:22px 24px; border-radius:21px; background:linear-gradient(120deg,#0d472c,#17643d 68%,#28774d); box-shadow:0 12px 27px rgba(12,65,39,.12); }
.rounds-directory-page .directory-heading::after { content:""; position:absolute; z-index:-1; right:-55px; bottom:-154px; width:245px; height:245px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.02); pointer-events:none; }
.rounds-directory-page .directory-heading h1 { margin:0 0 5px; color:#fff; font-size:clamp(22px,2.8vw,28px); font-weight:750; letter-spacing:-.035em; line-height:1.15; text-transform:none; }
.rounds-directory-page .directory-heading p { color:#e7f3eb; font-size:12px; line-height:1.45; }
.rounds-directory-page .directory-heading-actions .button-link { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:11px 17px; border:1px solid #fff; border-radius:12px; background:#fff; color:#12452c; font-size:12px; font-weight:750; letter-spacing:0; box-shadow:0 5px 16px rgba(5,38,22,.12); }
.rounds-directory-page .directory-heading-actions .button-link::after { content:"→"; margin-left:13px; font-size:16px; font-weight:400; line-height:0; }
.rounds-directory-page .directory-heading-actions .button-link:hover { border-color:#e4f1e7; background:#e4f1e7; }
.rounds-directory-page .directory-heading-actions .button-link:focus-visible { outline:3px solid #e8c461; outline-offset:3px; }
.rounds-directory-page .round-filters { gap:12px; margin-bottom:22px; padding:16px; border-color:#dce6df; border-radius:18px; box-shadow:0 6px 19px rgba(23,34,27,.035); }
.rounds-directory-page .round-filters label { gap:7px; color:#174e32; font-size:12px; font-weight:650; }
.rounds-directory-page .round-filters select { min-height:44px; border-color:#dce6df; border-radius:11px; color:#173f2d; font-size:12px; }
.rounds-directory-page .round-filters select:focus-visible { outline:2px solid #28774d; outline-offset:2px; }
.rounds-directory-page .round-clear-filters { min-height:44px; margin-left:auto; padding:0 8px; color:#276448; font-size:12px; font-weight:650; }
.rounds-directory-page .round-clear-filters:hover { text-decoration:underline; }
@media (max-width:620px) {
  .rounds-directory-page .directory-heading { display:grid; gap:18px; padding:19px 17px; border-radius:19px; }
  .rounds-directory-page .directory-heading h1 { font-size:24px; }
  .rounds-directory-page .directory-heading-actions .button-link { justify-self:start; min-height:42px; padding:10px 15px; }
  .rounds-directory-page .round-filters { gap:12px; padding:14px; }
  .rounds-directory-page .round-filters label { font-size:11px; }
  .rounds-directory-page .round-clear-filters { grid-column:2; justify-self:end; margin-left:0; }
}
@media (max-width:360px) {
  .rounds-directory-page .round-filters { grid-template-columns:1fr; }
  .rounds-directory-page .round-clear-filters { grid-column:1; }
}

/* Player course directory: consistent framing and more breathing room in each tile. */
.course-directory-page .directory-heading { position:relative; isolation:isolate; overflow:hidden; margin-bottom:17px; padding:21px 24px; border-radius:21px; background:linear-gradient(120deg,#0d472c,#17643d 68%,#28774d); box-shadow:0 12px 27px rgba(12,65,39,.12); }
.course-directory-page .directory-heading::after { content:""; position:absolute; z-index:-1; right:-55px; bottom:-154px; width:245px; height:245px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.02); }
.course-directory-page .directory-heading h1 { margin:0 0 5px; color:#fff; font-size:clamp(22px,2.8vw,28px); font-weight:750; letter-spacing:-.035em; line-height:1.15; text-transform:none; }
.course-directory-page .directory-heading p { position:relative; color:#e7f3eb; font-size:12px; line-height:1.45; }
.course-directory-page .course-city-filter { margin-bottom:18px; border-color:#dce6df; border-radius:18px; box-shadow:0 6px 19px rgba(23,34,27,.035); }
.course-directory-page .course-city-filter label { color:#174e32; font-size:12px; }
.course-directory-page .course-city-filter select { min-height:44px; border-color:#dce6df; border-radius:11px; color:#173f2d; font-size:12px; }
.course-directory-page .course-city-filter select:focus-visible { outline:2px solid #28774d; outline-offset:2px; }
.course-directory-page .course-directory-card { min-height:205px; border-color:#dce6df; border-radius:19px; box-shadow:0 7px 22px rgba(23,34,27,.045); text-decoration:none; }
.course-directory-page .course-directory-card:hover { border-color:#a9cdb3; box-shadow:0 11px 25px rgba(23,34,27,.075); }
.course-directory-page .course-directory-card:focus-visible { outline:3px solid #28774d; outline-offset:3px; }
.course-directory-page .course-directory-card img,.course-directory-page .course-directory-card .catalog-logo-placeholder { width:84px; height:84px; border-color:#c5dccb; }
.course-directory-page .course-directory-card h2 { color:#153e2b; font-size:15px; font-weight:700; line-height:1.3; }
.course-directory-page .course-directory-card p { color:#607569; font-size:12px; line-height:1.35; }
.course-directory-page .course-directory-card .card-action { color:#145b38; font-size:11px; font-weight:700; white-space:nowrap; }
@media (max-width:620px) {
  .course-directory-page .directory-heading { padding:19px 17px; border-radius:19px; }
  .course-directory-page .directory-heading h1 { font-size:24px; }
  .course-directory-page .course-city-filter { gap:10px; padding:14px; }
  .course-directory-page .course-city-filter label { font-size:11px; }
  .course-directory-page .course-directory-card { min-height:112px; gap:12px; padding:13px; }
  .course-directory-page .course-directory-card img,.course-directory-page .course-directory-card .catalog-logo-placeholder { width:64px; height:64px; }
  .course-directory-page .course-directory-card h2 { margin-bottom:4px; font-size:14px; line-height:1.3; }
  .course-directory-page .course-directory-card .card-action { font-size:10px; }
}

/* Course detail: course and selectors read as one unit; print is optional. */
.course-detail-page .player-content-shell { padding-top:24px; }
.course-detail-page .course-brand-card { gap:18px; min-height:125px; margin:0; padding:20px 24px; border-color:#d5e4da; border-bottom:0; border-radius:21px 21px 0 0; box-shadow:none; }
.course-detail-page .course-logo-frame { width:104px; flex-basis:104px; }
.course-detail-page .course-logo-preview,.course-detail-page .course-logo-frame .catalog-logo-placeholder { width:88px; height:88px; }
.course-detail-page .course-brand-copy { min-width:0; }
.course-detail-page .course-brand-copy h1 { margin:0 0 5px; color:#153e2b; font-size:clamp(19px,2.4vw,24px); font-weight:750; letter-spacing:-.03em; line-height:1.2; }
.course-detail-page .course-brand-copy .subtitle { color:#607569; font-size:12px; }
.course-detail-page .course-selected-facts { gap:8px; width:min(485px,100%); }
.course-detail-page .course-selected-facts div { padding:8px 10px; border:1px solid #e3ece5; border-radius:10px; background:#f8fbf9; }
.course-detail-page .course-selected-facts dt { margin-bottom:3px; color:#61786a; font-size:9px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.course-detail-page .course-selected-facts dd { color:#174e32; font-size:12px; font-weight:750; }
.course-detail-page .course-selection-panel { grid-template-columns:repeat(2,minmax(0,260px)); gap:13px; margin:0; padding:15px 24px; border-color:#d5e4da; border-radius:0 0 21px 21px; background:#f7faf8; box-shadow:0 10px 28px rgba(21,64,40,.06); }
.course-detail-page .course-selection-panel label { color:#174e32; font-size:11px; }
.course-detail-page .course-selection-panel select { border-color:#d6e4d9; font-size:12px; }
.course-detail-page .course-selection-panel select:focus-visible { outline:2px solid #28774d; outline-offset:2px; }
.course-detail-page .course-layouts-section { margin-top:16px; padding:18px; border-color:#dce6df; border-radius:19px; box-shadow:0 8px 23px rgba(21,64,40,.045); }
.course-detail-page .course-layouts-section .section-heading { margin-bottom:10px; padding:0 0 10px; border-bottom:1px solid #e9eee9; }
.course-detail-page .course-layouts-section .section-heading .eyebrow { display:none; }
.course-detail-page .course-layouts-section .section-heading h2 { margin:0; color:#153e2b; font-size:17px; font-weight:700; }
.course-detail-page .catalog-layout-detail .table-wrap { margin-top:0; }
.course-detail-page .print-builder-section { margin-top:16px; padding:0; overflow:hidden; border-color:#dce6df; border-radius:19px; box-shadow:0 8px 23px rgba(21,64,40,.045); }
.course-detail-page .print-builder-toggle { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:17px 20px; cursor:pointer; list-style:none; }
.course-detail-page .print-builder-toggle::-webkit-details-marker { display:none; }
.course-detail-page .print-builder-toggle:focus-visible { outline:3px solid #28774d; outline-offset:-3px; border-radius:19px; }
.course-detail-page .print-builder-toggle > span:first-child { display:grid; gap:4px; }
.course-detail-page .print-builder-toggle strong { color:#153e2b; font-size:16px; font-weight:700; }
.course-detail-page .print-builder-toggle small { color:#607569; font-size:11px; line-height:1.4; }
.course-detail-page .print-toggle-icon { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border:1px solid #d6e4d9; border-radius:10px; background:#f5faf6; color:#145b38; font-size:18px; transition:transform .18s ease; }
.course-detail-page .print-builder-section[open] .print-toggle-icon { transform:rotate(180deg); }
.course-detail-page .print-builder-content { padding:14px 20px 20px; border-top:1px solid #e9eee9; }
.course-detail-page .print-builder-heading { margin-bottom:14px; }
.course-detail-page .print-builder-heading p { color:#607569; font-size:11px; }
.course-detail-page .print-builder-heading .primary,.course-detail-page #addPrintPlayer { border-radius:11px; background:#145b38; color:#fff; font-size:12px; }
.course-detail-page .print-builder-heading .primary:hover:not(:disabled),.course-detail-page #addPrintPlayer:hover:not(:disabled) { background:#0e472c; }
.course-detail-page .print-builder-heading .primary:disabled,.course-detail-page #addPrintPlayer:disabled { opacity:.5; cursor:not-allowed; }
@media (max-width:620px) {
  .course-detail-page .player-content-shell { padding:16px 12px 55px; }
  .course-detail-page .course-brand-card { align-items:center; gap:11px; min-height:0; padding:16px 14px; border-radius:19px 19px 0 0; }
  .course-detail-page .course-logo-frame { width:66px; flex-basis:66px; }
  .course-detail-page .course-logo-preview,.course-detail-page .course-logo-frame .catalog-logo-placeholder { width:62px; height:62px; }
  .course-detail-page .course-brand-copy h1 { font-size:18px; }
  .course-detail-page .course-selected-facts { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding-top:13px; }
  .course-detail-page .course-selected-facts div { padding:7px 6px; }
  .course-detail-page .course-selected-facts dd { font-size:11px; }
  .course-detail-page .course-selection-panel { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:13px 14px; border-radius:0 0 19px 19px; }
  .course-detail-page .course-layouts-section { padding:15px 10px; }
  .course-detail-page .print-builder-toggle { padding:15px; }
  .course-detail-page .print-builder-content { padding:13px 14px 15px; }
}
@media print {
  .course-detail-page .print-builder-toggle { display:none !important; }
  .course-detail-page .print-builder-content { padding:0; border:0; }
}

/* League directory: the creation action belongs to the hero; each league is one link. */
.leagues-directory-page .directory-heading { position:relative; isolation:isolate; overflow:hidden; align-items:center; margin-bottom:17px; padding:22px 24px; border-radius:21px; background:linear-gradient(120deg,#0d472c,#17643d 68%,#28774d); box-shadow:0 12px 27px rgba(12,65,39,.12); }
.leagues-directory-page .directory-heading::after { content:""; position:absolute; z-index:-1; right:-55px; bottom:-154px; width:245px; height:245px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.02); pointer-events:none; }
.leagues-directory-page .directory-heading h1 { margin:0 0 5px; color:#fff; font-size:clamp(22px,2.8vw,28px); font-weight:750; letter-spacing:-.035em; line-height:1.15; text-transform:none; }
.leagues-directory-page .directory-heading p { color:#e7f3eb; font-size:12px; line-height:1.45; }
.leagues-directory-page #showCreateLeague { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:11px 17px; border:1px solid #fff; border-radius:12px; background:#fff; color:#12452c; font-size:12px; font-weight:750; letter-spacing:0; box-shadow:0 5px 16px rgba(5,38,22,.12); }
.leagues-directory-page #showCreateLeague::after { content:"→"; margin-left:13px; font-size:16px; font-weight:400; line-height:0; }
.leagues-directory-page #showCreateLeague:hover { border-color:#e4f1e7; background:#e4f1e7; }
.leagues-directory-page #showCreateLeague:focus-visible,.leagues-directory-page a.league-summary-card:focus-visible { outline:3px solid #28774d; outline-offset:3px; }
.leagues-directory-page #showCreateLeague:focus-visible { outline-color:#e8c461; }
@media (max-width:720px) {
  .leagues-directory-page .directory-heading { display:grid; gap:18px; padding:19px 17px; border-radius:19px; }
  .leagues-directory-page .directory-heading h1 { font-size:24px; }
  .leagues-directory-page #showCreateLeague { justify-self:start; min-height:42px; padding:10px 15px; }
}

/* A subtle green tint distinguishes table headings without changing score colours. */
 .round-detail-page .standings-table thead th,
 .round-detail-page .round-summary-table thead th:first-child,
 .round-detail-page .score-detail-table th:first-child,
.round-detail-page .round-player-averages .averages-label { background:#f4f8f5; color:#174e32; }

/* Round detail: the course leads; the winner is a restrained gold accent. */
.round-detail-page .round-detail-heading { position:relative; isolation:isolate; overflow:hidden; min-height:128px; margin-bottom:17px; padding:22px 24px; border-radius:21px; background:linear-gradient(120deg,#0d472c,#17643d 68%,#28774d); box-shadow:0 12px 27px rgba(12,65,39,.12); }
.round-detail-page .round-detail-heading::after { content:""; position:absolute; z-index:-1; right:-55px; bottom:-154px; width:245px; height:245px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.02); pointer-events:none; }
.round-detail-page .round-detail-heading > div:first-child { min-width:0; }
.round-detail-page .round-detail-heading .eyebrow { margin:0 0 7px; color:#f4d77d; font-size:10px; font-weight:750; letter-spacing:.1em; }
.round-detail-page .round-detail-heading h1 { margin:0 0 7px; color:#fff; font-size:clamp(22px,2.8vw,28px); font-weight:750; letter-spacing:-.035em; line-height:1.15; text-transform:none; }
.round-detail-page .round-detail-heading > div:first-child > p:last-child { color:#e7f3eb; font-size:12px; line-height:1.45; }
.round-detail-page .round-winner { max-width:310px; min-width:0; padding:11px 13px; border:1px solid rgba(244,215,125,.72); border-radius:13px; background:rgba(10,57,36,.45); color:#fff; box-shadow:0 4px 13px rgba(5,38,22,.11); }
.round-detail-page .round-winner > span:first-child { font-size:20px; }
.round-detail-page .round-winner > span:last-child { min-width:0; grid-template-columns:minmax(0,1fr); gap:2px; }
.round-detail-page .round-winner small { color:#f4d77d; font-size:9px; }
.round-detail-page .round-winner strong { color:#fff; font-size:12px; }
.round-detail-page .round-winner em { color:#e7f3eb; font-size:10px; }
@media (max-width:620px) {
  .round-detail-page .round-detail-heading { min-height:0; gap:16px; padding:19px 17px; border-radius:19px; }
  .round-detail-page .round-detail-heading h1 { font-size:24px; line-height:1.2; }
  .round-detail-page .round-winner { width:100%; max-width:none; }
}

/* League detail: coherent hero, readable player analysis and quieter challenge cards. */
.league-results-page .league-results-heading { position:relative; isolation:isolate; overflow:hidden; align-items:center; min-height:128px; margin-bottom:17px; padding:22px 24px; border-radius:21px; background:linear-gradient(120deg,#0d472c,#17643d 68%,#28774d); box-shadow:0 12px 27px rgba(12,65,39,.12); }
.league-results-page .league-results-heading::after { content:""; position:absolute; z-index:-1; right:-55px; bottom:-154px; width:245px; height:245px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.02); pointer-events:none; }
.league-results-page .league-results-heading > div:first-child { min-width:0; }
.league-results-page .league-heading-kicker { display:block; margin-bottom:7px; color:#f4d77d; font-size:10px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.league-results-page .league-results-heading h1 { margin:0 0 7px; color:#fff; font-size:clamp(22px,2.8vw,28px); font-weight:750; letter-spacing:-.035em; line-height:1.15; text-transform:none; }
.league-results-page .league-results-heading > div > p:last-child { color:#e7f3eb; font-size:12px; line-height:1.45; }
.league-results-page .action-list { flex:0 0 auto; }
.league-results-page .league-complete-button { min-height:42px; padding:10px 16px; border:1px solid #fff; border-radius:12px; background:#fff; color:#12452c; font-size:12px; font-weight:750; box-shadow:0 5px 16px rgba(5,38,22,.12); }
.league-results-page .league-complete-button:hover { border-color:#e4f1e7; background:#e4f1e7; }
.league-results-page .league-complete-button:focus-visible { outline:3px solid #e8c461; outline-offset:3px; }
.league-results-page .league-complete-button:disabled { opacity:.65; cursor:wait; }
.league-results-page .league-standings-table thead th,
.league-results-page .league-player-rounds thead th { background:#f4f8f5; color:#174e32; }
.league-results-page .player-detail-heading { align-items:center; padding-bottom:13px; border-bottom:1px solid #e8eee9; }
.league-results-page .player-detail-heading label { gap:9px; color:#174e32; font-size:11px; }
.league-results-page .player-detail-heading select { min-height:40px; border-color:#d6e4d9; border-radius:10px; color:#173f2d; font-size:11px; }
.league-results-page .player-detail-heading select:focus-visible { outline:2px solid #28774d; outline-offset:2px; }
.league-results-page .league-player-analysis { gap:12px; }
.league-results-page .league-player-card,.league-results-page .league-stat-card { padding:16px; border-color:#dce6df; border-radius:16px; box-shadow:0 4px 15px rgba(21,64,40,.035); }
.league-results-page .league-player-card { background:#f4f8f5; }
.league-results-page .league-player-avatar { border-color:#bdd9c5; background:#fff; }
.league-results-page .league-player-card h3 { margin-bottom:9px; color:#153e2b; font-size:14px; line-height:1.3; }
.league-results-page .league-player-card p { color:#526c5d; font-size:10px; line-height:1.5; }
.league-results-page .league-player-card p strong { color:#145b38; font-size:11px; }
.league-results-page .league-stat-card h3 { margin-bottom:12px; color:#153e2b; font-size:12px; line-height:1.3; }
.league-results-page .league-stat-card dl div { padding:6px 7px; border-color:#e8eee9; }
.league-results-page .league-stat-card dl div.total { border-radius:7px; background:#edf6ef; }
.league-results-page .league-challenge-grid { gap:12px; }
.league-results-page .league-challenge { min-width:0; min-height:142px; gap:14px; padding:15px; border-color:#dce6df; border-radius:16px; background:#fbfdfb; box-shadow:0 4px 15px rgba(21,64,40,.035); }
.league-results-page .league-challenge > div { min-width:0; }
.league-results-page .challenge-trophy { width:76px; height:92px; flex-basis:76px; border:1px solid #e7eee7; border-radius:13px; background:#fff; }
.league-results-page .challenge-trophy img { width:94%; height:94%; }
.league-results-page .league-challenge h3 { margin-bottom:5px; color:#153e2b; font-size:12px; font-weight:700; line-height:1.3; text-transform:none; }
.league-results-page .league-challenge p { min-height:0; margin-bottom:9px; color:#607569; font-size:9px; line-height:1.45; }
.league-results-page .league-challenge strong { margin-bottom:7px; color:#145b38; font-size:11px; line-height:1.35; }
.league-results-page .league-challenge small { padding:5px 8px; border:1px solid #ead89f; border-radius:999px; background:#fff9e9; color:#805e13; font-size:9px; font-weight:700; }
@media (max-width:720px) {
  .league-results-page .league-results-heading { align-items:stretch; min-height:0; gap:17px; padding:19px 17px; border-radius:19px; }
  .league-results-page .league-results-heading h1 { font-size:24px; }
  .league-results-page .action-list { align-self:flex-start; }
  .league-results-page .league-player-analysis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .league-results-page .league-player-card,.league-results-page .league-stat-card { min-height:0; padding:14px; }
}
@media (max-width:430px) {
  .league-results-page .player-detail-heading label { grid-template-columns:auto minmax(0,1fr); width:100%; }
  .league-results-page .league-player-analysis { grid-template-columns:1fr; }
  .league-results-page .league-challenge { min-height:0; }
  .league-results-page .challenge-trophy { width:70px; height:84px; flex-basis:70px; }
}

/* Cup directory: one hero action and format details instead of a redundant link. */
.cups-directory-page #showCreateCup { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:11px 17px; border:1px solid #fff; border-radius:12px; background:#fff; color:#12452c; font-size:12px; font-weight:750; letter-spacing:0; box-shadow:0 5px 16px rgba(5,38,22,.12); }
.cups-directory-page #showCreateCup::after { content:"→"; margin-left:13px; font-size:16px; font-weight:400; line-height:0; }
.cups-directory-page #showCreateCup:hover { border-color:#e4f1e7; background:#e4f1e7; }
.cups-directory-page #showCreateCup:focus-visible { outline:3px solid #e8c461; outline-offset:3px; }
.cups-directory-page .league-summary-card[data-draft-cup],.cups-directory-page .cup-invitation-card { cursor:pointer; }
.cups-directory-page .league-summary-card[data-draft-cup]:hover,.cups-directory-page .cup-invitation-card:hover { border-color:#a9c6b3; transform:translateY(-1px); }
.cups-directory-page .league-summary-card:focus-visible { outline:3px solid #28774d; outline-offset:3px; }
.cups-directory-page .cup-kind-badge { flex:0 0 auto; padding:6px 9px; border:1px solid #c8dccd; border-radius:999px; background:#f1f8f3; color:#1b5c3a; font-size:10px; font-weight:650; white-space:nowrap; }
.cups-directory-page .cup-kind-badge.is-team { border-color:#d8d3b8; background:#faf8ef; color:#756125; }
@media (max-width:720px) {
  .cups-directory-page #showCreateCup { justify-self:start; min-height:42px; padding:10px 15px; }
  .cups-directory-page .cup-kind-badge { padding:5px 7px; font-size:9px; }
}

/* Team champion: same stage presence as the individual award, shield without an icon frame. */
.cup-detail-page .team-champion-card { width:min(620px,100%); min-height:210px; justify-self:center; margin:16px auto 0; padding:24px; border-radius:20px; }
.cup-detail-page .team-champion-card:not(.is-tie) { gap:10px; }
.cup-detail-page .team-champion-card.champion-a > img,.cup-detail-page .team-champion-card.champion-b > img { display:block; width:112px; height:112px; flex:0 0 auto; border:0; border-radius:0; background:none; object-fit:contain; filter:drop-shadow(0 6px 8px rgba(0,0,0,.24)); }
.cup-detail-page .team-champion-card.champion-a > span:first-child,.cup-detail-page .team-champion-card.champion-b > span:first-child { width:112px; height:112px; border:0; border-radius:0; background:none; font-size:48px; text-shadow:0 5px 12px rgba(0,0,0,.2); }
.cup-detail-page .team-champion-card .team-champion-label { color:#ffe2a1; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.cup-detail-page .team-champion-card:not(.is-tie) strong { max-width:100%; font-size:23px; font-weight:750; letter-spacing:-.025em; line-height:1.2; overflow-wrap:anywhere; }
.cup-detail-page .team-champion-card:not(.is-tie) small { display:inline-block; padding:6px 11px; border:1px solid rgba(255,226,161,.5); border-radius:999px; background:rgba(255,226,161,.13); color:#ffeab9; font-size:11px; }
@media (max-width:600px) {
  .cup-detail-page .team-champion-card { min-height:190px; padding:20px; }
  .cup-detail-page .team-champion-card.champion-a > img,.cup-detail-page .team-champion-card.champion-b > img,.cup-detail-page .team-champion-card.champion-a > span:first-child,.cup-detail-page .team-champion-card.champion-b > span:first-child { width:100px; height:100px; }
  .cup-detail-page .team-champion-card:not(.is-tie) strong { font-size:20px; }
}

/* A knockout result's phase is a clear green heading, not a grey label. */
.cup-detail-page.knockout-cup-detail .cup-summary-match > strong { border-right-color:#2b6b4b; background:linear-gradient(140deg,#0e472e,#1b6844); color:#fff; box-shadow:inset 4px 0 #d9b55a; }
@media (max-width:720px) {
  .cup-detail-page.knockout-cup-detail .cup-summary-match > strong { border-right:0; border-bottom:1px solid #2b6b4b; box-shadow:inset 0 3px #d9b55a; }
}

/* Individual cups share the new GolfMode header; the team cup keeps its own hero. */
.cup-detail-page.individual-cup-detail .cup-detail-heading { position:relative; isolation:isolate; overflow:hidden; min-height:128px; gap:17px; margin-bottom:17px; padding:22px 24px; border-radius:21px; background:linear-gradient(120deg,#0d472c,#17643d 68%,#28774d); box-shadow:0 12px 27px rgba(12,65,39,.12); }
.cup-detail-page.individual-cup-detail .cup-detail-heading::after { position:absolute; z-index:-1; right:-55px; bottom:-154px; width:245px; height:245px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.02); content:""; pointer-events:none; }
.cup-detail-page.individual-cup-detail .cup-title-mark { width:72px; height:72px; flex-basis:72px; border-color:rgba(255,255,255,.42); border-radius:16px; background-color:#fff; color:#14532d; }
.cup-detail-page.individual-cup-detail .cup-detail-heading h1 { overflow:visible; margin-bottom:7px; color:#fff; font-size:clamp(22px,2.8vw,28px); font-weight:750; letter-spacing:-.035em; line-height:1.15; text-overflow:clip; text-transform:none; white-space:normal; }
.cup-detail-page.individual-cup-detail .cup-detail-heading p { color:#e7f3eb; font-size:12px; line-height:1.45; }
.cup-detail-page.individual-cup-detail .cup-state-pill { flex:0 0 auto; border-color:rgba(244,215,125,.6); background:rgba(244,215,125,.14); color:#ffe6a5; font-size:10px; }
.cup-detail-page.individual-cup-detail .round-robin-champion { position:relative; isolation:isolate; overflow:hidden; width:min(620px,100%); min-height:210px; gap:26px; border-color:#195b3d; border-radius:20px; background:linear-gradient(125deg,#0b3927 0%,#105236 58%,#216948 100%); box-shadow:0 12px 28px rgba(10,62,39,.17),inset 0 1px rgba(255,255,255,.12); }
.cup-detail-page.individual-cup-detail .round-robin-champion::before { position:absolute; inset:0; z-index:0; background:radial-gradient(circle at 78% 0%,rgba(240,214,137,.2),transparent 50%),linear-gradient(160deg,rgba(255,255,255,.1),transparent 38%); content:""; pointer-events:none; }
.cup-detail-page.individual-cup-detail .round-robin-champion > * { position:relative; z-index:1; }
.cup-detail-page.individual-cup-detail .round-robin-champion img { filter:drop-shadow(0 6px 8px rgba(0,0,0,.28)); }
.cup-detail-page.individual-cup-detail .round-robin-champion span { color:#f4d77d; }
.cup-detail-page.individual-cup-detail .round-robin-champion strong { color:#fff; font-size:22px; overflow-wrap:anywhere; }
.cup-detail-page.individual-cup-detail .round-robin-champion small { justify-self:start; padding:6px 10px; border:1px solid rgba(244,215,125,.45); border-radius:999px; background:rgba(244,215,125,.14); color:#ffe6a5; font-size:10px; font-weight:700; }
@media (max-width:720px) {
  .cup-detail-page.individual-cup-detail .cup-detail-heading { gap:12px; min-height:0; padding:19px 17px; border-radius:19px; }
  .cup-detail-page.individual-cup-detail .cup-title-mark { width:60px; height:60px; flex-basis:60px; }
  .cup-detail-page.individual-cup-detail .cup-detail-heading h1 { font-size:24px; }
  .cup-detail-page.individual-cup-detail .cup-state-pill { margin-left:72px; }
  .cup-detail-page.individual-cup-detail .round-robin-champion { gap:12px; padding:20px; }
  .cup-detail-page.individual-cup-detail .round-robin-champion strong { font-size:20px; }
  .cup-detail-page.individual-cup-detail .round-robin-champion small { justify-self:center; }
}

/* League challenges: trophy cards with the energy of the main hero. */
.league-results-page .league-challenge { position:relative; isolation:isolate; overflow:hidden; min-height:154px; border-color:#195b3d; background:linear-gradient(125deg,#0b3927 0%,#105236 58%,#216948 100%); box-shadow:0 11px 24px rgba(10,62,39,.16),inset 0 1px rgba(255,255,255,.12); }
.league-results-page .league-challenge::before { position:absolute; inset:0; z-index:0; background:radial-gradient(circle at 78% 0%,rgba(240,214,137,.16),transparent 47%),linear-gradient(160deg,rgba(255,255,255,.11),transparent 38%); content:""; pointer-events:none; }
.league-results-page .league-challenge::after { position:absolute; right:-62px; bottom:-125px; z-index:0; width:220px; height:220px; border:1px solid rgba(255,255,255,.13); border-radius:50%; box-shadow:0 0 0 28px rgba(255,255,255,.035),0 0 0 56px rgba(255,255,255,.02); content:""; pointer-events:none; }
.league-results-page .league-challenge > div,.league-results-page .league-challenge .challenge-trophy { position:relative; z-index:1; }
.league-results-page .challenge-trophy { height:106px; border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.08); box-shadow:inset 0 1px rgba(255,255,255,.12); }
.league-results-page .challenge-trophy img { mix-blend-mode:normal; filter:drop-shadow(0 5px 7px rgba(0,0,0,.25)); }
.league-results-page .league-challenge h3 { color:#f4d77d; }
.league-results-page .league-challenge p { color:#dcece2; }
.league-results-page .league-challenge strong { color:#fff; }
.league-results-page .league-challenge small { border-color:rgba(244,215,125,.5); background:rgba(244,215,125,.14); color:#ffe6a5; }
@media (max-width:430px) {
  .league-results-page .league-challenge { min-height:130px; }
  .league-results-page .challenge-trophy { height:88px; }
}

/* Statistics: GolfMode hero and compact multi-select filters. */
.statistics-page .directory-heading { position:relative; isolation:isolate; overflow:hidden; margin-bottom:17px; padding:22px 24px; border-radius:21px; background:linear-gradient(120deg,#0d472c,#17643d 68%,#28774d); box-shadow:0 12px 27px rgba(12,65,39,.12); }
.statistics-page .directory-heading::after { position:absolute; z-index:-1; right:-55px; bottom:-154px; width:245px; height:245px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.02); content:""; pointer-events:none; }
.statistics-page .directory-heading h1 { margin:0 0 5px; color:#fff; font-size:clamp(22px,2.8vw,28px); font-weight:750; letter-spacing:-.035em; line-height:1.15; text-transform:none; }
.statistics-page .directory-heading p { color:#e7f3eb; font-size:12px; line-height:1.45; }
.statistics-page .statistics-filters { gap:12px; align-items:flex-start; margin:0 0 20px; padding:14px 16px; border:1px solid #dce6df; border-radius:18px; background:#fff; box-shadow:0 6px 19px rgba(23,34,27,.035); }
.statistics-page .statistics-multi { width:155px; max-width:100%; color:#174e32; font-size:11px; font-weight:650; }
.statistics-page .statistics-multi summary { gap:6px; }
.statistics-page .statistics-multi summary strong { min-height:40px; padding:0 11px; border-color:#dce6df; border-radius:11px; color:#173f2d; font-size:12px; font-weight:550; }
.statistics-page .statistics-multi[open] summary strong { border-color:#78aa87; box-shadow:0 0 0 2px rgba(40,119,77,.11); }
.statistics-page .statistics-multi-options { border-color:#dce6df; box-shadow:0 12px 26px rgba(13,71,44,.14); }
@media (max-width:620px) {
  .statistics-page .directory-heading { padding:19px 17px; border-radius:19px; }
  .statistics-page .directory-heading h1 { font-size:24px; }
  .statistics-page .statistics-filters { gap:10px; padding:13px; }
  .statistics-page .statistics-multi { width:calc(50% - 5px); }
  .statistics-page .statistics-multi:last-child { width:calc(50% - 5px); }
  .statistics-page .statistics-multi-options { width:max(100%,190px); }
  .statistics-page .statistics-multi:nth-child(2) .statistics-multi-options { right:0; left:auto; }
}

/* Rankings: compact year filter and a gold accent for the main title. */
.rankings-page .directory-heading { position:relative; isolation:isolate; overflow:hidden; margin-bottom:17px; padding:22px 24px; border-radius:21px; background:linear-gradient(120deg,#0d472c,#17643d 68%,#28774d); box-shadow:0 12px 27px rgba(12,65,39,.12); }
.rankings-page .directory-heading::after { position:absolute; z-index:-1; right:-55px; bottom:-154px; width:245px; height:245px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.02); content:""; pointer-events:none; }
.rankings-page .directory-heading h1 { margin:0 0 5px; color:#fff; font-size:clamp(22px,2.8vw,28px); font-weight:750; letter-spacing:-.035em; line-height:1.15; text-transform:none; }
.rankings-page .directory-heading p { color:#e7f3eb; font-size:12px; line-height:1.45; }
.rankings-page .rankings-toolbar { margin:0 0 20px; padding:14px 16px; border:1px solid #dce6df; border-radius:18px; background:#fff; box-shadow:0 6px 19px rgba(23,34,27,.035); }
.rankings-page .rankings-toolbar label { gap:6px; min-width:155px; color:#174e32; font-size:11px; font-weight:650; }
.rankings-page .rankings-toolbar select { min-height:40px; padding:0 11px; border-color:#dce6df; border-radius:11px; color:#173f2d; font-size:12px; }
.rankings-page .rankings-toolbar select:focus-visible { outline:2px solid #28774d; outline-offset:2px; }
.rankings-page .rankings-card.is-merit { border-color:#d8bd6e; background:#fff; box-shadow:0 8px 22px rgba(98,75,24,.07); }
.rankings-page .rankings-card.is-merit .rankings-card-heading { margin-bottom:12px; padding:14px 16px; border:1px solid #d5a83d; border-radius:12px; background:linear-gradient(110deg,#e7bc50,#f3d980 70%,#f6e5a7); }
.rankings-page .rankings-card.is-merit .rankings-card-heading h2 { color:#23402c; font-size:18px; font-weight:750; }
.rankings-page .rankings-card.is-merit .rankings-card-heading p { margin:4px 0 0; color:#45401f; }
.rankings-page .rankings-card.is-merit tbody tr:first-child { background:#fff8e6; }
@media (max-width:620px) {
  .rankings-page .directory-heading { padding:19px 17px; border-radius:19px; }
  .rankings-page .directory-heading h1 { font-size:24px; }
  .rankings-page .rankings-toolbar { padding:13px; }
  .rankings-page .rankings-card.is-merit .rankings-card-heading { padding:12px 13px; }
}

/* News: full-story cards in the new GolfMode visual language. */
.news-page .directory-heading { position:relative; isolation:isolate; overflow:hidden; margin-bottom:20px; padding:22px 24px; border-radius:21px; background:linear-gradient(120deg,#0d472c,#17643d 68%,#28774d); box-shadow:0 12px 27px rgba(12,65,39,.12); }
.news-page .directory-heading::after { position:absolute; z-index:-1; right:-55px; bottom:-154px; width:245px; height:245px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.02); content:""; pointer-events:none; }
.news-page .directory-heading h1 { margin:0 0 5px; color:#fff; font-size:clamp(22px,2.8vw,28px); font-weight:750; letter-spacing:-.035em; line-height:1.15; text-transform:none; }
.news-page .directory-heading p { color:#e7f3eb; font-size:12px; line-height:1.45; }
.news-page .news-feed { width:100%; gap:16px; }
.news-page .news-card { border-color:#dce6df; border-radius:19px; box-shadow:0 9px 25px rgba(23,55,36,.045); }
.news-page .news-card.has-image { display:grid; grid-template-columns:260px minmax(0,1fr); }
.news-page a.news-card { transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.news-page a.news-card:hover { border-color:#afc9b7; box-shadow:0 12px 28px rgba(23,55,36,.09); transform:translateY(-2px); }
.news-page a.news-card:focus-visible { outline:3px solid #28774d; outline-offset:3px; }
.news-page .news-card-media { height:180px; aspect-ratio:auto; }
.news-page .news-card-media::after { position:absolute; right:0; bottom:0; left:0; height:28%; background:linear-gradient(transparent,rgba(8,36,23,.16)); content:""; pointer-events:none; }
.news-page .news-card-badge { z-index:1; padding:7px 11px; border:1px solid rgba(255,255,255,.2); box-shadow:0 4px 10px rgba(0,0,0,.1); }
.news-page .news-card-content { min-width:0; align-self:center; padding:20px 22px 22px; }
.news-page .news-card:not(.has-image) { padding:20px 22px 22px; }
.news-page .news-card-meta { align-items:center; color:#68796e; font-size:11px; }
.news-page .news-card-meta span { color:#28774d; font-weight:750; letter-spacing:.06em; }
.news-page .news-card-meta span:empty { display:none; }
.news-page .news-card h2 { margin:7px 0 8px; color:#123e29; font-size:clamp(18px,2vw,21px); font-weight:750; letter-spacing:-.025em; line-height:1.25; }
.news-page .news-card p { color:#3e5147; font-size:13px; line-height:1.65; overflow-wrap:anywhere; }
.news-page .empty-state { width:100%; border:1px dashed #cbded1; border-radius:17px; background:#fff; color:#607468; }
@media (max-width:620px) {
  .news-page .directory-heading { padding:19px 17px; border-radius:19px; }
  .news-page .directory-heading h1 { font-size:24px; }
  .news-page .news-feed { gap:13px; }
  .news-page .news-card { border-radius:17px; }
  .news-page .news-card.has-image { grid-template-columns:118px minmax(0,1fr); }
  .news-page .news-card-media { height:126px; aspect-ratio:auto; }
  .news-page .news-card-content { padding:16px 17px 18px; }
  .news-page .news-card:not(.has-image) { padding:16px 17px 18px; }
  .news-page .news-card h2 { font-size:18px; }
  .news-page .news-card p { font-size:12px; }
}

/* The new-league dialog gets a restrained version of the GolfMode hero. */
.leagues-directory-page #createLeagueDialog .league-dialog-heading { position:relative; isolation:isolate; overflow:hidden; align-items:flex-start; gap:16px; margin-bottom:19px; padding:18px 20px; border-radius:17px; background:linear-gradient(120deg,#0d472c,#17643d 68%,#28774d); box-shadow:0 8px 20px rgba(12,65,39,.11); }
.leagues-directory-page #createLeagueDialog .league-dialog-heading::after { position:absolute; z-index:-1; right:-48px; bottom:-140px; width:205px; height:205px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 28px rgba(255,255,255,.035),0 0 0 56px rgba(255,255,255,.02); content:""; pointer-events:none; }
.leagues-directory-page #createLeagueDialog .league-dialog-heading .eyebrow { color:#f4d77d; font-size:10px; letter-spacing:.12em; }
.leagues-directory-page #createLeagueDialog .league-dialog-heading h2 { margin:5px 0 5px; color:#fff; font-size:22px; font-weight:750; letter-spacing:-.03em; line-height:1.2; }
.leagues-directory-page #createLeagueDialog .league-dialog-heading p:last-child { color:#e7f3eb; font-size:11px; line-height:1.45; }
.leagues-directory-page #createLeagueDialog .dialog-close { width:36px; height:36px; flex-basis:36px; border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.12); color:#fff; }
.leagues-directory-page #createLeagueDialog .dialog-close:hover { background:rgba(255,255,255,.22); }
.leagues-directory-page #createLeagueDialog .dialog-close:focus-visible { outline:3px solid #f4d77d; outline-offset:2px; }
@media (max-width:620px) {
  .leagues-directory-page #createLeagueDialog .league-dialog-heading { gap:10px; margin-bottom:16px; padding:16px; border-radius:15px; }
  .leagues-directory-page #createLeagueDialog .league-dialog-heading h2 { font-size:20px; }
  .leagues-directory-page #createLeagueDialog .dialog-close { width:34px; height:34px; flex-basis:34px; }
}

/* Cup creation: a compact gold heading complements the selected green cup type. */
.cup-new-page .directory-heading { position:relative; overflow:hidden; margin-bottom:17px; padding:19px 22px 19px 25px; border:1px solid #c99c33; border-radius:19px; background:linear-gradient(115deg,#d7aa3f,#f1d474 72%,#f8e7a6); box-shadow:0 9px 22px rgba(115,83,18,.13); }
.cup-new-page .directory-heading::before { position:absolute; top:0; bottom:0; left:0; width:4px; background:#12452c; content:""; }
.cup-new-page .directory-heading h1 { margin:0 0 5px; color:#12452c; font-size:clamp(22px,2.8vw,27px); font-weight:750; letter-spacing:-.035em; line-height:1.15; text-transform:none; }
.cup-new-page .directory-heading p { color:#3e3b25; font-size:12px; line-height:1.45; }
@media (max-width:620px) {
  .cup-new-page .directory-heading { padding:17px 17px 17px 20px; border-radius:17px; }
  .cup-new-page .directory-heading h1 { font-size:24px; }
}

/* Login: a calm GolfMode welcome with the official wordmark. */
.login-page { min-height:100vh; background:radial-gradient(circle at 50% -20%,#e4f0e7 0,transparent 52%),#f7faf7; }
.login-page .login-shell { min-height:100vh; min-height:100dvh; padding:24px 18px; }
.login-page .login-card { width:min(100%,450px); padding:32px; overflow:hidden; border-color:#dce6df; border-radius:22px; box-shadow:0 22px 55px rgba(17,63,38,.09); }
.login-page .login-brand { display:grid; min-height:104px; margin:-32px -32px 25px; place-items:center; background:linear-gradient(120deg,#0d472c,#17643d 68%,#28774d); }
.login-page .login-brand img { display:block; width:255px; max-width:100%; height:auto; filter:brightness(0) invert(1); }

.login-page .login-card h1 { margin:0 0 8px; color:#123e29; font-size:clamp(26px,5vw,33px); font-weight:750; letter-spacing:-.04em; line-height:1.16; }
.login-page .login-card .subtitle { margin:0 0 25px; color:#597065; font-size:13px; line-height:1.55; }
.login-page .login-form { gap:17px; }
.login-page .login-form label { margin-bottom:7px; color:#174e32; font-size:12px; font-weight:650; }
.login-page .login-form input { min-height:48px; border-color:#d8e3db; background:#fff; color:#173f2d; font-size:14px; }
.login-page .login-form input:focus-visible { border-color:#28774d; box-shadow:0 0 0 3px rgba(40,119,77,.13); }
.login-page .login-form .primary { min-height:48px; margin-top:7px; border-radius:12px; background:#155a38; font-size:13px; }
.login-page .login-form .primary:hover { background:#0d472c; }
.login-page .login-form .primary:focus-visible { outline:3px solid #d2a949; outline-offset:3px; }
@media (max-width:520px) {
  .login-page .login-card { padding:27px 22px; border-radius:20px; }
  .login-page .login-brand { min-height:90px; margin:-27px -22px 21px; }
  .login-page .login-brand img { width:225px; }
  .login-page .login-card .subtitle { margin-bottom:23px; }
}
.player-profile-page .profile-identity { overflow:visible; }

/* Administración: misma identidad GolfMode, con prioridad a la lectura. */
.admin-app { background:#f8fafc; color:#163d2b; font-family:Montserrat,ui-sans-serif,system-ui,sans-serif; }
.admin-global-header { position:sticky; z-index:40; top:0; border-bottom:1px solid #dfe9e2; background:rgba(255,255,255,.98); box-shadow:0 5px 18px rgba(17,57,34,.045); backdrop-filter:blur(14px); }
.admin-topbar { display:flex; width:min(100%,1040px); min-height:68px; align-items:center; gap:22px; margin:auto; }
.admin-desktop-nav { display:flex; align-items:center; gap:2px; margin-left:auto; white-space:nowrap; }
.admin-desktop-nav a { color:#21523a; font-size:11px; font-weight:600; letter-spacing:.045em; text-decoration:none; }
.admin-desktop-nav a { padding:10px 7px; border-radius:7px; }
.admin-desktop-nav a:hover,.admin-desktop-nav a[aria-current="page"] { background:#e9f2ec; color:#0c4327; }
.admin-breadcrumb { display:flex; min-height:32px; align-items:center; gap:9px; padding:7px max(20px,calc((100% - 1040px)/2)); border-top:1px solid #edf1ee; background:#f8fafc; color:#587265; font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.admin-breadcrumb a { color:inherit; text-decoration:none; }
.admin-breadcrumb span:last-child { color:#14532d; font-weight:700; }
.admin-menu-button { display:none; }
.admin-app .admin-mobile-menu { max-height:calc(100dvh - 84px); overflow-y:auto; }
.admin-app .shell { width:min(100%,1080px); padding:26px 20px 88px; }
.admin-app .page-header { min-height:132px; gap:20px; margin:0 0 20px; padding:24px 28px; border:1px solid #215d3f; border-radius:24px; background:linear-gradient(120deg,#10452e,#1b6742 72%,#2b7951); box-shadow:0 16px 34px rgba(16,71,44,.13); color:#fff; }
.admin-app .page-header h1 { margin:4px 0 6px; color:#fff; font-size:clamp(25px,3vw,34px); font-weight:800; letter-spacing:-.035em; line-height:1.1; }
.admin-app .page-header .eyebrow { color:#f1d48e; font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.admin-app .page-header .subtitle { margin:0; color:#e0f0e5; font-size:13px; }
.admin-app .page-header .back-link { border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.12); color:#fff; }
.admin-app .page-header .primary { border-color:#fff; background:#fff; color:#14532d; }
.admin-app .session-strip.admin-accountbar { display:block; min-height:0; margin:0; padding:0; border:0; border-top:1px solid #edf1ee; border-radius:0; background:#fff; box-shadow:none; }
.admin-account-inner { display:flex; width:min(100%,1040px); min-height:50px; align-items:center; margin:auto; }
.admin-account-wrap { position:relative; }
.admin-account-pill { display:inline-flex; min-height:38px; align-items:center; gap:9px; padding:3px 13px 3px 3px; border:1px solid #d9e8dd; border-radius:999px; background:#fff; box-shadow:0 2px 7px rgba(21,64,40,.045); color:#14532d; font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.admin-account-pill:hover { background:#f1f7f2; }
.admin-account-avatar { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; background:#e7f2e9; color:#14532d; font-size:12px; font-weight:800; }
.admin-app .admin-accountbar .account-menu #logoutButton { display:block; width:100%; color:#963e31; font-size:12px; text-align:left; white-space:nowrap; }
.admin-app .admin-achievements-breadcrumb { display:none; }
.admin-app .admin-kpi-grid { gap:9px; margin-bottom:16px; }
.admin-app .admin-kpi { min-height:82px; padding:12px 14px; border-color:#dce8df; border-radius:15px; box-shadow:0 5px 16px rgba(15,55,33,.035); }
.admin-app .admin-kpi span { color:#526d5b; font-size:9px; letter-spacing:.06em; line-height:1.25; }
.admin-app .admin-kpi strong { color:#14532d; font-size:23px; line-height:1; }
.admin-app .admin-kpi small { font-size:10px; line-height:1.25; }
.admin-app .admin-kpi-alert { border-color:#e9d39c; background:#fff9ea; }
.admin-app .admin-kpi-alert strong { color:#936b16; }
.admin-dashboard-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-bottom:12px; }
.admin-dashboard-kpis article { display:grid; min-height:94px; align-content:center; gap:5px; padding:14px 16px; border:1px solid #dce8df; border-radius:16px; background:#fff; box-shadow:0 5px 16px rgba(15,55,33,.035); }
.admin-dashboard-kpis span { color:#526d5b; font-size:9px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.admin-dashboard-kpis strong { color:#14532d; font-size:27px; line-height:1; }
.admin-dashboard-kpis small { color:#77877c; font-size:9px; }
.admin-dashboard-kpis .needs-attention { border-color:#ead39b; background:#fff9e9; }
.admin-dashboard-kpis .needs-attention strong { color:#916918; }
.admin-dashboard-status { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:4px; }
.admin-dashboard-status span { padding:7px 10px; border:1px solid #dce8df; border-radius:999px; background:#f8fbf8; color:#617468; font-size:9px; }
.admin-dashboard-status b { color:#14532d; }
.admin-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(250px,.85fr); gap:14px; }
.admin-dashboard-grid .admin-section { min-width:0; }
.admin-dashboard-grid .section-heading { align-items:end; }
.admin-dashboard-grid .section-heading > span { color:#829086; font-size:9px; }
.admin-activity-chart { display:flex; height:190px; align-items:end; justify-content:center; gap:clamp(10px,3vw,28px); padding:20px 12px 4px; border-bottom:1px solid #dce6de; background:repeating-linear-gradient(to top,transparent 0,transparent 44px,rgba(20,83,45,.055) 45px,transparent 46px); }
.admin-activity-chart div { display:grid; width:42px; height:100%; grid-template-rows:18px 1fr 18px; justify-items:center; align-items:end; gap:4px; }
.admin-activity-chart strong { color:#14532d; font-size:10px; }
.admin-activity-chart i { width:26px; min-height:7px; border-radius:8px 8px 3px 3px; background:linear-gradient(#72c595,#237849); }
.admin-activity-chart span { color:#718177; font-size:9px; }
.admin-top-players { display:grid; gap:7px; }
.admin-top-players > div { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:9px; padding:10px; border:1px solid #e2ebe4; border-radius:11px; color:inherit; }
.admin-top-players > div > span { display:grid; width:27px; height:27px; place-items:center; border-radius:50%; background:#edf6ef; color:#14532d; font-size:10px; font-weight:800; }
.admin-top-players strong { color:#14532d; font-size:11px; overflow-wrap:anywhere; }
.admin-top-players b { color:#6b7d71; font-size:9px; font-weight:600; }
.admin-recent-rounds { display:grid; gap:8px; }
.admin-recent-rounds a { display:flex; min-width:0; align-items:center; gap:12px; padding:11px 13px; border:1px solid #e1ebe3; border-radius:12px; color:inherit; text-decoration:none; }
.admin-recent-rounds time { width:52px; flex:0 0 52px; color:#5f7666; font-size:10px; font-weight:700; text-transform:capitalize; }
.admin-recent-rounds span { display:grid; min-width:0; flex:1; gap:2px; }
.admin-recent-rounds strong { color:#14532d; font-size:12px; }
.admin-recent-rounds small { color:#728078; font-size:9px; }
.admin-recent-rounds b { color:#14532d; font-size:9px; }
@media (max-width:760px) { .admin-dashboard-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-dashboard-grid { grid-template-columns:1fr; } }
@media (max-width:520px) { .admin-dashboard-kpis article { min-height:82px; padding:12px; } .admin-dashboard-kpis strong { font-size:23px; } .admin-activity-chart { height:165px; gap:6px; padding-inline:2px; } .admin-activity-chart div { width:36px; } .admin-activity-chart i { width:22px; } .admin-recent-rounds a { flex-wrap:wrap; gap:7px; } .admin-recent-rounds b { width:100%; text-align:right; } }
.admin-app .admin-section,.admin-app .section-block { margin-top:20px; padding:22px; border:1px solid #dce8df; border-radius:20px; background:#fff; box-shadow:0 8px 24px rgba(15,55,33,.04); }
.admin-app .section-heading { margin-bottom:16px; }
.admin-app .section-heading h2 { color:#144b30; font-size:19px; }
.admin-app .section-heading .eyebrow { color:#577462; font-size:10px; letter-spacing:.13em; }
.admin-app .admin-module-grid { gap:12px; }
.admin-app .admin-module-grid .admin-card { min-height:156px; padding:19px; border-color:#dce8df; border-radius:16px; background:linear-gradient(145deg,#fff,#fbfdfb); }
.admin-app .admin-module-grid .admin-card:hover { border-color:#a9cdb5; }
.admin-app .admin-card h2 { color:#14532d; font-size:17px; }
.admin-app .admin-card .card-action { color:#186b40; font-size:12px; font-weight:700; }
.admin-app .admin-open-round { border:1px solid #e2ebe4; background:#f8fbf8; }
.admin-app .admin-player-form,.admin-app .course-brand-card,.admin-app .catalog-filter,.admin-app .round-filters,.admin-app .settings-form { border-color:#dce8df; border-radius:17px; box-shadow:0 6px 18px rgba(15,55,33,.035); }
.admin-app .list-card,.admin-app .admin-achievement-card,.admin-app .news-automation-item,.admin-app .admin-news-item { border-color:#dce8df; border-radius:15px; }
.admin-app .primary { background:#145b38; }
.admin-app .primary:hover { background:#0d472c; }
.admin-app .page-header .primary,.admin-app .page-header .primary:hover { background:#fff; color:#14532d; }
.admin-app input:focus-visible,.admin-app textarea:focus-visible,.admin-app select:focus-visible,.admin-app button:focus-visible,.admin-app a:focus-visible { outline:2px solid #b58a2d; outline-offset:3px; }
.admin-login .login-card h1::before { display:block; margin-bottom:12px; color:#b58a2d; content:"ADMINISTRACIÓN"; font-size:11px; font-weight:800; letter-spacing:.16em; }
@media (max-width:1080px) {
  .admin-topbar { padding:0 20px; }
  .admin-account-inner { padding-inline:20px; }
  .admin-desktop-nav { display:none; }
  .admin-menu-button { display:flex; margin-left:auto; }
}
@media (max-width:620px) {
  .admin-topbar { min-height:64px; justify-content:center; padding:0 14px; }
  .admin-account-inner { min-height:46px; padding-inline:14px; }
  .admin-account-pill { min-height:36px; font-size:11px; }
  .admin-menu-button { position:absolute; right:14px; margin:0; }
  .admin-app .admin-mobile-menu { top:68px; max-height:calc(100dvh - 78px); }
  .admin-breadcrumb { padding-inline:16px; }
  .admin-app .shell { padding:18px 14px 60px; }
  .admin-app .page-header { min-height:0; flex-wrap:wrap; gap:12px; padding:20px 18px; border-radius:20px; }
  .admin-app .page-header > div { min-width:0; flex:1 1 180px; }
  .admin-app .page-header h1 { font-size:24px; }
  .admin-app .page-header .subtitle { font-size:12px; }
  .admin-app .page-header .primary { padding-inline:12px; }
  .admin-app .admin-section,.admin-app .section-block { padding:17px; border-radius:17px; }
  .admin-app .admin-module-grid .admin-card { min-height:142px; padding:14px; }
}

/* Administración · Jugadores: controles compactos y sin desbordamiento móvil. */
.admin-round-detail-page .admin-round-summary,.admin-round-detail-page .admin-round-scorecard,.admin-round-detail-page .admin-round-history { margin-top:16px; }
.admin-round-detail-heading { display:flex; align-items:center; gap:15px; }
.admin-round-detail-heading .round-course-mark { flex:none; width:61px; height:61px; background:#fff; }
.admin-round-detail-heading .round-course-mark img { width:100%; height:100%; object-fit:contain; }
.admin-round-detail-page .admin-round-status { padding:7px 11px; border:1px solid #bfe5c9; border-radius:999px; background:#f0fff4; color:#14532d; font-size:11px; font-weight:700; }
.admin-round-detail-page .table-wrap { border-color:#dce8df; border-radius:13px; }
.admin-round-detail-page .standings-table { min-width:480px; }
.admin-round-detail-page .standings-table th,.admin-round-detail-page .standings-table td { padding:10px 12px; text-align:center; }
.admin-round-detail-page .standings-table thead th { background:#f0f7f2; color:#23543a; }
.admin-round-detail-page .standings-table th:first-child { text-align:left; }
.admin-round-detail-page .admin-round-scorecard .standings-table { min-width:0; width:100%; }
.admin-round-detail-page .admin-round-scorecard .standings-table th:first-child { min-width:72px; }
.admin-round-detail-page .admin-round-scorecard .standings-table tbody th:first-child { display:table-cell; }
.admin-round-detail-page .edit-round-hole { display:block; margin:3px 0 0; padding:2px 0; border:0; background:none; color:#146b44; font:inherit; font-size:11px; font-weight:800; text-decoration:underline; cursor:pointer; }
.admin-quick-card { margin-top:15px; display:grid; gap:15px; }
.admin-quick-card-intro { padding:14px 16px; border-radius:13px; background:#f1f8f3; color:#174a32; }
.admin-quick-card-intro strong { font-size:14px; }
.admin-quick-card-intro p { margin:5px 0 0; color:#5c7164; font-size:12px; }
.admin-quick-paste { display:grid; gap:7px; }
.admin-quick-paste label { color:#174a32; font-size:12px; font-weight:700; }
.admin-quick-paste textarea { width:100%; min-height:92px; padding:10px 12px; border:1px solid #d7e6db; border-radius:11px; resize:vertical; font:inherit; font-size:12px; }
.admin-quick-paste button { justify-self:start; }
.admin-round-detail-page .admin-quick-table { min-width:0; width:100%; }
.admin-quick-table input[type=number] { width:58px; min-height:35px; padding:5px; border:1px solid #d7e6db; border-radius:8px; text-align:center; font:inherit; font-size:12px; }
.admin-quick-table input[type=checkbox] { width:17px; height:17px; accent-color:#176b46; }
.admin-quick-card .form-actions { display:flex; flex-wrap:wrap; gap:10px; }
.admin-round-detail-page .admin-round-player-select { display:grid; gap:6px; color:#214d35; font-size:11px; font-weight:700; }
.admin-round-detail-page .admin-round-player-select select { min-width:160px; min-height:38px; padding:0 10px; border:1px solid #dce8df; border-radius:10px; background:#fff; font:inherit; }
.admin-round-detail-page .edit-round-hole { color:#14532d; font-size:11px; font-weight:700; }
.admin-round-detail-page .admin-round-edit-help { margin:12px 0 0; color:#66796c; font-size:11px; }
.admin-round-detail-page .admin-round-correction { margin-top:18px; padding:18px; border:1px solid #dce8df; border-radius:17px; background:#fbfdfb; }
.admin-round-detail-page .admin-round-correction-heading { display:flex; align-items:start; justify-content:space-between; gap:12px; margin-bottom:16px; }
.admin-round-detail-page .admin-round-correction-heading .eyebrow { margin:0 0 4px; color:#577462; font-size:10px; }
.admin-round-detail-page .admin-round-correction-heading h3 { margin:0; color:#14532d; font-size:17px; }
.admin-round-detail-page .admin-round-correction-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.admin-round-detail-page .admin-round-correction-fields label { display:grid; gap:6px; min-width:0; color:#214d35; font-size:11px; font-weight:700; }
.admin-round-detail-page .admin-round-correction-fields input,.admin-round-detail-page .admin-round-correction-fields select,.admin-round-detail-page .admin-round-correction-fields textarea { width:100%; min-width:0; min-height:40px; padding:8px 10px; border:1px solid #dce8df; border-radius:10px; background:#fff; font:inherit; font-weight:400; }
.admin-round-detail-page .admin-round-correction-fields textarea { min-height:72px; resize:vertical; }
.admin-round-detail-page .admin-round-correction-fields .admin-round-checkbox { display:flex; align-items:center; }
.admin-round-detail-page .admin-round-checkbox input { width:17px; min-height:17px; height:17px; }
.admin-round-detail-page .admin-round-reason { grid-column:1 / -1; }
.admin-round-detail-page .admin-round-correction .form-actions { margin-top:15px; }
.admin-round-detail-page .admin-round-history-item { display:grid; gap:4px; padding:12px 14px; border:1px solid #e5eee7; border-radius:12px; font-size:12px; }
.admin-round-detail-page .admin-round-history-item strong { color:#14532d; }
.admin-round-detail-page .admin-match-play-panel #matchPlayScore { color:#14532d; font-size:21px; white-space:nowrap; }
.admin-round-detail-page .admin-match-play-panel .standings-table td:last-child { text-align:right; }
.admin-round-detail-page .admin-match-play-panel .admin-round-correction { margin-top:18px; }
.admin-round-detail-page .admin-round-history-item small,.admin-round-detail-page .admin-round-empty-history { color:#66796c; font-size:10px; }
.admin-rounds-page .round-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) auto; align-items:end; gap:12px; margin-bottom:18px; padding:18px; border-color:#dce8df; border-radius:19px; box-shadow:0 7px 21px rgba(15,55,33,.04); }
.admin-rounds-page .round-filters label { min-width:0; gap:7px; color:#214d35; font-size:12px; font-weight:700; }
.admin-rounds-page .round-filters select { width:100%; min-width:0; border-color:#dce8df; color:#163d2b; font-size:12px; font-weight:400; }
.admin-rounds-page #clearFilters { min-height:42px; padding:0 10px; color:#14532d; font-size:11px; white-space:nowrap; }
.admin-rounds-page .admin-round-results-heading { display:flex; align-items:center; justify-content:space-between; margin:0 2px 12px; }
.admin-rounds-page .admin-round-results-heading .eyebrow { margin:0; color:#577462; font-size:10px; letter-spacing:.13em; }
.admin-rounds-page #roundList { gap:10px; }
.admin-rounds-page .admin-round-swipe { position:relative; overflow:hidden; border-radius:18px; touch-action:pan-y; }
.admin-rounds-page .admin-round-swipe-content { position:relative; z-index:1; transition:transform .2s ease; }
.admin-rounds-page .admin-round-swipe.is-open .admin-round-swipe-content { transform:translateX(-92px); }
.admin-rounds-page .admin-round-remove { position:absolute; inset:0 0 0 auto; width:92px; border:0; border-radius:0 18px 18px 0; background:#a53932; color:white; font-size:12px; font-weight:800; cursor:pointer; }
.admin-rounds-page .admin-round-remove:focus-visible { outline:3px solid #f6d475; outline-offset:-4px; }
.admin-rounds-page .admin-round-action-error { margin:6px 4px 10px; padding:10px 12px; border:1px solid #f0c6bd; border-radius:11px; background:#fff7f4; color:#85342d; font-size:12px; line-height:1.4; }
.admin-rounds-page .admin-annulled-rounds { margin-top:28px; }
.admin-rounds-page .admin-annulled-card { opacity:.78; }
.admin-rounds-page .admin-annulled-card small { display:block; margin-top:7px; color:#a53932; font-size:11px; }
.admin-rounds-page #roundList .round-summary-card { min-width:0; min-height:91px; padding:15px 17px; border-color:#dce8df; box-shadow:0 7px 21px rgba(15,55,33,.04); transition:border-color .18s ease,box-shadow .18s ease; }
.admin-rounds-page #roundList .round-summary-card:hover { border-color:#a8cbb4; box-shadow:0 10px 24px rgba(15,55,33,.07); }
.admin-rounds-page #roundList .round-summary-card time { display:block; margin-bottom:3px; color:#2c6444; font-size:11px; font-weight:700; }
.admin-rounds-page #roundList .round-summary-card h3 { color:#14532d; font-size:15px; }
.admin-rounds-page #roundList .round-summary-card p { display:flex; flex-wrap:wrap; gap:4px 10px; white-space:normal; font-size:11px; }
.admin-rounds-page #roundList .round-summary-card p span + span::before { content:"· "; }
.admin-rounds-page #roundList .round-kind { border:1px solid #c8d6e7; border-radius:999px; background:#f4f7fb; color:#334a68; font-size:10px; font-weight:600; }
.admin-rounds-page #roundList .round-kind.kind-practice { border-color:#f1bd72; background:#fff3df; color:#8c5311; }
.admin-rounds-page #roundList .round-kind.kind-competition { border-color:#89dda9; background:#e7fbef; color:#146c38; }
.round-format-badges { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px; }
.round-format-badges .kind-format { border:1px solid #cbd9d0; border-radius:999px; background:#f6f9f7; color:#3d5948; }
.admin-rounds-page .page-header .button-link { text-decoration:none; }
@media (max-width:800px) { .admin-rounds-page .round-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-rounds-page #clearFilters { grid-column:1 / -1; justify-self:end; } }
.admin-layout-page .admin-breadcrumb #adminLayoutBreadcrumb { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-layout-page .paste-feedback { margin:0 0 14px; padding:10px 13px; border:1px solid #cce6d3; border-radius:11px; background:#f1faf3; font-size:11px; }
.admin-layout-page .admin-layout-version-notice { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:16px; padding:18px 20px; border:1px solid #e7d39f; border-radius:17px; background:#fffbef; }
.admin-layout-page .admin-layout-version-notice strong { color:#745716; font-size:14px; }
.admin-layout-page .admin-layout-version-notice p { margin:5px 0 0; color:#715f38; font-size:12px; line-height:1.5; }
.admin-layout-page .admin-layout-version-notice button { flex:0 0 auto; font-size:12px; }
.admin-layout-page .admin-layout-retired-notice { margin:0 0 16px; padding:14px 17px; border:1px solid #dce8df; border-radius:14px; background:#f4f8f5; color:#536b5c; font-size:12px; }
.admin-layout-page #holesForm { padding:22px; border:1px solid #dce8df; border-radius:20px; background:#fff; box-shadow:0 8px 24px rgba(15,55,33,.04); }
.admin-layout-page .admin-layout-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; }
.admin-layout-page .admin-layout-section-heading .eyebrow,.admin-layout-page .admin-tee-form-heading .eyebrow { margin:0 0 5px; color:#577462; font-size:10px; letter-spacing:.13em; }
.admin-layout-page .admin-layout-section-heading h2 { margin:0; color:#14532d; font-size:19px; }
.admin-layout-page .admin-layout-section-heading p:last-child { margin:7px 0 0; color:#66796c; font-size:12px; line-height:1.5; }
.admin-layout-page .admin-layout-section-heading button { flex:0 0 auto; border-color:#cfe1d4; font-size:11px; }
.admin-layout-page .table-wrap { border-color:#dce8df; border-radius:13px; }
.admin-layout-page .holes-grid th,.admin-layout-page .holes-grid td { padding:9px 8px; text-align:center; }
.admin-layout-page .holes-grid thead th { background:#f0f7f2; color:#23543a; font-size:10px; }
.admin-layout-page .holes-grid th:first-child { z-index:2; min-width:78px; background:#f7faf8; color:#23543a; text-align:left; }
.admin-layout-page .holes-grid thead th:first-child { z-index:3; background:#eaf3ed; }
.admin-layout-page .holes-grid input { min-height:36px; border-color:#d8e6dc; background:#fff; font-size:12px; }
.admin-layout-page .holes-grid input:disabled { border-color:transparent; background:transparent; color:#214d35; opacity:1; }
.admin-layout-page #holesForm .sticky-actions { position:static; justify-content:flex-end; margin:15px 0 0; padding:0; background:transparent; backdrop-filter:none; }
.admin-layout-page #teeSection { min-width:0; max-width:100%; margin-top:16px; }
.admin-layout-page #teeList .list-card { min-width:0; border-color:#dce8df; }
.admin-layout-page #teeList .list-card h3 { color:#14532d; font-size:14px; }
.admin-layout-page #teeList .list-card p { white-space:normal; font-size:11px; }
.admin-layout-page #teeList .list-card > strong { color:#14532d; font-size:12px; white-space:nowrap; }
.admin-layout-page #teeList .list-card button { min-height:34px; padding:0 10px; border:1px solid #dce8df; border-radius:9px; background:#f8fbf9; font-size:11px; }
.admin-layout-page #teeForm { width:100%; min-width:0; max-width:100%; grid-template-columns:minmax(0,1fr); gap:16px; margin-top:18px; padding:20px; background:#fbfdfb; }
.admin-layout-page #teeForm > * { min-width:0; max-width:100%; }
.admin-layout-page #teeForm .full-row { min-width:0; overflow:hidden; }
.admin-layout-page #teeForm .table-wrap { width:100%; min-width:0; max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
.admin-layout-page .admin-tee-form-heading { grid-column:1 / -1; }
.admin-layout-page .admin-tee-form-heading h3 { margin:0; color:#14532d; font-size:17px; }
.admin-layout-page #teeForm label { color:#214d35; font-size:12px; font-weight:700; }
.admin-layout-page #teeForm input { border-color:#dce8df; font-size:13px; }
.admin-layout-page #teeForm .field-help { margin:0 0 10px; line-height:1.5; }
@media (min-width:720px) { .admin-layout-page #teeForm { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.admin-course-detail-page .course-brand-card { gap:22px; margin-bottom:16px; padding:22px 24px; border-radius:20px; background:linear-gradient(145deg,#fff,#fbfdfb); }
.admin-course-detail-page .admin-breadcrumb #adminCourseBreadcrumb { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-course-detail-page .course-logo-preview { flex:0 0 auto; width:92px; height:92px; margin:0; border-color:#dce8df; border-radius:17px; }
.admin-course-detail-page .course-brand-controls { min-width:0; }
.admin-course-detail-page .course-brand-controls > strong { display:block; color:#14532d; font-size:16px; }
.admin-course-detail-page .course-brand-controls p { margin:5px 0 13px; color:#677a6d; font-size:12px; }
.admin-course-detail-page .course-brand-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; }
.admin-course-detail-page .course-logo-upload { display:inline-flex; min-height:38px; align-items:center; justify-content:center; padding:0 14px; border:1px solid #c9dfd0; border-radius:11px; background:#f3faf5; color:#14532d; cursor:pointer; font-size:12px; font-weight:700; }
.admin-course-detail-page .course-logo-upload:hover { background:#eaf5ed; }
.admin-course-detail-page .course-logo-input { position:absolute; width:1px; height:1px; padding:0; opacity:0; overflow:hidden; }
.admin-course-detail-page .course-brand-actions:has(.course-logo-input:focus-visible) .course-logo-upload { outline:2px solid #b58a2d; outline-offset:3px; }
.admin-course-detail-page #deleteLogo { min-height:38px; color:#8c4b3d; font-size:12px; }
.admin-course-detail-page .readiness-card { margin-bottom:16px; padding:21px 24px; border:1px solid #dce8df; border-radius:20px; background:#fff; box-shadow:0 6px 18px rgba(15,55,33,.035); }
.admin-course-detail-page .readiness-card .eyebrow { color:#577462; font-size:10px; letter-spacing:.13em; }
.admin-course-detail-page .readiness-card h2 { margin:5px 0 16px; color:#14532d; font-size:19px; }
.admin-course-detail-page .readiness-list { gap:10px; }
.admin-course-detail-page .readiness-item { line-height:1.4; }
.admin-course-detail-page #activateCourseButton { margin-top:18px; }
.admin-course-detail-page #layoutForm { gap:16px; margin-top:0; padding:23px 24px; border-radius:20px; }
.admin-course-detail-page .admin-layout-form-heading { grid-column:1 / -1; }
.admin-course-detail-page .admin-layout-form-heading .eyebrow { margin:0 0 5px; color:#577462; font-size:10px; letter-spacing:.13em; }
.admin-course-detail-page .admin-layout-form-heading h2 { margin:0; color:#14532d; font-size:18px; }
.admin-course-detail-page #layoutForm label { color:#214d35; font-size:12px; font-weight:700; }
.admin-course-detail-page #layoutForm input,.admin-course-detail-page #layoutForm select { border-color:#dce8df; font-size:13px; }
.admin-course-detail-page #layoutForm .settings-actions { margin-top:2px; }
.admin-course-detail-page #layoutList .list-card p { white-space:normal; }
.admin-course-detail-page #layoutList .admin-layout-card { flex-wrap:wrap; }
.admin-course-detail-page #layoutList .admin-layout-card > .inline-actions { gap:8px; }
.admin-course-detail-page #layoutList .admin-layout-card > .inline-actions a,.admin-course-detail-page #layoutList .admin-layout-card > .inline-actions button { display:inline-flex; min-height:34px; align-items:center; padding:0 10px; border:1px solid #dce8df; border-radius:9px; background:#f8fbf9; color:#14532d; font-size:11px; font-weight:700; }
.admin-course-detail-page #layoutList .admin-layout-card > .inline-actions button:disabled { opacity:.45; cursor:not-allowed; }
.admin-course-detail-page #layoutList .admin-layout-card > .inline-actions .delete-layout { border-color:#f0d8d2; background:#fff8f6; color:#a13f32; }
.admin-course-detail-page #layoutList .admin-layout-hint { flex-basis:100%; margin:0; color:#677a6d; font-size:11px; }
.admin-course-detail-page .admin-layout-history { flex-basis:100%; padding-top:10px; border-top:1px solid #edf2ee; }
.admin-course-detail-page .admin-layout-history summary { color:#567263; cursor:pointer; font-size:11px; font-weight:700; }
.admin-course-detail-page .admin-layout-history-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0 0; color:#65776a; font-size:11px; }
.admin-course-detail-page .admin-layout-history-row a { color:#14532d; font-weight:700; }
.admin-courses-page .admin-course-search-panel { display:grid; gap:8px; margin-bottom:16px; padding:17px 20px; border:1px solid #dce8df; border-radius:17px; background:#fff; box-shadow:0 7px 21px rgba(15,55,33,.04); }
.admin-courses-page .admin-course-search-panel label { color:#14532d; font-size:12px; font-weight:700; }
.admin-courses-page .admin-course-search-panel input { width:100%; min-width:0; min-height:42px; padding:0 12px; border:1px solid #dce8df; border-radius:11px; background:#fff; font:inherit; font-size:12px; }
.admin-courses-page .admin-course-results { margin-top:0; }
.admin-courses-page .admin-course-results .section-heading { align-items:center; }
.admin-courses-page .admin-course-results .section-heading .eyebrow { margin:0; }
.admin-courses-page #courseList .list-card { min-width:0; gap:14px; padding:15px 17px; transition:border-color .18s ease,box-shadow .18s ease; }
.admin-courses-page #courseList .list-card:hover { border-color:#a8cbb4; box-shadow:0 8px 22px rgba(15,55,33,.07); }
.admin-courses-page #courseList .list-card h3 { color:#14532d; font-size:15px; }
.admin-courses-page #courseList .list-card p { overflow:visible; white-space:normal; font-size:12px; }
.admin-courses-page #courseList .list-card .card-action { flex:0 0 auto; padding:6px 10px; border:1px solid #bfe5c9; border-radius:999px; background:#f0fff4; color:#14532d; font-size:11px; font-weight:700; }
.admin-courses-page #courseList .list-card.is-inactive { opacity:1; }
.admin-courses-page #courseList .list-card.is-inactive .card-action { border-color:#e3e8e4; background:#f5f7f5; color:#68776e; }
.admin-players-page .admin-player-form { margin-top:20px; padding:25px; border:1px solid #dce9e0; border-radius:22px; background:linear-gradient(155deg,#fff 0%,#fcfefc 72%,#f7fbf8 100%); box-shadow:0 14px 36px rgba(15,55,33,.055); }
.admin-players-page .admin-player-form .section-heading { margin-bottom:22px; }
.admin-players-page .admin-player-form .section-heading h2 { font-size:21px; }
.admin-players-page .admin-player-form .form-grid { gap:17px 20px; }
.admin-players-page .admin-player-form label { color:#214d35; font-size:12px; font-weight:700; }
.admin-players-page .admin-player-form input { min-height:45px; border-color:#dce8df; background:#fff; font-size:13px; font-weight:400; }
.admin-players-page .admin-player-form .helper-text { margin:18px 0; color:#66796c; line-height:1.55; }
.admin-players-page .admin-player-form .form-actions { padding-top:16px; border-top:1px solid #edf2ee; }
.admin-players-page .admin-player-search-panel { display:grid; gap:8px; margin:0 0 16px; padding:17px 20px; border:1px solid #dce8df; border-radius:17px; background:#fff; box-shadow:0 7px 21px rgba(15,55,33,.04); }
.admin-players-page .admin-player-search-panel label { color:#14532d; font-size:12px; font-weight:700; }
.admin-players-page .admin-player-search-panel input { width:100%; min-width:0; min-height:42px; padding:0 12px; border:1px solid #dce8df; border-radius:11px; background:#fff; font:inherit; font-size:12px; }
.admin-players-page .admin-player-results .section-heading { align-items:center; }
.admin-players-page .admin-player-results .section-heading .eyebrow { margin:0; }
.admin-players-page .admin-user-card { display:flex; align-items:center; gap:8px; min-width:0; padding:12px 14px; border:1px solid #dce8df; border-radius:15px; background:#fff; }
.admin-players-page .admin-user-front { display:flex; min-width:0; flex:1; align-items:center; gap:12px; order:0; }
.admin-players-page .admin-user-front h3 { margin:0 0 3px; color:#14532d; font-size:14px; }
.admin-players-page .admin-user-front p { margin:0; color:#64748b; font-size:11px; overflow-wrap:anywhere; }
.admin-players-page .admin-user-status { display:inline-block; margin-top:5px; color:#17643a; font-size:10px; font-weight:700; }
.admin-players-page .admin-user-card.is-inactive .admin-user-status { color:#777; }
.admin-players-page .admin-user-action { display:flex; flex:0 0 auto; align-items:center; gap:5px; }
.admin-players-page .admin-user-action-start { order:1; }
.admin-players-page .admin-user-action-end { order:2; }
.admin-players-page .admin-user-action button { min-height:35px; padding:6px 9px; border:1px solid #dce8df; border-radius:9px; background:#f8fbf9; color:#14532d; font-size:11px; font-weight:700; }
.admin-players-page .admin-user-action .delete-player { border-color:#f0d8d2; background:#fff8f6; color:#a13f32; }
.admin-players-page .admin-user-more { display:none; }
@media (max-width:620px) {
  .admin-round-detail-page .admin-round-summary,.admin-round-detail-page .admin-round-scorecard,.admin-round-detail-page .admin-round-history { padding:15px; }
  .admin-rounds-page .page-header { align-items:start; }
  .admin-rounds-page .page-header > .button-link { flex-shrink:0; }
  .admin-round-detail-page .admin-round-scorecard .section-heading { align-items:start; flex-direction:column; gap:11px; }
  .admin-round-detail-page .admin-round-player-select,.admin-round-detail-page .admin-round-player-select select { width:100%; }
  .admin-round-detail-page .admin-round-correction { padding:14px; }
  .admin-round-detail-page .admin-round-correction-fields { gap:10px; }
  .admin-round-detail-page .admin-round-correction .form-actions button { width:100%; }
  .admin-round-detail-page .admin-quick-table th,.admin-round-detail-page .admin-quick-table td { padding:8px 5px; font-size:11px; }
  .admin-round-detail-page .admin-quick-table input[type=number] { width:46px; }
  .admin-quick-card .form-actions button { flex:1 1 140px; }
  .admin-rounds-page .round-filters { gap:10px; padding:14px; }
  .admin-rounds-page .round-filters label { font-size:11px; }
  .admin-rounds-page .round-filters select { min-height:39px; font-size:11px; }
  .admin-rounds-page #clearFilters { min-height:30px; padding:0 3px; }
  .admin-rounds-page #roundList .round-summary-card { gap:10px; min-height:86px; padding:12px; }
  .admin-rounds-page #roundList .round-summary-card h3 { margin-bottom:3px; font-size:13px; }
  .admin-rounds-page #roundList .round-summary-card p { display:block; font-size:10px; }
  .admin-rounds-page #roundList .round-summary-card p span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .admin-rounds-page #roundList .round-summary-card p span + span::before { content:""; }
  .admin-rounds-page #roundList .round-kind { padding:5px 8px; font-size:9px; }
  .admin-layout-page .admin-layout-version-notice { align-items:stretch; flex-direction:column; gap:12px; padding:16px; }
  .admin-layout-page #holesForm { padding:17px 14px; }
  .admin-layout-page .admin-layout-section-heading { flex-direction:column; gap:12px; }
  .admin-layout-page .admin-layout-section-heading h2 { font-size:17px; }
  .admin-layout-page .admin-layout-section-heading p:last-child { font-size:11px; }
  .admin-layout-page .holes-grid th,.admin-layout-page .holes-grid td { padding:7px 5px; }
  .admin-layout-page .holes-grid th:first-child { min-width:67px; }
  .admin-layout-page .holes-grid input,.admin-layout-page .settings-form .holes-grid input { width:48px; min-width:48px; max-width:48px; min-height:34px; }
  .admin-layout-page #holesForm .sticky-actions button { width:100%; }
  .admin-layout-page #teeList .list-card { flex-wrap:wrap; gap:8px; padding:13px; }
  .admin-layout-page #teeList .list-card .list-card-main { flex-basis:calc(100% - 35px); }
  .admin-layout-page #teeList .list-card > strong { margin-left:20px; }
  .admin-layout-page #teeForm { padding:16px 13px; }
  .admin-layout-page #teeForm .settings-actions { gap:8px; }
  .admin-layout-page #teeForm .settings-actions button { flex:1; min-width:0; font-size:11px; }
  .admin-course-detail-page .course-brand-card { gap:14px; padding:16px; }
  .admin-course-detail-page .course-logo-preview { width:78px; height:78px; }
  .admin-course-detail-page .course-brand-controls > strong { font-size:14px; }
  .admin-course-detail-page .course-brand-controls p { font-size:10px; }
  .admin-course-detail-page .course-logo-upload { min-height:35px; padding-inline:11px; font-size:11px; }
  .admin-course-detail-page #deleteLogo { min-height:35px; font-size:11px; }
  .admin-course-detail-page .readiness-card { padding:18px; }
  .admin-course-detail-page #layoutForm { padding:18px; }
  .admin-course-detail-page #layoutForm .settings-actions button { width:100%; }
  .admin-course-detail-page #layoutList .admin-layout-card { align-items:flex-start; }
  .admin-course-detail-page #layoutList .admin-layout-card > .inline-actions { width:100%; justify-content:flex-start; padding-left:0; }
  .admin-courses-page .admin-course-search-panel { margin-bottom:12px; padding:13px; }
  .admin-courses-page #courseList .list-card { gap:11px; padding:13px; }
  .admin-courses-page #courseList .list-card h3 { font-size:13px; line-height:1.3; }
  .admin-courses-page #courseList .list-card p { font-size:10px; line-height:1.4; }
  .admin-courses-page #courseList .list-card .card-action { align-self:flex-start; padding:5px 8px; font-size:10px; }
  .admin-players-page .page-header { flex-wrap:nowrap; align-items:center; }
  .admin-players-page .page-header > div { min-width:0; flex:1 1 auto; }
  .admin-players-page .page-header h1 { max-width:230px; font-size:22px; }
  .admin-players-page #showCreateButton { flex:0 0 auto; min-height:38px; padding:0 13px; font-size:12px; }
  .admin-players-page .admin-player-search-panel { margin-bottom:12px; padding:13px; }
  .admin-players-page .admin-player-results { padding:15px; }
  .admin-players-page #playerList { gap:9px; }
  .admin-players-page .admin-user-card { position:relative; display:block; overflow:hidden; padding:0; border-radius:15px; }
  .admin-players-page .admin-user-front { position:relative; z-index:2; display:grid; grid-template-columns:48px minmax(0,1fr) 25px; gap:10px; min-height:96px; padding:13px; background:#fff; touch-action:pan-y; transition:transform .2s ease; }
  .admin-players-page .admin-user-card.is-inactive .admin-user-front { background:#f9faf9; }
  .admin-players-page .admin-user-front h3 { font-size:13px; line-height:1.3; overflow-wrap:anywhere; }
  .admin-players-page .admin-user-front p { font-size:10px; line-height:1.4; }
  .admin-players-page .admin-user-action { position:absolute; z-index:1; top:0; bottom:0; gap:0; }
  .admin-players-page .admin-user-action-start { left:0; width:104px; background:#eaf4ec; }
  .admin-players-page .admin-user-action-end { right:0; width:148px; background:#f6f9f7; }
  .admin-players-page .admin-user-action button { flex:1; height:100%; min-height:0; padding:5px; border:0; border-radius:0; background:transparent; font-size:11px; }
  .admin-players-page .admin-user-action .delete-player { background:#fff1ee; }
  .admin-players-page .admin-user-card[data-swipe="left"] .admin-user-front { transform:translateX(-148px); }
  .admin-players-page .admin-user-card[data-swipe="right"] .admin-user-front { transform:translateX(104px); }
  .admin-players-page .admin-user-more { display:block; align-self:center; width:25px; height:32px; padding:0; border:0; background:transparent; color:#527461; font-size:20px; line-height:1; cursor:pointer; }
  .admin-players-page .admin-player-form { margin-top:16px; padding:19px 16px; border-radius:19px; }
  .admin-players-page .admin-player-form .section-heading { margin-bottom:18px; }
  .admin-players-page .admin-player-form .section-heading h2 { font-size:19px; }
  .admin-players-page .admin-player-form .form-actions { display:grid; grid-template-columns:1fr 1fr; }
  .admin-players-page .admin-player-form .form-actions button { min-width:0; padding-inline:8px; font-size:12px; }
}
