/* =====================================================================
   sd9-contrast.css · Lượt sửa độ tương phản + logo (08/10/2026)
   Nạp SAU sd9.css. Mục tiêu:
   - Chữ đặt trực tiếp trên nền xanh: trắng hoặc xanh rất nhạt (>= #DCEBFF),
     opacity >= .85 cho chữ thân, >= .7 cho trạng thái mờ (chưa tới bước).
   - Logo Base.vn chính thức (base-logo-white.png) ở góc phải trên, cùng
     kích thước và vị trí trên mọi slide (trừ bìa và slide kết).
   ===================================================================== */

/* ---------- 1. Biến màu chữ toàn deck (nền xanh sáng "e") ---------- */
html[data-bg="e"],body[data-bg="e"],[data-bg="e"]{
  --t2:rgba(255,255,255,.94);
  --t3:rgba(255,255,255,.88);
  --t4:rgba(255,255,255,.86);
  --blue2:#D2E8FF;   /* eyebrow, nhãn nhỏ (trước là #66B4F0) */
  --blue3:#DCEBFF;   /* chú thích (trước là #9FD0F6) */
}
/* chữ thân mảnh (300) trên nền xanh khó đọc khi chiếu: nâng lên 400 */
.z .sub,.z-c p,.z-c ul,.z-ag ol,.z-row .r,.z-note,.z-venn .o span,.z-st .s p,
.kicker,.lead,.lbl-note,.z-fm .t span,.z-cover .spk span{font-weight:400!important}

/* ---------- 2. Logo chuẩn: góc phải trên, cao 34px ---------- */
#stage>.slide:not(.z-cv):not(.z-cl)>.logo{
  display:block!important;position:absolute!important;
  right:88px!important;top:44px!important;left:auto!important;bottom:auto!important;
  height:34px!important;width:auto!important;margin:0!important;z-index:30!important;opacity:1!important}
#stage>.slide:not(.z-cv):not(.z-cl)>.logo img{height:34px!important;width:auto!important;display:block!important}
/* slide .z có zoom:1.34 (không phải z-free): chia toạ độ cho 1.34 để logo ra đúng 34px tại right 88 / top 44 */
#stage>.slide.z:not(.z-free):not(.z-sop):not(.z-cover):not(.z-sec):not(.z-cv):not(.z-cl)>.logo{
  right:65.67px!important;top:32.84px!important;height:25.37px!important}
#stage>.slide.z:not(.z-free):not(.z-sop):not(.z-cover):not(.z-sec):not(.z-cv):not(.z-cl)>.logo img{height:25.37px!important}
/* slide không có div.logo trong mã sinh (SOP, slide nhúng p1/p2): vẽ logo bằng ::after */
#stage>.slide.z-sop::after,#stage>.slide.s-p1::after{
  content:"";display:block!important;position:absolute;inset:auto;left:auto!important;bottom:auto!important;right:88px!important;top:44px!important;
  width:110px!important;height:34px!important;z-index:30!important;pointer-events:none;opacity:1!important;mix-blend-mode:normal!important;transform:none!important;
  background:url(../assets/logo/base-logo-white.png) right center/contain no-repeat}

