.cup-panel{background:white;border:1px solid #cad5df;border-radius:16px;padding:20px;margin:18px 0}.cup-panel label{display:block;margin:12px 0}.cup-panel input,.cup-panel select{width:100%}.cup-total{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#10243a;color:white;border-radius:16px;padding:20px;text-align:center}.cup-total strong{display:block;font-size:44px;color:#c5f542}.cup-total span{font-weight:700}.cup-match{background:white;border-left:5px solid #c92c35;border-radius:12px;padding:16px;margin:12px 0}.cup-match[data-lead=B]{border-color:#185caa}.cup-match h4{margin:0 0 8px}.cup-match p{margin:7px 0}.cup-match .round-actions{display:flex;flex-wrap:wrap;gap:8px}.cup-session{margin-top:25px}.cup-result{font-size:19px;font-weight:800}.cup-sync{font-size:14px;padding:10px;border:1px solid #d5e0e7;border-radius:10px;margin:10px 0}.cup-warning{color:#8b3700}.cup-panel .help{font-size:14px}.cup-panel textarea{width:100%;min-height:70px}.cup-panel a{overflow-wrap:anywhere}.competition-link-box{margin:16px 0}.competition-link-box input{width:100%}

.cup-total>div:first-child{background:#ae202a;border-radius:12px;padding:12px}.cup-total>div:last-child{background:#155399;border-radius:12px;padding:12px}.cup-total strong{color:white}.cup-sync:empty{display:none}

.cup-guide ol,#organiser-help ol{padding-left:24px}.cup-guide li,#organiser-help li{margin:12px 0;line-height:1.5}.cup-guide{border-top:5px solid #c92c35;border-bottom:5px solid #185caa}

.cup-side-A{--player:#b4232d!important;--player-bg:#fff0f0!important}.cup-side-B{--player:#155399!important;--player-bg:#edf5ff!important}.cup-side-A h3{color:#b4232d}.cup-side-B h3{color:#155399}

/* Broadcast-style totals: confirmed scores above, live projections below. */
.cup-hero{--red:#ff6975;--blue:#79b7ff;background:#0c1421;color:#fff;border:1px solid #233248;border-radius:22px;padding:28px;margin:18px 0 20px;box-shadow:0 12px 32px #10243a16}.cup-hero-heading{display:flex;align-items:center;gap:16px}.cup-hero-heading>div{min-width:0}.cup-hero-heading img{border-radius:16px;flex-shrink:0}.cup-hero .cup-kicker{color:#94dfbd;font-size:11px;font-weight:800;letter-spacing:1.4px;margin:0 0 8px}.cup-hero #cup-title{font-size:clamp(23px,4vw,34px);color:white;margin:0;line-height:1.15;overflow-wrap:anywhere}.cup-hero #cup-dates{font-size:13px;color:#b4bfd0;margin:8px 0 0}.cup-score-label{margin:28px 0 8px;color:#b4bfd0;text-align:center;font-size:11px;letter-spacing:1.6px;font-weight:700}.cup-hero .cup-total{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;background:transparent;padding:0;margin:0;border-radius:0;align-items:center}.cup-hero .cup-total>div{background:none;padding:0;border-radius:0;min-width:0}.cup-hero .cup-total span{font-size:14px;display:block;overflow-wrap:anywhere}.cup-hero .cup-total strong{font-size:clamp(52px,11vw,88px);font-weight:800;line-height:1.15;letter-spacing:-3px;font-variant-numeric:tabular-nums}.cup-hero .cup-team-a strong{color:var(--red)}.cup-hero .cup-team-b strong{color:var(--blue)}.cup-hero .cup-total .cup-score-divider{font-size:36px;font-weight:300;color:#637085}.cup-bar-heading{display:flex;justify-content:space-between;gap:12px;margin:24px 0 10px;font-size:10px;letter-spacing:1px;font-weight:700;color:#b4bfd0}.cup-projection-bar{position:relative;display:flex;width:100%;height:24px;background:#344051;border-radius:99px;overflow:hidden}.cup-projection-bar>span:not(.projection-mid){height:100%;transition:width .6s ease;flex-shrink:0}.projection-a{background:#eb4355}.projection-b{background:#398aee}.projection-neutral{background:#344051}.projection-mid{position:absolute;left:50%;top:0;height:100%;width:2px;background:white;transform:translateX(-1px);box-shadow:0 0 0 1px #10243a70}.cup-projection-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:16px}.cup-projection-details>div:last-child{text-align:right}.cup-projection-details h3{font-size:14px;margin:0 0 6px;overflow-wrap:anywhere}.cup-projection-details p{margin:0;font-size:13px;color:#c7d0de}.cup-projection-details strong{color:var(--red);font-size:24px;letter-spacing:-.5px}.cup-projection-details>div:last-child strong{color:var(--blue)}.cup-projection-details small{display:block;font-size:12px;color:#b4bfd0;margin-top:5px}.cup-hero #cup-progress{font-size:13px;line-height:1.5;margin:22px 0 0;color:#e0e7f0}.cup-projection-note{font-size:11px;line-height:1.5;color:#b4bfd0;margin:8px 0 0}.cup-share-actions{display:flex;gap:8px;flex-wrap:wrap}.cup-match[data-lead=neutral]{border-color:#8592a3}@media(max-width:500px){.cup-hero{padding:20px 16px;border-radius:18px}.cup-hero-heading{gap:12px}.cup-hero-heading img{width:48px;height:48px;border-radius:12px}.cup-hero .cup-kicker{font-size:9px;letter-spacing:.8px}.cup-hero .cup-total strong{letter-spacing:-2px}.cup-projection-details{gap:12px}.cup-share-actions button{flex:1 1 130px}}@media(prefers-reduced-motion:reduce){.cup-projection-bar>span:not(.projection-mid){transition:none}}

/* Quick setup and touch-friendly links. */
[hidden]{display:none!important}.cup-back-link{display:inline-block;margin:12px 0;color:#193c62;min-height:44px;align-content:center}#cup-intro h1{font-size:clamp(26px,5vw,38px);line-height:1.15;margin:8px 0 12px;letter-spacing:-.8px}#cup-intro .help{line-height:1.5;margin:0 0 20px}#connection:empty{display:none}.cup-start-options{display:grid;gap:12px;margin:18px 0}.cup-start-options button{display:block;width:100%;text-align:left;background:#fff;color:#10243a;border:1px solid #cad5df;border-radius:14px;padding:18px;font:inherit;cursor:pointer}.cup-start-options strong{display:block;font-size:18px;line-height:1.3}.cup-start-options span{display:block;font-size:14px;line-height:1.5;color:#546576;margin-top:5px}.cup-start-options button[aria-expanded=true]{border-color:#10243a;box-shadow:0 0 0 2px #c5f542}.cup-panel h2{font-size:22px;margin-top:0}.cup-panel p{line-height:1.5}.cup-panel details{margin-top:16px}.cup-panel summary{font-size:16px;font-weight:700;cursor:pointer;padding:8px 0}.cup-match a.primary-button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;text-decoration:none;line-height:1.4;white-space:normal}.cup-match .round-actions>*{max-width:100%}.cup-empty{padding:16px;border-radius:12px;background:#e9f2d8;line-height:1.5}#recent:empty{display:none}#recent a{display:block;min-height:44px;padding:12px;background:white;border-radius:8px;color:#193c62}#recent h2{font-size:20px}#create,#join,#add-fixture{scroll-margin-top:16px}@media(max-width:600px){.cup-panel{padding:16px}.cup-panel .edit-grid{display:grid;grid-template-columns:minmax(0,1fr)}.cup-panel input,.cup-panel select{min-width:0;box-sizing:border-box;font-size:16px}.cup-share-actions button{line-height:1.4}.cup-start-options{gap:10px}}
.cup-panel input,.cup-panel select,.cup-panel textarea{border:1px solid #c8d2df;border-radius:9px;padding:12px;background:#fafbfd;color:#10243a;font:16px Arial,sans-serif;min-height:48px;box-sizing:border-box;margin-top:6px}.cup-panel label{font-size:14px;font-weight:600;line-height:1.5}.cup-panel input:focus-visible,.cup-panel select:focus-visible{outline:2px solid #648724;outline-offset:2px}

.team-sheets{display:grid;grid-template-columns:1fr 1fr;gap:16px}.team-sheet{min-width:0;border:1px solid #cad5df;border-top:4px solid #c02d39;border-radius:12px;padding:14px;margin:0;background:#fff}.team-sheet.blue{border-top-color:#2764bb}.team-sheet label,.team-sheets>label{display:block}.team-sheet textarea{width:100%;resize:vertical;line-height:1.6}.team-sheet legend{font-weight:700;padding:0 4px}.team-sheet select{width:100%}.cup-step{font-size:14px;font-weight:700;color:#436323}#create button{margin-top:16px}#team-editor summary{margin:0}#team-editor{scroll-margin-top:12px}@media(max-width:600px){.team-sheets{grid-template-columns:1fr}.team-sheet{padding:12px}}

/* Compact competition broadcast board and session chooser. */
.cup-hero{--red:#c42636;--blue:#1c60b5;background:#fff;color:#10243a;padding:18px 20px;border-color:#d5dce3;border-radius:14px;box-shadow:none}.cup-hero-heading img{width:36px;height:36px;border-radius:9px}.cup-hero .cup-kicker{color:#55616f;font-size:11px;margin-bottom:4px}.cup-hero #cup-title{color:#10243a;font-size:24px}.cup-hero #cup-dates{color:#586472;margin-top:4px}.cup-score-label{color:#65717e;margin:14px 0 4px;letter-spacing:1px}.cup-hero .cup-total strong{font-size:clamp(42px,8vw,64px)}.cup-hero .cup-total span{font-size:16px}.cup-bar-heading{color:#586472;margin:10px 0 6px;font-size:11px}.cup-projection-bar{height:16px;background:#edf0f2}.projection-neutral{background:#edf0f2}.projection-mid{background:#10243a;box-shadow:none}.cup-projection-details{margin-top:8px;gap:12px}.cup-projection-details h3{display:none}.cup-projection-details p,.cup-projection-details small{color:#586472;font-size:12px}.cup-projection-details strong{font-size:18px}.cup-projection-details small{display:inline;margin-left:6px}.cup-hero #cup-progress{color:#43515f;font-size:13px;margin:10px 0 0}.cup-projection-note{color:#65717e;font-size:12px;margin-top:4px}.session-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:20px 0 10px}.session-trigger{border:1px solid #b8c3cf;border-radius:24px;background:#fff;color:#10243a;padding:11px 16px;min-height:44px;font:600 16px Arial;cursor:pointer}.session-toolbar>span{font-size:13px;color:#65717e}.cup-session>h3{font-size:22px;margin:18px 0 10px}.broadcast-match{padding:0;border:0;border-top:2px solid #253546;border-radius:0;margin:0;background:white}.broadcast-match h4{padding:12px 14px;font-size:14px;border-bottom:1px solid #d6dde4;margin:0}.broadcast-match h4 span{font-weight:400;color:#596674}.match-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.65fr) minmax(0,1fr);gap:10px;align-items:center;padding:18px 14px}.match-side{min-width:0;display:grid;gap:5px}.match-side small{font-size:12px;color:#a81d2b}.match-side.blue{text-align:right}.match-side.blue small{color:#155399}.match-side strong{font-size:16px;line-height:1.35;overflow-wrap:anywhere}.match-position{text-align:center;color:#52606f}.match-position>strong{display:block;font-size:25px;line-height:1.2}.match-position>small{display:block;font-size:11px;margin-top:4px}.match-winner{display:inline-block;font-size:12px;margin-top:6px;font-weight:700;overflow-wrap:anywhere}.broadcast-match[data-lead=A] .match-position{color:#b4232d}.broadcast-match[data-lead=B] .match-position{color:#155399}.broadcast-match .round-actions{padding:0 14px 14px}.broadcast-match .round-actions .primary-button{width:auto;flex:0 1 auto}.broadcast-match .round-actions button,.broadcast-match .round-actions a{font-size:14px;min-height:40px;padding:10px 12px}#session-dialog{width:min(360px,calc(100vw - 32px));box-sizing:border-box;max-height:80vh;overflow:auto;padding:20px;border:1px solid #d5dce3;border-radius:18px;box-shadow:0 12px 48px #10243a30;color:#10243a}#session-dialog::backdrop{background:#10243a60}.session-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.session-dialog-head h2{font-size:22px;margin:0}.session-dialog-head button{width:44px;height:44px;border:1px solid #c9d3dc;border-radius:50%;font-size:25px;background:#fff;cursor:pointer}.session-option{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid #d5dce3;cursor:pointer}.session-option strong{font-size:16px;line-height:1.4}.session-option small{display:block;font-size:13px;color:#5b6876;margin-top:5px;line-height:1.4}.session-option input{width:22px;height:22px;flex-shrink:0;accent-color:#10243a}@media(max-width:500px){.cup-hero{padding:14px}.cup-hero #cup-title{font-size:21px}.match-line{grid-template-columns:minmax(0,1fr) 86px minmax(0,1fr);gap:7px;padding:15px 10px}.match-side strong{font-size:14px}.match-position>strong{font-size:22px}.match-side small{font-size:11px}.cup-session>h3{font-size:19px}.broadcast-match .round-actions{gap:6px;padding:0 10px 12px}.cup-projection-note{line-height:1.4}}

.team-player-row{display:flex;align-items:end;gap:8px;margin-bottom:10px}.team-player-row label{flex:1;min-width:0;font-size:13px}.team-player-row input{box-sizing:border-box;width:100%;font-size:16px}.team-player-row button{flex:none;min-height:44px;padding:8px}.team-player-fields h3,.team-sheet h3{font-size:16px;margin:12px 0}

.team-sheet-guide{padding-left:22px}.team-sheet-guide li{margin:10px 0;line-height:1.5}.team-import details{margin:10px 0 16px}.team-import summary{font-weight:700;cursor:pointer}

.player-repeat-warning{margin:6px 0 14px;padding:10px 12px;background:#fff3cf;border-left:4px solid #c77a00;border-radius:8px;color:#654000;font-size:14px;line-height:1.4}

.fixture-player{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #dce2e9}.fixture-player input{font-size:16px;width:100%;box-sizing:border-box}.fixture-player label+label{margin-top:8px}

.fixture-handicap-summary{margin:12px 0;padding:12px 14px;background:#edf3f7;border:1px solid #cfdae4;border-radius:12px;font-size:14px}.fixture-handicap-summary summary{font-weight:700;cursor:pointer}.fixture-handicap-summary p{margin:8px 0}.fixture-handicap-summary strong{color:#10283e}

.team-player-row{display:grid;grid-template-columns:minmax(0,1fr) 130px auto}.team-player-row .team-index-label{font-size:12px}@media(max-width:520px){.team-player-row{grid-template-columns:minmax(0,1fr) 118px}.team-player-row button{grid-column:2;justify-self:end;min-height:32px;padding:4px 8px}.team-player-row label{align-self:end}}

/* Keep the import decision visible while long team lists scroll. */
dialog.team-import-review{box-sizing:border-box;width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:18px;overflow:hidden;border:1px solid #cbd5df;border-radius:18px;color:#10243a;background:#fff}
dialog.team-import-review[open]{display:flex;flex-direction:column;gap:12px}
.team-import-review::backdrop{background:#10243a80}
.team-import-review h2{flex:none;font-size:21px;margin:0}
.team-import-review-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;font-size:15px;line-height:1.5}
.team-import-review-content>p:first-child{margin-top:0}
.team-import-review .team-import-review-actions{flex:none;display:flex;flex-direction:column-reverse;gap:8px;margin:0;padding:12px 0 max(0px,env(safe-area-inset-bottom));border-top:1px solid #d5dce3;background:#fff}
.team-import-review-actions button{width:100%;min-height:48px;margin:0;white-space:normal;font-size:16px}

#session-settings>summary{cursor:pointer;font-weight:700;line-height:1.5;font-size:16px;overflow-wrap:anywhere}#session-settings[open]>summary{margin-bottom:14px}#session-settings:not([open]){padding:14px 18px}

.cup-session>h3{margin-bottom:2px}.session-date-note{font-size:13px;color:#596674;margin:0 0 12px}.broadcast-match .match-line{padding-top:12px;padding-bottom:12px}.match-options{border-top:1px solid #e2e7ec}.match-options>summary{cursor:pointer;font-size:13px;color:#52606f;padding:8px 14px}.match-options .fixture-handicap-summary{margin:8px 14px}.broadcast-match .match-side strong{font-size:14px}.broadcast-match h4{padding-top:9px;padding-bottom:9px}

.leaderboard-tabs{display:flex;gap:6px;border-bottom:2px solid #ccd4de;margin:18px 0}.leaderboard-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;color:#5c6875;font-weight:700;padding:13px 12px;min-height:44px}.leaderboard-tabs button[aria-pressed=true]{color:#10243a;border-bottom-color:#10243a}.player-results-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.player-results{min-width:0;border-top:4px solid #c42636;background:#fff;padding:14px;border-radius:8px}.player-results.team-b{border-color:#1c60b5}.player-results h2{font-size:21px;margin:0 0 12px}.player-results table{border-collapse:collapse;width:100%;font-size:14px;table-layout:fixed}.player-results th,.player-results td{padding:14px 4px;border-bottom:1px solid #d6dde4;text-align:center}.player-results th:first-child{width:48%;text-align:left;overflow-wrap:anywhere}.player-results thead th{font-size:11px;color:#65717e;text-transform:uppercase;padding:9px 3px;border-bottom:2px solid #10243a}.player-results.team-a td:last-child{color:#b4232d}.player-results.team-b td:last-child{color:#155399}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.viewing-teams #fixtures,.viewing-teams .session-toolbar,.viewing-teams #results-title,.viewing-teams #session-settings,.viewing-teams #add-fixture,.viewing-teams #add-more-matches,.viewing-teams #session-drafts,.viewing-teams #team-editor,.viewing-teams #edit-dates,.viewing-teams #organiser-help{display:none!important}@media(max-width:700px){.player-results-grid{grid-template-columns:1fr;gap:18px}.leaderboard-tabs button{font-size:14px;padding:12px 8px}.player-results{padding:12px 8px}.player-results th:first-child{width:43%}}

/* Keep team names visible on the light leaderboard header. */
.cup-hero .cup-total .cup-team-a>span{color:#a81d2b}.cup-hero .cup-total .cup-team-b>span{color:#155399}

#tee-times-dialog{width:min(720px,calc(100vw - 24px));max-height:85vh;overflow:auto;box-sizing:border-box;border:1px solid #d5dce3;border-radius:18px;padding:18px;color:#10243a}#tee-times-dialog::backdrop{background:#10243a66}.tee-times-table{width:100%;border-collapse:collapse;table-layout:fixed}.tee-times-table th,.tee-times-table td{text-align:left;border-bottom:1px solid #dce2ea;padding:12px 6px;vertical-align:top;overflow-wrap:anywhere}.tee-times-table th:last-child{width:145px}.tee-times-table small{display:block;font-size:12px;line-height:1.5;margin-top:5px;color:#536378}.tee-times-table input{box-sizing:border-box;width:100%;min-height:44px;font-size:16px;border:1px solid #cad5df;border-radius:8px;padding:6px}.tee-times-table button{margin-top:6px}.tee-times-table [role=status]{font-size:12px;margin:6px 0}.match-tee-time{white-space:nowrap}@media(max-width:500px){#tee-times-dialog{padding:12px}.tee-times-table th:last-child{width:120px}}
