:root{font-family:Arial,sans-serif;color:#252334;background:#f5f7f2;--primary:#8cb53b;--primary-text:#1b2530;--secondary:#4d485c;--secondary-text:#fff}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column}header{background:var(--secondary);color:var(--secondary-text)}.header-inner{max-width:1100px;margin:auto;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:14px;color:inherit;text-decoration:none;font-size:20px;font-weight:700}.brand span{font-size:14px;font-weight:500;border-left:1px solid currentColor;padding-left:14px;opacity:.9}.brand-logo{display:block;max-width:160px;max-height:62px;object-fit:contain}nav{display:flex;gap:8px}nav a{color:inherit;text-decoration:none;padding:10px 14px;border-radius:7px}nav a:hover,nav a:focus-visible{background:#ffffff26}main{width:100%;max-width:1100px;margin:36px auto;padding:0 22px;flex:1}footer{text-align:center;font-size:13px;color:#777;padding:30px}h1{font-size:clamp(27px,4vw,36px);margin:0 0 8px}h2{font-size:21px;margin:0 0 14px}p{line-height:1.55;color:#555;margin:12px 0}.card{background:white;border-radius:14px;box-shadow:0 4px 24px #29293312;padding:28px;margin:18px 0}.welcome{background:var(--secondary);color:var(--secondary-text);padding:42px;border-radius:16px}.welcome p{color:inherit;max-width:690px}.welcome .club-name{font-size:20px;font-weight:700;margin:10px 0 18px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin-bottom:12px;color:var(--secondary)}.welcome .eyebrow{color:var(--primary)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.feature{display:flex;flex-direction:column;align-items:flex-start}.feature .button{margin-top:auto}.feature p{margin-bottom:25px}.page-title{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:22px}.page-title p{margin:6px 0}.count{border-radius:50px;background:#e8efda;padding:9px 15px;font-size:14px;font-weight:700;white-space:nowrap}.table-card{padding:0;overflow:hidden}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{background:#f6f7f5;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#605d68}th,td{padding:16px 18px;border-bottom:1px solid #ececee}tbody tr:last-child td{border-bottom:0}td.action{text-align:right}label{display:block;font-weight:600;font-size:14px;margin:18px 0 7px}input,select{font:inherit;width:100%;padding:11px;border:1px solid #b9b9c2;border-radius:7px}input:focus,select:focus{outline:2px solid var(--primary)}input[type=color]{height:52px;padding:4px;cursor:pointer}input[type=file]{border-style:dashed}button,.button{font:inherit;display:inline-block;text-decoration:none;border:0;border-radius:7px;background:var(--primary);color:var(--primary-text);font-weight:bold;padding:12px 19px;cursor:pointer;margin:20px 0 0}.button.small{font-size:13px;margin:0;padding:8px 13px}.secondary{background:#e9e9eb;color:#252334}.actions{display:flex;align-items:center;gap:12px}.grid,.colour-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.wide{grid-column:1/-1}.notice{padding:12px 16px;border-radius:7px;background:#edf4e1;margin:14px 0}.bad{background:#fff0ec;color:#8b2414}.signout{margin:10px 0}.back-link{display:inline-block;margin-bottom:18px}.text-link{display:inline-block;margin-left:14px}.settings-nav{display:flex;gap:16px;margin-bottom:20px}.logo-preview{display:block;max-width:240px;max-height:110px;object-fit:contain;background:#f3f3f4;padding:12px;border-radius:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:700px){.dashboard-grid,.grid,.colour-grid{grid-template-columns:1fr}.card{padding:20px}.table-card{padding:0}.welcome{padding:27px}.brand{font-size:16px}.brand span{display:none}.header-inner{padding:14px}.brand-logo{max-width:100px;max-height:45px}nav a{padding:8px}th,td{padding:12px}.page-title{align-items:start;flex-direction:column}}

.team-search{max-width:440px;margin:18px 0 22px}.team-search label{margin:0 0 7px}tr[hidden],#no-results[hidden]{display:none}
.teams-table{min-width:950px}
textarea{font:inherit;width:100%;padding:11px;border:1px solid #b9b9c2;border-radius:7px;resize:vertical;min-height:220px}textarea:focus{outline:2px solid var(--primary)}.response-text{white-space:normal;overflow-wrap:anywhere}.charges-table td .button.small{display:block;width:max-content;margin-top:10px}
.response-toolbar{display:flex;gap:8px;flex-wrap:wrap;background:#f6f7f5;border:1px solid #b9b9c2;border-bottom:0;padding:8px;border-radius:7px 7px 0 0}.response-toolbar button{margin:0;background:white;color:#252334;border:1px solid #b9b9c2;padding:7px 12px}.response-toolbar+textarea{border-radius:0 0 7px 7px;font-family:Arial,sans-serif;font-size:16px;line-height:1.6;min-height:360px}.response-text p{margin:10px 0}.response-text li{line-height:1.6}.attachment-recovery{border-top:1px solid #ececee;margin-top:20px;padding-top:12px}
.response-toolbar[hidden],.rich-editor[hidden],#written[hidden]{display:none}.rich-editor{width:100%;min-height:360px;padding:15px;border:1px solid #b9b9c2;border-radius:0 0 7px 7px;background:white;font-family:Arial,sans-serif;font-size:16px;line-height:1.6;overflow-wrap:anywhere}.rich-editor:focus{outline:2px solid var(--primary)}.rich-editor p{margin:0 0 12px;color:inherit}.rich-editor li{line-height:1.6}.rich-editor ul,.rich-editor ol{padding-left:28px}
.charge-information{background:#fff9e6;border:1px solid #ecdca8}.charge-information h2{color:#604b12}.charge-information p{color:#3b3526}.attachment-row{display:flex;align-items:center;gap:12px;margin:10px 0}.attachment-row input{flex:1;min-width:0}.attachment-picker button{margin:0}.attachment-picker .add-attachment{margin-top:8px}.attachment-picker .remove-attachment{white-space:nowrap}.attachment-picker .remove-attachment[hidden]{display:none}.attachment-picker button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.attachment-row{align-items:stretch;flex-direction:column}.attachment-row .remove-attachment{align-self:flex-start}}
.club-picker{display:flex;align-items:end;gap:12px;max-width:740px}.club-picker label{margin:0 0 10px}.club-picker select{flex:1}.club-picker button{margin:0}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-actions button{margin:0}.header-inner{max-width:none}.header-inner nav{margin-left:auto;flex-wrap:wrap}@media(max-width:700px){.header-inner{flex-wrap:wrap}.header-inner nav{order:3;width:100%;justify-content:flex-end}.club-picker{flex-direction:column;align-items:stretch}.club-picker button{align-self:flex-start}}
.admin-actions .button.small,.admin-actions button.small{font-size:13px;padding:8px 13px;line-height:normal;margin:0;min-height:34px}.admin-actions form{margin:0}
.charge-detail-link{display:block;width:max-content;margin-top:10px;color:var(--secondary);font-weight:700;text-decoration:underline;text-underline-offset:3px}.charge-detail-link:hover,.charge-detail-link:focus-visible{color:#252334}
.form-section{border-top:1px solid #e8e8eb;margin-top:28px;padding-top:26px}.form-section h2{margin-bottom:12px}.checkbox-line{display:flex;align-items:flex-start;gap:12px;font-weight:500;line-height:1.45;margin:16px 0;cursor:pointer}.checkbox-line input{width:20px;height:20px;flex:none;margin:1px 0 0;accent-color:var(--primary)}.club-card{max-width:100%}.settings-nav{flex-wrap:wrap}.settings-nav a{font-weight:600}

.test-banner{background:#fff0b8;color:#413713;text-align:center;font-size:14px;font-weight:700;padding:11px 18px}

.header-logout{margin:0}.header-logout button{margin:0;background:transparent;border:1px solid currentColor;color:inherit;padding:9px 13px;white-space:nowrap}.header-logout button:hover{background:#ffffff26}.back-link.button{margin:0 0 18px}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:800px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.dashboard-grid{grid-template-columns:1fr}.header-inner{flex-wrap:wrap}nav{order:3;width:100%;justify-content:center}.header-logout{margin-left:auto}}

.header-inner nav{margin-left:auto;justify-content:flex-end}.header-logout{margin-left:0}.card>a.button.secondary{margin-left:10px}@media(max-width:560px){.header-inner nav{margin-left:0;justify-content:flex-end}}

.charges-table{min-width:850px}.charges-table td{vertical-align:top;line-height:1.45}.charges-table td.charge-info{min-width:220px;max-width:350px;white-space:normal;overflow-wrap:anywhere}.charges-table td:last-child{min-width:190px;max-width:330px;overflow-wrap:anywhere}.status{display:inline-block;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap}.status-raised{background:#fbe6e4;color:#a2271e}.status-waiting{background:#fff1d1;color:#755000}.status-heard{background:#e5f4e8;color:#196b37}.status-other{background:#eeeeef;color:#4d485c}.response-pending{display:inline-flex;align-items:center;gap:8px;color:#a2271e;font-weight:700}.red-dot{display:inline-block;width:9px;height:9px;flex:none;border-radius:50%;background:#c83228;box-shadow:0 0 0 3px #fbe6e4}

.charges-table{min-width:1120px}.charges-table td.outcome-cell{min-width:170px;max-width:300px;white-space:normal;overflow-wrap:anywhere}.case-cell{display:inline-flex;align-items:center;gap:9px}.charge-alert{display:flex;align-items:center;gap:12px;background:#fbe6e4;color:#a2271e;border:1px solid #ecc3bd;border-radius:10px;padding:17px 19px;margin:16px 0}.charge-alert .red-dot{width:12px;height:12px}.response-expired{color:#706b73;font-weight:600}.response-recorded{color:#216a39}.days-left{display:block;color:#a2271e;font-weight:700;margin-top:7px}.date-unavailable{color:#a2271e;font-weight:700}.hearing-pill{display:block;width:max-content;margin-top:8px;background:#e5f4e8;color:#196b37;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap}

.charges-attention{background:#fff7f5;border:1px solid #ecc3bd}.charges-attention h2{color:#a2271e}
.wide-main{max-width:none;width:100%;padding-left:clamp(18px,2.5vw,44px);padding-right:clamp(18px,2.5vw,44px)}.charge-filters{display:grid;grid-template-columns:minmax(230px,2fr) repeat(2,minmax(160px,1fr));gap:16px;align-items:end;margin:20px 0 6px}.charge-filters label{margin:0 0 7px}.results-count{font-size:13px;color:#666}.charges-table{min-width:1080px}#charges-no-results[hidden],#charges-table tr[hidden]{display:none}@media(max-width:800px){.charge-filters{grid-template-columns:1fr 1fr}}@media(max-width:550px){.charge-filters{grid-template-columns:1fr}}
.event-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 6px}.event-filters label{margin:0 0 7px}.event-table{min-width:900px}#event-no-results[hidden],#event-entries-table tr[hidden]{display:none}@media(max-width:650px){.event-filters{grid-template-columns:1fr}}
.event-key{background:#fff;border-left:4px solid var(--primary);padding:12px 18px;border-radius:8px;margin:18px 0}.event-key p{margin:7px 0}.event-key .red-dot,.event-table .red-dot{display:inline-block;vertical-align:middle;margin-right:5px;width:11px;height:11px}.event-table{min-width:1080px}.event-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.event-actions form{margin:0}.event-quantity{display:flex;gap:6px;align-items:center}.event-quantity input{width:70px;padding:8px}.event-actions button{white-space:nowrap}.event-locked{color:#716c78;font-weight:600;font-size:13px}
.event-quantity label{margin:0;font-size:13px;white-space:nowrap}.event-quantity input{flex:none}
.event-filters:has(#event-club){grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.event-filters:has(#event-club){grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.event-filters:has(#event-club){grid-template-columns:1fr}}
.postponements-table{min-width:990px}.postponements-table td{vertical-align:top}.postponements-table .postponement-reason{min-width:230px;max-width:450px;white-space:normal;overflow-wrap:anywhere}#postponements-table tr[hidden],#postponement-empty[hidden]{display:none}
.postponement-filters{display:grid;grid-template-columns:minmax(220px,2fr) minmax(180px,1fr);gap:16px;align-items:end;margin:18px 0}.postponement-filters label{margin:0 0 7px}.postponements-table{min-width:1160px}@media(max-width:650px){.postponement-filters{grid-template-columns:1fr}}
.club-login{max-width:560px;margin:35px auto;text-align:center}.club-login form{text-align:left}.club-login form button{display:block;margin:20px auto 0}.club-login p{max-width:470px;margin:14px auto}
.club-login form,.club-login form label{text-align:center}
.postponements-table .table-sort{display:inline;background:transparent;color:inherit;border:0;border-radius:0;padding:0;margin:0;text-align:left;font:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.postponements-table .table-sort:hover,.postponements-table .table-sort:focus-visible{text-decoration:underline;text-underline-offset:3px;outline-offset:3px}
