@font-face{font-family:Club;src:local('Bahnschrift')}@font-face{font-family:Text;src:local('Segoe UI')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f5f1;color:#252723;font:15px Text,'Trebuchet MS',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:disabled{opacity:.5;cursor:wait}h1,h2,h3,h4,p{margin:0}h1,h2,h3,.display{font-family:Club,'Trebuchet MS',sans-serif}h1{font-size:36px;font-weight:600;letter-spacing:-1.2px;line-height:1.1}h2{font-size:24px;letter-spacing:-.5px}h3{font-size:18px}p{line-height:1.65}small,.muted{color:#777b74}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#a91229;display:block;margin-bottom:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:7px;background:#a91229;color:white;font-weight:600;border:1px solid transparent;transition:.18s}.btn:hover{background:#870e21;transform:translateY(-1px)}.btn.secondary{background:white;color:#393d36;border-color:#dddfd6}.btn.secondary:hover{background:#f0f1eb}.btn.dark{background:#262c26}.btn.small{padding:8px 12px;font-size:12px}.btn.ghost{background:transparent;color:#777b74;border:1px solid #daddd2}.btn.danger{background:#fff0f0;color:#a91229}.icon{width:19px;height:19px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.brand{display:flex;gap:12px;align-items:center;font-family:Club,'Trebuchet MS',sans-serif;font-size:21px;font-weight:600;letter-spacing:-.5px}.brand img{height:46px;width:46px;object-fit:contain}.brand span span{display:block;font-family:Text,sans-serif;font-size:9px;letter-spacing:2px;color:#777b74;margin-top:5px;font-weight:600}.landing-nav{height:96px;max-width:1300px;margin:auto;padding:0 44px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #deded5}.landing-links{display:flex;gap:30px;align-items:center;font-size:13px;font-weight:600}.landing-main{max-width:1300px;margin:auto;padding:48px 44px 0}.hero{display:grid;grid-template-columns:1.08fr 1fr;min-height:520px;background:#eeeee5;border-radius:12px;overflow:hidden}.hero-copy{padding:54px 42px;position:relative}.hero h1{font-size:clamp(44px,4.7vw,68px);line-height:1.03;letter-spacing:-2.8px;margin:28px 0 23px}.hero h1 em{font-style:normal;color:#a91229}.hero-copy>p{max-width:350px;font-size:15px;color:#666b61}.hero-buttons{display:flex;gap:12px;margin-top:28px}.hero-meta{display:flex;align-items:center;gap:9px;margin-top:36px;font-size:11px;color:#787d72}.dot{width:6px;height:6px;border-radius:50%;background:#799367;display:inline-block}.hero-image{position:relative;background:#430405}.hero-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.photo-label{position:absolute;left:25px;bottom:25px;color:#fff;border:1px solid #ffffff45;padding:10px 14px;border-radius:6px;background:#2d000080;font-size:11px;letter-spacing:1px}.landing-strip{display:grid;grid-template-columns:repeat(3,1fr);margin:32px 0 65px;border-bottom:1px solid #dddfd5;padding-bottom:28px;gap:30px}.strip-item{display:flex;gap:16px;align-items:center}.strip-item .icon{width:28px;height:28px;color:#a91229}.strip-item strong{font-size:14px;display:block;margin-bottom:5px}.strip-item small{font-size:12px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.section-head h2{font-size:30px}.section-head .eyebrow{margin-bottom:10px}.sponsor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.sponsor-pin{border:1px solid #e1e0d7;border-radius:10px;background:white;overflow:hidden;position:relative}.sponsor-pin img{width:100%;height:210px;object-fit:contain;padding:25px;background:#fff}.sponsor-pin .pin-caption{padding:18px 22px;border-top:1px solid #eeeee6;display:flex;align-items:center;justify-content:space-between;font-size:13px}.sponsor-placeholder{padding:30px;border:1px dashed #d2d2c7;border-radius:10px;min-height:150px;display:flex;flex-direction:column;justify-content:center;gap:9px;background:#f0f0e9}.sponsor-placeholder h3{color:#51574c;font-size:18px}.sponsor-placeholder p{font-size:13px;color:#818677}.club-about{margin-top:60px;padding:38px 0;border-top:1px solid #daddd1;display:grid;grid-template-columns:1fr 1.3fr;gap:40px}.club-about p{font-size:14px;color:#74796d}.landing-footer{padding:28px 0;display:flex;justify-content:space-between;border-top:1px solid #deded5;font-size:11px;color:#797e71}.app-shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid #e6e6df;padding:27px 18px;display:flex;flex-direction:column;position:fixed;width:238px;height:100vh;z-index:10}.sidebar .brand{padding:0 9px;font-size:19px;margin-bottom:36px}.sidebar .brand img{height:40px;width:40px}.nav-label{font-size:9px;letter-spacing:1.7px;color:#9a9d94;padding:0 14px;margin:23px 0 10px;font-weight:700}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:3px 0;border-radius:7px;font-size:13px;color:#71766b;transition:.15s}.nav-item:hover{background:#f7f6f2;color:#343a30}.nav-item.active{background:#f9edef;color:#a91229;font-weight:600}.nav-item.active:after{content:'';margin-left:auto;width:5px;height:5px;background:#a91229;border-radius:50%}.sidebar-bottom{margin-top:auto;border-top:1px solid #eee;padding-top:15px}.sidebar-bottom p{font-size:10px;padding:14px;color:#909587}.main-wrap{grid-column:2;min-width:0}.topbar{height:78px;background:#ffffffbd;border-bottom:1px solid #e5e5dd;display:flex;align-items:center;justify-content:space-between;padding:0 38px}.breadcrumb{font-size:11px;color:#8c9183;display:flex;align-items:center;gap:13px}.breadcrumb strong{font-weight:500;color:#40463b}.user-chip{display:flex;gap:11px;align-items:center;font-size:12px;border:0;background:transparent;color:#43493d}.avatar{width:34px;height:34px;background:#eee7d8;color:#766143;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:700;flex-shrink:0}.user-chip small{display:block;text-align:left;font-size:10px;margin-top:3px}.content{max-width:1520px;margin:auto;padding:34px 38px 50px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.page-heading p{font-size:13px;color:#858a7d;margin-top:9px}.page-heading .eyebrow{margin-bottom:9px;letter-spacing:1.4px;font-size:10px}.welcome{display:grid;grid-template-columns:1fr 270px;min-height:183px;border-radius:10px;overflow:hidden;background:#eaece2;margin-bottom:25px}.welcome-copy{padding:29px 32px}.welcome .eyebrow{font-size:10px;margin-bottom:13px;color:#6b765d}.welcome h2{font-size:27px;line-height:1.2;max-width:480px;margin-bottom:12px}.welcome p{font-size:12px;color:#7b8270}.welcome-art{background:#45090b;position:relative}.welcome-art img{position:absolute;width:100%;height:100%;object-fit:cover}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:30px}.stat{background:white;border:1px solid #e4e5dc;border-radius:9px;padding:20px}.stat-top{display:flex;justify-content:space-between;color:#858b7d;font-size:11px}.stat-top .icon{width:16px;height:16px;color:#929b88}.stat strong{display:block;font-family:Club,sans-serif;font-size:32px;font-weight:500;margin:10px 0 5px;line-height:1}.stat small{font-size:10px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:24px}.panel{background:white;border:1px solid #e2e4da;border-radius:10px;overflow:hidden;margin-bottom:22px}.panel-heading{padding:21px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eeeee8}.panel-heading h3{font-size:16px}.panel-heading a{font-size:11px;color:#a91229}.panel-body{padding:22px 24px}.empty{text-align:center;padding:44px 24px;color:#969b8f}.empty .icon{width:32px;height:32px;color:#b3b9a9;margin-bottom:15px}.empty h3{color:#555d4d;font-size:16px;margin-bottom:9px}.empty p{font-size:12px;max-width:340px;margin:0 auto 17px}.checklist{display:flex;gap:13px;padding:16px 0;border-bottom:1px solid #eef0e8}.checklist:last-child{border:0}.check-step{font-size:11px;display:flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid #dbe0d2;border-radius:50%;color:#748268;flex-shrink:0}.check-step.done{background:#edf2e8}.checklist h4{font-size:12px;margin-bottom:5px;font-weight:600}.checklist p{font-size:11px;color:#8b9280;line-height:1.5}.checklist a{font-size:11px;color:#a91229;display:inline-block;margin-top:6px}.notice{background:#f4eee0;border:1px solid #e9dfc9;padding:14px 17px;border-radius:7px;font-size:12px;color:#877246;line-height:1.6;margin-bottom:20px;display:flex;gap:12px}.notice.green{background:#eef3e9;border-color:#dfe8d4;color:#647453}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.search{position:relative;flex:1;min-width:180px}.search .icon{position:absolute;left:13px;top:12px;color:#969d8b;width:17px;height:17px}.search input{padding-left:39px;width:100%}.toolbar select{width:auto;max-width:250px}.tabs{display:flex;border-bottom:1px solid #dcdfd3;margin-bottom:25px;gap:26px;overflow:auto}.tab{padding:13px 0;background:transparent;white-space:nowrap;color:#868e7c;font-size:13px;border-bottom:2px solid transparent}.tab.active{color:#a91229;border-bottom-color:#a91229;font-weight:600}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:9px;text-transform:uppercase;letter-spacing:1.1px;color:#939b88;font-weight:600;padding:15px 20px;background:#fafbf7;border-bottom:1px solid #e8ebdf}td{padding:17px 20px;border-bottom:1px solid #eceee5;vertical-align:middle}tr:last-child td{border:0}.person{display:flex;align-items:center;gap:12px}.person strong{font-size:12px;font-weight:600}.person small{display:block;margin-top:4px;font-size:10px}.badge{display:inline-block;padding:5px 8px;border-radius:4px;background:#eff2e8;color:#728360;font-size:10px;white-space:nowrap}.badge.red{background:#f9e9eb;color:#a91229}.badge.amber{background:#f7f0db;color:#a18a47}.badge.gray{background:#f0f1ed;color:#919787}.badge.blue{background:#eaf0f5;color:#63849e}.event-card{padding:22px 24px;border-bottom:1px solid #ebede4;display:flex;gap:20px}.event-card:last-child{border:0}.date-block{min-width:49px;text-align:center;background:#f2f3ed;border-radius:7px;height:62px;padding-top:8px;color:#727c64}.date-block small{font-size:9px;text-transform:uppercase}.date-block strong{display:block;font-family:Club,sans-serif;font-size:24px;margin-top:2px}.event-main{flex:1;min-width:0}.event-main h3{font-size:16px;margin:0 0 8px}.event-main p{font-size:11px;color:#8a927e;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.event-main p .icon{width:13px;height:13px}.event-bottom{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:17px;flex-wrap:wrap}.response-buttons{display:flex;gap:5px;flex-wrap:wrap}.response{padding:7px 10px;border:1px solid #e0e5d7;background:#fff;border-radius:5px;font-size:10px;color:#7f8972}.response.chosen{background:#eaf1e2;border-color:#cfdcbe;color:#5a7541}.response.chosen.no{background:#f9e9eb;border-color:#e8cbd0;color:#a91229}.event-count{font-size:10px;color:#9a9f90}.teams-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.team-card{background:white;border:1px solid #e2e5d9;border-radius:10px;overflow:hidden}.team-head{padding:24px;display:flex;justify-content:space-between;align-items:start;background:#fcfcf9;border-bottom:1px solid #edf0e4}.team-head p{font-size:11px;color:#8b947d;margin-top:9px}.team-body{padding:20px 24px}.team-body .person{padding:10px 0;justify-content:space-between}.team-body .person>div{display:flex;align-items:center;gap:10px}.team-foot{padding:15px 24px;background:#fafbf7;border-top:1px solid #edf0e4;display:flex;justify-content:space-between;font-size:11px;color:#8a937c}.calendar-day{display:grid;grid-template-columns:130px 1fr;gap:20px;margin-bottom:24px}.calendar-label{padding-top:20px;font-size:12px;color:#6f7c61}.calendar-label strong{display:block;font-size:22px;font-family:Club,sans-serif;margin-top:5px}.calendar-day .panel{margin:0}.message-card{padding:22px 24px;border-bottom:1px solid #ecede7}.message-card h3{font-size:16px;margin:9px 0}.message-card p{font-size:13px;white-space:pre-wrap;color:#77816a}.message-card small{font-size:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:block;font-size:11px;color:#6e7762;font-weight:600;margin-bottom:16px}.field input,.field select,.field textarea{display:block;margin-top:7px;width:100%}input,select,textarea{border:1px solid #dce1d3;background:#fff;border-radius:6px;color:#3d4833;padding:11px 12px;font-size:13px;min-width:0}input:focus,select:focus,textarea:focus{border-color:#9ca88c;outline:2px solid #e6ecdf}textarea{resize:vertical;min-height:100px}.field small{font-weight:400;display:block;font-size:10px;margin-top:6px}.full{grid-column:1/-1}.checkbox-list{max-height:175px;overflow:auto;border:1px solid #e2e7d9;border-radius:6px;padding:7px 12px}.checkbox-list label{display:flex;align-items:center;gap:10px;padding:8px 0;font-weight:400;font-size:12px}.checkbox-list input{width:15px;height:15px;accent-color:#a91229;margin:0}.check-inline{display:flex;gap:9px;align-items:center;font-size:12px;color:#748366;margin:10px 0}.check-inline input{accent-color:#a91229}dialog{width:min(630px,calc(100% - 28px));padding:0;border:1px solid #d6decb;border-radius:12px;box-shadow:0 30px 100px #22301833;max-height:90vh;color:#313b29;background:#fcfdf9}dialog::backdrop{background:#15200f66;backdrop-filter:blur(3px)}.modal-head{padding:24px 27px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5eadc}.modal-head h2{font-size:23px}.modal-close{background:none;font-size:26px;color:#8b947f;line-height:1}.modal-body{padding:23px 27px}.modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:23px;border-top:1px solid #e5eadc;padding-top:19px}.form-error{background:#fae9e9;color:#a91229;padding:12px;border-radius:6px;font-size:12px;margin-top:12px;display:none}.form-error:empty{display:none}.form-error:not(:empty){display:block}.detail-list{display:flex;flex-direction:column;gap:12px;margin-top:20px}.detail-row{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #e3e8dc;padding-bottom:12px}.detail-row .person{flex:1}.detail-row select{width:120px;padding:7px;font-size:11px}.detail-row button{padding:6px 8px}.detail-note{white-space:pre-wrap;font-size:13px;color:#7d8970;margin-top:15px}.action-link{background:none;color:#a91229;font-size:11px;padding:5px}.account-panel{max-width:600px}.loading{height:100vh;display:flex;align-items:center;justify-content:center;gap:18px;font-size:36px;color:#a91229;font-family:Club,sans-serif}.loading span{font:13px Text,sans-serif;color:#8d967f}#toast{position:fixed;right:25px;bottom:25px;z-index:100;background:#283623;color:white;padding:16px 24px;border-radius:8px;font-size:13px;box-shadow:0 8px 40px #0002;max-width:calc(100vw - 40px);display:none}#toast.visible{display:block;animation:rise .2s ease}.mobile-menu{display:none}.account-actions{display:flex;gap:10px;flex-wrap:wrap}.copyright{font-size:10px;color:#a0a695;margin-top:35px;display:flex;justify-content:space-between}.timeline-note{border-left:2px solid #dfe6d4;padding:2px 0 16px 15px;margin-left:4px}.timeline-note strong{font-size:11px;display:block}.timeline-note small{font-size:10px}.sponsor-admin-actions{display:flex;gap:8px;padding:0 20px 20px}@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1450px){.hero{min-height:550px}}@media(max-width:1100px){.content{padding:28px 24px}.topbar{padding:0 24px}.app-shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{width:210px;padding:25px 12px}.dashboard-grid{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:16px}.teams-grid{grid-template-columns:1fr}.hero-copy{padding:40px 28px}.hero h1{font-size:49px}.sponsor-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.landing-nav{height:78px;padding:0 20px}.landing-links>a:not(.btn){display:none}.landing-links .btn{padding:10px;font-size:11px}.brand{font-size:18px}.brand img{height:38px;width:38px}.landing-main{padding:22px 18px 0}.hero{grid-template-columns:1fr}.hero-copy{padding:32px 26px}.hero h1{font-size:49px;margin-top:16px}.hero-image{height:280px}.hero-image img{object-position:center 46%}.hero-meta{margin-top:25px}.landing-strip{grid-template-columns:1fr;gap:24px;margin:28px 7px 40px}.sponsor-grid{grid-template-columns:1fr}.section-head h2{font-size:25px}.section-head>p{display:none}.club-about{grid-template-columns:1fr;gap:17px;margin-top:35px}.landing-footer{gap:12px;flex-wrap:wrap}.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.2s;width:235px;box-shadow:20px 0 50px #0002}.app-shell.menu-open .sidebar{transform:translateX(0)}.main-wrap{width:100%}.mobile-menu{display:inline-flex;border:0;background:transparent;padding:0 10px 0 0;color:#778669}.topbar{height:64px;padding:0 18px}.topbar .breadcrumb{gap:8px}.user-chip>span:not(.avatar){display:none}.content{padding:26px 18px}.page-heading{align-items:flex-start}.page-heading h1{font-size:29px}.page-heading .btn{font-size:11px;padding:10px 12px}.page-heading p{font-size:12px;max-width:230px}.welcome{grid-template-columns:1fr 100px;min-height:175px}.welcome-copy{padding:25px 20px}.welcome h2{font-size:23px}.welcome p{font-size:11px}.stats{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:22px}.stat{padding:16px}.stat strong{font-size:29px}.dashboard-grid{gap:0}.panel-heading{padding:18px}.event-card{padding:20px 16px;gap:12px}.event-bottom{gap:13px}.event-main h3{font-size:15px}.form-grid{grid-template-columns:1fr;gap:0}.modal-body{padding:22px}.modal-head{padding:22px}.calendar-day{grid-template-columns:1fr;gap:10px}.calendar-label{padding-top:0}.calendar-label strong{display:inline;margin-left:7px;font-size:18px}.toolbar select{flex:1}.toolbar .search{min-width:100%;}.copyright{gap:15px;font-size:9px}.detail-row{flex-wrap:wrap}.sponsor-pin img{height:180px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.csv-preview-table{max-height:320px;overflow:auto;margin-top:15px}.csv-preview-table th{position:sticky;top:0}.csv-preview-table td{padding:12px;font-size:11px}

.clicktt-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.clicktt-actions:empty{display:none}

#modal.wide-dialog{width:min(1080px,94vw);max-width:94vw}.own-team{background:#fff0f1;font-weight:600}

.member-filter{display:grid;gap:4px;font-size:12px;color:var(--muted)}.role-editor{margin:22px 0}.role-editor .section-head{align-items:start;gap:15px}.role-editor small{max-width:240px;color:#637069}.role-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.role-zone{padding:16px;border:1px dashed #b9c7bf;border-radius:12px;min-height:145px;background:#f5f7f4}.role-zone.assigned{background:#fff4f4;border-color:#dca9ae}.role-zone h4{margin:0 0 14px}.role-chips{display:flex;gap:9px;flex-wrap:wrap}.role-chip{display:inline-flex;align-items:center;gap:9px;border:1px solid #ccd4ce;background:white;border-radius:8px;padding:9px 12px;font:inherit;font-size:13px;cursor:grab}.assigned .role-chip{border-color:#d998a2;color:#941632}.role-chip:focus-visible{outline:3px solid #a51635;outline-offset:3px}.role-zone.drag-over{outline:3px solid #a51635;background:#ffe5e9}.role-empty{color:#758079;font-size:13px}.family-summary{border-left:3px solid #a51635;padding:10px 16px;margin:20px 0;background:#faf4f4}.family-summary h3{margin-bottom:8px}@media(max-width:600px){.role-columns{grid-template-columns:1fr}.member-filter{width:100%}}

.roster-group{padding:10px 0}.roster-group h4{margin:0 0 10px;color:#8f1630}.roster-player[draggable=true]{cursor:grab}.roster-player{border-bottom:1px solid #e6e9e4;padding:10px 0}.roster-number{color:#7d847f;min-width:22px;font-size:12px}.roster-picker{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px;margin:20px 0}.roster-picker>section{border:1px solid #dedfd9;border-radius:10px;padding:14px;max-height:390px;overflow:auto}.roster-picker>section:nth-child(2){background:#fff3f3}.roster-picker>section:nth-child(3){background:#fff9ed}.picker-player{display:flex;flex-direction:column;gap:5px;padding:12px 6px;border-bottom:1px solid #dedfd9;cursor:pointer}.picker-player:focus-visible{outline:2px solid #a51635}.picker-player small{color:#768078}.roster-picker[aria-busy=true]{opacity:.6;pointer-events:none}@media(max-width:750px){.roster-picker{grid-template-columns:1fr}.roster-picker>section{max-height:260px}}

.compact-player{user-select:none;flex-direction:row;align-items:center;gap:9px;cursor:grab;padding:12px 4px;position:relative}.picker-name{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.drag-handle{color:#929990}.roster-delete{padding:6px;border:0;background:transparent;color:#a51635;cursor:pointer}.roster-delete svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.picker-drop-space{padding:18px 6px;color:#888e86;font-size:12px}.roster-picker .drop-active{outline:2px solid #ac1738;outline-offset:-2px}.drop-before{box-shadow:0 -3px #ac1738}.drop-after{box-shadow:0 3px #ac1738}

.team-drag-handle{background:transparent;color:#8f1630;cursor:grab;font-size:25px;padding:6px 10px;user-select:none;align-self:flex-start}.team-drag-handle:active{cursor:grabbing}.team-sort-hint{font-size:12px;margin:0 0 14px}.team-drop-before{box-shadow:0 -4px #a91229}.team-drop-after{box-shadow:0 4px #a91229}

/* Two columns at most; touch actions also support tablets without native drag. */
.teams-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.team-card,.team-head>div,.team-body .person>div{min-width:0}.team-head h2,.team-head p,.team-foot,.roster-player strong{overflow-wrap:anywhere}.team-foot{flex-wrap:wrap;gap:12px}.team-touch-sort{display:flex;gap:8px;padding:12px 24px 0}.team-touch-sort button{min-height:44px}.picker-touch-actions{display:none}.team-body .person{gap:8px}.team-body .person>div:last-child{flex-shrink:0}.team-body .person>div:first-child{flex:1}.team-body .person strong{min-width:0}.team-drag-handle{min-width:44px;min-height:44px;flex-shrink:0}
@media(max-width:1100px){.teams-grid{grid-template-columns:minmax(0,1fr)}}
@media(pointer:coarse),(max-width:760px){
.picker-touch-actions{display:flex;flex-wrap:wrap;gap:6px;width:100%;order:5}.picker-touch-actions button{min-height:44px;min-width:44px;padding:8px 12px;border:1px solid #d9ddd3;background:white;border-radius:6px;color:#8f1630}.compact-player{flex-wrap:wrap}.roster-delete{min-width:44px;min-height:44px}.role-chip,.action-link{min-height:44px}.team-body .action-link{min-width:44px}.picker-name{min-width:100px}.roster-picker>section{max-height:none}.roster-picker{grid-template-columns:1fr}.team-drag-handle{display:none}
}
@media(max-width:760px){
.content{min-width:0}.team-head,.team-body{padding:18px}.team-touch-sort{padding:12px 18px 0}.team-foot{padding:18px;display:flex;align-items:stretch}.team-foot>span{flex-basis:100%}.team-foot>button{flex:1 1 140px;white-space:normal}.clicktt-actions{padding:16px 18px;gap:10px}.clicktt-actions>a,.clicktt-actions>button{min-height:44px;display:inline-flex;align-items:center;max-width:100%;overflow-wrap:anywhere}.toolbar .member-filter{flex:1 1 140px;min-width:0}.toolbar select{width:100%;max-width:none;min-height:44px}.toolbar input{min-height:44px}.page-heading{flex-wrap:wrap;gap:16px}.page-heading .btn{min-height:44px}.modal-body,.modal-head{padding:18px}dialog,#modal.wide-dialog{width:calc(100% - 16px);max-width:calc(100% - 16px);max-height:calc(100dvh - 24px);overflow:auto}.modal-footer{flex-wrap:wrap;gap:10px}.modal-footer>.btn{min-height:44px;flex:1}input,select,textarea{font-size:16px;min-width:0;max-width:100%}.form-grid>*{min-width:0}.table-wrap{max-width:100%;overflow-x:auto}.role-columns{grid-template-columns:1fr}.team-sort-hint{line-height:1.6}.roster-picker{gap:12px}.team-body .person>div:first-child{flex-wrap:wrap}.notice{overflow-wrap:anywhere}.modal-head button{min-width:44px;min-height:44px}
}

.personal-game-tabs{gap:16px}.personal-game-tabs .tab{display:flex;gap:8px;align-items:center;min-height:48px}.personal-game-note{font-size:13px;line-height:1.6;margin-bottom:18px}.personal-game-labels{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.personal-game-lineup{margin:16px 0;padding:14px;background:#f5f6f1;border-radius:8px}.personal-game-lineup p{display:block;margin:8px 0;overflow-wrap:anywhere}.personal-game-card .event-main{min-width:0}.personal-game-card .event-bottom{flex-wrap:wrap;gap:14px}.personal-game-card .event-bottom>div{min-width:0}.personal-game-card .response-buttons{margin-top:8px;flex-wrap:wrap}.personal-game-card .response{min-height:44px}.personal-game-card h3{overflow-wrap:anywhere}@media(max-width:600px){.personal-game-card{flex-direction:column}.personal-game-card .date-block{display:flex;align-items:center;gap:10px;width:auto}.personal-game-card .event-bottom>div{width:100%}.personal-game-card .response-buttons{display:flex}.personal-game-card .response{flex:1;min-width:100px}.personal-game-card .event-main>p{flex-wrap:wrap}.personal-game-tabs{gap:18px}}

.match-secret-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}.match-secret-value{font:700 30px monospace;letter-spacing:3px;padding:24px 0;overflow-wrap:anywhere}.pdf-match-preview{max-height:55vh;margin:18px 0}.pdf-match-preview select{max-width:440px;width:100%;min-height:44px}@media(max-width:600px){.pdf-match-preview table,.pdf-match-preview tbody,.pdf-match-preview tr,.pdf-match-preview td{display:block;width:100%}.pdf-match-preview thead{display:none}.pdf-match-preview tr{border-bottom:1px solid #dedfd9}.match-secret-actions .btn{min-height:44px}}

.team-planning-status{padding:18px 24px;border-top:1px solid #e2e5d9;background:#faf8f1}.team-planning-status h3{font-size:16px}.team-planning-status ul{padding-left:18px;font-size:13px;line-height:1.7;margin:10px 0}.team-planning-status small{font-size:11px;line-height:1.5;display:block}@media(max-width:760px){.team-planning-status{padding:18px}.team-planning-status .btn{flex:1 1 140px;min-height:44px}}

/* Compact match chips and captain planning board */
.match-summary{display:flex;flex-wrap:wrap;gap:12px 24px;margin:12px 0}.match-summary-group>small{display:block;margin-bottom:5px;font-weight:600}.player-chips{display:flex;flex-wrap:wrap;gap:5px}.player-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 3px;border-radius:20px;background:#f0f2ed;font-size:12px}.chip-avatar{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e1e7d8;color:#485b3e;font-size:10px;font-weight:700}.player-chip.no{background:#f9eeee}.player-chip.pending,.player-chip.possible{background:#faf3e5}.match-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.match-lane{min-height:150px;background:#f6f6f2;border:1px solid #dce0d5;border-radius:10px;padding:12px;max-height:450px;overflow:auto}.match-lane h4{margin:0 0 12px}.match-lane[data-match-lane="request"]{background:#fcf5e8}.match-lane.drop-active{outline:2px solid #b50b2c}.match-player{padding:10px;background:white;border:1px solid #dce0d5;border-radius:7px;margin-bottom:8px;cursor:grab}.match-player>strong,.match-player>small{display:block;font-size:12px}.match-player-controls{display:flex;gap:4px;margin-top:8px}.match-player-controls select{min-width:0;width:100%;font-size:11px;padding:6px}.match-player-controls button{border:1px solid #dce0d5;background:white;border-radius:4px;min-width:28px}.match-planner .muted{font-size:12px}.match-summary .player-chip span:last-child{font-weight:700}
@media(max-width:1000px){.match-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.match-board{grid-template-columns:1fr}.match-lane{max-height:300px}.match-player-controls button{min-height:44px;min-width:38px}.match-player-controls select{min-height:44px}.match-summary{gap:10px}.player-chip{font-size:11px}}

@media(max-width:540px){.match-board:has([data-training-target]){grid-template-columns:1fr!important}}

.guest-remove{border:0;background:transparent;color:#a10d29;cursor:pointer;font-size:18px;min-width:28px;min-height:28px}@media(pointer:coarse){.guest-remove{min-width:44px;min-height:44px}}

.event-card.training-today{background:#fff3f5;box-shadow:inset 4px 0 0 #b20d30}.training-today .date-block{background:#b20d30;color:#fff}.training-today .date-block small,.training-today .date-block strong{color:#fff}.today-label{display:inline-block;margin-left:8px;padding:4px 9px;border-radius:6px;background:#b20d30;color:#fff;font-size:11px;font-weight:700;vertical-align:middle}

.toolbar.team-filter-bar{display:grid;grid-template-columns:minmax(200px,2fr) minmax(160px,1fr) minmax(130px,.8fr) minmax(150px,1fr) auto;align-items:end;gap:12px;padding:18px;border:1px solid #dce0d5;border-radius:12px;background:#fff;margin:24px 0 14px}.team-filter-bar label{display:flex;flex-direction:column;gap:7px;margin:0;font-size:12px;font-weight:600;min-width:0}.team-filter-bar .search{width:100%;min-width:0;margin:0}.team-filter-bar input,.team-filter-bar select,.team-filter-bar>.btn{height:44px;min-height:44px;width:100%;box-sizing:border-box}.team-filter-bar input,.team-filter-bar select{font-weight:400}.team-filter-bar>.btn{white-space:nowrap}@media(max-width:1200px){.toolbar.team-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.team-filter-bar .team-search-field{grid-column:span 2}}@media(max-width:650px){.toolbar.team-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.team-filter-bar .team-search-field{grid-column:1/-1}.team-filter-bar>.btn{grid-column:1/-1}}@media(max-width:380px){.toolbar.team-filter-bar{grid-template-columns:1fr}.team-filter-bar .team-search-field{grid-column:auto}}

.team-head>div:first-child{flex:1;min-width:0}.team-info{position:relative;flex:0 0 auto;align-self:flex-start;margin-top:4px}.team-info summary{list-style:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid #d5b975;background:#fff4d9;color:#77520d;font-weight:700;cursor:pointer}.team-info summary::-webkit-details-marker{display:none}.team-info summary:focus-visible{outline:2px solid #b20d30;outline-offset:3px}.team-info .team-info-popover{display:none;position:absolute;right:0;top:28px;z-index:20;width:min(310px,70vw);padding:16px;background:#fffdf6;border:1px solid #dfcfaa;border-radius:10px;box-shadow:0 8px 24px #30270f22;font-size:12px;font-weight:400;line-height:1.6;color:#343d2d}.team-info[open] .team-info-popover,.team-info:hover .team-info-popover{display:block}.team-info-popover ul{margin:8px 0 0;padding-left:17px}.team-info-popover li+li{margin-top:6px}.team-import-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 24px;border-bottom:1px solid #e3e6dc}.team-card:has(.team-info:hover),.team-card:has(.team-info[open]){overflow:visible;position:relative;z-index:5}

/* Consistent team-card structure and footer actions. */
.teams-grid{align-items:stretch}.teams-grid>.team-card{display:flex;flex-direction:column;height:100%;min-width:0}.team-card>.team-head{min-height:160px}.team-card>.clicktt-actions{display:flex;align-content:center;align-items:center;min-height:88px;gap:10px;flex-wrap:wrap;padding:16px 24px}.team-card>.clicktt-actions:empty{display:flex}.team-card>.clicktt-actions:empty::before{content:"Liga und Spielplan noch nicht hinterlegt";font-size:12px;color:#777b74}.team-card>.team-import-actions{min-height:60px;align-items:center}.team-card>.team-body{flex:1;padding:24px}.team-card>.team-foot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;padding:18px 24px;margin-top:auto}.team-card>.team-foot>span{grid-column:1/-1;font-size:12px;line-height:1.5;margin-bottom:3px}.team-card>.team-foot>button{width:100%;min-width:0;min-height:40px;margin:0;padding:9px 12px;border:1px solid #dddfd6;border-radius:7px;background:#fff;white-space:normal;text-align:center;justify-content:center;font-size:12px}.team-card>.team-foot>button[data-carry-team]{grid-column:1/-1}.team-card>.team-foot>button:hover{background:#f4f0ed}.team-card>.team-foot>button:disabled{cursor:default}.team-card .team-touch-sort{padding:12px 24px 0}@media(max-width:650px){.team-card>.team-head{min-height:0}.team-card>.clicktt-actions,.team-card>.team-body,.team-card>.team-foot{padding:16px}.team-card>.clicktt-actions{min-height:0}.team-card>.team-import-actions{padding:12px 16px}.team-card .team-touch-sort{padding:12px 16px 0}.team-card>.team-foot>button{min-height:44px}}

.team-sort-controls{display:flex;align-items:center;gap:4px;flex-shrink:0;align-self:flex-start}.team-sort-arrows{display:flex;gap:2px}.team-sort-arrow{display:grid;place-items:center;width:28px;height:32px;padding:0;border:0;border-radius:5px;background:transparent;color:#a91229;font-size:19px}.team-sort-arrow:hover:not(:disabled){background:#f8e9ed}.team-sort-arrow:disabled{opacity:.25;cursor:default}.team-sort-controls .team-drag-handle{min-width:32px;min-height:32px}.team-sort-controls .team-sort-arrow:focus-visible{outline:2px solid #a91229;outline-offset:2px}@media(pointer:coarse){.team-sort-arrow{width:36px;height:44px}.team-sort-controls .team-drag-handle{min-height:44px}}

.reserve-collapse>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;color:#a91229;font-weight:600;min-height:36px}.reserve-collapse>summary::-webkit-details-marker{display:none}.reserve-collapse>summary::before{content:"▸";font-size:15px}.reserve-collapse[open]>summary::before{content:"▾"}.reserve-collapse[open]>summary{margin-bottom:10px}.reserve-collapse>summary:focus-visible{outline:2px solid #a91229;outline-offset:3px;border-radius:4px}

.team-head .team-header-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:12px;color:#646b60}.team-header-meta span:last-child{white-space:nowrap}

[data-team-pdf][aria-disabled="true"]{opacity:.5;cursor:not-allowed;background:#f0f0ec;color:#70736d;box-shadow:none}

.dashboard-next{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;margin-bottom:24px}
.dashboard-next>.panel{min-width:0;margin:0;overflow:visible}
.dashboard-next>.panel:only-child{grid-column:1/-1}
.dashboard-next .panel-heading{padding:18px;gap:12px;flex-wrap:wrap}
.dashboard-next .event-card{padding:18px;gap:12px;min-width:0}
.dashboard-next .event-main{min-width:0}
.dashboard-next .event-main h3{font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.dashboard-next .event-main>p{font-size:12px;flex-wrap:wrap}
.dashboard-next .event-bottom{flex-wrap:wrap;gap:10px;align-items:center}
.dashboard-next .match-summary{padding:12px;gap:10px;flex-wrap:wrap}
.dashboard-next .participant-name{display:none}
.dashboard-next .player-chip[data-person-hint]{position:relative;padding:4px;gap:3px;cursor:help}
.dashboard-next .chip-avatar{width:30px;height:30px;font-size:11px}
.dashboard-next [data-person-hint]:focus-visible{outline:2px solid #a91229;outline-offset:2px}
.dashboard-next [data-person-hint]:hover::after,.dashboard-next [data-person-hint]:focus::after{content:attr(data-person-hint);position:absolute;bottom:calc(100% + 6px);left:0;z-index:30;background:#30382e;color:white;border-radius:6px;padding:7px 10px;width:max-content;max-width:200px;white-space:normal;font-size:12px;box-shadow:0 4px 12px #0002;pointer-events:none}
@media(max-width:900px){.dashboard-next{grid-template-columns:1fr}}
@media(max-width:450px){.dashboard-next .event-card{padding:14px;gap:10px}.dashboard-next .date-block{min-width:38px}.dashboard-next .event-bottom .btn{padding:8px;font-size:12px}}

.training-category-section{margin:24px 0}.training-category-section>h2,.training-category-section>h3{margin-bottom:14px}.training-category-section>h2 small{font-size:14px;color:#777b74}.training-category-section .panel-body .btn{margin-top:8px}

.sidebar .nav-disabled{opacity:.45;cursor:not-allowed;background:transparent;user-select:none}.sidebar .nav-disabled:hover{background:transparent;color:inherit}

.internal-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.internal-stat-placeholder{padding:18px;border:1px solid #e3e6dc;border-radius:10px;background:#fafaf7}.internal-stat-placeholder p{margin:10px 0;font-size:14px}.internal-stat-placeholder small{color:#777b74}@media(max-width:850px){.internal-stat-grid{grid-template-columns:1fr}}

@media(max-width:768px){
 #league-result{min-width:0;max-width:100%}
 #league-result .league-table-wrap{width:100%;min-width:0;overflow:visible}
 #league-result .league-table{table-layout:fixed;width:100%;min-width:0;font-size:11px}
 #league-result .league-table th,#league-result .league-table td{padding:8px 2px;min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.35;font-size:inherit;letter-spacing:0}
 #league-result .league-table .league-team-column{width:32%;text-align:left;padding-left:5px;padding-right:5px}
 #league-result .league-table a{display:inline;white-space:normal;overflow-wrap:anywhere;font-size:inherit;padding:0}
 #modal:has(#league-result) .section-head{display:flex;flex-wrap:wrap;gap:10px;min-width:0}
 #modal:has(#league-result) .section-head strong{min-width:0;overflow-wrap:anywhere}
 #modal:has(#league-result) .modal-body{padding-left:12px;padding-right:12px}
}

/* The complete navigation, including profile links, has its own scroll area. */
.sidebar{top:0;height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:max(24px,env(safe-area-inset-bottom))}
.sidebar>.brand,.sidebar>nav,.sidebar>.sidebar-bottom{flex-shrink:0}
@media(max-width:760px){
 body.mobile-nav-locked{position:fixed;width:100%;overflow:hidden}
 .sidebar{touch-action:pan-y}
}

.training-trainer-picker{grid-column:1/-1;min-width:0;margin:0 0 16px;padding:0;border:0}
.training-trainer-picker legend{padding:0;margin:0 0 6px;font-size:12px;font-weight:600;color:#626957}
.training-trainer-picker>p{font-size:12px;color:#777b74;margin-bottom:10px}
.training-trainer-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:240px;overflow-y:auto;overscroll-behavior:contain;padding:2px}
.training-trainer-options .training-trainer-option{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 12px;margin:0;border:1px solid #dce0d5;border-radius:8px;background:#fff;cursor:pointer}
.training-trainer-options .training-trainer-option:has(input:checked){background:#f9ecef;border-color:#ad1230}
.training-trainer-options .training-trainer-option:focus-within{outline:2px solid #ad1230;outline-offset:1px}
.training-trainer-options input[type=checkbox]{display:block;flex:0 0 18px;width:18px;height:18px;min-height:0;padding:0;margin:0;accent-color:#ad1230}
.training-trainer-option .avatar{flex:0 0 30px;width:30px;height:30px;font-size:11px}
.training-trainer-name{font-size:14px;color:#252723;font-weight:600;overflow-wrap:anywhere}
@media(max-width:600px){.training-trainer-options{grid-template-columns:1fr}}

.event-card.training-category-card{position:relative;padding-top:48px}
.training-type-label{position:absolute;top:12px;right:16px;padding:4px 9px;border-radius:6px;font-size:11px;font-weight:700;line-height:1.4}
.training-type-label.youth{background:#e6f0e0;color:#35572b}
.training-type-label.adults{background:#e4ecf8;color:#244b78}

.training-response-list{display:grid;gap:20px;margin-top:16px}.training-response-row{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #e3e5dd}.training-response-row strong{flex:1;min-width:0;overflow-wrap:anywhere}.training-response-row select{width:auto;max-width:145px;min-height:40px}

.family-training-responses{width:100%;display:grid;gap:12px}.family-training-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid #e3e5dd}.family-training-row .response-buttons{flex-wrap:wrap}
