/* Compact tactical editor. Video and overlays keep their source aspect ratio. */
.coach-editor-page .workspace{padding:12px 18px 20px;max-width:none}
.coach-editor-page .topbar{padding:0 18px;height:52px;gap:12px}
.coach-editor-page .crumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.coach-editor-page .top-right{flex:none;gap:7px}
.coach-editor-page .local-pill{display:none}
.editor-top-actions{display:flex;align-items:center;gap:6px}
.editor-top-actions #saveStatus{font-size:10px;color:#668071;margin-right:6px;white-space:nowrap}
.editor-top-actions .button{height:30px;padding:0 10px}
#editorView{--preview-height:360px}
#editorView .panel{border-radius:8px;box-shadow:0 2px 10px #163c2608}
#editorView .panel-head{height:36px;padding:0 12px;gap:12px}
#editorView .panel-head-actions{min-width:0;gap:10px}
#editorView #fileName{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#editorView .preview-size-control{display:flex;align-items:center;gap:6px;color:#6b8275;font-size:10px;font-weight:500;white-space:nowrap}
.preview-size-control input{width:100px;height:16px;accent-color:#197c50;cursor:ns-resize}
.preview-size-control output{min-width:41px;font-variant-numeric:tabular-nums;color:#345d47}
.preview-size-reset{border:0;background:none;color:#6a8374;padding:3px 0;font-size:10px}
.preview-size-reset:hover{color:#197c50}
#editorView .stage-wrap{height:var(--preview-height)}
#editorView .stage{height:100%;aspect-ratio:auto;background:#101a20}
#editorView .stage video{object-fit:contain}
#editorView .stage-empty{padding:12px}
#editorView .stage-empty .pitch{height:65px;margin-bottom:10px}
#editorView .stage-empty h2{font-size:17px;margin:5px 0}
#editorView .stage-empty p{margin:7px 0 10px}
.preview-resize-handle{display:flex;align-items:center;justify-content:center;height:10px;background:#e8eee9;cursor:ns-resize;touch-action:none;border-top:1px solid #d0ddd3}
.preview-resize-handle span{width:38px;height:3px;border-radius:3px;background:#92a69a}
.preview-resize-handle:hover,.preview-resize-handle:focus-visible{background:#d9e9de;outline:none}
.preview-resize-handle:hover span,.preview-resize-handle:focus-visible span{background:#197c50}

/* Dense, distinct tracks and a zoom-dependent time grid. */
#editorView .timeline-panel{margin-top:8px;border-color:#293c47;background:#182630;color:#d4e2e9}
#editorView .toolbar{padding:6px 9px;gap:5px;background:#24343e;border-bottom:1px solid #354955}
#editorView .toolbar-group{align-items:center;flex-wrap:wrap;gap:2px}
#editorView .toolbar button{padding:5px 6px;color:#cedce3;font-size:10px}
#editorView .toolbar button:hover,#editorView .toolbar button.active{background:#365747;border-color:#4b7860;color:#d6ffe5}
#editorView .toolbar button:focus-visible,#editorView .track-name button:focus-visible{outline:2px solid #80d9be;outline-offset:1px}
#editorView .toolbar-divider{height:17px;background:#49606a}
#editorView .toolbar #recordPauseButton,#editorView .toolbar #recordSyncButton{color:#f9aba5}
#editorView .toolbar #addImageButton{color:#9bc9f1}
#editorView .toolbar #cancelTracking{color:#ffc1aa;border-color:#906e5c}
#editorView .toolbar .record-state{color:#afc2cb}
#editorView .tracking-status{color:#90dbb5}
#editorView .zoom-controls{margin-left:auto;flex-wrap:nowrap}
#editorView .zoom-controls input{width:84px;accent-color:#6bd4ae}
#editorView .timeline-time{min-width:83px;color:#e5f7ed;font-size:11px;font-weight:700}
#editorView .track-shell{border-color:#354955}
#editorView .track-labels{width:164px;background:#20303a;border-right:1px solid #3b4f5a}
#editorView .ruler-spacer{height:28px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;color:#7e97a3;font-size:9px;border-bottom:1px solid #354955}
#editorView .track-name{height:44px;padding:0 9px;gap:7px;color:#e3edf0;font-size:10px;border-bottom:1px solid #354955}
#editorView .track-name>div{min-width:0;line-height:1.4}
#editorView .track-name small{font-size:8px;color:#819ca9;margin-top:1px;white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}
#editorView .audio-track-name small{max-width:62px}
#editorView .track-icon{width:22px;height:22px;border-radius:5px;font-size:13px;background:#314a52;color:#92dcc7}
#editorView .track-name:nth-child(4) .track-icon{background:#564a30;color:#f1c26a}
#editorView .track-name:nth-child(5) .track-icon{background:#4e492d;color:#e6d276}
#editorView .track-name:nth-child(6) .track-icon{background:#593b42;color:#f4a8b1}
#editorView .track-name:nth-child(7) .track-icon{background:#2c5149;color:#96dfbc}
#editorView .track-mute{width:22px;height:22px;border:1px solid #456a82;background:#27465b;color:#a4d8fb;border-radius:5px;font-size:13px}
#editorView .track-mute[aria-pressed=true]{background:#3d4349;border-color:#65717b;color:#9ca6b0}
.track-volume-button{margin-left:auto;height:24px;padding:0 5px;border:1px solid #4a6474;border-radius:5px;background:#2d4452;color:#b9d9e9;font-size:9px;white-space:nowrap}
.track-volume-button:hover,.track-volume-button[aria-expanded=true]{border-color:#72b8d7;background:#37576b;color:white}
#editorView .timeline-scroll{scrollbar-color:#536773 #182630;scrollbar-width:thin}
#editorView .ruler{height:28px;background:#1a2933;border-color:#354955}
.ruler-mark{position:absolute;bottom:0;width:1px;height:5px;background:#577180;pointer-events:none}
.ruler-mark.major{height:9px;background:#8da6b3}
.ruler-mark>span{position:absolute;left:4px;bottom:9px;font-size:9px;font-weight:500;color:#b3c6cf;white-space:nowrap;font-variant-numeric:tabular-nums}
#editorView .lane{height:44px;border-color:#30434e;background-color:#182630;background-image:linear-gradient(to right,#b0c5d00d 1px,transparent 1px);background-size:var(--timeline-grid-step,100px) 100%}
#editorView .lane:nth-child(odd){background-color:#1b2b35}
#editorView .lane.selected-lane{box-shadow:inset 0 0 0 1px #6faea1;background-color:#243a43}
#editorView .clip{top:5px;height:34px;padding:4px 7px;border-radius:4px;box-shadow:none;font-size:10px}
#editorView .clip .clip-title{display:block;position:relative;overflow:hidden;text-overflow:ellipsis;z-index:1;line-height:13px}
#editorView .clip .clip-sub{overflow:hidden;text-overflow:ellipsis;font-size:8px;margin-top:1px;line-height:10px;opacity:.8}
#editorView .clip.video{background:#257862;border:1px solid #46ab8a;color:#edfff7}
#editorView .clip.video .clip-preview img{opacity:.65}
#editorView .clip.audio{background:#285676;border:1px solid #4581a5;color:#d6efff}
#editorView .clip.audio .clip-title{display:inline-block;max-width:100%;background:#22485fd9;padding:0 3px;border-radius:2px;font-size:9px}
#editorView .clip.audio .clip-sub{display:none}
#editorView .waveform-preview{left:5px;right:5px;bottom:3px;height:23px;gap:1px;z-index:0}
#editorView .waveform-preview i{background:#91d4f6;opacity:1;border-radius:1px;min-width:1px}
#editorView .clip.draw{display:flex;align-items:center;background:#866629;border-color:#c99945;color:#ffe8b2;padding:3px 6px}
#editorView .clip.draw .clip-shape{width:24px;height:23px}
#editorView .clip.draw.needs-review{background:#765329;border-color:#dfab47}
#editorView .clip.draw:has(.clip-shape rect[stroke-dasharray]){background:#326753;border-color:#6ab38c}
#editorView .clip.effect{display:flex;align-items:center;background:#70642c;border-color:#b6a14a;color:#fff1b1}
#editorView .clip.voice{background:#884751;border-color:#c97b87;color:#ffe6e8}
#editorView .clip.syncVoice{background:#635485;border-color:#9b84c6;color:#f0e6ff}
#editorView .clip.selected{outline:2px solid #b9ead4;outline-offset:1px;box-shadow:0 0 0 3px #0e241d55}
#editorView .clip.audio.muted{opacity:.4}
#editorView .clip.voice.pause-point{top:0;height:100%;padding:0;background:none;border:0;box-shadow:none}
#editorView .pause-point .pause-label{top:10px;height:24px;background:#51333a;border-color:#b7707c;color:#ffdce1;font-size:9px}
#editorView .pause-point .pause-dot{box-shadow:0 0 0 2px #182630}
#editorView .pause-point.no-audio .pause-label{background:#443b35;border-color:#a68c74;color:#d9c6b5}
#editorView .clip.voice.pause-point.selected{outline:none}
#editorView .tactic-marker{top:7px;height:29px;background:#315c4c;border-color:#5f9c7f;color:#d8f9e7}
#editorView .track-pending{top:5px;height:34px;background:#8b692f44;border-color:#c69c53}
#editorView .track-pending span{margin:9px 4px;color:#e2c485}
#editorView .playhead{background:#f6c573;z-index:8;pointer-events:none}
#editorView .playhead::before{border-top-color:#f6c573}
#editorView .timeline-bottom{min-height:30px;padding:6px 10px;background:#20303a;color:#88a0ae;font-size:9px}
#editorView .timeline-bottom button{background:#2b433e;border-color:#4d6b5c;color:#d2eadc;font-size:9px}
#editorView .timeline-bottom button:hover{background:#395d4b;border-color:#79a489;color:#edfff4}
#editorView .range-selection{background:#72c5ad33;border-color:#84d9ba}

.track-volume-popover{position:fixed;z-index:40;width:116px;padding:11px 8px 9px;border:1px solid #4d6878;border-radius:8px;background:#233744;color:#dfedf4;box-shadow:0 8px 28px #071a2866;text-align:center}
.track-volume-popover strong{display:block;font-size:10px;font-weight:600}
.track-volume-popover output{display:block;color:#9cddff;font-size:14px;font-weight:700;margin:6px 0;font-variant-numeric:tabular-nums}
.volume-slider-wrap{display:flex;flex-direction:column;align-items:center;gap:4px}
.volume-slider-wrap span{font-size:9px;color:#8faab9}
.volume-slider-wrap input{writing-mode:vertical-lr;direction:rtl;appearance:auto;width:24px;height:104px;margin:0;accent-color:#81c9ef;cursor:ns-resize}
.track-volume-popover small{display:block;font-size:8px;color:#95b0bf;margin-top:8px}
@media(max-width:1150px){.editor-top-actions #saveStatus{max-width:92px;overflow:hidden;text-overflow:ellipsis}.coach-editor-page #logoutButton{display:none}#editorView #fileName{max-width:150px}}
@media(max-width:740px){.coach-editor-page .workspace{padding:8px}.coach-editor-page .topbar{height:auto;min-height:48px;padding:7px 10px}.coach-editor-page .top-right{flex-wrap:wrap}.editor-top-actions #saveStatus{display:none}.editor-top-actions .button{padding:0 7px;font-size:10px}#editorView .panel-head{height:auto;min-height:36px;flex-wrap:wrap;padding:6px 9px;gap:5px}#editorView .panel-head-actions{flex-wrap:wrap;gap:7px}#editorView #fileName{max-width:120px}.preview-size-control input{width:70px}#editorView .track-labels{width:148px}#editorView .track-name{padding:0 6px;gap:5px}#editorView .zoom-controls{margin-left:0}#editorView .timeline-bottom>span{display:none}}
