:root{--forest:#074b3a;--forest-deep:#05382c;--clay:#074b3a;--ink:#17372d;--muted:#52685d;--line:#d3e2d9;--paper:#f4f8f5;--white:#fff;--sidebar:238px;--radius:16px;--shadow:0 9px 32px #074b3a08;font-family:Inter,'Segoe UI',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;font-size:14px;-webkit-font-smoothing:antialiased;--forest-dark:var(--forest-deep);--clay-dark:var(--forest-deep);--tint:#e6f1eb;--brand-accent:#f7f940;--control:#789687;--cream:var(--tint);--club-surface:var(--white);--club-tint:var(--tint);--club-selected:var(--brand-accent);--nav-line:#ffffff30;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.55}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:650;letter-spacing:-.6px}h1{font-size:31px;line-height:1.3}h2{font-size:20px;line-height:1.4}h3{font-size:16px;line-height:1.5}p{line-height:1.8}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--forest);outline-offset:4px}[hidden]{display:none!important}.skip-link{position:fixed;inset-inline-start:15px;top:-70px;padding:12px 17px;background:var(--forest);color:white;border-radius:8px;z-index:100}.skip-link:focus{top:12px}.icon{width:19px;height:19px;flex:none;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.eyebrow{font-size:9px;text-transform:uppercase;font-weight:750;letter-spacing:1.8px;color:var(--forest);margin-bottom:9px}.muted{color:var(--muted)}.small{font-size:11px}.initial-screen{min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:20px;color:var(--forest);font-size:13px}.loading-mark{width:32px;height:32px;border:2px solid #ead1b9;border-top-color:var(--forest);border-radius:50%;animation:loading .8s linear infinite}@keyframes loading{to{transform:rotate(360deg)}}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:41px;padding:11px 16px;border:1px solid transparent;border-radius:8px;background:transparent;font-size:11px;font-weight:700;line-height:1.4;transition:background .15s,border-color .15s}.button.primary{color:white;background:var(--forest);box-shadow:0 3px 8px #074b3a12;border-color:var(--forest)}.button.primary:hover{background:var(--forest-deep)}.button.secondary{color:var(--forest);background:var(--white);border-color:var(--control)}.button.secondary:hover{background:var(--tint);border-color:var(--forest)}.button.ghost{padding:5px 0;min-height:29px;color:var(--forest);font-size:10px}.button.small{min-height:32px;padding:7px 10px;font-size:10px}.button.danger{background:#fff3eb;color:#9e4934;border-color:#eacbbd}.button .icon{width:15px;height:15px}.icon-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--control);border-radius:8px;background:white;flex:none;color:var(--forest)}.icon-button .icon{width:17px;height:17px}.text-link{font-size:11px;font-weight:700;color:var(--forest);text-decoration:underline;text-underline-offset:4px}.brand{display:flex;align-items:center;gap:10px;color:var(--forest);min-width:0}.brand-logo{width:59px;height:48px;overflow:hidden;background:white;border-radius:5px;display:grid;place-items:center;flex:none}.brand-logo img{width:59px;height:48px;object-fit:cover;display:block}.brand-name{font-size:24px;line-height:1.2;letter-spacing:1.3px;font-weight:750;display:block}.brand-subtitle{display:block;font-size:8px;line-height:1.8;color:var(--muted);max-width:118px;margin-top:4px}.auth-layout{display:grid;grid-template-columns:1.05fr 1fr;min-height:100dvh;background:var(--white)}.auth-story{padding:44px 55px;display:flex;flex-direction:column;background:var(--tint);position:relative;overflow:hidden}.auth-story .brand{position:relative;z-index:1}.auth-story-copy{margin:auto 0 15px;max-width:440px;position:relative;z-index:1;padding-top:65px}.auth-story .eyebrow{font-size:9px;color:var(--forest);line-height:1.8}.auth-story h1{font-size:47px;line-height:1.14;letter-spacing:-1.8px;color:var(--forest);font-weight:600}.auth-story-copy>p:last-child{font-size:12px;line-height:1.9;color:var(--muted);margin-top:19px;max-width:345px}.auth-art{width:min(100%,470px);align-self:center;display:block;margin:15px 0 18px}.auth-story-footer{font-size:9px;line-height:1.8;color:var(--muted);margin-top:auto}.auth-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px 45px}.auth-card{width:100%;max-width:365px}.auth-card>.eyebrow{font-size:9px;margin-bottom:13px}.auth-card>h2{font-size:28px;letter-spacing:-.9px;margin-bottom:15px}.auth-card>p{font-size:12px;color:var(--muted);margin-bottom:24px;line-height:1.9}.auth-card .button{width:100%;font-size:12px;margin-top:11px;min-height:45px}.auth-security-note{border-top:1px solid var(--line);padding-top:19px;margin-top:24px;font-size:10px!important;line-height:1.9!important}.auth-demo-link{margin-top:31px;font-size:10px;color:var(--muted);line-height:1.8}.auth-demo-link a{color:var(--forest);font-weight:700;text-decoration:underline;text-underline-offset:4px}.microsoft-mark{display:grid;grid-template-columns:7px 7px;gap:2px;flex:none}.microsoft-mark i{width:7px;height:7px;background:currentColor}.notice{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--tint);color:var(--muted);font-size:11px;line-height:1.9;margin-bottom:20px;overflow-wrap:anywhere}.notice.error{border-color:#dfb9a8;background:#fff0e6;color:#914a35}.notice.success{background:#f2f1df;color:#707047;border-color:#d9d6b7}.notice>strong{display:block;font-size:12px;margin-bottom:4px}.notice .button{margin-top:10px}.portal-shell{min-height:100dvh}.portal-sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:var(--sidebar);background:var(--forest);border-inline-end:1px solid var(--line);padding:31px 18px 22px;display:flex;flex-direction:column;z-index:20;color:var(--white);border-color:var(--nav-line)}.portal-sidebar>.brand{padding:0 5px;margin-bottom:42px}.portal-nav{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:11px;text-align:start;border:0;border-radius:9px;width:100%;padding:13px 14px;background:transparent;color:var(--white);font-size:11px;font-weight:650;white-space:nowrap}.nav-item:hover{background:var(--forest-deep);color:var(--white)}.nav-item.active{background:var(--brand-accent);color:var(--forest);font-weight:750;box-shadow:inset 0 -3px 0 var(--forest)}.nav-item .icon{width:18px;height:18px}.portal-sidebar-footer{margin-top:auto;border-top:1px solid var(--nav-line);padding:21px 10px 0;display:grid;gap:13px}.portal-sidebar-footer p{font-size:9px;line-height:1.9;color:var(--tint)}.portal-sidebar-footer a{font-size:10px;color:var(--white);font-weight:650}.cloud-label{display:inline-flex;align-items:center;gap:6px;font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:1px;color:var(--tint)}.cloud-label:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--brand-accent)}.portal-main{margin-inline-start:var(--sidebar);min-width:0}.portal-topbar{height:77px;display:flex;justify-content:space-between;align-items:center;padding:0 35px;gap:20px;border-bottom:1px solid var(--line);background:#fffffff2;position:sticky;top:0;z-index:15;backdrop-filter:blur(16px)}.club-selector{display:flex;align-items:center;gap:12px;min-width:0}.club-selector>.icon{color:var(--forest);width:18px;height:18px}.club-selector-copy{min-width:0}.club-selector-copy>span{display:block;font-size:8px;color:var(--muted);line-height:1.6}.club-selector-copy>strong{display:block;font-size:11px;font-weight:700;color:var(--ink);line-height:1.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:310px}.club-selector .button{font-size:9px;padding:6px 9px;min-height:29px;flex:none}.topbar-user{display:flex;align-items:center;gap:12px;min-width:0}.topbar-user-copy{text-align:end}.topbar-user-copy strong{display:block;font-size:11px;font-weight:650;line-height:1.7;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-badge{font-size:8px;display:inline-block;line-height:1.7;color:var(--muted);font-weight:500}.avatar{display:grid;place-items:center;border-radius:50%;width:35px;height:35px;flex:none;background:var(--tint);color:var(--forest);font-size:10px;font-weight:750}.portal-content{max-width:1480px;padding:33px 35px 45px;margin:auto;min-width:0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:27px}.page-heading p{font-size:11px;line-height:1.9;color:var(--muted);margin-top:7px}.page-heading .button{flex:none}.surface{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);min-width:0}.surface-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}.surface-heading h2{font-size:17px}.surface-heading p{font-size:10px;color:var(--muted);margin-top:5px}.empty-state{text-align:center;padding:38px 23px;border:1px dashed var(--line);border-radius:12px;background:var(--white)}.empty-state h2,.empty-state h3{font-size:18px;margin-bottom:11px;color:var(--forest)}.empty-state p{font-size:11px;line-height:1.9;color:var(--muted);max-width:490px;margin:auto}.empty-state .button{margin-top:20px}.inline-loader{display:flex;align-items:center;justify-content:center;gap:13px;min-height:200px;font-size:11px;color:var(--muted)}.inline-loader .loading-mark{width:22px;height:22px}.home-hero{display:grid;grid-template-columns:1fr 250px;align-items:center;gap:23px;background:var(--tint);border:1px solid var(--line);border-radius:18px;padding:29px;margin-bottom:25px;overflow:hidden}.home-hero h2{font-size:30px;line-height:1.2;letter-spacing:-1px;color:var(--forest)}.home-hero p{font-size:11px;line-height:1.9;color:var(--muted);max-width:400px;margin:13px 0 19px}.home-hero img{width:100%;max-width:280px;transform:scale(1.12);justify-self:end}.home-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:26px}.shortcut{display:block;text-align:start;background:var(--white);border:1px solid var(--line);border-radius:13px;padding:20px}.shortcut>.icon{color:var(--forest);width:23px;height:23px;margin-bottom:15px}.shortcut h3{font-size:14px;margin-bottom:7px}.shortcut p{font-size:10px;line-height:1.9;color:var(--muted)}.shortcut:hover{border-color:var(--control);background:var(--white)}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:23px}.metric{padding:20px;border:1px solid var(--line);border-radius:13px;background:var(--white);min-width:0}.metric>span{display:block;font-size:10px;color:var(--muted);line-height:1.7;margin-bottom:13px}.metric>strong{display:block;font-size:28px;font-weight:650;letter-spacing:-.9px;color:var(--forest);line-height:1.3;overflow-wrap:anywhere}.metric>strong small{font-size:11px;font-weight:550;letter-spacing:0}.metric p{font-size:9px;color:var(--muted);line-height:1.9;margin-top:8px}.booking-list{display:grid;gap:12px}.booking-row{display:flex;align-items:center;gap:18px;padding:17px;border:1px solid var(--line);border-radius:11px;background:var(--white)}.booking-row-date{display:flex;flex-direction:column;align-items:center;min-width:44px;color:var(--forest);font-size:19px;font-weight:700;line-height:1.3}.booking-row-date small{font-size:8px;color:var(--muted);font-weight:550}.booking-row-copy{flex:1;min-width:0}.booking-row-copy strong{display:block;font-size:12px;font-weight:700;line-height:1.7;overflow-wrap:anywhere}.booking-row-copy p{font-size:10px;line-height:1.9;color:var(--muted)}.booking-row .button{flex:none}.toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:23px}.toolbar-fields{display:flex;align-items:flex-end;gap:13px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field>label,.field>span{font-size:10px;color:var(--forest);font-weight:650;line-height:1.7}.field input,.field select,.field textarea{font:inherit;font-size:11px;min-height:41px;padding:10px 12px;border:1px solid var(--control);background:var(--white);border-radius:8px;color:var(--ink);width:100%;min-width:0}.field select{text-overflow:ellipsis}.field input[readonly]{background:var(--tint);color:var(--forest);font-weight:750}.field textarea{min-height:85px;resize:vertical}.field small{font-size:9px;color:var(--muted);line-height:1.8}.toolbar .field{min-width:145px}.court-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.court-card{background:var(--white);border:1px solid var(--line);border-radius:15px;overflow:hidden;min-width:0}.court-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:21px 21px 17px;border-bottom:1px solid var(--line);background:var(--tint)}.court-card-header h2{font-size:19px}.court-card-header p{font-size:10px;color:var(--muted);margin-top:7px}.court-price{color:var(--forest);font-size:14px;font-weight:750;text-align:end;line-height:1.5;white-space:nowrap}.court-price small{display:block;font-size:8px;font-weight:550;color:var(--muted)}.court-card-body{padding:18px 20px}.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.slot-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:49px;padding:8px;border:1px solid #d9d7bd;border-radius:7px;background:#fbfcf2;color:#737b51;font-size:10px;font-weight:750}.slot-button:hover{border-color:var(--forest);color:var(--forest);background:#f9edda}.slot-button small{font-size:7px;font-weight:500}.slot-button.busy{background:#f2eae0;color:#a38e74;border-color:#e7d9c6}.slot-button.past{background:#f8f3eb;color:#b3a48f;border-color:#eae2d7}.court-read-only{font-size:9px;color:var(--muted);line-height:1.9;margin-top:13px}.tag{display:inline-flex;align-items:center;font-size:8px;font-weight:650;padding:4px 7px;border-radius:5px;color:var(--forest);background:var(--tint);line-height:1.5;white-space:nowrap}.tag.due{background:#f9e7d1;color:#a66c3a}.tag.active{background:#eeeedb;color:#73794e}.tag.cancelled{background:#f3e8df;color:#997f69}.table-scroll{max-width:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--control) transparent;border:1px solid var(--line);border-radius:12px;background:var(--white)}.data-table{border-collapse:collapse;width:100%;text-align:start;min-width:750px}.data-table th{background:var(--tint);color:var(--muted);font-size:9px;font-weight:750;white-space:nowrap;padding:14px}.data-table td{padding:15px 14px;border-top:1px solid var(--line);font-size:10px;line-height:1.8;color:var(--muted);vertical-align:middle;overflow-wrap:anywhere}.data-table td strong{color:var(--ink);font-size:11px;font-weight:650}.data-table .amount{text-align:end;white-space:nowrap;color:var(--forest);font-variant-numeric:tabular-nums;font-weight:700}.data-table .table-actions{display:flex;gap:9px;align-items:center;white-space:nowrap}.table-hint{font-size:9px;color:var(--muted);line-height:1.8;margin-top:12px}.member-identity strong{display:block}.member-identity small{display:block;font-size:8px;margin-top:3px}.page-tabs{display:flex;align-items:center;gap:5px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:22px}.page-tab{padding:13px 15px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:11px;font-weight:650;white-space:nowrap}.page-tab.active{color:var(--forest);border-bottom-color:var(--forest)}.group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.group-card{border:1px solid var(--line);background:var(--white);border-radius:15px;padding:23px}.group-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.group-card h2{font-size:20px;margin-bottom:10px;overflow-wrap:anywhere}.group-card>p{font-size:10px;color:var(--muted);line-height:1.9}.group-coaches{display:flex;flex-wrap:wrap;gap:6px;margin:17px 0}.group-coaches>span{font-size:9px;font-weight:650;background:var(--tint);color:var(--forest);border-radius:5px;padding:5px 8px}.group-count{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:17px 0;color:var(--forest)}.group-count strong{font-size:25px;letter-spacing:-.6px;font-weight:650}.group-count strong small{font-size:15px;color:var(--muted);letter-spacing:0;font-weight:500}.group-count span{font-size:9px;color:var(--muted);line-height:1.9}.group-prices{display:grid;grid-template-columns:1fr 1fr;gap:15px}.group-prices span{display:block;font-size:8px;color:var(--muted);line-height:1.8}.group-prices strong{display:block;font-size:13px;color:var(--forest);font-weight:750;line-height:1.8;margin-top:4px}.group-card .button{margin-top:16px}.portal-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;font-size:9px;color:var(--muted);margin-top:32px;padding-top:17px;border-top:1px solid var(--line);line-height:1.9}.portal-dialog{border:0;border-radius:17px;width:min(690px,calc(100vw - 32px));max-height:calc(100dvh - 35px);padding:0;box-shadow:0 20px 100px #074b3a40;background:var(--white);color:var(--ink);overflow:auto}.portal-dialog::backdrop{background:#05382c70;backdrop-filter:blur(3px)}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:24px;border-bottom:1px solid var(--line)}.dialog-header h2{font-size:24px;line-height:1.4}.dialog-header p{font-size:10px;color:var(--muted);line-height:1.8;margin-top:7px}.dialog-body{padding:23px 24px;display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 15px}.form-grid .full{grid-column:1/-1}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px;border-top:1px solid var(--line);background:var(--white);position:sticky;bottom:0;z-index:2;flex-wrap:wrap}.form-error{border:1px solid #e3bfab;border-radius:8px;background:#fff0e4;padding:12px 14px;font-size:10px;color:#965138;line-height:1.9;margin:0;overflow-wrap:anywhere}.check-field{display:flex;align-items:center;gap:9px;font-size:10px;color:var(--muted);line-height:1.8}.check-field input{width:15px;height:15px;accent-color:var(--forest);flex:none}.check-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.check-options label{display:flex;align-items:center;gap:7px;font-size:10px;line-height:1.8;color:var(--muted)}.check-options input{width:15px;height:15px;accent-color:var(--forest)}fieldset{border:1px solid var(--line);border-radius:9px;padding:15px;margin:0}legend{font-size:10px;color:var(--forest);font-weight:700;padding:0 5px}.confirmation-list{margin:0;display:grid;gap:12px;border:1px solid var(--line);border-radius:10px;padding:17px;background:var(--tint)}.confirmation-list>div{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.confirmation-list dt{font-size:10px;color:var(--muted);line-height:1.9}.confirmation-list dd{margin:0;font-size:11px;line-height:1.9;text-align:end;font-weight:650;color:var(--ink);overflow-wrap:anywhere;max-width:70%}.confirmation-list .confirm-total{padding-top:12px;border-top:1px solid var(--line)}.confirmation-list .confirm-total dd{font-size:23px;color:var(--forest);letter-spacing:-.5px}.confirmation-help{font-size:10px;line-height:1.9;color:var(--muted)}.club-choice{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--white);text-align:start}.club-choice strong{display:block;font-size:13px;color:var(--forest);line-height:1.6}.club-choice small{display:block;font-size:9px;color:var(--muted);line-height:1.8;margin-top:5px}.club-choice.active{border-color:var(--forest);background:var(--tint)}.club-choice .icon{color:var(--forest)}.toast{position:fixed;bottom:25px;inset-inline-start:calc(50% + var(--sidebar)/2);transform:translateX(-50%);max-width:min(590px,calc(100vw - 40px));z-index:100;border-radius:10px;padding:14px 19px;background:var(--forest-deep);color:var(--white);box-shadow:0 6px 25px #074b3a25;font-size:11px;line-height:1.8}.auth-error-detail{font-size:10px;line-height:1.9;overflow-wrap:anywhere}.receipt-heading{text-align:center;padding-bottom:18px;border-bottom:1px solid var(--line)}.receipt-heading .brand{justify-content:center;margin-bottom:20px}.receipt-heading h3{font-size:20px;color:var(--forest)}.receipt-heading p{font-size:10px;color:var(--muted);margin-top:8px}.receipt-note{font-size:9px;color:var(--muted);line-height:1.9}.print-only{display:none}
@media(max-width:1100px){:root{--sidebar:208px}.portal-sidebar{padding-inline:13px}.brand{gap:7px}.brand-logo,.brand-logo img{width:53px;height:45px}.brand-name{font-size:22px}.brand-subtitle{font-size:7px}.portal-content{padding:29px 25px 38px}.portal-topbar{padding-inline:25px;gap:15px}.club-selector-copy>strong{max-width:235px}.home-hero{grid-template-columns:1fr 210px;padding:25px}.home-hero h2{font-size:27px}.home-shortcuts{gap:13px}.shortcut{padding:18px}.home-shortcuts:has(>.shortcut:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.auth-story{padding:35px}.auth-story h1{font-size:41px}.auth-panel{padding:40px 32px}.court-grid,.group-grid{gap:17px}.court-card-header{padding:19px 18px 16px}.court-card-body{padding:17px}.slot-grid{gap:7px}.slot-button{font-size:9px;padding:7px 5px}.topbar-user-copy strong{max-width:140px}}
@media(max-width:760px){:root{--sidebar:0px}.portal-sidebar{position:static;width:auto;padding:17px 18px 0;border-inline-end:0;border-bottom:1px solid var(--line);display:flex;gap:18px;background:var(--forest);color:var(--white);border-color:var(--nav-line)}.portal-sidebar>.brand{padding:0;margin:0}.brand-logo,.brand-logo img{width:52px;height:43px}.brand-name{font-size:22px}.brand-subtitle{font-size:7px;max-width:165px}.portal-nav{display:flex;gap:5px;overflow:auto;white-space:nowrap;margin:0 -5px;padding:0 0 13px;scrollbar-width:none}.nav-item{width:auto;padding:10px 12px;font-size:10px;gap:7px;flex:none;border-radius:7px}.nav-item .icon{width:15px;height:15px}.portal-sidebar-footer{display:none}.portal-main{margin:0}.portal-topbar{height:68px;padding:0 20px;gap:12px}.club-selector{gap:8px;flex:1;min-width:0}.club-selector>.icon{display:none}.club-selector-copy>span{font-size:7px}.club-selector-copy>strong{font-size:10px;max-width:190px}.club-selector .button{font-size:8px;padding:5px 7px;min-height:27px}.topbar-user{gap:8px}.topbar-user-copy{display:none}.avatar{width:31px;height:31px;font-size:9px}.topbar-user>.icon-button{width:30px;height:30px}.portal-content{padding:25px 19px 30px}.page-heading{align-items:flex-start;gap:13px;margin-bottom:23px}h1{font-size:27px;letter-spacing:-.9px}.page-heading p{font-size:10px;margin-top:7px;line-height:1.9}.page-heading>.button{font-size:9px;padding:9px 11px;min-height:36px}.eyebrow{font-size:8px;letter-spacing:1.4px}.home-hero{grid-template-columns:minmax(0,1fr) 135px;gap:5px;padding:22px 19px;margin-bottom:20px}.home-hero h2{font-size:25px;letter-spacing:-.9px}.home-hero p{font-size:9px;line-height:1.9;margin:12px 0 16px}.home-hero .button{font-size:9px;min-height:35px;padding:9px 12px}.home-hero img{transform:scale(1.35) translateX(7px)}.home-shortcuts{grid-template-columns:1fr!important;gap:12px;margin-bottom:22px}.shortcut{padding:18px;display:grid;grid-template-columns:30px 1fr;gap:3px 12px}.shortcut>.icon{grid-row:1/3;margin:2px 0 0;width:22px;height:22px}.shortcut h3{font-size:13px;margin:0}.shortcut p{font-size:9px;line-height:1.9}.surface{padding:18px}.surface-heading h2{font-size:16px}.surface-heading p{font-size:9px}.booking-row{padding:14px;gap:13px;flex-wrap:wrap}.booking-row-date{font-size:20px;min-width:38px}.booking-row-copy strong{font-size:11px}.booking-row-copy p{font-size:9px}.booking-row .button{font-size:8px;padding:7px 9px;min-height:29px;margin-inline-start:auto}.metric-grid{gap:8px;margin-bottom:20px}.metric{padding:13px 10px;border-radius:10px}.metric>span{font-size:8px;line-height:1.7;min-height:27px;margin-bottom:8px}.metric>strong{font-size:22px;letter-spacing:-.6px}.metric>strong small{font-size:9px}.metric p{font-size:7px;line-height:1.8;margin-top:7px}.toolbar{gap:14px;margin-bottom:20px}.toolbar-fields{gap:12px;width:100%}.toolbar .field{min-width:0;flex:1}.toolbar .field:only-child{flex:0 1 190px}.field>label,.field>span{font-size:9px}.field input,.field select,.field textarea{font-size:11px;padding:10px;min-height:41px}.field small{font-size:8px}.court-grid,.group-grid{grid-template-columns:1fr;gap:18px}.court-card-header h2{font-size:19px}.court-card-header p{font-size:9px}.court-price{font-size:14px}.court-price small{font-size:8px}.court-card-body{padding:17px}.slot-grid{gap:8px}.slot-button{font-size:10px;min-height:49px}.slot-button small{font-size:7px}.court-read-only{font-size:8px}.group-card{padding:21px}.group-card h2{font-size:21px}.group-card>p{font-size:10px}.group-count strong{font-size:27px}.group-count span{font-size:9px}.group-prices strong{font-size:13px}.group-coaches>span{font-size:9px}.data-table th{font-size:8px;padding:13px 12px}.data-table td{font-size:9px;padding:14px 12px}.data-table td strong{font-size:10px}.table-hint{font-size:8px;line-height:1.9}.page-tab{font-size:10px;padding:12px}.page-tabs{margin-bottom:20px}.portal-footer{font-size:8px;margin-top:27px;gap:8px}.notice{font-size:10px;padding:12px 14px;margin-bottom:18px;line-height:1.9}.notice>strong{font-size:11px}.empty-state{padding:31px 20px}.empty-state h2,.empty-state h3{font-size:18px}.empty-state p{font-size:10px;line-height:1.9}.auth-layout{grid-template-columns:1fr;min-height:100dvh}.auth-story{padding:23px 26px 27px;min-height:auto}.auth-story-copy{padding-top:35px;margin:0;max-width:330px}.auth-story h1{font-size:35px;line-height:1.14;letter-spacing:-1.2px;max-width:260px}.auth-story-copy>p:last-child{font-size:10px;line-height:1.9;max-width:240px;margin-top:13px}.auth-story>.auth-art{position:absolute;width:190px;right:-20px;bottom:-14px;opacity:.55;margin:0}.auth-story-footer{display:none}.auth-story .eyebrow{font-size:7px}.auth-panel{padding:33px 26px 32px;justify-content:flex-start}.auth-card{max-width:none}.auth-card>h2{font-size:26px;margin-bottom:13px}.auth-card>p{font-size:11px;line-height:1.9;margin-bottom:19px}.auth-card>.eyebrow{font-size:8px;margin-bottom:10px}.auth-card .button{font-size:11px;min-height:44px;margin-top:9px}.auth-security-note{font-size:9px!important;line-height:1.9!important;padding-top:17px;margin-top:21px}.auth-demo-link{font-size:9px;margin-top:22px}.portal-dialog{border-radius:15px;max-height:calc(100dvh - 25px)}.dialog-header{padding:21px 19px 18px}.dialog-header h2{font-size:21px;line-height:1.45}.dialog-header p{font-size:9px}.dialog-body{padding:20px 19px;gap:17px}.form-grid{grid-template-columns:1fr;gap:16px}.form-grid .full{grid-column:auto}.dialog-footer{padding:15px 19px;gap:9px}.dialog-footer .button{font-size:10px;min-height:39px}.check-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.check-options label{font-size:10px}.confirmation-list{padding:15px;gap:11px}.confirmation-list dt{font-size:9px}.confirmation-list dd{font-size:10px;max-width:67%}.confirmation-list .confirm-total dd{font-size:21px}.confirmation-help{font-size:9px}.toast{inset-inline-start:50%;bottom:18px;font-size:10px;padding:13px 16px;max-width:calc(100vw - 32px)}.club-choice{padding:15px}.club-choice strong{font-size:12px}.club-choice small{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{body>*{display:none!important}body:has(.receipt-dialog[open])>#portal-dialog{display:block!important;position:static;width:100%;max-height:none;box-shadow:none;border:0;background:white}.receipt-dialog::backdrop{display:none}.receipt-dialog .dialog-header,.receipt-dialog .dialog-footer{display:none!important}.receipt-dialog .dialog-body{padding:20px}.print-only{display:block}.receipt-dialog .confirmation-list{border:0;background:white}.receipt-dialog .confirmation-help{display:none}}
.page-heading>div:first-child{flex:1;min-width:0}.heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;flex:none}.heading-actions .button{white-space:nowrap}#cloud-coach-rows{display:grid;gap:14px}@media(max-width:760px){.heading-actions{gap:7px;max-width:150px}.heading-actions .button{font-size:9px;min-height:35px;padding:9px 11px}.page-heading:has(.heading-actions>.button:nth-child(2)){flex-wrap:wrap}.page-heading:has(.heading-actions>.button:nth-child(2))>.heading-actions{max-width:none;width:100%;justify-content:flex-start}.page-heading:has(.heading-actions>.button:nth-child(2))>div:first-child{flex-basis:100%}}
.brand .platform-logo{width:40px;height:40px;border-radius:10px;background:var(--tint);color:var(--forest)}.platform-logo svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.brand-name{font-size:21px;letter-spacing:-.7px;white-space:nowrap}.brand-subtitle{font-size:8px;max-width:145px}.auth-story .brand-name{font-size:24px}.auth-story .platform-logo{width:44px;height:44px}@media(max-width:1100px) and (min-width:761px){.portal-sidebar .brand{gap:8px}.portal-sidebar .brand-name{font-size:19px}.portal-sidebar .platform-logo{width:33px;height:37px}.portal-sidebar .platform-logo svg{width:28px;height:28px}.portal-sidebar .brand-subtitle{font-size:7px}}@media(max-width:760px){.brand-name{font-size:23px;letter-spacing:-.8px}.brand .platform-logo{width:39px;height:39px}.brand-subtitle{font-size:8px;max-width:150px}.auth-story .brand-name{font-size:24px}}

/* Account profiles and club access management. */
.portal-sidebar{overflow-y:auto}.portal-sidebar>.brand{flex:none;margin-bottom:25px}.portal-nav{padding-bottom:20px}.portal-sidebar-footer{margin-top:auto;padding-top:18px}.nav-section{display:grid;gap:5px;margin-top:14px}.nav-section-label{font-size:8px;font-weight:750;letter-spacing:1.2px;color:var(--tint);padding:4px 14px 6px}.nav-item{font-size:11px;padding:11px 13px}.profile-shortcut{border:0;background:transparent;padding:4px 0;text-align:end;cursor:pointer}.topbar-user-copy .role-badge{white-space:normal;line-height:1.7;max-width:190px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px;margin-bottom:24px}.profile-card{min-width:0;margin-bottom:0}.profile-card-heading{display:flex;gap:15px;align-items:center;margin-bottom:24px}.profile-card-heading h2{font-size:22px;overflow-wrap:anywhere}.profile-card-heading p{font-size:11px;color:var(--muted);overflow-wrap:anywhere;margin-top:5px}.avatar.large{width:52px;height:52px;font-size:16px;flex:none}.profile-details{margin:0 0 20px;display:grid;gap:18px}.profile-details dt{font-size:10px;color:var(--muted);margin-bottom:7px}.profile-details dd{margin:0;font-size:11px;color:var(--ink);overflow-wrap:anywhere;line-height:1.9}.profile-details code{display:block;font-size:11px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-bottom:9px}.profile-card .surface-heading{gap:13px;align-items:flex-start;flex-wrap:wrap}.profile-card .surface-heading h2{font-size:18px}.profile-club-name{font-size:13px;font-weight:650;color:var(--forest);line-height:1.8}.rights-list{padding-inline-start:18px;font-size:11px;color:var(--muted);line-height:1.9;margin:16px 0 19px}.rights-list li+li{margin-top:8px}.rights-list .rights-role{list-style:none;margin-inline-start:-18px;margin-top:16px}.rights-role strong{font-size:11px;color:var(--forest)}.rights-role ul{padding-inline-start:18px;margin-top:7px}.profile-card>.button{margin-top:20px}.profile-clubs{display:grid;gap:12px}.profile-club{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:17px;background:var(--white)}.profile-club>div{display:flex;align-items:center;gap:13px;min-width:0}.profile-club .icon{color:var(--forest)}.profile-club strong{display:block;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.profile-club small{display:block;font-size:10px;line-height:1.8;color:var(--muted);margin-top:5px}.profile-club>.tag,.profile-club>.button{flex:none}.admin-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-module{position:relative;min-width:0;padding:22px}.admin-module>.icon{margin-bottom:17px}.admin-module h2{font-size:19px;margin-bottom:9px}.admin-module p{font-size:11px;line-height:1.9;max-width:390px}.module-note{display:block;float:right;font-size:9px;color:var(--muted);padding:5px 8px;border-radius:5px;background:var(--tint)}.module-link{display:flex;align-items:center;justify-content:space-between;margin-top:23px;border-top:1px solid var(--line);padding-top:14px;font-size:10px;color:var(--forest);font-weight:700}.module-link .icon{width:15px;height:15px}.access-role-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:25px}.access-role-guide article{border:1px solid var(--line);background:var(--white);border-radius:10px;padding:17px}.access-role-guide h2{font-size:14px;margin-bottom:8px}.access-role-guide p{font-size:10px;color:var(--muted);line-height:1.9}.access-table{min-width:630px}.access-table .role-badge{white-space:normal;line-height:1.9}.access-table .member-identity strong .tag{margin-inline-start:5px}.access-last-admin-note{margin-top:20px}.profile-card .confirmation-help{margin-bottom:6px}[data-access-fields]{display:grid;gap:18px}[data-access-review]{display:grid;gap:18px}[data-access-review] .confirmation-list dd{max-width:70%}
@media(max-width:1100px){.profile-grid{gap:17px}.profile-details code{font-size:10px}.access-role-guide{gap:11px}.access-role-guide article{padding:14px}.nav-item{font-size:10px;padding:11px 10px}.admin-module{padding:20px}}
@media(max-width:760px){.portal-sidebar{overflow:visible}.portal-sidebar>.brand{margin-bottom:0}.portal-nav{padding-bottom:13px}.nav-section{display:contents;margin:0}.nav-section-label{display:none;color:var(--tint)}.nav-item{font-size:10px;padding:10px 12px}.profile-grid{grid-template-columns:1fr;gap:17px;margin-bottom:21px}.profile-card-heading h2{font-size:21px}.profile-card-heading p{font-size:10px}.profile-details code{font-size:11px}.profile-details dt{font-size:9px}.profile-details dd{font-size:10px}.profile-club{padding:15px;gap:12px;flex-wrap:wrap}.profile-club strong{font-size:11px}.profile-club small{font-size:9px}.profile-club>.button,.profile-club>.tag{margin-inline-start:auto}.rights-list{font-size:10px;line-height:1.9}.rights-role strong{font-size:10px}.admin-module-grid{grid-template-columns:1fr;gap:14px}.admin-module{display:block;padding:20px}.admin-module h2{font-size:20px}.admin-module p{font-size:10px}.module-note{font-size:8px}.module-link{font-size:10px;margin-top:18px}.access-role-guide{grid-template-columns:1fr;gap:10px;margin-bottom:20px}.access-role-guide article{padding:15px}.access-role-guide h2{font-size:13px;margin-bottom:5px}.access-role-guide p{font-size:9px}.profile-card .surface-heading{margin-bottom:14px}.profile-card .surface-heading h2{font-size:17px}}

.auth-choices{display:grid;grid-template-columns:1fr 1fr;gap:11px}.auth-choices .button{padding-inline:10px}.auth-card>.button.ghost{width:auto;font-size:9px;text-align:start;min-height:29px;margin-top:7px}.auth-choices+.button.ghost{margin-top:8px}@media(max-width:420px){.auth-choices{grid-template-columns:1fr;gap:0}}

.invitation-link{margin-top:22px}.invitation-link input{width:100%;font-size:14px}.invitation-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.portal-sidebar-footer>.button{margin-bottom:20px;width:100%}

/* Private conversations and invitation flows remain available without club membership. */
.profile-social-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.profile-social-intro h2{font-size:19px}.profile-social-intro p{font-size:11px;color:var(--muted);margin-top:7px}.profile-social-intro .invitation-actions{margin-top:0;flex:none}.social-invitation-choice{display:grid;gap:13px;padding:19px;border:1px solid var(--line);border-radius:11px;background:var(--tint);margin-bottom:10px}.social-invitation-choice p,.social-share-panel>p,.social-invitation-panel>p{font-size:11px;color:var(--muted)}.social-invitation-choice>.button{justify-self:start}.social-share-panel,.social-invitation-panel{margin-bottom:24px}.social-share-panel>.button{margin-top:17px}.social-share-panel .confirmation-help,.social-invitation-panel .confirmation-help{margin-top:16px}.social-share-panel .form-error,.social-invitation-panel .form-error{margin-top:18px}.contact-list{display:grid;gap:12px}.contact-row{display:flex;align-items:center;gap:15px;padding:17px;border:1px solid var(--line);border-radius:11px;background:var(--white)}.contact-identity{flex:1;min-width:0}.contact-identity h3{font-size:14px;overflow-wrap:anywhere}.contact-identity p{font-size:10px;color:var(--muted);margin-top:5px}.contact-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.messaging-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:20px;align-items:start}.conversation-sidebar,.conversation-thread{background:var(--white);border:1px solid var(--line);border-radius:13px;padding:20px;min-width:0}.conversation-sidebar>.surface-heading{gap:10px;margin-bottom:19px}.conversation-sidebar h2{font-size:16px}.conversation-sidebar>.button{margin-top:15px}.conversation-item{display:block;width:100%;text-align:start;border:1px solid transparent;border-radius:9px;background:transparent;padding:13px;margin-bottom:7px}.conversation-item:hover,.conversation-item.active{background:var(--tint);border-color:var(--control)}.conversation-item strong{display:block;font-size:12px;color:var(--forest);line-height:1.8;overflow-wrap:anywhere}.conversation-item small{display:block;font-size:10px;line-height:1.9;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item time{display:block;font-size:8px;line-height:1.9;color:var(--muted);margin-top:6px}.conversation-header{display:flex;align-items:start;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:18px}.conversation-header h2{font-size:19px;overflow-wrap:anywhere}.conversation-header p{font-size:9px;color:var(--muted);margin-top:5px}.message-list{display:flex;flex-direction:column;gap:14px;max-height:480px;min-height:120px;overflow-y:auto;padding:3px 4px 18px;scrollbar-width:thin}.message-bubble{background:var(--tint);border:1px solid var(--line);border-radius:13px;padding:13px 15px;max-width:88%;align-self:flex-start;overflow-wrap:anywhere}.message-bubble.mine{align-self:flex-end;background:var(--tint);border-color:var(--control)}.message-bubble>span{font-size:9px;color:var(--forest);font-weight:750}.message-bubble p{font-size:12px;line-height:1.8;white-space:pre-wrap;margin-top:6px}.message-bubble time{display:block;font-size:8px;color:var(--muted);text-align:end;line-height:1.8;margin-top:8px}.message-composer{border-top:1px solid var(--line);padding-top:17px;display:grid;gap:13px}.message-composer>.button{justify-self:end}.message-composer textarea{font-size:12px}.conversation-thread>.form-error{margin-bottom:14px}.conversation-sidebar>.form-error{margin-bottom:12px}.conversation-thread>.notice{margin-top:15px;margin-bottom:0}
@media(max-width:1000px){.messaging-layout{grid-template-columns:210px minmax(0,1fr);gap:15px}.conversation-sidebar,.conversation-thread{padding:16px}.profile-social-intro{align-items:flex-start;flex-direction:column}.profile-social-intro .invitation-actions{flex-wrap:wrap}.conversation-header{flex-wrap:wrap}}
@media(max-width:760px){.profile-social-intro h2{font-size:18px}.profile-social-intro p{font-size:10px}.social-invitation-choice{padding:17px}.social-invitation-choice p,.social-share-panel>p,.social-invitation-panel>p{font-size:10px}.social-share-panel,.social-invitation-panel{margin-bottom:19px}.contact-row{padding:15px;gap:12px;flex-wrap:wrap}.contact-identity h3{font-size:13px}.contact-identity p{font-size:9px}.contact-actions{width:100%;justify-content:flex-end;gap:13px}.messaging-layout{grid-template-columns:1fr;gap:17px}.conversation-sidebar{padding:17px;max-height:290px;overflow-y:auto}.conversation-item{padding:11px}.conversation-thread{padding:17px}.conversation-header h2{font-size:18px}.message-list{max-height:440px;gap:12px}.message-bubble{max-width:94%;padding:12px 13px}.message-bubble p{font-size:12px}.message-bubble>span{font-size:8px}.invitation-actions .button{font-size:10px}.portal-sidebar-footer>.button{margin-bottom:10px}}

.club-verification-banner p{font-size:11px;line-height:1.9}.club-verification-banner p+p{margin-top:5px}.verification-document{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px;border:1px solid var(--line);border-radius:10px;margin:22px 0;background:var(--white)}.verification-document strong{font-size:12px;color:var(--forest)}.verification-document p{font-size:10px;color:var(--muted);margin-top:7px}.verification-document+.notice{margin-top:20px}.verification-document~.button{margin-top:10px}#club-proof-file{font-size:11px;max-width:100%}@media(max-width:760px){.club-verification-banner p{font-size:10px}.verification-document{padding:15px;flex-wrap:wrap}.verification-document strong{font-size:11px}.verification-document p{font-size:9px}.verification-document>.button{margin-inline-start:auto}}

/* Decorative tennis bounce beneath the public sign-in choices. */
.auth-tennis-moment{position:relative;height:86px;margin:19px 0 0;pointer-events:none;isolation:isolate}.auth-tennis-moment::after{content:"";position:absolute;left:calc(50% - 68px);bottom:5px;width:136px;height:1px;background:linear-gradient(90deg,transparent,#074b3a30,transparent)}.auth-tennis-ball{position:absolute;left:calc(50% - 19px);bottom:10px;width:38px;height:38px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 31% 25%,#f2e879 0,#d5cf57 48%,#aeb149 100%);box-shadow:inset -3px -4px 5px #75812a28,0 1px 1px #97813f21;transform-origin:50% 100%;animation:auth-tennis-bounce 1.85s infinite}.auth-tennis-ball::before,.auth-tennis-ball::after{content:"";position:absolute;top:-5px;width:35px;height:46px;border:2px solid #fff8d2;border-radius:50%;opacity:.94}.auth-tennis-ball::before{left:-27px;transform:rotate(-13deg)}.auth-tennis-ball::after{right:-27px;transform:rotate(-13deg)}.auth-tennis-shadow{position:absolute;left:calc(50% - 23px);bottom:6px;width:46px;height:6px;border-radius:50%;background:var(--forest);filter:blur(2px);opacity:.2;animation:auth-tennis-shadow 1.85s infinite}@keyframes auth-tennis-bounce{0%,100%{transform:translateY(-35px) rotate(-12deg) scale(1);animation-timing-function:cubic-bezier(.42,0,.82,.5)}45%{transform:translateY(0) rotate(13deg) scale(1.1,.88);animation-timing-function:cubic-bezier(.12,.65,.35,1)}55%{transform:translateY(-7px) rotate(9deg) scale(.97,1.03);animation-timing-function:cubic-bezier(.1,.65,.35,1)}}@keyframes auth-tennis-shadow{0%,100%{transform:scale(.68);opacity:.12;animation-timing-function:cubic-bezier(.42,0,.82,.5)}45%{transform:scale(1.07);opacity:.29;animation-timing-function:cubic-bezier(.12,.65,.35,1)}55%{transform:scale(.94);opacity:.23;animation-timing-function:cubic-bezier(.1,.65,.35,1)}}@media(prefers-reduced-motion:reduce){.auth-tennis-ball,.auth-tennis-shadow{animation:none}.auth-tennis-ball{transform:none}.auth-tennis-shadow{opacity:.2;background:var(--forest)}}

/* Exact-email account check within the club member form. */
.member-email-controls{display:flex;gap:9px;align-items:center}.member-email-controls>input{min-width:0;flex:1}.member-email-controls>.button{flex:none;white-space:nowrap}.member-account-panel{padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:var(--tint);display:grid;gap:11px;min-width:0}.member-account-panel>strong{font-size:12px;color:var(--forest)}.member-account-panel>p{font-size:10px;color:var(--muted);line-height:1.9}.member-account-panel .form-error,.member-account-panel .notice{margin:0}.member-account-preview{display:grid;gap:11px;margin:0}.member-account-preview>div{display:grid;gap:5px}.member-account-preview dt{font-size:9px;color:var(--muted)}.member-account-preview dd{font-size:11px;line-height:1.8;color:var(--ink);margin:0;overflow-wrap:anywhere}@media(max-width:760px){.member-email-controls{align-items:stretch;flex-direction:column}.member-email-controls>.button{align-self:flex-start}.member-account-panel{padding:15px}.member-account-panel>strong{font-size:11px}.member-account-panel>p{font-size:9px}}

/* Legal notice is available before sign-in and from every connected space. */
.legal-notice-trigger{display:inline-flex;align-items:center;min-height:28px;padding:3px 0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:10px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.legal-notice-trigger:hover{color:var(--forest)}.auth-legal-footer{display:flex;margin-top:20px}.legal-notice-dialog{width:min(760px,calc(100vw - 32px))}.legal-notice-dialog .dialog-header{position:sticky;top:0;z-index:3;background:var(--white)}.legal-notice-dialog .dialog-header .eyebrow{display:none}.legal-notice-copy{display:grid;gap:25px}.legal-notice-copy section{min-width:0}.legal-notice-copy h3{font-size:17px;color:var(--forest);line-height:1.5;margin:0 0 12px}.legal-notice-copy p{font-size:12px;line-height:1.85;color:var(--ink);overflow-wrap:anywhere}.legal-notice-copy p+p{margin-top:11px}.legal-notice-copy a{color:var(--forest);text-decoration:underline;text-underline-offset:3px}.legal-company-details{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;margin:0}.legal-company-details dt{font-size:10px;line-height:1.7;color:var(--muted);margin-bottom:4px}.legal-company-details dd{font-size:12px;line-height:1.85;color:var(--ink);margin:0;overflow-wrap:anywhere}@media(max-width:760px){.legal-notice-trigger{font-size:10px}.legal-notice-copy{gap:23px}.legal-notice-copy h3{font-size:16px}.legal-company-details{grid-template-columns:1fr;gap:14px}.legal-notice-copy p,.legal-company-details dd{font-size:12px}}

/* Player discovery and match proposals are independent of club membership. */
.player-settings{margin-bottom:24px}.player-settings .surface-heading{align-items:flex-start;gap:18px}.player-settings .surface-heading h2{font-size:20px}.player-settings .surface-heading p{font-size:11px;color:var(--muted);margin-top:8px}.public-player-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:20px 0}.public-player-details dt{font-size:10px;color:var(--muted);margin-bottom:9px}.public-player-details dd{margin:0;font-size:12px;color:var(--ink);line-height:1.9;overflow-wrap:anywhere}.player-search{gap:16px;align-items:flex-end}.player-search .toolbar-fields{display:grid;grid-template-columns:minmax(190px,1fr) minmax(140px,.65fr);gap:15px;flex:1}.player-search .field{margin:0}.player-search>.button{flex:none}.player-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-bottom:21px}.player-card{display:flex;align-items:center;gap:15px;min-width:0;margin:0;padding:21px;flex-wrap:wrap}.player-card>div{flex:1;min-width:110px}.player-card h2{font-size:19px;line-height:1.5;overflow-wrap:anywhere}.player-card p{font-size:10px;color:var(--muted);line-height:1.9;margin-top:6px}.player-card>.button{margin-inline-start:auto}.directory-privacy-note{margin-top:23px}.notification-count{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 6px;font-size:10px;font-weight:750;color:var(--white);background:var(--forest);border-radius:99px;font-variant-numeric:tabular-nums;flex:none}.nav-item>.notification-count{margin-inline-start:auto}.match-notification{display:flex;align-items:center;justify-content:space-between;gap:20px}.match-notification p{font-size:11px;color:var(--muted);margin-top:6px}.match-notification>.button{flex:none}.match-proposal-list{display:grid;gap:18px;margin-bottom:21px}.match-proposal-card{margin:0;padding:25px}.match-proposal-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.match-proposal-card h2{font-size:23px;line-height:1.5;overflow-wrap:anywhere}.match-proposal-card .eyebrow{font-size:8px;line-height:1.8;margin-bottom:7px}.match-proposal-card>header p:not(.eyebrow){font-size:11px;color:var(--muted);margin-top:6px}.match-proposal-card>header>.tag{flex:none}.proposal-slot{font-size:12px;font-weight:650;color:var(--forest);line-height:1.8}.proposal-message{white-space:pre-wrap;overflow-wrap:anywhere;padding:16px 18px;background:var(--tint);border:1px solid var(--line);border-inline-start:3px solid var(--forest);border-radius:9px;font-size:12px;line-height:1.9;margin:16px 0}.match-proposal-card>.confirmation-help{margin-top:14px}.proposal-actions{display:flex;gap:11px;align-items:center;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.proposal-actions>.ghost{margin-inline-start:auto}.page-tab>.notification-count{margin-inline-start:7px}.player-directory~.button,.match-proposal-list~.button{margin-top:5px}
@media(max-width:1000px){.player-directory{grid-template-columns:1fr}.player-card>div{min-width:140px}.public-player-details{gap:16px}.player-settings .surface-heading{flex-wrap:wrap}}
@media(max-width:760px){.player-settings{margin-bottom:20px}.player-settings .surface-heading h2{font-size:19px}.player-settings .surface-heading p{font-size:10px}.public-player-details{grid-template-columns:1fr;gap:16px}.public-player-details dt{font-size:9px}.public-player-details dd{font-size:11px}.player-search{display:grid;grid-template-columns:1fr;gap:13px}.player-search .toolbar-fields{grid-template-columns:1fr;gap:13px}.player-search>.button{justify-self:start}.player-card{padding:18px;gap:13px}.player-card h2{font-size:19px}.player-card p{font-size:10px}.player-card>.button{margin-inline-start:auto}.match-notification{align-items:flex-start;flex-wrap:wrap;gap:14px}.match-notification p{font-size:10px}.match-notification>.button{margin-inline-start:auto}.match-proposal-card{padding:19px}.match-proposal-card h2{font-size:22px}.match-proposal-card>header{gap:12px}.match-proposal-card>header p:not(.eyebrow){font-size:10px}.proposal-slot{font-size:11px}.proposal-message{padding:14px;font-size:12px}.proposal-actions{gap:9px}.proposal-actions>.ghost{margin-inline-start:0}.notification-count{font-size:9px;min-width:20px;height:20px;color:var(--white);background:var(--forest)}}

/* Club information is readable by members and maintained by its administrators. */
.club-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.club-settings-grid>.surface{min-width:0;margin:0}.club-identity-heading{display:flex;align-items:center;gap:20px;margin-bottom:28px}.club-identity-heading h2{font-size:24px;line-height:1.5;overflow-wrap:anywhere}.club-identity-heading .eyebrow{font-size:8px;margin-bottom:8px}.club-profile-logo{display:block;width:100px;height:100px;object-fit:contain;flex:none;border:1px solid var(--line);border-radius:13px;background:#fff;padding:8px}.club-profile-placeholder{width:85px;height:85px;display:flex;align-items:center;justify-content:center;flex:none;border:1px solid var(--line);border-radius:13px;background:var(--tint);color:var(--forest)}.club-profile-placeholder .icon{width:35px;height:35px}.club-contact-details{margin:0;display:grid;gap:22px}.club-contact-details dt{font-size:10px;color:var(--muted);margin-bottom:8px}.club-contact-details dd{font-size:12px;line-height:1.9;margin:0;color:var(--ink);overflow-wrap:anywhere}.club-opening-card .surface-heading h2{font-size:21px}.club-opening-hours{display:grid;gap:0;margin:0 0 19px}.club-opening-hours>div{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}.club-opening-hours>div:first-child{padding-top:0}.club-opening-hours dt{font-size:11px;color:var(--forest);font-weight:650}.club-opening-hours dd{font-size:11px;line-height:1.8;text-align:end;margin:0;color:var(--muted)}.club-settings-dialog{width:min(850px,calc(100vw - 32px))}.club-address-fields>.field:first-child{grid-column:1/-1}.club-logo-editor{display:grid;gap:16px}.club-logo-editor>.button{justify-self:start}.club-logo-editor .club-profile-logo{width:112px;height:112px}.club-logo-editor input[type=file]{max-width:100%;font-size:11px}.club-hours-editor>.confirmation-help{margin-bottom:18px}.club-hours-row{display:grid;grid-template-columns:85px 135px minmax(0,1fr);gap:15px;align-items:start;padding:20px 0;border-top:1px solid var(--line)}.club-hours-row h3{font-size:12px;color:var(--forest);line-height:1.8;padding-top:28px}.club-hours-slots{display:grid;gap:12px}.club-hours-slots[hidden]{display:none}.club-hours-slot{display:grid;grid-template-columns:1fr 1fr;gap:10px}.club-hours-row .field{min-width:0}.club-hours-row input{min-width:0;width:100%}
@media(max-width:1000px){.club-settings-grid{grid-template-columns:1fr;gap:19px}.club-identity-heading h2{font-size:23px}}
@media(max-width:760px){.club-identity-heading{gap:15px;margin-bottom:23px}.club-identity-heading h2{font-size:21px}.club-profile-logo{width:80px;height:80px;padding:6px}.club-profile-placeholder{width:70px;height:70px}.club-contact-details{gap:18px}.club-contact-details dt{font-size:9px}.club-contact-details dd{font-size:11px}.club-opening-card .surface-heading h2{font-size:19px}.club-opening-hours dt,.club-opening-hours dd{font-size:10px}.club-address-fields>.field:first-child{grid-column:auto}.club-hours-row{grid-template-columns:1fr;gap:12px;padding:18px 0}.club-hours-row h3{padding-top:0;font-size:13px}.club-hours-row>.field{max-width:210px}.club-hours-slot{gap:12px}.club-logo-editor input[type=file]{font-size:10px}}

/* Club administrators assign staff access; reservation managers see operational planning. */
.staff-search-panel{margin-bottom:25px}.staff-search-panel .surface-heading{margin-bottom:20px}.staff-search-panel h2{font-size:21px}.staff-search-panel .surface-heading p{font-size:11px;line-height:1.9;margin-top:7px;color:var(--muted)}.staff-search-panel>.confirmation-help{margin-top:17px}.staff-search-panel>.form-error{margin-top:17px}.staff-search-panel .toolbar{align-items:flex-end;margin-bottom:15px}.staff-search-panel .toolbar-fields{flex:1}.staff-search-panel .field{width:100%;max-width:470px}.staff-account-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.staff-candidates{display:grid;gap:12px;margin-top:22px}.staff-candidate{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--white)}.staff-candidate>div{min-width:0}.staff-candidate strong{font-size:13px;line-height:1.8;color:var(--forest);overflow-wrap:anywhere}.staff-candidate p{font-size:10px;color:var(--muted);line-height:1.9;margin-top:5px}.staff-candidate small{font-size:10px;line-height:1.9;color:var(--muted);overflow-wrap:anywhere}.staff-candidate>.button{flex:none}.staff-search-panel>.button{margin-top:19px}.check-options:has(input[value=booking_manager]){grid-template-columns:repeat(2,minmax(0,1fr))}.planning-grid-scroll{overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--white);margin-bottom:24px;max-height:760px}.planning-grid{border-collapse:separate;border-spacing:0;min-width:100%;table-layout:fixed}.planning-grid th,.planning-grid td{border-inline-end:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;min-width:140px;vertical-align:top}.planning-grid th:last-child,.planning-grid td:last-child{border-inline-end:0}.planning-grid thead th{background:var(--tint);color:var(--forest);font-size:12px;font-weight:650;text-align:start;position:sticky;top:0;z-index:2;padding:15px 13px}.planning-grid th:first-child{min-width:74px;width:74px}.planning-grid tbody th{position:sticky;inset-inline-start:0;background:var(--white);font-size:11px;font-weight:650;color:var(--forest);padding-top:18px;z-index:1}.planning-grid thead th:first-child{inset-inline-start:0;z-index:3}.planning-grid tbody tr:last-child td,.planning-grid tbody tr:last-child th{border-bottom:0}.planning-free{border:1px solid #e0d2bd;background:#fffaf2;color:var(--forest);border-radius:7px;min-height:49px;width:100%;padding:11px;font-size:11px;font-weight:650;cursor:pointer}.planning-free:hover:not(:disabled){background:#f5e5d0;border-color:#bc9066}.planning-free:disabled{opacity:.5;cursor:default}.planning-occupied{border-radius:8px;border:1px solid #d0dcd4;background:#eef3ec;padding:12px;min-width:130px}.planning-occupied strong{font-size:11px;line-height:1.8;color:#345548;display:block;overflow-wrap:anywhere}.planning-occupied small{font-size:9px;line-height:1.8;color:#567365;display:block;margin-top:4px}.planning-occupied .ghost{font-size:9px;padding:8px 0;min-height:29px;margin-top:3px}.planning-blocked{display:block;border:1px solid #e2cbb6;border-radius:7px;padding:13px 10px;background:repeating-linear-gradient(135deg,#f3e6d6,#f3e6d6 6px,#f0dfca 6px,#f0dfca 7px);font-size:10px;line-height:1.9;color:#8c6141;min-height:49px;overflow-wrap:anywhere}.planning-blocks{margin-top:23px}.planning-blocks h2{font-size:20px}
@media(max-width:760px){.staff-search-panel h2{font-size:19px}.staff-search-panel .surface-heading p{font-size:10px}.staff-search-panel .toolbar{flex-wrap:wrap;gap:12px}.staff-search-panel .toolbar>.button{font-size:10px}.staff-account-actions{gap:9px}.staff-account-actions>.button{font-size:10px}.staff-candidate{padding:15px;gap:12px;flex-wrap:wrap}.staff-candidate>.button{margin-inline-start:auto}.staff-candidate strong{font-size:12px}.staff-candidate p,.staff-candidate small{font-size:9px}.check-options:has(input[value=booking_manager]){grid-template-columns:1fr}.planning-grid-scroll{margin-bottom:20px;max-height:650px}.planning-grid th,.planning-grid td{min-width:130px;padding:8px}.planning-grid th:first-child{min-width:63px;width:63px}.planning-grid thead th{font-size:11px;padding:13px 10px}.planning-grid tbody th{font-size:10px}.planning-free{font-size:10px}.planning-occupied{padding:10px}.planning-occupied strong{font-size:10px}.planning-occupied small{font-size:8px}.planning-blocks h2{font-size:18px}}

/* Private account location and voluntarily published coach profiles. */
.account-location-card,.coach-personal-card{margin-bottom:24px}.account-location-card .surface-heading,.coach-personal-card .surface-heading{align-items:flex-start;gap:18px}.account-location-card h2,.coach-personal-card h2{font-size:20px}.account-location-card .surface-heading p,.coach-personal-card .surface-heading p{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.9}.account-location-value{font-size:17px;line-height:1.8;font-weight:650;color:var(--forest);margin-bottom:16px}.account-location-card>.notice{margin-top:16px}.account-location-notice p{font-size:11px;margin-top:7px}.account-location-notice>.button{margin-top:12px}.player-search .toolbar-fields{grid-template-columns:minmax(150px,1fr) minmax(110px,.65fr) minmax(130px,.75fr) minmax(130px,.8fr)}.player-card .player-shared-location{font-size:10px;color:var(--forest);margin-top:7px}.coach-search{align-items:flex-end;gap:15px}.coach-search .toolbar-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;flex:1}.coach-search .field{min-width:0}.coach-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}.coach-directory-card{margin:0;min-width:0;display:flex;flex-direction:column}.coach-directory-heading{display:flex;align-items:flex-start;gap:15px;margin-bottom:20px}.coach-directory-heading>div{min-width:0}.coach-directory-heading h2{font-size:23px;line-height:1.5;overflow-wrap:anywhere}.coach-directory-heading p{font-size:10px;line-height:1.9;color:var(--muted);margin-top:8px}.coach-card-bio{font-size:12px;color:var(--ink);line-height:1.9;overflow-wrap:anywhere;white-space:pre-wrap;margin:0 0 21px}.coach-directory-card>.button{align-self:flex-start;margin-top:auto}.coach-affiliations{display:grid;gap:10px;margin:19px 0 23px}.coach-affiliations>article{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;padding:13px 14px;border:1px solid var(--line);border-radius:9px;background:var(--white);min-width:0}.coach-affiliations>article>div{min-width:0}.coach-affiliations strong{display:block;font-size:11px;line-height:1.8;color:var(--forest);overflow-wrap:anywhere}.coach-affiliations small{display:block;font-size:9px;line-height:1.9;color:var(--muted);margin-top:5px}.coach-affiliations p{font-size:12px;color:var(--forest);line-height:1.8;font-weight:650;text-align:end;flex:none;max-width:48%}.coach-profile-dialog,.public-coach-dialog{width:min(800px,calc(100vw - 32px))}.coach-cities-editor{display:grid;gap:18px;margin:19px 0}.coach-city-row{border-top:1px solid var(--line);padding-top:17px}.coach-city-row>.ghost{font-size:10px;margin-top:9px;padding-inline-start:0;min-height:29px}.public-coach-profile{display:grid;gap:24px}.public-coach-profile h3{font-size:18px;color:var(--forest);line-height:1.6;margin-bottom:11px}.public-coach-profile section>p{font-size:12px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}.public-coach-profile section>p+p{margin-top:13px}.public-coach-profile .coach-affiliations{margin:0}.public-coach-profile>.confirmation-help{border-top:1px solid var(--line);padding-top:18px}
@media(max-width:1100px){.player-search .toolbar-fields,.coach-search .toolbar-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.player-search,.coach-search{align-items:flex-end;flex-wrap:wrap}.coach-directory{grid-template-columns:1fr}}
@media(max-width:760px){.account-location-card,.coach-personal-card{margin-bottom:20px}.account-location-card .surface-heading,.coach-personal-card .surface-heading{flex-wrap:wrap}.account-location-card h2,.coach-personal-card h2{font-size:19px}.account-location-card .surface-heading p,.coach-personal-card .surface-heading p{font-size:10px}.account-location-value{font-size:16px}.account-location-notice p{font-size:10px}.player-search .toolbar-fields,.coach-search .toolbar-fields{grid-template-columns:1fr}.coach-search{display:grid;grid-template-columns:1fr;gap:13px}.coach-search>.button{justify-self:start}.coach-directory-heading h2{font-size:22px}.coach-directory-heading{gap:13px}.coach-directory-card{padding:20px}.coach-affiliations>article{padding:12px;gap:12px}.coach-affiliations strong{font-size:10px}.coach-affiliations p{font-size:11px}.coach-affiliations small{font-size:8px}.public-coach-profile{gap:21px}.public-coach-profile h3{font-size:17px}.public-coach-profile section>p{font-size:12px}}

/* Player entry: the current club's real availability is visible before profile settings. */
.home-booking-panel{margin-bottom:24px}.home-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.home-available-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.home-available-slot{display:flex;flex-direction:column;gap:8px;padding:18px;text-align:start;border:1px solid #d6be9c;border-radius:10px;background:#fff7e9;color:var(--ink)}.home-available-slot:hover{border-color:var(--forest);background:#f3e1ce}.home-available-slot>span{font-size:22px;font-weight:750;color:var(--forest)}.home-available-slot>strong{font-size:12px}.home-available-slot>small{font-size:10px;color:var(--muted)}.home-available-slot:disabled{cursor:default;opacity:.7}@media(max-width:760px){.home-available-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.home-available-slot{padding:14px}.home-booking-panel .surface-heading{align-items:flex-start;flex-wrap:wrap}}

/* Account photos remain private and are used only for the signed-in person's avatar. */
.own-account-avatar{overflow:hidden}.own-account-avatar>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.account-photo-card{margin-bottom:24px}.account-photo-heading{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:17px}.account-photo-heading>div:not(.invitation-actions){flex:1;min-width:180px}.account-photo-heading h2{font-size:20px}.account-photo-heading p{font-size:11px;line-height:1.9;color:var(--muted);margin-top:7px}.account-photo-heading .invitation-actions{margin:0;gap:11px}.account-photo-card>.form-error{margin-bottom:16px}.account-photo-preview{display:flex;align-items:center;justify-content:center;min-height:170px;padding:18px;background:var(--tint);border:1px solid var(--line);border-radius:12px}.account-photo-preview>img{display:block;width:180px;height:180px;border-radius:50%;object-fit:cover;max-width:100%}.account-photo-preview>.avatar{width:110px;height:110px;font-size:33px}.account-photo-card~.profile-grid .profile-card-heading .own-account-avatar{flex:none}@media(max-width:760px){.account-photo-card{margin-bottom:20px}.account-photo-heading{gap:14px}.account-photo-heading h2{font-size:19px}.account-photo-heading p{font-size:10px}.account-photo-heading .invitation-actions{width:100%;flex-wrap:wrap}.account-photo-preview>img{width:160px;height:160px}}

[data-city-control]{display:grid;gap:8px}[data-city-control] select{min-width:150px}[data-city-control] small{display:block;max-width:280px}
.city-suggestions{display:grid;max-height:240px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:10px;background:var(--paper,#fffdfa);box-shadow:0 6px 16px #074b3a12}.city-suggestions[hidden]{display:none}.city-suggestions [data-city-option]{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:48px;padding:12px 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);text-align:start;font:inherit;cursor:pointer}.city-suggestions [data-city-option]:last-child{border-bottom:0}.city-suggestions [data-city-option]:hover,.city-suggestions [aria-selected="true"]{background:var(--cream,#f5e8d7);outline:2px solid var(--forest);outline-offset:-2px}.city-suggestions [data-city-option]>span{font-size:16px;font-weight:650}.city-suggestions [data-city-option]>small{font-size:12px;color:var(--muted);max-width:45%;text-align:end}.city-no-results{padding:14px;font-size:14px;line-height:1.6}.field:has([data-city-list]:not([hidden])){align-self:start}

.auth-install-action{margin-top:20px}.auth-install-action:empty{display:none}.install-guide h3{margin:0 0 14px}.install-guide ol{padding-inline-start:24px;display:grid;gap:14px;line-height:1.6}.install-guide li::marker{color:var(--clay,#074b3a);font-weight:700}.install-guide details{margin:22px 0;padding:15px;border:1px solid var(--line,#ddd);border-radius:10px}.install-guide summary{font-weight:600;cursor:pointer}.install-guide p{line-height:1.6}

.coach-affiliation-badge{margin:6px 0}.coach-like-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 18px}.coach-like.is-liked{color:#a34432;background:#f8e6df;border-color:#c98069}.coach-like-count{margin-inline-start:7px;font-variant-numeric:tabular-nums}.coach-like-actions .form-error{flex-basis:100%;margin:0}.coach-like[disabled]{cursor:default}

.email-verification-details{margin:0 0 20px;font-size:12px;color:var(--muted)}.email-verification-details summary{cursor:pointer;line-height:1.7}.email-verification-details>p{margin:10px 0}.email-verification-details details{margin:12px 0}.email-verification-details dl{display:grid;gap:8px;margin:12px 0}.email-verification-details dl>div{display:flex;flex-wrap:wrap;gap:6px 16px}.email-verification-details dt{min-width:170px}.email-verification-details code{overflow-wrap:anywhere;color:var(--ink)}

.active-sport{display:flex;flex-direction:column;align-items:center;gap:5px;flex:none}.active-sport>span{font-size:9px;color:var(--muted)}.active-sport>div{display:flex;padding:3px;border:1px solid var(--control);border-radius:9px;background:#fff}.active-sport button{padding:7px 10px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:11px;font-weight:650}.active-sport button[aria-pressed="true"]{background:var(--forest);color:#fff}.sports-options{margin:18px 0}.sports-options legend{font-weight:650}.home-padel-art{width:100%;max-height:230px}.sport-badge{margin:7px 0}body[data-sport="padel"] .slot-button{background:#e5f3fe;border-color:#a6cde8;color:#195e91}body[data-sport="padel"] .coach-like.is-liked{color:#105f99;background:#deeffb;border-color:#87badd}body[data-sport="padel"] .tag.active{background:#e0f0fc;color:#185a8c}
@media(max-width:760px){.portal-topbar{flex-wrap:wrap;height:auto;min-height:77px;padding-top:12px;padding-bottom:12px}.active-sport{flex-direction:row;gap:8px}.active-sport button{padding:6px 9px}}

@media(max-width:760px),(hover:none) and (pointer:coarse){body input,body select,body textarea{font-size:16px!important;max-width:100%;min-width:0}body .field{min-width:0}body textarea{box-sizing:border-box}}body[data-sport="padel"] .tag{background:#deeffb;color:var(--forest)}body[data-sport="padel"] .home-available-slot,body[data-sport="padel"] .planning-free{background:#edf7ff}body[data-sport="padel"] .home-available-slot:hover,body[data-sport="padel"] .planning-free:hover:not(:disabled){background:#ddebfa;border-color:#9cc5e5}body[data-sport="padel"] .slot-button.busy,body[data-sport="padel"] .slot-button.past{background:#edf2f7;border-color:#d4e0eb;color:#7c90a0}

.install-link-help label{display:block;font-weight:600;margin-bottom:8px}.install-link-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.install-link-controls input{flex:1 1 220px;min-width:0;max-width:100%;padding:10px 12px;border:1px solid var(--control);border-radius:8px;background:var(--white,#fff);color:inherit;font:inherit}.install-support-links{display:flex;gap:12px 20px;flex-wrap:wrap;margin-top:20px}.install-support-links a{text-underline-offset:3px}

.workspace-control{display:grid;gap:6px;margin:3px 0 20px;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--forest-deep);border-color:#ffffff40}.workspace-control button{display:flex;align-items:center;gap:9px;text-align:start;padding:11px 12px;border:0;border-radius:8px;background:transparent;font-size:12px;font-weight:650;color:var(--white)}.workspace-control button[aria-pressed=true]{background:var(--brand-accent);color:var(--forest)}.workspace-control button .icon{width:18px;height:18px;flex:none}.workspace-context-label{font-weight:700!important;letter-spacing:.5px;color:var(--forest)!important}body[data-workspace=club] .portal-nav{border-top:1px solid var(--line);padding-top:14px}.install-link-controls{min-width:0}@media(max-width:760px){.workspace-control{display:flex;flex-wrap:wrap;width:100%;margin:12px 0 0;padding:4px}.workspace-control button{flex:1;justify-content:center;font-size:12px;min-height:44px;padding:10px}.workspace-context-label{font-size:9px!important}.portal-topbar{flex-wrap:wrap}.club-selector{min-width:0}.topbar-user{margin-inline-start:auto}}

.public-language-control{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.public-language-control button{border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:var(--white);font-size:14px}.public-language-control button[aria-pressed=true]{background:var(--forest);color:white}.account-language-card>p{font-weight:600}input[type=email],input[type=tel],input[type=url],input[type=number],input[type=date],input[type=time],.amount,.receipt-heading h3,.profile-details code{direction:ltr;unicode-bidi:isolate}html[dir=rtl] .portal-topbar,html[dir=rtl] .page-heading,html[dir=rtl] .surface-heading,html[dir=rtl] .dialog-header{direction:rtl}html[dir=rtl] .module-link>.icon,html[dir=rtl] .club-choice>.icon{transform:scaleX(-1)}html[dir=rtl] .receipt-heading h3{display:inline-block}html[dir=rtl] .confirmation-list dd{unicode-bidi:plaintext}html[lang=ar]{font-family:'Segoe UI',Tahoma,Arial,sans-serif}html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3,html[lang=ar] .eyebrow{letter-spacing:0}

/* Keep feedback aligned with the content gutter when the reading direction changes. */
html[dir=rtl] .toast{transform:translateX(50%)}

/* Registration pauses only after both private identity and location are confirmed. */
.onboarding-dialog{max-width:720px}.onboarding-dialog .sports-options{margin-block:22px}.onboarding-dialog [data-onboarding-sport]{min-width:0}.onboarding-transition{text-align:center}.onboarding-drop-scene{position:relative;isolation:isolate;height:220px;max-width:380px;margin:24px auto 8px;overflow:hidden;border-radius:14px;background:var(--paper)}.onboarding-drop-ground{position:absolute;inset-inline:22px;bottom:20px;height:2px;background:var(--line)}.onboarding-falling-ball{position:absolute;width:40px;height:40px;bottom:22px;inset-inline-start:26%;fill:#d9e864;stroke:#fff;stroke-width:2;animation:onboarding-ball-drop .75s cubic-bezier(.4,0,.9,1) both}.onboarding-falling-racket{position:absolute;width:70px;height:140px;bottom:22px;inset-inline-end:24%;fill:none;stroke:var(--forest);stroke-width:4;animation:onboarding-racket-drop .75s 2s cubic-bezier(.4,0,.9,1) both}.onboarding-falling-racket .racket-strings{stroke-width:1;opacity:.65}.onboarding-falling-racket .racket-grip{stroke:var(--clay);stroke-width:9;stroke-linecap:round}.onboarding-falling-racket .racket-throat{stroke-linejoin:round}@keyframes onboarding-ball-drop{0%{transform:translateY(-210px)}72%{transform:translateY(0)}86%{transform:translateY(-18px)}100%{transform:translateY(0)}}@keyframes onboarding-racket-drop{0%{transform:translateY(-230px) rotate(-12deg)}78%{transform:translateY(0) rotate(0)}90%{transform:translateY(-8px) rotate(3deg)}100%{transform:translateY(0) rotate(0)}}@media(prefers-reduced-motion:reduce){.onboarding-falling-ball,.onboarding-falling-racket{animation:none;transform:none}}@media(max-width:760px){.onboarding-drop-scene{height:190px}.onboarding-dialog .dialog-footer{flex-wrap:wrap}.onboarding-dialog .dialog-footer .button{flex:1}}
/* YalliGO navigation is shared by all workspaces; business status colours stay distinct. */
.portal-sidebar .brand{color:var(--white)}
.portal-sidebar .brand small.brand-subtitle{color:var(--tint)}
.portal-sidebar .portal-nav{border-color:var(--nav-line)}
.portal-sidebar .button:not(.danger){background:transparent;color:var(--white);border-color:#ffffff70}
.portal-sidebar .button:not(.danger):hover{background:var(--forest-deep);border-color:var(--white)}
.workspace-control button:hover:not([aria-pressed=true]){background:var(--forest);color:var(--white)}
.portal-sidebar :is(button,a,[tabindex]):focus-visible{outline-color:var(--brand-accent)}
.workspace-control button:focus-visible{outline-color:var(--brand-accent);outline-offset:1px}
.nav-item .notification-count{background:var(--brand-accent);color:var(--forest)}
.nav-item.active .notification-count{background:var(--forest);color:var(--white)}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1}

body[data-workspace="club"] .tag.active{background:#e5f3eb;color:#26603f}
body[data-workspace="club"] .tag.due{background:#fff0d7;color:#805000}
body[data-workspace="club"] .tag.cancelled{background:#e7edf1;color:#586c7b}
body[data-workspace="club"] .slot-button,
body[data-workspace="club"] .planning-free,
body[data-workspace="club"] .home-available-slot{background:#f0f7f8;border-color:#b8d2d9;color:var(--forest)}
body[data-workspace="club"] .slot-button:hover,
body[data-workspace="club"] .planning-free:hover:not(:disabled),
body[data-workspace="club"] .home-available-slot:hover{background:#d8e9ee;border-color:#78a8b6}
body[data-workspace="club"] .slot-button.busy,
body[data-workspace="club"] .slot-button.past{background:#edf1f4;border-color:#d4dfe5;color:#6b7e8c}
body[data-workspace="club"] .planning-blocked{border-color:#bfced8;background:repeating-linear-gradient(135deg,#e7edf2,#e7edf2 6px,#dce6ec 6px,#dce6ec 7px);color:#4e6575}.player-social-links{display:flex;flex-wrap:wrap;gap:8px;margin-block:10px;min-width:0}
.player-social-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--forest);font-size:12px;font-weight:650;overflow-wrap:anywhere}.referee-badge{display:inline-flex;max-width:100%;white-space:normal;margin-block:7px}.booking-referee-panel{margin-block:20px 0;border-block-start:1px solid var(--line);padding-block-start:16px}.booking-referee-summary{margin-block:12px;overflow-wrap:anywhere}.referee-invitation-card{display:grid;gap:14px;min-width:0}.referee-invitation-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.referee-invitation-card h2,.referee-invitation-card h3{overflow-wrap:anywhere}.referee-notification .button{margin-block-start:10px}@media(max-width:520px){.player-social-link{min-height:44px}.referee-invitation-card>header{flex-wrap:wrap}.referee-invitation-card .own-booking-actions .button{width:100%}}
.match-result-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-block:18px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.match-result-winner{display:grid;gap:4px;color:var(--forest)}.match-result-winner small{font-size:12px;color:var(--muted)}
.match-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-block:24px}.match-history-card{min-width:0;padding:24px;margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:18px}.match-history-card h2{font-size:22px;overflow-wrap:anywhere;margin-block:8px}.match-outcomes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-self:stretch}.match-outcome{display:flex;align-items:flex-start;gap:10px;min-width:0;border:1px solid var(--line);padding:14px;border-radius:12px}.match-outcome.winner{background:var(--paper);border-color:var(--forest)}.match-outcome-icon{font-size:27px;line-height:1.3}.match-outcome>div{min-width:0}.match-outcome strong{color:var(--forest);font-size:13px}.match-outcome p{font-size:15px;font-weight:650;overflow-wrap:anywhere}.match-outcome small{color:var(--muted);font-size:12px}.match-history-score{display:grid;gap:6px;font-size:17px}.match-history-score>strong{font-size:12px;color:var(--muted)}.match-history-score>span{unicode-bidi:isolate}.match-history-card>.button{margin-block-start:auto}@media(max-width:1000px){.match-history-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){.match-history-card{padding:20px}.match-outcomes{grid-template-columns:minmax(0,1fr)}.match-history-card>.button{width:100%}}
.home-club-events{margin-block:0 28px}.club-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-block:20px}.club-event-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin:0;min-width:0;padding:24px}.club-event-card h2,.club-event-card h3{font-size:22px;overflow-wrap:anywhere}.club-event-date{display:flex;flex-wrap:wrap;gap:10px;font-size:16px;color:var(--forest);font-weight:650}.club-event-comment{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.club-event-card .own-booking-actions{padding-block-start:12px}.club-event-card .tag{white-space:normal}@media(max-width:760px){.club-event-grid{grid-template-columns:minmax(0,1fr)}.club-event-card{padding:20px}.portal-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;height:auto;padding-block:12px}.portal-topbar>.club-selector{grid-column:1/-1;width:100%}.portal-topbar .club-selector-copy{flex:1;min-width:0}.portal-topbar .club-selector-copy>strong{max-width:none}.portal-topbar .workspace-context-label{white-space:normal}.portal-topbar>.active-sport{grid-column:1;align-items:flex-start;flex-direction:column;min-width:0}.portal-topbar>.topbar-user{grid-column:2;min-width:0;max-width:100%;margin-inline-start:0}}
.personal-bookings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-block:24px}.personal-booking-card{min-width:0;margin:0;padding:24px;display:flex;flex-direction:column;gap:20px}.personal-booking-card header{border-block-end:1px solid var(--line);padding-block-end:16px}.personal-booking-card .eyebrow{margin-block:14px 8px;overflow-wrap:anywhere}.personal-booking-card h2{font-size:25px;line-height:1.25;margin:0;overflow-wrap:anywhere}.personal-booking-card .own-booking-time{display:flex;flex-direction:column;gap:8px;font-size:17px;margin-block:15px 0}.personal-booking-card .own-booking-time>strong{font-size:30px;line-height:1.1}.own-booking-confirmed h3{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:16px;margin-block:0 16px}.own-booking-capacity{white-space:nowrap;font-size:22px;color:var(--forest)}.own-booking-people{display:grid;gap:12px;list-style:none;padding:0!important;margin:12px 0 16px}.own-booking-people>li{display:flex;align-items:center;gap:12px;min-width:0}.own-booking-people .avatar{flex:none;width:38px;height:38px;font-size:13px}.own-booking-people li>span:last-child{display:grid;min-width:0;gap:3px}.own-booking-people strong{font-size:15px;overflow-wrap:anywhere}.own-booking-people small{font-size:12px;color:var(--muted)}.own-booking-pending{padding:16px;border:1px dashed var(--line);background:var(--paper);border-radius:10px}.own-booking-pending h4{font-size:14px;margin:0 0 10px}.own-booking-pending p:last-child{margin-block-end:0}.own-booking-pending ul{padding-inline-start:20px;margin:0;line-height:1.8;overflow-wrap:anywhere}.own-booking-actions{display:flex;flex-wrap:wrap;gap:10px;margin-block-start:auto}.next-own-booking .own-booking-actions,.following-own-booking .own-booking-actions{margin-block-start:16px}.own-booking-actions .button{white-space:normal;min-height:44px}.personal-booking-card .own-booking-actions .primary{flex-basis:100%}.personal-booking-card .confirmation-help{line-height:1.65}.own-booking-dialog .own-booking-people{margin-block:16px 24px}@media(max-width:1000px){.personal-bookings-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){.personal-booking-card{padding:20px;gap:18px}.personal-booking-card h2{font-size:23px}.own-booking-actions>.button{flex:1 1 100%}.own-booking-confirmed h3{align-items:flex-start}.own-booking-people .avatar{width:34px;height:34px}}
.own-booking-priority{margin-bottom:24px;border:2px solid var(--forest);background:var(--white,#fff)}.own-booking-priority>.eyebrow{color:var(--forest)}.next-own-booking{padding-block:10px}.next-own-booking h3{font-size:24px;margin-block:10px}.own-booking-time{font-size:19px;font-weight:700;color:var(--forest);margin-block:12px}.next-own-booking>.button{margin-block-start:16px}.following-own-bookings{margin-block-start:22px;border-block-start:1px solid var(--line);padding-block-start:16px}.following-own-bookings summary{cursor:pointer;font-weight:650}.following-own-booking{padding-block:16px;border-block-end:1px solid var(--line)}.following-own-booking h3{font-size:17px}.following-own-booking .own-booking-time{font-size:15px}.following-own-booking>.button{margin-block-start:12px}.own-booking-dialog h3{margin-block:20px 12px}.own-booking-dialog [data-booking-invitations]{margin-block-start:20px}.own-booking-dialog ul{padding-inline-start:22px;line-height:1.8}.booking-slot-picker{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-block:20px}.booking-slot-picker[hidden]{display:none}.booking-slot-picker>[data-slot-results],.booking-slot-picker>.confirmation-help{grid-column:1/-1}.available-slot-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:330px;overflow-y:auto;overscroll-behavior:contain;padding:4px}.available-slot-picker .slot-button{display:flex;flex-direction:column;gap:7px;min-width:0;white-space:normal;padding:14px 10px}.available-slot-picker .slot-button span{font-size:12px;overflow-wrap:anywhere}.available-slot-picker .slot-button[aria-pressed=true]{outline:3px solid var(--forest);outline-offset:-3px;background:var(--forest);color:white}.available-slot-picker .slot-button[aria-pressed=true] small{color:inherit}.home-friend-invitation{display:flex;align-items:center;gap:22px;padding:18px 22px;margin-block:0 24px;border:1px solid var(--line);border-radius:14px;background:var(--white,#fff)}.friend-ball-button{display:flex;align-items:center;gap:16px;border:0;background:transparent;padding:0;color:var(--forest);font-size:20px;font-weight:750;text-align:start}.friend-ball-button svg{flex:none;width:76px;height:76px;fill:#dce86a;stroke:#fff;stroke-width:3;filter:drop-shadow(0 5px 6px #0002)}.home-friend-invitation>p{font-size:13px;color:var(--muted);line-height:1.7}@media(max-width:760px){.next-own-booking h3{font-size:21px}.own-booking-time{font-size:17px}.home-friend-invitation{flex-wrap:wrap;gap:10px;padding:16px}.friend-ball-button{font-size:19px}.friend-ball-button svg{width:64px;height:64px}.booking-slot-picker{grid-template-columns:minmax(0,1fr)}.available-slot-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-slot-picker .field{min-width:0}}
.directory-city-field [data-search-city-control]{position:relative;min-width:0}.directory-city-field input{width:100%;min-width:0}.search-city-suggestions{position:absolute;inset-inline:0;top:calc(100% + 4px);z-index:30}.search-city-suggestions [data-search-city-option]{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:12px 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);text-align:start;font:inherit;cursor:pointer}.search-city-suggestions [data-search-city-option]:last-child{border-bottom:0}.search-city-suggestions [data-search-city-option]:hover,.search-city-suggestions [aria-selected="true"]{background:var(--cream,#f5e8d7);outline:2px solid var(--forest);outline-offset:-2px}.search-city-suggestions [data-search-city-option]>span{font-size:16px;font-weight:650}.search-city-suggestions [data-search-city-option]>small{font-size:12px;color:var(--muted);max-width:48%;text-align:end;overflow-wrap:anywhere}

.player-social-link{gap:8px}.player-social-icon{display:block;width:20px;height:20px;flex:0 0 20px;object-fit:contain}

.processing-indicator{position:fixed;inset-inline-end:20px;bottom:20px;z-index:1000;display:flex;align-items:center;gap:12px;padding:10px 18px;border:1px solid var(--line);border-radius:14px;background:var(--white);color:var(--ink);box-shadow:0 8px 28px #0002;pointer-events:none;max-width:calc(100vw - 32px);font-size:14px}.processing-ball-scene{position:relative;display:block;width:54px;height:72px;overflow:hidden;flex:none}.processing-ball-scene svg{position:absolute;top:0;left:9px;width:36px;height:36px;fill:#d8e84a;stroke:#fff;stroke-width:2;opacity:0;animation:processing-ball-fall 3s var(--ball-delay) linear infinite}@keyframes processing-ball-fall{0%{opacity:1;transform:translateY(-42px) rotate(-25deg)}24%{opacity:1;transform:translateY(37px) rotate(30deg)}29%{opacity:1;transform:translateY(20px) rotate(35deg)}33%{opacity:0;transform:translateY(65px) rotate(45deg)}100%{opacity:0;transform:translateY(65px)}}@media(prefers-reduced-motion:reduce){.processing-ball-scene svg{animation:none;display:none}.processing-ball-scene svg:first-child{display:block;opacity:1;top:18px}}@media(max-width:520px){.processing-indicator{bottom:14px;inset-inline:16px;justify-content:center}}

.group-wizard-dialog{max-width:800px}.group-wizard-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0 0 24px;gap:10px}.group-wizard-progress li{display:grid;gap:8px;font-size:12px;color:var(--muted);line-height:1.4}.group-wizard-progress li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--paper);border:1px solid var(--line)}.group-wizard-progress [aria-current=step]{font-weight:750;color:var(--forest)}.group-wizard-progress [aria-current=step]>span{background:var(--forest);color:white}.group-day-slots{display:grid;gap:16px}.group-day-slot legend label{display:flex;gap:10px;align-items:center;font-size:16px}.group-day-details{display:grid;gap:16px;padding-block:12px}.group-day-details[hidden]{display:none}.group-schedule-summary{display:grid;gap:12px;margin-block:16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.group-schedule-summary small{color:var(--muted)}@media(max-width:520px){.group-wizard-progress{gap:6px}.group-wizard-progress li{font-size:10px}.group-day-slot .check-options{grid-template-columns:1fr}}

/* Booking duration: keep complete time ranges readable on narrow screens. */
.available-slot-picker .slot-button strong{font-size:15px;line-height:1.4;direction:ltr;unicode-bidi:isolate;white-space:nowrap}.available-slot-picker .slot-button small{line-height:1.6;overflow-wrap:anywhere}.personal-booking-card .own-booking-time>strong{font-size:clamp(21px,4.8vw,28px);line-height:1.35;overflow-wrap:anywhere}

/* Invoice payments: outstanding actions stay visible before the journal on mobile. */
.pending-invoices{margin-block:0 24px}.pending-invoices>.surface-heading{align-items:flex-start;flex-wrap:wrap}.pending-invoices-total{display:grid;gap:5px;text-align:end;margin-inline-start:auto}.pending-invoices-total strong{font-size:24px;color:var(--forest)}.pending-invoices-total small{color:var(--muted)}.pending-invoice-list{display:grid;gap:14px}.pending-invoice-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;align-items:center;gap:18px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--paper);min-width:0}.pending-invoice-identity{min-width:0;overflow-wrap:anywhere}.pending-invoice-identity p{font-size:12px;line-height:1.65}.pending-invoice-row>.button{min-width:100px;min-height:44px}.invoice-payment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-block:12px 0;min-width:0}.invoice-payment-summary>div{min-width:0}.invoice-payment-summary dt{font-size:11px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}.invoice-payment-summary dd{font-size:16px;font-weight:700;margin:5px 0 0;overflow-wrap:anywhere}.invoice-payment-summary>div:last-child dd{color:var(--forest)}@media(max-width:760px){.pending-invoice-row{grid-template-columns:minmax(0,1fr);gap:12px;padding:14px}.pending-invoice-row>.button{width:100%;min-height:46px}.pending-invoice-row .invoice-payment-summary{margin-block:0;gap:9px}.pending-invoices-total{text-align:start;margin-inline-start:0}.pending-invoices>.surface-heading{gap:14px}.pending-invoice-row .invoice-payment-summary dd{font-size:15px}}

/* Match result preview stays local until explicit device sharing. */
.match-share-dialog{max-width:640px}.match-share-preview{display:block;width:min(100%,270px);height:auto;margin:0 auto 20px;border-radius:16px}.match-share-actions{display:flex;flex-wrap:wrap;gap:12px;margin-block:16px}.match-share-actions .button{flex:1;min-width:160px}
.event-share-dialog{max-width:680px}.event-share-preview{display:block;width:min(100%,300px);height:auto;margin:0 auto 24px;border-radius:18px;box-shadow:0 12px 30px #18372f26}.event-share-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:20px}.event-share-actions .button{min-height:48px;white-space:normal;text-align:center}.event-share-actions .event-share-facebook{background:#1558b0;border-color:#1558b0;color:#fff}.event-share-actions .event-share-instagram{background:linear-gradient(115deg,#6633a6,#a72e68);border-color:#833888;color:#fff}.event-share-actions .button[disabled]{opacity:.55}.event-share-link input{font-size:12px}.event-share-dialog [data-event-share-status]{min-height:1.5em}@media(max-width:440px){.event-share-actions{grid-template-columns:minmax(0,1fr)}}
.managed-person-picker{position:relative;min-width:0}.managed-person-picker input[type=search]{width:100%}.managed-person-options{position:absolute;inset-inline:0;top:82px;z-index:5;max-height:288px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:10px;background:var(--white);box-shadow:var(--shadow);padding:4px}.managed-person-options button{display:flex;flex-direction:column;gap:3px;text-align:start;width:100%;border:0;border-radius:6px;background:transparent;padding:11px 12px;min-height:48px;color:var(--ink)}.managed-person-options button:hover,.managed-person-options button[aria-selected=true]{background:var(--paper);color:var(--forest)}.managed-person-options small,.managed-person-identity small{display:block;color:var(--muted);font-size:11px}.managed-person-selected{border:1px solid var(--line);border-radius:10px;padding:13px;background:var(--paper);min-width:0}.managed-person-identity{display:flex;align-items:center;gap:12px;min-width:0}.managed-person-identity>div{min-width:0;overflow-wrap:anywhere}.managed-person-identity strong{display:block;font-size:14px;line-height:1.5}.managed-person-identity .avatar{width:52px;height:52px;flex:none}.managed-person-identity .avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.managed-person-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}@media(max-width:760px),(hover:none) and (pointer:coarse){.managed-person-picker input[type=search]{font-size:16px!important;min-width:0}.managed-person-options button{font-size:16px;min-height:48px}}

[data-invitation-player-photo] img{width:100%;height:100%;object-fit:cover;border-radius:50%}

.receipt-club-heading{display:grid;justify-items:center;gap:8px;margin-block-end:22px;break-inside:avoid}.receipt-club-heading h2{font-size:22px;line-height:1.35;color:var(--forest);overflow-wrap:anywhere}.receipt-club-heading address{font-style:normal;font-size:12px;line-height:1.7;color:var(--muted);max-width:520px;overflow-wrap:anywhere}.receipt-club-logo{display:block;max-width:140px;max-height:88px;object-fit:contain}@media print{.receipt-dialog [data-print-receipt]{display:none!important}.receipt-club-heading{break-inside:avoid}}
.platform-club-list { display:grid; gap:16px; }
.platform-club-card { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0; }
.platform-club-card > div { min-width:0; overflow-wrap:anywhere; }
.platform-club-card h2 { margin:0 0 8px; }
.platform-club-card p { margin:6px 0; }
.platform-club-counts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0; }
.platform-club-counts > div { background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:12px; min-width:0; }
.platform-club-counts dt { font-size:13px; overflow-wrap:anywhere; }
.platform-club-counts dd { margin:6px 0 0; font-size:22px; font-weight:700; }
.platform-club-reset-dialog .platform-club-counts dd { min-width:0; overflow-wrap:anywhere; }
.platform-club-reset-dialog .platform-club-counts:first-of-type dd { font-size:16px; line-height:1.4; }
.platform-cleanup { margin-bottom:20px; }
@media(max-width:640px) { .platform-club-card { align-items:stretch; flex-direction:column; } .platform-club-card .button { width:100%; } .platform-club-counts { gap:8px; } }
.group-reservation-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}
.planning-reservation-legend{list-style:none;display:flex;flex-wrap:wrap;gap:12px 18px;padding:0;margin:16px 0;color:var(--ink);font-size:12px}
.planning-reservation-legend li{display:flex;align-items:center;gap:7px}
.planning-reservation-legend li>span{display:inline-block;width:16px;height:16px;border:1px solid var(--line);border-radius:4px;background:#edf1f4}
.planning-reservation-legend .legend-group{background:#eee5fa;border-color:#9272b1}
.planning-reservation-legend .legend-block{background:repeating-linear-gradient(135deg,#edf1f4,#edf1f4 4px,#d4dfe5 4px,#d4dfe5 5px)}
body[data-workspace] .slot-button.group-course-slot,body[data-workspace] .planning-blocked.group-course-slot,.booking-row.group-course-slot{background:#eee5fa;border-color:#9272b1;color:#49245f;opacity:1}
.planning-blocked.group-course-slot{display:flex;flex-direction:column;gap:5px;padding:10px}
.reservation-type-badge{display:inline-block;font-size:11px;font-weight:750;line-height:1.5;color:#49245f}
.planning-blocked.group-course-slot small{font-size:11px;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:640px){.group-reservation-actions{align-items:stretch;flex-direction:column}.group-reservation-actions .button{width:100%}.planning-reservation-legend{font-size:11px;gap:10px}.reservation-type-badge{font-size:10px}}

/* Consented peer photos in received and sent match proposals. */
.match-proposal-identity{display:flex;align-items:center;gap:15px;min-width:0}.match-proposal-identity>div{min-width:0}.match-proposal-identity>.avatar{overflow:hidden}.match-proposal-identity>.avatar>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}@media(max-width:520px){.match-proposal-identity{gap:11px}.match-proposal-identity>.avatar.large{width:44px;height:44px;font-size:14px}.match-proposal-card>header{flex-wrap:wrap}}

/* Compact member dossier editor: these rules do not change other dialogs. */
.member-editor-dialog{width:min(860px,calc(100vw - 32px))}
.member-editor-dialog .dialog-header{padding:18px 20px 15px}
.member-editor-dialog .dialog-body{padding:16px 20px;gap:14px}
.member-editor-dialog .dialog-footer{padding:13px 20px}
.member-editor-dialog .member-editor-sections{display:grid;gap:14px;min-width:0}
.member-editor-dialog .member-editor-section{display:grid;gap:12px;padding:12px 14px 14px;min-width:0}
.member-editor-dialog .member-editor-section>legend{font-size:13px;padding-inline:6px}
.member-editor-dialog .member-editor-name-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.member-editor-dialog .member-editor-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.member-editor-dialog .member-editor-contact-grid>.full{grid-column:1/-1}
.member-editor-dialog .member-editor-membership-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.member-editor-dialog .field{gap:5px;min-width:0}
.member-editor-dialog .field>textarea{min-height:76px;resize:vertical}
.member-editor-dialog .confirmation-help{margin:0;line-height:1.6}
.member-editor-dialog .sports-options{padding:8px 10px}
.member-editor-dialog [data-member-existing-files]:empty{display:none}
.member-editor-dialog .member-linked-summary{gap:6px;padding:10px 12px}
.member-editor-dialog .member-linked-summary>p{line-height:1.6}
.member-editor-dialog .member-link-options{min-width:0;border:1px solid var(--line);border-radius:9px}
.member-editor-dialog .member-link-options>summary{padding:12px;cursor:pointer;font-weight:650;color:var(--forest);min-height:44px}
.member-editor-dialog .member-link-options-body{display:grid;gap:12px;padding:0 12px 12px;min-width:0}
.member-editor-dialog .member-name-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}
.member-editor-dialog .member-name-search>div{min-width:0}
.member-editor-dialog .member-email-lookup{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.member-editor-dialog .member-email-lookup>span{font-size:12px;line-height:1.5}
.member-editor-dialog .member-account-panel{padding:10px 12px;gap:8px}
@media(max-width:600px){
 .member-editor-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);margin:auto}
 .member-editor-dialog .dialog-header{padding:15px 14px 12px}
 .member-editor-dialog .dialog-body{padding:12px 10px;gap:12px}
 .member-editor-dialog .dialog-footer{padding:12px 14px}
 .member-editor-dialog .member-editor-section{padding:10px;gap:10px}
 .member-editor-dialog .member-editor-name-grid,.member-editor-dialog .member-editor-contact-grid,.member-editor-dialog .member-editor-membership-grid{grid-template-columns:1fr;gap:10px}
 .member-editor-dialog .member-editor-section>legend{font-size:12px}
 .member-editor-dialog .member-name-search{grid-template-columns:1fr;gap:8px}
 .member-editor-dialog .member-name-search>.button{justify-self:start}
 .member-editor-dialog .member-email-lookup{align-items:flex-start;flex-direction:column}
 .member-editor-dialog .member-link-options-body{padding:0 10px 10px}
}

/* Own coach publication status: preserve full text and control contrast. */
body[data-sport] .coach-personal-card--published{--muted:#536359;background:#e9f4ee;border:2px solid #437e60}
body[data-sport] .coach-personal-card--unpublished{--muted:#536359;background:#f5f3ef;border:1px solid #c7c4bd}
.coach-personal-card .coach-profile-status{display:inline-flex;align-items:center;margin-top:10px;padding:7px 12px;border-radius:6px;font-size:12px;font-weight:750;line-height:1.4;background:#e0e3df;color:#39453c}
.coach-personal-card--published .coach-profile-status{background:#245b3e;color:#fff}
.coach-personal-card--unpublished h2{color:#4f5550}

/* WhatsApp sharing links keep the service colour across sport themes. */
.invitation-actions a.button[href^="https://wa.me/"]{background:#25d366;border-color:#128c48;color:#073b23;font-weight:700}
.invitation-actions a.button[href^="https://wa.me/"]:hover{background:#1dbf5d;border-color:#0e7139;color:#06341f}

/* Personal match invitations: persistent, compact in-app alerts. */
.notification-count[hidden],[data-match-notification][hidden]{display:none}.nav-item.has-pending-proposals{font-weight:800}.nav-item.has-pending-proposals:not(.active){font-weight:800;box-shadow:inset 0 -3px 0 var(--brand-accent);background:var(--forest-deep);color:var(--white)}.nav-item.has-pending-proposals:not(.active) .notification-count{background:var(--brand-accent);color:var(--forest)}.topbar-user [data-proposal-alert-control]:empty{display:none}.proposal-alert-button{position:relative;gap:5px;min-width:44px;color:var(--white)!important;background:var(--forest)!important;border-color:var(--forest)!important}.proposal-alert-button .notification-count{background:var(--brand-accent);color:var(--forest);font-size:11px;min-width:18px}.proposal-alert-button:hover{background:var(--forest-deep)!important;border-color:var(--forest-deep)!important}

/* Photographic next booking: decorative local imagery; actions remain usable without it. */
.own-booking-priority.own-booking-photographic{padding:0;overflow:hidden;border:1px solid #244d40;box-shadow:0 14px 36px #173d2d18}
.own-booking-hero{position:relative;isolation:isolate;min-height:340px;background:#102c23;color:#fff}
.own-booking-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-2}
.own-booking-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#081e194d 0%,#081e1924 48%,#081e1900 100%);z-index:-1;pointer-events:none}
.own-booking-hero-content{padding:32px;position:relative;text-shadow:0 1px 3px #000c,0 0 14px #081e19b3}
.own-booking-hero-content>.eyebrow{color:#d5efcc;letter-spacing:.22em;margin-bottom:22px}
.own-booking-hero .next-own-booking{padding:0;max-width:780px}
.own-booking-hero h3{color:#fff;font-size:clamp(23px,2.6vw,32px);line-height:1.22;letter-spacing:-.035em;margin-block:18px 14px;overflow-wrap:anywhere;text-wrap:balance}
.own-booking-hero .own-booking-time{color:#f1f5da;font-size:18px;line-height:1.55;margin-block:0 18px}
.own-booking-hero .next-own-booking>p:not(.own-booking-time){color:#f4f8f2;margin-block:7px;font-size:13px}
.own-booking-hero .tag{background:#eff5dc;color:#254531;font-size:10px;padding:5px 10px;text-shadow:none}
.own-booking-hero .own-booking-actions{margin-block-start:20px;gap:10px;display:flex;flex-wrap:wrap}
.own-booking-hero .button{min-height:44px;box-shadow:none;text-shadow:none}
.own-booking-hero .button.primary{background:var(--forest);color:var(--white);border-color:var(--forest)}
.own-booking-hero .button.primary:hover{background:var(--forest-deep);border-color:var(--forest-deep)}
.own-booking-hero .button.primary+.button.primary{background:var(--forest);color:var(--white);border-color:var(--forest)}
.own-booking-hero .button.primary+.button.primary:hover{background:var(--forest-deep);border-color:var(--forest-deep)}
.own-booking-hero .button.secondary{background:#183c30;color:#fff;border-color:#a3beb0}
.own-booking-hero .button.secondary:hover{background:#285742;border-color:#fff}
.own-booking-hero .button:focus-visible{outline:3px solid var(--forest);outline-offset:4px}
.own-booking-photographic>.following-own-bookings{margin:0;padding:18px 26px;border-block-start:1px solid #dce5dd;background:var(--white)}
.own-booking-photographic>.own-booking-more{padding:0 26px 20px;background:var(--white)}
@media(max-width:640px){.own-booking-hero{min-height:390px}.own-booking-hero-content{padding:26px 22px}.own-booking-photo{object-position:60% center}.own-booking-hero:before{background:linear-gradient(180deg,#081e1926 0%,#081e1933 45%,#081e1947 100%)}.own-booking-hero h3{font-size:26px}.own-booking-hero .own-booking-time{font-size:16px}.own-booking-hero-content>.eyebrow{font-size:9px;line-height:1.6}.own-booking-hero .own-booking-actions{gap:9px}.own-booking-hero .button{padding:12px 14px}.own-booking-photographic>.following-own-bookings{padding:18px 22px}}

/* Personal matches and the single named profile shortcut. */
[data-match-history-upcoming]{margin-block-end:32px}
.portal-topbar .topbar-user-copy.profile-shortcut{display:flex;align-items:center;gap:10px;min-height:44px;min-width:0;max-width:280px;padding:4px 6px;border-radius:8px}
.profile-shortcut-copy{display:block;min-width:0}
.portal-topbar .profile-shortcut-copy>strong{max-width:200px}
@media(max-width:760px){
  .portal-topbar>.topbar-user{grid-column:1/-1;width:100%;justify-content:flex-end}
  .portal-topbar .topbar-user-copy.profile-shortcut{flex:1;max-width:none;justify-content:flex-end}
  .portal-topbar .profile-shortcut-copy>strong{display:block;max-width:none;font-size:14px;line-height:1.45}
  .portal-topbar .profile-shortcut-copy .role-badge{max-width:none;font-size:9px}
  .portal-topbar .profile-shortcut .avatar{width:34px;height:34px}
}

.own-booking-hero .own-booking-court-description{display:inline-block;margin-inline-start:10px;color:#f1f5da;font-size:12px;font-weight:600}

/* Signup: compact entry, with the actual account actions before decoration. */
.auth-mobile-brand{display:none}.auth-card>.public-language-control{margin:0 0 20px}.auth-primary-actions .auth-choices{grid-template-columns:1fr;gap:8px}.auth-primary-actions .button{margin-top:0;min-height:48px;font-size:14px}.auth-session-choice{margin-top:18px}.auth-session-choice .confirmation-help{font-size:11px;line-height:1.5;margin-top:6px}.signup-step-progress{display:flex;gap:20px;list-style:none;padding:0;margin:0 0 24px;color:var(--muted);font-size:13px}.signup-step-progress li{display:flex;align-items:center;gap:9px;flex:1}.signup-step-progress li>span{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid var(--line);border-radius:50%}.signup-step-progress li[aria-current=step]{color:var(--forest);font-weight:750}.signup-step-progress li[aria-current=step]>span{background:var(--forest);border-color:var(--forest);color:white}
@media(max-width:760px){.auth-layout>.auth-story{display:none}.auth-layout>.auth-panel{padding:18px 20px 28px;justify-content:flex-start}.auth-mobile-brand{display:flex;margin-bottom:18px}.auth-card>.public-language-control{margin:0 0 18px;gap:6px}.auth-card>.public-language-control button{padding:7px 10px;font-size:13px}.auth-card>.eyebrow{margin-bottom:6px}.auth-card>h2{margin-bottom:9px;font-size:26px}.auth-card>p{margin-bottom:15px;line-height:1.6}.auth-card .auth-primary-actions .button{min-height:48px;margin-top:0;font-size:14px}.auth-card>.auth-security-note{margin-top:18px;padding-top:12px}.auth-card>.auth-demo-link{margin-top:18px}.signup-step-progress{gap:12px;font-size:12px;margin-bottom:18px}}

/* Short, optional installation help. No app content or browser controls are covered. */
.home-install-card{display:flex;align-items:center;gap:18px;margin-block:24px;padding:22px 24px;border:1px solid var(--line,#ddd);background:var(--white,#fff)}
.home-install-card>div{flex:1;min-width:0}.home-install-card h2{margin:0 0 6px;font-size:1.12rem}.home-install-card p{margin:0;color:var(--ink,#182b24);line-height:1.5}.home-install-card>.install-step-icon{width:34px;height:34px;flex:0 0 34px;color:var(--clay,#074b3a)}
.install-tennis-dialog{width:min(560px,calc(100vw - 24px))}.install-tennis-dialog .dialog-body{padding-bottom:20px}.install-tennis-dialog .dialog-footer{display:none}.install-tennis-dialog .dialog-header>.icon-button{min-width:44px;min-height:44px}
.install-guide-short .install-device{margin:0 0 18px;font-weight:700;color:var(--ink,#182b24)}
.install-video-guide{margin:0 0 14px}.install-video-guide figcaption{font-weight:750;margin-bottom:10px;line-height:1.4}.install-video-guide video{display:block;width:100%;max-height:58vh;max-height:58dvh;aspect-ratio:9/16;object-fit:contain;background:#14271f;border-radius:12px}.install-video-guide .confirmation-help{font-size:13px;line-height:1.5;margin:8px 0}.install-video-guide [hidden]{display:none}.install-browser-choices{display:flex;gap:8px;margin-block:12px}.install-browser-choices .button{flex:1;gap:8px}.install-browser-choices [aria-pressed=true]{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}.install-inapp-choice,.install-open-chrome{width:100%;margin-bottom:8px}.install-guide-short .install-written-steps{margin:14px 0;padding:12px 0;border-block:1px solid var(--line,#ddd)}.install-written-steps>.install-steps{margin-bottom:0}.install-browser-choices .button span{font-size:20px;line-height:1}
.post-signup-coach-dialog{width:min(520px,calc(100vw - 24px))}.post-signup-coach-dialog .dialog-footer{display:none}.post-signup-coach-dialog .invitation-actions{display:flex;flex-wrap:wrap;gap:12px}.post-signup-coach-dialog .invitation-actions .button{flex:1;min-height:48px}
.install-video-language{display:flex;gap:8px;margin-bottom:10px}.install-video-language .button{flex:1;min-height:44px;font-size:15px}.install-video-language [aria-pressed=true]{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}
.install-guide-short .install-steps{list-style:none;padding:0;margin:18px 0;display:grid;gap:14px}
.install-guide-short .install-step{display:grid;grid-template-columns:28px 30px minmax(0,1fr);gap:12px;align-items:start;padding:16px;border:1px solid var(--line,#ddd);border-radius:12px;background:var(--white,#fff)}
.install-step-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink,#182b24);color:#fff;font-size:14px;font-weight:700}
.install-step-icon{width:28px;height:28px;flex-shrink:0}.install-step strong{display:block;line-height:1.4}.install-guide-short .install-step p{margin:6px 0 0;font-size:15px;line-height:1.5;color:var(--ink,#182b24)}
.install-guide-short .install-link-help{margin:18px 0 12px;padding:14px}.install-guide-short summary{min-height:32px;line-height:1.5;cursor:pointer}.install-copy-block label{display:block;margin-block:10px 8px;font-weight:600}.install-copy-block input{font-size:16px!important}.install-guide-actions{display:flex;justify-content:flex-end;margin-top:18px}.install-manual-guides{display:flex;flex-wrap:wrap;gap:8px;margin-block:18px}.install-manual-guides p{flex-basis:100%;margin:0}.install-guide-short .button,.install-guide-actions .button,.home-install-card .button{min-height:44px}
@media(max-width:600px){.home-install-card{flex-wrap:wrap;gap:12px;padding:18px}.home-install-card>div{flex-basis:calc(100% - 52px)}.home-install-card>.button{width:100%}.install-tennis-dialog .dialog-body{padding-inline:16px}.install-guide-short .install-step{gap:9px;padding:13px 11px;grid-template-columns:26px 25px minmax(0,1fr)}.install-guide-short .install-step p{font-size:16px}.install-step-number{width:26px;height:26px}.install-step-icon{width:25px;height:25px}.install-link-controls{align-items:stretch}.install-link-controls input,.install-link-controls .button{width:100%;flex-basis:100%}.install-guide-actions .button{width:100%}}

.coach-planning-dialog { width:min(1160px,calc(100vw - 24px)); max-width:1160px; }
.coach-planning-dialog .invitation-actions { flex-wrap:wrap; gap:8px; }
.coach-planning-dialog .button { white-space:normal; }
.coach-planning-dialog .coach-planning-summary .public-player-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.coach-planning-dialog .coach-planning-summary dd { font-weight:750; font-size:1.2rem; }
.coach-planning-dialog .coach-planning-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; margin-top:16px; }
.coach-planning-dialog .coach-planning-grid--day { grid-template-columns:minmax(0,1fr); }
.coach-planning-dialog .coach-planning-day { min-width:0; background:#f5f7f1; border:1px solid #d8e1d5; border-radius:12px; padding:10px; }
.coach-planning-dialog .coach-planning-day>h3 { margin:0 0 12px; font-size:.9rem; overflow-wrap:anywhere; }
.coach-planning-dialog .coach-planning-item { margin:0 0 10px; padding:10px; background:#fffdf8; color:#243a2d; border:1px solid #d3ddd1; border-inline-start:4px solid #697c6c; border-radius:8px; overflow-wrap:anywhere; }
.coach-planning-dialog .coach-planning-item--personal { border-inline-start-color:#a84d31; }
.coach-planning-dialog .coach-planning-item--club_group { border-inline-start-color:#7252a0; }
.coach-planning-dialog .coach-planning-item--club_lesson { border-inline-start-color:#2c6a43; }
.coach-planning-dialog .coach-planning-item--booking { border-inline-start-color:#316b96; }
.coach-planning-dialog .coach-planning-item.has-conflict { outline:2px solid #a84d31; }
.coach-planning-dialog .coach-planning-item .tag { display:inline-block; margin:6px 0 0; padding:3px 6px; line-height:1.3; white-space:normal; background:#e9efe3; color:#294432; }
.coach-planning-dialog .coach-planning-item h3 { margin:10px 0 6px; font-size:.95rem; }
.coach-planning-dialog .coach-planning-item p { margin:6px 0; color:#526359; font-size:.84rem; }
.coach-planning-dialog .coach-planning-item .button { margin-top:8px; width:100%; }
.coach-planning-dialog .coach-planning-days { margin:12px 0; padding:12px; border:1px solid #c8d6c4; border-radius:10px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.coach-planning-dialog .coach-planning-days .check-field { margin:0; }
.coach-planning-dialog .coach-planning-occurrences { max-height:35dvh; overflow:auto; padding-inline-start:24px; line-height:1.8; }
@media(max-width:950px) {
 .coach-planning-dialog .coach-planning-grid { grid-template-columns:minmax(0,1fr); }
 .coach-planning-dialog .coach-planning-item .button { width:auto; }
 .coach-planning-dialog .coach-planning-days { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .coach-planning-dialog { width:calc(100vw - 16px); }
 .coach-planning-dialog .coach-planning-summary .public-player-details { grid-template-columns:minmax(0,1fr); }
 .coach-planning-dialog .form-grid { grid-template-columns:minmax(0,1fr); }
 .coach-planning-dialog .invitation-actions>.button { min-height:44px; flex:1 1 130px; }
 .coach-planning-dialog .coach-planning-item .button { min-height:44px; }
}

/* Keep identity on the first row; actions cannot consume the name column. */
[data-student-list] .contact-row{display:grid;grid-template-columns:35px minmax(0,1fr);align-items:start;gap:12px 15px}
[data-student-list] .contact-identity{min-width:0;width:100%;grid-column:2}
[data-student-list] .contact-identity h3{word-break:normal;overflow-wrap:anywhere}
[data-student-list] .contact-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px;width:100%;min-width:0}
[data-student-list] .contact-actions .button{max-width:100%;min-height:44px;white-space:normal}
@media(max-width:760px){[data-student-list] .contact-row{grid-template-columns:31px minmax(0,1fr);gap:12px}}

/* Explicit personal coach module, separate from directory publication. */
.coach-module-card{margin-bottom:24px;border:2px solid var(--line)}.coach-module-card--enabled{border-color:#547b65;background:#eef6f0}.coach-module-card .surface-heading{align-items:flex-start;gap:18px}.coach-module-card h2{font-size:20px}.coach-module-card .surface-heading p{font-size:12px;color:var(--muted);line-height:1.9;max-width:590px;margin-top:8px}.coach-module-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 14px}.coach-module-actions>.button{min-height:44px}.coach-module-card>.form-error{margin-top:15px}.coach-module-card .tag{flex:none}
@media(max-width:760px){.coach-module-card{margin-bottom:20px}.coach-module-card .surface-heading{flex-wrap:wrap;gap:12px}.coach-module-card h2{font-size:19px}.coach-module-card .surface-heading p{font-size:11px}.coach-module-actions>.button{width:100%}}
