:root{--carbon:#0b0b0b;--graphite:#161616;--graphite-2:#1c1c1c;--metal:#2b2b2b;--metal-2:#3a3a3a;--smoke:#8a8a8a;--white-soft:#f3f3f3;--green-deep:#3f6f45;--lime:#a6e22e;--lime-dim:#8fc426;--copper:#a66a3f;--accent:var(--lime);--accent-ink:#0b0b0b;--font-display:"Montserrat", sans-serif;--font-body:"Inter", sans-serif;--radius:14px;--radius-sm:10px;--radius-lg:22px;--shadow-card:0 1px 0 #ffffff08 inset, 0 18px 40px -24px #000000e6;--shadow-pop:0 30px 70px -30px #000000f2;--glow:0 0 0 1px #a6e22e59, 0 12px 36px -10px #a6e22e66;--ring:#a6e22e8c;--bd:1px solid var(--metal);--bd-soft:1px solid #ffffff0f;--maxw:1200px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--carbon);color:var(--white-soft);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.5}#root{min-height:100vh}.tex-noise{background-image:radial-gradient(900px 500px at 80% -10%,#a6e22e0f,#0000 60%),radial-gradient(700px 500px at -5% 110%,#a66a3f0d,#0000 55%)}.tex-grid{background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:46px 46px}h1,h2,h3,h4,h5{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:800;line-height:1.04}h1{font-size:clamp(40px,8vw,84px)}p{margin:0}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}button:focus-visible,a:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--ring);outline-offset:3px}::selection{background:var(--accent);color:var(--accent-ink)}.eyebrow{font-family:var(--font-display);letter-spacing:.28em;text-transform:uppercase;color:var(--smoke);font-size:12px;font-weight:700}.kicker-accent{color:var(--accent)}.muted{color:var(--smoke)}.center{text-align:center}.container{max-width:var(--maxw);width:100%;margin:0 auto;padding:0 22px}.btn{white-space:nowrap;font-size:15px;font-weight:700;line-height:1;font-family:var(--font-body);border:none;border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:13px 22px;transition:transform .15s,box-shadow .2s,background .2s,border-color .2s,color .2s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:var(--glow)}.btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn-ghost{color:var(--white-soft);border:var(--bd);background:0 0}.btn-ghost:hover{border-color:var(--metal-2);background:#ffffff08}.btn-soft{background:var(--graphite-2);color:var(--white-soft);border:var(--bd)}.btn-soft:hover{background:#242424}.btn-danger{color:#ff6b5e;background:0 0;border:1px solid #ff6b5e66}.btn-danger:hover{background:#ff6b5e1a}.btn-block{width:100%}.btn-lg{padding:17px 30px;font-size:17px}.btn-sm{padding:9px 15px;font-size:13px}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn .ico{width:18px;height:18px}.card{background:linear-gradient(180deg, var(--graphite-2), var(--graphite));border:var(--bd);border-radius:var(--radius);box-shadow:var(--shadow-card)}.surface{background:var(--graphite);border:var(--bd);border-radius:var(--radius)}.hairline{background:var(--metal);border:0;height:1px;margin:0}.badge{border:var(--bd);color:var(--smoke);letter-spacing:.01em;background:#ffffff05;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;width:7px;height:7px}.badge-accent{color:var(--accent);background:#a6e22e14;border-color:#a6e22e66}.badge-green{color:#7fd28a;background:#3f6f452e;border-color:#3f6f4580}.badge-copper{color:#d99a6b;background:#a66a3f24;border-color:#a66a3f73}.badge-red{color:#ff8478;background:#ff6b5e1a;border-color:#ff6b5e66}.badge-smoke{color:var(--smoke)}.field{flex-direction:column;gap:7px;display:flex}.field>label{color:var(--white-soft);font-size:13px;font-weight:600}.field .hint{color:var(--smoke);font-size:12px}.input{background:var(--carbon);border:var(--bd);border-radius:var(--radius-sm);width:100%;color:var(--white-soft);padding:13px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s,background .15s}.input::placeholder{color:#5e5e5e}.input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #a6e22e29}.input.has-error{border-color:#ff6b5e;box-shadow:0 0 0 3px #ff6b5e24}.err-msg{color:#ff8478;align-items:center;gap:5px;font-size:12.5px;display:flex}.input-icon{position:relative}.input-icon .ico{color:var(--smoke);pointer-events:none;width:18px;height:18px;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.input-icon .input{padding-left:42px}.ico{vertical-align:middle;stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;display:inline-block}.row{align-items:center;display:flex}.col{flex-direction:column;display:flex}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.grow{flex:1}.site-header{z-index:60;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:var(--bd);background:#0b0b0bb8;position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;gap:18px;height:74px;display:flex}.brand-lockup{align-items:center;gap:12px;display:flex}.brand-lockup img{border-radius:50%;width:48px;height:48px;display:block}.brand-lockup .brand-logo{border-radius:0;width:auto;height:54px}@media (max-width:760px){.brand-lockup .brand-logo{height:44px}}.brand-lockup .bn{white-space:nowrap;flex-direction:column;line-height:1;display:flex}.brand-lockup .bn b{font-family:var(--font-display);letter-spacing:.02em;white-space:nowrap;font-size:16px;font-weight:800}.brand-lockup .bn span{letter-spacing:.26em;text-transform:uppercase;color:var(--smoke);margin-top:3px;font-size:10.5px}.nav-links{align-items:center;gap:30px;display:flex}.nav-links a{color:var(--smoke);cursor:pointer;font-size:14.5px;font-weight:500;transition:color .15s}.nav-links a:hover{color:var(--white-soft)}.nav-burger{border:var(--bd);color:var(--white-soft);background:0 0;border-radius:10px;padding:9px;display:none}.hero{border-bottom:var(--bd);align-items:center;min-height:calc(100dvh - 74px);display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;background:var(--carbon);position:absolute;inset:0}.hero-bg picture{width:100%;height:100%;display:block}.hero-img{object-fit:cover;object-position:72% center;width:100%;height:100%;display:block}.hero-bg:after{content:"";background:linear-gradient(90deg, #0b0b0bf0 0%, #0b0b0bcc 30%, #0b0b0b66 62%, #0b0b0b26 100%), linear-gradient(180deg, #0b0b0b59 0%, transparent 26%, transparent 55%, var(--carbon) 100%);position:absolute;inset:0}.hero .container{z-index:2;padding-top:96px;padding-bottom:104px;position:relative}.hero h1{max-width:14ch}.hero h1 .ac{color:var(--accent)}.hero-sub{color:#cfcfcf;max-width:46ch;margin-top:22px;font-size:clamp(16px,2.2vw,20px)}.hero-cta{flex-wrap:wrap;align-items:center;gap:14px;margin-top:38px;display:flex}.facts{border:var(--bd);border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#16161680;flex-wrap:wrap;gap:0;margin-top:54px;display:flex;overflow:hidden}.fact{border-right:var(--bd);flex:1;min-width:130px;padding:18px 22px}.fact:last-child{border-right:0}.fact .v{font-family:var(--font-display);color:var(--white-soft);font-size:24px;font-weight:800}.fact .l{color:var(--smoke);margin-top:3px;font-size:12.5px}.section{padding:84px 0}.section-head{flex-direction:column;gap:14px;margin-bottom:40px;display:flex}.section-head h2{font-size:clamp(30px,5vw,48px)}.section-head p{color:var(--smoke);max-width:54ch;font-size:17px}.booking-shell{grid-template-columns:1.6fr 1fr;align-items:start;gap:22px;display:grid}@media (min-width:981px){.cal-layout{grid-template-columns:1.3fr 1fr}}.booking-main{padding:28px}.stepper{flex-wrap:wrap;gap:10px;margin-bottom:26px;display:flex}.step-pill{color:var(--smoke);border:var(--bd);background:#ffffff04;border-radius:999px;align-items:center;gap:9px;padding:8px 13px;font-size:13px;font-weight:600;transition:all .18s;display:flex}.step-pill .n{background:var(--metal);width:20px;height:20px;color:var(--white-soft);border-radius:50%;place-items:center;font-size:11px;display:grid}.step-pill.active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.step-pill.active .n{color:var(--accent-ink);background:#00000038}.step-pill.done{color:var(--white-soft);border-color:var(--metal-2)}.step-pill.done .n{background:var(--green-deep)}.court-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.court-opt{text-align:left;border-radius:var(--radius);border:var(--bd);background:var(--graphite-2);color:var(--white-soft);flex-direction:column;justify-content:flex-end;min-height:172px;padding:16px;transition:all .16s;display:flex;position:relative;overflow:hidden}.court-opt:hover{border-color:var(--metal-2)}.court-opt.sel{border-color:var(--accent);box-shadow:0 0 0 3px #a6e22e29}.court-opt:disabled{opacity:.5;cursor:not-allowed}.court-photos{z-index:0;position:absolute;inset:0}.court-photo{object-fit:cover;background-position:50%;background-size:cover;width:100%;height:100%;transition:opacity .6s;position:absolute;inset:0}.court-photo.ph{background-color:var(--graphite);background-image:linear-gradient(145deg,#a6e22e0f,#0000 55%),linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:100% 100%,34px 34px,34px 34px}.court-opt .court-tag{z-index:2;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;padding:4px 10px;font-size:10.5px;font-weight:700;line-height:1.5;position:absolute;top:14px;left:14px}.court-opt .court-tag.indoor{color:var(--white-soft);background:#0b0b0b99;border:1px solid #fff3}.court-opt .court-tag.outdoor{color:var(--accent);background:#a6e22e2e;border:1px solid #a6e22e8c}.court-opt:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0b0b0b1f 0%,#0b0b0b80 50%,#0b0b0be6 100%);position:absolute;inset:0}.court-opt .ct{z-index:2;font-family:var(--font-display);font-size:18px;font-weight:800;position:relative}.court-opt .cp{z-index:2;color:var(--accent);margin-top:4px;font-size:15px;font-weight:700;position:relative}.court-opt .cn{z-index:2;color:#cfcfcf;margin-top:6px;font-size:12.5px;position:relative}.court-opt .check{z-index:2;background:var(--accent);width:22px;height:22px;color:var(--accent-ink);border-radius:50%;place-items:center;display:none;position:absolute;top:14px;right:14px}.court-opt.sel .check{display:grid}.slot-grid{grid-template-columns:repeat(3,1fr);gap:11px;display:grid}.slot{border-radius:var(--radius-sm);border:var(--bd);background:var(--graphite-2);color:var(--white-soft);flex-direction:column;align-items:center;gap:3px;padding:14px 8px;font-weight:600;transition:all .15s;display:flex}.slot .rng{white-space:nowrap;font-size:14px}.slot .st{color:var(--smoke);font-size:11px;font-weight:500}.slot:hover:not(:disabled){border-color:var(--accent)}.slot.sel{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:var(--glow)}.slot.sel .st{color:#0009}.slot:disabled{opacity:.4;cursor:not-allowed;background:#131313}.slot.taken{text-decoration:none}.cal{-webkit-user-select:none;user-select:none}.cal-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.cal-title{font-family:var(--font-display);text-transform:capitalize;white-space:nowrap;font-size:18px;font-weight:800}.cal-nav{gap:8px;display:flex}.cal-nav button{border:var(--bd);background:var(--graphite-2);width:36px;height:36px;color:var(--white-soft);border-radius:10px;place-items:center;display:grid}.cal-nav button:hover{border-color:var(--metal-2)}.cal-dow{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;display:grid}.cal-dow span{text-align:center;color:var(--smoke);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600}.cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-cell{aspect-ratio:1;background:var(--graphite-2);color:var(--white-soft);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;font-size:14px;font-weight:600;transition:all .13s;display:flex;position:relative}.cal-cell.pad{background:0 0}.cal-cell.day:hover{border-color:var(--metal-2)}.cal-cell.sel{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.cal-cell.today{border-color:var(--metal-2)}.cal-cell.disabled{opacity:.28;cursor:not-allowed}.cal-cell.closed{color:#ff8478;background:#ff6b5e21;border-color:#ff6b5e4d}.cal-cell.mod{color:#d99a6b;background:#a66a3f29;border-color:#a66a3f59}.cal-cell.tournament{color:var(--accent);opacity:.7;background:#a6e22e21;border-color:#a6e22e66}.tournament-day-key{background:#a6e22e66;border-radius:3px;width:10px;height:10px;display:inline-block}.cal-cell .mk{border-radius:50%;width:5px;height:5px;position:absolute;bottom:5px}.summary{padding:24px;position:sticky;top:96px}.summary h3{margin-bottom:6px;font-size:19px}.sum-row{border-bottom:var(--bd-soft);justify-content:space-between;gap:12px;padding:12px 0;font-size:14.5px;display:flex}.sum-row:last-of-type{border-bottom:0}.sum-row .k{color:var(--smoke)}.sum-row .v{text-align:right;white-space:nowrap;font-weight:600}.price-box{border-radius:var(--radius);border:1px dashed var(--metal-2);background:#a6e22e0a;justify-content:space-between;align-items:center;margin:16px 0;padding:16px 18px;display:flex}.price-box .pl{color:var(--smoke);font-size:13px}.price-box .pv{font-family:var(--font-display);color:var(--accent);font-size:30px;font-weight:800}.pay-note{color:var(--smoke);align-items:flex-start;gap:10px;margin-top:12px;font-size:12.5px;line-height:1.45;display:flex}.pay-note .ico{color:var(--copper);flex-shrink:0;margin-top:1px}.how-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.how-card{padding:30px 26px;position:relative;overflow:hidden}.how-card .num{font-family:var(--font-display);color:var(--metal-2);font-size:54px;font-weight:800;line-height:1}.how-card .ic{width:46px;height:46px;color:var(--accent);background:#a6e22e1a;border-radius:12px;place-items:center;margin:16px 0;display:grid}.how-card h4{margin-bottom:8px;font-size:20px}.how-card p{color:var(--smoke);font-size:14.5px}.confirm-wrap{text-align:center;max-width:560px;margin:0 auto;padding:44px 30px}.confirm-check{background:var(--accent);width:84px;height:84px;color:var(--accent-ink);box-shadow:var(--glow);border-radius:50%;place-items:center;margin:0 auto 24px;display:grid}.confirm-check .ico{stroke-width:2.4px;width:40px;height:40px}.confirm-detail{text-align:left;margin:28px 0}.site-footer{background:var(--carbon);border-top:var(--bd);padding:64px 0 34px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:40px;display:grid}.footer-brand img{border-radius:50%;width:64px;height:64px}.footer-slogan{font-family:var(--font-display);margin-top:18px;font-size:22px;font-weight:800}.footer-slogan .ac{color:var(--accent)}.foot-h{letter-spacing:.2em;text-transform:uppercase;color:var(--smoke);margin-bottom:16px;font-size:12px;font-weight:700}.foot-item{color:#cfcfcf;align-items:flex-start;gap:11px;margin-bottom:14px;font-size:14.5px;display:flex}.foot-item .ico{color:var(--accent);flex-shrink:0;width:18px;height:18px;margin-top:2px}.foot-item a:hover{color:var(--accent)}.map-thumb{border-radius:var(--radius);border:var(--bd);background:var(--graphite-2);height:150px;margin-top:8px;display:block;position:relative;overflow:hidden}.footer-bottom{border-top:var(--bd);color:var(--smoke);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:48px;padding-top:24px;font-size:13px;display:flex}.footer-credit{text-align:right;color:#8a8a8a8c;letter-spacing:.01em;margin-top:14px;font-family:Dancing Script,cursive;font-size:13px;font-style:normal}.footer-credit a{color:#f3f3f39e;text-underline-offset:3px;font-weight:600;text-decoration:underline;transition:color .15s}.footer-credit a:hover{color:var(--accent)}@media (max-width:680px){.footer-bottom{text-align:left;flex-direction:column;align-items:flex-start;gap:8px}.footer-credit{text-align:center;margin-top:6px;font-size:11px}}.login-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{text-align:center;width:100%;max-width:404px;padding:38px 34px}.login-card img{border-radius:50%;width:96px;height:96px;margin:0 auto 22px;display:block}.login-card h2{font-size:24px}.login-card .sub{color:var(--smoke);margin-top:8px;margin-bottom:28px;font-size:14px}.login-card .field{text-align:left}.login-hint{color:var(--smoke);background:var(--graphite-2);border:var(--bd-soft);border-radius:10px;margin-top:18px;padding:10px 12px;font-size:12px}.login-hint code{color:var(--accent);font-family:ui-monospace,monospace}.admin-shell{min-height:100vh;display:flex}.sidebar{background:var(--graphite);border-right:var(--bd);flex-direction:column;flex-shrink:0;width:264px;height:100vh;display:flex;position:sticky;top:0}.sb-brand{border-bottom:var(--bd);align-items:center;gap:12px;padding:20px 18px;display:flex}.sb-brand img{border-radius:50%;width:42px;height:42px}.sb-brand .bn{white-space:nowrap}.sb-brand .bn b{font-family:var(--font-display);white-space:nowrap;font-size:15px;font-weight:800;display:block}.sb-brand .bn span{letter-spacing:.2em;text-transform:uppercase;color:var(--smoke);font-size:10px}.sb-group{padding:18px 12px 4px}.sb-group .gl{letter-spacing:.16em;text-transform:uppercase;color:var(--smoke);padding:0 10px 8px;font-size:10.5px;font-weight:700}.sb-item{color:var(--smoke);text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;width:100%;padding:11px 12px;font-size:14.5px;font-weight:500;transition:all .13s;display:flex}.sb-item .ico{flex-shrink:0;width:19px;height:19px}.sb-item:hover{color:var(--white-soft);background:#ffffff0a}.sb-item.active{color:var(--accent);background:#a6e22e1f;font-weight:600}.sb-item .count{background:var(--metal);color:var(--white-soft);border-radius:999px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:600}.sb-item.active .count{background:var(--accent);color:var(--accent-ink)}.sb-foot{border-top:var(--bd);margin-top:auto;padding:14px 12px}.sb-user{align-items:center;gap:11px;padding:8px 10px;display:flex}.sb-user .av{background:var(--green-deep);width:34px;height:34px;color:var(--white-soft);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.sb-user .un{font-size:13px;font-weight:600}.sb-user .ue{color:var(--smoke);font-size:11px}.admin-main{flex-direction:column;flex:1;min-width:0;display:flex}.admin-top{border-bottom:var(--bd);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:40;background:#0b0b0bcc;justify-content:space-between;align-items:center;height:68px;padding:0 26px;display:flex;position:sticky;top:0}.admin-top h1{white-space:nowrap;font-size:22px}.admin-top .crumb{color:var(--smoke);white-space:nowrap;font-size:12.5px}.admin-burger{border:var(--bd);color:var(--white-soft);background:0 0;border-radius:9px;padding:8px;display:none}.admin-body{flex:1;padding:26px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.stat{padding:20px}.stat .sl{color:var(--smoke);align-items:center;gap:8px;font-size:13px;display:flex}.stat .sl .ico{width:16px;height:16px;color:var(--accent)}.stat .sv{font-family:var(--font-display);margin-top:10px;font-size:34px;font-weight:800}.stat .sx{color:var(--smoke);margin-top:2px;font-size:12.5px}.occ-bar{background:var(--metal);border-radius:999px;height:9px;margin-top:9px;overflow:hidden}.occ-bar>i{background:var(--accent);border-radius:999px;height:100%;display:block}.tbl-wrap{border-radius:var(--radius);border:var(--bd);overflow-x:auto}table.tbl{border-collapse:collapse;width:100%;min-width:720px;font-size:14px}.tbl thead th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--smoke);background:var(--graphite-2);border-bottom:var(--bd);white-space:nowrap;padding:13px 16px;font-size:11.5px;font-weight:700}.tbl tbody td{border-bottom:var(--bd-soft);vertical-align:middle;padding:14px 16px}.tbl tbody tr:last-child td{border-bottom:0}.tbl tbody tr:hover{background:#ffffff05}.tbl .cust{font-weight:600}.tbl .sub{color:var(--smoke);font-size:12px}.tbl .price{color:var(--accent);font-weight:700;font-family:var(--font-display)}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.seg{border:var(--bd);background:var(--graphite-2);border-radius:999px;display:flex;overflow:hidden}.seg button{color:var(--smoke);background:0 0;border:none;padding:9px 16px;font-size:13px;font-weight:600;transition:all .13s}.seg button.on{background:var(--accent);color:var(--accent-ink)}.select-wrap{position:relative}.select-wrap select{appearance:none;background:var(--graphite-2);border:var(--bd);color:var(--white-soft);border-radius:10px;padding:10px 36px 10px 13px;font-size:13.5px;font-weight:500}.select-wrap:after{content:"";border-right:2px solid var(--smoke);border-bottom:2px solid var(--smoke);pointer-events:none;width:8px;height:8px;position:absolute;top:50%;right:13px;transform:translateY(-65%)rotate(45deg)}.courts-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.court-card{flex-direction:column;gap:14px;padding:22px;display:flex}.court-card .top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.court-card h3{white-space:nowrap;font-size:21px}.court-card .top{gap:10px}.court-card .priceview{font-family:var(--font-display);color:var(--accent);font-size:30px;font-weight:800}.court-card .priceview small{color:var(--smoke);font-size:13px;font-weight:500;font-family:var(--font-body)}.agenda{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.agenda-col h4{justify-content:space-between;align-items:center;margin-bottom:12px;font-size:15px;display:flex}.agenda-slot{border:var(--bd);background:var(--graphite-2);border-radius:10px;margin-bottom:8px;padding:11px 13px;font-size:13px}.agenda-slot.free{color:var(--smoke);text-align:center;border-style:dashed}.agenda-slot.busy{border-left:3px solid var(--accent)}.agenda-slot .as-t{font-weight:700;font-family:var(--font-display)}.agenda-slot .as-c{color:var(--smoke);font-size:12.5px}.agenda-slot.fixed{border-left-color:var(--copper)}.modal-back{z-index:120;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overscroll-behavior:contain;background:#000000a8;justify-content:center;align-items:flex-start;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-back:not([open]){display:none}dialog.modal-back{width:100vw;max-width:none;height:100dvh;max-height:none;color:inherit;border:0;margin:0}dialog.modal-back::backdrop{background:0 0}.modal{width:100%;max-width:520px;max-height:calc(100dvh - 40px);margin:auto;padding:28px;position:relative;overflow-y:auto}.modal h3{margin-bottom:4px;font-size:22px}.modal .msub{color:var(--smoke);margin-bottom:22px;font-size:13.5px}.modal-close{border:var(--bd);color:var(--smoke);background:0 0;border-radius:9px;padding:7px;position:absolute;top:16px;right:16px}.form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.form-grid .full{grid-column:1/-1}.modal-fields{border:0;min-width:0;margin:0;padding:0}.form-error{color:var(--danger,#f87171);margin-top:16px;font-size:14px}.modal-actions{background:var(--graphite);box-shadow:0 -8px 16px var(--graphite);z-index:2;justify-content:flex-end;gap:12px;margin-top:24px;padding:14px 0;display:flex;position:sticky;bottom:-28px}.datepicker-trigger{text-align:left;cursor:pointer;align-items:center;gap:10px;display:flex}.datepicker-trigger .dp-ico{color:var(--smoke);flex-shrink:0}.datepicker-trigger .dp-label{min-width:0;color:var(--white-soft);white-space:nowrap;text-overflow:ellipsis;text-transform:capitalize;flex:1;overflow:hidden}.datepicker-trigger.is-placeholder .dp-label{color:#5e5e5e;text-transform:none}.datepicker-trigger .dp-chev{color:var(--smoke);flex-shrink:0;margin-left:auto;transition:color .15s}.datepicker-trigger:hover:not(:disabled){border-color:var(--metal-2)}.datepicker-trigger:hover:not(:disabled) .dp-chev{color:var(--white-soft)}.datepicker-trigger:disabled{opacity:.45;cursor:not-allowed}.datepicker-layer{z-index:130;position:fixed;inset:0}.datepicker-backdrop{position:absolute;inset:0}.datepicker-pop{z-index:131;width:300px;max-width:calc(100vw - 16px);box-shadow:var(--shadow-pop);padding:16px;position:fixed}.empty{text-align:center;color:var(--smoke);padding:54px 24px}.empty .ic{background:var(--graphite-2);border:var(--bd);width:54px;height:54px;color:var(--smoke);border-radius:14px;place-items:center;margin:0 auto 16px;display:grid}.toast{z-index:200;background:var(--graphite-2);border:1px solid var(--accent);color:var(--white-soft);box-shadow:var(--shadow-pop);border-radius:999px;align-items:center;gap:10px;padding:13px 20px;font-size:14px;font-weight:500;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast .ico{color:var(--accent)}@keyframes fadeUp{0%{transform:translateY(12px)}to{transform:none}}@keyframes popIn{0%{transform:scale(.97)}to{transform:scale(1)}}.anim-up{animation:.45s forwards fadeUp}.anim-pop{animation:.25s forwards popIn}.tournament-catalog{margin-top:40px;scroll-margin-top:96px}.tournament-catalog-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.tournament-catalog-heading h2{font-size:21px;line-height:1.3}.tournament-hero-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.tournament-hero-list .tournament-hero-card{width:100%;min-width:0;margin:0}.tournament-hero-list:focus-visible{outline:2px solid var(--ring);outline-offset:4px}.tournament-carousel-controls{display:none}.tournament-detail{scroll-margin-top:90px}.tournament-detail:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.tournament-back-link{min-height:44px;color:var(--accent);align-items:center;gap:6px;margin-bottom:8px;font-size:14px;display:inline-flex}.tournament-back-link:focus-visible{outline:2px solid var(--ring);outline-offset:3px}@media (max-width:1050px){.tournament-hero-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.tournament-hero-list{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;grid-template-columns:none;grid-auto-columns:min(86%,340px);grid-auto-flow:column;margin:-4px;padding:4px;scroll-padding-inline:4px;overflow-x:auto}.tournament-hero-list .tournament-hero-card{scroll-snap-align:start}.tournament-hero-list .tournament-hero-card:only-child{grid-column:1}.tournament-hero-list:has(>:only-child){grid-auto-columns:100%}.tournament-carousel-controls{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.tournament-carousel-controls>span{color:var(--smoke);font-size:12px}.tournament-carousel-controls>div{gap:8px;display:flex}.tournament-carousel-controls button{border:var(--bd);background:var(--metal);width:44px;height:44px;color:var(--white-soft);border-radius:50%;place-items:center;display:grid}.tournament-carousel-controls button:disabled{opacity:.35;cursor:default}.tournament-carousel-controls button:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.tournament-carousel-controls button:active:not(:disabled){background:var(--accent);color:var(--accent-ink)}}.tournament-picker{max-width:780px;padding-top:32px}.tournament-picker select{width:100%}.tournament-delete-area{border-top:var(--bd);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:32px;padding-top:24px;display:flex}.tournament-delete-area p{max-width:60ch;font-size:13px}.tournament-hero-card{text-align:left;color:var(--white-soft);border-radius:var(--radius);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(110deg,#a6e22e26,#161616d1);border:1px solid #a6e22e73;flex-direction:column;gap:2px;padding:20px;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.tournament-hero-card:hover{border-color:var(--accent);box-shadow:var(--glow);transform:translateY(-2px)}.tournament-hero-card:focus-visible{outline:3px solid var(--ring);outline-offset:3px}.tournament-hero-card .tournament-live{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:800}.tournament-hero-card strong{font-family:var(--font-display);margin-top:4px;font-size:24px;line-height:1.15}.tournament-card-name{overflow-wrap:anywhere;margin-top:8px;font-size:14px}.tournament-card-dates{color:#cfcfcf;margin-top:6px;margin-bottom:18px;font-size:13px}.tournament-hero-card .tournament-card-action{border-top:var(--bd);color:var(--accent);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:12px;font-size:13px;font-weight:700;display:flex}.tournament-hero-card strong{overflow-wrap:anywhere}.tournament-hero-card[aria-current=true]{border-color:var(--accent)}.tournament-public{border-bottom:var(--bd);background:linear-gradient(#a6e22e09,#0000 42%);scroll-margin-top:74px}.tournament-title-row{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:32px;display:flex}.tournament-title-row .section-head{margin:0}.tournament-facts{border:var(--bd);border-radius:var(--radius);grid-template-columns:repeat(4,minmax(96px,1fr));min-width:min(100%,470px);display:grid;overflow:hidden}.tournament-facts>div{border-right:var(--bd);background:#161616b8;flex-direction:column;padding:14px 16px;display:flex}.tournament-facts>div:last-child{border:0}.tournament-facts b{font-family:var(--font-display);color:var(--accent);font-size:20px}.tournament-facts span{color:var(--smoke);font-size:11px}.tournament-tabs,.tournament-admin-steps{border-bottom:var(--bd);scrollbar-width:none;gap:6px;margin-bottom:22px;display:flex;overflow-x:auto}.tournament-tabs::-webkit-scrollbar{display:none}.tournament-admin-steps::-webkit-scrollbar{display:none}.tournament-tabs button,.tournament-admin-steps button{min-height:46px;color:var(--smoke);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 18px;font-weight:700;transition:color .15s,border-color .15s}.tournament-tabs button:hover,.tournament-tabs button.on,.tournament-admin-steps button:hover,.tournament-admin-steps button.on{color:var(--white-soft);border-bottom-color:var(--accent)}.tournament-tabs button:focus-visible,.tournament-admin-steps button:focus-visible{outline:2px solid var(--ring);outline-offset:-3px}.tournament-groups-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.standings-card{min-width:0;padding:20px}.standings-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.standings-head h3{margin-top:3px;font-size:22px}.standings-scroll{max-width:100%;overflow-x:auto}.standings-table{border-collapse:collapse;width:100%;min-width:500px;font-size:13px}.standings-table th{text-align:left;color:var(--smoke);text-transform:uppercase;letter-spacing:.08em;border-bottom:var(--bd);padding:9px 8px;font-size:10px}.standings-table td{border-bottom:var(--bd-soft);padding:11px 8px}.standings-table tr:last-child td{border:0}.standings-table tr.qualified td:first-child{border-left:2px solid var(--accent)}.position-pill{background:var(--metal);border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;font-weight:800;display:grid}.qualified .position-pill{background:var(--accent);color:var(--accent-ink)}.public-match-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.public-match{min-width:0;padding:16px}.public-match-meta{color:var(--smoke);justify-content:space-between;gap:12px;margin-bottom:12px;font-size:11px;display:flex}.public-match-meta span:first-child{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.match-team{border:var(--bd-soft);overflow-wrap:anywhere;padding:9px 10px;font-size:13px}.match-team+.match-team{border-top:0}.match-team.winner{color:var(--accent);background:#a6e22e0d;font-weight:700}.match-score{font-family:var(--font-display);color:var(--smoke);margin-top:11px;font-size:13px}.bracket-responsive{width:100%;min-width:0;container-type:inline-size}.bracket{width:100%;min-width:0}.bracket-stage{width:100%;position:relative}.bracket-round>h3{top:0;left:var(--round-left);width:var(--round-width);border-bottom:var(--bd);color:var(--white-soft);overflow-wrap:anywhere;padding-bottom:8px;font-size:13px;position:absolute}.bracket-node{left:var(--round-left);width:var(--round-width);min-width:0;position:absolute;transform:translateY(-50%)}.bracket-connectors{pointer-events:none;position:absolute;inset:0}.bracket-connectors path{fill:none;stroke:var(--metal-2);stroke-width:1.5px;stroke-linejoin:round}.bracket-connectors path.completed{stroke:#70883f}.bracket-window-label{color:var(--smoke);align-self:center;font-size:12px}.bracket-compact .bracket-team{gap:3px;min-height:34px;padding:5px 8px}.bracket-compact .bracket-player-names{line-height:1.3}.bracket-compact .bracket-score-head{padding:5px 8px}.bracket-compact .bracket-match-footer{padding:6px 8px;font-size:11px}.bracket-compact .bracket-match-date{margin-bottom:3px}.bracket-compact .bracket-match-location{gap:4px 8px}.bracket-compact .bracket-match>.btn{min-height:34px;margin:0 8px 8px;padding:6px 10px;font-size:11px}.bracket-compact .bracket-direct{gap:5px;padding:10px;font-size:12px}.bracket-compact .bracket-direct span{font-size:11px}.bracket-compact .bracket-set-columns{gap:2px}.bracket-compact .bracket-set-columns>span{width:18px}.bracket-compact .bracket-team .bracket-set-columns{font-size:12px}.bracket-awards{border-top:var(--bd);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:center;gap:32px;margin-top:24px;padding-top:24px;display:grid}.bracket-match{background:var(--graphite);border:var(--bd);border-radius:8px;scroll-margin-top:90px;overflow:hidden}.bracket-score-head{color:var(--smoke);background:var(--graphite-2);justify-content:space-between;align-items:center;padding:8px 12px;font-size:10px;display:flex}.bracket-score-head>span{font-weight:600}.bracket-team{border-bottom:var(--bd-soft);align-items:center;gap:6px;min-height:52px;padding:8px 12px;font-size:12px;display:flex}.bracket-player-names{flex:1;min-width:0;line-height:1.5}.bracket-player-names span{overflow-wrap:anywhere;display:block}.bracket-team.winner{color:var(--accent);background:#a6e22e08;font-weight:700}.bracket-winner-mark{flex-shrink:0;width:14px;display:flex}.bracket-set-columns{text-align:center;font-variant-numeric:tabular-nums;flex-shrink:0;gap:4px;display:flex}.bracket-set-columns>span{width:25px;position:relative}.bracket-team .bracket-set-columns{font-size:15px;font-weight:700}.bracket-set-columns sup{font-size:8px;position:absolute;top:-3px;right:-1px}.bracket-match-footer{padding:9px 12px 11px;font-size:11px}.bracket-match-date{color:var(--smoke);margin-bottom:6px;display:block}.bracket-match-location{flex-wrap:wrap;align-items:flex-start;gap:8px 12px;line-height:1.4;display:flex}.bracket-match-location>span{overflow-wrap:anywhere;align-items:center;gap:5px;min-width:0;display:flex}.bracket-match-location>span:first-child{flex-shrink:0}.bracket-match-location .ico{color:var(--smoke);flex-shrink:0}.bracket-bye{color:var(--accent);margin-bottom:6px;font-size:10px;display:block}.bracket-bronze{justify-self:center;width:100%;min-width:0;max-width:420px}.bracket-bronze h3{color:#dca579;margin-bottom:12px;font-size:14px}.tournament-podium{justify-self:center;width:100%;min-width:0;max-width:540px;padding:24px 0 12px;scroll-margin-top:90px}.tournament-podium:only-child{grid-column:1/-1}.tournament-podium>h3{text-align:center;margin-bottom:28px;font-size:16px}.podium-places{border-bottom:1px solid var(--metal-2);grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:6px;display:grid}.podium-place{text-align:center;--medal:#cbd3de;--step-height:92px;min-width:0}.podium-gold{--medal:#e8c66c;--step-height:138px}.podium-bronze{--medal:#dca579;--step-height:60px}.podium-identity{flex-direction:column;align-items:center;height:152px;padding:0 5px;display:flex}.podium-cup{height:54px;color:var(--medal);justify-content:center;align-items:center;margin-bottom:12px;display:flex}.podium-place h4{color:var(--medal);margin-bottom:8px;font-size:12px;font-weight:700}.podium-place strong{max-width:100%;font-size:12px;font-weight:500;line-height:1.6;display:block}.podium-place strong span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.podium-step{height:var(--step-height);border-top:3px solid var(--medal);background:linear-gradient(180deg,color-mix(in srgb,var(--medal) 13%,var(--graphite)),var(--graphite));justify-content:center;padding-top:15px;display:flex}.podium-step>span{font-family:var(--font-display);color:var(--medal);font-size:38px;font-weight:800;line-height:1}@media (max-width:600px){.podium-place h4,.podium-place strong{font-size:11px}}@container (max-width:800px){.bracket-compact .bracket-match>.btn{min-height:44px}.bracket-awards{grid-template-columns:minmax(0,1fr);gap:20px}}.admin-playoff-preview{min-width:0;max-width:100%;margin-bottom:24px}.admin-playoff-preview>h3{margin-bottom:18px}.admin-playoff-preview>.btn{margin-top:12px}.tournament-admin{min-width:0}.tournament-toolbar{z-index:2;position:relative}.tournament-admin-hero{justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:22px;display:flex}.tournament-admin-hero h2{margin:12px 0 7px;font-size:28px}.tournament-admin-hero p{color:var(--smoke);font-size:14px}.tournament-admin-steps button{align-items:center;gap:8px;display:flex}.tournament-admin-steps button>span{background:var(--metal);border-radius:50%;place-items:center;width:23px;height:23px;font-size:11px;display:grid}.tournament-admin-steps button.on>span{background:var(--accent);color:var(--accent-ink)}.tournament-admin-steps button>b{background:var(--metal);border-radius:99px;padding:2px 7px;font-size:10px}.tournament-editor-panel{flex-direction:column;gap:18px;display:flex}.tournament-form-card{justify-content:space-between;align-items:flex-end;gap:24px;padding:22px;display:flex}.tournament-form-card h3{margin:4px 0 6px;font-size:22px}.pair-add-form,.group-add-form{flex:1;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:12px;max-width:760px;display:grid}.group-add-form{grid-template-columns:minmax(180px,1fr) 120px auto;max-width:620px}.pair-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.pair-admin-card{align-items:center;gap:12px;min-width:0;padding:14px;display:flex}.pair-admin-card .pair-number{font-family:var(--font-display);color:var(--metal-2);font-size:19px}.pair-admin-card>div{flex-direction:column;flex:1;min-width:0;display:flex}.pair-admin-card b,.pair-admin-card span{overflow-wrap:anywhere}.pair-admin-card>div span{color:var(--smoke);font-size:12px}.pair-admin-card>button{border:var(--bd);width:44px;height:44px;color:var(--smoke);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.pair-admin-card>button:hover{color:#ff8478;border-color:#ff6b5e66}.pair-admin-card>.pair-edit-button:hover{color:var(--lime);border-color:var(--lime)}.pair-edit-form>p{margin-bottom:16px}.pair-edit-form .modal-actions{flex-wrap:wrap}@media (max-width:480px){.pair-edit-form .modal-actions{flex-direction:column-reverse}.pair-edit-form .modal-actions>button{width:100%}}.group-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.group-admin-card{flex-direction:column;gap:15px;min-width:0;padding:18px;display:flex}.group-pair-list{flex-direction:column;gap:7px;min-height:54px;display:flex}.group-pair-list>div{background:var(--carbon);overflow-wrap:anywhere;border-radius:8px;align-items:flex-start;gap:8px;padding:8px 10px;font-size:12px;display:flex}.group-pair-list .ico{color:var(--accent);flex-shrink:0;margin-top:1px}.assignment-card{grid-template-columns:240px 1fr;align-items:start;gap:24px;padding:22px;display:grid}.assignment-card h3{margin-bottom:6px;font-size:20px}.assignment-card p{font-size:13px}.assignment-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.assignment-list>div{background:var(--carbon);border:var(--bd-soft);border-radius:9px;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:10px;padding:9px 11px;font-size:12px;display:grid}.assignment-list>div>span{overflow-wrap:anywhere;min-width:0}.fixture-summary{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.fixture-summary .card{flex-direction:column;padding:17px;display:flex}.fixture-summary b{font-family:var(--font-display);color:var(--accent);font-size:28px}.fixture-summary span{color:var(--smoke);font-size:12px}.admin-match-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-match-card{min-width:0;padding:16px}.manual-fixture-editor{min-width:0;padding:22px}.manual-fixture-editor h3{margin-bottom:8px}.manual-fixture-progress{border:var(--bd);color:var(--smoke);border-radius:10px;flex-wrap:wrap;gap:8px 24px;padding:12px 16px;font-size:14px;display:flex}.manual-fixture-progress b{color:var(--white-soft)}.manual-fixture-missing{font-size:14px}.manual-fixture-missing summary{cursor:pointer;text-underline-offset:4px;align-items:center;min-height:44px;text-decoration:underline;display:flex}.manual-fixture-missing ul{margin:0;padding-left:20px}.manual-fixture-empty{text-align:center;padding:24px 12px}.manual-fixture-empty svg{color:var(--accent);margin-bottom:8px}.manual-fixture-list{gap:18px;display:grid}.manual-fixture-row{border:var(--bd);border-radius:12px;min-width:0;margin:0;padding:16px;scroll-margin-block:100px}.manual-fixture-row legend{padding:0 8px;font-weight:700}.manual-fixture-row-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px;display:flex}.manual-fixture-row-head>.field{width:min(100%,280px)}.manual-fixture-row-head>.btn{flex-shrink:0;min-height:44px}.manual-fixture-pairs{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:16px;display:grid}.manual-fixture-versus{color:var(--smoke);align-self:end;padding-bottom:12px}.manual-fixture-editor .field,.match-schedule-form .field{min-width:0}.manual-fixture-editor .select-wrap,.match-schedule-form .select-wrap{width:100%;min-width:0}.manual-fixture-editor .select-wrap select,.match-schedule-form .select-wrap select{text-overflow:ellipsis;width:100%;min-width:0;min-height:44px}.manual-fixture-schedule{width:100%;margin-top:16px}.manual-fixture-schedule b{font-size:14px;font-weight:600}.manual-fixture-schedule>svg{flex-shrink:0}.manual-fixture-add{border:1px dashed var(--metal-2);width:100%;min-height:48px}.manual-fixture-note{max-width:75ch;font-size:13px}.manual-fixture-actions{border-top:var(--bd);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;display:flex}.match-schedule-form input[type=time]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.match-schedule-form .err-msg,.manual-fixture-editor .err-msg{white-space:pre-line;overflow-wrap:anywhere;line-height:1.6;display:block}@media (max-width:600px){.manual-fixture-editor{padding:16px}.manual-fixture-row{padding:12px}.manual-fixture-row-head{gap:8px}.manual-fixture-pairs{grid-template-columns:minmax(0,1fr);gap:12px}.manual-fixture-versus{display:none}.manual-fixture-actions>div{width:100%}.manual-fixture-actions .btn{flex:1;min-height:44px}}.admin-match-title{justify-content:space-between;gap:8px;margin-bottom:12px;display:flex}.admin-match-pairs{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin-bottom:13px;font-size:13px;display:grid}.admin-match-pairs b{overflow-wrap:anywhere}.admin-match-pairs b:last-child{text-align:right}.admin-match-pairs span{color:var(--smoke);font-size:11px}.match-schedule-edit{grid-template-columns:minmax(190px,1fr) auto;align-items:center;gap:8px;display:grid}.match-schedule-trigger{text-align:left;cursor:pointer;align-items:center;gap:12px;height:auto;min-height:64px;display:flex}.match-schedule-trigger>span{flex:1}.match-schedule-trigger small{color:var(--smoke);margin-top:4px;display:block}.match-schedule-trigger:hover{border-color:var(--accent)}.admin-match-card>small{display:none}.result-sets{flex-direction:column;gap:10px;display:flex}.result-set{background:var(--carbon);border-radius:var(--radius-sm);border:var(--bd-soft);grid-template-columns:64px 1fr 1fr auto;align-items:end;gap:10px;padding:13px;display:grid}.result-set>b{font-family:var(--font-display);align-self:center}.result-set>label:not(.tiebreak-toggle){flex-direction:column;gap:5px;display:flex}.result-set label span{color:var(--smoke);font-size:11px}.tiebreak-toggle{white-space:nowrap;align-items:center;gap:7px;min-height:44px;font-size:12px;display:flex}.tiebreak-toggle input{accent-color:var(--accent);width:18px;height:18px}.tiebreak-scores{grid-column:2/4;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.anim-up,.anim-pop{animation:none}.btn,.tournament-hero-card,.sidebar,.drawer,.drawer-backdrop{transition:none}}@media (max-width:980px){.booking-shell{grid-template-columns:1fr}.summary{position:static}.how-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;grid-template-columns:none;margin:0 -22px;padding:4px 22px 16px;scroll-padding-left:22px;display:flex;overflow-x:auto}.how-grid::-webkit-scrollbar{height:0;display:none}.how-card{scroll-snap-align:start;flex:0 0 80%}.footer-grid{grid-template-columns:1fr;gap:32px}.courts-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.agenda{grid-template-columns:1fr}.tournament-title-row{flex-direction:column;align-items:flex-start}.tournament-facts{width:100%}.public-match-list{grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-form-card{flex-direction:column;align-items:stretch}.pair-add-form,.group-add-form{max-width:none}.pair-admin-grid,.group-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-card,.admin-match-list{grid-template-columns:1fr}}@media (max-width:760px){.nav-links{display:none}.nav-burger{display:inline-flex}.hero{min-height:0;display:block}.hero .container{padding-top:64px;padding-bottom:72px}.hero-img{object-position:center 38%}.hero-bg:after{background:linear-gradient(180deg, #0b0b0bb3 0%, #0b0b0b59 32%, #0b0b0b59 50%, #0b0b0bd1 82%, var(--carbon) 100%)}.section{padding:60px 0}.court-grid{grid-template-columns:1fr}.slot-grid{grid-template-columns:repeat(2,1fr)}.stepper{flex-wrap:nowrap;gap:8px}.step-pill{padding:9px 12px}.step-pill .lbl{display:none}.step-pill.active{flex:1;justify-content:center}.step-pill.active .lbl{display:inline}.form-grid{grid-template-columns:1fr}.sidebar{z-index:100;box-shadow:var(--shadow-pop);transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:none}.admin-burger{display:inline-flex}.sb-backdrop{z-index:99;background:#0009;position:fixed;inset:0}.stat-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;grid-template-columns:none;gap:12px;margin:0 0 22px;padding-bottom:4px;display:flex;overflow-x:auto}.stat-grid::-webkit-scrollbar{height:0;display:none}.stat-grid>.stat{scroll-snap-align:start;flex:0 0 58%}.agenda{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;grid-template-columns:none;gap:14px;padding-bottom:6px;display:flex;overflow-x:auto}.agenda::-webkit-scrollbar{height:0;display:none}.agenda-col{scroll-snap-align:start;background:var(--carbon);border:var(--bd);border-radius:var(--radius);flex:0 0 86%;padding:16px}.tournament-hero-card{margin-top:28px;padding:16px 17px}.tournament-hero-card strong{font-size:21px}.tournament-title-row{margin-bottom:24px}.tournament-facts{grid-template-columns:repeat(2,1fr)}.tournament-facts>div:nth-child(2){border-right:0}.tournament-facts>div:nth-child(-n+2){border-bottom:var(--bd)}.tournament-groups-grid,.public-match-list{grid-template-columns:1fr}.standings-card{padding:16px}.tournament-admin-hero{flex-direction:column;align-items:flex-start;padding:18px}.tournament-admin-hero .row{width:100%}.tournament-admin-hero .btn{flex:1}.pair-add-form,.group-add-form{grid-template-columns:1fr}.pair-add-form .btn,.group-add-form .btn{min-height:46px}.pair-admin-grid,.group-admin-grid,.assignment-list{grid-template-columns:1fr}.assignment-list>div{grid-template-columns:minmax(0,1fr) 145px}.fixture-summary{scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}.fixture-summary .card{scroll-snap-align:start;flex:0 0 54%}.match-schedule-edit{grid-template-columns:1fr}.match-schedule-edit .btn{min-height:44px}.admin-match-card>small{color:var(--smoke);margin-top:8px;display:block}.result-set{grid-template-columns:50px 1fr 1fr}.tiebreak-toggle,.tiebreak-scores{grid-column:1/-1}}.drawer-backdrop{z-index:90;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;background:#0009;transition:opacity .28s;position:fixed;inset:0}.drawer-backdrop.show{opacity:1;pointer-events:auto}.drawer{z-index:91;background:linear-gradient(180deg, var(--graphite) 0%, var(--carbon) 100%);border-left:var(--bd);width:min(82vw,340px);height:100%;box-shadow:var(--shadow-pop);will-change:transform;flex-direction:column;padding:22px 22px 26px;transition:transform .32s cubic-bezier(.22,.61,.36,1);display:flex;position:fixed;top:0;right:0;transform:translate(105%)}.drawer.open{transform:translate(0)}.drawer-top{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.drawer-close{border:var(--bd);color:var(--white-soft);background:0 0;border-radius:10px;padding:9px}.drawer-nav{flex-direction:column;gap:4px;display:flex}.drawer-nav a{font-family:var(--font-display);color:var(--white-soft);cursor:pointer;border-radius:12px;align-items:center;gap:13px;padding:14px 12px;font-size:19px;font-weight:700;transition:background .14s,color .14s;display:flex}.drawer-nav a:hover,.drawer-nav a:active{background:#ffffff0d}.drawer-nav a .ico{color:var(--accent)}@media (max-width:600px){.hide-mobile{display:none!important}}image-slot{--is-bg:var(--graphite-2);--is-border:var(--metal);--is-fg:var(--smoke)}.data-status{border:1px solid var(--line);background:var(--graphite);color:var(--smoke);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;padding:16px 18px;font-size:14px;display:flex}.data-status>span{flex:1;min-width:180px}.data-status[role=alert]{color:var(--white)}.match-filters{grid-template-columns:minmax(200px,2fr) repeat(4,minmax(120px,1fr)) auto;align-items:end;gap:12px;margin:18px 0;display:grid}@media (max-width:1100px){.match-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:600px){.match-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.match-filters>.field:first-child{grid-column:1/-1}}.bracket-nav{flex-wrap:wrap;gap:8px;margin:12px 0 18px;display:flex}.standings-legend{color:var(--smoke);margin-top:18px;font-size:13px;line-height:1.7}.standings-legend details{margin-top:12px}.standings-legend summary{cursor:pointer;color:var(--white-soft);font-weight:600}.standings-legend details p{max-width:80ch;margin-top:10px}.tournament-expiry-note{color:var(--smoke);align-items:flex-start;gap:9px;margin:14px 0 22px;font-size:13px;line-height:1.6;display:flex}.tournament-expiry-note svg{flex-shrink:0;margin-top:3px}.modal{scrollbar-color:var(--metal-2) var(--graphite);scrollbar-width:thin}.playoff-prepare{gap:12px;margin-bottom:24px;display:grid}.playoff-prepare .btn{justify-self:start}.bracket-direct{border:var(--bd);background:var(--graphite);border-radius:14px;gap:8px;padding:18px;display:grid}.bracket-direct span{color:var(--smoke);font-size:13px}.bracket-match>.btn{margin:8px 12px 12px}.bracket-player-names .bracket-seed-label{white-space:normal;overflow-wrap:anywhere}
