:root{--red:#bc2418;--green:#4c861b;--ink:#252824;--muted:#686d66;--line:#e7e9e3;--paper:#f7f8f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;font-size:15px}*{box-sizing:border-box}body{margin:0}a{color:var(--red);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ac970b;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.15}p{line-height:1.65}h1{font-size:clamp(2rem,3vw,2.8rem);font-weight:650}h2{font-size:1.7rem;font-weight:650}h3{font-size:1.4rem;font-weight:650}.skip{position:absolute;top:-80px;left:20px;padding:14px;background:white;z-index:100}.skip:focus{top:10px}header{border-bottom:1px solid var(--line);background:white}.header-inner{max-width:1280px;margin:auto;min-height:104px;padding:18px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:13px;font-size:1.02rem;font-weight:700;line-height:1.4;color:var(--ink)}.brand:hover{text-decoration:none}.brand img{width:58px;height:58px;object-fit:contain}.brand-sub{display:block;font-weight:500;color:var(--muted)}nav{display:flex;gap:26px;align-items:center}header nav>a:not(.button){color:var(--ink);font-size:.92rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;border:1px solid var(--red);border-radius:7px;padding:15px 23px;background:var(--red);color:white;font-weight:600;font-size:.93rem;line-height:1.35}.button:hover{background:#931b12;border-color:#931b12;color:white;text-decoration:none}.button.small{padding:11px 18px}.button.outline{background:white;color:var(--red);border-color:#d9dcd4}.button.outline:hover{border-color:var(--red);background:#fff9f7}.button.full{width:100%;margin-top:25px}.public-main{max-width:1280px;margin:auto;padding:0 40px}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center;min-height:590px;padding:76px 0 66px}.eyebrow{font-size:.72rem;font-weight:750;letter-spacing:.14em;color:var(--muted);margin-bottom:20px}.dot{display:inline-block;width:8px;height:8px;background:var(--red);border-radius:50%;margin-right:8px;flex-shrink:0}.dot.green{background:var(--green)}.hero h1{font-size:clamp(2.8rem,4.4vw,4.4rem);line-height:1.08;letter-spacing:-.055em;margin-bottom:27px}.hero h1 span{color:var(--red)}.lead{max-width:520px;font-size:1.12rem;color:var(--muted);line-height:1.7}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:31px}.text-link{color:var(--ink);font-size:.9rem;font-weight:600}.hero-note{font-size:.78rem;color:var(--muted);margin:21px 0 0}.hero-emblem{display:flex;flex-direction:column;align-items:center;gap:30px}.emblem-ring{border:1px solid var(--line);padding:32px;border-radius:50%;box-shadow:0 18px 60px #20282007}.emblem-ring img{display:block;width:min(100%,330px);height:auto}.hero-emblem>span{font-size:.65rem;letter-spacing:.2em;color:var(--muted);font-weight:650}.ribbon{display:flex;height:4px;width:100%;gap:6px}.ribbon i{flex:1;background:#e2261c}.ribbon i:nth-child(2){background:#fff;box-shadow:inset 0 0 0 1px var(--line)}.ribbon i:nth-child(3){background:#65b62b}.ribbon i:nth-child(4){background:#ffcd2b}.portal-section{padding:68px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:12px}.section-heading h2{font-size:2.2rem;margin:0}.section-heading>p{max-width:310px;color:var(--muted);margin-bottom:0;font-size:.92rem}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature-grid article{border:1px solid var(--line);border-radius:16px;padding:29px}.card-number{display:block;font-size:.68rem;font-weight:700;letter-spacing:.12em;color:var(--muted);margin-bottom:35px}.feature-grid h3{margin-bottom:14px}.feature-grid p{font-size:.94rem;color:var(--muted);margin-bottom:0}.access-banner{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:37px 40px;background:var(--paper);border-radius:16px;margin-bottom:70px}.access-banner h2{font-size:1.65rem}.access-banner .eyebrow{margin-bottom:12px}.access-banner p:last-child{margin:0;color:var(--muted);font-size:.92rem}footer{padding:27px 40px;border-top:1px solid var(--line);font-size:.74rem;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.auth-layout{min-height:690px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:120px;padding:64px 70px}.auth-intro h1{font-size:3.8rem;letter-spacing:-.055em}.auth-intro p:not(.eyebrow){max-width:360px;color:var(--muted)}.auth-intro .ribbon{max-width:220px;margin-top:36px}.auth-card{border:1px solid var(--line);border-radius:16px;padding:35px;background:white;box-shadow:0 12px 40px #28282006}.auth-logo{display:block;margin-bottom:22px}.auth-card h2{margin-bottom:26px}.auth-card .form-help{margin-top:20px}.back-link{display:inline-block;font-size:.85rem;color:var(--muted);margin-top:18px;margin-bottom:16px}label:not(.check){display:block;font-size:.85rem;font-weight:600;margin:18px 0 8px}input:not([type=checkbox]),select{display:block;width:100%;border:1px solid #d5d9d0;padding:12px 13px;border-radius:7px;background:white;min-height:45px;color:var(--ink)}input[readonly]{background:var(--paper);font-size:.85rem}.form-help{font-size:.8rem;color:var(--muted);line-height:1.65}.muted{color:var(--muted);font-size:.92rem}.notice{border-radius:8px;padding:15px 20px;margin:24px 0;font-size:.92rem}.notice.error{background:#fff2ef;border:1px solid #f0ccc5;color:#8c2016}.notice.success{background:#f0f8e9;border:1px solid #cddfbc;color:#355c18}.workspace{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 180px);max-width:1600px;margin:auto}aside{border-right:1px solid var(--line);padding:35px 20px;display:flex;flex-direction:column;background:white}aside>.eyebrow{padding:0 14px;font-size:.65rem}aside nav{flex-direction:column;gap:6px;align-items:stretch}aside nav a{padding:13px 14px;color:var(--muted);border-radius:7px;display:flex;justify-content:space-between;font-size:.88rem;font-weight:550}aside nav a[aria-current]{color:var(--red);background:#fdf0ed}aside nav a:hover{background:var(--paper);text-decoration:none}.sidebar-user{margin-top:auto;padding:32px 14px 0;font-size:.82rem}.sidebar-user strong,.sidebar-user>span{display:block;overflow-wrap:anywhere}.sidebar-user>span{color:var(--muted);margin-top:5px}.sidebar-user form{margin-top:17px}.text-button{background:none;border:0;padding:0;color:var(--red);font-size:.85rem;text-align:left}.text-button:hover{text-decoration:underline}.panel-main{padding:45px;min-width:0;background:#fafbf9}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:32px}.page-heading h1{margin-bottom:12px}.page-heading p{color:var(--muted);margin-bottom:0}.page-heading .eyebrow{margin-bottom:12px}.badge{display:inline-block;padding:7px 11px;border-radius:30px;font-size:.7rem;font-weight:650;color:#3d641b;background:#edf4e6;white-space:nowrap}.badge.inactive{background:#eceee9;color:#62665f}.badge.pending{background:#fbf6d9;color:#756313}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.module-card{background:white;border:1px solid var(--line);border-radius:16px;padding:30px;color:var(--ink);display:flex;flex-direction:column;min-height:250px}.module-card:hover{border-color:#c8cebf;text-decoration:none;box-shadow:0 5px 20px #222b2005}.module-card.featured{border-top:3px solid var(--red);grid-column:1/-1}.module-card .card-number{margin-bottom:25px}.module-card h2{font-size:1.65rem}.module-card p{max-width:590px;color:var(--muted);font-size:.94rem}.module-bottom{display:flex;justify-content:space-between;margin-top:auto;font-size:.83rem;font-weight:650;color:var(--red);padding-top:20px}.info-strip{display:flex;align-items:center;gap:13px;padding:22px 0;color:var(--muted);font-size:.84rem}.info-strip p{margin:0}.table-wrap{background:white;border:1px solid var(--line);border-radius:12px;overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.88rem}th{background:#f4f6f1;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:15px 20px}td{border-top:1px solid var(--line);padding:20px;vertical-align:middle}.cell-sub{display:block;font-size:.78rem;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.actions{min-width:130px}.actions>a{display:inline-block;margin-bottom:10px}.actions form{margin:0}.editor-card{max-width:850px;background:white;border:1px solid var(--line);border-radius:16px;padding:32px}.editor-card h2{font-size:1.2rem;margin:0 0 20px}.editor-card h2:not(:first-child){margin-top:30px}.editor-card.narrow{max-width:580px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.form-grid label:first-child{margin-top:10px}.check{display:flex;align-items:center;gap:10px;font-size:.86rem;line-height:1.4}.check input{width:17px;height:17px;accent-color:var(--red);flex-shrink:0}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;padding:10px 0}.status-check{padding:24px 0 4px}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:25px;padding-top:25px;border-top:1px solid var(--line)}.empty-state{background:white;border:1px dashed #d4d9cd;border-radius:16px;padding:65px 30px;text-align:center}.empty-state p{color:var(--muted);max-width:550px;margin:0 auto 20px}.empty-mark{display:inline-flex;align-items:center;justify-content:center;min-width:62px;height:62px;padding:12px;border-radius:50%;background:#faf2df;color:#897615;font-weight:750;font-size:.8rem;letter-spacing:.08em;margin-bottom:25px}.empty-state h2{font-size:1.65rem}.invitation{background:#f1f7e9;border:1px solid #d5e3c8;padding:24px;border-radius:12px;margin-bottom:24px}.invitation h2{font-size:1.2rem}.invitation p{font-size:.86rem;margin-bottom:10px}.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}

/* Flexible content and touch targets shared by every screen. */
img{max-width:100%}.brand img{flex-shrink:0}.brand,nav,.hero>div,.auth-layout>div,.form-grid>div,.page-heading>div,.access-banner>div,.feature-grid article,.module-card{min-width:0}
h1,h2,h3,p,.brand,.eyebrow,.badge,.cell-sub,td,.mobile-user{overflow-wrap:anywhere}
.button{min-height:44px;text-align:center}.text-button,.back-link,.text-link,.actions>a,.responsive-table td>a{min-height:44px;display:inline-flex;align-items:center}.check{min-height:44px;padding-block:8px}.check input{width:20px;height:20px}.status-check{padding-top:20px}
input:not([type=checkbox]):not([type=hidden]),select{font-size:16px;min-width:0;max-width:100%}.form-actions{flex-wrap:wrap}.badge{white-space:normal}.account-logout{margin-top:24px}.mobile-menu{display:none}.hero-actions{flex-wrap:wrap}.hero-emblem>span{text-align:center}.access-banner>.button{flex-shrink:0}.page-heading>.button{flex-shrink:0}.table-wrap{max-width:100%}.responsive-table{table-layout:fixed}.responsive-table td{overflow-wrap:anywhere}.responsive-table th:first-child{width:34%}.responsive-table .actions{min-width:0}.actions form{margin:0}
@media(max-width:1100px){
 .hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;padding:56px 0;min-height:520px}.emblem-ring{padding:20px}.hero-emblem img{max-width:260px}.hero h1{font-size:clamp(2.4rem,4.8vw,3.5rem)}
 .auth-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:48px 0;gap:36px}.auth-intro h1{font-size:3rem}.auth-card{padding:28px}.feature-grid{gap:16px}.feature-grid article{padding:23px}.access-banner{padding:30px;gap:24px}
}
@media(max-width:1024px){
 .workspace{display:block;min-height:calc(100vh - 180px)}.workspace>aside{display:none}.mobile-menu{display:block;padding:0 28px;border-bottom:1px solid var(--line);background:white}
 .mobile-menu summary{cursor:pointer;padding:17px 0;min-height:56px;font-weight:650;line-height:1.5}.menu-current{font-size:.83rem;font-weight:400;color:var(--muted);margin-left:14px}.mobile-menu nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 0 16px}
 .mobile-menu nav a{display:flex;align-items:center;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:7px;color:var(--ink);font-size:.94rem;overflow-wrap:anywhere}.mobile-menu nav a[aria-current]{color:var(--red);background:#fdf0ed;border-color:#f2d5ce}
 .mobile-user{padding:18px 0;border-top:1px solid var(--line);font-size:.88rem}.mobile-user strong,.mobile-user>span{display:block}.mobile-user>span{color:var(--muted);margin-top:5px}.mobile-user form{margin-top:8px}.panel-main{padding:32px 28px}.page-heading{gap:22px}.editor-card{max-width:none}.editor-card.narrow{max-width:640px}
}
@media(max-width:900px){
 .header-inner{padding-inline:28px}.public-main{padding:0 28px}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid article:last-child{grid-column:1/-1}.section-heading{gap:25px}.section-heading>p{max-width:250px}.checkbox-grid{grid-template-columns:1fr}
 .table-wrap{border:0;border-radius:0;background:none;overflow:visible}.responsive-table,.responsive-table tbody{display:block;width:100%}.responsive-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .responsive-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:20px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:16px}.responsive-table td{display:block;border:0;padding:0;min-width:0}.responsive-table td:first-child,.responsive-table td:last-child{grid-column:1/-1}
 .responsive-table td::before{content:attr(data-label);display:block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.responsive-table td:first-child>strong{font-size:1.04rem}.responsive-table td:last-child{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-wrap:wrap;gap:0 24px;align-items:center}.responsive-table td:last-child::before{width:100%;margin-bottom:0}.responsive-table .actions>a{margin:0}.cell-sub{font-size:.86rem}.responsive-table{font-size:.94rem}
}
@media(max-width:720px){
 .header-inner{padding:14px 20px;min-height:83px;gap:12px;flex-wrap:wrap}.brand{font-size:.9rem;gap:9px}.brand img{width:44px;height:44px}.header-inner nav{gap:12px}.nav-home,header nav.signed-in>a:first-child{display:none}.header-inner .button{font-size:.85rem;padding:11px 13px;gap:8px}
 .public-main{padding:0 22px}.hero{grid-template-columns:minmax(0,1fr);gap:38px;padding:42px 0;min-height:auto}.hero h1{font-size:clamp(2.1rem,9.5vw,3.4rem)}.hero-emblem{gap:20px}.hero-emblem img{max-width:220px}.hero-emblem .emblem-ring{padding:18px}.hero-actions{gap:15px 22px}.lead{font-size:1.07rem}
 .section-heading{display:block}.section-heading>p{margin-top:20px;max-width:none}.section-heading h2{font-size:1.9rem}.feature-grid{grid-template-columns:minmax(0,1fr);gap:15px}.feature-grid article{padding:25px}.feature-grid article:last-child{grid-column:auto}.card-number{margin-bottom:23px}.portal-section{padding:42px 0}.access-banner{display:block;padding:25px;margin-bottom:42px}.access-banner>.button{margin-top:24px}
 .auth-layout{display:block;min-height:auto;padding:32px 0}.auth-intro{margin-bottom:26px}.auth-intro h1{font-size:2.4rem}.auth-intro .ribbon{margin-top:20px}.auth-card{padding:25px}.auth-card h2{font-size:1.6rem}.auth-card .back-link{margin-bottom:0}
 footer{padding:24px 22px;flex-direction:column;gap:10px;font-size:.78rem}.mobile-menu{padding:0 20px}.menu-current{display:block;margin:4px 0 0 18px}.panel-main{padding:28px 20px}.page-heading{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:26px}.page-heading h1{font-size:2rem}.page-heading p{font-size:.96rem}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.module-card.featured{grid-column:auto}.module-card{padding:25px;min-height:220px}.form-grid,.checkbox-grid{grid-template-columns:minmax(0,1fr)}.editor-card{padding:22px}.form-actions{gap:12px}.form-actions>.button{flex:1 1 150px}.empty-state{padding:38px 22px}.badge{font-size:.76rem}.invitation{padding:20px}.workspace+footer{margin-top:0}
}
@media(max-width:380px){
 .header-inner{padding-inline:16px}.header-inner nav{width:100%}.header-inner nav .button{width:100%}.public-main{padding-inline:18px}.panel-main{padding-inline:16px}.mobile-menu{padding-inline:16px}.mobile-menu nav{grid-template-columns:minmax(0,1fr)}.auth-card,.editor-card{padding:20px}.hero-actions>.button{width:100%}.responsive-table tr{padding:18px;gap:14px}.responsive-table td{grid-column:1/-1}
}

