/* =========================================================================
   HVSC – Công nghệ: 3 trang dịch vụ Email doanh nghiệp / Chứng chỉ SSL / Hoá đơn điện tử (13/10/2026)
   Nạp SAU pillar-tech.css bởi mu-plugins/zz-hv-dv-cong-nghe.php, chỉ trên 3 trang này (body.hv-dv-email|ssl|hddt).
   Mỗi trang 1 màu nhấn riêng (teal / hổ phách / cam đất) + khối minh hoạ riêng; vẫn dùng ngôn ngữ kỹ sư của trụ.
   Sáng/Tối: theo html[data-theme]; khung minh hoạ giữ tối đặc như .pt-term.
   ========================================================================= */

/* ---------- Màu nhấn theo trang ---------- */
body.hv-dv-email .pt { --pt-acc: #5EEAD4; --pt-acc2: #14B8A6; --dv-a: #2DD4BF; --dv-a-rgb: 45,212,191; --dv-paper: #0F766E; }
body.hv-dv-ssl   .pt { --pt-acc: #FCD34D; --pt-acc2: #F59E0B; --dv-a: #FBBF24; --dv-a-rgb: 251,191,36; --dv-paper: #92400E; }
body.hv-dv-hddt  .pt { --pt-acc: #FDBA74; --pt-acc2: #F97316; --dv-a: #FB923C; --dv-a-rgb: 251,146,60; --dv-paper: #B4410C; }
html[data-theme="light"] body.hv-dv-email .pt { --pt-acc: #0F766E; --pt-acc2: #0D9488; --dv-a: #0D9488; }
html[data-theme="light"] body.hv-dv-ssl   .pt { --pt-acc: #92400E; --pt-acc2: #B45309; --dv-a: #B45309; }
html[data-theme="light"] body.hv-dv-hddt  .pt { --pt-acc: #B4410C; --pt-acc2: #C2410C; --dv-a: #C2410C; }
/* khung tối trong bản sáng: dùng lại màu nhấn sáng của trang */
html[data-theme="light"] body.hv-dv-email :is(.pt-term,.pt-panel,.pt-cell--red,.dv-mail) { --pt-acc: #5EEAD4; }
html[data-theme="light"] body.hv-dv-ssl   :is(.pt-term,.pt-panel,.pt-cell--red,.dv-lock__bar) { --pt-acc: #FCD34D; }
html[data-theme="light"] body.hv-dv-hddt  :is(.pt-term,.pt-panel,.pt-cell--red) { --pt-acc: #FDBA74; }

.hv-dv .pt-hero { background: radial-gradient(900px 480px at 85% 10%, rgba(var(--dv-a-rgb), .16), transparent 60%), radial-gradient(700px 420px at 0% 100%, rgba(227,30,36,.10), transparent 60%), var(--pt-bg); }
html[data-theme="light"] .hv-dv .pt-hero { background: radial-gradient(900px 480px at 85% 10%, rgba(var(--dv-a-rgb), .18), transparent 60%), radial-gradient(700px 420px at 0% 100%, rgba(227,30,36,.06), transparent 60%), var(--pt-bg); }
.hv-dv .pt-sec--paper .pt-label, .hv-dv .pt-sec--paper .pt-cell__tag, .hv-dv .pt-sec--paper .pt-txt a, .hv-dv .pt-sec--paper .pt-lead a { color: var(--dv-paper); }
.hv-dv .pt-step::before { border-color: var(--pt-acc); color: var(--pt-acc); }
.hv-dv .pt-log__i { background: linear-gradient(180deg, rgba(var(--dv-a-rgb), .07), transparent 60%), var(--pt-bg2); }
html[data-theme="light"] .hv-dv .pt-log__i { background: linear-gradient(180deg, rgba(var(--dv-a-rgb), .10), transparent 60%), #fff; }
.hv-dv .pt-log__tag--acc { background: rgba(var(--dv-a-rgb), .14); color: var(--pt-acc); }
.dv-center { text-align: center; }
.hv-dv .pt-hero__txt, .dv-hero__vis, .dv-hero__c { min-width: 0; }

/* ---------- Hero đảo (email): minh hoạ bên trái trên desktop ---------- */
@media (min-width: 1024px) {
  .dv-hero--rev .pt-hero__grid { grid-template-columns: .95fr 1.05fr; }
  .dv-hero--rev .dv-hero__vis { order: -1; }
}

/* ---------- Hộp thư minh hoạ (email) ---------- */
.dv-mail { background: #07080C; border: 1px solid rgba(var(--dv-a-rgb), .35); border-radius: 16px; overflow: hidden; color: #E6E8F0;
  box-shadow: 0 40px 80px -30px rgba(0,0,0,.75), 0 0 0 6px rgba(var(--dv-a-rgb), .06); }
.dv-mail__bar { display: flex; align-items: center; gap: 8px; padding: 12px 16px; background: #0D0F16; border-bottom: 1px solid rgba(255,255,255,.08); font: 500 12.5px/1 var(--pt-mono); color: #A3A8BA; }
.dv-mail__bar i { width: 11px; height: 11px; border-radius: 50%; background: #3A3F52; flex: none; }
.dv-mail__bar i:nth-child(1) { background: #FF5F57; } .dv-mail__bar i:nth-child(2) { background: #FEBC2E; } .dv-mail__bar i:nth-child(3) { background: #28C840; }
.dv-mail__bar span { margin-left: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.dv-mail__body { display: grid; grid-template-columns: 1fr; min-height: 290px; }
@media (min-width: 560px) { .dv-mail__body { grid-template-columns: 160px 1fr; } }
.dv-mail__side { display: none; flex-direction: column; gap: 6px; padding: 16px 12px; border-right: 1px solid rgba(255,255,255,.07); background: #0A0C12; font: 500 12.5px/1.35 var(--pt-mono); color: #A3A8BA; }
@media (min-width: 560px) { .dv-mail__side { display: flex; } }
.dv-mail__side b { color: #5EEAD4; font-size: 13px; margin-bottom: 6px; }
.dv-mail__side span { padding: 7px 8px; border-radius: 7px; overflow-wrap: anywhere; }
.dv-mail__side .is-on { background: rgba(45,212,191,.14); color: #fff; }
.dv-mail__list { display: flex; flex-direction: column; }
.dv-mail__list li { display: grid; grid-template-columns: 36px 1fr; gap: 6px 12px; align-items: center; padding: 14px 16px; border-bottom: 1px solid rgba(255,255,255,.06); }
@media (min-width: 420px) { .dv-mail__list li { grid-template-columns: 36px 1fr auto; } }
.dv-mail__list li.is-new { background: rgba(45,212,191,.07); box-shadow: inset 3px 0 0 #2DD4BF; }
.dv-mail__list li.is-warn { background: rgba(255,97,102,.07); }
.dv-mail__av { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font: 700 12px/1 var(--pt-mono); background: #134E4A; color: #CCFBF1; }
.dv-mail__av--b { background: #1E1B4B; color: #C7D2FE; } .dv-mail__av--c { background: #3B2A0B; color: #FDE68A; } .dv-mail__av--w { background: #4C0D10; color: #FFB4B6; }
.dv-mail__tx { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.dv-mail__tx b { font-size: 14.5px; color: #F3F1EC; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dv-mail__tx small { font-size: 13px; color: #A3A8BA; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dv-mail__ok, .dv-mail__bad { grid-column: 2; justify-self: start; font: 600 11.5px/1 var(--pt-mono); padding: 5px 8px; border-radius: 6px; background: rgba(61,220,151,.12); color: #3DDC97; white-space: nowrap; }
.dv-mail__bad { background: rgba(255,97,102,.14); color: #FF8A8E; }
@media (min-width: 420px) { .dv-mail__ok, .dv-mail__bad { grid-column: auto; justify-self: end; } }

/* ---------- 2 địa chỉ so sánh (email) ---------- */
.dv-addr { display: grid; gap: 16px; align-items: stretch; }
@media (min-width: 900px) { .dv-addr { grid-template-columns: 1fr auto 1fr; } }
.dv-addr__c { border-radius: 18px; padding: clamp(20px, 2.4vw, 28px); background: #fff; border: 1px solid rgba(18,19,22,.12); min-width: 0; }
.dv-addr__c--no { background: #FBFAF8; }
.dv-addr__c--ok { border: 2px solid #0D9488; box-shadow: 0 22px 44px -30px rgba(13,148,136,.6); }
.dv-addr__k { font: 600 12px/1.3 var(--pt-mono); text-transform: uppercase; letter-spacing: .06em; color: #4A4E58; }
.dv-addr__v { margin: 10px 0 16px; font: 700 clamp(19px, 1.2vw + 13px, 26px)/1.25 var(--pt-mono); color: #121316; overflow-wrap: anywhere; }
.dv-addr__c--no .dv-addr__v span { color: #8A8E98; }
.dv-addr__c--ok .dv-addr__v span { color: #0F766E; }
.dv-addr__c ul { display: grid; gap: 10px; }
.dv-addr__c li { position: relative; padding-left: 22px; font-size: 15.5px; line-height: 1.55; color: #2B2D33; }
.dv-addr__c li::before { content: ""; position: absolute; left: 0; top: .55em; width: 10px; height: 10px; border-radius: 3px; }
.dv-addr__c--no li::before { background: #E9B1B3; }
.dv-addr__c--ok li::before { background: #14B8A6; }
.dv-addr__arrow { display: none; align-self: center; font: 700 28px/1 var(--pt-mono); color: #0F766E; }
@media (min-width: 900px) { .dv-addr__arrow { display: block; } }

/* ---------- Thẻ gói (email, hoá đơn) ---------- */
.dv-plans { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .dv-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .dv-plans--email { grid-template-columns: repeat(3, minmax(0, 1fr)); } .dv-plans--hddt { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.dv-plan { position: relative; display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 24px 22px 22px; border-radius: 18px; background: var(--pt-panel); border: 1px solid var(--pt-line); transition: transform .2s, border-color .2s, box-shadow .2s; }
.dv-plan:hover { transform: translateY(-3px); border-color: rgba(var(--dv-a-rgb), .55); }
.dv-plan.is-hl { border: 1.5px solid var(--dv-a); box-shadow: 0 26px 50px -30px rgba(var(--dv-a-rgb), .55); }
.dv-plan__k { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; font: 700 12.5px/1.3 var(--pt-mono); letter-spacing: .05em; text-transform: uppercase; color: var(--pt-acc); }
.dv-plan__k span { padding: 4px 8px; border-radius: 6px; background: var(--pt-red); color: #fff; font-size: 11px; letter-spacing: .04em; }
.dv-plan h3 { font-size: 22px; line-height: 1.25; font-weight: 800; }
.dv-plan__for { font-size: 15px; line-height: 1.5; color: var(--pt-ink2); }
.dv-plan__m { display: block; height: 6px; border-radius: 99px; background: var(--pt-line); overflow: hidden; margin: 4px 0 2px; }
.dv-plan__m i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--pt-acc2), var(--dv-a)); }
.dv-plan__spec { margin: 2px 0 0; display: grid; }
.dv-plan__spec div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px dashed var(--pt-line2); }
.dv-plan__spec dt { font: 500 13px/1.45 var(--pt-mono); color: var(--pt-mute); }
.dv-plan__spec dd { margin: 0; font-size: 15px; font-weight: 700; text-align: right; color: var(--pt-ink); }
.dv-price { display: flex; flex-direction: column; gap: 2px; margin-top: auto; padding-top: 12px; }
.dv-price__v { font-size: 22px; font-weight: 800; color: var(--pt-ink); }
.dv-price__v--q { font-size: 19px; color: var(--pt-acc); }
.dv-price small { font: 500 12.5px/1.45 var(--pt-mono); color: var(--pt-mute); }
.dv-plan__go { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; margin-top: 6px; padding: 10px 16px; border-radius: 12px; border: 1.5px solid var(--pt-line2); font-weight: 700; font-size: 15px; text-decoration: none; color: var(--pt-ink) !important; transition: background .2s, border-color .2s; }
.dv-plan__go:hover { border-color: var(--dv-a); background: rgba(var(--dv-a-rgb), .10); }
.dv-plan.is-hl .dv-plan__go { background: var(--pt-red); border-color: var(--pt-red); color: #fff !important; }
.dv-plans__foot a { color: var(--pt-acc); }
/* email: dải "phong bì" trên đầu thẻ */
.dv-plans--email .dv-plan { overflow: hidden; padding-top: 30px; }
.dv-plans--email .dv-plan::before { content: ""; position: absolute; inset: 0 0 auto; height: 8px; background: repeating-linear-gradient(135deg, rgba(var(--dv-a-rgb), .9) 0 14px, transparent 14px 22px, rgba(227,30,36,.75) 22px 36px, transparent 36px 44px); opacity: .55; }
/* hoá đơn: mép răng cưa dưới như cuống hoá đơn */
.dv-plans--hddt .dv-plan { border-radius: 16px 16px 4px 4px; padding-bottom: 30px; }
.dv-plans--hddt .dv-plan::after { content: ""; position: absolute; left: -1px; right: -1px; bottom: -1px; height: 10px; background: radial-gradient(circle at 8px 10px, var(--pt-bg) 6px, transparent 6.5px) 0 0/16px 10px repeat-x; }

/* ---------- Đường đi của thư (email) ---------- */
.dv-route { display: grid; gap: 14px; counter-reset: r; }
@media (min-width: 1024px) { .dv-route { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; } }
.dv-route__i { position: relative; padding: 22px; border-radius: 16px; background: var(--pt-panel); border: 1px solid var(--pt-line); min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.dv-route__i--ok { border-color: rgba(var(--dv-a-rgb), .6); background: linear-gradient(160deg, rgba(var(--dv-a-rgb), .14), var(--pt-panel) 65%); }
.dv-route__n { font: 700 13px/1 var(--pt-mono); color: var(--pt-acc); }
.dv-route__k { font: 600 12px/1.3 var(--pt-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--pt-mute); }
.dv-route__i h3 { font-size: 19px; line-height: 1.3; font-weight: 700; }
.dv-route__i p:last-child { font-size: 15px; line-height: 1.6; color: var(--pt-ink2); }
@media (min-width: 1024px) {
  .dv-route__i:not(:last-child)::after { content: "→"; position: absolute; right: -16px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--pt-bg2); color: var(--pt-acc); font: 700 13px/1 var(--pt-mono); z-index: 1; }
}
@media (max-width: 1023px) {
  .dv-route__i:not(:last-child)::after { content: "↓"; position: absolute; left: 22px; bottom: -15px; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--pt-bg2); color: var(--pt-acc); font: 700 12px/1 var(--pt-mono); z-index: 1; }
}

/* ---------- Hero căn giữa + thanh địa chỉ (SSL) ---------- */
.dv-hero__c { max-width: 900px; margin-inline: auto; text-align: center; }
.dv-hero__c .pt-btns, .dv-hero__c .pt-meta { justify-content: center; }
.dv-hero__c .pt-hero__lead { margin-inline: auto; }
.dv-hero--c .hv-crumbs { justify-content: center; }
.dv-lock { position: relative; max-width: 820px; margin: clamp(36px, 5vw, 56px) auto 0; text-align: left; }
.dv-lock__bar { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px 16px 0 0; background: #0D0F16; border: 1px solid rgba(var(--dv-a-rgb), .35); border-bottom: 0; box-shadow: 0 0 0 6px rgba(var(--dv-a-rgb), .06); }
.dv-lock__nav { display: flex; gap: 6px; flex: none; }
.dv-lock__nav i { width: 11px; height: 11px; border-radius: 50%; background: #3A3F52; }
.dv-lock__nav i:nth-child(1) { background: #FF5F57; } .dv-lock__nav i:nth-child(2) { background: #FEBC2E; } .dv-lock__nav i:nth-child(3) { background: #28C840; }
.dv-lock__url { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; background: #1A1F30; color: #F3F1EC; font: 500 14px/1.2 var(--pt-mono); white-space: nowrap; overflow: hidden; }
.dv-lock__url svg { width: 16px; height: 16px; flex: none; color: #3DDC97; }
.dv-lock__url b { color: #3DDC97; font-weight: 600; }
.dv-lock__url span { color: #A3A8BA; overflow: hidden; text-overflow: ellipsis; }
.dv-lock__pop { position: relative; padding: 20px 22px; background: #07080C; color: #E6E8F0; border: 1px solid rgba(var(--dv-a-rgb), .35); border-top: 1px solid rgba(255,255,255,.08); border-radius: 0 0 16px 16px; box-shadow: 0 40px 80px -30px rgba(0,0,0,.7); }
.dv-lock__ok { font-weight: 800; font-size: 18px; color: #3DDC97; display: flex; gap: 8px; align-items: center; margin-bottom: 12px; }
.dv-lock__pop dl { margin: 0; display: grid; }
.dv-lock__pop dl div { display: grid; grid-template-columns: minmax(0, 36%) 1fr; gap: 12px; padding: 9px 0; border-top: 1px solid rgba(255,255,255,.07); }
.dv-lock__pop dt { font: 500 13px/1.45 var(--pt-mono); color: #A3A8BA; }
.dv-lock__pop dd { margin: 0; font-size: 15px; line-height: 1.45; color: #F3F1EC; overflow-wrap: anywhere; }
.dv-lock__bad { margin: 14px auto 0; max-width: 560px; padding: 12px 16px; border-radius: 12px; border: 1px dashed rgba(255,97,102,.55); background: rgba(255,97,102,.06); }
.dv-lock__bad p { font: 600 14px/1.4 var(--pt-mono); color: var(--pt-red-hi); overflow-wrap: anywhere; }
.dv-lock__bad small { display: block; margin-top: 4px; font-size: 13.5px; color: var(--pt-ink2); }
@media (min-width: 900px) {
  .dv-lock__pop { width: 62%; margin-left: auto; margin-right: 6%; border-radius: 0 0 16px 16px; }
  .dv-lock__bad { position: absolute; left: 0; bottom: 18px; width: 34%; margin: 0; }
}

/* ---------- Bậc thang xác minh (SSL) ---------- */
.dv-ladder { display: grid; gap: 14px; }
@media (min-width: 1024px) { .dv-ladder { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: 16px; } }
.dv-ladder__s { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 22px; border-radius: 16px; background: var(--pt-panel); border: 1px solid var(--pt-line); min-width: 0; }
.dv-ladder__s::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; border-radius: 16px 0 0 16px; background: var(--dv-a); opacity: calc(.25 + var(--s) * .18); }
@media (min-width: 1024px) {
  .dv-ladder__s { min-height: calc(230px + var(--s) * 36px); }
  .dv-ladder__s::before { left: 0; right: 0; top: 0; bottom: auto; width: auto; height: calc(var(--s) * 4px + 2px); border-radius: 16px 16px 0 0; }
}
.dv-ladder__s--top { border-color: rgba(var(--dv-a-rgb), .55); background: linear-gradient(170deg, rgba(var(--dv-a-rgb), .12), var(--pt-panel) 60%); }
.dv-ladder__k { font: 700 12.5px/1.3 var(--pt-mono); letter-spacing: .05em; text-transform: uppercase; color: var(--pt-acc); }
.dv-ladder__s h3 { font-size: 20px; line-height: 1.3; font-weight: 700; }
.dv-ladder__s p { font-size: 15px; line-height: 1.6; color: var(--pt-ink2); }
.dv-ladder__s .dv-ladder__d { margin-top: auto; padding-top: 10px; border-top: 1px dashed var(--pt-line2); font: 500 13px/1.45 var(--pt-mono); color: var(--pt-mute); }

/* ---------- Bảng SSL (dùng .pt-spec) ---------- */
.dv-spec tbody th small.dv-tag { display: block; margin-top: 4px; font: 500 11.5px/1.35 var(--pt-mono); color: #6B5A2E; text-transform: none; }
.dv-spec tbody tr.is-hl th, .dv-spec tbody tr.is-hl td { background: #FFF8E6 !important; }
.dv-spec td.dv-price { margin: 0; padding-top: 14px; display: table-cell; }
.dv-spec .dv-price__v { font-size: 15.5px; color: #121316; display: block; }
.dv-spec .dv-price__v--q { color: #92400E; }
.dv-spec .dv-price small { display: block; color: #4A4E58; font-size: 12px; }
.dv-spec thead th { background: #1C1408; }
@media (max-width: 819px) {
  .dv-spec td.dv-price { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; }
  .dv-spec td.dv-price .dv-price__v, .dv-spec td.dv-price small { text-align: right; }
  .dv-spec td.dv-price small { flex: 1 0 100%; }
  .dv-spec tbody th small.dv-tag { color: #FCD34D; }
  .dv-spec tbody tr.is-hl td { background: #FFF8E6 !important; }
  .dv-spec tbody tr.is-hl th { background: #121316 !important; }
}

/* ---------- Miễn phí hay trả phí (SSL) ---------- */
.dv-decide { display: grid; gap: 16px; }
@media (min-width: 900px) { .dv-decide { grid-template-columns: 1fr 1fr; } }
.dv-decide__c { padding: clamp(20px, 2.4vw, 28px); border-radius: 18px; background: var(--pt-panel); border: 1px solid var(--pt-line); min-width: 0; }
.dv-decide__c--paid { border-color: rgba(var(--dv-a-rgb), .55); background: linear-gradient(160deg, rgba(var(--dv-a-rgb), .10), var(--pt-panel) 60%); }
.dv-decide__h { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--pt-line); }
.dv-decide__h span { font-size: 19px; font-weight: 800; }
.dv-decide__h b { font: 700 13px/1 var(--pt-mono); color: var(--pt-acc); padding: 6px 9px; border-radius: 7px; background: rgba(var(--dv-a-rgb), .12); }

/* ---------- Hoá đơn minh hoạ (hoá đơn điện tử) ---------- */
.dv-bill { position: relative; max-width: 480px; margin-inline: auto; padding: 26px 24px 34px; background: #FFFEFB; color: #1B1C20; border-radius: 6px 6px 0 0;
  box-shadow: 0 40px 70px -32px rgba(0,0,0,.7), 0 0 0 1px rgba(0,0,0,.06); }
@media (min-width: 1024px) { .dv-bill { transform: rotate(-1.6deg); } }
.dv-bill::after { content: ""; position: absolute; left: 0; right: 0; bottom: -12px; height: 12px; background: radial-gradient(circle at 9px 0, #FFFEFB 8.5px, transparent 9px) 0 0/18px 12px repeat-x; }
.dv-bill::before { content: ""; position: absolute; inset: 0 0 auto; height: 6px; border-radius: 6px 6px 0 0; background: linear-gradient(90deg, #C2410C, #FB923C); }
.dv-bill__hd { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.dv-bill__logo { display: flex; align-items: center; gap: 8px; font-weight: 800; font-size: 15px; }
.dv-bill__logo span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: #C2410C; color: #fff; font: 700 10.5px/1 var(--pt-mono); }
.dv-bill__meta { display: flex; flex-direction: column; gap: 2px; font: 500 12px/1.4 var(--pt-mono); color: #4A4E58; text-align: right; }
.dv-bill__meta b { color: #1B1C20; }
.dv-bill__t { margin-top: 18px; text-align: center; font-weight: 800; font-size: 17px; letter-spacing: .04em; color: #9A3412; }
.dv-bill__sub { text-align: center; font: 500 12px/1.4 var(--pt-mono); color: #6B6F7A; margin-top: 2px; }
.dv-bill__tb { width: 100%; margin-top: 16px; border-collapse: collapse; font-size: 13.5px; }
.dv-bill__tb th { text-align: left; font: 600 11.5px/1.3 var(--pt-mono); text-transform: uppercase; color: #6B6F7A; padding: 8px 6px; border-bottom: 1.5px solid #1B1C20; }
.dv-bill__tb td { padding: 9px 6px; border-bottom: 1px dashed #D6D3CC; color: #1B1C20; }
.dv-bill__tb th:nth-child(n+2), .dv-bill__tb td:nth-child(n+2) { text-align: right; }
.dv-bill__tb td:last-child { font-family: var(--pt-mono); letter-spacing: .05em; color: #6B6F7A; }
.dv-bill__sum td { font-weight: 800; border-bottom: 0; color: #1B1C20 !important; }
.dv-bill__ft { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.dv-bill__code { font: 500 12px/1.4 var(--pt-mono); color: #4A4E58; }
.dv-bill__seal { font: 700 12.5px/1 var(--pt-mono); color: #137A47; padding: 8px 10px; border: 1.5px solid #137A47; border-radius: 8px; transform: rotate(-3deg); }
.hv-dv-hddt .dv-hero__vis .pt-note { margin-top: 26px; text-align: center; }

/* ---------- Vòng đời hoá đơn ---------- */
.dv-life { display: grid; gap: 0; position: relative; }
@media (min-width: 1024px) { .dv-life { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; } }
.dv-life__i { position: relative; padding: 0 0 24px 58px; min-width: 0; }
.dv-life__i::after { content: ""; position: absolute; left: 21px; top: 44px; bottom: 0; width: 2px; background: repeating-linear-gradient(#E3B79E 0 6px, transparent 6px 12px); }
.dv-life__i:last-child::after { display: none; }
.dv-life__n { position: absolute; left: 0; top: 0; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: #fff; border: 2px solid #C2410C; color: #B4410C; font: 800 16px/1 var(--pt-mono); }
.dv-life__i:last-child .dv-life__n { background: #C2410C; color: #fff; }
.dv-life__i h3 { font-size: 19px; font-weight: 800; color: #121316; padding-top: 10px; }
.dv-life__i p { margin-top: 6px; font-size: 15px; line-height: 1.6; color: #3B3E46; }
@media (min-width: 1024px) {
  .dv-life__i { padding: 62px 0 0; }
  .dv-life__i::after { left: 52px; right: -14px; top: 21px; bottom: auto; width: auto; height: 2px; background: repeating-linear-gradient(90deg, #E3B79E 0 6px, transparent 6px 12px); }
  .dv-life__i h3 { padding-top: 0; }
}

/* ---------- Panel chuẩn bị (hoá đơn) ---------- */
@media (min-width: 900px) { .dv-prep { grid-template-columns: 1fr 1fr; } }
.dv-prep .pt-panel__h span:last-child { color: var(--pt-acc); }
