.workflow-inspector{background:transparent;border-radius:0;overflow:auto;display:flex;flex-direction:column;gap:14px;padding-bottom:2px}
.workflow-inspector>*{flex:none;min-width:0}
.workflow-card{background:var(--surface);border-radius:20px;padding:26px 24px}
.workflow-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:var(--muted)}
.workflow-card-top>span:first-child{background:var(--inset);border-radius:6px;padding:6px 9px}
.workflow-card h3{font-size:21px;font-weight:700;line-height:1.55;margin:18px 0 8px;overflow-wrap:anywhere;letter-spacing:-.5px}
.workflow-card-policy{font-size:12px;color:var(--secondary);line-height:1.8;margin:0}
.workflow-steps{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:22px 0}
.workflow-steps li{font-size:11px;padding:7px 10px;color:var(--muted);background:var(--inset);border-radius:20px;white-space:nowrap}
.workflow-steps li[aria-current=step]{background:var(--solid);color:var(--on-solid)}
.workflow-status{background:var(--inset);padding:18px;border-radius:12px;line-height:1.8}
.workflow-status strong{display:flex;align-items:flex-start;gap:9px;font-size:15px}
.workflow-status p{font-size:12px;color:var(--secondary);padding-left:30px;margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.workflow-status .status-icon{width:21px;height:21px;flex:0 0 21px;margin-top:3px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.workflow-status[data-stage=pending] strong{color:var(--status-info)}
.workflow-status[data-stage=revision] strong{color:var(--status-warn)}
.workflow-status[data-stage=approved] strong,.workflow-status[data-stage=scheduled] strong{color:var(--status-ok)}
.workflow-status[data-stage=error] strong,.workflow-status[data-stage=error] p,.workflow-status[data-stage=rejected] .status-icon{color:var(--status-error)}
.workflow-status[data-stage=uploading] .status-icon,.workflow-status[data-stage=attaching] .status-icon{color:var(--status-busy)}
/* 승인 · 예약 완료 — 동그라미는 그대로, 체크가 왼쪽부터 그려지고 잠깐 멈췄다가 사라진 뒤 다시 그려진다(2.4초마다 · 2026-10-09) */
.workflow-status .status-check{stroke-dasharray:1;animation:status-draw-check 2.4s infinite}
@keyframes status-draw-check{0%{stroke-dashoffset:1;opacity:1;animation-timing-function:cubic-bezier(.4,0,.2,1)}22%{stroke-dashoffset:0}78%{stroke-dashoffset:0;opacity:1}90%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
/* 화살표(길이 10)가 동그라미(잘라 내는 반지름 8.6) 밖으로 완전히 빠졌다가 아래에서 다시 들어온다 — 14px 넘게 움직여야 다 사라진다 */
.workflow-status .status-arrow{animation:status-rise 2s cubic-bezier(.45,0,.35,1) infinite}
@keyframes status-rise{0%,6%{transform:translateY(15px)}40%,56%{transform:translateY(0)}90%,100%{transform:translateY(-15px)}}
/* 유튜브에서 내리는 중(예약 취소) — 올리는 중과 같은 2초 · 같은 곡선으로 화살표가 위에서 들어와 아래로 빠진다 */
.workflow-status[data-stage=unpublishing] .status-icon{color:var(--status-busy)}
.workflow-status .status-arrow-down{animation:status-drop 2s cubic-bezier(.45,0,.35,1) infinite}
@keyframes status-drop{0%,6%{transform:translateY(-15px)}40%,56%{transform:translateY(0)}90%,100%{transform:translateY(15px)}}
/* 레이블리에 신청하는 중 — 레이블리 색(로고 #2FB6AC) 종이비행기가 오른쪽 위로 날아간다(화살표와 같은 2초 · 같은 곡선) */
.workflow-status[data-stage=attaching] .status-icon{color:#2FB6AC}
.workflow-status .status-plane{animation:status-fly 2s cubic-bezier(.45,0,.35,1) infinite}
@keyframes status-fly{0%,6%{transform:translate(-11px,11px)}40%,56%{transform:translate(0,0)}90%,100%{transform:translate(11px,-11px)}}
/* 권리사 답변 기다리는 중 — 분침 한 바퀴 2초, 빠르게 돌다 끝에서 느려진다 */
.workflow-status .status-hand{transform-origin:12px 12px;animation:status-tick 2s cubic-bezier(.25,.6,.3,1) infinite}
@keyframes status-tick{from{transform:rotate(0)}to{transform:rotate(360deg)}}
/* 수정 요청 — 연필이 위아래로 두 번 콕콕, 그다음 잠깐 쉰다(2.4초마다) */
.workflow-status .status-pencil{animation:status-nudge 2.4s ease-in-out infinite}
@keyframes status-nudge{0%,34%,100%{transform:translateY(0)}6%{transform:translateY(-1.6px)}12%{transform:translateY(.6px)}20%{transform:translateY(-1.6px)}27%{transform:translateY(.4px)}}
/* 오류 — 느낌표가 통통: 높게 한 번, 낮게 한 번 튀고 쉰다(1.8초마다) */
.workflow-status .status-bang{animation:status-bounce 1.8s infinite}
@keyframes status-bounce{0%{transform:translateY(0);animation-timing-function:cubic-bezier(.3,.7,.5,1)}14%{transform:translateY(-2.6px);animation-timing-function:cubic-bezier(.5,0,.7,.4)}28%{transform:translateY(0);animation-timing-function:cubic-bezier(.3,.7,.5,1)}36%{transform:translateY(-1px);animation-timing-function:cubic-bezier(.5,0,.7,.4)}44%,100%{transform:translateY(0)}}
/* 반려 — X가 도리도리: 좌우로 두어 번 흔들리고 쉰다(2.2초마다) */
.workflow-status .status-x{transform-origin:12px 12px;animation:status-shake 2.2s ease-in-out infinite}
@keyframes status-shake{0%,40%,100%{transform:translateX(0) rotate(0)}6%{transform:translateX(-1.6px) rotate(-8deg)}14%{transform:translateX(1.6px) rotate(8deg)}22%{transform:translateX(-1.2px) rotate(-6deg)}30%{transform:translateX(.8px) rotate(4deg)}}
@media (prefers-reduced-motion:reduce){.workflow-status .status-arrow,.workflow-status .status-arrow-down,.workflow-status .status-plane,.workflow-status .status-hand,.workflow-status .status-pencil,.workflow-status .status-bang,.workflow-status .status-x{animation:none}}
.workflow-connections{display:grid;gap:9px;margin:20px 0 0;font-size:12px;color:var(--secondary)}
.workflow-connections>div{display:flex;justify-content:space-between;gap:12px;line-height:1.6}
.workflow-connections span{color:var(--muted)}.workflow-connections a{color:var(--secondary);font-weight:600;text-decoration:none}
.workflow-schedule,.workflow-notice{font-size:12px;line-height:1.8;color:var(--secondary);margin:16px 0 0;overflow-wrap:anywhere}
.workflow-card-actions{display:flex;flex-wrap:wrap;gap:10px}.workflow-card-actions:not(:empty){margin-top:22px}
.workflow-card-actions .primary{background:var(--solid);color:var(--on-solid);min-height:44px;margin:0}
.workflow-card-actions .reject-video{border:0;border-radius:10px;padding:12px 18px;background:var(--inset);color:var(--secondary);font:inherit;font-size:12px}
.workflow-card-actions .workbench-note{margin:0;padding:0}
.workflow-card .judge-values{margin:18px 0}.workflow-card .judge-card h4{font-size:14px}
.workflow-editor-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px;padding:0 3px}
.workflow-editor-actions[hidden]{display:none}
.workflow-editor-actions .open-editor,.workflow-editor-actions .editor-buttons>button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 12px;border:0;border-radius:8px;text-decoration:none;background:var(--surface);color:var(--ink);font-size:12px}
.workflow-editor-actions .open-editor svg{width:14px;height:14px}
.workflow-editor-actions .open-editor[aria-disabled=true]{opacity:.5;cursor:default}
.workflow-editor-actions small{font-size:10px;color:var(--muted);line-height:1.6;text-align:right}
.workflow-history{background:var(--surface);border-radius:16px;padding:19px 22px}
.workflow-history summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;font-size:13px;font-weight:600;min-height:24px}
.workflow-history summary::-webkit-details-marker{display:none}
.workflow-history summary::after{content:'⌄';margin-left:auto;color:var(--muted);transform:rotate(0deg);transition:transform .2s}
.workflow-history[open] summary::after{transform:rotate(180deg)}
.workflow-history summary small{font-weight:400;font-size:10px;color:var(--muted)}
.workflow-timeline{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:18px}
.workflow-timeline li{position:relative;display:grid;gap:5px;padding-left:16px;font-size:12px;line-height:1.7;color:var(--secondary)}
.workflow-timeline li::before{content:'';position:absolute;left:0;top:7px;width:5px;height:5px;background:var(--muted);border-radius:50%}
.workflow-timeline time{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}
.workflow-timeline p{margin:2px 0 0;font-size:11px;color:var(--secondary);white-space:pre-wrap;overflow-wrap:anywhere}
.workflow-history .workflow-timeline{max-height:340px;overflow:auto}
/* 지난 수정에서 달라진 점 — 작업 이력 상자와 같은 모양, 아래 카드와 같은 폭(버튼 묶음 칸 안에서 늘린다) */
.edit-notes{align-self:stretch;background:var(--surface);border-radius:16px;padding:16px 22px;margin:4px -3px 0;text-align:left}   /* 버튼 칸의 좌우 3px 를 되돌려 카드와 같은 폭 */
.edit-notes[hidden]{display:none}
.edit-notes summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;font-size:13px;font-weight:600;min-height:24px}
.edit-notes summary::-webkit-details-marker{display:none}
.edit-notes summary::after{content:'⌄';margin-left:auto;color:var(--muted);transition:transform .2s}
.edit-notes[open] summary::after{transform:rotate(180deg)}
.edit-notes summary small{font-weight:400;font-size:11px;color:var(--muted)}
.edit-notes ul{margin:10px 0 2px;padding-left:18px;font-size:12px;line-height:1.75;color:var(--secondary)}
.edit-notes li.warn{color:var(--ink)}
.workflow-dialog,.workflow-dialog input,.workflow-dialog select,.workflow-dialog textarea,.reject-dialog,.reject-dialog textarea{color:var(--ink)}
@media(max-width:1000px){.workflow-inspector{overflow:visible;width:min(100%,580px)}}
@media(max-width:760px){.workflow-card{padding:24px 22px}.workflow-card h3{font-size:20px}.workflow-inspector{width:100%}}
@media(prefers-reduced-motion:reduce){.workflow-status .status-check{animation:none;stroke-dashoffset:0}.workflow-history summary::after{transition:none}}
/* Editor entry sits above the review card, level with the adjacent player. */
.workflow-inspector>.workflow-editor-actions{padding-top:0}
@media(min-width:1001px){.video-column>.video-stage{align-items:flex-start}}

