/* Timeless-week adapters. Visual treatments come from the shipped request/guest UI. */
.bd-page .bd-coach-panel { max-width: 760px; margin: 0 auto; }
.bd-coach-panel > .text-action:first-child { display: block; width: fit-content; margin-bottom: 12px; }
.bd-page .ux-question { margin-top: 16px; }
.bd-mode { border: 0; padding: 0; }
.bd-mode legend { margin-bottom: 12px; font-weight: 700; }
.bd-calendar { display: grid; gap: 10px; margin: 16px 0; }
.bd-day { background: var(--surface,#fff); border: 1px solid var(--line); border-radius: 16px; padding: 14px; }
.bd-day-label { display: flex; align-items: center; gap: 12px; min-height: 44px; cursor: pointer; }
.bd-day-label input { width: 22px; height: 22px; }
.bd-day-body { padding-top: 12px; }
.bd-range { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; align-items: end; }
.bd-range + .bd-range { margin-top: 12px; }
.bd-range select { min-width: 0; width: 100%; }
.bd-day > small { color: var(--muted); }
.bd-page [hidden] { display: none !important; }
.bd-share { margin-top: 24px; max-width: none; }
.bd-share input { width: 100%; }
.bd-response-count { display: grid; gap: 6px; }
.bd-result-time > summary { display: flex; justify-content: space-between; gap: 12px; }
.bd-roster { margin-top: 18px; }
.bd-page summary { cursor: pointer; min-height: 44px; padding: 12px 0; }
.bd-page .entity-link { display: inline-flex; align-items: center; min-height: 44px; }
.bd-team-list { display: grid; gap: 12px; margin: 20px 0; }
.bd-team-card { min-height: 72px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface,#fff); padding: 12px 16px; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 12px; text-decoration: none; }
.bd-team-card > span:first-child { display: grid; gap: 3px; min-width: 0; }
.bd-team-card strong { font-size: 17px; }
.bd-team-card small { color: var(--muted); }
.bd-team-card > b { color: var(--muted); font-size: 20px; }
.bd-team-title { margin: 4px 0 18px; font-size: 26px; }
.bd-intro { color: #374151; font-size: 16px; line-height: 1.55; }
.bd-choice { display: flex; align-items: flex-start; gap: 12px; border: 1px solid var(--line); border-radius: 14px; padding: 14px; margin-bottom: 10px; background: #fff; cursor: pointer; }
.bd-choice input { width: 22px; height: 22px; flex: 0 0 auto; }
.bd-choice span { display: grid; gap: 4px; }
.bd-choice small { color: var(--muted); }
.bd-coach-days { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 6px; margin-top: 14px; }
.bd-coach-days label { min-width: 0; }
.bd-coach-days input { position: absolute; opacity: 0; pointer-events: none; }
.bd-coach-days span { min-height: 56px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 12px; background: #fff; font-weight: 800; cursor: pointer; }
.bd-coach-days input:checked + span { background: var(--brand-soft); border-color: var(--brand); color: var(--brand-dark); }
.bd-coach-days input:focus-visible + span { outline: 3px solid rgb(91 77 245 / 25%); outline-offset: 2px; }
.bd-response-count { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bd-response-count > strong { font-size: 18px; }
.bd-response-count > span:not(.badge) { color: #374151; }
.bd-response-count .badge { margin-left: auto; }
.bd-response-progress { height: 6px; border-radius: 999px; background: var(--line); overflow: hidden; }
.bd-response-progress span { display: block; height: 100%; border-radius: inherit; background: var(--brand); }
.bd-insight { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 16px; display: grid; gap: 6px; }
.bd-insight h2,.bd-insight p { margin: 0; }
.bd-insight p { color: #374151; line-height: 1.5; }
.bd-results-label { color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.bd-ranked-results { background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.bd-ranked-option + .bd-ranked-option { border-top: 1px solid #f0f1f3; }
.bd-ranked-option > summary { list-style: none; display: grid; grid-template-columns: minmax(0,1fr) minmax(112px,35%); align-items: center; gap: 14px; padding: 14px; }
.bd-ranked-option > summary::-webkit-details-marker { display: none; }
.bd-ranked-option > summary > span:first-child { display: grid; gap: 2px; }
.bd-ranked-option > summary small { color: var(--muted); }
.bd-rank-count { display: grid; gap: 6px; text-align: right; }
.bd-rank-count i { width: 100%; height: 7px; border-radius: 999px; background: linear-gradient(90deg,var(--brand) var(--score),var(--line) var(--score)); }
.bd-people { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 0 14px 14px; }
.bd-people p { margin: 0; color: #374151; }
.bd-people b { display: block; color: var(--ink); margin-bottom: 5px; }
.bd-pending { margin-top: 2px; }
.bd-close-link { align-self: flex-start; color: var(--danger); margin-top: 14px; }
.bd-pending + .text-action { display: inline-flex; margin: 10px 18px 0 0; }
.bd-page .modal-backdrop { text-align: left; }
.bd-parent-calendar .conflict-period > summary { font-weight: 700; }
.bd-parent-calendar .conflict-slot.selected { background: var(--brand); color: white; border-color: var(--brand); }
.bd-parent-calendar .conflict-day-body > p { color: var(--muted); line-height: 1.5; }
.bd-parent-calendar .conflict-day-toggle { cursor: pointer; }
.bd-parent-calendar .ux-date-badge { min-height: 48px; }
.bd-parent-calendar .ux-date-badge small { font-size: 14px !important; }
@media(max-width:600px) {
 .bd-page .bd-coach-panel { border-radius: 0; padding: 20px; }
 .bd-range { grid-template-columns: 1fr 1fr; }
 .bd-range > button { grid-column: 1/-1; }
 .bd-page .form-actions { display: flex; flex-wrap: wrap; gap: 10px; }
 .bd-coach-days { grid-template-columns: repeat(4,minmax(0,1fr)); }
 .bd-people { grid-template-columns: 1fr; }
 .bd-ranked-option > summary { grid-template-columns: minmax(0,1fr) 112px; }
 .bd-page .modal-backdrop { padding: 0; align-items: end; }
}

