
:root{--ink:#132c35;--muted:#5d7178;--teal:#087e78;--light:#edf3f2;--line:#dce5e4;--orange:#f37443;--white:#fff;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#f8faf9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input{touch-action:manipulation}button,.button{cursor:pointer;background:var(--teal);color:white;border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;font-weight:700;gap:10px}.button.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.button.small,button.small{padding:9px 13px;font-size:14px}.topline{display:flex;justify-content:space-between;background:var(--ink);color:#d6e6e6;padding:10px max(5vw,20px);font-size:12px;letter-spacing:.04em}.site-header{background:#fff;display:flex;gap:40px;align-items:center;padding:23px 5vw;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:31px;font-weight:800;letter-spacing:-1.5px}.brand small{display:block;font-size:10px;letter-spacing:4px;text-align:center;line-height:1.6}.brand-icon{background:var(--teal);color:white;border-radius:10px;font-style:italic;font-size:30px;padding:8px 13px;transform:skew(-7deg)}.site-header nav{display:flex;gap:27px;flex:1;justify-content:center;font-size:14px;font-weight:600}.site-header nav a{padding:8px 0}.site-header nav a.selected{color:var(--teal);border-bottom:2px solid var(--teal)}.account-link{border:1px solid var(--line);border-radius:8px;padding:12px 17px;font-size:14px;font-weight:700;white-space:nowrap}.page{max-width:1280px;margin:auto;padding:38px 36px 70px}.hero{display:grid;grid-template-columns:1.3fr 1fr;min-height:355px;background:var(--ink);color:white;border-radius:18px;overflow:hidden;margin-bottom:43px}.hero-copy{padding:48px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;text-transform:uppercase;color:var(--teal)}.hero .eyebrow{color:#a6dcd1}.hero h1{font-size:clamp(33px,4vw,55px);letter-spacing:-2px;line-height:1.06;margin:17px 0}.hero p{color:#bfd0d1;font-size:16px;line-height:1.7;max-width:450px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.hero .button{background:#b0e2d3;color:var(--ink)}.court{position:relative;min-height:330px;background:#d8e9df;overflow:hidden;display:flex;align-items:center;justify-content:center}.court:before{content:"";position:absolute;width:280px;height:440px;background:#087e78;border:4px solid #fff;transform:rotate(25deg);box-shadow:inset 0 0 0 28px #087e78,inset 0 0 0 31px #fff}.court:after{content:"";width:450px;height:3px;background:#fff;transform:rotate(25deg);box-shadow:0 -90px 0 #ffffff8c,0 90px 0 #ffffff8c}.court .ball{position:absolute;z-index:1;background:#e9ec69;border:1px solid #9ea548;border-radius:50%;width:58px;height:58px;left:25%;top:23%;box-shadow:9px 18px 0 #052e311c}.court .court-label{position:absolute;bottom:28px;right:25px;z-index:2;background:white;color:var(--ink);padding:12px 17px;border-radius:8px;font-size:13px;font-weight:700}.section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:36px 0 19px}.section-head h2{margin:7px 0 0;font-size:28px;letter-spacing:-.8px}.section-head a:not(.button){color:var(--teal);font-size:14px;font-weight:700}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card,.panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.card-body,.panel{padding:24px}.product-image{height:210px;background:#f0f3f2;display:flex;align-items:center;justify-content:center;position:relative}.product-image img{width:85%;height:85%;object-fit:contain;mix-blend-mode:multiply}.badge{font-size:11px;font-weight:700;letter-spacing:.4px;padding:7px 10px;background:#fff2e9;color:#a24419;border-radius:5px}.product-image .badge{position:absolute;left:16px;top:15px}.card h3{font-size:17px;line-height:1.4;margin:10px 0}.price{font-size:24px;font-weight:800;letter-spacing:-.7px}.old-price{font-size:14px;color:var(--muted);text-decoration:line-through;margin-left:8px;font-weight:400}.muted{color:var(--muted);font-size:14px;line-height:1.6}.card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.empty{padding:36px;background:var(--light);border-radius:12px;border:1px dashed #c5d5d3}.empty h3{margin:0 0 9px}.club-banner{background:#e8efeb;border-radius:12px;padding:31px;display:flex;align-items:center;justify-content:space-between;margin-top:36px;gap:25px}.club-banner h3{font-size:23px;margin:8px 0}.club-banner p{margin:0;color:var(--muted)}.footer{padding:35px 5vw 25px;background:white;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.footer-brand{font-size:24px;color:var(--ink)}.footer>div{display:flex;gap:25px;margin-top:24px;flex-wrap:wrap}.footer>div span{margin-right:auto}.form-panel{max-width:580px;margin:15px auto}.form-panel h1{font-size:30px;letter-spacing:-1px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;font-size:14px;font-weight:600}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid #bfcdcd;border-radius:7px;background:#fff;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #6eb9a5;outline-offset:2px}.check{display:flex;gap:10px;align-items:start;font-size:14px;line-height:1.5;margin:15px 0}.check input{margin-top:4px}.notice{border-radius:8px;background:#e6f2ec;padding:15px 18px;margin:18px 0;font-size:14px;line-height:1.55}.notice.error{background:#ffebe6;color:#862f1d}.pills{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.pills a{padding:9px 15px;background:white;border:1px solid var(--line);border-radius:24px;font-size:13px}.pills a.selected{background:var(--ink);color:white}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:13px 11px;border-bottom:1px solid var(--line)}th{font-size:12px;color:var(--muted);background:#f4f7f6}td small{display:block;color:var(--muted);margin-top:4px}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}.permission-grid{columns:2;column-gap:30px}.permission-grid .check{break-inside:avoid}.mono{font-family:monospace;white-space:pre-wrap}.inline-form{display:inline}.link-button{border:0;background:none;color:var(--teal);padding:0;font-size:14px}.compact h1{margin-bottom:12px}.status{font-size:12px;font-weight:700;color:var(--teal)}@media(max-width:800px){.site-header{flex-wrap:wrap;padding:17px 20px;gap:16px}.site-header nav{order:3;width:100%;justify-content:flex-start;gap:21px;overflow-x:auto;font-size:13px}.brand{margin-right:auto}.page{padding:24px 18px 45px}.hero{grid-template-columns:1fr}.hero-copy{padding:30px}.court{min-height:175px}.court:before{width:400px;height:220px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.club-banner{align-items:start;flex-direction:column}.permission-grid{columns:1}.form-grid{grid-template-columns:1fr}.topline span:first-child{display:none}.topline{justify-content:end}}@media(max-width:480px){.cards{grid-template-columns:1fr}.hero h1{font-size:37px}.section-head h2{font-size:24px}.account-link{font-size:12px}.brand{font-size:28px}.section-head{align-items:start}.section-head a{font-size:12px}.card-body{padding:20px}}
@media(max-width:800px){.site-header nav{flex:0 0 100%;flex-wrap:wrap;overflow:visible;gap:6px 21px}.site-header nav a{white-space:nowrap}}
button.staff-deactivate{background:#b42318;color:#fff}
button.staff-deactivate:hover{background:#912018}
button.staff-deactivate:focus-visible{outline:3px solid #b42318;outline-offset:3px}
.button.staff-permissions{min-height:42px;gap:9px;background:#edf7f5;color:#14665d;border:1px solid #b7d8d0;line-height:1.3;text-align:left}
.staff-permissions svg{flex-shrink:0}
.button.staff-permissions:hover,.button.staff-permissions.is-selected{background:#dceee9;border-color:#087e78;text-decoration:none}
.button.staff-permissions:focus-visible{outline:3px solid #087e78;outline-offset:3px}
.staff-permissions-editor{margin-top:24px;scroll-margin-top:var(--staff-editor-offset,150px)}
.staff-permissions-editor:focus{outline:2px solid #087e78;outline-offset:4px}
.staff-permissions-editor h2{margin:0 0 8px}
.staff-permission-sections{display:grid;gap:20px;margin:24px 0}
.staff-permission-section{min-width:0;margin:0;padding:12px 18px 18px;border:1px solid var(--line);border-radius:10px;background:#f8fbfa}
.staff-permission-section legend{padding:0 8px;color:var(--ink);font-size:16px;font-weight:700}
.staff-permission-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
.customer-filters{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.customer-filters a span{font-variant-numeric:tabular-nums;opacity:.8}
.customer-detail,.customer-management,.customer-list{margin:24px 0;min-width:0}
.tournament-authorization-dialog{width:min(860px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 40px);margin:auto;padding:24px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 24px 80px #132c3540;overflow:auto}
.tournament-authorization-dialog::backdrop{background:rgb(19 44 53 / 55%)}
.tournament-authorization-dialog:not([open]),.tournament-authorization-dialog [hidden]{display:none!important}
html:has(.tournament-authorization-dialog[open]){overflow:hidden}
.tournament-authorization-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.tournament-authorization-head h2{margin:0;font-size:26px;letter-spacing:-.5px}
.tournament-authorization-list{list-style:none;margin:0;padding:0}
.tournament-authorization-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.tournament-authorization-copy{min-width:0;overflow-wrap:anywhere}
.tournament-authorization-copy h3{margin:0;font-size:17px;line-height:1.4}
.tournament-authorization-copy p{margin:6px 0}
.tournament-authorization-row form{flex:0 0 205px}
.tournament-authorization-row button{width:100%;line-height:1.4}
.tournament-authorization-dialog button:disabled{opacity:.55;cursor:not-allowed}
.tournament-authorization-dialog button:focus-visible,[data-tournament-dialog-open]:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
@media(max-width:600px){.tournament-authorization-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:20px 16px}.tournament-authorization-head{align-items:flex-start}.tournament-authorization-head h2{font-size:23px}.tournament-authorization-row{align-items:stretch;flex-direction:column;gap:12px}.tournament-authorization-row form{flex:auto}}
#user-special-roles,#club-authorizations{scroll-margin-top:var(--vt-page-scroll-offset,180px)}
.customer-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.customer-summary dt{font-size:13px;color:var(--muted)}
.customer-summary dd{margin:5px 0 0;overflow-wrap:anywhere}
.customer-search{display:flex;align-items:end;flex-wrap:wrap;gap:12px}
.customer-search .field{flex:1 1 260px;margin:0;min-width:0}
.customer-row-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:130px}
.customer-list td{overflow-wrap:anywhere}
.family-create-dialog{width:min(760px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 24px 80px #132c3540;overflow:auto}
.family-create-dialog::backdrop{background:rgb(19 44 53 / 55%)}
.family-create-dialog:not([open]){display:none}
html:has(.family-create-dialog[open]){overflow:hidden}
.customer-family-form{overflow:visible}
.family-create-dialog .customer-family-form{border:0;padding:20px 24px}
.family-create-dialog .form-grid{gap:12px;margin-bottom:14px}
.family-create-dialog .form-grid .field{margin-bottom:0}
.family-create-dialog .actions{margin-top:16px}
.family-form-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.family-form-head h2{margin:0;font-size:26px;letter-spacing:-.5px}
.responsible-picker{position:relative;grid-column:1/-1;min-width:0}
.responsible-picker small{font-weight:400;color:var(--muted);line-height:1.45}
.responsible-options{position:absolute;z-index:5;top:74px;left:0;right:0;max-height:240px;overflow:auto;padding:6px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px #132c3526}
.responsible-options button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:10px 12px;border-radius:5px;background:#fff;color:var(--ink);text-align:left;overflow-wrap:anywhere}
.responsible-options button:hover,.responsible-options button[aria-selected="true"],.responsible-options button[data-active="true"]{background:var(--light)}
.responsible-options button:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
.responsible-picker [hidden]{display:none!important}
@media(max-width:600px){.family-create-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.family-create-dialog .customer-family-form{padding:20px 16px}.family-create-dialog .form-grid{gap:4px}.family-form-head h2{font-size:23px}}
#customer-title,#customer-list-title{scroll-margin-top:220px}
@media(max-width:600px){.customer-summary{grid-template-columns:1fr}.customer-filters .button{flex:1 1 140px}.customer-detail .section-head{flex-wrap:wrap}.customer-page-head{flex-direction:column;align-items:stretch}.customer-page-head .actions{margin-top:0}.customer-page-head .actions .button{flex:1 1 130px}}
.staff-permission-options .check{margin:0;align-items:flex-start;padding:9px 0;cursor:pointer}
.staff-permission-options input{flex-shrink:0;width:17px;height:17px;accent-color:var(--teal)}
@media(max-width:800px){.staff-permission-options{grid-template-columns:1fr;gap:2px}.staff-permission-section{padding:8px 12px 12px}}
.staff-permissions-editor [hidden]{display:none!important}
.staff-permission-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px;padding:16px 18px;border-radius:9px;background:#eaf4f0}
.staff-permission-summary strong,.staff-permission-count{font-variant-numeric:tabular-nums}
.staff-permission-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,230px) auto;align-items:end;gap:12px 16px;margin-top:22px}
.staff-permission-toolbar .field{margin:0;min-width:0}
.staff-permission-toolbar>button{min-height:43px}
.staff-permission-toolbar>p{grid-column:1/-1;margin:0}
.staff-permission-results{margin:12px 0 0}
.staff-permission-section{background:#fff;padding:12px 18px 18px}
.staff-permission-section legend{max-width:100%;line-height:1.5}
.staff-permission-count{display:inline-block;margin-left:12px;padding:3px 9px;background:#edf3f2;border-radius:20px;color:#486169;font-size:12px;font-weight:600;vertical-align:middle}
.staff-permission-bulk{padding:6px 0 16px;border-bottom:1px solid var(--line);margin-bottom:18px}
.staff-permission-bulk-buttons{display:flex;flex-wrap:wrap;gap:8px}
.staff-permission-bulk p{font-size:12px;margin:8px 0 0}
.staff-permission-bulk button[aria-disabled="true"],.staff-permission-toolbar button:disabled,[data-permission-retry][aria-disabled="true"]{cursor:default;opacity:.55}
.staff-permission-group+.staff-permission-group{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.staff-permission-group h3{font-size:14px;line-height:1.5;margin:0 0 12px;color:#36575d}
.staff-permission-options{gap:10px}
.staff-permission-options .staff-permission-option{padding:14px;border:1px solid var(--line);border-radius:8px;min-width:0;background:#fbfcfc;transition:border-color .12s,background .12s}
.staff-permission-option:has(input:checked){border-color:#91beb2;background:#f0f8f5}
.staff-permission-option:has(input:focus-visible){outline:2px solid var(--teal);outline-offset:2px}
.staff-permission-copy{display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere}
.staff-permission-copy>strong{line-height:1.45}
.staff-permission-help{font-size:13px;line-height:1.55;color:#52676e}
.staff-permission-dependency{display:block;font-size:12px;line-height:1.55;color:#694d18;background:#fff5dd;border-radius:5px;padding:6px 8px}
.staff-permission-code{font-size:11px;color:#657a80;line-height:1.45;overflow-wrap:anywhere}
[data-permission-changes][data-save-state="error"]{color:#862f1d;font-weight:600}
.staff-permission-option[data-permission-save-state="pending"]{border-color:#c3a259}
.staff-permission-option[data-permission-save-state="error"]{border-color:#b42318}
@media(max-width:900px){.staff-permission-toolbar{grid-template-columns:1fr 200px}.staff-permission-toolbar>button{justify-self:start}.staff-permission-toolbar>p{grid-column:1/-1}.staff-permission-options{grid-template-columns:1fr}}
@media(max-width:600px){.staff-permission-toolbar{grid-template-columns:1fr}.staff-permission-toolbar>button{justify-self:stretch}.staff-permission-section{padding:10px}.staff-permission-count{display:table;margin:5px 0 0}.staff-permission-bulk-buttons{flex-direction:column}.staff-permission-bulk-buttons .button{width:100%;text-align:center}.staff-permission-options .staff-permission-option{padding:12px}}
