

/* [12/10] TRUNG TÂM WOW — vỏ chung của cả hệ AFF (CEO 12/10: "WOW để làm aff, radar chỉ là 1 mảnh ghép"). Đăng nhập một lần vào WOW,
   điều hướng = cụm gạt trên thanh đầu (từ 14/10, thanh bên đã xoá). Bộ wow-dai-man; vỏ `wt-`, Radar `rd-`. */
/* align-content:start — không để lưới tự giãn hàng (điện thoại 12/10: nội dung bị đẩy xuống giữa màn vì 2 hàng chia đều chiều cao) */
/* [14/10] cột minmax(0,1fr) ở CẢ khung lẫn #man: lưới lồng mới (dải Cấu hình + #man) mà để cột auto thì cột co theo nội dung rộng nhất ⇒ Xưởng tràn ngang 438px ở 390 */
/* [14/10] THANH BÊN XOÁ HẲN — CEO chọn PA 1 "đưa lên thanh đầu": còn 2 khu (Tiến trình · Cấu hình) không đáng một cột 232px; điều hướng
   là cụm gạt 3 nấc trên thanh đầu (Toàn cảnh · Tiến trình · Cấu hình, veNav vẽ vào #nav), cạnh chip hạ tầng. Đồng hồ giờ VN chân thanh bên bỏ theo. */
