/* ==========================================================
   meeting.css — 주간 회의 모드 (치호형 HEYCURLY 툴 UIUX 참고)
   일별 그룹 헤더 · 계보 체인 · 구조화 리뷰 5칸 · 작성자 칩
   ========================================================== */

.mt-live-pill { font-size: 11px; font-weight: 700; color: #1F8E55; background: #EEFBF3; border-radius: 10px; padding: 3px 10px; margin-left: 10px; vertical-align: 3px; }
.mt-live-pill.err { color: #C43F3F; background: #FDF0F0; }

/* subnav — creative-analysis.css 의존 없이 자체 정의 */
.subnav-row { display: flex; align-items: center; margin: 2px 0 14px; }
.subnav { display: flex; gap: 4px; background: #fff; border: 1px solid #e6e7ee; border-radius: 10px; padding: 4px; }
.subnav-item { font-size: 12.5px; font-weight: 700; color: #666; text-decoration: none; padding: 7px 13px; border-radius: 7px; white-space: nowrap; }
.subnav-item:hover { background: #f4f4f8; }
.subnav-item.is-active { background: #F4F4FE; color: #5C5CE0; }

/* ─── 툴바 ─── */
.mt-toolbar { display: flex; align-items: center; gap: 10px; margin: 4px 0 18px; flex-wrap: wrap; }
.mt-toolbar-right { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.mt-pills { display: flex; gap: 6px; flex-wrap: wrap; }
.mt-pill { border: 1.5px solid #d8d9e2; border-radius: 8px; padding: 6px 13px; font-size: 12.5px; font-weight: 700; background: #fff; color: #555; cursor: pointer; white-space: nowrap; }
.mt-pill:hover { border-color: #b9bbd0; }
.mt-pill.sel { border-color: #5C5CE0; color: #5C5CE0; background: #F4F4FE; }
.mt-pill small { display: block; font-size: 10px; font-weight: 600; color: #999; }
.mt-btn { background: #5C5CE0; color: #fff; border: none; border-radius: 8px; padding: 8px 15px; font-size: 12.5px; font-weight: 700; cursor: pointer; font-family: inherit; }
.mt-btn:hover { background: #4a4ad0; }
.mt-btn.ghost { background: #fff; color: #5C5CE0; border: 1.5px solid #5C5CE0; }
.mt-btn.mini { padding: 4px 10px; font-size: 11.5px; border-radius: 6px; }
.mt-btn.gray { background: #fff; color: #666; border: 1.5px solid #ddd; }
.mt-save-state { font-size: 11.5px; color: #999; }

/* ─── 섹션 ─── */
.mt-section { margin-bottom: 30px; }
.mt-sec-head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.mt-sec-head h2 { font-size: 15.5px; font-weight: 800; }
.mt-sec-sub { font-size: 12px; color: #8a8a93; }
.mt-panel { background: #fff; border: 1px solid #e6e7ee; border-radius: 12px; padding: 6px 14px 10px; box-shadow: 0 1px 6px rgba(20,22,40,.04); }
.mt-scroll { overflow-x: auto; }

/* ─── 표 ─── */
.mt-table { width: 100%; border-collapse: collapse; font-size: 12.3px; }
.mt-table th { text-align: right; color: #82838f; font-weight: 700; padding: 9px 8px 7px; border-bottom: 2px solid #eef0f4; white-space: nowrap; font-size: 11.5px; }
.mt-table th.l, .mt-table td.l { text-align: left; }
.mt-table td { padding: 8px; text-align: right; border-bottom: 1px solid #f2f3f7; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mt-table tr:last-child td { border-bottom: none; }
.mt-table tr.clickable { cursor: pointer; }
.mt-table tr.clickable:hover td { background: #FAFAFE; }
.pos { color: #1F8E55; font-weight: 700; }
.neg { color: #D14545; font-weight: 700; }
.dim { color: #9a9aa5; }
.mt-adj { display: block; font-size: 10.5px; color: #B5781D; font-weight: 700; }
.share-high { color: #B5781D; font-weight: 800; background: #FFF7ED; border-radius: 5px; }

/* 태그 */
.mtag { display: inline-block; font-size: 10px; font-weight: 800; padding: 2px 7px; border-radius: 8px; vertical-align: 1px; }
.mtag.fam { background: #F4F4FE; color: #5C5CE0; cursor: pointer; }
.mtag.win { background: #EEFBF3; color: #1F8E55; }
.mtag.bad { background: #FDF0F0; color: #D14545; }
.mtag.warn { background: #FFF7ED; color: #B5781D; }
.mtag.new { background: #EEF6FF; color: #2673D8; }
.mtag.rev-wait { background: #FFF7ED; color: #B5781D; }
.mtag.rev-done { background: #EEFBF3; color: #1F8E55; }
.mtag.plat { background: #FDF3EA; color: #C77817; }

/* ─── 일별 그룹 (치호형 소재관리 스타일) ─── */
.mt-day { margin-bottom: 14px; }
.mt-day-head { display: flex; align-items: baseline; gap: 10px; padding: 4px 2px 8px; }
.mt-day-head b { font-size: 14px; }
.mt-day-head .meta { font-size: 12px; color: #8a8a93; }
.mt-day-head .miss { font-size: 12px; color: #C77817; font-weight: 800; }
.mt-card { background: #fff; border: 1px solid #e6e7ee; border-left: 4px solid #F0B25A; border-radius: 10px; padding: 11px 14px; margin-bottom: 8px; }
.mt-card.reviewed { border-left-color: #61C08F; }
.mt-card-row { display: flex; align-items: center; gap: 12px; }
.mt-thumb { width: 72px; height: 42px; border-radius: 6px; background: #f0f0f4; overflow: hidden; flex: none; display: flex; align-items: center; justify-content: center; color: #bbb; font-size: 11px; }
.mt-thumb img { width: 100%; height: 100%; object-fit: cover; }
.mt-card-name { font-size: 13.5px; font-weight: 700; }
.mt-card-sub { font-size: 11.5px; color: #8a8a93; margin-top: 2px; }
.mt-card-metrics { margin-left: auto; display: flex; gap: 18px; text-align: right; flex: none; }
.mt-card-metrics .m .k { font-size: 10px; color: #999; font-weight: 700; }
.mt-card-metrics .m .v { font-size: 13.5px; font-weight: 800; font-variant-numeric: tabular-nums; }

/* ─── 구조화 리뷰 폼 (치호형 리뷰 아카이브 스타일) ─── */
.mt-review { margin-top: 10px; border-top: 1px dashed #e8e9f0; padding-top: 10px; display: none; }
.mt-review.open { display: block; }
.mt-review-authors { display: flex; gap: 6px; align-items: center; margin-bottom: 8px; font-size: 12px; color: #777; }
.author-chip { border: 1.5px solid #d8d9e2; border-radius: 14px; padding: 3px 12px; font-size: 12px; font-weight: 700; background: #fff; cursor: pointer; color: #555; }
.author-chip.sel { border-color: #5C5CE0; color: #5C5CE0; background: #F4F4FE; }
.mt-review-row { display: flex; gap: 8px; align-items: center; margin-bottom: 6px; }
.rv-label { flex: none; width: 64px; text-align: center; font-size: 11px; font-weight: 800; padding: 3.5px 0; border-radius: 9px; }
.rv-good { background: #EEFBF3; color: #1F8E55; }
.rv-bad { background: #FDF0F0; color: #D14545; }
.rv-next { background: #FFF9E8; color: #A8821B; }
.rv-hypo { background: #EFF0FE; color: #5C5CE0; }
.rv-result { background: #E9F7F1; color: #14785C; }
.mt-review-row input { flex: 1; border: 1px solid #e2e3ea; border-radius: 8px; padding: 7px 11px; font-size: 12.5px; font-family: inherit; }
.mt-review-row input:focus { outline: none; border-color: #5C5CE0; }
.mt-review-foot { display: flex; align-items: center; gap: 10px; margin-top: 8px; }
.mt-review-foot .hint { font-size: 11.5px; color: #999; }
.mt-review-log { margin-top: 8px; font-size: 12px; color: #555; background: #FAFAFC; border-radius: 8px; padding: 8px 11px; line-height: 1.7; }
.mt-review-log b.author { color: #5C5CE0; }

/* ─── 계열 체인 ─── */
.fam-group { background: #fff; border: 1px solid #e6e7ee; border-radius: 12px; padding: 12px 14px; margin-bottom: 10px; }
.fam-head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 9px; }
.fam-head b { font-size: 13.5px; }
.fam-head .meta { font-size: 11.5px; color: #8a8a93; }
.fam-head .exclude { margin-left: auto; font-size: 11px; color: #aaa; cursor: pointer; border: none; background: none; font-family: inherit; }
.fam-head .exclude:hover { color: #D14545; }
.fam-chain { display: flex; align-items: stretch; gap: 8px; overflow-x: auto; padding-bottom: 4px; }
.fam-node { flex: none; min-width: 150px; max-width: 220px; border: 1.5px solid #e0e1ea; border-radius: 9px; padding: 8px 11px; font-size: 11.5px; background: #FAFAFC; }
.fam-node.best { border-color: #5C5CE0; background: #F4F4FE; }
.fam-node.worst { border-color: #F2CFCF; background: #FDF6F6; }
.fam-node .gen { font-size: 10px; font-weight: 800; color: #5C5CE0; }
.fam-node .nm { font-weight: 700; font-size: 12px; margin: 2px 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fam-node .mt { color: #777; font-variant-numeric: tabular-nums; }
.fam-arrow { align-self: center; color: #c5c6d2; font-size: 15px; flex: none; }

/* ─── Pick 카드 ─── */
.mt-pick-row { display: flex; gap: 10px; flex-wrap: wrap; }
.mt-pick { flex: 1; min-width: 280px; border-radius: 12px; padding: 13px 16px; font-size: 12.8px; line-height: 1.7; }
.mt-pick.best { background: #F2FBF6; border: 1px solid #CBEBD8; }
.mt-pick.worst { background: #FDF4F4; border: 1px solid #F2D4D4; }
.mt-pick b.t { font-size: 13px; display: block; margin-bottom: 4px; }
.mt-pick .item { cursor: pointer; }
.mt-pick .item:hover { text-decoration: underline; }

/* ─── 가설 검증 ─── */
.hypo-row { display: flex; align-items: center; gap: 12px; padding: 10px 4px; border-bottom: 1px solid #f2f3f7; font-size: 12.8px; }
.hypo-row:last-child { border-bottom: none; }
.hypo-row .q { flex: 1.4; }
.hypo-row .q .by { font-size: 11px; color: #999; }
.hypo-row .r { flex: 1; color: #555; font-variant-numeric: tabular-nums; }
.hypo-verdict { display: flex; gap: 5px; flex: none; }
.hypo-empty { padding: 16px; color: #999; font-size: 12.5px; text-align: center; }
.vd { border: 1.5px solid #ddd; background: #fff; border-radius: 7px; font-size: 11.5px; font-weight: 700; padding: 4px 10px; cursor: pointer; color: #666; font-family: inherit; }
.vd.accept.on { border-color: #1F8E55; color: #1F8E55; background: #EEFBF3; }
.vd.reject.on { border-color: #D14545; color: #D14545; background: #FDF0F0; }

/* ─── 발행 계획 ─── */
.plan-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.plan-table th { text-align: left; color: #82838f; font-weight: 700; padding: 8px 6px; border-bottom: 2px solid #eef0f4; font-size: 11.5px; }
.plan-table td { padding: 6px; border-bottom: 1px solid #f2f3f7; }
.plan-table input, .plan-table select { width: 100%; border: 1px solid #e2e3ea; border-radius: 7px; padding: 6px 9px; font-size: 12.5px; font-family: inherit; }
.plan-table input:focus { outline: none; border-color: #5C5CE0; }
.plan-del { border: none; background: none; color: #bbb; cursor: pointer; font-size: 14px; }
.plan-del:hover { color: #D14545; }
.plan-foot { display: flex; gap: 8px; margin-top: 10px; }

/* ─── 토스트 ─── */
.mt-toast { position: fixed; bottom: 26px; left: 50%; transform: translateX(-50%) translateY(20px); background: #23242b; color: #fff; font-size: 13px; padding: 10px 20px; border-radius: 10px; opacity: 0; pointer-events: none; transition: all .25s; z-index: 99; }
.mt-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

@media (max-width: 900px) {
  .mt-card-metrics { gap: 10px; }
  .mt-card-metrics .m:nth-child(n+4) { display: none; }
}

/* ─── 기획 소재 생명주기 (creative_lifecycle) ─── */
.lc-thread { font-size: 12px; color: #8a8a93; margin: 2px 0 8px; display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.lc-thread a { color: #5C5CE0; text-decoration: none; font-weight: 700; }
.lc-card { background: #fff; border: 1px solid #e6e7ee; border-radius: 12px; padding: 12px 16px; margin-bottom: 10px; box-shadow: 0 1px 6px rgba(20,22,40,.04); }
.lc-top { display: flex; align-items: center; gap: 12px; }
.lc-thumb { width: 86px; height: 50px; border-radius: 7px; background: #f0f0f4; overflow: hidden; flex: none; display: flex; align-items: center; justify-content: center; color: #bbb; font-size: 10.5px; text-align: center; }
.lc-thumb img { width: 100%; height: 100%; object-fit: cover; }
.lc-name { font-size: 14px; font-weight: 800; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.lc-sub { font-size: 11.5px; color: #8a8a93; margin-top: 3px; display: flex; gap: 10px; flex-wrap: wrap; }
.lc-sub a { color: #5C5CE0; text-decoration: none; font-weight: 600; }
.lc-steps { display: flex; align-items: center; margin-left: auto; flex: none; }
.lc-step { font-size: 11px; font-weight: 700; color: #999; padding: 4px 9px; border: 1px solid #e6e7ee; background: #fafafc; }
.lc-step:first-child { border-radius: 8px 0 0 8px; }
.lc-step:last-child { border-radius: 0 8px 8px 0; }
.lc-step + .lc-step { border-left: none; }
.lc-step.done { color: #1F8E55; background: #EEFBF3; border-color: #CBEBD8; }
.lc-step.now { color: #5C5CE0; background: #F4F4FE; border-color: #CFCFF6; }
.lc-step.off { color: #C43F3F; background: #FDF0F0; border-color: #F2CACA; }
.lc-step small { display: block; font-size: 9.5px; font-weight: 600; opacity: .75; }
.lc-tag { font-size: 10.5px; font-weight: 700; border-radius: 6px; padding: 2px 7px; }
.lc-tag.ref { background: #EEF3FF; color: #3554C8; }
.lc-tag.self { background: #F2F2F2; color: #666; }
.lc-tag.kill { background: #FFF1E6; color: #B95C12; }
.lc-tag.auto { background: #EEFBF3; color: #1F8E55; }
.lc-tag.wait { background: #FFF1E6; color: #B95C12; }
.lc-body { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 11px; padding-top: 11px; border-top: 1px dashed #e8e9f0; }
.lc-col h4 { font-size: 11px; font-weight: 800; color: #999; margin: 0 0 6px; }
.lc-fb { font-size: 12.3px; color: #444; line-height: 1.6; background: #FAFAFC; border-radius: 8px; padding: 8px 11px; margin-bottom: 6px; }
.lc-fb b.who { color: #5C5CE0; margin-right: 4px; }
.lc-fb.rule { background: #FFF8F0; border: 1px solid #F5DEC3; }
.lc-fb.dim { color: #999; }
.lc-fb.empty { color: #aaa; font-style: italic; }
.lc-perf { display: flex; gap: 16px; align-items: flex-end; margin-bottom: 8px; }
.lc-perf .m .k { font-size: 10px; color: #999; font-weight: 700; }
.lc-perf .m .v { font-size: 14px; font-weight: 800; font-variant-numeric: tabular-nums; }
.lc-perf .m .v.bad { color: #C43F3F; }
.lc-perf .m .v.good { color: #1F8E55; }
.lc-perf .ads { font-size: 11px; color: #8a8a93; margin-left: auto; text-align: right; }
.lc-link-wait { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #B95C12; background: #FFF8F0; border: 1px solid #F5DEC3; border-radius: 8px; padding: 8px 11px; margin-top: 10px; flex-wrap: wrap; }
.lc-link-wait select { font-family: inherit; font-size: 12px; border: 1px solid #e2c6a8; border-radius: 7px; padding: 5px 8px; background: #fff; max-width: 320px; }
@media (max-width: 900px) { .lc-body { grid-template-columns: 1fr; } .lc-steps { display: none; } }
.lc-reflect-text { width: 100%; border: 1px solid #e2e3ea; border-radius: 8px; padding: 8px 11px; font-size: 12.5px; font-family: inherit; line-height: 1.6; resize: vertical; margin-bottom: 6px; }
.lc-reflect-text:focus { outline: none; border-color: #5C5CE0; }
.lc-relink { font-size: 10.5px; font-weight: 700; color: #888; background: #f4f4f6; border: 1px solid #e2e3ea; border-radius: 6px; padding: 2px 7px; cursor: pointer; font-family: inherit; margin-left: 4px; }
.lc-relink:hover { color: #5C5CE0; border-color: #CFCFF6; }
.mt-thumb-link { display: block; flex: none; position: relative; }
.mt-thumb-link .mt-thumb { position: relative; }
.mt-thumb-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 15px; text-shadow: 0 1px 4px rgba(0,0,0,.55); opacity: 0; transition: opacity .12s; }
.mt-thumb-link:hover .mt-thumb-play { opacity: 1; }
.yt-name { color: inherit; text-decoration: none; border-bottom: 1px dashed #c6c7d6; }
.yt-name:hover { color: #C4302B; border-bottom-color: #C4302B; }

/* ─── 레퍼런스 계열 누적 성과 (3차) ─── */
.rf-detail td { background: #FAFAFE; padding: 10px 12px; white-space: normal; }
.rf-members { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-bottom: 6px; }
.rf-chip { font-size: 11px; font-weight: 700; color: #4a4b58; background: #fff; border: 1px solid #dcdde8; border-radius: 7px; padding: 3px 9px; font-variant-numeric: tabular-nums; }
.rf-chip.unlinked { color: #a2a3ad; border-style: dashed; font-weight: 600; }
.rf-src { font-size: 11px; font-weight: 700; color: #5C5CE0; text-decoration: none; margin-left: 4px; }
.rf-arch:empty { display: none; }
.rf-arch { display: flex; flex-direction: column; gap: 6px; margin-top: 4px; }
.rf-arch-item { display: flex; gap: 10px; align-items: flex-start; background: #fff; border: 1px solid #e6e7ee; border-radius: 9px; padding: 8px 10px; }
.rf-arch-item img { width: 72px; height: 44px; object-fit: cover; border-radius: 6px; flex: none; background: #f0f0f4; }
.rf-arch-body { min-width: 0; font-size: 11.5px; line-height: 1.5; }
.rf-arch-memo { color: #666; }
.rf-arch-links { color: #8a8a93; font-size: 11px; }
.rf-arch-links a { color: #5C5CE0; text-decoration: none; font-weight: 700; }
.rf-arch-empty { font-size: 11.5px; color: #999; }
.rf-arch-empty a { color: #5C5CE0; text-decoration: none; font-weight: 700; }

/* ─── 전체 광고효율 + 주간 운영 메모 (AI 시스템 개선 2차) ─── */
.ov-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
@media (max-width: 900px) { .ov-row { grid-template-columns: repeat(2, 1fr); } }
.ov-card { background: #fff; border: 1px solid #e6e7ee; border-radius: 12px; padding: 12px 16px; box-shadow: 0 1px 6px rgba(20,22,40,.04); }
.ov-card.empty { display: flex; flex-direction: column; justify-content: center; }
.ov-label { font-size: 11.5px; font-weight: 800; color: #82838f; }
.ov-label small { font-weight: 600; color: #b0b1bc; }
.ov-roas { font-size: 24px; font-weight: 800; font-variant-numeric: tabular-nums; margin-top: 2px; }
.ov-roas.neg { color: #C43F3F; }
.ov-roas.dim { font-size: 13px; font-weight: 600; color: #b0b1bc; }
.ov-roas .ov-k { font-size: 10.5px; font-weight: 700; color: #b0b1bc; margin-left: 5px; }
.ov-adj { font-size: 11.5px; font-weight: 700; color: #8a5ce0; }
.ov-sub { font-size: 11.5px; color: #8a8a93; margin-top: 5px; font-variant-numeric: tabular-nums; }
#weekMemoBox { padding: 12px 16px; }
.wm-head { font-size: 13px; margin-bottom: 8px; }
.wm-item { position: relative; font-size: 12.5px; line-height: 1.6; background: #FFFDF2; border: 1px solid #F0E6BE; border-radius: 8px; padding: 8px 30px 8px 11px; margin-bottom: 6px; }
.wm-item .author { color: #8a6d1a; }
.wm-del { position: absolute; top: 6px; right: 8px; border: none; background: none; color: #c9c9d2; cursor: pointer; font-size: 11px; font-family: inherit; }
.wm-del:hover { color: #C43F3F; }
#wmSave { margin-top: 6px; }
