@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#172620;--muted:#7c8982;--line:#e8ede9;--paper:#fff;--canvas:#f8faf8;--forest:#123d32;--forest-2:#1b5947;--lime:#d8f07d;--coral:#ed7958;--soft:#f0f5f1;--shadow:0 8px 24px rgba(29,57,43,.055);--sans:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{color:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:10;inset:0 auto 0 0;width:246px;background:#fff;border-right:1px solid var(--line);padding:27px 17px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 10px;text-decoration:none;color:var(--ink);font:800 21px var(--display);letter-spacing:-1px}.brand-accent{color:var(--forest-2)}.brand-mark{width:30px;height:30px;border-radius:9px;background:var(--forest);display:grid;place-items:center;position:relative;flex:none}.brand-mark:before{content:"";width:12px;height:12px;border:2.5px solid var(--lime);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.brand-mark:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--coral)}.brand-mark span{display:none}.community-switcher{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:10px;border-radius:10px;margin:35px 2px 31px}.community-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:8px;background:#e3eddd;color:#386043;font:700 11px var(--display)}.community-copy{display:flex;flex-direction:column;line-height:1.3;flex:1;min-width:0}.community-copy span{font-size:10px;color:var(--muted)}.community-copy strong{font:700 11px var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chevron{color:#9aa59f}.nav-label{padding:0 12px;color:#a3ada7;font-size:9px;font-weight:700;letter-spacing:1.15px;margin:0 0 9px}.nav-label-spaced{margin-top:29px}.main-nav{display:flex;flex-direction:column;gap:4px}.nav-link{position:relative;display:flex;align-items:center;gap:12px;color:#69766f;text-decoration:none;height:41px;border-radius:8px;padding:0 12px;font-weight:500;font-size:12px;transition:.15s}.nav-link:hover{background:#f5f8f5;color:var(--forest)}.nav-link.active{background:#eef4ef;color:var(--forest);font-weight:700}.nav-icon{width:17px;font-size:17px;line-height:1;text-align:center;color:#87938b}.nav-link.active .nav-icon{color:var(--forest-2)}.nav-count{margin-left:auto;background:#e1ecdf;color:#335b40;border-radius:20px;padding:2px 7px;font-size:10px}.sidebar-bottom{margin-top:auto}.invite-card{position:relative;overflow:hidden;background:#f2f6ec;border:1px solid #e8eddf;border-radius:10px;padding:15px;margin:0 1px 17px}.invite-card strong{display:block;max-width:145px;font:700 12px/1.4 var(--display);position:relative;z-index:1}.invite-card p{max-width:155px;margin:6px 0 13px;color:#758078;font-size:10px;position:relative;z-index:1}.invite-orbit{position:absolute;right:14px;top:4px;color:#d5e4bc;font-size:54px;line-height:1}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:8px;padding:11px 16px;font-weight:700;font-size:12px;cursor:pointer;transition:transform .15s,background .15s,border-color .15s}.button:hover{transform:translateY(-1px)}.button-small{padding:7px 11px;font-size:10px;border-radius:6px}.button-light{background:#fff;color:var(--forest);border:1px solid #e2eadc}.button-primary{background:var(--forest);color:white;box-shadow:0 3px 8px rgba(18,61,50,.13)}.button-primary:hover{background:var(--forest-2)}.button-primary .plus{font-size:16px;font-weight:400;line-height:12px}.button-outline{background:#fff;color:var(--forest);border:1px solid #dfe7e1}.button-outline:hover,.button-filter:hover{border-color:#9bb5a2;background:#fbfdfb}.button-soft{background:#f0f5ec;color:#446147}.profile-mini{display:flex;align-items:center;gap:9px;text-align:left;background:transparent;border:0;border-top:1px solid var(--line);padding:16px 4px 0;width:100%;cursor:pointer}.profile-mini>span:nth-child(2){display:flex;flex-direction:column;flex:1}.profile-mini strong{font-size:11px}.profile-mini small{font-size:9px;color:var(--muted);margin-top:2px}.more{color:#95a099;font-size:19px}.avatar{flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;font:700 10px var(--display);color:#476246;background:#e9f0df}.avatar-me{background:#dbe8cb;color:#405d3c}.main-content{margin-left:246px;padding:0 44px;max-width:1750px;min-height:100vh}.topbar{height:73px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.breadcrumb{display:flex;align-items:center;gap:10px;color:#98a39c;font-size:11px}.breadcrumb strong{color:#4e5c54;font-weight:600}.breadcrumb-slash{color:#c2cac4}.top-actions{display:flex;align-items:center;gap:17px}.icon-button{width:30px;height:30px;border:0;background:transparent;color:#78847d;font-size:21px;cursor:pointer;border-radius:7px;position:relative}.icon-button:hover{background:#edf2ee}.notification-button i,.mobile-brand .icon-button i{position:absolute;right:4px;top:3px;width:6px;height:6px;background:var(--coral);border:1px solid white;border-radius:50%}.top-divider{height:24px;width:1px;background:var(--line)}.current-location{border:0;background:transparent;color:#69766f;font-size:11px;display:flex;gap:7px;align-items:center;cursor:pointer}.current-location span{font-size:16px;color:var(--forest-2)}.current-location b{font-weight:400;color:#9ca69f}.avatar-top{width:30px;height:30px;font-size:9px}.mobile-brand{display:none}.view-section{display:none;padding:35px 0 25px;animation:fade-in .24s ease}.view-section.active{display:block}@keyframes fade-in{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}.welcome-row,.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{font-size:9px;letter-spacing:1.3px;color:#71847a;font-weight:700;margin:0 0 7px}.live-dot{display:inline-block;width:6px;height:6px;background:#7dae69;border-radius:50%;margin:0 5px 1px 0}.welcome-row h1,.page-header h1{font:700 28px/1.25 var(--display);letter-spacing:-1.1px;margin:0;color:#1b2b23}.wave{color:#9eae69;font-size:22px;margin-left:3px}.page-subtitle{margin:5px 0 0;color:#8a968f;font-size:12px}.hero-card{height:228px;position:relative;overflow:hidden;background:var(--forest);border-radius:13px;color:white;display:flex;margin-bottom:35px}.hero-text{position:relative;z-index:2;padding:27px 0 20px 30px;width:54%}.hero-kicker{color:#c2db99;font-size:8px;letter-spacing:1.4px;font-weight:700}.hero-text h2{font:700 26px/1.16 var(--display);letter-spacing:-.7px;margin:9px 0 8px}.hero-text p{color:#c3d0c8;font-size:10px;margin:0 0 15px}.button-hero{padding:9px 13px;background:var(--lime);color:#264431;font-size:10px}.button-hero:hover{background:#e5f6aa}.hero-art{position:absolute;inset:0 0 0 48%;overflow:hidden;background:radial-gradient(ellipse at 70% 50%,#2b644e,#174637 55%,#123d32)}.court-lines{position:absolute;width:235px;height:320px;border:1px solid rgba(216,240,125,.47);left:90px;top:-50px;transform:rotate(28deg);border-radius:4px}.court-lines:before{content:"";position:absolute;inset:0 25%;border-left:1px solid rgba(216,240,125,.5);border-right:1px solid rgba(216,240,125,.5)}.court-lines:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid rgba(216,240,125,.5)}.hero-ball{position:absolute;right:20%;top:28%;width:67px;height:67px;border-radius:50%;background:#d8f07d;box-shadow:inset -8px -8px 12px rgba(95,128,55,.16);transform:rotate(-24deg)}.hero-ball:after{content:"";position:absolute;left:20px;top:-2px;width:24px;height:68px;border:1.5px solid #a9ca56;border-radius:50%;transform:rotate(34deg)}.hero-court-label{position:absolute;bottom:22px;right:25px;color:#a7c196;letter-spacing:2px;font-size:8px}.hero-pagination{position:absolute;bottom:16px;left:30px;z-index:2;display:flex;gap:5px}.hero-pagination span{width:5px;height:5px;background:#658575;border-radius:4px}.hero-pagination span.selected{width:17px;background:var(--lime)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 15px}.section-heading h2,.panel-heading h2{font:700 15px var(--display);letter-spacing:-.3px;margin:0;color:#22342a}.section-heading p,.panel-heading p{font-size:10px;color:#8a968f;margin:3px 0 0}.text-link{border:0;background:transparent;color:#446c50;font-size:10px;font-weight:700;cursor:pointer}.text-link span{margin-left:3px}.match-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.match-card{background:#fff;border:1px solid #e9eeea;border-radius:10px;padding:15px 15px 13px;min-width:0;transition:.18s}.match-card:hover{border-color:#cad9cc;box-shadow:var(--shadow);transform:translateY(-2px)}.match-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.match-type{display:inline-flex;align-items:center;gap:5px;background:#f0f5ee;color:#4d6d4e;border-radius:4px;padding:4px 7px;font-size:8px;font-weight:700;letter-spacing:.25px}.match-type.orange{background:#fcf1ec;color:#b4694f}.match-type.blue{background:#edf4f5;color:#507987}.match-type span{font-size:10px}.spots{font-size:8px;color:#89968f}.spots strong{color:#526c55;font-weight:700}.match-card h3{font:700 13px var(--display);margin:0 0 10px;color:#24342b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-meta{display:flex;flex-direction:column;gap:6px;color:#76837b;font-size:9px}.match-meta span{display:flex;gap:7px;align-items:center}.meta-icon{width:12px;text-align:center;color:#94a299;font-size:12px}.match-divider{height:1px;background:#edf0ed;margin:12px 0 10px}.match-card-bottom{display:flex;align-items:center;justify-content:space-between}.player-stack{display:flex;align-items:center;padding-left:2px}.player-stack .avatar{width:24px;height:24px;border:2px solid white;margin-left:-4px;font-size:7px}.player-stack .avatar:first-child{margin-left:0}.player-open{background:#f3f5f2;color:#819087;border:1px dashed #ccd5cf}.level-chip{color:#66766d;font-size:9px;font-weight:600}.level-chip strong{color:#304e3a}.join-button{background:#edf4ee;color:#426949;border:0;padding:7px 9px;border-radius:5px;font-size:9px;font-weight:700;cursor:pointer}.join-button:hover{background:#e0ecdf}.join-button.joined{background:#f4f1e6;color:#8a7136}.lower-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:15px;margin-top:20px}.panel{background:#fff;border:1px solid #e8ede9;border-radius:10px;padding:17px 18px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.more-button{border:0;background:transparent;color:#9ba69f;font-size:19px;cursor:pointer}.my-rank{display:flex;align-items:center;gap:9px;background:#f6f8f4;border-radius:7px;padding:9px;margin-bottom:7px}.rank-medal{width:21px;height:21px;border-radius:50%;background:#e7efd9;color:#677d40;display:grid;place-items:center;font-size:8px;font-weight:700}.rank-name{display:flex;flex:1;flex-direction:column;gap:2px}.rank-name strong{font-size:10px}.rank-name small{font-size:8px;color:#8d9891}.you-label{font-size:7px;color:#60805b;background:#e9f1e5;border-radius:3px;padding:2px 4px;margin-left:3px;vertical-align:1px}.rank-points{font-size:10px;color:#425b47}.rank-points small{font-size:8px;font-weight:500;color:#8a968f}.rank-list{margin-bottom:13px}.rank-item{display:flex;align-items:center;gap:10px;padding:7px 9px;border-bottom:1px solid #f1f3f1}.rank-position{width:17px;color:#8a968e;font-size:9px;text-align:center}.rank-item .avatar{width:25px;height:25px;font-size:7px}.rank-item .rank-name{font-size:10px}.rank-item .rank-points{margin-left:auto}.full-width{width:100%;padding:9px;font-size:9px}.activity-list{margin-top:-4px}.activity-item{display:flex;align-items:flex-start;gap:9px;padding:10px 0;border-bottom:1px solid #f0f3f0;position:relative}.activity-avatar{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-size:8px;font-weight:700;flex:none}.activity-green{background:#eaf0df;color:#62744b}.activity-orange{background:#f5e6df;color:#9b6855}.activity-blue{background:#e3edf0;color:#527581}.activity-item p{margin:0;flex:1;font-size:9px;color:#7a867e;line-height:1.5}.activity-item p strong{color:#34463a}.activity-item p span{color:#4c6850}.activity-item p small{display:block;color:#a0aaa3;font-size:8px;margin-top:3px}.activity-dot{width:5px;height:5px;background:#89b278;border-radius:50%;margin-top:5px}.activity-item .button{margin-top:4px}.activity-panel>.button{margin-top:12px}.app-footer{border-top:1px solid var(--line);padding:17px 0 19px;display:flex;gap:21px;color:#a0aaa3;font-size:9px}.app-footer span:nth-child(2){flex:1}.app-footer a{color:#738178;text-decoration:none}.page-header{margin-bottom:24px}.filter-bar{display:flex;gap:8px;align-items:center;margin-bottom:16px}.search-field{display:flex;align-items:center;gap:9px;height:37px;background:white;border:1px solid #e5ebe6;border-radius:7px;padding:0 11px;color:#91a097;flex:1;min-width:150px}.search-field>span{font-size:18px}.search-field input{border:0;outline:0;background:transparent;color:var(--ink);width:100%;font-size:10px}.search-field input::placeholder{color:#a2aca6}.filter-bar select,.ranking-table-panel select{height:37px;border:1px solid #e5ebe6;border-radius:7px;background:#fff;padding:0 11px;color:#64736a;font-size:10px;outline:none}.button-filter{height:37px;border:1px solid #e5ebe6;background:#fff;color:#64736a;padding:0 11px;font-size:10px}.results-label{display:flex;justify-content:space-between;align-items:center;color:#89958e;font-size:10px;margin:17px 1px 12px}.results-label strong{color:#4d5f53}.sort-button{border:0;background:transparent;color:#758179;font-size:9px;cursor:pointer}.sort-button span{margin-left:5px}.match-grid-wide{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.calendar-panel{padding:20px}.calendar-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:20px}.calendar-toolbar h2{font:700 15px var(--display);margin:0 8px}.calendar-toolbar .button{margin-left:auto;font-size:9px;padding:8px 13px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.calendar-cell{min-height:95px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;color:#77847b}.calendar-cell.day-heading{min-height:auto;padding:8px;background:#f8faf8;color:#89958e;font-size:9px;font-weight:700}.calendar-cell.today{background:#f6f9f1}.calendar-date{display:flex;justify-content:space-between;align-items:center}.calendar-date.today span:first-child{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:white}.calendar-event{background:#edf4e9;border-left:2px solid #82a76d;color:#506c4c;border-radius:3px;padding:4px;margin-top:6px;font-size:8px;line-height:1.3}.calendar-event strong{display:block}.ranking-summary{display:grid;grid-template-columns:repeat(3,1fr);background:var(--forest);border-radius:11px;margin:2px 0 17px;color:white}.ranking-summary>div{padding:18px 20px;position:relative;border-right:1px solid rgba(255,255,255,.12)}.ranking-summary>div:last-child{border:0}.summary-icon{color:var(--lime);font-size:15px;position:absolute;right:20px;top:20px}.ranking-summary p{font-size:8px;letter-spacing:1px;color:#afc5b6;margin:0 0 9px}.ranking-summary strong{font:700 22px var(--display)}.ranking-summary strong small{font:400 9px var(--sans);color:#b9c9be}.ranking-table-panel{padding:17px 19px}.ranking-table{width:100%}.ranking-row{display:grid;grid-template-columns:42px minmax(130px,1fr) 1fr 95px 90px;align-items:center;gap:9px;min-height:48px;border-bottom:1px solid #eff2ef;color:#67756b;font-size:9px}.ranking-row.header{min-height:32px;color:#99a39c;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.ranking-row.me{background:#f5f8f2;color:#415a43}.ranking-player{display:flex;align-items:center;gap:8px;color:#3e4d42;font-weight:600}.ranking-player .avatar{width:25px;height:25px;font-size:7px}.rating-bar{height:4px;background:#edf1ed;border-radius:4px;overflow:hidden;max-width:90px}.rating-bar span{display:block;background:#87a876;height:100%;border-radius:4px}.ranking-note{padding:12px 0 1px;color:#93a097;font-size:9px}.community-banner{border-radius:12px;background:#173f34;min-height:176px;color:white;padding:25px 29px;position:relative;overflow:hidden;margin-bottom:29px}.community-banner:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;border:1px solid rgba(216,240,125,.35);right:22%;top:-35%;box-shadow:0 0 0 24px rgba(216,240,125,.025),0 0 0 50px rgba(216,240,125,.025)}.community-banner h2{font:700 24px/1.15 var(--display);letter-spacing:-.7px;margin:8px 0}.community-banner p{font-size:9px;color:#c0d0c4;margin:0}.community-bubbles{position:absolute;right:8%;top:54px;display:flex}.community-bubbles span{width:41px;height:41px;margin-left:-8px;border:2px solid #173f34;border-radius:50%;background:#e6eed7;color:#506d48;display:grid;place-items:center;font-size:9px;font-weight:700}.community-bubbles span:nth-child(2){background:#f2ded3;color:#8d6653}.community-bubbles span:nth-child(3){background:#dce9eb;color:#53717a}.community-bubbles span:last-child{background:#d9ef91;color:#405735}.player-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.player-card{background:white;border:1px solid var(--line);border-radius:9px;padding:15px;text-align:center}.player-card .avatar{width:49px;height:49px;margin:0 auto 9px;font-size:13px}.player-card h3{font:700 11px var(--display);margin:0 0 3px}.player-card p{font-size:9px;color:#89958d;margin:0}.player-level{display:inline-block;background:#f0f5ec;color:#58734f;border-radius:12px;padding:4px 8px;font-size:8px;margin:10px 0}.player-card .button{width:100%;padding:7px;font-size:9px}.venue-search{max-width:400px;margin-bottom:16px}.venue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.venue-card{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.venue-image{height:106px;background:#dae5d9;position:relative;display:grid;place-items:center;overflow:hidden}.venue-image:before,.venue-image:after{content:"";position:absolute;width:180px;height:110px;border:1px solid rgba(255,255,255,.65);transform:rotate(-25deg)}.venue-image:after{width:110px;border-left:1px solid rgba(255,255,255,.7);border-right:1px solid rgba(255,255,255,.7)}.venue-court{width:82px;height:48px;background:#4e8a70;border:2px solid #daeab9;z-index:1;transform:rotate(-16deg);position:relative}.venue-court:after{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px solid #d6e9b2}.venue-image.alt{background:#dae5e9}.venue-image.alt .venue-court{background:#5b8491}.venue-image.orange{background:#eee2d5}.venue-image.orange .venue-court{background:#8a795f}.venue-info{padding:12px}.venue-info h3{font:700 12px var(--display);margin:0 0 5px}.venue-info p{margin:0;color:#89958d;font-size:9px}.venue-tags{display:flex;gap:5px;margin-top:9px}.venue-tags span{font-size:8px;color:#627568;background:#f2f5f1;padding:4px 6px;border-radius:4px}.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:15px}.profile-card{padding:0;overflow:hidden}.profile-cover{height:105px;background:#dfe9d6;position:relative;overflow:hidden}.profile-cover:before{content:"";position:absolute;inset:-60px 20%;border:1px solid rgba(73,120,78,.3);transform:rotate(-25deg)}.profile-cover:after{content:"";position:absolute;inset:-60px 38%;border-left:1px solid rgba(73,120,78,.3);border-right:1px solid rgba(73,120,78,.3);transform:rotate(-25deg)}.profile-main{padding:0 19px 18px;position:relative}.avatar-profile{width:66px;height:66px;border:4px solid white;margin-top:-34px;position:relative;font-size:17px}.verified-pill{position:absolute;right:17px;top:12px;background:#edf5e8;color:#587d4b;border-radius:20px;padding:5px 8px;font-size:8px}.profile-main h2{font:700 17px var(--display);margin:9px 0 2px}.profile-main>p{margin:0;color:#8a968e;font-size:9px}.profile-stats{display:flex;gap:36px;margin-top:17px;border-top:1px solid #edf0ed;padding-top:13px}.profile-stats div{display:flex;flex-direction:column}.profile-stats strong{font:700 15px var(--display);color:#3b5641}.profile-stats small{font-size:8px;color:#8f9a93}.profile-details{padding:17px 18px}.detail-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #f0f2f0;font-size:9px}.detail-row:last-child{border:0}.detail-row span{color:#87938b}.detail-row strong{font-weight:600;color:#485b4e;text-align:right}.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:15px}.settings-panel h2{font:700 14px var(--display);margin:0}.settings-panel>p{color:#8b978f;font-size:9px;margin:4px 0 14px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #eff2ef;cursor:pointer}.setting-row span{display:flex;flex-direction:column}.setting-row strong{font-size:10px}.setting-row small{font-size:8px;color:#909b94;margin-top:3px}.toggle{appearance:none;width:31px;height:18px;border-radius:20px;background:#dce2dd;position:relative;cursor:pointer;transition:.2s;flex:none}.toggle:after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:.2s}.toggle:checked{background:#6d9673}.toggle:checked:after{left:15px}.bottom-nav{display:none}#modal-root:empty,#toast-root:empty{display:none}.modal-backdrop{position:fixed;inset:0;z-index:40;background:rgba(13,34,25,.48);display:grid;place-items:center;padding:20px;animation:fade-in .15s}.modal{width:min(100%,460px);max-height:min(90vh,760px);overflow:auto;background:#fff;border-radius:13px;box-shadow:0 18px 55px rgba(10,30,21,.2);padding:22px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:17px}.modal-header h2{font:700 18px var(--display);letter-spacing:-.5px;margin:0}.modal-header p{font-size:10px;color:#87948c;margin:4px 0 0}.modal-close{border:0;background:transparent;color:#89958d;font-size:22px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-field{display:flex;flex-direction:column;gap:5px;font-size:9px;color:#66766c}.form-field.full{grid-column:1/-1}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #e3e9e4;border-radius:7px;padding:10px;color:#34443a;background:#fff;outline:none;font-size:10px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#91af94;box-shadow:0 0 0 2px #e9f1e7}.form-field textarea{min-height:67px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:19px}.toast{position:fixed;z-index:60;right:24px;bottom:24px;padding:12px 16px;background:#203e31;color:#fff;border-radius:8px;box-shadow:var(--shadow);font-size:11px;animation:fade-in .2s}.empty-state{grid-column:1/-1;border:1px dashed #dce5dd;border-radius:10px;padding:32px;text-align:center;color:#859188;background:#fff}.empty-state strong{display:block;color:#43574a;margin-bottom:4px}.score-set{display:grid;grid-template-columns:1fr 70px 70px;gap:7px;align-items:center;margin:8px 0}.score-set span{font-size:9px;color:#66766c}.score-set input{text-align:center;padding:9px;border:1px solid var(--line);border-radius:6px;width:100%}.confirm-box{background:#f5f8f3;border-radius:8px;padding:12px;color:#62705f;font-size:10px;margin-top:13px}.install-hint{display:none}
@media(min-width:1500px){.main-content{padding-left:58px;padding-right:58px}.hero-card{height:250px}.hero-text{padding-top:35px}.hero-text h2{font-size:30px}.match-card{padding:17px}.sidebar{width:260px}.main-content{margin-left:260px}}
@media(max-width:1120px){.main-content{padding:0 28px}.sidebar{width:220px;padding-left:13px;padding-right:13px}.main-content{margin-left:220px}.match-grid,.match-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.lower-grid{grid-template-columns:1fr}.player-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-bar select{max-width:135px}}
@media(max-width:760px){body{padding-bottom:68px}.sidebar,.topbar{display:none}.main-content{margin:0;padding:0 17px}.mobile-brand{height:57px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:8px;font:800 18px var(--display);letter-spacing:-.8px}.mobile-brand .brand-mark{width:26px;height:26px}.mobile-brand .brand-mark:before{width:10px;height:10px;border-width:2px}.mobile-brand .icon-button{margin-left:auto}.view-section{padding:25px 0 22px}.welcome-row,.page-header{align-items:flex-start;margin-bottom:19px}.welcome-row h1,.page-header h1{font-size:23px}.eyebrow{font-size:8px}.page-subtitle{font-size:10px}.welcome-row>.button,.page-header>.button{font-size:10px;padding:9px 10px;white-space:nowrap;margin-top:11px}.welcome-row .button .plus,.page-header .button .plus{font-size:13px}.hero-card{height:215px;margin-bottom:27px}.hero-text{padding:24px 0 17px 20px;width:68%}.hero-text h2{font-size:23px}.hero-text p{max-width:195px;font-size:9px}.hero-art{left:48%;opacity:.85}.hero-ball{right:14%;top:36%;width:50px;height:50px}.hero-ball:after{left:14px;width:20px;height:51px}.court-lines{left:25px}.hero-pagination{left:20px;bottom:12px}.section-heading h2,.panel-heading h2{font-size:13px}.section-heading p,.panel-heading p{font-size:9px}.match-grid,.match-grid-wide{grid-template-columns:1fr;gap:9px}.match-card{padding:13px}.match-card h3{font-size:12px}.match-grid:not(.match-grid-wide) .match-card:nth-child(n+3){display:none}.lower-grid{gap:10px;margin-top:16px}.panel{padding:14px}.activity-item{gap:8px}.activity-item p{font-size:8px}.app-footer{font-size:8px;gap:12px}.app-footer span:nth-child(2){display:none}.filter-bar{flex-wrap:wrap}.search-field{flex-basis:100%}.filter-bar select{flex:1;max-width:none}.button-filter{flex:1}.results-label{font-size:9px}.sort-button{font-size:8px}.calendar-panel{padding:10px}.calendar-cell{min-height:58px;padding:5px;font-size:8px}.calendar-cell.day-heading{padding:6px 2px;font-size:7px;text-align:center}.calendar-event{font-size:6px;padding:3px 2px}.calendar-event strong{display:none}.calendar-toolbar h2{font-size:12px}.calendar-toolbar .button{padding:7px 9px}.ranking-summary>div{padding:13px 11px}.ranking-summary p{font-size:6px;letter-spacing:.6px}.ranking-summary strong{font-size:17px}.ranking-summary strong small{display:block;font-size:7px;margin-top:2px}.summary-icon{right:9px;top:10px;font-size:12px}.ranking-row{grid-template-columns:25px minmax(105px,1fr) 55px 55px;gap:5px;font-size:8px}.ranking-row>*:nth-child(4){display:none}.ranking-row.header>*:nth-child(4){display:none}.ranking-row.header{font-size:6px}.ranking-player{gap:5px}.ranking-table-panel{padding:13px 10px}.community-banner{min-height:155px;padding:20px}.community-banner h2{font-size:21px}.community-banner p{font-size:8px;max-width:200px}.community-bubbles{right:6%;top:60px}.community-bubbles span{width:31px;height:31px;font-size:7px}.player-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.player-card{padding:12px 8px}.venue-grid{grid-template-columns:1fr}.venue-image{height:120px}.profile-layout,.settings-layout{grid-template-columns:1fr;gap:10px}.verified-pill{font-size:7px;right:10px}.bottom-nav{position:fixed;z-index:30;inset:auto 0 0;height:62px;background:rgba(255,255,255,.97);border-top:1px solid var(--line);display:flex;justify-content:space-around;align-items:center;padding:3px 8px env(safe-area-inset-bottom,0);backdrop-filter:blur(10px)}.bottom-nav button{height:50px;min-width:50px;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#89958e;font-size:8px;cursor:pointer}.bottom-nav button span{font-size:18px;line-height:1}.bottom-nav button.active{color:var(--forest);font-weight:700}.bottom-nav .bottom-create{width:43px;height:43px;min-width:43px;border-radius:13px;background:var(--forest);color:#fff;font-size:0;margin-top:-15px;box-shadow:0 4px 12px rgba(18,61,50,.2)}.bottom-nav .bottom-create span{font-size:25px;font-weight:300}.modal{padding:18px}.form-grid{grid-template-columns:1fr 1fr}.toast{right:12px;left:12px;bottom:76px;text-align:center}.filter-bar select{font-size:9px;padding:0 8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.personal-matches{margin-top:15px}.personal-match-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid #eff2ef}.personal-match-row>div{display:flex;flex-direction:column;gap:4px}.personal-match-row strong{font-size:10px;color:#425347}.personal-match-row small{font-size:8px;color:#8b978f}
.admin-role{position:static}.live-pill{display:inline-flex;align-items:center;gap:6px;color:#58804e;font-size:9px;background:#eef5e9;border-radius:16px;padding:5px 9px}.live-pill i{width:6px;height:6px;border-radius:50%;background:#79aa67}.admin-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.admin-case{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #eff2ef}.case-icon{width:27px;height:27px;border-radius:7px;display:grid;place-items:center;background:#f4f2e8;color:#9b8250;font-size:12px}.case-copy{display:flex;flex-direction:column;gap:3px;flex:1}.case-copy strong{font-size:10px;color:#415246}.case-copy small{font-size:8px;color:#909b94}.admin-notice{border-radius:7px;background:#f5f7f3;padding:10px;color:#78847c;font-size:9px;margin-top:13px;line-height:1.5}.admin-summary{margin-bottom:14px}.admin-directory-toolbar{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:12px;align-items:end;margin-bottom:12px}.admin-directory-groups{display:flex;flex-wrap:wrap;gap:6px}.admin-directory-groups button{border:1px solid #d9e0da;background:#fff;border-radius:999px;padding:6px 10px;font-size:11px;color:#415246;cursor:pointer}.admin-directory-groups button.active{background:#163e33;color:#fff;border-color:#163e33}.admin-table-wrap{overflow:auto}.admin-data-table{width:100%;border-collapse:collapse;font-size:12px}.admin-data-table th,.admin-data-table td{text-align:left;padding:8px 6px;border-top:1px solid #eff2ef;vertical-align:top;max-width:220px;overflow:hidden;text-overflow:ellipsis}.admin-data-table th{font-size:10px;letter-spacing:.04em;color:#7d8b82}.admin-row-actions{display:flex;gap:6px;white-space:nowrap}
@media(max-width:760px){.admin-grid{grid-template-columns:1fr}.admin-case{gap:8px}.case-copy small{max-width:195px}}
body.auth-required{background:#f7f9f6}body.auth-required .auth-screen{display:block}body.auth-required .app-shell{display:none}.auth-screen{display:none;min-height:100vh;padding:23px 6vw 32px}.auth-brand{display:flex;align-items:center;justify-content:space-between;max-width:1220px;margin:0 auto}.auth-tagline{font-size:8px;letter-spacing:1.4px;color:#829087;font-weight:700}.auth-layout{max-width:1060px;min-height:calc(100vh - 100px);margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:50px}.auth-story{position:relative;overflow:hidden;min-height:440px;background:#163e33;color:#fff;border-radius:16px;padding:45px 42px;display:flex;flex-direction:column;justify-content:center}.auth-story h1{position:relative;z-index:1;font:700 clamp(38px,5.2vw,64px)/1.04 var(--display);letter-spacing:-2.5px;margin:13px 0}.auth-story h1 em{font-style:normal;color:var(--lime)}.auth-story>p{position:relative;z-index:1;max-width:340px;font-size:12px;line-height:1.7;color:#c6d5cb}.auth-social-proof{display:flex;align-items:center;gap:14px;margin-top:29px;position:relative;z-index:1}.auth-social-proof .community-bubbles{position:static}.auth-social-proof .community-bubbles span{width:31px;height:31px}.auth-social-proof small{font-size:9px;color:#bfd0c2;max-width:155px}.auth-court-lines{position:absolute;right:-95px;bottom:-200px;width:350px;height:510px;border:1px solid rgba(216,240,125,.35);transform:rotate(29deg);border-radius:4px}.auth-court-lines:before{content:"";position:absolute;inset:0 25%;border-left:1px solid rgba(216,240,125,.35);border-right:1px solid rgba(216,240,125,.35)}.auth-court-lines:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid rgba(216,240,125,.35)}.auth-form-wrap{max-width:410px;width:100%;margin:auto}.auth-form-card{padding:9px 0}.auth-step-label{color:#728178;letter-spacing:1.25px;font-size:8px;font-weight:700}.auth-form-card h2{font:700 24px var(--display);letter-spacing:-.8px;margin:8px 0 4px}.auth-form-card>p{font-size:10px;color:#839087;margin:0 0 21px}.auth-form-card form{display:flex;flex-direction:column;gap:13px}.auth-form-card .form-field{gap:6px}.auth-form-card .form-field input{height:43px;font-size:11px}.auth-submit{width:100%;height:42px;margin-top:5px}.auth-submit span{margin-left:auto}.auth-forgot{display:block;margin:11px 0 17px auto;border:0;background:transparent;color:#54745b;font-size:9px;cursor:pointer}.auth-divider{display:flex;align-items:center;gap:10px;color:#9aa49d;font-size:8px}.auth-divider span{height:1px;background:#e5eae5;flex:1}.auth-social-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.auth-social-buttons .button{height:44px;color:#24302a;font-size:14px;font-weight:600}.auth-social-buttons .button:disabled{opacity:1;color:#3c4a44;background:#fff;cursor:not-allowed}.auth-social-buttons .brand-icon{width:18px;height:18px;flex:none;display:block}.auth-social-buttons .brand-icon-apple{width:15px;height:18px}.auth-switch{text-align:center;margin:20px 0 0!important;color:#758279!important;font-size:9px!important}.auth-switch button{border:0;background:transparent;color:#426a49;font-weight:700;cursor:pointer;padding:2px}.auth-legal-note{text-align:center;margin-top:20px!important;font-size:8px!important;line-height:1.55;color:#a0aaa3!important}.auth-copyright{text-align:center;color:#a4ada6;font-size:8px;margin-top:12px}.auth-alert{border-radius:7px;padding:10px 12px;margin:0 0 14px;font-size:9px;background:#fff0ec;color:#a3543c}.auth-alert.success{background:#eef5e9;color:#50734a}.auth-alert[hidden]{display:none!important}
@media(max-width:760px){.auth-screen{padding:16px 18px 24px}.auth-tagline{font-size:7px}.auth-layout{display:block;min-height:unset;padding-top:18px}.auth-story{min-height:180px;padding:22px 23px;margin-bottom:24px}.auth-story h1{font-size:30px;letter-spacing:-1.1px;margin:7px 0}.auth-story>p{font-size:9px;margin:0;max-width:300px}.auth-social-proof{display:none}.auth-court-lines{width:185px;height:240px;right:-75px;bottom:-130px}.auth-form-wrap{max-width:440px}.auth-form-card h2{font-size:21px}.auth-copyright{margin-top:23px}}
.score-labels{display:grid;grid-template-columns:1fr 70px 70px;gap:7px;margin:15px 0 7px;color:#87938b;font-size:8px}.account-panel{max-width:660px}.account-actions{display:flex;gap:9px;margin-top:18px}.button-danger{background:#fff1ed;color:#a84937;border:1px solid #f0d7cf}.button-danger:hover{background:#ffe6dd}.account-retention-note{max-width:540px;font-size:8px!important;line-height:1.5;margin-top:13px!important;color:#969f99!important}
[hidden]{display:none!important}
.community-directory{margin-bottom:22px}.community-row{display:flex;align-items:center;gap:12px;padding:11px 2px;border-top:1px solid #eff2ef}.community-row-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#eaf1e5;color:#4b704e;font:700 10px var(--display);flex:none}.community-row-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.community-row-copy strong{font:700 11px var(--display);color:#34483a}.community-row-copy small{font-size:8px;color:#89968e}.community-active-pill{font-size:8px;font-weight:700;color:#55754b;background:#eef5e9;padding:5px 9px;border-radius:12px}.community-leave{border:0;background:transparent;color:#9b6d61;font-size:8px;padding:6px;cursor:pointer}
.tournament-list{display:grid;gap:14px}.tournament-card{padding:18px}.tournament-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tournament-card-head h2{font:700 17px var(--display);margin:9px 0 3px}.tournament-card-head p,.tournament-hint{font-size:9px;color:#87938b;margin:0}.tournament-teams{margin-top:13px}.tournament-actions{display:flex;gap:8px;margin-top:14px}.tournament-actions button:disabled{opacity:.45;cursor:not-allowed;transform:none}.tournament-hint{margin-top:8px}.tournament-rounds{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:18px}.tournament-round{border:1px solid #edf1ed;border-radius:8px;padding:11px}.tournament-round>strong{display:block;font:700 10px var(--display);margin-bottom:7px}.tournament-fixture{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px;border-top:1px solid #f0f3f0;padding:8px 0}.tournament-fixture span{font-size:9px;color:#425347}.tournament-fixture span b{color:#9ba69f;font-weight:500;margin:0 4px}.tournament-fixture small{font-size:8px;color:#87938b}.tournament-fixture .join-button{grid-column:2;grid-row:1/3;max-width:110px}
@media(max-width:760px){.bottom-nav button{min-width:0;flex:1;font-size:7px}.bottom-nav .bottom-create{flex:0 0 40px;width:40px;min-width:40px}.tournament-card{padding:13px}.tournament-card-head h2{font-size:14px}.tournament-rounds{grid-template-columns:1fr}.community-row{gap:8px}}

.player-card-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;margin-top:10px}.player-card-actions .button{font-size:9px;padding:7px 10px}.player-card-actions .text-link{border:0;background:transparent;color:#9b6d61;font-size:8px;cursor:pointer}.invite-friend-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.invite-friend-option{display:flex;align-items:center;gap:7px;padding:9px;border:1px solid #e8ede7;border-radius:7px;font-size:9px;color:#526157}.match-invitations-panel{margin:0 0 16px;padding:14px 17px}.match-invitations-panel .community-row{flex-wrap:wrap}
.notification-list{display:grid;gap:8px;max-height:min(60vh,520px);overflow:auto}.notification-row{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:11px;border:1px solid #e8ede7;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.notification-row.unread{border-color:#cbdcbf;background:#f5f9f1}.notification-row strong{font-size:10px;color:#34483a}.notification-row span{font-size:9px;color:#58675d}.notification-row small{font-size:8px;color:#8b978f}
.hero-card,.auth-story{box-shadow:0 24px 60px rgba(18,61,50,.16)}
.sidebar{background:rgba(255,255,255,.94);backdrop-filter:blur(18px)}
.main-content{max-width:1640px}
.welcome-row h1,.page-header h1{font-size:clamp(30px,3vw,38px);letter-spacing:-1.5px}
.page-subtitle{font-size:14px;line-height:1.6}
.panel,.match-card,.venue-card,.player-card{border-radius:16px;box-shadow:0 8px 24px rgba(29,57,43,.055);transition:transform .18s ease,box-shadow .18s ease}
.match-card:hover,.venue-card:hover,.player-card:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(29,57,43,.1)}
.match-card h3{font-size:17px}
.match-meta,.match-organizer{font-size:11px}
.community-row{padding:14px 5px}
.community-row-copy strong{font-size:13px}
.community-row-copy small{font-size:10px}
.join-button,.community-leave{font-size:10px}
.nav-link{height:44px;font-size:13px}
.nav-link.active{box-shadow:inset 3px 0 0 var(--forest-2)}
.button{border-radius:10px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(115,153,88,.48);outline-offset:2px}
@media(max-width:760px){.main-content{padding:0 18px}.view-section{padding-top:24px}.welcome-row h1,.page-header h1{font-size:29px}.page-subtitle{font-size:12px}.match-card h3{font-size:15px}.community-row{padding:12px 1px}}
.admin-shell{display:none;min-height:100vh;background:#f3f5f4}
body.staff-session{background:#f3f5f4}
body.staff-session .app-shell{display:none}
body.staff-session .admin-shell:not([hidden]){display:block}
body.auth-required .admin-shell{display:none}
.admin-shell .sidebar{background:#102820;color:#f4f7f5;border-right-color:#1c4638}
.admin-shell .brand,.admin-shell .nav-link,.admin-shell .profile-mini{color:#f4f7f5}
.admin-shell .brand-accent{color:#d8f07d}
.admin-shell .brand-mark{background:#d8f07d}
.admin-shell .brand-mark:before{border-color:#123d32}
.admin-shell .nav-link{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;color:#f4f7f5}.admin-shell .nav-icon{color:#d8f07d}
.admin-shell .nav-link.active,.admin-shell .nav-link:hover{background:#1b5947;color:#fff;box-shadow:none}
.admin-console-kicker{margin:22px 12px 10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#9fb2a8;font-weight:700}
.admin-shell .profile-mini small{color:#c5d5cc}
.admin-pane{display:none;padding:16px 0 48px}
.admin-pane.active{display:block}
@media(max-width:760px){body.staff-session{padding-bottom:0}body.staff-session .admin-shell .sidebar{display:flex;position:sticky;top:0;inset:auto;width:100%;height:auto;flex-direction:row;align-items:center;gap:8px;overflow:auto;padding:12px 14px}body.staff-session .admin-shell .main-nav{display:flex;gap:6px}body.staff-session .admin-shell .main-content{margin-left:0}body.staff-session .admin-shell .sidebar-bottom{margin-left:auto}body.staff-session .admin-shell .admin-console-kicker{display:none}}
.locale-switch{display:flex;gap:4px;align-items:center}
.locale-switch button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;min-width:34px;padding:4px 8px;font-size:11px;font-weight:700;letter-spacing:.04em;cursor:pointer}
.locale-switch button.active{background:var(--forest);color:#fff;border-color:var(--forest)}
.admin-shell .sidebar .locale-switch{margin:8px 10px 4px}
.admin-shell .sidebar .locale-switch button{border-color:#1c4638;background:transparent;color:#d5e4dc}
.admin-shell .sidebar .locale-switch button.active{background:#d8f07d;color:#102820;border-color:#d8f07d}
.admin-shell .sidebar{overflow:hidden}
.admin-shell .main-nav{flex:1;min-height:0;overflow:auto}
#admin-nav-directory{display:flex;flex-direction:column;gap:4px}
.admin-nav-label{margin:18px 12px 8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#9fb2a8;font-weight:700}
.admin-directory-toolbar{grid-template-columns:1fr 1fr}
.admin-directory-heading-actions{display:flex;gap:8px;align-items:center}
.admin-config-layout{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:start}
.admin-config-nav{flex-direction:column;align-items:stretch}
.admin-config-nav button{text-align:left}
.admin-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.admin-config-form small{display:block;margin-top:4px;color:#78847c;font-size:11px;line-height:1.4}
.admin-config-actions{display:flex;gap:8px;margin-top:14px}
@media(max-width:760px){.admin-config-layout,.admin-config-grid{grid-template-columns:1fr}}
.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px}
.dash-kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 16px 14px;box-shadow:var(--shadow);min-height:112px;display:flex;flex-direction:column;gap:6px}
.dash-kpi span{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700}
.dash-kpi strong{font:800 28px/1.05 var(--display);letter-spacing:-.7px;color:var(--ink)}
.dash-kpi strong small,.dash-kpi small{display:block;margin-top:6px;color:var(--muted);font:500 12px/1.35 var(--sans);letter-spacing:0;text-transform:none}
.dash-kpi.accent{background:linear-gradient(160deg,#123d32 0%,#1b5947 70%);border-color:transparent;color:#fff}
.dash-kpi.accent span,.dash-kpi.accent small,.dash-kpi.accent strong small{color:#c5d9cf}
.dash-kpi.accent strong{color:#fff}
.dash-charts{display:grid;grid-template-columns:1.45fr .85fr;gap:14px;margin-bottom:18px}
.dash-chart-card{padding:16px 16px 12px}
.dash-svg{width:100%;height:auto;display:block}
.dash-legend{display:flex;gap:14px;color:var(--muted);font-size:12px;margin-top:2px}
.dash-chart-card:has(.dash-empty) .dash-legend{display:none}
.top-actions .locale-switch{margin-right:2px}
.mobile-tools{margin-left:auto;display:flex;align-items:center;gap:8px}
.mobile-brand .mobile-tools .icon-button{margin-left:0}
.admin-shell .sidebar{padding-top:22px}
.admin-shell .brand{margin-bottom:18px}
.admin-shell .main-nav{gap:2px;padding-right:2px}
.admin-shell .nav-link{height:36px;font-size:13px}
.admin-shell .admin-nav-label{margin:14px 12px 6px}
.admin-topbar{height:58px;gap:16px}
.admin-top-lead{display:flex;align-items:baseline;gap:14px;min-width:0}
.admin-top-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#71847a;font-weight:700;white-space:nowrap}
.admin-top-lead strong{font:700 18px/1 var(--display);letter-spacing:-.4px;color:#1b2b23;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-top-meta{display:flex;align-items:center;gap:12px;margin-left:auto}
.admin-topbar .locale-switch{margin:0}
.admin-topbar .admin-role{white-space:nowrap}
@media(max-width:760px){body.staff-session .admin-shell .topbar{display:flex;position:sticky;top:0;z-index:8;background:#f3f5f4;padding:0 14px}body.staff-session .admin-shell .admin-top-kicker{display:none}body.staff-session .admin-shell .sidebar{top:58px}}
.dash-legend i{display:inline-block;width:8px;height:8px;border-radius:99px;margin-right:6px;background:#1b5947}
.dash-legend i.today{background:#d8f07d;box-shadow:inset 0 0 0 1px #b5cf62}
.dash-rows{display:flex;flex-direction:column;gap:10px;padding:4px 2px 8px}
.dash-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) auto;gap:10px;align-items:center}
.dash-row span{font-size:13px;color:#415246;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-row strong{font:700 13px var(--display);color:var(--ink)}
.dash-track{height:8px;border-radius:99px;background:#eef3ef;overflow:hidden}
.dash-track b{display:block;height:100%;border-radius:99px;background:#1b5947}
.dash-row.me span,.dash-row.me strong{color:#123d32;font-weight:700}
.dash-row.me .dash-track b{background:#b6d95a}
.dash-empty{min-height:140px;display:flex;flex-direction:column;justify-content:center;gap:4px;color:#66756c;font-size:13px}
.dash-empty strong{color:#24382e;font-size:14px}
@media(max-width:1120px){.dash-charts{grid-template-columns:1fr}.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dash-kpis{grid-template-columns:1fr 1fr;gap:8px}.dash-kpi{min-height:96px;padding:12px}.dash-kpi strong{font-size:22px}.dash-row{grid-template-columns:minmax(0,.9fr) minmax(0,1fr) auto}}
.admin-directory-toolbar{display:flex;align-items:flex-end;gap:12px;margin-bottom:12px}
.admin-directory-search{flex:1;max-width:360px;margin:0}
.admin-bulk-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto;min-height:37px}
.admin-bulk-bar span{font-size:12px;color:#415246;font-weight:700}
.admin-data-table th{max-width:none;overflow:visible;vertical-align:bottom;white-space:nowrap}
.admin-data-table td{max-width:240px}
.admin-data-table th.admin-col-check,.admin-data-table td.admin-col-check{width:36px;max-width:36px;text-align:center}
.admin-data-table th.admin-col-actions,.admin-data-table td.admin-row-actions{position:sticky;right:0;background:#fff;text-align:right;z-index:1;box-shadow:-10px 0 10px rgba(255,255,255,.92);min-width:124px}
.admin-data-table td.admin-row-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;white-space:nowrap}
.admin-directory-toolbar:not(:has(.admin-bulk-bar:not([hidden]))){display:none}
.admin-filters{margin:0 0 14px;padding:12px 14px 2px;background:#f6f8f6;border:1px solid #e4ebe6;border-radius:12px}
.admin-filters.has-active{border-color:#c5d7b0;background:#f4f8ef}
.admin-filters.is-collapsed{padding-bottom:12px}
.admin-filters.is-collapsed .admin-filters-head{margin-bottom:0}
.admin-filters.is-collapsed #admin-filters-panel{display:none}
.admin-filters-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.admin-filters-toggle{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;padding:2px 0;cursor:pointer;color:#123d32}
.admin-filters-chevron{width:12px;height:8px;display:block;flex:none}
.admin-filters:not(.is-collapsed) .admin-filters-chevron{transform:rotate(180deg)}
.admin-filters-title{font:700 11px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#7d8b82}
.admin-filters-badge{font:700 11px/1 var(--sans);letter-spacing:0;text-transform:none;color:#123d32;background:#d8f07d;border-radius:99px;padding:5px 8px}
.admin-filters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:0 12px}
.admin-filter-field{display:flex;flex-direction:column;gap:4px;margin:0 0 12px;min-width:0}
.admin-filter-field span{font-size:11px;font-weight:700;color:#415246}
.admin-filter-field input,.admin-filter-field select{width:100%;height:34px;border:1px solid #e3e9e4;border-radius:8px;padding:0 10px;font-size:13px;background:#fff;color:#172620}
.admin-filter-field select,.form-field select,.filter-bar select,.ranking-table-panel select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23586b60' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.4 6 6.2 11 1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:11px 7px;padding-right:36px}
.form-field select:disabled{background-color:#f4f7f5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23586b60' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.4 6 6.2 11 1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:11px 7px}
.admin-sort{border:0;background:transparent;padding:0;font:700 10px/1.2 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:#7d8b82;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.admin-sort.active{color:#123d32}
.admin-icon-button{width:32px;height:32px;border:1px solid #dfe7e1;background:#fff;border-radius:8px;display:inline-grid;place-items:center;color:#123d32;cursor:pointer;padding:0;flex:none}
.admin-icon-button svg{width:16px;height:16px;display:block}
.admin-icon-button.danger{color:#a84937;border-color:#f0d7cf}
.admin-icon-button:hover{background:#f4f8f4}
.form-field input[readonly],.form-field textarea[readonly],.form-field select:disabled{background:#f4f7f5;color:#415246}
#admin-nav-directory .admin-nav-label{margin-top:12px}

body{font-size:16px;line-height:1.5}
.nav-label{font-size:12px;letter-spacing:.08em}
.nav-link{font-size:15px;height:46px}
.nav-count{font-size:12px}
.community-copy span{font-size:13px}
.community-copy strong,.community-icon{font-size:14px}
.eyebrow,.hero-kicker{font-size:12px;letter-spacing:.08em}
.page-subtitle,.community-banner p,.hero-text p{font-size:16px}
.section-heading h2,.panel-heading h2,.settings-panel h2{font-size:18px}
.section-heading p,.panel-heading p,.settings-panel>p{font-size:14px}
.button,.button-small,.button-hero,.full-width,.join-button,.text-link,.player-card-actions .button,.player-card .button{font-size:14px}
.breadcrumb,.current-location,.sort-button,.results-label{font-size:14px}
.profile-mini strong{font-size:15px}
.profile-mini small{font-size:13px}
.invite-card strong{font-size:15px}
.invite-card p{font-size:14px}
.app-footer{font-size:13px}
.empty-state{font-size:16px}
.empty-state strong{font-size:17px}
.match-card h3,.player-card h3,.venue-info h3{font-size:17px}
.match-meta,.match-organizer,.spots,.level-chip,.match-type,.player-card p,.player-level,.venue-info p,.venue-tags span{font-size:13px}
.activity-item p,.rank-name strong,.rank-item .rank-name,.rank-points,.detail-row,.setting-row strong,.personal-match-row strong{font-size:14px}
.activity-item p small,.rank-name small,.rank-points small,.setting-row small,.personal-match-row small,.profile-stats small,.profile-main>p{font-size:13px}
.profile-main h2{font-size:22px}
.form-field,.score-set span,.score-labels,.confirm-box,.toast,.modal-header p,.account-retention-note{font-size:14px!important}
.form-field input,.form-field select,.form-field textarea,.search-field input,.filter-bar select,.ranking-table-panel select,.button-filter,.invite-friend-option{font-size:15px}
.calendar-cell,.calendar-event,.ranking-row,.community-row-copy strong,.tournament-fixture span{font-size:14px}
.calendar-cell.day-heading,.ranking-row.header,.ranking-summary p,.ranking-note,.community-row-copy small,.community-active-pill,.community-leave,.tournament-card-head p,.tournament-hint,.tournament-round>strong{font-size:12px}
.notification-row strong{font-size:15px}
.notification-row span{font-size:14px}
.notification-row small{font-size:12px}
.auth-tagline{font-size:12px}
.auth-story>p,.auth-form-card p,.auth-subtitle{font-size:16px}
.case-copy strong,.admin-notice,.live-pill{font-size:14px}
.case-copy small{font-size:13px}
.admin-shell .nav-link{font-size:15px;height:40px}
.admin-nav-label,.admin-console-kicker,.admin-top-kicker,.dash-kpi span,.admin-filters-title{font-size:12px}
.admin-data-table,.admin-sort{font-size:14px}
.admin-config-form small,.dash-legend,.dash-empty,.admin-bulk-bar span{font-size:14px}
.admin-top-lead strong{font-size:20px}
.sidebar{overflow-y:auto}
.top-actions .button-small{height:32px;white-space:nowrap}
.page-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.app-shell .sidebar button.nav-link{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}
.auth-alt-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:11px 0 17px}
.auth-alt-actions .auth-forgot{margin:0;font-size:12px}
.auth-alert a{color:#1b5947;font-weight:700}
#auth-form input[readonly]{background:#f4f7f5;color:#5d6b64}
.mobile-logout{margin-left:8px}
.community-switcher-wrap{position:relative;margin:35px 2px 31px}
button.community-switcher{width:100%;margin:0;border:1px solid var(--line);background:#fff;cursor:pointer;text-align:left;color:inherit}
.community-menu{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;display:flex;flex-direction:column;gap:2px;max-height:320px;overflow:auto;padding:6px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.community-menu[hidden]{display:none}
.community-menu-item{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;border-radius:8px;padding:8px;cursor:pointer;text-align:left;color:inherit}
.community-menu-item:hover,.community-menu-item.is-active{background:#f3f7f2}
.community-menu-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}
.community-menu-copy strong{font:700 13px var(--display);color:#24382c}
.community-menu-copy small,.community-menu-empty,.community-more,.active-community-note{color:#6d7c74;font-size:12px}
.community-menu-empty,.community-more{margin:8px}
.community-menu-label{margin:8px 8px 2px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#7c8982;font-weight:700}
.community-menu-action{flex:none;font-size:12px;font-weight:700;color:#1b5947}
.community-menu-more{margin-top:4px;border:0;border-top:1px solid var(--line);background:transparent;padding:10px 8px 6px;text-align:left;font-weight:700;color:#1b5947;cursor:pointer}
.community-row-actions{display:flex;align-items:center;gap:6px;flex:none}
.active-community-bar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 0;padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:12px}
.active-community-trigger{display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;cursor:pointer;text-align:left;color:inherit}
.active-community-copy{display:flex;flex-direction:column}
.active-community-copy small{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#7c8982}
.active-community-copy strong{font:700 15px var(--display)}
.active-community-bar .community-menu{right:auto;min-width:min(360px,80vw)}
.community-member-search{margin:0 0 8px;max-width:420px}
@media(max-width:760px){
  .page-actions{flex-wrap:wrap;justify-content:flex-end}
  .page-actions .button{font-size:13px;padding:9px 10px}
  .active-community-bar{flex-direction:column;align-items:stretch;margin:14px 0 0}
  .active-community-note{margin:0}
}
@media(max-width:760px){
  .eyebrow,.page-subtitle,.hero-text p,.section-heading p,.panel-heading p,.activity-item p,.app-footer,.results-label,.sort-button,.welcome-row>.button,.page-header>.button,.community-banner p,.ranking-row,.calendar-cell,.bottom-nav button{font-size:13px}
  .welcome-row h1,.page-header h1{font-size:30px}
  .section-heading h2,.panel-heading h2,.match-card h3{font-size:17px}
  .calendar-cell.day-heading,.ranking-row.header,.ranking-summary p,.calendar-event{font-size:11px}
  .rating-cell{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.rating-cell strong{color:#172620;font-size:15px;font-weight:700}
.ranking-row{grid-template-columns:42px minmax(160px,1.3fr) minmax(96px,.8fr) 72px minmax(168px,1fr);align-items:center;min-height:64px}
.rating-reliability{display:flex;flex-direction:column;align-items:flex-start;gap:6px;color:#3e4d42;font-weight:600}
.rating-votes{display:flex;flex-wrap:wrap;gap:4px}
.rating-votes button{border:1px solid #d5e0d8;background:#fff;color:#1b5947;border-radius:999px;padding:4px 8px;font-size:12px;line-height:1.2;cursor:pointer}
.rating-votes button.active{background:#123d32;color:#fff;border-color:#123d32}
.rating-votes button:disabled{opacity:.6;cursor:wait}
@media(max-width:760px){
  .ranking-row{grid-template-columns:28px minmax(0,1.2fr) minmax(0,.8fr) 42px minmax(0,1fr)}
  .rating-votes button{font-size:11px;padding:3px 6px}
}
}
.auth-legal-note,
#auth-social-status,
.auth-copyright,
.app-footer,
.auth-switch{
  font-size:15px!important;
  line-height:1.5;
}
.auth-alert,
.toast{
  font-size:16px!important;
  line-height:1.45;
}
