/* Trang bo tri thiet bi 3D. Dung bien mau cua site.css, khong khai bao font rieng. */
.b3d{width:min(1480px,100vw - 56px);margin:26px 0 0 50%;transform:translateX(-50%)}
.b3d-thanh{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.b3d-thanh .day{margin-left:auto}
.b3d-nut{font:inherit;font-size:13.5px;font-weight:700;line-height:1.2;color:var(--tieu);background:rgba(255,255,255,.04);border:1px solid rgba(160,215,255,.28);border-radius:99px;padding:9px 15px;cursor:pointer;transition:background .15s,border-color .15s}
.b3d-nut:hover{background:rgba(79,211,255,.12);border-color:var(--ngoc)}
.b3d-nut:focus-visible,.b3d-tb:focus-visible,.b3d-ds button:focus-visible,.b3d canvas:focus-visible{outline:2px solid var(--ngoc);outline-offset:2px}
.b3d-nut:disabled{opacity:.38;cursor:default;background:none;border-color:rgba(160,215,255,.2)}
.b3d-nut[aria-pressed=true]{background:var(--tieu);color:#05070d;border-color:var(--tieu)}
.b3d-nut.nguy:hover{border-color:#ff8a8a;background:rgba(255,90,90,.14)}
.b3d-luoi{display:grid;grid-template-columns:244px minmax(0,1fr) 288px;gap:12px;height:min(700px,100vh - 200px);min-height:500px}
.b3d-kho,.b3d-bang{background:linear-gradient(180deg,var(--mat2),var(--mat));border:1px solid var(--vach);border-radius:16px;padding:14px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(140,200,255,.3) transparent}
.b3d h2.b3d-td{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ngoc);margin:0 0 10px}
.b3d-bang h2.b3d-td{margin-top:20px;padding-top:16px;border-top:1px solid var(--vach)}
.b3d-bang h2.b3d-td:first-child{margin-top:0;padding-top:0;border-top:0}
.b3d-bang{padding-bottom:70px}
.b3d-nhom{font-size:12px;font-weight:700;color:var(--mo);margin:14px 0 6px}
.b3d-nhom:first-child{margin-top:0}
.b3d-hang{display:grid;gap:6px}
.b3d-tb{font:inherit;display:flex;align-items:center;gap:10px;width:100%;text-align:left;color:var(--tieu);background:rgba(255,255,255,.03);border:1px solid var(--vach);border-radius:12px;padding:6px 10px 6px 6px;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.b3d-tb:hover{background:rgba(79,211,255,.1);border-color:rgba(79,211,255,.6);transform:translateX(2px)}
.b3d-tb img{width:46px;height:46px;flex:none;border-radius:9px;background:rgba(120,180,255,.07)}
.b3d-tb span{font-size:13.5px;font-weight:700;line-height:1.25}
.b3d-tb small{display:block;font-size:11.5px;font-weight:400;color:var(--mo);margin-top:2px}
.b3d-canh{position:relative;border:1px solid var(--vach);border-radius:16px;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,#12203a 0%,#070b14 70%);min-height:320px}
.b3d-canh canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline-offset:-3px}
.b3d-nhan{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.b3d-nhan span{position:absolute;left:0;top:0;font-size:11.5px;font-weight:700;line-height:1;color:#eaf6ff;background:rgba(5,9,16,.74);border:1px solid rgba(140,200,255,.25);padding:4px 8px;border-radius:99px;white-space:nowrap;will-change:transform}
.b3d-nhan span.chon{border-color:var(--ngoc);color:#fff;background:rgba(10,40,60,.9)}
.b3d-nhan span.vuong{border-color:#ff7a7a;background:rgba(80,14,20,.9)}
.b3d-nhan span.kt{font-size:12.5px;color:var(--ngoc);background:none;border:0;padding:0}
.b3d-nhanh{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:6px;padding:6px;border-radius:99px;background:rgba(5,9,16,.82);border:1px solid var(--vach);backdrop-filter:blur(10px)}
.b3d-nhanh[hidden]{display:none}
.b3d-nhanh .b3d-nut{padding:8px 13px;font-size:13px;white-space:nowrap}
.b3d-goi{position:absolute;left:14px;top:12px;right:14px;font-size:12.5px;color:var(--mo);pointer-events:none}
.b3d-loi{position:absolute;inset:0;display:grid;place-items:center;padding:30px;text-align:center;color:var(--chu)}
.b3d-loi[hidden]{display:none}
.b3d-o{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.b3d-o.hai{grid-template-columns:repeat(2,minmax(0,1fr))}
.b3d-bang label{display:block;font-size:12px;color:var(--mo)}
.b3d-bang label[hidden]{display:none}
.b3d-bang label span{display:block;margin-bottom:4px}
.b3d-bang input,.b3d-bang select{font:inherit;font-size:14px;width:100%;color:var(--tieu);background:rgba(0,0,0,.35);border:1px solid rgba(160,215,255,.25);border-radius:9px;padding:7px 9px}
.b3d-bang input:focus,.b3d-bang select:focus{outline:none;border-color:var(--ngoc)}
.b3d-bang select option{color:#05070d;background:#fff}
.b3d-bang .dong{margin-top:8px}
.b3d-loai{font-weight:700;color:var(--tieu);font-size:14.5px;margin-bottom:8px}
.b3d-cum{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.b3d-cum .b3d-nut{padding:7px 12px;font-size:12.5px}
.b3d-mo{font-size:13px;color:var(--mo);line-height:1.5}
.b3d-ds{display:grid;gap:4px}
.b3d-ds button{font:inherit;font-size:13px;text-align:left;color:var(--chu);background:none;border:1px solid transparent;border-radius:9px;padding:6px 9px;cursor:pointer}
.b3d-ds button:hover{background:rgba(255,255,255,.05)}
.b3d-ds button[aria-current]{border-color:rgba(79,211,255,.6);color:var(--tieu);background:rgba(79,211,255,.08)}
.b3d-ds button.vuong{color:#ff9d9d}
.b3d-duoi{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:space-between;margin-top:12px}
.b3d-tt{font-size:13.5px;color:var(--mo);min-height:22px}
.b3d-tt.canh{color:#ffb4a8}
.b3d-tt.bao{color:var(--ngoc)}
.b3d-duoi .b3d-cum{margin-top:0;align-items:center}
.b3d-duoi .b3d-cum .b3d-nut{padding:9px 15px;font-size:13.5px}
.b3d-khong .b3d-thanh,.b3d-khong .b3d-kho,.b3d-khong .b3d-bang,.b3d-khong .b3d-duoi,.b3d-khong .b3d-goi{display:none}
.b3d-khong .b3d-luoi{display:block;height:260px;min-height:0}
.b3d-khong .b3d-canh{height:100%}
html.b3d-khoa{overflow:hidden}
.b3d.b3d-toan{position:fixed;inset:0;z-index:80;width:auto;margin:0;transform:none;background:var(--nen);padding:12px;display:flex;flex-direction:column}
.b3d.b3d-toan .b3d-luoi{flex:1;height:auto;min-height:0}
.b3d-sau{margin-top:44px}
.b3d-sau ul{padding-left:20px;display:grid;gap:8px}
@media(max-width:999px){
.b3d{width:auto;margin:22px 0 0;transform:none}
.b3d-thanh .day{margin-left:0}
.b3d-thanh{gap:6px}
.b3d-nut{padding:8px 12px;font-size:13px}
.b3d-luoi{display:flex;flex-direction:column;height:auto;min-height:0}
.b3d-canh{order:1;height:62vh;min-height:340px;max-height:560px}
.b3d-kho{order:2;padding:12px 0 12px 12px;overflow:visible}
.b3d-bang{order:3;overflow:visible;padding-bottom:14px}
.b3d-kho h2.b3d-td{margin-bottom:8px}
#b3d-kho{display:flex;gap:8px;overflow-x:auto;padding:2px 12px 6px 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}
#b3d-kho::-webkit-scrollbar{display:none}
.b3d-nhom{display:none}
.b3d-hang{display:flex;gap:8px}
.b3d-tb{flex-direction:column;align-items:center;text-align:center;width:104px;flex:none;padding:8px 6px;gap:6px}
.b3d-tb:hover{transform:none}
.b3d-tb img{width:56px;height:56px}
.b3d-tb span{font-size:12px}
.b3d-tb small{font-size:10.5px}
.b3d-goi{font-size:11.5px}
.b3d-nhanh{bottom:10px}
.b3d-nhanh .b3d-nut{padding:8px 11px;font-size:12.5px}
.b3d-duoi{flex-direction:column;align-items:stretch}
.b3d.b3d-toan{padding:8px}
.b3d.b3d-toan .b3d-canh{flex:1;height:auto;max-height:none;min-height:0}
.b3d.b3d-toan .b3d-bang,.b3d.b3d-toan .b3d-duoi{display:none}
.b3d.b3d-toan .b3d-kho{padding-top:8px;padding-bottom:6px;margin-top:8px}
.b3d.b3d-toan .b3d-kho h2.b3d-td{display:none}
}

/* b2: duong ong, cau hinh RO UF, xuat PDF */
.b3d-nut[data-viec=noi][aria-pressed=true]{background:#4fd3ff;color:#06121f;border-color:#4fd3ff}
.b3d.b3d-noi #b3d-canvas{cursor:crosshair}
.b3d-mo.nho{font-size:.78rem;margin:.35rem 0 0;opacity:.85}
.b3d-o.ong{grid-template-columns:1fr 1.6fr}
.b3d-o select{width:100%;min-width:0}
.b3d-o[hidden],.b3d-mo[hidden],#b3d-ong-chon[hidden]{display:none}
.b3d-ds.ong button{display:block;text-align:left;position:relative;padding-left:26px}
.b3d-ds.ong small{display:block;opacity:.75;font-size:12px;margin-top:2px}
.b3d-cham{position:absolute;left:9px;top:11px;width:9px;height:9px;border-radius:50%}
.b3d-chon .b3d-cum+.b3d-cum,#b3d-chon .b3d-cum+.b3d-cum{margin-top:.4rem}
.b3d-xa{margin-top:10px;border:1px solid rgba(240,137,75,.55);border-radius:12px;padding:10px 12px;background:rgba(240,137,75,.08)}
.b3d-xa[hidden]{display:none}
.b3d-xa .b3d-mo{color:#ffc29e;margin:0 0 8px}