.environment-banner{padding:12px 20px;background:#fff3cd;color:#684b00;border-bottom:1px solid #e7ca70;text-align:center;font-size:.88rem;overflow-wrap:anywhere}.environment-banner strong{display:block;letter-spacing:.08em}.environment-banner span{display:block;margin-top:4px}

/* Shared, compact management components. Public pages retain their existing layout. */
[hidden]{display:none!important}summary:focus-visible{outline:3px solid #ac970b;outline-offset:3px}
.private .header-inner{min-height:78px;padding-block:12px}.private .brand img{width:44px;height:44px}.private .panel-main{padding:24px;background:#f7f8f6}.private .page-heading{gap:16px;margin-bottom:20px}.private .page-heading h1{font-size:1.85rem;margin-bottom:6px}.private .page-heading p{font-size:.9rem}.private .eyebrow{margin-bottom:7px}.private .editor-card{padding:22px;max-width:920px;box-shadow:0 3px 14px #26302204}.private .editor-card.narrow{max-width:640px}.private .editor-card h2{margin:0 0 12px}.private .form-actions{margin-top:18px;padding-top:18px}.private .back-link{margin-top:0;margin-bottom:8px}.private .dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.private .module-card{min-height:180px;padding:20px}.private .module-card h2{font-size:1.3rem;margin-bottom:10px}.private .module-card .card-number{margin-bottom:14px}.private .module-card p{margin-bottom:8px}.private .module-bottom{padding-top:10px}.private aside{padding:24px 14px}.private .notice{margin:0 0 16px}.directory-tools,.fold-card{border:1px solid var(--line);border-radius:12px;background:white;padding:16px;margin:0 0 16px;box-shadow:0 3px 14px #26302203}.directory-tools label{margin:0 0 6px}.search-row{display:flex;align-items:end;gap:10px}.search-row>div{flex:1;min-width:0}.search-row .button{padding:12px 18px}.filter-fold{margin-top:10px}.filter-fold summary,.fold-card summary{cursor:pointer;min-height:44px;align-content:center;font-weight:650;font-size:.9rem}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:6px}.filter-grid label{margin-top:6px}.filter-apply{margin-top:12px}.directory-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.directory-heading p{font-size:.86rem;color:var(--muted);margin:0}.view-switch{display:flex;align-items:center;gap:4px;font-size:.8rem}.view-switch>span{margin-right:6px;color:var(--muted)}.view-switch button{border:1px solid var(--line);border-radius:7px;background:white;color:var(--muted);min-height:44px;padding:8px 12px}.view-switch button[aria-pressed=true]{background:#fdf0ed;border-color:#e8bdb5;color:#982016}.directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:12px}.directory-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px;min-width:0;box-shadow:0 3px 14px #26302204;display:flex;flex-direction:column}.card-title{display:flex;align-items:flex-start;gap:10px;min-width:0}.card-title>div{flex:1;min-width:0}.card-title h2{font-size:1.05rem;margin:1px 0 4px;letter-spacing:-.02em}.card-title p{font-size:.78rem;color:var(--muted);margin:0}.card-title .badge{font-size:.68rem;padding:5px 8px;max-width:110px}.avatar{width:34px;height:34px;flex-shrink:0;background:#f4f1ec;border:1px solid #ece7df;color:#776348;border-radius:10px;display:grid;place-items:center;font-size:.76rem;font-weight:700}.card-content{padding-top:12px;flex:1;min-width:0}.role-label{font-size:.77rem;font-weight:650;color:var(--muted)}.club-tags{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.club-tag{background:#f3f6f0;color:#476035;border:1px solid #e4eadf;border-radius:6px;font-size:.76rem;padding:4px 8px;overflow-wrap:anywhere;max-width:100%}.club-tag.inactive{color:#777;background:#f5f5f5}.contact-line{font-size:.8rem;overflow-wrap:anywhere;margin:8px 0 10px;color:var(--muted)}.card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #eff0ec;padding-top:10px;margin-top:4px}.card-actions .button{font-size:.8rem;padding:9px 13px}.card-actions .text-link{font-size:.8rem}.directory-list{grid-template-columns:minmax(0,1fr)}.directory-list .directory-card{display:grid;grid-template-columns:minmax(200px,1fr) minmax(200px,1fr) auto;align-items:center;gap:16px}.directory-list .card-content{padding:0}.directory-list .card-actions{border:0;padding:0;margin:0}.directory-list .contact-line{margin-bottom:0}.directory-list .club-tags{margin:4px 0}.fold-card{padding:0;overflow:hidden;margin-top:16px}.fold-card summary{padding:12px 16px;min-height:48px}.fold-card[open] summary{border-bottom:1px solid var(--line)}.fold-body{padding:16px}.fold-body p{font-size:.88rem;color:var(--muted);margin-bottom:10px}.fold-body p:last-child{margin-bottom:0}.fold-body h2{font-size:1.1rem}.club-picker{border:0;padding:0;margin:22px 0 16px;min-width:0}.club-picker legend{font-weight:650;font-size:1.1rem;padding:0}.club-picker .form-help{margin:8px 0}.club-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:260px;overflow:auto;margin-top:10px;padding:4px}.club-choice{border:1px solid var(--line);background:#fafbf8;border-radius:8px;padding:10px;min-height:46px}.club-choice span{overflow-wrap:anywhere;min-width:0}.club-choice:has(input:checked){background:#f1f6ed;border-color:#bacfa8}.access-recovery{max-width:920px}.access-recovery .button{margin-top:12px}.pagination{margin-top:16px;justify-content:space-between}.private #preference-status{margin:10px 0 0;font-size:.76rem;min-height:20px}.private .status-check{padding-top:12px}.private .empty-state{padding:32px 20px}
@media(max-width:1100px){.directory-list .directory-card{grid-template-columns:minmax(0,1fr) auto}.directory-list .card-content{grid-column:1;grid-row:2}.directory-list .card-actions{grid-column:2;grid-row:1/3;flex-direction:column}.private .panel-main{padding:20px}}
@media(max-width:720px){.private .panel-main{padding:16px}.private .page-heading{gap:12px;margin-bottom:16px}.private .page-heading h1{font-size:1.6rem}.private .page-heading>.button{align-self:stretch}.private .editor-card{padding:16px}.search-row{flex-wrap:wrap;gap:8px}.search-row>div{flex-basis:100%}.search-row>.button{flex:1}.filter-grid{grid-template-columns:1fr}.directory-tools{padding:12px}.directory{grid-template-columns:1fr}.directory-card{padding:14px}.directory-list .directory-card{display:flex;gap:0}.directory-list .card-content{padding-top:8px}.directory-list .card-actions{flex-direction:row;border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.directory-list .avatar{display:none}.directory-list .contact-line{margin-top:4px}.club-choices{grid-template-columns:1fr}.private .dashboard-grid{grid-template-columns:1fr}.private .module-card{min-height:150px;padding:16px}.fold-body{padding:14px}.private .header-inner{padding:10px 16px}.private .environment-banner{padding:8px 12px;font-size:.76rem}.private .environment-banner span{margin-top:2px}.private .checkbox-grid{gap:4px}}
@media(max-width:720px){.directory-list .directory-card{align-items:stretch}}

/* Read-only audit, shared typography and compact cards. */
.audit-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.audit-tabs a{padding:11px 15px;border:1px solid var(--line);border-radius:8px;background:white;font-size:.88rem;text-decoration:none;color:var(--muted)}.audit-tabs a[aria-current=page]{color:#982016;background:#fdf0ed;border-color:#e8bdb5;font-weight:650}.audit-context{font-size:.88rem;color:var(--muted);margin:0 0 16px;max-width:900px}.audit-timezone,.audit-reference{font-size:.75rem;color:var(--muted)}.audit-records{display:grid;gap:8px}.audit-record{display:grid;grid-template-columns:minmax(145px,.7fr) minmax(0,1.3fr) minmax(0,1fr);gap:16px;background:white;border:1px solid var(--line);border-radius:11px;padding:14px 16px;font-size:.86rem;box-shadow:0 3px 14px #26302203}.audit-record>div{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.audit-label{color:var(--muted);font-size:.72rem}.audit-record .badge{align-self:flex-start;font-size:.7rem}.audit-record strong{font-size:.91rem}.audit-when time{font-variant-numeric:tabular-nums}.audit-record .muted{font-size:.79rem}
@media(max-width:720px){.audit-record{grid-template-columns:1fr;padding:13px;gap:12px}.audit-when{padding-bottom:9px;border-bottom:1px solid var(--line)}.audit-tabs a{flex:1;text-align:center;padding:11px 9px}.audit-context{font-size:.82rem}.audit-record>div{gap:3px}}

.audit-filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}

.admin-navigation{margin:4px 0}.admin-navigation>summary{cursor:pointer;padding:13px 14px;font-weight:650;font-size:.9rem;min-height:44px}.admin-navigation-links{padding-left:10px;border-left:2px solid #ebe8df;margin-left:14px}.admin-navigation-links a{font-size:.83rem!important}.admin-dashboard{margin-top:22px}.admin-dashboard>h2,.account-clubs h2{font-size:1.15rem;margin-bottom:12px}.admin-dashboard h3{font-size:1.2rem;margin:0 0 10px}.account-password{max-width:640px}.account-clubs{margin-top:20px}.account-password .fold-body{padding:20px}.mobile-menu .admin-navigation{grid-column:1/-1}.mobile-menu .admin-navigation>summary{padding:12px 10px}.mobile-menu .admin-navigation-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));padding:4px 0 4px 10px}.mobile-menu .admin-navigation-links a{padding:12px 10px}
#membership-dialog{width:min(620px,calc(100% - 24px));max-width:none;max-height:calc(100dvh - 32px);border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff;color:var(--ink);box-shadow:0 20px 70px #0003;overflow:auto}#membership-dialog::backdrop{background:#1b221c66}.membership-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.membership-heading>div{min-width:0}.membership-heading h1{font-size:1.45rem!important;overflow-wrap:anywhere;margin:0}.membership-heading .eyebrow{font-size:.72rem}.membership-heading button{flex-shrink:0}.membership-search label{margin-top:14px}.membership-search .search-row>div{flex-basis:auto}.membership-choices{display:grid;gap:8px}.membership-choice{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:9px 12px;background:#fafbf9}.membership-choice:has(input:checked){border-color:#bacfa8;background:#f2f7ee}.membership-choice label{flex:1;margin:0;min-width:0;min-height:42px}.membership-choice label>span{display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:anywhere}.membership-choice strong{font-size:.9rem}.membership-choice .muted{font-size:.77rem}.membership-choice .badge{align-self:flex-start}.membership-choice button{font-size:.8rem}.membership-choice input:disabled{opacity:.5}[data-membership-status]{min-height:20px;margin:10px 0;font-size:.84rem}[data-membership-panel]{max-width:760px}[data-membership-panel] .back-link{margin-top:18px}
@media(max-width:720px){#membership-dialog{padding:16px}.membership-heading h1{font-size:1.25rem!important}.membership-heading .button{padding:9px 11px}.membership-choice{padding:8px 10px}.account-password .fold-body{padding:16px}}

/* JJDD: compact, common age category and a separate branch per modality. */
.season-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 20px}.season-picker label{margin:0}.season-picker select{width:auto;min-width:180px;margin:0}.season-picker .text-link{margin-left:auto}
.registration-list,.config-list{display:grid;gap:12px}.registration-card{border:1px solid var(--line,#e4e7e0);background:#fff;border-radius:14px;padding:18px;box-shadow:0 2px 10px #20251e03}.registration-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.registration-heading h2{font-size:1.1rem;margin:0}.registration-heading p{font-size:.86rem;color:var(--muted,#6d756b);margin:4px 0 0}.participation-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.86rem;margin-top:12px}.participation-editor{margin-top:12px;border-top:1px solid #eceee8;padding-top:10px}.participation-editor summary{cursor:pointer;font-weight:650;color:#b72517;font-size:.9rem}.participation-editor form{margin-top:14px}.modality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.modality-grid fieldset{min-width:0;border:1px solid #e3e6df;background:#fafbf8;border-radius:10px;padding:14px}.modality-grid legend{font-weight:700}.modality-grid select{margin-bottom:0}.modality-grid .form-help{margin-bottom:0}.participation-editor .form-grid{margin-bottom:12px}.participation-editor .form-actions{margin-top:12px}.participation-editor [data-save-status]{font-size:.88rem;margin:0;flex:1;overflow-wrap:anywhere}.config-list .editor-card{margin:0}.config-edit,.group-category{margin-top:14px}.config-edit summary,.group-category summary{cursor:pointer;font-weight:650}.config-row{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:14px 0;border-bottom:1px solid #e9ece5}.config-row>div{flex:1;min-width:140px}.config-row input{margin-bottom:0}.config-row .check{padding-bottom:10px;margin:0}.group-category{border:1px solid #e4e7e0;border-radius:9px}.group-category>summary{padding:12px}.group-category .fold-body{padding:0 12px 12px}.group-category h3{font-size:.95rem;margin:15px 0 5px}.group-form{padding:10px 0;border-bottom:1px solid #e9ece5}.group-form label{font-size:.85rem}.group-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.group-actions .check{margin:0}.configuration-tree .editor-card{min-width:0;padding:18px}.configuration-tree h2{margin:0}.configuration-tree>.editor-card>p{margin-top:4px}.registration-heading h2,.registration-heading p{overflow-wrap:anywhere}.registration-heading .badge{flex-shrink:0}button:disabled{cursor:not-allowed;opacity:.6}
@media(max-width:700px){.modality-grid{grid-template-columns:1fr}.registration-card{padding:14px}.season-picker{gap:8px}.season-picker .text-link{margin-left:0;width:100%}.registration-heading{flex-wrap:wrap}.config-row>div{min-width:120px}.config-row .check{width:auto}.participation-editor .form-actions{align-items:stretch;flex-direction:column}.configuration-tree .editor-card{padding:14px}}

/* One control height across engines, including native Safari selects and date inputs. */
:root{--control-height:48px}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select:not([multiple]){box-sizing:border-box;height:var(--control-height);min-height:var(--control-height);padding:0 13px;line-height:normal;font-size:16px;border:1px solid #d5d9d0;border-radius:7px}
select:not([multiple]){-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url('/assets/select-chevron.svg');background-repeat:no-repeat;background-position:right 13px center;background-size:12px 8px;padding-right:38px}
input[type=search]{-webkit-appearance:none;appearance:none}input[type=date]{-webkit-appearance:none;appearance:none;min-width:0}input::-webkit-date-and-time-value{text-align:left}
input[type=file]{padding:7px 10px!important;font-size:.85rem!important;overflow:hidden}input[type=file]::file-selector-button{height:32px;border:0;border-radius:4px;background:#f0f3ed;color:var(--ink);font:inherit;margin-right:8px;padding:0 10px}
.regulations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.resource-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px;min-width:0;align-self:start}.resource-card h2{font-size:1.2rem}.resource-card>p{font-size:.9rem;color:var(--muted)}.resource-card .eyebrow{font-size:.65rem}.resource-card .resource-filename{font-size:.82rem;overflow-wrap:anywhere}.resource-editor{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.resource-editor summary{cursor:pointer;font-size:.9rem;font-weight:650;min-height:44px;align-content:center}.resource-editor form{margin-top:10px}.resource-editor .button{margin-top:8px}.resource-editor .form-help{overflow-wrap:anywhere}

/* Club context and compact, labelled registration rows. */
.club-entry-grid .module-card{gap:12px}.club-entry-grid .text-link{font-size:.85rem}.inscription-context{padding:12px 0;margin-bottom:12px}.inscription-context select{max-width:100%}.inscription-context .text-link{margin-left:0;font-size:.82rem}.section-label{font-size:1.15rem;margin-top:20px}.registration-lines{gap:8px}.registration-lines .registration-card{padding:14px 16px;border-radius:10px}.registration-overview{display:grid;grid-template-columns:minmax(210px,1fr) minmax(0,1.7fr);gap:18px;align-items:center}.registration-person{min-width:0}.registration-person h2{font-size:1rem;line-height:1.35;margin:0 0 4px;overflow-wrap:anywhere}.registration-person p{font-size:.78rem;color:var(--muted);margin:0;overflow-wrap:anywhere}.registration-origin{font-size:.68rem;color:#786222}.registration-lines .participation-summary{display:grid;grid-template-columns:minmax(110px,.65fr) repeat(2,minmax(0,1fr));gap:10px;margin:0;align-items:stretch}.participation-cell{display:flex;flex-direction:column;gap:5px;min-width:0;padding:8px 10px;background:#f7f8f5;border-radius:7px;border-left:3px solid #dadfd3;overflow-wrap:anywhere}.participation-cell.kata-cell{border-color:#b9c99b}.participation-cell.kumite-cell{border-color:#e8d083}.participation-cell .cell-label{font-size:.64rem;letter-spacing:.045em;text-transform:uppercase;color:var(--muted);font-weight:650}.participation-cell strong{font-size:.82rem;line-height:1.4}.participation-cell small{font-size:.7rem;color:var(--muted)}.participation-cell.not-participating{background:#fafafa;border-color:#e6e8e3;color:#7a8076}.participation-cell.not-participating strong{font-weight:400}.registration-lines .participation-editor{margin-top:8px;padding-top:0}.registration-lines .participation-editor>summary{font-size:.8rem;min-height:36px;align-content:center}.registration-lines .participation-editor[open]{padding-top:4px}.inscriptions-help{margin-top:16px}.compact-filters{padding:12px 14px}
@media(max-width:1100px){.registration-overview{grid-template-columns:1fr;gap:10px}.registration-person{display:grid;grid-template-columns:1fr auto;column-gap:10px}.registration-person p{grid-column:1}.registration-origin{grid-column:2;grid-row:1/3;align-self:center}}
@media(max-width:500px){.registration-lines .registration-card{padding:12px}.registration-lines .participation-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.participation-cell.category-cell{grid-column:1/-1;flex-direction:row;align-items:center;flex-wrap:wrap}.category-cell small{margin-left:auto}.registration-person{display:block}.inscription-context label{min-width:65px}.inscription-context select{flex:1;min-width:0}.inscription-context .text-link{width:auto}.registration-origin{display:inline-block}}

/* Shared editing dialog: native focus containment, compact desktop and full mobile sheet. */
body.dialog-open{overflow:hidden}.edit-dialog{width:min(920px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line,#ddd);border-radius:16px;background:#fff;color:inherit;overflow:auto}.edit-dialog::backdrop{background:rgba(20,26,23,.42)}.dialog-header{position:sticky;top:0;z-index:2;display:flex;gap:16px;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e5e7e2;padding:16px 20px}.dialog-header h2{font-size:1.25rem;margin:0}.dialog-body{padding:0 20px 20px}.dialog-message{margin:12px 20px;color:#a01c12}.dialog-message:empty{display:none}.dialog-body .editor-card,.dialog-body .fold-card{max-width:none;margin:12px 0;box-shadow:none}.dialog-body>.editor-card{padding:0;border:0}.dialog-body .config-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dialog-body .config-row>button{justify-self:start}.dialog-body .form-actions{position:sticky;bottom:0;background:#fff;padding:16px 0;margin-bottom:0}.modal-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e5e7e2;padding:12px 0}.modal-entry>span{font-weight:600}.readonly-field{padding:12px 14px;border:1px solid #e5e7e2;border-radius:8px;background:#f7f8f5;margin:0;min-height:48px}.dialog-body .registration-person{margin-bottom:12px}
@media(max-width:600px){.edit-dialog{width:100vw;max-height:100dvh;height:100dvh;margin:0;border:0;border-radius:0}.dialog-header{padding:12px 16px}.dialog-body{padding:0 16px 16px}.dialog-body .config-row{grid-template-columns:1fr}.modal-entry{align-items:flex-start;flex-direction:column}.dialog-header h2{font-size:1.1rem}}

/* Shared secondary actions: discreet icon, generous touch target. */
.icon-action,.button.icon-action,.search-row .icon-action,.registration-lines .participation-editor>summary.icon-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;vertical-align:middle;list-style:none}
.icon-action::before{content:"";display:block;width:20px;height:20px;background:currentColor;mask:center/contain no-repeat;-webkit-mask:center/contain no-repeat}
.icon-action[data-icon="edit"]::before{mask-image:url('icons/edit.svg');-webkit-mask-image:url('icons/edit.svg')}
.icon-action[data-icon="clear"]::before{mask-image:url('icons/clear.svg');-webkit-mask-image:url('icons/clear.svg')}
.icon-action[data-icon="menu"]::before{mask-image:url('icons/menu.svg');-webkit-mask-image:url('icons/menu.svg')}
.icon-action[data-icon="close"]::before{mask-image:url('icons/close.svg');-webkit-mask-image:url('icons/close.svg')}
.icon-action::-webkit-details-marker{display:none}
.icon-action::marker{content:""}
.icon-action:hover{color:var(--red);background:#fdf0ed;border-color:#f2d5ce}
.icon-action:focus-visible{outline:3px solid #aa9500;outline-offset:2px}
.registration-card:has(> .participation-editor > .icon-action){position:relative}
.registration-card:has(> .participation-editor > .icon-action) .registration-overview{padding-right:52px}
.registration-lines .participation-editor:has(> .icon-action){margin:0;padding:0;border:0}
.participation-editor>.icon-action{position:absolute;top:10px;right:10px}
.modal-entry:has(.icon-action){flex-direction:row;align-items:center}
.config-edit:has(>.icon-action),.resource-editor:has(>.icon-action){margin-top:6px;padding-top:0;border:0}
#navigation-toggle{display:none}
.compact-navigation .mobile-menu{display:none}
.navigation-open{overflow:hidden}
.navigation-drawer{width:min(340px,calc(100vw - 32px));max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:16px;border:0;border-right:1px solid var(--line);background:white;color:var(--ink);overflow:auto;overscroll-behavior:contain;box-sizing:border-box}
.navigation-drawer::backdrop{background:rgba(25,30,24,.35)}
.drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.drawer-heading h2{font-size:1.05rem;margin:0}
.navigation-drawer nav{display:grid;gap:4px}
.navigation-drawer nav a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:7px;font-weight:600;font-size:.94rem;overflow-wrap:anywhere}
.navigation-drawer nav a[aria-current]{background:#fdf0ed;color:var(--red)}
.navigation-drawer .admin-navigation>summary{min-height:44px;padding:12px;cursor:pointer}
.navigation-drawer .admin-navigation-links{margin-left:12px;padding-left:8px;border-left:2px solid var(--line)}
.navigation-drawer .mobile-user{display:grid;gap:4px;margin-top:20px;padding:16px 12px;border-top:1px solid var(--line);font-size:.9rem}
@media(max-width:1100px){
 .compact-navigation .workspace{display:block}
 .compact-navigation .workspace>aside{display:none}
 .compact-navigation #navigation-toggle{display:inline-flex}
 .compact-navigation .header-inner{min-height:64px;padding:8px 16px;gap:10px;flex-wrap:nowrap;justify-content:flex-start}
 .compact-navigation .brand{min-width:0;gap:10px;font-size:.9rem}
 .compact-navigation .brand img{width:38px;height:38px}
 .compact-navigation .header-inner>nav{display:none}
 .private .environment-banner{padding:5px 12px;font-size:.7rem;line-height:1.4}
 .private .environment-banner span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .registration-card:has(> .participation-editor > .icon-action) .registration-overview{padding-right:0}
 .registration-card:has(> .participation-editor > .icon-action) .registration-person{padding-right:46px}
}
@media(max-width:720px){
 .search-row:has(.icon-action){flex-wrap:nowrap;align-items:flex-end}
 .search-row:has(.icon-action)>div{flex:1 1 auto;min-width:0}
 .search-row>.icon-action{flex:0 0 44px;margin-bottom:2px}
 .private .page-heading{margin-bottom:18px}
 .private .empty-state{padding:24px 18px}
 .private .empty-state h2,.private .empty-state h1{font-size:1.5rem}
}
.navigation-drawer nav a{color:var(--ink)}
.navigation-drawer nav a:hover{background:#f7f8f5;color:var(--red)}
.account-password>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;list-style:none}
.account-password>summary::-webkit-details-marker{display:none}
.account-password>summary::after{content:"";flex:0 0 20px;width:20px;height:20px;background:var(--muted);mask:url('icons/edit.svg') center/contain no-repeat;-webkit-mask:url('icons/edit.svg') center/contain no-repeat}
@media(max-width:720px){
 .inscription-context select{flex:1 1 180px;min-width:180px}
 .inscription-context .text-link{margin-top:4px}
}
.modal-entry>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:720px){
 .inscription-context{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px}
 .inscription-context select{width:100%;min-width:0}
 .inscription-context>.text-link,.inscription-context>[data-season-submit]{grid-column:1/-1}
}

/* Help uses the same native disclosures as the rest of the portal. */
.help-guides{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.help-guides a[aria-current]{color:var(--red);background:#fdf0ed;border-color:#efc4bc}
.help-manual{max-width:960px}
.help-intro{font-size:.94rem;color:var(--muted);line-height:1.65}
.help-section{margin-block:12px;scroll-margin-top:20px}
.help-section>summary{min-height:44px;align-content:center}
.help-content{line-height:1.7;overflow-wrap:anywhere}
.help-content p{margin:0 0 14px}
.help-content ol,.help-content ul{padding-left:24px;margin:0 0 16px}
.help-content li{margin-bottom:9px}
.help-content a{text-decoration:underline;text-underline-offset:3px}
.help-content table{width:100%;border-collapse:collapse;font-size:.9rem;table-layout:fixed;margin-bottom:16px}
.help-content th,.help-content td{text-align:left;vertical-align:top;padding:10px;border:1px solid var(--line);overflow-wrap:anywhere}
.help-content th{background:var(--paper)}
@media(max-width:600px){.help-guides{gap:6px}.help-guides .button{padding:10px 12px;font-size:.83rem}.help-content th,.help-content td{padding:8px}.help-content{font-size:.94rem}}

/* Contextual help: progressive enhancement, with the full page as a fallback. */
.title-with-help{display:flex;align-items:center;gap:10px;min-width:0}
.title-with-help h1,.title-with-help h2{min-width:0;margin-bottom:0}
.context-help-trigger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;color:var(--muted);border-radius:8px;text-decoration:none}
.context-help-trigger>span{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:1.5px solid currentColor;border-radius:50%;font-weight:700;font-size:13px;line-height:1}
.context-help-trigger:hover{background:#fdf0ed;color:var(--red);text-decoration:none}
.context-help-trigger:focus-visible{outline:3px solid #aa9500;outline-offset:2px}
.help-open{overflow:hidden}
.contextual-help-dialog{width:min(760px,calc(100vw - 32px))}
.contextual-help-dialog .help-content h3{font-size:1.05rem;margin-top:22px}
.contextual-help-dialog .help-content section:first-child h3{margin-top:0}
.dialog-header>h2{flex:1;min-width:0}
.sidebar-brand{margin:0 8px 24px;font-size:.85rem;gap:10px}
.sidebar-brand img{width:44px;height:44px}
.sidebar-account{display:block;color:var(--ink);padding:10px;border-radius:8px;margin:0 -10px}
.sidebar-account span,.sidebar-account small{display:block;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
.sidebar-account:hover,.sidebar-account[aria-current]{background:#fdf0ed;text-decoration:none}
.sidebar-account small{color:var(--red)}
@media(min-width:1101px){
 .private>header{display:none}
 .private .workspace{max-width:none;min-height:calc(100dvh - 34px)}
 .private .workspace>aside{position:sticky;top:0;height:100dvh;align-self:start;overflow:auto}
 .private .environment-banner{padding:6px 20px;font-size:.75rem}
 .private .environment-banner strong,.private .environment-banner span{display:inline;margin:0}
 .private .environment-banner span{margin-left:12px}
 .private .sidebar-user{padding-top:20px}
}
@media(max-width:600px){.contextual-help-dialog{width:100vw}.title-with-help{gap:4px}}

/* Registration follow-up: live counts, without a mandatory closing workflow. */
.pending-overview{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin:20px 0}
.pending-overview h2{font-size:1.15rem;margin:0 0 8px}
.pending-clubs{display:grid;gap:8px;margin-top:12px;max-height:360px;overflow:auto}
.pending-clubs>a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 12px;border-radius:8px;background:#fbf8ed;color:var(--ink);flex-wrap:wrap}
.pending-link{color:#785700;background:#fff6d7;padding:10px 12px;border-radius:8px;display:inline-flex;align-items:center;min-height:44px;margin-bottom:12px}
.registration-issues{display:flex;gap:8px 20px;flex-wrap:wrap;margin:10px 0 0;padding-left:20px;color:#785700;font-size:.85rem}

.private .club-entry-grid .module-card{min-height:0;padding:18px;gap:8px}
.private .club-entry-grid .module-card h2,.private .club-entry-grid .module-card p{margin-bottom:4px}
.private .club-entry-grid .module-card .text-link{display:inline-flex;align-items:center;min-height:44px}

/* Shared season calendar: identical information for clubs and federation. */
.round-list{display:grid;gap:10px}.round-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.round-overview{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.round-overview time{font-weight:700;color:var(--red);font-size:.9rem}.round-place{flex:1;min-width:180px}.round-place h3{font-size:1rem;margin:0 0 4px;overflow-wrap:anywhere}.round-place p{font-size:.82rem;margin:0;color:var(--muted)}
.round-notes{white-space:normal;overflow-wrap:anywhere;font-size:.85rem;margin:10px 0 0}.round-cancelled{background:#fafafa}.round-cancelled time{text-decoration:line-through;color:var(--muted)}
.round-modalities{border:0;padding:12px 0;display:flex;gap:20px}.round-form textarea{display:block;width:100%;font:inherit;padding:12px;border:1px solid #d9dcd4;border-radius:7px;resize:vertical;margin:6px 0 10px}
.round-card .config-edit{margin-top:8px}.dashboard-rounds .round-card{padding:10px 12px}.dashboard-rounds .round-overview{gap:10px}.dashboard-rounds .round-list{margin-bottom:12px}
@media(min-width:1200px){.dashboard-rounds .round-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.round-overview{gap:8px}.round-place{order:3;flex-basis:100%}.round-overview>.badge{margin-left:auto}.round-card{padding:12px}.round-form .form-grid{grid-template-columns:1fr}}
/* Championship workspace: compact, shared cards and usable touch controls. */
.event-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin:1rem 0 1.25rem;border-bottom:1px solid var(--line,#ddd);padding-bottom:.65rem}.event-tabs a{padding:.6rem .8rem;border-radius:8px;color:inherit;text-decoration:none}.event-tabs a[aria-current]{background:#fdf0ec;color:#bf2417;font-weight:700}.event-card{background:white;border:1px solid #e2e5df;border-radius:12px;padding:1rem;margin:.65rem 0}.event-card h2,.event-card h3,.event-card p{margin:.35rem 0}.event-card h2{font-size:1.1rem}.event-card-top,.event-actions,.event-summary{display:flex;align-items:center;justify-content:space-between;gap:.65rem;flex-wrap:wrap}.event-summary{justify-content:flex-start;padding:.75rem 0}.event-card-top strong{flex:1}.event-estimates,.event-versus{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:.8rem 0}.event-estimates>div{display:flex;flex-direction:column;gap:.25rem;padding:.65rem;background:#f7f8f5;border-radius:8px}.event-versus>div{display:flex;flex-direction:column;gap:.65rem;padding:1rem;border-radius:10px;border-top:4px solid}.event-versus>.event-aka{border-color:#c52318;background:#fff5f3}.event-versus>.event-ao{border-color:#2766a7;background:#f1f6ff}.event-ao .button{background:#2766a7}.event-actions{justify-content:flex-start;margin-top:.8rem}.event-history{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem;max-height:25rem;overflow:auto}.event-card summary{cursor:pointer}.event-card[hidden]{display:none}@media(max-width:600px){.event-tabs{gap:.15rem}.event-tabs a{padding:.55rem;font-size:.9rem}.event-estimates,.event-versus{grid-template-columns:1fr}.event-card{padding:.8rem}.event-actions .button{padding:.55rem;font-size:.85rem}}

/* Tatami overview: two panels per row; compact time bands inside each mat. */
.tatami-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.tatami-panel{min-width:0;background:#fff;border:1px solid #dfe3dc;border-radius:12px;overflow:hidden}.tatami-panel-heading{display:flex;justify-content:space-between;align-items:center;padding:.65rem .85rem;background:#f4f6f2;border-bottom:3px solid #b52619;gap:.5rem}.tatami-panel-heading h2{font-size:1.15rem;margin:0}.tatami-slot{display:grid;grid-template-columns:5.3rem minmax(0,1fr);border-bottom:1px solid #eaede7;padding:.65rem .7rem;gap:.65rem}.tatami-slot:last-child{border:0}.tatami-slot.running{background:#f0f8ed;box-shadow:inset 4px 0 #49802f}.tatami-slot.finished{background:#f8f9f7;color:#687064}.tatami-slot-time{display:flex;flex-direction:column;font-variant-numeric:tabular-nums;gap:.1rem;font-size:.9rem}.tatami-slot-time small{color:#737970}.tatami-slot-title{display:flex;justify-content:space-between;align-items:start;gap:.5rem;flex-wrap:wrap;font-size:.9rem;line-height:1.35}.tatami-slot-meta{display:flex;flex-wrap:wrap;gap:.2rem .7rem;font-size:.78rem;color:#666e61;margin-top:.35rem}.event-state{display:inline-block;font-size:.7rem;font-weight:700;border-radius:4px;background:#f5eed6;padding:.15rem .4rem;white-space:nowrap}.event-state.running{background:#d9efce;color:#2d5b1c}.event-state.finished,.event-state.empty{background:#e9ece6;color:#5e6658}.event-overview{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1.1rem;padding:.65rem 0 1rem;font-size:.9rem}.event-overview small{margin-left:auto;color:#737970}.event-board-toolbar .event-tabs{margin-bottom:.5rem}.event-board-toolbar details{margin:.5rem 0}.event-real-time{font-variant-numeric:tabular-nums;color:#42652c}.event-board-toolbar{margin-top:.75rem}@media(max-width:700px){.tatami-board{grid-template-columns:1fr}.tatami-slot{grid-template-columns:4.6rem minmax(0,1fr);padding:.6rem;gap:.5rem}.event-overview small{margin-left:0}.tatami-panel-heading{padding:.6rem}.tatami-slot-title{font-size:.85rem}}@media print{aside,header,footer,.environment-banner,.event-board-toolbar,.event-tabs,.page-heading>a,form,.tatami-panel-heading a{display:none!important}.workspace{display:block!important}main{padding:0!important}.tatami-board{grid-template-columns:1fr 1fr;gap:8px}.tatami-slot{break-inside:avoid;font-size:9pt}}
.tatami-slots{max-height:14rem;overflow-y:auto;scrollbar-gutter:stable}.tatami-slots:focus-visible{outline:2px solid #a99a13;outline-offset:-2px}main:has([data-event-board]) .page-heading{margin-bottom:.5rem}main:has([data-event-board]) .season-picker{margin:.5rem 0}main:has([data-event-board]) .event-tabs{margin:.5rem 0;padding-bottom:.4rem}main:has([data-event-board]) .page-heading h1{font-size:1.65rem}main:has([data-event-board]) .page-heading .eyebrow{margin-bottom:.3rem}.event-board-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.event-board-toolbar .fold-card{margin:0;padding:.5rem .7rem}.event-board-toolbar .fold-body{max-width:35rem}@media(max-width:700px){.tatami-slots{max-height:22rem}.event-board-toolbar{display:block}}@media print{.tatami-slots{max-height:none;overflow:visible}}

.attendance-controls{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.attendance-actions{justify-content:flex-end;margin:0;gap:8px}.attendance-list .attendance-edit{margin:0;border:0;padding:0}.attendance-list .registration-person .badge{margin-top:8px}.attendance-list .registration-overview{grid-template-columns:minmax(180px,1fr) minmax(0,1.7fr)}
@media(max-width:1000px){.attendance-list .registration-overview{grid-template-columns:1fr;gap:12px}}
@media(max-width:500px){.attendance-controls{gap:8px}.attendance-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.attendance-actions .button{padding:9px 10px;min-height:44px;font-size:.8rem}.attendance-edit{margin-left:auto!important}.attendance-list .event-card{padding:12px}}
.attendance-edit>.icon-action{position:static}

/* Guided jornada: each role sees its next task; configuration stays secondary. */
.event-navigation{display:flex;gap:12px;align-items:start;flex-wrap:wrap;margin:12px 0}.event-navigation .fold-card{padding:10px 14px;margin:0}.event-navigation .event-tabs{max-width:60rem;flex-wrap:wrap}.workflow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.workflow-step{margin:0;display:flex;flex-direction:column;gap:8px}.workflow-step h3{margin:0;display:flex;align-items:center;gap:10px}.workflow-step p{margin:0}.workflow-step>a{margin-top:auto;min-height:44px;display:flex;align-items:center;font-weight:700}.workflow-number{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:50%;background:#f8ece8;color:#ae261b}.workflow-next{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;background:#f0f6eb;border:1px solid #ccdcbc;border-radius:14px;margin:16px 0}.workflow-next h2{margin:.3rem 0}.workflow-next p{margin:0}.workflow-next .button{flex-shrink:0}.mesa-agenda{display:flex;flex-direction:column;gap:10px}.mesa-agenda a{min-height:44px;padding:8px;border-bottom:1px solid #eee}.mesa-block>h3{margin:0}.event-versus strong{font-size:1.3rem}.event-result .button{min-height:54px}.attendance-corrections>summary{min-height:44px;cursor:pointer;padding:10px}.attendance-corrections>div{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0}.attendance-actions{align-items:start}.attendance-list .attendance-corrections{margin:0}.event-navigation summary{min-height:24px}
@media(max-width:700px){.workflow-grid{grid-template-columns:1fr}.workflow-next{align-items:stretch;flex-direction:column;padding:16px}.workflow-step .event-card-top{gap:10px}.event-navigation{gap:8px}.event-navigation .fold-card{flex:1;min-width:0}.event-versus{grid-template-columns:1fr}.event-result .event-aka,.event-result .event-ao{padding:14px}.event-versus strong{font-size:1.1rem}.attendance-actions{display:flex;width:auto;flex-wrap:wrap}.attendance-corrections>div{flex-direction:column}.workflow-step h3{font-size:1.1rem}}

.event-operator .workspace{display:block}.event-operator aside,.event-operator .mobile-menu,.event-operator #navigation-toggle,.event-operator header nav{display:none!important}.event-operator .panel-main{max-width:1100px;margin:0 auto}.operator-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0 12px;border-bottom:1px solid #e5e7e2;margin-bottom:16px}.operator-heading form{margin:0}.operator-heading button{min-height:44px}

/* Shared table preparation: compact names, current bout stays visually primary. */
.mesa-preparation{border-top:1px solid var(--line,#ddd);margin-top:18px;padding-top:12px}.mesa-preparation h4{margin:0 0 10px}.mesa-next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mesa-next{display:flex;flex-direction:column;gap:6px;padding:12px;background:#f7f8f5;border:1px solid #e2e5df;border-radius:10px;min-width:0;overflow-wrap:anywhere}.mesa-next small{display:block;color:#687068}.mesa-next-aka{border-left:3px solid #c52318;padding-left:9px}.mesa-next-ao{border-left:3px solid #2766a7;padding-left:9px}.mesa-preparation summary{min-height:44px;padding:10px 0;cursor:pointer}.mesa-inactive{list-style:none;padding:10px 12px;background:#fff8e3;border-radius:8px}.mesa-inactive li{padding:4px 0}.mesa-availability{margin:12px 0}.mesa-availability summary{min-height:44px}.mesa-availability .check{display:flex;align-items:start;gap:10px}.mesa-availability input[type=checkbox]{flex-shrink:0}@media(max-width:500px){.mesa-next-grid{grid-template-columns:1fr}.mesa-next{padding:10px}.mesa-preparation{margin-top:12px}}

/* Shared private UI scale: compact spacing, one height for inputs and normal actions. */
.private{--ui-gap:12px;--ui-pad:14px;--control-height:48px}
.private .panel-main{padding:20px}
.private .page-heading{gap:12px;margin-bottom:12px}
.private .page-heading h1{margin-bottom:4px;font-size:1.65rem}
.private .page-heading .eyebrow{margin-bottom:6px}
.private .page-heading p{line-height:1.45}
.private .button:not(.icon-action){min-height:var(--control-height);padding:10px 14px;gap:8px;line-height:1.35;font-size:.9rem}
.private label:not(.check){margin-top:10px;margin-bottom:6px}
.private .form-grid{column-gap:16px;row-gap:4px}
.private .form-grid label:first-child{margin-top:10px}
.private .form-actions{gap:8px;margin-top:14px;padding-top:14px}
.private .editor-card,.private .directory-tools,.private .resource-card{padding:var(--ui-pad)}
.private .directory-tools label{margin-top:0}
.private .fold-card{padding:0;margin:10px 0;border-radius:10px}
.private .fold-card>summary{min-height:var(--control-height);padding:12px 14px;line-height:1.45}
.private .fold-body{padding:12px 14px}
.private .fold-body>.fold-card:first-child{margin-top:0}
.private .fold-body>.fold-card:last-child{margin-bottom:0}
.private .notice{padding:12px 14px;margin:12px 0}
.private .season-picker{gap:8px;margin-bottom:12px}
.private .season-picker label{margin:0}
.private .dialog-header{padding:10px 14px;gap:10px}
.private .dialog-body{padding:0 14px 14px}
.private .dialog-body>.editor-card{padding:0}
.private .dialog-body .form-actions{padding:12px 0}
.private .event-result .button{min-height:var(--control-height)}
.private .event-tabs{gap:4px;margin:8px 0;padding-bottom:6px}
.private .event-tabs a{min-height:var(--control-height);display:flex;align-items:center;padding:10px 12px;font-size:.9rem}
.private .event-card{padding:var(--ui-pad);margin:8px 0}
.private .event-card>.fold-body{padding:8px 0 0}
.private .event-summary,.private .event-overview{padding:8px 0;gap:8px 14px}
.private .event-actions{gap:8px;margin-top:8px}
.private .event-actions>form{margin:0}
.private .event-card h3{font-size:1.1rem}
.private .event-card p{line-height:1.45}
.private .event-estimates,.private .event-versus{gap:10px;margin:10px 0}
.private .event-navigation{margin:0;gap:8px;align-items:start}
.private .event-navigation .fold-card{padding:0;margin:0;min-width:230px}
.private .event-navigation .fold-card>summary{padding:12px 14px}
.private .event-navigation .event-tabs{padding:8px;margin:0;max-width:580px}
.event-toolbar{display:flex;align-items:start;gap:8px 16px;flex-wrap:wrap;margin:0 0 12px}
.private .event-toolbar .season-picker{margin:0;gap:8px;min-width:0}
.event-toolbar .season-picker select{max-width:100%}
.private .workflow-heading{margin:8px 0 10px}
.private .workflow-heading h2{font-size:1.2rem;margin:0 0 4px}
.private .workflow-heading p{margin:0}
.private .workflow-grid{gap:10px;align-items:start}
.private .workflow-step{margin:0;gap:6px;min-width:0;box-shadow:none}
.private .workflow-step.recommended{border-color:#c3d6b4;background:#f5f9f1}
.private .workflow-step .event-card-top{gap:6px;align-items:center}
.private .workflow-step h3{gap:8px;font-size:1.05rem;margin:0}
.private .workflow-number{min-width:26px;height:26px;font-size:1rem}
.private .workflow-step .badge{padding:5px 8px}
.private .workflow-step p{margin:0;font-size:.85rem}
.private .workflow-action{margin:0;min-height:44px;padding:8px 0;display:flex;align-items:center;font-size:.9rem;font-weight:650}
.workflow-pending{margin:0;border-top:1px solid #dfe8d9}
.workflow-pending>summary{min-height:44px;padding:10px 0;cursor:pointer;font-size:.85rem;font-weight:600}
.workflow-pending ul{padding-left:18px;margin:0 0 4px;font-size:.85rem;line-height:1.5}
.private .event-board-toolbar .fold-card{padding:0}
.private .mesa-preparation{margin-top:12px;padding-top:10px}
.private .operator-heading{margin-bottom:10px;padding-bottom:6px}
@media(max-width:700px){
 .private .panel-main{padding:12px}.private .page-heading{margin-bottom:10px;gap:8px}.private .page-heading h1{font-size:1.4rem}
 .private .page-heading>.button:not(.icon-action){align-self:flex-start}
 .event-toolbar{display:block}.private .event-toolbar .season-picker{margin:0 0 8px;align-items:center}
 .event-toolbar .season-picker select{flex:1;min-width:0;width:100%}
 .private .event-navigation .fold-card{min-width:0;flex:1}
 .private .workflow-grid{grid-template-columns:1fr}.private .workflow-step{padding:12px}
 .private .event-card{padding:12px}.private .form-grid{gap:4px 12px}
}

.icon-action[data-icon=refresh]::before{content:"↻";mask:none;background:none;width:24px;height:24px;font-size:26px;line-height:24px;font-weight:500}
.championship-page .page-heading{position:relative;padding-right:54px}
.championship-page .page-heading>[data-refresh-action].icon-action{position:absolute;right:0;top:0}

.simulation-preview{max-height:280px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:8px}.simulation-preview p{font-size:.85rem;padding:8px;margin:0;border-bottom:1px solid var(--line)}

/* Portal home: federation work and personal clubs have explicit, separate scopes. */
.portal-home{display:grid;gap:12px}.home-card{padding:16px;background:#fff;border:1px solid var(--line,#e3e6df);border-radius:16px;min-width:0}.home-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.home-card h2{font-size:1.2rem;margin:0 0 4px}.home-card h3{font-size:1rem;margin:0}.home-card p{margin:6px 0 10px}.home-card .eyebrow{font-size:.75rem;margin:0 0 6px}.home-priority{border-color:#c8dcbc;background:#f2f7ed}.home-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.home-metrics a{display:flex;flex-direction:column;gap:2px;min-height:64px;padding:10px 12px;border-radius:10px;background:#f6f7f4;color:inherit;text-decoration:none}.home-metrics strong{font-size:1.5rem;line-height:1.2}.home-metrics span{font-size:.85rem}.home-pending summary{min-height:44px;align-content:center;cursor:pointer;font-weight:650}.home-own-clubs article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #e3e6df}.home-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.portal-home>.fold-card{margin:0}.home-card .form-help{margin-bottom:0}.home-metrics a:hover{background:#eef1e8}
@media(max-width:600px){.home-card{padding:12px}.home-card-heading{align-items:flex-start}.home-card-heading>.button{width:100%}.home-own-clubs article{align-items:flex-start;flex-wrap:wrap}.home-metrics a{padding:10px 8px}.home-metrics span{font-size:.8rem}}

/* Compact club chooser: club editing belongs to its heading, registrations to its action. */
.private .club-entry-grid .club-entry-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px}
.club-entry-info{min-width:0}.club-entry-title{display:flex;align-items:center;gap:6px;min-width:0}
.private .club-entry-title h2{font-size:1.08rem;line-height:1.3;margin:0;overflow-wrap:anywhere}
.club-entry-title .icon-action{flex-shrink:0}.club-entry-card .pending-link{margin:0;padding:4px 10px;font-size:.82rem;gap:6px}
.private .club-entry-card .form-help{margin:0;font-size:.82rem}.club-entry-open{gap:8px;white-space:nowrap;justify-self:end}
@media(max-width:600px){.private .club-entry-grid .club-entry-card{gap:8px;padding:12px}.club-entry-info{display:contents}.club-entry-title{grid-column:1/-1;justify-content:space-between}.club-entry-card .pending-link{justify-self:start}.club-entry-open{gap:6px;padding-inline:10px;font-size:.8rem;white-space:normal}}

.registration-protection{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.registration-protection p{font-size:.8rem;margin:0;color:var(--muted)}.registration-protection .form-help{font-size:.76rem;margin-top:2px}
.registration-protection strong::before{content:"";display:inline-block;width:14px;height:14px;margin-right:5px;vertical-align:-2px;background:currentColor;mask:url("icons/lock.svg") center/contain no-repeat;-webkit-mask:url("icons/lock.svg") center/contain no-repeat}
