.entry-page{min-height:100svh;background:linear-gradient(180deg,rgba(3,32,23,.65),#041e15 680px),url('/assets/img/club/hero-preview.jpg') top center/100% auto no-repeat}.entry-page__intro{max-width:750px;margin-bottom:30px}.entry-page__intro h1{font-size:clamp(36px,7vw,72px);line-height:1.05;margin:14px 0 20px}.entry-page__intro p{color:#d2ddd3;line-height:1.7}.entry-event-card{padding:clamp(16px,3vw,28px);margin-bottom:22px;border:1px solid #49604c;border-radius:28px;background:rgba(12,49,32,.85)}.entry-event-card h2{font-size:clamp(24px,4vw,34px);margin:12px 0}.entry-event-card>a{display:inline-flex;min-height:44px;align-items:center;color:#c7ff36}.entry-panel{background:#f6f8ef;color:#063d2d;border:1px solid #d9e3d8;border-radius:24px;padding:clamp(18px,3vw,28px);margin-block:20px;min-width:0}
.entry-panel__heading{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}.entry-panel h3{font:700 22px/1.2 inherit;margin:0}.entry-badge{background:#c7ff36;padding:8px 12px;border-radius:30px;font-size:13px;font-weight:700}.entry-panel p{margin:10px 0}.entry-note{font-size:13px;line-height:1.6;color:#456053}.entry-actions{display:flex;flex-wrap:wrap;gap:10px;margin-block:18px}.entry-button{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;min-height:48px;line-height:1.4;border:1px solid #063d2d;border-radius:28px;background:#063d2d;color:#fff;font:600 15px/1.4 inherit;text-decoration:none;cursor:pointer;text-align:center}.entry-button--secondary{background:transparent;color:#063d2d}.entry-button:disabled{opacity:.55;cursor:wait}.entry-button:focus-visible,.entry-panel input:focus-visible{outline:3px solid #1785ed;outline-offset:3px}.entry-settings{display:flex;gap:14px;align-items:center;flex-wrap:wrap;border-top:1px solid #ccd9cb;padding-top:18px}.entry-settings label{display:flex;align-items:center;gap:10px}.entry-settings input[type=number]{width:90px;min-height:46px;background:#fff;border:1px solid #93ad9b;border-radius:8px;color:#063d2d;padding:8px}.entry-settings input[type=checkbox]{width:22px;height:22px;accent-color:#063d2d}.entry-list{padding:0;list-style:none;margin:18px 0 0}.entry-list li{display:flex;gap:15px;justify-content:space-between;padding:12px 0;border-bottom:1px solid #dbe5d8}.entry-list li span{font-size:13px;text-transform:capitalize}.workbook-table-wrap{overflow:auto;max-height:520px;border-radius:16px;border:1px solid #dbe5d8}.workbook-table{border-collapse:collapse;width:100%;font-size:14px}.workbook-table th,.workbook-table td{padding:12px;text-align:left;border-bottom:1px solid #dbe5d8;white-space:nowrap}.workbook-table th{background:#edf2e7;position:sticky;top:0;color:#063d2d}.workbook-table td:last-child{white-space:normal;min-width:150px}.workbook-select{padding:12px;border-radius:12px;background:#fff;color:#063d2d;max-width:100%;margin-block:14px}.entry-events{max-width:1000px}.entry-panel [role=status]:empty{display:none}@media(max-width:440px){.entry-actions{flex-direction:column}.entry-button{width:100%}.entry-settings{align-items:stretch;flex-direction:column}.entry-settings label{justify-content:space-between}.entry-list li strong{font-size:14px}}
.entry-panel h3{font-family:inherit;font-size:22px;font-weight:700;line-height:1.2}.entry-button{font-family:inherit;font-size:15px;font-weight:600}.entry-settings label{min-width:0}.entry-settings input:not([type=checkbox]),.entry-settings select{font:inherit;min-width:0;min-height:44px;max-width:100%;padding:10px;border:1px solid #93ad9b;border-radius:10px;background:white;color:#063d2d}.admin-form input[type=checkbox]{width:24px;min-height:24px;height:24px;accent-color:#063d2d;justify-self:start}.entry-list .entry-button{min-width:80px;width:auto;font-size:13px;padding:8px 12px}

/* Keep the admin field roster aligned without forcing a desktop table onto phones. */
.entry-panel--admin{container-type:inline-size}
.entry-panel--admin .entry-form-heading{margin:22px 0 10px;font-size:16px;line-height:1.2}
.entry-panel--admin .entry-payment-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(130px,1fr) auto;align-items:end;gap:12px}
.entry-panel--admin .entry-payment-form label{display:grid;align-items:start;gap:6px;min-width:0;font-size:12px;font-weight:700}
.entry-panel--admin .entry-payment-form select{width:100%}
.entry-panel--admin .entry-payment-form button{white-space:nowrap}
.entry-panel--admin .entry-roster-head,.entry-panel--admin .entry-list li.entry-roster-row{display:grid;grid-template-columns:minmax(170px,2fr) minmax(100px,.75fr) minmax(150px,1fr) minmax(82px,auto);align-items:center;gap:12px}
.entry-panel--admin .entry-roster-head{padding:10px 0 8px;border-bottom:1px solid #ccd9cb;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#456053}
.entry-panel--admin .entry-list{margin-top:0}
.entry-panel--admin .entry-list li.entry-roster-row{justify-content:initial;padding:10px 0}
.entry-panel--admin .entry-roster-person{display:grid;gap:2px;min-width:0}
.entry-panel--admin .entry-roster-person strong{overflow-wrap:anywhere}
.entry-panel--admin .entry-roster-person small{font-size:11px;color:#456053}
.entry-panel--admin .entry-roster-status{font-size:12px}
.entry-panel--admin .entry-roster-payment{display:inline-flex;align-items:center;gap:7px;min-height:44px;font-size:12px}
.entry-panel--admin .entry-roster-payment input{width:20px;height:20px;flex:none}
.entry-panel--admin .entry-roster-actions{justify-self:end}
.entry-panel--admin .entry-roster-actions:empty{display:none}
.entry-panel--admin .entry-roster-actions .entry-button{min-height:44px;white-space:nowrap}
@container (max-width:700px){
  .entry-panel--admin .entry-roster-head{display:none}
  .entry-panel--admin .entry-list li.entry-roster-row{grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:12px 0}
  .entry-panel--admin .entry-roster-person{grid-column:1;grid-row:1}
  .entry-panel--admin .entry-roster-status{grid-column:2;grid-row:1;justify-self:end}
  .entry-panel--admin .entry-roster-payment{grid-column:1;grid-row:2;min-width:0}
  .entry-panel--admin .entry-roster-actions{grid-column:2;grid-row:2}
  .entry-panel--admin .entry-payment-form{grid-template-columns:minmax(0,1fr) minmax(110px,.55fr)}
  .entry-panel--admin .entry-payment-form button{grid-column:1/-1;width:100%}
}
@container (max-width:450px){
  .entry-panel--admin .entry-payment-form{grid-template-columns:1fr}
  .entry-panel--admin .entry-payment-form button{grid-column:1}
  .entry-panel--admin .entry-roster-actions .entry-button{padding:8px 10px;font-size:12px}
}