.video-column{min-width:0;min-height:0;height:100%}
.video-column>.workflow-editor-actions{margin:0 auto 14px;padding:0}
.video-column>.workflow-editor-actions[hidden]{display:none;margin:0}
@media(max-width:1000px){.video-column{height:auto;grid-column:2}}
@media(max-width:760px){.video-column{width:100%}}
/* 숨긴 편집실 버튼(VES 검수 카드 영상 — src/workbench.js prepareActions) */
.open-editor[hidden]{display:none!important}

/* 맥미니 영상 검수 카드(src/tikitaka-review.js) — 칸은 면 밝기로, 버튼은 알약 */
.tr-card .tr-info{display:grid;grid-template-columns:72px 1fr;gap:8px 12px;font-size:12px;margin:0 0 4px;line-height:1.6}
.tr-card .tr-info dt{color:var(--muted)}.tr-card .tr-info dd{margin:0;color:var(--secondary)}
.tr-card .tr-form{display:flex;flex-direction:column;gap:10px;background:var(--inset);border-radius:12px;padding:14px;margin-top:12px}
.tr-card .tr-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600}
.tr-card .tr-form label small{font-weight:400;color:var(--muted)}
.tr-card .tr-form input,.tr-card .tr-form textarea,.tr-card .tr-form select{font:inherit;font-size:13px;border:0;border-radius:10px;background:var(--surface);padding:9px 12px;color:var(--ink);min-width:0}
.tr-card .tr-form textarea{resize:vertical}
.tr-card .tr-row{display:flex;gap:8px}.tr-card .tr-row input{flex:1}
.tr-card .tr-meta{margin-top:12px;background:var(--inset);border-radius:12px;padding:12px 14px}
.tr-card .tr-meta summary{list-style:none;cursor:pointer;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}
.tr-card .tr-meta summary::-webkit-details-marker{display:none}.tr-card .tr-meta summary::after{content:'⌄';margin-left:auto;color:var(--muted)}
.tr-card .tr-meta[open] summary::after{transform:rotate(180deg)}
.tr-card .tr-meta summary small{font-weight:400;color:var(--muted)}
.tr-card .tr-meta .tr-form{padding:10px 0 0;margin:0;background:none}
.tr-card .tr-hint{margin:0;font-size:11px;color:var(--muted)}
.tr-card .tr-must{margin-top:12px;background:color-mix(in srgb,var(--accent) 9%,var(--surface));border-radius:12px;padding:12px 14px;font-size:12px;line-height:1.6}
.tr-card .tr-must b{display:block;margin-bottom:2px}.tr-card .tr-must p{margin:0}.tr-card .tr-must small{color:var(--muted)}
.tr-card .tr-notes{margin:8px 0 0;padding-left:18px;font-size:12px;line-height:1.8;color:var(--secondary)}
.tr-card .tr-error{margin:10px 0 0;font-size:12px;color:var(--danger)}.tr-card .tr-error:empty{display:none}
.tr-card .tr-acts{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;flex-wrap:wrap}
.tr-card .tr-btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border:0;border-radius:999px;font:inherit;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;background:var(--inset);color:var(--ink)}
.tr-card .tr-btn.pri{background:var(--solid);color:var(--on-solid)}
.tr-card .tr-btn.danger{background:var(--danger-bg);color:var(--danger)}
.tr-card .tr-btn:disabled{opacity:.45;cursor:default}
/* 설명란 고정(0128) — 설명 칸 아래 글자 버튼 */
.tr-card .tr-fix{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.tr-card .tr-link{border:0;background:none;padding:0;font:inherit;font-size:12px;font-weight:600;color:var(--secondary);cursor:pointer}
.tr-card .tr-link:hover{color:var(--ink)}
.tr-card .tr-must.danger{background:var(--danger-bg);color:var(--danger)}.tr-card .tr-must.danger b{color:var(--danger)}
/* 지역 제한 확인 체크(선택 C) — 체크해야 승인 버튼이 눌린다 */
.tr-card .tr-geo{display:flex;align-items:center;gap:10px;margin-top:14px;background:var(--dot-warn-bg);color:var(--status-warn);border-radius:12px;padding:12px 14px;font-size:13px;font-weight:600;cursor:pointer}
.tr-card .tr-geo input{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:0;border-radius:5px;background:var(--surface);flex:none;display:grid;place-items:center;cursor:pointer}
.tr-card .tr-geo input:checked{background:var(--solid)}
.tr-card .tr-geo input:checked::after{content:'';width:9px;height:5px;border-left:2px solid var(--on-solid);border-bottom:2px solid var(--on-solid);transform:translateY(-1px) rotate(-45deg)}
.tr-card .tr-geo input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
/* 넓은 화면: 위 버튼(썸네일 · 프리미어 · 편집실)은 제자리, 검수 카드만 둥근 판 안에서 넘어간다 — 칸 전체가 넘어가면 카드 윗변이 잘려 보였다 */
@media(min-width:1001px){
 .workflow-inspector{overflow:hidden}
 .workflow-inspector>.workflow-operations{flex:0 1 auto;min-height:0;overflow:auto;border-radius:20px;overscroll-behavior:contain;scrollbar-width:none}
 .workflow-inspector>.workflow-operations::-webkit-scrollbar{display:none}
}

/* 원본 소리가 빈 곳 — 한 줄씩, 듣기는 왼쪽 영상을 그 자리로(src/tikitaka-review.js) */
.tr-card .tr-gaps b{display:flex;align-items:center;gap:7px;font-size:13px;margin-bottom:10px}
.tr-card .tr-gaps b svg{width:16px;height:16px;flex-shrink:0;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tr-card .tr-gap-rows{background:var(--surface);border-radius:10px;overflow:hidden}
.tr-card .tr-gap{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;padding:9px 12px;font:inherit;font-size:12px;color:var(--ink);text-align:left;cursor:pointer}
.tr-card .tr-gap+.tr-gap{box-shadow:0 -1px 0 var(--page)}
.tr-card .tr-gap:hover{background:var(--hover)}
.tr-card .tr-gap .t{font-weight:700;font-variant-numeric:tabular-nums;width:38px}
.tr-card .tr-gap .go{margin-left:auto;color:var(--accent);font-weight:600;font-size:11.5px}

/* 넓은 화면: 검수 카드 판 안쪽 흰 테두리 — 스크롤해도 제자리라 카드 내용이 판 끝에 바로 붙어 잘리지 않는다(2026-10-02 사용자) */
@media(min-width:1001px){.workflow-inspector>.workflow-operations{border:14px solid var(--surface);background:var(--surface)}}

/* 엔진 검사 표시 목록(src/review-flags.js) — 자리가 있는 줄은 누르면 왼쪽 영상이 그 자리로 */
.tr-card .rf-list b{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:10px}
.tr-card .rf-list .rf-stale{font-size:10.5px;font-weight:600;border-radius:999px;padding:1px 8px;background:var(--surface)}
.tr-card .rf-list.stale .rf-rows{opacity:.55}
.tr-card .rf-rows{background:var(--surface);border-radius:10px;overflow:hidden}
.tr-card .rf-row{display:grid;grid-template-columns:auto 1fr auto;gap:4px 10px;align-items:start;width:100%;border:0;background:none;padding:10px 12px;text-align:left;font:inherit;font-size:12px;color:var(--ink)}
.tr-card button.rf-row{cursor:pointer}.tr-card button.rf-row:hover{background:var(--hover)}
.tr-card .rf-row+.rf-row{box-shadow:0 -1px 0 var(--page)}
.tr-card .rf-tag{grid-row:1/3;border-radius:999px;padding:1px 8px;font-size:10.5px;font-weight:700;white-space:nowrap}
.tr-card .rf-tag.warn{background:#fff1d6;color:#b26a00}.tr-card .rf-tag.info{background:var(--inset);color:var(--secondary)}
.tr-card .rf-what{font-weight:600}.tr-card .rf-why{grid-column:2/4;line-height:1.5}
.tr-card .rf-go{color:var(--accent);font-weight:600;font-size:11.5px;white-space:nowrap}
/* 공개 시각 추천 — 눌러야 칸에 들어간다(미리 채우지 않는다, 2026-10-05) */
.tr-card .tr-form .tr-sug{align-self:flex-start;border:0;background:var(--surface);color:var(--ink);font:inherit;font-size:12px;font-weight:600;padding:7px 12px;border-radius:999px;cursor:pointer}
.tr-card .tr-form .tr-sug:hover{background:var(--hover)}
/* 올릴 채널(모형 B) — 사진 · 이름 · 채널 열기 */
.tr-card .tr-dest{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;border-radius:14px;background:var(--inset)}
.tr-card .tr-dest img,.tr-card .tr-dest>i{width:32px;height:32px;border-radius:50%;flex:none;object-fit:cover;background:var(--surface)}
.tr-card .tr-dest>i{display:grid;place-items:center;font-style:normal;font-size:13px;font-weight:600;color:var(--secondary)}
.tr-card .tr-dest>div{min-width:0}
.tr-card .tr-dest b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-card .tr-dest small{display:block;margin-top:2px;font-size:12px;color:var(--secondary)}
.tr-card .tr-dest a{margin-left:auto;flex:none;font-size:12px;font-weight:600;color:var(--ink);text-decoration:none}
.tr-card .tr-dest a:hover{text-decoration:underline}
/* 작업 컴퓨터 영상 → VES 올리기(ves-register.js) — 채널 고르기. 고른 칸은 면을 진하게(테두리 없음) */
.vr-card .vr-list{display:flex;flex-direction:column;gap:6px;margin-top:16px}
.vr-card .vr-ch{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:14px;background:var(--inset);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.vr-card .vr-ch img,.vr-card .vr-ch>i{width:32px;height:32px;border-radius:50%;flex:none;object-fit:cover;background:var(--surface)}
.vr-card .vr-ch>i{display:grid;place-items:center;font-style:normal;font-size:13px;font-weight:600;color:var(--secondary)}
.vr-card .vr-ch span{min-width:0}
.vr-card .vr-ch b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vr-card .vr-ch small{display:block;margin-top:2px;font-size:12px;color:var(--secondary);overflow-wrap:anywhere}
.vr-card .vr-ch[aria-checked="true"]{background:var(--solid);color:var(--on-solid)}
.vr-card .vr-ch[aria-checked="true"] small{color:inherit;opacity:.75}
.vr-card .vr-ch:disabled{opacity:.5;cursor:default}
.vr-card .vr-work{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:12px;font-weight:600}
.vr-card .vr-work select{font:inherit;font-size:13px;border:0;border-radius:10px;background:var(--inset);padding:9px 12px;color:var(--ink)}
.vr-card .vr-hint{margin-top:12px}
/* 칸 사이 12px(올릴 채널 · 진행 상태 · 확인 칸이 붙지 않게) */
.tr-card .tr-dest+.workflow-status,.tr-card .workflow-status+.tr-rights{margin-top:12px}
/* 권리 관리 · 지역 제한 확인(0149) — 할 일이면 연한 빨강, 체크하면 연한 초록 */
.tr-card .tr-rights{display:flex;align-items:flex-start;gap:12px;margin-top:12px;padding:14px 16px;border-radius:14px;background:var(--danger-bg)}
.tr-card .tr-rights.done{background:var(--dot-ok-bg)}
.tr-card .tr-rights>div{flex:1;min-width:0}
.tr-card .tr-rights .tr-rights-ic{width:22px;height:22px;flex:none;margin-top:1px;color:var(--danger)}
.tr-card .tr-rights.done .tr-rights-ic{color:var(--dot-ok-text)}
.tr-card .tr-rights b{display:block;font-size:14px;color:var(--danger)}
.tr-card .tr-rights.done b{color:var(--dot-ok-text)}
.tr-card .tr-rights p{margin:4px 0 0;font-size:12px;line-height:1.5;color:var(--secondary)}
.tr-card .tr-rights a{display:inline-block;margin-top:8px;font-size:12px;font-weight:600;color:var(--ink);text-decoration:none}
.tr-card .tr-rights a:hover{text-decoration:underline}
.tr-card .tr-rights .tr-btn{flex:none;height:34px;padding:0 14px}
.tr-card .tr-rights .tr-rights-undo{flex:none;border:0;background:transparent;font:inherit;font-size:12px;color:var(--muted);padding:6px;cursor:pointer}
/* 채널 고르기 드롭다운(2026-10-06) — 닫힌 칸에 고른 채널, 누르면 아래로 목록(올릴 수 있는 채널 먼저) */
.vr-card .vr-drop{position:relative;margin-top:16px}
.vr-card .vr-drop .vr-cur{padding-right:40px;position:relative}
.vr-card .vr-chev{position:absolute;right:14px;top:50%;width:18px;height:18px;margin-top:-9px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:var(--secondary);transition:transform .15s}
.vr-card .vr-cur[aria-expanded="true"] .vr-chev{transform:rotate(180deg)}
.vr-card .vr-drop .vr-list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;margin:0;padding:6px;gap:2px;max-height:320px;overflow:auto;border-radius:14px;background:var(--surface);box-shadow:var(--shadow-dialog,0 8px 28px #0000001f)}
.vr-card .vr-drop .vr-list[hidden]{display:none}
.vr-card .vr-drop .vr-list .vr-ch{background:transparent}
.vr-card .vr-drop .vr-list .vr-ch:hover:not(:disabled){background:var(--inset)}
.vr-card .vr-drop .vr-list .vr-ch[aria-selected="true"]{background:var(--solid);color:var(--on-solid)}
.vr-card .vr-drop .vr-list .vr-ch[aria-selected="true"] small{color:inherit;opacity:.75}
/* 칸 안 여백을 넉넉하게(글씨가 꽉 차 보이지 않게) */
.vr-card .vr-drop .vr-ch{gap:12px;padding:14px 16px;border-radius:14px}
.vr-card .vr-drop .vr-cur{padding-right:48px}
.vr-card .vr-drop .vr-chev{right:16px}
.vr-card .vr-drop .vr-ch b{line-height:1.35}
.vr-card .vr-drop .vr-ch small{margin-top:3px;line-height:1.4}
.vr-card .vr-drop .vr-list{padding:8px;gap:4px}
/* 다른 채널로 올리기(0152) — 올릴 채널 칸의 버튼 · 그 자리 목록 · 아래 보내기 칸 */
.tr-card .tr-dest{position:relative}
.tr-card .tr-move-btn{margin-left:auto;flex:none;border:0;border-radius:999px;padding:8px 12px;background:var(--surface);color:var(--ink);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.tr-card .tr-move-btn:hover{background:var(--hover)}
.tr-card .tr-move-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;width:min(320px,100%);max-height:320px;overflow:auto;padding:8px;border-radius:14px;background:var(--surface);box-shadow:var(--shadow-dialog,0 12px 40px #0000002a);display:flex;flex-direction:column;gap:2px}
.tr-card .tr-move-opt{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:0;border-radius:12px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.tr-card .tr-move-opt{cursor:pointer}
.tr-card .tr-move-opt:hover:not(.off){background:var(--inset)}
.tr-card .tr-move-opt.off{opacity:.45;cursor:default}
.tr-card .tr-move-opt:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
/* 채널 이름 = 유튜브 채널 링크 */
.tr-ch-link{color:inherit;text-decoration:none}
.tr-ch-link:hover{text-decoration:underline;text-underline-offset:3px}
.tr-card .tr-move-opt img,.tr-card .tr-move-opt>i{width:32px;height:32px;border-radius:50%;flex:none;object-fit:cover;background:var(--inset)}
.tr-card .tr-move-opt>i{display:grid;place-items:center;font-style:normal;font-size:13px;font-weight:600;color:var(--secondary)}
.tr-card .tr-move-opt span{min-width:0}.tr-card .tr-move-opt b{display:block;font-size:14px;line-height:1.35}
.tr-card .tr-move-opt small{display:block;margin-top:3px;font-size:12px;color:var(--secondary);line-height:1.4}
.tr-card .tr-move-none{margin:8px;font-size:12px;color:var(--muted)}
.tr-card .tr-move-panel{margin-top:12px;padding:16px;border-radius:14px;background:var(--inset);display:flex;flex-direction:column;gap:12px}
.tr-card .tr-move-panel h4{margin:0;font-size:15px}
.tr-card .tr-move-chk{display:grid;grid-template-columns:18px 1fr;align-items:center;column-gap:10px;row-gap:4px;padding:12px 14px;border-radius:12px;background:var(--danger-bg);cursor:pointer}
.tr-card .tr-move-chk.ok{background:var(--dot-ok-bg)}
.tr-card .tr-move-chk input{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:0;border-radius:5px;background:var(--surface);display:grid;place-items:center;cursor:pointer}
.tr-card .tr-move-chk input:checked{background:var(--solid)}
.tr-card .tr-move-chk input:checked::after{content:"";width:9px;height:5px;border:2px solid var(--on-solid);border-top:0;border-right:0;transform:translateY(-1px) rotate(-45deg)}
.tr-card .tr-move-chk b{font-size:13px}
.tr-card .tr-move-chk small{grid-column:2;font-size:12px;line-height:1.5;color:var(--secondary)}   /* 설명은 연하게 아래로 — 체크와 제목 줄은 가운데 맞춤 */
.tr-card .tr-move-chg{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px;line-height:1.5}
.tr-card .tr-move-chg span{color:var(--muted)}.tr-card .tr-move-chg p{margin:0;color:var(--ink)}
.tr-card .tr-move-acts{display:flex;justify-content:flex-end;gap:8px}
.tr-card .tr-move-acts .tr-btn:not(.pri){background:var(--surface)}
.tr-card .tr-moved{margin:10px 0 0;padding:10px 14px;border-radius:12px;background:var(--inset);font-size:12px;color:var(--secondary);line-height:1.6}
.tr-card .tr-moved b{color:var(--ink);font-weight:600}
.tr-card .tr-move-panel+.workflow-status,.tr-card .tr-moved+.workflow-status{margin-top:12px}
.tr-card .tr-move-wrap+.workflow-status,.tr-card .tr-move-wrap+.tr-must,.tr-card .tr-move-wrap+.tr-form{margin-top:12px}
.tr-card .tr-move-note{margin:0;font-size:12px;color:var(--secondary);line-height:1.5}
.tr-card .tr-move-rerender{display:block;margin-top:8px;border:0;border-radius:999px;padding:8px 14px;background:var(--solid);color:var(--on-solid);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
/* 방영 전 시각(0156) — 공개 시각이 본편 방영 전이면 빨간 줄 · 승인 막힘 */
.tr-card .tr-air-err{margin:6px 0 0;font-size:12px;color:var(--status-error)}
.tr-card .tr-air-err:empty{display:none}
.tr-card .tr-row input.bad{box-shadow:inset 0 0 0 1.5px var(--status-error)}

/* 다시 신청하는 동안 받았던 수정 요청(2026-10-08) — 카드 아래 작게 */
.tr-card .tr-revnote{margin-top:10px;padding:10px 14px;border-radius:12px;background:var(--inset);font-size:12px;line-height:1.6;color:var(--secondary)}
.tr-card .tr-revnote b{display:block;font-size:11px;font-weight:650;color:var(--muted);margin-bottom:2px}
.tr-card .tr-revnote p{margin:0;white-space:pre-wrap}
.tr-prev-title{margin:-4px 0 0;font-size:11px;color:var(--muted)}.tr-prev-title .tr-link{font-size:11px}
/* SEO 제목 한 줄(승인 · 예약 카드) */
.tr-seo{display:flex;align-items:baseline;gap:8px;margin:10px 0 0;padding:10px 12px;border-radius:var(--radius-md);background:var(--inset);font-size:13px}
.tr-seo span{flex:none;font-size:11px;color:var(--muted)}
.tr-seo b{flex:1;min-width:0;font-weight:600;color:var(--ink);word-break:keep-all}

/* 공개 시각 변경(운영자 · 관리자) — 예약 시각 오른쪽 '변경', 누르면 그 칸 안에 날짜 · 시간 */
.tr-card .workflow-status .tr-tchg{margin-left:auto;align-self:center;flex:none;height:32px;padding:0 14px;background:var(--surface);font-size:13px}
.tr-card .tr-tedit{padding-left:30px;margin-top:12px;display:flex;flex-direction:column;gap:10px;line-height:1.5}
.tr-card .tr-tedit input{font:inherit;font-size:13px;border:0;border-radius:10px;background:var(--surface);padding:9px 12px;color:var(--ink);min-width:0}
.tr-card .tr-tedit p{padding-left:0;margin:0;word-break:keep-all}
.tr-card .tr-tedit .tr-tnote b{color:var(--ink);font-weight:700}
.tr-card .tr-tedit .tr-tnote a{color:var(--ink);font-weight:600;text-decoration:none;white-space:nowrap}
.tr-card .tr-tedit .tr-terr{color:var(--danger)}.tr-card .tr-tedit .tr-terr:empty{display:none}
.tr-card .tr-tacts{display:flex;justify-content:flex-end;gap:6px}
.tr-card .tr-tacts .tr-btn{height:34px}
.tr-card .tr-btn.ghost{background:none;color:var(--secondary)}

/* 화살표 규칙(10/27): 6.4×3.2 · 중간 회색 · 1.4px · 그림 끝에서 칸 끝까지 12 */
.vr-card .vr-chev{width:12.8px;height:12.8px;margin-top:-6.4px;right:8.8px;stroke:var(--secondary);stroke-width:2.625}.vr-card .vr-drop .vr-chev{right:8.8px}
