


  :root{
    --green:#163f2b; --green2:#1f5a3d; --lime:#dff1d8; --cream:#f6f4ed;
    --ink:#17211b; --muted:#6b746e; --line:#d9dedb; --white:#fff; --warn:#fff2cc;
  }
  *{box-sizing:border-box}
  body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Calibri,Arial,sans-serif;background:#e8ece9;color:var(--ink)}
  .app{max-width:480px;margin:0 auto;min-height:100vh;background:var(--cream);box-shadow:0 0 30px rgba(0,0,0,.12)}
  header{background:var(--green);color:white;padding:18px 18px 14px;position:sticky;top:0;z-index:10}
  header h1{margin:0;font-size:24px;line-height:1.08;letter-spacing:.1px;font-weight:900}
.header-title-block{min-width:0}
.header-app-name{font-size:13px;line-height:1.2;font-weight:750;opacity:.78;margin-top:4px;letter-spacing:.2px}
  .header-brand{display:flex;align-items:center;gap:10px;min-width:0}
  .header-logo{width:58px;height:58px;object-fit:contain;flex:0 0 58px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}
  header .sub{opacity:.82;font-size:12px;margin-top:4px}
  .tabs{display:flex;overflow:auto;background:white;border-bottom:1px solid var(--line);position:sticky;top:70px;z-index:9}
  .tab{border:0;background:none;padding:12px 13px;font-weight:700;color:var(--muted);white-space:nowrap}
  .tab.active{color:var(--green);border-bottom:3px solid var(--green)}
  main{padding:14px 14px 90px}
  .screen{display:none}.screen.active{display:block}
  .card{background:white;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:12px}
  .hero{background:linear-gradient(135deg,var(--green),var(--green2));color:white;border:none}
  .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1px;opacity:.7;font-weight:800}
  h2{font-size:20px;margin:5px 0 12px}
  h3{font-size:15px;margin:0 0 10px}
  .big{font-size:28px;font-weight:850}
  .row{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .stat{background:#f5f7f5;border-radius:10px;padding:9px;text-align:center}
  .stat b{display:block;font-size:18px}
  .muted{color:var(--muted);font-size:12px}
  button,.btn{border:0;border-radius:10px;padding:10px 12px;font-weight:800;cursor:pointer}
  .primary{background:var(--green);color:white}.secondary{background:#eef2ef;color:var(--green)}
  .danger{background:#fbe4e1;color:#8a2b22}.ghost{background:transparent;color:var(--green);padding:6px}
  input,select{width:100%;padding:9px 10px;border:1px solid #cfd6d1;border-radius:9px;background:white;font:inherit}
  label{font-size:12px;font-weight:800;color:var(--muted);display:block;margin-bottom:5px}
  .field{margin-bottom:10px}
  table{width:100%;border-collapse:collapse;font-size:13px}
  th,td{padding:8px 6px;border-bottom:1px solid #edf0ee;text-align:left;vertical-align:middle}
  th{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
  td.num,th.num{text-align:right}
  .pill{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}
  .yes{background:#dff1d8;color:#215b32}.no{background:#f7dddd;color:#8a2b22}.wait{background:#eee;color:#606760}
  .statusBtns{display:flex;gap:4px}.statusBtns button{padding:6px 8px;font-size:11px}
  .group{border-left:5px solid var(--green);padding-left:10px;margin:10px 0 14px}
  .group h3{margin-bottom:5px}.groupNames{line-height:1.7}
  .scoreInput{width:48px;padding:8px 3px;text-align:center;font-weight:850;font-size:16px;border:2px solid #cfd6d1;transition:border-color .12s,background .12s}
  .scoreInput:focus{outline:none;border-color:var(--green);background:#fff}
  .scoreInput.scoreSaving{background:#fff7d6;border-color:#d6b84f}
  .scoreInput.scoreSaved{background:#eef8ef;border-color:#77a982}
  .scoreInput.scoreSaveError{background:#fff0ef;border-color:#c53b32}
  .scoreTableWrap{overflow:auto;max-height:66vh;position:relative;border:1px solid var(--line);border-radius:10px;background:white}
  .scoreStickyTable{border-collapse:separate;border-spacing:0;min-width:max-content;width:100%}
  .scoreStickyTable th,.scoreStickyTable td{background:white;min-width:52px}
  .scoreStickyTable thead th{position:sticky;top:0;z-index:4;background:#f5f7f5;box-shadow:0 1px 0 var(--line)}
  .scoreStickyTable .stickyHole{position:sticky;left:0;z-index:3;background:#f5f7f5;min-width:48px;text-align:center;box-shadow:1px 0 0 var(--line)}
  .scoreStickyTable thead .stickyHole{z-index:6}
  .scorePlayerHead{min-width:58px!important;text-align:center!important;padding-left:4px!important;padding-right:4px!important}
  .scoreInitials{display:block;font-size:12px;font-weight:900;color:var(--ink);letter-spacing:.3px}
  .scoreScorerMark{padding:2px 4px;font-size:9px}
  .leader1{font-size:15px;font-weight:900}
  .leaderRow{display:grid;grid-template-columns:30px 1fr 48px 65px;align-items:center;gap:6px;padding:9px 0;border-bottom:1px solid #edf0ee}
  .leaderHead{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}
  .trophy{font-size:22px}
  .blackout{background:#151d18;color:white;border:none}
  .blackout .muted{color:#b8c0bb}
  .winner{background:#f7f1d5;border:1px solid #eadb91}
  .smallbtn{padding:6px 8px;font-size:11px}
  .coursegrid{display:grid;grid-template-columns:38px minmax(52px,.8fr) minmax(72px,1.15fr) minmax(62px,.9fr);gap:5px;align-items:center;margin-bottom:6px}
  .coursegrid input{width:100%;min-width:0;box-sizing:border-box;text-align:center;padding:7px 3px;font-size:15px}
  .coursegrid label{text-align:center;font-size:12px;line-height:1.1;white-space:normal}
  @media(max-width:420px){
    .coursegrid{grid-template-columns:34px minmax(46px,.75fr) minmax(66px,1.1fr) minmax(56px,.85fr);gap:4px}
    .coursegrid input{padding:7px 2px;font-size:14px}
    .coursegrid label{font-size:11px}
  }

  .coursegrid .hole{font-weight:900;text-align:center}
  .footerNote{font-size:11px;color:var(--muted);line-height:1.45}
  .toast{position:fixed;left:50%;transform:translateX(-50%);bottom:22px;background:#17211b;color:white;padding:10px 14px;border-radius:10px;font-size:12px;display:none;z-index:50}
  .seg{display:flex;background:#eef1ef;border-radius:10px;padding:3px;margin-bottom:12px}
  .seg button{flex:1;background:transparent;color:var(--muted);padding:8px}
  .seg button.active{background:white;color:var(--green);box-shadow:0 1px 3px rgba(0,0,0,.08)}
  .saveChoice{gap:5px;background:#e8ece9;padding:5px}
  .saveChoice button{border:2px solid transparent;font-size:13px;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}
  .saveChoice .yesChoice.active{background:#25733d;color:#fff;border-color:#1d5f31;box-shadow:0 3px 8px rgba(37,115,61,.28);transform:scale(1.02)}
  .saveChoice .noChoice.active{background:#b7352d;color:#fff;border-color:#942a24;box-shadow:0 3px 8px rgba(183,53,45,.25);transform:scale(1.02)}
  @keyframes closeGamePop{0%{opacity:0;transform:translateY(-12px) scale(.97)}70%{transform:translateY(2px) scale(1.01)}100%{opacity:1;transform:none}}
  #closeGameCard.pop-in,#restartGameCard.pop-in{display:block;animation:closeGamePop .32s ease-out}
  .nowrap{white-space:nowrap}
  .courseSummary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
  .courseSummaryBox{background:#f5f7f5;border-radius:10px;padding:10px}
  .courseSummaryBox b{display:block;font-size:18px;margin-top:2px}
  .siError{border:2px solid #c53b32 !important;background:#fff0ef !important;color:#8a2b22}
  .scoreMismatch{background:#fff0ef}.scoreMismatch input{border:2px solid #c53b32;background:#fff}
  .scoreMatch{background:#eef8ef;color:#215b32}
  .validationError{color:#a52d24;font-weight:800}
  .validationOk{color:#215b32;font-weight:800}
  .rolebar{background:#fff;border-bottom:1px solid var(--line);padding:9px 12px;display:flex;gap:8px;align-items:center;position:sticky;top:70px;z-index:10}
  .rolebar .role-switch{display:flex;background:#eef1ef;border-radius:10px;padding:3px;flex:0 0 auto}
  .rolebar .role-switch button{padding:7px 10px;background:transparent;color:var(--muted);font-size:12px}
  .rolebar .role-switch button.active{background:white;color:var(--green);box-shadow:0 1px 3px rgba(0,0,0,.08)}
  .rolebar .identity{flex:1;min-width:0}
  .rolebar .identity select{padding:7px 8px;font-size:12px}
  .player-identity{display:none}
  .player-only{display:none !important}
  body.player-mode .player-identity{display:block}
  body.player-mode .player-only{display:block !important}
  body.player-mode .organiser-only{display:none !important}
  body.player-mode .tabs{top:116px}
  body:not(.player-mode) .tabs{top:116px}

  .platform-shell{max-width:480px;margin:0 auto;min-height:100vh;background:var(--cream);padding:18px 14px 60px}
  .brand-card{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;border-radius:16px;padding:20px;margin-bottom:14px}
  .brand-card h1{margin:0;font-size:28px}
  .brand-logo{display:block;width:190px;max-width:68%;height:auto;margin:0 auto 12px;filter:drop-shadow(0 5px 10px rgba(0,0,0,.18))}
  .brand-card .strap{opacity:.82;font-size:12px;margin-top:5px}
  .swindle-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:10px}
  .swindle-card .name{font-size:17px;font-weight:850}
  .role-chip{display:inline-block;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.4px;padding:4px 7px;border-radius:999px;background:#eef2ef;color:var(--green);margin-top:5px}
  .invite-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px;font-weight:900;letter-spacing:2px;background:#f1f4f2;border-radius:10px;padding:10px;text-align:center}
  .app-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
  .app-header-actions{display:flex;gap:6px}
  .headerBtn{padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.14);color:white;font-size:11px}
  .membership-note{font-size:11px;opacity:.8;margin-top:3px}
  .prototype-note{background:#fff7d6;border:1px solid #ead88e;border-radius:10px;padding:10px;font-size:11px;line-height:1.45;margin-bottom:12px}
  .hidden{display:none !important}


.invite-join-overlay{position:fixed;inset:0;background:#f4f7f5;z-index:9999;display:none;overflow:auto;padding:22px}
.invite-join-box{max-width:520px;margin:35px auto;background:white;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 12px 35px rgba(0,0,0,.12)}
.invite-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.invite-status.invited{background:#fff3cd;color:#6b5200}.invite-status.pending{background:#ffe8b3;color:#6a4700}.invite-status.active{background:#dff5e7;color:#155b31}.invite-status.inactive{background:#eee;color:#555}

.rolebar .role-switch{display:none !important}
body.gws-can-organise .rolebar .role-switch{display:flex !important}

/* === V130 VISUAL UPGRADE — presentation only; no application logic changed === */
:root{
  --green:#0d4a32;
  --green2:#176b49;
  --lime:#dff2df;
  --cream:#f4f1e8;
  --ink:#15231b;
  --muted:#68756d;
  --line:#d7ded9;
  --white:#fff;
  --gold:#d4a72c;
  --gold-soft:#fbf3d5;
  --green-soft:#e8f3ec;
  --red-soft:#fbe7e3;
}
body{
  background:linear-gradient(180deg,#dfe8e2 0,#eef1ed 42%,#e5e9e6 100%);
}
.app{
  background:linear-gradient(180deg,#f7f5ee 0%,var(--cream) 100%);
  box-shadow:0 0 42px rgba(13,74,50,.16);
}
header{
  background:
    radial-gradient(circle at 92% -20%,rgba(212,167,44,.34),transparent 38%),
    linear-gradient(135deg,#093d29 0%,var(--green) 58%,#176b49 100%);
  border-bottom:3px solid rgba(212,167,44,.9);
  box-shadow:0 5px 18px rgba(9,61,41,.22);
}
.header-logo{filter:drop-shadow(0 3px 5px rgba(0,0,0,.25))}
.header-app-name{color:#f8e8a9;opacity:1}
header .sub{color:#e7f1eb;opacity:.92}
.tabs{
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #cfdad3;
  box-shadow:0 3px 12px rgba(13,74,50,.08);
}
.tab{transition:background .15s,color .15s}
.tab.active{
  color:var(--green);
  border-bottom:4px solid var(--gold);
  background:linear-gradient(180deg,#fff,#f5f8f5);
}
main{padding-top:16px}
.card{
  border:1px solid #d8e0da;
  border-radius:16px;
  box-shadow:0 4px 13px rgba(20,52,35,.065);
}
.hero{
  background:
    radial-gradient(circle at 100% 0,rgba(212,167,44,.30),transparent 36%),
    linear-gradient(135deg,#0a412c,var(--green2));
  box-shadow:0 8px 20px rgba(13,74,50,.20);
  position:relative;
  overflow:hidden;
}
.hero::after{
  content:"";
  position:absolute;
  width:95px;height:95px;border-radius:50%;
  right:-45px;bottom:-50px;
  border:12px solid rgba(255,255,255,.07);
  pointer-events:none;
}
.eyebrow{color:#f5df91;opacity:1}
h2{color:#123d2b}
.hero h2,.blackout h2{color:#fff}
.stat{
  background:linear-gradient(180deg,#f9fbf9,#eef5f0);
  border:1px solid #dce8df;
}
button,.btn{
  border-radius:11px;
  transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;
}
button:active,.btn:active{transform:translateY(1px)}
.primary{
  background:linear-gradient(180deg,#176b49,#0d4a32);
  color:#fff;
  box-shadow:0 3px 8px rgba(13,74,50,.18);
}
.secondary{
  background:var(--green-soft);
  color:#0d4a32;
  border:1px solid #cfe2d5;
}
.danger{background:var(--red-soft);color:#922e25}
.ghost{color:#0d5b3c}
input,select{
  border:1px solid #c9d5cd;
  box-shadow:inset 0 1px 2px rgba(15,55,35,.035);
}
input:focus,select:focus{
  outline:none;border-color:#4b8b6b;
  box-shadow:0 0 0 3px rgba(23,107,73,.10);
}
th{color:#557064}
.pill{border:1px solid rgba(0,0,0,.035)}
.yes{background:#dff2df;color:#165d31}
.no{background:#fae3df;color:#8a2b22}
.wait{background:#f3ecd4;color:#715d18}
.group{
  border-left:5px solid var(--gold);
  background:linear-gradient(90deg,#fbf7e9 0,rgba(251,247,233,0) 80%);
  border-radius:5px;
  padding-top:5px;padding-bottom:5px;
}
.scoreTableWrap{
  border:1px solid #cbd9d0;
  box-shadow:0 3px 10px rgba(13,74,50,.07);
}
.scoreStickyTable thead th,.scoreStickyTable .stickyHole{
  background:#eaf2ed;
}
.scoreInitials{color:#0d4a32}
.leaderRow{border-bottom:1px solid #e5ece7}
.leader1{color:#0d4a32}
.blackout{
  background:
    radial-gradient(circle at 95% 0,rgba(212,167,44,.25),transparent 35%),
    linear-gradient(145deg,#10251b,#0b1711);
  box-shadow:0 7px 18px rgba(0,0,0,.17);
  border-top:3px solid var(--gold);
}
.winner{
  background:linear-gradient(135deg,#fff9e5,#f4e4a8);
  border:1px solid #dfc465;
  box-shadow:0 4px 12px rgba(160,121,17,.10);
}
.seg{background:#e3ebe6;border:1px solid #d4ded7}
.seg button.active{
  color:#0d4a32;
  box-shadow:0 2px 5px rgba(13,74,50,.10);
}
.toast{
  background:#0b3f2a;
  border:1px solid rgba(212,167,44,.55);
  box-shadow:0 6px 20px rgba(0,0,0,.22);
}


/* === V131 PROFESSIONAL UI REFINEMENT — visual only === */
:root{
  --green:#103b2a;
  --green-2:#184f38;
  --green-3:#236447;
  --surface:#ffffff;
  --surface-soft:#f7f8f5;
  --surface-stone:#eef1ec;
  --page:#e9eeea;
  --ink:#17211c;
  --muted:#6d776f;
  --line:#dce3dd;
  --line-strong:#c9d4cb;
  --accent:#c79b2b;
  --accent-dark:#8e6c14;
  --accent-soft:#f5ecd2;
  --success:#1f6a43;
  --success-soft:#e5f2e9;
  --danger:#9b3b30;
  --danger-soft:#f8e7e4;
  --shadow:0 6px 20px rgba(18,42,30,.08);
  --shadow-strong:0 10px 28px rgba(18,42,30,.14);
}
body{
  background:linear-gradient(180deg,#dfe7e1 0%,#edf1ee 100%);
  color:var(--ink);
}
.app{
  background:var(--surface-soft);
  box-shadow:0 0 42px rgba(16,59,42,.14);
}
header{
  background:linear-gradient(145deg,#0d3324 0%,var(--green) 58%,var(--green-2) 100%);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 6px 18px rgba(13,51,36,.18);
  padding-top:20px;
  padding-bottom:16px;
}
.header-brand{gap:12px}
.header-logo{
  width:54px;height:54px;flex-basis:54px;
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.18));
}
header h1{
  font-size:23px;
  font-weight:850;
  letter-spacing:-.25px;
}
.header-app-name{
  color:#d9c27a;
  font-size:12px;
  font-weight:700;
  letter-spacing:.45px;
}
header .sub{
  color:#dbe7df;
  font-size:12px;
}
.tabs{
  background:rgba(255,255,255,.98);
  border-bottom:1px solid var(--line);
  box-shadow:0 3px 12px rgba(16,59,42,.05);
}
.tab{
  color:#7a847c;
  font-size:12px;
  font-weight:750;
  padding:12px 14px;
}
.tab.active{
  color:var(--green);
  border-bottom:3px solid var(--green-3);
  background:#fff;
}
main{padding:16px 14px 92px}
.card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:16px;
  padding:15px;
  box-shadow:var(--shadow);
}
.card + .card{margin-top:12px}
.hero{
  background:linear-gradient(145deg,#123e2d 0%,#1b5940 100%);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:var(--shadow-strong);
}
.hero::after{
  width:110px;height:110px;
  right:-54px;bottom:-64px;
  border:14px solid rgba(255,255,255,.045);
}
.eyebrow{
  color:#dfc879;
  font-size:10px;
  letter-spacing:1.15px;
  font-weight:800;
}
h2{
  font-size:20px;
  letter-spacing:-.15px;
  color:#173d2e;
}
h3{
  font-size:14px;
  font-weight:800;
  color:#233a2f;
}
.big{font-size:27px;letter-spacing:-.4px}
.muted{color:var(--muted)}
.stat{
  background:var(--surface-stone);
  border:1px solid #e2e8e3;
  border-radius:12px;
  padding:10px;
}
.stat b{
  color:var(--green);
  font-size:17px;
}
button,.btn{
  border-radius:10px;
  font-weight:750;
  min-height:40px;
  box-shadow:none;
}
.primary{
  background:linear-gradient(180deg,var(--green-3),var(--green-2));
  color:#fff;
  border:1px solid #174a35;
  box-shadow:0 3px 9px rgba(24,79,56,.16);
}
.primary:hover{filter:brightness(1.02)}
.secondary{
  background:#f0f4f1;
  color:var(--green);
  border:1px solid #d4ded7;
}
.ghost{
  color:var(--green-2);
  background:transparent;
}
.danger{
  background:var(--danger-soft);
  color:var(--danger);
  border:1px solid #efd1cc;
}
input,select{
  background:#fff;
  border:1px solid var(--line-strong);
  border-radius:10px;
  padding:10px 11px;
}
input:focus,select:focus{
  border-color:#4d8067;
  box-shadow:0 0 0 3px rgba(35,100,71,.09);
}
label{
  color:#677169;
  font-size:11px;
  letter-spacing:.1px;
}
table{font-size:13px}
th{
  color:#69756e;
  font-size:10px;
  letter-spacing:.55px;
}
th,td{border-bottom:1px solid #edf0ed}
.pill{
  border-radius:999px;
  padding:4px 8px;
  font-weight:750;
}
.yes{
  background:var(--success-soft);
  color:var(--success);
  border:1px solid #cfe5d5;
}
.no{
  background:var(--danger-soft);
  color:var(--danger);
  border:1px solid #efd0cb;
}
.wait{
  background:#f0f1ed;
  color:#6b716c;
  border:1px solid #e1e4df;
}
.group{
  background:#f7f9f6;
  border-left:4px solid var(--green-3);
  border-radius:8px;
  padding:9px 10px 9px 12px;
}
.scoreTableWrap{
  border:1px solid var(--line-strong);
  border-radius:12px;
  box-shadow:0 3px 10px rgba(16,59,42,.045);
}
.scoreStickyTable thead th,
.scoreStickyTable .stickyHole{
  background:#edf2ee;
}
.scoreInput{
  border-color:#cbd6ce;
  border-radius:8px;
}
.scoreInput:focus{
  border-color:#4d8067;
}
.scoreInput.scoreSaving{
  background:#f8f3df;
  border-color:#d6c27a;
}
.scoreInput.scoreSaved{
  background:#edf6ef;
  border-color:#80ae8d;
}
.scoreInput.scoreSaveError{
  background:#faece9;
  border-color:#cc756b;
}
.leaderRow{
  border-bottom:1px solid #e8ede9;
  padding:10px 0;
}
.leader1{color:var(--green)}
.blackout{
  background:linear-gradient(145deg,#151d19 0%,#10271c 100%);
  border-top:0;
  border:1px solid #22372c;
  box-shadow:var(--shadow-strong);
}
.blackout .eyebrow{color:#d9c27a}
.winner{
  background:#fffaf0;
  border:1px solid #e5d29b;
  box-shadow:0 4px 14px rgba(142,108,20,.08);
}
.winner .leader1,
.winner h3{
  color:#003f2b;
}
.seg{
  background:#e9eeea;
  border:1px solid #dbe3dd;
  border-radius:11px;
}
.seg button{
  min-height:36px;
  color:#758078;
}
.seg button.active{
  background:#fff;
  color:var(--green);
  box-shadow:0 2px 6px rgba(16,59,42,.08);
}
.toast{
  background:#17251e;
  color:#fff;
  border:1px solid #31483a;
  border-radius:11px;
  box-shadow:0 8px 24px rgba(0,0,0,.22);
}
.footerNote{color:#7b847e}
.smallbtn{min-height:32px}


/* === V132 APPROVED PROFESSIONAL LOOK — CSS-only application upgrade === */
:root{
 --green:#003f2b;--green2:#005239;--green3:#0c6748;
 --gold:#d7a323;--gold-dark:#a87500;--gold-soft:#fff5d8;
 --cream:#f6f5ef;--paper:#fff;--ink:#101a15;--muted:#69736d;
 --line:#dce2dd;--soft:#f1f4f1;--success:#13753a;
}
body{background:#dfe7e1;color:var(--ink)}
.app{background:linear-gradient(180deg,#f7f7f3,#f1f3ef);box-shadow:0 0 40px rgba(0,45,30,.18)}
header{
 background:linear-gradient(145deg,#002f20 0%,#00452f 62%,#00563b 100%);
 border:0;box-shadow:0 5px 16px rgba(0,40,27,.22);padding:17px 17px 14px
}
header h1{font-size:24px;font-weight:800;letter-spacing:-.3px}
.header-app-name{color:#f0c24a;font-weight:800;opacity:1;text-transform:uppercase;letter-spacing:.65px}
.header-logo{width:60px;height:60px;flex-basis:60px}
.tabs{background:#fff;box-shadow:0 2px 8px rgba(0,50,32,.07)}
.tab{font-size:12px;font-weight:800;color:#6e7771}
.tab.active{color:var(--green);border-bottom:3px solid var(--gold);background:#fff}
main{padding:14px 12px 92px}
.card{
 border:1px solid #dce2dd;border-radius:14px;background:#fff;
 box-shadow:0 4px 14px rgba(0,45,30,.075);padding:14px
}
.hero{
 background:linear-gradient(145deg,#003a28,#005239);
 border:2px solid var(--gold);box-shadow:0 7px 20px rgba(0,49,33,.18)
}
.hero .eyebrow{color:#f4cc5c;font-weight:900}
.hero h2{color:#fff}
h2{font-weight:850;letter-spacing:-.25px}
h3{font-weight:850}
.stat{background:#f7f8f5;border:1px solid #e0e5e1}
.stat b{color:var(--green)}
button,.btn{font-weight:800;border-radius:9px}
.primary{
 background:linear-gradient(180deg,#075d40,#003f2b);color:#fff;
 border:1px solid #003923;box-shadow:0 3px 8px rgba(0,54,36,.16)
}
.secondary{background:#fff;color:var(--green);border:1px solid #aebdb4}
.danger{border:1px solid #edcec8}
input,select{border-radius:8px;border:1px solid #cbd4ce;background:#fff}
input:focus,select:focus{border-color:#27765a;box-shadow:0 0 0 3px rgba(12,103,72,.09)}
.group{
 border-left:4px solid #1e5da8;background:#f8faf9;border-radius:7px;
 padding:9px 9px 9px 11px
}
.pill.yes,.yes{background:#e6f4e8;color:#14672f;border-color:#cce5d1}
.wait{background:#f3f3ef;color:#666e68}
.scoreTableWrap{border-radius:11px;border-color:#cfd8d2}
.scoreStickyTable thead th,.scoreStickyTable .stickyHole{
 background:linear-gradient(180deg,#07553c,#003f2b);color:#fff
}
.scoreStickyTable thead .scoreInitials{color:#fff}
.scoreInput{border-radius:5px;background:#fff}
.scoreInput.scoreSaved{background:#f4fbf5;border-color:#2d8b4b}
.leaderRow{padding:10px 2px}
.leader1{color:var(--green);font-weight:900}
.blackout{
 background:linear-gradient(145deg,#002f20,#004b34);border:0;
 box-shadow:0 7px 18px rgba(0,40,27,.18)
}
.blackout .eyebrow{color:#f0c24a}
.winner{
 background:linear-gradient(135deg,#fff9e8,#f9edc8);
 border:1px solid #e1bd58
}
.seg{background:#edf0ed}
.seg button.active{background:var(--green);color:#fff;box-shadow:none}
.toast{background:#082b20;border:0}
.footerNote{color:#707a73}
/* Strong, legible gold: only on dark surfaces or as filled actions */
.hero .primary,.blackout .primary{border-color:#b47f00}
.hero .secondary{background:rgba(255,255,255,.96)}
/* Make prominent view-switch/reveal style buttons feel like the approved mock-up */
button[onclick*="switch"],button[onclick*="Switch"],button[onclick*="reveal"],button[onclick*="Reveal"]{
 background:linear-gradient(180deg,#e2ad2a,#c78d08);color:#fff;border:1px solid #b47b00;
 box-shadow:0 4px 10px rgba(156,108,0,.18)
}


/* V200: score taps use buttons, not text fields, so browser autofill cannot intercept them. */
.scoreInput.gwsScoreButton{appearance:none;-webkit-appearance:none;font-family:inherit;line-height:1.2;cursor:pointer}
.scoreInput.gwsScoreButton:disabled{cursor:default}


/* V201 — compact Group Scores instructions so the scorecard sits higher on mobile. */
#score #scorecard{margin-top:0}
#score .gwsScoreInstruction{margin:0 0 4px;padding:0;line-height:1.25;font-size:12px}
#score .card:has(#scorecard){padding-top:8px}
@media(max-width:430px){
  #score .gwsScoreInstruction{font-size:11px;line-height:1.2;margin-bottom:3px}
}

/* V202 — compact score-save status; status only, not a button. */
#scoreDurabilityBanner{margin-top:5px!important;padding:4px 7px!important;border:0!important;border-radius:6px!important;font-size:11px!important;line-height:1.15!important;font-weight:800!important}

/* V203 — Last 10 Rounds: one round per line, fully contained on phone screens. */
#playerProfileRecentRounds.gwsRecentRounds{width:100%;max-width:100%;overflow:hidden}
#playerProfileRecentRounds .gwsCompactRounds{
  width:100%!important;max-width:100%!important;min-width:0!important;
  table-layout:fixed!important;border-collapse:collapse;white-space:nowrap;
  font-size:10px;line-height:1.15;
}
#playerProfileRecentRounds .gwsCompactRounds th,
#playerProfileRecentRounds .gwsCompactRounds td{
  padding:5px 2px!important;min-width:0!important;max-width:none!important;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#playerProfileRecentRounds .gwsCompactRounds th{font-size:9px}
#playerProfileRecentRounds .gwsRoundDate{width:19%}
#playerProfileRecentRounds .gwsRoundCourse{width:31%}
#playerProfileRecentRounds .gwsRoundTee{width:11%}
#playerProfileRecentRounds .gwsRoundHcp{width:11%}
#playerProfileRecentRounds .gwsRoundFmt{width:9%}
#playerProfileRecentRounds .gwsRoundResult{width:19%}
#playerProfileRecentRounds .gwsRoundCourseCell{text-align:left}
#playerProfileRecentRounds .gwsRoundTeeCell{text-align:center}
#playerProfileRecentRounds .gwsRoundResultCell{font-weight:900}
@media(max-width:360px){
  #playerProfileRecentRounds .gwsCompactRounds{font-size:9px}
  #playerProfileRecentRounds .gwsCompactRounds th{font-size:8px}
  #playerProfileRecentRounds .gwsCompactRounds th,
  #playerProfileRecentRounds .gwsCompactRounds td{padding-left:1px!important;padding-right:1px!important}
}

/* V204 — live leaderboard shows holes played and partial Back 9 points. */
@media(max-width:430px){
 #leaderboard .leaderboardSummaryTable{width:100%!important;table-layout:fixed!important;font-size:10px!important}
 #leaderboard .leaderboardSummaryTable th,#leaderboard .leaderboardSummaryTable td{padding:5px 2px!important;min-width:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #leaderboard .leaderboardSummaryTable th{font-size:9px!important}
 #leaderboard .leaderboardSummaryTable th:nth-child(1),#leaderboard .leaderboardSummaryTable td:nth-child(1){width:8%}
 #leaderboard .leaderboardSummaryTable th:nth-child(2),#leaderboard .leaderboardSummaryTable td:nth-child(2){width:30%}
 #leaderboard .leaderboardSummaryTable th:nth-child(3),#leaderboard .leaderboardSummaryTable td:nth-child(3){width:10%}
 #leaderboard .leaderboardSummaryTable th:nth-child(4),#leaderboard .leaderboardSummaryTable td:nth-child(4){width:16%}
 #leaderboard .leaderboardSummaryTable th:nth-child(5),#leaderboard .leaderboardSummaryTable td:nth-child(5){width:16%}
 #leaderboard .leaderboardSummaryTable th:nth-child(6),#leaderboard .leaderboardSummaryTable td:nth-child(6){width:20%}
}

/* V205 — Group Scores: one instruction, live totals, submit below card. */
#score .gwsScoreTotalRow td{border-top:2px solid #173f2f!important;background:#f3f7f4!important;font-weight:900!important}
#score .gwsScoreTotalCell{font-size:11px!important;white-space:nowrap!important}
#score #groupScoreSubmitArea{margin-top:4px}
@media(max-width:430px){#score .gwsScoreTotalCell{font-size:9px!important;padding-left:1px!important;padding-right:1px!important}}

/* V206 — larger Group Scores totals: Stableford, Gross and Nett always visible. */
#score .gwsScoreTotalRow td{padding-top:8px!important;padding-bottom:8px!important}
#score .gwsScoreTotalCell{text-align:center!important;line-height:1.15!important}
#score .gwsTotalPts{font-size:15px!important;font-weight:950!important}
#score .gwsTotalGross,#score .gwsTotalNett{font-size:11px!important;font-weight:850!important;margin-top:2px}
@media(max-width:430px){#score .gwsTotalPts{font-size:13px!important}#score .gwsTotalGross,#score .gwsTotalNett{font-size:10px!important}}

/* V208 — make Group Scores TOTAL figures visually match the scorecard. */
#score .gwsScoreTotalRow .gwsMetaHole{font-size:13px!important}
#score .gwsTotalPts{font-size:17px!important;line-height:1.05!important;font-weight:950!important}
#score .gwsTotalGross,#score .gwsTotalNett{font-size:13px!important;line-height:1.1!important;font-weight:900!important;margin-top:3px!important}
@media(max-width:430px){
 #score .gwsScoreTotalRow .gwsMetaHole{font-size:12px!important}
 #score .gwsTotalPts{font-size:15px!important}
 #score .gwsTotalGross,#score .gwsTotalNett{font-size:12px!important}
}

/* V209 — prominent cumulative totals and stable scorecard scrolling. */
#score .gwsScoreTotalRow .gwsMetaHole{font-size:15px!important;font-weight:950!important}
#score .gwsScoreTotalRow td{padding-top:10px!important;padding-bottom:10px!important}
#score .gwsTotalPts{font-size:20px!important;line-height:1.05!important;font-weight:950!important}
#score .gwsTotalGross,#score .gwsTotalNett{font-size:15px!important;line-height:1.12!important;font-weight:900!important;margin-top:4px!important}
#mycard .gwsMyCardRunningTotal{margin-top:10px;padding:12px;border:2px solid #0b5a3d;border-radius:10px;text-align:center;background:#f3f7f4}
#mycard .gwsMyTotalLabel{font-size:15px;font-weight:950}
#mycard .gwsMyTotalPts{font-size:22px;font-weight:950;line-height:1.1;margin-top:4px}
#mycard .gwsMyTotalScores{font-size:17px;font-weight:900;margin-top:4px}
@media(max-width:430px){
 #score .gwsScoreTotalRow .gwsMetaHole{font-size:14px!important}
 #score .gwsTotalPts{font-size:18px!important}
 #score .gwsTotalGross,#score .gwsTotalNett{font-size:13px!important}
 #mycard .gwsMyTotalPts{font-size:20px}
 #mycard .gwsMyTotalScores{font-size:16px}
}

/* V210 — Finalise Game: scan-friendly player card status panel. */
#finalise .gwsFinalisePlayerCardList{display:grid;gap:7px;margin:12px 0}
#finalise .gwsFinalisePlayerStatus{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name badge" "progress badge";gap:2px 8px;align-items:center;text-align:left;padding:10px 11px;border-radius:10px;border:1px solid #d7dfda;background:#fff;color:#173b2e;box-shadow:none}
#finalise .gwsFinalisePlayerStatus.submitted{background:#eef8f2;border-color:#9fcbb4}
#finalise .gwsFinalisePlayerStatus.waiting{background:#fffaf0;border-color:#e4cf98}
#finalise .gwsFinalisePlayerStatus.ready{background:#f4f7f5;border-color:#b9c9bf}
#finalise .gwsFinalisePlayerStatus.query{background:#fff1ef;border-color:#dca9a2}
#finalise .gwsFinalisePlayerName{grid-area:name;font-size:15px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#finalise .gwsFinaliseHoleProgress{grid-area:progress;font-size:11px;font-weight:700;opacity:.72}
#finalise .gwsFinaliseStatusBadge{grid-area:badge;font-size:12px;font-weight:950;white-space:nowrap}
#finalise .gwsFinalisePlayerStatus.submitted .gwsFinaliseStatusBadge{color:#087044}
#finalise .gwsFinalisePlayerStatus.waiting .gwsFinaliseStatusBadge{color:#8b5b00}
#finalise .gwsFinalisePlayerStatus.query .gwsFinaliseStatusBadge{color:#9d2f24}
#finalise .gwsFinaliseReviewBox{margin-top:12px;padding-top:12px;border-top:1px solid #e2e8e4}
@media(max-width:430px){#finalise .gwsFinalisePlayerStatus{padding:9px 10px}#finalise .gwsFinalisePlayerName{font-size:14px}#finalise .gwsFinaliseStatusBadge{font-size:11px}}



#gwsBetaGate{position:fixed;inset:0;background:rgba(8,24,17,.97);z-index:30000;display:none;align-items:flex-start;justify-content:center;padding:12px;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}
#gwsBetaGate .betaBox{background:#fff;color:#142018;width:min(620px,100%);margin:auto 0;max-height:none;overflow:visible;border-radius:18px;padding:20px;box-shadow:0 20px 70px rgba(0,0,0,.4)}
#gwsBetaGate h2{margin:4px 0 12px}
#gwsBetaGate .betaTerms{background:#f5f7f5;border:1px solid #dfe6df;border-radius:12px;padding:14px;line-height:1.45;font-size:14px}
#gwsBetaGate label{display:flex;gap:12px;align-items:flex-start;margin:16px 0;font-weight:700;cursor:pointer;min-height:44px;padding:8px 2px;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.08)}
#gwsBetaGate input[type=checkbox]{margin:2px 0 0 0;width:24px;height:24px;min-width:24px;appearance:auto;-webkit-appearance:checkbox;accent-color:auto}
#gwsBetaGate button:disabled{opacity:.45;cursor:not-allowed}
.beta-badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#fff3cd;color:#684d00;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}



.playerDashHero{padding:18px}
.dashTees{font-weight:800;margin-bottom:14px}
.dashLine{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #e7ece9;border-bottom:1px solid #e7ece9}
.dashFacts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:14px 0}
.dashFacts>div{display:flex;flex-direction:column;gap:3px;padding:0 8px;border-right:1px solid #e7ece9}
.dashFacts>div:last-child{border-right:0}.dashFacts small{color:#6b7280}.dashFacts b{font-size:13px}
.dashMenu button{width:100%;border:0;border-bottom:1px solid #e7ece9;background:#fff;display:grid;grid-template-columns:42px 1fr 20px;align-items:center;text-align:left;padding:15px 14px;color:inherit}
.dashMenu button span:nth-child(2){display:flex;flex-direction:column;gap:3px}.dashMenu button b{font-size:16px}.dashMenu button small{color:#64748b;font-size:12px}
.dashMenu i{font-size:28px;font-style:normal;color:#64748b}.dashIcon{font-size:23px}
body.player-mode #nextgame.active #playerTodayGame{display:block!important}
@media(max-width:420px){.dashFacts b{font-size:12px}.dashLine{font-size:13px}}



body.player-mode .tabs{display:none!important}
body.player-mode .screen{display:none!important}
body.player-mode .screen.active{display:block!important}
body.player-mode #playerhome.active{display:block!important}

body.player-mode .playerFullPage.active{
  position:fixed;
  inset:0;
  z-index:1000;
  background:var(--bg);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:0 12px 28px;
}
.playerFullPageBar{
  position:sticky;
  top:0;
  z-index:20;
  margin:0 -12px 14px;
  background:#fff;
  border-bottom:1px solid #e7ece9;
  padding:10px 12px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:8px;
  align-items:center;
}
.playerFullPageTitle{text-align:center;font-weight:900;font-size:16px}
.playerMenuPage{background:var(--bg)}
.playerMenuList button{
  width:100%;
  border:0;
  border-bottom:1px solid #e7ece9;
  background:#fff;
  display:grid;
  grid-template-columns:42px 1fr 20px;
  align-items:center;
  text-align:left;
  padding:15px 14px;
  color:inherit;
}
.playerMenuList button:last-child{border-bottom:0}
.playerMenuList b{font-size:16px}
.playerMenuList small{display:block;color:#64748b;font-size:12px;margin-top:2px}
.playerMenuList i{font-style:normal;font-size:28px;color:#64748b}



/* V133 FINAL PROFESSIONAL THEME — intentionally last in <head> */
:root{
 --green:#003b28!important;--green2:#00523a!important;--green3:#006b4a!important;
 --cream:#f7f6f1!important;--ink:#111a15!important;--muted:#67716b!important;
 --line:#d9e0db!important;--gold:#e2a91b!important;--bg:#f4f6f2!important;
}
html,body{background:#e5ebe6!important;color:#111a15!important}
.app{background:#f6f6f1!important;box-shadow:0 0 34px rgba(0,46,31,.18)!important}
header{
 background:linear-gradient(145deg,#002f20 0%,#003f2b 55%,#00553b 100%)!important;
 border-bottom:3px solid #e2a91b!important;color:#fff!important;
 box-shadow:0 5px 16px rgba(0,43,29,.24)!important;
}
header h1{color:#fff!important;font-weight:850!important}
.header-app-name{color:#f1bf38!important;opacity:1!important;font-weight:850!important;letter-spacing:.7px!important}
header .sub{color:#e6eee9!important;opacity:.95!important}
.tabs{background:#fff!important;border-bottom:1px solid #d9e0db!important}
.tab{color:#6c766f!important;background:#fff!important}
.tab.active{color:#003b28!important;border-bottom:4px solid #0c6748!important;background:#fff!important}
main{background:transparent!important}
.card{background:#fff!important;border:1px solid #dbe2dd!important;border-radius:15px!important;box-shadow:0 5px 15px rgba(0,47,31,.08)!important}
.hero{
 background:linear-gradient(145deg,#003624,#00543a)!important;
 color:#fff!important;border:2px solid #e2a91b!important;
 box-shadow:0 8px 22px rgba(0,50,34,.20)!important;
}
.hero h2,.hero h3,.hero .big{color:#fff!important}
.hero .eyebrow{color:#f3c549!important;opacity:1!important}
h2{color:#153c2c!important} h3{color:#213b30!important}
.primary{background:linear-gradient(180deg,#08704d,#004632)!important;color:#fff!important;border:1px solid #003c2a!important;box-shadow:0 3px 9px rgba(0,61,41,.17)!important}
.secondary{background:#fff!important;color:#003f2b!important;border:1px solid #b9c8bf!important}
.ghost{color:#00523a!important}
.danger{background:#fae8e5!important;color:#96352b!important}
.stat{background:#f1f4f1!important;border:1px solid #e0e6e1!important}.stat b{color:#003f2b!important}
input,select{background:#fff!important;border:1px solid #c7d2ca!important}
input:focus,select:focus{border-color:#1d7958!important;box-shadow:0 0 0 3px rgba(0,107,74,.10)!important}
.pill.yes,.yes{background:#e5f3e8!important;color:#166a35!important}.wait{background:#f0f1ed!important;color:#656d67!important}
.group{background:#f7faf8!important;border-left:5px solid #2462ad!important}
.scoreTableWrap{border-color:#cbd6cf!important;box-shadow:0 4px 12px rgba(0,47,31,.06)!important}
.scoreStickyTable thead th,.scoreStickyTable .stickyHole{background:#003f2b!important;color:#fff!important}
.scoreInput.scoreSaved{background:#f2fbf4!important;border-color:#26834a!important}
.blackout{background:linear-gradient(145deg,#002f20,#004831)!important;color:#fff!important;border:2px solid #e2a91b!important}.blackout .muted{color:#c9d7cf!important}
.winner{background:#fff8df!important;border:2px solid #d9a313!important;box-shadow:0 5px 15px rgba(151,108,0,.10)!important}
.winner h3,.winner .leader1{color:#6e5200!important}
.seg{background:#e9eeea!important;border:1px solid #d7dfd9!important}.seg button{color:#68736c!important}.seg button.active{background:#003f2b!important;color:#fff!important}
.toast{background:#082d21!important;color:#fff!important;border:1px solid #315343!important}
.playerFullPageBar{background:#003f2b!important;color:#fff!important;border-bottom:3px solid #e2a91b!important}
.playerFullPageTitle{color:#fff!important}
.playerFullPageBar button{color:#fff!important}
.dashMenu button,.playerMenuList button{background:#fff!important;color:#142018!important}
.dashMenu i,.playerMenuList i{color:#00523a!important}
/* Gold is now filled/dark-backed, never pale text on white */
button[onclick*="switch" i],button[onclick*="reveal" i]{background:linear-gradient(180deg,#e6b22e,#c98e08)!important;color:#fff!important;border:1px solid #af7900!important}



/* V152: Player View returns to a straightforward list presentation. */
.playerHomeList{
  border-radius:14px!important;
  overflow:hidden!important;
}
.playerHomeList button{
  border-radius:0!important;
  box-shadow:none!important;
  min-height:58px;
}
.playerHomeList button + button{
  border-top:1px solid #e7ece9!important;
}

/* V152: one compact organiser action control per player row. */
.playerManage{
  position:relative;
  display:inline-block;
  text-align:left;
}
.playerManage summary{
  list-style:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:74px;
  min-height:34px;
  padding:6px 10px;
  border:1px solid #b9c8bf;
  border-radius:9px;
  background:#fff;
  color:#003f2b;
  font-weight:750;
  font-size:13px;
  user-select:none;
}
.playerManage summary::-webkit-details-marker{display:none}
.playerManage[open] summary{
  border-color:#1d7958;
  box-shadow:0 0 0 3px rgba(0,107,74,.08);
}
.playerManageMenu{
  position:absolute;
  right:0;
  top:calc(100% + 6px);
  z-index:80;
  width:158px;
  padding:6px;
  border:1px solid #d6dfd9;
  border-radius:11px;
  background:#fff;
  box-shadow:0 10px 24px rgba(0,47,31,.18);
}
.playerManageMenu button{
  display:block;
  width:100%;
  border:0!important;
  border-radius:7px!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#173c2d!important;
  text-align:left;
  padding:9px 10px;
  font-size:13px;
  font-weight:700;
}
.playerManageMenu button:hover{
  background:#f1f5f2!important;
}
.playerManageMenu .dangerAction{
  color:#96352b!important;
}
#playerTable td:last-child{
  white-space:nowrap;
  overflow:visible;
}
@media(max-width:520px){
  .playerManageMenu{
    right:0;
    width:150px;
  }
}



/* V172: entry choices are visible by default; checking states hide them explicitly. */



/* V153: the role chooser is a true standalone gateway, never part of the owner/player page flow. */
.modal-overlay{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  overflow:auto!important;
  padding:24px 14px!important;
  box-sizing:border-box!important;
  align-items:flex-start!important;
  justify-content:center!important;
  background:#eef3ef!important;
}
#gwsStartupGate{
  background:#eef3ef!important;
}
#gwsStartupGate .modal-card{
  width:min(100%,480px)!important;
  margin:7vh auto 24px!important;
  background:#fff!important;
  border:1px solid #d8e1db!important;
  border-radius:18px!important;
  padding:24px!important;
  box-shadow:0 14px 36px rgba(0,47,31,.15)!important;
}
body.gws-startup-choice-open #platformShell,
body.gws-startup-choice-open #swindleApp{
  display:none!important;
}



/* V181 — controlled score entry. No operating-system keyboard on Group Scores. */
#score .scoreTableWrap{
  overflow:auto!important;
  max-height:none!important;
  height:clamp(300px,56dvh,590px)!important;
  position:relative!important;
  overscroll-behavior:contain!important;
  scroll-behavior:auto!important;
  scroll-padding-top:78px!important;
  scroll-padding-bottom:210px!important;
  -webkit-overflow-scrolling:auto!important;
}
#score .scoreStickyTable{
  border-collapse:separate!important;
  border-spacing:0!important;
  table-layout:auto!important;
}
#score .scoreStickyTable thead th{
  position:sticky!important;top:0!important;z-index:20!important;
  transform:none!important;
}
#score .scoreStickyTable .stickyHole{
  position:sticky!important;left:0!important;z-index:18!important;
  width:50px!important;min-width:50px!important;max-width:50px!important;
  transform:none!important;
}
#score .scoreStickyTable thead .stickyHole{z-index:30!important}
#score .scoreStickyTable th,#score .scoreStickyTable td{
  box-sizing:border-box!important;
}
#score .scorePlayerHead{width:64px!important;min-width:64px!important}
#score .scoreInput{
  width:50px!important;min-width:50px!important;
  cursor:pointer!important;caret-color:transparent!important;
  user-select:none!important;-webkit-user-select:none!important;
}
#score .scoreInput.gwsScorePadActive,#mycard .scoreInput.gwsScorePadActive{
  border:3px solid #c62828!important;
  background:#fff0f0!important;
  color:#8b0000!important;
  box-shadow:inset 0 0 0 1px #c62828,0 0 0 3px rgba(198,40,40,.18)!important;
}
#score tr.gwsScorePadRow td,#mycard tr.gwsScorePadRow td{background:inherit!important}
#score tr.gwsScorePadRow .stickyHole,#mycard tr.gwsScorePadRow .stickyHole{background:inherit!important}
body.gws-score-pad-open #score .scoreTableWrap,body.gws-score-pad-open #mycard .scoreTableWrap{padding-bottom:var(--gws-score-pad-space,260px)!important;scroll-padding-bottom:var(--gws-score-pad-space,260px)!important}
#gwsScorePad{
  position:fixed;left:50%;top:auto;bottom:0;transform:translateX(-50%);margin:0;
  width:min(480px,100%);max-width:100%;z-index:12000;background:#fff;
  border:1px solid #cbd8d0;border-bottom:0;border-radius:18px 18px 0 0;
  box-shadow:0 -12px 34px rgba(0,47,31,.24);
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
}
#gwsScorePad[hidden]{display:none!important}
#gwsScorePad:not([hidden]){display:block!important;visibility:visible!important;pointer-events:auto!important}
.gwsScorePadHead{display:grid;grid-template-columns:1fr auto 36px;gap:10px;align-items:center;margin-bottom:8px}
.gwsScorePadEyebrow{font-size:10px;font-weight:900;letter-spacing:.8px;color:#607169}
.gwsScorePadTitle{font-size:14px;font-weight:900;color:#153b2c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gwsScorePadValue{min-width:54px;text-align:center;font-size:25px;font-weight:950;color:#003f2b}
.gwsScorePadClose{width:36px;height:36px;padding:0;border-radius:50%;background:#edf2ee;color:#003f2b;font-size:24px;line-height:1}
.gwsScorePadKeys{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.gwsScorePadKeys button{min-height:44px;padding:6px;font-size:20px;font-weight:900;border-radius:9px;background:#f4f7f5;color:#123d2d;border:1px solid #d3ddd7;box-shadow:none}
.gwsScorePadKeys button:active{transform:none;background:#e5efe9}
#gwsScorePadX{background:#edf5f0;color:#005238}
.gwsScorePadActions{display:grid;grid-template-columns:.75fr .75fr 1fr 1fr;gap:6px;margin-top:8px}
.gwsScorePadActions button{min-height:42px;padding:7px 6px;font-size:14px}
.gwsScorePadAdjust{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
.gwsScorePadAdjust button{min-height:38px;padding:6px;font-size:18px;font-weight:900}
@media(max-width:420px){
  #score .scoreTableWrap{height:52dvh!important;min-height:270px!important}
  #score th,#score td{padding-top:7px!important;padding-bottom:7px!important}
  #score .scoreInput{min-height:34px!important;font-size:15px!important}
}
@media(orientation:landscape) and (max-height:520px){
  #score .scoreTableWrap{height:48dvh!important;min-height:190px!important}
  .gwsScorePadKeys button{min-height:34px;font-size:17px}
  .gwsScorePadActions button{min-height:34px}
}



.rolebar .organiser-view-switch{display:none!important}
body.gws-can-organise .rolebar .organiser-view-switch{
  display:block!important;
  width:100%!important;
}
body.gws-can-organise .rolebar{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
}
body.gws-can-organise .rolebar .role-switch{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  width:100%!important;
  gap:3px!important;
}
body.gws-can-organise .rolebar .role-switch button{
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
.organiser-switch-note{
  display:none;
  text-align:center;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#68736c;
  margin:0 0 5px;
}
body.gws-can-organise .organiser-switch-note{display:block!important}
body:not(.gws-can-organise) .organiser-view-switch{display:none!important}



/* V179: organiser preview switch must sit ABOVE fixed Player pages. */
#gwsOrganiserPreviewSwitch{
  display:none;
}
body.gws-organiser-player-preview #gwsOrganiserPreviewSwitch{
  display:block!important;
  position:fixed!important;
  top:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(480px,100%)!important;
  z-index:5000!important;
  background:#fff!important;
  border-bottom:1px solid #d7dfd9!important;
  padding:8px 12px 9px!important;
  box-shadow:0 4px 14px rgba(0,47,31,.18)!important;
}
body.gws-organiser-player-preview #gwsOrganiserPreviewSwitch .organiser-switch-note{
  display:block!important;
  text-align:center!important;
  margin:0 0 5px!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  color:#68736c!important;
}
body.gws-organiser-player-preview #gwsOrganiserPreviewSwitch .role-switch{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:3px!important;
  width:100%!important;
  padding:3px!important;
  background:#e8eeea!important;
  border:1px solid #d7dfd9!important;
  border-radius:11px!important;
}
body.gws-organiser-player-preview #gwsOrganiserPreviewSwitch .role-switch button{
  display:block!important;
  width:100%!important;
  min-height:38px!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#68736c!important;
  font-weight:850!important;
}
body.gws-organiser-player-preview #previewPlayerViewBtn,
body.gws-organiser-player-preview #previewOrganiserViewBtn.active{
  color:#fff!important;
  background:linear-gradient(180deg,#075b40,#003d2a)!important;
}
/* Leave room for the organiser switch above every fixed Player page. */
body.gws-organiser-player-preview .playerFullPage.active{
  top:76px!important;
  height:calc(100vh - 76px)!important;
}
/* Genuine players can never see this organiser-only control. */
body:not(.gws-organiser-player-preview) #gwsOrganiserPreviewSwitch{
  display:none!important;
}



#leaderboard.card{padding:8px 8px!important}
.leaderboardTableWrap{width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.leaderboardSummaryTable{width:100%;min-width:350px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.leaderboardSummaryTable th,.leaderboardSummaryTable td{padding:10px 5px;border-bottom:1px solid #e7ece8;vertical-align:middle}
.leaderboardSummaryTable th{font-size:10px;line-height:1.15;text-transform:uppercase;color:var(--muted);font-weight:850;white-space:normal}
.leaderboardSummaryTable th:nth-child(1),.leaderboardSummaryTable td:nth-child(1){width:34px;text-align:center}
.leaderboardSummaryTable th:nth-child(2),.leaderboardSummaryTable td:nth-child(2){width:auto;text-align:left}
.leaderboardSummaryTable th:nth-child(n+3),.leaderboardSummaryTable td:nth-child(n+3){width:62px;text-align:center}
.leaderboardSummaryTable td:nth-child(n+3){font-variant-numeric:tabular-nums;font-size:15px}
.leaderboardSummaryTable tr.leader1 td{background:#eef8f0}
.leaderboardSummaryTable tr.leader1 td:first-child{border-radius:10px 0 0 10px}
.leaderboardSummaryTable tr.leader1 td:last-child{border-radius:0 10px 10px 0}
@media(max-width:390px){
  .leaderboardSummaryTable{min-width:330px}
  .leaderboardSummaryTable th,.leaderboardSummaryTable td{padding-left:3px;padding-right:3px}
  .leaderboardSummaryTable th:nth-child(n+3),.leaderboardSummaryTable td:nth-child(n+3){width:56px}
  .leaderboardSummaryTable td:nth-child(2){font-size:13px}
  .leaderboardSummaryTable td:nth-child(2) .muted{font-size:10px}
}



/* V405: Demo uses identical live positioning; no extra banner or offsets. */
#gwsDemoModeBanner{display:none!important}
body.gws-demo-mode .screen .gwsDemoHeadingTag{display:inline!important; font:inherit; font-size:.82em; font-weight:800; color:inherit; white-space:nowrap}

/* V235: reserve the space beneath every Group Scores button so save/points text never shifts the score box. */
#score .gwsPlayerScoreCell{vertical-align:top!important;min-height:76px!important;padding-top:5px!important;padding-bottom:4px!important}
#score .gwsPlayerScoreCell .scoreInput{display:inline-block!important;margin:0 auto 2px!important;box-sizing:border-box!important}
#score .gwsScoreSaveMark{height:12px!important;min-height:12px!important;line-height:12px!important;font-size:10px!important;margin:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important}
#score .gwsScorePoints{height:14px!important;min-height:14px!important;line-height:14px!important;font-size:10px!important;margin:0!important;white-space:nowrap!important;overflow:hidden!important}



/* V241 — quieter golf-scorecard palette and visible GWS branding on every screen. */
:root{
  --cream:#f7f8f5!important;
  --ink:#202622!important;
  --muted:#69736d!important;
  --line:#dce2de!important;
  --warn:#fff3d6!important;
}
body{background:#edf0ed!important;color:var(--ink)!important}
.app,.platform-shell{background:#f7f8f5!important}
.card:not(.hero):not(.blackout){background:#fff!important}
.card h2,.card h3{color:#202b25!important}
.muted,.footerNote,label{color:#69736d!important}
/* Keep GWS green for navigation and actions, not ordinary information. */
.primary{background:#0a553d!important;border-color:#074632!important}
.secondary{background:#fff!important;color:#0a553d!important;border-color:#cbd5cf!important}
.tabs{background:#fff!important}
.tab{color:#68736d!important}
.tab.active{color:#0a553d!important}
/* Scorecard: predominantly white, with a restrained green header. */
#score .scoreTableWrap{background:#fff!important;border-color:#d4ddd7!important}
#score .scoreStickyTable td{background:#fff!important;color:#202622!important}
#score .scoreStickyTable tbody tr:nth-child(even) td{background:#fbfcfa!important}
#score .scoreStickyTable thead th,#score .scoreStickyTable .stickyHole{background:#124f3a!important;color:#fff!important}
#score .scoreInput{background:#fff!important;color:#18201b!important;border-color:#cbd5cf!important}
#score .scoreInput.scoreSaving{background:#fff4d9!important;border-color:#d49a27!important}
#score .scoreInput.scoreSaved{background:#eef8f0!important;border-color:#3e945f!important}
#score .scoreInput.scoreSaveError{background:#fff0ee!important;border-color:#c6473d!important}
#score .gwsPlayerScoreCell.gwsActiveScoreCell,#score .scoreInput.gwsActiveScoreCell{background:#edf7f0!important}
/* Status language: green confirmed, amber device/queued, red only attention/errors. */
.yes,.pill.yes{background:#e8f5eb!important;color:#176a37!important;border-color:#cce5d3!important}
.wait,.pill.wait{background:#fff3d6!important;color:#7a5814!important;border-color:#ead59f!important}
.no,.pill.no,.validationError{background:#fae8e5!important;color:#94362d!important}
/* Player full-page screens cover the normal app header, so keep a small logo visible in their sticky bar. */
body.player-mode .playerFullPage.active .playerFullPageBar{
  background-color:#124f3a!important;
  background-image:url('/assets/images/icon-192.png')!important;
  background-repeat:no-repeat!important;
  background-size:30px 30px!important;
  background-position:calc(100% - 50px) center!important;
  padding-right:48px!important;
}
body.player-mode #playermenu.active .playerFullPageBar{background-position:calc(100% - 12px) center!important}
body.player-mode .playerFullPage.active .playerFullPageTitle{color:#fff!important}
@media(max-width:360px){
  body.player-mode .playerFullPage.active .playerFullPageBar{background-size:26px 26px!important;background-position:calc(100% - 45px) center!important}
  body.player-mode #playermenu.active .playerFullPageBar{background-position:calc(100% - 10px) center!important}
}



/* V242: keep the organiser header logo fully visible above neighbouring header controls. */
#swindleApp > header{overflow:visible!important}
#swindleApp > header .app-header-row{overflow:visible!important;align-items:center!important}
#swindleApp > header .header-brand{position:relative!important;z-index:3!important;overflow:visible!important;flex:1 1 auto!important;min-width:0!important}
#swindleApp > header .header-logo{display:block!important;position:relative!important;z-index:4!important;width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;flex:0 0 58px!important;object-fit:contain!important;object-position:center!important;overflow:visible!important;clip-path:none!important;mask-image:none!important;-webkit-mask-image:none!important}
#swindleApp > header .app-header-actions{position:relative!important;z-index:2!important;flex:0 0 auto!important}
@media(max-width:360px){#swindleApp > header .header-logo{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;flex-basis:52px!important}}



html,body{width:100%!important;min-width:100%!important;max-width:100%!important;-webkit-text-size-adjust:100%!important}
#gwsStartupGate{width:100%!important;max-width:none!important;left:0!important;right:0!important;transform:none!important}
#gwsStartupGate .modal-card{max-width:480px!important;transform:none!important}
.gwsManualRefreshBtn{position:fixed;right:10px;top:calc(env(safe-area-inset-top,0px) + 8px);z-index:1300;border:1px solid rgba(255,255,255,.6);background:#fff;color:#0a553d;border-radius:18px;padding:6px 9px;font-weight:800;font-size:12px;box-shadow:0 2px 8px rgba(0,0,0,.16);line-height:1}
.gwsManualRefreshBtn.busy{opacity:.6}
body.gws-startup-choice-open .gwsManualRefreshBtn{display:none!important}
@media(max-width:360px){.gwsManualRefreshBtn span{display:none}.gwsManualRefreshBtn{font-size:18px;padding:4px 8px}}



/* V244 — Organiser View uses the same clean menu-led navigation as Player View. */
body:not(.player-mode) .tabs{display:none!important}
#organisermenu{padding-top:8px}
.organiserMenuHero{
  display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;
  background:#124f3a;color:#fff;border-radius:16px;box-shadow:0 4px 14px rgba(0,0,0,.12)
}
.organiserMenuHero img{display:block;width:52px;height:52px;flex:0 0 52px;object-fit:contain!important;opacity:1!important;visibility:visible!important;filter:none!important}
.organiserMenuHero h2{margin:0;color:#fff}
.organiserMenuHero .muted{color:rgba(255,255,255,.82)!important}
.organiserMenuList{padding:0!important;overflow:hidden}
.organiserMenuList button{width:100%;border:0;border-bottom:1px solid #e5ebe7;background:#fff;color:#142018;display:grid;grid-template-columns:34px 1fr 22px;align-items:center;gap:10px;text-align:left;padding:13px 14px;min-height:62px;cursor:pointer}
.organiserMenuList button:last-child{border-bottom:0}
.organiserMenuList button>span:first-child{font-size:21px;text-align:center}
.organiserMenuList b{font-size:16px}
.organiserMenuList small{display:block;color:#748078;font-size:12px;margin-top:2px}
.organiserMenuList i{font-style:normal;font-size:28px;color:#00523a;text-align:right}
#gwsOrganiserPageBar{display:none;position:sticky;top:116px;z-index:76;margin:0 12px 10px;padding:7px 9px;background:#124f3a;border-radius:0 0 13px 13px;box-shadow:0 3px 10px rgba(0,0,0,.12);align-items:center;grid-template-columns:auto 1fr auto;gap:8px}
body:not(.player-mode) #gwsOrganiserPageBar.gws-visible{display:grid}
#gwsOrganiserPageBar .gwsOrgPageTitle{color:#fff;font-weight:900;text-align:center;font-size:15px}
#gwsOrganiserPageBar button{min-height:34px;padding:6px 10px;border-radius:9px}
#gwsOrganiserPageBar .gwsOrgMiniLogo{width:31px;height:31px;display:block;object-fit:contain!important;opacity:1!important;visibility:visible!important}
/* The organiser header logo is always explicit and never masked/clipped. */
body:not(.player-mode) #swindleApp>header .header-logo{display:block!important;visibility:visible!important;opacity:1!important;clip:auto!important;clip-path:none!important;filter:none!important;transform:none!important}
@media(max-width:360px){
  .organiserMenuHero img{width:46px;height:46px;flex-basis:46px}
  #gwsOrganiserPageBar{margin-left:8px;margin-right:8px}
  #gwsOrganiserPageBar .gwsOrgPageTitle{font-size:14px}
}



/* V245 — Player View now follows the same visual/navigation language as Organiser View. */
body.player-mode #playermenu{padding-top:8px!important}
.playerMenuHero{
  display:flex;align-items:center;gap:12px;margin:0 12px 12px;padding:12px 14px;
  background:#124f3a;color:#fff;border-radius:16px;box-shadow:0 4px 14px rgba(0,0,0,.12)
}
.playerMenuHero img{display:block;width:52px;height:52px;flex:0 0 52px;object-fit:contain!important;opacity:1!important;visibility:visible!important;filter:none!important}
.playerMenuHero h2{margin:0;color:#fff!important}
.playerMenuHero .eyebrow{color:#d9eee5!important}
.playerMenuHero .muted{color:rgba(255,255,255,.82)!important}
body.player-mode .playerMenuList{margin-left:12px!important;margin-right:12px!important}
body.player-mode .playerFullPageBar{
  position:sticky!important;top:calc(env(safe-area-inset-top,0px) + 6px)!important;z-index:76!important;
  margin:0 12px 10px!important;padding:7px 9px!important;
  background:#124f3a!important;border-radius:0 0 13px 13px!important;
  border-bottom:0!important;box-shadow:0 3px 10px rgba(0,0,0,.12)!important;
  min-height:48px!important;grid-template-columns:auto 1fr auto!important;gap:8px!important
}
body.player-mode .playerFullPageBar .playerFullPageTitle{color:#fff!important;font-weight:900!important;text-align:center!important;font-size:15px!important}
body.player-mode .playerFullPageBar button{min-height:34px!important;padding:6px 10px!important;border-radius:9px!important;background:#fff!important;color:#003f2b!important;border:1px solid #b9c8bf!important}
body.player-mode .playerFullPageBar .gwsPlayerMiniLogo{width:31px;height:31px;display:block;object-fit:contain!important;opacity:1!important;visibility:visible!important;filter:none!important}
@media(max-width:360px){
  .playerMenuHero{margin-left:8px;margin-right:8px}.playerMenuHero img{width:46px;height:46px;flex-basis:46px}
  body.player-mode .playerMenuList{margin-left:8px!important;margin-right:8px!important}
  body.player-mode .playerFullPageBar{margin-left:8px!important;margin-right:8px!important}
  body.player-mode .playerFullPageBar .playerFullPageTitle{font-size:14px!important}
}



/* V247 — Organiser and Player menus now share the same page structure as well as the same visual component. */
#organisermenu .gwsSharedMenuHero,
#playermenu .gwsSharedMenuHero{
  display:flex!important;align-items:center!important;gap:12px!important;
  margin:0 0 12px!important;padding:12px 14px!important;
  background:#124f3a!important;color:#fff!important;border-radius:16px!important;
  box-shadow:0 4px 14px rgba(0,0,0,.12)!important;box-sizing:border-box!important;
}
#organisermenu .gwsSharedMenuHero img,
#playermenu .gwsSharedMenuHero img{
  display:block!important;width:52px!important;height:52px!important;flex:0 0 52px!important;
  object-fit:contain!important;opacity:1!important;visibility:visible!important;filter:none!important;
}
#organisermenu .gwsSharedMenuHero h2,
#playermenu .gwsSharedMenuHero h2{margin:0!important;color:#fff!important;font-size:24px!important;line-height:1.1!important}
#organisermenu .gwsSharedMenuHero .eyebrow,
#playermenu .gwsSharedMenuHero .eyebrow{color:#d9eee5!important}
#organisermenu .gwsSharedMenuHero .muted,
#playermenu .gwsSharedMenuHero .muted{color:rgba(255,255,255,.82)!important}
#organisermenu .gwsSharedMenuList,
#playermenu .gwsSharedMenuList{
  display:block!important;margin:0!important;padding:0!important;overflow:hidden!important;
  background:#fff!important;border:1px solid #e5ebe7!important;border-radius:16px!important;
  box-shadow:0 4px 14px rgba(0,47,31,.065)!important;
}
#organisermenu .gwsSharedMenuList button,
#playermenu .gwsSharedMenuList button{
  width:100%!important;border:0!important;border-bottom:1px solid #e5ebe7!important;border-radius:0!important;
  background:#fff!important;box-shadow:none!important;color:#142018!important;
  display:grid!important;grid-template-columns:42px 1fr 22px!important;align-items:center!important;gap:10px!important;
  text-align:left!important;padding:13px 14px!important;min-height:64px!important;cursor:pointer!important;
}
#organisermenu .gwsSharedMenuList button:last-child,
#playermenu .gwsSharedMenuList button:last-child{border-bottom:0!important}
#organisermenu .gwsSharedMenuList button>span:first-child,
#playermenu .gwsSharedMenuList button>span:first-child{
  width:36px!important;height:36px!important;border-radius:10px!important;display:flex!important;
  align-items:center!important;justify-content:center!important;background:#eaf5ef!important;color:#124f3a!important;
  font-size:20px!important;text-align:center!important;
}
#organisermenu .gwsSharedMenuList b,
#playermenu .gwsSharedMenuList b{color:#18231d!important;font-size:16px!important;letter-spacing:-.1px!important}
#organisermenu .gwsSharedMenuList small,
#playermenu .gwsSharedMenuList small{display:block!important;color:#748078!important;font-size:12px!important;margin-top:2px!important}
#organisermenu .gwsSharedMenuList i,
#playermenu .gwsSharedMenuList i{font-style:normal!important;font-size:28px!important;color:#00523a!important;text-align:right!important}
/* Match the menu content width/insets in both modes. */
@media(max-width:360px){
  #organisermenu .gwsSharedMenuHero img,#playermenu .gwsSharedMenuHero img{width:46px!important;height:46px!important;flex-basis:46px!important}
  #organisermenu .gwsSharedMenuList button,#playermenu .gwsSharedMenuList button{min-height:62px!important;padding:12px!important}
}



/* V252 — Organiser and Player landing screens use the exact same visual shell. */
#swindleApp>header{
  display:block!important;background:#fff!important;color:#142018!important;
  border-bottom:1px solid #dfe7e2!important;box-shadow:0 2px 10px rgba(0,47,31,.06)!important;
  min-height:70px!important;padding:6px 12px!important;box-sizing:border-box!important;
}
#swindleApp>header .app-header-row{min-height:58px!important;display:flex!important;align-items:center!important}
#swindleApp>header .header-brand{display:flex!important;align-items:center!important;gap:10px!important}
#swindleApp>header .header-logo{width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;flex:0 0 58px!important}
#swindleApp>header .header-title-block{display:block!important;min-width:0!important}
#swindleApp>header #currentSwindleName{margin:0!important;color:#163229!important;font-size:21px!important;line-height:1.05!important;font-weight:900!important}
#swindleApp>header .header-app-name{margin-top:2px!important;color:#0a5a40!important;font-size:13px!important;font-weight:800!important;line-height:1.15!important}
#swindleApp>header .membership-note{margin-top:2px!important;color:#738078!important;font-size:11px!important;line-height:1.15!important}

/* Both landing screens get the same inset, width and spacing. */
#organisermenu,#playermenu{padding:8px 12px 26px!important;box-sizing:border-box!important}
#organisermenu .gwsUnifiedMenuHero,#playermenu .gwsUnifiedMenuHero{
  display:flex!important;align-items:center!important;gap:12px!important;
  margin:0 0 12px!important;padding:12px 14px!important;
  background:#124f3a!important;color:#fff!important;border-radius:16px!important;
  box-shadow:0 4px 14px rgba(0,0,0,.12)!important;box-sizing:border-box!important;
}
#organisermenu .gwsUnifiedMenuHero img,#playermenu .gwsUnifiedMenuHero img{
  display:block!important;width:52px!important;height:52px!important;flex:0 0 52px!important;
  object-fit:contain!important;opacity:1!important;visibility:visible!important;filter:none!important;
}
#organisermenu .gwsUnifiedMenuHero h2,#playermenu .gwsUnifiedMenuHero h2{margin:0!important;color:#fff!important;font-size:24px!important;line-height:1.1!important}
#organisermenu .gwsUnifiedMenuHero .eyebrow,#playermenu .gwsUnifiedMenuHero .eyebrow{color:#d9eee5!important;font-size:11px!important;font-weight:800!important}
#organisermenu .gwsUnifiedMenuHero .muted,#playermenu .gwsUnifiedMenuHero .muted{color:rgba(255,255,255,.82)!important;font-size:12px!important}
#organisermenu .gwsUnifiedMenuList,#playermenu .gwsUnifiedMenuList{
  display:block!important;margin:0!important;padding:0!important;overflow:hidden!important;
  background:#fff!important;border:1px solid #e5ebe7!important;border-radius:16px!important;
  box-shadow:0 4px 14px rgba(0,47,31,.065)!important;
}
#organisermenu .gwsUnifiedMenuList button,#playermenu .gwsUnifiedMenuList button{
  width:100%!important;border:0!important;border-bottom:1px solid #e5ebe7!important;border-radius:0!important;
  background:#fff!important;box-shadow:none!important;color:#142018!important;
  display:grid!important;grid-template-columns:42px 1fr 22px!important;align-items:center!important;gap:10px!important;
  text-align:left!important;padding:13px 14px!important;min-height:64px!important;cursor:pointer!important;
}
#organisermenu .gwsUnifiedMenuList button>span:first-child,#playermenu .gwsUnifiedMenuList button>span:first-child{
  width:36px!important;height:36px!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  background:#eaf5ef!important;color:#124f3a!important;font-size:20px!important;text-align:center!important;
}
#organisermenu .gwsUnifiedMenuList b,#playermenu .gwsUnifiedMenuList b{color:#18231d!important;font-size:16px!important;letter-spacing:-.1px!important}

/* Old Player menu rules must not change the shared component. */
body.player-mode #playermenu{margin:0!important;max-width:none!important;position:static!important;inset:auto!important;overflow:visible!important;background:transparent!important}
body.player-mode #playermenu .gwsUnifiedMenuHero,body.player-mode #playermenu .gwsUnifiedMenuList{margin-left:0!important;margin-right:0!important}

@media(max-width:360px){
  #swindleApp>header{padding-left:8px!important;padding-right:8px!important}
  #swindleApp>header .header-logo{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;flex-basis:52px!important}
  #organisermenu,#playermenu{padding-left:8px!important;padding-right:8px!important}
  #organisermenu .gwsUnifiedMenuHero img,#playermenu .gwsUnifiedMenuHero img{width:46px!important;height:46px!important;flex-basis:46px!important}
  #organisermenu .gwsUnifiedMenuList button,#playermenu .gwsUnifiedMenuList button{min-height:62px!important;padding:12px!important}
}



/* V252: organiser and player landing screens share identical outer chrome.
   Role-specific utility bars are suppressed only on the two menu landing pages. */
body.gws-unified-menu-landing .rolebar,
body.gws-unified-menu-landing #gwsOrganiserPreviewSwitch,
body.gws-unified-menu-landing .tabs,
body.gws-unified-menu-landing #gwsOrganiserPageBar{display:none!important}
body.gws-unified-menu-landing #organisermenu,
body.gws-unified-menu-landing #playermenu{padding-top:0!important;margin-top:0!important}
/* One and only one visual geometry for both role menus. */
#organisermenu .gwsUnifiedMenuHero,#playermenu .gwsUnifiedMenuHero{
  margin:0 12px 12px!important;padding:14px!important;min-height:80px!important;
  border-radius:15px!important;display:flex!important;align-items:center!important;gap:12px!important;
  background:linear-gradient(135deg,#075b40,#003d2a)!important;box-shadow:none!important
}
#organisermenu .gwsUnifiedMenuHero img,#playermenu .gwsUnifiedMenuHero img{
  width:52px!important;height:52px!important;flex:0 0 52px!important;object-fit:contain!important;display:block!important
}
#organisermenu .gwsUnifiedMenuHero .eyebrow,#playermenu .gwsUnifiedMenuHero .eyebrow{
  color:#d9eee5!important;font-size:11px!important;font-weight:800!important;line-height:1.2!important;margin:0!important
}
#organisermenu .gwsUnifiedMenuHero h2,#playermenu .gwsUnifiedMenuHero h2{
  color:#fff!important;font-size:24px!important;line-height:1.1!important;margin:2px 0!important
}
#organisermenu .gwsUnifiedMenuHero .muted,#playermenu .gwsUnifiedMenuHero .muted{
  color:rgba(255,255,255,.82)!important;font-size:12px!important;line-height:1.3!important;margin:0!important
}
#organisermenu .gwsUnifiedMenuList,#playermenu .gwsUnifiedMenuList{
  margin:0 12px 18px!important;padding:0!important;border-radius:15px!important;overflow:hidden!important;background:#fff!important
}
#organisermenu .gwsUnifiedMenuList button,#playermenu .gwsUnifiedMenuList button{
  width:100%!important;border:0!important;border-bottom:1px solid #e5ebe7!important;background:#fff!important;color:#142018!important;
  display:grid!important;grid-template-columns:34px 1fr 22px!important;align-items:center!important;gap:10px!important;
  text-align:left!important;padding:13px 14px!important;min-height:62px!important;margin:0!important;border-radius:0!important
}
#organisermenu .gwsUnifiedMenuList button:last-child,#playermenu .gwsUnifiedMenuList button:last-child{border-bottom:0!important}
#organisermenu .gwsUnifiedMenuList button>span:first-child,#playermenu .gwsUnifiedMenuList button>span:first-child{font-size:21px!important;text-align:center!important}
#organisermenu .gwsUnifiedMenuList b,#playermenu .gwsUnifiedMenuList b{font-size:16px!important;color:#18231d!important}
#organisermenu .gwsUnifiedMenuList small,#playermenu .gwsUnifiedMenuList small{display:block!important;color:#748078!important;font-size:12px!important;margin-top:2px!important}
#organisermenu .gwsUnifiedMenuList i,#playermenu .gwsUnifiedMenuList i{font-style:normal!important;font-size:28px!important;color:#00523a!important;text-align:right!important}
#organisermenu .gwsUnifiedRoleSwitch,#playermenu .gwsUnifiedRoleSwitch{
  display:none;margin:0 12px 12px;padding:4px;background:#e8efeb;border:1px solid #d7e2dc;border-radius:12px;grid-template-columns:1fr 1fr;gap:4px
}
body.gws-can-organise #organisermenu .gwsUnifiedRoleSwitch,body.gws-can-organise #playermenu .gwsUnifiedRoleSwitch{display:grid!important}
#organisermenu .gwsUnifiedRoleSwitch button,#playermenu .gwsUnifiedRoleSwitch button{
  min-height:40px;border:0;border-radius:9px;background:transparent;color:#526159;font-size:13px;font-weight:850;padding:8px 10px
}
#organisermenu .gwsUnifiedRoleSwitch button.active,#playermenu .gwsUnifiedRoleSwitch button.active{
  background:#fff;color:#00523a;box-shadow:0 1px 3px rgba(0,0,0,.09)
}
@media(max-width:360px){
  #organisermenu .gwsUnifiedMenuHero,#playermenu .gwsUnifiedMenuHero{margin-left:8px!important;margin-right:8px!important}
  #organisermenu .gwsUnifiedMenuList,#playermenu .gwsUnifiedMenuList{margin-left:8px!important;margin-right:8px!important}
  #organisermenu .gwsUnifiedRoleSwitch,#playermenu .gwsUnifiedRoleSwitch{margin-left:8px!important;margin-right:8px!important}
  #organisermenu .gwsUnifiedMenuHero img,#playermenu .gwsUnifiedMenuHero img{width:46px!important;height:46px!important;flex-basis:46px!important}
}



/* V252: remove legacy role/tab chrome from the rendered app.
   Both landing pages now use only the same main header + the same in-page role switch + the same menu components. */
#swindleApp > .rolebar,
#gwsOrganiserPreviewSwitch,
nav.tabs{display:none!important}
body.gws-unified-menu-landing main{padding-top:10px!important}



/* V253 — every Organiser sub-page uses one rounded header that stays visible at the top while scrolling. */
body:not(.player-mode):not(.gws-unified-menu-landing) #gwsOrganiserPageBar.gws-visible{
  display:grid!important;
  position:sticky!important;
  top:calc(env(safe-area-inset-top, 0px) + 6px)!important;
  z-index:120!important;
  width:calc(100% - 16px)!important;
  max-width:none!important;
  margin:6px 8px 10px!important;
  box-sizing:border-box!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#124f3a!important;
  box-shadow:0 3px 12px rgba(0,0,0,.16)!important;
}
body:not(.player-mode):not(.gws-unified-menu-landing) #gwsOrganiserPageBar.gws-visible button{
  border-radius:9px!important;
}
@media(max-width:360px){
  body:not(.player-mode):not(.gws-unified-menu-landing) #gwsOrganiserPageBar.gws-visible{
    width:calc(100% - 12px)!important;
    margin-left:6px!important;
    margin-right:6px!important;
  }
}



/* V254 — Organiser and Player sub-pages share the same rounded sticky page-header treatment. */
body:not(.player-mode):not(.gws-unified-menu-landing) #gwsOrganiserPageBar.gws-visible,
body.player-mode .playerFullPage.active > .playerFullPageBar{
  position:sticky!important;
  top:calc(env(safe-area-inset-top, 0px) + 6px)!important;
  z-index:120!important;
  width:calc(100% - 16px)!important;
  max-width:none!important;
  margin:6px 8px 10px!important;
  box-sizing:border-box!important;
  min-height:48px!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#124f3a!important;
  box-shadow:0 3px 12px rgba(0,0,0,.16)!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  gap:8px!important;
}
body.player-mode .playerFullPage.active > .playerFullPageBar{
  display:grid!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
}
body.player-mode .playerFullPage.active > .playerFullPageBar .playerFullPageTitle,
body:not(.player-mode):not(.gws-unified-menu-landing) #gwsOrganiserPageBar .gwsOrgPageTitle{
  color:#fff!important;
  font-weight:900!important;
  text-align:center!important;
  font-size:15px!important;
}
body.player-mode .playerFullPage.active > .playerFullPageBar button,
body:not(.player-mode):not(.gws-unified-menu-landing) #gwsOrganiserPageBar button{
  min-height:34px!important;
  padding:6px 10px!important;
  border-radius:9px!important;
}
body.player-mode .playerFullPage.active > .playerFullPageBar .gwsPlayerMiniLogo,
body:not(.player-mode):not(.gws-unified-menu-landing) #gwsOrganiserPageBar .gwsOrgMiniLogo{
  width:31px!important;
  height:31px!important;
  display:block!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
}
/* Only dual-role users see the Organiser/Player switch on the landing menu. */
#organisermenu .gwsUnifiedRoleSwitch,#playermenu .gwsUnifiedRoleSwitch{display:none!important}
body.gws-can-organise #organisermenu .gwsUnifiedRoleSwitch,
body.gws-can-organise #playermenu .gwsUnifiedRoleSwitch{display:grid!important}
@media(max-width:360px){
  body:not(.player-mode):not(.gws-unified-menu-landing) #gwsOrganiserPageBar.gws-visible,
  body.player-mode .playerFullPage.active > .playerFullPageBar{
    width:calc(100% - 12px)!important;
    margin-left:6px!important;
    margin-right:6px!important;
  }
  body.player-mode .playerFullPage.active > .playerFullPageBar .playerFullPageTitle,
  body:not(.player-mode):not(.gws-unified-menu-landing) #gwsOrganiserPageBar .gwsOrgPageTitle{font-size:14px!important}
}



/* V260 — one logo only on landing/menu screens. The global header logo is the
   real bundled icon and is forced fully visible. Menu heroes are title-only. */
#swindleApp>header .header-logo{
  display:block!important;
  width:62px!important;height:62px!important;min-width:62px!important;min-height:62px!important;
  max-width:62px!important;max-height:62px!important;flex:0 0 62px!important;
  object-fit:contain!important;object-position:center!important;
  margin:0!important;padding:0!important;
  opacity:1!important;visibility:visible!important;
  overflow:visible!important;clip:auto!important;clip-path:none!important;
  mask:none!important;-webkit-mask:none!important;
  transform:none!important;filter:none!important;
  border:0!important;background:transparent!important;
}
#swindleApp>header .header-brand{overflow:visible!important;align-items:center!important;}
#swindleApp>header .app-header-row{overflow:visible!important;min-height:76px!important;}
#organisermenu .gwsUnifiedMenuHero,#playermenu .gwsUnifiedMenuHero{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  min-height:72px!important;padding:14px 18px!important;gap:0!important;overflow:hidden!important;
  background:#075b40!important;background-image:none!important;color:#fff!important;
}
#organisermenu .gwsUnifiedMenuHero .gwsMenuLogoDirect,#playermenu .gwsUnifiedMenuHero .gwsMenuLogoDirect{display:none!important;}
#organisermenu .gwsMenuTitleOnly,#playermenu .gwsMenuTitleOnly{display:block!important;width:100%!important;}
#organisermenu .gwsMenuTitleOnly h2,#playermenu .gwsMenuTitleOnly h2{margin:0!important;}
@media(max-width:360px){
 #swindleApp>header .header-logo{width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important;max-width:56px!important;max-height:56px!important;flex-basis:56px!important;}
}



/* V267 — clear permanent green alternate-hole bands on both score-entry screens. */
#score .scoreStickyTable tbody tr:not(.gwsScoreTotalRow):nth-child(even) > td{
  background:#e7f2ea!important;
}
#score .scoreStickyTable tbody tr:not(.gwsScoreTotalRow):nth-child(odd) > td{
  background:#fff!important;
}
#mycard #myCardTable tbody tr:nth-child(even) > td{
  background:#e7f2ea!important;
}
#mycard #myCardTable tbody tr:nth-child(odd) > td{
  background:#fff!important;
}
/* Hole-number cells remain GWS green, regardless of row stripe. */
#score .scoreStickyTable tbody .stickyHole{
  background:#124f3a!important;
  color:#fff!important;
}
/* The red active score box must remain red over either white or green hole band. */
#score .scoreInput.gwsScorePadActive,#mycard .scoreInput.gwsScorePadActive{
  background:#fff0f0!important;
  border-color:#c62828!important;
  color:#8b0000!important;
}
/* Reserve enough real scrollable space above the fixed score pad for holes 16–18. */
body.gws-score-pad-open #score,
body.gws-score-pad-open #mycard{
  padding-bottom:calc(var(--gws-score-pad-space,190px) + 110px)!important;
  scroll-padding-bottom:calc(var(--gws-score-pad-space,190px) + 110px)!important;
}
body.player-mode.gws-score-pad-open #score.playerFullPage.active,
body.player-mode.gws-score-pad-open #mycard.playerFullPage.active{
  padding-bottom:calc(var(--gws-score-pad-space,190px) + 130px)!important;
  scroll-padding-bottom:calc(var(--gws-score-pad-space,190px) + 130px)!important;
}



/* V268 — deterministic score-entry scrolling. A real DOM spacer, rather than
   padding alone, guarantees enough scroll range to lift holes 16-18 above the fixed pad. */
#score .gwsScoreBottomSpacer,#mycard .gwsScoreBottomSpacer{display:none;height:0;pointer-events:none}
body.gws-score-pad-open #score .gwsScoreBottomSpacer,
body.gws-score-pad-open #mycard .gwsScoreBottomSpacer{
  display:block!important;
  height:calc(var(--gws-score-pad-space,190px) + 180px)!important;
  min-height:calc(var(--gws-score-pad-space,190px) + 180px)!important;
}
body.player-mode.gws-score-pad-open #score.playerFullPage.active,
body.player-mode.gws-score-pad-open #mycard.playerFullPage.active{
  padding-bottom:28px!important;
}



/* V269 — restore clearly visible hole numbers and give TOTAL the three metadata columns. */
#score .scoreStickyTable tbody tr:not(.gwsScoreTotalRow) > td.stickyHole.gwsMetaHole{
  background:#124f3a!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.2!important;
  text-align:center!important;
  opacity:1!important;
  visibility:visible!important;
  -webkit-text-fill-color:#fff!important;
}
#score .scoreStickyTable tbody tr:not(.gwsScoreTotalRow) > td.stickyHole.gwsMetaHole b{
  display:inline!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  -webkit-text-fill-color:#fff!important;
}
#score .gwsScoreTotalRow .gwsScoreTotalLabel{
  width:auto!important;
  min-width:80px!important;
  max-width:none!important;
  padding:8px 4px!important;
  background:#124f3a!important;
  color:#fff!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:visible!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.2px!important;
}



/* V274 — My Card visually follows Group Scores without changing any column widths.
   Yardage and SI are shown inside the existing Hole/Par cells so no extra columns
   or width rules are introduced. */
#mycard #myCardTable table{
  border-collapse:separate!important;
  border-spacing:0!important;
}
#mycard #myCardTable th,#mycard #myCardTable td{
  text-align:center!important;
  vertical-align:top!important;
}
#mycard #myCardTable tbody td.gwsMyCardHole{
  background:#124f3a!important;
  color:#fff!important;
  font-weight:900!important;
  -webkit-text-fill-color:#fff!important;
}
#mycard #myCardTable .gwsMyCardHoleNo{font-size:14px!important;line-height:1.1!important;font-weight:950!important}
#mycard #myCardTable .gwsMyCardYards{font-size:9px!important;line-height:1.15!important;margin-top:4px!important;white-space:nowrap!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
#mycard #myCardTable .gwsMyCardPar{font-weight:900!important;line-height:1.15!important}
#mycard #myCardTable .gwsMyCardSi{font-size:9px!important;line-height:1.15!important;margin-top:4px!important;color:#607169!important;white-space:nowrap!important}
#mycard #myCardTable .gwsMyCardPts{font-size:9px!important;line-height:1.15!important;margin-top:3px!important;white-space:nowrap!important}
#mycard #myCardTable .gwsMyCardSave{height:12px!important;min-height:12px!important;line-height:12px!important;font-size:9px!important;margin:2px 0 0!important;white-space:nowrap!important;overflow:hidden!important}
#mycard #myCardTable tbody tr:nth-child(even) > td:not(.gwsMyCardHole){background:#e7f2ea!important}
#mycard #myCardTable tbody tr:nth-child(odd) > td:not(.gwsMyCardHole){background:#fff!important}
#mycard #myCardTable .scoreInput.gwsScorePadActive{background:#fff0f0!important;border-color:#c62828!important;color:#8b0000!important}
#mycard .gwsMyCardRunningTotal{border-top:2px solid #173f2f!important;background:#f3f7f4!important;margin-top:0!important;padding:10px 8px!important}



body.gws-temp-organiser-mode #tempOrganiserMenuBtn{display:grid!important}
body.gws-temp-organiser-mode .gwsTempOrganiserBar{display:flex!important}
body.gws-temp-organiser-mode .gwsTempOrganiserBanner{display:block!important}
body.player-mode.gws-temp-organiser-mode .temp-organiser-card-control{display:block!important}
body.player-mode.gws-temp-organiser-mode button.temp-organiser-card-control{display:inline-flex!important}
body.player-mode.gws-temp-organiser-mode #draw .organiser-only{display:block!important}
body.player-mode.gws-temp-organiser-mode #draw button.organiser-only{display:inline-flex!important}
.gwsTempOrganiserBar{display:none;align-items:center;gap:10px;margin:8px 12px 0;padding:10px 12px;border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.08)}
.gwsTempOrganiserBar .gwsTempTitle{font-weight:800;flex:1;color:#173329;text-align:center}
.gwsTempOrganiserBanner{display:none;border:2px solid #d6ad46!important;background:#fff8dc!important}
.gwsTempOrganiserBanner .eyebrow{color:#8b6a12!important}



/* V288 — My Card is six columns. Keep Hole, Yards and Match/Mismatch visible on every phone. */
#mycard #myCardTable table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important}
#mycard #myCardTable th,#mycard #myCardTable td{box-sizing:border-box!important;min-width:0!important;padding-left:2px!important;padding-right:2px!important;overflow:visible!important}
#mycard #myCardTable th:nth-child(1),#mycard #myCardTable td:nth-child(1){width:10%!important}
#mycard #myCardTable th:nth-child(2),#mycard #myCardTable td:nth-child(2){width:11%!important}
#mycard #myCardTable th:nth-child(3),#mycard #myCardTable td:nth-child(3){width:16%!important}
#mycard #myCardTable th:nth-child(4),#mycard #myCardTable td:nth-child(4){width:22%!important}
#mycard #myCardTable th:nth-child(5),#mycard #myCardTable td:nth-child(5){width:18%!important}
#mycard #myCardTable th:nth-child(6),#mycard #myCardTable td:nth-child(6){width:23%!important}
#mycard #myCardTable .gwsMyCardHole{display:table-cell!important;background:#124f3a!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
#mycard #myCardTable .gwsMyCardHoleNo{display:block!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:950!important}
#mycard #myCardTable .gwsMyCardYardsCell{display:table-cell!important;text-align:center!important}
#mycard #myCardTable .gwsMyCardYards{display:block!important;color:#334b40!important;-webkit-text-fill-color:#334b40!important;font-weight:850!important;white-space:nowrap!important}
#mycard #myCardTable th:nth-child(6),#mycard #myCardTable td:nth-child(6){white-space:normal!important;overflow:visible!important}
#mycard #myCardTable td:nth-child(6) .pill{display:inline-block!important;max-width:100%!important;padding:4px 5px!important;font-size:10px!important;line-height:1.05!important;white-space:nowrap!important}
@media(max-width:390px){
  #mycard #myCardTable th{font-size:8px!important;line-height:1.05!important;padding-left:1px!important;padding-right:1px!important}
  #mycard #myCardTable td{font-size:10px!important;padding-left:1px!important;padding-right:1px!important}
  #mycard #myCardTable .gwsMyCardYards{font-size:9px!important}
  #mycard #myCardTable td:nth-child(6) .pill{font-size:8.5px!important;padding:3px 2px!important}
}
@media(max-width:340px){
  #mycard #myCardTable th{font-size:7.5px!important}
  #mycard #myCardTable td:nth-child(6) .pill{font-size:8px!important;padding:2px 1px!important}
}



/* V303 — messaging is provider-neutral until native deep linking is introduced. */
/* V291 — My Card mirrors the leaderboard player-card columns, but runs holes 1–18 vertically. */
#mycard #myCardTable .gwsMyCardPlayerStyle{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important}
#mycard #myCardTable .gwsMyCardPlayerStyle th{background:#003f2b!important;color:#fff!important;-webkit-text-fill-color:#fff!important;text-align:center!important;font-size:9px!important;line-height:1!important;padding:6px 1px!important;white-space:nowrap!important}
#mycard #myCardTable .gwsMyCardPlayerStyle td{text-align:center!important;vertical-align:middle!important;padding:4px 1px!important;font-size:10px!important;line-height:1.05!important;overflow:hidden!important}
#mycard #myCardTable .gwsMyCardPlayerStyle th:nth-child(1),#mycard #myCardTable .gwsMyCardPlayerStyle td:nth-child(1){width:7%!important}
#mycard #myCardTable .gwsMyCardPlayerStyle th:nth-child(2),#mycard #myCardTable .gwsMyCardPlayerStyle td:nth-child(2){width:11%!important}
#mycard #myCardTable .gwsMyCardPlayerStyle th:nth-child(3),#mycard #myCardTable .gwsMyCardPlayerStyle td:nth-child(3){width:8%!important}
#mycard #myCardTable .gwsMyCardPlayerStyle th:nth-child(4),#mycard #myCardTable .gwsMyCardPlayerStyle td:nth-child(4){width:8%!important}
#mycard #myCardTable .gwsMyCardPlayerStyle th:nth-child(5),#mycard #myCardTable .gwsMyCardPlayerStyle td:nth-child(5){width:16%!important}
#mycard #myCardTable .gwsMyCardPlayerStyle th:nth-child(6),#mycard #myCardTable .gwsMyCardPlayerStyle td:nth-child(6){width:9%!important}
#mycard #myCardTable .gwsMyCardPlayerStyle th:nth-child(7),#mycard #myCardTable .gwsMyCardPlayerStyle td:nth-child(7){width:15%!important}
#mycard #myCardTable .gwsMyCardPlayerStyle th:nth-child(8),#mycard #myCardTable .gwsMyCardPlayerStyle td:nth-child(8){width:26%!important}
#mycard #myCardTable .gwsMyCardPlayerStyle .gwsMyCardHole{background:#124f3a!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
#mycard #myCardTable .gwsMyCardPlayerStyle .gwsMyCardHoleNo{font-size:12px!important;line-height:1!important}
#mycard #myCardTable .gwsMyCardPlayerStyle .gwsMyCardYards{font-size:9px!important;line-height:1!important;margin:0!important;color:#4d6258!important;-webkit-text-fill-color:#4d6258!important}
#mycard #myCardTable .gwsMyCardPlayerStyle .gwsMyCardPar,#mycard #myCardTable .gwsMyCardPlayerStyle .gwsMyCardSi{font-size:10px!important;line-height:1!important;margin:0!important;color:inherit!important}
#mycard #myCardTable .gwsMyCardPlayerStyle .gwsScoreButton{min-width:27px!important;width:27px!important;height:24px!important;min-height:24px!important;padding:0 2px!important;font-size:12px!important;border-radius:5px!important}
#mycard #myCardTable .gwsMyCardPlayerStyle .gwsMyCardSave{height:9px!important;min-height:9px!important;line-height:9px!important;font-size:7px!important;margin:1px 0 0!important}
#mycard #myCardTable .gwsMyCardPlayerStyle .gwsReadOnlyScore{min-width:24px!important;width:24px!important;height:22px!important;padding:0 2px!important;border-radius:5px!important;font-size:11px!important}
#mycard #myCardTable .gwsMyCardPlayerStyle .gwsMyCardMatchCell{white-space:normal!important;overflow:visible!important}
#mycard #myCardTable .gwsMyCardPlayerStyle .gwsMyCardMatchCell .pill{display:inline-block!important;max-width:100%!important;font-size:8.5px!important;line-height:1!important;padding:3px 2px!important;white-space:nowrap!important}
@media(max-width:360px){
 #mycard #myCardTable .gwsMyCardPlayerStyle th{font-size:8px!important;padding-left:0!important;padding-right:0!important}
 #mycard #myCardTable .gwsMyCardPlayerStyle td{font-size:9px!important;padding-left:0!important;padding-right:0!important}
 #mycard #myCardTable .gwsMyCardPlayerStyle .gwsScoreButton{min-width:24px!important;width:24px!important;height:22px!important;min-height:22px!important;font-size:11px!important}
 #mycard #myCardTable .gwsMyCardPlayerStyle .gwsReadOnlyScore{min-width:22px!important;width:22px!important;height:20px!important;font-size:10px!important}
 #mycard #myCardTable .gwsMyCardPlayerStyle .gwsMyCardMatchCell .pill{font-size:7.5px!important;padding:2px 1px!important}
}
@media(max-width:340px){
 #mycard #myCardTable .gwsMyCardPlayerStyle th{font-size:7px!important}
 #mycard #myCardTable .gwsMyCardPlayerStyle .gwsMyCardMatchCell .pill{font-size:7px!important}
}




/* V303 — polished RSVP controls + compact Invite Status */
.gws-invite-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line,#e5e7eb)}
.gws-invite-row:last-child{border-bottom:0}
.gws-invite-main{min-width:0;line-height:1.2}
.gws-invite-main .muted{margin-top:3px;font-size:12px}
.gws-invite-side{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:7px;min-width:0;text-align:right}
.gws-invite-actions{display:flex;justify-content:flex-end;align-items:center;gap:5px;flex-wrap:nowrap;margin:0}
.gws-invite-side .invite-status{max-width:190px;white-space:normal;text-align:center;padding:4px 8px;font-size:11px;line-height:1.15}
.gws-invite-actions .smallbtn{width:auto!important;min-height:32px!important;padding:6px 9px!important;font-size:11px!important;white-space:nowrap}
@media(max-width:430px){
 .gws-invite-row{grid-template-columns:minmax(0,1fr);gap:6px;padding:8px 0}
 .gws-invite-side{width:100%;justify-content:space-between;align-items:center;gap:6px}
 .gws-invite-side .invite-status{max-width:48%;text-align:left}
 .gws-invite-actions{margin-left:auto;max-width:52%}
 .gws-invite-actions .smallbtn{padding:6px 7px!important;font-size:10.5px!important}
}
@media(max-width:340px){
 .gws-invite-side{align-items:flex-start;flex-wrap:wrap}
 .gws-invite-side .invite-status{max-width:100%}
 .gws-invite-actions{max-width:100%;margin-left:0}
}

.gws-rsvp-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.gws-rsvp-heading .eyebrow{margin:0}
.gws-rsvp-state{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:900;line-height:1.1;text-align:center;background:#eef2f0;color:#43504a;border:1px solid #dce4e0}
.gws-rsvp-state.is-yes{background:#dff5e7;color:#155b31;border-color:#9fd8b5}
.gws-rsvp-state.is-no{background:#fde6e4;color:#8d251d;border-color:#efb1ab}
.gws-rsvp-state.is-wait{background:#fff4d6;color:#705400;border-color:#ead28a}
.gws-rsvp-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
.gws-rsvp-actions button{width:100%!important;min-width:0!important;min-height:52px!important;height:52px!important;margin:0!important;padding:7px 8px!important;border-radius:10px!important;font-size:12px!important;font-weight:900!important;line-height:1.15!important}
.gws-rsvp-choice{background:#f4f7f5!important;color:#33443b!important;border:1px solid #cfd9d3!important;box-shadow:none!important}
.gws-rsvp-choice.is-selected-yes{background:#176b3a!important;color:#fff!important;border-color:#176b3a!important;box-shadow:0 0 0 3px rgba(23,107,58,.13)!important}
.gws-rsvp-choice.is-selected-no{background:#a83228!important;color:#fff!important;border-color:#a83228!important;box-shadow:0 0 0 3px rgba(168,50,40,.12)!important}
.gws-rsvp-choice.is-selected-wait{background:#a97800!important;color:#fff!important;border-color:#a97800!important;box-shadow:0 0 0 3px rgba(169,120,0,.12)!important}
.gws-rsvp-choice:disabled{opacity:.55}
.gws-rsvp-choice.is-selected-yes:disabled,.gws-rsvp-choice.is-selected-no:disabled,.gws-rsvp-choice.is-selected-wait:disabled{opacity:1}
@media(max-width:360px){
 .gws-rsvp-actions{gap:6px}
 .gws-rsvp-actions button{font-size:11px!important;padding:6px 4px!important}
 .gws-rsvp-state{font-size:11px;padding:5px 8px}
}

/* V296 — live Next Game RSVP: player self-response + organiser override. */
/* V295 — one responsive contract for every organiser/player screen. */
html,body,.app,#swindleApp,#platformShell,.platform-shell{min-width:0!important;max-width:100%!important}
.screen,.card,.row,.buttonGrid,.field,.tableWrap,table,thead,tbody,tr,th,td{min-width:0}
.tableWrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.card{max-width:100%;overflow-wrap:anywhere}
.row{max-width:100%}
.row>*{min-width:0}
input,select,textarea{min-width:0;max-width:100%;font-size:16px}
.playerManageMenu{max-width:min(158px,calc(100vw - 28px))!important}
#players> .card:last-child{overflow:visible}
#playerTable td:first-child{overflow-wrap:anywhere}
#playerTable td:first-child .muted{overflow-wrap:anywhere}

@media(max-width:430px){
  main{width:100%;max-width:100%;padding-left:8px!important;padding-right:8px!important}
  .card{width:100%;padding:11px!important}
  .card>.row{flex-wrap:wrap;align-items:flex-start}
  .card>.row>.buttonGrid{width:100%!important;min-width:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .buttonGrid{max-width:100%;min-width:0}
  .buttonGrid>*{min-width:0}
  .statusBtns{width:100%;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px!important}
  .statusBtns button{width:100%;padding-left:4px!important;padding-right:4px!important}
  .grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .courseSummary{grid-template-columns:repeat(2,minmax(0,1fr))}
  th,td{padding-left:4px;padding-right:4px}

  /* Players: turn the wide four-column row into a compact phone card. */
  #players> .card:last-child{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  #players> .card:last-child>table{display:block;width:100%!important}
  #players> .card:last-child>table>thead{display:none}
  #playerTable{display:grid;gap:8px;width:100%}
  #playerTable tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name manage" "hcp status";gap:7px 10px;width:100%;padding:11px;background:#fff;border:1px solid var(--line);border-radius:12px}
  #playerTable td{display:block;border:0!important;padding:0!important;min-width:0;text-align:left!important}
  #playerTable td:nth-child(1){grid-area:name}
  #playerTable td:nth-child(2){grid-area:hcp;font-weight:850}
  #playerTable td:nth-child(2)::before{content:"H'cap  ";font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase}
  #playerTable td:nth-child(3){grid-area:status}
  #playerTable td:nth-child(4){grid-area:manage;justify-self:end}
  #playerTable .playerManage summary{min-width:68px;min-height:36px;padding:6px 8px}
  #playerTable .playerManageMenu{right:0}
}

@media(max-width:340px){
  main{padding-left:6px!important;padding-right:6px!important}
  .card{padding:9px!important}
  .card>.row>.buttonGrid{grid-template-columns:1fr!important}
  .grid3{gap:4px!important}
  button,.btn{max-width:100%;overflow-wrap:anywhere}
  #playerTable tr{padding:9px;gap:6px 8px}
  #playerTable td:first-child b{font-size:13px}
  #playerTable td:first-child .muted{font-size:10px}
}



/* V303 — Organiser RSVP controls never change geometry when selected. */
#rsvpList .statusBtns{
  display:grid!important;grid-template-columns:repeat(3,56px)!important;gap:6px!important;
  width:180px!important;min-width:180px!important;max-width:180px!important;align-items:center!important;justify-content:end!important;
}
#rsvpList .statusBtns button{
  box-sizing:border-box!important;width:56px!important;min-width:56px!important;max-width:56px!important;
  height:34px!important;min-height:34px!important;max-height:34px!important;
  margin:0!important;padding:0 4px!important;border:1px solid transparent!important;border-radius:8px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:11px!important;font-weight:900!important;line-height:1!important;box-shadow:none!important;transform:none!important;
}
#rsvpList .statusBtns button.primary{background:#176b3a!important;color:#fff!important;border-color:#176b3a!important}
#rsvpList .statusBtns button.danger{background:#a83228!important;color:#fff!important;border-color:#a83228!important}
#rsvpList .statusBtns button.gws-org-wait-selected{background:#a97800!important;color:#fff!important;border-color:#a97800!important}
#rsvpList .statusBtns button.secondary,#rsvpList .statusBtns button.ghost{background:#f4f7f5!important;color:#526159!important;border-color:#d5ddd8!important}
@media(max-width:390px){
 #rsvpList .statusBtns{grid-template-columns:repeat(3,minmax(0,1fr))!important;width:168px!important;min-width:168px!important;max-width:168px!important;gap:4px!important}
 #rsvpList .statusBtns button{width:100%!important;min-width:0!important;max-width:none!important;height:34px!important;min-height:34px!important;max-height:34px!important;padding:0 2px!important}
}



#rules .gwsRuleTwoCol{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
#rules .gwsRuleCol{min-width:0;border:1px solid #d8e2dc;border-radius:12px;padding:10px;background:#fff}
#rules .gwsRuleColHead{display:flex;align-items:center;gap:8px;background:#edf6f0;border-radius:9px;padding:8px 9px;margin-bottom:9px;color:#064f38}
#rules .gwsRuleRadio{width:19px;height:19px;border:2px solid #08744f;border-radius:50%;display:inline-block;position:relative;flex:0 0 19px;background:#fff}
#rules .gwsRuleRadio.selected:after{content:"";position:absolute;inset:4px;border-radius:50%;background:#08744f}
#rules .gwsRuleMiniHead,#rules .gwsRuleLine{display:grid;grid-template-columns:minmax(0,1fr) 74px;gap:7px;align-items:center}
#rules .gwsRuleMiniHead{font-size:10px;font-weight:900;color:#6b756f;margin:2px 0 5px}
#rules .gwsRuleLine{margin:6px 0}#rules .gwsRuleLine label{font-size:12px;font-weight:800}
#rules .gwsRulePadInput{width:100%!important;min-width:0!important;height:38px!important;padding:7px 8px!important;border:2px solid #bfd0c5!important;border-radius:8px!important;background:#fbfdfb!important;color:#173b2e!important;-webkit-text-fill-color:#173b2e!important;opacity:1!important;font-weight:800!important;text-align:center!important;cursor:pointer}
#rules .gwsRuleBands{display:flex;flex-direction:column;gap:8px}
#rules .gwsBandsHeader{display:grid;grid-template-columns:minmax(0,1fr) 72px 30px;gap:7px;align-items:end;padding:0 2px 5px;color:#6b756f;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.02em}
#rules .gwsBandRow{display:grid;grid-template-columns:minmax(0,1fr) 72px 30px;gap:7px;align-items:center;padding:8px;border:1px solid #e1e9e4;border-radius:9px;background:#fbfdfb;position:relative}
#rules .gwsBandRange{font-size:10px;font-weight:800;min-width:0;line-height:1.2;color:#274337}
#rules .gwsBandRange>span{display:block;min-height:14px}
#rules .gwsBandMax{margin-top:5px;height:32px!important}
#rules .gwsBandAdjustment{height:32px!important}
#rules .gwsBandDelete{width:30px!important;min-width:30px!important;max-width:30px!important;height:30px!important;min-height:30px!important;padding:0!important;margin:0!important;border-radius:7px!important;font-size:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
#rules .gwsBandDelete:after{content:"×";font-size:18px;font-weight:900;line-height:1}
#rules .gwsBandDelete:disabled{visibility:hidden!important}
#rules .gwsRuleAddBtn{width:100%;margin-top:9px;min-height:36px!important;padding:6px!important;font-size:11px!important}
#rules .gwsRuleLimits{align-items:end}.gwsRuleSuffix{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.gwsRuleSuffix span{font-weight:900}
body.player-mode #rules .gwsRulePadInput{pointer-events:none;background:#f6f8f6!important}
@media(max-width:380px){#rules .gwsRuleTwoCol{gap:6px}#rules .gwsRuleCol{padding:7px}#rules .gwsRuleLine{grid-template-columns:minmax(0,1fr) 60px}#rules .gwsBandsHeader,#rules .gwsBandRow{grid-template-columns:minmax(0,1fr) 58px 26px;gap:4px}#rules .gwsBandRow{padding:6px}#rules .gwsBandDelete{width:26px!important;min-width:26px!important;max-width:26px!important;height:28px!important;min-height:28px!important}#rules .gwsBandsHeader{font-size:8px}}



/* V307: compact one-line Points Adjustments rows approved by organiser. Logic unchanged. */
#rules .gwsPointsAdjustmentsCard>h3{font-size:19px!important;margin-bottom:12px!important;color:#075d42}
#rules .gwsPointsAdjustmentsCard .gwsRuleTwoCol{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;align-items:stretch}
#rules .gwsPointsAdjustmentsCard .gwsRuleCol{min-width:0!important;padding:7px!important;border:2px solid #c9d9cf!important;border-radius:13px!important;background:#fff!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleColHead{min-height:42px!important;justify-content:center!important;margin-bottom:8px!important;padding:7px 4px!important;border-radius:9px!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleColHead b{font-size:14px!important;letter-spacing:.01em!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRow{display:grid!important;grid-template-columns:minmax(0,1fr) 26px 56px!important;gap:5px!important;align-items:center!important;min-height:46px!important;padding:5px!important;border:0!important;border-radius:8px!important;background:#fff!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRow:nth-child(odd){background:#f7faf8!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRange{display:flex!important;align-items:center!important;gap:4px!important;min-width:0!important;font-size:10px!important;line-height:1!important;font-weight:900!important;color:#173b2e!important;padding:0!important;white-space:nowrap!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRange>span{display:inline!important;min-height:0!important;white-space:nowrap!important}
#rules .gwsPointsAdjustmentsCard .gwsBandMax{display:inline-block!important;flex:0 0 48px!important;width:48px!important;min-width:48px!important;max-width:48px!important;height:34px!important;min-height:34px!important;margin:0!important;padding:3px!important;font-size:13px!important;font-weight:900!important}
#rules .gwsPointsAdjustmentsCard .gwsBandDelete{grid-column:2!important;width:26px!important;min-width:26px!important;max-width:26px!important;height:28px!important;min-height:28px!important;margin:0!important}
#rules .gwsPointsAdjustmentsCard .gwsBandAdjustment{grid-column:3!important;width:56px!important;min-width:56px!important;max-width:56px!important;height:34px!important;min-height:34px!important;margin:0!important;padding:3px!important;font-size:13px!important;font-weight:900!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleAddBtn{min-height:36px!important;padding:5px 3px!important;font-size:10px!important;margin-top:8px!important}
@media(max-width:380px){
 #rules .gwsPointsAdjustmentsCard .gwsRuleTwoCol{gap:5px!important}
 #rules .gwsPointsAdjustmentsCard .gwsRuleCol{padding:5px!important}
 #rules .gwsPointsAdjustmentsCard .gwsRuleColHead b{font-size:12px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandRow{grid-template-columns:minmax(0,1fr) 22px 48px!important;gap:3px!important;padding:4px 2px!important;min-height:43px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandRange{font-size:9px!important;gap:2px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandMax{flex-basis:40px!important;width:40px!important;min-width:40px!important;max-width:40px!important;height:32px!important;min-height:32px!important;font-size:12px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandDelete{width:22px!important;min-width:22px!important;max-width:22px!important;height:26px!important;min-height:26px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandAdjustment{width:48px!important;min-width:48px!important;max-width:48px!important;height:32px!important;min-height:32px!important;font-size:12px!important}
}



/* V309: phone-fit refinement only. Keeps V307 approved one-line layout and logic. */
#rules .gwsPointsAdjustmentsCard{padding-left:8px!important;padding-right:8px!important;overflow:hidden!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleTwoCol{gap:4px!important;width:100%!important;min-width:0!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleCol{padding:4px!important;min-width:0!important;overflow:hidden!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleColHead{min-height:38px!important;padding:5px 2px!important;margin-bottom:6px!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleColHead b{font-size:12px!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleBands{gap:5px!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRow{grid-template-columns:minmax(0,1fr) 18px 43px!important;gap:2px!important;min-width:0!important;min-height:40px!important;padding:3px 1px!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRange{display:grid!important;grid-template-columns:minmax(0,1fr) 36px!important;gap:2px!important;align-items:center!important;min-width:0!important;font-size:8.5px!important;letter-spacing:-.15px!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRange>span{min-width:0!important;overflow:hidden!important;text-overflow:clip!important}
#rules .gwsPointsAdjustmentsCard .gwsBandMax{display:block!important;box-sizing:border-box!important;flex:none!important;width:36px!important;min-width:36px!important;max-width:36px!important;height:30px!important;min-height:30px!important;padding:2px!important;font-size:11px!important}
#rules .gwsPointsAdjustmentsCard .gwsBandDelete{box-sizing:border-box!important;width:18px!important;min-width:18px!important;max-width:18px!important;height:24px!important;min-height:24px!important;border-radius:6px!important}
#rules .gwsPointsAdjustmentsCard .gwsBandDelete:after{font-size:15px!important}
#rules .gwsPointsAdjustmentsCard .gwsBandAdjustment{box-sizing:border-box!important;width:43px!important;min-width:43px!important;max-width:43px!important;height:30px!important;min-height:30px!important;padding:2px!important;font-size:11px!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleAddBtn{min-height:32px!important;font-size:9px!important;padding:4px 1px!important}
@media(max-width:380px){
 #rules .gwsPointsAdjustmentsCard{padding-left:5px!important;padding-right:5px!important}
 #rules .gwsPointsAdjustmentsCard .gwsRuleTwoCol{gap:3px!important}
 #rules .gwsPointsAdjustmentsCard .gwsRuleCol{padding:3px!important}
 #rules .gwsPointsAdjustmentsCard .gwsRuleColHead b{font-size:11px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandRow{grid-template-columns:minmax(0,1fr) 16px 39px!important;gap:1px!important;padding:3px 0!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandRange{grid-template-columns:minmax(0,1fr) 32px!important;gap:1px!important;font-size:8px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandMax{width:32px!important;min-width:32px!important;max-width:32px!important;height:29px!important;min-height:29px!important;font-size:10px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandDelete{width:16px!important;min-width:16px!important;max-width:16px!important;height:22px!important;min-height:22px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandAdjustment{width:39px!important;min-width:39px!important;max-width:39px!important;height:29px!important;min-height:29px!important;font-size:10px!important}
}



/* V309: threshold on top; delete and adjustment beneath. Presentation only. */
#rules .gwsPointsAdjustmentsCard{padding-left:8px!important;padding-right:8px!important;overflow:visible!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleTwoCol{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:6px!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleCol{padding:5px!important;min-width:0!important;overflow:visible!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleColHead{min-height:40px!important;padding:6px 3px!important;margin-bottom:7px!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleColHead b{font-size:13px!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleBands{gap:7px!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRow{display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;grid-template-rows:34px 34px!important;column-gap:6px!important;row-gap:4px!important;align-items:center!important;min-width:0!important;min-height:80px!important;padding:6px!important;border:0!important;border-radius:9px!important;background:#f7faf8!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRow:nth-child(even){background:#fff!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRange{grid-column:1/3!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;min-width:0!important;font-size:10px!important;line-height:1!important;font-weight:900!important;letter-spacing:0!important;white-space:nowrap!important;overflow:visible!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRange>span{display:inline!important;min-height:0!important;overflow:visible!important;white-space:nowrap!important}
#rules .gwsPointsAdjustmentsCard .gwsBandMax{display:inline-block!important;box-sizing:border-box!important;flex:0 0 52px!important;width:52px!important;min-width:52px!important;max-width:52px!important;height:34px!important;min-height:34px!important;margin:0!important;padding:3px!important;font-size:13px!important;font-weight:900!important}
#rules .gwsPointsAdjustmentsCard .gwsBandDelete{grid-column:1!important;grid-row:2!important;box-sizing:border-box!important;width:30px!important;min-width:30px!important;max-width:30px!important;height:30px!important;min-height:30px!important;margin:0!important;border-radius:7px!important}
#rules .gwsPointsAdjustmentsCard .gwsBandDelete:after{font-size:18px!important}
#rules .gwsPointsAdjustmentsCard .gwsBandAdjustment{grid-column:2!important;grid-row:2!important;justify-self:start!important;box-sizing:border-box!important;width:64px!important;min-width:64px!important;max-width:64px!important;height:34px!important;min-height:34px!important;margin:0!important;padding:3px!important;font-size:13px!important;font-weight:900!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleAddBtn{min-height:34px!important;padding:5px 2px!important;font-size:10px!important;margin-top:8px!important}
@media(max-width:380px){
 #rules .gwsPointsAdjustmentsCard{padding-left:5px!important;padding-right:5px!important}
 #rules .gwsPointsAdjustmentsCard .gwsRuleTwoCol{gap:4px!important}
 #rules .gwsPointsAdjustmentsCard .gwsRuleCol{padding:4px!important}
 #rules .gwsPointsAdjustmentsCard .gwsRuleColHead b{font-size:12px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandRow{grid-template-columns:27px minmax(0,1fr)!important;grid-template-rows:32px 32px!important;column-gap:4px!important;row-gap:3px!important;min-height:74px!important;padding:5px 3px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandRange{gap:3px!important;font-size:9px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandMax{flex-basis:46px!important;width:46px!important;min-width:46px!important;max-width:46px!important;height:32px!important;min-height:32px!important;font-size:12px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandDelete{width:27px!important;min-width:27px!important;max-width:27px!important;height:27px!important;min-height:27px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandAdjustment{width:58px!important;min-width:58px!important;max-width:58px!important;height:32px!important;min-height:32px!important;font-size:12px!important}
}



/* V337 — removed obsolete V283 scorecard geometry now superseded by the single V333 scorecard definitions.
   No scoring logic or current responsive layout changed. */



/* === V134 CONTRAST FIX — no gold on white/light surfaces === */
:root{
  --gws-deep:#003f2b;
  --gws-deep2:#0b5a3d;
  --gws-charcoal:#1a241f;
  --gws-gold:#d6a328;
}

/* Default accents on light surfaces become deep green/charcoal */
.card,
.tabs,
main,
.scoreTableWrap,
.seg,
.stat,
.winner,
input,
select{
  --accent:var(--gws-deep);
}

/* Light-surface text/icons that previously inherited gold */
.card .eyebrow,
.card .trophy,
.card a,
.card .ghost,
.card .leader1,
.card h3,
.card .scoreInitials,
.card [style*="color:#d"],
.card [style*="color: #d"]{
  color:var(--gws-deep)!important;
}

/* Gold remains only where it has proper dark contrast */
header .header-app-name,
.hero .eyebrow,
.blackout .eyebrow{
  color:var(--gws-gold)!important;
}

/* Gold-filled actions always use white text */
button[onclick*="switch"],
button[onclick*="Switch"],
button[onclick*="reveal"],
button[onclick*="Reveal"]{
  color:#fff!important;
}

/* Winner card on a light background: use green text, not gold */
.winner,
.winner h2,
.winner h3,
.winner .leader1,
.winner .big,
.winner .trophy{
  color:var(--gws-deep)!important;
}

/* Tabs on white stay green */
.tab.active{
  color:var(--gws-deep)!important;
  border-bottom-color:var(--gws-deep2)!important;
}

/* Scorecard/table light areas stay green */
.scoreStickyTable thead th,
.scoreStickyTable .stickyHole{
  background:linear-gradient(180deg,#0a5c40,#003f2b)!important;
  color:#fff!important;
}

/* Secondary / ghost controls on white */
.secondary,.ghost{
  color:var(--gws-deep)!important;
}

/* Any gold borders on white cards become subtle green */
.card[style*="border"],
.winner{
  border-color:#cfd8d2!important;
}
.hero{
  border-color:#caa13a!important; /* acceptable: gold against dark green */
}



/* =========================================================
   V136 — MOCK-UP INSPIRED PROFESSIONAL UI
   Presentation only. No scoring / access / Supabase logic.
   Gold is never used as text on a white/light surface.
   ========================================================= */
:root{
  --gws-green-950:#002b1e;
  --gws-green-900:#003724;
  --gws-green-800:#004a32;
  --gws-green-700:#086044;
  --gws-green-100:#e9f2ed;
  --gws-green-050:#f4f8f5;
  --gws-gold:#d4a72c;
  --gws-ink:#131c17;
  --gws-muted:#69736d;
  --gws-line:#dce3de;
  --gws-page:#eef2ee;
  --gws-card:#ffffff;
  --gws-danger:#9b342b;
  --gws-shadow:0 7px 22px rgba(0,48,31,.09);
  --gws-shadow-strong:0 12px 30px rgba(0,43,29,.17);
}

/* App shell */
html,body{
  background:linear-gradient(180deg,#dfe7e1 0%,#edf1ee 100%)!important;
  color:var(--gws-ink)!important;
}
.app{
  background:var(--gws-page)!important;
  box-shadow:0 0 44px rgba(0,43,29,.18)!important;
}
header{
  background:
    radial-gradient(circle at 90% -20%,rgba(212,167,44,.18),transparent 35%),
    linear-gradient(145deg,var(--gws-green-950),var(--gws-green-800))!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  padding:18px 16px 15px!important;
  box-shadow:0 6px 20px rgba(0,39,26,.22)!important;
}
.header-brand{gap:12px!important}
.header-logo{
  width:58px!important;height:58px!important;flex-basis:58px!important;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.20))!important;
}
header h1{
  color:#fff!important;
  font-size:24px!important;
  line-height:1.03!important;
  letter-spacing:-.35px!important;
  font-weight:850!important;
}
.header-app-name{
  color:#fff!important;
  opacity:.72!important;
  font-size:11px!important;
  letter-spacing:1.05px!important;
  text-transform:uppercase!important;
}
.membership-note, header .sub{color:#d7e5dc!important}
.app-header-actions{display:flex!important;gap:7px!important}
.headerBtn{
  min-height:34px!important;
  padding:7px 10px!important;
  border-radius:9px!important;
  color:#fff!important;
  background:rgba(255,255,255,.11)!important;
  border:1px solid rgba(255,255,255,.25)!important;
  box-shadow:none!important;
  backdrop-filter:blur(4px);
}

/* Organiser / Player switch — mock-up segmented control */
.rolebar{
  background:#fff!important;
  border-bottom:1px solid var(--gws-line)!important;
  padding:10px 12px!important;
  box-shadow:0 3px 12px rgba(0,47,31,.05)!important;
}
.role-switch{
  background:#e8eeea!important;
  padding:3px!important;
  border-radius:11px!important;
  border:1px solid #d7dfd9!important;
  overflow:hidden!important;
}
.role-switch button{
  min-height:36px!important;
  border-radius:8px!important;
  color:#68736c!important;
  background:transparent!important;
  border:0!important;
  font-size:12px!important;
  font-weight:850!important;
}
.role-switch button.active{
  color:#fff!important;
  background:linear-gradient(180deg,#075b40,#003d2a)!important;
  box-shadow:0 2px 7px rgba(0,55,37,.18)!important;
}
.identity .pill{
  background:var(--gws-green-100)!important;
  color:var(--gws-green-800)!important;
  border:1px solid #cfe0d5!important;
}

/* Organiser nav becomes compact pill navigation */
.tabs{
  top:78px!important;
  background:#f8faf8!important;
  border-bottom:1px solid var(--gws-line)!important;
  padding:7px 8px!important;
  gap:5px!important;
  box-shadow:0 4px 14px rgba(0,47,31,.05)!important;
}
.tab{
  min-height:34px!important;
  padding:8px 11px!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  color:#657069!important;
  font-size:11px!important;
  font-weight:850!important;
  background:transparent!important;
}
.tab.active{
  color:var(--gws-green-900)!important;
  background:#fff!important;
  border:1px solid #cfdad3!important;
  border-bottom:1px solid #cfdad3!important;
  box-shadow:0 2px 7px rgba(0,48,31,.08)!important;
}

/* Page spacing and cards */
main{padding:15px 12px 96px!important}
.card{
  background:var(--gws-card)!important;
  border:1px solid var(--gws-line)!important;
  border-radius:15px!important;
  padding:15px!important;
  margin-bottom:12px!important;
  box-shadow:var(--gws-shadow)!important;
}
.card h2{
  color:#153a2b!important;
  font-size:20px!important;
  letter-spacing:-.3px!important;
}
.card h3{color:#263b31!important}
.eyebrow{
  color:var(--gws-green-700)!important;
  opacity:1!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:1.05px!important;
}
.muted,.footerNote{color:var(--gws-muted)!important}

/* Hero/game card — direct mock-up feel */
.hero,
.playerDashHero{
  color:#fff!important;
  background:
    radial-gradient(circle at 98% -5%,rgba(212,167,44,.18),transparent 35%),
    linear-gradient(145deg,var(--gws-green-950),var(--gws-green-800))!important;
  border:0!important;
  border-radius:16px!important;
  box-shadow:var(--gws-shadow-strong)!important;
  overflow:hidden!important;
}
.hero h2,.hero h3,.hero .big,
.playerDashHero h2,.playerDashHero h3,.playerDashHero b{
  color:#fff!important;
}
.hero .eyebrow,.playerDashHero .eyebrow{
  color:#fff!important;
  opacity:.72!important;
}
.playerDashHero .dashTees{color:#d7e7dd!important}
.playerDashHero .dashLine{
  border-color:rgba(255,255,255,.15)!important;
  color:#fff!important;
}
.playerDashHero .dashFacts{
  background:rgba(255,255,255,.07)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:12px!important;
  overflow:hidden!important;
  padding:10px 0!important;
}
.playerDashHero .dashFacts>div{border-color:rgba(255,255,255,.12)!important}
.playerDashHero .dashFacts small{color:#cbded2!important}
.playerDashHero .footerNote{color:#c4d8cb!important}

/* Dashboard/action menu: large commercial-app rows */
.dashMenu,
.playerMenuList{
  display:grid!important;
  gap:9px!important;
  background:transparent!important;
}
.dashMenu button,
.playerMenuList button{
  border:1px solid var(--gws-line)!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(0,47,31,.065)!important;
  padding:13px 13px!important;
  min-height:68px!important;
  grid-template-columns:46px 1fr 24px!important;
}
.dashMenu button:hover,.playerMenuList button:hover{background:#fbfcfb!important}
.dashMenu .dashIcon,
.dashMenu button>span:first-child,
.playerMenuList button>span:first-child{
  width:38px!important;height:38px!important;
  border-radius:11px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  background:var(--gws-green-100)!important;
  color:var(--gws-green-800)!important;
  font-size:21px!important;
}
.dashMenu b,.playerMenuList b{
  color:#18231d!important;
  font-size:15px!important;
  letter-spacing:-.1px!important;
}
.dashMenu small,.playerMenuList small{color:#748078!important;font-size:11px!important}
.dashMenu i,.playerMenuList i{
  color:#7d8981!important;
  font-size:24px!important;
}

/* Player subpage top bar */
.playerFullPageBar{
  background:linear-gradient(145deg,var(--gws-green-950),var(--gws-green-800))!important;
  border:0!important;
  color:#fff!important;
  padding:11px 12px!important;
  box-shadow:0 5px 16px rgba(0,43,29,.18)!important;
}
.playerFullPageTitle{color:#fff!important;font-size:16px!important;letter-spacing:-.1px!important}
.playerFullPageBar button{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.20)!important;
}

/* Buttons */
button,.btn{font-weight:850!important}
.primary{
  color:#fff!important;
  background:linear-gradient(180deg,#086044,#003e2a)!important;
  border:1px solid #003724!important;
  box-shadow:0 3px 9px rgba(0,58,39,.16)!important;
}
.secondary{
  background:#fff!important;
  color:var(--gws-green-800)!important;
  border:1px solid #bfcac3!important;
}
.ghost{color:var(--gws-green-800)!important}
.danger{
  background:#fae9e6!important;
  color:var(--gws-danger)!important;
  border:1px solid #efcec9!important;
}
/* gold is permitted only as a filled CTA with white lettering */
button[onclick*="reveal" i]{
  background:linear-gradient(180deg,#bf8d17,#9f7210)!important;
  color:#fff!important;border:1px solid #8e650c!important;
}

/* Stats and attendance cards */
.grid3{gap:8px!important}
.stat{
  background:var(--gws-green-050)!important;
  border:1px solid #dce7df!important;
  border-radius:12px!important;
  padding:11px 8px!important;
}
.stat b{
  color:var(--gws-green-800)!important;
  font-size:20px!important;
}

/* Tables become cleaner app lists */
table{font-size:13px!important}
thead th{
  background:#f4f7f4!important;
  color:#647269!important;
  font-size:10px!important;
  letter-spacing:.55px!important;
}
th,td{
  border-bottom:1px solid #e9eeea!important;
  padding-top:10px!important;padding-bottom:10px!important;
}
tbody tr:last-child td{border-bottom:0!important}

/* Scoring — dark green professional header, large clean cells */
.scoreTableWrap{
  border:1px solid #cdd8d1!important;
  border-radius:13px!important;
  box-shadow:0 5px 16px rgba(0,47,31,.07)!important;
}
.scoreStickyTable thead th,
.scoreStickyTable .stickyHole{
  background:linear-gradient(180deg,#07593f,#003b28)!important;
  color:#fff!important;
  border-color:#0b5b42!important;
}
.scoreStickyTable thead .scoreInitials{color:#fff!important}
.scoreStickyTable td{background:#fff!important}
.scoreInput{
  background:#fff!important;
  border:1px solid #c9d4cd!important;
  border-radius:7px!important;
  min-height:36px!important;
}
.scoreInput.scoreSaved{
  background:#eef8f0!important;
  border-color:#39905b!important;
}

/* Leaderboard — rows resemble mock-up ranking cards */
#leaderboard.card{padding:8px 14px!important}
.leaderRow{
  grid-template-columns:32px 1fr 52px 64px!important;
  min-height:52px!important;
  padding:9px 4px!important;
  border-bottom:1px solid #e7ece8!important;
}
.leaderRow:first-child{
  background:var(--gws-green-050)!important;
  border-radius:10px!important;
  padding-left:8px!important;padding-right:8px!important;
}
.leader1{
  color:var(--gws-green-900)!important;
  font-size:15px!important;
  font-weight:900!important;
}
.trophy{font-size:20px!important}
.winner{
  background:#f4f8f5!important;
  border:1px solid #cfdcd4!important;
  color:var(--gws-green-900)!important;
}
.winner h3,.winner .leader1,.winner .trophy{color:var(--gws-green-900)!important}

/* My Card — status area like the approved image */
#mycard .card:first-of-type{
  border-top:4px solid var(--gws-green-700)!important;
}
#myCardStatus{
  margin-top:8px!important;
  padding:9px 10px!important;
  background:var(--gws-green-050)!important;
  border:1px solid #d8e6dd!important;
  border-radius:9px!important;
  color:#496056!important;
}
#submitCardBtn{
  min-height:45px!important;
  margin-top:9px!important;
}

/* Form controls */
input,select{
  min-height:41px!important;
  border:1px solid #c9d4cd!important;
  border-radius:9px!important;
  background:#fff!important;
}
input:focus,select:focus{
  outline:none!important;
  border-color:#26795a!important;
  box-shadow:0 0 0 3px rgba(8,96,68,.10)!important;
}
label{color:#5f6d65!important;font-size:11px!important}

/* Status */
.yes,.pill.yes{
  background:#e6f4e9!important;color:#176a37!important;border:1px solid #cde4d3!important;
}
.wait{background:#eff2ef!important;color:#626c66!important}
.no{background:#fae8e5!important;color:#94362d!important}

/* Remove all pale gold from light surfaces */
.card:not(.hero) .eyebrow,
.card:not(.hero) .trophy,
.tab.active,
.secondary,.ghost{
  color:var(--gws-green-800)!important;
}
.tab.active{border-color:#cfdad3!important}
.blackout{
  background:linear-gradient(145deg,var(--gws-green-950),#061b13)!important;
  border:0!important;color:#fff!important;
}
.blackout .eyebrow{color:#fff!important;opacity:.72!important}
.blackout h2,.blackout h3,.blackout .leader1{color:#fff!important}

/* Phones */
@media(max-width:420px){
  header{padding-left:13px!important;padding-right:13px!important}
  header h1{font-size:22px!important}
  .header-logo{width:52px!important;height:52px!important;flex-basis:52px!important}
  main{padding-left:10px!important;padding-right:10px!important}
  .card{padding:13px!important;border-radius:14px!important}
  .dashMenu button,.playerMenuList button{min-height:64px!important}
}



/* === V138 READABILITY UPGRADE === */
html{font-size:17px!important}
body{font-size:17px!important}
header h1{font-size:26px!important}
.header-app-name{font-size:13px!important}
.membership-note,header .sub{font-size:13px!important}
.role-switch button{font-size:14px!important}
.identity .pill{font-size:13px!important}
.tab{font-size:13px!important;padding:9px 12px!important}
.card h2{font-size:22px!important}
.card h3{font-size:17px!important}
.eyebrow{font-size:12px!important}
.muted,.footerNote{font-size:14px!important;line-height:1.45!important}
button,.btn{font-size:15px!important}
.smallbtn{font-size:13px!important}
input,select{font-size:16px!important}
label{font-size:13px!important}
table{font-size:15px!important}
th{font-size:12px!important}
.playerFullPageTitle{font-size:18px!important}
.dashMenu b,.playerMenuList b{font-size:17px!important}
.dashMenu small,.playerMenuList small{font-size:13px!important}
.dashLine{font-size:15px!important}
.dashFacts small{font-size:12px!important}
.dashFacts b{font-size:14px!important}
.stat b{font-size:22px!important}
.stat .muted{font-size:13px!important}
.leader1{font-size:17px!important}
.leaderHead{font-size:12px!important}
.scoreInitials{font-size:14px!important}
.scoreInput{font-size:17px!important}
#gwsStartupTitle{font-size:25px!important}
#gwsStartupText{font-size:16px!important;line-height:1.5!important}
@media(max-width:420px){
  html,body{font-size:16px!important}
  header h1{font-size:24px!important}
  .tab{font-size:12px!important}
  .card h2{font-size:21px!important}
  .muted,.footerNote{font-size:13px!important}
}



/* === V139 SCORECARD TYPOGRAPHY RESET ===
   Keep V138 larger text globally, but restore the original compact sizing
   inside My Card and Group Scores so the score tables fit phone screens. */

/* My Card */
#mycard{font-size:14px!important}
#mycard .playerFullPageTitle{font-size:16px!important}
#mycard .card h2{font-size:20px!important}
#mycard .card h3{font-size:15px!important}
#mycard .footerNote,#mycard .muted{font-size:11px!important;line-height:1.45!important}
#mycard table{font-size:13px!important}
#mycard th{font-size:11px!important}
#mycard td{font-size:13px!important}
#mycard .scoreInput{font-size:15px!important}
#mycard button,#mycard .btn{font-size:13px!important}
#mycard .smallbtn{font-size:11px!important}
#mycard label{font-size:12px!important}
#mycard select,#mycard input{font-size:15px!important}
#mycard .pill{font-size:10px!important}

/* Group Scores / scorer entry */
#score{font-size:14px!important}
#score .playerFullPageTitle{font-size:16px!important}
#score .card h2{font-size:20px!important}
#score .card h3{font-size:15px!important}
#score .footerNote,#score .muted{font-size:11px!important;line-height:1.45!important}
#score table{font-size:13px!important}
#score th{font-size:11px!important}
#score td{font-size:13px!important}
#score .scoreInput{font-size:15px!important}
#score .scoreInitials{font-size:12px!important}
#score button,#score .btn{font-size:13px!important}
#score .smallbtn{font-size:11px!important}
#score label{font-size:12px!important}
#score select,#score input{font-size:15px!important}
#score .pill{font-size:10px!important}



/* === V142 ORGANISER PLAYER-VIEW TIDY ===
   Only affects an organiser while previewing Player View.
   Real player-only devices are unchanged. */
body.gws-organiser-player-preview .rolebar{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  padding:8px 12px 9px!important;
  align-items:stretch!important;
}
body.gws-organiser-player-preview .rolebar .role-switch{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  width:100%!important;
  gap:3px!important;
}
body.gws-organiser-player-preview .rolebar .role-switch button{
  width:100%!important;
  min-width:0!important;
  min-height:38px!important;
  margin:0!important;
  padding:8px 10px!important;
  text-align:center!important;
}
body.gws-organiser-player-preview .rolebar .identity{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:0!important;
  text-align:center!important;
}
body.gws-organiser-player-preview .rolebar .identity .pill{
  margin:0!important;
  white-space:nowrap!important;
}
body.gws-organiser-player-preview .rolebar .identity .player-identity.muted{
  margin:0!important;
  white-space:nowrap!important;
}
/* The Player dashboard/menu already provides the player navigation.
   Hide the organiser's horizontal tab strip in preview so two navigation
   systems are not competing with each other. */
body.gws-organiser-player-preview .tabs{
  display:none!important;
}
body.gws-organiser-player-preview main{
  padding-top:10px!important;
}
body.gws-organiser-player-preview #playerhome .dashMenu,
body.gws-organiser-player-preview #playerhome .playerMenuList{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:9px!important;
}
body.gws-organiser-player-preview #playerhome .dashMenu button,
body.gws-organiser-player-preview #playerhome .playerMenuList button{
  width:100%!important;
  min-width:0!important;
  min-height:76px!important;
  margin:0!important;
  padding:12px!important;
  text-align:left!important;
}
@media(max-width:360px){
  body.gws-organiser-player-preview #playerhome .dashMenu,
  body.gws-organiser-player-preview #playerhome .playerMenuList{
    grid-template-columns:1fr!important;
  }
}



/* V200 — one stable mobile scorecard geometry and one dark-green visual language. */
#score .scoreTableWrap{
  overflow-x:hidden!important;
  width:100%!important;
}
#score .gwsSevenColumnScore{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
#score .gwsSevenColumnScore th,#score .gwsSevenColumnScore td{
  padding:6px 2px!important;
  text-align:center!important;
  overflow:hidden!important;
}
#score .gwsSevenColumnScore .gwsMetaHole{width:28px!important;min-width:28px!important;max-width:28px!important;left:0!important}
#score .gwsSevenColumnScore .gwsMetaPar{width:27px!important;min-width:27px!important;max-width:27px!important}
#score .gwsSevenColumnScore .gwsMetaSi{width:25px!important;min-width:25px!important;max-width:25px!important}
#score .gwsSevenColumnScore .scorePlayerHead{width:auto!important;min-width:0!important;max-width:none!important}
#score .gwsSevenColumnScore .scoreInput{
  display:block!important;
  width:clamp(34px,11vw,48px)!important;
  min-width:0!important;
  max-width:100%!important;
  height:36px!important;
  margin:0 auto!important;
  padding:3px 1px!important;
  text-align:center!important;
}
#score .gwsSevenColumnScore .scoreInitials{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important}
#score .gwsSevenColumnScore .gwsScoreSaveMark,#score .gwsSevenColumnScore .gwsScorePoints{font-size:9px!important;line-height:1.15!important;white-space:normal!important}
#score .gwsSevenColumnScore .gwsEmptyPlayerHead,#score .gwsSevenColumnScore .gwsEmptyPlayerCell{background:#f3f6f4!important}

/* The two scorecards intentionally share the same dark-green table treatment. */
#score .scoreStickyTable thead th,#mycard #myCardTable table thead th{
  background:#003f2b!important;
  color:#fff!important;
  border-color:#0b5d43!important;
}
#score .scoreStickyTable thead th .muted,#score .scoreStickyTable thead th .scoreInitials,#mycard #myCardTable table thead th .muted{color:#fff!important}
#score .scoreStickyTable tbody td,#mycard #myCardTable table tbody td{border-color:#d6e0da!important}
#score .scoreInput,#mycard .scoreInput{
  border:1px solid #8eaa9d!important;
  background:#f5faf7!important;
  color:#003f2b!important;
  font-weight:900!important;
}
#score .scoreInput:not(:disabled):active,#mycard .scoreInput:not(:disabled):active{background:#e8f3ed!important}
#score .scoreInput:disabled,#mycard .scoreInput:disabled{background:#eef2ef!important;color:#52645c!important}
#score .card,#mycard .card{border-color:#b9cbc1!important}

@media(max-width:360px){
  #score .gwsSevenColumnScore .gwsMetaHole{width:26px!important;min-width:26px!important;max-width:26px!important}
  #score .gwsSevenColumnScore .gwsMetaPar{width:25px!important;min-width:25px!important;max-width:25px!important}
  #score .gwsSevenColumnScore .gwsMetaSi{width:23px!important;min-width:23px!important;max-width:23px!important}
  #score .gwsSevenColumnScore .scoreInput{width:34px!important;font-size:14px!important}
}



/* V230 — score entry visibility, compact iPhone pad, and taller scorecard. */
#score .card:has(#scorecard){padding:6px 6px 8px!important;margin-top:4px!important}
#score .gwsScoreInstruction{margin:0 2px 4px!important;font-size:10px!important;line-height:1.15!important}
#score .scoreTableWrap{
  height:calc(100dvh - 150px)!important;
  min-height:430px!important;
  max-height:none!important;
  scroll-padding-top:46px!important;
  scroll-padding-bottom:190px!important;
}
body.gws-score-pad-open #score .scoreTableWrap,body.gws-score-pad-open #mycard .scoreTableWrap{
  padding-bottom:var(--gws-score-pad-space,178px)!important;
  scroll-padding-bottom:var(--gws-score-pad-space,178px)!important;
}
#gwsScorePad{
  width:min(440px,100%)!important;
  border-radius:12px 12px 0 0!important;
  padding:5px 8px calc(5px + env(safe-area-inset-bottom))!important;
}
.gwsScorePadHead{grid-template-columns:1fr auto 30px!important;gap:6px!important;margin-bottom:4px!important}
.gwsScorePadEyebrow{display:none!important}
.gwsScorePadTitle{font-size:12px!important}
.gwsScorePadValue{min-width:38px!important;font-size:20px!important}
.gwsScorePadClose{width:30px!important;height:30px!important;font-size:20px!important}
.gwsScorePadKeys{gap:4px!important}
.gwsScorePadKeys button{min-height:32px!important;padding:2px!important;font-size:17px!important;border-radius:7px!important}
.gwsScorePadAdjust{gap:4px!important;margin-top:4px!important}
.gwsScorePadAdjust button{min-height:29px!important;padding:2px!important;font-size:16px!important}
.gwsScorePadActions{grid-template-columns:.58fr .58fr .78fr 1fr 1.08fr!important;gap:4px!important;margin-top:4px!important}
.gwsScorePadActions button{min-height:31px!important;padding:3px 2px!important;font-size:11px!important}
#score .gwsScorePoints{min-height:11px!important}
@media(max-width:430px){
  #score .scoreTableWrap{height:calc(100dvh - 126px)!important;min-height:440px!important}
  #score .card:has(#scorecard){padding-left:4px!important;padding-right:4px!important}
  #score th,#score td{padding-top:5px!important;padding-bottom:5px!important}
  #score .scoreInput{min-height:32px!important;height:32px!important}
}
@media(max-height:700px){
  #score .scoreTableWrap{height:calc(100dvh - 115px)!important;min-height:350px!important}
  .gwsScorePadKeys button{min-height:29px!important}
  .gwsScorePadActions button{min-height:28px!important}
}



/* V233 — iPhone: use normal page scrolling vertically. The score table only needs
   its own horizontal movement; nested vertical scrolling caused the 'won't scroll
   back down' behaviour on iOS. */
#score .scoreTableWrap{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  overscroll-behavior-x:contain!important;
  overscroll-behavior-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-padding-top:0!important;
  scroll-padding-bottom:0!important;
  padding-bottom:0!important;
}
body.gws-score-pad-open #score .scoreTableWrap,
body.gws-score-pad-open #mycard .scoreTableWrap{
  padding-bottom:0!important;
  scroll-padding-bottom:0!important;
}
body.gws-score-pad-open #score{
  padding-bottom:calc(var(--gws-score-pad-space,170px) + 22px)!important;
}
#score .card:has(#scorecard){
  margin-top:2px!important;
  padding-top:4px!important;
  overflow:visible!important;
}
#score .gwsScoreInstruction{margin-bottom:3px!important}
@media(max-width:430px){
  #score .scoreTableWrap{height:auto!important;min-height:0!important}
}



/* V235 final override: no status/points text may change Group Scores cell geometry. */
#score .gwsSevenColumnScore .gwsPlayerScoreCell{vertical-align:top!important;height:76px!important;min-height:76px!important;padding-top:5px!important;padding-bottom:4px!important}
#score .gwsSevenColumnScore .gwsPlayerScoreCell .scoreInput{margin:0 auto 2px!important;box-sizing:border-box!important}
#score .gwsSevenColumnScore .gwsPlayerScoreCell .gwsScoreSaveMark{display:block!important;height:12px!important;min-height:12px!important;max-height:12px!important;line-height:12px!important;font-size:10px!important;white-space:nowrap!important;overflow:hidden!important;margin:0!important;padding:0!important}
#score .gwsSevenColumnScore .gwsPlayerScoreCell .gwsScorePoints{display:block!important;height:14px!important;min-height:14px!important;max-height:14px!important;line-height:14px!important;font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;margin:0!important;padding:0!important}



/* V236 — simplified score pad, no ambiguous close X, reliable hide, and player names remain visible below Group Scores. */
.gwsScorePadHead{grid-template-columns:1fr auto auto!important;}
.gwsScorePadClose{
  width:auto!important;height:30px!important;min-width:52px!important;padding:0 10px!important;
  border-radius:8px!important;font-size:12px!important;font-weight:900!important;line-height:28px!important;
}
.gwsScorePadActions{grid-template-columns:1fr 1fr!important;gap:5px!important;}
.gwsScorePadActions button{min-height:32px!important;font-size:12px!important;}
body.player-mode #score .scoreStickyTable thead th{
  top:54px!important;z-index:32!important;
}
body.player-mode #score .scoreStickyTable thead .stickyHole{z-index:34!important;}
/* Keep the heading row readable as it passes beneath the fixed Group Scores bar. */
body.player-mode #score .scoreStickyTable thead th{box-shadow:0 2px 0 rgba(255,255,255,.15),0 3px 8px rgba(0,0,0,.10)!important;}



/* V237 — the V236 sticky row was trapped by scoreTableWrap's horizontal overflow,
   so iOS treated that wrapper as the sticky containing block. Group Scores fits
   the phone width, so remove that competing scroll container and let the player
   row stick to the actual page/player screen instead. */
#score .scoreTableWrap{
  overflow:visible!important;
  width:100%!important;
}
#score .scoreStickyTable{
  width:100%!important;
  max-width:100%!important;
}
body.player-mode #score .scoreStickyTable thead th{
  position:sticky!important;
  top:51px!important;
  z-index:80!important;
}
body.player-mode #score .scoreStickyTable thead .stickyHole{z-index:82!important;}
/* Organiser view uses the main sticky header/tabs rather than the player full-page bar. */
body:not(.player-mode) #score .scoreStickyTable thead th{
  position:sticky!important;
  top:116px!important;
  z-index:80!important;
}
body:not(.player-mode) #score .scoreStickyTable thead .stickyHole{z-index:82!important;}
#score .scoreStickyTable thead th{
  background:#003f2b!important;
  color:#fff!important;
  box-shadow:0 2px 0 rgba(255,255,255,.15),0 4px 9px rgba(0,0,0,.18)!important;
}
@media(max-width:360px){
  #score .scorePlayerHead{width:54px!important;min-width:54px!important;max-width:54px!important}
}



/* V239 — first name + surname initial. Column widths are deliberately untouched. */
#score .scorePlayerHead .gwsScorePlayerName{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  padding:0 1px!important;
  font-size:10px!important;
  line-height:1.05!important;
  letter-spacing:0!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  text-align:center!important;
}
@media(max-width:360px){#score .scorePlayerHead .gwsScorePlayerName{font-size:9px!important}}



/* Final V252 cascade guard: legacy chrome must never render over the menu-driven UI. */
#swindleApp > .rolebar,#gwsOrganiserPreviewSwitch,nav.tabs{display:none!important}
#organisermenu .gwsUnifiedRoleSwitch,#playermenu .gwsUnifiedRoleSwitch{margin:0 12px 12px!important}
#organisermenu .gwsUnifiedMenuHero,#playermenu .gwsUnifiedMenuHero{margin:0 12px 12px!important}
#organisermenu .gwsUnifiedMenuList,#playermenu .gwsUnifiedMenuList{margin:0 12px 18px!important}
@media(max-width:360px){
 #organisermenu .gwsUnifiedRoleSwitch,#playermenu .gwsUnifiedRoleSwitch,
 #organisermenu .gwsUnifiedMenuHero,#playermenu .gwsUnifiedMenuHero,
 #organisermenu .gwsUnifiedMenuList,#playermenu .gwsUnifiedMenuList{margin-left:8px!important;margin-right:8px!important}
}



/* V252 — landing menus use the full app width in BOTH roles.
   Remove the inherited main inset, then give each role the identical small edge gutter. */
body.gws-unified-menu-landing main{padding-left:0!important;padding-right:0!important;width:100%!important;max-width:none!important;}
#organisermenu,#playermenu{
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;
  padding-left:8px!important;padding-right:8px!important;box-sizing:border-box!important;
}
#organisermenu .gwsUnifiedRoleSwitch,#playermenu .gwsUnifiedRoleSwitch,
#organisermenu .gwsUnifiedMenuHero,#playermenu .gwsUnifiedMenuHero,
#organisermenu .gwsUnifiedMenuList,#playermenu .gwsUnifiedMenuList{
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;
}



/* V258 — intentionally simple shared menu header: green panel, real bundled logo, role title. */
#organisermenu .gwsUnifiedMenuHero,#playermenu .gwsUnifiedMenuHero{
  background:#075b40!important;color:#fff!important;display:flex!important;align-items:center!important;gap:14px!important;
  min-height:92px!important;padding:14px 16px!important;border-radius:16px!important;overflow:visible!important;
}
#organisermenu .gwsUnifiedMenuHero .gwsMenuLogoDirect,#playermenu .gwsUnifiedMenuHero .gwsMenuLogoDirect{
  display:block!important;width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important;
  max-width:64px!important;max-height:64px!important;flex:0 0 64px!important;object-fit:contain!important;object-position:center!important;
  opacity:1!important;visibility:visible!important;position:static!important;transform:none!important;clip:auto!important;clip-path:none!important;
  mask:none!important;-webkit-mask:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;
}
#organisermenu .gwsUnifiedMenuHero h2,#playermenu .gwsUnifiedMenuHero h2{
  margin:0!important;color:#fff!important;font-size:24px!important;line-height:1.1!important;font-weight:900!important;
}
#organisermenu .gwsUnifiedMenuHero .muted,#playermenu .gwsUnifiedMenuHero .muted{
  margin-top:4px!important;color:rgba(255,255,255,.84)!important;font-size:13px!important;font-weight:700!important;
}
@media(max-width:360px){
 #organisermenu .gwsUnifiedMenuHero .gwsMenuLogoDirect,#playermenu .gwsUnifiedMenuHero .gwsMenuLogoDirect{
   width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;max-width:58px!important;max-height:58px!important;flex-basis:58px!important;
 }
}



/* V260 — one dark-green GWS canvas on every Organiser and Player page.
   Content cards/tables stay white for outdoor readability. */
body{background:#0d3b2a!important;}
#swindleApp,
#swindleApp main,
#swindleApp .screen,
body.player-mode #swindleApp .playerFullPage.active{
  background:#0d3b2a!important;
}
#swindleApp{
  box-shadow:none!important;
}
#swindleApp > header{
  background:#0d3b2a!important;
  background-image:none!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
  box-shadow:none!important;
}
#swindleApp > header #currentSwindleName,
#swindleApp > header .header-app-name,
#swindleApp > header .membership-note{
  color:#fff!important;
}
#swindleApp > header .header-app-name,
#swindleApp > header .membership-note{opacity:.82!important;}

/* Landing menus: same green canvas and the same switch treatment in both roles. */
#organisermenu,#playermenu{
  background:transparent!important;
}
#organisermenu .gwsUnifiedRoleSwitch,
#playermenu .gwsUnifiedRoleSwitch{
  background:#092d20!important;
  border-color:rgba(255,255,255,.18)!important;
}
#organisermenu .gwsUnifiedRoleSwitch button,
#playermenu .gwsUnifiedRoleSwitch button{
  color:#a9c2b7!important;
}
#organisermenu .gwsUnifiedRoleSwitch button.active,
#playermenu .gwsUnifiedRoleSwitch button.active{
  background:#fff!important;
  color:#123b2b!important;
}
#organisermenu .gwsUnifiedMenuHero,
#playermenu .gwsUnifiedMenuHero{
  background:#164d38!important;
  background-image:none!important;
  border:1px solid rgba(255,255,255,.16)!important;
}

/* Shared rounded page headers remain green but stand out slightly from the page canvas. */
body:not(.player-mode):not(.gws-unified-menu-landing) #gwsOrganiserPageBar.gws-visible,
body.player-mode .playerFullPage.active > .playerFullPageBar{
  background:#164d38!important;
  border:1px solid rgba(255,255,255,.14)!important;
}

/* Keep practical content surfaces white. */
#swindleApp .card,
#swindleApp .scoreTableWrap,
#swindleApp .scoreStickyTable td,
#swindleApp .scoreStickyTable tbody th,
#swindleApp input,
#swindleApp select,
#swindleApp textarea{
  background-color:#fff;
}

/* Give ordinary page cards a little breathing room against the green canvas. */
#swindleApp main > .screen.active:not(#organisermenu):not(#playermenu){
  padding-bottom:16px!important;
}



/* V270 — keep all text that sits directly on the dark-green canvas readable. */
#gwsCopyright,
#gwsCopyright span{
  color:#fff!important;
  opacity:1!important;
}
/* Generic helper text is grey by default; make it white only when it sits directly on green pages. */
#swindleApp main > .screen.active > .muted,
#swindleApp main > .screen.active > .footerNote,
#swindleApp main > .screen.active > p,
#swindleApp main > .screen.active > small,
#swindleApp main > .screen.active > label,
body.player-mode #swindleApp .playerFullPage.active > .muted,
body.player-mode #swindleApp .playerFullPage.active > .footerNote,
body.player-mode #swindleApp .playerFullPage.active > p,
body.player-mode #swindleApp .playerFullPage.active > small,
body.player-mode #swindleApp .playerFullPage.active > label{
  color:rgba(255,255,255,.92)!important;
}



/* V272 — Player menu photo hero + permanent bottom breathing room on Group Scores. */
#playermenu .gwsUnifiedMenuHero{
  position:relative!important;
  overflow:hidden!important;
  min-height:110px!important;
  display:flex!important;
  align-items:center!important;
  background-color:#164d38!important;
  background-image:
    linear-gradient(rgba(7,91,64,.24),rgba(7,91,64,.58)),
    url('/assets/images/golf-hero.jpg')!important;
  background-size:cover!important;
  background-position:center!important;
  border:1px solid rgba(255,255,255,.16)!important;
}
#playermenu .gwsUnifiedMenuHero .gwsMenuTitleOnly{
  position:relative!important;
  z-index:1!important;
}
#playermenu .gwsUnifiedMenuHero .gwsMenuTitleOnly h2,
#playermenu .gwsUnifiedMenuHero .gwsMenuTitleOnly .muted{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 2px 5px rgba(0,0,0,.52)!important;
}
/* Keep the submit area comfortably scrollable above iPhone browser chrome / score pad. */
#score .gwsScoreBottomSpacer{
  display:block!important;
  height:180px!important;
  min-height:180px!important;
  pointer-events:none!important;
}
body.gws-score-pad-open #score .gwsScoreBottomSpacer{
  height:calc(var(--gws-score-pad-space,190px) + 260px)!important;
  min-height:calc(var(--gws-score-pad-space,190px) + 260px)!important;
}
#score #groupScoreSubmitArea{
  padding-bottom:18px!important;
}



.gwsScorerActions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.gwsScorerDialog{position:fixed;inset:0;z-index:10020;background:rgba(0,0,0,.58);align-items:center;justify-content:center;padding:18px}
.gwsScorerDialogCard{width:min(420px,100%);background:#fff;color:#173f2f;border-radius:16px;padding:18px;box-shadow:0 16px 50px rgba(0,0,0,.32)}
.gwsScorerDialogCard select{font-size:16px;min-height:46px}
@media(max-width:420px){.gwsScorerActions{width:100%;justify-content:stretch}.gwsScorerActions button{flex:1;min-width:0}.gwsScorerDialog{padding:12px}}



/* V303 — housekeeping: stable action geometry and clear non-button status states. */
button{box-sizing:border-box;}
.gws-rsvp-choice,.gws-org-rsvp-btn{min-height:42px;}
.gwsSubmittedStatus{min-height:44px;display:flex;align-items:center;justify-content:center;}



#scoreRecoveryBox{background:#fffaf0;color:#173f2f!important}

/* V272 — Player View submitted-action lock */
.gwsSubmittedStatus{
  width:100%;box-sizing:border-box;margin-top:8px;padding:12px 14px;
  border:1px solid #9fc6ac;background:#edf7f0;color:#175b32;font-weight:900;
  border-radius:12px;text-align:center;letter-spacing:.02em;
}
body.player-mode button.primary.gwsActionAlreadySubmitted,
body.player-mode #submitGroupCardsBtn.gwsActionAlreadySubmitted,
body.player-mode #submitCardBtn.gwsActionAlreadySubmitted{
  background:#b9bfbc!important;border-color:#a7aeaa!important;color:#5b625e!important;
  opacity:1!important;cursor:not-allowed!important;box-shadow:none!important;
}



/* V283 — automatic phone-width fitting.
   The app owns the responsive behaviour; players should not need to alter
   Display Zoom, text size, orientation or browser settings. */
html,body{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  -webkit-text-size-adjust:100%!important;
}
body{padding-left:env(safe-area-inset-left,0px)!important;padding-right:env(safe-area-inset-right,0px)!important}
.app,.platform-shell,#swindleApp,#platformShell{
  width:100%!important;
  max-width:480px!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow-x:hidden!important;
}
#swindleApp main,.screen,.playerFullPage,.card,.brand-card,.swindle-card,.invite-join-box,.modal-card{
  min-width:0!important;
  max-width:100%!important;
}
img,svg,video,canvas{max-width:100%;height:auto}
button,.btn,input,select,textarea{
  max-width:100%!important;
  box-sizing:border-box!important;
}
button,.btn{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.row>* ,.grid3>* ,.courseSummary>* ,.buttonGrid>* ,.gwsUnifiedMenuList button>*{
  min-width:0!important;
}
.card .row{max-width:100%!important}
.statusBtns,.gwsScorerActions{max-width:100%!important;flex-wrap:wrap!important}
.statusBtns button,.gwsScorerActions button{min-width:0!important}
.playerManageMenu{max-width:calc(100vw - 24px)!important}
#gwsScorePad{max-width:100vw!important}
.gwsScorePadHead,.gwsScorePadKeys,.gwsScorePadActions,.gwsScorePadAdjust{min-width:0!important;max-width:100%!important}
.gwsScorePadKeys button,.gwsScorePadActions button,.gwsScorePadAdjust button{min-width:0!important}
.leaderboardTableWrap,.scoreTableWrap,#myCardTable{max-width:100%!important}
/* Generic data tables stay inside the phone. If their content genuinely needs
   more room, scrolling is contained within the table area rather than widening
   the entire app. */
.card{overflow-wrap:anywhere}
.card>table,.card>div>table{max-width:100%!important}
.nowrap{max-width:100%!important}

@media(max-width:390px){
  #swindleApp>header{padding-left:10px!important;padding-right:10px!important}
  #swindleApp>header .app-header-row{min-width:0!important;gap:8px!important}
  #swindleApp>header .header-brand{min-width:0!important;gap:8px!important}
  #swindleApp>header .header-title-block{min-width:0!important;overflow:hidden!important}
  #swindleApp>header h1{font-size:clamp(19px,6.1vw,23px)!important;white-space:normal!important;overflow-wrap:anywhere!important}
  #swindleApp>header .header-app-name,#swindleApp>header .sub{font-size:11px!important}
  main{padding-left:8px!important;padding-right:8px!important}
  .card{padding-left:10px!important;padding-right:10px!important}
  #organisermenu .gwsUnifiedMenuHero,#playermenu .gwsUnifiedMenuHero,
  #organisermenu .gwsUnifiedMenuList,#playermenu .gwsUnifiedMenuList,
  #organisermenu .gwsUnifiedRoleSwitch,#playermenu .gwsUnifiedRoleSwitch{
    margin-left:6px!important;margin-right:6px!important;
  }
  #organisermenu .gwsUnifiedMenuList button,#playermenu .gwsUnifiedMenuList button{
    grid-template-columns:30px minmax(0,1fr) 18px!important;
    gap:7px!important;padding-left:9px!important;padding-right:9px!important;
  }
  body:not(.player-mode):not(.gws-unified-menu-landing) #gwsOrganiserPageBar.gws-visible,
  body.player-mode .playerFullPage.active>.playerFullPageBar{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:5px!important;
  }
  body.player-mode .playerFullPage.active>.playerFullPageBar button,
  body:not(.player-mode):not(.gws-unified-menu-landing) #gwsOrganiserPageBar button{
    padding-left:7px!important;padding-right:7px!important;font-size:12px!important;min-width:0!important;
  }
  body.player-mode .playerFullPage.active>.playerFullPageBar .playerFullPageTitle,
  body:not(.player-mode):not(.gws-unified-menu-landing) #gwsOrganiserPageBar .gwsOrgPageTitle{
    min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:13px!important;
  }
  .leaderboardSummaryTable{min-width:0!important;width:100%!important;table-layout:fixed!important}
  .leaderboardSummaryTable th,.leaderboardSummaryTable td{min-width:0!important;padding-left:2px!important;padding-right:2px!important;overflow:hidden!important;text-overflow:ellipsis!important}
}

@media(max-width:340px){
  /* 320px-class older iPhones */
  #swindleApp>header{padding:10px 8px!important}
  #swindleApp>header .app-header-row{min-height:64px!important}
  #swindleApp>header .header-logo{
    width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;max-width:48px!important;max-height:48px!important;flex-basis:48px!important;
  }
  #swindleApp>header h1{font-size:19px!important;line-height:1.05!important}
  main{padding-left:6px!important;padding-right:6px!important}
  .card{padding:9px!important;border-radius:12px!important}
  h2,.card h2{font-size:19px!important}
  h3,.card h3{font-size:15px!important}
  button,.btn{font-size:13px!important;padding-left:8px!important;padding-right:8px!important}
  input,select{font-size:15px!important;padding-left:7px!important;padding-right:7px!important}
  .grid3{gap:4px!important}
  .stat{padding:6px 3px!important}
  .stat b{font-size:18px!important}
  .stat .muted{font-size:10px!important}
  .courseSummary{gap:5px!important}
  .courseSummaryBox{padding:7px!important}
  .coursegrid{grid-template-columns:29px minmax(40px,.72fr) minmax(58px,1.05fr) minmax(48px,.82fr)!important;gap:3px!important}
  .coursegrid input{font-size:13px!important;padding-left:1px!important;padding-right:1px!important}
  .coursegrid label{font-size:10px!important}
  .gwsScorePadKeys{gap:4px!important}
  .gwsScorePadKeys button{min-height:40px!important;font-size:18px!important;padding:4px!important}
  .gwsScorePadActions,.gwsScorePadAdjust{gap:4px!important}
  .gwsScorePadActions button{font-size:12px!important;padding:5px 3px!important}
  #gwsStartupGate .modal-card{padding:16px 12px!important;margin-top:3vh!important}
  .modal-overlay{padding-left:8px!important;padding-right:8px!important}
  .gwsScorerDialog{padding:8px!important}
  .gwsScorerDialogCard{padding:13px!important}
}



/* V284 — conventional gross-score colours. Par intentionally keeps existing styling. */
#score .scoreInput.gwsScoreEagle,#mycard .scoreInput.gwsScoreEagle,.gwsReadOnlyScore.gwsScoreEagle{background:#55a96b!important;border-color:#3e8652!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
#score .scoreInput.gwsScoreBirdie,#mycard .scoreInput.gwsScoreBirdie,.gwsReadOnlyScore.gwsScoreBirdie{background:#c62828!important;border-color:#9f1f1f!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
#score .scoreInput.gwsScoreBogey,#mycard .scoreInput.gwsScoreBogey,.gwsReadOnlyScore.gwsScoreBogey{background:#1976b8!important;border-color:#125c91!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
#score .scoreInput.gwsScoreDoublePlus,#mycard .scoreInput.gwsScoreDoublePlus,.gwsReadOnlyScore.gwsScoreDoublePlus{background:#151918!important;border-color:#000!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
#score .scoreInput.gwsScoreEagle:disabled,#score .scoreInput.gwsScoreBirdie:disabled,#score .scoreInput.gwsScoreBogey:disabled,#score .scoreInput.gwsScoreDoublePlus:disabled,
#mycard .scoreInput.gwsScoreEagle:disabled,#mycard .scoreInput.gwsScoreBirdie:disabled,#mycard .scoreInput.gwsScoreBogey:disabled,#mycard .scoreInput.gwsScoreDoublePlus:disabled{opacity:1!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.gwsReadOnlyScore{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:2px 6px;border-radius:6px;font-weight:900;box-sizing:border-box}
.gwsReadOnlyScore:not(.gwsScoreEagle):not(.gwsScoreBirdie):not(.gwsScoreBogey):not(.gwsScoreDoublePlus){background:#f5faf7;border:1px solid #8eaa9d;color:#003f2b}
#score .scoreInput.gwsScorePadActive,#mycard .scoreInput.gwsScorePadActive{box-shadow:0 0 0 3px #ffcf33!important;outline:2px solid #7c170f!important;outline-offset:1px!important}

.gwsLeaderboardClickable{cursor:pointer}
.gwsLeaderboardClickable:focus{outline:3px solid #d7b34a;outline-offset:-3px}
.gwsLeaderboardClickable:hover td{filter:brightness(.98)}
.gwsLeaderboardCardOverlay{position:fixed;inset:0;z-index:14000;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;padding:14px;box-sizing:border-box}
.gwsLeaderboardCardDialog{width:min(520px,100%);max-height:calc(100dvh - 28px);overflow:auto;background:#fff;color:#173f2f;border-radius:18px;padding:16px;box-shadow:0 18px 55px rgba(0,0,0,.35)}
.gwsLeaderboardCardClose{width:auto!important;min-width:72px!important;flex:0 0 auto!important}
.gwsLeaderboardCardTableWrap{margin-top:12px;overflow:auto;border:1px solid #d2ddd7;border-radius:10px}
.gwsLeaderboardCardTable{width:100%;border-collapse:collapse;table-layout:fixed}
.gwsLeaderboardCardTable th{background:#003f2b;color:#fff;padding:7px 4px;font-size:11px}
.gwsLeaderboardCardTable td{padding:6px 4px;border-bottom:1px solid #e1e9e4;text-align:center}
.gwsLeaderboardCardTable th:nth-child(1),.gwsLeaderboardCardTable td:nth-child(1){width:16%}
.gwsLeaderboardCardTable th:nth-child(2),.gwsLeaderboardCardTable td:nth-child(2){width:16%}
.gwsLeaderboardCardTable th:nth-child(3),.gwsLeaderboardCardTable td:nth-child(3){width:16%}
.gwsLeaderboardCardTable th:nth-child(4),.gwsLeaderboardCardTable td:nth-child(4){width:28%}
.gwsLeaderboardCardTable th:nth-child(5),.gwsLeaderboardCardTable td:nth-child(5){width:24%}
.gwsLeaderboardCardTotals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}
.gwsLeaderboardCardTotals>div{background:#eef5f1;border:1px solid #c8d8cf;border-radius:9px;padding:8px 4px;text-align:center}
.gwsLeaderboardCardTotals span{display:block;font-size:10px;color:#607169;font-weight:800;text-transform:uppercase}
.gwsLeaderboardCardTotals b{display:block;font-size:20px;color:#003f2b;margin-top:2px}
@media(max-width:340px){
 .gwsLeaderboardCardOverlay{padding:6px}
 .gwsLeaderboardCardDialog{padding:10px;border-radius:12px;max-height:calc(100dvh - 12px)}
 .gwsLeaderboardCardTable th,.gwsLeaderboardCardTable td{padding-left:2px;padding-right:2px;font-size:11px}
 .gwsReadOnlyScore{min-width:27px;height:28px;padding:1px 4px}
 .gwsLeaderboardCardTotals{gap:4px}.gwsLeaderboardCardTotals>div{padding:6px 2px}.gwsLeaderboardCardTotals b{font-size:17px}
}



/* V285 — yardage on every scorecard and compact full-round leaderboard card. */
#score .gwsSevenColumnScore .gwsMetaYards{width:36px!important;min-width:36px!important;max-width:36px!important;font-variant-numeric:tabular-nums}
#mycard #myCardTable .gwsMyCardYardsCell{width:42px!important;text-align:center!important;font-variant-numeric:tabular-nums}
#mycard #myCardTable .gwsMyCardYards{font-weight:800!important;color:#4d6258!important}
@media(max-width:360px){
  #score .gwsSevenColumnScore .gwsMetaYards{width:32px!important;min-width:32px!important;max-width:32px!important;font-size:10px!important}
  #mycard #myCardTable .gwsMyCardYardsCell{width:34px!important}
}
@media(max-width:340px){
  #score .gwsSevenColumnScore .gwsMetaYards{width:30px!important;min-width:30px!important;max-width:30px!important;font-size:9px!important}
}

.gwsLeaderboardCardDialog{overflow:hidden!important;display:flex;flex-direction:column;max-height:calc(100dvh - 16px)!important;padding:10px!important;border-radius:14px!important}
.gwsLeaderboardCardHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex:0 0 auto}
.gwsLeaderboardCardHeader h3{margin:1px 0!important;font-size:17px!important;line-height:1.05!important}
.gwsLeaderboardCardHeader .eyebrow{font-size:9px!important;line-height:1!important}
.gwsLeaderboardCardHeader .muted{font-size:10px!important;line-height:1.1!important}
.gwsLeaderboardCardClose{min-height:32px!important;padding:5px 8px!important;font-size:11px!important}
.gwsLeaderboardCardTableWrap{margin-top:6px!important;overflow:hidden!important;flex:0 0 auto}
.gwsLeaderboardCardTable.gwsLeaderboardCard18{table-layout:fixed!important;width:100%!important}
.gwsLeaderboardCard18 th,.gwsLeaderboardCard18 td{padding:2px 1px!important;font-size:9px!important;line-height:1!important;height:25px!important;box-sizing:border-box!important;white-space:nowrap!important;overflow:hidden!important}
.gwsLeaderboardCard18 th{height:22px!important;font-size:8px!important}
.gwsLeaderboardCard18 th:nth-child(1),.gwsLeaderboardCard18 td:nth-child(1),.gwsLeaderboardCard18 th:nth-child(7),.gwsLeaderboardCard18 td:nth-child(7){width:5.5%!important}
.gwsLeaderboardCard18 th:nth-child(2),.gwsLeaderboardCard18 td:nth-child(2),.gwsLeaderboardCard18 th:nth-child(8),.gwsLeaderboardCard18 td:nth-child(8){width:9%!important}
.gwsLeaderboardCard18 th:nth-child(3),.gwsLeaderboardCard18 td:nth-child(3),.gwsLeaderboardCard18 th:nth-child(9),.gwsLeaderboardCard18 td:nth-child(9){width:6.5%!important}
.gwsLeaderboardCard18 th:nth-child(4),.gwsLeaderboardCard18 td:nth-child(4),.gwsLeaderboardCard18 th:nth-child(10),.gwsLeaderboardCard18 td:nth-child(10){width:6.5%!important}
.gwsLeaderboardCard18 th:nth-child(5),.gwsLeaderboardCard18 td:nth-child(5),.gwsLeaderboardCard18 th:nth-child(11),.gwsLeaderboardCard18 td:nth-child(11){width:14%!important}
.gwsLeaderboardCard18 th:nth-child(6),.gwsLeaderboardCard18 td:nth-child(6),.gwsLeaderboardCard18 th:nth-child(12),.gwsLeaderboardCard18 td:nth-child(12){width:8.5%!important}
.gwsLeaderboardCard18 .gwsNineDivider{border-left:2px solid #d7b34a!important}
.gwsLeaderboardCard18 td:nth-child(7){border-left:2px solid #d7b34a!important}
.gwsLeaderboardCard18 .gwsReadOnlyScore{min-width:24px!important;width:24px!important;height:22px!important;padding:0 2px!important;border-radius:5px!important;font-size:11px!important}
.gwsLeaderboardCard18 .gwsLbYards{font-variant-numeric:tabular-nums;font-weight:700;color:#4d6258}
.gwsLeaderboardCard18 .gwsHiddenClosingScore{font-size:10px;opacity:.68}
.gwsLeaderboardCardTotals{gap:5px!important;margin-top:6px!important;flex:0 0 auto}
.gwsLeaderboardCardTotals>div{padding:4px 2px!important;border-radius:7px!important}
.gwsLeaderboardCardTotals span{font-size:8px!important;line-height:1!important}
.gwsLeaderboardCardTotals b{font-size:16px!important;line-height:1.05!important;margin-top:1px!important}
.gwsLeaderboardHiddenNote{margin-top:4px!important;padding:4px 6px!important;font-size:8px!important;line-height:1.1!important;flex:0 0 auto}
@media(max-width:360px){
  .gwsLeaderboardCardOverlay{padding:4px!important}
  .gwsLeaderboardCardDialog{padding:7px!important;max-height:calc(100dvh - 8px)!important}
  .gwsLeaderboardCard18 th,.gwsLeaderboardCard18 td{font-size:8px!important;height:23px!important}
  .gwsLeaderboardCard18 th{font-size:7px!important;height:20px!important}
  .gwsLeaderboardCard18 .gwsReadOnlyScore{min-width:22px!important;width:22px!important;height:20px!important;font-size:10px!important}
  .gwsLeaderboardCardTotals b{font-size:14px!important}
}
@media(max-height:600px){
  .gwsLeaderboardCardDialog{padding:6px!important}
  .gwsLeaderboardCardHeader h3{font-size:15px!important}
  .gwsLeaderboardCard18 th,.gwsLeaderboardCard18 td{height:21px!important;padding-top:1px!important;padding-bottom:1px!important}
  .gwsLeaderboardCard18 .gwsReadOnlyScore{height:19px!important}
  .gwsLeaderboardCardTotals{margin-top:4px!important}
  .gwsLeaderboardHiddenNote{display:none!important}
}



/* V291 — final all-screen phone-width column audit.
   Every data table is contained by the app width; no table may widen the page. */
#swindleApp table{box-sizing:border-box;max-width:100%}
#swindleApp table th,#swindleApp table td{box-sizing:border-box;min-width:0}

/* Generic organiser tables: finalise, handicap proposals/audits and similar four-column tables. */
#swindleApp .card > table,
#swindleApp .card > div > table:not(.scoreStickyTable):not(.leaderboardSummaryTable):not(.gwsMyCardScoreTable):not(.gwsLeaderboardCardTable):not(.gwsCompactRounds){
  width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important;
}
#swindleApp .card > table th,#swindleApp .card > table td,
#swindleApp .card > div > table:not(.scoreStickyTable):not(.leaderboardSummaryTable):not(.gwsMyCardScoreTable):not(.gwsLeaderboardCardTable):not(.gwsCompactRounds) th,
#swindleApp .card > div > table:not(.scoreStickyTable):not(.leaderboardSummaryTable):not(.gwsMyCardScoreTable):not(.gwsLeaderboardCardTable):not(.gwsCompactRounds) td{
  padding-left:3px!important;padding-right:3px!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;
}

/* Group Scores: Hole + Yards + Par + SI always fit, remaining width is shared by players. */
#score .scoreTableWrap{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
#score .gwsSevenColumnScore{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important}
#score .gwsSevenColumnScore .gwsMetaHole{width:9%!important;min-width:0!important;max-width:none!important}
#score .gwsSevenColumnScore .gwsMetaYards{width:11%!important;min-width:0!important;max-width:none!important}
#score .gwsSevenColumnScore .gwsMetaPar{width:8%!important;min-width:0!important;max-width:none!important}
#score .gwsSevenColumnScore .gwsMetaSi{width:7%!important;min-width:0!important;max-width:none!important}
#score .gwsSevenColumnScore .scorePlayerHead,#score .gwsSevenColumnScore .gwsPlayerScoreCell{min-width:0!important;max-width:none!important;width:auto!important}
#score .gwsSevenColumnScore th,#score .gwsSevenColumnScore td{padding-left:1px!important;padding-right:1px!important;overflow:hidden!important}
#score .gwsSevenColumnScore .scoreInput{width:min(42px,92%)!important;min-width:0!important;max-width:92%!important}

/* My Card: six explicit columns, including Hole, Yards and Match/Mismatch. */
#mycard #myCardTable{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
#mycard #myCardTable .gwsMyCardScoreTable{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important}
#mycard #myCardTable .gwsMyCardScoreTable th,#mycard #myCardTable .gwsMyCardScoreTable td{min-width:0!important;max-width:none!important;padding-left:1px!important;padding-right:1px!important;overflow:hidden!important}
#mycard #myCardTable .gwsMyCardScoreTable th:nth-child(1),#mycard #myCardTable .gwsMyCardScoreTable td:nth-child(1){width:9%!important}
#mycard #myCardTable .gwsMyCardScoreTable th:nth-child(2),#mycard #myCardTable .gwsMyCardScoreTable td:nth-child(2){width:12%!important}
#mycard #myCardTable .gwsMyCardScoreTable th:nth-child(3),#mycard #myCardTable .gwsMyCardScoreTable td:nth-child(3){width:16%!important}
#mycard #myCardTable .gwsMyCardScoreTable th:nth-child(4),#mycard #myCardTable .gwsMyCardScoreTable td:nth-child(4){width:21%!important}
#mycard #myCardTable .gwsMyCardScoreTable th:nth-child(5),#mycard #myCardTable .gwsMyCardScoreTable td:nth-child(5){width:18%!important}
#mycard #myCardTable .gwsMyCardScoreTable th:nth-child(6),#mycard #myCardTable .gwsMyCardScoreTable td:nth-child(6){width:24%!important}
#mycard #myCardTable .gwsMyCardYardsCell{width:auto!important;min-width:0!important;max-width:none!important}
#mycard #myCardTable .scoreInput{width:min(44px,94%)!important;min-width:0!important;max-width:94%!important}
#mycard #myCardTable td:nth-child(6) .pill{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.05!important}

/* Live/final leaderboard summary. */
.leaderboardTableWrap{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
.leaderboardSummaryTable{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important}
.leaderboardSummaryTable th,.leaderboardSummaryTable td{min-width:0!important;padding-left:2px!important;padding-right:2px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.leaderboardSummaryTable th:nth-child(1),.leaderboardSummaryTable td:nth-child(1){width:8%!important}
.leaderboardSummaryTable th:nth-child(2),.leaderboardSummaryTable td:nth-child(2){width:30%!important}
.leaderboardSummaryTable th:nth-child(3),.leaderboardSummaryTable td:nth-child(3){width:10%!important}
.leaderboardSummaryTable th:nth-child(4),.leaderboardSummaryTable td:nth-child(4){width:16%!important}
.leaderboardSummaryTable th:nth-child(5),.leaderboardSummaryTable td:nth-child(5){width:16%!important}
.leaderboardSummaryTable th:nth-child(6),.leaderboardSummaryTable td:nth-child(6){width:20%!important}
/* Five-column final leaderboard variant redistributes when no Thru column exists. */
.leaderboardSummaryTable th:nth-last-child(5):first-child,.leaderboardSummaryTable th:nth-last-child(5):first-child~th,
.leaderboardSummaryTable td:nth-last-child(5):first-child,.leaderboardSummaryTable td:nth-last-child(5):first-child~td{width:auto!important}
.leaderboardSummaryTable th:nth-last-child(5):first-child,.leaderboardSummaryTable td:nth-last-child(5):first-child{width:9%!important}
.leaderboardSummaryTable th:nth-last-child(5):first-child+th,.leaderboardSummaryTable td:nth-last-child(5):first-child+td{width:35%!important}
.leaderboardSummaryTable th:nth-last-child(5):first-child+th+th,.leaderboardSummaryTable td:nth-last-child(5):first-child+td+td{width:18%!important}
.leaderboardSummaryTable th:nth-last-child(5):first-child+th+th+th,.leaderboardSummaryTable td:nth-last-child(5):first-child+td+td+td{width:18%!important}
.leaderboardSummaryTable th:nth-last-child(5):first-child+th+th+th+th,.leaderboardSummaryTable td:nth-last-child(5):first-child+td+td+td+td{width:20%!important}

/* Player profile Last 10 Rounds. */
#playerProfileRecentRounds{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
#playerProfileRecentRounds .gwsCompactRounds{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important}
#playerProfileRecentRounds .gwsCompactRounds th,#playerProfileRecentRounds .gwsCompactRounds td{min-width:0!important;padding-left:1px!important;padding-right:1px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}

/* 18-hole score-by-score popup: 12 columns must remain entirely inside the dialog. */
.gwsLeaderboardCardTableWrap{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
.gwsLeaderboardCard18{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important}
.gwsLeaderboardCard18 th,.gwsLeaderboardCard18 td{min-width:0!important;max-width:none!important;padding-left:1px!important;padding-right:1px!important;overflow:hidden!important}
.gwsLeaderboardCard18 .gwsReadOnlyScore{width:min(24px,96%)!important;min-width:0!important;max-width:96%!important;padding-left:0!important;padding-right:0!important}

/* All grid controls use shrinkable tracks. */
.grid3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.courseSummary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.dashFacts{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.gwsLeaderboardCardTotals{grid-template-columns:repeat(3,minmax(0,1fr))!important}

@media(max-width:390px){
  #swindleApp table{font-size:clamp(8px,2.7vw,11px)}
  #swindleApp table th{font-size:clamp(7px,2.4vw,10px)}
  #score .gwsSevenColumnScore .scoreInput{width:min(38px,92%)!important;font-size:13px!important}
  #mycard #myCardTable .scoreInput{width:min(40px,94%)!important;font-size:13px!important}
  #mycard #myCardTable td:nth-child(6) .pill{font-size:8px!important;padding:2px 1px!important}
}
@media(max-width:340px){
  #score .gwsSevenColumnScore .gwsMetaHole{width:8%!important}
  #score .gwsSevenColumnScore .gwsMetaYards{width:11%!important}
  #score .gwsSevenColumnScore .gwsMetaPar{width:8%!important}
  #score .gwsSevenColumnScore .gwsMetaSi{width:7%!important}
  #score .gwsSevenColumnScore .scoreInput{width:min(34px,90%)!important;font-size:12px!important}
  #mycard #myCardTable .scoreInput{width:min(36px,92%)!important;font-size:12px!important}
  .leaderboardSummaryTable th,.leaderboardSummaryTable td{padding-left:1px!important;padding-right:1px!important}
}

/* V291 — Group Scores totals: labels once on the left, player columns contain figures only. */
#score .gwsScoreTotalLabel{text-align:left!important;padding-left:3px!important;padding-right:3px!important}
#score .gwsTotalLeft{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start}
#score .gwsTotalLeft>b{font-size:15px;line-height:1.1;text-align:left}
#score .gwsTotalLabels{display:grid;grid-template-rows:repeat(3,1fr);gap:2px;text-align:left;font-size:12px;font-weight:900;line-height:1.15}
#score .gwsScoreTotalCell{display:table-cell!important;vertical-align:top!important}
#score .gwsScoreTotalCell .gwsTotalPts,
#score .gwsScoreTotalCell .gwsTotalGross,
#score .gwsScoreTotalCell .gwsTotalNett{font-size:14px!important;line-height:1.15!important;font-weight:900!important;margin:0 0 2px!important}
@media(max-width:430px){
 #score .gwsScoreTotalLabel{padding-left:1px!important;padding-right:1px!important}
 #score .gwsTotalLeft{gap:4px}
 #score .gwsTotalLeft>b{font-size:12px}
 #score .gwsTotalLabels{font-size:10px}
 #score .gwsScoreTotalCell .gwsTotalPts,
 #score .gwsScoreTotalCell .gwsTotalGross,
 #score .gwsScoreTotalCell .gwsTotalNett{font-size:12px!important}
}



/* V312: approved full-width Points Adjustments layout. Presentation only; logic unchanged. */
#rules .gwsPointsAdjustmentsCard .gwsRuleTwoCol{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleCol{width:100%!important;min-width:0!important;padding:10px!important;box-sizing:border-box!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleColHead{justify-content:flex-start!important;padding:10px 12px!important;margin-bottom:8px!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleBands{gap:0!important;border:1px solid #e1e9e4!important;border-radius:10px!important;overflow:hidden!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRow,
#rules .gwsPointsAdjustmentsCard .gwsBandRow:nth-child(even){
 display:grid!important;grid-template-columns:minmax(0,1fr) 88px 76px!important;grid-template-rows:44px!important;
 align-items:center!important;justify-content:stretch!important;gap:9px!important;min-height:56px!important;height:auto!important;
 padding:6px 8px!important;border:0!important;border-bottom:1px solid #e1e9e4!important;border-radius:0!important;background:#fff!important;box-sizing:border-box!important
}
#rules .gwsPointsAdjustmentsCard .gwsBandRow:last-child{border-bottom:0!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRange{
 grid-column:1!important;grid-row:1!important;display:flex!important;justify-content:flex-start!important;align-items:center!important;
 gap:8px!important;min-width:0!important;font-size:14px!important;font-weight:900!important;white-space:nowrap!important;overflow:visible!important
}
#rules .gwsPointsAdjustmentsCard .gwsBandRange>span{font-size:14px!important;font-weight:900!important;white-space:nowrap!important}
#rules .gwsPointsAdjustmentsCard .gwsBandMax{
 flex:0 0 60px!important;width:60px!important;min-width:60px!important;max-width:60px!important;height:38px!important;min-height:38px!important;
 margin:0!important;padding:4px!important;font-size:15px!important;font-weight:900!important
}
#rules .gwsPointsAdjustmentsCard .gwsBandAdjustment{
 grid-column:2!important;grid-row:1!important;justify-self:stretch!important;width:88px!important;min-width:88px!important;max-width:88px!important;
 height:38px!important;min-height:38px!important;margin:0!important;padding:4px!important;font-size:15px!important;font-weight:900!important
}
#rules .gwsPointsAdjustmentsCard .gwsBandDelete{
 grid-column:3!important;grid-row:1!important;justify-self:end!important;width:76px!important;min-width:76px!important;max-width:76px!important;
 height:38px!important;min-height:38px!important;margin:0!important;padding:5px 7px!important;border-radius:8px!important;font-size:12px!important;font-weight:900!important
}
#rules .gwsPointsAdjustmentsCard .gwsRuleAddBtn{width:100%!important;min-height:42px!important;margin-top:10px!important;font-size:13px!important;font-weight:900!important}
@media(max-width:380px){
 #rules .gwsPointsAdjustmentsCard{padding-left:8px!important;padding-right:8px!important}
 #rules .gwsPointsAdjustmentsCard .gwsRuleCol{padding:7px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandRow, #rules .gwsPointsAdjustmentsCard .gwsBandRow:nth-child(even){grid-template-columns:minmax(0,1fr) 72px 66px!important;gap:5px!important;padding:5px 5px!important;min-height:52px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandRange{gap:4px!important;font-size:12px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandRange>span{font-size:12px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandMax{flex-basis:50px!important;width:50px!important;min-width:50px!important;max-width:50px!important;height:36px!important;min-height:36px!important;font-size:14px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandAdjustment{width:72px!important;min-width:72px!important;max-width:72px!important;height:36px!important;min-height:36px!important;font-size:14px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandDelete{width:66px!important;min-width:66px!important;max-width:66px!important;height:36px!important;min-height:36px!important;font-size:11px!important;padding:4px!important}
}



/* V312: Points Adjustments matched to approved full-width visual. Presentation only. */
#rules .gwsPointsAdjustmentsCard .gwsRuleTwoCol{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleColHead{min-height:72px!important;justify-content:flex-start!important;padding:14px 16px!important;margin:0!important;border-radius:0!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRow,
#rules .gwsPointsAdjustmentsCard .gwsBandRow:nth-child(even){
 display:grid!important;grid-template-columns:minmax(0,1fr) 92px 82px!important;grid-template-rows:48px!important;
 align-items:center!important;gap:10px!important;min-height:60px!important;padding:6px 10px 6px 14px!important;
 border:0!important;border-bottom:1px solid #e1e9e4!important;border-radius:0!important;background:#fff!important;box-sizing:border-box!important
}
@media(max-width:430px){
 #rules .gwsPointsAdjustmentsCard{padding-left:8px!important;padding-right:8px!important}
 #rules .gwsPointsAdjustmentsCard .gwsRuleColHead{min-height:64px!important;padding:12px!important}
 #rules .gwsPointsAdjustmentsCard .gwsRuleColHead b{font-size:18px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandRow,#rules .gwsPointsAdjustmentsCard .gwsBandRow:nth-child(even){grid-template-columns:minmax(0,1fr) 76px 68px!important;gap:6px!important;padding:5px 6px 5px 10px!important;min-height:56px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandRange{grid-template-columns:minmax(0,1fr) 54px!important;gap:5px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandRange>span{font-size:14px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandMax{width:54px!important;min-width:54px!important;max-width:54px!important;height:38px!important;min-height:38px!important;font-size:14px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandAdjustment{width:76px!important;min-width:76px!important;max-width:76px!important;height:38px!important;min-height:38px!important;font-size:14px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandDelete{width:68px!important;min-width:68px!important;max-width:68px!important;height:38px!important;min-height:38px!important;font-size:12px!important;padding:4px!important}
}
@media(max-width:360px){
 #rules .gwsPointsAdjustmentsCard .gwsBandRow,#rules .gwsPointsAdjustmentsCard .gwsBandRow:nth-child(even){grid-template-columns:minmax(0,1fr) 68px 62px!important;gap:4px!important;padding-left:6px!important;padding-right:4px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandRange{grid-template-columns:minmax(0,1fr) 48px!important;gap:3px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandRange>span{font-size:12px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandMax{width:48px!important;min-width:48px!important;max-width:48px!important;font-size:13px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandAdjustment{width:68px!important;min-width:68px!important;max-width:68px!important;font-size:13px!important}
 #rules .gwsPointsAdjustmentsCard .gwsBandDelete{width:62px!important;min-width:62px!important;max-width:62px!important;font-size:11px!important}
}



/* V313 approved visual: full-width Stableford then Medal; description, threshold, adjustment, Delete far right. */
#rules .gwsPointsAdjustmentsCard .gwsRuleTwoCol{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleCol{width:100%!important;min-width:0!important;padding:0 0 10px!important;overflow:hidden!important;border-radius:12px!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleColHead{min-height:70px!important;justify-content:flex-start!important;padding:14px 16px!important;margin:0!important;border-radius:0!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleColHead b{font-size:20px!important;line-height:1.15!important}
#rules .gwsPointsAdjustmentsCard .gwsBandsHeader{display:none!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleBands{display:block!important;border:0!important;border-radius:0!important;overflow:visible!important;background:#fff!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRow,#rules .gwsPointsAdjustmentsCard .gwsBandRow:nth-child(even){display:grid!important;grid-template-columns:minmax(0,1fr) 92px 82px!important;grid-template-rows:48px!important;align-items:center!important;gap:10px!important;min-height:60px!important;padding:6px 10px 6px 14px!important;border:0!important;border-bottom:1px solid #e1e9e4!important;border-radius:0!important;background:#fff!important;box-sizing:border-box!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRange{grid-column:1!important;grid-row:1!important;display:grid!important;grid-template-columns:minmax(0,1fr) 68px!important;align-items:center!important;gap:10px!important;min-width:0!important;padding:0!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRange>span{font-size:16px!important;font-weight:800!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#123d30!important}
#rules .gwsPointsAdjustmentsCard .gwsBandMax{justify-self:end!important;width:68px!important;min-width:68px!important;max-width:68px!important;height:40px!important;min-height:40px!important;margin:0!important;padding:5px!important;font-size:16px!important;font-weight:900!important;border-radius:7px!important}
#rules .gwsPointsAdjustmentsCard .gwsBandAdjustment{grid-column:2!important;grid-row:1!important;width:92px!important;min-width:92px!important;max-width:92px!important;height:40px!important;min-height:40px!important;margin:0!important;padding:5px!important;font-size:16px!important;font-weight:900!important;border-radius:7px!important}
#rules .gwsPointsAdjustmentsCard .gwsBandDelete{grid-column:3!important;grid-row:1!important;justify-self:end!important;width:82px!important;min-width:82px!important;max-width:82px!important;height:40px!important;min-height:40px!important;margin:0!important;padding:5px 8px!important;border-radius:7px!important;font-size:13px!important;font-weight:900!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important}
#rules .gwsPointsAdjustmentsCard .gwsBandDelete:after{content:none!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleAddBtn{width:calc(100% - 24px)!important;min-height:44px!important;margin:12px 12px 2px!important;font-size:15px!important;font-weight:900!important;border-radius:7px!important}
@media(max-width:430px){#rules .gwsPointsAdjustmentsCard{padding-left:8px!important;padding-right:8px!important}#rules .gwsPointsAdjustmentsCard .gwsBandRow,#rules .gwsPointsAdjustmentsCard .gwsBandRow:nth-child(even){grid-template-columns:minmax(0,1fr) 76px 68px!important;gap:6px!important;padding:5px 6px 5px 10px!important;min-height:56px!important}#rules .gwsPointsAdjustmentsCard .gwsBandRange{grid-template-columns:minmax(0,1fr) 54px!important;gap:5px!important}#rules .gwsPointsAdjustmentsCard .gwsBandRange>span{font-size:14px!important}#rules .gwsPointsAdjustmentsCard .gwsBandMax{width:54px!important;min-width:54px!important;max-width:54px!important;height:38px!important;min-height:38px!important;font-size:14px!important}#rules .gwsPointsAdjustmentsCard .gwsBandAdjustment{width:76px!important;min-width:76px!important;max-width:76px!important;height:38px!important;min-height:38px!important;font-size:14px!important}#rules .gwsPointsAdjustmentsCard .gwsBandDelete{width:68px!important;min-width:68px!important;max-width:68px!important;height:38px!important;min-height:38px!important;font-size:12px!important;padding:4px!important}}



/* V314: compact full-width adjustment sections; Stableford displayed best-to-worst. */
#rules .gwsPointsAdjustmentsCard .gwsRuleTwoCol{gap:9px!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleCol{padding-bottom:6px!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleColHead{min-height:48px!important;padding:9px 14px!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleColHead b{font-size:18px!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRow,#rules .gwsPointsAdjustmentsCard .gwsBandRow:nth-child(even){grid-template-columns:minmax(0,1fr) 82px 74px!important;grid-template-rows:40px!important;gap:7px!important;min-height:48px!important;padding:4px 8px 4px 12px!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRange{grid-template-columns:minmax(0,1fr) 60px!important;gap:7px!important}
#rules .gwsPointsAdjustmentsCard .gwsBandRange>span{font-size:15px!important}
#rules .gwsPointsAdjustmentsCard .gwsBandMax{width:60px!important;min-width:60px!important;max-width:60px!important;height:34px!important;min-height:34px!important;font-size:15px!important}
#rules .gwsPointsAdjustmentsCard .gwsBandAdjustment{width:82px!important;min-width:82px!important;max-width:82px!important;height:34px!important;min-height:34px!important;font-size:15px!important}
#rules .gwsPointsAdjustmentsCard .gwsBandDelete{width:74px!important;min-width:74px!important;max-width:74px!important;height:34px!important;min-height:34px!important;font-size:12px!important}
#rules .gwsPointsAdjustmentsCard .gwsRuleAddBtn{min-height:38px!important;margin:8px 10px 1px!important;width:calc(100% - 20px)!important;font-size:14px!important}
@media(max-width:430px){#rules .gwsPointsAdjustmentsCard .gwsBandRow,#rules .gwsPointsAdjustmentsCard .gwsBandRow:nth-child(even){grid-template-columns:minmax(0,1fr) 70px 64px!important;gap:5px!important;min-height:46px!important;padding:4px 5px 4px 8px!important}#rules .gwsPointsAdjustmentsCard .gwsBandRange{grid-template-columns:minmax(0,1fr) 50px!important;gap:4px!important}#rules .gwsPointsAdjustmentsCard .gwsBandRange>span{font-size:13px!important}#rules .gwsPointsAdjustmentsCard .gwsBandMax{width:50px!important;min-width:50px!important;max-width:50px!important;height:32px!important;min-height:32px!important;font-size:13px!important}#rules .gwsPointsAdjustmentsCard .gwsBandAdjustment{width:70px!important;min-width:70px!important;max-width:70px!important;height:32px!important;min-height:32px!important;font-size:13px!important}#rules .gwsPointsAdjustmentsCard .gwsBandDelete{width:64px!important;min-width:64px!important;max-width:64px!important;height:32px!important;min-height:32px!important;font-size:11px!important}}



/* V317: move threshold inputs substantially further left while preserving one straight input column. */
#rules .gwsPointsAdjustmentsCard .gwsBandRange{
  grid-template-columns:92px 60px!important;
  justify-content:start!important;
  gap:5px!important;
}
#rules .gwsPointsAdjustmentsCard .gwsBandMax{justify-self:start!important}
@media(max-width:430px){
 #rules .gwsPointsAdjustmentsCard .gwsBandRange{grid-template-columns:82px 50px!important;gap:2px!important}
}



/* V333 — consolidated definitive layout for Group Scores and My Card. Supersedes V325–V330 scorecard patches. */
#score .scoreTableWrap{overflow-x:hidden!important;overflow-y:visible!important;}
#score table.gwsGroupScoreTable,
#mycard #myCardTable table.gwsMyCardScoreTable{
  width:100%!important;max-width:100%!important;min-width:0!important;
  table-layout:fixed!important;border-collapse:collapse!important;border-spacing:0!important;
}
#score table.gwsGroupScoreTable thead,
#mycard #myCardTable table.gwsMyCardScoreTable thead{
  display:table-header-group!important;position:static!important;top:auto!important;left:auto!important;transform:none!important;
}
#score table.gwsGroupScoreTable thead tr,
#mycard #myCardTable table.gwsMyCardScoreTable thead tr{
  display:table-row!important;position:static!important;height:auto!important;min-height:0!important;max-height:none!important;transform:none!important;
}
#score table.gwsGroupScoreTable thead th,
#mycard #myCardTable table.gwsMyCardScoreTable thead th{
  display:table-cell!important;position:static!important;top:auto!important;left:auto!important;float:none!important;transform:none!important;
  box-sizing:border-box!important;height:auto!important;min-height:0!important;max-height:none!important;min-width:0!important;max-width:none!important;
  margin:0!important;padding:5px 1px!important;vertical-align:middle!important;overflow:hidden!important;
  background:#003f2b!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:none!important;
  font-size:9px!important;line-height:1.1!important;text-align:center!important;
}
#score table.gwsGroupScoreTable tbody{display:table-row-group!important;}
#score table.gwsGroupScoreTable tbody tr,
#mycard #myCardTable table.gwsMyCardScoreTable tbody tr{display:table-row!important;position:static!important;transform:none!important;}
#score table.gwsGroupScoreTable tbody td,
#mycard #myCardTable table.gwsMyCardScoreTable tbody td{display:table-cell!important;position:static!important;top:auto!important;left:auto!important;float:none!important;transform:none!important;box-sizing:border-box!important;min-width:0!important;max-width:none!important;}
/* Group Scores: 4 metadata columns + 4 player columns = 100%. */
#score table.gwsGroupScoreTable th:nth-child(1),#score table.gwsGroupScoreTable td:nth-child(1){width:9%!important;min-width:0!important;max-width:none!important;}
#score table.gwsGroupScoreTable th:nth-child(2),#score table.gwsGroupScoreTable td:nth-child(2){width:10%!important;min-width:0!important;max-width:none!important;}
#score table.gwsGroupScoreTable th:nth-child(3),#score table.gwsGroupScoreTable td:nth-child(3){width:8%!important;min-width:0!important;max-width:none!important;}
#score table.gwsGroupScoreTable th:nth-child(4),#score table.gwsGroupScoreTable td:nth-child(4){width:8%!important;min-width:0!important;max-width:none!important;}
#score table.gwsGroupScoreTable th:nth-child(n+5),#score table.gwsGroupScoreTable td:nth-child(n+5){width:16.25%!important;min-width:0!important;max-width:none!important;}
#score table.gwsGroupScoreTable .scorePlayerHead{min-width:0!important;max-width:none!important;height:auto!important;}
#score table.gwsGroupScoreTable .gwsScorePlayerName{display:block!important;position:static!important;white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere!important;max-height:none!important;margin:0!important;font-size:9px!important;line-height:1.05!important;}
#score table.gwsGroupScoreTable .scoreScorerMark{display:block!important;position:static!important;margin:2px auto 0!important;padding:0 2px!important;font-size:8px!important;line-height:10px!important;}
#score table.gwsGroupScoreTable thead .muted{display:block!important;position:static!important;margin:1px 0 0!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:8px!important;line-height:10px!important;}
/* My Card: 8 columns = 100%. */
#mycard #myCardTable table.gwsMyCardScoreTable th:nth-child(1),#mycard #myCardTable table.gwsMyCardScoreTable td:nth-child(1){width:7%!important;}
#mycard #myCardTable table.gwsMyCardScoreTable th:nth-child(2),#mycard #myCardTable table.gwsMyCardScoreTable td:nth-child(2){width:10%!important;}
#mycard #myCardTable table.gwsMyCardScoreTable th:nth-child(3),#mycard #myCardTable table.gwsMyCardScoreTable td:nth-child(3){width:8%!important;}
#mycard #myCardTable table.gwsMyCardScoreTable th:nth-child(4),#mycard #myCardTable table.gwsMyCardScoreTable td:nth-child(4){width:8%!important;}
#mycard #myCardTable table.gwsMyCardScoreTable th:nth-child(5),#mycard #myCardTable table.gwsMyCardScoreTable td:nth-child(5){width:16%!important;}
#mycard #myCardTable table.gwsMyCardScoreTable th:nth-child(6),#mycard #myCardTable table.gwsMyCardScoreTable td:nth-child(6){width:9%!important;}
#mycard #myCardTable table.gwsMyCardScoreTable th:nth-child(7),#mycard #myCardTable table.gwsMyCardScoreTable td:nth-child(7){width:16%!important;}
#mycard #myCardTable table.gwsMyCardScoreTable th:nth-child(8),#mycard #myCardTable table.gwsMyCardScoreTable td:nth-child(8){width:26%!important;}
#mycard #myCardTable table.gwsMyCardScoreTable thead th{white-space:normal!important;overflow-wrap:anywhere!important;}
@media(max-width:360px){
 #score table.gwsGroupScoreTable thead th,#mycard #myCardTable table.gwsMyCardScoreTable thead th{font-size:8px!important;padding:4px 0!important;}
 #score table.gwsGroupScoreTable .gwsScorePlayerName{font-size:8px!important;}
}



/* V333 — Organiser player-card entry uses the same touch target and keypad geometry as Player View scoring.
   This final rule overrides the old compact My Card buttons and keeps the Official score boxes the same size. */
#score table.gwsGroupScoreTable .gwsScoreButton,
#mycard #myCardTable table.gwsMyCardScoreTable .gwsScoreButton,
#mycard #myCardTable table.gwsMyCardScoreTable .gwsReadOnlyScore{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;width:42px!important;min-width:42px!important;max-width:42px!important;
  height:34px!important;min-height:34px!important;max-height:34px!important;
  padding:0 3px!important;margin:0 auto 2px!important;border-radius:5px!important;
  font-size:15px!important;line-height:1!important;font-weight:850!important;
}
#mycard #myCardTable table.gwsMyCardScoreTable tbody td{padding-top:4px!important;padding-bottom:4px!important;vertical-align:middle!important;}
#mycard #myCardTable table.gwsMyCardScoreTable .gwsMyCardScoreCell{overflow:visible!important;}
#mycard #myCardTable table.gwsMyCardScoreTable .gwsMyCardSave{height:10px!important;min-height:10px!important;line-height:10px!important;margin:1px 0 0!important;}
@media(max-width:360px){
 #score table.gwsGroupScoreTable .gwsScoreButton,
 #mycard #myCardTable table.gwsMyCardScoreTable .gwsScoreButton,
#mycard #myCardTable table.gwsMyCardScoreTable .gwsReadOnlyScore{width:34px!important;min-width:34px!important;max-width:34px!important;height:32px!important;min-height:32px!important;max-height:32px!important;font-size:14px!important;}
}


/* V348 — multi-swindle landing, personalised welcome, beta after Page 1, Demo retained on Page 1 */
#gwsStartupGate.gwsLandingGate{padding:0!important;background:#eef3ef!important;align-items:stretch!important}
#gwsStartupGate .gwsLandingCard{width:100%!important;max-width:480px!important;min-height:100dvh!important;margin:0 auto!important;padding:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:#fff!important;box-shadow:0 12px 40px rgba(0,0,0,.18)!important}
.gwsLandingMain{min-height:100dvh;display:flex;flex-direction:column;align-items:center;text-align:center;padding:64px 24px 24px;background:linear-gradient(to bottom,rgba(255,255,255,.60) 0%,rgba(255,255,255,.18) 29%,rgba(0,55,36,.04) 58%,rgba(0,55,36,.34) 100%),url('/assets/images/golf-hero-page1-clean.jpg') center center/cover no-repeat}
.gwsLandingBrand{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;color:#fff;text-shadow:0 2px 5px rgba(0,0,0,.58)}
.gwsLandingLogo{width:118px;height:118px;object-fit:contain;filter:drop-shadow(0 4px 7px rgba(0,0,0,.38))}
.gwsLandingWordmark{display:flex;align-items:center;justify-content:center;gap:2px;white-space:nowrap;font-size:27px;line-height:1;font-weight:950;letter-spacing:.4px;color:#fff;text-shadow:0 2px 5px rgba(0,0,0,.72)}
.gwsGolfBallO{display:inline-block;width:26px;height:26px;flex:0 0 26px;border-radius:50%;vertical-align:middle;background:radial-gradient(circle at 34% 28%,#fff 0 12%,#f5f5f2 31%,#d8dcd8 66%,#aeb6b0 100%);border:1px solid rgba(74,89,80,.75);box-shadow:inset -3px -4px 5px rgba(70,80,73,.24),inset 2px 2px 3px rgba(255,255,255,.95),0 2px 4px rgba(0,0,0,.35);position:relative}
.gwsGolfBallO:after{content:"";position:absolute;inset:3px;border-radius:50%;opacity:.72;background:radial-gradient(circle at 4px 4px,rgba(128,138,131,.48) 0 1.15px,transparent 1.35px) 0 0/6px 6px,radial-gradient(circle at 3px 3px,rgba(255,255,255,.8) 0 .8px,transparent 1px) 3px 3px/6px 6px}
.gwsLandingBrandRule{width:min(320px,88%);height:1px;background:rgba(255,255,255,.72);box-shadow:0 1px 2px rgba(0,0,0,.25)}
.gwsLandingStrap{margin-top:14px;font-size:18px;line-height:1.25;font-weight:800;color:#142018}.gwsLandingSpacer{flex:1;min-height:170px}
.gwsLandingPrimary,.gwsLandingSecondary{width:100%;min-height:58px!important;border-radius:28px!important;font-size:17px!important;font-weight:900!important;display:flex!important;align-items:center;justify-content:center;position:relative}.gwsLandingPrimary b,.gwsLandingSecondary b{position:absolute;right:20px;font-size:28px}.gwsLandingPrimary{background:#07583f!important;color:#fff!important;border:0!important}.gwsLandingSecondary{margin-top:14px;background:#fff!important;color:#102018!important;border:1px solid #d7ded9!important}.gwsLandingDemo{margin-top:12px;background:rgba(255,255,255,.92)!important;color:#07583f!important;border:1px solid rgba(255,255,255,.95)!important;border-radius:22px!important;min-height:44px!important;padding:9px 22px!important;font-size:14px!important;font-weight:900!important;box-shadow:0 2px 10px rgba(0,0,0,.12)!important}.gwsLandingFoot{color:#fff;font-weight:700;margin-top:18px;font-size:13px;text-shadow:0 1px 2px #000}
.gwsLandingPanel{padding:26px 18px 30px;text-align:left}.gwsLandingPanel h2{font-size:28px;margin:20px 0 4px}.gwsLandingBack{border:0!important;background:transparent!important;padding:0!important;color:#153d31!important;font-size:15px!important;min-height:auto!important}.gwsSwindleChoice{width:100%;display:grid!important;grid-template-columns:54px 1fr 20px;gap:12px;align-items:center;text-align:left!important;padding:12px!important;margin:12px 0;background:#fff!important;color:#142018!important;border:1px solid #e1e7e3!important;border-radius:14px!important;box-shadow:0 3px 12px rgba(0,0,0,.06)}.gwsSwindleThumb{width:54px;height:54px;border-radius:50%;background:url('/assets/images/golf-hero.jpg') center/cover}.gwsSwindleChoice small{display:block;color:#66736c;margin-top:2px}.gwsSwindleChoice i{font-style:normal;font-size:25px}.gwsAddSwindleBtn{width:100%;margin-top:20px;background:#edf5ff!important;color:#1859a8!important;border:0!important;border-radius:12px!important}.gwsChoiceCard{width:100%;display:grid!important;grid-template-columns:1fr 22px;text-align:left!important;padding:20px 16px!important;margin:14px 0;background:#fff!important;color:#142018!important;border:1px solid #e1e7e3!important;border-radius:14px!important}.gwsChoiceCard small{display:block;color:#66736c;margin:6px 0 0 28px}.gwsChoiceCard i{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;font-size:25px}
.gwsWelcomeHero{margin:0 12px 12px;min-height:176px;border-radius:14px;overflow:hidden;background:url('/assets/images/golf-hero.jpg') center/cover no-repeat;display:flex;align-items:flex-end}.gwsWelcomeShade{width:100%;padding:34px 14px 14px;text-align:center;background:linear-gradient(transparent,rgba(0,47,31,.92));color:#fff}.gwsWelcomeShade h2{margin:0 0 3px;color:#fff!important;font-size:25px!important}.gwsWelcomeShade div{color:#fff!important;font-weight:700}.gwsWelcomeShade div:last-child{margin-top:4px;font-size:13px}
@media(max-width:360px){.gwsLandingLogo{width:104px;height:104px}.gwsLandingWordmark{font-size:24px}.gwsGolfBallO{width:23px;height:23px;flex-basis:23px}.gwsLandingMain{padding-left:16px;padding-right:16px}.gwsWelcomeHero{margin-left:8px;margin-right:8px}}

/* V364 Temporary Organiser attendance */
body.player-mode.gws-temp-organiser-mode #home > *{display:none!important}
body.player-mode.gws-temp-organiser-mode #home #gameOnlyHome{display:block!important}
body.player-mode.gws-temp-organiser-mode #home #gameOnlyHome .organiser-only{display:block!important}
body.player-mode.gws-temp-organiser-mode #home #gameOnlyHome button.organiser-only{display:inline-flex!important}

.gwsTempOrganiserMenuSteps{display:grid;gap:8px}
.gwsTempOrganiserMenuSteps>button{width:100%}
body:not(.gws-temp-organiser-mode) #tempOrganiserMenuSection{display:none!important}
body.gws-temp-organiser-mode #tempOrganiserMenuSection{display:block!important}



/* V364 — explicit Temporary Organiser Draw access. */
body.player-mode.gws-temp-organiser-mode #draw .organiser-only{display:block!important}
body.player-mode.gws-temp-organiser-mode #draw button.organiser-only{display:inline-flex!important}
body.player-mode.gws-temp-organiser-mode #tempOrganiserDrawBanner{display:block!important}
body.player-mode.gws-temp-organiser-mode #tempOrganiserDrawMenuBtn{display:grid!important}
body.player-mode.gws-temp-organiser-mode #playerDrawMenuBtn{display:none!important}



:root{--v373-green:#002f22;--v373-green2:#064733;--v373-panel:#073f2f;--v373-panel2:#0a4b38;--v373-gold:#f1c85a;--v373-gold2:#d9a72f;--v373-cream:#fff9e8;--v373-line:rgba(241,200,90,.25)}
body,#swindleApp,#swindleApp main,#swindleApp .screen,body.player-mode #swindleApp .playerFullPage.active{background:linear-gradient(180deg,#002f22,#00271c)!important;color:var(--v373-cream)!important}
#swindleApp>header{background:linear-gradient(180deg,#003c2b,#002f22)!important;border-bottom:1px solid rgba(241,200,90,.28)!important;box-shadow:0 3px 14px rgba(0,0,0,.2)!important}
#swindleApp>header #currentSwindleName{font-family:Calibri,Arial,sans-serif!important;color:var(--v373-gold)!important}
#gwsOrganiserPageBar.gws-visible,.playerFullPageBar{background:linear-gradient(180deg,#004330,#002f22)!important;border:0!important;border-bottom:1px solid rgba(241,200,90,.25)!important;border-radius:0!important;box-shadow:0 4px 14px rgba(0,0,0,.18)!important}
.gwsOrgPageTitle,.playerFullPageTitle{font-family:Calibri,Arial,sans-serif!important;color:var(--v373-cream)!important;font-size:19px!important}
#organisermenu,#playermenu{padding:0 8px 18px!important}
#organisermenu .gwsUnifiedRoleSwitch,#playermenu .gwsUnifiedRoleSwitch{margin:8px 8px 10px!important;background:#052d22!important;border:1px solid var(--v373-line)!important;border-radius:12px!important;padding:3px!important}
#organisermenu .gwsUnifiedRoleSwitch button,#playermenu .gwsUnifiedRoleSwitch button{color:#c7d8cf!important;border-radius:9px!important}
#organisermenu .gwsUnifiedRoleSwitch button.active,#playermenu .gwsUnifiedRoleSwitch button.active{background:linear-gradient(180deg,var(--v373-gold),var(--v373-gold2))!important;color:#1f2b24!important;box-shadow:0 2px 8px rgba(0,0,0,.2)!important}
.gwsWelcomeHero{margin:0 8px 10px!important;min-height:286px!important;border-radius:14px!important;background:url('/assets/images/golf-hero.jpg') center/cover no-repeat!important;border:1px solid rgba(241,200,90,.28)!important;box-shadow:0 10px 26px rgba(0,0,0,.25)!important;align-items:flex-end!important}
.gwsWelcomeShade{padding:72px 13px 12px!important;text-align:left!important;background:linear-gradient(transparent 4%,rgba(0,34,24,.55) 32%,rgba(0,35,25,.98) 69%)!important}
.gwsWelcomeShade h2{font-family:Calibri,Arial,sans-serif!important;font-size:28px!important;line-height:1!important;margin:0!important;color:#fff!important;text-shadow:0 2px 4px rgba(0,0,0,.45)!important}
.gwsRoleKicker{position:absolute;right:18px;top:18px;font-size:11px!important;color:var(--v373-gold)!important;text-transform:uppercase;letter-spacing:.08em}
.gwsRoleTagline{font-family:Calibri,Arial,sans-serif;font-size:15px!important;color:#fff!important;margin:4px 0 10px!important}
.gwsHiddenWelcomeName{display:none!important}
.gwsTodayStrip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;background:rgba(0,47,34,.9);border:1px solid rgba(241,200,90,.34);border-radius:12px;padding:10px 11px;margin-top:8px;box-shadow:inset 0 1px rgba(255,255,255,.06)}
.gwsTodayStrip span{display:block;color:var(--v373-gold)!important;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.gwsTodayStrip b{display:block;color:#fff!important;font-family:Calibri,Arial,sans-serif;font-size:17px;margin-top:3px}.gwsTodayStrip>div:last-child{color:#f4ead0!important;font-size:11px!important;text-align:right;max-width:130px}
#organisermenu .gwsUnifiedMenuList,#playermenu .gwsUnifiedMenuList{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:0 8px 18px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
#organisermenu .gwsUnifiedMenuList>button,#playermenu .gwsUnifiedMenuList>button,.gwsTempOrganiserMenuSteps button{display:grid!important;grid-template-columns:40px minmax(0,1fr) 14px!important;gap:8px!important;align-items:center!important;min-height:84px!important;padding:10px!important;background:linear-gradient(145deg,rgba(10,75,56,.98),rgba(5,55,41,.98))!important;border:1px solid rgba(241,200,90,.24)!important;border-radius:12px!important;color:#fff!important;box-shadow:0 5px 15px rgba(0,0,0,.17)!important;text-align:left!important}
#organisermenu .gwsUnifiedMenuList>button>span:first-child,#playermenu .gwsUnifiedMenuList>button>span:first-child,.gwsTempOrganiserMenuSteps button>span:first-child{width:38px!important;height:38px!important;background:transparent!important;color:var(--v373-gold)!important;font-size:25px!important;filter:saturate(.8)}
#organisermenu .gwsUnifiedMenuList b,#playermenu .gwsUnifiedMenuList b,.gwsTempOrganiserMenuSteps b{font-family:Calibri,Arial,sans-serif!important;color:#fff!important;font-size:14px!important;line-height:1.05!important}
#organisermenu .gwsUnifiedMenuList small,#playermenu .gwsUnifiedMenuList small,.gwsTempOrganiserMenuSteps small{color:#d3e0da!important;font-size:10px!important;line-height:1.2!important;margin-top:4px!important}
#organisermenu .gwsUnifiedMenuList i,#playermenu .gwsUnifiedMenuList i,.gwsTempOrganiserMenuSteps i{color:var(--v373-gold)!important;font-size:22px!important}
#tempOrganiserMenuSection{grid-column:1/-1!important;color:#fff!important;border-color:rgba(241,200,90,.3)!important}.gwsTempOrganiserMenuSteps{display:grid;grid-template-columns:1fr!important;gap:8px}
#swindleApp .card:not(.hero){background:linear-gradient(145deg,#073f2f,#053527)!important;color:#fff!important;border:1px solid rgba(241,200,90,.22)!important;box-shadow:0 7px 20px rgba(0,0,0,.18)!important}
#swindleApp .card h2,#swindleApp .card h3,#swindleApp .card b{color:#fff!important}#swindleApp .card .muted,#swindleApp .card .footerNote{color:#c8d7d0!important}#swindleApp .card .eyebrow{color:var(--v373-gold)!important}
#gameHero.hero{background:linear-gradient(rgba(0,38,27,.35),rgba(0,38,27,.94)),url('/assets/images/golf-hero.jpg') center/cover no-repeat!important;border:1px solid rgba(241,200,90,.3)!important;min-height:142px!important}#gameHero .big,#gameHero #homeCourse{font-family:Calibri,Arial,sans-serif!important;color:#fff!important}
.primary,#submitCardBtn,#finaliseSaveBtn{background:linear-gradient(180deg,var(--v373-gold),var(--v373-gold2))!important;color:#18251e!important;border:1px solid #c79727!important;box-shadow:0 3px 9px rgba(0,0,0,.2)!important}.secondary{background:#0a4b38!important;color:#fff!important;border:1px solid rgba(241,200,90,.35)!important}.danger{border-radius:9px!important}
input,select,textarea{background:#f9f8f1!important;color:#173126!important;border:1px solid #9aaea3!important}
#leader>.card:first-of-type{background:linear-gradient(rgba(0,35,24,.38),rgba(0,35,24,.96)),url('/assets/images/golf-hero.jpg') center 58%/cover no-repeat!important;min-height:150px!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important}#leader>.card:first-of-type h2{font-family:Calibri,Arial,sans-serif!important;font-size:28px!important;color:#fff!important}#leaderSettings{color:#fff!important}#leaderNote{color:#d8e4de!important}
#leaderboard.card{padding:7px!important;background:#032d21!important}.leaderboardTableWrap{border:1px solid rgba(241,200,90,.25)!important;border-radius:12px!important;overflow:hidden!important}.leaderboardSummaryTable{background:#032d21!important;color:#fff!important}.leaderboardSummaryTable thead th{background:#0b4937!important;color:#f5d77e!important;border-bottom:1px solid rgba(241,200,90,.3)!important}.leaderboardSummaryTable td{background:#032d21!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.12)!important;padding:9px 5px!important}.leaderboardSummaryTable td b{color:#fff!important}.leaderboardSummaryTable tr.leader1 td{background:linear-gradient(90deg,rgba(241,200,90,.22),rgba(241,200,90,.06))!important}.leaderboardSummaryTable tr.leader1 td:last-child b{color:var(--v373-gold)!important;font-size:22px!important}.leaderboardSummaryTable .muted{color:#c6d3cd!important;font-size:10px!important}
.gwsLeaderboardCardDialog{background:#032d21!important;color:#fff!important;border:1px solid rgba(241,200,90,.35)!important}.gwsLeaderboardCardHeader h3{font-family:Calibri,Arial,sans-serif!important;color:#fff!important}.gwsLeaderboardCardTableWrap{border-color:rgba(241,200,90,.25)!important}.gwsLeaderboardCardTable th{background:#0a4b38!important;color:var(--v373-gold)!important}.gwsLeaderboardCardTable td{background:#063729!important;color:#fff!important;border-color:rgba(255,255,255,.1)!important}.gwsLeaderboardCardTotals>div{background:#0a4b38!important;border-color:rgba(241,200,90,.24)!important}.gwsLeaderboardCardTotals span{color:#d7e1dc!important}.gwsLeaderboardCardTotals b{color:var(--v373-gold)!important}
.scoreTableWrap{border-color:rgba(241,200,90,.3)!important;background:#032d21!important}.scoreStickyTable thead th,.scoreStickyTable .stickyHole{background:#0a4b38!important;color:var(--v373-gold)!important;border-color:#1c624d!important}.scoreStickyTable td,.scoreStickyTable tbody th{background:#063729!important;color:#fff!important;border-color:rgba(255,255,255,.1)!important}.scoreInput{background:#f7f4e8!important;color:#132a21!important;border-color:#a7b5ae!important}.scoreInput.scoreSaved{background:#dceee1!important;color:#123c29!important}
#finalise .winner,#nineWinners.winner{background:linear-gradient(145deg,#3f351d,#1f2f26)!important;border-color:rgba(241,200,90,.45)!important}.trophy{color:var(--v373-gold)!important}
#playerprofile .summary-grid>div,.gwsRecentRounds>div{border-color:rgba(241,200,90,.18)!important}
@media(max-width:380px){.gwsWelcomeHero{min-height:260px!important}.gwsWelcomeShade h2{font-size:25px!important}.gwsTodayStrip{grid-template-columns:1fr!important}.gwsTodayStrip>div:last-child{text-align:left;max-width:none}.gwsUnifiedMenuList b{font-size:13px!important}#organisermenu .gwsUnifiedMenuList>button,#playermenu .gwsUnifiedMenuList>button{min-height:80px!important;padding:8px!important}}
@media(max-width:335px){#organisermenu .gwsUnifiedMenuList,#playermenu .gwsUnifiedMenuList{grid-template-columns:1fr!important}.gwsWelcomeHero{min-height:245px!important}}



:root{
 --gws-green:#002f22;--gws-green-hi:#064b37;--gws-panel:#073f2f;
 --gws-panel-hi:#0a4b38;--gws-gold:#f1c85a;--gws-gold-deep:#d5a52d;
 --gws-white:#fffdf5;--gws-copy:#e8efe9;--gws-muted:#c6d4cd;
 --gws-border:rgba(241,200,90,.30);
}
#swindleApp,#swindleApp main,#swindleApp .screen{color:var(--gws-white)!important}
#swindleApp *{box-sizing:border-box}
#swindleApp h1,#swindleApp h2,#swindleApp h3,#swindleApp h4{color:var(--gws-white)!important}
#swindleApp p,#swindleApp li,#swindleApp label,#swindleApp .footerNote,#swindleApp .muted{color:var(--gws-copy)!important}
#swindleApp a{color:var(--gws-gold)!important}
#swindleApp .eyebrow{color:var(--gws-gold)!important}

/* Exact approved home-card proportions */
#organisermenu .gwsUnifiedMenuList,#playermenu .gwsUnifiedMenuList{
 gap:7px!important;margin:0 8px 18px!important
}
#organisermenu .gwsUnifiedMenuList>button,#playermenu .gwsUnifiedMenuList>button,
.gwsTempOrganiserMenuSteps button{
 grid-template-columns:34px minmax(0,1fr) 12px!important;
 column-gap:7px!important;min-height:78px!important;padding:9px 8px!important;
 overflow:hidden!important
}
#organisermenu .gwsUnifiedMenuList>button>span:nth-child(2),
#playermenu .gwsUnifiedMenuList>button>span:nth-child(2),
.gwsTempOrganiserMenuSteps button>span:nth-child(2){
 min-width:0!important;align-self:center!important;overflow:hidden!important
}
#organisermenu .gwsUnifiedMenuList b,#playermenu .gwsUnifiedMenuList b,
.gwsTempOrganiserMenuSteps b{
 display:block!important;font-size:13px!important;line-height:1.08!important;
 white-space:normal!important;overflow-wrap:anywhere!important
}
#organisermenu .gwsUnifiedMenuList small,#playermenu .gwsUnifiedMenuList small,
.gwsTempOrganiserMenuSteps small{
 display:block!important;color:var(--gws-muted)!important;font-size:9px!important;
 line-height:1.18!important;margin-top:4px!important;white-space:normal!important;
 overflow-wrap:anywhere!important
}
#organisermenu .gwsUnifiedMenuList i,#playermenu .gwsUnifiedMenuList i,
.gwsTempOrganiserMenuSteps i{font-size:19px!important;line-height:1!important}
.gwsGoldIcon{
 width:30px!important;height:30px!important;display:flex!important;align-items:center!important;
 justify-content:center!important;color:var(--gws-gold)!important;
 font-family:Calibri,Arial,sans-serif!important;font-size:25px!important;
 font-weight:700!important;line-height:1!important;background:transparent!important;
 filter:none!important;text-shadow:none!important
}
.gwsGoldStep{
 width:28px!important;height:28px!important;border-radius:50%!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 background:linear-gradient(180deg,var(--gws-gold),var(--gws-gold-deep))!important;
 color:#173126!important;font:800 15px/1 Calibri,Arial,sans-serif!important;filter:none!important
}

/* Remove inherited light-theme text colours inside dark cards */
#swindleApp .card:not(.hero) [style*="color:#1"],
#swindleApp .card:not(.hero) [style*="color: #1"],
#swindleApp .card:not(.hero) [style*="color:#2"],
#swindleApp .card:not(.hero) [style*="color: #2"],
#swindleApp .card:not(.hero) [style*="color:#3"],
#swindleApp .card:not(.hero) [style*="color: #3"],
#swindleApp .card:not(.hero) [style*="color:#4"],
#swindleApp .card:not(.hero) [style*="color: #4"],
#swindleApp .card:not(.hero) [style*="color:#5"],
#swindleApp .card:not(.hero) [style*="color: #5"],
#swindleApp .card:not(.hero) [style*="color:#6"],
#swindleApp .card:not(.hero) [style*="color: #6"],
#swindleApp .card:not(.hero) [style*="color:#7"],
#swindleApp .card:not(.hero) [style*="color: #7"]{color:var(--gws-copy)!important}

/* Form controls remain deliberately light and readable */
#swindleApp input,#swindleApp select,#swindleApp textarea{
 background:#fbfaf4!important;color:#173126!important;border-color:#9fb1a8!important
}
#swindleApp input::placeholder,#swindleApp textarea::placeholder{color:#64766d!important;opacity:1}
#swindleApp option{background:#fff!important;color:#173126!important}

/* Buttons: never allow dark-on-dark or white-on-gold clashes */
#swindleApp button.primary,#swindleApp .primary{
 background:linear-gradient(180deg,var(--gws-gold),var(--gws-gold-deep))!important;
 color:#16271f!important;border-color:#c69624!important
}
#swindleApp button.primary *,#swindleApp .primary *{color:#16271f!important}
#swindleApp button.secondary,#swindleApp .secondary{
 background:#0a4b38!important;color:#fff!important;border-color:rgba(241,200,90,.42)!important
}
#swindleApp button.secondary *,#swindleApp .secondary *{color:#fff!important}
#swindleApp button:disabled{opacity:.46!important;filter:saturate(.55)!important}

/* Tables and result screens: one dark system with legible headers */
#swindleApp table{color:#fff!important}
#swindleApp table th{color:#f6d879!important}
#swindleApp table td{color:#fff!important}
#swindleApp table .muted,#swindleApp table small{color:#c9d6d0!important}
#swindleApp .leaderboardSummaryTable td:last-child,
#swindleApp .leaderboardSummaryTable td:last-child b{font-variant-numeric:tabular-nums}
#swindleApp .scoreInput{color:#132a21!important}

/* Approved Today strip: prevent clipping on narrow phones */
.gwsTodayStrip{align-items:center!important}
.gwsTodayStrip>div{min-width:0!important}
.gwsTodayStrip b{white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.05!important}
.gwsTodayStrip>div:last-child{line-height:1.25!important;overflow-wrap:anywhere!important}

/* Rules/profile/course text must never inherit the old pale-page palette */
#rules .card,#handicaps .card,#playerprofile .card,#course .card,#finalise .card,
#home .card,#draw .card,#mycard .card,#score .card,#nextgame .card{
 color:var(--gws-white)!important
}
#rules .card strong,#rules .card b,#handicaps .card strong,#handicaps .card b,
#playerprofile .card strong,#course .card strong,#finalise .card strong{color:#fff!important}

/* Phone fit */
@media(max-width:390px){
 #organisermenu .gwsUnifiedMenuList>button,#playermenu .gwsUnifiedMenuList>button{min-height:76px!important}
 #organisermenu .gwsUnifiedMenuList b,#playermenu .gwsUnifiedMenuList b{font-size:12.5px!important}
 #organisermenu .gwsUnifiedMenuList small,#playermenu .gwsUnifiedMenuList small{font-size:8.8px!important}
}
@media(max-width:350px){
 #organisermenu .gwsUnifiedMenuList,#playermenu .gwsUnifiedMenuList{grid-template-columns:1fr!important}
 #organisermenu .gwsUnifiedMenuList>button,#playermenu .gwsUnifiedMenuList>button{min-height:68px!important}
}



/* Approved icon meanings: all inherit the same GWS gold */
.gwsGoldIcon{
 color:var(--gws-gold)!important;background:transparent!important;filter:none!important;
 text-shadow:none!important;font-family:Calibri,Arial,sans-serif!important;
 font-size:23px!important;font-weight:900!important;letter-spacing:0!important;
}
.gwsPeopleIcon{font-size:16px!important;letter-spacing:-2px!important}

/* Leaderboard podium: gold / silver / bronze as approved */
#leader table tbody tr.leader1,
#leaderboard table tbody tr.leader1{
 background:linear-gradient(90deg,rgba(241,200,90,.38),rgba(241,200,90,.11))!important;
 box-shadow:inset 4px 0 0 #f1c85a!important
}
#leader table tbody tr.leader2,
#leaderboard table tbody tr.leader2{
 background:linear-gradient(90deg,rgba(218,225,222,.22),rgba(218,225,222,.06))!important;
 box-shadow:inset 4px 0 0 #d9dfdc!important
}
#leader table tbody tr.leader3,
#leaderboard table tbody tr.leader3{
 background:linear-gradient(90deg,rgba(199,139,87,.28),rgba(199,139,87,.07))!important;
 box-shadow:inset 4px 0 0 #c78b57!important
}
#leader tr.leader1 td:first-child,#leaderboard tr.leader1 td:first-child{color:#f1c85a!important;font-weight:900!important;font-size:18px!important}
#leader tr.leader2 td:first-child,#leaderboard tr.leader2 td:first-child{color:#e0e5e2!important;font-weight:900!important}
#leader tr.leader3 td:first-child,#leaderboard tr.leader3 td:first-child{color:#d59a67!important;font-weight:900!important}
#leader tr.leader1 td,#leader tr.leader2 td,#leader tr.leader3 td{border-bottom-color:rgba(255,255,255,.10)!important}

/* Courses page: match approved stacked premium course-card treatment */
#course>.card{
 background:linear-gradient(180deg,#0a4a38 0%,#06382b 100%)!important;
 border:1px solid rgba(241,200,90,.28)!important;border-radius:14px!important;
 box-shadow:0 9px 22px rgba(0,0,0,.17)!important;padding:14px!important
}
#course h2,#course h3{
 font-family:Calibri,Arial,sans-serif!important;color:#fff!important
}
#course .field label{color:#f1c85a!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.05em!important}
#course input,#course select{
 min-height:44px!important;border-radius:9px!important;background:#fbfaf4!important;
 color:#173126!important;border:1px solid #9eafa6!important
}
#course .row{gap:8px!important}
#course button{border-radius:9px!important;font-weight:850!important}
#course button.primary{
 background:linear-gradient(180deg,#f1c85a,#d5a52d)!important;color:#173126!important
}
#course button.secondary{
 background:#0a4b38!important;color:#fff!important;border:1px solid rgba(241,200,90,.42)!important
}
#course table{
 width:100%!important;background:#06382b!important;border:1px solid rgba(241,200,90,.22)!important;
 border-radius:11px!important;overflow:hidden!important
}
#course table th{
 background:#002f22!important;color:#f1c85a!important;font-size:11px!important;
 text-transform:uppercase!important;letter-spacing:.03em!important
}
#course table td{background:#073e2f!important;color:#fff!important;border-color:rgba(255,255,255,.08)!important}
#course table tbody tr:nth-child(even) td{background:#084735!important}
#course .footerNote,#course .muted,#course small{color:#c7d4ce!important}
#course hr{border-color:rgba(241,200,90,.20)!important}

/* Keep descriptions contained on both menu grids */
#organisermenu .gwsUnifiedMenuList>button>span:nth-child(2),
#playermenu .gwsUnifiedMenuList>button>span:nth-child(2){min-width:0!important}
#organisermenu .gwsUnifiedMenuList small,
#playermenu .gwsUnifiedMenuList small{
 max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;
 overflow:visible!important;text-overflow:clip!important
}



.gwsGoldIcon svg{width:27px;height:27px;display:block;fill:none;stroke:#f1c85a;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gwsGoldIcon{display:flex!important;align-items:center!important;justify-content:center!important}
.gwsCourseHero{margin:0 0 12px;min-height:150px;background:url('/assets/images/golf-hero.jpg') center 45%/cover no-repeat;overflow:hidden;border-radius:0 0 18px 18px;border-bottom:1px solid rgba(241,200,90,.35)}
.gwsCourseHeroShade{min-height:150px;padding:56px 18px 16px;background:linear-gradient(180deg,rgba(0,30,22,.18),rgba(0,35,25,.94));display:flex;flex-direction:column;justify-content:flex-end}
.gwsCourseHero h2{font:700 28px/1 Calibri,Arial,sans-serif!important;margin:2px 0 4px!important}.gwsCourseHero p{margin:0!important;color:#d7e2dc!important;font-size:12px!important}
.gwsCourseActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 10px 10px}.gwsCourseActions button{min-height:48px}
.gwsCourseLibraryCard,.gwsArchivedCard,.gwsCourseEditorCard,#courseSearchCard,#courseTeeCard{margin:10px!important;border-radius:14px!important}
.gwsCourseCardHeading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}.gwsCourseCardHeading h3{font:700 20px/1.05 Calibri,Arial,sans-serif!important;margin:2px 0!important}.gwsCourseFlag{font-size:30px;color:#f1c85a}
.gwsCourseButtonRow{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.gwsCourseSearchRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:8px 0}
.gwsCourseFormGrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.gwsCourseFormGrid .field{margin:0}.gwsCourseFormGrid .field:nth-child(1),.gwsCourseFormGrid .field:nth-child(2){grid-column:1/-1}
.gwsHoleTableTitle{display:grid;grid-template-columns:42px 1fr 1fr 1fr;gap:7px;margin:15px 0 5px;padding:8px 6px;background:#002f22;border-radius:8px;color:#f1c85a;font-size:10px;font-weight:900;text-align:center}
#courseRows .coursegrid{background:#073e2f!important;border-bottom:1px solid rgba(255,255,255,.08)!important;padding:5px 4px!important}#courseRows .coursegrid:nth-child(even){background:#084735!important}
.gwsSaveCourseBtn{width:100%;margin-top:12px;min-height:48px}
@media(max-width:360px){.gwsCourseActions,.gwsCourseFormGrid{grid-template-columns:1fr}.gwsCourseFormGrid .field{grid-column:1!important}}



/* V397: colour/contrast protection only. Approved layout/design remains unchanged. */

/* Global dark-screen text protection */
.screen{color:#f7f3e8}
.screen .muted,.screen .footerNote,.screen small{color:#c7d4ce}
.screen h1,.screen h2,.screen h3,.screen h4,.screen strong,.screen b{color:inherit}

/* Intentional light controls must always remain dark-on-light */
.screen input,.screen select,.screen textarea{
  background:#fbfaf4!important;color:#173126!important;
}
.screen input::placeholder,.screen textarea::placeholder{color:#66756e!important;opacity:1}
.screen option{background:#fbfaf4!important;color:#173126!important}

/* RULES / HANDICAPS:
   preserve white adjustment rows with dark-green text, preventing white-on-white inheritance */
#rules .pointsAdjustRow,#rules .points-adjust-row,#rules .adjustmentRow,
#rules .bracketRow,#rules .ruleRow.light,#rules .whiteRow,
#handicaps .pointsAdjustRow,#handicaps .points-adjust-row,#handicaps .adjustmentRow,
#handicaps .bracketRow,#handicaps .ruleRow.light,#handicaps .whiteRow{
  background:#fff!important;color:#173126!important;
}
#rules .pointsAdjustRow *,#rules .points-adjust-row *,#rules .adjustmentRow *,
#rules .bracketRow *,#rules .ruleRow.light *,#rules .whiteRow *,
#handicaps .pointsAdjustRow *,#handicaps .points-adjust-row *,#handicaps .adjustmentRow *,
#handicaps .bracketRow *,#handicaps .ruleRow.light *,#handicaps .whiteRow *{
  color:#173126!important;
}
#rules .card,#handicaps .card{color:#f7f3e8}
#rules .muted,#rules small,#handicaps .muted,#handicaps small{color:#c7d4ce}

/* FINALISE:
   light status panels keep dark text; dark panels keep cream text */
#finalise .status.ok,#finalise .status.warn,#finalise .status.bad,
#finalise .playerStatus,#finalise .cardStatus,
#finalise .submissionStatus{
  color:#173126!important;
}
#finalise .status.ok *,#finalise .status.warn *,#finalise .status.bad *,
#finalise .playerStatus *,#finalise .cardStatus *,#finalise .submissionStatus *{
  color:inherit!important;
}

/* LEADERBOARD: pin podium foreground colours against legacy table rules */
#leader tr.leader1 td,#leaderboard tr.leader1 td{color:#fff8df!important}
#leader tr.leader1 td:first-child,#leaderboard tr.leader1 td:first-child{color:#f1c85a!important}
#leader tr.leader2 td,#leaderboard tr.leader2 td{color:#f3f5f4!important}
#leader tr.leader2 td:first-child,#leaderboard tr.leader2 td:first-child{color:#e0e5e2!important}
#leader tr.leader3 td,#leaderboard tr.leader3 td{color:#fff3e8!important}
#leader tr.leader3 td:first-child,#leaderboard tr.leader3 td:first-child{color:#d59a67!important}

/* SCORECARDS: improve only weak contrast combinations */
.scoreEagle,.score-eagle,.eagleScore,.score.eagle{
  background:#2f7d45!important;color:#fff!important;
}
.scoreEagle *,.score-eagle *,.eagleScore *,.score.eagle *{color:#fff!important}

/* Disabled/submitted controls: readable but still visually disabled */
button:disabled,.btn:disabled,.button:disabled{
  color:#33443c!important;
  background:#c8cfcb!important;
  border-color:#aab5af!important;
  opacity:1!important;
}

/* Attendance/waiting amber: use dark text for contrast */
.waiting,.statusWaiting,.attendanceWaiting,.attendance-waiting,
button.waiting,.btn.waiting{
  color:#2b2b20!important;
}
.waiting *,.statusWaiting *,.attendanceWaiting *,.attendance-waiting *{color:inherit!important}

/* COURSES: protect deliberate dark cards and light controls from global inheritance */
#course .card{color:#f7f3e8}
#course input,#course select,#course textarea{background:#fbfaf4!important;color:#173126!important}
#course table th{color:#f1c85a!important}
#course table td{color:#fff!important}
#course .muted,#course .footerNote,#course small{color:#c7d4ce!important}

/* Other dark pages: explicitly pin standard content so legacy light-theme rules cannot leak through */
#today .card,#draw .card,#players .card,#nextgame .card,#profile .card,
#groupscores .card,#mycard .card,#score .card,#organisermenu .card,#playermenu .card{
  color:#f7f3e8;
}



/* V397 — colour only. Protect every known light surface from dark-theme text inheritance. */

/* Rules / Handicaps: the complete placed-player and points-adjustment light panels */
#rules .gwsRuleCol,
#rules .gwsRuleCol *,
#rules .gwsBandRow,
#rules .gwsBandRow *,
#rules .gwsRuleColHead,
#rules .gwsRuleColHead *,
#rules .gwsRuleMiniHead,
#rules .gwsRuleMiniHead *,
#rules .gwsBandsHeader,
#rules .gwsBandsHeader *,
#handicaps .gwsRuleCol,
#handicaps .gwsRuleCol *,
#handicaps .gwsBandRow,
#handicaps .gwsBandRow *{
  color:#173126!important;
}
#rules .gwsRuleMiniHead,#rules .gwsBandsHeader{color:#56675f!important}
#rules .gwsRuleColHead{color:#064f38!important}

/* Generic intentional light cards/panels used across legacy screens */
.screen .lightCard,.screen .light-card,.screen .whiteCard,.screen .white-card,
.screen .lightPanel,.screen .light-panel,.screen .whitePanel,.screen .white-panel,
.screen .panel.light,.screen .card.light{
  color:#173126!important;
}
.screen .lightCard *,.screen .light-card *,.screen .whiteCard *,.screen .white-card *,
.screen .lightPanel *,.screen .light-panel *,.screen .whitePanel *,.screen .white-panel *,
.screen .panel.light *,.screen .card.light *{
  color:inherit!important;
}

/* Finalise/status light surfaces */
#finalise .status.ok,#finalise .status.warn,#finalise .status.bad,
#finalise .playerStatus,#finalise .cardStatus,#finalise .submissionStatus,
#finalise .status.ok *,#finalise .status.warn *,#finalise .status.bad *,
#finalise .playerStatus *,#finalise .cardStatus *,#finalise .submissionStatus *{
  color:#173126!important;
}

/* Attendance / RSVP light status surfaces */
#rsvpList .yes,#rsvpList .no,#rsvpList .waiting,
#rsvpList .yes *,#rsvpList .no *,#rsvpList .waiting *,
.attendanceRow,.attendanceRow *{
  color:#173126!important;
}

/* All form controls remain explicitly dark on their light backgrounds */
.screen input,.screen select,.screen textarea,
.screen input *,.screen select *,.screen textarea *{
  color:#173126!important;
  -webkit-text-fill-color:#173126!important;
}



/* V352 — score-entry headings remain visible beneath the page title while scrolling.
   Final override intentionally supersedes V333's static thead cells. */
#score .scoreTableWrap,
#score .card:has(#scorecard),
#mycard .card:has(#myCardTable){
  overflow:visible!important;
}
#score table.gwsGroupScoreTable thead th,
#mycard #myCardTable table.gwsMyCardScoreTable thead th{
  position:sticky!important;
  z-index:80!important;
  background:#003f2b!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 2px 0 rgba(255,255,255,.15),0 3px 8px rgba(0,0,0,.10)!important;
}
/* Player pages: stop immediately below the fixed Group Scores / My Card bar. */
body.player-mode #score table.gwsGroupScoreTable thead th,
body.player-mode #mycard #myCardTable table.gwsMyCardScoreTable thead th{
  top:51px!important;
}
/* Organiser pages: stop below the existing organiser header/tabs. */
body:not(.player-mode) #score table.gwsGroupScoreTable thead th,
body:not(.player-mode) #mycard #myCardTable table.gwsMyCardScoreTable thead th{
  top:116px!important;
}



/* V353 — Player View My Card: #myCardTable previously had overflow-x:hidden,
   which became the sticky containing block and prevented the header from
   following the Player full-page scroll. Remove that clipping so the heading
   row sticks exactly like Group Scores. */
body.player-mode #mycard.active #myCardTable{
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
}
body.player-mode #mycard.active .card:has(#myCardTable){
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
}
body.player-mode #mycard.active #myCardTable table.gwsMyCardScoreTable thead th{
  position:sticky!important;
  top:64px!important;
  z-index:121!important;
  background:#003f2b!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}



/* V354 — Organiser Review / Amend Player Card.
   The review table already renders its THEAD before Hole 1. The remaining issue
   was that organiser mode still left #myCardTable as a competing overflow
   container, so iOS let the column titles scroll away. Match the proven Group
   Scores structure: one page scroll container, with the column row sticky below
   the organiser page chrome. */
body:not(.player-mode) #mycard.active #myCardTable,
body:not(.player-mode) #mycard.active .card:has(#myCardTable){
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
}
body:not(.player-mode) #mycard.active #myCardTable table.gwsMyCardScoreTable{
  overflow:visible!important;
}
body:not(.player-mode) #mycard.active #myCardTable table.gwsMyCardScoreTable thead{
  display:table-header-group!important;
}
body:not(.player-mode) #mycard.active #myCardTable table.gwsMyCardScoreTable thead th{
  position:sticky!important;
  top:116px!important;
  z-index:121!important;
  background:#003f2b!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 2px 0 rgba(255,255,255,.15),0 3px 8px rgba(0,0,0,.12)!important;
}



/* V355 — Organiser Review Player Card: remove the real scroll ancestor.
   V354 relied on :has(), which is not dependable on every iPhone version and
   left the inline overflow:auto card as the sticky containing block.
   The scorecard card now has an explicit class and participates in the page
   scroll exactly like the working Group Scores card. */
#mycard .gwsMyCardTableCard,
#mycard .gwsMyCardTableCard #myCardTable{
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
}
body:not(.player-mode) #mycard.active .gwsMyCardTableCard table.gwsMyCardScoreTable thead th{
  position:sticky!important;
  top:64px!important;
  z-index:121!important;
  background:#003f2b!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 2px 0 rgba(255,255,255,.15),0 3px 8px rgba(0,0,0,.12)!important;
}



/* V356 — Organiser Review Player Card uses a measured fixed clone of the
   real table heading while the window scrolls through the scorecard. This
   avoids iOS/table sticky inconsistencies without changing Player My Card. */
#gwsOrgReviewFloatingHead{
  display:none;position:fixed;z-index:220;pointer-events:none;overflow:hidden;
  margin:0;padding:0;border:0;background:#003f2b;box-shadow:0 3px 8px rgba(0,0,0,.14);
}
#gwsOrgReviewFloatingHead table{border-collapse:collapse!important;table-layout:fixed!important;margin:0!important;width:100%!important;background:#003f2b!important}
#gwsOrgReviewFloatingHead th{background:#003f2b!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:inherit;font-weight:800;text-align:center;padding:4px 0!important;border:0!important;white-space:normal!important;overflow-wrap:anywhere!important}



/* V357 — Organiser Review Player Card: use a normal block-level sticky row,
   not table-cell sticky and not a JavaScript floating clone. */
body:not(.player-mode) #mycard.active .gwsMyCardTableCard,
body:not(.player-mode) #mycard.active .gwsMyCardTableCard #myCardTable{
  overflow:visible!important; overflow-x:visible!important; overflow-y:visible!important;
}
body:not(.player-mode) #mycard.active .gwsOrgReviewStickyHeader{
  position:-webkit-sticky!important; position:sticky!important; top:116px!important; z-index:230!important;
  display:grid!important; grid-template-columns:7% 10% 8% 8% 16% 9% 16% 26%!important;
  width:100%!important; margin:0!important; padding:0!important;
  background:#003f2b!important; color:#fff!important; -webkit-text-fill-color:#fff!important;
  box-shadow:0 2px 0 rgba(255,255,255,.15),0 3px 8px rgba(0,0,0,.14)!important;
}
body:not(.player-mode) #mycard.active .gwsOrgReviewStickyHeader span{
  min-width:0!important; padding:4px 1px!important; text-align:center!important;
  font-size:8px!important; line-height:1.1!important; font-weight:800!important; text-transform:uppercase!important;
  white-space:normal!important; overflow-wrap:anywhere!important; color:#fff!important; -webkit-text-fill-color:#fff!important;
}
/* The block row above is the organiser heading; hide the table's duplicate heading only in organiser review. */
body:not(.player-mode) #mycard.active #myCardTable table.gwsMyCardScoreTable thead{display:none!important;}
/* Retire V356's JS clone so there is only one heading mechanism. */
body:not(.player-mode) #gwsOrgReviewFloatingHead{display:none!important;}



/* V364 — Organiser Review Player Card deliberately uses the SAME fixed,
   self-scrolling page structure as the proven Player My Card. The role stays
   organiser, so permissions/player selection are unchanged. */
body:not(.player-mode) #mycard.playerFullPage.active{
  position:fixed!important; inset:0!important; z-index:1000!important;
  background:var(--bg)!important; overflow-y:auto!important; overflow-x:hidden!important;
  overscroll-behavior:contain!important; -webkit-overflow-scrolling:touch!important;
  padding:0 12px 28px!important; box-sizing:border-box!important;
}
body:not(.player-mode) #mycard.active > .gwsOrgMyCardBar{
  display:grid!important; position:sticky!important; top:calc(env(safe-area-inset-top,0px) + 6px)!important; z-index:120!important;
  width:calc(100% - 16px)!important; margin:6px 8px 10px!important; padding:7px 9px!important;
  min-height:48px!important; box-sizing:border-box!important; border-radius:14px!important; overflow:hidden!important;
  background:#124f3a!important; box-shadow:0 3px 12px rgba(0,0,0,.16)!important;
  grid-template-columns:auto 1fr auto!important; align-items:center!important; gap:8px!important;
}
body:not(.player-mode) #mycard.active > .gwsOrgMyCardBar .playerFullPageTitle{color:#fff!important;font-weight:900!important;text-align:center!important;font-size:15px!important}
body:not(.player-mode) #mycard.active > .gwsOrgMyCardBar button{min-height:34px!important;padding:6px 10px!important;border-radius:9px!important;background:#fff!important;color:#003f2b!important;border:1px solid #b9c8bf!important}
body:not(.player-mode) #mycard.active > .gwsOrgMyCardBar .gwsPlayerMiniLogo{width:31px!important;height:31px!important;display:block!important;object-fit:contain!important}
/* The normal organiser page bar belongs to the window-scrolling layout; hide it
   while this one screen is using the Player My Card scroll container. */
body:not(.player-mode) #mycard.active ~ #gwsOrganiserPageBar{display:none!important}
/* Remove every old organiser-only heading experiment. The REAL table THEAD is
   now the only title row, exactly as in Player My Card. */
body:not(.player-mode) #mycard.active .gwsOrgReviewStickyHeader,
body:not(.player-mode) #gwsOrgReviewFloatingHead{display:none!important}
body:not(.player-mode) #mycard.active #myCardTable,
body:not(.player-mode) #mycard.active .gwsMyCardTableCard{overflow:visible!important}
body:not(.player-mode) #mycard.active #myCardTable table.gwsMyCardScoreTable thead{display:table-header-group!important}
body:not(.player-mode) #mycard.active #myCardTable table.gwsMyCardScoreTable thead th{
  position:-webkit-sticky!important; position:sticky!important; top:64px!important; z-index:121!important;
  background:#003f2b!important; color:#fff!important; -webkit-text-fill-color:#fff!important;
  box-shadow:0 2px 0 rgba(255,255,255,.15),0 3px 8px rgba(0,0,0,.10)!important;
}
@media(max-width:360px){body:not(.player-mode) #mycard.active > .gwsOrgMyCardBar{margin-left:8px!important;margin-right:8px!important}body:not(.player-mode) #mycard.active > .gwsOrgMyCardBar .playerFullPageTitle{font-size:14px!important}}


/* =========================================================
   V397 AUTHORITATIVE COLOUR SYSTEM
   Colour housekeeping only. This is the final cascade layer.
   ========================================================= */
:root{
  --gws-bg:#071b14;
  --gws-panel:#0d2a20;
  --gws-panel-2:#12372a;
  --gws-gold:#d8b65a;
  --gws-cream:#f7f3e8;
  --gws-muted:#c7d4ce;
  --gws-ink:#173126;
  --gws-light:#fbfaf4;
  --gws-border:#315746;
  --gws-danger:#8f2f2f;
  --gws-success:#2f7d45;
  --gws-amber:#d6aa4b;
}

/* Dark application surfaces */
.screen{background-color:var(--gws-bg);color:var(--gws-cream)}
.screen .card:not(.light):not(.whiteCard):not(.white-card):not(.lightCard):not(.light-card),
.screen .panel:not(.light):not(.whitePanel):not(.white-panel):not(.lightPanel):not(.light-panel){
  color:var(--gws-cream);
}
.screen .muted,.screen .footerNote,.screen small{color:var(--gws-muted)}
.screen a{color:var(--gws-gold)}

/* All intentional light controls */
.screen input,.screen select,.screen textarea{
  background:var(--gws-light)!important;
  color:var(--gws-ink)!important;
  -webkit-text-fill-color:var(--gws-ink)!important;
}
.screen input::placeholder,.screen textarea::placeholder{
  color:#66756e!important;opacity:1;
}
.screen option{background:var(--gws-light)!important;color:var(--gws-ink)!important}

/* Generic intentional light surfaces */
.screen .lightCard,.screen .light-card,.screen .whiteCard,.screen .white-card,
.screen .lightPanel,.screen .light-panel,.screen .whitePanel,.screen .white-panel,
.screen .panel.light,.screen .card.light{
  color:var(--gws-ink)!important;
}
.screen .lightCard *,.screen .light-card *,.screen .whiteCard *,.screen .white-card *,
.screen .lightPanel *,.screen .light-panel *,.screen .whitePanel *,.screen .white-panel *,
.screen .panel.light *,.screen .card.light *{
  color:inherit!important;
}

/* RULES — every user-facing element in the light reduction/adjustment panels */
#rules .gwsRuleCol,#rules .gwsRuleCol *,
#rules .gwsRuleLine,#rules .gwsRuleLine *,
#rules .gwsBandRow,#rules .gwsBandRow *,
#rules .pointsAdjustRow,#rules .pointsAdjustRow *,
#rules .points-adjust-row,#rules .points-adjust-row *,
#rules .adjustmentRow,#rules .adjustmentRow *,
#rules .bracketRow,#rules .bracketRow *,
#rules .ruleRow.light,#rules .ruleRow.light *,
#rules .whiteRow,#rules .whiteRow *{
  color:var(--gws-ink)!important;
}
#rules .gwsRuleColHead,#rules .gwsRuleColHead *{
  color:#064f38!important;
}
#rules .gwsRuleMiniHead,#rules .gwsRuleMiniHead *,
#rules .gwsBandsHeader,#rules .gwsBandsHeader *{
  color:#56675f!important;
}
#rules .card{color:var(--gws-cream)}
#rules .muted,#rules small{color:var(--gws-muted)!important}

/* HANDICAPS — same protection for any shared rules components */
#handicaps .gwsRuleCol,#handicaps .gwsRuleCol *,
#handicaps .gwsRuleLine,#handicaps .gwsRuleLine *,
#handicaps .gwsBandRow,#handicaps .gwsBandRow *,
#handicaps .pointsAdjustRow,#handicaps .pointsAdjustRow *,
#handicaps .adjustmentRow,#handicaps .adjustmentRow *{
  color:var(--gws-ink)!important;
}
#handicaps .card{color:var(--gws-cream)}
#handicaps .muted,#handicaps small{color:var(--gws-muted)!important}

/* FINALISE — tinted/light status panels */
#finalise .status.ok,#finalise .status.warn,#finalise .status.bad,
#finalise .playerStatus,#finalise .cardStatus,#finalise .submissionStatus,
#finalise .status.ok *,#finalise .status.warn *,#finalise .status.bad *,
#finalise .playerStatus *,#finalise .cardStatus *,#finalise .submissionStatus *{
  color:var(--gws-ink)!important;
}

/* ATTENDANCE / RSVP */
#rsvpList .yes,#rsvpList .no,#rsvpList .waiting,
#rsvpList .yes *,#rsvpList .no *,#rsvpList .waiting *,
.attendanceRow,.attendanceRow *{
  color:var(--gws-ink)!important;
}
.waiting,.statusWaiting,.attendanceWaiting,.attendance-waiting,
button.waiting,.btn.waiting{color:#2b2b20!important}

/* COURSES — dark cards/tables + deliberate light form controls */
#course .card{color:var(--gws-cream)}
#course .muted,#course .footerNote,#course small{color:var(--gws-muted)!important}
#course input,#course select,#course textarea{
  background:var(--gws-light)!important;color:var(--gws-ink)!important;
  -webkit-text-fill-color:var(--gws-ink)!important;
}
#course table th{color:var(--gws-gold)!important}
#course table td{color:#fff!important}

/* LEADERBOARD podium */
#leader tr.leader1 td{color:#fff8df!important}
#leader tr.leader1 td:first-child{color:#f1c85a!important}
#leader tr.leader2 td{color:#f3f5f4!important}
#leader tr.leader2 td:first-child{color:#e0e5e2!important}
#leader tr.leader3 td{color:#fff3e8!important}
#leader tr.leader3 td:first-child{color:#d59a67!important}

/* SCORECARDS */
.scoreEagle,.score-eagle,.eagleScore,.score.eagle{
  background:#2f7d45!important;color:#fff!important;
}
.scoreEagle *,.score-eagle *,.eagleScore *,.score.eagle *{color:#fff!important}

/* Disabled/submitted controls */
button:disabled,.btn:disabled,.button:disabled{
  color:#33443c!important;
  background:#c8cfcb!important;
  border-color:#aab5af!important;
  opacity:1!important;
}

/* Explicit dark-page content protection */
#organisermenu .card,#playermenu .card,#home .card,#playerhome .card,
#players .card,#handicapadmin .card,#nextgame .card,#playerprofile .card,
#draw .card,#score .card,#mycard .card,#leader .card{
  color:var(--gws-cream);
}


/* =========================================================
   V397 RENDER-AUDIT COLOUR CORRECTIONS — CSS ONLY
   ========================================================= */


/* Rules > Placed-player reductions: pale-green Stableford/Medal title bars. */
#rules .gwsRuleCol > .gwsRuleColHead,
#rules .gwsRuleCol > .gwsRuleColHead *{
  color:#173126!important;
  -webkit-text-fill-color:#173126!important;
}

/* Rules > Points adjustments: headings sit on pale/light surfaces. */
#rules .gwsPointsAdjustmentsCard .gwsRuleColHead,
#rules .gwsPointsAdjustmentsCard .gwsRuleColHead *,
#rules .gwsPointsAdjustmentsCard .gwsRuleMiniHead,
#rules .gwsPointsAdjustmentsCard .gwsRuleMiniHead *,
#rules .gwsPointsAdjustmentsCard .gwsBandsHeader,
#rules .gwsPointsAdjustmentsCard .gwsBandsHeader *{
  color:#173126!important;
  -webkit-text-fill-color:#173126!important;
}

/* Light table headers must always use dark readable text. */
#players table thead th,#players table th,
#handicapadmin table thead th,#handicapadmin table th,
#handicaps table thead th,#handicaps table th{
  color:#173126!important;
  -webkit-text-fill-color:#173126!important;
}

/* Dynamic pale score/save/error states. */
.scoreSaving,.score-saving,.savingScore,.saving-score,
.scoreSaved,.score-saved,.savedScore,.saved-score,
.scoreError,.score-error,.scoreFailed,.score-failed,
.validationError,.validation-error,.gwsValidationError,
.scoreRecovery,.score-recovery,.recoveryBox,.recovery-box,
.durabilityBanner,.durability-banner,.syncBanner,.sync-banner{
  color:#173126!important;
  -webkit-text-fill-color:#173126!important;
}
.scoreSaving *,.score-saving *,.savingScore *,.saving-score *,
.scoreSaved *,.score-saved *,.savedScore *,.saved-score *,
.scoreError *,.score-error *,.scoreFailed *,.score-failed *,
.validationError *,.validation-error *,.gwsValidationError *,
.scoreRecovery *,.score-recovery *,.recoveryBox *,.recovery-box *,
.durabilityBanner *,.durability-banner *,.syncBanner *,.sync-banner *{
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
}


/* =========================================================
   V397 — EXACT V380 READABILITY PATCH REQUESTED BY IAN
   No container-wide colour changes.
   ========================================================= */

/* Organiser > Today's Game > Attendance:
   ONLY the figures/labels inside the three pale Attendance boxes. */
#home .grid3 .stat > b{
  color:#173126!important;
  -webkit-text-fill-color:#173126!important;
}
#home .grid3 .stat > .muted{
  color:#56675f!important;
  -webkit-text-fill-color:#56675f!important;
}

/* Organiser > Today's Game > Responses:
   preserve the intended light text on the dark card, but explicitly protect
   the player names/details and dynamic response read-outs on iPhone/WebKit. */
#home #rsvpList > .row > div:first-child > b{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#home #rsvpList > .row > div:first-child > .muted{
  color:#c8d7d0!important;
  -webkit-text-fill-color:#c8d7d0!important;
}
#home #rsvpLatestNotice,
#home #rsvpUnreadSummary{
  color:#c8d7d0!important;
  -webkit-text-fill-color:#c8d7d0!important;
}
#home #rsvpNotificationList > .row > div:first-child > b,
#home #rsvpNotificationList > .row > div:last-child{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#home #rsvpNotificationList > .row > div:first-child > .muted{
  color:#c8d7d0!important;
  -webkit-text-fill-color:#c8d7d0!important;
}

/* Organiser > Review Player Card:
   ONLY the pale status strip underneath the selected player. */
body:not(.player-mode) #mycard #myCardStatus{
  color:#173126!important;
  -webkit-text-fill-color:#173126!important;
}

/* Organiser > Review Player Card:
   ONLY the explanatory wording underneath the card/actions.
   It remains light text because its card is dark. */
body:not(.player-mode) #mycard #flagCardBtn + .footerNote{
  color:#e8efe9!important;
  -webkit-text-fill-color:#e8efe9!important;
}

/* Organiser > Players:
   ONLY the player name on the light player row. */
#players #playerTable > tr > td:first-child > b{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Player Profile:
   ONLY the two title lines immediately above the Last 10 rounds area.
   Keep the approved gold/white colours and explicitly protect WebKit fill. */
#playerprofile > .card + .card > .eyebrow{
  color:#f1c85a!important;
  -webkit-text-fill-color:#f1c85a!important;
}
#playerprofile > .card + .card > h3{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Player > My Card:
   ONLY the pale status strip underneath the heading. */
body.player-mode #mycard #myCardStatus{
  color:#173126!important;
  -webkit-text-fill-color:#173126!important;
}

/* Player > My Card:
   the shared organiser H2 must not appear underneath the proper My Card title. */
body.player-mode #mycard #myCardHeading{
  display:none!important;
}


/* =========================================================
   V397 — ONLY V384 ISSUES SHOWN BY IAN'S DEVICE SCREENSHOTS
   ========================================================= */

/* Player Home: use the same photograph, crop lower into it so the course
   is visible rather than mostly sky; restore the dynamic player's full name. */
#gwsPlayerWelcomeHero{
  background-position:center 78%!important;
}
#gwsPlayerWelcomeName{
  display:block!important;
  color:#f1c85a!important;
  -webkit-text-fill-color:#f1c85a!important;
  font-size:13px!important;
  font-weight:900!important;
  margin:0 0 5px!important;
}

/* Player > My Card: exactly one role-appropriate page header. */
body.player-mode #mycard > .gwsOrgMyCardBar{
  display:none!important;
}
body:not(.player-mode) #mycard > .playerFullPageBar.player-only{
  display:none!important;
}

/* Draw cards (Organiser and Player): white cards require dark text. */
#draw #drawOutput .group,
#draw #drawOutput .group h3,
#draw #drawOutput .group .groupNames,
#draw #drawOutput .group .groupNames b{
  color:#173126!important;
  -webkit-text-fill-color:#173126!important;
}
#draw #drawOutput .group .groupNames .muted{
  color:#617169!important;
  -webkit-text-fill-color:#617169!important;
}
/* Do not alter the approved scorer badge. */
#draw #drawOutput .group .pill.yes{
  color:#176b3a!important;
  -webkit-text-fill-color:#176b3a!important;
}

/* Group Scores: only the left Hole / Yds / Par / SI body columns shown
   disappearing on the white score rows. */
#score .gwsGroupScoreTable tbody td.gwsMetaHole,
#score .gwsGroupScoreTable tbody td.gwsMetaYards,
#score .gwsGroupScoreTable tbody td.gwsMetaPar,
#score .gwsGroupScoreTable tbody td.gwsMetaSi,
#score .gwsGroupScoreTable tbody td.gwsMetaHole b{
  color:#173126!important;
  -webkit-text-fill-color:#173126!important;
}

/* Organiser > Players: white player cards require readable player details. */
#players #playerTable > tr > td:nth-child(1),
#players #playerTable > tr > td:nth-child(1) b,
#players #playerTable > tr > td:nth-child(2){
  color:#173126!important;
  -webkit-text-fill-color:#173126!important;
}
#players #playerTable > tr > td:nth-child(1) .muted{
  color:#617169!important;
  -webkit-text-fill-color:#617169!important;
}

/* Player Profile > Last 10 rounds: pale header strip requires dark headings. */
#playerprofile #playerProfileRecentRounds .gwsCompactRounds thead th{
  color:#173126!important;
  -webkit-text-fill-color:#173126!important;
}

/* Finalise > Proposed handicap adjustments: pale header strip requires dark headings. */
#finalise #finaliseHandicaps table thead th,
#finalise #handicapConfirmation table thead th{
  color:#173126!important;
  -webkit-text-fill-color:#173126!important;
}

/* Review Player Card / My Card: Par and SI are on pale score rows. */
#mycard #myCardTable .gwsMyCardPlayerStyle td .gwsMyCardPar,
#mycard #myCardTable .gwsMyCardPlayerStyle td .gwsMyCardSi{
  color:#173126!important;
  -webkit-text-fill-color:#173126!important;
}

/* Review Player Card / My Card running total is a pale box. */
#mycard .gwsMyCardRunningTotal,
#mycard .gwsMyCardRunningTotal .gwsMyTotalLabel,
#mycard .gwsMyCardRunningTotal .gwsMyTotalPts,
#mycard .gwsMyCardRunningTotal .gwsMyTotalScores{
  color:#173126!important;
  -webkit-text-fill-color:#173126!important;
}


/* V397 — Group Scores TOTAL figures only.
   The player total cells have a pale background, so figures must be dark. */
#score .gwsScoreTotalRow .gwsScoreTotalCell,
#score .gwsScoreTotalRow .gwsScoreTotalCell .gwsTotalPts,
#score .gwsScoreTotalRow .gwsScoreTotalCell .gwsTotalGross,
#score .gwsScoreTotalRow .gwsScoreTotalCell .gwsTotalNett{
  color:#173126!important;
  -webkit-text-fill-color:#173126!important;
  opacity:1!important;
}


/* V397 — ONLY Temporary Organiser step-card text from Ian's screenshot. */
body.gws-temp-organiser-mode #tempOrganiserMenuSection .gwsTempOrganiserMenuSteps > button > span:nth-child(2) > b{
  color:#173126!important;
  -webkit-text-fill-color:#173126!important;
  opacity:1!important;
}
body.gws-temp-organiser-mode #tempOrganiserMenuSection .gwsTempOrganiserMenuSteps > button > span:nth-child(2) > small{
  color:#56675f!important;
  -webkit-text-fill-color:#56675f!important;
  opacity:1!important;
}


/* V397 — Player Home hero only: show the golf course, not mainly sky/clouds. */
#gwsPlayerWelcomeHero.gwsWelcomeHero{
  background-image:url('/assets/images/golf-hero-page1-clean.jpg')!important;
  background-position:center 68%!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}

/* V397 — Player Home photograph only.
   Uses a real crop of the existing GWS golf photograph so the visible hero
   contains the course, flag and green rather than mainly sky. */
#gwsPlayerWelcomeHero.gwsWelcomeHero{
  background-image:url('/assets/images/player-home-course.jpg')!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}


/* V397 — Organiser Home only: use the same exact course crop as Player Home. */
#gwsOrganiserWelcomeHero.gwsWelcomeHero{
  background-image:url('/assets/images/player-home-course.jpg')!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}


/* V407: Controls only in demo headings, never visible in live mode. */
body.gws-demo-mode .gwsDemoHeadingActions{display:flex;gap:8px;margin:9px 0 2px;width:100%;align-items:center;justify-content:flex-start;flex-wrap:wrap;clear:both;position:static!important;float:none!important}
body.gws-demo-mode .gwsDemoHeadingActions button{font:600 12px Calibri,Arial,sans-serif;padding:6px 10px;border-radius:5px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer}
body:not(.gws-demo-mode) .gwsDemoHeadingActions{display:none!important}
