/* Clinician dashboard (night band) and the launch film */

.film__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.film__copy { display: grid; gap: 1.25rem; justify-items: start; }
.film__player { position: relative; aspect-ratio: 16 / 9; border-radius: var(--r-xl); overflow: hidden; background: var(--ink-900); box-shadow: var(--shadow-lg); border: 1px solid var(--line); }
.film__poster, .film__video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; padding: 0; background: var(--ink-900); object-fit: cover; }
.film__poster img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms var(--ease-out); }
.film__poster:hover img { transform: scale(1.03); }
.film__play { position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; margin: -38px 0 0 -38px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.92); color: var(--ink-900); box-shadow: 0 10px 40px rgba(6,47,43,.35); transition: transform var(--t-med) var(--ease-out); }
.film__play svg { margin-left: 3px; }
.film__poster:hover .film__play { transform: scale(1.08); }

.dash { overflow: hidden; background: radial-gradient(90% 70% at 85% 0%, #0d4a43 0%, var(--night) 60%); }
.dash__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.3fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.dash__copy { display: grid; gap: 1.5rem; justify-items: start; }
.dash__points { display: grid; gap: 1rem; margin-top: .5rem; }
.dash__points li { padding-top: 1rem; border-top: 1px solid var(--night-line); color: var(--night-soft); font-size: 1rem; }
.dash__points b { color: var(--night-text); font-weight: 600; }

.board { position: relative; display: grid; grid-template-columns: 13rem minmax(0, 1fr); background: var(--surface); color: var(--text); border-radius: var(--r-xl); box-shadow: 0 40px 80px rgba(0,0,0,.35); overflow: hidden; }
.board__side { padding: 1.25rem 1rem; background: var(--page); border-right: 1px solid var(--line); }
.board__label { display: block; font-size: var(--fs-micro); color: var(--text-faint); font-weight: 500; }
.board__side ul { margin-top: .9rem; display: grid; gap: .25rem; }
.board__side li { display: flex; align-items: center; gap: .7rem; padding: .55rem .6rem; border-radius: 12px; }
.board__side li.is-active { background: var(--surface); box-shadow: var(--shadow-sm); }
.board__side li div { display: grid; min-width: 0; flex: 1; line-height: 1.25; }
.board__side b { font-size: .9rem; font-weight: 600; }
.board__side small { font-size: .74rem; color: var(--text-faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ava { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--mint-200); color: var(--ink-800); font-size: .72rem; font-weight: 600; }
.board__main { padding: 1.25rem 1.5rem 1.5rem; display: grid; gap: 1.1rem; min-width: 0; }
.board__head { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; flex-wrap: wrap; }
.board__head > div { display: grid; }
.board__head b { font-family: var(--font-display); font-weight: 500; font-size: 1.2rem; }

.chartbox { position: relative; }
.chartbox svg { width: 100%; height: auto; overflow: visible; }
.chart__tip { position: absolute; pointer-events: none; transform: translate(-50%, -120%); padding: .35rem .6rem; border-radius: 8px; background: var(--ink-900); color: #fff; font-size: .78rem; font-weight: 600; white-space: nowrap; }
.board__issues { display: grid; gap: .7rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.board__issues ul { display: grid; gap: .6rem; }
.on-night .board__foot, .board__foot { grid-column: 1 / -1; padding: .7rem 1.5rem; border-top: 1px solid var(--line); color: var(--text-faint); background: var(--page); }
.on-night .board .small { color: var(--text-faint); }

@media (max-width: 960px) {
  .film__grid, .dash__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
  .board { grid-template-columns: minmax(0, 1fr); }
  .board__side { border-right: 0; border-bottom: 1px solid var(--line); }
  .board__side ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) { .board__main { padding: 1rem; } .film__play { width: 60px; height: 60px; margin: -30px 0 0 -30px; } }
