.video-workspace { display: grid; gap: 24px; }
.video-workspace section { min-width: 0; }
.video-workspace h2 { margin-bottom: 12px; }
.video-filters { display: flex; align-items: end; gap: 14px; flex-wrap: wrap; }
.video-filters label { flex: 1; min-width: 170px; }
.video-table-wrap { overflow: auto; border: 1px solid var(--app-line); border-radius: 6px; }
.video-table { width: 100%; border-collapse: collapse; background: var(--app-surface); }
.video-table th, .video-table td { padding: 13px; border-bottom: 1px solid var(--app-line); text-align: left; vertical-align: top; }
.video-table th { color: var(--app-muted); background: var(--app-surface-2); }
.video-table td button { margin: 3px; }
.video-table small { display: block; color: var(--app-muted); margin-top: 5px; }
.video-error, #notice, #scheduleError { color: var(--app-danger); white-space: pre-wrap; overflow-wrap: anywhere; }
.video-pagination { display: flex; gap: 12px; align-items: center; margin-top: 10px; }
dialog { color: var(--app-text); background: var(--app-surface); border: 1px solid var(--app-line); border-radius: 8px; width: min(740px, 92vw); }
dialog::backdrop { background: var(--app-shadow); }
.video-dialog { display: grid; gap: 16px; padding: 10px; }
.video-dialog video { max-height: 45vh; width: 100%; background: var(--app-bg); }
.video-dialog p { white-space: pre-wrap; overflow-wrap: anywhere; }
.topbar a { color: var(--app-info); }
html[data-app-theme="light"] .video-table tr:hover td,
html[data-app-theme="dark"] .video-table tr:hover td { background: var(--app-surface-2); }
