.patient-video-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
.patient-video-card{min-width:0}
.patient-video-media{position:relative;isolation:isolate;overflow:hidden;border-radius:20px;background:#101820;box-shadow:0 8px 28px rgba(21,42,58,.08);color:#fff;aspect-ratio:9/16}
.patient-video-player{display:block;width:100%;height:100%;object-fit:contain;cursor:pointer}
.patient-video-media button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:0;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}
.patient-video-media button:focus-visible,.patient-video-media input:focus-visible,.patient-video-media:focus-visible{outline:3px solid #61d6b6;outline-offset:3px}
.patient-video-media svg{width:21px;height:21px;pointer-events:none}
.pv-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:rgba(13,32,42,.45);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);transition:background .2s,box-shadow .2s}
.pv-center:hover{background:rgba(65,168,138,.9);box-shadow:0 0 0 8px rgba(255,255,255,.12)}
.pv-center svg{width:28px!important;height:28px!important;margin-left:3px}
.pv-controls{position:absolute;bottom:12px;left:12px;right:12px;padding:10px 12px 8px;border-radius:14px;background:rgba(12,23,32,.72);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.13);box-shadow:0 4px 16px rgba(0,0,0,.12)}
.pv-seek{display:block;width:100%;height:16px;margin:0 0 3px;padding:0;background:transparent;cursor:pointer;accent-color:#61d6b6;appearance:none;-webkit-appearance:none}
.pv-seek::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:linear-gradient(to right,#61d6b6 var(--played,0%),rgba(255,255,255,.28) var(--played,0%))}
.pv-seek::-moz-range-track{height:3px;border-radius:3px;background:rgba(255,255,255,.28)}
.pv-seek::-moz-range-progress{height:3px;background:#61d6b6}
.pv-seek::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:11px;height:11px;margin-top:-4px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(97,214,182,.18)}
.pv-seek::-moz-range-thumb{width:11px;height:11px;border:0;border-radius:50%;background:#fff}
.pv-seek:disabled{opacity:.55;cursor:default}
.pv-control-row{display:flex;align-items:center;gap:7px;min-height:34px}
.pv-control-row button{width:34px;height:34px;padding:6px;border-radius:9px;background:transparent;transition:background .2s}
.pv-control-row button:hover{background:rgba(255,255,255,.14)}
.pv-time{margin-right:auto;white-space:nowrap;color:rgba(255,255,255,.85);font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.pv-time-separator{margin:0 4px;color:rgba(255,255,255,.4)}
.pv-pause-icon,.pv-muted-icon,.pv-exit-icon{display:none}
.is-playing .pv-toggle .pv-play-icon,.is-muted .pv-mute .pv-volume-icon,.is-fullscreen .pv-fullscreen .pv-expand-icon{display:none}
.is-playing .pv-toggle .pv-pause-icon,.is-muted .pv-mute .pv-muted-icon,.is-fullscreen .pv-fullscreen .pv-exit-icon{display:block}
.pv-spinner{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;pointer-events:none;display:none;animation:pv-spin .8s linear infinite}
.is-loading.is-playing .pv-spinner{display:block}
.pv-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:32px;text-align:center;background:rgba(12,23,32,.88);font-size:14px}
.pv-error a{color:#8be4cb;text-decoration:underline}
.patient-video-media [hidden]{display:none!important}
.patient-video-media:fullscreen{width:100vw;height:100dvh;aspect-ratio:auto;border-radius:0;box-shadow:none}
.patient-video-media:fullscreen .patient-video-player{width:100%;height:100%;object-fit:contain}
.patient-video-media:fullscreen .pv-controls{max-width:640px;margin:0 auto;bottom:24px}
@keyframes pv-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.pv-center,.pv-control-row button{transition:none}}
@media(min-width:640px){.patient-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.patient-video-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}}
