.coach-demo .notice { padding: 16px; border: 1px solid var(--signal-yellow); border-radius: 8px; background: var(--bg-soft); }
.coach-demo .toolbar { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; margin: 24px 0; }
.coach-demo .toolbar > label:first-child { min-width: 220px; }
.coach-demo .checkbox-field { font-weight: 400; }
.coach-demo input[type=checkbox] { width: 20px; height: 20px; min-height: 20px; padding: 0; accent-color: var(--red); }
.coach-demo #admin { padding: 20px; border: 1px solid var(--border); background: var(--bg-soft); border-radius: 10px; margin: 24px 0; }
.coach-demo #allocate { margin: 16px 0; }
.coach-demo .session { padding: 24px; margin: 20px 0; border: 1px solid var(--border); border-left: 4px solid var(--muted); border-radius: 10px; background: var(--bg-card); }
.coach-demo .session.assigned { border-left-color: var(--signal-green); }
.coach-demo .session.gap { border-left-color: var(--signal-yellow); }
.coach-demo .session h2 { font-size: 1.25rem; margin: 0; }
.coach-demo .session.cancelled { opacity: .65; }
.coach-demo .coach-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 20px 0; }
.coach-demo .coach-person { display: flex; align-items: center; gap: 12px; min-width: 0; }
.coach-demo .coach-portrait { position: relative; overflow: hidden; flex: 0 0 64px; width: 64px; height: 64px; border-radius: 50%; background: var(--bg-soft); display: grid; place-items: center; font-weight: bold; border: 1px solid var(--border); }
.coach-demo .coach-portrait img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.coach-demo .coach-person p { margin: 0; overflow-wrap: anywhere; }
.coach-demo .coach-role { color: var(--muted); font-size: .85rem; }
.coach-demo .coach-name { font-weight: 700; }
.coach-demo .answers { display: flex; gap: 10px; flex-wrap: wrap; margin: 16px 0; }
.coach-demo .answers [aria-pressed=true] { border-color: var(--signal-green); background: var(--answer-bg); }
.coach-demo .tag { font-weight: 700; }
.coach-demo .mail-example { white-space: pre-wrap; border-top: 1px solid var(--border); padding-top: 16px; }
.coach-demo #status:empty { display: none; }
.coach-demo #status:not(:empty) { padding: 16px; border: 1px solid var(--border); }
.coach-demo button:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }
@media(max-width:600px) {
 .coach-demo .toolbar { align-items: stretch; flex-direction: column; }
 .coach-demo .coach-pair { grid-template-columns: 1fr; }
 .coach-demo .session { padding: 18px; }
 .coach-demo .answers > button { flex: 1 1 auto; }
}

.coach-demo .session-admin { border-top: 1px solid var(--border); padding-top: 16px; margin-top: 20px; }
.coach-demo .session-admin summary { cursor: pointer; font-weight: 700; }
.coach-demo .assignment-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.coach-demo .assignment-form label { display: flex; flex-direction: column; gap: 8px; }
.coach-demo .assignment-form select { width: 100%; }
.coach-demo .assignment-form button { grid-column: 1 / -1; justify-self: start; }
@media(max-width:600px) { .coach-demo .assignment-form { grid-template-columns: 1fr; } }

.coach-demo #registry-status:empty { display: none; }
