/* Shuttloop 3.2.8: Game Planner, scoped to Club Admin. */
#view-planner{--gp-border:rgba(173,235,179,.14);--gp-panel:#0c271f;--gp-ink:#ecf5ee;--gp-muted:#a8bcb0;color:var(--gp-ink);}
#view-planner .gp-intro{border:1px solid var(--gp-border);background:linear-gradient(117deg,#153c2f,#0a261d);border-radius:26px;padding:24px;display:flex;align-items:center;gap:18px;margin-bottom:22px;}
.gp-intro-icon{width:56px;height:56px;display:grid;place-items:center;background:#b7ff3c12;border:1px solid #b7ff3c55;border-radius:18px;font-size:27px;flex:0 0 56px;}
.gp-intro h3{font-size:clamp(23px,3vw,33px);letter-spacing:-.04em;line-height:1.12;margin:6px 0 8px;color:#f6fbf7;}.gp-intro p{max-width:670px;color:var(--gp-muted);line-height:1.65;margin:0;}
.gp-layout{display:grid;grid-template-columns:minmax(300px,.92fr) minmax(0,1.2fr);gap:18px;align-items:start;}.gp-editor,.gp-results{border:1px solid var(--gp-border);border-radius:26px;padding:23px;background:linear-gradient(155deg,#113327,#08221c)!important;min-width:0;}
.gp-section-title{display:flex;align-items:center;gap:12px;margin:15px 0 14px;}.gp-section-title:first-child{margin-top:0}.gp-section-title strong{color:#f3f9f2;font-size:16px;display:block}.gp-section-title small{display:block;color:var(--gp-muted);font-size:12px;margin-top:2px}.gp-step{display:grid;place-items:center;border-radius:10px;background:rgba(183,255,60,.12);border:1px solid rgba(183,255,60,.24);width:37px;height:37px;font-size:12px;font-weight:800;color:#b7ff3c;flex:0 0 37px;}
.gp-label{font-size:11px!important;letter-spacing:.11em;color:#b9d3c0!important;font-weight:750;display:flex;flex-direction:column;gap:7px;margin:0;}.gp-label select,.gp-label input{width:100%;height:47px;border-radius:13px;border:1px solid #456051;background:#071d17;color:#f0fbf1;padding:0 13px;font-size:14px;font-weight:600;letter-spacing:0;outline-offset:2px;}
.gp-label select:focus-visible,.gp-label input:focus-visible{outline:2px solid #b7ff3c;}.gp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 25px;}.gp-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gp-mode{position:relative;cursor:pointer;min-width:0;}.gp-mode input{position:absolute;opacity:0;top:10px;left:10px;}.gp-mode span{display:flex;flex-direction:column;padding:17px 14px;gap:8px;border:1px solid rgba(198,232,206,.23);background:#08231b;border-radius:17px;min-height:118px;color:#eaf4e9;}.gp-mode strong{font-size:16px}.gp-mode small{font-size:12px;line-height:1.45;color:#a6bfb0}.gp-mode:has(input:checked) span{border-color:#b7ff3c;background:linear-gradient(155deg,rgba(183,255,60,.15),rgba(22,64,44,.55));box-shadow:inset 0 0 0 1px #b7ff3c33;}.gp-mode input:focus-visible+span{outline:2px solid #b7ff3c;outline-offset:3px;}
.gp-session-info{font-size:12px;line-height:1.7;color:#b6d4bf;padding:9px 0 14px;}.gp-roster-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:#bed4bf;margin:0 0 10px;}.gp-roster-tools span{margin-right:auto}.gp-roster-tools button{border:1px solid #43664e;background:#17392c;color:#e2fae2;padding:7px 10px;border-radius:9px;font:inherit;cursor:pointer;}
.gp-roster{display:flex;flex-direction:column;gap:7px;max-height:360px;overflow-y:auto;padding:2px;overscroll-behavior:contain;}.gp-player{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(2,19,14,.48);border:1px solid #ffffff14;border-radius:13px;min-height:54px;padding:8px 10px}.gp-player.gp-picked{background:rgba(183,255,60,.06);border-color:#b7ff3c34;}.gp-player label{display:flex;align-items:center;gap:9px;cursor:pointer;flex:1;min-width:0}.gp-player label input{accent-color:#b7ff3c;width:17px;height:17px;flex:0 0 17px}.gp-player label span:last-child{min-width:0}.gp-player strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#e6f4ea}.gp-player small{display:block;font-size:10px;color:#a4baa9}.gp-player-seed{display:grid;place-items:center;background:#1e4232;border-radius:8px;width:23px;height:25px;color:#b7ff3c;font-weight:800;font-size:11px;flex:0 0 23px}.gp-reorder{display:flex;gap:4px}.gp-reorder button{width:31px;height:31px;border-radius:8px;background:#1a3e2e;border:1px solid #4e6a53;color:#e8f5e9;cursor:pointer}.gp-reorder button:disabled{opacity:.3;cursor:default}.gp-hint{font-size:12px;line-height:1.7;color:#a7beb0;margin:12px 0 0}.gp-actions,.gp-result-actions{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0 0}.gp-actions .btn,.gp-result-actions .btn{flex:1 1 140px;justify-content:center;min-height:45px}.gp-result-actions .btn:disabled{opacity:.5;cursor:not-allowed}
.gp-results-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.gp-results-head h3{font-size:26px;line-height:1.12;letter-spacing:-.04em;margin:5px 0 6px;color:#f3fff5}.gp-results-head p{color:#9eb6a7;font-size:13px;line-height:1.5;margin:0}.gp-save-status{white-space:nowrap;border:1px solid #436c52;padding:7px 10px;border-radius:22px;color:#b7ff3c;font-size:11px;font-weight:700}.gp-save-status.gp-unsaved{border-color:#cea960;color:#f2c873}.gp-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0}.gp-summary span{padding:13px 8px;border:1px solid #ffffff1b;background:#0b241c;border-radius:14px;text-align:center;font-size:11px;color:#bad0c0}.gp-summary strong{display:block;font-size:24px;color:#b7ff3c;margin-bottom:1px;font-variant-numeric:tabular-nums}.gp-teams h4,.gp-standings h4{font-size:15px;margin:16px 0 11px;color:#e5f4e5}.gp-teams h4 small{font-weight:400;color:#a0bca6;font-size:11px}.gp-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.gp-team{background:#0b281e;border:1px solid #ffffff18;border-radius:12px;display:flex;align-items:center;gap:9px;padding:10px;min-width:0}.gp-team span{background:#294a2f;color:#b7ff3c;font-size:11px;font-weight:800;border-radius:7px;padding:5px}.gp-team strong{font-size:12px;line-height:1.45;overflow-wrap:anywhere;}
.gp-round-heading{margin:21px 0 10px;font-size:13px;color:#b7ff3c;letter-spacing:.08em;text-transform:uppercase}.gp-match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gp-match{padding:13px;border:1px solid #ffffff20;border-radius:16px;background:rgba(3,21,16,.65);min-width:0}.gp-match-meta{display:flex;justify-content:space-between;gap:6px;margin-bottom:10px;font-size:11px;color:#bdcebb}.gp-match-meta small{color:#9fb5a6;font-size:10px}.gp-match-side{display:flex;align-items:center;gap:8px;justify-content:space-between;min-height:40px;padding:6px 7px;margin:5px 0;border-radius:9px;background:#17403245;border:1px solid #ffffff0e}.gp-match-side strong{font-size:12px;line-height:1.35;font-weight:650;min-width:0;overflow-wrap:anywhere}.gp-match-side.gp-winner{background:#b7ff3c17;border-color:#b7ff3c58}.gp-match-side.gp-winner strong{color:#b7ff3c}.gp-match-side input{width:49px;min-width:49px;height:34px;border-radius:8px;border:1px solid #577160;background:#031910;color:#fff;text-align:center;font-weight:750;font-size:14px;outline-offset:2px}.gp-match-side input:focus-visible{outline:2px solid #b7ff3c}.gp-match-side input:disabled{opacity:.4}.gp-empty{padding:24px;text-align:center;color:#b6cdbb;font-size:13px;line-height:1.7;border-radius:14px;border:1px dashed #43604a}.gp-standings{margin-top:24px}.gp-table-scroll{overflow-x:auto}.gp-standings table{width:100%;border-collapse:collapse;font-size:12px}.gp-standings th,.gp-standings td{padding:11px 8px;border-bottom:1px solid #ffffff24;text-align:center}.gp-standings th:first-child,.gp-standings td:first-child{text-align:left;max-width:220px}.gp-standings th{color:#afc9b4}.gp-standings td{color:#e4f1e5}
#view-planner .inline-error:not(:empty){padding:10px 12px;margin-top:12px;background:#571d1d40;border:1px solid #bc6767;border-radius:10px;color:#ffbebe}
@media(max-width:1000px){.gp-layout{grid-template-columns:1fr}.gp-roster{max-height:330px}}
@media(max-width:550px){#view-planner .gp-intro{padding:16px;border-radius:19px;align-items:flex-start;gap:11px}.gp-intro-icon{width:42px;height:42px;flex-basis:42px;font-size:19px;border-radius:12px}.gp-intro h3{font-size:23px}.gp-intro p{font-size:12px}.gp-editor,.gp-results{padding:15px;border-radius:19px}.gp-mode span{min-height:110px;padding:12px 10px}.gp-mode strong{font-size:14px}.gp-mode small{font-size:11px}.gp-match-grid{grid-template-columns:1fr}.gp-summary{gap:5px}.gp-summary span{padding:10px 5px;font-size:10px}.gp-summary strong{font-size:19px}.gp-team-grid{grid-template-columns:1fr}.gp-result-actions .btn{flex:1 1 100%}.gp-actions .btn{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){#view-planner *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.gp-public-link{background:#123629;border:1px solid rgba(183,255,60,.25);padding:19px;border-radius:17px;margin:0 0 20px}.gp-public-link strong{color:#C6FF6F;font-size:15px}.gp-public-link p{color:#A9C4B5;line-height:1.5;font-size:12px}.gp-public-link a{margin-top:8px}

/* Shuttloop V3.3.1: tournament settings and summary above bracket, full-width workspace. */
#view-planner .gp-layout{display:flex;flex-direction:column;gap:18px;align-items:stretch}
#view-planner .gp-layout>.gp-editor,#view-planner .gp-layout>.gp-results{width:100%;max-width:none;min-width:0}
#view-planner>.gv-bracket-section{width:100%;margin:20px 0 25px;padding:18px;border-color:#486848;background:linear-gradient(135deg,#0d2c20,#061a13);border-radius:20px}
.gp-match-details{margin:15px 0}.gp-match-details>summary{list-style:none;cursor:pointer;padding:13px 15px;background:#123326;border:1px solid #486848;border-radius:12px;color:#f4fff0;font-weight:800}.gp-match-details>summary::-webkit-details-marker{display:none}.gp-match-details>summary:before{content:'▸';color:#b7ff3c;margin-right:9px}.gp-match-details[open]>summary:before{content:'▾'}.gp-match-details>summary span{font-size:11px;color:#a5b9ae;display:block;margin-left:20px;font-weight:500}.gp-match-details>.gp-matches{margin-top:13px}
#view-planner input[inputmode=numeric]{font-size:16px;appearance:none;-webkit-appearance:none}
@media(max-width:600px){#view-planner>.gv-bracket-section{padding:11px;margin:16px 0;border-radius:14px}}
