/* Nút "Tư vấn" và bảng tư vấn nội bộ (chỉ hiện sau khi đăng nhập) */
.tv-nut{min-width:8.5rem}
.ycau__day .btn{align-self:stretch}
.tv-ai{margin:.9rem 0 0; font-size:.72rem; font-weight:300; color:var(--ink-soft)}
.tv-lk{padding:0; border:0; background:none; font:inherit; color:var(--gold-ink); text-decoration:underline;
  text-underline-offset:3px; cursor:pointer}
.tv__nutdoc .tv-lk{font-size:.74rem}
.tv-lk[disabled]{opacity:.4; cursor:default}
.tv-vao a{font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; opacity:.45}
.tv-vao a:hover{opacity:1}

.tv{width:min(1240px,96vw); height:min(900px,94vh); max-width:none; max-height:none; padding:0; border:0;
  background:var(--paper); color:var(--ink); overflow:hidden; box-shadow:0 30px 80px rgba(20,18,16,.35)}
.tv[open]{display:grid; grid-template-rows:auto auto minmax(0,1fr)}
.tv::backdrop{background:rgba(20,18,16,.55)}
.tv__dau{display:flex; justify-content:space-between; align-items:flex-start; gap:1rem;
  padding:1.4rem 1.8rem 1.1rem; border-bottom:1px solid var(--line)}
.tv__dau h2{margin:.35rem 0 0; font-size:1.35rem; font-weight:300; letter-spacing:.05em; text-transform:uppercase; color:var(--oliu)}
.tv__dau h2 span{margin-left:.8rem; font-size:.72rem; letter-spacing:.2em; color:var(--ink-soft)}
.tv__nhan{margin:0; font-size:.62rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-ink)}
.tv__dong{width:2.4rem; height:2.4rem; border:1px solid var(--line); background:none; font-size:1rem; cursor:pointer; color:var(--ink)}
.tv__dong:hover{background:var(--ink); color:var(--paper)}
.tv__tab{display:flex; gap:.2rem; padding:0 1.8rem; border-bottom:1px solid var(--line); overflow-x:auto; scrollbar-width:none}
.tv__tab button{padding:.95rem 1rem .85rem; border:0; border-bottom:2px solid transparent; background:none; font:inherit;
  font-size:.74rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; color:var(--ink-soft); cursor:pointer}
.tv__tab button[aria-selected="true"]{color:var(--oliu); border-bottom-color:var(--oliu)}
.tv__luoi{display:grid; grid-template-columns:minmax(0,1fr) 320px; min-height:0}
.tv__than{min-height:0; overflow-y:auto; padding:1.5rem 1.8rem 2.5rem}
.tv__toho{min-height:0; overflow-y:auto; padding:1.5rem 1.4rem 2rem; border-left:1px solid var(--line); background:#F0EBE0}
.tv__tom{margin:0 0 1.4rem; font-size:.95rem; font-weight:300; line-height:1.9; text-align:justify}
.tv__chu{margin:0 0 1.1rem; font-size:.78rem; font-weight:300; line-height:1.75; color:var(--ink-soft)}
.tv__muc{margin:0 0 1.8rem}
.tv__muc h3{margin:0 0 .7rem; padding-bottom:.5rem; border-bottom:1px solid var(--line); font-size:.78rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--oliu)}
.tv__ds, .tv__hoi, .tv__buoc{margin:0; padding:0; list-style:none; counter-reset:b}
.tv__ds li, .tv__hoi li, .tv__buoc li{padding:.6rem 0; border-bottom:1px solid var(--line-soft); font-size:.86rem; font-weight:300; line-height:1.75}
.tv__ds li b, .tv__hoi li b, .tv__buoc li b{display:block; font-weight:500; color:var(--ink)}
.tv__hoi li span, .tv__ds li span, .tv__buoc li span{color:var(--ink-soft)}
.tv__buoc li{counter-increment:b; padding-left:2.2rem; position:relative}
.tv__buoc li::before{content:counter(b,decimal-leading-zero); position:absolute; left:0; top:.65rem; font-size:.7rem;
  font-weight:600; letter-spacing:.1em; color:var(--gold-ink)}
