:root{
  --bg:#0e1012;--panel:#171a1d;--deep:#0a0b0d;--ink:#eceded;--mute:#a2a8af;--line:#2a2e33;--line2:#6b727a;
  --acc:#ff9447;--acc-2:#ffa25c;--acc-bg:#33190a;--acc-bar:#ff7a1a;
  --ok-bg:#10231a;--ok:#a8e6b6;--info-bg:#0f1d2e;--info:#c3dafa;--warn-bg:#2a1f08;--warn:#f7d48c;--warn-line:#f2b84b;--bad-bg:#2c1210;--bad:#ffb4ab;--bad-line:#ff6b5e;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;--sans:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/22px var(--sans)}
body{padding-bottom:env(safe-area-inset-bottom)}
a{color:var(--acc)}a:hover{color:#ffb27a}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid #8ab8ff;outline-offset:2px}
.mono{font-family:var(--mono)}
.lbl{font-size:11px;line-height:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.top{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;padding:12px 24px;padding-top:max(12px,env(safe-area-inset-top));background:var(--panel);border-bottom:1px solid var(--line)}
.brand{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--ink);text-decoration:none}.brand span{color:var(--acc)}
.tabs{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 auto}
.tabs a{display:inline-flex;align-items:center;height:36px;padding:0 12px;border-radius:4px;color:var(--mute);text-decoration:none;font-size:14px;font-weight:600}
.tabs a.on{background:var(--acc-bg);color:var(--acc)}
.veh{display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:4px;background:var(--acc-bg);font-size:13px}
.veh:empty{display:none}.veh b{font-family:var(--mono);color:var(--acc);letter-spacing:.06em}
.bottom{display:none}
main{padding:16px 24px 40px;max-width:1520px;margin:0 auto;outline:none}
.empty{padding:80px 16px;text-align:center;color:var(--mute)}
.ph{margin:4px 0 14px}.ph h1{margin:0;font-size:28px;line-height:34px;font-weight:600;letter-spacing:-.01em}.ph p{margin:2px 0 0;color:var(--mute);font-size:14px}
.cols{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}
.side{flex:1 1 280px;max-width:320px;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.mid{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:16px}
.rail{flex:1 1 280px;max-width:330px;display:flex;flex-direction:column;gap:16px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px 18px}
.card.black{background:#000}
.card.warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn)}
.li{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;width:100%;padding:10px 14px;border:0;border-left:3px solid transparent;border-top:1px solid var(--line);background:none;text-align:left;cursor:pointer;text-decoration:none;color:var(--ink)}
.li:hover{background:var(--deep)}.li.on{background:var(--acc-bg);border-left-color:var(--acc-bar)}
.li .t{font-weight:600;font-size:14px;line-height:19px}.li .s{display:block;font-size:12px;font-weight:400;color:var(--mute);line-height:16px}
.li .code{font:600 11px/1 var(--mono);color:var(--acc);display:block;margin-bottom:3px}
.scroll{max-height:calc(100vh - 230px);overflow-y:auto}
.st{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:2px;font-size:11px;font-weight:600;white-space:nowrap}
.s-ok{background:var(--ok-bg);color:var(--ok)}.s-part{background:var(--info-bg);color:var(--info)}.s-wait{background:var(--warn-bg);color:var(--warn)}
.badge{display:inline-flex;align-items:center;height:18px;padding:0 5px;border-radius:2px;font:600 10px/1 var(--mono);letter-spacing:.04em}
.b-vi{background:var(--ok-bg);color:var(--ok)}.b-en{background:var(--warn-bg);color:var(--warn)}.b-mut{background:var(--deep);color:var(--mute);box-shadow:inset 0 0 0 1px var(--line)}
.chip{height:32px;padding:0 12px;border-radius:4px;border:1px solid var(--line);background:var(--panel);color:var(--mute);font:600 12px/1 var(--sans);cursor:pointer}
.chip.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.search{display:flex;align-items:center;gap:8px;height:40px;padding:0 10px;background:var(--deep);border:1px solid var(--line2);border-radius:4px}
.search input{flex:1;min-width:0;height:100%;border:0;background:transparent;color:var(--ink);font:400 15px/1 var(--sans);outline:none}
.search svg{width:16px;height:16px;stroke:var(--mute);fill:none;stroke-width:1.75}
.row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:baseline;padding:8px 0;border-top:1px solid var(--line)}
.row:first-of-type{border-top:0}
.big{font:600 20px/24px var(--mono);color:var(--acc-2)}
.doc{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}
.doc:hover{color:#ffb27a}
.buy{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:4px;border:1px solid var(--line2);color:var(--ink);font-size:12px;font-weight:600;text-decoration:none}
.ico{width:32px;height:32px;border-radius:4px;display:grid;place-items:center;background:var(--deep);box-shadow:inset 0 0 0 1px var(--line);color:var(--mute)}
.ico svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.li.on .ico{color:var(--acc)}
.mi{grid-template-columns:36px 1fr auto}
/* torque table */
.tq{width:100%;border-collapse:collapse}
.tq th{text-align:left;padding:8px 10px;background:var(--deep)}
.tq td{padding:10px;border-top:1px solid var(--line);vertical-align:middle}
.ro{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:6px;padding:6px 10px;border-radius:4px;background:#000;box-shadow:inset 0 0 0 1px var(--line);font-family:var(--mono)}
.ro b{font-size:18px;color:var(--acc-2)}.ro i{font-style:normal;font-size:11px;color:#a7acb2}
.eng{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:2px;font:600 11px/1 var(--mono);border:1px solid var(--line2)}
.flag{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:2px;font-size:11px;font-weight:600;background:var(--warn-bg);color:var(--warn);margin-right:4px}
/* procedure */
.blk{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:20px;padding:20px 0;border-top:1px solid var(--line)}
.blk.noimg{grid-template-columns:minmax(0,1fr)}
.blk figure{margin:0;border-radius:8px;overflow:hidden;background:#fff;border:1px solid var(--line);position:relative}
.blk figure img{display:block;width:100%;height:auto}
.blk figcaption{position:absolute;left:8px;bottom:8px;padding:2px 6px;border-radius:2px;background:#000;color:#a7acb2;font:11px var(--mono)}
.k{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:2px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.k-warning{background:var(--bad-bg);color:var(--bad);box-shadow:inset 0 0 0 1px var(--bad-line)}
.k-attention{background:var(--warn-bg);color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn-line)}
.k-note,.k-install{background:var(--info-bg);color:var(--info)}.k-install{box-shadow:inset 0 0 0 1px #7fb2f0}
.k-step{background:var(--deep);color:var(--mute);box-shadow:inset 0 0 0 1px var(--line)}
.ln{margin:6px 0 0}.ln.warning{color:var(--bad)}.ln.attention{color:var(--warn)}
.en{margin:2px 0 0;font-size:12px;line-height:17px;color:var(--mute);font-style:italic}
.tqc{display:inline-flex;align-items:baseline;gap:6px;margin-top:4px;padding:4px 8px;border-radius:4px;background:#000;box-shadow:inset 0 0 0 1px var(--line);font:12px var(--mono);color:#a7acb2}
.tqc b{font-size:16px;color:var(--acc-2)}.tqc.miss b{color:#a7acb2;font-size:12px;font-weight:500}
.back{display:none}
/* BYD */
.op{display:grid;grid-template-columns:28px minmax(0,1fr) 60px 110px;gap:12px;align-items:center;width:100%;padding:10px 4px;border:0;border-top:1px solid var(--line);background:none;text-align:left;cursor:pointer}
.op:hover{background:var(--deep)}
.box{width:18px;height:18px;border-radius:3px;border:1.5px solid var(--line2);display:grid;place-items:center;color:var(--bg);font-size:13px;font-weight:700}
.op.on .box{background:var(--acc);border-color:var(--acc)}
.grp{padding:14px 4px 4px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
input.rate{width:110px;height:36px;padding:0 10px;border-radius:4px;border:1px solid var(--line2);background:var(--deep);color:var(--ink);font:600 15px/1 var(--mono);text-align:right}
.total{position:sticky;bottom:12px}
.home{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.home .card h2{margin:4px 0 6px;font-size:22px;line-height:28px}
.home .card a.go{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:600}
.home .card a.go span{color:var(--mute);font-weight:400;font-size:13px}
.foot{margin-top:24px;font-size:11px;line-height:16px;color:var(--mute)}
@media (max-width:760px){
  .top{padding:10px 16px}.tabs,.veh{display:none}
  main{padding:12px 16px 96px}
  .ph h1{font-size:22px;line-height:28px}
  .side,.rail{max-width:none}
  .has-detail .side{display:none}
  .no-detail .mid,.no-detail .rail{display:none}
  .back{display:inline-flex;align-items:center;gap:6px;height:36px;margin-bottom:8px;color:var(--acc);text-decoration:none;font-weight:600}
  .scroll{max-height:none}
  .blk{grid-template-columns:1fr}
  .op{grid-template-columns:24px minmax(0,1fr) 52px;gap:8px}.op .money{display:none}
  .tq .hide-m{display:none}
  .bottom{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:6;background:var(--panel);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
  .bottom a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;color:var(--mute);text-decoration:none;font-size:11px;font-weight:600}
  .bottom a svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
  .bottom a.on{color:var(--acc)}
  .total{bottom:76px}
}
.login{display:inline-flex;align-items:center;height:34px;padding:0 12px;border-radius:4px;border:1px solid var(--line2);color:var(--ink);text-decoration:none;font-size:13px;font-weight:600}
.login.in{border-color:var(--ok-bg);background:var(--ok-bg);color:var(--ok)}
.lock{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-radius:8px;background:var(--info-bg);color:var(--info);font-size:14px}
.lock a{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:4px;background:var(--acc);color:#0e1012;font-weight:700;text-decoration:none}
.more{display:block;width:100%;padding:12px;border:0;border-top:1px solid var(--line);background:none;color:var(--acc);font-weight:600;cursor:pointer}
@media (max-width:760px){.login{display:none}}
/* trình xem sơ đồ phụ tùng */
.dia{position:relative;border-radius:8px;overflow:hidden;background:#11151a;border:1px solid var(--line)}
.dia img{display:block;width:100%;height:auto}
.hot{position:absolute;transform:translate(-50%,-50%);min-width:24px;height:24px;padding:0 5px;border-radius:12px;border:0;background:var(--acc);color:#0e1012;font:700 11px/24px var(--mono);cursor:pointer;box-shadow:0 0 0 2px #0e1012}
.hot.on{background:#fff;box-shadow:0 0 0 3px var(--acc)}
.pt{display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;width:100%;padding:8px 6px;border:0;border-top:1px solid var(--line);background:none;text-align:left;cursor:pointer}
.pt:hover{background:var(--deep)}.pt.on{background:var(--acc-bg)}
.pt .no{display:inline-grid;place-items:center;min-width:26px;height:22px;border-radius:11px;background:var(--deep);box-shadow:inset 0 0 0 1px var(--line2);font:600 11px var(--mono)}
.pt.on .no{background:var(--acc);color:#0e1012;box-shadow:none}
.ghd{padding:12px 14px 4px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
@media (max-width:760px){.bottom a{font-size:10px}}
