:root{--brand:#6B1515;--brand-dark:#521010;--brand-light:#F7EFEF;--ink:#202124;--muted:#6D7078;--line:#E5E5E6;--surface:#fff;--soft:#F7F7F7;--bg:#FAFAFA;--radius:10px;--shadow:0 7px 25px rgba(0,0,0,.025)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:15px/1.55 'IBM Plex Sans','IBM Plex Sans Arabic',Arial,sans-serif;background:var(--bg)}html[dir=rtl] body{font-family:'IBM Plex Sans Arabic','IBM Plex Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,.btn:disabled{cursor:not-allowed;opacity:.46}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(25px,3vw,34px);font-weight:600;letter-spacing:-.8px;line-height:1.22;margin-bottom:8px}h2{font-size:21px;line-height:1.3;letter-spacing:-.3px;margin-bottom:13px}h3{font-size:17px;margin-bottom:8px}p{line-height:1.65}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{height:78px;border-bottom:1px solid var(--line);background:#fff}.topbar-inner{max-width:1270px;padding:0 36px;margin:auto;height:100%;display:flex;align-items:center;gap:40px}.brand{font-size:19px;letter-spacing:1.8px;font-weight:700;color:#2b2222;display:flex;gap:12px;align-items:center;white-space:nowrap;line-height:1.05}.brand-symbol{display:grid;place-items:center;width:35px;height:35px;background:var(--brand);color:white;border-radius:9px;font-size:22px;letter-spacing:-4px;padding-right:4px;font-style:italic}.brand-subtitle{display:block;font-size:8px;letter-spacing:1.9px;font-weight:500;color:var(--muted);margin-top:7px}.desktop-nav{display:flex;gap:7px;align-items:center;flex:1}.nav-link{padding:9px 13px;border-radius:8px;color:#5E6268;font-size:13px;font-weight:500;white-space:nowrap}.nav-link:hover{background:var(--soft);color:var(--ink)}.nav-link.active{background:var(--brand-light);color:var(--brand);font-weight:600}.top-actions{display:flex;align-items:center;gap:13px;margin-inline-start:auto}.language-link{font-size:12px;color:#595959;font-weight:600}.notification-link{position:relative;font-size:25px;line-height:1;color:#414141}.notification-count{background:var(--brand);color:white;border-radius:12px;min-width:16px;height:16px;text-align:center;position:absolute;right:-6px;top:-4px;font:10px/16px Arial}.user-initial{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#EEE5E5;color:var(--brand);font-size:13px;font-weight:600}.top-actions form{margin:0}.text-button{border:0;background:none;color:#666;font-size:12px;padding:7px 0}.mobile-nav{display:none}.page-container{max-width:1270px;width:100%;margin:0 auto;padding:45px 36px 90px;flex:1}.footer{border-top:1px solid var(--line);background:white;color:#818181;display:flex;justify-content:space-between;gap:20px;padding:23px max(36px,calc((100vw - 1198px)/2));font-size:12px}.footer div{display:flex;gap:23px}.footer a:hover{text-decoration:underline}.page-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px}.page-head p{color:var(--muted);font-size:14px;margin:0}.head-action{display:flex;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;border:1px solid var(--line);border-radius:8px;padding:10px 16px;min-height:41px;font-size:13px;font-weight:600;background:white;color:var(--ink);transition:background .12s,border-color .12s}.btn:hover{background:#f5f5f5}.btn--primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn--primary:hover{background:var(--brand-dark);color:#fff}.btn--soft{background:#fff;color:var(--brand);border:1px solid #DCCCCC}.btn--soft:hover{background:var(--brand-light)}.btn--danger{color:#972B2B;border-color:#e0c1c1}.btn--small{font-size:12px;min-height:34px;padding:7px 12px}.btn--plain{border-color:var(--line)}.inline-form{display:inline-flex;vertical-align:middle;margin:0}.notice{padding:13px 18px;border:1px solid #dedede;border-radius:9px;margin-bottom:27px;font-size:13px;background:white}.notice--success{border-color:#BBD7CA;color:#20573B;background:#F5FCF8}.notice--error{border-color:#E5C3C3;color:#843333;background:#FFFAFA}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.4px;color:#8A7777}.muted{color:var(--muted)}.subtle{font-size:12px;color:var(--muted)}.badge{display:inline-flex;border-radius:5px;padding:4px 8px;font-size:10px;font-weight:600;letter-spacing:.1px;white-space:nowrap;text-transform:capitalize;background:#eee;color:#555}.badge--success{background:#E9F5ED;color:#236647}.badge--warning{background:#FFF4DA;color:#805C1E}.badge--danger{background:#FCEBEB;color:#963F3F}.badge--soft{background:var(--brand-light);color:var(--brand)}.section{margin-top:36px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px}.section-heading h2{margin:0}.section-heading a,.arrow-link{color:var(--brand);font-size:13px;font-weight:600}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.tournament-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:23px;min-width:0;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:15px}.tournament-card__top,.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.tournament-card h3{font-size:20px;font-weight:600;letter-spacing:-.3px;margin:0;line-height:1.3}.tournament-card h3 a:hover{color:var(--brand)}.tournament-info{display:grid;gap:7px;font-size:13px;color:#555}.card-bottom{border-top:1px solid #F0F0F0;padding-top:16px;margin-top:auto;font-size:12px;flex-wrap:wrap}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.filters input,.filters select{min-width:0;background:#fff;border:1px solid var(--line);border-radius:8px;padding:11px 13px;min-height:43px;color:var(--ink)}.filters input{min-width:min(300px,100%);flex:1}.filters select{min-width:160px}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;padding:25px;box-shadow:var(--shadow)}.panel+.panel{margin-top:15px}.panel h2{font-size:18px}.panel--flat{padding:18px}.surface{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px;min-width:700px}.table th{text-align:start;color:#757575;font-weight:600;background:#fbfbfb;font-size:11px;white-space:nowrap}.table td,.table th{padding:15px 18px;border-bottom:1px solid #EFEFEF;vertical-align:middle}.table tr:last-child td{border:0}.table td a{color:var(--brand);font-weight:600}.table td .inline-form+.inline-form{margin-inline-start:5px}.table th:last-child,.table td:last-child{text-align:end}.empty{text-align:center;padding:72px 18px;background:#fff;border:1px dashed #ddd;border-radius:10px}.empty-mark{width:53px;height:53px;border:1px solid #E9E2E2;background:#FAF6F6;border-radius:14px;color:var(--brand);font-size:25px;display:grid;place-items:center;margin:0 auto 19px}.empty h3{font-size:19px}.empty p{color:var(--muted);font-size:13px;margin:0 auto 20px;max-width:430px}.form-stack{display:grid;gap:17px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;min-width:0}.field>span{color:#383838}.field>small{color:var(--muted);font-weight:400;line-height:1.45}.required{color:var(--brand)}.field input,.field textarea,.field select,.set-grid input{border:1px solid #DCDDDD;background:white;border-radius:8px;min-height:43px;padding:10px 12px;width:100%;font-size:13px;color:#252525;font-weight:400}.field textarea{resize:vertical;min-height:94px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#AB7777}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;align-items:center;flex-wrap:wrap}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin:23px 0 26px;overflow-x:auto}.tab{padding:11px 16px;color:#666;font-size:13px;font-weight:600;border-bottom:2px solid transparent;white-space:nowrap}.tab.active{color:var(--brand);border-bottom-color:var(--brand)}.tab:hover{color:var(--brand)}.detail-top{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:25px}.detail-top h1{margin:8px 0 12px;font-size:34px}.meta-line{display:flex;flex-wrap:wrap;gap:16px;color:#666;font-size:13px}.detail-action{max-width:280px}.stats-strip{display:flex;gap:38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;margin-bottom:24px;flex-wrap:wrap}.stats-strip div{display:flex;flex-direction:column;gap:3px}.stats-strip strong{font-size:20px}.stats-strip span{color:var(--muted);font-size:12px}.two-col{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:20px}.match-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 20px;border:1px solid var(--line);border-radius:9px;background:white;margin-bottom:10px}.match-meta{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;margin-bottom:9px}.match-teams{display:flex;align-items:center;gap:18px;font-weight:600;font-size:14px;flex-wrap:wrap}.match-teams .vs{font-size:11px;font-weight:500;color:#aaa}.match-bottom{font-size:12px;margin-top:8px}.match-actions{white-space:nowrap;display:flex;gap:7px;flex-wrap:wrap}.bracket{display:flex;gap:16px;overflow-x:auto;padding:6px 0 22px;align-items:stretch}.bracket-column{min-width:225px;flex:1;display:flex;flex-direction:column;gap:14px}.bracket-column h3{font-size:12px;color:#6C6C6C;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.bracket-box{background:#fff;border:1px solid var(--line);border-radius:8px;padding:13px 14px;min-height:92px}.bracket-box small{font-size:10px;color:#888}.bracket-box p{font-size:12px;margin:6px 0 0}.bracket-box .win{color:var(--brand);font-weight:700}.stepper{display:flex;gap:10px;align-items:center;margin-bottom:27px;padding-bottom:21px;border-bottom:1px solid var(--line)}.step-pill{display:flex;align-items:center;gap:9px;color:#999;font-size:13px;font-weight:600}.step-pill:before{content:attr(data-index);display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#f0f0f0;font-size:12px}.step-pill.active{color:var(--brand)}.step-pill.active:before{background:var(--brand);color:#fff}.step-sep{flex:1;border-top:1px solid #ddd;max-width:56px}.wizard-panel{min-height:370px}.wizard-panel>p{color:var(--muted);font-size:13px;margin-bottom:25px}.hint{padding:13px 16px;border:1px solid #E7DECE;border-radius:8px;background:#FFFDF9;color:#7C633C;font-size:12px}.auth-wrap{min-height:65vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.auth-copy h1{font-size:46px;line-height:1.1;max-width:420px}.auth-copy p{max-width:400px;color:var(--muted)}.auth-copy .large-letter{font-size:80px;font-weight:700;letter-spacing:-9px;color:var(--brand);line-height:1;margin-bottom:20px}.auth-form{background:white;border:1px solid var(--line);padding:42px;border-radius:12px;max-width:485px;width:100%;justify-self:end}.auth-form h2{font-size:24px}.auth-form p{color:var(--muted);font-size:13px}.auth-form .btn--primary{width:100%}.auth-form .foot-link{text-align:center;margin-top:19px}.auth-form .foot-link a{color:var(--brand);font-weight:600}.hero{padding:76px 0 58px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:45px}.hero h1{font-size:clamp(39px,5vw,63px);letter-spacing:-2.4px;max-width:750px;line-height:1.1}.hero p{font-size:17px;color:var(--muted);max-width:530px}.hero-actions{display:flex;gap:10px;margin-top:25px}.hero-mark{width:min(300px,100%);aspect-ratio:1/1;display:grid;place-items:center;border:1px solid #ECDDDD;background:#F9F4F4;color:var(--brand);font-size:190px;font-style:italic;font-weight:700;letter-spacing:-38px;padding-right:35px;border-radius:36px;justify-self:center}.feature-line{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;border-top:1px solid var(--line);padding:32px 0}.feature-line h3{font-size:15px}.feature-line p{font-size:13px;color:var(--muted)}.action-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:8px;margin-bottom:22px}.action-strip p{margin:4px 0 0;color:var(--muted);font-size:13px}.score-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.set-grid{display:grid;grid-template-columns:80px 1fr 1fr;gap:11px;align-items:center}.set-grid input{width:100%}.profile-list{display:grid;grid-template-columns:1fr 1fr;gap:17px}.kv{font-size:12px;color:var(--muted)}.kv strong{display:block;font-size:15px;color:var(--ink);margin-top:3px}.stack{display:grid;gap:16px}.divider{border:0;border-top:1px solid var(--line);margin:22px 0}.narrow{max-width:850px}.link-text{font-size:13px;color:var(--brand);font-weight:600}.notification-item{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.notification-item:last-child{border:0}.notification-item p{margin:0 0 4px}.notification-item a{color:var(--brand);font-weight:600}.notification-item small{color:var(--muted)}[hidden]{display:none!important}
@media(max-width:980px){.topbar-inner{padding:0 22px;gap:16px}.desktop-nav{gap:0}.nav-link{padding:8px 9px}.page-container{padding:32px 22px 70px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.hero-mark{font-size:125px;letter-spacing:-25px;padding-right:27px}.footer{padding:20px 22px}}
@media(max-width:700px){.topbar{height:66px}.topbar-inner{padding:0 18px}.brand{font-size:16px}.brand-symbol{height:32px;width:32px}.brand-subtitle{font-size:7px}.desktop-nav{display:none}.mobile-nav{display:flex;background:white;border-bottom:1px solid var(--line);padding:8px 12px;gap:4px;overflow-x:auto}.mobile-nav .nav-link{font-size:12px;flex:1;text-align:center;min-width:max-content}.top-actions{gap:9px}.top-actions .btn--small{font-size:11px;padding:6px 9px}.top-actions .user-initial{display:none}.top-actions .text-button{font-size:11px}.page-container{padding:25px 16px 60px}.page-head{align-items:flex-start;flex-direction:column;gap:15px}.grid,.grid--2,.grid--4{grid-template-columns:1fr}.tournament-card{padding:20px}.form-grid{grid-template-columns:1fr;gap:16px}.panel{padding:19px}.detail-top{display:block}.detail-top h1{font-size:29px}.detail-action{margin-top:18px}.match-row{align-items:flex-start;flex-direction:column;padding:16px}.match-actions{width:100%}.match-actions .btn{flex:1}.auth-wrap{grid-template-columns:1fr;gap:24px;min-height:0}.auth-copy{display:none}.auth-form{border:0;background:none;padding:18px 0;max-width:none}.hero{grid-template-columns:1fr;padding:28px 0 24px}.hero h1{letter-spacing:-1.4px}.hero-mark{display:none}.feature-line{grid-template-columns:1fr;gap:8px}.action-strip{align-items:flex-start;flex-direction:column}.stepper{gap:5px}.step-pill{font-size:11px;gap:5px}.step-pill:before{width:23px;height:23px}.step-sep{max-width:12px}.stats-strip{gap:17px}.stats-strip div{min-width:90px}.profile-list{grid-template-columns:1fr}.footer{padding:20px 16px;flex-direction:column;gap:10px}.card-bottom{gap:10px}.score-fields{grid-template-columns:1fr}}
@media(max-width:360px){.top-actions .language-link,.top-actions .notification-link{display:none}.brand-subtitle{letter-spacing:1px}.btn{padding:9px 12px}.filters select{width:100%}.form-actions{justify-content:stretch}.form-actions .btn{flex:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(max-width:360px){.top-actions a[href="/sign-up"]{display:none}.topbar-inner{gap:8px}.top-actions{gap:5px}}
.checkbox-line{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted)}.checkbox-line input{margin-top:4px}.mini-input{max-width:170px;border:1px solid var(--line);border-radius:7px;padding:7px;font-size:12px}.inline-form select{max-width:180px;border:1px solid var(--line);border-radius:7px;padding:9px;font-size:12px}

.admin-nav{display:flex;gap:8px;border-bottom:1px solid var(--line);padding:9px max(36px,calc((100vw - 1198px)/2));background:#fff;overflow-x:auto}.admin-nav .nav-link{font-size:12px}
@media(max-width:700px){.admin-nav{padding:7px 10px}.admin-nav .nav-link{font-size:11px}}

/* WISSAM V1.2 shared interactive controls and header menus */
a:hover,.footer a:hover,.table a:hover,.arrow-link:hover,.menu-item:hover,.nav-link:hover{text-decoration:none}
.topbar-inner{max-width:none;padding-inline:20px;gap:28px}.top-actions{gap:10px}.top-menu{position:relative}.top-menu summary{list-style:none}.top-menu summary::-webkit-details-marker{display:none}.icon-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:9px;cursor:pointer;color:var(--ink)}.icon-button:hover,.top-menu[open]>.icon-button{background:#f5f2f2}.notice-menu .icon-button{position:relative}.menu-panel{position:absolute;z-index:500;top:calc(100% + 9px);right:0;background:#fff;min-width:240px;border:1px solid var(--line);border-radius:10px;box-shadow:0 15px 35px rgba(20,10,10,.10);padding:7px;text-align:left}.notifications-panel{width:min(365px,calc(100vw - 32px))}.menu-title{font-weight:600;padding:9px 12px}.menu-item{display:block;width:100%;padding:11px 12px;border:0;background:#fff;font:inherit;font-size:13px;color:var(--ink);text-align:left;border-radius:7px;cursor:pointer}.menu-item:hover,.notification-preview:hover{background:var(--soft);text-decoration:none}.menu-user{display:flex;flex-direction:column;gap:3px;border-bottom:1px solid var(--line);padding:11px 12px 13px;font-size:13px}.menu-user span{color:var(--muted);font-size:12px}.menu-signout{color:var(--brand);border-top:1px solid var(--line)}.top-menu form{margin:0}.user-initial{width:33px;height:33px}.notification-preview{display:flex;flex-direction:column;padding:10px 12px;gap:4px;font-size:13px;border-radius:7px;border-bottom:1px solid #f3f3f3}.notification-preview small{color:var(--muted)}.menu-empty{font-size:13px;padding:10px 12px;margin:0}
.field select,.filters select{appearance:none;-webkit-appearance:none;background-color:#fff;background-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%236B1515" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="m6 9 6 6 6-6"/%3E%3C/svg%3E');background-repeat:no-repeat;background-position:right 12px center;padding-right:38px}
.field select:hover,.field input:hover,.filters select:hover{border-color:#b7aaaa}.field select:focus-visible,.phone-input:focus-within{outline:2px solid var(--brand);outline-offset:2px}.field select:disabled{background-color:#f6f6f6;color:#777}
.phone-input{display:flex;align-items:stretch;border:1px solid #DCDDDD;border-radius:8px;background:white;min-height:43px;width:100%;overflow:hidden}.phone-input>select{flex:none;width:100px!important;min-width:0;border:0;border-radius:0;border-right:1px solid var(--line);background-position:right 7px center;padding:9px 25px 9px 9px;font-size:13px}.phone-input>input{min-width:0;flex:1;border:0;border-radius:0;padding:9px 11px;outline:0}.phone-input>select:focus-visible,.phone-input>input:focus-visible{outline:none}.phone-input:focus-within{border-color:var(--brand)}
.profile-panel{max-width:840px}.profile-avatar{display:flex;gap:14px;align-items:center;margin-bottom:24px}.profile-avatar__initial{width:56px;height:56px;border-radius:50%;background:var(--brand-light);color:var(--brand);font-size:22px;font-weight:600;display:grid;place-items:center}
@media(max-width:700px){.topbar-inner{padding-inline:16px;gap:10px}.top-actions .user-initial{display:grid}.top-actions .icon-button{width:37px;height:37px}.brand-subtitle{display:none}.brand-symbol{width:31px;height:31px}.menu-panel{right:0}}
@media(max-width:360px){.top-actions .notice-menu{display:block}.brand{font-size:14px;gap:7px}.top-actions{gap:2px}.top-actions .btn--small{padding:6px 8px}}

.profile-avatar__initial{overflow:hidden}.profile-avatar__image,.topbar-avatar-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.avatar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.avatar-actions small{width:100%}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.profile-google{margin:26px 0 0;font-size:13px;color:var(--muted)}.google-button{display:flex;min-height:44px;background:white;width:100%;border-color:#c7c7c7;color:#242424}.google-g{font-size:20px;font-weight:700;line-height:1;color:#4285f4}.auth-divider{text-align:center;color:var(--muted);font-size:12px;margin:14px 0}

.password-toggle{background:none;border:0;color:var(--brand);font-size:12px;font-weight:600;justify-self:start;padding:0;margin-top:-11px}.password-toggle:hover{color:var(--brand-dark);text-decoration:none}

/* WISSAM V6 — official uploaded brand artwork and open authentication layout */
.brand--artwork{display:inline-flex;align-items:center;gap:0;line-height:1;flex:none}
.brand-logo{width:158px;height:auto;max-height:60px;object-fit:contain;display:block}
.auth-wrap{max-width:1080px;margin:0 auto;min-height:calc(100vh - 210px);grid-template-columns:minmax(0,1fr) minmax(330px,430px);gap:clamp(45px,8vw,120px);padding:12px 0 38px}
.auth-copy{align-self:center}
.auth-copy .auth-wordmark{width:min(100%,335px);height:auto;display:block;margin-bottom:36px}
.auth-copy h1{font-size:clamp(32px,3.4vw,46px);line-height:1.13;letter-spacing:-1.2px;max-width:410px}
.auth-copy p{max-width:360px;font-size:15px;margin-top:15px}
.auth-form{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:20px 0!important;justify-self:stretch;max-width:430px;width:100%}
.auth-form h2{font-size:29px;line-height:1.2;margin:0 0 7px;letter-spacing:-.7px}
.auth-form .auth-intro{font-size:13px;color:var(--muted);margin:0 0 25px}
.auth-form .form-stack{gap:16px}
.google-button{width:100%;height:46px;background:white;color:#282828;border-color:#D3D5D8;font-weight:600;font-size:14px;gap:13px;display:flex;justify-content:center}
.google-button:not(:disabled):hover{background:#F7F7F8;border-color:#B7B8BC}
.google-button--disabled{opacity:.75!important;cursor:not-allowed}
.google-brand-icon{flex:none}
.auth-divider{display:flex;gap:13px;align-items:center;justify-content:center;margin:21px 0 22px;color:#777;font-size:12px}
.auth-divider::before,.auth-divider::after{content:'';height:1px;background:#E4E4E4;flex:1}
.auth-form .field{gap:7px}
.auth-form .field input,.auth-form .phone-input{min-height:44px}
.password-input-wrap{position:relative}
.password-input-wrap input{width:100%;min-height:44px;padding-right:49px;border:1px solid #DCDDDD;background:#fff;border-radius:8px;font-size:13px;color:var(--ink)}
.password-eye-button{position:absolute;top:2px;right:3px;height:40px;width:43px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:#70747A;border-radius:7px}
.password-eye-button:hover{background:#F5F2F2;color:#6B1515}
.password-icon[hidden]{display:none!important}
.auth-submit{min-height:46px;margin-top:3px}
.auth-form .foot-link{margin-top:19px;font-size:13px}
.auth-form .checkbox-line{line-height:1.5}
.auth-form .checkbox-line a{color:var(--brand);font-weight:600}
@media(max-width:820px){
 .auth-wrap{grid-template-columns:1fr;gap:0;max-width:450px;min-height:0;padding:6px 0 28px}
 .auth-copy{display:none}
 .auth-form{padding:10px 0!important;max-width:450px}
 .brand-logo{width:140px;max-height:50px}
}
@media(max-width:380px){.brand-logo{width:116px}.auth-form h2{font-size:25px}.auth-form .form-stack{gap:14px}}

/* WISSAM V7 — cardless auth refinement: no secondary copy-logo and no visible panel */
body:has([data-auth-page]){background:#fff}
body:has([data-auth-page]) .page-container{max-width:1160px;padding-top:25px;padding-bottom:35px}
body:has([data-auth-page]) .auth-wrap{max-width:930px;gap:clamp(32px,5vw,75px);min-height:calc(100vh - 195px)}
body:has([data-auth-page]) .auth-copy h1{font-size:clamp(30px,3.4vw,46px)}
body:has([data-auth-page]) .auth-copy p{margin-top:12px;line-height:1.6}
body:has([data-auth-page]) .auth-form{padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body:has([data-auth-page]) .auth-form h2{margin:0 0 24px}
body:has([data-auth-page]) .auth-form .form-stack{gap:17px}
body:has([data-auth-page]) .auth-form .field>small{font-weight:400}
body:has([data-auth-page]) .auth-form .foot-link{margin:17px 0 0}
body:has([data-auth-page]) .auth-form .google-button{margin-bottom:0}
body:has([data-auth-page]) .auth-form .auth-divider{margin:19px 0 22px}
body:has([data-auth-page]) .footer{background:#fff}
@media(max-width:820px){body:has([data-auth-page]) .auth-wrap{min-height:0;max-width:440px;margin-inline:auto}body:has([data-auth-page]) .auth-form{padding:0!important}body:has([data-auth-page]) .page-container{padding-top:28px}}


/* WISSAM V8 — cardless profile and photography-led homepage. */
.profile-page{width:min(100%,880px);margin:0 auto;padding:12px 0 52px;min-width:0}
.profile-page__heading{margin:0 0 35px}
.profile-page__heading h1{font-size:clamp(29px,3.2vw,37px);font-weight:700;line-height:1.2;letter-spacing:-.9px;margin:0 0 8px;color:var(--ink)}
.profile-page__heading p{font-size:14px;line-height:1.5;color:var(--muted);margin:0}
.profile-form{min-width:0}
.profile-identity{display:flex;align-items:center;gap:24px;padding:0 0 35px;border-bottom:1px solid var(--line)}
.profile-photo{width:120px;height:120px;position:relative;flex:none;border:1px dashed #CFB5B5;background:#F9F5F5;border-radius:16px;cursor:pointer;overflow:hidden;padding:0;color:var(--brand);display:grid;place-items:center;transition:border-color .16s ease,background .16s ease}
.profile-photo:hover{border-color:var(--brand);background:#F5EBEB}
.profile-photo:focus-visible{outline:3px solid rgba(107,21,21,.34);outline-offset:3px}
.profile-photo:disabled{opacity:.6;cursor:progress}
.profile-photo__preview{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}
.profile-photo__initial{font-size:45px;font-weight:600;line-height:1;color:var(--brand);transform:translateY(-7px)}
.profile-photo__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.profile-photo__overlay{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:6px;min-height:32px;background:rgba(46,15,15,.88);color:#fff;font-size:11px;font-weight:600;white-space:nowrap}
.profile-identity__details{flex:1;min-width:0}
.profile-identity__details h2{margin:0 0 3px;font-size:19px;line-height:1.35;overflow-wrap:anywhere}
.profile-identity__details>p{color:var(--brand);font-size:13px;margin:0 0 15px;overflow-wrap:anywhere}
.profile-identity__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.profile-identity__actions>span{font-size:12px;color:var(--muted)}
.profile-photo__remove{border:0;background:transparent;padding:5px 0;color:var(--brand);text-decoration:none;font-size:12px;font-weight:600;cursor:pointer}
.profile-photo__remove:hover{text-decoration:none;color:#8b2222}
.profile-photo__remove:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:3px}
.profile-section-heading{margin:31px 0 20px}
.profile-section-heading h2{font-size:17px;letter-spacing:-.25px;font-weight:600;margin:0;color:var(--ink)}
.profile-fields{column-gap:24px;row-gap:24px}
.profile-fields .field{gap:8px}
.profile-fields .field>span:first-child{font-size:13px;color:#353137}
.profile-fields .field input,.profile-fields .field select{min-height:46px;border-radius:9px}
.profile-fields .field input[readonly]{background:#F8F8F8;color:#5B5B60}
.profile-fields .field>small{font-size:11px;line-height:1.45}
.profile-save{display:flex;justify-content:flex-end;align-items:center;gap:24px;margin-top:33px;padding-top:24px;border-top:1px solid var(--line)}
.profile-save>.btn{min-width:152px;min-height:46px}
.profile-save__note{color:var(--muted);font-size:12px;line-height:1.45;margin:0 auto 0 0}
.profile-page .profile-google{font-size:12px}
.hero{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(24px,5vw,70px);padding:66px 0 54px}
.hero>div{min-width:0}
.hero h1{max-width:680px;font-size:clamp(39px,4.4vw,61px)}
.hero-photo{position:relative;width:100%;min-width:0;aspect-ratio:1.35;min-height:280px;margin:0;border-radius:18px;overflow:hidden;background:#F1ECEB;isolation:isolate}
.hero-photo>img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center 50%;z-index:2}
.hero-photo-fallback{position:absolute;inset:0;display:grid;place-items:center;z-index:1}
.hero-photo-fallback img{max-width:100%;object-fit:contain;opacity:.54}
@media(max-width:980px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.hero-photo{aspect-ratio:1.02;min-height:260px}.hero h1{font-size:clamp(34px,4.8vw,51px)}}
@media(max-width:700px){.profile-page{padding-top:5px}.profile-page__heading{margin-bottom:23px}.profile-identity{align-items:center;gap:17px;padding-bottom:25px}.profile-photo{width:104px;height:104px;border-radius:14px}.profile-photo__initial{font-size:38px}.profile-identity__details h2{font-size:17px}.profile-section-heading{margin:24px 0 18px}.profile-fields{gap:19px}.profile-save{margin-top:25px}.profile-save>.btn{min-width:130px}.hero{grid-template-columns:1fr;gap:25px;padding:30px 0 34px}.hero-photo{display:block;aspect-ratio:1.58;min-height:0;max-height:390px}.hero h1{font-size:clamp(35px,8.4vw,48px)}.hero-actions{flex-wrap:wrap}}
@media(max-width:390px){.profile-identity{gap:13px}.profile-photo{width:96px;height:96px}.profile-identity__actions{gap:5px}.profile-identity__actions>span{font-size:11px}.profile-photo__overlay{font-size:10px}.profile-save{flex-direction:column;align-items:stretch;gap:9px}.profile-save>.btn{width:100%}.hero-photo{aspect-ratio:1.3}}
@media(max-width:320px){.profile-identity{align-items:flex-start}.profile-photo{width:86px;height:90px}.profile-identity__details h2{font-size:15px}.profile-identity__actions>span{font-size:10px}.profile-photo__overlay{font-size:9px;gap:3px}.hero-actions .btn{flex:1;min-width:0;text-align:center;padding-left:8px;padding-right:8px}}
@media(prefers-reduced-motion:reduce){.profile-photo{transition:none}}

.hero-photo-fallback img{height:100%;width:100%;max-width:none;object-fit:cover;opacity:1}
.hero-photo>img[hidden]{display:none}
@media(max-width:700px){.top-actions .account-summary .user-initial{display:grid!important}.top-actions .account-summary{min-width:40px;min-height:40px}}

@media(max-width:390px){.hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}.hero-actions .btn{display:flex;align-items:center;justify-content:center;width:100%;white-space:normal;min-width:0;padding:12px 14px;text-align:center}}

/* WISSAM V10 — User directory and founder-only report. Replaces V9-specific styles. */
.users-page,.user-report{width:100%;min-width:0}
.users-page .page-head{margin-bottom:27px}
.users-page .page-head h1{font-size:clamp(28px,3vw,36px);letter-spacing:-.9px;margin-bottom:5px}
.users-page .page-head p{color:var(--muted);font-size:14px}
.admin-user-search{display:flex;align-items:stretch;gap:10px;margin:0 0 16px;max-width:860px}
.admin-user-search-field{flex:1;min-width:0;height:47px;display:flex;align-items:center;gap:10px;padding:0 15px;border:1px solid #dcdde0;border-radius:9px;background:#fff;color:#83838b;transition:border-color .14s,box-shadow .14s}
.admin-user-search-field:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(107,21,21,.08)}
.admin-user-search-field input{display:block;width:100%;min-width:0;height:100%;margin:0;padding:0;border:0;outline:none!important;box-shadow:none!important;background:transparent;font:inherit;color:var(--ink);font-size:13px}
.admin-user-search-field input:focus-visible{outline:none!important}
.admin-user-search-field input::placeholder{color:#85878e;opacity:1}
.admin-user-search .btn{min-height:47px;padding-inline:23px}
.admin-user-count{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#8b8b91;font-size:12px;margin:0 0 15px}
.admin-user-count>span:first-child{color:#42434a;font-size:13px;font-weight:600}
.users-table-wrap{overflow:hidden;border:1px solid #e4e4e6;border-radius:12px;background:#fff;box-shadow:0 2px 12px rgba(35,20,20,.015)}
.admin-users-table{min-width:790px;border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px}
.admin-users-table th{font-size:11px;font-weight:600;color:#6d7077;background:#fafafa;letter-spacing:.02em;height:50px;border-bottom:1px solid #eaeaed}
.admin-users-table th:first-child{width:30%}
.admin-users-table th:nth-child(2){width:29%}
.admin-users-table th:nth-child(3){width:19%}
.admin-users-table th:nth-child(4){width:10%}
.admin-users-table th:last-child{width:12%}
.admin-users-table td{height:79px;padding:14px 20px;color:#34343a;border-bottom:1px solid #efeff1}
.admin-users-table tr:last-child td{border-bottom:0}
.admin-users-table tbody tr:hover{background:#fcfaf9}
.admin-user-link{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none!important;color:#25232a!important}
.admin-user-names{display:flex;flex-wrap:wrap;align-items:center;column-gap:8px;row-gap:2px;min-width:0;line-height:1.3}
.admin-user-names strong{font-size:13px;font-weight:650;overflow-wrap:anywhere;min-width:0}
.admin-user-link:hover strong{color:var(--brand)}
.admin-user-names small{display:block;flex-basis:100%;font-size:12px;color:#777984;font-weight:400;margin-top:2px;overflow-wrap:anywhere}
.admin-user-names .badge{font-size:10px;line-height:1.25;padding:3px 7px}
.admin-avatar{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:50%;background:#f4eaea;color:var(--brand);font-weight:600;font-size:15px;overflow:hidden;border:1px solid #eee0e0;line-height:1}
.admin-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.admin-avatar--large{width:76px;height:76px;border-radius:18px;font-size:27px}
.admin-users-email{overflow-wrap:anywhere;color:#5f626b!important}
.admin-users-date{white-space:nowrap;color:#656871!important}
.admin-users-action{text-align:right!important}
.admin-users-action .btn{white-space:nowrap;font-size:12px;min-height:34px;padding:7px 12px}
.admin-user-pages{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;width:fit-content;margin:24px auto 0;color:var(--muted)}
.admin-user-pages__button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--brand);font-size:12px;font-weight:700;text-decoration:none;transition:background-color .15s,border-color .15s}.admin-user-pages__button:first-child{justify-self:end}.admin-user-pages__button:last-child{justify-self:start}.admin-user-pages__button:hover{border-color:#c8a8a3;background:#fff8f5}.admin-user-pages__button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.admin-user-pages__button .action-icon{width:16px;height:16px}
.admin-user-pages__count{display:flex;align-items:baseline;justify-content:center;gap:6px;min-width:72px;font-variant-numeric:tabular-nums}.admin-user-pages__count strong{color:var(--ink);font-size:16px}.admin-user-pages__spacer{width:1px}
@media(max-width:480px){.admin-user-pages__button{width:44px;padding:0}.admin-user-pages__button span{display:none}.admin-user-pages__count{min-width:64px}}
/* Account report: no nested cards or giant unstructured text blocks. */
.user-report{max-width:1100px;margin-inline:auto}
.user-report-back{display:inline-flex;align-items:center;gap:8px;margin:0 0 27px;font-size:13px;font-weight:600;color:var(--brand)}
.user-report-back:hover{text-decoration:none;color:#8c2525}
.admin-user-profile-header{margin:0 0 24px}
.user-report-identity{display:flex;align-items:center;gap:19px;min-width:0}
.user-report-identity-copy{min-width:0;flex:1}
.user-report-title{display:flex;align-items:center;flex-wrap:wrap;gap:11px;margin-bottom:7px}
.user-report-title h1{font-size:clamp(24px,3vw,34px);letter-spacing:-.7px;line-height:1.22;margin:0;overflow-wrap:anywhere}
.user-report-identifiers{display:flex;align-items:center;gap:11px;flex-wrap:wrap;font-size:13px}
.user-report-username{color:var(--brand);font-weight:500}
.user-report-identity-copy p{font-size:12px;color:var(--muted);margin:8px 0 0}
.user-report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:17px 0 20px;border-top:1px solid #e7e7e8;flex-wrap:wrap}
.user-report-toolbar>.muted{font-size:12px}
.admin-user-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.admin-user-header-actions .btn{min-height:38px;font-size:12px;padding:8px 13px}
.admin-user-header-actions .inline-form{margin:0}
.user-report-protected{font-size:12px;color:var(--muted);padding:7px 0}
.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border:1px solid #e5e5e7;border-radius:10px;overflow:hidden;margin:0 0 41px}
.admin-metrics>div{padding:20px 18px;display:flex;flex-direction:column;gap:5px;min-width:0}
.admin-metrics>div:not(:last-child){border-right:1px solid #ededf0}
.admin-metrics strong{font-size:25px;line-height:1.2;font-weight:600;letter-spacing:-.5px;color:#25252b}
.admin-metrics span{font-size:12px;line-height:1.35;color:#73767e}
.admin-report-section{margin:0 0 36px;min-width:0}
.admin-report-section h2{display:flex;align-items:center;gap:12px;font-size:17px;letter-spacing:-.25px;font-weight:600;margin:0 0 16px;color:#28282e}
.admin-report-section h2 span{font-size:11px;font-weight:600;color:var(--muted);background:#f2f2f3;border-radius:6px;padding:3px 8px;line-height:1.2}
.admin-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:27px;row-gap:26px;background:#fff;border:1px solid #e7e7e8;border-radius:10px;padding:24px 25px;margin:0}
.admin-detail-item{min-width:0;margin:0}
.admin-detail-item dt{font-size:11px;font-weight:500;color:#85858b;margin:0 0 5px}
.admin-detail-item dd{margin:0;font-size:13px;line-height:1.5;color:#25252b;font-weight:600;overflow-wrap:anywhere}
.admin-report-section .surface{border-radius:10px;border-color:#e5e5e7}
.admin-report-section .table{min-width:675px;font-size:12px}
.admin-report-section .table th{height:43px;color:#71727b;font-size:11px;background:#fafafa}
.admin-report-section .table td{padding:14px 17px}
.admin-report-section .table a{font-weight:600}
.admin-report-empty{font-size:12px;color:#87888e;padding:21px 22px;border:1px dashed #e2e2e4;border-radius:9px;margin:0;background:transparent}
.admin-report-section>.subtle{line-height:1.55}
@media(max-width:900px){.admin-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-users-table{min-width:680px}.admin-users-table td{padding:13px 12px}}
@media(max-width:700px){
 .users-page .page-head{margin-bottom:22px}
 .admin-user-search{flex-wrap:wrap;gap:9px}
 .admin-user-search-field{flex-basis:100%;height:45px}
 .admin-user-search .btn{flex:1;min-height:43px}
 .admin-user-count>span:last-child{display:none}
 .users-table-wrap{border:0;background:transparent;box-shadow:none;overflow:visible}
 .admin-users-table{display:block;min-width:0!important;border:0;background:transparent}
 .admin-users-table thead{display:none}
 .admin-users-table tbody{display:grid;gap:10px}
 .admin-users-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding:16px;background:#fff;border:1px solid #e6e6e9;border-radius:10px;min-width:0}
 .admin-users-table td{display:block;height:auto;padding:0!important;border:0!important;min-width:0!important;overflow-wrap:anywhere;text-align:left!important}
 .admin-users-table td:first-child{grid-column:1/-1}
 .admin-users-table td:nth-child(2){grid-column:1/-1;margin-top:2px;padding-left:54px!important;font-size:12px}
 .admin-users-table td:nth-child(3){grid-column:1/2;margin-top:3px;padding-left:54px!important;font-size:11px;white-space:normal}
 .admin-users-table td:nth-child(4){grid-column:2/3;align-self:center;justify-self:end}
 .admin-users-table td:nth-child(5){grid-column:1/-1;border-top:1px solid #f0f0f1!important;margin-top:3px;padding-top:10px!important}
 .admin-users-action .btn{width:100%;min-height:38px}
 .admin-user-names strong{font-size:13px}
 .user-report{width:100%}
 .user-report-back{margin-bottom:20px}
 .admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:32px}
 .admin-metrics>div:nth-child(2){border-right:0}
 .admin-metrics>div:nth-child(-n+2){border-bottom:1px solid #ededf0}
 .admin-metrics>div{padding:16px}
 .admin-metrics strong{font-size:23px}
 .admin-detail-grid{padding:21px 18px;gap:21px 16px}
 .admin-report-section{margin-bottom:29px}
}

@media(max-width:450px){
 .user-report-identity{align-items:flex-start;gap:12px}
 .admin-avatar--large{width:64px;height:64px;border-radius:14px;font-size:23px}
 .user-report-title h1{font-size:23px}
 .user-report-toolbar{gap:12px}
 .user-report-toolbar>.muted{flex-basis:100%}
 .admin-user-header-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .admin-user-header-actions .btn{width:100%;white-space:normal;min-height:40px}
 .admin-user-header-actions .inline-form{grid-column:1/-1;display:block}
 .admin-user-header-actions .inline-form .btn{width:100%}
 .user-report-protected{grid-column:1/-1}
 .admin-detail-grid{grid-template-columns:1fr;row-gap:18px}
 .admin-user-search .btn{padding-inline:10px}
}
@media print{
 .topbar,.mobile-nav,.admin-nav,.footer,.user-report-back,.admin-user-header-actions{display:none!important}
 .page-container{max-width:100%!important;padding:0!important}
 body{background:#fff!important;color:#000}
 .user-report-toolbar{padding:5px 0 14px}
 .admin-metrics{margin-bottom:20px}
 .admin-report-section{break-inside:avoid;margin-bottom:22px}
 .admin-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .table-scroll{overflow:visible!important}
 .admin-report-section .table{min-width:0}
}

/* Keep compact mobile navigation free of redundant Admin workspace links. */
@media(max-width:700px){body:has(.admin-nav) .mobile-nav .nav-link[href="/admin"]{display:none}}

/* V11: referee and tournament stage notes use the shared, responsive form styling. */
.referee-instructions{background:#f8f5f3;border-left:3px solid #6b1515;border-radius:6px;padding:12px 14px;margin:12px 0;color:#231c1c}
.referee-instructions strong{font-size:.9rem}.referee-instructions p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.referee-instructions small{color:#605454}
.score-set-details,.match-note-editor{margin-top:12px}.score-set-details>summary,.match-note-editor>summary{cursor:pointer;font-weight:600;padding:10px 0}
.score-set-details .set-grid{margin:12px 0}.stage-note-form{margin-top:14px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid #eae3df}
.stage-note-form textarea,.match-note-editor textarea{min-height:76px;resize:vertical}
@media(max-width:600px){.score-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.score-set-details input{min-width:0;width:100%}.match-note-editor form{min-width:0}.referee-instructions{padding:10px}}

.table th.table-row-number,.table td.table-row-number{width:48px;min-width:48px;max-width:64px;font-size:12px;text-align:center!important;color:#89888e;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap;padding-inline:10px}
/* Users directory — compact accessible actions popup with no table clipping. */
.admin-users-table{table-layout:auto}
.admin-users-table th:nth-child(1){width:5%}
.admin-users-table th:nth-child(2){width:26%}
.admin-users-table th:nth-child(3){width:29%}
.admin-users-table th:nth-child(4){width:19%}
.admin-users-table th:nth-child(5){width:10%}
.admin-users-table th:last-child{width:11%}
.user-action-trigger{display:inline-flex;justify-content:center;align-items:center;width:39px;height:38px;border:1px solid #dfd7d7;border-radius:8px;background:#fff;color:#6b1515;cursor:pointer}
.user-action-trigger:hover,.user-action-trigger[aria-expanded="true"]{background:#faf3f3;border-color:#bb9696}
.user-action-trigger:focus-visible{outline:2px solid #6b1515;outline-offset:2px}
.user-action-panel{position:fixed;z-index:9999;min-width:190px;max-width:calc(100vw - 20px);padding:5px;background:white;border:1px solid #e2dedf;border-radius:10px;box-shadow:0 9px 32px #22171721}
.user-action-panel[hidden]{display:none!important}
.user-action-panel a,.user-action-panel button{display:flex;width:100%;align-items:center;border:0;border-radius:6px;padding:10px 12px;text-decoration:none!important;text-align:left;background:transparent;color:#30292b;font-size:13px;font-weight:500;white-space:normal;min-height:39px;cursor:pointer}
.user-action-panel a:hover,.user-action-panel button:hover{background:#f8f0f0;color:#6b1515}
.user-action-panel .inline-form{display:block;margin:4px 0 0;border-top:1px solid #efebeb;padding-top:4px}
.user-action-panel .inline-form button{color:#962d2d}
.user-action-protected{display:block;padding:11px 12px;font-size:12px;color:#858185}
@media(max-width:700px){
 .admin-users-table tr{position:relative}
 .admin-users-table td.table-row-number:first-child{position:absolute;right:14px;top:15px;width:auto;min-width:0;max-width:none;text-align:right!important;font-size:11px;padding:0!important;color:#929096}
 .admin-users-table td:nth-child(2){grid-column:1/-1;padding-right:42px!important}
 .admin-users-table td:nth-child(3){grid-column:1/-1;margin-top:2px;padding-left:54px!important;font-size:12px}
 .admin-users-table td:nth-child(4){grid-column:1/2;margin-top:3px;padding-left:54px!important;font-size:11px;white-space:normal}
 .admin-users-table td:nth-child(5){grid-column:2/3;align-self:center;justify-self:end}
 .admin-users-table td:nth-child(6){grid-column:1/-1;border-top:1px solid #f0f0f1!important;margin-top:3px;padding-top:10px!important;justify-self:end}
 .admin-users-action .user-action-trigger{width:44px;height:40px}
}

/* V13: image collage taken from the user's supplied editorial artwork. */
.hero{grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:clamp(16px,3.6vw,48px);align-items:center}
.hero-editorial{width:100%;min-width:0;margin:0;position:relative;display:flex;align-items:center;justify-content:center}
.hero-editorial__image{width:100%;height:auto;display:block;object-fit:contain;mix-blend-mode:multiply}
@media(min-width:981px){.hero-editorial{max-width:620px;justify-self:end}.hero h1{font-size:clamp(38px,4.05vw,56px);line-height:1.12}}
@media(min-width:701px) and (max-width:980px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.hero h1{font-size:clamp(31px,4.1vw,43px)}}
@media(max-width:700px){.hero{grid-template-columns:minmax(0,1fr);gap:10px;padding-bottom:30px}.hero-editorial{max-width:540px;justify-self:center;margin-top:4px}.hero-editorial__image{width:100%}}
@media(max-width:390px){.hero-editorial{margin-top:0}.hero h1{font-size:clamp(33px,9vw,40px)}}

/* WISSAM V14 — streamlined, accessible tournament creation (all other pages unchanged). */
.create-tournament{max-width:960px;margin:0 auto 50px;min-width:0}
.create-tournament__header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:4px 0 35px}
.create-tournament__eyebrow{font-size:10px;letter-spacing:1.35px;font-weight:700;color:var(--brand);margin:0 0 11px}
.create-tournament__title h1{font-size:clamp(28px,3.4vw,37px);font-weight:700;letter-spacing:-1.1px;margin:0 0 6px}
.create-tournament__title p{margin:0;font-size:14px;color:var(--muted)}
.create-tournament__exit{color:#685d5e;font-size:13px;font-weight:600;padding:8px 0;white-space:nowrap}
.create-tournament__exit:hover{color:var(--brand)}
.create-tournament__form{min-width:0;background:transparent}
.create-tournament .create-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px;padding:0;margin:0 0 36px;border:0}
.create-tournament .step-pill{display:flex;align-items:center;gap:10px;position:relative;margin:0;padding:15px 1px 14px;font-size:13px;font-weight:600;white-space:nowrap;color:#868084;border-bottom:2px solid #e7e2e2}
.create-tournament .step-pill::before{content:attr(data-index);width:auto;height:auto;border:0;border-radius:0;background:transparent!important;font-size:12px;line-height:1;color:#a19b9b;display:block;place-items:unset}
.create-tournament .step-pill.active{color:var(--brand);border-bottom-color:var(--brand)}
.create-tournament .step-pill.active::before{color:var(--brand)}
.create-tournament .step-pill.is-completed{color:#52494b;border-bottom-color:#ccb2b2}
.create-tournament .step-pill.is-completed::before{color:#885b60}
.create-tournament .step-sep{display:none}
.create-tournament__main{min-width:0}
.create-tournament__step-caption{font-size:10px;letter-spacing:1.25px;font-weight:700;color:#9a777b;margin:0 0 11px}
.create-tournament__section-head{margin-bottom:27px}
.create-tournament__section-head h2{font-size:24px;font-weight:650;letter-spacing:-.45px;color:#252329;margin:0 0 6px}
.create-tournament__section-head p{color:#737079;font-size:13px;line-height:1.5;margin:0}
.create-tournament .wizard-panel{min-height:0}
.create-tournament__fields{gap:21px;max-width:920px}
.create-tournament__fields>.field{width:100%;gap:8px}
.create-tournament__fields>.field>span,.create-tournament__fields .form-grid>.field>span{color:#373138;font-weight:600;font-size:12px}
.create-tournament__fields .form-grid{gap:20px}
.create-tournament__fields input:not([type=hidden]),.create-tournament__fields textarea,.create-tournament__fields select{min-height:46px;font-size:13px;border-color:#dfdade}
.create-tournament__fields input:not([type=hidden]):focus,.create-tournament__fields textarea:focus,.create-tournament__fields select:focus{border-color:var(--brand)}
.create-tournament__fields textarea{min-height:92px;resize:vertical}
.create-tournament__fields>.field>small{max-width:480px;font-size:11px}
.create-tournament__group-title{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding-top:6px;margin-bottom:-7px}
.create-tournament__group-title strong{font-size:13px;color:#343038}
.create-tournament__group-title span{font-size:11px;color:#817a81}
.create-tournament__dates{min-width:0}
.create-tournament__dates>.field{min-width:0}
.create-tournament .ws-datetime{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:0;align-items:stretch;border:1px solid #dbd6d8;border-radius:9px;min-height:47px;background:#fff;transition:border-color .12s}
.create-tournament .ws-datetime:hover{border-color:#b79e9f}
.create-tournament .ws-datetime:focus-within{border-color:var(--brand);outline:2px solid #6b15151e;outline-offset:0}
.create-tournament .ws-datetime .ws-date-wrap{min-width:0;display:flex;align-items:stretch}
.create-tournament .ws-datetime .ws-date-trigger{height:100%;min-height:45px;border:0!important;box-shadow:none!important;padding:10px 11px;background:transparent!important;border-radius:8px 0 0 8px;min-width:0}
.create-tournament .ws-datetime .ws-date-trigger:focus-visible,.create-tournament .ws-datetime-clock>.ws-select-trigger:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
.create-tournament .ws-datetime-clock{height:100%;min-height:45px;display:flex;gap:0;border-left:1px solid #eae5e7;padding:0 3px;align-items:center;justify-content:center}
.create-tournament .ws-datetime-clock>.ws-select-trigger{height:42px;min-height:42px;border:0!important;box-shadow:none!important;border-radius:5px;background:transparent!important;font-size:12px;padding:5px 3px;min-width:0;gap:1px;flex:1}
.create-tournament .ws-datetime-clock>.ws-select-trigger svg{width:11px;height:11px}
.create-tournament .ws-datetime-clock>span{padding:0 1px;color:#77707a}
.create-tournament .ws-datetime .ws-date-value{min-width:0}
.create-tournament__advanced{padding:14px 16px;background:#fbfaf9;border:1px solid #eee7e7;border-radius:9px}
.create-tournament__advanced summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;color:#42383b;font-size:13px;font-weight:600;list-style:none}
.create-tournament__advanced summary::-webkit-details-marker{display:none}
.create-tournament__advanced summary::after{content:'⌄';color:var(--brand);font-size:19px;line-height:1;margin-left:auto}
.create-tournament__advanced[open] summary{margin-bottom:18px}
.create-tournament__advanced[open] summary::after{transform:rotate(180deg)}
.create-tournament__advanced summary span{color:#898187;font-size:11px;font-weight:400;margin-left:5px}
.create-tournament__draft-note{border-left:2px solid #c2a4a4;padding:12px 15px;background:#fbf7f7;color:#6a5255;font-size:12px;border-radius:0 7px 7px 0}
.create-tournament__error{background:#fff8f8;border:1px solid #e6bcbc;border-radius:8px;padding:12px 15px;color:#862d2d;font-size:12px;margin:20px 0 0}
.create-tournament .create-tournament__actions{display:flex;justify-content:flex-end;align-items:center;gap:11px;border-top:1px solid #ebe7e8;margin-top:30px;padding-top:22px}
.create-tournament__actions .btn{min-width:118px;min-height:45px}
.create-tournament__actions .btn--soft{margin-right:auto}
.create-tournament__actions button[hidden]{display:none!important}
@media(max-width:700px){
 .create-tournament__header{margin-top:0;margin-bottom:25px;align-items:flex-start}
 .create-tournament__exit{font-size:12px}
 .create-tournament .create-steps{gap:9px;margin-bottom:28px}
 .create-tournament .step-pill{font-size:12px;gap:7px;padding:12px 0}
 .create-tournament__section-head h2{font-size:21px}
 .create-tournament__fields{gap:19px}
 .create-tournament__fields .form-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .create-tournament__dates{gap:19px}
 .create-tournament__group-title{flex-direction:column;align-items:flex-start;gap:4px}
 .create-tournament .create-tournament__actions{padding-top:18px;margin-top:25px}
}
@media(max-width:390px){
 .create-tournament__header{flex-wrap:wrap;gap:8px}
 .create-tournament__exit{padding:2px 0}
 .create-tournament .step-pill{font-size:11px;gap:5px}
 .create-tournament .ws-datetime{grid-template-columns:minmax(0,1fr) 121px}
 .create-tournament .ws-datetime .ws-date-trigger{padding:7px 7px;font-size:11px}
 .create-tournament .ws-datetime-clock>.ws-select-trigger{font-size:11px;padding:3px 2px}
 .create-tournament__actions .btn{min-width:108px}
}
@media(prefers-reduced-motion:reduce){.create-tournament .ws-datetime{transition:none}}

/* V15 audience QR and live follow pages */
.watch-page{max-width:1180px;margin:0 auto;padding:18px 0 30px}
.watch-heading{display:flex;gap:20px;align-items:flex-end;justify-content:space-between;margin-bottom:16px}
.watch-heading h1{margin:7px 0 8px;font-size:clamp(29px,3.2vw,43px);line-height:1.17}
.watch-heading__links,.share-actions{display:flex;gap:9px;flex-wrap:wrap}
.watch-refresh-line{display:flex;align-items:center;gap:8px;color:#6e6262;font-size:12px;margin:12px 0 20px}
.watch-dot{background:#951A1A;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #F8EAEA}
.watch-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #E8E3E3;border-radius:12px;overflow:hidden;background:#fff}
.watch-metrics>div{padding:17px 22px;display:flex;flex-direction:column;gap:4px;border-right:1px solid #E8E3E3}
.watch-metrics>div:last-child{border-right:0}
.watch-metrics strong{font-size:26px;line-height:1.2}.watch-metrics span{font-size:12px;color:#675d5d}
.watch-section{margin:27px 0}.watch-section__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.watch-section h2{font-size:20px;margin:0 0 13px}.watch-section h3{margin:18px 0 12px;font-size:16px}
.watch-matches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.watch-match{border:1px solid #E7E0E0;border-radius:12px;background:#fff;min-width:0;padding:17px}
.watch-match__top,.watch-match__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#756A6A;font-size:12px}
.watch-match__top{padding-bottom:15px}.watch-match__foot{padding-top:13px;border-top:1px solid #F0EBEB}
.watch-match__body{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:13px}
.watch-opponents{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:14px;overflow-wrap:anywhere}
.watch-vs{font-size:11px;color:#817575}.watch-score{text-align:right;white-space:nowrap;display:flex;flex-direction:column;gap:3px}.watch-score strong{font-size:23px;font-variant-numeric:tabular-nums}.watch-score small{font-size:11px;color:#736969}
.watch-winner{font-weight:700;color:#6B1515}.watch-pill{font-size:11px;font-weight:700;border-radius:5px;padding:5px 8px}.watch-pill--live{background:#FCEDED;color:#8C1616}
.watch-lead{color:#8A2020;font-size:12px;font-weight:600;margin:0 0 12px}
.watch-empty{padding:14px 17px;color:#786D6D;background:#FCFAFA;border:1px solid #EDE8E8;border-radius:9px;font-size:13px}
.watch-note{font-size:12px;color:#6D6262;margin-top:15px}.watch-champion{margin-top:20px;border-left:3px solid #6B1515;padding:14px 18px;background:#F9F4F4;display:flex;flex-direction:column;gap:5px}.watch-champion span{font-size:11px;letter-spacing:.1em}.watch-champion strong{font-size:22px}
.share-layout{display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr);gap:30px;align-items:start;margin-top:15px}.qr-poster{background:#fff;border:1px solid #DED4D4;border-radius:14px;padding:26px 23px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.qr-poster h2{font-size:23px;line-height:1.2;margin:5px 0}.qr-poster p{font-size:13px;color:#6B5D5D}.qr-poster__brand{color:#6B1515;font-weight:700;font-size:12px;letter-spacing:.09em}.qr-visual{width:min(100%,300px);padding:10px;background:#fff;aspect-ratio:1}.qr-visual svg{display:block;width:100%;height:100%}.qr-poster small{font-size:12px;color:#777}.share-details{min-width:0}.share-details h3{margin:2px 0 20px}.share-details input{width:100%;max-width:100%}.share-actions{margin-top:13px}.share-details .notice{margin-top:18px}.watch-score-form{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;margin:10px 0}.watch-score-form label{display:flex;flex-direction:column;gap:4px;font-size:12px}.watch-score-form input{width:90px;max-width:100%;min-height:41px}.watch-score-form small{font-size:11px;color:#777;flex-basis:100%}
@media(max-width:720px){.watch-heading{align-items:flex-start;flex-direction:column}.watch-matches{grid-template-columns:minmax(0,1fr)}.share-layout{grid-template-columns:1fr}.share-actions .btn{flex:1}.watch-heading__links .btn{min-width:0}}
@media(max-width:390px){.watch-metrics>div{padding:12px 9px}.watch-metrics strong{font-size:22px}.watch-metrics span{font-size:10px}.watch-match{padding:13px}.watch-heading__links{width:100%}.watch-heading__links .btn{flex:1;text-align:center}}
@media print{body:has(.qr-poster) .app-shell{display:block}body:has(.qr-poster) .topbar,body:has(.qr-poster) .mobile-nav,body:has(.qr-poster) .admin-nav,body:has(.qr-poster) .footer,body:has(.qr-poster) .share-details,body:has(.qr-poster) .share-tournament>.section,body:has(.qr-poster) .detail-top,body:has(.qr-poster) .tabs,body:has(.qr-poster) .page-container>a{display:none!important}body:has(.qr-poster) .share-layout{display:block}body:has(.qr-poster) .qr-poster{margin:30mm auto;border:0;width:150mm;max-width:100%;padding:0}body:has(.qr-poster) .qr-visual{width:90mm;height:90mm}}

/* Arabic interface: logical alignment keeps every existing page usable in RTL. */
html[dir=rtl] body{text-align:right}
html[dir=rtl] input,html[dir=rtl] textarea,html[dir=rtl] select{text-align:right}
html[dir=rtl] input[type=email],html[dir=rtl] input[type=tel],html[dir=rtl] input[type=url],html[dir=rtl] code,html[dir=rtl] .phone-input{direction:ltr;text-align:left}
html[dir=rtl] .action-strip{border-left:1px solid var(--line);border-right:3px solid var(--brand)}
html[dir=rtl] .table th,html[dir=rtl] .table td{text-align:right}
html[dir=rtl] .integrated-search__button{inset-inline-start:auto;inset-inline-end:auto}
html[dir=rtl] .search-discovery-ar,html[dir=rtl] .tournament-search-ar{text-align:right}
html[dir=rtl] .user-action-panel,html[dir=rtl] .menu-panel{text-align:right}
html[dir=rtl] .link-text svg,html[dir=rtl] .team-edit-back svg{transform:scaleX(-1)}

/* V16 — Admin Overview: quiet, task-first hierarchy; no decorative dashboard cards. */
.admin-overview{width:100%;max-width:1120px;margin-inline:auto}
.admin-overview .page-head{margin-bottom:24px;gap:16px;align-items:center}
.admin-overview .page-head h1{font-size:clamp(26px,3.6vw,33px);line-height:1.2;letter-spacing:-.8px;margin:0}
.admin-overview .page-head .btn{min-height:40px;padding:10px 16px;font-size:13px}
.overview-attention{border-left:3px solid var(--brand);padding:4px 0 5px 16px;margin-bottom:24px}
.overview-attention h2{font-size:15px;font-weight:650;letter-spacing:-.15px;margin:0 0 8px}
.overview-tasks{display:grid;gap:0}
.overview-task{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:11px 0;text-decoration:none!important;border-bottom:1px solid var(--line);color:var(--ink)}
.overview-task:last-child{border-bottom:none}
.overview-task span:first-child{min-width:0;display:grid;gap:3px}
.overview-task strong{font-weight:600;font-size:13px}
.overview-task small{font-weight:400;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.overview-task-action{color:var(--brand);font-weight:600;font-size:12px;white-space:nowrap}
.overview-task:hover .overview-task-action{text-decoration:underline}
.overview-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:19px 0 20px;margin:0 0 29px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.overview-metric{padding:4px clamp(10px,2.5vw,26px);border-right:1px solid var(--line);min-width:0;display:flex;flex-direction:column;gap:4px;text-decoration:none!important;color:var(--ink)}
.overview-metric:first-child{padding-left:0}
.overview-metric:last-child{border-right:0}
.overview-metric strong{font-size:clamp(22px,3vw,29px);font-weight:650;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.overview-metric span{font-size:12px;color:var(--muted);line-height:1.45}
.overview-metric[href]:hover strong{color:var(--brand)}
.overview-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px}
.overview-section-head h2{font-size:19px;font-weight:650;letter-spacing:-.3px;margin:0}
.overview-section-head a{color:var(--brand);font-size:13px;font-weight:600;text-decoration:none}
.overview-section-head a:hover{text-decoration:underline}
.overview-table-wrap{background:#fff;border:1px solid var(--line);border-radius:10px;overflow-x:auto;overflow-y:visible}
.overview-table{width:100%;min-width:620px;margin:0;border-collapse:collapse;table-layout:auto}
.overview-table th{background:#fbfbfb;font-size:11px;font-weight:600;letter-spacing:.1px;color:var(--muted);height:44px}
.overview-table td{padding:14px 15px;font-size:13px;vertical-align:middle}
.overview-table tr:last-child td{border-bottom:0}
.overview-table th:nth-child(2),.overview-table td:nth-child(2){width:43%}
.overview-table th:nth-child(3),.overview-table td:nth-child(3){width:28%}
.overview-tournament-name>a{display:block;font-weight:600;color:var(--ink);line-height:1.4;text-decoration:none!important;overflow-wrap:anywhere}
.overview-tournament-name>a:hover{color:var(--brand)}
.overview-tournament-name small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.overview-tournament-date{font-variant-numeric:tabular-nums;white-space:normal}
.overview-table-action-header,.overview-tournament-actions{text-align:right!important;width:85px}
.overview-action-anchor{display:flex;justify-content:flex-end}
.overview-action-trigger{height:36px;width:39px;border-color:#ece4e4;color:var(--ink)}
.overview-action-trigger:hover,.overview-action-trigger[aria-expanded="true"]{color:var(--brand)}
.overview-empty{padding:26px 0;border-top:1px solid var(--line);font-size:13px}
.overview-empty strong{font-size:14px}
.overview-empty p{color:var(--muted);margin:6px 0 9px}
.overview-empty a{color:var(--brand);font-weight:600;text-decoration:none}
.admin-overview a:focus-visible,.admin-overview button:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@media(max-width:700px){
 .admin-overview .page-head{flex-direction:row;align-items:center;margin-bottom:23px;gap:10px}
 .admin-overview .page-head .head-action{margin-left:auto;flex:none}
 .admin-overview .page-head .btn{font-size:12px;min-height:38px;padding:9px 12px}
 .overview-section-head h2{font-size:18px}
 .overview-table-wrap{overflow:visible;background:transparent;border:0}
 .overview-table{min-width:0;display:block;width:100%}
 .overview-table thead{display:none}
 .overview-table tbody{display:grid;gap:0}
 .overview-table tr{display:grid;grid-template-columns:30px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:3px 6px;align-items:start;padding:13px 0;border-bottom:1px solid var(--line);position:relative}
 .overview-table tr:first-child{border-top:1px solid var(--line)}
 .overview-table td{display:block;border:0!important;padding:0!important;min-width:0;width:auto!important}
 .overview-table td.table-row-number{grid-column:1;grid-row:1/3;text-align:left!important;width:30px!important;min-width:0;padding-top:2px!important}
 .overview-table td.overview-tournament-name{grid-column:2;grid-row:1}
 .overview-table td.overview-tournament-date{grid-column:2;grid-row:2;color:var(--muted);font-size:11px}
 .overview-table td.overview-tournament-status{grid-column:2;grid-row:3;justify-self:start;padding:4px 0 0!important}
 .overview-table td.overview-tournament-actions{grid-column:3;grid-row:1;justify-self:end;z-index:1}
 .overview-table .badge{font-size:10px}
 .overview-table .overview-tournament-name small{max-width:100%}
 .overview-action-trigger{width:34px;height:33px}
}
@media(max-width:390px){.overview-metric{padding-inline:9px}.overview-metric strong{font-size:24px}.overview-metric span{font-size:11px}.overview-task{align-items:flex-start;flex-direction:column;gap:7px}.admin-overview .page-head h1{font-size:25px}}

/* V17: form clarity, account discovery and registration. Scoped: no global UI framework. */
.settings-workspace{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;align-items:start;margin:4px 0 50px}
.settings-main{min-width:0;max-width:900px}
.settings-section{padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid #e9e6e6;display:grid;gap:19px}
.settings-section__heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.settings-section h2,.settings-side h2{margin:0;font-size:19px;font-weight:600}
.settings-section>.field textarea{min-height:84px}
.settings-section .field input,.settings-section .field select{min-height:46px}
.settings-advanced{border-bottom:1px solid #e9e6e6;padding:0 0 24px}
.settings-advanced summary{list-style:none;cursor:pointer;font-weight:600;color:var(--brand);padding:12px 0}
.settings-advanced summary::-webkit-details-marker{display:none}
.settings-advanced summary:after{content:'⌄';float:right;font-size:15px}
.settings-advanced[open] summary:after{content:'⌃'}
.settings-advanced__content{display:grid;gap:17px;padding:17px 0 0}
.settings-side{border-left:1px solid var(--line);padding:8px 0 0 25px;display:grid;gap:12px}
.settings-side>p{font-size:13px;margin:0}
.settings-danger{border-top:1px solid var(--line);padding-top:20px;margin-top:14px}
.settings-danger h3{font-size:14px}
.settings-danger p{margin:6px 0 13px}
.settings-save{margin:18px 0 0}.settings-note{color:var(--muted);font-size:12px;margin:20px 0 0}
.register-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;align-items:start;max-width:1180px}
.register-team{display:grid;gap:0;min-width:0}
.registration-section{min-width:0;padding:0 0 28px;margin:0 0 26px;border:0;border-bottom:1px solid var(--line);display:grid;gap:17px}
.registration-section h2,.partner-fieldset legend{font-size:19px;font-weight:600;letter-spacing:-.3px;margin:0 0 3px;padding:0}
.register-help{border-left:1px solid var(--line);padding:5px 0 0 24px}
.register-help h2{font-size:18px;margin-bottom:16px}
.register-help p{font-size:13px;color:var(--muted);margin:0 0 12px}
.register-help p strong{color:var(--ink)}
.register-team .field>label{font-size:13px;font-weight:600}
.partner-choice{display:flex;gap:9px;flex-wrap:wrap;margin:6px 0}
.partner-choice label{display:inline-flex;align-items:center;cursor:pointer;padding:10px 16px;gap:8px;border:1px solid #ddd7d7;border-radius:9px;background:white;font-size:13px;font-weight:600;min-height:44px}
.partner-choice label:has(input:checked){border-color:var(--brand);background:#fbf5f5;color:var(--brand)}
.partner-choice input{accent-color:var(--brand)}
.register-team [data-partner-guest],.register-team [data-partner-account]{display:grid;gap:17px}
.register-guest-contacts{display:grid;gap:12px}
.register-guest-contacts h3{font-size:13px;margin:6px 0 0}
.register-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:20px 0}
.register-agreement{margin:4px 0}
.account-picker{position:relative;min-width:0}
.account-picker>input[type=search]{min-height:46px;width:100%;border:1px solid #dcd5d5;border-radius:8px;padding:10px 13px;background:#fff;font-size:13px;font-weight:400}
.account-picker>input:focus{border-color:var(--brand);outline:2px solid #6b151522;outline-offset:0}
.account-picker__results{position:absolute;top:calc(100% + 5px);left:0;right:0;max-height:264px;overflow:auto;background:white;border:1px solid #ddd4d4;border-radius:9px;box-shadow:0 12px 30px #35242517;z-index:50;padding:5px}
.account-picker__option{width:100%;text-align:left;padding:11px 12px;border:0;border-radius:6px;background:white;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px}
.account-picker__option span{color:var(--muted)}
.account-picker__option:hover,.account-picker__option:focus,.account-picker__option.is-focused{background:#fbf4f4;color:var(--brand)}
.account-picker__empty{padding:12px;color:var(--muted);font-size:13px}
.account-picker__selection{margin:2px 0 0;color:#326a4c;font-size:12px}
.register-team .phone-input>select{width:90px!important}
@media(max-width:980px){.settings-workspace,.register-layout{grid-template-columns:minmax(0,1fr);gap:22px}.settings-side,.register-help{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}}
@media(max-width:700px){.settings-section{gap:15px;padding-bottom:22px;margin-bottom:22px}.settings-section__heading{display:block}.register-layout{gap:18px}.registration-section{padding-bottom:22px;margin-bottom:22px}.register-actions .btn{flex:1}.partner-choice label{flex:1;justify-content:center;padding:8px}.account-picker__option{align-items:flex-start;flex-direction:column;gap:2px}}

.staff-workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:44px;align-items:start}.staff-main{max-width:790px}.staff-main h2,.staff-side h2,.staff-invitation h2{font-size:19px;margin:0 0 12px}.staff-main>.muted{font-size:13px}.staff-main>form{margin-top:24px}.staff-side{border-left:1px solid var(--line);padding-left:24px}.staff-invitation{border-top:1px solid var(--line);padding-top:25px;margin-top:30px}.staff-invitation p{font-size:13px;color:var(--muted)}@media(max-width:900px){.staff-workspace{grid-template-columns:minmax(0,1fr);gap:25px}.staff-side{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}}

.my-tournament-actions{align-items:center}.my-tournament-more{margin-left:auto;position:relative}.my-tournament-more>summary{list-style:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--brand);padding:8px 11px;border:1px solid #e6d5d5;border-radius:8px}.my-tournament-more>summary::-webkit-details-marker{display:none}.my-tournament-more__content{position:absolute;right:0;bottom:calc(100% + 8px);width:min(270px,calc(100vw - 48px));background:white;border:1px solid var(--line);border-radius:10px;padding:12px;box-shadow:0 12px 28px #24141418;z-index:20;display:grid;gap:8px}.my-tournament-more__content>*{width:100%}.my-tournament-more__content .btn{width:100%;white-space:normal}.partner-invitation{max-width:860px}.partner-invitation>p{color:var(--muted);font-size:13px}.partner-invitation__copy{display:flex;align-items:flex-start;gap:12px;margin:10px 0 15px}.partner-invitation__copy textarea{flex:1;min-width:0;border:1px solid #ddd6d6;border-radius:8px;background:#fff;padding:13px;color:var(--ink);font:13px/1.5 'IBM Plex Sans',sans-serif;resize:none}.partner-invitation__copy button{flex:none}@media(max-width:580px){.partner-invitation__copy{flex-direction:column}.partner-invitation__copy textarea,.partner-invitation__copy button{width:100%}.my-tournament-more__content{right:0}}

/* V18 — operational views: compact, accessible, no redundant panels. */
.admin-tournaments-table{width:100%;table-layout:auto}
.admin-tournaments-table th:nth-child(4){min-width:90px}
.admin-tournaments-table th:nth-child(5){min-width:150px}
.admin-tournaments-table th:nth-child(7){min-width:145px}
.admin-tournaments-table th:nth-child(8){min-width:75px}
.admin-tournaments-table th:last-child,.admin-tournaments-table td:last-child,
.table-action-heading,.row-action-cell{text-align:right!important;width:78px;white-space:nowrap}
.row-action-anchor{display:flex;justify-content:flex-end;min-width:40px}
.row-action-cell .user-action-trigger{color:var(--ink);border-color:#e4dddd;width:38px;height:36px;flex-shrink:0}
.row-action-cell .user-action-trigger:hover{color:var(--brand)}
.row-action-panel{min-width:235px;max-width:min(310px,calc(100vw - 20px));white-space:normal}
.row-action-panel .inline-form{margin:0;border-top:0;padding:0}
.row-action-panel .inline-form button{width:100%;border:0;background:transparent;min-height:40px;border-radius:6px;text-align:left;display:block;padding:10px 12px;color:var(--ink);font-size:13px;font-weight:500}
.row-action-panel .inline-form button:hover{background:#f8f0f0;color:var(--brand)}
.row-action-panel .inline-form .btn--danger{color:#9a2626}
.row-action-panel .inline-form .checkbox-line{padding:9px 10px;display:flex;gap:8px;align-items:center;white-space:normal;line-height:1.4}
.row-action-panel details{padding:2px 0 5px;border-bottom:1px solid #efebeb;margin-bottom:4px;white-space:normal}
.row-action-panel details summary{list-style:none;display:block;padding:10px 12px;font-size:13px;cursor:pointer;color:var(--ink);font-weight:500}
.row-action-panel details summary::marker,.row-action-panel details summary::-webkit-details-marker{display:none}
.row-action-panel details summary:hover{color:var(--brand);background:#f9f5f5}
.row-action-panel details .stack{padding:3px 12px 10px;gap:8px;max-height:155px;overflow-y:auto;min-width:0!important}
.row-action-panel .user-action-protected{padding:10px 12px;color:#68646a;font-size:12px}
.tournament-summary{gap:32px;margin:22px 0 38px;align-items:start}
.tournament-summary-section{padding:0;min-width:0}
.tournament-summary-section h2{font-size:17px;margin:0 0 14px;font-weight:600}
.tournament-facts{margin:0;display:grid;gap:0}
.tournament-facts>div{display:grid;grid-template-columns:minmax(110px,38%) minmax(0,1fr);align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #eae6e6}
.tournament-facts>div:first-child{border-top:1px solid #eae6e6}
.tournament-facts dt{font-size:13px;color:var(--muted)}
.tournament-facts dd{margin:0;font-size:13px;font-weight:500;min-width:0;overflow-wrap:anywhere}
.tournament-facts .badge{font-weight:600}
.compact-empty{border-top:1px solid var(--line);padding:25px 0 26px;margin-top:8px;text-align:left;background:transparent;min-height:0}
.compact-empty strong{display:block;font-size:15px;font-weight:600}
.compact-empty p{margin:5px 0 10px;font-size:13px;color:var(--muted);max-width:600px}
.watch-compact-empty{padding:25px 0 30px}
.watch-page .watch-metrics{border-radius:0;border-width:0 0 1px 0;background:transparent}
.watch-page .watch-metrics>div{border-right:0;padding:14px 10px 16px 0}
.watch-page .watch-metrics strong{font-size:23px}
.watch-page .watch-metrics>div:nth-child(n+2){padding-left:18px}
.share-tournament .share-layout{grid-template-columns:minmax(260px,350px) minmax(0,1fr);gap:36px}
.share-details{max-width:770px}
.share-details .field input[readonly]{background:#fafafa;font-size:13px}
.share-details .notice{font-size:13px;line-height:1.6}
.staff-history-row{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);min-width:0}
.staff-history-row>div{min-width:0}.staff-history-row strong{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}
.staff-history-row .subtle{font-size:12px;line-height:1.5;margin:5px 0}
.staff-history-row .inline-form button{font-size:12px;padding:8px 11px;min-height:35px}
.staff-history-status{margin-top:5px}
@media(max-width:850px){
 .admin-tournaments-wrap{border:none!important;background:transparent!important}
 .admin-tournaments-table{display:block;width:100%;min-width:0!important}
 .admin-tournaments-table tbody,.admin-tournaments-table tr{width:100%;min-width:0}
 .admin-tournaments-table thead{display:none}
 .admin-tournaments-table tbody{display:grid;gap:10px}
 .admin-tournaments-table tr{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;row-gap:5px;padding:18px 16px 14px;border:1px solid var(--line);background:white;border-radius:9px}
 .admin-tournaments-table td{border:0!important;padding:0!important;min-width:0;font-size:12px;white-space:normal;overflow-wrap:anywhere}
 .admin-tournaments-table td:nth-child(1){grid-column:1;grid-row:1;font-size:11px;color:var(--muted);width:auto;max-width:none;text-align:left!important}
 .admin-tournaments-table td:nth-child(1):before{content:'# ';}
 .admin-tournaments-table td:nth-child(2){grid-column:1;grid-row:2;font-size:15px}
 .admin-tournaments-table td:nth-child(3){grid-column:1;grid-row:3}
 .admin-tournaments-table td:nth-child(4),.admin-tournaments-table td:nth-child(5){grid-column:1;display:inline-block;color:var(--muted)}
 .admin-tournaments-table td:nth-child(4):before{content:'Visibility: ';font-weight:500}
 .admin-tournaments-table td:nth-child(5):before{content:'Format: ';font-weight:500}
 .admin-tournaments-table td:nth-child(6){grid-column:1}
 .admin-tournaments-table td:nth-child(6):after{content:' entries';color:var(--muted)}
 .admin-tournaments-table td:nth-child(7){grid-column:1}
 .admin-tournaments-table td:nth-child(8){grid-column:2;grid-row:1/4;align-self:start;width:auto!important}
 .admin-tournaments-table .row-action-anchor{justify-content:flex-end}
 .tournament-summary{grid-template-columns:1fr;gap:28px}
 .share-tournament .share-layout{grid-template-columns:1fr;gap:26px}
 .share-tournament .qr-poster{max-width:420px;width:100%;margin:0 auto}
}
@media(max-width:480px){
 .tournament-facts>div{grid-template-columns:minmax(100px,42%) minmax(0,1fr);gap:10px}
 .row-action-panel{min-width:220px}
 .watch-page .watch-metrics>div:nth-child(n+2){padding-left:8px}
 .watch-page .watch-metrics>div{padding-right:5px}
 .share-details .share-actions{display:flex;flex-wrap:wrap;gap:7px}
 .share-details .share-actions .btn{flex:1;min-width:125px}
}

/* Responsive registration rows: never crop the approval menu offscreen. */
@media(max-width:900px){
 .manage-entries-wrap{border:0!important;overflow:visible!important;background:transparent!important}
 .manage-entries-table{display:block;min-width:0!important;width:100%}
 .manage-entries-table thead{display:none}
 .manage-entries-table tbody{display:grid;gap:12px}
 .manage-entries-table tbody tr{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:8px;padding:17px;border:1px solid var(--line);border-radius:9px;background:#fff;width:100%;min-width:0}
 .manage-entries-table td{display:block;border:0!important;padding:0!important;min-width:0;overflow-wrap:anywhere;white-space:normal}
 .manage-entries-table td:nth-child(1){grid-column:1;grid-row:1;font-size:11px;width:auto;max-width:none;color:var(--muted);text-align:left!important}
 .manage-entries-table td:nth-child(1)::before{content:'# '}
 .manage-entries-table td:nth-child(2){grid-column:1;grid-row:2;color:var(--muted);font-size:12px}
 .manage-entries-table td:nth-child(2)::before{content:'Queue: '}
 .manage-entries-table td:nth-child(3){grid-column:1;grid-row:3;font-size:14px}
 .manage-entries-table td:nth-child(4){grid-column:1;grid-row:4}
 .manage-entries-table:not(.manage-entries-table--solo) td:nth-child(5){grid-column:1;grid-row:5}
 .manage-entries-table:not(.manage-entries-table--solo) td:nth-child(6){grid-column:1;grid-row:6;font-size:12px;color:var(--muted)}
 .manage-entries-table:not(.manage-entries-table--solo) td:nth-child(6)::before{content:'Submitted: '}
 .manage-entries-table--solo td:nth-child(5){grid-column:1;grid-row:5;font-size:12px;color:var(--muted)}
 .manage-entries-table--solo td:nth-child(5)::before{content:'Submitted: '}
 .manage-entries-table:not(.manage-entries-table--solo) td:nth-child(7),
 .manage-entries-table--solo td:nth-child(6){grid-column:2;grid-row:1/3;align-self:start;width:46px!important;text-align:right!important}
 .manage-entries-table .row-action-anchor{justify-content:flex-end}
}

/* WISSAM V19: tournament listing, registration status and public watch clarity */
.admin-tournaments-table th:nth-child(4),
.admin-tournaments-table td:nth-child(4){white-space:nowrap}
.admin-tournaments-table th:nth-child(5),
.admin-tournaments-table td:nth-child(5){min-width:145px}
.detail-top .meta-line{align-items:center;column-gap:14px;row-gap:9px}
.detail-participation{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}
.detail-participation .badge{font-size:11px}
.detail-action{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;max-width:none}
.detail-action>.btn{max-width:100%}
.watch-page .watch-heading{align-items:center;gap:22px}
.watch-page .watch-refresh-line{flex-wrap:wrap;margin:19px 0 23px;gap:8px}
.watch-refresh-indicator{width:7px;height:7px;border-radius:50%;background:#aaa;flex:none}
.watch-awaiting-schedule{border-top:1px solid var(--line);padding:28px 0 34px;max-width:680px}
.watch-awaiting-schedule h2{font-size:19px;font-weight:600;margin:0 0 7px}
.watch-awaiting-schedule p{font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 14px}
.watch-awaiting-schedule__hint{font-size:12px;color:#817777}
.watch-page .watch-metrics{margin:0 0 22px}
@media(max-width:720px){
 .detail-top{flex-direction:column;align-items:stretch;gap:15px}
 .detail-action{justify-content:flex-start;width:100%}
 .detail-action>.btn{min-width:0;white-space:normal}
 .watch-page .watch-heading{align-items:flex-start}
 .watch-heading__links{gap:8px;width:100%}
 .watch-heading__links .btn{flex:1;min-width:0;white-space:normal;text-align:center}
 .watch-awaiting-schedule{padding:22px 0 26px}
}
@media(max-width:390px){
 .detail-action>.btn{width:100%}
 .watch-heading__links .btn{padding:9px 8px;font-size:12px}
}

/* V21: consistent responsive layout for real mobile browser viewports. */
html,body{max-width:100%;min-width:0}
body{overflow-x:clip}
img,video,svg{max-width:100%}
main,.page-container,.app-shell,.grid>*,.two-col>*,.form-grid>*,.settings-workspace>*,.register-layout>*{min-width:0}
.page-container{padding-inline:clamp(16px,3.1vw,36px)}
.mobile-menu{display:none;position:relative;z-index:550}
.mobile-menu__trigger{display:flex;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;cursor:pointer;list-style:none;background:#fff;color:var(--ink)}
.mobile-menu__trigger::-webkit-details-marker{display:none}
.mobile-menu__panel{display:grid;position:absolute;right:0;top:calc(100% + 10px);width:min(290px,calc(100vw - 32px));padding:9px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px rgba(20,15,15,.14);z-index:550}
.mobile-menu__panel .nav-link{display:flex;align-items:center;min-height:46px;padding:12px 14px;border-radius:8px;font-size:14px;color:var(--ink)}
.mobile-menu__panel .nav-link.active{color:var(--brand);background:var(--brand-light)}
.auth-providers{display:grid;gap:10px}
.auth-providers .btn{width:100%;min-height:48px;font-size:14px;white-space:normal}
.apple-button{background:#111;color:#fff;border-color:#111;display:inline-flex;gap:12px}
.apple-button:hover{background:#292929;color:#fff}
.apple-button svg{flex:none}
.auth-form input:not([type=checkbox]),.auth-form select,.auth-form button[type=submit]{font-size:16px}
.auth-form .field input,.auth-form .phone-input,.auth-form .password-input-wrap input{min-height:48px}
.auth-form .password-eye-button{height:44px;width:48px}
:where(button,.btn,summary,.nav-link,.tab){touch-action:manipulation}
.table-scroll{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
@media(max-width:900px){
 .topbar-inner{gap:12px}
 .desktop-nav{display:none!important}
 .mobile-nav{display:none!important}
 .mobile-menu{display:block}
 .top-actions{margin-left:auto}
 .topbar{height:68px}
 .topbar-inner{padding-inline:clamp(13px,3.5vw,24px)}
 .page-container{padding-top:clamp(22px,4vw,34px);padding-bottom:52px}
 .admin-nav,.tabs{max-width:100%;overscroll-behavior-x:contain;scrollbar-width:thin;white-space:nowrap;-webkit-overflow-scrolling:touch}
 .admin-nav{padding-inline:14px}
 .grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tournament-card{min-width:0}
 .section-heading,.page-head{gap:15px}
}
@media(max-width:700px){
 .grid,.grid--2,.grid--4{grid-template-columns:minmax(0,1fr)}
 .topbar .brand-logo{width:clamp(112px,31vw,148px)}
 .topbar .top-actions{gap:4px}
 .topbar .icon-button{min-width:44px;min-height:44px}
 .page-container{padding-inline:16px}
 .footer{align-items:flex-start}
 .page-head .head-action{width:100%;min-width:0}
 .page-head .head-action>.btn{width:100%}
 .auth-form{max-width:100%}
 .auth-wrap{width:100%;max-width:460px!important;padding-bottom:18px}
 .auth-form h2{font-size:clamp(25px,6vw,31px)}
 .auth-form .form-stack{gap:15px}
 .auth-form .foot-link{text-align:center}
 .auth-submit{width:100%;min-height:49px}
 .filters{align-items:stretch}
 .filters input{min-width:0;flex-basis:100%}
 .filters select{flex:1;min-width:0}
 .field input,.field textarea,.field select{max-width:100%}
 .top-actions .btn--small{min-height:43px;padding-inline:12px}
 .match-row{min-width:0}
 .match-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .match-actions>.btn{min-width:0;white-space:normal}
 .hero h1{overflow-wrap:normal}
}
@media(max-width:390px){
 .mobile-menu__trigger{width:42px;height:44px}
 .topbar .top-actions .btn--small{min-height:40px;padding:7px 10px}
 .topbar .brand-logo{width:clamp(106px,30vw,126px)}
 .top-actions .icon-button{width:41px!important;height:44px!important}
 .auth-form .field input,.auth-form .password-input-wrap input{min-width:0}
 .footer div{flex-wrap:wrap;gap:12px}
 .page-container{padding-inline:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.mobile-menu{display:none!important}}
.mobile-menu:not([open]) .mobile-menu__panel{display:none!important}

/* V22: paid tournament registration and spectator entry — shared responsive UI */
.payment-shell{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:32px;align-items:start;max-width:1100px}
.payment-main,.payment-aside,.booking-status{min-width:0}
.payment-main .form-stack{max-width:590px}
.payment-aside{border-left:1px solid var(--line,#e9e5e5);padding:0 0 0 28px}
.payment-aside h2,.booking-status h2{font-size:1.12rem;margin:0 0 16px}
.payment-aside p{color:var(--muted,#777);margin:12px 0}
.booking-status{max-width:700px;padding:8px 0 32px}
.booking-status code{overflow-wrap:anywhere;word-break:break-word;font:inherit;font-weight:600}
.booking-status .form-stack{max-width:550px;margin-top:24px}
.ticket-qr{max-width:272px;padding:14px;border:1px solid #e8dfdf;border-radius:12px;background:#fff;margin:22px 0}
.ticket-qr svg{display:block;width:100%;height:auto}
[data-proof-form] input[type=file]{height:auto;min-height:52px;padding:10px;width:100%;font:inherit}
[data-proof-form] .form-stack{gap:16px}
.payment-reviews td{vertical-align:middle}
@media(max-width:767px){.payment-shell{grid-template-columns:1fr;gap:24px}.payment-aside{border-left:0;border-top:1px solid #e9e5e5;padding:20px 0 0}.booking-status{width:100%}.booking-status .btn{max-width:100%}.ticket-qr{max-width:250px}}

/* Audience registration stays cardless and responsive: account creation is optional. */
.audience-account-choice { padding: 18px 0; margin-bottom: 16px; border-bottom: 1px solid #ece9e7; }
.audience-account-choice > p { max-width: 55ch; color: #625d5d; margin: 6px 0 14px; line-height: 1.5; }
.audience-account-choice .share-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
@media(max-width: 550px){ .audience-account-choice .share-actions {flex-direction: column; align-items: stretch;} .audience-account-choice .share-actions .btn {width:100%; justify-content:center;} }

/* V24 — Players' separate QR admission and responsive attendance overview. */
.player-pass-page{max-width:640px;margin:32px auto 64px;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}
.player-pass-page .player-pass-info{width:100%}
.player-pass-page .player-pass-info h2{font-size:clamp(1.35rem,3vw,2rem);margin:.5rem 0}
.player-pass-page .ticket-qr{width:min(100%,300px);padding:16px;border:1px solid #e8e0dc;border-radius:14px;background:#fff}
.player-pass-page .ticket-qr svg{width:100%;height:auto;display:block}
.player-pass-page .field{width:100%;text-align:left}
.player-pass-page .field input{min-width:0;width:100%;font-size:13px}
.admission-person{display:block;line-height:1.65}
@media(max-width:600px){.player-pass-page{margin:16px auto 36px;gap:14px;padding:0 6px}.player-pass-page .ticket-qr{width:min(100%,260px)}.player-pass-page .btn{max-width:100%;min-height:44px}.admission-person{white-space:normal}}

/* V25 — supplied bilingual Wissam mark; cropped without changing its lettering. */
.topbar .brand-logo{display:block;width:auto;height:60px;max-height:60px;max-width:116px;object-fit:contain;object-position:left center}
.topbar .brand--artwork{flex:0 0 auto;min-width:0}
.qr-poster__logo{display:block;width:144px;height:auto;max-height:100px;object-fit:contain;margin:0 auto 2px}
@media(max-width:700px){.topbar .brand-logo{width:auto;height:48px;max-height:48px;max-width:90px}}
@media(max-width:380px){.topbar .brand-logo{height:44px;max-height:44px;max-width:84px}}
@media print{.qr-poster__logo{width:160px;max-height:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* WISSAM: legal pages, format guidance and simplified IBAN flow */
.legal-page{max-width:840px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:clamp(22px,4vw,42px)}
.legal-intro{font-size:15px;color:#3e3d3d;line-height:1.8;padding-bottom:22px;margin-bottom:0;border-bottom:1px solid var(--line)}
.legal-section{padding:22px 0;border-bottom:1px solid #f1eded}.legal-section:last-child{border-bottom:0;padding-bottom:0}
.legal-section h2{font-size:16px;font-weight:600;margin-bottom:8px;letter-spacing:0}.legal-section p{margin:0;font-size:14px;line-height:1.85;color:#55565a}
.format-explainer{border:1px solid #e8dddd;border-radius:10px;background:#fff;max-width:100%;margin:8px 0 15px;overflow:hidden}
.format-explainer summary{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:600;color:var(--brand);padding:13px 15px;cursor:pointer;list-style:none}
.format-explainer summary::-webkit-details-marker{display:none}.format-explainer summary:after{content:'+';margin-left:auto;font-size:19px;font-weight:400;color:#827979}
.format-explainer[open] summary:after{content:'−'}
.format-explainer__icon{display:grid;place-items:center;flex:none;width:23px;height:23px;border:1px solid #b38b8b;border-radius:50%;font-weight:700;color:var(--brand);font-size:13px}
.format-explainer__body{padding:0 19px 13px}.format-explainer__body section{padding:11px 0;border-top:1px solid #f2eded}
.format-explainer__body strong{font-size:13px}.format-explainer__body p{font-size:12px;line-height:1.65;color:var(--muted);margin:4px 0 0}
.bank-instructions{padding:18px 20px;margin:18px 0;background:#fff;border:1px solid #e6dddd;border-radius:10px}
.bank-instructions__top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:15px;margin-bottom:15px}
.bank-instructions__top span{color:var(--brand);font-weight:600}.bank-instructions__beneficiary{color:#686365;font-size:12px;margin-bottom:12px}
.bank-instructions__iban{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#faf8f8;border:1px solid #eee7e7;padding:14px;border-radius:8px}
.bank-instructions__iban div{min-width:0}.bank-instructions__iban span{display:block;color:var(--muted);font-size:10px;letter-spacing:.8px}.bank-instructions__iban code{font-size:clamp(12px,1.7vw,17px);font-weight:600;color:#2d292a;overflow-wrap:anywhere;letter-spacing:.4px}
.bank-instructions .subtle{margin:12px 0 0;line-height:1.65}
@media(max-width:600px){.bank-instructions__iban{flex-wrap:wrap}.bank-instructions__iban button{width:100%}.legal-page{padding:22px 18px}}

.format-field{min-width:0}.format-field .format-explainer{margin:9px 0 0}


/* V29 — Mobile admin: replace clipped horizontal tabs with a native, accessible
   section switcher, and size dashboard actions within the viewport. */
.admin-mobile-switcher{display:none}
@media(max-width:900px){
 .admin-nav{display:none!important}
 .admin-mobile-switcher{display:block;position:relative;z-index:400;width:100%;background:#fff;border-bottom:1px solid var(--line)}
 .admin-mobile-switcher>summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:48px;padding:9px 16px;color:var(--ink);cursor:pointer;touch-action:manipulation}
 .admin-mobile-switcher>summary::-webkit-details-marker{display:none}
 .admin-mobile-switcher__label{font-size:12px;color:var(--muted);font-weight:500}
 .admin-mobile-switcher>summary strong{font-size:13px;font-weight:600;color:var(--brand)}
 .admin-mobile-switcher>summary svg{margin-inline-start:auto;transition:transform .15s}
 .admin-mobile-switcher[open]>summary svg{transform:rotate(180deg)}
 .admin-mobile-switcher>nav{display:grid;gap:3px;position:absolute;top:calc(100% + 3px);left:12px;right:12px;padding:9px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 12px 25px #2114141c;max-height:calc(100dvh - 140px);overflow-y:auto}
 .admin-mobile-switcher:not([open])>nav{display:none}
 .admin-mobile-switcher>nav .nav-link{display:block;padding:11px 12px;min-height:42px;font-size:13px}
}
@media(max-width:700px){
 .admin-overview .page-head{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:13px;margin-bottom:21px}
 .admin-overview .page-head>div:first-child{min-width:0}
 .admin-overview .page-head .head-action{width:100%;min-width:0;margin:0}
 .admin-overview .page-head .head-action>.btn{display:flex;width:100%;min-width:0;white-space:normal}
 .overview-metrics{width:100%;min-width:0}
 .overview-metric{min-width:0;padding-inline:10px}
 .overview-metric span{overflow-wrap:anywhere}
 /* Keep search on a single row and make user cards genuinely compact. */
 .users-page .admin-user-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
 .users-page .admin-user-search-field{grid-column:1;min-width:0;width:100%;flex-basis:auto;min-height:44px;height:44px}
 .users-page .admin-user-search .btn{flex:none;min-width:0;width:auto;min-height:44px;padding:8px 14px;font-size:12px}
 .users-page .admin-user-search .btn--soft{grid-column:2;grid-row:2;min-height:35px;justify-self:end}
 .users-page .admin-user-count{margin-bottom:11px}
 .users-page .admin-users-table tbody{gap:9px}
 .users-page .admin-users-table tr{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:5px 10px;align-items:start;padding:13px 14px 16px;min-height:0}
 .users-page .admin-users-table td{min-width:0!important;max-width:100%;margin:0;line-height:1.45}
 .users-page .admin-users-table td.table-row-number:first-child{position:absolute;top:auto;bottom:14px;right:15px;width:auto!important;font-size:10px;line-height:1.3;color:#9b969a}
 .users-page .admin-users-table td:nth-child(2){grid-column:1;grid-row:1;padding:0!important;margin:0;min-width:0;align-self:center}
 .users-page .admin-users-table td:nth-child(3){grid-column:1/-1;grid-row:2;padding:0!important;margin:0;font-size:12px}
 .users-page .admin-users-table td:nth-child(4){grid-column:1/-1;grid-row:3;padding:0!important;margin:1px 0 0;font-size:11px;color:var(--muted)!important}
 .users-page .admin-users-table td:nth-child(5){grid-column:1;grid-row:4;padding:0!important;margin:5px 0 0;border:0!important;justify-self:start}
 .users-page .admin-users-table td:nth-child(6){grid-column:2;grid-row:1;margin:0;justify-self:end;align-self:start;padding:0!important;border:0!important}
 .users-page .admin-user-link{display:flex;align-items:center;gap:10px;min-width:0}
 .users-page .admin-user-names strong{font-size:13px}
 .users-page .admin-user-names small{font-size:11px}
 .users-page .admin-users-action .user-action-trigger{width:40px;height:40px;min-height:40px}
 .users-page .admin-avatar{width:40px;height:40px}
}
@media(max-width:360px){
 .admin-overview .page-head h1{font-size:25px}
 .overview-metric{padding-inline:6px}
 .overview-metric span{font-size:10px}
 .users-page .admin-users-table tr{padding-inline:11px}
 .users-page .admin-user-search .btn{padding-inline:11px}
}
@media print{.admin-mobile-switcher{display:none!important}}

/* V31 — personal entrance QR cards and image receipt preview */
.home-tickets-section{margin-block:30px}
.home-tickets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:16px}
.home-ticket{min-width:0;background:#fff;border:1px solid var(--line,#e5e2e1);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px}
.home-ticket h3{font-size:1.1rem;margin:0;overflow-wrap:anywhere}
.home-ticket p{margin:0;line-height:1.5}
.home-ticket__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.home-ticket__heading strong{font-size:.85rem;color:#681919}
.home-ticket__qr{width:min(100%,194px);margin:4px auto;aspect-ratio:1}
.home-ticket__qr svg{display:block;width:100%;height:100%}
.home-ticket .btn{align-self:flex-start;margin-top:auto}
.receipt-preview{display:flex;gap:14px;align-items:center;padding:12px;border-radius:12px;background:#faf8f7;border:1px solid #e8dfdf;max-width:100%;min-width:0}
.receipt-preview[hidden]{display:none}
.receipt-preview img{height:100px;width:100px;object-fit:contain;border-radius:8px;background:#fff;border:1px solid #eee}
.receipt-preview span{overflow-wrap:anywhere;font-size:.86rem;color:#69636a}
@media(max-width:600px){.home-tickets-grid{grid-template-columns:1fr}.home-ticket{padding:16px}.home-ticket__qr{width:175px}}

/* V32: One Home for current participation, admission QR and historical events. */
.home-dashboard{max-width:1060px;margin:0 auto;display:grid;gap:38px}
.home-dashboard__intro{padding:9px 0 5px}
.home-dashboard__intro h1{font-size:clamp(31px,4vw,42px);line-height:1.15;margin:0 0 7px}
.home-dashboard__intro p,.home-dashboard__empty-history{color:var(--muted);margin:0;font-size:14px}
.home-dashboard__section{min-width:0}
.home-dashboard__heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 15px}
.home-dashboard__heading h2{font-size:20px;line-height:1.35;margin:0}
.home-events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px}
.home-event{min-width:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:12px}
.home-event__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.home-event__roles,.home-event__statuses,.home-event__history{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.home-event__role{font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--brand);background:#f8eeee;padding:5px 9px;border-radius:99px}
.home-event__status{font-size:11px;color:var(--muted)}
.home-event h3{font-size:18px;line-height:1.35;margin:0;overflow-wrap:anywhere}
.home-event h3 a{color:var(--ink);text-decoration:none}
.home-event__meta{font-size:13px;line-height:1.55;color:var(--muted);margin:0}
.home-event__history{font-size:12px;color:var(--muted)}
.home-event__history strong{color:var(--brand)}
.home-event__pass{border:1px solid #e9dddd;border-radius:10px;background:#fffcfc;padding:12px}
.home-event__pass summary{list-style:none;cursor:pointer;color:var(--brand);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.home-event__pass summary::-webkit-details-marker{display:none}
.home-event__pass summary:after{content:'+';font-size:18px}
.home-event__pass[open] summary:after{content:'−'}
.home-event__pass .home-ticket__qr{width:190px;max-width:100%;margin:15px auto}
.home-event__pass p{font-size:12px;color:var(--muted);text-align:center;margin:0}
.home-event__actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:auto;font-size:13px}
.home-event__actions a{color:var(--brand);font-weight:600}
.home-event__main-link{white-space:nowrap}
.home-event__more{position:relative}
.home-event__more>summary{cursor:pointer;color:var(--muted);font-weight:600}
.home-event__more-content{position:absolute;right:0;top:calc(100% + 5px);z-index:10;width:min(260px,calc(100vw - 56px));max-width:90vw;padding:12px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 15px 30px #2b14141b;display:grid;gap:9px}
.home-event__more-content>*{width:100%;white-space:normal}
.home-event__more-content .btn{width:100%}
@media(max-width:700px){.home-dashboard{gap:31px}.home-dashboard__heading h2{font-size:19px}.home-events-grid{grid-template-columns:minmax(0,1fr)}.home-event{padding:16px}.home-event__head{gap:7px}}

/* V33: account validation stays next to the field; entered values never reset. */
.auth-validation-summary{margin:0;padding:11px 13px;border:1px solid #e1baba;border-radius:8px;background:#fff8f8;color:#883333;font-size:13px;line-height:1.5}
.auth-form .auth-field-error{display:block;color:#9a2929;font-size:12px;font-weight:500;line-height:1.45;margin-top:3px}
.auth-form [aria-invalid="true"]:not([type="checkbox"]){border-color:#a73535!important;box-shadow:0 0 0 2px rgba(167,53,53,.09)}
.auth-form input[type="checkbox"][aria-invalid="true"]{outline:2px solid #a73535;outline-offset:3px}
.auth-form .auth-submit[aria-busy="true"]{opacity:.7}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* V33: admin overview displays only counters that require action. */
.admin-overview .overview-metrics{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}

/* V34: organizer draft draw editor */
.draw-adjustments{margin-block:20px;max-width:100%;}
.draw-adjustments .section-heading{margin-bottom:8px;}
.draw-edit-form{padding:14px 0;display:flex;flex-direction:column;gap:12px;}
.draw-edit-form + .draw-edit-form{border-top:1px solid var(--border, #e3e3e3);}
.draw-edit-form .field{min-width:0;margin:0;}
.draw-edit-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.draw-edit-form .btn{align-self:flex-start;}
.draw-edit-note{margin-top:12px;}
.draw-matchup-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.draw-matchup{min-width:0;margin:0;padding:10px 16px 16px;border:1px solid #e4dada;border-radius:12px;background:#fcfafa;}
.draw-matchup legend{padding:0 8px;color:var(--ink);font-size:15px;font-weight:700;}
.draw-matchup__meta{margin:0 0 13px;color:var(--muted);font-size:11px;line-height:1.45;}
.draw-matchup .draw-edit-inputs{margin-top:0;}
.draw-group-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.draw-group{min-width:0;margin:0;overflow:hidden;border:1px solid #e4dada;border-radius:12px;background:#fff;}
.draw-group__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #eee5e1;background:#fbf6f4;}
.draw-group__header h3{margin:0;color:var(--brand);font-size:15px;}
.draw-group__header span{padding:3px 7px;border-radius:999px;background:#fff;color:var(--muted);font-size:10px;font-weight:600;}
.draw-group__teams{display:grid;gap:11px;padding:14px;}
.draw-group__teams .field{gap:5px;}
.draw-group__teams .field>span{font-size:11px;color:var(--muted);}
.draw-groups-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:2px;}
.draw-groups-actions p{margin:0;color:var(--muted);font-size:11px;}
.knockout-stage{margin-bottom:18px;}
.knockout-stage .empty{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;column-gap:16px;min-height:0;padding:24px 26px;text-align:start;}
.knockout-stage .empty-mark{grid-row:1 / span 2;width:48px;height:48px;margin:0;border-radius:12px;font-size:22px;}
.knockout-stage .empty h3{align-self:end;margin:0 0 2px;font-size:17px;}
.knockout-stage .empty p{align-self:start;max-width:none;margin:0;font-size:12px;line-height:1.5;}
.knockout-preview{padding:18px 18px 0;border:1px solid #e5dada;border-radius:12px;background:#fff;}
.knockout-preview__note{display:flex;align-items:baseline;gap:10px 16px;flex-wrap:wrap;padding:0 2px 14px;border-bottom:1px solid #f0e7e4;}
.knockout-preview__note strong{font-size:14px;}
.knockout-preview__note span{color:var(--muted);font-size:11px;}
.bracket--preview{padding-top:17px;}
.bracket-box--preview{min-height:88px;border-style:dashed;background:#fcfafa;}
.bracket-box--preview p{color:#5f6065;}
.bracket-box--preview p::before{content:'◇';margin-inline-end:7px;color:#b08a8a;font-size:9px;}
@media(max-width:600px){.draw-edit-inputs{grid-template-columns:1fr}.draw-edit-form .btn{width:100%;}}
@media(max-width:800px){.draw-matchup-list{grid-template-columns:1fr;}}
@media(max-width:600px){.draw-group-list{grid-template-columns:1fr}.draw-groups-actions{align-items:stretch;flex-direction:column}.draw-groups-actions p{text-align:center}.draw-group__teams{padding:12px}.draw-group__header{padding:11px 12px}.knockout-stage .empty{padding:18px}.knockout-stage .empty-mark{width:44px;height:44px}.knockout-preview{padding:14px 14px 0}.knockout-preview__note{display:grid;gap:2px}.bracket--preview{padding-top:14px}}

.profile-completion{width:100%;max-width:620px;margin:0 auto;padding:12px 0 28px;}
.profile-completion__card{padding:32px;border:1px solid #e7dcd8;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(74,25,25,.06);}
.profile-completion__intro{text-align:center;}
.profile-completion__icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 16px;border-radius:17px;background:var(--brand-light);color:var(--brand);}
.profile-completion__icon svg{width:29px;height:29px;}
.profile-completion__intro .eyebrow{display:block;margin-bottom:7px;}
.profile-completion__intro h1{margin:0 0 8px;font-size:30px;}
.profile-completion__intro p{max-width:440px;margin:0 auto;color:var(--muted);font-size:13px;line-height:1.55;}
.profile-completion__form{margin-top:26px;}
.profile-completion__form .phone-input{display:grid;grid-template-columns:112px minmax(0,1fr);}
.profile-completion__form>.btn{width:100%;min-height:48px;}
.profile-completion__terms{align-items:flex-start;padding:13px 14px;border-radius:10px;background:#faf7f6;font-size:12px;line-height:1.55;}
.profile-completion__terms input{flex:none;margin-top:3px;}
.profile-completion__terms a{color:var(--brand);font-weight:600;}
.profile-completion__note{margin:14px 0 0;color:var(--muted);font-size:11px;text-align:center;}
@media(max-width:600px){.profile-completion{padding:0}.profile-completion__card{padding:24px 18px;border-radius:14px}.profile-completion__intro h1{font-size:27px}.profile-completion__icon{width:52px;height:52px;margin-bottom:13px}.profile-completion__form{margin-top:22px}.profile-completion__form .phone-input{grid-template-columns:98px minmax(0,1fr)}}


/* V38 — compact spectator booking / receipt flow (mobile-first).
   Scoped styles intentionally do not alter tournament or admin forms. */
.spectator-booking-page{width:100%;max-width:600px;margin:0 auto;min-width:0}
.spectator-booking-page .page-head{margin-bottom:16px}
.spectator-booking-page .page-head h1{font-size:clamp(25px,5vw,32px);letter-spacing:-.6px;line-height:1.2}
.spectator-booking-page .page-head p{font-size:14px;overflow-wrap:anywhere}
.booking-status--ticket{max-width:none;padding:0 0 26px}
.booking-overview{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0 16px;border-bottom:1px solid var(--line);margin-bottom:17px}
.booking-overview__reference{font-size:12px;font-weight:600;color:var(--muted)}
.booking-overview__name{font-size:15px;font-weight:600;color:var(--ink);margin:3px 0 0;line-height:1.4;overflow-wrap:anywhere}
.booking-overview__status{display:inline-flex;align-items:center;flex:none;padding:6px 10px;border-radius:20px;font-size:11px;line-height:1.3;font-weight:600;color:#865b19;background:#fff2db;white-space:nowrap}
.booking-overview__status--approved{color:#236647;background:#e9f5ed}
.spectator-booking-page .bank-instructions{margin:0 0 20px;padding:17px;background:white;border:1px solid #e6e0e0;border-radius:12px}
.spectator-booking-page .bank-instructions__top{font-size:15px;align-items:baseline;margin-bottom:12px}
.spectator-booking-page .bank-instructions__top span{font-size:18px;letter-spacing:-.2px}
.spectator-booking-page .bank-instructions__iban{background:#faf8f8;padding:11px 12px;border-radius:9px;gap:10px;flex-wrap:nowrap}
.spectator-booking-page .bank-instructions__iban-value{min-width:0;flex:1}
.spectator-booking-page .bank-instructions__iban code{display:block;font-size:clamp(12px,3.2vw,15px);line-height:1.6;font-weight:600;letter-spacing:.15px;word-break:break-all;overflow-wrap:anywhere}
.spectator-booking-page .bank-instructions__iban button{width:auto;flex:none;min-width:78px;min-height:40px;padding:8px 10px;white-space:nowrap}
.spectator-booking-page .bank-instructions__beneficiary{font-size:12px;margin:0 0 10px}
.spectator-booking-page .bank-instructions .subtle{font-size:12px;line-height:1.5;margin:11px 0 0}
.spectator-booking-page [data-proof-form] .form-stack{max-width:none;margin:0;gap:13px}
.receipt-field{min-width:0;display:flex;flex-direction:column;gap:10px}
.receipt-field__head{display:flex;align-items:baseline;flex-wrap:wrap;justify-content:space-between;gap:4px 10px}
.receipt-field__head strong{font-size:14px}
.receipt-field__head>span{font-size:11px;color:var(--muted)}
.receipt-upload{position:relative;min-height:80px;padding:13px 14px;background:#fff;border:1px dashed #cbbaba;border-radius:11px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:background-color .15s,border-color .15s;min-width:0}
.receipt-upload:hover,.receipt-upload:focus-within{border-color:var(--brand);background:#fffafa}
.receipt-upload:focus-within{outline:2px solid var(--brand);outline-offset:2px}
.receipt-upload__file{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;inset:auto;pointer-events:none}
.receipt-upload__icon{width:43px;height:43px;flex:none;border-radius:10px;background:#f7efef;color:var(--brand);display:grid;place-items:center}
.receipt-upload__text{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}
.receipt-upload__text strong{font-size:13px;line-height:1.4;font-weight:600}
.receipt-upload__text small{font-size:11px;line-height:1.3;color:var(--muted);overflow-wrap:anywhere;word-break:break-word}
.receipt-upload__browse{font-size:12px;font-weight:600;color:var(--brand);border:1px solid #e5cece;padding:7px 10px;border-radius:7px;flex:none}
.receipt-field__feedback{font-size:12px;line-height:1.5;color:var(--muted);margin:0}
[data-proof-form] .receipt-upload__file{padding:0;min-height:0}
[data-proof-form] .receipt-preview{padding:10px;gap:12px;border:1px solid #e7dede;border-radius:9px;margin:0}
[data-proof-form] .receipt-preview img{width:76px;height:76px}
.receipt-submit{width:100%;min-height:48px;white-space:normal}
/* V38.1 — Home navigation matches the receipt submit button, in white. */
.booking-home-link{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:48px;margin-top:12px;padding:10px 16px;background:#fff;border:1px solid var(--brand);border-radius:8px;color:var(--brand);font-size:13px;line-height:1.45;font-weight:600;text-align:center;text-decoration:none;white-space:normal;transition:background-color .15s,border-color .15s}
.booking-home-link:hover{background:var(--brand-light);border-color:var(--brand);color:var(--brand);text-decoration:none}
.booking-home-link:active{background:#f4e8e8}
@media(max-width:600px){
 .spectator-booking-page{padding-top:0}
 .spectator-booking-page .page-head{margin-bottom:12px}
 .spectator-booking-page .page-head h1{font-size:26px}
 .booking-status--ticket{padding-bottom:16px}
 .booking-overview{padding-top:8px;margin-bottom:15px}
 .spectator-booking-page .bank-instructions{padding:14px;margin-bottom:20px}
 .spectator-booking-page .bank-instructions__iban{flex-wrap:nowrap}
 .spectator-booking-page .bank-instructions__iban button{width:auto}
 .receipt-upload{min-height:76px;padding:12px}
 .receipt-upload__browse{padding:6px 8px}
}

/* V70 — completion, account security and focused referee workflow */
.final-placements{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:24px;align-items:center;margin:0 0 24px;padding:24px;border:1px solid #eadfda;border-radius:16px;background:linear-gradient(135deg,#fff 0%,#fbf4ef 100%)}
.final-placements__heading h2{margin:5px 0 6px;font-size:23px}.final-placements__heading p{margin:0;color:var(--muted)}
.final-placements__podium{display:grid;gap:8px;margin:0;padding:0;list-style:none}.final-placement{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fff}
.final-placement--1{border-color:#caa75c;background:#fffaf0}.final-placement__rank{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#f2e8e4;color:var(--brand);font-size:18px;font-weight:700}.final-placement--1 .final-placement__rank{background:#6b1515;color:#fff}
.final-placement>div{display:grid;gap:2px;min-width:0}.final-placement small{color:var(--brand);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.final-placement strong{font-size:15px;overflow-wrap:anywhere}.final-placement>div>span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.referee-match-card--focused{max-width:880px;margin-inline:auto;padding:24px}.referee-match-card--focused .referee-match-teams strong{font-size:17px}.referee-match-card--focused .referee-live-score{margin-top:20px}
.referee-match-navigation{max-width:880px;margin:0 auto 15px;display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,.8fr) minmax(150px,1fr);align-items:stretch;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.referee-match-navigation a{min-width:0;min-height:58px;padding:10px 14px;display:flex;align-items:center;justify-content:center;gap:8px}.referee-match-navigation a+a{border-inline-start:1px solid var(--line)}.referee-match-navigation__step{font-size:12px;font-weight:650;color:var(--brand)}.referee-match-navigation__step--next{text-align:end}.referee-match-navigation__step.is-disabled{color:#b8b0b0;background:#fafafa;pointer-events:none}.referee-match-navigation__all{flex-direction:column;gap:1px;text-align:center;background:#fcf8f7}.referee-match-navigation__all strong{font-size:13px}.referee-match-navigation__all span{font-size:10px;color:var(--muted)}
@media(max-width:700px){.final-placements{grid-template-columns:1fr;padding:18px;gap:16px}.referee-match-card--focused{padding:16px}.referee-match-navigation{grid-template-columns:1fr 1.2fr 1fr}.referee-match-navigation a{min-height:55px;padding:8px}.referee-match-navigation__step span:not([aria-hidden]){display:none}.referee-match-navigation__step span[aria-hidden]{font-size:20px}.referee-match-navigation__all strong{font-size:12px}.final-placement{grid-template-columns:42px minmax(0,1fr);padding:11px}.final-placement__rank{width:36px;height:36px}}

/* Tournament directory: active events and completed archive */
.explore-heading{margin:0 0 20px}.explore-heading h1{margin:0 0 5px;font-size:clamp(1.8rem,4vw,2.4rem)}.explore-heading p{margin:0;color:var(--muted)}
.search-discovery-ar{max-width:760px;margin-top:7px!important;text-align:left;direction:rtl}.tournament-search-ar{margin:5px 0 10px;color:var(--muted);font-size:13px;text-align:left;direction:rtl}
.tournament-directory-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-width:520px;margin:0 0 28px;padding:4px;border:1px solid var(--line);border-radius:14px;background:#f5f1ef}
.tournament-directory-tabs a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:9px 13px;border-radius:10px;color:var(--muted);font-size:13px;font-weight:600;text-decoration:none}
.tournament-directory-tabs a:hover{background:#fff;color:var(--brand)}.tournament-directory-tabs a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.tournament-directory-tabs a.active{background:#fff;color:var(--ink);box-shadow:0 1px 5px rgba(38,20,20,.08)}.tournament-directory-tabs strong{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:999px;background:#eee7e5;color:var(--brand);font-size:11px}.tournament-directory-tabs a.active strong{background:var(--brand);color:#fff}
.tournament-directory{display:grid;gap:16px}.tournament-directory__heading h2{margin:0;font-size:21px}.tournament-directory__search{display:grid;grid-template-columns:minmax(260px,1fr) minmax(150px,190px) auto;gap:8px;max-width:920px;margin:0;padding:6px;border:1px solid var(--line);border-radius:14px;background:#fff}.tournament-directory__search input[type=search],.tournament-directory__search select{min-width:0;min-height:44px;border-color:transparent;background:#faf8f7}.tournament-directory__search .btn{min-height:44px}.tournament-directory__grid,.tournament-history>.grid{grid-template-columns:repeat(auto-fill,minmax(300px,360px))}
.tournament-card--completed{background:#fcfaf8;border-color:#e5dcd8}.tournament-card--completed .tournament-card__eyebrow{color:#766766}.tournament-card--completed .tournament-card__capacity{color:#6b1515;font-weight:600}
.tournament-card__gallery{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;height:92px;overflow:hidden;border-radius:10px;background:#efe6e1}.tournament-card__gallery img{width:100%;height:92px;object-fit:cover}.tournament-card__gallery>span{position:absolute;inset-inline-end:8px;inset-block-end:8px;display:flex;align-items:center;gap:5px;padding:6px 9px;border-radius:7px;background:rgba(255,255,255,.94);color:var(--brand);font-size:11px;box-shadow:0 3px 12px rgba(40,20,20,.14)}.tournament-card__gallery .action-icon{width:14px;height:14px}.tournament-card__actions{display:flex;align-items:center;gap:14px;margin-inline-start:auto}.tournament-card__actions .tournament-card__link{margin:0}
.tournament-card__gallery--empty{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px dashed #dcc9c1;background:#fcf7f3;text-decoration:none}.tournament-card__gallery--empty>span{position:static;inset:auto;padding:0;border-radius:0;background:transparent;box-shadow:none}.tournament-card__gallery--empty>.tournament-card__gallery-empty-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:#f1e4df}.tournament-card__gallery--empty>.tournament-card__gallery-empty-copy{display:grid;gap:2px;color:var(--ink);font-size:13px}.tournament-card__gallery-empty-copy small{color:var(--muted);font-size:11px;font-weight:400}
.detail-top--completed{align-items:center}.detail-top--completed .detail-action{display:flex;gap:8px}.detail-action:empty{display:none}
.completed-tournament-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;margin-bottom:24px;border:1px solid var(--line);border-radius:14px;background:var(--line)}.completed-tournament-summary>div{display:grid;gap:4px;padding:17px 19px;background:#fff}.completed-tournament-summary span{color:var(--muted);font-size:11px}.completed-tournament-summary strong{font-size:14px;overflow-wrap:anywhere}
.completed-gallery-preview{display:grid;gap:16px;margin-top:24px}.completed-gallery-preview__heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.completed-gallery-preview__heading h2{margin:0 0 3px}.completed-gallery-preview__heading p{margin:0;color:var(--muted);font-size:12px}.completed-gallery-preview .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.completed-gallery-empty{display:grid;justify-items:center;gap:7px;padding:32px 20px;border:1px dashed #dcc9c1;border-radius:16px;background:#fcf7f3;color:var(--muted);text-align:center}.completed-gallery-empty .action-icon{width:26px;height:26px;color:var(--brand)}.completed-gallery-empty strong{color:var(--ink)}.completed-gallery-empty span{font-size:12px}
@media(max-width:700px){.tournament-card__gallery{height:84px}.tournament-card__gallery img{height:84px}.completed-tournament-summary{grid-template-columns:1fr}.completed-gallery-preview__heading{align-items:flex-start;flex-direction:column}.completed-gallery-preview__heading .btn{width:100%}.completed-gallery-preview .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-top--completed .detail-action{display:grid;width:100%}}
.tournament-directory-tabs--admin{margin-bottom:18px}
.tournament-history{display:grid;gap:18px;margin-top:40px;padding:24px;border:1px solid #eadfd9;border-radius:20px;background:linear-gradient(135deg,#fffaf7,#fff)}
.tournament-history__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.tournament-history__heading h2{margin:0 0 4px;font-size:21px}.tournament-history__heading p{margin:0;color:var(--muted)}
.tournament-history__link,.tournament-archive-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--brand);font-size:13px;font-weight:700;text-decoration:none}
.tournament-history__link{flex:none}.tournament-history__icon-wrap{display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px;color:var(--brand);transition:color .16s ease,transform .16s ease}.tournament-history__icon{display:block}.tournament-history__link:hover{text-decoration:none;color:var(--brand-dark)}.tournament-history__link:hover .tournament-history__icon-wrap{color:var(--brand-dark);transform:translateX(3px)}.tournament-archive-back:hover{text-decoration:underline;text-underline-offset:4px}
@media(prefers-reduced-motion:reduce){.tournament-history__icon-wrap{transition:none}.tournament-history__link:hover .tournament-history__icon-wrap{transform:none}}
.tournament-archive-back{margin:0 0 22px}
@media(max-width:700px){.tournament-history{margin-top:32px;padding:18px}.tournament-history__heading{align-items:center;gap:12px}.tournament-history__link{min-height:44px}.tournament-history__heading h2{font-size:20px}.tournament-directory__grid,.tournament-history>.grid{grid-template-columns:1fr}}
@media(max-width:560px){.explore-heading{margin-bottom:16px}.tournament-directory-tabs{margin-bottom:22px}.tournament-directory-tabs a{min-height:44px;padding-inline:11px}.tournament-directory__search{grid-template-columns:minmax(0,1fr) auto;padding:5px}.tournament-directory__search input[type=search]{grid-column:1 / -1;width:100%}.tournament-directory__search select{width:100%}.tournament-directory__search:not(:has(select)) input[type=search]{grid-column:1}.tournament-directory__heading h2{font-size:19px}.tournament-history__heading p{font-size:13px}.tournament-history__link span:first-child{display:none}}

.watch-page--completed .watch-heading{margin-bottom:24px}.watch-dashboard--completed{display:grid;gap:18px}.watch-dashboard--completed .final-placements{margin:0}.watch-dashboard--completed>.btn{justify-self:start}
.completed-final-score{display:grid;gap:10px;padding:20px 22px;border:1px solid var(--line);border-radius:14px;background:#fff}.completed-final-score>span{color:var(--brand);font-size:10px;font-weight:700;letter-spacing:.11em}.completed-final-score>div{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px}.completed-final-score>div strong:last-child{text-align:end}.completed-final-score b{padding:9px 13px;border-radius:9px;background:#6b1515;color:#fff;font-size:18px;white-space:nowrap}
@media(max-width:560px){.completed-final-score{padding:16px}.completed-final-score>div{grid-template-columns:1fr;text-align:center;gap:8px}.completed-final-score>div strong:last-child{text-align:center}.completed-final-score b{justify-self:center}.watch-dashboard--completed>.btn{width:100%}}
@media(max-width:350px){
 .booking-overview{align-items:flex-start;flex-direction:column;gap:6px}
 .spectator-booking-page .bank-instructions__iban{align-items:flex-start;flex-wrap:wrap}
 .spectator-booking-page .bank-instructions__iban button{margin-left:auto}
 .receipt-upload__browse{display:none}
}

.booking-progress{padding:17px;background:#fff;border:1px solid #e5e0e0;border-radius:11px;margin-bottom:16px}
.booking-progress strong{font-size:14px}
.booking-progress p{font-size:13px;color:var(--muted);line-height:1.55;margin:6px 0 0}


/* V39 — compact, accessible actions with one consistent visual hierarchy. */
.home-dashboard__heading{align-items:center;flex-wrap:wrap;row-gap:10px}
.home-dashboard__heading .home-explore-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid #e1d3d3;background:#fff;border-radius:10px;padding:8px 13px;color:var(--brand);font-size:12px;font-weight:600;line-height:1.3;text-decoration:none;white-space:nowrap;transition:background-color .15s,border-color .15s}
.home-dashboard__heading .home-explore-link:after{content:'↗';font-size:16px;font-weight:400;line-height:1}
.home-dashboard__heading .home-explore-link:hover{background:#fcf7f7;border-color:#ac8585}
.home-event__actions{gap:9px;margin-top:auto;padding-top:6px;align-items:stretch;font-size:13px}
.home-event__actions a.home-event__action{display:inline-flex;align-items:center;justify-content:center;flex:1 1 140px;min-width:0;min-height:47px;padding:10px 12px;border-radius:11px;line-height:1.35;font-size:13px;font-weight:650;white-space:normal;text-align:center;text-decoration:none;box-shadow:none;transition:background-color .15s,border-color .15s}
.home-event__actions a.home-event__action--primary{background:var(--brand);border:1px solid var(--brand);color:#fff}
.home-event__actions a.home-event__action--primary:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}
.home-event__actions a.home-event__action--secondary{background:#fff;border:1px solid #cfb5b5;color:var(--brand)}
.home-event__actions a.home-event__action--secondary:hover{background:#fbf5f5;border-color:var(--brand);color:var(--brand)}
.home-event__actions .home-event__more{flex:0 0 100%;width:100%;margin-top:3px}
.home-event__more>summary{display:inline-flex;align-items:center;min-height:40px;padding:3px 0;font-size:12px;font-weight:600;color:var(--muted)}
.home-event__more>summary:hover{color:var(--brand)}
.home-event__more-content{max-width:100%}
.spectator-booking-page .booking-home-link,.spectator-booking-page .receipt-submit{display:flex;justify-content:center;align-items:center;width:100%;min-height:50px;box-sizing:border-box;border-radius:12px;padding:12px 16px;font-size:14px;font-weight:650;line-height:1.4;text-align:center;text-decoration:none;white-space:normal;box-shadow:none}
.spectator-booking-page .receipt-submit{border:1px solid var(--brand);background:var(--brand);color:#fff}
.spectator-booking-page .receipt-submit:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
.spectator-booking-page .booking-home-link{margin-top:10px;background:#fff;border:1px solid #bb9191;color:var(--brand)}
.spectator-booking-page .booking-home-link:hover{background:#fcf7f7;border-color:var(--brand);color:var(--brand)}
.spectator-booking-page .bank-instructions__iban button{border-radius:9px;font-size:12px;font-weight:650}
.receipt-upload__chevron{display:inline-flex;justify-content:center;align-items:center;color:var(--brand);font-size:26px;font-weight:400;line-height:1;flex:none;width:22px;height:30px}
:is(.home-event__action,.home-explore-link,.booking-home-link,.receipt-submit):focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@media(max-width:700px){
 .home-dashboard__heading{align-items:flex-start;flex-direction:column;gap:10px}
 .home-dashboard__heading .home-explore-link{min-height:40px}
 .home-event__actions{flex-direction:column;align-items:stretch;gap:9px}
 .home-event__actions a.home-event__action{flex:0 0 auto;width:100%;min-height:47px}
 .home-event__more-content{left:0;right:auto}
}
@media(prefers-reduced-motion:reduce){.home-event__action,.home-explore-link,.booking-home-link,.receipt-submit{transition:none!important}}

/* V40: discreet, accessible WISSAM social links in the site-wide footer. */
.footer .footer__copyright{white-space:normal}
.footer .footer__right{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px 22px;min-width:0}
.footer .footer__links,.footer .footer__social{display:flex;align-items:center;flex-wrap:wrap;gap:8px 17px}
.footer .footer__social{border-inline-start:1px solid var(--line);padding-inline-start:20px}
.footer .footer__social a{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;color:#6b3030;min-height:32px;font-size:12px;font-weight:600;white-space:nowrap}
.footer .footer__social a:hover{color:var(--brand);text-decoration:none}
.footer .footer__social a:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:3px}
.footer .footer__social svg{flex:none}
@media(max-width:700px){
 .footer .footer__right{width:100%;justify-content:flex-start;align-items:flex-start;gap:8px 0}
 .footer .footer__links{width:100%;gap:6px 18px}
 .footer .footer__social{width:100%;border-inline-start:0;padding-inline-start:0;gap:8px 20px}
 .footer .footer__social a{min-height:40px}
}


/* V42 — iPhone Home overflow & footer refresh. Keep menus within the event card. */
.home-dashboard,.home-dashboard__section,.home-events-grid,.home-event,.home-event__actions{min-width:0;max-width:100%}
.home-event__actions{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.home-event__actions a.home-event__action{flex:none;width:100%;min-width:0}
.home-event__actions .home-event__more{position:static;display:block;flex:none;width:100%;min-width:0;margin:0;border-top:1px solid #eee8e8;padding-top:5px}
.home-event__more>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;width:100%;padding:7px 3px;list-style:none;cursor:pointer;line-height:1.4;font-size:13px;font-weight:600;color:#6b5858;white-space:normal;touch-action:manipulation}
.home-event__more>summary::-webkit-details-marker{display:none}
.home-event__more>summary::after{content:'';display:block;flex:none;width:7px;height:7px;border:solid currentColor;border-width:0 1.7px 1.7px 0;transform:rotate(45deg);margin:0 4px 4px 0;transition:transform .15s}
.home-event__more[open]>summary::after{transform:rotate(225deg);margin-top:6px;margin-bottom:0}
.home-event__more>summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:5px}
.home-event__more-content{position:static;top:auto;left:auto;right:auto;z-index:auto;box-sizing:border-box;display:grid;gap:8px;width:100%;min-width:0;max-width:100%;padding:9px 0 2px;border:0;border-top:1px solid #f1ecec;border-radius:0;background:transparent;box-shadow:none}
.home-event__audience-code{display:grid;gap:6px;margin:13px 0;padding:13px 14px;border:1px solid #decaca;border-radius:10px;background:#fbf5f5}.home-event__audience-code>span{color:var(--brand);font-size:11px;font-weight:700}.audience-code-value{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.home-event__audience-code strong{font:700 17px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.6px}.audience-code-use{color:var(--muted);font-size:10px;font-weight:500;white-space:nowrap}.audience-code-value button,.team-audience-code__copy{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;padding:0;border:1px solid #d8c3c3;border-radius:8px;background:#fff;color:var(--brand)}.audience-code-value button:hover,.team-audience-code__copy:hover{background:#f5eaea}.audience-code-value .action-icon,.team-audience-code__copy .action-icon{width:16px;height:16px}.booking-progress--free{border-color:#b9dbc7;background:#f4fbf7}
.team-audience-code{display:inline-flex;align-items:center;gap:7px;margin-top:8px;padding:3px 3px 3px 9px;border:1px solid #e1d4d4;border-radius:9px;background:#faf7f7}.team-audience-code code{font:600 12px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;color:#5f4b4b;white-space:nowrap}
@media(max-width:700px){.home-event__audience-code{padding:14px 13px}.audience-code-value{width:100%;flex-wrap:nowrap;gap:9px}.audience-code-value strong{font-size:16px;min-width:0}.audience-code-value .audience-code-use{flex:none}.audience-code-value button{width:44px;height:44px;min-width:44px;margin-left:auto;border-radius:10px}.audience-code-value button .action-icon{width:19px;height:19px}}
.home-event__more-content>*{min-width:0;max-width:100%;width:100%;box-sizing:border-box}
.home-event__more-content .inline-form{display:block;width:100%;margin:0}
.home-event__more-content>a,.home-event__more-content .btn{display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;max-width:100%;width:100%;padding:9px 12px;white-space:normal;overflow-wrap:anywhere;border:1px solid #e3d4d4;border-radius:9px;background:#fff;font-size:12px;line-height:1.45;font-weight:600;color:var(--brand);text-decoration:none}
.home-event__more-content>a:hover,.home-event__more-content .btn:hover{background:#fcf7f7}
.home-event__more-content .btn--danger{color:#9d3737;border-color:#e8cccc}
.home-dashboard__heading .home-explore-link::after{content:'';width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);margin:0 3px 0 0;flex:none}

/* Footer follows a consistent hierarchy: useful links, social links, copyright. */
.footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 28px;min-width:0;max-width:100%;padding-block:19px}
.footer .footer__copyright{font-size:12px;line-height:1.5;color:#777;min-width:0}
.footer .footer__right{min-width:0;display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px 22px}
.footer .footer__links{gap:9px 18px}
.footer .footer__links a{display:inline-flex;align-items:center;min-height:36px;color:#656565;line-height:1.4;white-space:nowrap}
.footer .footer__social{gap:12px;border-inline-start:1px solid #e8e1e1;padding-inline-start:19px}
.footer .footer__social a{font-size:12px;min-height:36px;gap:7px;font-weight:600;color:#702c30}
.footer .footer__social a svg{width:16px;height:16px}
@media(max-width:700px){
 .home-dashboard{min-width:0;max-width:100%}
 .home-dashboard__heading{gap:10px}
 .home-event__actions{width:100%;min-width:0}
 .home-event__more-content{left:auto;right:auto}
 .footer{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:18px 16px 23px}
 .footer .footer__right{display:grid;grid-template-columns:1fr;gap:9px;width:100%;justify-content:start}
 .footer .footer__links{width:100%;display:flex;justify-content:flex-start;gap:10px 22px;flex-wrap:wrap}
 .footer .footer__social{display:flex;justify-content:flex-start;gap:12px 23px;width:100%;padding:0;border-inline-start:0}
 .footer .footer__social a{min-height:38px}
 .footer .footer__copyright{order:2;padding-top:10px;border-top:1px solid #eeeded;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.home-event__more>summary::after{transition:none}}

/* V43: consistent private tournament player tab and pending request actions */
.payment-proofs{min-width:0}
.payment-proofs-wrap{overflow-x:auto!important;max-width:100%;border:1px solid var(--line);border-radius:10px;background:#fff}
.payment-proofs-table{width:100%;min-width:780px;table-layout:auto}
.payment-proofs-table th,.payment-proofs-table td{padding:14px 13px;text-align:left!important;vertical-align:middle}
.payment-proofs-table th:first-child,.payment-proofs-table td:first-child{width:52px}
.payment-proofs-table th:nth-child(3){min-width:130px}
.payment-proofs-table th:last-child{width:240px}
.payment-proofs-table .subtle{font-size:12px;overflow-wrap:anywhere}
.payment-proofs-table .proof-view{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-weight:600}
.proof-review-cell{text-align:left!important;min-width:194px}
.proof-review-actions{display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap}
.proof-verify-form{margin:0;display:block}
.proof-review-actions .btn{min-height:38px;padding:8px 12px;font-size:12px;white-space:nowrap;border-radius:7px}
.proof-reject{position:relative;min-width:0}
.proof-reject summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid #d7c5c5}
.proof-reject summary::-webkit-details-marker{display:none}
.proof-reject[open]{flex-basis:100%}
.proof-reject-form{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:12px;max-width:320px}
.proof-reject-form label{font-size:12px;font-weight:600}
.proof-reject-form textarea{resize:vertical;min-width:0;width:100%;border:1px solid #d9cece;background:white;padding:10px 12px;border-radius:7px;font-size:13px;line-height:1.4}
.proof-reject-form .btn{width:100%;white-space:normal}
.tournament-players-section{margin:38px 0 10px;min-width:0}
.tournament-players-section .section-heading{align-items:flex-start}
.tournament-players-section .section-heading p{margin:5px 0 0;max-width:680px;font-size:13px}
.tournament-players-section .filters{margin:16px 0}
.tournament-players-table{min-width:850px;font-size:12px}
.tournament-players-table th,.tournament-players-table td{padding:13px 12px;text-align:left!important;vertical-align:top;overflow-wrap:anywhere}
.tournament-players-table td:nth-child(4){white-space:nowrap}
.tournament-players-table td:nth-child(5){max-width:220px}
.tournament-players-table .subtle{font-size:11px}
.tournament-players-wrap{overflow-x:auto!important;max-width:100%;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:10px}
@media(max-width:720px){
 .payment-proofs-wrap,.tournament-players-wrap{overflow:visible!important;border:0;background:transparent}
 .payment-proofs-table,.tournament-players-table{display:block;width:100%;min-width:0!important}
 .payment-proofs-table thead,.tournament-players-table thead{display:none}
 .payment-proofs-table tbody,.tournament-players-table tbody{display:grid;gap:12px}
 .payment-proofs-table tbody tr:not(.proof-empty),.tournament-players-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 14px;padding:17px;border:1px solid var(--line);border-radius:10px;background:white;min-width:0}
 .payment-proofs-table td,.tournament-players-table td{display:block;border:0!important;padding:0!important;min-width:0;width:auto!important;max-width:none!important;white-space:normal!important;text-align:left!important;overflow-wrap:anywhere}
 .payment-proofs-table td::before,.tournament-players-table td::before{content:attr(data-label);display:block;font-size:10px;color:var(--muted);margin-bottom:3px;letter-spacing:.02em}
 .payment-proofs-table td:nth-child(2),.payment-proofs-table td:nth-child(3),.payment-proofs-table td:nth-child(6){grid-column:1/-1}
 .payment-proofs-table .proof-review-actions{gap:10px}
 .payment-proofs-table .proof-review-actions .btn{min-height:44px}
 .payment-proofs-table .proof-reject[open]{flex-basis:100%}
 .payment-proofs-table .proof-reject-form{max-width:none}
 .payment-proofs-table .proof-empty{display:block;padding:16px;border:1px solid var(--line);border-radius:10px}
 .tournament-players-table td:nth-child(2),.tournament-players-table td:nth-child(5),.tournament-players-table td:nth-child(6){grid-column:1/-1}
 .tournament-players-section{margin-top:28px}
}
.players-heading-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.players-heading-actions .btn{min-height:40px}
.home-event__actions .home-event__cancel{flex:0 0 100%;width:100%;min-width:0}
.home-event__cancel form,.home-event__cancel button{width:100%}
.home-event__cancel button{min-height:44px;border:1px solid #cdb5b5;color:#6b1515;background:#fff;border-radius:11px;font-weight:600}
.home-event__cancel button:hover{background:#fff8f8;border-color:var(--brand)}
.booking-cancel{margin-top:12px}
.booking-cancel .btn{display:flex;width:100%;min-height:48px;align-items:center;justify-content:center;border:1px solid #cdb5b5;border-radius:11px;background:#fff;color:var(--brand)}
@media(max-width:720px){.tournament-players-section .section-heading{flex-wrap:wrap;gap:12px}.players-heading-actions{width:100%;justify-content:space-between}.players-heading-actions .btn{flex:0 0 auto}}

/* V44: visible invitation action for a team captain with an unlinked guest. */
.home-event__actions .home-event__invite{flex:0 0 100%;width:100%;min-width:0}
.home-event__invite form,.home-event__invite button{width:100%}
.home-event__invite button{min-height:44px;border:1px solid #cdb5b5;color:#6b1515;background:#fff;border-radius:11px;font-weight:600}
.home-event__invite button:hover{background:#fff8f8;border-color:var(--brand)}
.guest-invite-summary{display:grid;gap:5px;padding:12px 14px;border:1px solid #e7d8d8;border-radius:10px;background:#fcf9f9;color:#612020}
.guest-invite-summary strong{font-size:14px}
.guest-invite-summary small{font-size:12px;line-height:1.5;color:#685d5d}


/* V45 — Mobile Home actions: eliminate wrapped flex columns that create horizontal scroll.
   The old `flex: 0 0 100%` on the cancel form, combined with flex-wrap:wrap on a
   vertical actions layout, placed it in a NEW column outside the event card. */
.home-event__actions{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:9px;min-width:0;width:100%;max-width:100%}
.home-event__actions > *{box-sizing:border-box;min-width:0;max-width:100%}
.home-event__actions .home-event__cancel,.home-event__actions .home-event__invite,
.home-event__actions .home-event__more{flex:0 0 auto;width:100%;max-width:100%;min-width:0;margin:0;align-self:stretch}
.home-event__actions .home-event__action{flex:none!important;width:100%;max-width:100%;min-width:0}
.home-event__cancel .inline-form,.home-event__invite .inline-form{display:block;width:100%;min-width:0;max-width:100%;margin:0}
.home-event__cancel .btn,.home-event__invite .btn{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-width:0;min-height:47px;padding:11px 14px;text-align:center;white-space:normal;overflow-wrap:break-word;font-size:13px;line-height:1.4}
.home-event__cancel .btn{background:#fff;color:#923d3d;border-color:#e4caca}
.home-event__cancel .btn:hover{background:#fff8f8;border-color:#b98383}
.home-event__head,.home-event__roles,.home-event__statuses{min-width:0;max-width:100%}
.home-event__status{overflow-wrap:anywhere}
.home-event__meta{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere;line-height:1.5}
.home-event__meta-item{display:block;min-width:0}
.home-dashboard__heading .home-explore-link{font-weight:600}
@media(max-width:700px){
 .app-shell,.topbar,.topbar-inner,.page-container,.home-dashboard,.home-dashboard__section,.home-events-grid,.home-event{min-width:0;max-width:100%}
 .topbar{height:64px}
 .topbar-inner{padding-inline:clamp(12px,3.5vw,18px);gap:9px}
 .topbar .brand--artwork{flex:0 1 auto;min-width:0;max-width:100%;margin-inline-end:auto}
 .topbar .brand-logo{height:45px;max-height:45px;max-width:92px;width:auto}
 .topbar .top-actions{display:flex;flex:0 0 auto;gap:6px;min-width:0;margin-inline-start:auto}
 .topbar .top-actions .icon-button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:40px!important;width:40px!important;height:40px!important;min-height:40px!important;padding:0}
 .topbar .user-initial{flex:none}
 .mobile-menu{flex:0 0 auto}
 .mobile-menu__trigger{width:42px;height:42px;box-sizing:border-box;border-radius:11px}
 .home-dashboard{gap:30px}
 .home-dashboard__intro{padding:2px 0 0}
 .home-dashboard__intro p{font-size:13px;line-height:1.55}
 .home-dashboard__heading{display:flex;align-items:baseline;justify-content:space-between;flex-direction:row;flex-wrap:wrap;gap:7px 12px}
 .home-dashboard__heading h2{font-size:19px}
 .home-dashboard__heading .home-explore-link{background:none;border:0;border-radius:0;padding:3px 0;min-height:32px;white-space:normal;text-align:end;font-size:12px}
 .home-dashboard__heading .home-explore-link:hover{background:none;text-decoration:underline}
 .home-event{gap:10px;padding:16px;border-radius:14px}
 .home-event__actions{margin-top:4px;padding-top:7px;gap:9px}
 .home-event__actions a.home-event__action{min-height:47px;border-radius:11px;font-size:13px}
 .home-event__cancel .btn,.home-event__invite .btn{border-radius:11px}
 .footer{padding:17px clamp(14px,4vw,20px) 22px;gap:11px;overflow-wrap:anywhere}
 .footer .footer__right{width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:7px}
 .footer .footer__links{display:flex;flex-wrap:wrap;gap:3px 20px;align-items:center}
 .footer .footer__links a{min-height:35px;font-size:12px}
 .footer .footer__social{display:flex;flex-wrap:wrap;gap:6px 19px;align-items:center}
 .footer .footer__social a{min-height:36px;font-size:12px;gap:7px}
 .footer .footer__copyright{order:2;margin:0;padding-top:11px;border-top:1px solid #efebeb;font-size:11px;line-height:1.5}
}
@media(max-width:360px){
 .topbar-inner{gap:6px;padding-inline:12px}
 .topbar .brand-logo{height:42px;max-height:42px;max-width:82px}
 .topbar .top-actions{gap:3px}
 .topbar .top-actions .icon-button{min-width:38px!important;width:38px!important;height:38px!important;min-height:38px!important}
 .mobile-menu__trigger{width:40px;height:40px}
 .home-dashboard__heading h2{font-size:18px}
 .home-dashboard__heading .home-explore-link{font-size:11px}
}

/* V46 unified teams and responsive player details */
.team-player-list {max-width:100%;margin-top:8px;min-width:0}
.team-player-list summary {cursor:pointer;color:var(--brand, #681d20);font-weight:600;white-space:normal}
.team-player-list__body {display:grid;gap:8px;margin:10px 0;min-width:0}
.team-player-detail {padding:10px;border-radius:10px;border:1px solid #e8dfe0;background:#fff;min-width:0}
.team-player-detail__name {display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.team-player-detail__contacts {display:flex;flex-wrap:wrap;column-gap:14px;row-gap:4px;margin-top:5px;overflow-wrap:anywhere;font-size:.875rem}
.team-registration-history {margin-top:22px}
.team-registration-history>details>summary {cursor:pointer;font-weight:600;padding:12px 0}
@media(max-width:700px){.manage-entries-table td .team-player-list{width:100%}.team-player-detail__contacts{display:grid;gap:3px}.team-player-detail{padding:10px}}

/* V47 — mobile footer: legal links left, social links right on one row;
   centered copyright on its own line. The desktop layout is unchanged. */
@media (max-width:700px){
 .footer{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  padding:12px clamp(12px,3.5vw,18px) 22px;
 }
 .footer .footer__right{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  align-items:center;
  justify-content:space-between;
  column-gap:12px;
  width:100%;
  min-width:0;
 }
 .footer .footer__links{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-start;
  gap:clamp(7px,2.5vw,15px);
  min-width:0;
  width:auto;
 }
 .footer .footer__links a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 2px;
  font-size:12px;
  white-space:nowrap;
 }
 .footer .footer__social{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(5px,1.8vw,12px);
  padding:0;
  border:0;
  min-width:0;
  width:auto;
 }
 .footer .footer__social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 2px;
  gap:5px;
  font-size:12px;
  line-height:1.2;
  white-space:nowrap;
 }
 .footer .footer__social a svg{width:15px;height:15px}
 .footer .footer__copyright{
  order:2;
  display:block;
  width:100%;
  margin:0;
  padding:13px 0 0;
  border-top:1px solid #efebeb;
  text-align:center;
  font-size:11px;
  line-height:1.6;
 }
}
@media(max-width:359px){
 .footer .footer__right{column-gap:8px}
 .footer .footer__links{gap:6px}
 .footer .footer__social{gap:7px}
 .footer .footer__social a{padding-inline:5px;min-width:36px}
 .footer .footer__social a span{display:none}
}


/* V48 — compact, accessible actions across registration and event management. */
.action-icon{width:18px;height:18px;display:inline-block;flex:none;vertical-align:middle}
.bank-instructions__iban{flex-wrap:nowrap;gap:10px}
.bank-instructions__iban-value{min-width:0;flex:1}
.bank-instructions__iban code{user-select:all;-webkit-user-select:all}
.bank-instructions__iban .bank-iban-copy,
.spectator-booking-page .bank-instructions__iban .bank-iban-copy{width:42px;min-width:42px;max-width:42px;height:42px;min-height:42px;flex:0 0 42px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;white-space:normal}
.bank-iban-copy:hover{background:#f3e9e9;border-color:var(--brand)}
.bank-iban-copy .action-icon{width:19px;height:19px}
.excel-download{display:inline-flex;gap:5px;align-items:center;white-space:nowrap;font-size:12px;min-height:40px}
.excel-download .action-icon:first-child{width:20px;height:20px}
.excel-download .action-icon:nth-child(2){width:15px;height:15px}
.share-tournament .share-actions{display:flex;align-items:stretch;gap:9px;flex-wrap:wrap}
.share-tournament .share-actions .btn{min-width:0;min-height:43px;gap:7px}
.share-tournament .share-details{max-width:620px}
.share-tournament .share-details h3{margin-bottom:12px}
.share-tournament .share-details .subtle{margin:10px 0 0;line-height:1.55}
.ws-action-feedback{position:fixed;left:50%;bottom:max(25px,env(safe-area-inset-bottom,0px));transform:translate(-50%,14px);z-index:9000;padding:11px 19px;border-radius:12px;background:#272121;color:#fff;box-shadow:0 8px 28px #1f151530;font-size:13px;font-weight:600;white-space:normal;text-align:center;max-width:calc(100vw - 32px);opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}
.ws-action-feedback.is-visible{opacity:1;transform:translate(-50%,0)}
.ws-action-feedback[data-state="error"]{background:#712929}
@media(max-width:600px){
 .bank-instructions__iban,.spectator-booking-page .bank-instructions__iban{flex-wrap:nowrap;align-items:center}
 .bank-instructions__iban .bank-iban-copy,.spectator-booking-page .bank-instructions__iban .bank-iban-copy{width:42px;flex:0 0 42px;margin:0;min-width:42px}
 .share-tournament .share-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .share-tournament .share-actions .btn{width:100%;min-width:0;white-space:normal;text-align:center}
 .share-tournament .share-actions .btn:first-child{grid-column:1/-1}
}
@media(max-width:350px){
 .bank-instructions__iban,.spectator-booking-page .bank-instructions__iban{flex-wrap:nowrap}
 .bank-instructions__iban .bank-iban-copy,.spectator-booking-page .bank-instructions__iban .bank-iban-copy{margin:0}
}
@media(prefers-reduced-motion:reduce){.ws-action-feedback{transition:none}}
@media print{.ws-action-feedback{display:none!important}}

/* V48 payment proof actions: icons accompany short labels, not icon-only decisions. */
.payment-proofs-table .proof-view{gap:7px;font-size:12px}
.payment-proofs-table .proof-view .action-icon{width:17px;height:17px}
.payment-proofs-table .proof-review-actions .btn{gap:6px}
.payment-proofs-table .proof-review-actions .action-icon{width:16px;height:16px}

@media(max-width:700px){
 .teams-export-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 9px;align-items:center}
 .teams-export-heading h2{grid-column:1;grid-row:1;font-size:18px;line-height:1.35}
 .teams-export-heading>span.muted{grid-column:1;grid-row:2;font-size:12px}
 .teams-export-heading .excel-download{grid-column:2;grid-row:1/3;align-self:center}
}


/* V48.2 — tournament cards, reports, request history, and payment review polish */
.tournament-intro-grid{align-items:stretch;grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr)}
.tournament-registration-panel{display:flex;flex-direction:column;gap:18px}
.tournament-registration-panel__status{margin-bottom:0;text-transform:lowercase}
.tournament-registration-panel .profile-list{gap:18px 28px}
.tournament-registration-panel__actions{justify-content:flex-start;margin-top:auto}
.tournament-registration-panel__actions .btn{max-width:100%;padding-inline:20px}
.tournament-card{height:100%}
.tournament-card__top{align-items:flex-start}
.tournament-card__eyebrow{display:block;max-width:65%;line-height:1.55}
.tournament-card__badges{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:0;max-width:46%}
.tournament-card__badges .badge{text-align:center;justify-content:center}
.tournament-card__capacity{flex:1 1 220px}
.tournament-card__capacity--urgent,.public-availability strong,.registration-availability strong{color:var(--brand);font-weight:700}.registration-availability{padding:10px 12px;border-radius:8px;background:var(--brand-light);color:var(--brand);font-weight:700}.stats-strip .public-availability{min-width:150px}
.tournament-card__link{margin-inline-start:auto}
.tournament-prize{display:flex;align-items:center;gap:14px;margin:0 0 22px;padding:16px 18px;border:1px solid #ead9aa;border-radius:11px;background:linear-gradient(135deg,#fffaf0,#fff5d9);color:#5f430d}.tournament-prize__icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#fff;color:#8b5e08;box-shadow:0 5px 15px rgba(123,86,13,.12)}.tournament-prize__icon .action-icon{width:22px;height:22px}.tournament-prize__copy{display:grid;gap:2px;min-width:0}.tournament-prize__copy small{font-size:10px;font-weight:700;letter-spacing:1.05px;text-transform:uppercase;color:#947020}.tournament-prize__copy strong{font-size:17px;line-height:1.35;overflow-wrap:anywhere}.tournament-prize--compact{gap:10px;margin:0;padding:11px 12px;border-radius:9px}.tournament-prize--compact .tournament-prize__icon{width:32px;height:32px;flex-basis:32px}.tournament-prize--compact .tournament-prize__icon .action-icon{width:17px;height:17px}.tournament-prize--compact .tournament-prize__copy small{font-size:9px}.tournament-prize--compact .tournament-prize__copy strong{font-size:13px}
.reports-grid{align-items:stretch}
.report-card{display:flex;flex-direction:column;gap:12px;min-height:205px}
.report-card p{margin-bottom:0}
.report-card__action{margin-top:auto;align-self:flex-start}
.request-action-stack{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:166px;white-space:nowrap}
.request-action-stack>.btn{min-width:74px;justify-content:center}
.request-history{position:relative;min-width:0}
.request-history__summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0;color:var(--brand);font-size:12px;font-weight:600;cursor:pointer}
.request-history__summary::-webkit-details-marker{display:none}
.request-history__summary::before{content:"▸";font-size:11px;transition:transform .16s ease}
.request-history[open] .request-history__summary::before{transform:rotate(90deg)}
.request-history__panel{position:absolute;right:0;top:calc(100% + 8px);z-index:20;min-width:240px;max-width:300px;background:#fff;border:1px solid #eadfdf;border-radius:12px;padding:12px;box-shadow:0 14px 34px rgba(28,14,14,.10);display:grid;gap:10px}
.request-history__item{display:grid;gap:3px;padding-bottom:10px;border-bottom:1px solid #f1ebeb}
.request-history__item:last-child{padding-bottom:0;border-bottom:0}
.request-history__item strong{font-size:12px;font-weight:600;color:#2d2323;text-transform:capitalize}
.request-history__item span{font-size:11px;color:var(--muted)}
.payment-proofs-table .proof-review-cell{text-align:left!important;min-width:280px}
.payment-proofs-table .proof-review-actions{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}
.payment-proofs-table .proof-review-actions>form,.payment-proofs-table .proof-review-actions>.proof-reject{display:flex}
.payment-proofs-table .proof-review-btn{min-width:112px;min-height:42px;padding:9px 16px;border-radius:10px;justify-content:center;gap:7px}
.payment-proofs-table .proof-review-btn--reject{border-color:#d9c0c0;color:#8f2e2e;background:#fff}
.payment-proofs-table .proof-review-btn--reject:hover{background:#fbf4f4}
.payment-proofs-table .proof-reject summary{list-style:none}
.payment-proofs-table .proof-reject summary::-webkit-details-marker{display:none}
.payment-proofs-table .proof-reject[open]{flex-basis:100%}
.payment-proofs-table .proof-reject-form{max-width:380px;padding:14px;border:1px solid #eee1e1;background:#fcf9f9;border-radius:12px;margin-top:12px}
.payment-proofs-table .proof-reject-form textarea{min-height:84px;border-radius:9px}
.payment-proofs-table .proof-reject-submit{align-self:flex-start;min-width:160px}
.excel-download{gap:7px;padding-inline:12px}
@media (max-width: 980px){.tournament-intro-grid{grid-template-columns:1fr}.report-card{min-height:auto}.tournament-card__badges{max-width:100%}}

/* V48.4 searchable account selectors */
.account-picker>input[data-picker-query]{padding-inline-start:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23846b6b' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='10.8' cy='10.8' r='6.4'/%3E%3Cpath d='m15.7 15.7 5 5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:17px 17px;background-position:12px center}
.account-picker__results{z-index:120;max-height:min(290px,45vh);margin-top:4px;padding:0;border:1px solid #DCDDDD;border-radius:8px;background:#fff;box-shadow:none;scrollbar-gutter:stable;overscroll-behavior:contain;overflow:auto}
.account-picker__results::-webkit-scrollbar{width:10px;height:10px}
.account-picker__results::-webkit-scrollbar-track{background:#f5f2f2;border-left:1px solid #ece6e6;border-radius:0 8px 8px 0}
.account-picker__results::-webkit-scrollbar-thumb{background:#b8abab;border:2px solid #f5f2f2;border-radius:999px}
.account-picker__results{scrollbar-color:#b8abab #f5f2f2;scrollbar-width:auto}
.account-picker__option{cursor:pointer;min-height:48px;padding:12px 14px;border:0;border-bottom:1px solid #f0ecec;border-radius:0;background:#fff;transition:background-color .16s ease,color .16s ease}
.account-picker__option:first-child{border-top-left-radius:8px;border-top-right-radius:8px}
.account-picker__option:last-child{border-bottom:0;border-bottom-left-radius:8px;border-bottom-right-radius:8px}
.account-picker__option+.account-picker__option{margin-top:0}
.account-picker__option:hover,.account-picker__option:focus,.account-picker__option.is-focused{background:#faf6f6}
.account-picker__option strong,.account-picker__option span{overflow-wrap:anywhere}
.account-picker__empty{font-size:12px;padding:14px;border:0;border-radius:8px;background:#fff}
@media(max-width:600px){.account-picker__results{max-height:36vh;border-radius:8px}.account-picker__option{min-height:50px;padding:12px}}


/* V48.7 — mobile polish for dropdowns, notification panel, header actions, and profile save action */
.account-picker__results{
  border-radius:10px;
  box-shadow:0 14px 26px rgba(38,25,25,.08);
  scrollbar-gutter:auto;
  overscroll-behavior:contain;
}
.account-picker__results::-webkit-scrollbar{width:8px;height:8px}
.account-picker__results::-webkit-scrollbar-track{background:transparent;border:0}
.account-picker__results::-webkit-scrollbar-thumb{background:#c7baba;border:2px solid transparent;border-radius:999px;background-clip:padding-box}
.account-picker__results{scrollbar-color:#c7baba transparent;scrollbar-width:thin}
.account-picker__option{padding:13px 14px}
.account-picker__option:first-child{border-top-left-radius:10px;border-top-right-radius:10px}
.account-picker__option:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}

@media(max-width:700px){
  .topbar{height:70px}
  .topbar-inner{padding-inline:12px;gap:8px}
  .topbar .brand-logo{height:42px;max-height:42px;max-width:84px}
  .topbar .top-actions{gap:6px;align-items:center}
  .topbar .top-actions .icon-button,
  .topbar .user-initial,
  .mobile-menu__trigger{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    border-radius:11px;
  }
  .topbar .user-initial{font-size:12px}
  .notification-count{min-width:18px;height:18px;right:-4px;top:-5px;font:10px/18px Arial}
  .menu-panel.notifications-panel{
    position:fixed;
    top:78px;
    left:12px;
    right:12px;
    width:auto;
    min-width:0;
    max-height:min(62vh,480px);
    overflow:auto;
    border-radius:14px;
    box-shadow:0 18px 40px rgba(18,14,14,.12);
    padding:8px;
  }
  .notification-preview{padding:12px 13px;border-radius:10px}
  .menu-item{padding:12px 13px;border-radius:10px}
  .detail-top{gap:14px}
  .detail-action{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .detail-action>.btn{width:100%;min-height:46px;padding-inline:14px;text-align:center}
  .detail-action>.btn:first-child{grid-column:1/-1}
  .profile-save{flex-direction:column;align-items:stretch;gap:10px}
  .profile-save>.btn{width:100%;min-width:0}
  .profile-save__note{margin:0}
}
@media(max-width:420px){
  .topbar{height:68px}
  .topbar .brand-logo{height:40px;max-height:40px;max-width:80px}
  .topbar .top-actions .icon-button,
  .topbar .user-initial,
  .mobile-menu__trigger{
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    border-radius:10px;
  }
  .topbar .top-actions{gap:5px}
  .detail-action{grid-template-columns:1fr}
  .detail-action>.btn:first-child{grid-column:auto}
  .menu-panel.notifications-panel{top:74px;left:10px;right:10px;max-height:58vh}
  .account-picker__results{max-height:34vh;border-radius:10px}
}


/* V48.8 — unified and compact external sign-in methods in Profile */
.profile-connections{margin-top:28px;padding-top:26px;border-top:1px solid var(--line);min-width:0}
.profile-connections__heading{margin:0 0 15px}
.profile-connections__heading h2{margin:0 0 5px;font-size:17px;line-height:1.35;font-weight:600;letter-spacing:-.2px;color:var(--ink)}
.profile-connections__heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.profile-provider-list{display:grid;gap:10px}
.profile-provider{display:flex;align-items:center;gap:13px;min-width:0;padding:14px 16px;border:1px solid #e6e0e0;border-radius:11px;background:#fff}
.profile-provider__icon{display:grid;place-items:center;flex:none;width:39px;height:39px;border:1px solid #ece8e8;border-radius:10px;background:#fff;color:#222}
.profile-provider__icon .google-brand-icon{width:22px;height:22px;max-width:none}
.profile-provider__details{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.profile-provider__details strong{font-size:14px;line-height:1.4;font-weight:600;color:var(--ink)}
.profile-provider__details span{font-size:12px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.profile-provider__button{min-width:92px;min-height:40px;padding:9px 14px;font-size:12px;flex:none;border-radius:9px}
.profile-provider__button:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@media(max-width:700px){
 .profile-page{padding-bottom:24px}
 .profile-connections{margin-top:21px;padding-top:22px}
 .profile-connections__heading{margin-bottom:13px}
 .profile-provider{gap:11px;padding:12px;border-radius:11px}
 .profile-provider__button{min-width:82px;min-height:39px;padding:8px 11px}
}
@media(max-width:340px){
 .profile-provider{flex-wrap:wrap}
 .profile-provider__details{flex-basis:calc(100% - 52px)}
 .profile-provider__button{margin-left:52px;flex:1}
}

/* V48.9 — separate payment review workflows and spectator attendance accounts */
.payment-workspace{min-width:0}
.payment-workspace>.section-heading{align-items:start}
.payment-workspace>.section-heading p,.payment-workspace .payment-proofs>.section-heading p,.audience-attendance>.section-heading p{margin:4px 0 0;font-size:13px}
.payment-group-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 24px;border-bottom:1px solid #e5dddd;padding-bottom:10px}
.payment-group-tab{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;border:1px solid #e2d8d8;border-radius:10px;padding:10px 15px;background:#fff;color:#654d4d;font-size:13px;font-weight:600}
.payment-group-tab span{color:#786b6b;font-size:11px;font-weight:500;white-space:nowrap}
.payment-group-tab.active{border-color:var(--brand);color:var(--brand);background:#faf5f5}
.payment-group-tab:hover{border-color:#aa8f8f}
.payment-workspace .payment-proofs>.section-heading{align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:15px}
.payment-proofs-table{min-width:1040px}
.payment-proofs-table th:nth-child(3){min-width:100px}
.payment-proofs-table .proof-review-cell{min-width:245px}
.payment-person-name{font-size:12px;margin-top:3px;line-height:1.5}
.payment-review-note{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:5px;max-width:200px;overflow-wrap:anywhere}
.payment-workspace__next{font-size:13px;margin:20px 0 0;color:var(--muted)}
.payment-workspace__next a{color:var(--brand);font-weight:600}
.audience-attendance{min-width:0}
.attendance-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;margin-bottom:24px}.attendance-search input[type="search"]{width:100%;min-height:48px;padding:11px 14px;border:1px solid #d9ccca;border-radius:10px;background:#fff;font:inherit}.attendance-search input[type="search"]:focus{border-color:var(--brand);outline:3px solid rgba(123,19,24,.12)}.attendance-search .btn{min-height:48px}.attendance-search__summary{margin:-12px 0 22px;color:var(--muted);font-size:12px}
.audience-attendance>.section-heading{align-items:flex-start;gap:10px;flex-wrap:wrap}
.audience-attendance__table{max-width:100%;border:1px solid var(--line);border-radius:10px;background:#fff}
.audience-attendance__table .table{min-width:1120px;font-size:12px}
.audience-attendance__table .table th,.audience-attendance__table .table td{padding:13px 12px;text-align:left!important;vertical-align:middle;overflow-wrap:anywhere}
.audience-attendance__table .table td:nth-child(3){min-width:175px}
.audience-attendance__table .table td:last-child{min-width:150px}
.spectator-attendance-action{display:flex;align-items:center;justify-content:space-between;gap:10px}.spectator-attendance-action>span{color:var(--muted);white-space:nowrap}.spectator-manual-checkin{margin:0}.spectator-manual-checkin .btn{min-width:92px;min-height:44px}
.audience-approval-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.audience-approval-actions form{margin:0}
.audience-approval-actions .btn{min-height:38px;font-size:12px;white-space:normal}
.audience-pagination{display:grid;grid-template-columns:minmax(96px,auto) minmax(90px,auto) minmax(96px,auto);align-items:center;gap:8px;width:max-content;max-width:100%;margin:16px 0 16px auto;color:var(--muted);font-size:12px}.audience-pagination .btn{min-height:44px}.audience-pagination__count{text-align:center;white-space:nowrap}.audience-pagination__disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
@media(max-width:720px){
 .payment-group-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .payment-group-tab{flex-direction:column;gap:2px;align-items:flex-start;padding:11px 12px;min-width:0;white-space:normal}
 .payment-group-tab span{white-space:normal}
 .payment-proofs-table td:nth-child(3),.payment-proofs-table td:nth-child(6){grid-column:auto}
 .payment-proofs-table td:nth-child(2),.payment-proofs-table td:nth-child(8){grid-column:1/-1}
 .payment-proofs-table td:nth-child(7){grid-column:1/-1}
 .payment-proofs-table .proof-review-cell{min-width:0}
 .payment-proofs-table .proof-review-btn{min-width:0}
 .audience-attendance__table{overflow-x:auto;-webkit-overflow-scrolling:touch}
 .audience-attendance__table .table{min-width:950px}
 .audience-attendance>.section-heading{flex-direction:column;align-items:flex-start}
}
@media(max-width:380px){.payment-group-tab{font-size:12px;padding:10px}.payment-group-tab span{font-size:10px}}

/* V49 — WISSAM mobile-first layout QA: safe areas, compact controls and readable admin UI.
   Scoped to small viewports so desktop layout and application behavior remain unchanged. */
@media (max-width: 900px) {
  html { width:100%; max-width:100%; overflow-x:clip; }
  body { width:100%; max-width:100%; overflow-x:clip; }
  .app-shell { width:100%; min-width:0; min-height:100dvh; }
  .page-container { width:100%; min-width:0; padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px)); }
  .footer { padding-bottom:calc(22px + env(safe-area-inset-bottom, 0px)); }
  .page-container > *, .section, .panel, .surface, .settings-main, .staff-main,
  .staff-side, .staff-workspace, .detail-top, .detail-top > *, .home-dashboard,
  .home-event, .tournament-card, .form-stack, .payment-workspace { min-width:0; max-width:100%; }
  .detail-top h1, .page-head h1, .section-heading h2 { overflow-wrap:break-word; }
  .tabs { scrollbar-width:none; -webkit-overflow-scrolling:touch; scroll-padding-inline:12px; }
  .tabs::-webkit-scrollbar { display:none; }
  .tab { min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:12px 15px; }
  .admin-mobile-switcher { z-index:200; }
  .admin-mobile-switcher > nav { max-height:min(60dvh,440px); overscroll-behavior:contain; }
  .user-action-panel { max-width:calc(100dvw - 24px); }
}
@media (max-width: 700px) {
  /* Header: same-sized tap targets, balanced brand, no overflowing action row. */
  .topbar { height:66px; position:relative; z-index:600; }
  .topbar-inner { display:flex; align-items:center; padding-inline:14px; gap:8px; max-width:100%; }
  .topbar .brand--artwork { margin-inline-end:auto; flex:0 1 auto; min-width:0; }
  .topbar .brand-logo { width:auto; height:42px; max-height:42px; max-width:86px; }
  .topbar .top-actions { flex:0 0 auto; margin-inline-start:0; gap:5px; }
  .topbar .top-actions .icon-button, .mobile-menu__trigger,
  .topbar .user-initial { width:38px!important; height:38px!important; min-width:38px!important; min-height:38px!important; border-radius:10px; padding:0; }
  .topbar .top-actions .icon-button { display:grid; place-items:center; }
  .topbar .user-initial { display:grid; place-items:center; font-size:13px; }
  .mobile-menu { flex:0 0 auto; }
  .notification-count { top:-5px; right:-5px; z-index:1; }
  /* The notification menu must be viewport-aligned, not clipped to the bell or page width. */
  .menu-panel.notifications-panel {
    position:fixed; top:calc(72px + env(safe-area-inset-top, 0px));
    left:12px; right:12px; width:auto; min-width:0; max-width:none;
    max-height:min(64dvh,490px); overflow-x:hidden; overflow-y:auto;
    overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
    border-radius:14px; padding:8px; z-index:1500;
    box-shadow:0 16px 36px rgba(30,20,20,.16);
  }
  .notification-preview { display:grid; gap:5px; padding:13px 12px; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
  .notification-preview small { font-size:11px; }
  .account-panel { right:0; width:min(280px,calc(100dvw - 24px)); min-width:0; }
  .mobile-menu__panel { width:min(280px,calc(100dvw - 24px)); }
  /* Tournament hero and buttons: avoid cramped inline CTAs and cut-off tabs. */
  .detail-top { margin-bottom:20px; }
  .detail-top h1 { font-size:clamp(26px,7.2vw,33px); line-height:1.2; }
  .detail-top .meta-line { display:flex; gap:8px 14px; align-items:center; flex-wrap:wrap; }
  .detail-action { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; max-width:none; width:100%; }
  .detail-action > .btn { min-width:0; min-height:45px; width:100%; margin:0; padding:10px 11px; white-space:normal; overflow-wrap:anywhere; font-size:12px; }
  .detail-action > .btn:first-child { grid-column:1/-1; }
  .stats-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:17px 0; }
  .stats-strip > div { min-width:0; }
  .stats-strip strong { font-size:clamp(18px,5vw,23px); }
  .stats-strip span { font-size:11px; overflow-wrap:anywhere; }
  .tabs { margin-block:18px 23px; gap:4px; }
  .tab { padding-inline:13px; font-size:13px; }
  .page-container { padding-inline:clamp(14px,4vw,20px); padding-top:26px; }
  .page-head { margin-bottom:22px; }
  .page-head .head-action { margin-inline:0; }
  .section-heading { align-items:flex-start; flex-wrap:wrap; }
  /* Overview attention and metrics: actionable link below its summary. */
  .overview-attention { padding-inline-start:14px; }
  .overview-task { flex-direction:column; align-items:stretch; gap:6px; padding:12px 0; }
  .overview-task-action { white-space:normal; font-size:12px; align-self:flex-start; }
  .admin-overview .overview-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; padding:10px 0; }
  .admin-overview .overview-metric { min-width:0; padding:13px 10px; border-right:0; border-bottom:1px solid var(--line); }
  .admin-overview .overview-metric:nth-child(odd) { border-right:1px solid var(--line); padding-left:0; }
  .admin-overview .overview-metric:nth-child(even) { padding-left:16px; }
  .admin-overview .overview-metric:last-child:nth-child(odd) { grid-column:1/-1; border-right:0; border-bottom:0; }
  .admin-overview .overview-metric:last-child:nth-child(even),
  .admin-overview .overview-metric:nth-last-child(2):nth-child(odd) { border-bottom:0; }
  .overview-metric strong { font-size:25px; }
  .overview-metric span { font-size:11px; }
  .overview-section-head { gap:10px; }
  .overview-table tr { grid-template-columns:24px minmax(0,1fr) 42px; gap:4px 9px; padding-block:15px; }
  .overview-tournament-actions { min-width:0; }
  .overview-action-trigger { width:38px; height:38px; }
  /* Staff form and role history: actions stay aligned and never cover the names. */
  .staff-workspace { display:grid; grid-template-columns:minmax(0,1fr); gap:25px; }
  .staff-main, .staff-side { width:100%; }
  .staff-main > form > .btn[type="submit"] { width:100%; min-height:46px; }
  .staff-history-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:16px 0; }
  .staff-history-row > div { min-width:0; }
  .staff-history-row strong { font-size:14px; line-height:1.4; }
  .staff-history-row .subtle { font-size:12px; overflow-wrap:anywhere; }
  .staff-history-row .inline-form { align-self:center; }
  .staff-history-row .inline-form button { min-height:39px; padding:8px 13px; border-radius:9px; }
  .staff-invitation { min-width:0; }
  .staff-invitation .inline-form { max-width:100%; }
  .staff-invitation .btn { white-space:normal; overflow-wrap:anywhere; }
  /* Users search and cards: consistent two-column card header, metadata below. */
  .users-page .admin-user-search { grid-template-columns:minmax(0,1fr) auto; }
  .users-page .admin-user-search-field { min-width:0; }
  .users-page .admin-users-table tr { min-width:0; padding:15px; border-radius:13px; }
  .users-page .admin-user-link { min-width:0; }
  .users-page .admin-user-names { min-width:0; }
  .users-page .admin-user-names strong, .users-page .admin-users-email { overflow-wrap:anywhere; }
  .users-page .admin-users-action .user-action-trigger { min-height:40px; min-width:40px; border-radius:10px; }
  /* Footer remains in one legal/social row with centered copyright, plus Safari inset. */
  .footer { width:100%; min-width:0; padding-bottom:calc(22px + env(safe-area-inset-bottom, 0px)); }
  .footer .footer__right { width:100%; min-width:0; }
  .footer .footer__copyright { text-align:center; width:100%; }
}
@media (max-width: 390px) {
  .topbar-inner { padding-inline:11px; gap:5px; }
  .topbar .brand-logo { height:39px; max-height:39px; max-width:80px; }
  .topbar .top-actions { gap:3px; }
  .topbar .top-actions .icon-button, .mobile-menu__trigger,
  .topbar .user-initial { width:36px!important; height:36px!important; min-width:36px!important; min-height:36px!important; }
  .detail-action { grid-template-columns:1fr; }
  .detail-action > .btn:first-child { grid-column:auto; }
  .menu-panel.notifications-panel { left:10px; right:10px; top:calc(70px + env(safe-area-inset-top, 0px)); }
  .stats-strip { gap:8px; }
  .stats-strip strong { font-size:19px; }
  .staff-history-row { gap:8px; }
  .staff-history-row .inline-form button { padding-inline:10px; }
}
@media (max-width: 330px) {
  .topbar .brand-logo { max-width:68px; height:36px; }
  .topbar-inner { gap:3px; }
  .topbar .top-actions { gap:2px; }
  .topbar .top-actions .icon-button, .mobile-menu__trigger,
  .topbar .user-initial { width:34px!important; height:34px!important; min-width:34px!important; min-height:34px!important; }
}

/* iOS Safari: focusing small search fields must not zoom and displace dropdowns. */
@media (max-width: 700px) {
  .account-picker input[data-picker-query], .users-page input[type="search"],
  .admin-user-search input[type="search"] { font-size:16px; }
  .account-picker__results { max-width:100%; overflow-x:hidden; }
  .account-picker__option { min-width:0; }
  .account-picker__option strong, .account-picker__option span { min-width:0; }
}

/* V52 · Scheduled end-time advisory (not an automatic completion state) */
.tournament-overtime-notice{border:1px solid #e7d9bc;border-inline-start:3px solid #ad7d37;background:#fffcf6;border-radius:9px;padding:17px 20px;margin:0 0 22px;color:#40362b}
.tournament-overtime-notice__heading{display:flex;align-items:center;gap:10px;font-size:14px}
.tournament-overtime-notice__heading span{font-size:22px;line-height:1;color:#98703c}
.tournament-overtime-notice p{font-size:13px;line-height:1.65;margin:8px 0 10px;max-width:820px}
.tournament-overtime-notice .link-text{display:inline-block}
@media(max-width:700px){.tournament-overtime-notice{padding:14px 15px;margin-bottom:18px}.tournament-overtime-notice__heading{font-size:13px}}

/* V54 — account recovery */
.auth-recovery{margin:-7px 0 2px;text-align:right;font-size:13px}.auth-recovery a{color:var(--brand);font-weight:600}.auth-wrap--single{grid-template-columns:minmax(0,520px);justify-content:center}.auth-wrap--single .auth-form{width:100%}.auth-wrap--single .auth-form h1{font-size:clamp(27px,5vw,36px);margin:8px 0 10px}.auth-intro{color:var(--muted);line-height:1.6;margin:0 0 24px}.auth-wrap--single .eyebrow{color:var(--brand)}
@media(max-width:700px){.auth-recovery{text-align:left}.auth-wrap--single .auth-form{padding-inline:0}}

/* V53: unified approval queue and compact, accessible decisions. */
.approval-workspace{display:grid;gap:26px;min-width:0}
.approval-workspace__intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border:1px solid var(--line);border-radius:14px;background:#fff}
.approval-workspace__intro .eyebrow{font-size:10px;color:#977878;letter-spacing:.11em}
.approval-workspace__intro h2{font-size:25px;margin:5px 0 7px;line-height:1.2}
.approval-workspace__intro p{margin:0;line-height:1.5;font-size:13px;color:var(--muted)}
.approval-workspace__total{white-space:nowrap;font-size:12px;color:#713034;font-weight:700}
.approval-workspace__hint{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:-13px 2px 0;color:var(--muted);font-size:12px}
.approval-workspace__hint .action-icon{width:14px;height:14px}
.approval-section{min-width:0}
.approval-section__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.approval-section__head h2{font-size:19px;margin:0 0 4px}
.approval-section__head p{font-size:12px;margin:0;line-height:1.45}
.approval-section__meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.approval-section__count{white-space:nowrap;font-size:12px;color:var(--muted)}
.approval-bulk-reminder{margin:0}.approval-bulk-reminder__button{width:44px;min-width:44px;min-height:44px;padding:0}.approval-bulk-reminder__button .action-icon{width:18px;height:18px}
.approval-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:12px}
.approval-request{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}
.approval-request__top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.approval-request__kind{font-size:11px;font-weight:700;letter-spacing:.04em;color:#7c4649}
.approval-request__top .badge{font-size:10px}
.approval-request h3{font-size:17px;line-height:1.35;margin:0;overflow-wrap:anywhere}
.approval-request p{margin:0;font-size:12px;line-height:1.55;color:var(--muted);overflow-wrap:anywhere}
.approval-request__discount{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 11px;border:1px solid #ead8c2;border-radius:9px;background:#fff8eb;font-size:11px}.approval-request__discount>span{color:#766451;font-weight:600}.approval-request__discount code{font:600 11px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;color:#4c3b2d}.approval-request__discount strong{margin-left:auto;padding:4px 7px;border-radius:6px;background:#f6e2b8;color:#7c5310;font-size:11px;white-space:nowrap}
.approval-request__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:12px;border-top:1px solid #f0eaea;min-height:42px}
.approval-inline-form{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0}
.approval-icon,.approval-reject summary{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 13px;border-radius:9px;cursor:pointer;border:1px solid #d8c3c3;background:#fff;color:#822a32;font:inherit;font-size:12px;font-weight:700;line-height:1.2;transition:background .15s ease}
.approval-icon--accept{background:#83151d;border-color:#83151d;color:white}
.approval-icon--accept:hover{background:#670d14}
.approval-icon--reject:hover,.approval-reject summary:hover{background:#f9eeee}
.approval-icon .action-icon,.approval-reject .action-icon{width:18px;height:18px}
.approval-icon:focus-visible,.approval-reject summary:focus-visible{outline:2px solid #9e5056;outline-offset:3px}
.approval-consent{font-size:12px;line-height:1.5;display:inline-flex;gap:7px;align-items:flex-start;max-width:240px;color:#544}
.approval-consent input{margin:3px 0 0;accent-color:#83151d}
.approval-reject{display:inline-block;min-width:0}
.approval-reject summary{list-style:none}
.approval-reject summary::-webkit-details-marker{display:none}
.approval-reject[open]{flex-basis:100%}
.approval-reject form{margin-top:10px;display:grid;gap:10px;padding:12px;background:#fcf8f8;border:1px solid #ebdcdc;border-radius:10px}
.approval-reject label{display:grid;gap:6px;font-size:12px;font-weight:600}
.approval-reject textarea{max-width:100%;width:100%;min-width:0;border:1px solid #d8cbcb;border-radius:7px;padding:10px;font:inherit;font-size:14px;resize:vertical}
.approval-reason{font-size:12px;color:#75626a;flex:1;line-height:1.45}
.approval-request__actions--registration-upload{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:9px}
.approval-request__actions--registration-upload>.approval-inline-form,.approval-request__actions--registration-upload>.approval-inline-form .approval-icon{width:100%}
.approval-request__actions--registration-upload .approval-icon--reject{background:#fff;color:#8f2e2e;border-color:#dfcaca;font-weight:650}
.approval-request__actions--registration-upload .approval-icon--reject:hover{background:#fbf4f4;border-color:#cdaaaa}
.approval-upload{display:block;width:100%;min-width:0}
.approval-upload>summary{list-style:none;display:flex;align-items:center;justify-content:flex-start;gap:11px;min-height:60px;padding:9px 12px;border:1px solid #d8c3c3;border-radius:11px;background:#fff;color:#822a32;cursor:pointer;font-size:13px;font-weight:700;line-height:1.3;transition:background-color .15s,border-color .15s}
.approval-upload>summary::marker{content:""}
.approval-upload>summary::-webkit-details-marker{display:none}
.approval-upload__summary-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:9px;background:#f8eded;color:#83151d}
.approval-upload__summary-icon .action-icon{width:19px;height:19px}
.approval-upload__summary-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px;text-align:left}
.approval-upload__summary-copy strong{font-size:13px;line-height:1.35;color:#2c2224}
.approval-upload__summary-copy small{font-size:11px;line-height:1.35;font-weight:500;color:var(--muted)}
.approval-upload__summary-chevron{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:auto;font-size:24px;font-weight:400;line-height:1;transform:rotate(0);transition:transform .15s ease}
.approval-upload[open] .approval-upload__summary-chevron{transform:rotate(90deg)}
.approval-upload>summary:focus-visible{outline:2px solid #9e5056;outline-offset:3px}
.approval-upload>summary:hover{background:#fcf8f8;border-color:#c9aaaa}
.approval-upload[open]>summary{background:#f9f3f3;border-color:#c9aaaa;border-radius:10px 10px 8px 8px}
.approval-upload>form{display:grid;gap:12px;margin-top:8px;padding:14px;border:1px solid #e7dada;border-radius:10px;background:#fcf9f9}
.approval-upload__note{margin:0!important;padding:9px 10px;border-radius:8px;background:#fff7e8;color:#71551d!important;font-size:12px!important;line-height:1.45}
.approval-upload .receipt-field{gap:8px}
.approval-upload .receipt-upload{min-height:72px;padding:11px 12px}
.approval-upload .receipt-submit{min-height:44px}
@media(prefers-reduced-motion:reduce){.approval-upload>summary,.approval-upload__summary-chevron{transition:none}}
.approval-proof-link{font-size:12px;text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:38px;margin-right:auto;font-weight:600}
.approval-proof-link .action-icon{width:15px;height:15px}
.approval-request__actions--payment{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px}
.approval-request__actions--payment .approval-proof-link{width:max-content;min-height:40px;margin:0;padding:6px 0}
.approval-consent--payment{max-width:none;width:100%;padding:11px 12px;border-radius:9px;background:#faf7f7;border:1px solid #eee4e4}
.approval-payment-decisions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:start}
.approval-payment-decisions .approval-inline-form,.approval-payment-decisions .approval-icon,.approval-payment-decisions .approval-reject,.approval-payment-decisions .approval-reject>summary{width:100%}
.approval-payment-decisions .approval-icon,.approval-payment-decisions .approval-reject>summary{min-height:44px}
.approval-payment-reject[open]{grid-column:1/-1}
.approval-payment-reject form{width:100%}
.approval-empty{padding:18px;border:1px dashed #e2d8d8;border-radius:10px;background:#fff;color:var(--muted);font-size:13px}
/* Compact icon-only actions on the legacy payment tab as well. */
.payment-proofs-table .proof-review-btn{min-width:40px;width:40px;min-height:40px;padding:8px;border-radius:9px}
.payment-proofs-table .proof-review-btn .action-icon{width:18px;height:18px}
.payment-proofs-table .proof-reject[open]{flex-basis:100%}
@media(max-width:720px){
 .approval-workspace{gap:22px}
 .approval-workspace__intro{align-items:flex-start;padding:17px;flex-wrap:wrap;gap:8px}
 .approval-workspace__intro h2{font-size:22px}
 .approval-grid{grid-template-columns:1fr}
 .approval-section__head h2{font-size:18px}
 .approval-request{padding:15px}
 .approval-workspace__hint{margin-top:-9px}
}


/* V53.1 approvals hotfix: visually consistent request review on desktop/mobile.
   The stylesheet URL is updated as part of this release to prevent stale CSS. */
.approval-workspace{max-width:100%;gap:22px}
.approval-workspace__intro{padding:20px 22px;gap:16px}
.approval-workspace__intro h2{font-weight:650;letter-spacing:-.5px}
.approval-workspace__total{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 12px;border-radius:8px;background:#f8f0f0;border:1px solid #eee0e0;color:#6b1515}
.approval-workspace__hint{margin:0 2px;color:#777;gap:6px;line-height:1.55}
.approval-section__head{padding:0 2px;margin-bottom:12px}
.approval-section__head h2{font-weight:650;letter-spacing:-.3px}
.approval-section__head p{max-width:72ch}
.approval-section__count{font-weight:600}
.approval-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));align-items:stretch;gap:14px}
.approval-request{border:1px solid #e5dddd;box-shadow:0 3px 14px rgba(30,15,15,.025);padding:20px;gap:12px}
.approval-request__kind{color:#6b1515;font-weight:700;font-size:11px;letter-spacing:.035em}
.approval-request__top{align-items:flex-start;min-height:22px}
.approval-request h3{font-size:17px;font-weight:650}
.approval-request p{font-size:13px}
.approval-request__actions{min-height:48px;gap:9px;padding-top:14px;margin-top:auto}
.approval-icon,.approval-reject summary{min-height:44px;padding:10px 14px;border-radius:10px;-webkit-tap-highlight-color:transparent}
.approval-icon .action-icon,.approval-reject .action-icon{width:19px;height:19px}
.approval-reject summary{user-select:none}
.approval-proof-link{font-size:13px;white-space:nowrap}
.approval-empty{padding:16px 18px;background:#fff;border-style:solid;color:#747474}
.approval-reason{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:700px){
 .approval-workspace{gap:20px}
 .approval-workspace__intro{padding:17px;align-items:flex-start}
 .approval-workspace__intro h2{font-size:23px}
 .approval-workspace__total{font-size:12px}
 .approval-section__head{gap:8px;flex-wrap:wrap}
 .approval-section__head h2{font-size:18px}
 .approval-section__meta{width:100%;justify-content:space-between}.approval-bulk-reminder{margin-inline-start:auto}
 .approval-grid{grid-template-columns:minmax(0,1fr)}
 .approval-request{padding:17px}
 .approval-request__actions{gap:10px}
 .approval-icon,.approval-reject summary{width:auto;min-width:44px;min-height:44px}
}

/* One decision queue and phone-first tournament operations. */
.attendance-approval-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;margin:0 0 14px;border:1px solid #eadede;border-radius:10px;background:#fcf8f8;font-size:13px}
@media(max-width:700px){
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}
 .panel{padding:16px;border-radius:10px}
 .detail-top>div:last-child,.detail-top>div:last-child>.btn{width:100%}
 .tabs{margin-inline:-14px;padding-inline:14px;scroll-snap-type:x proximity}
 .tab{scroll-snap-align:start}
 .draw-adjustments .section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
 .draw-adjustments .section-heading p{margin-bottom:0}
 .draw-matchup-list{gap:12px}
 .draw-matchup{padding:9px 13px 14px;border-radius:10px}
 .draw-matchup legend{font-size:14px}
 .draw-matchup__meta{margin-bottom:10px}
 .draw-matchups-form>.btn{width:100%;min-height:48px}
 .draw-matchup select{min-height:48px}
 .approval-request__actions{align-items:stretch}
 .approval-proof-link{width:100%;min-height:44px;margin:0;padding:9px 0}
 .approval-inline-form,.approval-inline-form .approval-icon,.approval-reject,.approval-reject>summary{width:100%}
 .approval-reject form{width:100%}
 .attendance-approval-link{align-items:stretch;flex-direction:column}
 .attendance-approval-link .btn{width:100%;min-height:44px}
 .attendance-player-table,.audience-attendance__table{overflow:visible;border:0;background:transparent}
 .attendance-player-table .table,.audience-attendance__table .table{display:block;min-width:0!important;width:100%}
 .attendance-player-table thead,.audience-attendance__table thead{display:none}
 .attendance-player-table tbody,.audience-attendance__table tbody{display:grid;gap:11px}
 .attendance-player-table tr,.audience-attendance__table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:15px;border:1px solid var(--line);border-radius:11px;background:#fff}
 .attendance-player-table td,.audience-attendance__table td{display:block!important;min-width:0!important;padding:0!important;border:0!important;text-align:start!important;overflow-wrap:anywhere}
 .attendance-player-table td::before,.audience-attendance__table td::before{content:attr(data-label);display:block;margin-bottom:3px;color:var(--muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
 .attendance-player-table td:nth-child(2),.attendance-player-table td:nth-child(3),.audience-attendance__table td:nth-child(2),.audience-attendance__table td:nth-child(3){grid-column:1/-1}
 .attendance-search{grid-template-columns:1fr 1fr}.attendance-search input[type="search"]{grid-column:1/-1}.attendance-search .btn{width:100%}
 .audience-pagination{width:100%;margin-inline:0;grid-template-columns:1fr auto 1fr}.audience-pagination .btn{width:100%}
}
@media(max-width:360px){
 .page-container{padding-inline:12px}
 .panel{padding:14px}
 .draw-adjustments .section-heading{grid-template-columns:1fr}
 .draw-adjustments .section-heading>.badge{justify-self:start}
 .attendance-player-table tr,.audience-attendance__table tr{grid-template-columns:1fr}
 .attendance-player-table td,.audience-attendance__table td{grid-column:1!important}
 .audience-pagination{grid-template-columns:1fr 1fr}.audience-pagination__count{grid-column:1/-1;grid-row:1}.audience-pagination .btn{grid-row:2}
}

/* V55: quieter approval empty state, founder team maintenance & finance ledger */
.approval-workspace--empty{gap:12px}
.approval-workspace--empty .approval-workspace__intro{border-radius:10px;padding:18px 20px}
.approval-overview-empty{border:1px solid #e8e1e1;border-radius:10px;background:#fff;padding:32px 24px;text-align:center}
.approval-overview-empty strong{font-weight:650;display:block;font-size:17px}
.approval-overview-empty p{color:var(--muted);font-size:13px;margin:7px 0 15px}
.approval-overview-empty a{font-weight:600;color:var(--brand)}
.approval-workspace .approval-section:has(.approval-empty){display:none}
.approval-icon[title],.approval-reject summary[title]{min-width:40px;padding:10px}
.approval-icon--labelled[title],.approval-payment-reject summary[title]{padding:10px 14px}
.approval-icon .sr-only,.approval-reject summary .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.manual-team-editor{margin:0 0 22px;border:1px solid #e5dddd;border-radius:10px;background:white;overflow:visible}
.manual-team-editor>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;color:var(--brand);font-weight:650;font-size:14px}
.manual-team-editor>summary::-webkit-details-marker{display:none}
.manual-team-editor>summary span{font-weight:400;font-size:24px;line-height:16px}
.manual-team-editor[open]>summary{border-bottom:1px solid #f0e8e8}
.manual-team-editor[open]>summary span{transform:rotate(45deg)}
.manual-team-editor__body{padding:18px 20px 22px}
.manual-team-editor__body>.muted{margin:0 0 16px;font-size:13px}
.team-admin-action{display:block;text-decoration:none;font-size:13px;color:var(--ink);padding:11px 12px;font-weight:550;border-radius:6px}
.team-edit-guidance{margin:0;padding:13px 15px;border-left:3px solid #8d3035;border-radius:0 8px 8px 0;background:#faf6f6;color:var(--muted);font-size:13px;line-height:1.55}
.team-edit-guidance strong{color:var(--ink)}
.team-admin-action:hover{background:#f8f0f0;color:var(--brand)}
.row-action-panel .inline-form .btn--danger{width:100%;font-size:13px;font-weight:550}
.team-edit-page{max-width:780px;margin:0 auto}
.team-edit-back{display:inline-flex;align-items:center;gap:5px;min-height:36px;margin-bottom:18px;padding:7px 11px 7px 8px;border-radius:999px;background:#f6f1f1;color:var(--brand);font-size:13px;font-weight:650;text-decoration:none;transition:background .15s ease,transform .15s ease}
.team-edit-back:hover{background:#eee4e4;transform:translateX(-2px)}
.team-edit-back:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.team-edit-back svg{flex:none}
.team-edit-page .form-stack{border:1px solid #e6dddd;background:#fff;padding:24px;border-radius:12px;margin-top:20px;gap:18px}
.team-edit-current{display:grid;grid-template-columns:135px minmax(0,1fr);gap:8px 14px;font-size:13px;border-block:1px solid #efe7e7;padding:14px 0;line-height:1.6}
.team-edit-current strong{font-weight:600;color:var(--muted)}
.team-edit-actions{display:flex;gap:12px;flex-wrap:wrap}
.payment-ledger{min-width:0}
.payment-ledger-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin:0 0 20px}
.payment-ledger-heading h2{font-size:23px;margin:0 0 5px}
.payment-ledger-heading p{font-size:13px;line-height:1.5;margin:0;max-width:75ch}
.payment-ledger-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid #e8dfdf;background:#fff;border-radius:10px;margin-bottom:24px}
.payment-ledger-stats>div{padding:17px 20px;display:flex;flex-direction:column;gap:6px;min-width:0}
.payment-ledger-stats>div+div{border-left:1px solid #eee7e7}
.payment-ledger-stats strong{font-size:24px;line-height:1.1;font-weight:650}
.payment-ledger-stats span{font-size:12px;color:var(--muted)}
.payment-ledger-filters{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:0 0 12px;padding:0}
.payment-ledger-filters--status{margin:0 0 18px}
.payment-ledger-filter{padding:9px 12px;border:1px solid #e7dddd;border-radius:8px;background:#fff;color:#655e60;text-decoration:none;font-size:13px;font-weight:600;min-height:38px;display:inline-flex;align-items:center}
.payment-ledger-filter:hover{border-color:#c7a6a6;color:var(--brand)}
.payment-ledger-filter.active{color:var(--brand);border-color:#ad8181;background:#fbf5f5}
.payment-ledger-caption{color:var(--muted);font-size:12px;margin:0 0 10px}
.payment-ledger-table-wrap{border:1px solid #e5dfdf;border-radius:10px;background:#fff;overflow-x:auto}
.payment-ledger-table{min-width:970px;width:100%;table-layout:auto}
.payment-ledger-table th{white-space:nowrap;font-size:12px}
.payment-ledger-table td{vertical-align:middle;font-size:13px;overflow-wrap:anywhere}
.payment-ledger-table td:nth-child(2){min-width:190px;max-width:280px}
.payment-ledger-table td:nth-child(7){min-width:150px}
.payment-ledger-members{white-space:normal;font-size:11px;line-height:1.4;margin-top:4px}
.payment-ledger-receipt{display:inline-flex;align-items:center;gap:7px;color:var(--brand);font-size:12px;font-weight:650;white-space:nowrap;text-decoration:none}
.payment-ledger-receipt .action-icon{width:17px;height:17px}
.payment-ledger-empty{padding:26px!important;color:var(--muted);text-align:center}
.payment-discounts{margin:22px 0 0;border:1px solid #e5dfdf;border-radius:12px;background:#fff;overflow:hidden}.payment-discounts__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #eee8e8}.payment-discounts__heading h3{margin:0;font-size:15px}.payment-discounts__heading>span{color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap}.payment-discounts__list{display:grid}.payment-discount-card{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(180px,1fr) minmax(145px,.7fr) auto;align-items:center;gap:18px;padding:15px 16px;background:#fff}.payment-discount-card+.payment-discount-card{border-top:1px solid #eee8e8}.payment-discount-card>div{display:grid;gap:3px;min-width:0}.payment-discount-card span{color:var(--muted);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.payment-discount-card small{color:var(--muted);font-size:10px}.payment-discount-card__person strong{font-size:13px}.payment-discount-card__code code{justify-self:start;padding:4px 7px;border-radius:6px;background:#f8f1f1;color:var(--brand);font:700 11px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.payment-discount-card__value strong{color:var(--brand);font-size:17px;line-height:1.15}.payment-discount-card__value small{display:flex;align-items:center;gap:7px}.payment-discount-card__value s{color:#999}.payment-discount-card__value b{color:var(--ink);font-weight:650}.payment-discount-card__status{justify-items:end}.payment-discount-card__status>span{width:100%;text-align:end}
.promo-code-manager{margin-top:26px;border:1px solid #e4dddd;border-radius:14px;background:#fff;overflow:hidden}.promo-code-manager__heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid #eee8e8}.promo-code-manager__heading h3{margin:0 0 3px;font-size:17px}.promo-code-manager__heading p{margin:0;color:var(--muted);font-size:12px}.promo-code-manager__heading>span{padding:5px 9px;border-radius:20px;background:#f5eeee;color:var(--brand);font-size:10px;font-weight:700;white-space:nowrap}.promo-code-manager__body{display:grid;grid-template-columns:minmax(310px,.7fr) minmax(320px,1.3fr);gap:16px;padding:16px 20px 20px}.promo-code-manager--has-codes .promo-code-manager__body{display:block}.promo-code-generator{display:grid;grid-template-columns:145px minmax(135px,auto);align-items:end;align-content:start;gap:10px;padding:14px;border:1px solid #eee6e6;border-radius:11px;background:#faf8f8}.promo-code-generator label{display:grid;gap:6px;font-size:10px;font-weight:700;color:#62595a;text-transform:uppercase;letter-spacing:.04em}.promo-code-generator__input{display:flex;align-items:center;width:100%;height:44px;border:1px solid #d9cece;border-radius:9px;background:#fff;overflow:hidden}.promo-code-generator__input:focus-within{border-color:#a97070;box-shadow:0 0 0 3px rgba(107,21,21,.08)}.promo-code-generator__input input{width:100%;height:100%;min-width:0;padding:8px 4px 8px 12px;border:0;outline:0;background:transparent;font-size:15px;font-weight:650}.promo-code-generator__input b{padding:0 12px;color:var(--brand);font-size:13px}.promo-code-generator>.btn{height:44px}.promo-code-empty{display:flex;align-items:center;gap:12px;min-height:88px;padding:16px;border:1px dashed #ded2d2;border-radius:11px;background:#fdfcfc}.promo-code-empty>span{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:10px;background:#f4eaea;color:var(--brand);font-size:16px;font-weight:700}.promo-code-empty>div{display:grid;gap:2px}.promo-code-empty strong{font-size:12px}.promo-code-empty small{color:var(--muted);font-size:11px}.promo-code-list{display:grid;margin-top:14px;border:1px solid #eee7e7;border-radius:10px;overflow:hidden}.promo-code-manager--has-codes .promo-code-list{margin-top:14px}.promo-code-manager--has-codes .promo-code-generator{grid-template-columns:145px auto;justify-content:start}.promo-code-row{display:grid;grid-template-columns:minmax(190px,1fr) 90px 70px 90px auto;align-items:center;gap:12px;padding:11px 12px}.promo-code-row+.promo-code-row{border-top:1px solid #eee7e7}.promo-code-row__code{display:flex;align-items:center;gap:7px;min-width:0}.promo-code-row__code code{font:700 12px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--brand)}.promo-code-row__code button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #dbcaca;border-radius:8px;background:#fff;color:var(--brand)}.promo-code-row__code .action-icon{width:15px;height:15px}.promo-code-row>strong{font-size:12px}.promo-code-row>span{color:var(--muted);font-size:11px}.promo-code-row>form{margin:0}.promo-code-row__expired{text-align:end}
@media(max-width:720px){
 .payment-ledger-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .payment-ledger-stats>div:nth-child(3){border-left:0;border-top:1px solid #eee7e7}
 .payment-ledger-stats>div:nth-child(4){border-top:1px solid #eee7e7}
 .payment-ledger-heading{flex-wrap:wrap}
 .payment-ledger-heading h2{font-size:21px}
 .manual-team-editor__body{padding:15px}
 .team-edit-current{grid-template-columns:1fr;gap:3px}
 .team-edit-page .form-stack{padding:17px}
}

/* V56 interface polish — balanced tables and match manager, no UI regressions. */
.payment-ledger{width:100%;}
.payment-ledger-heading{align-items:center;margin-bottom:22px}
.payment-ledger-heading>.btn{flex-shrink:0}
.payment-ledger-stats>div strong{display:block;font-variant-numeric:tabular-nums}
.payment-ledger-filters{row-gap:9px}
.payment-ledger-table{border-collapse:collapse}
.payment-ledger-table td,.payment-ledger-table th{padding:13px 12px}
.payment-ledger-table td:last-child,.payment-ledger-table th:last-child{text-align:start}
.payment-ledger-table-wrap{max-width:100%}
.payment-ledger-table .badge{white-space:nowrap}
.manual-team-editor>summary{font-weight:600}
.manual-team-editor>summary:focus-visible{outline:2px solid #8d0000;outline-offset:-3px}
.manual-team-editor__body form{margin-top:5px}
.manual-team-editor .form-grid{margin-bottom:3px}
.team-admin-hint{font-size:11px;color:var(--muted);max-width:240px;padding:10px 12px;line-height:1.4}
.manage-entries-wrap{max-width:100%;overflow-x:auto}
@media(min-width:1000px){
 .manage-entries-table{min-width:0;width:100%;table-layout:fixed}
 .manage-entries-table th,.manage-entries-table td{padding:13px 12px;min-width:0}
 .manage-entries-table th:nth-child(1){width:4%}
 .manage-entries-table th:nth-child(2){width:7%}
 .manage-entries-table th:nth-child(3){width:27%}
 .manage-entries-table th:nth-child(4){width:28%}
 .manage-entries-table th:nth-child(5){width:10%}
 .manage-entries-table th:nth-child(6){width:16%}
 .manage-entries-table th:nth-child(7){width:8%}
 .manage-entries-table td:nth-child(3),.manage-entries-table td:nth-child(4){overflow-wrap:anywhere}
 .manage-entries-table td:last-child{overflow:visible}
}
.match-row{min-width:0;align-items:center;gap:20px;padding:17px 20px}
.match-row>div:first-child{flex:1;min-width:0}
.match-row .match-actions{flex:0 1 48%;justify-content:flex-end;align-items:center;gap:9px;min-width:0;white-space:normal}
.match-row .match-actions>.inline-form,.match-row .match-actions>.subtle{margin:0}
.match-row .match-actions select{max-width:165px;min-width:120px}
.match-row .match-actions .match-note-editor{max-width:100%;margin:0}
.match-row .match-actions .match-note-editor>summary{white-space:nowrap}
.match-row .match-actions .match-note-editor[open]{flex-basis:100%}
.match-row .match-actions .match-note-editor form{white-space:normal}
.bracket-bronze{margin-top:15px;padding-top:12px;border-top:1px dashed #d9caca}
.bracket-box--bronze{border-color:#d7baba;background:#fffafa}
.bronze-setup{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 22px;border:1px solid #e2d5d5;border-radius:11px;background:#fff;margin:20px 0}
.bronze-setup strong{font-size:15px}
.bronze-setup p{margin:6px 0 0;font-size:12px;max-width:620px}
.bronze-setup>.inline-form{flex-shrink:0}
.bronze-option{margin:12px 0 16px;gap:9px;font-size:13px}
@media(max-width:980px){.match-row{align-items:stretch;flex-direction:column}.match-row .match-actions{flex:auto;width:100%;justify-content:flex-start}}
@media(max-width:720px){.payment-ledger-heading{align-items:flex-start}.payment-ledger-stats>div{padding:15px}.bronze-setup{align-items:stretch;flex-direction:column}.match-row .match-actions select{max-width:100%}}

/* V57 — tournament management: calm, aligned match controls, compact draw editor. */
.tournament-players-section .players-heading-actions{gap:12px;align-self:center}
.tournament-players-section .players-heading-actions .excel-download{width:56px;min-width:56px;min-height:40px;padding:7px;justify-content:center;gap:5px}
.tournament-players-section .players-heading-actions .excel-download .action-icon{flex:none}
.team-registration-history{margin-top:32px;padding-top:15px;border-top:1px solid var(--line)}
.team-registration-history>details>summary{display:list-item;padding:9px 0 14px;font-size:13px;color:var(--muted)}
.manage-match-row{align-items:start;gap:24px;padding:19px 22px}
.manage-match-row>div:first-child{flex:1 1 52%;align-self:flex-start;min-width:0}
.manage-match-row>.match-actions{display:block;flex:0 1 45%;width:45%;min-width:280px;max-width:100%;text-align:start}
.match-control-panel{display:flex;flex-direction:column;gap:12px;min-width:0}
.match-control-panel__top{display:flex;align-items:flex-end;justify-content:flex-end;gap:11px;flex-wrap:wrap;min-width:0}
.match-referee-form{margin:0;flex:1 1 230px;max-width:330px;min-width:0}
.match-referee-form>label,.match-referee-readonly>span{display:block;margin-bottom:5px;color:var(--muted);font-size:11px;font-weight:600}
.match-referee-form__fields{display:flex;align-items:stretch;gap:6px;min-width:0}
.manage-match-row .match-actions .match-referee-form__fields select{width:100%;min-width:0;max-width:none;flex:1 1 auto;height:43px;padding:8px 26px 8px 11px;border-radius:8px;border:1px solid var(--line);background-color:#fff;color:var(--ink);font-size:12px}
.manage-match-row .match-actions .match-referee-form__fields .btn{min-height:43px;flex:none;padding-inline:15px}
.match-referee-readonly{margin-right:auto;min-width:0;font-size:12px}
.match-referee-readonly>strong{font-weight:600;overflow-wrap:anywhere}
.manage-match-row .match-actions .match-note-editor{flex:0 0 auto;max-width:100%;margin:0;min-width:0}
.manage-match-row .match-note-editor>summary{min-height:43px;display:flex;align-items:center;gap:6px;padding:9px 13px;font-size:12px;font-weight:600;line-height:1.3;color:var(--brand);background:#fff;border:1px solid #dccaca;border-radius:8px;list-style:none;cursor:pointer;white-space:normal}
.manage-match-row .match-note-editor>summary::-webkit-details-marker{display:none}
.manage-match-row .match-note-editor>summary::before{content:'+';font-size:18px;font-weight:400;line-height:1}
.manage-match-row .match-note-editor[open]>summary::before{content:'−'}
.manage-match-row .match-note-editor[open]{flex:1 0 100%;min-width:0}
.manage-match-row .match-note-editor[open]>summary{border-radius:8px 8px 0 0;background:#faf7f7}
.manage-match-row .match-note-editor .form-stack{display:flex;flex-direction:column;gap:11px;border:1px solid #dccaca;border-top:0;border-radius:0 0 8px 8px;padding:14px;background:#fff;white-space:normal}
.manage-match-row .match-note-editor .form-stack .field{min-width:0}
.manage-match-row .match-note-editor .form-stack textarea{width:100%;min-height:92px}
.manage-match-row .match-note-editor .form-stack .btn{width:auto;align-self:flex-end;min-height:38px}
.match-control-panel__secondary{display:flex;flex-wrap:wrap;align-items:center;gap:9px;min-width:0;justify-content:flex-end}
.match-control-panel__secondary>.inline-form{margin:0}
.match-control-panel__secondary .stack{max-width:100%}
.match-control-panel__secondary>.watch-score-form{width:100%}
.bracket-page-heading__title{display:flex;align-items:center;gap:7px;min-width:0}
.bracket-page-heading__title h2{margin:0}
.bracket-edit-trigger{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;padding:4px;border:0;background:transparent;color:var(--brand);cursor:pointer;border-radius:5px}
.bracket-edit-trigger:hover{opacity:.7}
.bracket-edit-trigger:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.bracket-edit-trigger .action-icon{width:17px;height:17px}
.draw-adjustments{display:block;margin:0 0 14px}
.bracket-editor{width:100%;max-width:100%}
.bracket-editor__content{padding:20px 22px 17px;border:1px solid #e8dede;border-radius:12px;background:#fff}
.bracket-editor__content .section-heading{margin:0 0 10px}
.bracket-editor__content .section-heading h2{font-size:17px;margin:0 0 5px}
.bracket-editor__content .draw-edit-form{padding:10px 0}
.bracket-editor__content .draw-edit-form .btn{align-self:flex-end}
.bracket-editor__content .draw-matchup{background:#fcfbfb}
@media(max-width:1100px){
 .manage-match-row{flex-direction:column;align-items:stretch}
 .manage-match-row>div:first-child,.manage-match-row>.match-actions{flex:auto;width:100%;min-width:0}
 .match-control-panel__top,.match-control-panel__secondary{justify-content:flex-start}
}
@media(max-width:660px){
 .manage-match-row{padding:15px 14px;gap:15px}
 .match-referee-form{max-width:none;flex:1 1 100%}
 .match-control-panel__top{align-items:stretch}
 .manage-match-row .match-actions .match-note-editor:not([open]){width:100%}
 .manage-match-row .match-actions .match-note-editor>summary{justify-content:center}
 .bracket-editor__content{padding:14px}
 .bracket-editor__content .draw-edit-form .btn{width:100%}
}
/* V57 player directory export matches the Teams toolbar: icons only. */
.tournament-players-section>.section-heading>.excel-download{align-self:center;flex:none;min-height:40px;padding-inline:11px;gap:6px;justify-content:center}
.tournament-players-section>.section-heading>.excel-download .action-icon--excel{width:20px;height:20px}
.tournament-players-section>.section-heading>.excel-download .action-icon:not(.action-icon--excel){width:16px;height:16px}
@media(max-width:700px){.tournament-players-section>.section-heading>.excel-download{margin-inline-start:auto}}

/* V58 · streamlined tournament management (mobile-first). */
.payment-ledger-toolbar{display:flex;gap:14px;justify-content:space-between;align-items:end;flex-wrap:wrap;margin:18px 0 12px}
.payment-ledger-filter-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap;min-width:0}
.payment-ledger-filter-form label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:11px;font-weight:600}
.payment-ledger-filter-form select{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:43px;color:var(--ink);font-size:13px;font-weight:500;padding:9px 31px 9px 12px;min-width:145px;max-width:100%;width:100%}
.payment-ledger-filter-form label:first-of-type select{min-width:174px}
.payment-ledger-toolbar .payment-ledger-caption{margin:0;padding:0 0 10px;white-space:nowrap}
.payment-mobile-list{display:none}
.manage-match-row{align-items:center;gap:16px;padding:15px 18px}
.manage-match-row>.match-actions{flex:0 1 38%;width:38%;min-width:200px}
.manage-match-row .match-meta{flex-wrap:wrap;row-gap:6px}
.manage-match-row .match-teams{line-height:1.4;gap:8px 12px}
.match-admin-editor{width:100%;min-width:0}
.match-admin-editor>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:41px;border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:8px}
.match-admin-editor>summary::-webkit-details-marker{display:none}
.match-admin-editor>summary:hover{background:#fcfafa;border-color:#cbbcbc}
.match-admin-editor>summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.match-admin-editor__ref{font-size:12px;color:var(--muted);min-width:0;overflow-wrap:anywhere}
.match-admin-editor__ref strong{color:var(--ink);font-weight:600}
.match-admin-editor__edit{color:var(--brand);font-size:12px;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.match-admin-editor__edit span{display:inline-block;font-size:18px;line-height:1;transition:transform .15s}
.match-admin-editor[open] .match-admin-editor__edit span{transform:rotate(180deg)}
.match-admin-editor[open]>summary{border-radius:8px 8px 0 0;background:#fcfafa}
.match-admin-editor__content{padding:14px;background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px}
.match-admin-editor .match-control-panel__top{justify-content:flex-start;align-items:stretch;flex-direction:column;gap:12px}
.match-admin-editor .match-referee-form{max-width:none;flex:auto;width:100%}
.match-admin-editor .match-note-editor{width:100%;max-width:none}
.manage-match-row .match-actions .match-note-editor:not([open]){width:100%}
.manage-match-row .match-note-editor>summary{justify-content:flex-start;min-height:38px;padding:8px 10px;border-color:var(--line);font-size:12px}
.manage-match-row .match-note-editor .form-stack{padding:11px;border-color:var(--line)}
.manage-match-row .match-note-editor .form-stack .btn{max-width:100%}
.match-control-panel{gap:8px}
.match-readonly-ref{font-size:12px;color:var(--muted);margin:0}
.match-readonly-ref strong{color:var(--ink)}
@media(max-width:980px){
 .manage-match-row{align-items:stretch;flex-direction:column}
 .manage-match-row>.match-actions,.manage-match-row>div:first-child{width:100%;flex:auto;min-width:0}
}
@media(max-width:700px){
 .payment-ledger-heading{gap:10px}
 .payment-ledger-heading p{font-size:12px;line-height:1.45;margin-bottom:0}
 .payment-ledger-stats{margin-bottom:16px}
 .payment-ledger-filter-form{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .payment-ledger-filter-form label,.payment-ledger-filter-form label:first-of-type select{min-width:0;width:100%}
 .payment-ledger-filter-form select{min-width:0;width:100%;font-size:13px;padding-left:10px}
 .payment-filter-submit{grid-column:1 / -1;width:100%;min-height:38px}
 .payment-ledger-toolbar{margin:12px 0 13px;gap:7px}
 .payment-ledger-toolbar .payment-ledger-caption{padding:0;font-size:12px}
 .payment-ledger-table-wrap{display:none}
 .payment-mobile-list{display:grid;gap:9px}
 .payment-mobile-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px;min-width:0}
 .payment-mobile-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
 .payment-mobile-card__identity{display:flex;flex-direction:column;min-width:0;gap:3px;overflow-wrap:anywhere}
 .payment-mobile-card__identity>strong{font-size:13px;line-height:1.4}
 .payment-mobile-card__ref{font-size:11px;color:var(--muted)}
 .payment-mobile-card__amount{display:flex;flex-direction:column;align-items:flex-end;gap:7px;white-space:nowrap}
 .payment-mobile-card__amount>strong{font-size:13px;color:var(--ink)}
 .payment-mobile-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}
 .payment-mobile-card__details{font-size:12px;min-width:0;color:var(--muted)}
 .payment-mobile-card__details summary{cursor:pointer;color:var(--brand);font-weight:600;padding:4px}
 .payment-mobile-card__details[open]{flex-basis:100%}
 .payment-mobile-card__bottom:has(.payment-mobile-card__details[open]){flex-wrap:wrap}
 .payment-mobile-card__details>div{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
 .payment-mobile-card__details>div:first-of-type{margin-top:10px}
 .payment-mobile-card__details>div span{color:var(--muted)}
 .payment-mobile-card__details>div small{text-align:end;color:var(--ink)}
 .manage-match-row{padding:13px 14px;gap:12px;margin-bottom:9px}
 .manage-match-row .match-teams{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;font-size:13px;line-height:1.35}
 .manage-match-row .match-teams .vs{font-size:10px;line-height:1.2;margin:2px 0;text-transform:uppercase;letter-spacing:1px}
 .manage-match-row .match-bottom{font-size:11px;margin-top:8px}
 .manage-match-row .match-meta{margin-bottom:8px}
 .manage-match-row>.match-actions{width:100%}
 .manage-match-row .match-actions .match-referee-form__fields select{font-size:13px;min-width:0}
 .match-admin-editor>summary{min-height:42px;padding:8px 10px}
 .match-admin-editor__content{padding:12px}
 .match-control-panel__secondary{justify-content:flex-start}
 .manage-match-row .match-actions .match-note-editor>summary{justify-content:flex-start}
}
.js-enabled .payment-ledger-filter-form .payment-filter-submit{display:none}

/* Keep both teams and the versus marker in a stable, balanced match layout. */
.match-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;flex-wrap:nowrap}
.match-teams>span{min-width:0}
.match-teams>span:last-child{text-align:end}
.match-teams .team-identity{display:block;overflow-wrap:anywhere}
.match-teams .vs{align-self:center;justify-self:center;text-transform:uppercase}
@media(max-width:700px){
 .match-teams,.manage-match-row .match-teams{grid-template-columns:minmax(0,1fr);gap:6px}
 .match-teams>span:last-child,.manage-match-row .match-teams>span:last-child{text-align:start}
 .match-teams .vs,.manage-match-row .match-teams .vs{justify-self:center;margin:2px 0}
}

/* V61 · unified management tables, filters, stage notes, and staff workspace. */
.admin-data-table{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 1px 0 rgba(70,22,22,.02)}
.admin-data-table>.table,.admin-data-table table{margin:0;border:0;border-radius:0}
.admin-data-table thead th{background:#fbf9f9;color:#625959;font-size:12px;font-weight:650;letter-spacing:.01em}
.data-row{transition:background-color .16s ease,box-shadow .16s ease}
.data-row--expandable{cursor:pointer}
.data-row--expandable:hover>td,.data-row--expandable.is-expanded>td{background:#fcf7f7}
.data-row--expandable:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
.data-row--expandable:focus-visible>td{background:#fcf7f7}
.data-row-details[hidden]{display:none!important}
.data-row-details>td{padding:0!important;background:#fcfafa;border-top:0!important}
.row-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line)}
.row-detail-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;padding:15px 18px;background:#fcfafa;overflow-wrap:anywhere}
.row-detail-grid>div>span,.attendance-detail-list>span{color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.row-detail-grid>div>strong{font-size:13px}.row-detail-grid>div>small{color:var(--muted)}
.row-detail-grid__wide{grid-column:1 / -1}
.row-detail-grid .payment-ledger-members,.row-detail-grid .subtle{margin:0;color:var(--ink)}
.row-disclosure-cell{color:var(--brand);font-size:12px;font-weight:650;text-align:right}
.attendance-detail-list{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;padding:15px 18px;border-top:1px solid var(--line)}
.attendance-detail-list>span{flex-basis:100%}.attendance-detail-list>strong{font-size:13px}.attendance-detail-list small{color:var(--muted);font-weight:500}
.attendance-team-row>td{vertical-align:middle}
.attendance-team-row>td:nth-child(2){padding-block:14px}
.attendance-team-name{display:block;margin-bottom:9px;font-size:14px}
.attendance-team-card-head{display:none}
.attendance-team-roster{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap}
.attendance-player-status{display:inline-flex;align-items:flex-start;gap:8px;min-width:180px;color:var(--ink)}
.attendance-player-status>i{width:7px;height:7px;flex:none;margin-top:6px;border-radius:50%;background:#b9b1b1;box-shadow:0 0 0 3px #f3f0f0}
.attendance-player-status--checked>i{background:#2f7a43;box-shadow:0 0 0 3px #e6f3e9}
.attendance-player-status>span{display:grid;gap:1px}
.attendance-player-status strong{font-size:12px;line-height:1.4}
.attendance-player-status small{color:var(--muted);font-size:11px;line-height:1.35}
.attendance-player-table th:first-child{width:70px}
.attendance-player-table th:last-child{width:170px}

.payment-filter-groups{display:flex;align-items:end;gap:18px;flex:0 1 auto;flex-wrap:nowrap}
.payment-ledger-search{display:flex;align-items:center;gap:10px;flex:1 1 340px;width:auto;min-width:280px;margin:0}
.payment-ledger-search .integrated-search{flex:1 1 auto}
.payment-search-clear{flex:none;color:var(--brand);font-size:12px;font-weight:650;text-decoration:none;white-space:nowrap}
.payment-search-clear:hover{text-decoration:underline}
.payment-search-clear:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:3px}
.payment-filter-group{display:flex;flex-direction:column;gap:6px;min-width:0}
.payment-filter-group>span{color:var(--muted);font-size:11px;font-weight:650}
.segmented-tabs{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);border-radius:10px;background:#f7f4f4;max-width:100%;overflow:auto}
.segmented-tab{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:7px;color:#615959;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}
.segmented-tab:hover{background:#fff;color:var(--brand)}
.segmented-tab:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
.segmented-tab.is-active{background:#fff;color:var(--brand);box-shadow:0 1px 4px rgba(70,22,22,.11)}
.payment-ledger-table-wrap .payment-ledger-receipt{white-space:nowrap}
.attendance-player-table .table,.audience-attendance__table .table{min-width:680px}
@media(max-width:700px){.payment-ledger-search{align-items:stretch;flex-direction:column}.payment-search-clear{align-self:flex-start;padding:2px 1px}}


.staff-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}
.staff-heading h2{margin:0 0 6px}.staff-heading p{margin:0;max-width:680px}
.staff-count{display:inline-flex;align-items:center;min-height:32px;padding:6px 11px;border-radius:999px;background:#edf7ef;color:#286238;font-size:12px;font-weight:700;white-space:nowrap}
.staff-workspace{grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);gap:18px}
.staff-primary-column{display:grid;gap:18px;min-width:0;align-content:start}
.staff-assignment-card,.staff-side{border:1px solid var(--line);border-radius:14px;background:#fff;padding:22px!important;max-width:none}
.staff-side{border-left:1px solid var(--line)}
.staff-section-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:20px}
.staff-section-heading>span{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:9px;background:var(--brand-light);color:var(--brand);font-size:11px;font-weight:700}
.staff-section-heading h3{margin:0 0 3px;font-size:17px}.staff-section-heading p{margin:0;color:var(--muted);font-size:12px}
.staff-main>form{margin-top:0}.staff-form-actions{display:flex;justify-content:flex-end}.staff-form-actions .btn{width:auto;min-width:150px}
.staff-history{gap:0}.staff-history-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.staff-history-row:first-child{padding-top:0;border-top:0}.staff-history-row>div{min-width:0}
.staff-person{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.staff-person strong{font-size:14px}
.staff-role-label{display:flex;flex-wrap:wrap;gap:5px 9px;margin-top:7px;color:var(--ink);font-size:12px;text-transform:capitalize}.staff-role-label span{color:var(--muted)}
.staff-history-row .btn{min-height:36px;padding:7px 10px}
.staff-role-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}
.staff-role-token{display:inline-flex;align-items:center;gap:0;min-height:44px;color:var(--brand)}
.staff-role-token>strong{display:flex;align-items:center;min-height:44px;padding:9px 13px;border:1px solid #e3d5cf;border-start-start-radius:8px;border-end-start-radius:8px;background:#fff8f4;font-size:12px;font-weight:650;line-height:1.2}
.staff-role-token--inactive{gap:8px;padding-inline-end:12px;border:1px solid var(--line);border-radius:8px;background:#f5f4f3;color:var(--muted)}
.staff-role-token--inactive>strong{border:0;background:transparent}
.staff-role-token--inactive small{font-size:10px;text-transform:capitalize}
.staff-role-separator{color:#b8aaa4}
.staff-role-revoke{display:flex;margin:0}
.staff-role-revoke button{display:grid;place-items:center;width:44px;height:44px;margin-inline-start:-1px;padding:0;border:1px solid #e3d5cf;border-start-end-radius:8px;border-end-end-radius:8px;background:#fff;color:var(--brand);cursor:pointer}
.staff-role-revoke button:hover{background:#f0dfda}
.staff-role-revoke button:focus-visible{outline:3px solid rgba(123,19,24,.22);outline-offset:2px}
.staff-role-revoke .action-icon{width:14px;height:14px}
.staff-invitation{margin:0;padding:20px 22px;border:1px solid var(--line);border-radius:14px;background:#fff}
.staff-section-heading--compact{margin-bottom:14px}
.staff-link-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.staff-link-actions p{margin:0}

@media(max-width:900px){
 .staff-workspace{grid-template-columns:minmax(0,1fr)}
 .staff-primary-column{display:contents}
 .staff-side{border:1px solid var(--line);padding:20px!important}
}
@media(max-width:700px){
 .payment-filter-groups{width:100%;gap:12px;flex-direction:column;align-items:stretch}.payment-filter-group{width:100%}.segmented-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;width:100%;box-sizing:border-box}.segmented-tab{padding-inline:8px}
 .payment-ledger-toolbar{align-items:stretch}.payment-ledger-toolbar .payment-ledger-caption{align-self:flex-start}
 .row-detail-grid{grid-template-columns:minmax(0,1fr)}.row-detail-grid__wide{grid-column:auto}
 .staff-heading{align-items:center}.staff-assignment-card,.staff-side,.staff-invitation{padding:16px!important}.staff-form-actions .btn{width:100%}
 .staff-role-summary{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:8px}
 .staff-role-token{display:grid;grid-template-columns:minmax(0,1fr) 44px;width:100%;min-height:44px;overflow:hidden;border:1px solid #e3d5cf;border-radius:8px;background:#fff8f4}
 .staff-role-token>strong{min-width:0;border:0;border-radius:0;background:transparent}
 .staff-role-token--inactive{display:flex;padding-inline-end:12px;background:#f5f4f3}
 .staff-role-separator{display:none}
 .staff-role-revoke{height:100%;border-inline-start:1px solid #e3d5cf}
 .staff-role-revoke button{width:44px;height:100%;min-height:42px;margin:0;border:0;border-radius:0;background:transparent}
}
/* Tournament gallery · public previews and organizer photo drive */
.tournament-gallery,.gallery-admin{display:grid;gap:24px}
.gallery-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:28px;border:1px solid #eadfd9;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#fcf7f3 100%)}
.gallery-hero h1{margin:7px 0 6px;font-size:clamp(1.55rem,3vw,2.25rem)}
.gallery-hero p,.gallery-admin__heading p{margin:0;color:var(--muted)}
.gallery-admin{gap:16px}.gallery-admin__heading{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 22px;border:1px solid #eadfd9;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#fcf7f3 100%)}.gallery-admin__heading h2{margin:0;font-size:clamp(1.45rem,2.6vw,1.85rem)}.gallery-admin__title{display:flex;align-items:baseline;gap:10px}.gallery-admin__title>span{color:var(--brand);font-size:12px;font-weight:700}.gallery-admin__intro p{margin:5px 0 0}.gallery-admin__toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.gallery-admin__toolbar>.btn{flex:none}.gallery-quick-upload{display:flex;align-items:center;gap:9px}.gallery-upload__feedback{max-width:260px;margin:0;color:var(--muted);font-size:12px}.gallery-upload__feedback:empty{display:none}.gallery-quick-upload[aria-busy="true"] .btn{opacity:.62;pointer-events:none}
.gallery-hero__count{display:grid;min-width:92px;padding-inline-start:22px;border-inline-start:1px solid var(--line);text-align:end}.gallery-hero__count strong{font-size:2rem;line-height:1}.gallery-hero__count span{margin-top:5px;color:var(--muted);font-size:12px}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.gallery-card{position:relative;min-width:0;overflow:hidden;border:1px solid #e8dcd6;border-radius:16px;background:#f6efe9;box-shadow:0 8px 24px rgba(69,25,26,.06)}
.gallery-card__image{display:block;aspect-ratio:4/3;overflow:hidden;background:#efe5df}.gallery-card__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.gallery-card__image:hover img{transform:scale(1.025)}
.gallery-card__download,.gallery-card__remove button{position:absolute;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.66);border-radius:12px;background:rgba(255,255,255,.94);color:var(--brand);box-shadow:0 5px 16px rgba(38,18,18,.14);cursor:pointer}.gallery-card__download{inset-inline-end:10px;inset-block-end:10px}.gallery-card__remove{position:absolute;inset-inline-start:10px;inset-block-start:10px;margin:0}.gallery-card__remove button{position:static;color:#8b171c}.gallery-card__download:hover,.gallery-card__remove button:hover{background:#fff;color:var(--brand-dark)}
.gallery-access-gate{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:24px;border:1px solid #dfcfca;border-radius:18px;background:#fff}
.gallery-access-gate__icon{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:var(--brand-light);color:var(--brand)}.gallery-access-gate h2{margin:0 0 5px;font-size:1.15rem}.gallery-access-gate p{margin:0;color:var(--muted)}.gallery-access-gate__actions{display:flex;gap:9px;flex-wrap:wrap}
@media(max-width:760px){.gallery-hero{align-items:stretch;flex-direction:column;padding:20px}.gallery-admin__heading{align-items:stretch;flex-direction:column;padding:17px}.gallery-admin__toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.gallery-admin__toolbar>.btn{width:100%}.gallery-quick-upload{display:grid;grid-column:1 / -1;width:100%}.gallery-quick-upload .btn{width:100%}.gallery-upload__feedback{max-width:none}.gallery-hero__count{display:flex;align-items:baseline;gap:6px;padding:0;border:0;text-align:start}.gallery-access-gate{grid-template-columns:auto minmax(0,1fr)}.gallery-access-gate__actions{grid-column:1 / -1}.gallery-access-gate__actions .btn{flex:1}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery-card{border-radius:11px}.gallery-card__download,.gallery-card__remove button{width:40px;height:40px;border-radius:10px}.gallery-card__download{inset-inline-end:7px;inset-block-end:7px}.gallery-card__remove{inset-inline-start:7px;inset-block-start:7px}}
@media(max-width:390px){.gallery-access-gate{grid-template-columns:1fr}.gallery-access-gate__actions{grid-column:1}.gallery-access-gate__actions .btn{width:100%;flex:none}}
@media(prefers-reduced-motion:reduce){.gallery-card__image img{transition:none}}

/* Gallery preview selection and member-only downloads. */
.gallery-card__download{width:44px;min-width:44px;height:44px;min-height:44px;border:0;border-radius:0;background:transparent;color:#fff;box-shadow:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.9));backdrop-filter:none}
.gallery-card__download:hover{background:transparent;color:#f3d9d5;transform:translateY(-1px)}
.gallery-card__download:focus-visible{outline:2px solid #fff;outline-offset:-5px}
.gallery-grid--public-preview{grid-template-columns:repeat(2,minmax(0,1fr))}
.gallery-more-card{display:grid;align-content:center;justify-items:center;gap:12px;min-width:0;aspect-ratio:4/3;padding:22px;border:1px solid #decac2;border-radius:16px;background:linear-gradient(145deg,#fff 0%,#f6efe9 100%);text-align:center}
.gallery-more-card__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#f0e2de;color:var(--brand)}
.gallery-more-card h2{margin:0;font-size:clamp(1.05rem,2vw,1.3rem)}
.gallery-more-card p{max-width:260px;margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.gallery-more-card__actions{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.gallery-more-card__actions .btn{min-height:40px;padding:9px 16px}
.gallery-more-card__signin{color:var(--brand);font-size:13px;font-weight:700;text-decoration:none}
.gallery-more-card__signin:hover{text-decoration:none}
.gallery-admin__overview{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:2px 4px 14px;border-block-end:1px solid var(--line)}
.gallery-grid--admin .gallery-card{display:block;background:#f6efe9}
.gallery-card--preview{outline:2px solid rgba(36,103,69,.22);outline-offset:1px}
@media(max-width:760px){.gallery-grid--public-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-more-card{gap:8px;padding:14px;border-radius:11px}.gallery-more-card__icon{width:40px;height:40px;border-radius:12px}.gallery-more-card p{font-size:11px}.gallery-more-card__actions{gap:8px}.gallery-more-card__actions .btn{width:auto;min-height:38px;padding:8px 12px;font-size:12px}.gallery-card__download{width:38px;height:38px}}
@media(max-width:390px){.gallery-more-card{padding:11px}.gallery-more-card__icon{display:none}.gallery-more-card h2{font-size:1rem}.gallery-more-card p{line-height:1.35}.gallery-more-card__actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.gallery-more-card__actions .btn{width:100%;padding-inline:8px}}

/* Organizer photo actions stay hidden behind one compact overflow trigger. */
.gallery-grid--admin .gallery-card{overflow:visible}
.gallery-grid--admin .gallery-card__image{overflow:hidden;border-radius:15px}
.gallery-card__tools{position:absolute;z-index:5;inset-inline-end:10px;inset-block-start:10px;margin:0;color:#fff}
.gallery-card__tools[open]{z-index:12}
.gallery-card__tools>summary{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.7);border-radius:10px;background:rgba(255,255,255,.94);color:var(--brand);box-shadow:0 5px 16px rgba(38,18,18,.16);cursor:pointer;list-style:none;transition:background .16s ease,color .16s ease,transform .16s ease}
.gallery-card__tools>summary::-webkit-details-marker{display:none}
.gallery-card__tools>summary::marker{content:""}
.gallery-card__tools>summary:hover{background:#fff;color:var(--brand-dark);transform:translateY(-1px)}
.gallery-card__tools[open]>summary{background:var(--brand);color:#fff}
.gallery-card__tools-menu{position:absolute;inset-inline-end:0;inset-block-start:46px;display:grid;justify-items:center;gap:1px;width:42px}
.gallery-card__tools-menu>*{margin:0;opacity:0;transform:translateY(-8px)}
.gallery-card__tool{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;background:transparent;color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.9));cursor:pointer;text-decoration:none}
.gallery-card__tools[open] .gallery-card__tools-menu>*{animation:gallery-tool-drop .18s ease both}
.gallery-card__tools[open] .gallery-card__tools-menu>*:nth-child(2){animation-delay:.035s}
.gallery-card__tools[open] .gallery-card__tools-menu>*:nth-child(3){animation-delay:.07s}
.gallery-card__tool:hover{color:#f3d9d5}
.gallery-card__tool.is-selected{color:#bce7ca}
.gallery-card__tool--delete:hover{color:#ffb9b9}
.gallery-card__tool .action-icon{width:21px;height:21px}
.gallery-card__metric{position:absolute;inset-inline-start:11px;inset-block-end:10px;display:flex;align-items:center;gap:5px;color:#fff;font-size:13px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.92));pointer-events:none}.gallery-card__metric .action-icon{width:18px;height:18px}.gallery-card__metric strong{font-size:14px}
.gallery-admin__stats{display:flex;align-items:center;gap:0;color:var(--muted)}.gallery-admin__stats span{display:grid;gap:1px;min-width:66px;padding-inline:12px;border-inline-start:1px solid var(--line)}.gallery-admin__stats span:first-child{border-inline-start:0}.gallery-admin__stats strong{color:var(--text);font-size:16px;line-height:1}.gallery-admin__stats small{font-size:10px;text-transform:uppercase;letter-spacing:.05em}
@keyframes gallery-tool-drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.gallery-card__tools{inset-inline-end:7px;inset-block-start:7px}.gallery-card__tools>summary,.gallery-card__tool{width:40px;height:40px}.gallery-card__tools-menu{inset-block-start:43px;width:40px}.gallery-card__metric{inset-inline-start:8px;inset-block-end:8px}.gallery-admin__overview{align-items:flex-start;flex-direction:column;gap:12px;padding-inline:2px}.gallery-admin__stats{width:100%}.gallery-admin__stats span{flex:1;min-width:0}.gallery-admin__stats span:first-child{padding-inline-start:0}}
@media(prefers-reduced-motion:reduce){.gallery-card__tools>summary{transition:none}.gallery-card__tools[open] .gallery-card__tools-menu>*{animation:none;opacity:1;transform:none}}
.gallery-pagination{display:grid;grid-template-columns:44px auto 44px;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:100%;margin:10px auto 0;direction:ltr}
.gallery-pagination__arrow,.gallery-pagination__arrow-placeholder{width:44px;height:44px}
.gallery-pagination__arrow{display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--brand);text-decoration:none;transition:color .16s ease,transform .16s ease}
.gallery-pagination__arrow:hover{color:var(--brand-dark);text-decoration:none;transform:translateX(var(--gallery-arrow-shift,0))}
.gallery-pagination__arrow:first-child{--gallery-arrow-shift:-2px}.gallery-pagination__arrow:last-child{--gallery-arrow-shift:2px}
.gallery-pagination__arrow:focus-visible{outline:2px solid var(--brand);outline-offset:-5px;border-radius:8px}
.gallery-pagination__arrow .action-icon{width:23px;height:23px}
.gallery-pagination__count{min-width:52px;color:var(--muted);font-size:16px;text-align:center;white-space:nowrap}.gallery-pagination__count strong{color:var(--text);font-size:19px}
@media(prefers-reduced-motion:reduce){.gallery-pagination__arrow{transition:none}.gallery-pagination__arrow:hover{transform:none}}

/* V74 · simpler gallery workspace header. */
.gallery-admin__heading{background:#fff}
.gallery-admin__overview{justify-content:flex-end}

/* V75 · focused spectator ticket request. */
.attendance-booking{max-width:1000px;margin:0 auto}.attendance-booking>.link-text{display:inline-flex;margin-bottom:22px}.attendance-booking__layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:18px;align-items:stretch}.attendance-summary,.attendance-booking__action{min-width:0;border:1px solid var(--line);border-radius:18px;background:#fff;padding:28px}.attendance-summary{display:flex;flex-direction:column}.attendance-summary__heading h2{margin:7px 0 24px;font-size:clamp(24px,4vw,34px);line-height:1.18}.attendance-summary__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--line)}.attendance-summary__facts>div{min-width:0;padding:14px;background:#fff}.attendance-summary__facts dt{margin-bottom:3px;color:var(--muted);font-size:11px}.attendance-summary__facts dd{margin:0;font-size:14px;font-weight:600;overflow-wrap:anywhere}.attendance-summary__closing{margin:auto 0 0;padding-top:20px;color:var(--muted);font-size:12px}.attendance-booking__action{display:flex;flex-direction:column;justify-content:center}.attendance-booking__panel h2,.attendance-booking__existing h2{margin-bottom:18px;font-size:21px}.attendance-booking__identity{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-block:1px solid var(--line);font-size:13px}.attendance-booking__identity span{color:var(--muted)}.attendance-booking__identity strong{text-align:end;overflow-wrap:anywhere}.attendance-booking__form{margin-top:20px}.attendance-booking__terms{line-height:1.5}.attendance-booking__terms input{width:20px;height:20px;flex:0 0 20px;margin-top:1px}.attendance-booking__terms a{color:var(--brand);font-weight:600}.attendance-booking__form .btn{width:100%;min-height:48px}.attendance-booking__note{margin:16px 0 0;color:var(--muted);font-size:12px;text-align:center}.attendance-booking__existing{text-align:center}.attendance-booking__existing .badge{margin-bottom:13px}.attendance-booking__existing p{color:var(--muted);font-size:13px}.attendance-booking__existing .btn{width:100%;margin-top:6px}
@media(max-width:760px){.attendance-booking{margin-top:0}.attendance-booking>.link-text{margin-bottom:16px}.attendance-booking__layout{grid-template-columns:1fr;gap:12px}.attendance-summary,.attendance-booking__action{padding:20px;border-radius:14px}.attendance-summary__heading h2{margin-bottom:18px;font-size:26px}.attendance-summary__closing{padding-top:16px}.attendance-booking__action{justify-content:flex-start}.attendance-booking__panel h2{margin-bottom:14px}.attendance-booking__identity{padding:12px 0}.attendance-booking__note{text-align:start}}
@media(max-width:390px){.attendance-summary__facts{grid-template-columns:1fr}.attendance-summary,.attendance-booking__action{padding:17px}}

/* V76 · one quiet, icon-only pagination pattern across every paged list. */
.simple-pagination{display:grid;grid-template-columns:44px auto 44px;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:100%;margin:20px auto 0;direction:ltr;color:var(--muted)}
.simple-pagination__arrow,.simple-pagination__spacer{width:44px;height:44px}
.simple-pagination__arrow{display:grid;place-items:center;padding:0;border:0;border-radius:0;background:transparent;color:var(--brand);text-decoration:none;transition:color .16s ease,transform .16s ease}
.simple-pagination__arrow:hover{background:transparent;color:var(--brand-dark);text-decoration:none;transform:translateX(var(--simple-arrow-shift,0))}
.simple-pagination__arrow:first-child{--simple-arrow-shift:-2px}.simple-pagination__arrow:last-child{--simple-arrow-shift:2px}
.simple-pagination__arrow:focus-visible{outline:2px solid var(--brand);outline-offset:-5px;border-radius:8px}
.simple-pagination__arrow .action-icon{width:21px;height:21px}
.simple-pagination__count{display:flex;align-items:baseline;justify-content:center;gap:6px;min-width:54px;color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
.simple-pagination__count strong{color:var(--ink);font-size:17px}
.admin-user-pages,.audience-pagination{grid-template-columns:44px auto 44px;width:max-content;margin:20px auto 0}

@media(max-width:700px){
 /* User directory cards: identity first, metadata on one compact footer row. */
 .users-page .admin-users-table tr{grid-template-columns:minmax(0,1fr) 40px;gap:5px 10px;padding:12px 13px;border-radius:12px}
 .users-page .admin-users-table td.table-row-number:first-child{display:none!important}
 .users-page .admin-users-table td:nth-child(2){grid-column:1;grid-row:1}
 .users-page .admin-users-table td:nth-child(3){grid-column:1/-1;grid-row:2;font-size:11px!important;color:var(--muted)!important}
 .users-page .admin-users-table td:nth-child(4){grid-column:1;grid-row:3;font-size:10px!important;margin-top:4px!important}
 .users-page .admin-users-table td:nth-child(5){grid-column:2;grid-row:3;justify-self:end;align-self:end;margin:3px 0 0!important}
 .users-page .admin-users-table td:nth-child(6){grid-column:2;grid-row:1}
 .users-page .admin-avatar{width:38px;height:38px}
 .users-page .admin-user-names strong{font-size:13px;line-height:1.25}
 .users-page .admin-users-action .user-action-trigger{width:40px;height:40px;border-radius:10px}

 /* Attendance: compact operational cards that keep the action close to the name. */
 .attendance-workspace>.section-heading p,.audience-attendance>.section-heading p{display:none}
 .attendance-workspace>.section-heading,.audience-attendance>.section-heading{margin-bottom:12px}
 .attendance-workspace>.section-heading h2,.audience-attendance>.section-heading h2{margin-bottom:0}
 .attendance-search{grid-template-columns:1fr!important;margin-bottom:18px}
 .attendance-search input[type="search"],.attendance-search .btn{grid-column:1!important;width:100%}
 .attendance-search .btn--soft{min-height:40px}
 .attendance-player-table tbody,.audience-attendance__table tbody{gap:8px}
 .attendance-player-table tr.data-row,.audience-attendance__table tr.data-row{position:relative;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:13px;border-radius:12px}
 .attendance-player-table tr.data-row>td:first-child,.audience-attendance__table tr.data-row>td:first-child{display:none!important}
 .attendance-player-table tr.data-row>td:nth-child(2){grid-column:1/-1;grid-row:1}
 .attendance-player-table tr.data-row>td:nth-child(3){grid-column:1;grid-row:2;align-self:center}
 .attendance-player-table tr.data-row>td:nth-child(4){grid-column:2;grid-row:2;align-self:center;justify-self:end}
 .attendance-team-roster{margin-top:7px!important;gap:5px!important}
 .attendance-player-status{min-width:0}
 .attendance-player-table tr.data-row>td:nth-child(3)::before,.attendance-player-table tr.data-row>td:nth-child(4)::before{display:none}
 .audience-attendance__table tr.data-row>td:nth-child(2){grid-column:1;grid-row:1}
 .audience-attendance__table tr.data-row>td:nth-child(3){grid-column:2;grid-row:1;align-self:start;justify-self:end}
 .audience-attendance__table tr.data-row>td:nth-child(4){grid-column:1/-1;grid-row:2;padding-top:8px!important;border-top:1px solid var(--line)!important}
 .audience-attendance__table tr.data-row>td:nth-child(2)::before,.audience-attendance__table tr.data-row>td:nth-child(3)::before,.audience-attendance__table tr.data-row>td:nth-child(4)::before{display:none}
 .spectator-attendance-action{display:flex!important;align-items:center;justify-content:space-between;gap:12px}
 .spectator-attendance-action .btn{min-height:40px;padding:8px 13px}
 .audience-attendance>.subtle{display:none}
 .simple-pagination{margin-top:16px}

 /* Payment cards keep expanded details readable without oversized gaps. */
 .payment-ledger-heading p{display:none}
 .payment-mobile-card{padding:12px!important;border-radius:12px!important}
 .payment-mobile-card__bottom{margin-top:9px!important;padding-top:8px!important}
 .payment-mobile-card__details>div{padding:6px 0!important}
}

/* Tournament state stays separate from metadata and visible in the top corner. */
.detail-side{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:12px}
.detail-status{display:flex;justify-content:flex-end}
.detail-status .badge{align-items:center;justify-content:center;min-height:30px;padding:6px 10px}
@media(max-width:700px){
 .detail-top--status{position:relative}
 .detail-top--status>.detail-side{display:contents}
 .detail-top--status .detail-status{position:absolute;inset-block-start:0;inset-inline-end:0;z-index:1}
 .detail-top--status .eyebrow{display:block;padding-inline-end:140px}
 .detail-top--status .detail-action{order:3}
}

/* V63 · compact match management: one toolbar, no repeated field heading. */
@media(min-width:981px){
 .manage-match-row>.match-actions{flex:0 1 34%;width:34%;max-width:430px;min-width:330px}
}
.match-admin-editor__content{padding:9px 10px}
.match-admin-editor .match-control-panel__top{flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}
.match-admin-editor .match-referee-form{flex:1 1 210px;width:auto;min-width:0}
.match-referee-form__fields{gap:7px}
.match-referee-form__fields>.ws-select-trigger{flex:1 1 auto;width:auto;min-width:0;min-height:44px;padding-block:8px}
.manage-match-row .match-actions .match-referee-form__fields .btn{min-height:44px;padding-inline:13px}
.match-admin-editor .match-note-editor{flex:0 0 auto;width:auto;max-width:100%}
.manage-match-row .match-actions .match-note-editor:not([open]){width:auto}
.manage-match-row .match-note-editor>summary{justify-content:center;min-height:44px;padding:8px 11px;white-space:nowrap}
.match-admin-editor .match-note-editor[open]{flex:1 0 100%;width:100%}
.manage-match-row .match-note-editor .form-stack{padding:10px;gap:8px}
.manage-match-row .match-note-editor .form-stack textarea{min-height:72px}
@media(max-width:700px){
 .match-admin-editor .match-control-panel__top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
 .match-admin-editor .match-referee-form{min-width:0}
 .match-admin-editor .match-note-editor:not([open]){width:auto}
 .manage-match-row .match-note-editor>summary{font-size:0;width:44px;padding:0}
 .manage-match-row .match-note-editor>summary::before{font-size:20px;margin:0}
 .match-admin-editor .match-note-editor[open]{grid-column:1 / -1}
 .match-admin-editor .match-note-editor[open]>summary{width:100%;font-size:12px;padding:8px 10px}
}

/* V65 · referee controls: a clear two-step editor on laptop and phone. */
.court-referee-panel{display:grid;gap:14px;margin:0 0 18px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff}.court-referee-panel h3,.court-referee-panel p{margin:0}.court-referee-panel p,.court-referee-panel>small{color:var(--muted);font-size:12px}.court-referee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:10px}.court-referee-grid form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fcf9f9}.court-referee-grid label{font-size:12px;font-weight:700}.court-referee-grid select{min-width:0;width:100%;height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px 9px}
@media(max-width:620px){.court-referee-panel{padding:14px}.court-referee-grid form{grid-template-columns:1fr}.court-referee-grid .btn{width:100%}}
.match-admin-editor>summary{min-height:44px;padding:6px 7px 6px 12px;border-radius:10px}
.match-admin-editor[open]>summary{border-radius:10px 10px 0 0}
.match-admin-editor__edit{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:8px;color:var(--brand);background:var(--brand-light)}
.match-admin-editor__edit .action-icon{width:17px;height:17px}
.match-admin-editor[open] .match-admin-editor__edit{color:#fff;background:var(--brand)}
.match-admin-editor__content{padding:8px 12px 10px;border-radius:0 0 10px 10px}
.match-admin-editor .match-control-panel__top{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.match-admin-editor .match-referee-form{width:100%;max-width:none;margin:0;padding-bottom:8px}
.match-referee-form__fields{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:center}
.match-referee-form__fields>.ws-select-trigger{width:100%;min-height:44px}
.match-referee-save{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--brand);border-radius:9px;background:var(--brand);color:#fff;cursor:pointer}
.match-referee-save:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
.match-referee-save:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.match-referee-save .action-icon{width:18px;height:18px}
.match-admin-editor .match-note-editor{width:100%;border-top:1px solid var(--line)}
.manage-match-row .match-actions .match-note-editor:not([open]){width:100%}
.manage-match-row .match-note-editor>summary,.manage-match-row .match-note-editor[open]>summary{width:100%;min-height:40px;justify-content:flex-start;gap:8px;padding:8px 2px;border:0;border-radius:0;background:transparent;color:var(--brand);font-size:12px;white-space:normal}
.manage-match-row .match-note-editor>summary::before,.manage-match-row .match-note-editor[open]>summary::before{content:none}
.manage-match-row .match-note-editor>summary .action-icon{width:16px;height:16px;flex:none}
.manage-match-row .match-note-editor .form-stack{border:0;border-top:1px solid var(--line);border-radius:0;padding:10px 0 2px;background:transparent}
.manage-match-row .match-note-editor .form-stack textarea{min-height:76px}
.manage-match-row .match-note-editor .form-stack .btn{min-height:40px}
@media(max-width:700px){
 .match-admin-editor .match-control-panel__top{display:grid;grid-template-columns:minmax(0,1fr)}
 .match-admin-editor .match-note-editor:not([open]){width:100%}
 .manage-match-row .match-note-editor>summary,.match-admin-editor .match-note-editor[open]>summary{width:100%;font-size:12px;padding:8px 2px}
 .match-admin-editor .match-note-editor[open]{grid-column:auto}
}

.bracket-duration-control{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0 0 16px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fff}
.bracket-duration-control label{display:flex;flex-direction:column;margin-inline-end:auto;font-size:13px;font-weight:600}.bracket-duration-control label small{color:var(--muted);font-size:11px;font-weight:400}
.bracket-duration-control select{width:150px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:9px 32px 9px 11px;color:var(--ink);font-size:13px}
.bracket-duration-control .ws-select-trigger{width:150px;flex:none}.bracket-duration-control .btn{min-height:44px}
@media(max-width:600px){.bracket-duration-control{display:grid;grid-template-columns:minmax(0,1fr) auto}.bracket-duration-control label{grid-column:1 / -1}.bracket-duration-control select,.bracket-duration-control .ws-select-trigger{width:100%;min-width:0}.bracket-duration-control .btn{padding-inline:12px}}

/* V67 — linked data rows */
.table tbody tr.table-row-link{cursor:pointer;transition:background-color .14s ease}
.table tbody tr.table-row-link:hover td{background:#fcf8f7}
.table tbody tr.table-row-link:focus-visible{outline:2px solid var(--brand);outline-offset:-3px}
.table tbody tr.table-row-link:focus-visible td{background:#fff8f6}
@media(prefers-reduced-motion:reduce){.table tbody tr.table-row-link{transition:none}}

/* V68 — notification read state */
.notification-preview--unread{background:#fff8f6;box-shadow:inset 3px 0 0 var(--brand)}
.notification-item--unread{background:#fffaf8;box-shadow:inset 3px 0 0 var(--brand)}

/* V69 — team attendance and referee score controls */
.player-team-checkin{display:grid;gap:18px;max-width:760px}
.player-team-checkin p{margin:0}.team-checkin-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.team-checkin-player{display:flex;align-items:center;gap:10px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff}
.team-checkin-player>span:last-child{display:grid;min-width:0}.team-checkin-player strong{overflow-wrap:anywhere}.team-checkin-player small{color:var(--muted)}
.team-checkin-player__status{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:#c9c3c3}.team-checkin-player__status--present{background:#2f7650}
.player-checkin-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.player-checkin-actions form{margin:0}
.team-checkin-button{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-width:168px;min-height:58px;padding:7px 12px 7px 8px;border:1px solid #e4caca;border-radius:13px;background:#fffafa;color:var(--brand);text-align:left;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease,box-shadow .16s ease}
.team-checkin-button:hover{border-color:#c99494;background:#f9eeee;box-shadow:0 7px 18px rgba(107,21,21,.08);transform:translateY(-1px)}
.team-checkin-button:active{transform:translateY(0)}
.team-checkin-button:focus-visible{outline:3px solid rgba(107,21,21,.2);outline-offset:3px}
.team-checkin-button__icon,.attendance-complete__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff}
.team-checkin-button__icon .action-icon,.attendance-complete__icon .action-icon{width:17px;height:17px;stroke-width:2.2}
.team-checkin-button__copy,.attendance-complete>span:last-child{display:grid;gap:2px;min-width:0}
.team-checkin-button__copy strong,.attendance-complete strong{font-size:12px;font-weight:700;line-height:1.25}
.team-checkin-button__copy small,.attendance-complete small{color:#84787a;font-size:10px;font-weight:500;line-height:1.25;white-space:nowrap}
.attendance-complete{display:inline-grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-height:52px;color:#28683d}
.attendance-complete__icon{background:#e6f3e9;color:#2f7650}
.referee-match-card{margin-bottom:15px;min-width:0}.referee-match-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:12px;margin:14px 0}
.referee-match-teams section{display:flex;flex-direction:column;gap:5px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fcfaf9}
.referee-match-teams section:last-child{text-align:end}.referee-match-teams section>span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.referee-match-teams strong{font-size:15px;line-height:1.4;overflow-wrap:anywhere}.referee-match-teams>b{align-self:center;color:#9c8f8f;font-size:11px}
.score-team-grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.score-team-card{display:grid!important;gap:9px!important;min-width:0;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fff}
.score-team-card__name{min-height:40px;font-size:13px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.score-stepper{display:grid;grid-template-columns:44px minmax(48px,1fr) 44px;align-items:stretch;border:1px solid #d9cece;border-radius:10px;overflow:hidden;background:#fff}
.score-stepper button{display:grid;place-items:center;min-width:44px;min-height:48px;padding:0;border:0;background:#f8f3f2;color:var(--brand);font-size:24px;font-weight:500;line-height:1;touch-action:manipulation}
.score-stepper button:hover{background:#f1e5e3}.score-stepper button:focus-visible{position:relative;z-index:1;outline:2px solid var(--brand);outline-offset:-3px}
.score-stepper input,.watch-score-form .score-stepper input{width:100%;min-width:0;min-height:48px;padding:6px;border:0;border-inline:1px solid #e6dddd;border-radius:0;text-align:center;font-size:20px;font-weight:700;color:var(--ink);background:#fff;-moz-appearance:textfield}
.score-stepper input::-webkit-inner-spin-button,.score-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.referee-live-score{display:grid;width:100%;gap:12px;margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#faf8f7}
.referee-live-score>.btn{justify-self:start;min-height:44px}.referee-live-score>small{font-size:11px;color:var(--muted)}
.padel-scoreboard{padding:18px;background:#fff;border-color:#dfceca;box-shadow:0 8px 25px rgba(70,20,20,.05)}
.padel-scoreboard__head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid #eee5e2}
.padel-scoreboard__head>div:first-child{display:grid;gap:2px}.padel-scoreboard__head strong{font-size:16px}.padel-scoreboard__head>div:first-child span{color:#397052;font-size:11px;font-weight:600}
.padel-scoreboard__sequence{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.padel-scoreboard__sequence span{padding:4px 7px;border-radius:999px;background:#f6eeee;color:var(--brand);font-size:10px;font-weight:700}
.padel-score-team{display:grid;gap:12px;min-width:0;padding:15px;border:1px solid #e7ddda;border-radius:13px;background:#fcfaf9}
.padel-score-team__name{min-height:40px;font-size:14px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.padel-score-team__numbers{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid #dfd4d1;border-radius:11px;background:#fff}
.padel-score-team__numbers>div{display:grid;justify-items:center;gap:2px;padding:12px 8px}.padel-score-team__numbers>div+div{border-inline-start:1px solid #e8deda}
.padel-score-team__numbers small{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.padel-score-team__numbers strong{font-size:28px;line-height:1.15;color:var(--brand)}
.padel-score-team__actions{display:grid;grid-template-columns:minmax(78px,.65fr) minmax(110px,1.35fr);gap:8px}
.padel-score-team__actions .btn{width:100%;min-height:48px}
.watch-score b{display:block;margin-top:2px;color:var(--brand);font-size:11px;white-space:nowrap}
.referee-result-editor>summary,.referee-correction>summary{min-height:48px;display:flex;align-items:center;font-weight:600}
@media(max-width:600px){
 .team-checkin-roster{grid-template-columns:1fr}.player-checkin-actions{display:grid}.player-checkin-actions form,.player-checkin-actions .btn{width:100%}
 .referee-match-card{padding:16px}.referee-match-teams{gap:7px}.referee-match-teams section{padding:11px 9px}.referee-match-teams strong{font-size:13px}
 .score-team-grid{gap:8px}.score-team-card{padding:10px}.score-team-card__name{font-size:12px;min-height:48px}
 .score-stepper{grid-template-columns:42px minmax(42px,1fr) 42px}.score-stepper button{min-width:42px;min-height:48px}
 .referee-live-score>.btn{width:100%}
 .padel-scoreboard{padding:13px}.padel-scoreboard__head{align-items:flex-start;flex-direction:column}.padel-scoreboard__sequence{justify-content:flex-start}.padel-score-team{padding:11px}.padel-score-team__name{min-height:42px;font-size:12px}.padel-score-team__numbers strong{font-size:24px}.padel-score-team__actions{grid-template-columns:1fr}.padel-score-team__actions .btn{min-height:46px}
}

.stage-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:15px}
.stage-heading>div>span{display:block;margin-bottom:3px;color:var(--brand);font-size:9px;font-weight:800;letter-spacing:.12em}
.stage-heading h2{margin:0}.stage-heading p{max-width:520px;margin:0;color:var(--muted);font-size:12px;text-align:end}
.group-stage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.group-stage-card{min-width:0;overflow:hidden;border:1px solid #e5dbd8;border-radius:13px;background:#fff}
.group-stage-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #eee5e2;background:#fbf7f5}
.group-stage-card>header>div>span{display:block;color:var(--brand);font-size:8px;font-weight:800;letter-spacing:.13em}.group-stage-card h3{margin:1px 0 0;font-size:16px}.group-stage-card>header small{color:var(--muted);font-size:10px}
.group-team-list{display:grid;gap:0;margin:0;padding:0;list-style:none}
.group-team-list li{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 13px;border-top:1px solid #f2ecea}.group-team-list li:first-child{border-top:0}
.group-team-rank{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#f3e9e6;color:var(--brand);font-size:11px;font-weight:800}
.group-team-list strong{min-width:0;font-size:12px;overflow-wrap:anywhere}.group-team-list li>span:last-child{color:var(--muted);font-size:9px;white-space:nowrap}
.knockout-stage>.bracket{padding:18px;border:1px solid #e5dada;border-radius:12px;background:#fff}
.knockout-stage .bracket-column{position:relative}.knockout-stage .bracket-column:not(:last-child)::after{content:'→';position:absolute;z-index:2;inset-inline-end:-17px;top:-2px;display:grid;place-items:center;width:18px;height:20px;color:var(--brand);font-size:17px;font-weight:700;line-height:1;pointer-events:none}
html[dir=rtl] .knockout-stage .bracket-column:not(:last-child)::after{content:'←'}
.watch-tournament-map>.section{margin-top:22px}.watch-tournament-map .knockout-stage{margin-bottom:0}
@media(max-width:600px){.stage-heading{align-items:flex-start;flex-direction:column;gap:4px}.stage-heading p{text-align:start}.group-stage-grid{grid-template-columns:1fr}.group-team-list li{padding:10px 11px}.knockout-stage>.bracket{padding:13px}.watch-tournament-map>.section{margin-top:18px}}

/* Founder tournament email campaigns */
.campaign-start{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(420px,1.35fr);gap:28px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:13px;background:#fff}
.campaign-start h2{margin-bottom:5px}.campaign-start p{margin:0;color:var(--muted);font-size:12px}.campaign-selector{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"field submit" "help help";align-items:end;gap:7px 12px;min-width:0}.campaign-selector__field{grid-area:field}.campaign-selector__submit{grid-area:submit;min-height:44px}.campaign-selector__help{grid-area:help;color:var(--muted);font-size:10px;line-height:1.45;font-weight:400}
.campaign-composer{margin-top:20px;overflow:hidden;border:1px solid #e3d6d3;border-radius:15px;background:#fff;box-shadow:0 10px 30px rgba(65,22,22,.04)}
.campaign-compose-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid #eee5e2;background:#fcf8f7}.campaign-compose-head h2{margin:3px 0 5px}.campaign-compose-head p{margin:0;color:var(--muted);font-size:12px}
.campaign-audience{display:grid;justify-items:center;min-width:98px;padding:12px 16px;border-radius:12px;background:#f3e8e5;color:var(--brand)}.campaign-audience strong{font-size:25px;line-height:1}.campaign-audience span{margin-top:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.campaign-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:18px;padding:24px}.campaign-form>.field:first-of-type,.campaign-confirm,.campaign-actions{grid-column:1 / -1}.campaign-form textarea{min-height:230px;resize:vertical}
.campaign-image-field{grid-column:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px 14px;padding:15px;border:1px dashed #d9c6c2;border-radius:12px;background:#fcf9f8}.campaign-image-field>div{display:grid;gap:3px}.campaign-image-field>div>strong{font-size:13px}.campaign-image-field>div>small,.campaign-image-field>p{color:var(--muted);font-size:10px}.campaign-image-field>p{grid-column:1 / -1;margin:0}.campaign-image-picker{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 13px;border:1px solid #d6c1bd;border-radius:9px;background:#fff;color:var(--brand);font-size:11px;font-weight:700;cursor:pointer}.campaign-image-picker input{position:absolute;width:1px;height:1px;opacity:0}.campaign-image-picker:focus-within{outline:2px solid var(--brand);outline-offset:2px}.campaign-image-remove{grid-column:2;justify-self:end;border:0;background:transparent;color:var(--brand);font-size:10px;font-weight:650;cursor:pointer}.campaign-image-remove:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.campaign-preview{grid-column:2;grid-row:2 / span 2;align-self:start;min-width:0;padding:22px;border:1px solid #e7dcda;border-radius:13px;background:#faf6f4}.campaign-preview>span{display:block;margin-bottom:10px;color:var(--brand);font-size:8px;font-weight:800;letter-spacing:.14em}.campaign-preview>strong{display:block;margin-bottom:12px;font-size:18px;overflow-wrap:anywhere}.campaign-preview>img{display:block;width:100%;height:auto;max-height:300px;margin:0 0 15px;border-radius:9px;object-fit:contain;background:#fff}.campaign-preview>img[hidden]{display:none}.campaign-preview p{max-height:260px;margin-bottom:18px;overflow:auto;color:#5b4b4c;font-size:12px;line-height:1.65;white-space:pre-line}.campaign-preview .btn{pointer-events:none}
.campaign-confirm{margin:2px 0;padding:13px 14px;border-radius:10px;background:#fbf7f5}.campaign-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:17px;border-top:1px solid #eee7e5}.campaign-actions p{margin:0;color:var(--muted);font-size:11px}.campaign-history .table{min-width:780px}
@media(max-width:800px){.campaign-start{grid-template-columns:1fr;align-items:stretch}.campaign-form{grid-template-columns:1fr}.campaign-form>.field:first-of-type,.campaign-image-field,.campaign-preview,.campaign-confirm,.campaign-actions{grid-column:auto;grid-row:auto}}
@media(max-width:600px){.campaign-start{gap:16px;padding:16px}.campaign-selector{grid-template-columns:1fr;grid-template-areas:"field" "help" "submit";gap:8px}.campaign-selector__submit{width:100%;margin-top:3px}.campaign-compose-head{align-items:flex-start;padding:18px;flex-direction:column}.campaign-audience{justify-items:start;min-width:0}.campaign-form{padding:16px}.campaign-form textarea{min-height:210px}.campaign-image-field{grid-template-columns:1fr}.campaign-image-picker,.campaign-image-remove{grid-column:1;width:100%}.campaign-image-remove{justify-self:stretch;min-height:36px}.campaign-actions{align-items:stretch;flex-direction:column}.campaign-actions .btn{width:100%}}

/* Decision-focused founder reports */
.report-portfolio,.report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.report-kpi{display:grid;align-content:start;min-width:0;padding:17px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;transition:border-color .15s,transform .15s}.report-kpi[href]:hover{border-color:#d5bdb9;transform:translateY(-1px)}.report-kpi>span{color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.report-kpi>strong{margin:5px 0 2px;color:var(--ink);font-size:24px;line-height:1.2;overflow-wrap:anywhere}.report-kpi>small{color:var(--muted);font-size:10px;line-height:1.45}
.report-picker{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(420px,1.3fr);gap:30px;align-items:end;margin-top:22px;padding:20px 22px;border:1px solid #e5dcda;border-radius:13px;background:#fff}.report-picker h2{margin-bottom:4px}.report-picker p{margin:0;color:var(--muted);font-size:12px}.report-selector{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.report-selector .btn{min-height:43px}
.report-detail{margin-top:20px}.report-detail__head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border:1px solid #e4d9d6;border-radius:13px 13px 0 0;background:#fbf7f5}.report-detail__head h2{margin:3px 0 4px}.report-detail__head p{margin:0;color:var(--muted);font-size:11px}.report-detail__head>div:last-child{display:flex;align-items:center;gap:9px}.report-detail>.report-kpis{padding:16px;border-inline:1px solid #e4d9d6;background:#fff}
.report-next{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border:1px solid #e3d3cf;background:#fff8f6}.report-next>div{display:grid;gap:2px}.report-next span{color:var(--brand);font-size:8px;font-weight:800;letter-spacing:.12em}.report-next strong{font-size:14px}
.report-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;border:1px solid #e4d9d6;border-top:0;border-radius:0 0 13px 13px;background:#f8f6f5}.report-panel{min-width:0;padding:19px;border:1px solid #e5dddb;border-radius:12px;background:#fff}.report-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.report-panel__head h3{margin:0 0 3px;font-size:16px}.report-panel__head p{margin:0;color:var(--muted);font-size:10px}.report-panel__head>a{color:var(--brand);font-size:10px;font-weight:700;white-space:nowrap}
.report-progress{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:6px 10px;align-items:center;margin:14px 0}.report-progress>div{grid-column:1 / -1;display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:11px}.report-progress>div strong{font-size:12px}.report-progress>div small{color:var(--muted);font-weight:400}.report-progress__track{height:7px;overflow:hidden;border-radius:999px;background:#eee8e6}.report-progress__fill{display:block;height:100%;border-radius:inherit;background:var(--brand)}.report-progress__fill--green{background:#397052}.report-progress>small{color:var(--muted);font-size:9px;text-align:end}
.report-status-list{display:grid;gap:0;margin-top:15px;border-top:1px solid #eee8e6}.report-status-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #f1ecea;font-size:11px}.report-status-list>div>strong{font-size:14px}.report-status-list .badge{font-size:8px}
.report-inline-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}.report-inline-stats--wide{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}.report-inline-stats>div{display:grid;gap:2px;padding:11px;border-radius:9px;background:#f8f4f2}.report-inline-stats strong{font-size:18px}.report-inline-stats span{color:var(--muted);font-size:9px;line-height:1.35}.report-money{display:grid;gap:4px;padding:17px;border-radius:10px;background:#f7eeeb;color:var(--brand)}.report-money span{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.report-money strong{font-size:25px}
.report-exports{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:#fff}.report-exports h3{margin:0 0 3px;font-size:15px}.report-exports p{margin:0;color:var(--muted);font-size:10px}.report-exports>div:last-child{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:950px){.report-portfolio,.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-picker{grid-template-columns:1fr}.report-sections{grid-template-columns:1fr}}
@media(max-width:600px){.report-portfolio,.report-kpis{grid-template-columns:1fr 1fr;gap:8px}.report-kpi{padding:14px}.report-kpi>strong{font-size:20px}.report-picker{gap:15px;padding:16px}.report-selector{grid-template-columns:1fr}.report-selector .btn{width:100%}.report-detail__head{align-items:flex-start;flex-direction:column;padding:17px}.report-detail__head>div:last-child{width:100%;justify-content:space-between}.report-detail>.report-kpis{padding:10px}.report-next{align-items:stretch;flex-direction:column}.report-next .btn{width:100%}.report-sections{padding:10px}.report-panel{padding:15px}.report-inline-stats--wide{grid-template-columns:repeat(2,minmax(0,1fr))}.report-exports{align-items:stretch;flex-direction:column}.report-exports>div:last-child{display:grid;justify-content:stretch}.report-exports .btn{width:100%}}

/* V109 — attendance search is one compact field with an integrated action. */
.attendance-search{display:block!important;margin-bottom:24px}
.attendance-search__control{display:flex;align-items:stretch;width:100%;overflow:hidden;border:1px solid #d9ccca;border-radius:12px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}
.attendance-search__control:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(123,19,24,.12)}
.attendance-search .attendance-search__control input[type="search"]{flex:1 1 auto;width:auto!important;min-width:0;min-height:50px;padding:11px 14px;border:0!important;border-radius:0;background:transparent;font:inherit;outline:0!important;box-shadow:none!important}
.attendance-search__button{display:grid;place-items:center;flex:0 0 52px;width:52px;min-height:50px;padding:0;border:0;border-radius:0;background:var(--brand);color:#fff;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease}
.attendance-search__button:hover{background:var(--brand-dark)}
.attendance-search__button:focus-visible{position:relative;z-index:1;outline:2px solid #fff;outline-offset:-4px}
.attendance-search__button .action-icon{width:20px;height:20px}
@media(max-width:700px){.attendance-search{margin-bottom:18px}.attendance-search__control,.attendance-search .attendance-search__control input[type="search"],.attendance-search__button{min-height:52px}.attendance-search__button{flex-basis:52px;width:52px}}
@media(prefers-reduced-motion:reduce){.attendance-search__control,.attendance-search__button{transition:none}}

/* V110 — one consistent search control across public and admin pages. */
.integrated-search{display:flex;align-items:stretch;width:100%;min-width:0;overflow:hidden;border:1px solid #d9ccca;border-radius:12px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}
.integrated-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(123,19,24,.12)}
.integrated-search input[type="search"]{flex:1 1 auto;width:auto!important;min-width:0!important;min-height:48px;margin:0;padding:10px 14px;border:0!important;border-radius:0!important;background:transparent!important;background-image:none!important;color:var(--ink);outline:0!important;box-shadow:none!important}
.integrated-search__button{display:grid;place-items:center;flex:0 0 50px;width:50px;min-width:50px;min-height:48px;margin:0;padding:0;border:0;border-radius:0;background:var(--brand);color:#fff;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease}
.integrated-search__button:hover{background:var(--brand-dark)}
.integrated-search__button:focus-visible{position:relative;z-index:2;outline:2px solid #fff;outline-offset:-4px}
.integrated-search__button .action-icon,.integrated-search__button svg{width:20px;height:20px}
.search-filter{width:min(100%,860px)}
.search-filter .integrated-search,.admin-user-search .integrated-search{flex:1 1 auto}
.admin-user-search{max-width:860px}
.tournament-directory__search{grid-template-columns:minmax(260px,1fr) minmax(150px,190px)}
.tournament-directory__search:not(:has(select)){grid-template-columns:minmax(0,1fr)}
.tournament-directory__search,.tournament-directory__search:not(:has(select)){padding:0;border:0;border-radius:0;background:transparent}
.tournament-directory__search .integrated-search,.tournament-directory__search select{min-height:48px}
.account-picker__search{overflow:visible}
.account-picker__search.integrated-search{overflow:hidden}
.account-picker__search input[data-picker-query]{padding-inline:14px;background-image:none}
@media(max-width:700px){
 .integrated-search,.integrated-search input[type="search"],.integrated-search__button{min-height:52px}
 .integrated-search__button{flex-basis:52px;width:52px;min-width:52px}
 .tournament-directory__search{grid-template-columns:minmax(0,1fr);gap:8px;padding:0;border:0;background:transparent}
 .tournament-directory__search .integrated-search,.tournament-directory__search select{grid-column:1;width:100%}
 .users-page .admin-user-search{display:block}
 .attendance-player-table.admin-data-table,.audience-attendance__table.admin-data-table{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
 .attendance-player-table.admin-data-table>.table,.audience-attendance__table.admin-data-table>.table{border:0;background:transparent}
 .attendance-player-table tbody,.audience-attendance__table tbody{padding:0;border:0;background:transparent}
}
@media(prefers-reduced-motion:reduce){.integrated-search,.integrated-search__button{transition:none}}

/* V111 — compact, task-oriented empty match state. */
.compact-empty{display:flex;align-items:center;gap:14px;min-height:0;margin-top:8px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:start}
.compact-empty__icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:10px;background:var(--brand-light);color:var(--brand)}
.compact-empty__icon .action-icon{width:21px;height:21px}
.compact-empty__copy{min-width:0;margin-inline-end:auto}
.compact-empty strong{display:block;font-size:15px;font-weight:650}
.compact-empty p{max-width:none;margin:3px 0 0;color:var(--muted);font-size:12px}
.compact-empty>.btn{flex:0 0 auto}
@media(max-width:600px){.compact-empty{display:grid;grid-template-columns:44px minmax(0,1fr);padding:14px}.compact-empty>.btn{grid-column:1/-1;width:100%;min-height:44px}}

/* V112 — the search action sits inside the field instead of forming a second segment. */
.integrated-search{align-items:stretch;padding:3px}
.integrated-search input[type="search"]{min-height:46px}
.integrated-search__button,.attendance-search__button.integrated-search__button{flex:0 0 46px;width:46px;min-width:46px;min-height:46px;border-radius:9px}
@media(max-width:700px){.integrated-search{min-height:52px}.integrated-search input[type="search"],.integrated-search__button,.attendance-search__button.integrated-search__button{min-height:46px}}

/* V124 — public enquiries and the founder's contact-request inbox. */
.contact-page{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(480px,1.25fr);gap:clamp(34px,7vw,90px);align-items:start;max-width:1120px;margin:22px auto 10px}.contact-intro{padding-top:38px}.contact-intro h1{font-size:clamp(38px,5vw,58px);margin:10px 0 18px}.contact-intro>p{max-width:500px;color:var(--muted);font-size:16px}.contact-promises{display:grid;gap:15px;margin-top:34px}.contact-promises span{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600}.contact-promises b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--brand-light);color:var(--brand)}.contact-card{padding:clamp(22px,4vw,38px);border:1px solid #e6dada;border-radius:16px;background:#fff;box-shadow:0 16px 42px rgba(63,32,32,.07)}.contact-card__head h2{font-size:27px;margin:7px 0}.contact-card__head p{margin:0 0 25px;color:var(--muted);font-size:12px}.contact-form .phone-input{display:grid;grid-template-columns:105px minmax(0,1fr);overflow:visible!important}.contact-form .phone-input>.ws-select-trigger{grid-column:1;width:100%;max-width:none;min-width:0;border:0!important;border-right:1px solid #e5e0e0!important;border-radius:8px 0 0 8px!important;padding:9px 8px 9px 12px;direction:ltr}.contact-form .phone-input>.ws-select-trigger .ws-select-value{display:block!important;overflow:visible;color:var(--ink)!important;font-weight:500;text-overflow:clip}.contact-form .phone-input>.ws-select-trigger svg{width:16px;height:16px}.contact-form .phone-input>input:not(.ws-native-control){grid-column:2;min-width:0;width:100%;border:0!important;border-radius:0 8px 8px 0!important;background:#fff}.contact-consent{align-items:flex-start}.contact-consent a{color:var(--brand);font-weight:600}.contact-submit{width:100%;min-height:49px}.contact-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.enquiry-tabs{display:flex;gap:7px;margin:-8px 0 24px;padding-bottom:1px;overflow-x:auto}.enquiry-tabs a{display:flex;gap:8px;align-items:center;padding:9px 13px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}.enquiry-tabs a.active{border-color:#d5b9b9;background:var(--brand-light);color:var(--brand)}.enquiry-tabs strong{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#f1eeee;font-size:10px}.enquiry-list{display:grid;gap:14px}.enquiry-card{scroll-margin-top:90px;padding:22px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.enquiry-card:target{border-color:var(--brand);box-shadow:0 0 0 3px rgba(107,21,21,.1)}.enquiry-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.enquiry-card h2{margin:3px 0;font-size:19px}.enquiry-card header p{margin:0;color:var(--muted);font-size:12px}.enquiry-number{color:var(--brand);font-size:10px;font-weight:700;letter-spacing:1px}.enquiry-contact{display:flex;flex-wrap:wrap;gap:8px 20px;margin:17px 0;padding:12px 0;border-top:1px solid #f0eaea;border-bottom:1px solid #f0eaea;color:var(--muted);font-size:12px}.enquiry-contact a{color:var(--brand);font-weight:600}.enquiry-message strong{font-size:12px}.enquiry-message p{margin:5px 0 18px;white-space:normal;overflow-wrap:anywhere}.enquiry-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;align-items:end;padding-top:17px;border-top:1px solid #f0eaea}.enquiry-actions>.field textarea{min-height:74px}.enquiry-actions>div{display:flex;align-items:end;gap:8px}.enquiry-actions select{min-width:130px}
@media(max-width:800px){.contact-page{grid-template-columns:1fr;gap:25px;margin-top:0}.contact-intro{padding-top:0}.contact-promises{grid-template-columns:repeat(3,1fr);margin-top:22px}.contact-promises span{align-items:flex-start;font-size:11px}.contact-card{padding:22px}.enquiry-actions{grid-template-columns:1fr}.enquiry-actions>div{justify-content:flex-end}}
@media(max-width:520px){.contact-intro h1{font-size:36px}.contact-promises{grid-template-columns:1fr;gap:9px}.contact-card{margin-inline:-4px;padding:19px 15px}.contact-form .form-grid{gap:14px}.contact-form .phone-input{grid-template-columns:102px minmax(0,1fr)}.enquiry-card{padding:17px}.enquiry-contact{display:grid;gap:6px}.enquiry-actions>div{display:grid;grid-template-columns:1fr}.enquiry-actions>div .btn{width:100%}}

/* V127 — configurable, equal group distribution. */
.group-count-setting{display:grid;grid-template-columns:minmax(210px,.48fr) minmax(280px,1fr);gap:18px;align-items:end;padding:17px;border:1px solid #eadede;border-radius:12px;background:linear-gradient(135deg,#fff 0%,#fdf9f9 100%)}
.group-count-setting[hidden]{display:none!important}.group-count-setting>.field{gap:7px}.group-count-summary{display:flex;min-height:62px;flex-direction:column;justify-content:center;gap:4px;padding:11px 14px;border-left:3px solid var(--brand);border-radius:8px;background:var(--brand-light)}
.group-count-summary strong{color:var(--brand);font-size:13px}.group-count-summary span{color:var(--muted);font-size:11px;line-height:1.5}.group-count-lock{grid-column:1/-1;color:var(--muted);font-size:11px}
@media(max-width:700px){.group-count-setting{grid-template-columns:1fr;gap:12px;padding:14px}.group-count-summary{min-height:0}}

/* V128 — visible tournament structure before the official draw is published. */
.tournament-plan{margin:0 0 24px;padding:clamp(20px,3vw,30px);border:1px solid #e4dada;border-radius:16px;background:linear-gradient(145deg,#fff 0%,#fdf9f9 100%);box-shadow:0 12px 34px rgba(58,28,28,.045)}
.tournament-plan__head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.tournament-plan__head>div{max-width:720px}.tournament-plan__head span{color:var(--brand);font-size:10px;font-weight:700;letter-spacing:1.4px}.tournament-plan__head h2{margin:5px 0 7px;font-size:clamp(22px,3vw,30px)}.tournament-plan__head p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.tournament-plan__head>strong{flex:0 0 auto;padding:7px 11px;border-radius:8px;background:var(--brand-light);color:var(--brand);font-size:11px}
.tournament-plan__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:23px 0;background:#eadfdf;border:1px solid #eadfdf;border-radius:12px;overflow:hidden}.tournament-plan__metrics>div{display:grid;gap:2px;padding:14px 16px;background:#fff}.tournament-plan__metrics span,.tournament-plan__metrics small{color:var(--muted);font-size:10px}.tournament-plan__metrics strong{font-size:24px;line-height:1.1}.tournament-plan__stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0;padding:0;list-style:none}.tournament-plan__stages li{position:relative;display:flex;align-items:center;gap:11px;min-width:0}.tournament-plan__stages li:not(:last-child)::after{content:'›';position:absolute;right:-18px;color:#cdbaba;font-size:25px}.tournament-plan__stages li>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:var(--brand);color:#fff;font-size:11px;font-weight:700}.tournament-plan__stages li div{display:grid;min-width:0}.tournament-plan__stages strong{font-size:12px}.tournament-plan__stages small{color:var(--muted);font-size:10px;line-height:1.45}
.planned-groups,.planned-bracket,.planned-standings{margin-top:28px}.planned-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.planned-group{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.planned-group header{display:grid;grid-template-columns:1fr auto;align-items:end;padding:14px 15px 11px;border-bottom:1px solid #eee6e6;background:#fdfafa}.planned-group header>span{grid-column:1/-1;color:var(--brand);font-size:9px;font-weight:700;letter-spacing:1.2px}.planned-group h3{margin:2px 0 0;font-size:16px}.planned-group header small{color:var(--muted);font-size:10px}.planned-group>div{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #f3eded}.planned-group>div:last-child{border-bottom:0}.planned-group b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#f4eeee;color:var(--brand);font-size:9px}.planned-group>div span{color:var(--muted);font-size:11px}.tournament-plan+.compact-empty{margin-top:16px}
@media(max-width:760px){.tournament-plan{padding:18px 15px}.tournament-plan__head{display:grid;gap:12px}.tournament-plan__head>strong{justify-self:start}.tournament-plan__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-plan__stages{grid-template-columns:1fr;gap:13px}.tournament-plan__stages li:not(:last-child)::after{content:'↓';right:auto;left:10px;top:29px;font-size:13px}.planned-group-grid{grid-template-columns:1fr}}

/* V129 — keep the stage path compact and visually connected on wide screens. */
.tournament-plan__stages{max-width:980px;margin:0 auto;gap:48px}
.tournament-plan__stages li{min-height:70px;padding:13px 15px;border:1px solid #e8dddd;border-radius:12px;background:#fff;box-shadow:0 7px 20px rgba(65,31,31,.045)}
.tournament-plan__stages li>span{width:34px;height:34px;flex-basis:34px}
.tournament-plan__stages li:not(:last-child)::before{content:'';position:absolute;left:calc(100% + 9px);top:50%;width:29px;border-top:1px solid #d7c5c5}
.tournament-plan__stages li:not(:last-child)::after{content:'';position:absolute;right:-38px;top:calc(50% - 4px);width:7px;height:7px;border-top:2px solid #b99393;border-right:2px solid #b99393;transform:rotate(45deg)}
@media(max-width:760px){.tournament-plan__stages{max-width:none;gap:10px}.tournament-plan__stages li{min-height:62px;padding:11px 12px}.tournament-plan__stages li:not(:last-child)::before,.tournament-plan__stages li:not(:last-child)::after{display:none}}

/* V134 — member referrals and community growth. */
.referral-welcome{margin:0 0 18px;padding:14px 16px;border:1px solid #ead6d3;border-radius:14px;background:#fff8f7;color:#6f1718;font-weight:700}
.tournament-whatsapp-share{white-space:nowrap}
@media(max-width:760px){.tournament-whatsapp-share{width:100%;justify-content:center}}

/* Signed-in Home: compact public events and balanced tournament actions. */
.home-public-events{margin-top:0}
.home-public-events__grid{margin-bottom:8px}
.home-public-events .card-bottom{justify-content:flex-end}
.detail-top--status .detail-side{width:min(100%,500px)}
.detail-top--status .detail-action{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px}
.detail-top--status .detail-action>.btn{width:100%;min-height:45px;padding-inline:14px;text-align:center;white-space:normal}
.report-sections{align-items:start}
.report-sections--overview{margin-top:14px;border-top:1px solid #e4d9d6;border-radius:13px}
@media(max-width:700px){.detail-top--status .detail-side{width:100%}.detail-top--status .detail-action{grid-template-columns:1fr}.detail-top--status .detail-action>.btn{min-height:48px}}

/* V135 — management header actions stay compact and independent from public CTAs. */
.manage-detail-top .detail-side{width:auto;min-width:150px;align-items:flex-end}
.manage-detail-top .detail-action{display:flex;width:auto;justify-content:flex-end}
.manage-detail-top .detail-action>.btn{width:auto;min-width:140px;min-height:41px;padding:9px 16px;white-space:nowrap}
@media(max-width:700px){.manage-detail-top .detail-side{width:100%;align-items:stretch}.manage-detail-top .detail-action{display:flex;width:100%;margin-top:18px}.manage-detail-top .detail-action>.btn{width:100%;min-height:46px}}

/* V137 — public tournament hero: one clear event identity and action hierarchy. */
.public-tournament-back{display:inline-flex;align-items:center;min-height:34px;margin-bottom:4px}
.public-tournament-hero{position:relative;isolation:isolate;display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);align-items:stretch!important;gap:clamp(30px,5vw,72px)!important;margin:18px 0 15px!important;padding:clamp(24px,3vw,34px) 0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
.public-tournament-hero__identity{display:flex;min-width:0;min-height:190px;flex-direction:column;justify-content:center}
.public-tournament-hero__identity>.eyebrow{display:block!important;padding:0!important;color:#8d7373;font-size:10px;font-weight:700;letter-spacing:1.6px}
.public-tournament-hero__identity h1{max-width:760px;margin:13px 0 22px;font-size:clamp(36px,4.6vw,56px);font-weight:650;letter-spacing:-1.8px;line-height:1.04}
.public-tournament-hero .meta-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.public-tournament-hero .meta-line>span{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 10px;border:1px solid #eee7e7;border-radius:9px;background:#fcfafa;color:#62595b;font-size:12px;font-weight:500}
.public-tournament-hero .meta-line svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.public-tournament-hero>.detail-side{display:flex!important;position:static!important;width:100%!important;min-width:0;flex-direction:column;align-items:stretch;justify-content:center;gap:14px;padding-inline-start:clamp(24px,3vw,42px);border-inline-start:1px solid #eee5e5}
.public-tournament-hero__side-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.public-tournament-hero__side-head>span{color:#786e70;font-size:11px;font-weight:650;letter-spacing:.2px}
.public-tournament-hero .detail-status{position:static!important;display:flex!important;justify-content:flex-end!important}
.public-tournament-hero .detail-status .badge{min-height:29px;padding:6px 10px;border-radius:8px;font-size:10px}
.public-tournament-hero .detail-action{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;margin:0!important;gap:9px!important}
.public-tournament-hero .detail-action>.btn{width:100%!important;min-width:0;min-height:47px;padding:10px 12px;white-space:normal;text-align:center;border-radius:10px}
.public-tournament-hero .detail-action>:first-child{grid-column:1/-1}
.public-tournament-hero .detail-action>:last-child:nth-child(even){grid-column:1/-1}
.public-tournament-highlights{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:stretch;margin:0 0 22px}
.public-tournament-highlights>.tournament-prize{min-height:92px;margin:0;padding:18px 21px;border-radius:14px}
.public-tournament-highlights>.tournament-prize .tournament-prize__copy strong{font-size:18px}
.public-tournament-highlights>.stats-strip{display:grid;grid-auto-flow:column;gap:0;min-width:300px;margin:0;padding:0;overflow:hidden;border:1px solid #e5dddd;border-radius:14px;background:#fff}
.public-tournament-highlights>.stats-strip>div{min-width:145px;justify-content:center;padding:17px 20px}
.public-tournament-highlights>.stats-strip>div+div{border-inline-start:1px solid #eee7e7}
.public-tournament-highlights>.stats-strip strong{font-size:22px;font-weight:650}
.public-tournament-highlights:not(:has(.tournament-prize))>.stats-strip{grid-column:1/-1;justify-self:start}
@media(max-width:980px){.public-tournament-hero{grid-template-columns:1fr;gap:24px!important}.public-tournament-hero__identity{min-height:0}.public-tournament-hero>.detail-side{padding:22px 0 0;border-inline-start:0;border-top:1px solid #eee5e5}.public-tournament-highlights{grid-template-columns:1fr}.public-tournament-highlights>.stats-strip{width:100%;min-width:0}}
@media(max-width:600px){.public-tournament-hero{margin-top:12px!important;padding:18px 0}.public-tournament-hero__identity h1{margin:11px 0 17px;font-size:clamp(31px,10vw,41px);letter-spacing:-1.2px}.public-tournament-hero .meta-line{display:grid;grid-template-columns:1fr}.public-tournament-hero .meta-line>span{width:100%}.public-tournament-hero .detail-action{grid-template-columns:1fr!important}.public-tournament-hero .detail-action>*{grid-column:1!important}.public-tournament-highlights>.tournament-prize{min-height:0;padding:16px}.public-tournament-highlights>.stats-strip{grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.public-tournament-highlights>.stats-strip>div{min-width:0;padding:14px}.public-tournament-highlights>.stats-strip>div+div{border-inline-start:1px solid #eee7e7}.public-tournament-hero__side-head{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.public-tournament-hero .btn{transition:none}}

/* V139 — tab navigation returns to the section instead of restarting at the page top. */
.tabs[id],.segmented-tabs[id],.tournament-directory-tabs[id],.enquiry-tabs[id]{scroll-margin-top:24px}

/* V138 — phone attendance cards prioritize the roster and keep the action stable. */
@media(max-width:600px){
 .attendance-workspace>.section-heading{display:grid;grid-template-columns:1fr;align-items:start;gap:6px;margin-bottom:13px}
 .attendance-workspace>.section-heading>span{justify-self:start;padding:4px 8px;border-radius:7px;background:#f4f1f1;color:#6f6668;font-size:10px;font-weight:600}
 .attendance-player-table tr.data-row{position:relative;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;padding:14px!important;border-radius:12px}
 .attendance-player-table tr.data-row>td:nth-child(2){grid-column:1/-1!important;grid-row:1!important}
 .attendance-player-table tr.data-row>td:nth-child(2)::before{display:none!important}
 .attendance-team-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;color:#858086;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
 .attendance-team-card-head .badge{flex:none;font-size:9px;letter-spacing:0;text-transform:capitalize}
 .attendance-team-name{margin:0 0 10px;font-size:14px;line-height:1.35}
 .attendance-team-roster{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:6px!important;margin:0!important}
 .attendance-player-status{width:100%;min-width:0;padding:8px 9px;border:1px solid #eee8e8;border-radius:9px;background:#fcfafa}
 .attendance-player-status>i{margin-top:5px}
 .attendance-player-status strong{font-size:12px;overflow-wrap:anywhere}
 .attendance-player-status small{font-size:10px}
 .attendance-player-table tr.data-row>td:nth-child(3){display:none!important}
 .attendance-player-table tr.data-row>td:nth-child(4){grid-column:1/-1!important;grid-row:2!important;align-self:stretch!important;justify-self:stretch!important;display:block!important;padding-top:10px!important;border-top:1px solid #eee8e8!important}
 .attendance-player-table tr.data-row>td:nth-child(4)>form{width:100%;margin:0}
 .attendance-player-table .team-checkin-button,.audience-attendance__table .team-checkin-button{width:100%;min-width:0;min-height:58px;padding:7px 12px 7px 8px;border-color:var(--brand);border-radius:12px;background:var(--brand);color:#fff;box-shadow:0 8px 20px rgba(107,21,21,.14)}
 .attendance-player-table .team-checkin-button:hover,.audience-attendance__table .team-checkin-button:hover{border-color:#541010;background:#541010;box-shadow:0 10px 23px rgba(107,21,21,.2)}
 .attendance-player-table .team-checkin-button__icon,.attendance-player-table .attendance-complete__icon,.audience-attendance__table .team-checkin-button__icon,.audience-attendance__table .attendance-complete__icon{width:32px;height:32px}
 .attendance-player-table .team-checkin-button__icon,.audience-attendance__table .team-checkin-button__icon{background:rgba(255,255,255,.15);color:#fff}
 .attendance-player-table .team-checkin-button__copy strong,.attendance-player-table .attendance-complete strong,.audience-attendance__table .team-checkin-button__copy strong,.audience-attendance__table .attendance-complete strong{font-size:11px}
 .attendance-player-table .team-checkin-button__copy small,.audience-attendance__table .team-checkin-button__copy small{color:#ead7d7;font-size:9px}
 .attendance-player-table .attendance-complete small,.audience-attendance__table .attendance-complete small{font-size:9px}
 .audience-attendance__table .spectator-manual-checkin{width:100%}
 .attendance-complete{width:100%;padding:8px 10px;border:1px solid #d8eadc;border-radius:12px;background:#f4faf5;font-size:11px;font-weight:600;color:#2f6f43}
}

@media(max-width:700px){.payment-discounts{margin-top:16px}.payment-discounts__heading{padding:13px}.payment-discount-card{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 13px}.payment-discount-card__person{grid-column:1;grid-row:1}.payment-discount-card__status{grid-column:2;grid-row:1;align-self:start}.payment-discount-card__code{grid-column:1;grid-row:2}.payment-discount-card__value{grid-column:2;grid-row:2;text-align:end;justify-items:end}.payment-discount-card__status>span{display:none}.payment-discount-card__value small{justify-content:flex-end}}
@media(max-width:700px){.promo-code-manager{margin-top:18px}.promo-code-manager__heading{align-items:flex-start;padding:15px}.promo-code-manager__heading p{line-height:1.5}.promo-code-manager__body{display:block;padding:12px 15px 15px}.promo-code-generator,.promo-code-manager--has-codes .promo-code-generator{grid-template-columns:minmax(0,1fr) auto;justify-content:stretch;padding:11px}.promo-code-generator__input{width:100%}.promo-code-generator .btn{min-height:44px}.promo-code-empty{margin-top:10px;min-height:76px;padding:13px}.promo-code-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px}.promo-code-row__code{grid-column:1}.promo-code-row>strong{grid-column:2;grid-row:1;text-align:end}.promo-code-row>span:not(.badge):not(.promo-code-row__expired){grid-column:1}.promo-code-row>.badge{grid-column:2;grid-row:2;justify-self:end}.promo-code-row>form,.promo-code-row__expired{grid-column:1/-1}.promo-code-row>form .btn{width:100%}}

@media(prefers-reduced-motion:reduce){.team-checkin-button{transition:none}.team-checkin-button:hover{transform:none}}

/* V142 — public tournament information and the manager's next step use one clear hierarchy. */
.tournament-section-kicker{display:block;margin-bottom:7px;color:#8b7474;font-size:10px;font-weight:700;letter-spacing:1.35px;text-transform:uppercase}
.tournament-overview{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:clamp(32px,5vw,76px);align-items:stretch;margin:2px 0 30px;padding:34px 0;border-top:1px solid #e7dfdf;border-bottom:1px solid #e7dfdf}
#tournament-tabs+.tournament-overview,#tournament-tabs+.tournament-rules,#tournament-tabs+.watch-awaiting-schedule{border-top:0}
.tournament-overview__story{display:flex;min-width:0;flex-direction:column;justify-content:center;padding-block:8px}
.tournament-overview h2,.tournament-rules h2{margin:0;font-size:clamp(22px,2.3vw,30px);font-weight:650;letter-spacing:-.65px}
.tournament-overview__description{max-width:760px;margin:16px 0 27px;color:#403839;font-size:16px;line-height:1.75}
.tournament-overview__facts{display:grid;grid-template-columns:1.05fr 1.1fr .85fr;overflow:hidden;border:1px solid #e8e1e1;border-radius:13px;background:#e8e1e1;gap:1px}
.tournament-overview__facts>div{display:flex;min-width:0;min-height:88px;flex-direction:column;justify-content:center;gap:3px;padding:15px 17px;background:#fff}
.tournament-overview__facts span,.tournament-registration-timeline span,.tournament-rules__facts span{color:#897d7e;font-size:10px;font-weight:650;letter-spacing:.55px;text-transform:uppercase}
.tournament-overview__facts strong{font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.tournament-overview__facts small{color:#8a8081;font-size:9px;line-height:1.35}
.tournament-registration-panel{display:flex;min-width:0;flex-direction:column;gap:0;padding:27px;border:0;border-radius:16px;background:#f7f2f2;box-shadow:none}
.tournament-registration-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.tournament-registration-panel__head h2{font-size:21px;letter-spacing:-.35px}
.tournament-registration-panel__status{display:inline-flex;flex:none;align-items:center;min-height:27px;margin:0;padding:5px 8px;border-radius:7px;background:#fff;color:var(--brand);font-size:10px;font-weight:700;text-transform:capitalize}
.tournament-registration-panel__approval{margin:10px 0 19px;color:#746869;font-size:12px}
.tournament-registration-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 0 20px;border-top:1px solid #e6dada;border-bottom:1px solid #e6dada}
.tournament-registration-timeline>div{display:grid;gap:5px;min-width:0;padding:15px 12px 15px 0}
.tournament-registration-timeline>div+div{padding-inline-start:16px;border-inline-start:1px solid #e6dada}
.tournament-registration-timeline strong{font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.tournament-registration-panel__actions{display:flex;margin-top:auto}
.tournament-registration-panel__actions>.btn{width:100%;min-height:48px;border-radius:10px;white-space:normal;text-align:center}
.tournament-rules{margin:2px 0 30px;padding:32px 0;border-top:1px solid #e7dfdf;border-bottom:1px solid #e7dfdf}
.tournament-rules__heading{display:flex;align-items:center;gap:13px;margin-bottom:25px}
.tournament-section-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:#f4eaea;color:var(--brand)}
.tournament-section-icon .action-icon{width:19px;height:19px}
.tournament-rules__heading .tournament-section-kicker{margin-bottom:3px}
.tournament-rules__facts{display:grid;grid-template-columns:.7fr 1fr 1.5fr;gap:1px;overflow:hidden;border:1px solid #e8e1e1;border-radius:13px;background:#e8e1e1}
.tournament-rules__facts>div{display:flex;min-width:0;min-height:108px;flex-direction:column;justify-content:center;gap:5px;padding:18px 20px;background:#fff}
.tournament-rules__facts strong{font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.tournament-rules__facts small{color:#756b6c;font-size:11px;line-height:1.5}
.tournament-rules__note{display:flex;align-items:flex-start;gap:12px;margin-top:14px;padding:15px 17px;border-radius:12px;background:#f7f4f4;color:#625859}
.tournament-rules__note-icon{display:grid;place-items:center;width:29px;height:29px;flex:0 0 29px;border-radius:8px;background:#fff;color:var(--brand)}
.tournament-rules__note-icon .action-icon{width:15px;height:15px}
.tournament-rules__note>div{display:grid;gap:2px}.tournament-rules__note>div>span{color:#7c7071;font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}
.tournament-rules__note p{margin:0;font-size:13px;line-height:1.55}
.tournament-next-step,.action-strip.tournament-next-step{display:grid;grid-template-columns:minmax(260px,400px) minmax(190px,260px) auto;justify-content:start;align-items:center;gap:clamp(24px,4vw,58px);margin-bottom:24px;padding:16px 0;border:0;border-top:1px solid #e5dddd;border-bottom:1px solid #e5dddd;border-radius:0;background:transparent;box-shadow:none}
html[dir=rtl] .tournament-next-step{border:0;border-top:1px solid #e5dddd;border-bottom:1px solid #e5dddd}
.tournament-next-step__copy{display:grid;min-width:0;gap:2px}
.tournament-next-step__copy>span{color:#8a7778;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.tournament-next-step__copy>strong{font-size:15px;line-height:1.4}
.tournament-next-step__copy>p,.action-strip.tournament-next-step p{margin:0;color:#756b6c;font-size:12px;line-height:1.45}
.tournament-next-step__progress{display:grid;gap:8px;min-width:0}
.tournament-next-step__progress>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.tournament-next-step__progress span{color:#8a7d7e;font-size:9px;font-weight:650;letter-spacing:.5px;text-transform:uppercase}
.tournament-next-step__progress strong{font-size:11px;white-space:nowrap}
.tournament-next-step__progress>i{display:block;width:100%;height:5px;overflow:hidden;border-radius:99px;background:#eadfdf}
.tournament-next-step__progress>i>b{display:block;width:var(--registration-progress);height:100%;border-radius:inherit;background:var(--brand)}
.tournament-next-step__action{display:flex;align-items:center;justify-content:flex-end}
.tournament-next-step__action>form{margin:0}
.tournament-next-step__action .btn{min-height:44px;border-radius:10px}
@media(max-width:900px){.tournament-overview{grid-template-columns:1fr;gap:24px}.tournament-registration-panel{padding:24px}.tournament-rules__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-rules__facts>div:last-child{grid-column:1/-1}}
@media(max-width:760px){.tournament-next-step,.action-strip.tournament-next-step{grid-template-columns:1fr;gap:14px;padding:16px 0}.tournament-next-step__progress{max-width:none}.tournament-next-step__action{width:100%}.tournament-next-step__action>form,.tournament-next-step__action .btn{width:100%}}
@media(max-width:600px){.tournament-overview{gap:18px;margin-top:0;padding:24px 0}.tournament-overview__description{margin:13px 0 20px;font-size:14px;line-height:1.65}.tournament-overview__facts{grid-template-columns:1fr}.tournament-overview__facts>div{min-height:0;padding:13px 14px}.tournament-registration-panel{padding:19px;border-radius:13px}.tournament-registration-panel__head{align-items:flex-start}.tournament-registration-panel__head h2{font-size:19px}.tournament-registration-timeline{grid-template-columns:1fr}.tournament-registration-timeline>div{padding:12px 0}.tournament-registration-timeline>div+div{padding-inline-start:0;border-top:1px solid #e6dada;border-inline-start:0}.tournament-rules{padding:24px 0}.tournament-rules__heading{margin-bottom:18px}.tournament-rules__facts{grid-template-columns:1fr}.tournament-rules__facts>div,.tournament-rules__facts>div:last-child{grid-column:1;min-height:0;padding:14px 15px}.tournament-rules__note{padding:13px}}

/* Optional audience discounts and an explicit transition to payment. */
.attendance-discount-step{display:grid;gap:12px;padding:15px;border:1px solid #e5d8d8;border-radius:12px;background:#fcf9f9}
.attendance-discount-step__heading h3{display:flex;align-items:center;gap:8px;margin:0 0 3px;font-size:15px}
.attendance-discount-step__heading h3 span{padding:3px 7px;border-radius:999px;background:#f1e7e7;color:var(--brand);font-size:9px;font-weight:700;text-transform:uppercase}
.attendance-discount-step__heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.attendance-discount-step .field{gap:5px}.attendance-discount-step .field>span{font-size:12px}.attendance-discount-step .field>small{font-size:11px}
.attendance-payment-next{display:grid;gap:2px;padding:12px 13px;border-inline-start:3px solid var(--brand);border-radius:0 9px 9px 0;background:var(--brand-light)}
.attendance-payment-next strong{font-size:12px}.attendance-payment-next span{color:#665b5b;font-size:11px;line-height:1.5}
@media(max-width:520px){.attendance-discount-step{padding:13px}.attendance-payment-next{padding:11px 12px}}
