/* Shared admin timeline, extracted from the MIDI editor. */
.timeline-scroll{overflow-x:auto;max-width:100%;margin:12px 0 6px;padding:8px 14px 10px;scrollbar-color:var(--ink,#183153) #ead8c3}
.timeline-track{position:relative;width:max(100%,var(--timeline-width));min-width:var(--timeline-width)}
.section-timeline .timeline-ruler,.section-timeline .timeline-segments{display:grid;grid-template-columns:repeat(var(--timeline-bars),minmax(0,1fr));width:100%;min-width:0}
.section-timeline .timeline-ruler button{height:28px;min-height:28px;border:0;border-left:1px solid #cfbca7;border-radius:0;background:transparent;color:#344967;padding:0;font-size:11px;text-align:center;font-variant-numeric:tabular-nums;box-shadow:none}
.section-timeline .timeline-ruler button:hover,.section-timeline .timeline-ruler button:focus-visible{background:#fff;color:#183153}
.section-timeline .timeline-segments{position:relative;min-height:58px}
.section-timeline .timeline-block{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:58px;border:1px solid #183153;background:#ffe478;color:#183153;font-size:12px;font-weight:700;text-align:center;overflow:hidden;cursor:pointer}
.section-timeline .timeline-block.lead-in{background:repeating-linear-gradient(135deg,#eee7da 0,#eee7da 8px,#fffdf5 8px,#fffdf5 16px);color:#5b6470}
.section-timeline .timeline-block.loop{background:#b9e8fa}.section-timeline .timeline-block.loop:nth-of-type(odd){background:#b8ead5}
.section-timeline .timeline-block.bridge{background:#ff988d}.section-timeline .timeline-block.ending{background:#ffd0ca;color:#7b211c}
.section-timeline .timeline-block.unassigned{border-style:dashed;background:transparent;color:#344967}
.section-timeline .timeline-block[aria-pressed=true],.section-timeline .timeline-block:focus-visible{outline:2px solid #183153;outline-offset:-2px;box-shadow:inset 0 0 0 4px white}
.section-timeline .timeline-block.playing{background:#ffd93d}
.section-timeline .timeline-handle{position:absolute;z-index:3;top:0;transform:translateX(-50%);width:28px;height:58px;min-height:0;margin:0;padding:0;border:0;border-radius:5px;background:transparent;box-shadow:none;cursor:ew-resize;touch-action:none}
.section-timeline .timeline-handle::after{content:"";position:absolute;top:9px;bottom:9px;left:13px;width:2px;background:#183153}
.section-timeline .timeline-handle:hover,.section-timeline .timeline-handle:focus-visible{background:#ffffffb3;outline:2px solid #183153}
.timeline-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;color:#344967;font-size:12px}
.timeline-tools button{width:34px;min-height:34px;padding:0;border:1px solid #adb6c2;border-radius:6px;background:#fffdf5;color:#183153;box-shadow:none;font-size:18px}
.timeline-tools input{width:150px;min-height:22px;padding:0;accent-color:#183153}
.timeline-tools output{font-variant-numeric:tabular-nums;white-space:nowrap}
.timeline-playhead{position:absolute;z-index:4;top:2px;bottom:0;width:2px;background:#d32318;pointer-events:none;transform:translateX(-1px)}
.timeline-playhead span{position:absolute;top:0;left:50%;width:10px;height:10px;background:#d32318;clip-path:polygon(0 0,100% 0,50% 100%);transform:translateX(-50%)}
.human-section-editor{min-width:0;margin-top:16px;padding-top:16px;border-top:1px solid #c9c9c0;color:#183153}
.human-section-editor h3{margin:0 0 12px;font-size:18px}
.human-section-editor .section-partition-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:10px}
.human-section-editor .section-partition-fields label small{margin:0;color:#5b6470;font-size:10px;font-weight:600}
.human-section-editor label{display:grid;gap:5px;font-size:12px;font-weight:650}
.human-section-editor input:not([type=range]),.human-section-editor select{width:100%;min-height:38px;padding:7px 9px;border:1px solid #9aa6b3;border-radius:6px;background:#fffdf5;color:#183153;font-size:13px}
.human-section-editor button:not(.timeline-handle){min-height:36px;padding:7px 11px;border:1px solid #a8b2bb;border-radius:6px;background:#fffdf5;color:#183153;box-shadow:none;font-size:12px;font-weight:650}
.human-section-editor button:disabled{opacity:.45;cursor:not-allowed}
.human-section-editor #applyHumanPartition{background:#ffd93d;border-color:#183153}
.human-section-editor .section-options,.human-section-editor .section-actions{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:10px 0}
.human-section-editor .section-options label{width:180px}
.human-section-editor .section-actions{align-items:center}.human-section-editor .section-actions span{margin-right:auto;font-size:12px}
.human-section-editor p,.human-section-editor small{font-size:12px;line-height:1.5;margin:8px 0;color:#344967}
.human-section-editor .audio-source-range-error{color:#9c1f18}
.human-section-editor .section-timeline .timeline-ruler button{padding:0;border:0;border-left:1px solid #cfbca7;border-radius:0;background:transparent;min-height:28px;font-size:11px}
@media(max-width:700px){.human-section-editor .section-partition-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.human-section-editor .section-options label{flex:1 1 130px}.human-section-editor button:not(.timeline-handle),.human-section-editor input:not([type=range]),.human-section-editor select{min-height:44px}.section-timeline .timeline-ruler button,.human-section-editor .section-timeline .timeline-ruler button{min-height:44px;height:44px}.section-timeline .timeline-handle{width:44px}.section-timeline .timeline-handle::after{left:21px}.timeline-tools button{min-width:44px;min-height:44px}}

@media(max-width:700px){.timeline-tools{display:grid;grid-template-columns:44px minmax(80px,1fr) 44px}.timeline-tools>span,.timeline-tools>output{grid-column:1 / -1}.timeline-tools input{width:100%}}