.tv__tim{width:100%; margin:0 0 1.3rem; padding:.7em .9em; border:1px solid var(--line); background:#fff; font:inherit; font-size:.86rem; color:var(--ink)}
.tv__tim:focus{outline:none; border-color:var(--oliu)}
.tv__cuon{overflow-x:auto}
.tv__nl{width:100%; border-collapse:collapse; font-size:.8rem; font-weight:300; line-height:1.6}
.tv__nl th{padding:.5rem .6rem; text-align:left; font-size:.62rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-soft); border-bottom:1px solid var(--line); white-space:nowrap}
.tv__nl td{padding:.6rem; vertical-align:top; border-bottom:1px solid var(--line-soft)}
.tv__nl td b{display:block; font-weight:500}
.tv__nl td small{display:block; color:var(--ink-soft)}
.tv__nl td:nth-child(2){min-width:12rem}
.tv__nl td:nth-child(3){min-width:9.5rem}
.tv__nl td:nth-child(6){min-width:14rem; color:var(--ink-soft)}
.tv__nl input{width:1rem; height:1rem; accent-color:#5C6B34; cursor:pointer}
.tv__so{white-space:nowrap; font-variant-numeric:tabular-nums}
.tv__gia{display:inline-block; padding:.1em .6em; font-size:.68rem; white-space:nowrap; border:1px solid var(--line)}
.tv__gia--3{border-color:#B07D22; color:#7A5410}
.tv__pa{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.2rem}
.tv__pa article{display:flex; flex-direction:column; gap:.6rem; padding:1.3rem 1.2rem; border:1px solid var(--line); background:#fff}
.tv__pa h3{margin:0; font-size:1.02rem; font-weight:400; color:var(--oliu)}
.tv__pa p{margin:0; font-size:.8rem; font-weight:300; line-height:1.7}
.tv__pa p b{font-weight:500}
.tv__dv{color:var(--ink-soft)}
.tv__tp{margin:.2rem 0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:.3rem}
.tv__tp li{padding:.15em .6em; font-size:.7rem; border:1px solid var(--line); background:var(--paper)}
.tv__pa .btn{margin-top:auto; font-size:.66rem}
.tv__dem{margin:.4rem 0 1rem; font-size:.78rem; font-weight:300; color:var(--ink-soft)}
.tv__nh h4{margin:1rem 0 .3rem; font-size:.62rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft)}
.tv__nh ul{margin:0; padding:0; list-style:none}
.tv__nh li{display:flex; justify-content:space-between; align-items:flex-start; gap:.5rem; padding:.4rem 0;
  border-bottom:1px solid rgba(20,18,16,.08); font-size:.8rem; line-height:1.5}
.tv__nh li small{display:block; font-weight:300; color:var(--ink-soft)}
.tv__nh li button{border:0; background:none; font-size:.7rem; color:var(--ink-soft); cursor:pointer}
.tv__toho textarea{width:100%; margin-top:1.2rem; padding:.7em .8em; border:1px solid var(--line); background:#fff;
  font:inherit; font-size:.8rem; line-height:1.6; resize:vertical; color:var(--ink)}
.tv__nutdoc{display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin-top:.9rem}
.tv__nutdoc .btn{font-size:.64rem; padding-left:1.1em; padding-right:1.1em}
.tv__nutdoc .btn[disabled]{opacity:.45; cursor:default; transform:none}
.tv__bao{margin:.7rem 0 0; font-size:.74rem; color:var(--oliu)}
.tv__bao:empty{display:none}
@media (max-width:900px){
  .tv{width:100vw; height:100dvh}
  .tv__luoi{grid-template-columns:1fr; grid-template-rows:minmax(0,1fr) auto}
  .tv__toho{max-height:38dvh; border-left:0; border-top:1px solid var(--line)}
  .tv__dau, .tv__tab, .tv__than{padding-left:1rem; padding-right:1rem}
}

/* chuyên luận nguyên liệu */
.tv-nlten{padding:0; border:0; background:none; font:inherit; font-weight:500; text-align:left; color:var(--ink); cursor:pointer;
  text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:4px}
.tv-nlten:hover{color:var(--oliu); text-decoration-color:var(--oliu)}
.tv--nl{width:min(860px,96vw); height:min(900px,94vh)}
.tv--nl[open]{grid-template-rows:auto minmax(0,1fr)}
.tv--nl .tv__dau h2{text-transform:none; letter-spacing:.02em; font-size:1.3rem}
.tv-nlphu{margin:.3rem 0 0; font-size:.82rem; font-weight:300; color:var(--ink-soft)}
.tv-doan{margin:0; font-size:.88rem; font-weight:300; line-height:1.8; text-align:justify}
.tv-dl{margin:0; display:grid; gap:0}
.tv-dl > div{display:grid; grid-template-columns:12.5rem minmax(0,1fr); gap:1rem; padding:.6rem 0; border-bottom:1px solid var(--line-soft)}
.tv-dl dt{font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); padding-top:.15rem}
.tv-dl dd{margin:0; font-size:.88rem; font-weight:300; line-height:1.7; overflow-wrap:anywhere}
.tv-ct{font-weight:500; font-variant-numeric:tabular-nums}
.tv-the{margin:0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:.35rem}
.tv-the li{padding:.2em .7em; font-size:.8rem; font-weight:300; border:1px solid var(--line); background:#fff}
.tv-the .tv-lk{text-decoration:underline}
.tv-yvan{margin:0; padding-left:1.2rem}
.tv-yvan li{padding:.45rem 0; font-size:.86rem; line-height:1.6}
.tv-yvan a, .tv-nguon a, .tv-nguonds a{color:var(--gold-ink); text-underline-offset:3px}
.tv-yvan small{display:block; margin-top:.15rem; font-size:.74rem; color:var(--ink-soft)}
.tv-nguon{margin:.7rem 0 0; font-size:.76rem; font-weight:300; line-height:1.7; color:var(--ink-soft)}
.tv-nguonds{margin:.3rem 0 0; padding-left:1.2rem; font-size:.8rem; line-height:1.8}
.tv-chuthich{margin:.9rem 0 0; padding:.7rem .9rem; border-left:3px solid var(--gold); background:#F6F0E2; font-size:.76rem; font-weight:300; line-height:1.7}
@media (max-width:700px){ .tv--nl{width:100vw; height:100dvh} .tv-dl > div{grid-template-columns:1fr; gap:.2rem} }

/* chuyên luận trình bày theo bố cục thẻ nguyên liệu của ERP */
.tv-nguongoc{display:inline-block; margin:.6rem 0 0; padding:.15em .7em; font-size:.7rem; border:1px solid var(--line); color:var(--ink-soft)}
.tv-nguongoc--erp{border-color:var(--oliu); color:var(--oliu)}
.tv-chu{white-space:pre-line; overflow-wrap:anywhere}
.tv-chu a{color:var(--gold-ink); text-underline-offset:3px}
.tv-hq{margin-top:1rem}
.tv-hq > div{padding:.8rem 0; border-top:1px solid var(--line-soft)}
.tv-hq h4{margin:0 0 .3rem; font-size:.74rem; font-weight:600; letter-spacing:.06em; color:var(--oliu)}
.tv-hq p{margin:0; font-size:.88rem; font-weight:300; line-height:1.8; text-align:justify}
.tv-bang{width:100%; border-collapse:collapse; font-size:.86rem; line-height:1.7}
.tv-bang th, .tv-bang td{padding:.6rem .8rem; border:1px solid var(--line); vertical-align:top; text-align:left}
.tv-bang th{width:11.5rem; background:#F1EEE3; font-size:.72rem; font-weight:600; letter-spacing:.04em; color:var(--ink)}
.tv-bang td{font-weight:300; background:#fff}
.tv-bang--do th{background:#F6EAE4}
@media (max-width:700px){ .tv-bang th, .tv-bang td{display:block; width:auto} .tv-bang th{border-bottom:0} .tv-bang td{border-top:0} }

/* nguyên liệu key marketing */
.tv-km__toi{margin:-.4rem 0 1.4rem; font-size:.8rem}
.tv-km{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1rem}
.tv-km > article{display:flex; flex-direction:column; gap:.55rem; padding:1rem 1.1rem 1.1rem; border:1px solid var(--line); background:#fff}
.tv-km > article[hidden]{display:none}
.tv-km__dau{display:flex; gap:.7rem; align-items:flex-start}
.tv-km__dau h4{margin:0; font-size:.95rem; font-weight:500; line-height:1.4; color:var(--ink)}
.tv-km__dau .tv-nlten{margin-top:.15rem; font-size:.76rem; font-weight:400; color:var(--ink-soft)}
.tv-km__chon input{width:1.05rem; height:1.05rem; margin-top:.2rem; accent-color:#5C6B34; cursor:pointer}
.tv-km__nguon{align-self:flex-start; padding:.12em .6em; font-size:.66rem; letter-spacing:.02em; border:1px solid var(--gold); color:var(--gold-ink); background:#FBF4E4}
.tv-km__nguon--erp{border-color:var(--oliu); color:var(--oliu); background:#F1F3EA}
.tv-km > article > p{margin:0; font-size:.8rem; font-weight:300; line-height:1.65; text-align:left}
.tv-km > article > p b{font-weight:500}
.tv-km__ly{color:var(--ink-soft)}
.tv-km__nhan{padding-top:.5rem; border-top:1px dashed var(--line)}
.tv__than > .tv-chuthich{margin:0 0 1.8rem}
