:root{--bg:#eef3ef;--panel:#fff;--ink:#15251d;--muted:#6f7f76;--brand:#0d6a42;--brand-dark:#0a4f33;--brand-soft:#dff3e7;--line:#dce6df;--danger:#a63c3c;--shadow:0 18px 55px rgba(34,65,49,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 0%,rgba(213,255,69,.22),transparent 28rem),var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}button,input{font:inherit}button{cursor:pointer}button,.btn,.icon-btn,.text-btn{transition:transform .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,opacity .16s ease}button:active:not(:disabled),.btn:active:not(:disabled){transform:translateY(1px)}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid rgba(13,106,66,.22);outline-offset:3px}.hero{max-width:1480px;margin:0 auto;padding:42px 36px 22px;display:flex;align-items:end;justify-content:space-between;gap:24px}.hero h1{margin:2px 0 6px;font-size:clamp(2.2rem,5vw,4.4rem);line-height:.95;letter-spacing:-.055em}.subtitle{max-width:680px;margin:0;color:var(--muted);font-size:1.03rem}.eyebrow{margin:0;text-transform:uppercase;font-size:.72rem;letter-spacing:.16em;font-weight:800;color:var(--brand)}.hero-badge{border:1px solid rgba(13,106,66,.16);background:rgba(255,255,255,.68);border-radius:999px;padding:11px 16px;font-weight:800;white-space:nowrap}.layout{max-width:1480px;margin:0 auto;padding:0 36px 50px;display:grid;grid-template-columns:360px 1fr;gap:22px}.panel,.content{background:rgba(255,255,255,.94);border:1px solid rgba(13,106,66,.08);box-shadow:var(--shadow);border-radius:25px}.sidebar{padding:24px;align-self:start;position:sticky;top:18px}.content{padding:28px;min-height:620px}.section-heading,.content-topline{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-heading h2,.content-topline h2{margin:3px 0 0;font-size:1.48rem}.counter{font-size:.82rem;font-weight:800;padding:7px 10px;background:var(--brand-soft);color:var(--brand-dark);border-radius:999px}.add-player-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:18px}input[type=text],input[type=number]{border:1px solid var(--line);background:#fbfdfb;color:var(--ink);border-radius:12px;outline:none}input[type=text]{min-width:0;padding:11px 12px}input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(13,106,66,.10)}.btn{border:0;border-radius:12px;padding:10px 13px;min-height:42px;font-weight:800}.btn:disabled{opacity:.42;cursor:not-allowed}.btn-primary{color:#fff;background:var(--brand)}.btn-primary:hover:not(:disabled){background:var(--brand-dark);box-shadow:0 7px 18px rgba(13,106,66,.16)}.btn-secondary{background:var(--brand-soft);color:var(--brand-dark)}.btn-secondary:hover:not(:disabled){background:#d2eddd}.btn-ghost{background:#f2f6f3;color:var(--ink)}.btn-ghost:hover:not(:disabled){background:#e9f0eb}.btn-large{width:100%;padding:14px;margin-top:19px}.danger{color:var(--danger)}.toolbar-row{display:flex;gap:14px;margin:13px 1px 9px}.text-btn{border:0;padding:4px 0;color:var(--brand);background:none;font-size:.79rem;font-weight:800}.text-btn:hover{text-decoration:underline}.player-list{display:grid;gap:7px;max-height:330px;overflow:auto;padding-right:3px;scrollbar-width:thin}.player-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:13px;background:#fbfdfb}.player-row.present{border-color:rgba(13,106,66,.30);background:#f4fbf7}.player-check{width:18px;height:18px;accent-color:var(--brand)}.player-name{overflow:hidden;text-overflow:ellipsis;font-weight:720}.player-stats{display:block;color:var(--muted);font-size:.68rem;font-weight:600;margin-top:2px}.icon-btn{border:0;background:transparent;color:#96a29b;font-size:1.05rem;min-width:36px;min-height:36px;border-radius:10px}.icon-btn:hover{background:#f0f4f1;color:var(--ink)}.empty-player-list{padding:17px 8px;color:var(--muted);text-align:center}.divider{height:1px;background:var(--line);margin:22px 0}.field-input-label{display:block;margin:16px 0 8px;font-size:.78rem;font-weight:800;color:var(--muted)}.number-control{display:grid;grid-template-columns:45px 1fr 45px;border:1px solid var(--line);border-radius:13px;overflow:hidden}.number-control button{border:0;background:#f2f6f3;color:var(--brand);font-size:1.4rem;min-height:44px}.number-control button:hover{background:#e7f0e9}.number-control input{border:0;border-radius:0;text-align:center;font-weight:900;font-size:1.1rem;padding:9px}.switch-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:16px}.switch-row strong,.switch-row small{display:block}.switch-row small{color:var(--muted);font-size:.72rem;margin-top:2px}.switch-row input{width:20px;height:20px;accent-color:var(--brand)}.data-details{margin-top:16px;color:var(--muted);font-size:.8rem}.details-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.file-btn input{display:none}.content-topline{margin-bottom:20px}.empty-state{min-height:420px;border:1.5px dashed #ccd9d0;border-radius:21px;display:grid;place-content:center;text-align:center;padding:35px;background:linear-gradient(135deg,#fbfdfb,#f4f8f5)}.empty-state .shuttle{font-size:3.2rem}.empty-state h3{margin:12px 0 5px}.empty-state p{color:var(--muted);max-width:460px;margin:0 auto}.hidden{display:none!important}.summary-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.summary-pill{background:#f0f5f2;color:#516159;border-radius:999px;padding:7px 11px;font-weight:800;font-size:.75rem}.summary-pill.emphasis{background:var(--brand-soft);color:var(--brand-dark)}.courts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.court-card{border:1px solid var(--line);border-radius:20px;padding:16px;background:#fbfdfb}.court-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.court-label{display:block;font-size:.72rem;color:var(--brand);font-weight:900;text-transform:uppercase;letter-spacing:.12em}.match-type{display:block;margin-top:2px}.court{position:relative;aspect-ratio:1.55/1;background:#207f55;border:4px solid #fff;border-radius:7px;overflow:hidden}.court:before,.court:after{content:"";position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.92)}.court:before{left:14%}.court:after{right:14%}.court-line{position:absolute;background:rgba(255,255,255,.92)}.center-line{left:50%;top:0;bottom:0;width:1px}.service-line{left:0;right:0;height:1px}.service-top{top:34%}.service-bottom{bottom:34%}.net{position:absolute;left:0;right:0;top:50%;height:3px;background:#13271e;z-index:3}.team{position:absolute;left:9%;right:9%;display:flex;justify-content:space-evenly;gap:8px;z-index:4}.team-a{top:13%}.team-b{bottom:13%}.player-chip{max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 9px;background:rgba(255,255,255,.94);border-radius:999px;font-size:.75rem;font-weight:900}.versus-row{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin-top:11px;font-size:.76rem}.versus-row span:last-child{text-align:right}.bench-area{margin-top:18px;border-radius:18px;padding:16px;background:#fff7dd;border:1px solid #efe1ac}.bench-area h3{margin:0 0 9px}.bench-list{display:flex;flex-wrap:wrap;gap:8px}.bench-chip{padding:7px 10px;border-radius:999px;background:#fff;font-weight:800;font-size:.78rem;border:1px solid #ead99d}.future-card{margin-top:20px;display:flex;gap:14px;align-items:start;border:1px dashed #c7d6cc;border-radius:18px;padding:16px;color:var(--muted)}.future-badge{padding:5px 8px;border-radius:8px;background:#edf2ee;font-size:.67rem;font-weight:900}.future-card h3{color:var(--ink);margin:0 0 4px}.future-card p{margin:0;font-size:.8rem}.toast{position:fixed;right:22px;bottom:22px;background:#12281e;color:#fff;padding:11px 14px;border-radius:12px;box-shadow:var(--shadow);z-index:99;font-weight:750;font-size:.84rem;max-width:min(420px,calc(100vw - 32px))}@media(max-width:980px){.layout{grid-template-columns:1fr;padding:0 18px 35px}.hero{padding:28px 18px 18px}.sidebar{position:static}.courts-grid{grid-template-columns:1fr}}@media(max-width:560px){body{background:var(--bg)}.hero{padding-top:22px}.hero h1{font-size:2.35rem}.hero-badge{display:none}.panel,.content{border-radius:19px}.sidebar,.content{padding:18px}.content{min-height:auto}.add-player-form{grid-template-columns:1fr}.btn{min-height:44px}.empty-state{min-height:300px;padding:26px 18px}.toolbar-row{gap:10px;flex-wrap:wrap}.toast{left:16px;right:16px;bottom:16px;text-align:center}}