/* Moats — CSS riêng tab Phân tích 360 (assets/stock-360.js, tiền tố .x3-).
   Thiết kế lại 09/10/2026 (agent B). CHỈ dùng biến màu của moats.css → tự đúng ở nền tối.
   Mobile trước: 1 cột; ≥720px lưới 2 cột; ≥1100px lưới 3 cột. */

/* ---------- màu theo mức: ok = xanh ngọc · warn = cam · bad = đỏ · neu = xám ---------- */
.x3-tf-ok{color:var(--ok)} .x3-tf-warn{color:var(--warn)} .x3-tf-bad{color:var(--bad)} .x3-tf-neu{color:var(--muted)}
.x3-tb-ok{background:var(--okbg)} .x3-tb-warn{background:var(--warnbg)} .x3-tb-bad{background:var(--badbg)} .x3-tb-neu{background:var(--neubg)}
.x3-bg-ok{background:var(--mint)} .x3-bg-warn{background:var(--orange)} .x3-bg-bad{background:var(--down)} .x3-bg-neu{background:var(--muted)}
.x3-st-ok{stroke:var(--mint)} .x3-st-warn{stroke:var(--orange)} .x3-st-bad{stroke:var(--down)} .x3-st-neu{stroke:var(--muted)}
.x3-t-ok{color:var(--ok)} .x3-t-warn{color:var(--orange)} .x3-t-bad{color:var(--down)} .x3-t-neu{color:var(--muted)}

.x3 .num,.x3-svg,.x3-radar{font-variant-numeric:tabular-nums}
.x3-ico{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}
.x3-mini{font-size:var(--fs-xs);color:var(--muted);line-height:1.5;margin:0}
.x3-na{color:var(--muted);font-weight:500;font-size:var(--fs-sm)}
.x3-empty{color:var(--muted);font-size:var(--fs-md);margin:12px 0 0}
.x3-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:var(--fs-md);color:var(--link);text-decoration:none}
.x3-link:hover{color:var(--link-hover);text-decoration:underline}
.x3-link .x3-ico{width:16px;height:16px}
.x3-h3{font-size:var(--fs);font-weight:700;margin:20px 0 4px;color:var(--ink)}
.x3 .card{min-width:0}

