:root{
  --navy:#071b2f;
  --red:#a98643;
  --gold:#b99a5b;
  --gold-dark:#80672f;
  --ink:#132235;
  --muted:#647080;
  --line:#d8d6cf;
  --paper:#f3f2ee;
  --good:#176047;
}
body{background:linear-gradient(180deg,#e9e7e0 0,#f5f4f0 240px);font-size:16px}
.hero{background:var(--navy);border:0;border-bottom:4px solid var(--gold);color:#fff;padding-top:18px;padding-bottom:18px}
.hero .eyebrow{color:#d9c08e;letter-spacing:.2em}
.hero h1{color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:31px;letter-spacing:.02em;text-transform:uppercase}
.hero p{color:#d7dce2;font-size:13px}
.hero .env-badge{background:transparent;border:1px solid rgba(217,192,142,.65);color:#f1dfbb;letter-spacing:.12em}
.panel{border-radius:8px;border-color:#d8d4c9;box-shadow:0 8px 28px rgba(7,27,47,.08)}
.eyebrow{color:var(--gold-dark);letter-spacing:.15em}
.section-head h2,.score-topbar h2,.game-choice h3,.review-card h3,.score-player b,.round-scorecard summary,.command-group h3,.chit-head h3{color:var(--navy)}
.btn,.step,input,select,.remove-btn,.game-choice,.review-card,.score-player,.segmented button,.bottom-nav,.bottom-nav button,.game-status,.metric,.command-group,.ledger-player,.payment-row,.modal-card{border-radius:5px}
.primary{background:var(--gold-dark);color:#fff}
.secondary{background:var(--navy);color:#fff}
.step{min-height:64px;border-color:#d2cec1;text-transform:uppercase;letter-spacing:.04em}
.step span{font-family:Georgia,"Times New Roman",serif;font-size:14px;text-transform:none;letter-spacing:0}
.step.active{background:var(--navy);box-shadow:inset 0 -3px var(--gold)}
.step.done{background:#ece8dc;color:#5d4c27}
.step-badge{background:#eee9dc;color:#62502a}
.game-choice{border-left:4px solid var(--gold);background:#fbfaf7}
.saved-player-menu{margin-bottom:16px;border:1px solid var(--line);border-radius:7px;background:#f8f7f3;overflow:hidden}
.saved-player-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;border-bottom:1px solid var(--line)}
.saved-player-head h3{margin:2px 0 0;color:var(--navy);font:700 18px Georgia,serif}
.saved-player-head>span{font-size:12px;color:var(--muted)}
.saved-player-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}
.saved-player-list button,.join-player-list button{display:flex;justify-content:space-between;align-items:center;gap:10px;border:0;background:#fff;color:var(--ink);padding:12px;text-align:left}
.saved-player-list button span,.join-player-list button span{display:grid;gap:2px}
.saved-player-list small,.join-player-list small{color:var(--muted);font-size:12px}
.saved-player-list strong,.join-player-list strong{color:var(--gold-dark);font-size:13px}
.saved-player-list button:disabled{opacity:.55;cursor:default}
.score-topbar{align-items:center;margin-bottom:10px}
.score-actions{flex-wrap:wrap;justify-content:flex-end}
.top-game-nav{position:sticky;top:0;bottom:auto;z-index:8;margin:0 0 12px;border:1px solid #c9c3b5;box-shadow:0 5px 18px rgba(7,27,47,.12)}
.top-game-nav button{font-size:15px;min-height:46px}
.top-game-nav button.active{background:var(--navy);box-shadow:inset 0 -3px var(--gold)}
.scoring-panel{border-top:4px solid var(--gold)}
.segmented button.active{background:var(--navy);box-shadow:inset 0 -3px var(--gold)}
.hole-nav{background:linear-gradient(145deg,#071b2f,#102f4d);border-radius:7px;box-shadow:inset 0 -3px var(--gold)}
.hole-center strong{font-family:Georgia,"Times New Roman",serif}
.progress-track>div{background:var(--gold-dark)}
.score-player{background:#fcfbf8;border-color:#d9d5ca}
.score-input{border:2px solid #b7ad99}
.score-result strong{color:var(--good)}
.game-pill{border-radius:3px;border-color:#c8b98f;background:#faf6ec;color:var(--navy)}
.game-pill.live{color:#6c5522}
.forty-toggle{border-color:var(--navy);border-radius:5px;min-height:52px;font-size:14px}
.forty-toggle.selected{background:var(--navy);box-shadow:inset 0 -3px var(--gold);font-size:13px;letter-spacing:.03em;text-transform:uppercase}
.forty-ball-tracker{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:1px;margin:0 0 12px;background:#d8d1c1;border:1px solid #d8d1c1;border-radius:6px;overflow:hidden}
.forty-ball-tracker>div{display:grid;gap:2px;padding:12px;background:#f8f6ef}
.forty-ball-tracker strong{font:700 24px Georgia,serif;color:var(--navy)}
.forty-ball-tracker span{font-size:11px;color:var(--muted)}
.live-nassau{border:1px solid #cdbb8a;border-top:4px solid var(--gold);border-radius:7px;background:#fcfbf7;padding:15px}
.live-nassau h2{margin:3px 0;color:var(--navy);font:700 23px Georgia,serif}
.nassau-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.nassau-standing{text-align:right;display:grid;gap:3px}
.nassau-standing span,.nassau-teams span,.nlp-side span{font-size:10px;font-weight:900;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.nassau-standing strong{color:var(--gold-dark);font-size:18px}
.nassau-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:12px 0;padding:12px;background:var(--navy);color:#fff;border-radius:5px;text-align:center}
.nassau-teams>div{display:grid;gap:4px}.nassau-teams span{color:#c9d0d7}.nassau-teams>strong{color:var(--gold);font-size:11px}
.nlp-grid{display:grid;grid-template-columns:minmax(150px,1.25fr) repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}
.nlp-grid .btn{min-height:58px}.nlp-grid .btn:disabled{background:#a5abb1;cursor:not-allowed}
.nlp-side{display:grid;gap:5px;padding:9px;border:1px solid var(--line);background:#fff;border-radius:5px}.nlp-side b{color:var(--ink);font-size:13px}
.nlp-foot{margin-top:10px;padding-top:9px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.press-history{margin-top:8px}.press-history>div{background:#fff}
.forty-results{border-top:4px solid var(--gold)}
.side-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.side-head h2{margin:2px 0;color:var(--navy);font:700 23px Georgia,serif}
.wager-chip{padding:8px 10px;background:#eee7d5;color:#5f4c22;font-weight:900;border-radius:4px;font-size:12px}
.side-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.side-summary>div{display:grid;gap:3px;padding:10px;background:var(--navy);color:#fff;border-left:3px solid var(--gold)}.side-summary span{font-size:12px;color:#d7dce2}
.side-result-panel{border:1px solid var(--line);border-radius:6px;padding:13px;margin:10px 0;background:#fff}.side-result-panel h3{margin:0;color:var(--navy)}.side-result-panel>p{margin:4px 0;color:var(--muted);font-size:12px}
.side-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.side-kpis>div{display:grid;gap:2px;padding:10px;background:#f5f2e9;border-bottom:3px solid var(--gold)}.side-kpis strong{font:700 22px Georgia,serif;color:var(--navy)}.side-kpis span{font-size:10px;color:var(--muted)}
.notice{padding-top:9px;border-top:1px solid var(--line)}
.join-card{width:min(520px,100%);border-top:5px solid var(--gold);border-radius:7px}.join-card h2{margin:4px 0;color:var(--navy);font:700 25px Georgia,serif}.join-card>p{color:var(--muted);font-size:14px;line-height:1.5}.join-player-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:14px}.join-player-list button{min-height:56px}.join-player-list button:hover{background:#f7f3e8}
.ledger-status{border-left-color:var(--gold);background:#f6f3ea}.ledger-status span{color:var(--gold-dark)}
@media(max-width:760px){
  .hero{padding-top:14px;padding-bottom:14px}.hero h1{font-size:25px}
  .steps{grid-template-columns:repeat(2,1fr)}.step{min-height:58px}
  .saved-player-list{grid-template-columns:1fr}
  .score-topbar{align-items:flex-start}.score-actions{display:flex;max-width:190px}.score-actions .btn{padding:9px 10px;font-size:12px}
  .top-game-nav{top:0}.top-game-nav button{font-size:12px;line-height:1.15;min-height:54px;padding:8px 4px}.scoring-panel{padding-top:12px}
  .forty-ball-tracker{grid-template-columns:1fr 1fr}.forty-ball-tracker>div:first-child{grid-column:1/-1}
  .nassau-title{display:grid}.nassau-standing{text-align:left}.nassau-teams{grid-template-columns:1fr}.nassau-teams>strong{padding:2px}
  .nlp-grid{grid-template-columns:1fr 1fr}.nlp-grid .btn{grid-column:1/-1}
  .side-head,.side-summary{display:grid}.side-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.side-kpis>div{padding:8px 6px}.side-kpis strong{font-size:18px}
}
@media(max-width:760px){.hole-nav{position:static}.score-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:none}.score-actions .sync-badge{grid-column:1/-1}.command-grid,.ledger-net{grid-template-columns:1fr}}
@media(max-width:520px){.top-game-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.side-kpis{grid-template-columns:1fr}.side-summary{grid-template-columns:1fr}.nlp-grid{grid-template-columns:1fr}.nlp-grid .btn{grid-column:auto}}