.wt-vong { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.wt-mat-xich { position: relative; display: grid; gap: 6px; align-content: start; padding: 14px; border-radius: 10px; border: 1px solid var(--wow-vien); background: var(--wow-mat-2); min-height: 150px; }
.wt-mat-xich:not(:last-child)::after { content: '→'; position: absolute; right: -11px; top: 22px; font-family: var(--wow-font-mono); color: var(--wow-chu-4); }
.wt-mat-xich b { font-weight: 200; font-size: 22px; letter-spacing: .14em; }
.wt-mat-xich p { margin: 0; font-size: 12.5px; color: var(--wow-chu-3); line-height: 1.5; }
.wt-mat-xich.wt-song { border-color: rgb(238 77 45 / .5); box-shadow: 0 0 24px rgb(238 77 45 / .12); }
.wt-mat-xich.wt-song b { color: var(--wow-cam-nhat); }
.wt-ba { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: start; }
.wt-dong { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--wow-vien-nhat); font-size: 13.5px; }
.wt-dong span:last-child { font-family: var(--wow-font-so); color: var(--wow-chu); text-align: right; }
.wt-viec { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--wow-vien-nhat); font-size: 13.5px; color: var(--wow-chu-2); }
.wt-viec i { width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: var(--wow-cam-sang); box-shadow: 0 0 8px var(--wow-cam-sang); }
.wt-lien-ket { color: var(--wow-cam-sang); text-decoration: none; font-family: var(--wow-font-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.wt-lien-ket:hover { filter: brightness(1.3); }
/* Lãi lỗ theo creative (test tay) — tiền tố lr- */
.lr-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: end; }
.lr-truong { display: grid; gap: 6px; min-width: 0; }
.lr-o { width: 100%; height: 42px; padding: 0 12px; border-radius: 8px; border: 1px solid var(--wow-vien); background: var(--wow-mat-2); color: var(--wow-chu); font: inherit; font-size: 15px; color-scheme: dark; }
.lr-o:focus { outline: none; border-color: rgb(255 122 80 / .7); }
/* [17/10] cột hành động RỘNG CỐ ĐỊNH: để `auto` thì ô chọn "đang hoạt động" ≠ "đã tăng tiền" ≠ "đang tắt" ⇒ cột số mỗi dòng lệch một
   khoảng (ảnh chụp 17/10: "260.000đ" dòng 3 thụt so với dòng 2) — mỗi dòng là một lưới riêng nên chỉ cột cố định mới thẳng hàng */
.lr-dong { display: grid; grid-template-columns: minmax(180px, 1.2fr) minmax(0, 2.4fr) minmax(160px, 1fr) 300px; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--wow-vien-nhat); }
.lr-dong.lr-da-tat { opacity: .55; }
.lr-ten { display: grid; gap: 3px; min-width: 0; }
.lr-ten b { font-weight: 500; font-size: 14px; }
.lr-ten small { font-size: 12px; color: var(--wow-chu-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lr-so { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.lr-so div { display: grid; gap: 1px; min-width: 0; }
.lr-so b { font-family: var(--wow-font-so); font-weight: 400; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lr-so span { font-family: var(--wow-font-mono); font-size: 8.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--wow-chu-3); }
/* [16/10] CEO "làm triệt để": nhãn ads · click · đơn… lặp MỖI dòng ⇒ chỉ dòng ĐẦU giữ nhãn, đặt TRÊN số như tiêu đề cột; dòng sau chỉ số.
   Dưới 1180px dòng xếp chồng (không còn cột thẳng hàng) ⇒ giữ nhãn mỗi dòng. */
@media (min-width: 1181px) {
  .lr-dong:not(.rd-phan-dau + .lr-dong) .lr-so span { display: none; }
  .rd-phan-dau + .lr-dong .lr-so div { display: flex; flex-direction: column-reverse; gap: 4px; }
}
.lr-quyet { display: grid; gap: 4px; justify-items: start; }
.lr-quyet small { font-size: 11.5px; color: var(--wow-chu-3); }
.lr-quyet .lr-pill { text-transform: uppercase; } /* [16/10] nhãn gợi ý = nhãn nhỏ ⇒ in hoa bằng CSS, chữ nguồn viết thường (luật viết hoa ba tầng) */
.lr-pill { font-family: var(--wow-font-mono); font-size: 10.5px; font-weight: 600; letter-spacing: .16em; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--wow-vien); }
.lr-tat { color: var(--wow-xau); border-color: rgb(255 92 122 / .5); }
.lr-nhan { color: #fff; background: var(--wow-cam); border-color: var(--wow-cam); box-shadow: 0 0 14px rgb(238 77 45 / .45); }
.lr-giu { color: var(--wow-tot); border-color: rgb(111 207 154 / .5); }
.lr-cho { color: var(--wow-chu-3); }
.lr-hanh-dong { display: flex; gap: 8px; align-items: center; justify-content: flex-end; }
.lr-hanh-dong > * { white-space: nowrap; flex: none; }
.lr-chon { width: auto; } /* kiểu ô chọn: luật chung `select` ở wow-dai-man.css */
@media (max-width: 1180px) { .lr-dong { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .lr-so { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1180px) { .wt-vong { grid-template-columns: repeat(3, minmax(0, 1fr)); } .wt-mat-xich::after { display: none; } .wt-ba { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 900px) {
  #nut-ra { min-height: 34px; padding: 0 12px; font-size: 10px; }
  .wt-vong { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.rd-mo { padding: clamp(20px, 3vw, 34px); display: grid; gap: 14px; }
/* [13/10] Radar có 6 ô mà lưới 5 cột ⇒ ô thứ 6 rớt một mình xuống hàng (CEO chụp) ⇒ tự chia theo số ô */
.rd-mo .wow-hud { border-top: 1px solid var(--wow-vien-nhat); margin-top: 6px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.rd-phan { padding: clamp(16px, 2.4vw, 26px); display: grid; gap: 16px; }
.rd-phan-dau { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.rd-phan-dau h2 { margin: 0; font-weight: 200; font-size: clamp(18px, 2vw, 24px); letter-spacing: 0.06em; } /* [16/10] tiêu đề = tầng 1 viết hoa ba tầng ⇒ hiện đúng chữ nguồn (chỉ hoa chữ đầu), bỏ in hoa CSS */
/* [19/10] ĐẦU MỌI POPUP (dialog: hopNoi .ht-hop · .mw-ss …): tiêu đề dài xuống dòng TRONG cột của nó, nút (Đóng / ✕ …) luôn cùng hàng bên phải — CEO chụp
   popup video đã làm ở 390: tên SP 2 dòng đẩy "Đóng" xuống hàng riêng (flex-wrap của .rd-phan-dau). Một luật ở khung chung, không chỉnh từng popup. */
dialog .rd-phan-dau { flex-wrap: nowrap; align-items: flex-start; }
dialog .rd-phan-dau > h2 { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
dialog .rd-phan-dau > :not(h2) { flex-shrink: 0; }
.rd-goi-y { margin: 0; font-size: 13px; color: var(--wow-chu-3); max-width: 80ch; }
.rd-hoi { width: 22px; height: 22px; min-width: 22px; border-radius: 50%; border: 1px solid var(--wow-vien); background: transparent; color: var(--wow-chu-2);
  font-family: var(--wow-font-mono); font-size: 11px; cursor: pointer; vertical-align: middle; padding: 0; }
.rd-hoi:hover { filter: brightness(1.4); }
.rd-hoi-hop { display: block; margin-top: 8px; padding: 10px 12px; border-left: 2px solid var(--wow-vien); font-size: 12.5px; color: var(--wow-chu-2); }
/* [12/10] display:block ở trên ĐÈ thuộc tính hidden ⇒ hộp "vì sao" luôn mở trên mọi màn, nút (?) bấm như không (ảnh chụp Xưởng 12/10) */
.rd-hoi-hop[hidden] { display: none; }
.rd-luoi-video { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px; }
.rd-video { display: grid; gap: 8px; min-width: 0; padding: 8px; border-radius: 10px; border: 1px solid var(--wow-vien); background: var(--wow-mat-2); }
a.rd-anh { display: block; cursor: pointer; }
a.rd-anh:hover { filter: brightness(1.15); }
/* [19/10] NÚT CHỮ CHUNG (mở ↗ · chép · tải ↓ · đã lên camp →) — CEO chụp popup video gốc "quá mờ nhạt": chữ xám trơn không viền, không biết là nút.
   MỘT kiểu ở đây cho mọi chỗ gọi moMoi / className rd-mo-qc (Tiến trình · Xưởng · bảng mã): nút phụ gọn cùng ngôn ngữ .wow-nut (viền, bo 6px)
   + nền cam nhạt, chữ cam sáng. Tên làm link (tên page trong danh sách bài) ⇒ thêm .rd-mo-ten: chữ thường gạch chấm, không khung. */
.rd-mo-qc {
  display: inline-flex; align-items: center; gap: 4px; padding: 4px 11px; min-height: 28px; box-sizing: border-box; border-radius: 6px; white-space: nowrap;
  border: 1px solid rgb(var(--wow-cam-rgb) / 0.55); background: rgb(var(--wow-cam-rgb) / 0.13); color: rgb(var(--wow-cam-sang-rgb));
  font-weight: 600; text-decoration: none; cursor: pointer;
}
.rd-mo-qc:hover, .rd-mo-qc:focus-visible { filter: brightness(1.3); outline: none; }
.rd-mo-qc.rd-mo-ten { display: inline; padding: 0; min-height: 0; border: 0; background: none; color: var(--wow-chu); font-weight: 500; white-space: normal;
  text-decoration: underline dotted rgb(var(--wow-cam-rgb) / 0.6); text-underline-offset: 3px; }
.rd-anh { position: relative; aspect-ratio: 9 / 14; max-width: 100%; border-radius: 6px; overflow: hidden; background: #000; }
.rd-anh img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rd-no { position: absolute; left: 6px; top: 6px; font-family: var(--wow-font-mono); font-size: 9.5px; font-weight: 600; letter-spacing: 0.14em; padding: 3px 7px; border-radius: 4px;
  background: var(--wow-cam); color: #fff; box-shadow: 0 0 14px rgb(238 77 45 / 0.6); }
.rd-hang { position: absolute; right: 6px; top: 6px; font-family: var(--wow-font-so); font-size: 22px; line-height: 1; text-shadow: 0 1px 6px #000; }
.rd-so-ba { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.rd-so-ba div { display: grid; gap: 1px; }
.rd-so-ba b { font-family: var(--wow-font-so); font-weight: 400; font-size: 18px; color: var(--wow-chu); }
.rd-so-ba span { font-family: var(--wow-font-mono); font-size: 8.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wow-chu-3); }
.rd-cap { margin: 0; font-size: 12.5px; color: var(--wow-chu-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; }
.rd-pages { font-size: 11.5px; color: var(--wow-chu-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rd-hai-cot { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 22px; align-items: start; }
.rd-cuon { min-width: 0; } /* [20/10] CEO "cấm scroll ngang trong toàn bộ hệ sinh thái synd" ⇒ khung không cuộn; bảng hẹp thì chữ xuống dòng (@media 520 dưới) */
.rd-bang { width: 100%; border-collapse: collapse; font-size: 13px; }
.rd-bang th { text-align: right; font-family: var(--wow-font-mono); font-size: 9.5px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(255 122 80 / 0.75);
  padding: 6px 8px; border-bottom: 1px solid var(--wow-vien); white-space: nowrap; }
.rd-bang th:first-child, .rd-bang td:first-child { text-align: left; }
.rd-bang td { padding: 8px; border-bottom: 1px solid var(--wow-vien-nhat); text-align: right; font-family: var(--wow-font-so); font-variant-numeric: tabular-nums; white-space: nowrap; }
.rd-bang td:first-child { font-family: var(--wow-font-chu); white-space: normal; min-width: 160px; }
.rd-bang td a { color: inherit; text-decoration: none; }
/* [19/10] BẢNG ở điện thoại (mọi màn + popup — CEO "chắc không chỉ ở popup": đo 390 thêm bảng Top page Quét data vượt 184px · bảng AI Hạ tầng 190px): soi popup 390 — "Chi phí 1 video" mất cột Video · Thời gian, "Chi phí AI" cắt cột Hỏng (cột đầu min 160px +
   chữ không xuống dòng ⇒ bảng rộng hơn hộp, phần thừa nằm khuất sau thanh cuộn ngang). Màn hẹp: chữ nhỏ một nấc, ô hẹp, chữ được xuống dòng. */
@media (max-width: 520px) {
  html .rd-bang { font-size: 12px; }
  html .rd-bang th, html .rd-bang td, html .rd-bang td[class] { padding: 6px 4px; white-space: normal; overflow-wrap: break-word; } /* + tiền tố html: td[class] thắng luật riêng từng bảng (.ai-bang td.ai-model nowrap) */
  html .rd-bang th { letter-spacing: 0.04em; overflow-wrap: normal; } /* tiêu đề xuống dòng GIỮA các chữ ("Thời gian"), không bẻ giữa từ ("Lượ-t") */
  html .rd-bang td.ai-model { overflow-wrap: anywhere; } /* mã model là một chuỗi không dấu cách ⇒ chỉ cột này được bẻ giữa chữ */
  html .rd-bang td:first-child, html .rd-bang td[class] { min-width: 0; }
}
.rd-bang td a:hover { filter: brightness(1.3); }
.rd-bang td small { display: block; font-family: var(--wow-font-mono); font-size: 10px; /* [03/11] 9,5 ⇒ 10: dòng dày nhỏ một nấc, không dưới 10px (popup cột Sáng tạo nội dung "Gọi: …") */ color: var(--wow-chu-4); }
.rd-sp { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--wow-vien-nhat); }
.rd-sp .wow-so { font-size: 20px; color: var(--wow-chu-3); }
.rd-sp a { color: var(--wow-chu); text-decoration: none; font-size: 13.5px; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rd-sp a:hover { filter: brightness(1.3); }
.rd-sp small { font-size: 11.5px; color: var(--wow-chu-3); display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* [14/10] Thị trường đỏ: mỗi SP đúng 2 dòng (tên + chip · mô tả) — bản cũ 2–4 dòng tên page ⇒ cột phải 2.426px */
.rd-sp-ten { display: flex; gap: 6px; align-items: center; min-width: 0; }
.rd-sp-ten a { min-width: 0; }
.rd-sp-ten .rd-chip, .rd-mang-chip .rd-chip:last-child { flex-shrink: 0; margin: 0; }
.rd-mang-chip { display: flex; gap: 4px; overflow: hidden; min-width: 0; }
.rd-mang-chip .rd-chip { flex: 0 1 auto; min-width: 0; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rd-sp-so { text-align: right; font-family: var(--wow-font-so); font-size: 18px; white-space: nowrap; }
.rd-dang { position: absolute; left: 8px; bottom: 8px; font-family: var(--wow-font-mono); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; padding: 3px 6px; border-radius: 3px; background: rgba(0,0,0,.72); color: var(--wow-chu); }
.rd-kt-loc { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 16px; }
.rd-kt-loc button { font-family: var(--wow-font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; padding: 8px 12px; min-height: 36px;
  background: transparent; color: var(--wow-chu-2); border: 1px solid var(--wow-vien-nhat); border-radius: 4px; cursor: pointer; }
.rd-kt-loc button:hover { filter: brightness(1.3); }
.rd-kt-loc button[aria-pressed="true"] { color: var(--wow-chu); border-color: var(--wow-cam, #ee4d2d); }
.rd-tin { position: absolute; left: 8px; top: 8px; font-family: var(--wow-font-mono); font-size: 9.5px; letter-spacing: 0.12em; padding: 4px 7px; border-radius: 3px; font-weight: 700; }
.rd-tin-con-phan { background: #1f7a4d; color: #e8fff2; }
.rd-tin-dong { background: #8a5a12; color: #fff3dc; }
.rd-tin-dan-dau-ngung-dau-tu { background: #444; color: #ddd; }
/* [12/10] CEO: thẻ hiện poster VIDEO mà dán nhãn "ẢNH" ⇒ mỗi thẻ 2 vùng media riêng (video | ảnh), mỗi vùng bìa + số QC + QC thật của ĐÚNG loại đó. */
.rd-luoi-kt { grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
.rd-media { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.rd-vung { display: grid; gap: 6px; min-width: 0; align-content: start; }
.rd-vung-nut { display: flex; flex-wrap: wrap; gap: 4px 8px; min-height: 14px; }
.rd-anh.rd-rong { display: grid; place-items: center; background: transparent; border: 1px dashed var(--wow-vien-nhat); }
.rd-rong span { font-family: var(--wow-font-mono); font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wow-chu-4); text-align: center; padding: 0 6px; }
.rd-tin-phu { top: 32px; background: rgba(0,0,0,.72); color: var(--wow-chu); font-weight: 500; }
.rd-kt-link { display: block; font-size: 12px; color: var(--wow-chu-2); margin-top: 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rd-sp-so span { display: block; font-family: var(--wow-font-mono); font-size: 8.5px; letter-spacing: 0.1em; color: var(--wow-chu-3); text-transform: uppercase; }
.rd-mang { display: grid; gap: 10px; }
.rd-mang-dong { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 12px; align-items: baseline; padding: 8px 0; border-bottom: 1px solid var(--wow-vien-nhat); }
.rd-mang-dong code { font-family: var(--wow-font-mono); font-size: 11px; color: var(--wow-cam-nhat); }
.rd-chip { display: inline-block; margin: 2px 4px 2px 0; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--wow-vien); font-size: 12px; color: var(--wow-chu-2); }
.rd-trong { padding: 40px 10px; text-align: center; color: var(--wow-chu-3); font-size: 14px; }
.rd-vao { max-width: 420px; margin: 12vh auto 0; padding: 30px; display: grid; gap: 16px; }
.rd-vao input { min-height: 46px; padding: 0 14px; border-radius: 8px; border: 1px solid var(--wow-vien); background: var(--wow-mat-2); color: var(--wow-chu); font: inherit; font-size: 16px; }
.rd-vao input:focus { border-color: rgb(255 122 80 / 0.7); outline: none; }
.rd-loi { margin: 0; font-size: 13.5px; color: var(--wow-xau); min-height: 1.4em; }
@media (max-width: 1080px) { .rd-hai-cot { grid-template-columns: minmax(0, 1fr); } .rd-mo .wow-hud { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .rd-khung-chinh, .rd-hud-trong { padding-inline: 12px; }
  /* [23/10] CEO "vào tiến trình lỗi UX UI tùm lum": thanh đầu 2 dòng (~120px) dính đỉnh ăn 1/7 màn điện thoại ⇒ thôi dính; khung lồng khung bớt đệm */
  .rd-hud { position: relative; }
  .rd-khung-chinh { padding-block: 14px 48px; gap: 16px; }
  .rd-mo { padding: 14px 10px; }
  .rd-mo .wow-hud { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rd-luoi-video { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .rd-luoi-video.rd-luoi-kt { grid-template-columns: minmax(0, 1fr); } /* thẻ 2 vùng media: 2 cột ở 390 ⇒ ô 65px, nhãn gãy dòng (đo 12/10) */
  .rd-mang-dong { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}
