:root{--green:#126444;--dark:#102d23;--lime:#d9f48b;--muted:#64716b;--line:#e0e7e2;--bg:#f5f7f5;--orange:#a44b12}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#15251e;font:16px/1.5 'Segoe UI',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,select{ -webkit-tap-highlight-color:transparent}button,.btn{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:10px 17px;background:white;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover,.btn:hover{border-color:var(--green);background:#edf4ee}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#0d4a33}.textbtn{border:0;background:transparent;color:var(--green);padding:5px 0}.demo{background:var(--dark);color:#e9f7ef;padding:7px 4%;font-size:12px;font-weight:700;letter-spacing:1px;display:flex;justify-content:space-between}.demo span{font-weight:400;letter-spacing:0}header{background:white;border-bottom:1px solid var(--line);padding:18px 4%;display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:750;white-space:nowrap}.brandmark{width:34px;height:38px;background:var(--green);border-radius:8px;color:white;font-size:27px;text-align:center;position:relative}.brandmark span{position:absolute;font-size:12px;right:2px;bottom:0;color:var(--lime)}.beta{font-size:9px;color:var(--muted);letter-spacing:1px;border:1px solid var(--line);padding:2px 4px}nav{display:flex;gap:24px;flex:1;font-size:14px}nav a{padding:8px 0;color:var(--muted)}nav a.active{color:var(--green);font-weight:700;border-bottom:2px solid var(--green)}.role{font-size:11px;color:var(--muted);display:grid;gap:2px}.role select{border:0;padding:0;background:white;font-size:14px;font-weight:600;color:var(--dark)}main{max-width:1440px;margin:auto;padding:38px 4%;min-height:78vh}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:700;text-transform:uppercase;color:var(--green)}h1{font-size:36px;line-height:1.15;letter-spacing:-1.3px;margin:10px 0 13px}h2{font-size:23px;letter-spacing:-.5px;margin:0 0 16px}h3{font-size:18px;margin:0 0 8px}p{margin:8px 0 18px}.muted,small{color:var(--muted)}small{font-size:13px}.row{display:flex;align-items:center;justify-content:space-between;gap:16px}.stack{display:grid;gap:16px}.hero{display:grid;grid-template-columns:1.5fr 1fr;background:var(--dark);border-radius:18px;padding:35px 40px;color:white;margin:26px 0 30px;overflow:hidden;gap:35px}.hero .eyebrow{color:var(--lime)}.hero h2{font-size:31px;margin:12px 0}.hero p{color:#c9dad1}.hero .primary{background:var(--lime);color:var(--dark);border:0}.court{position:relative;align-self:center;border:2px solid #87ab91;height:160px;transform:perspective(650px) rotateX(23deg) rotateZ(-8deg);background:#25543d}.court:before{content:'';position:absolute;inset:23px 0;border-top:1px solid #87ab91;border-bottom:1px solid #87ab91}.court:after{content:'';position:absolute;left:50%;height:100%;border-left:2px dashed #cce4bc}.court .ball{position:absolute;width:13px;height:13px;border-radius:50%;background:var(--lime);top:52px;left:30%;box-shadow:0 7px 15px #0005}.court span{position:absolute;bottom:30px;right:20px;font-size:12px;color:#bad7c4;letter-spacing:4px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card,.panel{background:white;border:1px solid var(--line);border-radius:13px;padding:24px}.card{transition:transform .15s,box-shadow .15s}.card:hover{box-shadow:0 6px 22px #17291c08}.cardtop{height:116px;margin:-24px -24px 20px;padding:22px 24px;border-radius:12px 12px 0 0;background:#dcecdf;display:flex;align-items:end;justify-content:space-between}.cardtop.dark{background:#dfe8ee}.cardtop.orange{background:#f4e4d3}.cardtop .club{font-size:30px;font-weight:850;letter-spacing:-1.8px;line-height:1;color:#244534}.tag{display:inline-flex;padding:4px 9px;border-radius:5px;background:#eef3ef;color:#4b6153;font-size:12px;font-weight:600;white-space:nowrap}.tag.green{background:#e4f4d8;color:#276323}.tag.orange{background:#fff0dc;color:#90440e}.tag.gray{background:#edf0f2;color:#58646c}.card h3{font-size:20px;margin:12px 0 6px}.card .meta{font-size:14px;color:var(--muted);margin:8px 0}.cardfoot{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:24px 0}.filters input{margin-left:auto;min-width:240px}input,select,textarea{border:1px solid #ced8d0;border-radius:8px;padding:10px 12px;background:white;color:var(--dark);max-width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #8ebc9b;outline-offset:2px}.filter.active,.tabs .active{background:var(--green);color:white;border-color:var(--green)}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:25px 0;padding-bottom:14px;overflow:auto}.tabs button{white-space:nowrap;border:0;background:transparent;color:var(--muted)}.tabs button.active{background:#e1eee5;color:var(--green)}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:19px 22px}.stat b{display:block;font-size:29px;letter-spacing:-1px}.stat span{font-size:13px;color:var(--muted)}.notice{background:#fff3e3;border:1px solid #f1d9b8;border-radius:9px;padding:13px 17px;font-size:14px;color:#7c471f;margin:16px 0}.notice.green{background:#eaf3ea;color:#275d3c;border-color:#d0e4d2}.avatar{display:inline-flex;width:34px;height:34px;border-radius:50%;background:#edf0dc;color:#465c32;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.avatar.alt{background:#e2edf1;color:#466577}.player{display:flex;align-items:center;gap:9px;margin:6px 0;font-size:14px}.player a:hover{text-decoration:underline;color:var(--green)}.pair{padding:5px 0}.pair.winner{color:var(--green);font-weight:700}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{font-size:12px;color:var(--muted);font-weight:600;background:#f5f7f5;white-space:nowrap}td,th{padding:13px 15px;border-bottom:1px solid var(--line)}td button{font-size:13px;padding:6px 11px}td .player{white-space:nowrap}.bracket{display:flex;gap:20px;overflow:auto;padding:8px 0 20px;align-items:start}.round{min-width:255px;width:255px;display:grid;gap:10px}.round>h3{font-size:14px;position:sticky;left:0}.match{border:1px solid var(--line);border-radius:9px;padding:12px;background:white;font-size:13px}.match strong{font-size:11px;letter-spacing:.6px;color:var(--muted);display:block;margin-bottom:6px}.match .side{display:flex;align-items:center;justify-content:space-between;padding:6px 0;gap:6px}.match .side+.side{border-top:1px solid #eef1ec}.match .win{color:var(--green);font-weight:700}.match button{width:100%;font-size:12px;padding:5px;margin-top:7px}.back{font-size:13px;color:var(--muted);display:inline-block;margin-bottom:18px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.toolbar h2{margin:0 auto 0 0}.empty{padding:40px;text-align:center;color:var(--muted)}.profile{display:flex;align-items:center;gap:22px}.profile .avatar{width:88px;height:88px;font-size:30px}.timeline{border-left:2px solid #d8e6db;padding-left:24px;margin:20px 8px}.timeline>div{margin-bottom:26px}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.progress{height:6px;background:#e9eee9;border-radius:4px;overflow:hidden;margin:12px 0}.progress span{display:block;background:var(--green);height:100%}footer{border-top:1px solid var(--line);display:flex;gap:30px;padding:26px 4%;align-items:center;background:white;font-size:13px;color:var(--muted)}footer button{margin-left:auto}dialog{border:0;border-radius:15px;padding:28px;max-width:600px;width:calc(100% - 30px);box-shadow:0 24px 90px #0003;max-height:90vh}dialog::backdrop{background:#10271ec0;backdrop-filter:blur(3px)}.form{display:grid;gap:14px}.form label{font-size:14px;display:grid;gap:5px}.form .row label{flex:1}.form .actions{display:flex;justify-content:end;gap:10px;margin-top:12px}.form textarea{min-height:70px}.scoregrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 24px;background:var(--dark);color:white;border-radius:9px;box-shadow:0 7px 25px #0002;display:none;z-index:20;max-width:90vw;font-size:14px}.sectiongap{margin-top:28px}.bigscore{font-size:26px;font-weight:700}code{font-family:inherit;background:#edf3ee;padding:2px 5px}.count{font-size:13px;font-weight:400;color:var(--muted);margin-left:10px}.audit{font-size:13px}.audit td{vertical-align:top}.danger{color:#aa3424}.hidden{display:none!important}@media(max-width:1050px){header{gap:20px;flex-wrap:wrap}.role{margin-left:auto}nav{order:3;flex-basis:100%}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.four{grid-template-columns:repeat(2,minmax(0,1fr))}.beta{display:none}.hero{grid-template-columns:1.4fr 1fr}}@media(max-width:650px){.demo{font-size:10px;padding:7px 5%}.demo span{max-width:195px;text-align:right}header{padding:14px 5%;gap:12px}.brand{font-size:18px}.role select{font-size:12px;max-width:158px}nav{gap:25px;overflow:auto;white-space:nowrap}main{padding:26px 5%}h1{font-size:29px}.hero{padding:25px;grid-template-columns:1fr}.hero h2{font-size:27px}.court{display:none}.grid,.two{grid-template-columns:1fr}.four{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:15px}.stat b{font-size:25px}.row{flex-wrap:wrap}.filters input{width:100%;margin-left:0}.card,.panel{padding:19px}.cardtop{margin:-19px -19px 17px;padding:19px}.tabs{margin:20px 0}.profile{gap:15px}.profile .avatar{width:65px;height:65px;font-size:24px}footer{flex-wrap:wrap;gap:8px}footer span{width:100%;order:3}footer button{margin-left:auto}dialog{padding:22px}.form .row{flex-wrap:nowrap}.bracket{margin-right:-5vw;padding-right:5vw}.toolbar button{font-size:13px}.scoregrid input{width:100%}}
/* Connected tournament bracket. The sport engine and stored fixture stay unchanged. */
.world-bracket{min-width:0}.wc-initial-details{background:white;border:1px solid var(--line);border-radius:12px;margin:16px 0}.wc-initial-details summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;padding:19px 22px;cursor:pointer;list-style:none}.wc-initial-details summary:before{content:'+';color:var(--green);font-size:24px}.wc-initial-details[open] summary:before{content:'−'}.wc-initial-details summary .eyebrow{width:100%;margin-left:33px}.wc-initial-details summary>b{font-size:19px}.wc-initial-details summary>span:last-child{color:var(--muted);font-size:14px}.wc-initial-details .initial-phase{padding:8px 22px 22px}.wc-initial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:18px}.wc-initial-grid .wc-card{height:auto;min-height:310px}.wc-card{height:100%;background:white;border:1px solid #bfd2c4;border-radius:11px;padding:13px 15px;display:flex;flex-direction:column;box-shadow:0 2px 6px #142b1d08;overflow:auto}.wc-cardhead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px}.wc-cardhead>b{font-size:14px;color:var(--green)}.wc-cardhead .tag{font-size:12px}.wc-teams{display:grid;grid-template-rows:minmax(68px,auto) 18px minmax(68px,auto);flex:1}.wc-pair{position:relative;display:flex;align-items:center;border-radius:5px;padding-right:14px}.wc-pair .pair{width:100%;padding:0}.wc-card .player{font-size:14px;line-height:1.3;margin:5px 0;gap:8px}.wc-card .player a{overflow-wrap:anywhere}.wc-card .avatar{width:26px;height:26px;font-size:10px;object-fit:cover}.wc-versus{display:flex;align-items:center;gap:8px;color:#77857b;font-size:11px}.wc-versus:before,.wc-versus:after{content:'';height:1px;background:var(--line);flex:1}.wc-pending{display:grid;gap:5px;font-size:14px}.wc-pending b{font-weight:600;color:#435c4c}.wc-pending span{color:var(--muted);font-size:13px}.wc-winner{color:var(--green);font-weight:650}.wc-check{position:absolute;right:0;color:var(--green);font-size:16px}.wc-cardfoot{display:flex;flex-direction:column;gap:2px;padding-top:9px;border-top:1px solid var(--line);margin-top:9px;font-size:14px}.wc-score{font-size:17px;color:#102d23;letter-spacing:.2px}.wc-card>button{font-size:13px;margin-top:8px;padding:6px 9px;width:100%}.wc-final{border:2px solid var(--green);box-shadow:0 4px 18px #12644418}.wc-final .wc-cardhead{background:var(--green);color:white;margin:-13px -15px 10px;padding:12px 15px}.wc-final .wc-cardhead>b{color:white}.wc-zone-label{font-size:12px;margin:-3px 0 8px}.wc-format{max-width:960px;color:var(--muted);font-size:15px}.wc-controls{display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap;margin-top:20px}.wc-focus-controls{display:flex;gap:7px;flex-wrap:wrap}.wc-focus-controls button{font-size:14px}.wc-controls label{font-size:14px;display:flex;align-items:center;gap:8px}.wc-controls select{font-size:14px}.wc-help{font-size:13px;color:var(--muted);margin:12px 0}.wc-scroll{width:100%;max-width:100%;height:min(760px,75vh);min-height:420px;overflow:auto;border:1px solid #cfddd2;border-radius:12px;background:#edf3ed;overscroll-behavior:contain;scrollbar-color:#759a82 #e3ece5;scrollbar-width:auto}.wc-scroll:focus-visible{outline:3px solid #79a68a;outline-offset:3px}.wc-spacer{position:relative}.wc-canvas{position:absolute;top:0;left:0;transform-origin:top left;background:linear-gradient(90deg,#f4f8f3 0%,#f4f8f3 43%,#e1eddf 50%,#f4f8f3 57%,#f4f8f3 100%)}.wc-node{position:absolute;z-index:2}.wc-connectors{position:absolute;inset:0;pointer-events:none}.wc-connectors path{fill:none;stroke:#91aa98;stroke-width:2;stroke-linejoin:round}.wc-connectors path.wc-line-done{stroke:#126444;stroke-width:3}.wc-round-label{position:absolute;top:48px;text-align:center;font-size:17px;font-weight:700;color:#244c34}.wc-round-label small{display:block;font-size:12px;font-weight:400}.wc-final-label{color:var(--green);font-size:23px;text-transform:uppercase;letter-spacing:2px}.wc-half-title{position:absolute;top:18px;text-align:center;font-size:12px;font-weight:650;letter-spacing:1.8px;color:#6c8271}.wc-legend{display:flex;gap:20px;flex-wrap:wrap;margin:13px 0 25px;color:var(--muted);font-size:13px}.wc-legend span{display:flex;gap:7px;align-items:center}.wc-legend i{display:inline-block;width:25px;height:2px;background:#91aa98}.wc-legend i.done{background:var(--green);height:3px}@media(max-width:650px){.wc-initial-details summary{padding:14px}.wc-initial-details .initial-phase{padding:0 12px 16px}.wc-initial-grid{grid-template-columns:1fr}.wc-focus-controls{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.wc-focus-controls button{font-size:12px;padding:9px 7px}.wc-controls label{width:100%;justify-content:space-between}.wc-scroll{height:65vh;min-height:390px}.wc-controls{gap:10px}.wc-legend{gap:10px}.wc-format{font-size:14px}}
.wc-match-code{display:block;font-size:11px;line-height:1.1;color:var(--muted);font-weight:400;margin-top:2px}.wc-final .wc-match-code{color:#cde4d2}.wc-trophy{position:absolute;display:grid;justify-items:center;gap:5px;color:var(--green);text-align:center}.wc-trophy b{font-size:12px;letter-spacing:1.6px}.wc-trophy span{font-size:14px;color:#47674f}.wc-connectors path{stroke:#57996e}.wc-legend i{background:#57996e}
.setup-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.setup-steps button{display:grid;text-align:left;justify-content:start;padding:18px;gap:7px}.setup-steps small{font-weight:400}.window-row{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:8px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line)}.window-row label{min-width:0}.window-row input{width:100%;padding:8px}.window-row button{font-size:12px;padding:9px}.restriction-row{padding-bottom:15px}.new-player-fields{padding:14px;border:1px solid var(--line);background:var(--bg);border-radius:8px}.new-player-fields label{margin-bottom:10px}.draw-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:42vh;overflow:auto}.cardtop .club{font-size:25px;letter-spacing:-1px;overflow-wrap:anywhere}.cardtop{height:auto;min-height:116px}.form details{border:1px solid var(--line);padding:12px;border-radius:8px}.form details summary{cursor:pointer;margin-bottom:8px}.avatar{object-fit:cover}@media(max-width:650px){.setup-steps{grid-template-columns:1fr 1fr}.setup-steps button{padding:12px;font-size:14px}.window-row{grid-template-columns:1fr 1fr}.window-row>label:first-child{grid-column:1/-1}.draw-preview{grid-template-columns:1fr}.new-player-fields{padding:10px}}
.setup-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.setup-steps button{display:grid;text-align:left;justify-content:start;padding:18px;gap:7px}.setup-steps small{font-weight:400}.window-row{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:8px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line)}.window-row label{min-width:0}.window-row input{width:100%;padding:8px}.window-row button{font-size:12px;padding:9px}.restriction-row{padding-bottom:15px}.new-player-fields{padding:14px;border:1px solid var(--line);background:var(--bg);border-radius:8px}.new-player-fields label{margin-bottom:10px}.draw-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:42vh;overflow:auto}.cardtop .club{font-size:25px;letter-spacing:-1px;overflow-wrap:anywhere}.cardtop{height:auto;min-height:116px}.form details{border:1px solid var(--line);padding:12px;border-radius:8px}.form details summary{cursor:pointer;margin-bottom:8px}.avatar{object-fit:cover}@media(max-width:650px){.setup-steps{grid-template-columns:1fr 1fr}.setup-steps button{padding:12px;font-size:14px}.window-row{grid-template-columns:1fr 1fr}.window-row>label:first-child{grid-column:1/-1}.draw-preview{grid-template-columns:1fr}.new-player-fields{padding:10px}}
.schedule-audit details{margin-top:10px}.audit-booking{padding:14px 0;border-top:1px solid #e0c8a8}.audit-booking p{margin:5px 0}.audit-booking ul{padding-left:20px}.schedule-audit summary{cursor:pointer;font-weight:600}[data-schedule-id] .danger{min-width:220px;max-width:430px;font-size:13px}