/* ---------- 1. dải tóm tắt ---------- */
.x3-hero{padding:20px}
.x3-hero__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
.x3-hero__main{min-width:0}
.x3-kick{font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.x3-id{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:4px}
.x3-sym{font-size:28px;font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1.1}
.x3-name{color:var(--muted);font-size:var(--fs-md);font-weight:500}
.x3-quote{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:2px}
.x3-quote b{font-size:20px;font-weight:700;color:var(--ink)}
.x3-quote span{font-weight:600;font-size:var(--fs-md)}
.x3-quote .up{color:var(--up-t)} .x3-quote .down{color:var(--down-t)} .x3-quote .flat{color:var(--ref-t)}
.x3-quote small{color:var(--muted);font-size:var(--fs-xs)}
.x3-score{display:flex;align-items:center;gap:16px;margin-top:16px}
.x3-ring{width:96px;height:96px;flex:none}
.x3-ring__bg{fill:none;stroke:var(--line-2);stroke-width:9}
.x3-ring__fg{fill:none;stroke-width:9;stroke-linecap:round}
.x3-ring__v{font:800 26px var(--font);fill:var(--ink)}
.x3-ring__s{font:600 11px var(--font);fill:var(--muted)}
.x3-score__r{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.x3-score__k{font-size:var(--fs-sm);font-weight:600;color:var(--muted)}
.x3-grade{font-size:16px;font-weight:800;padding:5px 16px}
.x3-say{font-size:var(--fs);line-height:1.6;color:var(--ink);margin:14px 0 0}
.x3-say b,.x3-p__say b,.x3-pc b,.x3-z__say b,.x3-rg__say b,.x3-flags b{font-weight:700;color:var(--ink)}
.x3-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.x3-dwchip{display:inline-flex;align-items:center;gap:8px;background:var(--warnbg);color:var(--warn);border-radius:999px;padding:5px 12px;font-size:var(--fs-sm);font-weight:600;text-decoration:none;margin-bottom:10px}
.x3-dwchip:hover{text-decoration:underline}
.x3-dwchip .x3-ico{width:16px;height:16px}

/* vùng giá 4M */
.x3-z{background:var(--card-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px;min-width:0;display:flex;flex-direction:column;gap:12px}
.x3-z__head{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.x3-vpill{font-weight:700;font-size:var(--fs-sm);white-space:normal;line-height:1.35;padding:4px 12px}
.x3-z__na{margin:0;color:var(--muted);font-size:var(--fs-md);line-height:1.55}
.x3-zt{position:relative;display:flex;height:12px;border-radius:6px;margin-top:30px;gap:2px}
.x3-zt__s{display:block;height:100%}
.x3-zt__s:first-child{border-radius:6px 0 0 6px} .x3-zt__s:last-of-type{border-radius:0 6px 6px 0}
.x3-zt__s--ok{background:var(--mint)} .x3-zt__s--mid{background:var(--border-input)} .x3-zt__s--hot{background:var(--orange)}
.x3-zt__m{position:absolute;top:-30px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none}
.x3-zt__m b{background:var(--ink);color:var(--card);border-radius:6px;padding:2px 8px;font-size:var(--fs-xs);font-weight:700;white-space:nowrap}
.x3-zt__m i{width:3px;height:26px;background:var(--ink);border-radius:2px;margin-top:2px;box-shadow:0 0 0 2px var(--card-2)}
.x3-ztiles{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.x3-ztile{border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 12px;background:var(--card);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:baseline}
.x3-ztile__n{font-size:var(--fs-sm);font-weight:700;color:var(--ink);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.x3-ztile__v{font-weight:700;font-size:var(--fs-md);color:var(--ink);text-align:right;white-space:nowrap}
.x3-ztile__s{grid-column:1 / -1;font-size:var(--fs-xs);color:var(--muted)}
.x3-ztile--ok .x3-ztile__n::before,.x3-ztile--mid .x3-ztile__n::before,.x3-ztile--hot .x3-ztile__n::before{content:"";width:10px;height:10px;border-radius:3px;flex:none}
.x3-ztile--ok .x3-ztile__n::before{background:var(--mint)} .x3-ztile--mid .x3-ztile__n::before{background:var(--line);box-shadow:inset 0 0 0 1px var(--border-input)} .x3-ztile--hot .x3-ztile__n::before{background:var(--orange)}
.x3-ztile.is-on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.x3-here{font-size:11px;font-weight:700;background:var(--ink);color:var(--card);border-radius:999px;padding:1px 8px}
.x3-z__say{margin:0;font-size:var(--fs-md);line-height:1.55;color:var(--ink2)}

/* ---------- 2. radar + 5 thẻ trụ cột ---------- */
.x3-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.x3-p,.x3-rcard{display:flex;flex-direction:column}
.x3-p__head{display:flex;align-items:center;gap:10px;min-width:0}
.x3-p__head h2,.x3-p__head h3{font-size:var(--fs-lg);font-weight:700;margin:0;color:var(--ink);flex:1;min-width:0;line-height:1.3}
.x3-p__ico{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none}
.x3-p__sc{white-space:nowrap}
.x3-p__sc b{font-size:24px;font-weight:800}
.x3-p__sc small{font-size:var(--fs-sm);color:var(--muted);font-weight:600;margin-left:1px}
.x3-sbar{display:block;height:8px;border-radius:4px;background:var(--line-2);overflow:hidden;margin-top:12px}
.x3-sbar i{display:block;height:100%;border-radius:4px}
.x3-sbar--sm{height:6px;margin:0}
.x3-sbar--xs{height:5px;margin:0;width:44px;display:inline-block;vertical-align:middle}
.x3-p__say{font-size:var(--fs-md);line-height:1.6;color:var(--ink2);margin:12px 0 4px}
.x3-ml{list-style:none;margin:6px 0 0;padding:0}
.x3-m{padding:10px 0;border-top:1px solid var(--line-2)}
.x3-m:first-child{border-top:0}
.x3-m__top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.x3-m__k{font-size:var(--fs-md);color:var(--ink2);min-width:0}
.x3-m__v{font-weight:700;font-size:var(--fs);color:var(--ink);white-space:nowrap;display:inline-flex;align-items:baseline;gap:5px}
.x3-arr{font-size:10px;line-height:1}
.x3-cb{position:relative;height:6px;border-radius:3px;background:var(--line-2);margin:7px 0 2px}
.x3-cb i{position:absolute;left:0;top:0;bottom:0;border-radius:3px;opacity:.9}
.x3-cb b{position:absolute;top:-3px;width:2px;height:12px;background:var(--ink);border-radius:1px;transform:translateX(-1px)}
.x3-cb u{position:absolute;top:-3px;width:8px;height:12px;border:2px solid var(--muted);border-radius:3px;transform:translateX(-4px);background:var(--card);text-decoration:none;box-sizing:border-box}
.x3-m__sub{font-size:var(--fs-xs);color:var(--muted);margin-top:4px;line-height:1.5}
.x3-m__sub b{font-weight:600;color:var(--ink2)}
.x3-dot{margin:0 6px;color:var(--line)}
.x3-fig{margin:14px 0 0;padding:12px 12px 10px;border-radius:var(--radius-sm);background:var(--card-2);border:1px solid var(--line-2)}
.x3-fig__t{font-size:var(--fs-sm);font-weight:600;color:var(--ink2)}
.x3-fig__cap{font-size:var(--fs-xs);color:var(--muted);margin-top:4px;line-height:1.5}
.x3-fig__cap b{color:var(--ink);font-weight:700}
.x3-svg{display:block;width:100%;height:auto;margin-top:6px;overflow:visible}
.x3-svgt{font:500 10px var(--font);fill:var(--muted)}
.x3-axis{stroke:var(--line);stroke-width:1}
.x3-leg{display:flex;gap:14px;flex-wrap:wrap;margin-top:4px;font-size:var(--fs-xs);color:var(--muted)}
.x3-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.x3-nochart{margin-top:14px}
.x3-dp{margin-top:12px;font-size:var(--fs-sm)}
.x3-dp summary{cursor:pointer;font-weight:600;color:var(--link);padding:4px 0}
.x3-dp .tbl{margin-top:6px}
.x3-dp .x3-mini{margin-top:6px}

/* radar */
.x3-radar{display:block;width:100%;max-width:400px;height:auto;margin:6px auto 0}
.x3-rd-ring{fill:none;stroke:var(--line);stroke-width:1}
.x3-rd-ring--o{stroke:var(--border-input)}
.x3-rd-spoke{stroke:var(--line);stroke-width:1}
.x3-rd-area{fill:var(--mint);fill-opacity:.22;stroke:var(--mint);stroke-width:2.2;stroke-linejoin:round}
.x3-rd-dot{fill:var(--card);stroke:var(--mint);stroke-width:2.2}
.x3-rd-lbl{font:600 13px var(--font);fill:var(--ink2)}
.x3-rd-val{font:800 14px var(--font)}
.x3-rd-val.x3-tf-ok{fill:var(--ok)} .x3-rd-val.x3-tf-warn{fill:var(--warn)} .x3-rd-val.x3-tf-bad{fill:var(--bad)} .x3-rd-val.x3-tf-neu{fill:var(--muted)}
.x3-axl{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}
.x3-axbtn{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(60px,120px) 36px;gap:12px;align-items:center;background:none;border:0;border-radius:var(--radius-sm);padding:7px 8px;font:inherit;font-size:var(--fs-md);color:var(--ink);cursor:pointer;text-align:left}
.x3-axbtn:hover{background:var(--hover)}
.x3-axbtn:focus-visible{outline:2px solid var(--link);outline-offset:1px}
.x3-axbtn b{text-align:right;font-weight:800}
.x3-howto{margin-top:auto;padding-top:14px;border-top:1px solid var(--line-2);font-size:var(--fs-xs);color:var(--muted);line-height:1.6}
.x3-axl{margin-bottom:16px}
.x3-howto b{color:var(--ink2)}
.x3-howto a{color:var(--link);font-weight:600}
.x3-legend{font-size:var(--fs-xs);color:var(--muted);line-height:1.7;margin:-6px 2px 0}
.x3-legend b{color:var(--ink2)}
.sw{display:inline-block;vertical-align:-1px;margin:0 4px 0 6px}
.sw-v{width:16px;height:6px;border-radius:3px;background:var(--mint)}
.sw-i{width:2px;height:11px;background:var(--ink)}
.sw-h{width:8px;height:11px;border:2px solid var(--muted);border-radius:3px;box-sizing:border-box}

/* ---------- 3. điểm mạnh / lưu ý ---------- */
.x3-g2{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.x3-count{min-width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:var(--fs-md);padding:0 8px}
.x3-pcard--ok .x3-count{background:var(--okbg);color:var(--ok)}
.x3-pcard--warn .x3-count{background:var(--warnbg);color:var(--warn)}
.x3-pcard--ok{border-top:3px solid var(--mint)}
.x3-pcard--warn{border-top:3px solid var(--orange)}
.x3-pc,.x3-flags{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.x3-pc li,.x3-flags li{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs);line-height:1.55;color:var(--ink2)}
.x3-pc__i{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;margin-top:-1px}
.x3-pc__i .x3-ico{width:15px;height:15px;stroke-width:2.4}
.x3-pc__i--ok{background:var(--okbg);color:var(--ok)}
.x3-pc__i--warn{background:var(--warnbg);color:var(--warn)}
.x3-pc__i--bad{background:var(--badbg);color:var(--bad)}
.x3-ftag{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-right:2px}

/* ---------- 4. định giá so với lịch sử ---------- */
.x3-val .x3-mini{margin-top:8px}
.x3-rg{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-2)}
.x3-rg__h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:var(--fs-md);color:var(--ink2)}
.x3-rg__h>b{font-size:var(--fs);color:var(--ink)}
.x3-rg__h .num b{font-size:var(--fs-lg);color:var(--ink);font-weight:800}
.x3-rg__indt{color:var(--muted)}
.x3-rg__bar{position:relative;height:30px;margin:12px 6px 0}
.x3-rg__full{position:absolute;top:11px;height:8px;background:var(--line-2);border-radius:4px}
.x3-rg__core{position:absolute;top:11px;height:8px;background:var(--line);border-radius:4px}
.x3-rg__low{position:absolute;top:11px;height:8px;background:var(--mint);opacity:.55;border-radius:4px 0 0 4px}
.x3-rg__med{position:absolute;top:6px;width:2px;height:18px;background:var(--muted);transform:translateX(-1px);border-radius:1px}
.x3-rg__ind{position:absolute;top:22px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid var(--ink);transform:translateX(-6px)}
.x3-rg__cur{position:absolute;top:6px;width:18px;height:18px;border-radius:50%;background:var(--c1);border:3px solid var(--card);box-shadow:0 0 0 1.5px var(--c1);transform:translateX(-9px)}
.x3-rg__ticks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:8px;font-size:11px;color:var(--muted);text-align:center}
.x3-rg__ticks span{display:flex;flex-direction:column;gap:1px;min-width:0}
.x3-rg__ticks b{font-size:var(--fs-sm);color:var(--ink2);font-weight:700}
.x3-rg__say{margin:10px 0 0;font-size:var(--fs-md);line-height:1.55;color:var(--ink2)}
.x3-rg__leg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:16px;font-size:var(--fs-xs);color:var(--muted)}
.x3-rg__leg span{display:inline-flex;align-items:center;gap:6px}
.x3-rg__leg i{display:inline-block;flex:none}
.lg-cur{width:12px;height:12px;border-radius:50%;background:var(--c1)}
.lg-ind{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:7px solid var(--ink)}
.lg-med{width:2px;height:12px;background:var(--muted)}
.lg-low{width:14px;height:8px;border-radius:2px;background:var(--mint);opacity:.55}
.lg-core{width:14px;height:8px;border-radius:2px;background:var(--line)}

/* ---------- 5. rủi ro ---------- */
.x3-dw{display:flex;gap:10px;align-items:flex-start;background:var(--warnbg);color:var(--warn);border-left:4px solid var(--orange);border-radius:var(--radius-sm);padding:10px 12px;margin-top:14px;font-size:var(--fs-md);line-height:1.55}
.x3-dw .x3-ico{margin-top:2px}
.x3-dw a{color:inherit;font-weight:700;text-decoration:underline}
.x3-rts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.x3-rt{border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;min-width:0;background:var(--card-2)}
.x3-rt__k{font-size:var(--fs-xs);color:var(--muted);font-weight:600}
.x3-rt__v{font-size:var(--fs-lg);font-weight:800;color:var(--ink);margin-top:4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.x3-rt__v .pill{font-size:var(--fs-sm)}
.x3-rt__s{font-size:11.5px;color:var(--muted);margin-top:6px;line-height:1.45}
.x3-rt__s b{color:var(--ink2)}
.x3-meter{position:relative;height:6px;border-radius:3px;background:var(--line-2);margin-top:8px}
.x3-meter i{position:absolute;left:0;top:0;bottom:0;border-radius:3px}
.x3-meter b{position:absolute;top:-2px;width:2px;height:10px;background:var(--muted);transform:translateX(-1px)}

/* ---------- 6. so sánh cùng ngành ---------- */
.x3-tblw{margin-top:10px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.x3-ptbl{width:100%}
.x3-ptbl th.l{min-width:0}
.x3-ptbl .sym{font-weight:800}
.x3-pn{display:block;font-size:11.5px;color:var(--muted);font-weight:500;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.x3-unit{font-weight:500}
.x3-psc{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end}
.x3-psc b{font-weight:800}
.x3-me{background:var(--okbg)}
.x3-me th,.x3-me td{background:transparent}

/* ---------- nguồn ---------- */
.x3-src{font-size:var(--fs-xs);color:var(--muted);line-height:1.65;margin:0 2px}
.x3-src b{color:var(--ink2)}
.x3-src a{color:var(--link)}

/* ---------- màn hẹp ---------- */
@media (max-width:480px){
  .x3-hero{padding:16px}
  .x3 .card{padding:16px}
  .x3-sym{font-size:24px}
  .x3-ring{width:84px;height:84px}
  .x3-pn{display:none}
  .x3-unit{display:block;font-size:10px}
  .x3-sbar--xs{display:none}
  .x3-ptbl th,.x3-ptbl td{padding-left:6px;padding-right:6px}
  .x3-rg__ticks{font-size:10px}
  .x3-rg__ticks b{font-size:12px}
}

/* ---------- màn rộng ---------- */
@media (min-width:600px){
  .x3-ztiles--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .x3-ztiles--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .x3-ztile{display:block}
  .x3-ztile__v{text-align:left;margin-top:4px}
  .x3-ztile__s{margin-top:2px}
  .x3-rts{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:720px){
  .x3-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:900px){
  .x3-hero{padding:24px}
  .x3-hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:28px;align-items:start}
  .x3-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .x3-g2--top{align-items:start}
  .x3-rts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .x3-sym{font-size:32px}
}
@media (min-width:1100px){
  .x3-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* =====================================================================
   TAB "TỔNG QUAN" GỘP (4M + 360) — 09/10/2026. Tiền tố .ov / .ovh / .ovl / .ovf / .ov4m / .x3-acc.
   Mobile trước: 1 cột; ≥900px khối đôi 2 cột; ≥1100px radar + 5 trụ cột cạnh nhau.
   CHỈ dùng biến màu của moats.css (thẻ kết luận luôn nền tối --hdr ở cả 2 giao diện).
   ===================================================================== */
.ov{gap:20px}
.ov .pchart{height:320px}
.ov-g2,.ov-360{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:stretch}
.ov .x3-rcard .x3-howto{margin-top:16px}
.ov-span{grid-column:1/-1}

/* A. thẻ kết luận */
.ovh{background:var(--hdr);color:var(--on-dark);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:18px;min-width:0}
.ovh__top{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:center}
.ovh__main{min-width:0}
.ovh__k{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-3);margin-bottom:10px}
.ovh__sent{color:var(--on-dark-2);font-size:var(--fs);line-height:1.6;margin:12px 0 0;max-width:760px}
.ovh__sent--lock{display:flex;gap:8px;align-items:center;color:var(--on-dark-3);font-size:var(--fs-md)}
.ovh__dw{display:inline-flex;align-items:center;gap:6px;margin-top:12px;background:color-mix(in srgb,var(--orange) 24%,transparent);color:var(--on-dark);border-radius:999px;padding:6px 12px;font-size:var(--fs-sm);font-weight:600;text-decoration:none;line-height:1.4}
.ovh__dw:hover{text-decoration:underline}
.ovh__score{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--on-dark);background:var(--hdr-2);border:1px solid var(--hdr-line);border-radius:16px;padding:10px 16px 10px 10px;justify-self:start}
.ovh__score:hover{border-color:var(--mint)}
.ovh__score--na{padding:14px 16px;flex-direction:column;align-items:flex-start;gap:2px}
.ovh .x3-ring{width:80px;height:80px}
.ovh .x3-ring__bg{stroke:var(--hdr-line)}
.ovh .x3-ring__v{fill:var(--on-dark)}
.ovh .x3-ring__s{fill:var(--on-dark-3)}
.ovh__sr{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.ovh__sk{font-size:var(--fs-sm);color:var(--on-dark-3);font-weight:600}
.ovh__grade{font-size:15px;font-weight:800;padding:3px 14px}
.ovh__sl{font-size:12.5px;color:var(--mint-on-dark);font-weight:600}
.ovh__zone{border-top:1px solid var(--hdr-line);padding-top:16px;min-width:0}
.ovh__zh{display:flex;align-items:center;gap:2px;font-size:var(--fs-sm);color:var(--on-dark-3);font-weight:600;margin-bottom:8px}
.ovh .zlegend b{font-size:var(--fs-sm)}

/* khối khoá Pro (không có số thật trong DOM) */
.ovl{display:grid;border-radius:12px;overflow:hidden;margin-top:12px;min-width:0}
.ovl > *{grid-area:1/1}
.ovl__ghost{filter:blur(2px);opacity:.55;padding:6px 2px;min-height:130px}
.ovl__cta{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:18px 14px;background:color-mix(in srgb,var(--card) 50%,transparent);z-index:1}
.ovl__ico{width:38px;height:38px;border-radius:50%;background:var(--pro-bg);color:var(--pro-t);border:1px solid var(--pro-line);display:flex;align-items:center;justify-content:center}
.ovl__cta b{font-size:var(--fs);color:var(--ink);max-width:440px;line-height:1.4}
.ovl__d{font-size:var(--fs-sm);color:var(--muted);max-width:440px;line-height:1.5}
.ovl__cta .btn{margin-top:6px}
.ovl--dark{margin-top:4px}
.ovl--dark .ovl__ghost{min-height:96px}
.ovl--dark .ovl__cta{background:color-mix(in srgb,var(--hdr) 45%,transparent);padding:12px}
.ovl--dark .ovl__ico{background:color-mix(in srgb,var(--orange) 22%,transparent);color:var(--on-dark);border-color:color-mix(in srgb,var(--orange) 50%,transparent)}
.ovl--dark b{color:var(--on-dark)}
.ovl--dark .ovl__d{color:var(--on-dark-2)}
.ovl__btn--dark{background:var(--on-dark);color:var(--hdr);border-color:var(--on-dark)}
.ovl__btn--dark:hover{background:var(--on-dark-2);border-color:var(--on-dark-2);color:var(--hdr)}

/* C. 4M tóm tắt */
.ov4m__list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column}
.ov4m__list li{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line-2)}
.ov4m__list li:first-child{border-top:0}
.ov4m__n{width:28px;height:28px;border-radius:8px;background:var(--neubg);color:var(--ink2);font-weight:800;font-size:var(--fs-md);display:flex;align-items:center;justify-content:center;flex:none}
.ov4m__b{flex:1;min-width:0}
.ov4m__h{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.ov4m__h b{font-size:var(--fs);color:var(--ink)}
.ov4m__en{font-size:var(--fs-xs);color:var(--muted)}
.ov4m__d{font-size:var(--fs-sm);color:var(--muted);margin-top:2px;line-height:1.5}
.ov4m__s{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:8px}
.ov4m__s .pill{white-space:normal;line-height:1.35}
.ck4{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-sm);font-weight:600;color:var(--ink2);cursor:pointer;min-height:32px}
.ck4 input{width:18px;height:18px;margin:0;accent-color:var(--ok);flex:none}
.ov4m details.more .m3{margin-top:8px}

/* D. hai khung định giá */
.ovf{min-width:0}
.ovf__t{font-size:var(--fs-lg);font-weight:700;margin:10px 0 0;color:var(--ink);line-height:1.4}
.ovf__tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.ovf__tile{background:var(--card-2);border:1px solid var(--line-2);border-radius:12px;padding:12px;min-width:0}
.ovf__tile .v{font-size:20px;font-weight:800;margin-top:2px;color:var(--ink)}
.ovf__tile.is-key{background:var(--okbg);border-color:transparent}
.ovf__tile.is-key .lbl,.ovf__tile.is-key .v{color:var(--oktext)}
.ovf .v.tx-ok{color:var(--ok)} .ovf .v.tx-warn{color:var(--warn)}
.ovf__ch{margin-top:14px}
.ovf__chh{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between}
.ovf__chh b{font-size:var(--fs);color:var(--ink)}
.ovf .stats3{margin-top:10px}
.ovf__kv{margin-top:14px}
.ovf__sec{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-2)}
.ovf__sh{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.ovf__sh b{font-size:var(--fs);color:var(--ink)}
.ovf .steps{margin-top:10px}
.ovf__stk .stk-ctrl{margin-top:10px}

/* E. 5 trụ cột — mở/gập tại chỗ */
.ov-pil__list{display:flex;flex-direction:column;margin-top:6px}
.x3-acc{border-top:1px solid var(--line-2)}
.x3-acc:first-child{border-top:0}
.x3-acc__s{list-style:none;display:grid;grid-template-columns:34px minmax(0,1fr) auto 18px;gap:12px;align-items:center;padding:11px 6px;margin:0 -6px;cursor:pointer;border-radius:10px}
.x3-acc__s::-webkit-details-marker{display:none}
.x3-acc__s::marker{content:""}
.x3-acc__s:hover{background:var(--hover)}
.x3-acc__s:focus-visible{outline:2px solid var(--link);outline-offset:1px}
.x3-acc__n{font-weight:700;font-size:var(--fs);color:var(--ink);min-width:0}
.x3-acc__bar{display:none}
.x3-acc__sc{white-space:nowrap}
.x3-acc__sc b{font-size:19px;font-weight:800}
.x3-acc__sc small{font-size:var(--fs-sm);color:var(--muted);font-weight:600;margin-left:1px}
.x3-acc__chev{width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.x3-acc[open] .x3-acc__chev{transform:rotate(180deg)}
.x3-acc__b{padding:0 0 16px;min-width:0}
.x3-acc__b > .x3-p__say{margin-top:4px}
.ov-pil .x3-legend{margin:12px 0 0}

@media (min-width:600px){
  .ovh__top{grid-template-columns:minmax(0,1fr) auto;gap:16px 28px}
  .ovh__score{justify-self:end}
  .x3-acc__s{grid-template-columns:34px minmax(0,1fr) minmax(70px,150px) auto 18px}
  .x3-acc__bar{display:block}
  .x3-acc__b{padding-left:46px}
}
@media (min-width:900px){
  .ovh{padding:28px}
  .ov-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1100px){
  .ov-360{grid-template-columns:minmax(320px,1fr) minmax(0,2fr)}
  .x3-acc__b{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0 24px;align-items:start}
  .x3-acc__b > *{grid-column:1/-1}
  .x3-acc__b > .x3-ml{grid-column:1}
  .x3-acc__b > .x3-fig,.x3-acc__b > .x3-nochart{grid-column:2;grid-row:2}
}
@media (max-width:480px){
  .ovh{padding:18px;border-radius:16px}
  .ovf__tile .v{font-size:18px}
}
#ov-peers{display:flex;flex-direction:column;min-width:0} #ov-peers > .card{flex:1}
@media (min-width:1100px){.ov-360 > .x3-rcard{align-self:start;position:sticky;top:112px}}
.ov-g2--start{align-items:start}

/* thumbnail tin của mã — CTO 09/10 */
.news3 li.has-img{display:flex;flex-direction:row-reverse;gap:14px;align-items:flex-start}
.news3 .nn-b{flex:1;min-width:0}
.nn-img{flex:0 0 132px;width:132px;aspect-ratio:16/10;object-fit:cover;border-radius:8px;background:var(--card-2,#F3F5F7)}
@media (max-width:719px){.nn-img{flex-basis:92px;width:92px;aspect-ratio:4/3}}

/* Tin công bố bấm đọc (CTO 09/10) */
.cb-list{list-style:none;margin:10px 0 0;padding:0}
.cb-list>li{border-bottom:1px solid var(--line)}
.cb summary{list-style:none;cursor:pointer;padding:12px 30px 12px 0;position:relative;display:block}
.cb summary::-webkit-details-marker{display:none}
.cb summary::after{content:"";position:absolute;right:6px;top:18px;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .2s}
.cb[open] summary::after{transform:rotate(-135deg);top:22px}
.cb summary:hover .cb-t{color:var(--link,#0B5F8A)}
.cb-t{display:block;font-size:15px;font-weight:600;line-height:1.45;color:var(--ink)}
.cb-m{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}
.cb-pdf{font-weight:700;color:var(--down-t,#C5262C)}
.cb-body{padding:2px 0 16px;font-size:14.5px;line-height:1.6;color:var(--ink2,var(--ink))}
.cb-html{overflow-wrap:anywhere}
.cb-html p{margin:0 0 8px}
.cb-html table{display:block;overflow-x:auto;border-collapse:collapse;margin:8px 0;max-width:100%;font-size:13.5px}
.cb-html td,.cb-html th{border:1px solid var(--line);padding:6px 8px;vertical-align:top}
.cb-html td:empty{display:none}
.cb-files{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.cb-files .lbl{margin:0;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.cb-file{display:flex;align-items:center;gap:8px;padding:10px 12px;min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--card-2,#F8FAFC);color:var(--ink);text-decoration:none;font-weight:600;font-size:14px;overflow-wrap:anywhere}
.cb-file:hover{border-color:var(--brand,#12A37F);color:var(--brand-ink,#0B7A5E)}
.cb-file svg{flex:none;color:var(--down-t,#C5262C)}
.cb-src{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-weight:600;font-size:14px;min-height:40px}

.cb-row{display:block;padding:12px 26px 12px 0;position:relative;text-decoration:none;color:inherit;min-height:44px}
.cb-row::after{content:"";position:absolute;right:8px;top:50%;width:8px;height:8px;border-right:2px solid var(--muted);border-top:2px solid var(--muted);transform:translateY(-50%) rotate(45deg)}
.cb-row:hover .cb-t{color:var(--link,#0B5F8A)}

/* ===== FIN2 09/10: mục "góc nhìn thêm" trong trụ cột 360 (cổ tức vs tiết kiệm, FCF 5 năm, kế hoạch ĐHCĐ) + nhãn Tốt/Khá/Cần chú ý ===== */
.x3-ins{margin-top:14px;padding:12px 14px 12px;border-radius:var(--radius-sm);border:1px solid var(--line-2);background:var(--card-2);border-left-width:3px}
.x3-ins--ok{border-left-color:var(--mint)} .x3-ins--info{border-left-color:var(--c1)} .x3-ins--warn{border-left-color:var(--orange)} .x3-ins--neu{border-left-color:var(--faint,var(--muted))}
.x3-ins__top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.x3-ins__k{font-size:var(--fs-md);font-weight:700;color:var(--ink)}
.x3-ins__lbl{font-size:var(--fs-xs);padding:2px 9px}
.x3-ins__lbl--sm{font-size:11px;padding:1px 7px;vertical-align:middle}
.x3-ins__v{font-size:var(--fs-xl);font-weight:800;color:var(--ink);margin-top:6px;line-height:1.2}
.x3-ins__v small{font-size:var(--fs-xs);font-weight:500;color:var(--muted)}
.x3-ins__say{margin:6px 0 0;font-size:var(--fs-sm);color:var(--ink2);line-height:1.55}
.x3-ins__say b.num{color:var(--ink)}
.x3-ins .x3-fig{margin-top:10px;max-width:420px}
.x3-ins .scroll-x{max-width:560px}
.x3-ins .x3-mini{margin-top:8px}
.x3-ins__more{margin-top:8px;font-size:var(--fs-xs)}
.x3-ins__bars{display:grid;gap:6px;margin-top:10px}
.x3-ins__bars > div{display:grid;grid-template-columns:120px minmax(0,1fr) 54px;gap:8px;align-items:center;font-size:var(--fs-xs);color:var(--muted)}
.x3-ins__bars i{display:block;height:8px;border-radius:4px;background:var(--line-2);overflow:hidden}
.x3-ins__bars b{display:block;height:100%;border-radius:4px}
.x3-ins__bars em{font-style:normal;font-weight:700;color:var(--ink);text-align:right}
.x3-link--sm{font-size:11.5px;display:inline;margin-top:0}
.x3-rt__s .x3-link--sm{white-space:nowrap}
.x3-rt__v .x3-ins__lbl--sm{font-weight:600}
@media (max-width:480px){
  .x3-ins__bars > div{grid-template-columns:96px minmax(0,1fr) 48px}
}
/* 09/10: ô "Xác nhận đáy: P/E + P/B" */
.bt-box{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:10px 0;background:var(--card-2,var(--card))}
.bt-box.bt-ok{border-color:color-mix(in srgb,var(--ok,#16A34A) 50%,var(--line))}
.bt-box.bt-bad{border-color:color-mix(in srgb,var(--warn,#D97706) 50%,var(--line))}
.bt-h{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.bt-r{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid var(--line-2,var(--line));font-size:14px}
.bt-n{margin:6px 0 0;font-size:13px;line-height:1.5}
