.hire-summary .hire-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.hire-summary .hire-facts div { min-width:0; }
.hire-summary .hire-facts dd { margin-left:0; overflow-wrap:anywhere; }
.summary-total { font-size:1.2rem; border-top:1px solid #cad8cf; padding-top:1rem; }
.booking-records>summary { cursor:pointer; font-size:1.1rem; font-weight:700; padding:.65rem 0; }
.booking-records>summary:focus-visible { outline:3px solid #157661; outline-offset:4px; }
.email-body { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; padding:1rem; background:#f1f5f1; }
.email-records { padding-left:1.3rem; }
.email-records li { margin:1rem 0; overflow-wrap:anywhere; }
/* Grouped management navigation, with a sticky sidebar on wide screens. */
.management-menu { min-width:0; margin:0 0 1.5rem; border:1px solid var(--line); border-radius:12px; background:#fff; }
.management-menu>summary { cursor:pointer; font-weight:700; padding:1rem; min-height:44px; }
.management-menu>summary:focus-visible,.manage-nav a:focus-visible { outline:3px solid #157661; outline-offset:2px; }
.management-menu .manage-nav { display:block; padding:0 1rem 1rem; margin:0; border:0; font-size:.875rem; }
.management-heading { margin:0; padding:1.1rem .65rem .7rem; font-size:1.05rem; font-weight:750; }
.management-group { padding:.6rem 0; border-top:1px solid var(--line); }
.management-group h2 { margin:.3rem .65rem; color:var(--muted); font-size:.75rem; font-weight:750; letter-spacing:.04em; text-transform:uppercase; line-height:1.5; }
.management-menu .manage-nav a { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; padding:.55rem .65rem; min-height:44px; border-radius:7px; line-height:1.35; overflow-wrap:anywhere; text-decoration:none; }
.manage-nav a:hover { background:#f0f5f1; }
.manage-nav a[aria-current] { background:#e0eee7; color:#123d36; font-weight:750; box-shadow:inset 3px 0 #157661; }
.management-count { padding:.2rem .4rem; border-radius:5px; background:#fbe9d9; color:#763509; font-size:.75rem; }
.management-content { min-width:0; }
@media(min-width:1100px) {
  main:has(.management-layout) { max-width:1600px; }
  .management-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:2rem; align-items:start; }
  .management-layout .management-menu { position:sticky; top:1rem; max-height:calc(100dvh - 2rem); overflow-y:auto; scrollbar-gutter:stable; margin:0; }
  .management-layout .management-menu>summary { display:none; }
  .management-layout .manage-nav { padding:0 .65rem .65rem; }
}
@media(max-width:1099px) { .management-layout .management-heading { display:none; } }
@media print { .management-menu { display:none!important; } .management-layout { display:block; } }
@media(max-width:700px) { .hire-summary .hire-facts { grid-template-columns:1fr; gap:.8rem; } }
.communication-settings fieldset{min-width:0;margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:10px}
.communication-settings legend{padding:0 8px;font-weight:700}
.communication-settings label{margin-top:18px}.communication-settings .helptext{display:block;font-size:13px;color:var(--muted);margin:6px 0 18px}
.communication-settings details{margin:24px 0}.communication-settings summary{cursor:pointer;min-height:44px;padding:8px 0}
.communication-settings input,.communication-settings select{max-width:100%;min-width:0}.communication-settings p{overflow-wrap:anywhere}
.communication-settings textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font:inherit;padding:12px}.template-actions{display:flex;gap:12px;flex-wrap:wrap}.template-actions button{white-space:normal}
.placeholder-picker{margin:16px 0 24px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#f1f5f1}.placeholder-picker select{box-sizing:border-box;width:100%;max-width:38rem}.placeholder-picker label{margin-top:0}.placeholder-picker[hidden]{display:none}
.template-errors{background:#fff2e9;border:1px solid #ba5837;color:#682e1c}.template-errors h3{color:inherit}.template-errors li{overflow-wrap:anywhere}
.placeholder-checklist{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fafbf8}.placeholder-checklist[hidden]{display:none}.placeholder-checklist h3{margin-top:0;font-size:1rem}.placeholder-checklist ul{list-style:none;padding:0;margin:12px 0}.placeholder-checklist li{display:flex;align-items:baseline;gap:12px;margin:10px 0;overflow-wrap:anywhere}.placeholder-checklist li>span:last-child{min-width:0}.placeholder-presence{flex:0 0 5.25rem;font-weight:700;color:#8a361c}.placeholder-checklist [data-present="true"] .placeholder-presence{color:#185344}
.campaign-table-scroll{overflow-x:auto;max-width:100%}.campaign-table{border-collapse:collapse;width:100%;min-width:32rem}.campaign-table th,.campaign-table td{padding:12px;text-align:left;border-bottom:1px solid var(--line)}.campaign-table caption{text-align:left;padding:12px 0}.campaign-history-entry{padding:16px 0;border-top:1px solid var(--line)}.campaign-history-entry dd{margin:4px 0 16px;overflow-wrap:anywhere}.campaign-table-scroll:focus-visible{outline:3px solid #157661;outline-offset:3px}

.build-badge{font-size:.8rem;white-space:nowrap;padding:.3rem .5rem;border:1px solid currentColor;border-radius:.3rem}#support-details{width:100%;max-width:48rem;font-family:monospace}

.coaching-intro{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:center}.coaching-intro figure{margin:0}.coaching-photo{display:block;width:100%;height:auto;border-radius:12px}.coaching-intro figcaption{font-size:.85rem;color:#52665e;margin-top:.5rem}@media(max-width:700px){.coaching-intro{grid-template-columns:1fr}}
.coaching-directory-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem}.coaching-directory-filters>p{flex:1 1 180px;min-width:0;margin:0}.coaching-directory-filters select{width:100%;min-width:0}.coaching-filter-actions,.coaching-calendar-navigation{display:flex;align-items:flex-end;flex-wrap:wrap;gap:1rem}.coaching-calendar-navigation label{display:block}.coaching-calendar-navigation input{max-width:100%}.coaching-calendar-day{border-top:1px solid var(--line);padding:1rem 0}.coaching-calendar-day summary{cursor:pointer;min-height:44px;font-weight:650}.coaching-slot-list{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0}.coaching-slot-list li{max-width:100%}.coaching-slot-list span{display:block;padding:.5rem .75rem;border:1px solid var(--line);border-radius:8px}.coaching-slot-list a[aria-current]{outline:3px solid var(--ink);outline-offset:2px}.coaching-calendar p{overflow-wrap:anywhere}@media(max-width:500px){.coaching-filter-actions{flex-basis:100%}.coaching-calendar-navigation>div{width:100%}}
.coach-week-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:1rem}.coach-day{min-width:0;overflow-wrap:anywhere}.coach-day h2{font-size:1.3rem}.coach-day h3{font-size:1rem;margin-top:1rem}.coach-day ul{padding-left:1.2rem}.coach-day li{margin-bottom:1rem}.coach-day li p{margin:.4rem 0}

/* Optional coach portrait: same-sized accessible fallback, no layout jump. */
.coach-portrait{display:block;width:112px;height:112px;max-width:100%;object-fit:contain;border-radius:50%;background:#e8efeb;border:1px solid #b9cbc2;margin:0 0 1rem}.coach-portrait-placeholder{display:flex;align-items:center;justify-content:center;color:#426a5d}.coach-portrait-preview{width:160px;height:160px}

/* Browser-local Admin shortcuts: search and stars enhance authorised links only. */
.management-menu [hidden] { display:none!important; }
.management-tools { padding:.75rem .65rem 1rem; }
.management-tools label { margin:0 0 .4rem; font-size:.85rem; }
.management-search-row { display:flex; gap:.35rem; align-items:center; }
.management-search-row input { min-width:0; width:100%; min-height:44px; padding:.55rem; font:inherit; }
.management-clear { min-height:44px; padding:.45rem; font:inherit; background:#f0f5f1; color:var(--ink); border:1px solid var(--line); border-radius:6px; cursor:pointer; }
.management-help,.management-filter-status,.management-save-status { margin:.5rem 0 0; font-size:.75rem; line-height:1.5; color:var(--muted); }
.management-save-status:empty { display:none; }
.management-favourites { padding:.8rem .65rem; border-top:1px solid var(--line); background:#f5f8f5; border-radius:7px; margin-bottom:.5rem; }
.management-favourites h2 { margin:0; font-size:.9rem; }
.management-favourite-links { margin-top:.5rem; }
.management-link { display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:center; gap:.1rem; }
.management-menu .management-link>a { min-width:0; }
.management-star { display:flex; align-items:center; justify-content:center; width:44px; min-height:44px; padding:0; border:0; border-radius:6px; background:transparent; color:#426a5d; font-size:1.5rem; cursor:pointer; }
.management-star:hover { background:#e0eee7; }
.management-star[aria-pressed="true"] { color:#76510a; }
.management-star:focus-visible,.management-clear:focus-visible { outline:3px solid #157661; outline-offset:1px; }
