:root{--bg:#f5f7f4;--surface:#ffffff;--surface-muted:#eef3ee;--text:#18201c;--muted:#65746b;--line:#dbe3dc;--green:#256d48;--green-dark:#184a33;--green-soft:#dff1e6;--clay:#c55a31;--clay-soft:#ffe8dd;--blue:#2364aa;--blue-soft:#e3efff;--amber:#a65f00;--amber-soft:#fff0d6;--danger:#b3261e;--danger-soft:#fde7e4;--shadow:0 18px 45px rgba(23,35,28,0.08)}*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{margin:0;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(220px,auto) 1fr auto;grid-gap:20px;gap:20px;align-items:center;padding:14px clamp(16px,4vw,48px);border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:inline-flex;gap:10px;font-weight:800}.brand-mark{display:inline-grid;width:40px;height:40px;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:.9rem}.main-nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.ghost-button,.main-nav a{min-height:40px;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius);color:var(--muted);background:transparent}.ghost-button:hover,.main-nav a:hover{border-color:var(--line);color:var(--text);background:var(--surface-muted)}.auth-area{position:relative;display:flex;justify-content:flex-end}.user-chip{display:flex;gap:10px;align-items:center}.user-chip span{display:grid;min-width:0;font-weight:700}.user-chip small{color:var(--muted);font-size:.78rem;font-weight:600}.login-popover{position:absolute;top:52px;right:0;display:grid;width:min(340px,calc(100vw - 32px));grid-gap:12px;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.page-shell{width:min(1160px,calc(100% - 32px));margin:0 auto;padding:42px 0 64px}.wide-shell{width:min(1400px,calc(100% - 32px))}.compact-shell{width:min(680px,calc(100% - 32px))}.home-shell{padding-top:32px;padding-bottom:40px}.home-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);grid-gap:24px;gap:24px;align-items:stretch}.intro-panel{display:grid;align-content:center;min-height:440px;padding:clamp(24px,5vw,54px);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.intro-panel .eyebrow{color:rgba(31,91,59,.72);font-size:.7rem;letter-spacing:.06em}.eyebrow{margin:0 0 10px;color:var(--green);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:820px;margin-bottom:16px;font-size:clamp(2.15rem,5vw,4.5rem);line-height:.98;letter-spacing:0}h2{margin-bottom:8px;font-size:1.15rem;line-height:1.2}.intro-panel p,.lead,.section-heading p{color:var(--muted);font-size:1.05rem;line-height:1.65}.cta-row,.form-row,.row-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:12px 18px;border:1px solid transparent;border-radius:var(--radius);font-weight:800;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{background:var(--green);color:#fff;box-shadow:0 10px 24px rgba(37,109,72,.2)}.button.primary:hover:not(:disabled){background:var(--green-dark)}.button.secondary{border-color:var(--line);background:var(--surface);color:var(--text)}.button.small{min-height:40px;padding:9px 13px}.button.full{width:100%}.court-visual{position:relative;overflow:hidden;min-height:440px;border:1px solid rgba(24,74,51,.28);border-radius:var(--radius);background:linear-gradient(120deg,rgba(37,109,72,.9),rgba(24,74,51,.86)),linear-gradient(90deg,#357c50,#1f5d3c);box-shadow:var(--shadow)}.hero-photo{background:#dfe7df}.hero-photo-image{object-fit:cover;object-position:center}.court-lines{position:absolute;inset:36px;border:4px solid rgba(255,255,255,.82)}.court-lines:after,.court-lines:before{position:absolute;content:"";background:rgba(255,255,255,.82)}.court-lines:before{top:0;bottom:0;left:50%;width:4px;transform:translateX(-50%)}.court-lines:after{top:50%;right:0;left:0;height:4px;transform:translateY(-50%)}.court-lines span{position:absolute;background:rgba(255,255,255,.72)}.court-lines span:first-child,.court-lines span:nth-child(2){top:18%;bottom:18%;width:3px}.court-lines span:first-child{left:28%}.court-lines span:nth-child(2){right:28%}.court-lines span:nth-child(3),.court-lines span:nth-child(4){left:12%;right:12%;height:3px}.court-lines span:nth-child(3){top:32%}.court-lines span:nth-child(4){bottom:32%}.court-labels{position:absolute;right:24px;bottom:24px;left:auto;display:grid;grid-gap:4px;gap:4px;width:min(240px,calc(100% - 32px));padding:14px;border-radius:var(--radius);background:rgba(255,255,255,.9);box-shadow:0 14px 34px rgba(17,57,36,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.court-labels strong{font-size:1.08rem}.court-labels small{color:var(--muted);font-size:.78rem;line-height:1.3}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:18px}.empty-state,.feature-card,.list-panel,.loading-box,.notice-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.feature-card{display:flex;gap:10px;align-items:center;min-height:88px;padding:16px}.feature-card p{margin:0;color:var(--text);font-weight:700}.feature-dot{width:12px;height:12px;flex:0 0 auto;border-radius:50%;background:var(--clay)}.section-heading{margin-bottom:22px}.section-heading h1{margin-bottom:8px}.booking-layout{display:grid;grid-template-columns:310px minmax(0,1fr);grid-gap:18px;gap:18px;align-items:flex-start}.admin-form,.booking-controls{display:grid;grid-gap:16px;gap:16px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.booking-controls{position:-webkit-sticky;position:sticky;top:88px}.field-group,label{display:grid;grid-gap:7px;gap:7px;color:var(--text);font-size:.9rem;font-weight:800}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);outline:none}textarea{min-height:96px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(37,109,72,.14)}.segmented{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;padding:4px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted)}.admin-tabs button,.segmented button{min-height:40px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-weight:800}.admin-tabs button.active,.segmented button.active{background:var(--green);color:#fff}.duration-input{margin-top:4px}.field-hint{margin:0;color:var(--muted);font-size:.82rem;font-weight:700;line-height:1.4}.field-hint.error{color:var(--danger)}.booking-summary,.legend,.selected-box{display:grid;grid-gap:8px;gap:8px;padding:14px;border-radius:var(--radius);background:var(--surface-muted)}.booking-summary span,.selected-box span{color:var(--muted);font-size:.82rem;font-weight:800;text-transform:uppercase}.booking-summary p,.selected-box p{margin:0;color:var(--muted);line-height:1.45}.legend span{display:flex;gap:8px;align-items:center;color:var(--muted);font-weight:700}.legend i{width:14px;height:14px;border-radius:4px}.legend-free{border:1px solid var(--line);background:#fff}.legend-booked{background:var(--clay-soft)}.legend-blocked{background:var(--danger-soft)}.legend-own{background:var(--blue-soft)}.booking-grid-wrap{min-width:0}.day-board-shell{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.day-board-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line);background:#fff}.day-board-toolbar h2,.day-board-toolbar p{margin-bottom:4px}.day-board-toolbar p{color:var(--muted)}.day-board-scroll{overflow-x:auto}.day-board,.four-day-board{display:grid;background:var(--line)}.day-board{grid-template-columns:78px repeat(4,minmax(136px,1fr));min-width:680px}.four-day-board{min-width:1480px}.court-header-cell,.day-corner,.day-group-header,.time-cell{min-height:44px;border-right:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);background:var(--green);color:#fff}.day-group-header{display:grid;align-content:center;justify-items:center;grid-gap:2px;gap:2px;padding:8px 10px;text-align:center}.day-group-header span{color:rgba(255,255,255,.78);font-size:.78rem;font-weight:800}.board-corner{grid-row:span 2;min-height:96px}.time-cell{background:var(--green-dark)}.day-corner,.time-cell{position:-webkit-sticky;position:sticky;left:0;z-index:2;display:flex;align-items:center;justify-content:center;font-weight:800}.court-header-cell{display:grid;min-height:52px;align-content:center;grid-gap:2px;gap:2px;padding:8px 10px;text-align:center}.court-header-cell span{color:rgba(255,255,255,.78);font-size:.78rem;font-weight:700}.day-slot{display:grid;min-height:48px;align-content:center;justify-items:center;grid-gap:2px;gap:2px;padding:6px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;color:var(--text);text-align:center}.day-slot strong{font-size:.8rem}.day-slot span{font-size:.72rem;font-weight:800}.day-slot.free:hover:not(:disabled),.day-slot.selected{box-shadow:inset 0 0 0 3px var(--green)}.day-slot.selected-range{background:var(--green-soft)}.day-slot.booked{background:var(--green);color:#fff}.day-slot.blocked{background:#ead4d1;color:#791b15}.day-slot.own{background:#2364aa;color:#fff}.day-slot:disabled{opacity:1}.status-pill{display:inline-flex;min-height:28px;align-items:center;padding:5px 9px;border-radius:999px;background:var(--surface-muted);color:var(--muted);font-size:.78rem;font-weight:800}.status-pill.confirmed,.status-pill.open{background:var(--green-soft);color:var(--green-dark)}.status-pill.blocked,.status-pill.cancelled{background:var(--danger-soft);color:var(--danger)}.status-pill.pending{background:var(--amber-soft);color:var(--amber)}.empty-state,.loading-box,.notice-card{padding:24px}.notice-card{display:grid;grid-gap:12px;gap:12px;box-shadow:var(--shadow)}.notice-card.success{border-color:#b9dec7}.notice-card.warning{border-color:#f0cda0}.admin-list,.list-panel{display:grid;grid-gap:12px;gap:12px}.admin-row,.booking-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.admin-row p,.booking-row h2,.booking-row p{margin:6px 0 4px}.admin-row small,.booking-row small{color:var(--muted)}.form-error,.form-success{padding:10px 12px;border-radius:var(--radius);font-weight:700}.form-error{background:var(--danger-soft);color:var(--danger)}.form-success{background:var(--green-soft);color:var(--green-dark)}.danger{color:var(--danger)}.admin-layout{display:grid;grid-gap:18px;gap:18px}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:6px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.admin-tabs button{min-width:150px;padding:0 14px}.admin-two-column{display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:flex-start}.admin-list{padding:18px;background:var(--surface)}.admin-import-card,.admin-list,.nuliga-summary{border:1px solid var(--line);border-radius:var(--radius)}.admin-import-card,.nuliga-summary{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px;background:#f8fbf8}.admin-import-card h3{margin:2px 0 6px}.admin-import-card p,.nuliga-summary small{margin:0;color:var(--muted)}.nuliga-summary{display:grid;align-items:start}.team-summary-grid{display:flex;flex-wrap:wrap;gap:8px}.match-note,.stacked-note,.team-summary-grid span{display:block}.team-summary-grid span{padding:6px 10px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-size:.86rem}.match-note{margin-top:4px;color:var(--green-dark)!important}.admin-filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:12px;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfb}.admin-actions-bar,.detail-panel-actions,.detail-panel-header,.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.csv-preview{grid-gap:10px;gap:10px;background:#fffdf7}.csv-preview,.team-roster-panel{display:grid;padding:14px;border:1px solid var(--line);border-radius:var(--radius)}.team-roster-panel{grid-gap:12px;gap:12px;background:#fbfcfb}.detail-tabs,.team-chip-row{display:flex;flex-wrap:wrap;gap:8px}.detail-tabs button,.team-chip{min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--green-dark);font-weight:800}.detail-tabs button.active,.team-chip.active{border-color:var(--green-dark);background:var(--green-dark);color:white}.match-table,.team-player-table{display:grid;grid-gap:6px;gap:6px;overflow-x:auto}.match-table-head,.match-table-row{display:grid;grid-template-columns:130px 82px minmax(130px,1fr) minmax(150px,1.2fr) 100px 130px minmax(150px,1fr);grid-gap:8px;gap:8px;align-items:center;min-width:920px}.match-table-head{color:var(--muted);font-size:.78rem;font-weight:800}.match-table-row{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:.86rem}.team-player-head,.team-player-row{display:grid;grid-template-columns:54px minmax(160px,1.4fr) 76px 88px 130px 120px minmax(160px,1fr) 56px minmax(150px,1fr);grid-gap:8px;gap:8px;align-items:center;min-width:1040px}.team-player-head{color:var(--muted);font-size:.78rem;font-weight:800}.team-player-row{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:.86rem}.member-table{display:grid;grid-gap:8px;gap:8px}.registered-users-heading{margin-top:8px}.member-table-head,.member-table-row{display:grid;grid-template-columns:minmax(160px,1.4fr) minmax(120px,.85fr) minmax(92px,.7fr) minmax(145px,1fr) minmax(130px,.9fr) minmax(145px,1fr) minmax(118px,.85fr) 76px minmax(110px,.8fr) minmax(142px,.9fr);grid-gap:8px;gap:8px;align-items:center}.member-table-head{padding:0 12px;color:var(--muted);font-size:.8rem;font-weight:800}.member-table-row{padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.member-table-row small{display:block;margin-top:3px;color:var(--muted)}.member-name-cell strong{display:block;line-height:1.2}.status-badge{width:-moz-fit-content;width:fit-content;max-width:100%;padding:4px 8px;border-radius:999px;background:#eef0ef;color:var(--muted);font-size:.74rem;font-weight:800;line-height:1.25}.status-badge small{margin:1px 0 0;font-weight:700}.status-badge.linked,.status-badge.member,.status-badge.verified{background:var(--green-soft);color:var(--green-dark)}.status-badge.pending{background:#fff3d8;color:#87540d}.status-badge.rejected{background:var(--danger-soft);color:var(--danger)}.status-badge.block-needs-review,.status-badge.block-proposed{background:#fff3d8;color:#87540d}.status-badge.block-created{background:var(--green-soft);color:var(--green-dark)}.status-badge.block-none,.status-badge.block-skipped{background:#eef0ef;color:var(--muted)}.compact-actions{display:flex;flex-wrap:wrap;gap:5px}.quiet-actions{justify-content:flex-end}.table-action-button{min-height:30px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#f8faf8;color:var(--green-dark);font-size:.78rem;font-weight:800}.table-action-button.primary{border-color:var(--green-dark);background:var(--green-dark);color:white}.chip-list{display:flex;flex-wrap:wrap;gap:4px}.mini-chip{display:inline-flex;align-items:center;min-height:24px;padding:2px 7px;border-radius:999px;background:#eef0ef;color:var(--muted);font-size:.72rem;font-weight:800}.mini-chip.team{background:#e7f0fb;color:#245078}.mini-chip.pending{background:#fff3d8;color:#87540d}.mini-chip.neutral{background:#eef0ef}.admin-modal-backdrop{position:fixed;inset:0;z-index:9999;display:flex;justify-content:flex-end;padding:18px;background:rgb(13 24 20/.45)}.member-detail-panel{display:grid;grid-gap:14px;gap:14px;width:min(760px,100%);max-height:calc(100dvh - 36px);overflow-y:auto;padding:20px;border-radius:18px;background:var(--surface);box-shadow:var(--shadow-strong)}.linked-player-list{display:grid;grid-gap:8px;gap:8px}.linked-player-card{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.possible-match-box{display:grid;grid-gap:8px;gap:8px;padding:10px;border:1px solid #f0cda0;border-radius:10px;background:#fffdf7}.detail-section{display:grid;grid-gap:10px;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfb}.detail-section h3{margin:0}.member-meta-grid{display:grid;grid-gap:4px;gap:4px;margin-top:10px}.contract-badge{width:-moz-fit-content;width:fit-content;padding:4px 9px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-size:.78rem;font-weight:800}.contract-none{background:#eef0ef;color:var(--muted)}.contract-season-card{background:#fff3d8;color:#87540d}.member-actions{align-items:stretch;max-width:760px}.member-actions input,.member-actions select{min-width:148px}.settings-form{max-width:860px}.form-row>label{flex:1 1 180px}.span-two{grid-column:1/-1}.toggle-line{display:flex;grid-template-columns:none;gap:8px;align-items:center}.toggle-line input{width:auto;min-height:auto}.site-footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:24px clamp(16px,4vw,48px);border-top:1px solid var(--line);color:var(--muted);background:#fff}.site-footer div{display:grid;grid-gap:3px;gap:3px}.site-footer a{color:var(--green);font-weight:800}@media (max-width:1040px){.site-header{grid-template-columns:1fr}.auth-area,.main-nav{justify-content:flex-start}.admin-two-column,.booking-layout,.home-grid{grid-template-columns:1fr}.booking-controls{position:static}.feature-grid{grid-template-columns:1fr}}.calendar-cell.zone-early{background:#fffdf2}.calendar-cell.zone-normal{background:rgba(255,255,255,.96)}.calendar-cell.zone-prime{background:#fff5f2}.calendar-cell.zone-late{background:#fffdf2}.mobile-day-toolbar{max-width:100%}.mobile-grid-wrap{padding:10px}.mobile-grid-cell.zone-early{background:#fffdf2}.mobile-grid-cell.zone-prime{background:#fff5f2}.mobile-grid-cell.zone-late{background:#fffdf2}.mobile-grid-cell.disabled{cursor:default}@media (max-width:720px){.booking-experience{display:block}.booking-summary-card,.desktop-calendar-toolbar,.desktop-legend,.desktop-only,.desktop-schedule{display:none}.mobile-only{display:inline}.mobile-day-toolbar{display:grid;grid-template-columns:38px minmax(0,1fr) 38px auto;grid-gap:6px;gap:6px;align-items:stretch;margin-bottom:10px}.mobile-day-toolbar .date-jump,.today-button{width:auto;min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--anthracite);font-weight:750}.mobile-day-toolbar .date-jump{padding:0;font-size:1.35rem}.mobile-date-chip{display:grid;min-width:0;align-content:center;justify-items:center;padding:4px 8px;border:1px solid rgba(31,91,59,.14);border-radius:8px;background:var(--green);color:#fff}.mobile-date-chip span{font-size:.68rem;opacity:.82}.mobile-date-chip strong{overflow:hidden;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.mobile-duration-panel{display:grid;grid-gap:6px;gap:6px;margin-bottom:10px;padding:10px;border:1px solid rgba(31,91,59,.12);border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(31,91,59,.08)}.mobile-duration-panel .duration-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.mobile-duration-panel .duration-presets button{min-height:38px;padding:6px 4px;font-size:.78rem;font-weight:700}.mobile-duration-panel .duration-input input{min-height:38px;padding:8px 10px}.mobile-message{display:block;margin-bottom:10px}.schedule-header{gap:7px;padding:12px}.schedule-header h2{font-size:1.1rem}.mobile-grid-wrap{display:block}.mobile-legend{display:grid;grid-gap:6px;gap:6px}.mobile-legend summary{width:max-content;color:var(--green);cursor:pointer;font-size:.78rem;font-weight:700}.mobile-legend .schedule-legend{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;gap:6px;scrollbar-width:none}.mobile-legend .schedule-legend::-webkit-scrollbar{display:none}.mobile-legend .schedule-legend span{flex:0 0 auto;min-height:24px;padding:4px 7px;font-size:.67rem;font-weight:700}.mobile-booking-bar{display:flex}}@media (max-width:620px){.page-shell{width:min(100% - 20px,1160px);padding-top:24px}.court-visual,.intro-panel{min-height:330px}h1{font-size:2.15rem;line-height:1.05}.admin-row,.booking-row,.user-chip{align-items:stretch;flex-direction:column}.cta-row,.row-actions{width:100%}.cta-row>*,.row-actions>*{flex:1 1 auto}.admin-tabs button{flex:1 1 100%}.member-table-head{display:none}.member-table-row{grid-template-columns:1fr}.admin-modal-backdrop{padding:0}.member-detail-panel{min-height:100dvh;max-height:100dvh;border-radius:0;padding:calc(env(safe-area-inset-top) + 16px) 14px calc(env(safe-area-inset-bottom) + 16px)}}@media (max-width:720px){.home-shell{padding-top:12px;padding-bottom:28px}.home-grid{gap:12px}.intro-panel{min-height:auto;padding:20px}.intro-panel .eyebrow{display:none}.intro-panel h1{margin-bottom:10px;font-size:clamp(2rem,11vw,2.7rem)}.intro-panel .lead{margin-bottom:18px;font-size:.98rem;line-height:1.5}.home-shell .cta-row{gap:8px}.home-shell .cta-row .button{min-height:44px;padding:10px 12px}.court-visual.hero-photo{min-height:230px;aspect-ratio:16/10}.court-labels{right:12px;bottom:12px;width:min(205px,calc(100% - 24px));padding:10px 12px}.court-labels strong{font-size:.95rem}.court-labels small{font-size:.7rem}}:root{--bg:#f4f6f2;--surface-muted:#f0f4ee;--text:#1f2421;--muted:#68736b;--line:#e1e8df;--green:#1f5b3b;--green-dark:#113924;--green-soft:#dfeee4;--anthracite:#242a27;--shadow:0 18px 50px rgba(17,57,36,0.12);--radius:8px}body,html{overflow-x:hidden}body{font-family:Avenir Next,Segoe UI,sans-serif}.brand{align-items:center}.brand>span:last-child{display:grid;grid-gap:2px;gap:2px;line-height:1.1}.brand small{color:var(--muted);font-size:.73rem;font-weight:700}.page-shell{width:min(1420px,calc(100% - 32px))}.booking-experience{display:grid;grid-template-columns:minmax(292px,340px) minmax(0,1fr);grid-gap:22px;gap:22px;align-items:flex-start}.booking-summary-card{position:-webkit-sticky;position:sticky;top:88px;display:grid;grid-gap:16px;gap:16px;padding:22px;border:1px solid rgba(31,91,59,.12);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,252,249,.98)),#fff;box-shadow:var(--shadow)}.summary-kicker{color:var(--green);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.booking-summary-card h2{margin:0;color:var(--anthracite);font-size:1.45rem}.summary-section{display:grid;grid-gap:4px;gap:4px;padding:14px;border-radius:10px;background:var(--surface-muted)}.summary-list dt,.summary-section span{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.summary-section strong{font-size:1rem}.duration-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.date-jump,.date-tabs button,.duration-presets button{min-height:46px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--anthracite);font-weight:900}.date-tabs button.active,.duration-presets button.active{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 10px 24px rgba(31,91,59,.18)}.compact-label{color:var(--muted);font-size:.84rem}.summary-list{display:grid;grid-gap:10px;gap:10px;margin:0}.summary-list div{display:flex;gap:12px;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--line)}.summary-list div:last-child{padding-bottom:0;border-bottom:0}.summary-date-row{display:none}.summary-list dd{margin:0;color:var(--anthracite);font-weight:900;text-align:right}.booking-summary-card .button:disabled{background:#d7ded8;color:#7d8880;box-shadow:none}.booking-picker{min-width:0}.mobile-booking-bar,.mobile-label,.mobile-only{display:none}.picker-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;margin-bottom:16px}.date-jump{padding:0 16px}.date-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;min-width:0}.date-tabs button{display:grid;grid-gap:2px;gap:2px;align-content:center;padding:8px 10px}.date-tabs span{color:inherit;font-size:.8rem;opacity:.78}.date-tabs strong{font-size:1rem}.schedule-shell{overflow:hidden;border:1px solid rgba(31,91,59,.12);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.schedule-header{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}.schedule-header h2{margin:0;color:var(--anthracite);font-size:1.35rem}.schedule-legend{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.mobile-legend{display:none}.schedule-legend span{display:inline-flex;min-height:30px;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:var(--surface-muted);color:var(--muted);font-size:.78rem;font-weight:900}.legend-token:before{width:10px;height:10px;border-radius:999px;content:""}.legend-token.free:before{border:1px solid #b8cabd;background:#fff}.legend-token.booked:before{background:#c94536}.legend-token.blocked:before{background:#d9822b}.legend-token.own:before{background:#8d9590}.legend-token.selected:before{background:var(--green-dark)}.desktop-schedule{display:block;min-width:0;background:linear-gradient(90deg,rgba(31,91,59,.025) 1px,transparent 0),linear-gradient(0deg,rgba(197,90,49,.04) 1px,transparent 0),#f8faf7;background-size:56px 56px}.schedule-scroll{max-width:100%;max-height:min(78vh,780px);overflow:auto;overscroll-behavior-x:contain}.multi-day-schedule{position:relative;display:grid;min-width:1180px;grid-auto-rows:34px;background:linear-gradient(90deg,rgba(31,91,59,.035) 1px,transparent 0),linear-gradient(0deg,rgba(197,90,49,.045) 1px,transparent 0),#f8faf7;background-size:72px 34px}.court-mini-title,.day-group-label,.schedule-corner,.time-cell-sticky{color:var(--anthracite);font-weight:900}.schedule-corner{position:-webkit-sticky;position:sticky;top:0;left:0;z-index:8;display:grid;grid-column:1;grid-row:1/span 2;min-height:68px;place-items:center;border-right:1px solid rgba(31,91,59,.18);border-bottom:1px solid rgba(31,91,59,.18);background:#f4f8f3;color:var(--green-dark)}.day-group-label{position:-webkit-sticky;position:sticky;top:0;z-index:6;display:flex;min-width:0;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border-right:1px solid rgba(31,91,59,.16);border-bottom:1px solid rgba(31,91,59,.16);background:var(--green);color:#fff;text-align:center}.day-group-label span{font-size:.76rem;opacity:.82;text-transform:uppercase}.day-group-label strong{font-size:.92rem}.court-mini-title{position:-webkit-sticky;position:sticky;top:34px;z-index:5;display:grid;min-width:0;align-content:center;justify-items:center;grid-gap:1px;gap:1px;padding:5px 4px;border-right:1px solid rgba(31,91,59,.1);border-bottom:1px solid rgba(31,91,59,.14);background:#fbfdfb;text-align:center}.court-mini-title strong{display:grid;width:28px;height:28px;place-items:center;border-radius:999px;background:#edf5ef;color:var(--green-dark);font-size:.92rem}.court-mini-title span{max-width:100%;overflow:hidden;color:var(--muted);font-size:.66rem;font-weight:900;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.time-cell-sticky{position:-webkit-sticky;position:sticky;left:0;z-index:4;display:flex;min-height:34px;align-items:flex-start;justify-content:center;padding-top:4px;border-right:1px solid rgba(31,91,59,.16);border-bottom:1px solid rgba(31,91,59,.08);background:rgba(250,253,250,.97);box-shadow:8px 0 18px rgba(31,91,59,.06);color:var(--muted);font-size:.78rem}.calendar-cell{z-index:1;min-height:34px;padding:0 3px;border:0;border-right:1px solid rgba(31,91,59,.07);border-bottom:1px solid rgba(31,91,59,.06);background:rgba(255,255,255,.94);color:var(--green-dark);font-size:.66rem;font-weight:900;text-align:center}.calendar-cell span{display:inline-flex;max-width:100%;min-height:20px;align-items:center;justify-content:center;padding:2px 5px;overflow:hidden;border-radius:999px;opacity:0;text-overflow:ellipsis;white-space:nowrap}.calendar-cell.free span{color:rgba(17,57,36,.62);opacity:.58}.calendar-cell.clickable:focus-visible,.calendar-cell.clickable:hover{outline:0;background:rgba(223,238,228,.82);box-shadow:inset 0 0 0 2px var(--green)}.calendar-cell.clickable:focus-visible span,.calendar-cell.clickable:hover span{opacity:1}.calendar-cell.selected{z-index:3;background:var(--green-dark);color:#fff;box-shadow:inset 0 0 0 2px #fff}.calendar-cell.selected span{color:#fff;opacity:1}.calendar-cell.blocked,.calendar-cell.booked,.calendar-cell.own{background:transparent}.calendar-cell.disabled{cursor:default}.booking-bar{z-index:2;display:grid;align-content:center;grid-gap:2px;gap:2px;margin:4px 8px;padding:8px 10px;border-radius:10px;color:#fff;overflow:hidden;pointer-events:none;box-shadow:0 10px 24px rgba(31,91,59,.18)}.booking-bar span,.booking-bar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-bar strong{font-size:.82rem}.booking-bar span{font-size:.72rem;opacity:.86}.booking-bar.booked{background:#c94536}.booking-bar.blocked{background:#d9822b}.booking-bar.own{background:#8d9590}.mobile-slots{display:none}@media (max-width:1040px){.booking-experience{grid-template-columns:1fr}.booking-summary-card{position:static}}@media (max-width:720px){.page-shell,body,html{max-width:100%;overflow-x:hidden}.page-shell{width:100%;padding:18px 10px 88px}.site-header{position:static;max-width:100%;padding:12px 14px;overflow-x:hidden}.section-heading{margin-bottom:12px}.section-heading h1{margin-bottom:6px;font-size:2rem}.section-heading p:not(.eyebrow){margin-bottom:0;font-size:.96rem;line-height:1.45}.booking-experience,.booking-picker,.mobile-court-card,.mobile-slots,.schedule-shell{max-width:100%;min-width:0;overflow-x:hidden}.booking-experience{gap:12px}.booking-summary-card{gap:10px;padding:12px;border-radius:12px;box-shadow:0 12px 28px rgba(17,57,36,.09)}.summary-kicker,.summary-membership-row,.summary-section{display:none!important}.booking-summary-card h2{font-size:1.05rem}.field-group{gap:6px;font-size:.82rem;font-weight:700}.duration-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.date-tabs button,.duration-presets button{min-height:40px;border-radius:8px;font-size:.82rem;font-weight:700}.duration-presets button{padding:7px 4px}.duration-input{margin-top:0}.compact-label{font-size:.78rem;font-weight:700}.duration-input input{min-height:38px;padding:8px 10px}.field-hint{font-size:.76rem}.summary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px}.summary-date-row,.summary-list div,.summary-list div:last-child{display:grid;grid-gap:2px;gap:2px;align-items:flex-start;justify-content:flex-start;padding:0;border-bottom:0}.summary-list dt{font-size:.68rem;font-weight:700}.summary-list dd{font-size:.9rem;font-weight:700;text-align:left}.booking-summary-card>.button.full{display:none}.picker-toolbar{grid-template-columns:38px minmax(0,1fr) 38px;gap:6px;max-width:100%;margin-bottom:10px}.date-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:100%;overflow-x:hidden;grid-gap:6px;gap:6px;padding-bottom:0;overscroll-behavior-x:contain;scrollbar-width:none}.date-tabs::-webkit-scrollbar,.schedule-legend::-webkit-scrollbar{display:none}.date-tabs button{min-width:0;padding:6px 4px}.date-tabs span{font-size:.68rem}.date-tabs strong{font-size:.78rem}.date-jump{width:38px;min-height:40px;padding:0;border-radius:8px}.desktop-label,.desktop-only{display:none}.mobile-label,.mobile-only{display:inline}.mobile-label{font-size:1.5rem;line-height:1}.schedule-header{display:grid;grid-gap:8px;gap:8px;padding:12px}.schedule-header h2{font-size:1.05rem;line-height:1.25}.desktop-legend{display:none}.mobile-legend{display:grid;grid-gap:7px;gap:7px}.mobile-legend summary{width:max-content;color:var(--green);cursor:pointer;font-size:.78rem;font-weight:700}.mobile-legend .schedule-legend{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;gap:6px;padding-bottom:1px;overscroll-behavior-x:contain;scrollbar-width:none}.schedule-legend span{flex:0 0 auto;min-height:24px;gap:5px;padding:4px 7px;font-size:.67rem;font-weight:700}.legend-token:before{width:8px;height:8px}.desktop-schedule{display:none}.mobile-slots{padding:10px}.mobile-court-card,.mobile-slots{display:grid;grid-gap:10px;gap:10px}.mobile-court-card{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfdfb}.mobile-court-card h3,.mobile-court-card p{margin:0}.mobile-court-card h3{font-size:.98rem;font-weight:700}.mobile-court-card p{color:var(--muted);font-size:.78rem;font-weight:600}.mobile-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.mobile-slot-card{display:grid;min-height:62px;align-content:center;grid-gap:4px;gap:4px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--anthracite);text-align:left}.mobile-slot-card strong{font-size:.98rem;font-weight:700}.mobile-slot-card span{color:var(--muted);font-size:.78rem;font-weight:650}.mobile-slot-card.free:hover,.mobile-slot-card.selected{border-color:var(--green);background:var(--green-dark);color:#fff;box-shadow:inset 0 0 0 2px var(--green)}.mobile-slot-card.free:hover span,.mobile-slot-card.selected span{color:#fff}.mobile-slot-card.booked{border-color:#f0c4bf;background:#fdecea;color:#8f241b}.mobile-slot-card.blocked{border-color:#f1cfad;background:#fff2df;color:#8b4b11}.mobile-slot-card.own{border-color:#d5dcd8;background:#eef1ee;color:#626c66}.mobile-slot-card.blocked span,.mobile-slot-card.booked span,.mobile-slot-card.own span{color:inherit}.mobile-booking-bar{position:fixed;right:10px;bottom:max(10px,env(safe-area-inset-bottom));left:10px;z-index:30;display:flex;gap:10px;align-items:center;justify-content:space-between;max-width:calc(100% - 20px);padding:10px;border:1px solid rgba(31,91,59,.18);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 18px 42px rgba(17,57,36,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-booking-bar div{display:grid;min-width:0;grid-gap:2px;gap:2px}.mobile-booking-bar span,.mobile-booking-bar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-booking-bar strong{font-size:.86rem;font-weight:750}.mobile-booking-bar span{color:var(--muted);font-size:.76rem;font-weight:650}.mobile-booking-bar .button{flex:0 0 auto;min-height:42px;max-width:154px;padding:9px 12px;font-size:.78rem;line-height:1.15}}.desktop-calendar-toolbar{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:16px}.desktop-navigation{display:grid;grid-template-columns:auto minmax(220px,auto) auto;grid-gap:10px;gap:10px;align-items:center}.period-chip{display:grid;min-height:46px;align-content:center;padding:0 16px;border:1px solid rgba(31,91,59,.12);border-radius:10px;background:#fff;color:var(--anthracite);font-weight:800;text-align:center;box-shadow:0 10px 24px rgba(31,91,59,.06)}.view-switcher{display:inline-flex;gap:6px;align-items:center;padding:5px;border:1px solid var(--line);border-radius:10px;background:#fff}.view-switcher span{padding:0 8px;color:var(--muted);font-size:.82rem;font-weight:800}.view-switcher button{min-height:36px;padding:7px 11px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-weight:800}.view-switcher button.active{background:var(--green);color:#fff;box-shadow:0 8px 20px rgba(31,91,59,.18)}.mobile-day-toolbar,.mobile-duration-panel,.mobile-grid-wrap,.mobile-message{display:none}.multi-day-schedule{grid-auto-rows:38px}.schedule-scroll{max-height:min(76vh,820px)}.day-group-label{border-left:2px solid rgba(17,57,36,.32);background:linear-gradient(180deg,rgba(255,255,255,.08),transparent),var(--green)}.day-group-label.is-today{background:linear-gradient(180deg,rgba(255,255,255,.16),transparent),var(--green-dark)}.day-group-label.is-weekend:not(.is-today){background:linear-gradient(180deg,rgba(255,255,255,.1),transparent),#286646}.single-day-view .day-group-label,.single-day-view .day-start{border-left-width:1px}.booking-bar.day-start,.calendar-cell.day-start,.court-mini-title.day-start{border-left:2px solid rgba(17,57,36,.34)}.booking-bar.day-end,.calendar-cell.day-end,.court-mini-title.day-end{border-right:2px solid rgba(17,57,36,.24)}.court-mini-title.is-today strong{background:var(--green-dark);color:#fff}.calendar-cell{font-weight:650}.calendar-cell.zone-early,.calendar-cell.zone-late,.mobile-grid-cell.zone-early,.mobile-grid-cell.zone-late{background:#fffdf2}.calendar-cell.zone-prime,.mobile-grid-cell.zone-prime{background:#fff5f2}.calendar-cell.free{cursor:pointer}.calendar-cell.unavailable.free{cursor:help}.calendar-cell.clickable:focus-visible,.calendar-cell.clickable:hover,.mobile-grid-cell.free:focus-visible,.mobile-grid-cell.free:hover{background:var(--green-soft);box-shadow:inset 0 0 0 2px var(--green)}.calendar-cell.selected,.mobile-grid-cell.selected{background:var(--green-dark);color:#fff;box-shadow:inset 0 0 0 2px #fff}.booking-bar{border:0;cursor:help;pointer-events:auto;text-align:left}.booking-bar:disabled{cursor:default;opacity:1}.booking-bar.selected{background:var(--green-dark)}.booking-bar.subscription,.mobile-booking-block.subscription{background:#2364aa}.mobile-day-grid{position:relative;display:grid;max-width:100%;grid-auto-rows:40px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#f8faf7}.mobile-court-head,.mobile-grid-corner,.mobile-time-cell{background:#fbfdfb;color:var(--muted);font-size:.72rem;font-weight:750}.mobile-grid-corner,.mobile-time-cell{position:-webkit-sticky;position:sticky;left:0;z-index:5;display:grid;place-items:center;border-right:1px solid rgba(31,91,59,.14)}.mobile-court-head{position:-webkit-sticky;position:sticky;top:0;z-index:4;display:grid;align-content:center;justify-items:center;grid-gap:1px;gap:1px;border-bottom:1px solid var(--line);border-left:1px solid rgba(31,91,59,.08)}.mobile-court-head strong{display:grid;width:24px;height:24px;place-items:center;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-size:.82rem}.mobile-court-head span{font-size:.55rem;text-transform:uppercase}.mobile-time-cell{border-bottom:1px solid rgba(31,91,59,.08)}.mobile-grid-cell{z-index:1;min-width:0;min-height:40px;padding:0 2px;border:0;border-left:1px solid rgba(31,91,59,.06);border-bottom:1px solid rgba(31,91,59,.06);background:#fff;color:var(--green-dark);font-size:.58rem;font-weight:650}.mobile-grid-cell span{opacity:.62}.mobile-booking-block{z-index:3;display:grid;min-width:0;align-content:center;grid-gap:1px;gap:1px;margin:3px;padding:5px;overflow:hidden;border:0;border-radius:7px;color:#fff;cursor:help;text-align:left;box-shadow:0 8px 18px rgba(31,91,59,.14)}.mobile-booking-block:disabled{cursor:default;opacity:1}.mobile-booking-block span,.mobile-booking-block strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-booking-block strong{font-size:.62rem;font-weight:750}.mobile-booking-block span{font-size:.56rem;opacity:.88}.mobile-booking-block.booked{background:#c94536}.mobile-booking-block.blocked{background:#d9822b}.mobile-booking-block.own{background:#8d9590}.mobile-booking-block.selected{background:var(--green-dark)}@media (max-width:720px){.booking-experience{display:block}.booking-summary-card,.desktop-calendar-toolbar,.desktop-legend,.desktop-only,.desktop-schedule,.mobile-slots{display:none!important}.mobile-only{display:inline}.mobile-day-toolbar{display:grid;grid-template-columns:38px minmax(0,1fr) 38px auto;grid-gap:6px;gap:6px;align-items:stretch;margin-bottom:10px}.mobile-day-toolbar .date-jump,.today-button{width:auto;min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--anthracite);font-weight:750}.mobile-day-toolbar .date-jump{padding:0;font-size:1.35rem}.mobile-date-chip{display:grid;min-width:0;align-content:center;justify-items:center;padding:4px 8px;border:1px solid rgba(31,91,59,.14);border-radius:8px;background:var(--green);color:#fff}.mobile-date-chip span{font-size:.68rem;opacity:.82}.mobile-date-chip strong{overflow:hidden;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.mobile-duration-panel{display:grid;grid-gap:6px;gap:6px;margin-bottom:10px;padding:10px;border:1px solid rgba(31,91,59,.12);border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(31,91,59,.08)}.mobile-duration-panel .duration-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.mobile-duration-panel .duration-presets button{min-height:38px;padding:6px 4px;font-size:.78rem;font-weight:700}.mobile-duration-panel .duration-input input{min-height:38px;padding:8px 10px}.mobile-message{display:block;margin-bottom:10px}.schedule-header{gap:7px;padding:12px}.schedule-header h2{font-size:1.1rem}.mobile-grid-wrap{display:block;padding:10px}.mobile-legend{display:grid;grid-gap:6px;gap:6px}.mobile-legend summary{width:max-content;color:var(--green);cursor:pointer;font-size:.78rem;font-weight:700}.mobile-legend .schedule-legend{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;gap:6px;scrollbar-width:none}.mobile-legend .schedule-legend::-webkit-scrollbar{display:none}.mobile-legend .schedule-legend span{flex:0 0 auto;min-height:24px;padding:4px 7px;font-size:.67rem;font-weight:700}.mobile-booking-bar{display:flex}}@media (min-width:721px){.desktop-calendar-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;margin-bottom:8px;padding:10px 12px;border:1px solid rgba(31,91,59,.12);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 12px 28px rgba(17,57,36,.08)}.desktop-navigation{display:grid;grid-template-columns:auto minmax(210px,max-content) auto;grid-gap:8px;gap:8px;align-items:center;justify-self:start;min-width:0}.desktop-navigation .date-jump{min-height:38px;padding:0 14px;border-radius:9px}.period-chip{min-height:38px;padding:0 14px;border-color:rgba(31,91,59,.14);border-radius:9px;background:#f7faf7;box-shadow:none;color:var(--green-dark);font-size:.88rem;font-weight:780;white-space:nowrap}.view-switcher{justify-self:end;gap:2px;padding:4px;border-color:rgba(31,91,59,.14);border-radius:999px;background:#edf4ef}.view-switcher span{padding:0 9px 0 7px;color:var(--muted);font-size:.8rem;font-weight:760;white-space:nowrap}.view-switcher button{min-height:34px;padding:7px 13px;border-radius:999px;color:var(--anthracite);font-size:.82rem;font-weight:760}.view-switcher button.active{background:var(--green-dark);color:#fff;box-shadow:0 9px 18px rgba(17,57,36,.18)}.booking-picker .schedule-shell{margin-top:0}.schedule-header{align-items:center;padding:13px 16px 10px}.schedule-header h2{color:var(--green-dark);font-size:.92rem;font-weight:820;letter-spacing:.06em;text-transform:uppercase}.desktop-schedule{min-width:0}.schedule-scroll{max-width:100%;overflow-x:auto;overflow-y:auto}.multi-day-schedule{width:100%}.multi-day-schedule.view-week{min-width:100%!important;grid-auto-rows:28px;background-size:32px 28px}.view-week .schedule-corner{min-height:56px;font-size:.68rem}.view-week .day-group-label{flex-direction:column;gap:0;padding:3px 2px;border-left-width:2px}.view-week .day-group-label span{font-size:.56rem;letter-spacing:.04em}.view-week .day-group-label strong{font-size:.7rem}.view-week .court-mini-title{top:28px;min-height:28px;gap:0;padding:1px}.view-week .court-mini-title strong{width:20px;height:20px;font-size:.68rem}.view-week .court-mini-title span{display:none}.view-week .time-cell-sticky{min-height:28px;padding-top:3px;font-size:.66rem}.view-week .calendar-cell{min-height:28px;padding:0;font-size:0}.view-week .calendar-cell span{display:none}.view-week .calendar-cell.clickable:focus-visible,.view-week .calendar-cell.clickable:hover{background:rgba(223,238,228,.92);box-shadow:inset 0 0 0 2px var(--green)}.view-week .booking-bar{justify-items:center;margin:2px;padding:2px 3px;border-radius:6px;text-align:center;box-shadow:0 4px 10px rgba(31,91,59,.12)}.view-week .booking-bar strong{max-width:100%;font-size:.53rem;font-weight:740}.view-week .booking-bar span{display:none}.multi-day-schedule.view-two-days{grid-auto-rows:34px}.view-two-days .booking-bar{margin:3px 5px;padding:5px 6px;border-radius:8px}.view-two-days .booking-bar strong{font-size:.72rem}.view-two-days .booking-bar span{font-size:.62rem}.multi-day-schedule.view-day{grid-auto-rows:40px}.view-day .schedule-corner{min-height:80px}.view-day .court-mini-title{top:40px;min-height:40px}.view-day .calendar-cell{min-height:40px}.view-day .booking-bar{margin:5px 8px;padding:9px 10px}}@media (min-width:721px) and (max-width:980px){.desktop-calendar-toolbar{grid-template-columns:1fr}.desktop-navigation,.view-switcher{justify-self:start;max-width:100%}.desktop-navigation{grid-template-columns:auto minmax(0,1fr) auto;width:100%}.period-chip{min-width:0;overflow:hidden;text-overflow:ellipsis}}.date-picker-anchor{position:relative;min-width:0}.date-picker-trigger{cursor:pointer;font:inherit}.period-chip.date-picker-trigger{grid-template-columns:auto minmax(0,1fr);gap:8px;width:100%;border:1px solid rgba(31,91,59,.14)}.period-chip.date-picker-trigger:focus-visible,.period-chip.date-picker-trigger:hover{border-color:rgba(31,91,59,.42);background:#eef6f0;outline:0}.calendar-trigger-icon{position:relative;display:inline-block;width:15px;height:15px;flex:0 0 auto;border:1.7px solid;border-radius:4px;opacity:.82}.calendar-trigger-icon:before{position:absolute;top:3px;right:0;left:0;height:1.7px;background:currentColor;content:""}.calendar-trigger-icon:after{position:absolute;top:-3px;left:3px;width:7px;height:4px;border-right:1.7px solid;border-left:1.7px solid;content:""}.date-picker-popover{position:absolute;top:calc(100% + 8px);left:50%;z-index:90;width:min(320px,calc(100vw - 32px));padding:12px;border:1px solid rgba(31,91,59,.13);border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 22px 50px rgba(17,57,36,.2);transform:translateX(-50%)}.desktop-calendar-toolbar,.desktop-navigation{overflow:visible}.date-picker-calendar{display:grid;grid-gap:10px;gap:10px}.date-picker-monthbar{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;grid-gap:8px;gap:8px;align-items:center}.date-picker-monthbar strong{color:var(--anthracite);font-size:.98rem;font-weight:820;text-align:center;text-transform:capitalize}.date-picker-day,.date-picker-monthbar button{border:1px solid rgba(31,91,59,.12);background:#fff;color:var(--anthracite);cursor:pointer;font:inherit}.date-picker-monthbar button{min-height:36px;border-radius:9px;color:var(--green-dark);font-size:1.15rem;font-weight:820}.date-picker-day:focus-visible,.date-picker-day:hover,.date-picker-monthbar button:focus-visible,.date-picker-monthbar button:hover{border-color:rgba(31,91,59,.34);background:var(--green-soft);outline:0}.date-picker-days,.date-picker-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:5px;gap:5px}.date-picker-weekdays span{color:var(--muted);font-size:.7rem;font-weight:760;text-align:center}.date-picker-day{display:grid;min-height:36px;place-items:center;border-radius:9px;font-size:.84rem;font-weight:760}.date-picker-day.empty{border-color:transparent;background:transparent;cursor:default}.date-picker-day.today{border-color:rgba(31,91,59,.34);background:#eef6f0}.date-picker-day.selected{box-shadow:0 10px 18px rgba(17,57,36,.18)}.mobile-calendar-sheet{display:none}@media (max-width:720px){.mobile-calendar-controls .mobile-date-chip.date-picker-trigger{display:inline-grid;grid-template-columns:auto auto;gap:7px;align-items:center;justify-content:center;border:1px solid rgba(31,91,59,.14);cursor:pointer;font:inherit}.mobile-calendar-controls .mobile-date-chip.date-picker-trigger:focus-visible{outline:2px solid rgba(31,91,59,.32);outline-offset:2px}.mobile-calendar-controls .mobile-date-chip .calendar-trigger-icon{width:14px;height:14px}.mobile-calendar-sheet{position:fixed;inset:0;z-index:120;display:block}.mobile-calendar-backdrop{position:absolute;inset:0;border:0;background:rgba(17,24,20,.38)}.mobile-calendar-panel{position:absolute;right:10px;bottom:10px;left:10px;display:grid;grid-gap:12px;gap:12px;max-height:min(86vh,560px);padding:14px;overflow:auto;border:1px solid rgba(31,91,59,.14);border-radius:18px;background:#fff;box-shadow:0 -18px 46px rgba(17,57,36,.26)}.mobile-calendar-panel-header{display:flex;gap:12px;align-items:center;justify-content:space-between}.mobile-calendar-panel-header div{display:grid;grid-gap:2px;gap:2px}.mobile-calendar-panel-header span{color:var(--muted);font-size:.72rem;font-weight:760;text-transform:uppercase}.mobile-calendar-panel-header strong{color:var(--anthracite);font-size:1rem}.mobile-calendar-panel-header button{min-height:34px;padding:0 10px;border:1px solid rgba(31,91,59,.14);border-radius:9px;background:#f7faf7;color:var(--green-dark);font-size:.78rem;font-weight:760}.mobile-calendar-panel .date-picker-day{min-height:42px;border-radius:10px;font-size:.9rem}}.mobile-calendar-controls{display:none}@media (max-width:720px){.schedule-shell{border-radius:13px}.schedule-header{display:block;padding:12px 12px 5px;border-bottom:0}.schedule-header .eyebrow{margin-bottom:2px;font-size:.66rem;font-weight:760;letter-spacing:.08em}.schedule-header h2{font-size:1rem;font-weight:760;line-height:1.2}.mobile-calendar-controls{display:grid;grid-gap:8px;gap:8px;padding:0 10px 8px}.mobile-calendar-controls .mobile-day-toolbar{display:grid;grid-template-columns:36px minmax(0,1fr) 36px auto;grid-gap:5px;gap:5px;align-items:stretch;margin:0}.mobile-calendar-controls .mobile-day-toolbar .date-jump,.mobile-calendar-controls .today-button{min-height:36px;padding:0 9px;border-radius:8px;font-size:.8rem;font-weight:720}.mobile-calendar-controls .mobile-day-toolbar .date-jump{padding:0;font-size:1.22rem}.mobile-calendar-controls .mobile-date-chip{min-height:36px;padding:4px 8px;border-radius:8px}.mobile-calendar-controls .mobile-date-chip strong{font-size:.86rem;font-weight:760}.mobile-duration-compact{display:grid;grid-gap:7px;gap:7px}.mobile-custom-duration,.mobile-duration-row{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center}.mobile-custom-duration>span,.mobile-duration-row>span{color:var(--muted);font-size:.75rem;font-weight:760;white-space:nowrap}.mobile-duration-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:5px;gap:5px}.mobile-duration-presets button{min-height:36px;padding:6px 4px;border-radius:8px;font-size:.74rem;font-weight:720}.mobile-custom-duration input{width:100%;min-height:36px;padding:7px 10px;border:1px solid rgba(31,91,59,.16);border-radius:8px;background:#fff;color:var(--anthracite);font-size:.86rem}.mobile-duration-compact .field-hint{margin:-1px 0 0;font-size:.7rem}.mobile-calendar-controls .mobile-message{margin:0;padding:8px 10px;font-size:.76rem}.mobile-calendar-controls .mobile-legend{display:grid;grid-gap:5px;gap:5px}.mobile-calendar-controls .mobile-legend summary{width:max-content;color:var(--green);cursor:pointer;font-size:.74rem;font-weight:720}.mobile-calendar-controls .mobile-legend .schedule-legend span{min-height:23px;padding:4px 7px;font-size:.66rem;font-weight:700}.mobile-grid-wrap{padding:6px 8px 10px}.mobile-court-head{gap:0}.mobile-court-head span{display:none}}.date-picker-trigger{display:inline-grid;align-items:center;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.date-picker-trigger:focus-visible,.date-picker-trigger:hover{box-shadow:0 0 0 3px rgba(31,91,59,.1)}.day-group-label.is-today{box-shadow:inset 0 0 0 2px rgba(255,255,255,.52),0 8px 18px rgba(17,57,36,.18)}.day-group-label em{display:inline-grid;min-height:17px;align-items:center;padding:1px 6px;border-radius:999px;background:rgba(255,255,255,.2);color:#fff;font-size:.58rem;font-style:normal;font-weight:760;text-transform:uppercase}.date-picker-day{position:relative;gap:1px}.date-picker-day span{line-height:1}.date-picker-day small{font-size:.53rem;font-weight:820;line-height:1;text-transform:uppercase}.date-picker-day.today{border-color:var(--green);background:#e6f3e9;color:var(--green-dark);box-shadow:inset 0 0 0 1px rgba(31,91,59,.18)}.date-picker-day.selected{border-color:var(--green-dark);background:var(--green-dark);color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.24),0 12px 22px rgba(17,57,36,.24)}.date-picker-day.past,.date-picker-day:disabled{border-color:transparent;background:#f1f3f1;color:#a1aaa4;cursor:not-allowed;opacity:.72}.calendar-cell.unavailable.free,.mobile-grid-cell.unavailable.free{cursor:not-allowed;opacity:.72}.booking-bar.preview{z-index:3;border:1px dashed rgba(31,91,59,.58);background:rgba(31,91,59,.24);pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}.booking-bar.preview,.booking-bar.preview span,.booking-bar.preview strong{color:var(--green-dark)}.view-week .booking-bar{margin:2px;padding:0;border-radius:5px;box-shadow:none}.view-week .booking-bar span,.view-week .booking-bar strong{display:none}@media (max-width:720px){.mobile-grid-wrap{padding-bottom:118px}.mobile-duration-presets button{min-height:34px;padding:5px 4px;font-size:.78rem}.mobile-calendar-panel .date-picker-day{min-height:44px}}body.modal-open{overflow:hidden}.desktop-auth{display:flex;justify-content:flex-end}.mobile-menu-shell,.mobile-menu-toggle,.mobile-nav-menu{display:none}.auth-dialog-shell{position:fixed;inset:0;z-index:10000;display:flex;min-height:100dvh;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top) + 18px) 18px calc(env(safe-area-inset-bottom) + 18px);overflow:hidden;isolation:isolate}.auth-dialog-backdrop{position:fixed;inset:0;z-index:10000;border:0;background:rgba(12,22,17,.46);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.auth-dialog-panel{position:relative;z-index:10001;display:grid;width:min(430px,100%);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 36px);grid-gap:14px;gap:14px;overflow-y:auto;padding:18px;border:1px solid rgba(31,91,59,.16);border-radius:16px;background:#fff;box-shadow:0 26px 70px rgba(17,57,36,.22)}.auth-dialog-header{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.auth-dialog-header div{display:grid;grid-gap:2px;gap:2px}.auth-dialog-header span{color:var(--green);font-size:.78rem;font-weight:900;text-transform:uppercase}.auth-dialog-header strong{color:var(--anthracite);font-size:1.25rem}.auth-dialog-header button,.auth-dialog-links button,.auth-text-link{border:0;background:transparent;color:var(--green);font-weight:800}.auth-dialog-header>button{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--green-dark);font-size:1.35rem;line-height:1}.auth-dialog-form{display:grid;grid-gap:12px;gap:12px}.auth-dialog-form label,.auth-page-card label{display:grid;grid-gap:6px;gap:6px;color:var(--text);font-size:.88rem;font-weight:760}.auth-dialog-links{display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between}.auth-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.auth-choice button{min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--anthracite);font-weight:800}.auth-choice button.active{border-color:var(--green);background:var(--green);color:#fff}.auth-page-card{display:grid;grid-gap:14px;gap:14px;padding:22px;border:1px solid rgba(31,91,59,.14);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.auth-page-card h1,.auth-page-card p{margin:0}@media (max-width:720px){.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:80;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;padding:max(8px,env(safe-area-inset-top)) 10px 8px;border-bottom-color:rgba(31,91,59,.12)}.brand{min-width:0;gap:8px}.brand-mark{width:34px;height:34px;font-size:.75rem}.brand>span:last-child{min-width:0;font-size:.92rem}.brand small,.brand>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand small{font-size:.66rem}.desktop-auth,.main-nav{display:none!important}.auth-area{position:relative;display:flex;justify-content:flex-end}.mobile-menu-toggle{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(31,91,59,.16);border-radius:50%;background:#fff;color:var(--green-dark);font-weight:900;box-shadow:0 8px 20px rgba(17,57,36,.1)}.mobile-menu-shell{position:fixed;inset:0;z-index:9998;display:block;width:100%;min-height:100dvh;padding:0;overflow:hidden;isolation:isolate}.mobile-menu-backdrop{position:fixed;inset:0;z-index:9998;border:0;background:rgba(12,22,17,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.mobile-nav-menu{position:fixed;top:0;right:0;bottom:0;z-index:9999;display:grid;width:min(360px,100vw);height:100dvh;max-height:100dvh;align-content:start;grid-gap:12px;gap:12px;margin:0;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));overflow-y:auto;border:1px solid rgba(31,91,59,.14);border-top:0;border-right:0;border-bottom:0;border-radius:0;background:#fff;box-shadow:-20px 0 46px rgba(17,57,36,.18);-webkit-overflow-scrolling:touch}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--line)}.mobile-menu-header strong{color:var(--anthracite);font-size:1.05rem}.mobile-menu-header button{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--green-dark);font-size:1.3rem;font-weight:800}.mobile-nav-links{display:grid;grid-gap:4px;gap:4px}.mobile-nav-links a{min-height:38px;padding:9px 10px;border-radius:8px;color:var(--anthracite);font-weight:780}.mobile-nav-links a:hover{background:var(--surface-muted)}.mobile-nav-auth{display:grid;grid-gap:8px;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.mobile-nav-auth span{display:grid;grid-gap:2px;gap:2px;font-weight:820}.mobile-nav-auth small{color:var(--muted);font-size:.74rem}.page-shell{padding-top:10px}.section-heading{margin-bottom:8px}.booking-page-eyebrow{display:none}.section-heading h1{margin:0 0 3px;font-size:1.55rem;line-height:1.1}.section-heading p:not(.eyebrow){font-size:.9rem;line-height:1.3}.auth-dialog-shell{display:block;min-height:100dvh;padding:0;background:#fff}.auth-dialog-backdrop{display:none}.auth-dialog-panel{position:fixed;inset:0;width:100%;height:100dvh;max-height:100dvh;align-content:start;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 16px);overflow-y:auto;border:0;border-radius:0;box-shadow:none;-webkit-overflow-scrolling:touch}.auth-dialog-header strong{font-size:1.1rem}.auth-dialog-form{gap:10px}.auth-dialog-form input{min-height:42px}.auth-dialog-links{display:grid;justify-content:stretch}body.modal-open .mobile-booking-bar{display:none!important}}