/* Strategist Minimal — editorial-luxury, chữ đơn cách, chuyển động ngắn.
   Quy ước màu bê từ quant-terminal và giữ nguyên xuyên dự án:
     xanh = lên · đỏ = xuống · HỔ PHÁCH = con số do mô hình tự tính.
   Nhìn màu là biết số đến từ thị trường hay từ mình. */
:root{
  --bg:#0b0c0e; --pane:#121417; --line:#22262c; --ink:#e8eaed; --dim:#8b929c;
  --faint:#5b626c; --up:#3ddc84; --down:#ff5c5c; --model:#f0b429; --accent:#7aa2f7;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);
  font:13px/1.5 var(--mono);-webkit-font-smoothing:antialiased}
b{font-weight:600}
.dim{color:var(--dim)} .num{text-align:right;font-variant-numeric:tabular-nums}
.model{color:var(--model)}
.r{text-align:right}

.top{display:flex;justify-content:space-between;align-items:center;
  padding:14px 22px;border-bottom:1px solid var(--line);background:var(--pane)}
.brand{display:flex;align-items:baseline;gap:10px;letter-spacing:.08em}
.mark{width:9px;height:9px;background:var(--model);display:inline-block;
  transform:rotate(45deg);align-self:center}
.brand .sub{color:var(--faint);font-size:11px;letter-spacing:.04em}
.right{display:flex;gap:12px;align-items:center;font-size:11px}
.pill{border:1px solid var(--line);padding:3px 9px;border-radius:2px;letter-spacing:.06em}
.pill.live{border-color:var(--down);color:var(--down)}
.pill.dry{border-color:var(--line);color:var(--dim)}
/* Bật LIVE mà không đặt được lệnh: phải TỰ NHẬN, không được im như thể chạy thử
   là ý người dùng. Nền đặc để nó không trốn được giữa các nhãn mờ khác. */
.pill.hong{border-color:var(--down);background:var(--down);color:#0b0c0e;font-weight:600}

/* PHÁN QUYẾT — chiếm chỗ tương xứng với tầm quan trọng, không nhét vào một ô nhỏ */
.verdict{padding:28px 22px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#141821,#0e1014)}
.vaction{font-size:34px;letter-spacing:.14em;font-weight:600;line-height:1.1;
  transition:color 180ms ease-out}
.vaction.enter{color:var(--up)} .vaction.aside{color:var(--dim)} .vaction.halt{color:var(--down)}
/* CHỜ PHIÊN phải trông KHÁC ĐỨNG NGOÀI. Đứng ngoài là một phán quyết — agent đã
   nhìn 30 mã rồi quyết. Chờ phiên là một cái đồng hồ — nó chưa nhìn gì cả. Mờ hơn
   và gạch chân đứt để mắt đọc ra "chưa có tin gì" thay vì "đã cân nhắc xong". */
.vaction.wait{color:var(--faint);border-bottom:1px dashed var(--line);padding-bottom:4px;display:inline-block}
.vreason{margin-top:8px;color:var(--ink);font-size:14px}
.vmeta{margin-top:6px;color:var(--faint);font-size:11px}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1px;background:var(--line);border-bottom:1px solid var(--line)}
.card{background:var(--pane);padding:16px 18px}
.card.wide{margin:0;border-bottom:1px solid var(--line)}
h2{margin:0 0 12px;font-size:10px;letter-spacing:.16em;color:var(--faint);font-weight:600}
.hint{color:var(--faint);letter-spacing:0;font-weight:400;text-transform:none}

.kv{width:100%;border-collapse:collapse}
.kv td{padding:4px 0;border-bottom:1px solid #191c21;color:var(--dim)}
.kv td:last-child{color:var(--ink)}

.bars{display:flex;flex-direction:column;gap:12px}
.bar label{display:flex;justify-content:space-between;font-size:11px;color:var(--dim)}
.track{height:5px;background:#1a1d22;margin:5px 0 3px;overflow:hidden}
.track i{display:block;height:100%;width:0;background:var(--up);
  transition:width 220ms ease-out,background 220ms ease-out}
.track i.warn{background:var(--model)} .track i.hot{background:var(--down)}
.bar em{font-style:normal;font-size:10px;color:var(--faint)}
.note{margin-top:10px;font-size:11px;color:var(--down)}
/* `.note` mặc định ĐỎ vì chỗ dùng đầu tiên là ngắt mạch — một cảnh báo. Ghi chú
   thông tin ("75% con số này chưa chốt") không phải cảnh báo; vẽ nó đỏ là hét vào
   mặt người đọc ở chỗ chỉ cần nói. */
.note.tin{color:var(--dim)}
/* Lãi xanh, lỗ đỏ. Ô trống thì KHÔNG màu — "chưa đọc được" không có dấu. */
.num.up{color:var(--up)} .num.down{color:var(--down)}
/* Dòng tổng: gạch trên để mắt thấy ngay đây là kết quả cộng của hai dòng trên,
   không phải một chỉ số thứ ba độc lập. */
.kv tr.tong td{border-top:1px solid var(--line);padding-top:6px;font-weight:600}
.err{margin-top:8px;font-size:11px;color:var(--down)}

.scroll{overflow-x:auto}
table.data{width:100%;border-collapse:collapse;font-size:12px}
table.data th{text-align:left;padding:6px 10px 6px 0;color:var(--faint);
  font-weight:500;font-size:10px;letter-spacing:.1em;border-bottom:1px solid var(--line);
  white-space:nowrap}
table.data td{padding:6px 10px 6px 0;border-bottom:1px solid #191c21;white-space:nowrap}
table.data tbody tr{transition:background 150ms ease-out}
table.data tbody tr:hover{background:#171a1f}
.empty{color:var(--faint);font-size:11px;margin:10px 0 0}
.tag{font-size:10px;padding:1px 6px;border:1px solid var(--line);color:var(--dim)}
.tag.sent{border-color:var(--up);color:var(--up)}
.tag.dry{border-color:var(--model);color:var(--model)}

footer{padding:20px 22px;color:var(--dim);font-size:11px;line-height:1.7}
footer p{margin:0 0 8px}
