.camera-mode-tabs{display:flex;gap:.35rem;margin:1.25rem 0 1.5rem;padding:.28rem;width:fit-content;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
.camera-mode-tabs a{min-height:40px;display:inline-flex;align-items:center;padding:.45rem 1rem;border-radius:999px;color:var(--ink-2);font-size:.78rem;font-weight:750;text-decoration:none}
.camera-mode-tabs a[aria-current="page"]{background:var(--ink);color:var(--canvas)}
.recordings-shell{display:grid;gap:1.25rem}
.recordings-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.25rem;padding:1.25rem;border-radius:.9rem;background:var(--surface);box-shadow:0 7px 24px -18px rgb(24 32 42 / 55%)}
.recordings-toolbar h2{margin-bottom:.5rem}.recordings-toolbar>div>p:last-child{max-width:58ch;margin:0;color:var(--ink-2);font-size:.82rem;line-height:1.5}
.recording-filters{display:flex;flex-wrap:wrap;gap:.75rem}.recording-filters label,.range-controls label{display:grid;gap:.35rem;color:var(--ink-3);font-size:.7rem;font-weight:750;letter-spacing:.03em}.recording-filters input{min-height:44px;padding:.55rem .7rem;border:1px solid var(--line);border-radius:.45rem;background:var(--surface);color:var(--ink);font:inherit}
.recording-timeline{padding:1rem 1.1rem;border-radius:.9rem;background:var(--media);color:var(--on-media)}.recording-timeline.is-empty{min-height:88px;display:grid;place-items:center;color:var(--on-media-2);font-size:.8rem}
.timeline-hours{display:grid;grid-template-columns:repeat(5,1fr);margin-bottom:.55rem;color:var(--on-media-2);font-size:.62rem;font-variant-numeric:tabular-nums}.timeline-hours span:not(:first-child):not(:last-child){text-align:center}.timeline-hours span:last-child{text-align:right}
.timeline-track{position:relative;height:48px;border-radius:.45rem;background:linear-gradient(to right,rgb(255 255 255 / 6%) 1px,transparent 1px);background-size:25% 100%;box-shadow:inset 0 0 0 1px rgb(255 255 255 / 8%)}
.timeline-segment{position:absolute;top:10px;min-height:28px;padding:0;border:0;border-radius:5px;background:var(--signal);box-shadow:0 0 0 1px rgb(255 255 255 / 15%);cursor:pointer}.timeline-segment:hover,.timeline-segment.is-selected{outline:2px solid var(--on-media);outline-offset:2px}.timeline-segment.is-active::after{content:"";position:absolute;right:4px;top:50%;width:6px;height:6px;transform:translateY(-50%);border-radius:50%;background:var(--on-media)}
.recordings-workspace{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.5fr);gap:1rem}
.recording-list-panel,.recording-selection{min-width:0;padding:1.15rem;border-radius:.9rem;background:var(--surface);box-shadow:0 7px 24px -18px rgb(24 32 42 / 55%)}
.recording-list-panel>header,.recording-selection>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.recording-list-panel>header>span{min-width:28px;padding:.2rem .4rem;border-radius:999px;background:var(--sunken);color:var(--ink-2);font-size:.7rem;text-align:center}
.recording-list{display:grid;gap:.4rem;max-height:420px;overflow:auto}.recording-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:58px;padding:.7rem .8rem;border:1px solid transparent;border-radius:.55rem;background:var(--sunken);color:var(--ink);text-align:left}.recording-row>span:first-child{display:grid;gap:.2rem}.recording-row small,.recording-row>span:last-child{color:var(--ink-3);font-size:.7rem}.recording-row.is-selected{border-color:var(--signal);background:var(--signal-wash)}
.recording-row[hidden],.recording-filter-empty[hidden],.timeline-segment[hidden]{display:none}
.recording-selection>header small{display:block;margin-bottom:.25rem;color:var(--ink-3);font-size:.65rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.recording-selection>header strong{display:block}.selection-badge{padding:.28rem .55rem;border-radius:999px;background:var(--sunken);color:var(--ink-2);font-size:.68rem;font-weight:750}
.range-controls{display:flex;flex-wrap:wrap;align-items:end;gap:.7rem;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.range-summary{margin:.75rem 0 0;color:var(--ink-2);font-size:.76rem}
.recording-resource{margin-top:1rem;padding:1rem;border-radius:.65rem;background:var(--sunken);color:var(--ink-2)}.recording-resource strong{display:block;color:var(--ink);margin-bottom:.35rem}.recording-resource p{margin:0;line-height:1.45;font-size:.78rem}.recording-resource button{margin-top:.8rem}.state-preparing{display:flex;align-items:center;gap:.85rem}.recording-spinner{width:22px;height:22px;flex:0 0 auto;border:2px solid var(--line);border-top-color:var(--signal-ink);border-radius:50%;animation:recording-spin .8s linear infinite}@keyframes recording-spin{to{transform:rotate(360deg)}}
.recording-player{margin-top:1rem;overflow:hidden;border-radius:.75rem;background:var(--media);color:var(--on-media)}.recording-player-stage{position:relative;aspect-ratio:16/9;display:grid;place-items:center;background:linear-gradient(145deg,var(--media-2),var(--media))}.recording-player video{width:100%;height:100%;display:block;background:#050608}.fixture-video-watermark{position:absolute;left:1rem;top:1rem;padding:.35rem .55rem;border-radius:999px;background:rgb(5 6 8 / 72%);color:var(--on-media-2);font-size:.65rem;font-weight:750;pointer-events:none}.recording-player-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem 1rem;background:var(--media-2)}.recording-player-meta>div{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.72rem}.recording-player-meta>div>span:last-child{color:var(--on-media-2)}.recording-ready-dot{width:7px;height:7px;border-radius:50%;background:var(--ok)}
.recordings-empty{display:grid;place-items:center;min-height:130px;padding:1.25rem;border-radius:.6rem;background:var(--sunken);text-align:center}.recordings-empty p{margin:.35rem 0 0;color:var(--ink-3);font-size:.76rem}
@media (max-width:820px){.recordings-workspace{grid-template-columns:1fr}.recording-list{max-height:none;grid-template-columns:repeat(2,minmax(0,1fr))}.recording-timeline{overflow-x:auto}.timeline-hours,.timeline-track{min-width:680px}.recordings-toolbar{align-items:start}.recording-filters{width:100%}.recording-filters label{flex:1 1 180px}}
@media (max-width:520px){.camera-mode-tabs{width:100%}.camera-mode-tabs a{flex:1;justify-content:center}.recordings-toolbar,.recording-list-panel,.recording-selection{padding:1rem}.recording-list{grid-template-columns:1fr}.recording-filters{display:grid;grid-template-columns:1fr}.recording-filters select,.recording-filters input,.range-controls label,.range-controls select,.range-controls button{width:100%}.range-controls{display:grid;grid-template-columns:1fr 1fr}.range-controls button{grid-column:1/-1}.recording-player-meta{align-items:stretch}.recording-player-meta>button{width:100%}}