/* ---------- 3. Slide app (s-nlapp): eyebrow + danh sách bước ---------- */
.s-nlapp .nl-eye{color:#D2E8FF!important}
.s-nlapp.g-crm .nl-eye{color:#FED7AA!important}.s-nlapp.g-hrm .nl-eye{color:#A7F3D0!important}
.s-nlapp .nl-top{color:#fff!important}
/* chip "Dữ liệu minh hoạ" trên nền slide: bỏ theo brief (chip trong cửa sổ phần mềm vẫn giữ) */
.s-nlapp .nl-top .tag{display:none!important}
/* bước chưa tới: .74; bước đã qua: .88; bước đang nói: trắng + nền sáng + viền trắng */
.s-nlapp .nl-steps li{color:rgba(255,255,255,.74)!important}
.s-nlapp .nl-steps li::before{color:rgba(220,235,255,.8)}
.s-nlapp .nl-steps li.on{color:rgba(255,255,255,.88)!important}
.s-nlapp .nl-steps li.on:not(:has(~ li.on)){color:#fff!important;border-left-color:#fff!important;
  background:linear-gradient(90deg,rgba(255,255,255,.2),rgba(255,255,255,.04))!important}
.s-nlapp .nl-steps li.on:not(:has(~ li.on))::before{color:#fff!important}

/* ---------- 4. Sửa riêng từng slide (chữ trên nền xanh) ---------- */
/* S5 · trục biểu đồ năng suất */
.z-200 .q2-bg .ax{fill:rgba(235,244,255,.92)!important}
/* S6 · SOP: ví dụ minh hoạ */
.z-sop .sop-ex{color:#DCEBFF!important}
/* S9 · thẻ bối cảnh: số thứ tự + mô tả */
.z-sg .st3 .tx b{color:#DCEBFF!important}
.z-sg .st3 .c4 .tx b{color:#FCD34D!important}
/* S12 · trích dẫn */
.z-247 .a7-q .mk{color:#DCEBFF!important}
.z-247 .a7-q .en{color:#E6F0FF!important}
.z-247 .a7-q figcaption span{color:#DCEBFF!important}
/* S16 · (Business context) */
h1 .paren{color:rgba(255,255,255,.88)!important}
/* S18 · nhãn cột chuỗi giá trị */
.z-vc .vc-por{color:#fff!important}
.z-vc .vc-tag{color:#fff!important}
/* S23 · bảng mức độ rõ ràng */
.z-tbl thead th{color:#E6F0FF!important}
.z-tbl td{color:#fff!important}
.z-lg{color:#E6F0FF!important}
/* S25 · nhãn trên hai cột */
.s-split .lbl.big{color:#D2E8FF!important}
/* S26/S28 · danh sách chú thích góc phải */
.p8a-app .kicker{color:rgba(255,255,255,.94)!important}
/* S30, S42, S46 · nhãn nhỏ xanh trung bình */
.z-hire .hc small{color:#DCEBFF!important}
.z-s4 .mp-lb small{color:#DCEBFF!important}
.z-s4 .mp-pin b{color:#fff!important}
.z-l3s .pts .cap{color:#DCEBFF!important}
/* S43 · nhãn tầng (màu theo tầng nhưng sáng hơn) */
.z-l4m .lc .lk small{filter:brightness(1.55) saturate(.7)}
/* S44, S45 · badge + nguồn + mục không nhấn mạnh */
.z-l1 .z1-badge span,.z-l2 .z2-badge span,.z-badge span{color:#DCEBFF!important}
.z-l1 .l1-src{color:rgba(255,255,255,.85)!important}
.z-l2 .l2-lg i{color:#fff!important;border-color:rgba(255,255,255,.55)!important}
.z-l2:has(.l2-note.on) .l2-it:not(.hi){opacity:.72!important}
/* S34 · chip "Dữ liệu minh hoạ" trên nền slide: bỏ theo brief */
.z-p3st .st-demo{display:none!important}

/* ---------- 5. Nhãn chữ hoa nhỏ màu xanh trung bình (#9FD0F6, #8ECBFF, #BFDCFA) trong các slide part ---------- */
.z-l1 .l1-sup b,.z-l1 .l1-row .l small,.z-l2 .l2-lg>b,
.z-p3map .lb .k,.z-p3st .cr small,.z-p3st .lab .k{color:#DCEBFF!important}
.z-p3map .lb p,.z-p3st .lab p{color:#E6F0FF!important}
.z-tbl .tgx.h{color:#E6F0FF!important;border-color:rgba(220,235,255,.6)!important}

/* ---------- 6. Chữ thân nét mảnh (300) trên nền xanh: nâng lên 400 để không bị mờ khi chiếu ---------- */
.z-l1 .l1-c small,.z-l1 .l1-row .r,.z-l2 .l2-note,.z-l3s .pt p,.z-l4q .nt span,.z-hire .hc p,
.z-l4m .lc p,.z-l4m .nt span,.z-p1o .cv .lead,.z-p3st .cr p,.z-vc .vc-desc,
.z-quote,.z-fm .op,.sop-sub,.sop-p,.sop-ol,.tg-c p,.pp-lead,.pp-ol,.dg-ul,.sg-b small,.cv-sub,.cv-spk span,
.q2-lead,.z-sec-org .sec-sub,.z-sg .st-b p,.z-sg .st3 p{font-weight:400!important}

/* ---------- 7. Tinh chỉnh sau lượt xem ảnh ---------- */
/* S44 · nhãn đầu ra dưới mỗi giai đoạn trên dải xanh sáng */
.z-l1 .l1-c small{color:#fff!important}
/* S45 · mục không nhấn mạnh: mờ vừa phải, vẫn đọc được */
.z-l2:has(.l2-note.on) .l2-it:not(.hi){opacity:.8!important}
/* S30 · mô tả trong thẻ hồ sơ */
.z-hire .hc p{color:rgba(240,246,255,.95)!important}
.z-hire .pf .nm p{color:#E3EEFF!important}
/* S42 · nhãn tầng trên bản đồ lộ trình: tầng chưa tới vẫn đọc được */
.z-s4 .mp-lb small{color:#E3EEFF!important}
/* S46 · các mục chưa tới bước trong cột phải: mờ vừa phải (>= .72) */
.z-l3s .pt:not(.on){opacity:.72!important}

/* =====================================================================
   8. ĐỒNG BỘ HEADER TOÀN DECK (08/10/2026) · chuẩn = slide 12 (z-247)
   eyebrow: gạch 34x2 + chữ IN HOA 15px/700, giãn .18em, #D6ECFF, hộp chữ ở x=120, y=89
   h1: 46px/700, line-height 1.12, giãn -.01em, trắng, ở x=120, y=135
   Ngoại lệ có chủ đích: bìa (1), câu hỏi căn giữa (10, 17), slide mở mục (20, 29), kết (48),
   slide mở phần do agent khác phụ trách (3, 11, 33, 42).
   ===================================================================== */
/* 8a. Kiểu chữ chuẩn cho slide zoom 1 */
.z-sg .st-hd .eyebrow,.s-split .eyebrow,.z-vc .vc-hd .eyebrow,.z-svpos .sp-hd .eyebrow,.z-svanat .sa-hd .eyebrow,
.s-mockfull.p8a-wide .mf-head .eyebrow,.z-hire .hh .eyebrow,.z-orgai .hh .eyebrow,.z-p3st .st-hd .eyebrow,
.z-tka .hdt .eyebrow,.z-p3map .mp-hd .eyebrow,.z-l4m .hd4 .eyebrow{
  font-size:15px!important;font-weight:700!important;letter-spacing:.18em!important;line-height:normal!important;
  text-transform:uppercase!important;color:#D6ECFF!important;gap:12px!important;white-space:nowrap!important}
.z-sg .st-hd h1,.s-split h1,.z-vc .vc-hd h1,.z-svpos .sp-hd h1,.z-svanat .sa-hd h1,
.s-mockfull.p8a-wide .mf-head h1,.z-hire .hh h1,.z-orgai .hh h1,.z-p3st .st-hd h1,
.z-tka .hdt h1,.z-p3map .mp-hd h1,.z-l4m .hd4 h1,
.z-l1 .l1-hd h1,.z-l2 .l2-hd h1,.z-l3s .hd3 h1,.z-l4q .hd5 h1{
  font-size:46px!important;font-weight:700!important;line-height:1.12!important;letter-spacing:-.01em!important;color:#fff}
.s-mockfull.p8a-wide .mf-head h1{max-height:none!important;overflow:visible!important}
/* 8b. Slide z (zoom 1.34): chia cỡ chữ cho 1.34 để ra đúng 15px / 46px trên màn */
.slide.z[data-title="Nội dung chương trình"] .eyebrow,.slide.z[data-title^="Phần 2 · Service: nơi giữ"] .eyebrow,.slide.z[data-title^="Phần 2 · Dịch vụ càng rõ"] .eyebrow{
  font-size:11.194px!important;letter-spacing:.18em!important;gap:8.955px!important;line-height:normal!important}
.slide.z[data-title="Nội dung chương trình"] .eyebrow::before,.slide.z[data-title^="Phần 2 · Service: nơi giữ"] .eyebrow::before,.slide.z[data-title^="Phần 2 · Dịch vụ càng rõ"] .eyebrow::before{
  width:25.373px!important;height:1.493px!important}
.slide.z[data-title="Nội dung chương trình"] h1,.slide.z[data-title^="Phần 2 · Service: nơi giữ"] h1,.slide.z[data-title^="Phần 2 · Dịch vụ càng rõ"] h1{
  font-size:34.328px!important;line-height:1.12!important;letter-spacing:-.01em!important}
/* 8c. Slide tầng 1 đến 4: chip "TẦNG n" chuyển về đúng kiểu eyebrow */
.z-l1 .z1-badge,.z-l2 .z2-badge,.z-l3s .hd3 .z-badge,.z-l4q .hd5 .z-badge{display:inline-flex!important;align-items:center!important;gap:12px!important;margin:0!important}
.z-l1 .z1-badge::before,.z-l2 .z2-badge::before,.z-l3s .hd3 .z-badge::before,.z-l4q .hd5 .z-badge::before{
  content:"";display:block;width:34px;height:2px;flex:0 0 34px;background:linear-gradient(90deg,#D6ECFF,transparent)}
.z-l1 .z1-badge b,.z-l2 .z2-badge b,.z-l3s .hd3 .z-badge b,.z-l4q .hd5 .z-badge b,
.z-l1 .z1-badge span,.z-l2 .z2-badge span,.z-l3s .hd3 .z-badge span,.z-l4q .hd5 .z-badge span{
  font-size:15px!important;font-weight:700!important;letter-spacing:.18em!important;line-height:normal!important;text-transform:uppercase!important;
  color:#D6ECFF!important;background:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important;white-space:nowrap}
.z-l1 .z1-badge span::before,.z-l2 .z2-badge span::before,.z-l3s .hd3 .z-badge span::before,.z-l4q .hd5 .z-badge span::before{content:"· ";margin-left:-4px}
/* 8d. Slide SOP (6): dòng "ĐẨY NHANH TỐC ĐỘ VẬN HÀNH" thành eyebrow, dòng XÂY DỰNG QUY TRÌNH thành tiêu đề lớn */
.z-sop .sop-l h1{display:inline-flex!important;align-items:center;gap:12px;font-size:15px!important;font-weight:700!important;letter-spacing:.18em!important;line-height:normal!important;color:#D6ECFF!important;margin:0!important}
.z-sop .sop-l h1::before{content:"";display:block;width:34px;height:2px;flex:0 0 34px;background:linear-gradient(90deg,#D6ECFF,transparent)}
.z-sop .sop-l .sop-sub{font-size:46px!important;font-weight:700!important;line-height:1.12!important;letter-spacing:-.01em!important;color:#fff!important}
/* 8e. Lề trái 120 cho cả khối (không chỉ header) ở slide 6 và 9 */
.z-sop .sop-l{left:120px!important}
.z-sg .st-hd{left:120px!important}
.z-sg .st{left:120px!important;right:190px!important}
/* 8f. Bù toạ độ để eyebrow nằm ở y=89 và h1 ở y=135 (đo tự động sau khi đổi cỡ chữ) */
.slide.z[data-title="Nội dung chương trình"] .eyebrow{translate:1.56px -5.04px!important}
.slide.z[data-title="Nội dung chương trình"] h1{translate:1.56px 1.87px!important}
.z-sop .sop-l h1{translate:0.00px -21.00px!important}
.z-sop .sop-l .sop-sub{translate:0.00px -1.00px!important}
.z-sg .st-hd .eyebrow{translate:0.00px -12.00px!important}
.z-sg .st-hd h1{translate:0.00px -12.00px!important}
.s-split[data-title^="Ngữ cảnh và Tri thức"] .eyebrow{translate:0.00px -12.00px!important}
.s-split[data-title^="Ngữ cảnh và Tri thức"] h1{translate:0.00px -6.00px!important}
.z-vc .vc-hd h1{translate:0.00px 14.00px!important}
.slide.z[data-title^="Phần 2 · Service: nơi giữ"] .eyebrow{translate:1.56px -5.04px!important}
.slide.z[data-title^="Phần 2 · Service: nơi giữ"] h1{translate:1.56px 1.87px!important}
.z-svpos .sp-hd h1{translate:0.00px 14.00px!important}
.z-svanat .sa-hd h1{translate:0.00px 14.00px!important}
.slide.z[data-title^="Phần 2 · Dịch vụ càng rõ"] .eyebrow{translate:1.56px -5.04px!important}
.slide.z[data-title^="Phần 2 · Dịch vụ càng rõ"] h1{translate:1.56px 1.87px!important}
.s-split[data-title^="Cấu trúc một Dịch vụ trên Base · 1/4"] .eyebrow{translate:0.00px -12.00px!important}
.s-split[data-title^="Cấu trúc một Dịch vụ trên Base · 1/4"] h1{translate:0.00px -6.00px!important}
.s-mockfull.p8a-wide .mf-head .eyebrow{translate:0.00px -12.00px!important}
.s-mockfull.p8a-wide .mf-head h1{translate:0.00px 2.00px!important}
.z-hire .hh h1{translate:0.00px 14.00px!important}
.z-orgai .hh h1{translate:0.00px 14.00px!important}
.z-p3st .st-hd h1{translate:0.00px 14.00px!important}
.z-tka .hdt h1{translate:0.00px 14.00px!important}
.z-p3map .mp-hd h1{translate:0.00px 14.00px!important}
.z-l4m .hd4 h1{translate:0.00px 14.00px!important}
.z-l1 .l1-hd h1{translate:0.00px 28.00px!important}
.z-l2 .l2-hd h1{translate:0.00px 28.00px!important}
.z-l3s .hd3 .z-badge{translate:0.00px 8.00px!important}
.z-l3s .hd3 h1{translate:0.00px 36.00px!important}
.z-l4q .hd5 .z-badge{translate:0.00px 8.00px!important}
.z-l4q .hd5 h1{translate:0.00px 36.00px!important}
/* 8g. Họ slide ứng dụng (s-nlapp): nl-big (7, 8) dùng cùng cỡ header với cả họ */
.s-nlapp.nl-big .nl-top{font-size:23px!important}
.s-nlapp.nl-big .nl-eye{font-size:16px!important}
.s-nlapp.nl-big h1{font-size:44px!important}
.s-nlapp.nl-big h1{line-height:1.14!important;letter-spacing:-.02em!important}
