*{box-sizing:border-box}body{margin:0;font-size:16px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.wrap{max-width:1200px;margin:auto;padding:0 24px}.shell{min-height:100vh;display:flex;flex-direction:column}.site-header{background:var(--club-secondary,#191a1c);color:white;border-bottom:5px solid var(--club-primary,#f47720)}.topbar{min-height:78px;display:flex;align-items:center;gap:42px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.035em;line-height:1}.brand b{display:block;color:var(--club-primary,#f47720);font-size:13px;letter-spacing:.18em;margin-top:5px}.crest{width:46px;height:48px;background:var(--club-primary,#f47720);color:#171717;clip-path:polygon(10% 0,90% 0,100% 75%,50% 100%,0 75%);display:flex;align-items:center;justify-content:center;font-size:23px}.crest span{font-size:9px;align-self:flex-end;margin-bottom:10px;margin-left:-7px}.topbar nav{display:flex;gap:24px;height:78px;align-items:center}.topbar nav a{padding:28px 0 25px;border-bottom:3px solid transparent;color:#ddd;font-weight:bold}.topbar nav .active{color:white;border-color:var(--club-primary,#f47720)}.account{margin-left:auto;font-size:14px;color:#f3c29d;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account a{text-decoration:underline}main{width:100%;flex:1;padding-top:36px!important;padding-bottom:80px!important}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.eyebrow{text-transform:uppercase;color:#db681a;font-size:13px;font-weight:900;letter-spacing:.15em;margin:0 0 8px}h1{font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-.045em;margin:0}h2,h3,p{margin-top:0}.intro,.muted{color:#606469;line-height:1.5}.intro{margin:12px 0 0}.week-nav{display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--border);border-radius:12px;padding:6px;font-weight:bold;white-space:nowrap}.week-nav a{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#f6f5f2}.week-nav span{padding:0 8px}.week-nav small{color:#777;font-weight:normal}.filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 24px}.filters>span{font-size:14px;font-weight:bold;color:#777;margin-right:7px}.filters a{border:1px solid #dcd8d0;border-radius:30px;background:#fff;padding:9px 16px;font-size:14px;font-weight:bold}.filters a.selected{background:var(--club-secondary,#191a1c);color:#fff;border-color:var(--club-secondary,#191a1c)}.match-list{display:grid;gap:20px}.match-card{background:#fff;border:1px solid #e2ded8;border-radius:16px;overflow:hidden;box-shadow:0 7px 25px #1b1b1b09}.match-main{display:flex;gap:22px;padding:26px}.date-box{background:var(--club-secondary,#191a1c);color:#fff;min-width:66px;height:72px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-transform:uppercase}.date-box strong{font-size:29px;line-height:1}.date-box span{font-size:12px;color:#ff9a4d;margin-top:5px}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.tag{background:#f0efed;padding:5px 9px;border-radius:5px;font-size:12px;font-weight:bold;text-transform:uppercase;letter-spacing:.04em}.team-tag{background:var(--club-secondary,#191a1c);color:white}.tag.home{background:#ffead9;color:#a04a0e}.tag.away{background:#edf1f4;color:#52606d}.match-info h2{font-size:24px;margin:0 0 9px}.match-info p{color:#63676c;margin:0}.match-info .tournament-note{color:#ae581d;margin-top:9px;font-size:14px}.volunteers{border-top:1px solid #eeeae5;padding:22px 26px 26px;background:#fdfcfb}.volunteers h3{font-size:17px;display:flex;gap:12px;align-items:center}.volunteers h3 span{font-size:13px;color:#777;font-weight:normal}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.role{border:1px solid #e6e2dc;border-radius:10px;background:white;padding:14px;min-width:0}.role-top{display:flex;justify-content:space-between;gap:8px;font-size:14px}.role-top span{color:#d66b22;font-weight:bold}.role p{font-size:14px;color:#74777a;min-height:20px;margin:11px 0}.join,.leave{font-size:14px;font-weight:bold;color:#bd5512;background:#fff2e7;border:0;border-radius:7px;padding:8px 10px;display:inline-block}.leave{color:#555;background:#f0f0ee}.empty{text-align:center;background:white;border:1px dashed #d5d0ca;border-radius:16px;padding:60px 20px}.empty>span{font-size:42px;color:var(--club-primary,#f47720)}.empty h2{margin:9px 0}.empty p{color:#686b70}.primary{display:inline-block;background:var(--club-primary,#f47720)!important;color:var(--club-secondary,#191a1c)!important;border:0;border-radius:8px;padding:11px 17px;font-weight:800}.panel{background:white;border:1px solid #e2ded8;border-radius:16px;padding:25px}.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel h2{font-size:22px}.panel h3{font-size:17px}.stacked{display:grid;gap:14px;margin-top:24px}.stacked label,.team-form label{display:grid;gap:6px;font-size:14px;font-weight:bold}.stacked input,.stacked select,.team-form input,.event-edit input{width:100%;border:1px solid #d5d1ca;border-radius:8px;padding:10px 12px;background:white;min-height:43px}.stacked .check,.check{display:flex!important;align-items:center;gap:7px;white-space:nowrap;font-size:14px}.check input{width:auto!important;min-height:auto!important}.team-form{border-bottom:1px solid #eee;padding:15px 0;display:grid;gap:10px}.team-form button,.event-edit button{background:var(--club-secondary,#191a1c);color:white;border:0;border-radius:7px;padding:9px 12px;justify-self:start}.all-events{margin-top:20px}.event-edit{padding:13px 0;border-top:1px solid #eee;display:flex;align-items:center;justify-content:space-between;gap:16px}.event-edit p{color:#777;font-size:14px;margin:5px 0 0}.event-edit form{display:flex;align-items:center;gap:10px}.event-edit .danger{background:#fce9e8;color:#a32b1b}.notice{padding:14px 18px;background:#fff0df;border:1px solid #f2bb82;border-radius:9px}.footer{padding-bottom:25px;color:#777;font-size:13px}.footer a{text-decoration:underline}@media(max-width:800px){.topbar{flex-wrap:wrap;gap:8px;padding-top:12px}.brand{margin-right:auto}.topbar nav{order:3;width:100%;height:48px}.topbar nav a{padding:13px 0}.account{max-width:140px}.page-heading{display:block}.week-nav{margin-top:20px;display:inline-flex}.role-grid{grid-template-columns:repeat(2,1fr)}.config-grid{grid-template-columns:1fr}.event-edit{display:block}.event-edit form{margin-top:10px;flex-wrap:wrap}}@media(max-width:550px){.wrap{padding-left:16px;padding-right:16px}.role-grid{grid-template-columns:1fr}.match-main{padding:18px;gap:14px}.match-info h2{font-size:21px}.volunteers{padding:18px}.week-nav{font-size:14px}}
.signup-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.signup-form input{width:100%;min-width:0;border:1px solid #d5d1ca;border-radius:7px;padding:8px;font-size:14px}.signup-form button{white-space:nowrap}.signup-admin{width:100%;display:flex;gap:10px;flex-wrap:wrap}.signup-admin form{display:flex;align-items:center;gap:6px;font-size:14px;background:#f7f5f1;border-radius:7px;padding:4px 7px}.signup-admin button{padding:5px 7px}.event-edit{flex-wrap:wrap}.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}@media(max-width:550px){.signup-form{grid-template-columns:1fr}}
.account-area{display:grid;gap:18px;margin-bottom:24px}.account-panel{display:flex;align-items:center;justify-content:space-between;gap:18px}.account-panel h2,.account-requests h2{margin-top:0}.account-panel p{margin-bottom:0}.account-requests{display:grid;gap:12px}.request-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-top:1px solid #e7e1d8}.request-row p{color:#666;margin:4px 0 0}.request-row form{display:flex;gap:8px}.super-login{margin-top:18px;font-size:14px}.super-login a{color:#b52b27;text-decoration:underline}@media(max-width:650px){.account-panel,.request-row{align-items:flex-start;flex-direction:column}}

.club-logo{display:block;width:54px;height:65px;object-fit:contain;background:white;border-radius:4px;flex-shrink:0}.topbar{min-height:84px}
.bulk-import{margin:20px 0;padding-bottom:18px;border-bottom:1px solid #e7e1d8}.bulk-import>p{font-size:14px;margin:10px 0 0}.bulk-import .notice{margin-top:14px}.bulk-import ul{margin:10px 0 0;padding-left:20px}.bulk-import li+li{margin-top:6px}
.delete-team{margin:10px 0 20px}.delete-team-button{background:#fce9e8;color:#a32b1b;border:1px solid #edb6b0;border-radius:7px;padding:9px 12px}.delete-team-confirm{padding:14px;border:1px solid #edb6b0;background:#fff6f5;border-radius:8px}.delete-team-confirm p{line-height:1.5;margin-bottom:12px}.delete-team-buttons{display:flex;gap:10px;flex-wrap:wrap}.delete-team-buttons button{padding:9px 12px;border-radius:7px}

.export-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.export-panel h2{margin:0 0 8px}.export-panel p{margin:0}.export-panel a{white-space:nowrap}@media(max-width:650px){.export-panel{align-items:flex-start;flex-direction:column}}
.signup-scope{grid-column:1/-1;display:grid;gap:5px;font-size:12px}.signup-scope select{width:100%;min-width:0;padding:7px;border:1px solid #d5d1ca;border-radius:7px;background:white;font-size:13px}.signup-result{font-size:13px;line-height:1.4;margin:10px 0 0;color:#27633f}.signup-error{color:#a32b1b}
.signup-form .withdraw{grid-column:1/-1;background:#fce9e8;color:#a32b1b;border:1px solid #edb6b0;border-radius:7px;padding:8px;font-size:13px;justify-self:start}

.match-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.match-links a{font-size:14px;border:1px solid #ddd;border-radius:7px;padding:8px 10px;color:#a04a0e}.venue-address{margin-top:10px!important;font-size:14px}

.signup-comment{grid-column:1/-1;display:grid;gap:5px;font-size:14px}.signup-comment textarea{width:100%;resize:vertical;padding:8px;border:1px solid #d5d1ca;border-radius:7px;font:inherit}.role p{overflow-wrap:anywhere}
