:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1e293b;background:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;--rally-green: #0fbf3a;--lime: #a6e635;--midnight: #0b1f2a;--court-white: #f8fafc;--slate: #64748b;--graphite: #1e293b;--success: #168f3a;--warning: #b76f00;--danger: #d92d3a;--info: #2563eb;--bg-canvas: #f4f7f8;--bg-surface: #ffffff;--bg-surface-raised: #ffffff;--text-primary: #13232d;--text-secondary: #50616c;--text-muted: #70808a;--border: #dce4e8;--border-strong: #bac8cf;--focus: #0b6e2a;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-1: 0 1px 2px rgba(11,31,42,.04), 0 6px 20px rgba(11,31,42,.04);--sidebar: 248px;--topbar: 64px}*{box-sizing:border-box}html{min-width:320px;background:var(--bg-canvas)}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:#0a6f2b;text-underline-offset:3px}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--text-primary)}h1{font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:clamp(1.75rem,2.2vw,2rem);line-height:1.25;letter-spacing:-.03em;margin-bottom:8px}h2{font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:1.25rem;line-height:1.4;letter-spacing:-.02em;margin-bottom:12px}h3{font-size:1rem;margin-bottom:6px}p{line-height:1.5}:focus-visible{outline:3px solid rgba(15,191,58,.42);outline-offset:2px;border-radius:6px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;z-index:1000;top:8px;left:8px;transform:translateY(-160%);padding:10px 14px;background:var(--court-white);color:var(--midnight);border-radius:8px;box-shadow:var(--shadow-1)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh;background:var(--bg-canvas)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:var(--sidebar);background:linear-gradient(180deg,#0b1f2a,#0a2830 70%,#09262b);color:#fff;display:flex;flex-direction:column;padding:20px 14px 16px}.sidebar-brand{height:64px;display:flex;align-items:center;padding:0 10px 16px}.shell-logo{width:154px;height:42px;object-fit:contain;object-position:left center}.drawer-close{display:none!important}.nav-list{display:flex;flex-direction:column;gap:4px;flex:1;padding-top:10px}.nav-item{min-height:44px;display:flex;gap:12px;align-items:center;padding:9px 12px;color:#d9e4e8;text-decoration:none;border-radius:10px;font-weight:600;font-size:.92rem;position:relative}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active{color:#fff;background:#0fbf3a29;box-shadow:inset 3px 0 0 var(--lime)}.nav-icon-wrap{width:24px;height:24px;position:relative;display:inline-grid;place-items:center}.nav-asset{width:20px;height:20px;object-fit:contain}.sidebar-footer{border-top:1px solid rgba(255,255,255,.1);padding-top:10px;display:grid;gap:4px}.topbar{position:fixed;z-index:20;top:0;left:var(--sidebar);right:0;height:var(--topbar);background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;padding:0 24px}.topbar-title{display:none;font-weight:700}.context-switcher{height:40px;min-width:230px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-size:.88rem;font-weight:600}.context-dot{width:8px;height:8px;background:var(--rally-green);border-radius:50%}.context-switcher svg{margin-left:auto;width:16px}.global-search{margin-left:auto;width:min(320px,28vw);height:40px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:#f7f9fa}.global-search svg{width:18px;color:var(--slate)}.global-search input{border:0;outline:0;width:100%;background:transparent;color:var(--text-primary)}.icon-button{width:44px;height:44px;display:inline-grid;place-items:center;border:0;background:transparent;color:inherit;border-radius:10px;cursor:pointer}.icon-button:hover{background:#0b1f2a0f}.notification-button{position:relative}.notification-button svg{width:20px}.notification-dot{position:absolute;top:9px;right:9px;width:7px;height:7px;background:var(--danger);border:2px solid #fff;border-radius:50%}.profile-button{height:46px;border:0;background:transparent;display:flex;align-items:center;gap:9px;padding:3px 6px;border-radius:10px;cursor:pointer;color:var(--text-primary)}.profile-button:hover{background:#0b1f2a0d}.profile-copy{display:grid;text-align:left;line-height:1.18;min-width:96px}.profile-copy strong{font-size:.82rem}.profile-copy small{color:var(--text-muted);margin-top:3px}.profile-button>svg{width:16px;color:var(--slate)}.avatar{width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;background:linear-gradient(145deg,#0fbf3a,#0b6e2a);color:#fff;font-weight:700;font-size:.76rem;flex:0 0 auto}.avatar.small{width:36px;height:36px}.avatar-open{background:#e8eef1;color:var(--graphite)}.content{margin-left:var(--sidebar);padding:calc(var(--topbar) + 32px) 32px 48px;max-width:calc(1440px + var(--sidebar));min-height:100vh}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.page-header h1{font-size:clamp(1.8rem,2.5vw,2.2rem);margin-bottom:5px}.page-summary{color:var(--text-secondary);margin:0;max-width:720px}.eyebrow{margin:0 0 6px;color:#08752b;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.eyebrow-inverse{color:var(--lime)}.page-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.button{min-height:44px;border-radius:10px;border:1px solid transparent;padding:0 16px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,transform .12s ease}.button:active{transform:translateY(1px)}.button:disabled{opacity:.55;cursor:not-allowed}.button-primary{background:var(--lime);color:#10231a;box-shadow:inset 0 -1px #00000014}.button-primary:hover{background:#b3ef4c}.button-secondary{background:#fff;color:var(--text-primary);border-color:var(--border-strong)}.button-secondary:hover{background:#f3f6f7}.button-tertiary{background:transparent;color:#08752b}.button-tertiary:hover{background:#0fbf3a14}.button-danger{background:#fff;color:#b4232e;border-color:#edc6ca}.button-danger:hover{background:#fff4f5}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.metric-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px 20px;box-shadow:var(--shadow-1)}.metric-card p{margin:0}.metric-label{font-size:.78rem;font-weight:600;color:var(--text-muted)}.metric-value{margin-top:8px!important;font-family:Plus Jakarta Sans,Inter,sans-serif;font-weight:700;font-size:clamp(1.5rem,2vw,1.9rem);letter-spacing:-.04em;color:var(--text-primary);font-variant-numeric:tabular-nums}.metric-detail{margin-top:3px!important;font-size:.82rem;color:var(--text-secondary)}.home-grid,.detail-grid,.membership-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:22px;box-shadow:var(--shadow-1)}.panel-feature{border-top:3px solid var(--rally-green)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-heading h2,.panel-heading p{margin-bottom:0}.span-two{grid-column:1 / -1}.booking-hero{display:flex;gap:16px;align-items:center;padding:12px 0 18px}.booking-date{width:68px;height:72px;border-radius:12px;background:#edf9f0;color:#086c28;display:grid;place-content:center;text-align:center}.booking-date strong{font-size:1.65rem;line-height:1}.booking-date span{font-size:.75rem;font-weight:700;text-transform:uppercase;margin-top:4px}.muted{color:var(--text-muted)}.inline-actions{display:flex;gap:10px;flex-wrap:wrap}.task-link{min-height:64px;padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);color:var(--text-primary);text-decoration:none}.task-link:first-of-type{border-top:0}.task-link>span{display:grid;gap:3px}.task-link small{color:var(--text-muted)}.task-link svg{width:18px;color:var(--slate)}.activity-grid,.entitlement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.activity-grid>div,.entitlement-grid>div{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:2px;align-items:center;padding:12px;background:#f7f9fa;border-radius:10px}.activity-grid small,.entitlement-grid small{grid-column:2;color:var(--text-muted)}.activity-icon{grid-row:1 / 3;width:36px;height:36px;display:grid;place-items:center;background:#e9f8ed;color:#08752b;border-radius:10px}.activity-icon svg{width:18px}.status{display:inline-flex;min-height:26px;align-items:center;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:700;border:1px solid transparent;white-space:nowrap}.status-neutral{background:#eef2f4;color:#42535d}.status-success{background:#e7f8eb;color:#08752b;border-color:#c9ead1}.status-warning{background:#fff5df;color:#8b5400;border-color:#f2deb6}.status-danger{background:#fff0f1;color:#b4232e;border-color:#f1c9cd}.status-info{background:#edf4ff;color:#1d4ed8;border-color:#ceddf9}.filter-panel{display:flex;gap:14px;align-items:center;margin-bottom:16px;padding:14px}.filter-search{min-width:260px;display:flex;align-items:center;gap:8px;height:44px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:#f8fafb}.filter-search svg{width:17px;color:var(--slate)}.filter-search input{width:100%;border:0;outline:0;background:transparent}.filter-chips{display:flex;gap:8px;flex-wrap:wrap}.filter-chip{min-height:36px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--text-secondary);padding:0 12px;font-weight:600;cursor:pointer}.filter-chip.active{background:#e9f8ed;color:#086c28;border-color:#bddfc6}.table-panel{padding:0;overflow:hidden}.table-header{display:flex;justify-content:space-between;align-items:center;padding:20px 22px 14px}.table-header h2,.table-header p{margin-bottom:0}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.87rem}th{text-align:left;font-weight:700;color:var(--text-secondary);background:#f7f9fa;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:11px 14px;white-space:nowrap}td{padding:13px 14px;border-bottom:1px solid #e8edef;color:var(--text-primary)}tbody tr:hover{background:#fbfcfc}.row-link{font-weight:700;text-decoration:none}.detail-list{display:grid;margin:0}.detail-list>div{display:grid;grid-template-columns:minmax(120px,.7fr) 1.5fr;gap:16px;padding:12px 0;border-top:1px solid var(--border)}.detail-list>div:first-child{border-top:0}.detail-list dt{color:var(--text-muted);font-size:.84rem}.detail-list dd{margin:0;font-weight:600}.people-list{display:grid;gap:12px;margin:12px 0 18px}.person-row{display:flex;gap:10px;align-items:center}.person-row>span:last-child{display:grid;gap:2px}.person-row small{color:var(--text-muted)}.workflow-grid{display:grid;grid-template-columns:220px minmax(0,720px);gap:24px;align-items:start}.step-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.step-list li{min-height:48px;display:flex;align-items:center;gap:10px;color:var(--text-muted);padding:8px 10px;border-radius:10px}.step-list li span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e8eef1;font-size:.8rem;font-weight:700}.step-list li.current{color:var(--text-primary);background:#edf9f0}.step-list li.current span{background:var(--rally-green);color:#fff}.substantial-form{padding:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:grid;gap:7px}.field-label{color:var(--text-primary);font-size:.84rem;font-weight:700}.field input,.field select,.field textarea{min-height:44px;width:100%;border:1px solid var(--border-strong);border-radius:9px;padding:9px 11px;background:#fff;color:var(--text-primary);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--rally-green);box-shadow:0 0 0 3px #0fbf3a24}.field-hint{color:var(--text-muted);font-size:.78rem}.field-message{color:var(--danger);font-size:.78rem;font-weight:600}.choice-fieldset{border:0;padding:0;margin:22px 0 0}.choice-fieldset legend{font-weight:700;font-size:.84rem;margin-bottom:8px}.segmented{display:inline-flex;padding:3px;background:#eef2f4;border-radius:10px}.segmented label{position:relative}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented span{min-height:38px;display:inline-flex;align-items:center;padding:0 13px;border-radius:8px;font-weight:600;color:var(--text-secondary);cursor:pointer}.segmented input:checked+span{background:#fff;color:var(--text-primary);box-shadow:0 1px 3px #0b1f2a1f}.form-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.time-slot{min-height:62px;border:1px solid var(--border);background:#fff;border-radius:10px;display:grid;gap:2px;place-content:center;cursor:pointer;color:var(--text-primary)}.time-slot small{color:var(--text-muted)}.time-slot.selected{border-color:var(--rally-green);background:#edf9f0;box-shadow:0 0 0 2px #0fbf3a1f}.form-footer{margin-top:24px;padding-top:18px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}.alert{display:grid;gap:3px;margin-bottom:16px;padding:12px 14px;border-radius:10px;border:1px solid;font-size:.86rem}.alert-error{background:#fff3f4;border-color:#f0c7cb;color:#8d1d27}.alert-info{background:#edf4ff;border-color:#ccdcf6;color:#1e4fa2}.membership-grid{align-items:stretch}.membership-card{min-height:330px;border-radius:18px;padding:24px;color:#fff;background-color:var(--midnight);background-size:cover;background-position:center;box-shadow:0 18px 40px #0b1f2a2e;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.membership-card h2{color:#fff;font-size:1.7rem;margin-bottom:4px}.membership-card p{color:#d8e5e8;margin-bottom:0}.membership-brand{display:flex;align-items:center;gap:10px;font-weight:700}.membership-mark{width:38px;height:38px;object-fit:contain}.membership-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;font-size:.82rem}.qr-placeholder{width:86px;height:86px;background-color:#fff;background-size:contain;display:grid;place-items:center;color:var(--midnight);border-radius:8px;font-weight:800;letter-spacing:.1em}.entitlement-grid{grid-template-columns:repeat(4,1fr)}.entitlement-check{grid-row:1 / 3;width:34px;height:34px;border-radius:10px;background:#e7f8eb;color:#08752b;display:grid;place-items:center;font-weight:800}.three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.state-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.state-panel{min-height:250px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px;display:flex;align-items:center;gap:24px;box-shadow:var(--shadow-1)}.state-art{width:150px;height:120px;object-fit:contain;flex:0 0 auto}.state-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:#eef3f5}.state-panel p{color:var(--text-secondary)}.state-action{margin-top:14px}.skeleton-stack{display:grid;gap:12px;padding-top:10px}.skeleton{display:block;height:14px;width:100%;border-radius:999px;background:linear-gradient(90deg,#edf1f3,#f7f9fa,#edf1f3);background-size:220% 100%;animation:shimmer 1.3s linear infinite}.sk-title{width:48%;height:24px}.sk-short{width:68%}@keyframes shimmer{to{background-position:-220% 0}}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{--text-primary: #13232d;--text-secondary: #50616c;--text-muted: #5f707a;--border: #dce4e8;--border-strong: #aebec6;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);background:#fff;color:var(--text-primary)}.auth-panel{min-height:100vh;background-color:var(--midnight);background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:64px;color:#fff;position:relative;overflow:hidden}.auth-panel:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--rally-green),var(--lime))}.auth-brand{max-width:560px;position:relative;z-index:1}.auth-logo{width:220px;min-height:64px;object-fit:contain;object-position:left center;margin-bottom:44px}.auth-brand h1{color:#fff;font-size:clamp(2.5rem,5vw,4.2rem);line-height:1.05;margin:0 0 20px;letter-spacing:-.055em}.auth-brand>p:last-child{max-width:520px;color:#d7e5e8;font-size:1.05rem}.auth-form-wrap{display:grid;place-items:center;padding:48px}.auth-form{width:min(100%,440px)}.auth-page .field input,.auth-page .field select,.auth-page .field textarea{background:#fff;color:#13232d;border-color:#aebec6;-webkit-text-fill-color:#13232d}.auth-page .field input::placeholder,.auth-page .field textarea::placeholder{color:#6b7b84;opacity:1}.auth-logo-small{display:none;width:170px;height:48px;object-fit:contain;object-position:left center;margin-bottom:30px}.auth-form h2{font-size:1.75rem;margin-bottom:6px}.auth-form form{display:grid;gap:18px;margin-top:26px}.auth-form .button{width:100%}.auth-card{grid-column:1 / -1;width:min(100% - 40px,520px);margin:auto;padding:40px;border:1px solid var(--border);border-radius:16px;background:#fff;color:var(--text-primary);box-shadow:var(--shadow-1)}.auth-card>p:not(.eyebrow):not(.muted){color:var(--text-secondary)}.auth-card .field{margin-top:16px}.auth-card .button{width:100%;margin-top:18px}.auth-card .muted{margin-top:18px}.form-row-between{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:.85rem}.check-row{display:flex;align-items:center;gap:8px}.legal{color:var(--text-muted);font-size:.76rem;margin:0}.foundation-demo-link{display:inline-block;margin-top:24px;font-weight:700;font-size:.84rem}.mobile-nav,.menu-button,.scrim{display:none}@media(max-width:1279px){:root{--sidebar: 0px}.sidebar{transform:translate(-100%);width:280px;transition:transform .22s ease;box-shadow:18px 0 40px #0b1f2a2e}.sidebar-open{transform:translate(0)}.drawer-close{display:inline-grid!important;margin-left:auto;color:#fff}.scrim{display:block;position:fixed;z-index:25;inset:0;background:#0412186b;border:0}.topbar{left:0}.menu-button{display:inline-grid}.content{margin-left:0;max-width:none;padding-left:24px;padding-right:24px}}@media(max-width:900px){.metric-grid{grid-template-columns:repeat(2,1fr)}.global-search{display:none}.topbar-title{display:block;margin-right:auto}.context-switcher{min-width:0}.profile-copy{display:none}.three-grid,.workflow-grid{grid-template-columns:1fr}.step-list{grid-template-columns:repeat(3,1fr);gap:8px}.step-list li{justify-content:center}.step-list li strong{display:none}.auth-page{grid-template-columns:1fr}.auth-panel{min-height:320px;padding:36px;align-items:center;background-position:center 35%;background-image:none!important}.auth-brand h1{font-size:2.4rem}.auth-brand>p:last-child{display:none}.auth-logo{margin-bottom:22px}.auth-form-wrap{padding:40px 24px 56px}}@media(max-width:767px){:root{--topbar: 60px}.topbar{padding:0 10px 0 8px;gap:6px}.context-switcher{border:0;padding:0 6px;font-size:.8rem;max-width:170px;white-space:nowrap;overflow:hidden}.context-switcher span:nth-child(2){text-overflow:ellipsis;overflow:hidden}.topbar-title{display:none}.notification-button{margin-left:auto}.profile-button{padding:3px}.profile-button>svg{display:none}.content{padding:calc(var(--topbar) + 24px) 16px 96px}.page-header{display:grid;gap:16px;margin-bottom:22px}.page-actions{justify-content:flex-start}.metric-grid,.home-grid,.detail-grid,.membership-grid,.state-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.activity-grid,.entitlement-grid{grid-template-columns:1fr}.panel{padding:18px}.filter-panel{display:grid}.filter-search{min-width:0;width:100%}.table-panel{border:0;background:transparent;box-shadow:none;overflow:visible}.table-header{padding:0 0 12px}table,thead,tbody,tr,th,td{display:block}thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}tbody{display:grid;gap:10px}tr{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow-1)}td{display:grid;grid-template-columns:92px 1fr;gap:8px;padding:7px 0;border:0}td:before{content:attr(data-label);color:var(--text-muted);font-size:.78rem}td:last-child{display:block;border-top:1px solid var(--border);margin-top:6px;padding-top:11px}.form-grid{grid-template-columns:1fr}.slot-grid{grid-template-columns:repeat(2,1fr)}.state-panel{min-height:auto;display:grid;gap:14px}.state-art{width:120px;height:90px}.membership-card{min-height:290px}.mobile-nav{position:fixed;z-index:22;left:0;right:0;bottom:0;min-height:68px;padding:7px max(8px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(5,1fr);background:#fffffff7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border)}.mobile-nav a{min-height:50px;display:grid;place-items:center;align-content:center;gap:2px;color:var(--text-muted);text-decoration:none;font-size:.67rem;font-weight:600;border-radius:9px}.mobile-nav-asset{width:20px;height:20px;object-fit:contain}.mobile-nav a.active{color:#086c28;background:#edf9f0}.auth-panel{min-height:260px;padding:24px}.auth-brand h1{font-size:2rem}.auth-logo{width:180px;margin-bottom:18px}.auth-form-wrap{padding:32px 20px 48px}.auth-card{width:calc(100% - 32px);padding:28px 22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-color-scheme:dark){:root{--bg-canvas: #07171f;--bg-surface: #0d2731;--bg-surface-raised: #12323d;--text-primary: #f3f7f8;--text-secondary: #c5d1d5;--text-muted: #94a8b0;--border: #24434d;--border-strong: #355763}html,body{background:var(--bg-canvas);color:var(--text-primary)}.topbar,.mobile-nav{background:#0b1f2af5}.panel,.metric-card,.state-panel{background:var(--bg-surface)}.metric-card,.panel,.state-panel{box-shadow:none}.button-secondary,.filter-chip,.time-slot,.field input,.field select,.field textarea{background:#0f2b35;color:var(--text-primary)}.global-search,.filter-search{background:#0a222b}.activity-grid>div,.entitlement-grid>div,th{background:#102d37}tbody tr:hover{background:#102b35}.segmented{background:#0a2029}.segmented input:checked+span{background:#163945;color:#fff}.booking-date{background:#103c25;color:#a8ee79}.mobile-nav a.active{background:#123c27;color:#b7f57e}}@media print{.sidebar,.topbar,.mobile-nav{display:none!important}.content{margin:0;padding:24px}}.nav-button{width:100%;border:0;font:inherit;cursor:pointer;text-align:left;background:transparent}.profile-button{text-decoration:none}.text-action{appearance:none;border:0;background:transparent;color:#08752b;font-weight:700;padding:0;justify-self:start;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.auth-link-button{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;padding:10px 0}.button.auth-link-button{width:100%;justify-content:center;padding:0 16px;margin-top:20px}.success-callout{display:flex;align-items:flex-start;gap:12px;margin:22px 0;padding:16px;border:1px solid #bfe2c7;border-radius:12px;background:#edf9f0;color:#075f25}.success-callout>svg{width:22px;height:22px;margin-top:2px;flex:0 0 auto}.success-callout p{margin:4px 0 0;color:#315e40}.alert-success{background:#edf9f0;border-color:#bfe2c7;color:#075f25}.alert-warning{background:#fff7e8;border-color:#efdcb1;color:#7c4c00}.standalone-state{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg-canvas)}.auth-loading-panel{width:min(480px,100%)}.security-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:20px;align-items:start}.security-actions{display:grid;gap:16px}.mfa-enrollment{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding-top:4px}.security-symbol{width:52px;height:52px;border-radius:14px;background:#e9f8ed;color:#08752b;display:grid;place-items:center}.security-symbol svg{width:26px;height:26px}.secret-box{max-width:100%;overflow-wrap:anywhere;margin:12px 0 16px;padding:12px;border:1px dashed var(--border-strong);border-radius:10px;background:#f7f9fa;color:var(--text-primary)}.secret-box code{font-size:.78rem;line-height:1.5}.session-list{display:grid}.session-row{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:78px;padding:13px 0;border-top:1px solid var(--border)}.session-row:first-child{border-top:0}.session-device{display:flex;min-width:0;align-items:center;gap:12px}.session-device>span:last-child{display:grid;min-width:0;gap:2px}.session-device small{color:var(--text-muted);line-height:1.35}.session-icon{width:40px;height:40px;border-radius:11px;background:#eef3f5;color:var(--graphite);display:grid;place-items:center;flex:0 0 auto}.session-icon svg{width:20px;height:20px}.session-actions{display:flex;justify-content:flex-end;flex:0 0 auto}.panel-footer-action{margin-top:14px;padding-top:16px;border-top:1px solid var(--border)}.recovery-codes{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.recovery-codes-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.recovery-codes-heading p{color:var(--text-secondary);margin-bottom:0}.code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.code-grid code{display:block;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#f7f9fa;color:var(--text-primary);font-weight:700;letter-spacing:.05em;text-align:center;overflow-wrap:anywhere}.recovery-codes .alert{grid-template-columns:auto 1fr;align-items:center;margin-bottom:0}.recovery-codes .alert svg{width:19px;height:19px}@media(max-width:900px){.security-grid{grid-template-columns:1fr}}@media(max-width:767px){.mfa-enrollment{grid-template-columns:1fr}.security-symbol{width:44px;height:44px}.session-row{align-items:flex-start}.session-actions .button{min-height:40px;padding-inline:10px}.recovery-codes-heading{display:grid}.code-grid{grid-template-columns:1fr}.auth-form .button-tertiary{width:100%}}@media(prefers-color-scheme:dark){.success-callout,.alert-success{background:#103c25;border-color:#245b35;color:#c8f1d2}.success-callout p{color:#afd4b8}.alert-warning{background:#3a2d12;border-color:#6d5521;color:#f5d896}.security-symbol{background:#103c25;color:#a8ee79}.secret-box,.code-grid code{background:#0a222b}.session-icon{background:#173540;color:#dbe7ea}}.context-switcher select{appearance:none;width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text-primary);font:inherit;font-weight:600;cursor:pointer;padding:0 20px 0 0}.context-switcher select:disabled{cursor:default;opacity:1}.context-switcher>svg{margin-left:-24px;pointer-events:none}.compact-empty{min-height:170px;display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:20px;padding:4px 0 14px}.compact-empty img{width:150px;height:120px;object-fit:contain}.compact-empty p{color:var(--text-secondary);margin-bottom:14px}.home-header-skeleton{width:min(620px,100%)}.notification-button{text-decoration:none;color:var(--text-primary)}.notification-list{padding:0;overflow:hidden}.notification-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:18px 22px;border-top:1px solid var(--border)}.notification-row:first-child{border-top:0}.notification-row p{color:var(--text-secondary);margin:6px 0;white-space:pre-line}.notification-row small{color:var(--text-muted)}.notification-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.notification-heading h2{font-family:Inter,sans-serif;font-size:.98rem;margin:0;letter-spacing:0}.notification-classification{width:40px;height:40px;border-radius:11px;background:#eef3f5;color:var(--graphite);display:grid;place-items:center}.notification-classification svg{width:19px;height:19px}.notification-security{background:#edf4ff;color:#1d4ed8}.notification-payment{background:#fff5df;color:#8b5400}.notification-booking{background:#e7f8eb;color:#08752b}@media(max-width:767px){.context-switcher{max-width:min(48vw,190px)}.context-switcher select{text-overflow:ellipsis}.compact-empty{grid-template-columns:1fr;gap:8px}.compact-empty img{width:110px;height:85px}.notification-row{padding:16px;grid-template-columns:36px minmax(0,1fr);gap:11px}.notification-classification{width:36px;height:36px}.notification-heading{display:grid;gap:6px}}@media(prefers-color-scheme:dark){.notification-classification{background:#173540;color:#dbe7ea}.notification-security{background:#172b49;color:#b7d1ff}.notification-payment{background:#3a2d12;color:#f5d896}.notification-booking{background:#103c25;color:#a8ee79}}.profile-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:20px;align-items:start}.profile-summary{display:flex;align-items:center;gap:18px}.profile-summary h2{margin-bottom:4px}.profile-summary p{color:var(--text-secondary);margin-bottom:12px;overflow-wrap:anywhere}.profile-avatar-asset{width:88px;height:88px;border-radius:24px;object-fit:cover;background:#eef3f5;flex:0 0 auto}.profile-form{display:grid;gap:18px}.member-context-panel{margin-bottom:20px}.member-context-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.member-context-card{min-height:76px;display:grid;grid-template-columns:42px minmax(0,1fr) 22px;align-items:center;gap:12px;text-align:left;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface);color:var(--text-primary);padding:12px;cursor:pointer}.member-context-card:hover{border-color:var(--border-strong);background:#f8fafb}.member-context-card.selected{border-color:var(--rally-green);background:#edf9f0;box-shadow:0 0 0 2px #0fbf3a1a}.member-context-card>span:nth-child(2){display:grid;gap:3px;min-width:0}.member-context-card small{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-context-card>svg{width:18px;color:#08752b}.member-context-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#eef3f5;color:var(--graphite)}.member-context-icon svg{width:20px;height:20px}.membership-detail-grid{align-items:stretch}.membership-card-restricted{filter:saturate(.72)}.membership-card-loading{width:min(420px,100%);align-self:center}.membership-card-error{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center}.membership-card-error img{width:120px;height:100px;object-fit:contain}.membership-card-error h2{color:#fff;margin-bottom:6px}.membership-card-error p{color:#d7e5e8}.membership-bottom>div:first-child{display:grid;gap:5px}.membership-reference{color:#afc3c8;font-size:.72rem;overflow-wrap:anywhere}.membership-qr{width:132px;height:132px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;background-color:#fff;background-size:cover;padding:10px}.membership-qr svg{display:block;width:112px;height:112px}.membership-reference-action{margin-top:18px}.membership-reference-action .button svg{width:17px;height:17px}.entitlement-asset{grid-row:1 / 3;width:34px;height:34px;object-fit:contain}.guardian-permissions .panel-heading{align-items:center}.guardian-badge{width:46px;height:46px;object-fit:contain}.permission-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.permission-list li{min-height:44px;display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f7f9fa;border-radius:10px;color:var(--text-primary)}.permission-list svg{width:18px;color:#08752b;flex:0 0 auto}.dependant-summary-list{display:grid;gap:10px}.dependant-summary-list button{min-height:64px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface);color:var(--text-primary);text-align:left;padding:10px 12px;cursor:pointer}.dependant-summary-list button:hover{background:#f8fafb;border-color:var(--border-strong)}.dependant-summary-list img{width:38px;height:38px;object-fit:contain}.dependant-summary-list span{display:grid;gap:3px}.dependant-summary-list small{color:var(--text-muted)}@media(max-width:900px){.profile-grid{grid-template-columns:1fr}}@media(max-width:767px){.profile-summary{align-items:flex-start}.profile-avatar-asset{width:72px;height:72px;border-radius:20px}.member-context-grid,.membership-card-error{grid-template-columns:1fr}.membership-card-error img{width:90px;height:72px}.membership-bottom{align-items:flex-end}.membership-qr{width:110px;height:110px;padding:8px}.membership-qr svg{width:94px;height:94px}.permission-list{grid-template-columns:1fr}}@media(prefers-color-scheme:dark){.profile-avatar-asset,.member-context-icon{background:#173540}.member-context-card:hover,.dependant-summary-list button:hover{background:#102d37}.member-context-card.selected{background:#103c25;border-color:#3d8c53}.permission-list li{background:#102d37}}.membership-qr-blocked{background-color:#fff;color:var(--midnight);text-align:center;font-weight:800;font-size:.72rem;letter-spacing:.04em}.membership-qr-blocked span{max-width:76px;line-height:1.25}.membership-qr-wrap{display:grid;justify-items:center;gap:8px}.membership-qr-expiry{color:#d7e5e8;font-size:.7rem;font-variant-numeric:tabular-nums}.credential-note{margin:14px 0 0;color:var(--text-muted);font-size:.78rem;line-height:1.45}.sport-profile-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}.sport-profile-rail{position:sticky;top:calc(var(--topbar) + 24px)}.sport-profile-list{display:grid;gap:8px}.sport-profile-list-item{min-height:70px;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:11px;align-items:center;border:1px solid var(--border);border-radius:11px;background:var(--bg-surface);color:var(--text-primary);text-align:left;padding:10px 11px;cursor:pointer}.sport-profile-list-item:hover{border-color:var(--border-strong);background:#f8fafb}.sport-profile-list-item.selected{border-color:var(--rally-green);background:#edf9f0;box-shadow:0 0 0 2px #0fbf3a1a}.sport-profile-list-item img{width:36px;height:36px;object-fit:contain}.sport-profile-list-item>span{display:grid;gap:3px;min-width:0}.sport-profile-list-item small{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sport-profile-list-item>svg{width:17px;color:var(--slate)}.sport-profile-main{display:grid;gap:20px;min-width:0}.sport-profile-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:3px solid var(--rally-green)}.sport-profile-identity{display:flex;gap:16px;align-items:center;min-width:0}.sport-profile-identity>img{width:64px;height:64px;object-fit:contain;flex:0 0 auto}.sport-profile-identity h2{margin-bottom:8px}.sport-profile-form{display:grid;gap:18px}.sport-profile-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.rating-primary,.ranking-primary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}.rating-primary>strong,.ranking-primary>strong{font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:2rem;letter-spacing:-.04em;color:var(--text-primary)}.rating-primary>span,.ranking-primary>span{color:var(--text-secondary)}.federation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.federation-grid>div{display:grid;gap:5px;padding:12px;background:#f7f9fa;border-radius:10px}.federation-grid code{color:var(--text-secondary);overflow-wrap:anywhere}.matchmaking-panel{display:grid;gap:18px}.matchmaking-preference-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.matchmaking-preference-summary>div{min-height:76px;display:grid;gap:4px;align-content:center;padding:12px;border:1px solid var(--border);border-radius:10px;background:#f8fafb}.matchmaking-preference-summary span{color:var(--text-muted);font-size:.78rem}.matchmaking-preference-summary strong{color:var(--text-primary);overflow-wrap:anywhere}.suggestion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.suggestion-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid var(--border);border-radius:11px;background:var(--bg-surface)}.suggestion-card>img{width:38px;height:38px;object-fit:contain}.suggestion-card h3{margin-bottom:4px}.suggestion-card p{margin-bottom:9px;color:var(--text-secondary)}.suggestion-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:.78rem;color:var(--text-muted)}@media(max-width:1023px){.sport-profile-layout{grid-template-columns:1fr}.sport-profile-rail{position:static}.sport-profile-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}}@media(max-width:767px){.sport-profile-list{grid-template-columns:1fr}.sport-profile-hero{align-items:flex-start;display:grid}.sport-profile-summary-grid{grid-template-columns:1fr}.sport-profile-summary-grid .span-two{grid-column:auto}.matchmaking-preference-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.suggestion-grid{grid-template-columns:1fr}}@media(prefers-color-scheme:dark){.sport-profile-list-item:hover,.matchmaking-preference-summary>div,.federation-grid>div{background:#102d37}.sport-profile-list-item.selected{background:#103c25;border-color:#3d8c53}}.matchmaking-editor{display:grid;gap:18px;padding-top:4px}.availability-window-list{display:grid;gap:10px;margin-bottom:10px}.availability-window{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--border);border-radius:10px;background:#f8fafb}.discovery-toggle{min-height:58px;display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--border);border-radius:10px;cursor:pointer}.discovery-toggle input{margin-top:4px;width:18px;height:18px}.discovery-toggle>span{display:grid;gap:3px}.discovery-toggle small{color:var(--text-muted);line-height:1.4}@media(max-width:767px){.availability-window{grid-template-columns:1fr}}@media(prefers-color-scheme:dark){.availability-window{background:#102d37}}.booking-create-main{display:grid;gap:20px;min-width:0}.availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.availability-card{min-height:78px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;border:1px solid var(--border);border-radius:11px;background:var(--bg-surface);color:var(--text-primary);padding:12px;cursor:pointer}.availability-card:hover{border-color:var(--border-strong);background:#f8fafb}.availability-card.selected{border-color:var(--rally-green);background:#edf9f0;box-shadow:0 0 0 2px #0fbf3a1a}.availability-card>svg{width:22px;color:#08752b}.availability-card>span:nth-child(2){display:grid;gap:3px;min-width:0}.availability-card small{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis}.availability-card>span:last-child{font-size:.75rem;color:var(--text-muted);font-weight:700}.waitlist-join{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end;margin-top:16px}.booking-review{display:grid;gap:16px}.quote-lines{display:grid;gap:9px;margin-bottom:12px}.quote-lines>div{display:flex;justify-content:space-between;gap:16px}.quote-total{border-top:1px solid var(--border);padding-top:10px;font-size:1.02rem}.participant-grid{display:grid;gap:10px;margin-bottom:18px}.participant-grid article{min-height:58px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--border)}.participant-grid article:first-child{border-top:0}.participant-grid article>span:nth-child(2){display:grid;gap:2px}.participant-grid small{color:var(--text-muted)}.guest-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:12px;align-items:end;padding-top:16px;border-top:1px solid var(--border)}.guest-form .button svg{width:17px;height:17px}.waitlist-offer{max-width:720px;display:grid;gap:14px}.booking-skeleton{min-height:300px;display:grid;align-items:center;padding:24px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md)}@media(max-width:767px){.waitlist-join,.guest-form,.availability-grid{grid-template-columns:1fr}}@media(prefers-color-scheme:dark){.availability-card:hover{background:#102d37}.availability-card.selected{background:#103c25;border-color:#3d8c53}}.resource-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.resource-card{display:grid;gap:14px}.resource-card-heading{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center}.resource-card-heading img{width:38px;height:38px;object-fit:contain}.resource-card-heading h2{margin-bottom:3px}.resource-card-heading p{margin:0;color:var(--text-muted)}.resource-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.resource-facts div{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;background:#f7f9fa;border-radius:8px}.resource-facts dt{color:var(--text-muted);font-size:.78rem}.resource-facts dd{margin:0;font-weight:700}.resource-sports{display:flex;flex-wrap:wrap;gap:6px}.resource-sports span{padding:5px 8px;border-radius:999px;background:#edf9f0;color:#08752b;font-size:.75rem;font-weight:700}.booking-change-panel{display:grid;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.booking-change-panel>form{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:end}@media(max-width:767px){.booking-change-panel>form{grid-template-columns:1fr}}@media(prefers-color-scheme:dark){.resource-facts div{background:#102d37}.resource-sports span{background:#103c25;color:#a8ee79}}.booking-guest-grid{display:grid;gap:10px;padding:14px 0}.booking-guest-grid h3{margin-bottom:0}.booking-guest-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--border);border-radius:10px;background:#f8fafb}.booking-guest-row .check-row{min-height:44px;align-items:center}@media(max-width:767px){.booking-guest-row{grid-template-columns:1fr}}@media(prefers-color-scheme:dark){.booking-guest-row{background:#102d37}}.waitlist-entry-summary{display:grid;gap:14px;margin-bottom:18px}.waitlist-conversion{display:grid;gap:16px;margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}.open-play-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}.open-play-card{display:grid;gap:14px}.open-play-card-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center}.open-play-card-head img{width:40px;height:40px;object-fit:contain}.open-play-card-head h2{margin:0}.open-play-stats{display:flex;gap:14px;flex-wrap:wrap;color:var(--text-secondary);font-size:.82rem}.open-play-stats span{display:inline-flex;align-items:center;gap:6px}.open-play-stats svg{width:16px;height:16px}.tag-row{display:flex;gap:6px;flex-wrap:wrap}.tag-row span{padding:5px 8px;border-radius:999px;background:#f1f5f6;color:var(--text-secondary);font-size:.74rem;font-weight:700}@media(prefers-color-scheme:dark){.tag-row span{background:#102d37}}.coaching-section{display:grid;gap:14px;margin-top:24px}.coach-card-grid,.service-card-grid,.package-card-grid,.entitlement-card-grid,.programme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.coach-card,.service-card,.package-card,.entitlement-card,.programme-card{display:grid;gap:14px}.coach-card-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center}.coach-card-head img{width:40px;height:40px;object-fit:contain}.coach-card-head h3,.service-card-head h3,.package-card h3,.entitlement-card h3,.programme-card h3{margin:0}.coach-card-head p,.service-card-head p,.package-card p,.entitlement-card p,.programme-card p{margin:3px 0 0;color:var(--text-secondary)}.coach-assurance{display:grid;gap:7px;color:var(--text-secondary);font-size:.8rem}.coach-assurance span{display:flex;align-items:center;gap:7px}.coach-assurance svg{width:16px;height:16px;color:#08752b}.service-card-head,.programme-card-head{display:flex;gap:12px;align-items:flex-start}.service-card-head>svg,.programme-card-head>svg,.package-card>svg,.entitlement-card>svg{width:24px;height:24px;color:#08752b;flex:0 0 auto}.service-price{font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:1.35rem}.package-card,.entitlement-card{grid-template-columns:32px minmax(0,1fr) auto;align-items:center}.coaching-session-list{display:grid;gap:10px}.coaching-session-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center}.coaching-session-card>img{width:38px;height:38px;object-fit:contain}.coaching-session-card h3{margin-bottom:4px}.coaching-session-card p{margin-bottom:4px;color:var(--text-secondary)}.coaching-session-card small{color:var(--text-muted)}.programme-card ul{margin:0;padding-left:20px;color:var(--text-secondary)}.progress-timeline{display:grid;gap:10px;margin-top:4px}.progress-timeline>div{display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--rally-green);margin-top:5px}.progress-timeline small{color:var(--text-muted)}@media(max-width:767px){.package-card,.entitlement-card{grid-template-columns:32px minmax(0,1fr)}.package-card>strong,.entitlement-card>.status-badge{grid-column:2}.coaching-session-card{grid-template-columns:38px minmax(0,1fr)}.coaching-session-card>.status-badge{grid-column:2;justify-self:start}}.competition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.competition-card{display:grid;gap:14px}.competition-card-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center}.competition-card-head img{width:40px;height:40px;object-fit:contain}.competition-card-head h2{margin:0}.competition-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-muted);font-size:.78rem}.competition-meta span{padding:5px 8px;border-radius:999px;background:#f1f5f6}.competition-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.competition-section{display:grid;gap:14px;margin-top:24px}.entry-division-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.issue-list{margin:10px 0 0;padding-left:20px;color:var(--error)}.draw-rounds{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.draw-rounds>div{display:grid;gap:8px}.draw-slot{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:46px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:#f8fafb}.draw-slot span,.draw-slot small{color:var(--text-muted);font-size:.75rem}.fixture-list,.ladder-list{display:grid;gap:10px}.fixture-card{display:flex;justify-content:space-between;gap:16px;align-items:center}.fixture-card p{margin:4px 0;color:var(--text-secondary)}.fixture-card small{color:var(--text-muted)}.ladder-row{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(180px,auto) auto;gap:12px;align-items:center}.ladder-row>strong{font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:1.4rem}.ladder-row small{color:var(--text-muted)}.competition-results-boundary{margin-top:24px;border-style:dashed}@media(max-width:767px){.competition-detail-grid{grid-template-columns:1fr}.fixture-card{align-items:flex-start}.ladder-row{grid-template-columns:44px minmax(0,1fr)}.ladder-row small,.ladder-row .button{grid-column:2;justify-self:start}}@media(prefers-color-scheme:dark){.competition-meta span,.draw-slot{background:#102d37}}.challenge-list,.score-event-list,.result-revision-list{display:grid;gap:10px}.challenge-card,.result-revision-row{display:flex;justify-content:space-between;gap:16px;align-items:center}.challenge-card p,.result-revision-row p{margin:4px 0;color:var(--text-secondary)}.challenge-card small,.result-revision-row small{color:var(--text-muted)}.fixture-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.fixture-no-match{font-size:.78rem}.match-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.match-score-card{display:grid;gap:14px}.match-score{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;text-align:center}.match-score>div{display:grid;gap:4px}.match-score>div>span,.match-score small{color:var(--text-muted)}.match-score strong{font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:2.4rem;letter-spacing:-.04em}.match-versus{color:var(--text-muted);font-weight:700}.score-event-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center}.score-event-row span,.score-event-row small{color:var(--text-muted)}@media(max-width:767px){.challenge-card,.result-revision-row{align-items:flex-start;flex-direction:column}.fixture-actions{justify-content:flex-start}.match-detail-grid,.score-event-row{grid-template-columns:1fr}}.event-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.event-card{display:grid;gap:14px}.event-card-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center}.event-card-head img{width:40px;height:40px;object-fit:contain}.event-card-head h2{margin:0}.event-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--text-muted);font-size:.78rem}.event-meta span{display:inline-flex;align-items:center;gap:6px}.event-meta svg{width:15px;height:15px}.event-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.event-section{display:grid;gap:14px;margin-top:24px}.ticket-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.ticket-card{display:grid;gap:10px}.ticket-card.selected{border-color:var(--rally-green);box-shadow:0 0 0 2px #0fbf3a1a}.ticket-card h3{margin:0}.ticket-card p,.ticket-card small{margin:0;color:var(--text-muted)}.ticket-card>strong{font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:1.2rem}.event-registration-form{display:grid;gap:18px;margin-top:24px}@media(max-width:767px){.event-detail-grid{grid-template-columns:1fr}}.invoice-list,.invoice-card{display:grid;gap:16px}.invoice-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center}.invoice-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#edf9f0;color:#08752b}.invoice-icon svg{width:21px;height:21px}.invoice-head h2{margin:0}.invoice-head p{margin:3px 0 0;color:var(--text-secondary)}.invoice-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.invoice-summary div{padding:10px;background:#f7f9fa;border-radius:9px}.invoice-summary dt{font-size:.76rem;color:var(--text-muted)}.invoice-summary dd{margin:3px 0 0;font-weight:700}.invoice-card details{border-top:1px solid var(--border);padding-top:12px}.invoice-card summary{cursor:pointer;font-weight:700}.invoice-lines{display:grid;gap:8px;margin-top:10px}.invoice-lines>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-top:1px solid var(--border)}.invoice-lines>div:first-child{border-top:0}.invoice-lines span{display:grid;gap:2px}.invoice-lines small{color:var(--text-muted)}.payment-history{display:grid;gap:10px}.payment-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--border)}.payment-row>svg{width:20px;height:20px;color:#08752b}.payment-row>span{display:grid;gap:2px}.payment-row small{color:var(--text-muted)}.account-section{display:grid;gap:14px;margin-top:24px}.preference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.preference-card{display:grid;gap:12px}.preference-card-head{display:flex;gap:10px;align-items:flex-start}.preference-card-head>svg{width:22px;height:22px;color:#08752b}.preference-card-head h3{margin:0}.preference-card-head p{margin:3px 0 0;color:var(--text-muted);font-size:.8rem}.preference-note{max-width:820px}.privacy-request-form{display:grid;gap:16px}.privacy-list{display:grid;gap:10px}.privacy-row{display:flex;justify-content:space-between;gap:16px;align-items:center}.privacy-row p{margin:4px 0;color:var(--text-secondary)}.privacy-row small{color:var(--text-muted)}.consent-boundary{margin-top:4px}@media(max-width:767px){.invoice-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-row{grid-template-columns:28px minmax(0,1fr)}.payment-row>.status-badge,.payment-row>.button{grid-column:2;justify-self:start}.privacy-row{flex-direction:column;align-items:flex-start}}@media(prefers-color-scheme:dark){.invoice-icon{background:#103c25;color:#a8ee79}.invoice-summary div{background:#102d37}}.invoice-payment-action{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding-top:4px}.invoice-payment-action p{flex-basis:100%;margin:0}.consent-list{display:grid;gap:10px}.consent-row{display:flex;justify-content:space-between;gap:16px;align-items:center}.consent-row p{margin:4px 0;color:var(--text-secondary)}.consent-row small{color:var(--text-muted)}@media(max-width:767px){.invoice-payment-action{align-items:stretch}.invoice-payment-action .button{width:100%;justify-content:center}.consent-row{flex-direction:column;align-items:flex-start}}.topbar-spacer{flex:1 1 auto;min-width:12px}.connectivity-banner{display:flex;gap:10px;align-items:flex-start;margin-bottom:20px;padding:12px 14px;border:1px solid #efdcb1;border-radius:10px;background:#fff7e8;color:#684000}.connectivity-banner strong{flex:0 0 auto}.connectivity-banner span{line-height:1.45}.fatal-state{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg-canvas)}.fatal-state .state-panel{width:min(680px,100%)}#main-content:focus{outline:none}@media(max-width:767px){.connectivity-banner{display:grid;gap:4px;margin-bottom:16px}}@media(prefers-color-scheme:dark){.connectivity-banner{background:#3a2d12;border-color:#6d5524;color:#f5d896}}.club-section{display:grid;gap:14px;margin-top:24px}.club-card-grid,.venue-grid,.catalogue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.club-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center}.club-card>svg{width:24px;height:24px;color:#08752b}.club-card h3,.eligible-club-card h3,.venue-card h3,.announcement-card h3,.product-card h3{margin:0}.club-card p,.eligible-club-card p,.venue-card p,.announcement-card p,.product-card p{margin:4px 0 0;color:var(--text-secondary)}.eligible-club-list,.announcement-list,.requirement-list{display:grid;gap:12px}.eligible-club-card{display:grid;gap:14px}.tier-list{display:grid;gap:8px}.tier-row,.requirement-row,.hours-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:8px;border-top:1px solid var(--border)}.tier-row:first-child,.requirement-row:first-child{border-top:0}.tier-row>div,.requirement-row>span{display:grid;gap:3px}.tier-row small,.requirement-row small,.venue-card small,.announcement-card small{color:var(--text-muted)}.venue-card{display:grid;gap:10px}.venue-card details{border-top:1px solid var(--border);padding-top:10px}.venue-card summary{cursor:pointer;font-weight:700}.announcement-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px}.catalogue-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.product-card{display:grid;gap:10px}.product-card>strong{font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:1.2rem}@media(max-width:767px){.club-card{grid-template-columns:32px minmax(0,1fr)}.club-card .button{grid-column:2;justify-self:start}.tier-row,.requirement-row,.announcement-card{align-items:flex-start;flex-direction:column;display:flex}.catalogue-search{grid-template-columns:1fr}}.finance-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.credit-summary{display:grid;gap:6px}.credit-summary>span,.credit-summary>small{color:var(--text-muted)}.credit-summary>strong{font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:1.6rem}.credit-ledger,.refund-list{display:grid;gap:8px;margin-top:10px}.credit-ledger-row,.refund-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding-top:8px;border-top:1px solid var(--border)}.credit-ledger-row>span,.refund-row>span{display:grid;gap:3px}.credit-ledger-row small,.refund-row small{color:var(--text-muted)}@media(max-width:767px){.finance-summary-grid{grid-template-columns:1fr}.credit-ledger-row,.refund-row{align-items:flex-start}}.event-registration-list{display:grid;gap:12px}.event-registration-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.8fr) auto;gap:16px;align-items:center}.event-registration-row h2{margin:0}.event-registration-row p{margin:4px 0 0;color:var(--text-secondary)}.event-checkin-credential{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.event-checkin-credential .qr-frame{padding:10px;background:#fff;border-radius:12px;width:fit-content}.event-checkin-credential p,.event-checkin-credential small{color:var(--text-muted)}@media(max-width:767px){.event-registration-row{grid-template-columns:1fr;align-items:flex-start}.event-checkin-credential{grid-template-columns:1fr}}.player-invite-panel{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.player-discovery-list{display:grid;gap:8px}.player-discovery-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--border)}.player-discovery-row>span{display:grid;gap:3px}.player-discovery-row small{color:var(--text-muted)}@media(max-width:767px){.player-discovery-row{align-items:flex-start;flex-direction:column}}.coach-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.coach-availability-list{display:grid;gap:10px}.coach-availability-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;padding-top:10px;border-top:1px solid var(--border)}.coach-availability-row:first-child{border-top:0;padding-top:0}.coach-availability-row>svg{width:20px;height:20px;color:#08752b}.coach-availability-row>span{display:grid;gap:3px}.coach-availability-row small{color:var(--text-muted)}.entry-builder,.entry-player-search{display:grid;gap:12px}@media(max-width:767px){.coach-profile-layout{grid-template-columns:1fr}}
