.qbb, .qbb-scope {
    --b-brand: #D7381E; --b-accent: #E8571F; --b-accent-d: #C2410C; --b-accent-bg: #FFF1E8; --b-accent-line: #F6B38C;
    --b-ink: #1F2937; --b-muted: #6B7280; --b-line: #E5E7EB; --b-line2: #F1F3F5; --b-band: #F3F4F6;
    --b-link: #1D4ED8; --b-blue: #2563EB; --b-blue-bg: #DBEAFE; --b-green: #16A34A; --b-green-d: #15803D; --b-green-bg: #DCFCE7;
    --b-amber: #D97706; --b-amber-bg: #FEF3C7; --b-amber-ink: #92400E; --b-red: #DC2626; --b-red-bg: #FEE2E2;
    --b-violet: #7C3AED; --b-violet-bg: #EDE9FE; --b-violet-ink: #5B21B6;
    color: var(--b-ink);
}

.qbb-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 0 0 6px; }
.qbb-kpis.c6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.qbb-kpi { background: #fff; border: 1px solid var(--b-line); border-radius: 8px; padding: 8px 11px; min-height: 58px; }
.qbb-kpi .l { font-size: 10px; font-weight: 700; color: #4B5563; letter-spacing: .3px; text-transform: uppercase; }
.qbb-kpi .v { font-size: 19px; font-weight: 700; line-height: 1.2; margin-top: 2px; }
.qbb-kpi .v small { font-size: 11px; font-weight: 500; color: var(--b-muted); }
.qbb-kpi .s { font-size: 11px; color: var(--b-muted); margin-top: 2px; }
.qbb-kpi .s a, .qbb-link { font-weight: 600; color: var(--b-link); cursor: pointer; text-decoration: none; }
.qbb-kpi .s a:hover, .qbb-link:hover { text-decoration: underline; }
.qbb-kpi .seg { display: flex; height: 5px; border-radius: 3px; overflow: hidden; background: var(--b-line); margin-top: 6px; }
.qbb-kpi .seg i { display: block; height: 100%; }
.qbb-kpi .lg { display: flex; gap: 10px; font-size: 10px; color: var(--b-muted); margin-top: 4px; flex-wrap: wrap; }
.qbb-kpi .lg i { display: inline-block; width: 7px; height: 7px; border-radius: 2px; margin-right: 3px; vertical-align: middle; }
.qbb-kpi.on { border-color: var(--b-accent); box-shadow: 0 0 0 2px rgba(232, 87, 31, .15); }
.qbb-pill { display: inline-block; padding: 2px 7px; border-radius: 999px; font-size: 11px; font-weight: 600; background: var(--b-line2); }
.qbb-pill.bad { background: var(--b-red-bg); color: #991B1B; }
.qbb-pill.warn { background: var(--b-amber-bg); color: var(--b-amber-ink); }
.qbb-pill.ok { background: var(--b-green-bg); color: var(--b-green-d); }

.qbb-sr { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: 0 0 6px; }
.qbb-sg { display: flex; gap: 2px; background: #fff; border: 1px solid var(--b-line); border-radius: 6px; padding: 2px; }
.qbb-sg button { border: 0; border-radius: 4px; padding: 5px 11px; background: none; font-weight: 700; color: #374151; font-size: 11px; white-space: nowrap; }
.qbb-sg button.on { background: var(--b-brand); color: #fff; }
.qbb-sg button.on.o { background: var(--b-accent); }
.qbb-sg.soft button.on { background: #1F2937; color: #fff; }
.qbb-wq { display: flex; align-items: center; gap: 6px; margin-left: 6px; flex-wrap: wrap; }
.qbb-wq .l { font-weight: 600; color: #374151; font-size: 12px; }
.qbb-ch { padding: 3px 9px; border: 1px solid var(--b-line); border-radius: 999px; background: #fff; font-weight: 600; font-size: 11px; color: #374151; }
.qbb-ch.on { background: #1F2937; color: #fff; border-color: #1F2937; }
.qbb-ch.acc { border-color: var(--b-accent); color: var(--b-accent-d); }
.qbb-ch.red { border-color: #FCA5A5; color: #991B1B; background: #FEF2F2; }
.qbb-ch.v { border-color: #C4B5FD; color: var(--b-violet-ink); background: #F5F3FF; }
.qbb-ch.on.acc, .qbb-ch.on.red, .qbb-ch.on.v { background: #1F2937; color: #fff; border-color: #1F2937; }

.qbb-rolebox { display: inline-flex; align-items: center; gap: 6px; color: var(--b-muted); font-size: 12px; }
.qbb-rolebar { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; padding: 6px 12px; border-radius: 6px; background: #EEF2FF; color: #1E3A8A; font-size: 11px; border: 1px solid #C7D2FE; flex-wrap: wrap; }
.qbb-rolebar b { font-size: 12px; }
.qbb-rolebar.lc { background: #FFF7ED; color: #7C2D12; border-color: #FDBA74; }
.qbb-rolebar.qc { background: #F5F3FF; color: #4C1D95; border-color: #C4B5FD; }
.qbb-rolebar.nd { background: #F0FDF4; color: #14532D; border-color: #86EFAC; }
.qbb-rolebar.vt { background: #ECFEFF; color: #164E63; border-color: #67E8F9; }
.qbb-rolebar.all { background: #F3F4F6; color: #374151; border-color: var(--b-line); }

.qbb-tbl { border-collapse: collapse; width: 100%; min-width: 1500px; font-size: 12px; }
.qbb-tbl thead th { position: sticky; top: 0; z-index: 2; background: #fff; color: #4B5563; text-align: left; font-weight: 700; font-size: 10px; letter-spacing: .3px; padding: 8px 9px; border-bottom: 1px solid var(--b-line); white-space: nowrap; text-transform: uppercase; }
.qbb-tbl th.r, .qbb-tbl td.r { text-align: right; }
.qbb-tbl th.c, .qbb-tbl td.c { text-align: center; }
.qbb-tbl th.bl, .qbb-tbl td.bl { border-left: 1px solid var(--b-line2); }
.qbb-tbl thead th .g { color: var(--b-blue); }
.qbb-tbl thead th .gg { color: var(--b-green-d); }
.qbb-tbl thead th .gv { color: var(--b-violet-ink); }
.qbb-tbl thead th .go { color: var(--b-accent-d); }
.qbb-tbl tbody td { padding: 7px 9px; vertical-align: middle; border-bottom: 1px solid var(--b-line2); }
.qbb-tbl tr.band td { background: var(--b-band); padding: 6px 9px; border-bottom: 1px solid var(--b-line); }
.qbb-tbl tr.qbb-row { cursor: pointer; }
.qbb-tbl tr.qbb-row:hover td { background: #FAFAFB; }
.qbb-tbl tr.qbb-row.cx td { color: #9CA3AF; }
.qbb-bh { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12px; }
.qbb-bh .lid { font-weight: 700; color: var(--b-link); cursor: pointer; }
.qbb-bh .nm { font-weight: 700; color: #1F2937; }
.qbb-bh .mt { color: #4B5563; }
.qbb-bh .sp { flex: 1; }
.qbb-bh .pr { display: flex; align-items: center; gap: 8px; color: #4B5563; }
.qbb-bar { width: 110px; height: 5px; background: #E5E7EB; border-radius: 3px; overflow: hidden; display: inline-block; vertical-align: middle; }
.qbb-bar i { display: block; height: 100%; background: var(--b-green); }

.qbb-tg { display: inline-block; padding: 1px 5px; border-radius: 3px; font-size: 10px; font-weight: 700; border: 1px solid; white-space: nowrap; }
.qbb-tg.ka { color: var(--b-brand); border-color: var(--b-brand); background: #fff; }
.qbb-tg.kh { color: #374151; border-color: #9CA3AF; background: #fff; }
.qbb-tg.gad { color: #5B21B6; border-color: #A78BFA; background: #fff; }
.qbb-tg.cons { color: var(--b-amber-ink); border-color: #FCD34D; background: var(--b-amber-bg); font-weight: 600; }
.qbb-tg.src { border-color: transparent; font-weight: 600; }
.qbb-tg.src.ship { background: var(--b-blue-bg); color: #1E40AF; }
.qbb-tg.src.kho { background: var(--b-amber-bg); color: var(--b-amber-ink); }
.qbb-tg.pt { border-color: transparent; background: var(--b-line2); color: #374151; }
.qbb-tg.pt.lay { background: var(--b-blue-bg); color: #1E40AF; }
.qbb-tg.pt.giao { background: var(--b-green-bg); color: var(--b-green-d); }
.qbb-tg.pt.tra { background: #FEF3C7; color: #92400E; }
.qbb-tg.pt.cho { background: #E5E7EB; color: #374151; }
.qbb-tg.ok { color: var(--b-green-d); border-color: #86EFAC; background: var(--b-green-bg); }
.qbb-tg.wait { color: var(--b-amber-ink); border-color: #FCD34D; background: var(--b-amber-bg); }
.qbb-mc { font-weight: 700; color: var(--b-link); cursor: pointer; }
.qbb-veh .p { font-weight: 700; font-size: 12px; }
.qbb-veh .p small { font-weight: 400; color: var(--b-muted); margin-left: 4px; }
.qbb-veh .d { font-size: 11px; color: var(--b-muted); }
.qbb-rt { display: flex; flex-direction: column; gap: 4px; min-width: 240px; }
.qbb-rt .qbb-pi { display: flex; gap: 8px; align-items: center; white-space: nowrap; }
.qbb-rt .qbb-pi .qbb-tg { flex-shrink: 0; min-width: 34px; text-align: center; }
.qbb-rt .qbb-pi.off { color: #9CA3AF; text-decoration: line-through; }
.qbb-rt .qbb-pi .qq { margin-left: auto; padding-left: 12px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--b-ink); flex-shrink: 0; }
.qbb-dim { color: #9CA3AF; }
.qbb-neg { color: var(--b-red); }
.qbb-num { font-weight: 600; font-variant-numeric: tabular-nums; }
.qbb-t { white-space: nowrap; font-weight: 500; font-variant-numeric: tabular-nums; }
.qbb-t.na { color: #9CA3AF; }
.qbb-t.w { color: var(--b-amber); }
.qbb-t.b { color: var(--b-red); font-weight: 700; }
.qbb-sub { display: block; font-size: 10px; color: var(--b-muted); }
.qbb-risk { display: inline-block; padding: 2px 7px; border-radius: 4px; font-size: 11px; font-weight: 600; background: var(--b-amber-bg); color: var(--b-amber-ink); white-space: nowrap; margin: 1px 2px 1px 0; }
.qbb-risk.red { background: var(--b-red-bg); color: #991B1B; }
.qbb-risk.v { background: var(--b-violet-bg); color: var(--b-violet-ink); }
.qbb-risk.ok { background: var(--b-green-bg); color: var(--b-green-d); }
.qbb-risk.mute { background: var(--b-line2); color: #374151; }
.qbb-ps { display: inline-block; padding: 2px 7px; border-radius: 4px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.qbb-ps.cd { background: #DBEAFE; color: #1E40AF; }
.qbb-ps.th { background: #FEF3C7; color: #92400E; }
.qbb-ps.kg { background: #FEE2E2; color: #991B1B; }
.qbb-ps.hc { background: #E5E7EB; color: #374151; }
.qbb-tbid { display: inline-flex; align-items: center; gap: 4px; padding: 1px 6px; border-radius: 4px; background: #ECFDF5; border: 1px solid #6EE7B7; color: #065F46; font-weight: 700; font-size: 11px; white-space: nowrap; }
.qbb-tbid small { font-weight: 500; color: #047857; }

.qbb-stp { display: flex; flex-direction: column; gap: 3px; min-width: 150px; }
.qbb-stp .dots { display: flex; align-items: center; }
.qbb-stp .dots i { width: 7px; height: 7px; border-radius: 50%; background: #D1D5DB; display: inline-block; }
.qbb-stp .dots s { width: 16px; height: 2px; background: #D1D5DB; display: inline-block; text-decoration: none; }
.qbb-stp .dots i.on, .qbb-stp .dots s.on { background: var(--b-blue); }
.qbb-stp .dots i.cur { box-shadow: 0 0 0 3px rgba(37, 99, 235, .2); }
.qbb-stp .dots i.o, .qbb-stp .dots s.o { background: var(--b-accent); }
.qbb-stp .dots i.g, .qbb-stp .dots s.g { background: var(--b-green); }
.qbb-stp .dots i.v, .qbb-stp .dots s.v { background: var(--b-violet); }
.qbb-stp .dots i.r { background: var(--b-red); }
.qbb-stp .lb { font-size: 11px; font-weight: 600; color: var(--b-blue); white-space: nowrap; }
.qbb-stp .lb.o { color: var(--b-accent-d); }
.qbb-stp .lb.g { color: var(--b-green-d); }
.qbb-stp .lb.v { color: var(--b-violet-ink); }
.qbb-stp .lb.r { color: var(--b-red); }
.qbb-stp .lb.m { color: var(--b-muted); }
.qbb-stp .lb small { font-weight: 500; color: var(--b-muted); }

.qbb-kc { display: flex; flex-direction: column; gap: 2px; min-width: 150px; }
.qbb-kc .st { display: inline-flex; align-items: center; gap: 5px; font-weight: 600; }
.qbb-kc .st i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.qbb-kc .st.ok i { background: var(--b-green); }
.qbb-kc .st.nt i { background: var(--b-amber); }
.qbb-kc .st.bad i { background: var(--b-red); }
.qbb-kc .st.na i { background: #D1D5DB; }
.qbb-kc .st.ok { color: var(--b-green-d); }
.qbb-kc .st.nt { color: var(--b-amber-ink); }
.qbb-kc .st.bad { color: var(--b-red); }
.qbb-kc .st.na { color: var(--b-muted); font-weight: 500; }
.qbb-kc small { font-size: 10px; color: var(--b-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 200px; }
.qbb-fum { font-size: 10px; font-weight: 700; padding: 0 5px; border-radius: 3px; background: var(--b-violet-bg); color: var(--b-violet-ink); }
.qbb-fum.no { background: var(--b-line2); color: #4B5563; }
.qbb-kt { display: flex; flex-direction: column; gap: 2px; min-width: 100px; }
.qbb-kt .qbb-bar { width: 100%; height: 4px; }
.qbb-kt .qbb-bar i { background: var(--b-accent); }
.qbb-kt small { font-size: 10px; color: var(--b-muted); }

.qbb-foot-sum { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; color: var(--b-muted); }
.qbb-foot-sum b { color: var(--b-ink); }

.qbb-lgd { display: flex; gap: 14px; font-size: 11px; color: var(--b-muted); flex-wrap: wrap; }
.qbb-lgd i { display: inline-block; width: 16px; height: 9px; border-radius: 2px; vertical-align: middle; margin-right: 5px; }
.qbb-tl { min-width: 1380px; font-size: 12px; }
.qbb-tl .ax { display: flex; border-bottom: 1px solid var(--b-line); background: #fff; position: sticky; top: 0; z-index: 3; }
.qbb-tl .lab { width: 300px; flex-shrink: 0; padding: 8px 12px; border-right: 1px solid var(--b-line); }
.qbb-tl .ax .lab { font-weight: 700; font-size: 10px; color: #4B5563; letter-spacing: .3px; padding: 10px 12px; }
.qbb-tl .lane { flex: 1; position: relative; height: 42px; }
.qbb-tl .tick { position: absolute; top: 0; bottom: 0; border-left: 1px solid var(--b-line); padding: 6px 0 0 6px; font-size: 11px; color: var(--b-muted); white-space: nowrap; }
.qbb-tl .tick b { display: block; color: #374151; }
.qbb-tl .now { position: absolute; top: 0; bottom: 0; border-left: 2px solid var(--b-brand); }
.qbb-tl .nowlab { position: absolute; top: 4px; transform: translateX(-50%); background: var(--b-brand); color: #fff; font-size: 10px; font-weight: 700; padding: 2px 6px; border-radius: 4px; white-space: nowrap; }
.qbb-tl .port { display: flex; background: var(--b-band); border-bottom: 1px solid var(--b-line); }
.qbb-tl .port .lab { font-weight: 700; }
.qbb-tl .port .note { padding: 8px 12px; font-size: 11px; color: #4B5563; }
.qbb-tl .r { display: flex; border-bottom: 1px solid var(--b-line2); min-height: 60px; cursor: pointer; }
.qbb-tl .r:hover { background: #FAFAFB; }
.qbb-tl .r .lane { height: auto; }
.qbb-tl .gl { position: absolute; top: 0; bottom: 0; border-left: 1px solid var(--b-line2); }
.qbb-tl .nowr { position: absolute; top: 0; bottom: 0; border-left: 2px solid #FCA5A5; }
.qbb-tl .mk { position: absolute; top: 44px; transform: translateX(-50%); font-size: 10px; color: var(--b-muted); white-space: nowrap; }
.qbb-sgm { position: absolute; top: 16px; height: 24px; border-radius: 4px; display: flex; align-items: center; padding: 0 6px; font-size: 10px; font-weight: 600; white-space: nowrap; overflow: hidden; }
.qbb-sgm.eta { border: 1px dashed #9CA3AF; color: var(--b-muted); background: #fff; }
.qbb-sgm.wt { background: #FDE68A; color: #78350F; }
.qbb-sgm.wk { background: var(--b-blue); color: #fff; }
.qbb-sgm.idle { background: #9CA3AF; color: #fff; }
.qbb-sgm.qc { background: var(--b-violet); color: #fff; }
.qbb-sgm.bad { background: #FCA5A5; border: 1px solid #F87171; color: #7F1D1D; }
.qbb-tlbar { display: flex; align-items: center; gap: 8px; padding: 8px 10px; flex-wrap: wrap; border-bottom: 1px solid var(--b-line); }
.qbb-tlbar .sp { flex: 1; }

.qbb-sheetbar { display: flex; align-items: center; gap: 8px; padding: 8px 10px; flex-wrap: wrap; border-bottom: 1px solid var(--b-line); }
.qbb-sheetbar .ttl { font-weight: 800; color: var(--b-brand); font-size: 13px; }
.qbb-sheetbar .sp { flex: 1; }
.qbb-sheet { background: #fff; padding: 14px 16px; overflow: auto; }
.qbb-sheet .h1 { text-align: center; font-size: 18px; font-weight: 700; margin-bottom: 10px; }
.qbb-sheet .meta { display: grid; grid-template-columns: 110px 260px 1fr 130px 180px; gap: 4px 8px; font-size: 12px; margin-bottom: 12px; align-items: center; }
.qbb-sheet .foot { display: flex; gap: 18px; margin-top: 10px; font-size: 10px; color: var(--b-muted); flex-wrap: wrap; }
.qbb-sheet .foot i { display: inline-block; width: 12px; height: 10px; border: 1px solid var(--b-line); vertical-align: middle; margin-right: 4px; }
.qbb-st { border-collapse: collapse; width: 100%; min-width: 1300px; font-size: 11px; }
.qbb-st th { color: #fff; font-weight: 600; padding: 6px 7px; text-align: left; font-size: 10px; letter-spacing: .2px; white-space: nowrap; border: 1px solid #374151; }
.qbb-st th.sys { background: #374151; }
.qbb-st th.lc { background: #B45309; }
.qbb-st td { border: 1px solid var(--b-line); padding: 3px 6px; vertical-align: middle; white-space: nowrap; }
.qbb-st td.sys { background: #F9FAFB; color: #374151; }
.qbb-st td.lc { background: #FFFBEB; }
.qbb-st td.r { text-align: right; font-variant-numeric: tabular-nums; }
.qbb-st td.wrap { white-space: normal; min-width: 150px; }
.qbb-st tr.tot td { background: #F3F4F6; font-weight: 700; }
.qbb-st input, .qbb-st .qbb-cell-in { width: 100%; min-width: 70px; border: 1px solid transparent; background: transparent; padding: 3px 4px; font-size: 11px; outline: 0; border-radius: 3px; }
.qbb-st input:focus { border-color: var(--b-accent); background: #fff; }
.qbb-st input.r { text-align: right; }
.qbb-st input:disabled { color: #374151; }

.qbb-shtabs { display: flex; gap: 2px; padding: 0 10px; border-bottom: 1px solid var(--b-line); background: #fff; overflow-x: auto; align-items: stretch; }
.qbb-shtabs .grp { display: inline-flex; align-items: center; padding: 0 6px 0 8px; font-size: 10px; font-weight: 700; color: #9CA3AF; white-space: nowrap; line-height: 16px; }
.qbb-shtabs .grp.sep { border-left: 1px solid var(--b-line); padding-left: 14px; }
.qbb-shtabs button { display: inline-flex; align-items: center; gap: 4px; border: 0; border-bottom: 2px solid transparent; background: none; padding: 8px 12px; font-weight: 600; color: #4B5563; white-space: nowrap; font-size: 11px; line-height: 16px; }
.qbb-shtabs button.on { color: var(--b-brand); border-bottom-color: var(--b-brand); }
.qbb-shtabs button small { color: #9CA3AF; font-size: 11px; line-height: 16px; font-weight: 500; font-variant-numeric: tabular-nums; }
.qbb-shlegend { display: flex; gap: 16px; padding: 8px 10px; font-size: 11px; color: var(--b-muted); flex-wrap: wrap; align-items: center; }
.qbb-shlegend i { display: inline-block; width: 14px; height: 10px; border: 1px solid #D1D5DB; vertical-align: middle; margin-right: 4px; }
.qbb-sht { border-collapse: collapse; min-width: 3000px; font-size: 11px; }
.qbb-sht th { padding: 6px 8px; border: 1px solid #D1D5DB; text-align: center; font-weight: 700; font-size: 10px; white-space: nowrap; position: sticky; top: 0; z-index: 1; }
.qbb-sht thead tr:nth-child(2) th { top: 27px; }
.qbb-sht th.g1 { background: #FBCFE8; color: #831843; }
.qbb-sht th.g2 { background: #A7D96A; color: #14532D; }
.qbb-sht th.g3 { background: #BFDBFE; color: #1E3A8A; }
.qbb-sht th.g4 { background: #FDE68A; color: #78350F; }
.qbb-sht th.g0 { background: #E5E7EB; color: #374151; }
.qbb-sht td { padding: 5px 8px; border: 1px solid #E5E7EB; white-space: nowrap; vertical-align: middle; }
.qbb-sht td.r { text-align: right; font-variant-numeric: tabular-nums; }
.qbb-sht td.b1 { background: #FDF2F8; }
.qbb-sht td.b2 { background: #F1F8E9; }
.qbb-sht td.b3 { background: #EFF6FF; }
.qbb-sht td.b4 { background: #FFFBEB; }
.qbb-sht tr.hl td { background: #E9D5FF; }
.qbb-sht tr.done td { color: #6B7280; }
.qbb-sht tr.grp td { background: #FFF7ED; font-weight: 700; color: #9A3412; }
.qbb-sht tr.sum td { font-weight: 700; }
.qbb-sht .stt { width: 28px; text-align: center; color: #9CA3AF; }
.qbb-sht td.wrap { white-space: normal; max-width: 220px; }
.qbb-sht tr.qbb-row { cursor: pointer; }

.qbb-db { display: flex; flex-direction: column; gap: 12px; }
.qbb-box { background: #F9FAFB; border: 1px solid var(--b-line); border-radius: 8px; padding: 10px 12px; }
.qbb-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; }
.qbb-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.qbb-kv .k { color: var(--b-muted); font-size: 11px; }
.qbb-kv .v { font-weight: 600; }
.qbb-mini { border: 1px solid var(--b-line); border-radius: 8px; padding: 8px 10px; background: #fff; }
.qbb-mini .k { font-size: 11px; color: var(--b-muted); }
.qbb-mini .v { font-size: 17px; font-weight: 700; }
.qbb-mini .v small { font-size: 11px; font-weight: 500; color: var(--b-muted); }
.qbb-mini .s { font-size: 10px; color: var(--b-muted); }
.qbb-mini .a { margin-top: 4px; }
.qbb-sec { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; gap: 8px; flex-wrap: wrap; }
.qbb-sec .h { font-weight: 700; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.qbb-sec .m { font-size: 11px; color: var(--b-muted); }
.qbb-ro { font-size: 10px; color: var(--b-muted); border: 1px solid var(--b-line); border-radius: 3px; padding: 0 5px; background: #fff; font-weight: 500; }
.qbb-ed { font-size: 10px; color: var(--b-accent-d); border: 1px solid var(--b-accent-line); border-radius: 3px; padding: 0 5px; background: var(--b-accent-bg); font-weight: 700; }
.qbb-own.ro input, .qbb-own.ro button.qbb-act, .qbb-own.ro select, .qbb-own.ro textarea { opacity: .45; pointer-events: none; }
.qbb-ml { border: 1px solid var(--b-line); border-radius: 8px; overflow: hidden; background: #fff; }
.qbb-ml.qc { border-color: #DDD6FE; background: #FBFAFF; }
.qbb-m { display: flex; align-items: center; gap: 10px; padding: 7px 10px; border-bottom: 1px solid var(--b-line2); font-size: 12px; }
.qbb-m:last-child { border-bottom: 0; }
.qbb-m .dot { width: 11px; height: 11px; border-radius: 50%; border: 2px solid #D1D5DB; background: #fff; flex-shrink: 0; }
.qbb-m.done .dot { background: var(--b-blue); border-color: var(--b-blue); }
.qbb-m.done.v .dot { background: var(--b-violet); border-color: var(--b-violet); }
.qbb-m.done.g .dot { background: var(--b-green); border-color: var(--b-green); }
.qbb-m .lb { width: 118px; font-weight: 600; }
.qbb-m .tm { width: 110px; font-weight: 600; }
.qbb-m .by { flex: 1; font-size: 11px; color: var(--b-muted); }
.qbb-m .nt { font-size: 11px; font-weight: 600; color: var(--b-muted); }
.qbb-m.todo .tm, .qbb-m.lock .tm { color: #9CA3AF; }
.qbb-m.lock .nt { color: var(--b-red); }
.qbb-gate { padding: 7px 10px; font-size: 11px; color: var(--b-violet-ink); display: flex; gap: 8px; align-items: center; }
.qbb-kcbox { border: 1px solid #BBF7D0; background: #F0FDF4; border-radius: 8px; padding: 10px 12px; }
.qbb-kcbox.nt { border-color: #FCD34D; background: #FFFBEB; }
.qbb-kcbox.bad { border-color: #FCA5A5; background: #FEF2F2; }
.qbb-kcbox.na { border-color: var(--b-line); background: #F9FAFB; }
.qbb-kcbox .hd { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.qbb-kcbox .hd .h { font-weight: 700; }
.qbb-kcbox .fb { background: #fff; border: 1px solid var(--b-line); border-radius: 6px; padding: 7px 9px; font-size: 12px; line-height: 1.45; white-space: pre-wrap; }
.qbb-log { border: 1px solid var(--b-line); border-radius: 8px; overflow: hidden; background: #fff; }
.qbb-log .lr { display: grid; grid-template-columns: 128px 78px 78px minmax(90px, 1fr) 90px 26px; gap: 8px; padding: 6px 10px; border-bottom: 1px solid var(--b-line2); align-items: center; font-size: 11px; }
.qbb-log .lr.h { background: #F9FAFB; color: #4B5563; font-weight: 700; font-size: 10px; letter-spacing: .3px; }
.qbb-log .lr.add { background: var(--b-accent-bg); border-top: 1px dashed var(--b-accent-line); }
.qbb-log .lr input { border: 1px solid var(--b-line); border-radius: 4px; padding: 4px 6px; font-size: 11px; width: 100%; outline: 0; background: #fff; }
.qbb-log .lr input:focus { border-color: var(--b-accent); }
.qbb-log .lr .q { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.qbb-log .lr .k { text-align: right; font-variant-numeric: tabular-nums; color: var(--b-muted); }
.qbb-log .lr.locked { background: #F9FAFB; color: var(--b-muted); }
.qbb-log .lr .rm { border: 0; background: none; color: #9CA3AF; font-size: 12px; padding: 0; }
.qbb-log .lr .rm:hover { color: var(--b-red); }
.qbb-log .sum { display: flex; gap: 14px; padding: 7px 10px; background: #F9FAFB; font-size: 11px; color: #4B5563; border-top: 1px solid var(--b-line); flex-wrap: wrap; align-items: center; }
.qbb-log .sum b { color: var(--b-ink); }
.qbb-legs { border: 1px solid var(--b-line); border-radius: 8px; overflow: hidden; background: #fff; }
.qbb-legs .lg { display: grid; grid-template-columns: 22px 1fr 90px 110px 1fr; gap: 8px; padding: 7px 10px; border-bottom: 1px solid var(--b-line2); align-items: center; font-size: 11px; }
.qbb-legs .lg.h { background: #F9FAFB; font-weight: 700; font-size: 10px; color: #4B5563; letter-spacing: .3px; }
.qbb-legs .lg.off { color: #9CA3AF; }
.qbb-legs .lg.off .n { text-decoration: line-through; }
.qbb-legs .lg .q { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.qbb-legs .lg.why { grid-template-columns: 1fr; background: #FFFBEB; color: #92400E; }
.qbb-chain { border: 1px solid #6EE7B7; border-radius: 8px; overflow: hidden; background: #F0FDF4; }
.qbb-chain .cr { display: grid; grid-template-columns: 58px 1fr 110px 1fr; gap: 8px; padding: 7px 10px; border-bottom: 1px solid #D1FAE5; align-items: center; font-size: 11px; background: #fff; }
.qbb-chain .cr.h { background: #ECFDF5; font-size: 10px; font-weight: 700; color: #065F46; letter-spacing: .3px; }
.qbb-chain .cr.cur { background: #FFFBEB; }
.qbb-chain .cr .lg { font-weight: 700; color: #065F46; }
.qbb-note { display: flex; gap: 10px; font-size: 12px; align-items: flex-start; }
.qbb-note .d { width: 96px; color: var(--b-muted); flex-shrink: 0; font-size: 11px; }
.qbb-note .x { margin-left: auto; border: 0; background: none; color: #9CA3AF; }
.qbb-inp { width: 100%; border: 1px solid var(--b-line); border-radius: 6px; padding: 6px 9px; outline: 0; font-size: 12px; }
.qbb-inp:focus { border-color: var(--b-accent); }
.qbb-btn { padding: 4px 9px; border: 1px solid var(--b-line); border-radius: 6px; background: #fff; font-weight: 600; color: #374151; white-space: nowrap; font-size: 11px; }
.qbb-btn:disabled { opacity: .5; cursor: not-allowed; }
.qbb-btn.acc { background: var(--b-accent); border-color: var(--b-accent); color: #fff; }
.qbb-btn.oacc { border-color: var(--b-accent); color: var(--b-accent-d); }
.qbb-btn.v { border-color: #C4B5FD; color: var(--b-violet-ink); background: #F5F3FF; }
.qbb-btn.vt { background: #0E7490; border-color: #0E7490; color: #fff; }
.qbb-btn.nd { background: var(--b-green-d); border-color: var(--b-green-d); color: #fff; }

.qbb-dr-h { padding: 12px 16px 8px; display: flex; flex-direction: column; gap: 8px; }
.qbb-dr-h .top { display: flex; gap: 10px; align-items: flex-start; }
.qbb-dr-h .ico { width: 36px; height: 36px; border-radius: 6px; background: var(--b-blue-bg); color: #1E40AF; font-weight: 800; font-size: 11px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.qbb-dr-h .ico.tc { background: var(--b-amber-bg); color: var(--b-amber-ink); }
.qbb-dr-h .nm { font-size: 15px; font-weight: 700; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.qbb-dr-h .sb { color: var(--b-muted); font-size: 12px; }
.qbb-dr-h .x { width: 30px; height: 30px; border: 1px solid var(--b-line); border-radius: 6px; background: #fff; display: inline-flex; align-items: center; justify-content: center; margin-left: auto; }
.qbb-dr-h .acts { display: flex; gap: 6px; flex-wrap: wrap; }
.qbb-dr-h .acts .qbb-btn { flex: none; white-space: nowrap; }
.qbb-dtabs { display: flex; padding: 0 16px; border-bottom: 1px solid var(--b-line); }
.qbb-dtabs button { border: 0; background: none; padding: 8px 11px; border-bottom: 2px solid transparent; color: #4B5563; font-weight: 500; font-size: 12px; }
.qbb-dtabs button.on { border-bottom-color: var(--b-brand); color: var(--b-brand); font-weight: 600; }

.qbbm-frow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.qbbm-frow.c2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.qbbm-frow.c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.qbbm-fld { display: flex; flex-direction: column; gap: 4px; }
.qbbm-fld > label { font-size: 11px; color: #4B5563; font-weight: 500; }
.qbbm-fld input:not([type=checkbox]), .qbbm-fld select, .qbbm-fld textarea { border: 1px solid var(--b-line); border-radius: 6px; padding: 6px 9px; outline: 0; background: #fff; font-size: 12px; }
.qbbm-fld input:disabled { background: #F9FAFB; color: var(--b-muted); }
.qbbm-ty { display: flex; gap: 6px; }
.qbbm-ty button { flex: 1; padding: 8px 10px; border: 1px solid var(--b-line); border-radius: 6px; background: #fff; font-weight: 600; color: #374151; text-align: left; font-size: 12px; }
.qbbm-ty button.on { border-color: var(--b-accent); background: var(--b-accent-bg); color: var(--b-accent-d); }
.qbbm-ty small { display: block; font-weight: 400; color: var(--b-muted); margin-top: 2px; }
.qbbm-impact { background: #FFFBEB; border: 1px solid #FCD34D; border-radius: 6px; padding: 8px 10px; font-size: 11px; color: #92400E; display: flex; flex-direction: column; gap: 3px; }
.qbbm-err { color: var(--b-red); font-size: 12px; font-weight: 600; }
.qbbm-list { border: 1px solid var(--b-line); border-radius: 8px; overflow: hidden; }
.qbbm-list .li { display: grid; grid-template-columns: 1fr 120px 120px 120px 140px; gap: 8px; padding: 6px 10px; border-bottom: 1px solid var(--b-line2); align-items: center; font-size: 12px; }
.qbbm-list .li.h { background: #F9FAFB; font-size: 10px; font-weight: 700; color: #4B5563; letter-spacing: .3px; }
.qbbm-list .li:last-child { border-bottom: 0; }
.qbbm-list .li input { width: 100%; border: 1px solid var(--b-line); border-radius: 4px; padding: 4px 6px; font-size: 12px; }
.qbbm-chk { display: inline-flex; gap: 6px; align-items: center; padding: 5px 9px; border: 1px solid var(--b-line); border-radius: 6px; background: #fff; font-size: 12px; }

.qbb-flat { border-collapse: collapse; width: 100%; min-width: 2400px; font-size: 12px; }
.qbb-flat thead th { position: sticky; top: 0; z-index: 2; background: #fff; color: #4B5563; text-align: left; font-weight: 700; font-size: 10px; letter-spacing: .3px; padding: 8px 9px; border-bottom: 1px solid var(--b-line); white-space: nowrap; }
.qbb-flat thead th.r, .qbb-flat td.r { text-align: right; }
.qbb-flat thead th.bl, .qbb-flat td.bl { border-left: 1px solid var(--b-line2); }
.qbb-flat thead th.ld { color: var(--b-blue); }
.qbb-flat thead th.dd { color: var(--b-green-d); }
.qbb-flat tbody td { padding: 6px 9px; vertical-align: middle; border-bottom: 1px solid var(--b-line2); white-space: nowrap; }
.qbb-flat tbody td.sys { background: #F9FAFB; }
.qbb-flat tbody td.wrap { white-space: normal; min-width: 180px; }
.qbb-flat tr.qbb-row { cursor: pointer; }
.qbb-flat tr.qbb-row:hover td { background: #FFF7ED; }
.qbb-flat tr.tot td { background: #F3F4F6; font-weight: 700; }

.qb-dr.qbb-wide { width: min(780px, 100%); }
.qb-card.qbb .qb-scroll { background: #fff; }

@media (max-width: 1100px) {
    .qbb-kpis, .qbb-kpis.c6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qbbm-frow, .qbbm-frow.c4 { grid-template-columns: 1fr; }
}

.qbbr { --brand: #EA6224; --brand-bg: #FDF0E9; --red: #D6453A; --ink-2: #5B6472; --line: #E8EBF0; --bg: #F7F8FA; padding: 8px 12px 24px; background: #F4F5F7; min-height: 100%; font-size: 12px; }
.qbbr-fb { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; background: #fff; border: 1px solid var(--b-line); border-radius: 8px; padding: 8px 10px; }
.qbbr-sel { display: inline-flex; align-items: center; gap: 4px; border: 1px solid var(--b-line); border-radius: 6px; padding: 3px 6px; color: #374151; font-weight: 500; background: #fff; }
.qbbr-sel select { border: 0; outline: 0; background: none; font-weight: 600; font-size: 12px; }
.qbbr-ttl { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin: 10px 0 8px; }
.qbbr-ttl b { font-size: 14px; }
.qbbr-kpis { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.qbbr-d { font-size: 10px; font-weight: 700; margin-top: 2px; color: var(--b-muted); }
.qbbr-d.up { color: var(--b-green-d); }
.qbbr-d.dn { color: var(--b-red); }
.qbbr-sec { display: flex; align-items: baseline; gap: 10px; margin: 14px 0 8px; }
.qbbr-sec h2 { font-size: 13px; font-weight: 700; margin: 0; }
.qbbr-grid { display: grid; gap: 10px; }
.qbbr-grid.c2 { grid-template-columns: 1fr 1fr; }
.qbbr-grid.c3 { grid-template-columns: 1fr 1fr 1fr; }
.qbbr-grid.c32 { grid-template-columns: 3fr 2fr; }
.qbbr-card { background: #fff; border: 1px solid var(--b-line); border-radius: 8px; padding: 12px 14px; min-width: 0; overflow-x: auto; }
.qbbr-card .t { font-weight: 700; margin-bottom: 2px; }
.qbbr-card .s { font-size: 11px; color: var(--b-muted); margin-bottom: 8px; }
.qbbr-t { border-collapse: collapse; width: 100%; font-size: 11px; }
.qbbr-t th { background: #F9FAFB; color: #4B5563; font-weight: 700; font-size: 10px; letter-spacing: .3px; padding: 6px 8px; text-align: left; border-bottom: 1px solid var(--b-line); white-space: nowrap; text-transform: uppercase; }
.qbbr-t td { padding: 6px 8px; border-bottom: 1px solid var(--b-line2); vertical-align: middle; white-space: nowrap; }
.qbbr-t td.wrap { white-space: normal; }
.qbbr-t td.r, .qbbr-t th.r { text-align: right; font-variant-numeric: tabular-nums; }
.qbbr-t td.b { font-weight: 700; }
.qbbr-hbar { display: flex; align-items: center; gap: 6px; min-width: 140px; }
.qbbr-hbar i { display: block; height: 8px; border-radius: 2px; max-width: 110px; }
.qbbr-cols { display: flex; align-items: flex-end; gap: 14px; height: 190px; padding: 6px 4px 0; border-bottom: 1px solid var(--b-line); }
.qbbr-cols .grp { flex: 1; display: flex; flex-direction: column; align-items: center; height: 100%; }
.qbbr-cols .bars { flex: 1; width: 100%; display: flex; align-items: flex-end; justify-content: center; gap: 3px; }
.qbbr-cols .bars i { display: block; width: 14px; border-radius: 2px 2px 0 0; }
.qbbr-cols .lb { font-size: 10px; color: var(--b-muted); text-align: center; padding-top: 4px; }
.qbbr-cols .lb small { display: block; }
.qbbr-stack { display: grid; grid-template-columns: 150px 1fr 60px; gap: 8px; align-items: center; margin: 8px 0; }
.qbbr-stack .n small { color: var(--b-muted); margin-left: 4px; }
.qbbr-stack .bar { display: flex; height: 14px; background: var(--b-line2); border-radius: 3px; overflow: hidden; }
.qbbr-stack .bar i { display: block; height: 100%; }
.qbbr-stack .v { text-align: right; font-weight: 700; }
.qbbr-note { font-size: 11px; color: var(--b-muted); margin-top: 10px; }
@media (max-width: 1100px) {
    .qbbr-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qbbr-grid.c2, .qbbr-grid.c3, .qbbr-grid.c32 { grid-template-columns: 1fr; }
}
.qb-queue.qbb-queue { flex-wrap: wrap !important; overflow-x: visible; row-gap: 6px; }
.qbbr-dd { display: inline-block; }
.qb-dl.code { color: var(--qb-ink, #111827); border-bottom-color: var(--qb-mut, #9CA3AF); }
.qb-dl.code:hover { color: var(--qb-ink, #111827); }

.qbl-focus { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); background: #fff; border: 1px solid var(--b-line); border-radius: 8px; margin: 12px 20px 0; overflow: hidden; flex: none; }
.qbl-focus > button { border: 0; border-right: 1px solid var(--b-line); background: #fff; padding: 10px 14px; text-align: left; position: relative; min-width: 0; cursor: pointer; }
.qbl-focus > button:last-child { border-right: 0; }
.qbl-focus > button:hover { background: #FAFAFB; }
.qbl-focus > button.on { background: var(--b-accent-bg); }
.qbl-focus > button.on::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--b-accent); }
.qbl-focus .k { font-size: 11.5px; color: var(--b-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.qbl-focus .v { font-size: 20px; font-weight: 700; margin-top: 2px; color: var(--b-ink); }
.qbl-focus .v small { font-size: 11.5px; font-weight: 500; color: var(--b-muted); margin-left: 3px; }
.qbl-focus .v.bad { color: #C2410C; }
.qbl-focus .v.warn { color: #B45309; }
.qbl-focus .v.vio { color: #6D28D9; }

.qbl-tbl { min-width: 2100px; }
.qbl-tbl tbody td { padding: 12px 10px; }
.qbl-tbl tr.qbl-row { cursor: pointer; }
.qbl-tbl tr.qbl-row.qbl-sel td { background: var(--b-accent-bg); }
.qbl-tbl tr.qbl-row.qbl-cancel td { background: #FAFAFB; }
.qbl-tbl tr.qbl-row.qbl-cancel .qbl-pt > b, .qbl-tbl tr.qbl-row.qbl-cancel .qbl-rt, .qbl-tbl tr.qbl-row.qbl-cancel .qbl-qty b { color: #9CA3AF; text-decoration: line-through; }
.qbl-cnt { color: var(--b-muted); }
.qbl-dim { color: #D1D5DB; }
.qbl-muted { color: var(--b-muted); }
.qbl-neg { color: #C2410C !important; }
.qbl-warn { display: block; color: #B45309; font-size: 11.5px; }
.qbl-warn-b { display: block; font-weight: 600; color: #B45309; }
.qbl-pt { min-width: 200px; }
.qbl-pt > b { display: block; font-weight: 600; white-space: nowrap; font-size: 12.5px; }
.qbl-pt > span { display: block; font-size: 11.5px; color: var(--b-muted); white-space: nowrap; }
.qbl-pt .qb-dl.code { color: var(--b-muted); font-weight: 500; }
.qbl-bk { display: inline-block; font-size: 10px; font-weight: 600; border-radius: 4px; padding: 0 5px; background: var(--b-line2); color: #374151; margin-left: 6px; vertical-align: 1px; }
.qbl-rt { font-size: 12.5px; white-space: nowrap; min-width: 170px; }
.qbl-rt > b { display: block; font-weight: 600; }
.qbl-rt > span { display: block; color: var(--b-muted); font-size: 11.5px; }
.qbl-rt > span > span { display: block; }
.qbl-struck { text-decoration: line-through; }
.qbl-ps { display: inline-block; font-style: normal; font-size: 10px; font-weight: 600; border-radius: 4px; padding: 0 5px; background: #FFF4E5; color: #B45309; vertical-align: 1px; text-decoration: none; }
.qbl-ps.o { background: var(--b-line2); color: var(--b-muted); }
.qbl-ps.b { background: #FDECE7; color: #C2410C; }
.qbl-tbc { white-space: nowrap; }
.qbl-stt { white-space: nowrap; }
.qbl-stt > b { display: flex; align-items: center; gap: 7px; font-weight: 600; font-size: 12.5px; }
.qbl-stt > b > i { width: 8px; height: 8px; border-radius: 50%; background: #9CA3AF; flex-shrink: 0; }
.qbl-stt > small { display: block; color: var(--b-muted); font-size: 11.5px; padding-left: 15px; }
.qbl-stt.bad > b > i { background: #C2410C; }
.qbl-stt.bad > b { color: #C2410C; }
.qbl-stt.ci > b > i { background: #2563EB; }
.qbl-stt.rec > b > i { background: var(--b-accent); }
.qbl-stt.qc > b > i { background: #6D28D9; }
.qbl-stt.ok > b > i { background: #15803D; }
.qbl-stt.go > b > i { background: #0891B2; }
.qbl-mk { white-space: nowrap; font-size: 12.5px; color: #374151; }
.qbl-mk > b { display: block; font-weight: 600; }
.qbl-mk > small, .qbl-mk > span { display: block; font-size: 11px; color: var(--b-muted); }
.qbl-qty { white-space: nowrap; }
.qbl-qty > b { display: block; font-weight: 600; }
.qbl-qty > span { display: block; font-size: 11.5px; color: var(--b-muted); }
.qbl-dimmed { opacity: .4; }

.qbl-tlw, .qbl-ktw { display: grid; grid-template-columns: 36px 1fr; gap: 8px; align-items: center; }
.qbl-tlw .lbl, .qbl-ktw .lbl { font-size: 10.5px; color: var(--b-muted); text-transform: uppercase; letter-spacing: .3px; white-space: nowrap; }
.qbl-tlw .lbl { min-height: 58px; display: flex; align-items: center; }
.qbl-tl { display: grid; grid-template-columns: repeat(4, 1fr); position: relative; width: 400px; min-height: 58px; }
.qbl-tl.t3 { grid-template-columns: repeat(3, 1fr); width: 300px; }
.qbl-tl.qbl-tl-off { opacity: .55; }
.qbl-tl::before { content: ""; position: absolute; left: 12.5%; right: 12.5%; top: 6px; height: 2px; background: #E5E7EB; }
.qbl-tl.t3::before { left: 16.66%; right: 16.66%; }
.qbl-tl .n { position: relative; text-align: center; padding-top: 16px; font-size: 12px; white-space: nowrap; line-height: 1.35; }
.qbl-tl .n > i { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 2px solid #D1D5DB; box-sizing: border-box; z-index: 1; }
.qbl-tl .n.d > i { background: #2563EB; border-color: #2563EB; }
.qbl-tl .n.d::before { content: ""; position: absolute; left: -50%; right: 50%; top: 6px; height: 2px; background: #2563EB; }
.qbl-tl .n:first-child::before { display: none; }
.qbl-tl .n.nx > i { border-color: var(--b-accent); box-shadow: 0 0 0 3px rgba(228, 87, 46, .18); }
.qbl-tl .n.lk > i { border-color: #6D28D9; }
.qbl-tl .n.g > i { background: #15803D; border-color: #15803D; }
.qbl-tl .n > b { display: block; font-weight: 600; color: var(--b-ink); }
.qbl-tl .n > small { display: block; color: var(--b-muted); font-size: 11px; min-height: 14px; }
.qbl-tl .n.nx > b, .qbl-tl .n.nx > small { color: var(--b-accent-d); }
.qbl-tl .n.lk > b, .qbl-tl .n.lk > small { color: #6D28D9; }
.qbl-tl .n.e > b { color: #D1D5DB; font-weight: 400; }
.qbl-tl .n > .lb { display: block; font-size: 10px; color: var(--b-muted); text-transform: uppercase; letter-spacing: .3px; }
.qbl-kt { font-size: 12px; white-space: nowrap; min-height: 30px; display: flex; flex-direction: column; justify-content: center; }
.qbl-kt b { font-weight: 600; }
.qbl-kt small { color: var(--b-muted); font-size: 11px; }
.qbl-kt .b { height: 6px; border-radius: 3px; background: var(--b-line2); overflow: hidden; margin: 4px 0 2px; width: 170px; }
.qbl-kt .b > i { display: block; height: 100%; background: var(--b-accent); border-radius: 3px; }
.qbl-kt .b > i.g { background: #15803D; }
.qbl-kt.na { opacity: .7; }

.qbl-fl { min-width: 200px; }
.qbl-flag { display: flex; align-items: center; gap: 6px; font-size: 12px; white-space: nowrap; margin: 2px 0; }
.qbl-flag > i { width: 16px; height: 16px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; font-style: normal; background: #FFF4E5; color: #B45309; flex-shrink: 0; }
.qbl-flag.bad > i { background: #FDECE7; color: #C2410C; }
.qbl-flag.vio > i { background: #EFE9FD; color: #6D28D9; }

.qbl-menu-cell { position: relative; }
.qbl-more { border: 0; background: none; color: #9CA3AF; font-size: 16px; padding: 0 6px; border-radius: 6px; }
.qbl-more:hover { background: var(--b-line2); color: var(--b-ink); }
.qbl-menu, .qbl-cmenu { position: absolute; right: 0; top: 30px; background: #fff; border: 1px solid var(--b-line); border-radius: 10px; box-shadow: 0 10px 30px rgba(17, 24, 39, .15); padding: 6px; min-width: 220px; z-index: 30; text-align: left; }
.qbl-menu .h, .qbl-cmenu .h { font-size: 10.5px; color: var(--b-muted); text-transform: uppercase; letter-spacing: .3px; padding: 6px 10px 2px; }
.qbl-menu > button { display: block; width: 100%; text-align: left; border: 0; background: none; padding: 8px 10px; border-radius: 6px; font-size: 12.5px; color: var(--b-ink); }
.qbl-menu > button:hover { background: #F3F4F6; }
.qbl-menu-ov { position: fixed; inset: 0; z-index: 29; }
.qbl-cm { position: relative; display: inline-block; }
.qbl-cmenu { top: 34px; max-height: 420px; overflow: auto; }
.qbl-cmenu label { display: flex; align-items: center; gap: 8px; padding: 6px 8px; font-size: 12.5px; border-radius: 6px; cursor: pointer; font-weight: 400; margin: 0; }
.qbl-cmenu label:hover { background: #F3F4F6; }

.qbl-db { display: flex; flex-direction: column; gap: 10px; }
.qbl-sec { background: #fff; border: 1px solid var(--b-line); border-radius: 10px; overflow: visible; }
.qbl-sec > h4 { margin: 0; padding: 10px 14px; font-size: 12.5px; font-weight: 600; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--b-line); cursor: pointer; color: var(--b-ink); }
.qbl-sec.cl > h4 { border-bottom: 0; }
.qbl-sec > h4 .car { color: #9CA3AF; font-size: 10px; transition: transform .15s; }
.qbl-sec.cl > h4 .car { transform: rotate(-90deg); }
.qbl-sec > h4 .own { margin-left: auto; font-size: 10.5px; font-weight: 600; color: var(--b-muted); border: 1px solid var(--b-line); border-radius: 4px; padding: 0 6px; }
.qbl-sec > h4 .own.me { color: var(--b-accent-d); border-color: var(--b-accent); background: var(--b-accent-bg); }
.qbl-sec > .ct { padding: 12px 14px; }
.qbl-sec .qbb-db { padding: 0; }
.qbl-sec .qbb-box { border: 0; padding: 0; margin: 0 0 8px; box-shadow: none; }
.qbl-kv4, .qbl-kv3 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 16px; font-size: 12.5px; }
.qbl-kv3 { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 10px; }
.qbl-k { font-size: 11px; color: var(--b-muted); }
.qbl-v { font-weight: 600; font-size: 12.5px; }
.qbl-v small { font-weight: 400; color: var(--b-muted); }
.qbl-note { margin-top: 12px; border-left: 3px solid var(--b-accent); padding: 2px 0 2px 10px; font-size: 12.5px; color: #374151; }
.qbl-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 8px; }
.qbl-tile { border: 1px solid var(--b-line); border-radius: 8px; padding: 9px 12px; min-width: 0; }
.qbl-tile .tv { font-size: 13.5px; font-weight: 700; margin: 3px 0 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.qbl-tile .qbl-k { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.qbl-sub { font-size: 11.5px; color: var(--b-muted); margin: 0 0 4px; font-weight: 600; }
.qbl-lk { color: var(--b-muted); font-size: 11.5px; margin-top: 4px; }
.qbl-lk.warn { color: #B45309; }
.qbl-acts { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.qbl-t2 { border-collapse: collapse; width: 100%; font-size: 12.5px; margin-bottom: 6px; }
.qbl-t2 th { font-size: 10.5px; color: var(--b-muted); font-weight: 600; text-transform: uppercase; letter-spacing: .3px; text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--b-line); }
.qbl-t2 td { padding: 6px 8px; border-bottom: 1px solid var(--b-line2); vertical-align: top; }
.qbl-t2 th.r, .qbl-t2 td.r { text-align: right; }
.qbl-in { border: 1px solid #D1D5DB; border-radius: 6px; padding: 5px 7px; font: inherit; font-size: 12px; width: 100%; background: #fff; }
.qbl-in.n { text-align: right; max-width: 110px; }
.qbl-x { border: 0; background: none; color: #9CA3AF; padding: 2px 6px; border-radius: 5px; }
.qbl-x:hover:not(:disabled) { background: var(--b-line2); color: #C2410C; }
.qbl-x:disabled { opacity: .35; cursor: not-allowed; }
.qbl-stseg { display: inline-flex; border: 1px solid #D1D5DB; border-radius: 8px; overflow: hidden; }
.qbl-stseg > span { border-right: 1px solid #E5E7EB; background: #fff; padding: 5px 11px; font-size: 12px; color: #4B5563; display: inline-flex; align-items: center; gap: 7px; }
.qbl-stseg > span:last-child { border-right: 0; }
.qbl-stseg > span > i { width: 7px; height: 7px; border-radius: 50%; background: #9CA3AF; }
.qbl-stseg > span.ci > i { background: #2563EB; }
.qbl-stseg > span.run > i { background: var(--b-accent); }
.qbl-stseg > span.ok > i { background: #15803D; }
.qbl-stseg > span.qc > i { background: #6D28D9; }
.qbl-stseg > span.done > i { background: #059669; }
.qbl-stseg > span.on { background: var(--b-ink); color: #fff; font-weight: 600; }
.qbl-stseg > span.on > i { background: #fff; }
.qbl-mline { display: flex; gap: 10px; align-items: flex-start; padding: 6px 0; border-bottom: 1px solid var(--b-line2); font-size: 12.5px; }
.qbl-mline:last-child { border-bottom: 0; }
.qbl-mline .who { min-width: 130px; font-size: 10.5px; font-weight: 600; color: var(--b-muted); text-transform: uppercase; padding-top: 2px; }
.qbl-chip { font-size: 11.5px; border: 1px solid var(--b-line); border-radius: 999px; padding: 1px 9px; background: #fff; font-weight: 500; color: #374151; }
@media (max-width: 768px) { .qbl-focus { margin: 8px 12px 0; grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.qbl-tg { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px 12px; margin-bottom: 10px; }
.qbl-tc { min-width: 0; }
.qbl-tg .qbl-in { box-sizing: border-box; min-width: 0; max-width: 100%; }
.qbl-scrollx { overflow-x: auto; max-width: 100%; }
.qbl-scrollx .qbl-lx { min-width: 620px; }
.qbbm-eta .qbbm-fld .hint { font-size: 11px; color: var(--b-muted); margin-top: -2px; }
.qbbm-eta .qbbm-fld input[type=date] { height: 34px; box-sizing: border-box; }
.qbbm-fld textarea { resize: vertical; min-height: 54px; font-family: inherit; }
.qbl-tbx { font-size: 12px; color: #7C3AED; white-space: nowrap; line-height: 1.35; }
.qbl-tbx b { display: block; font-weight: 600; }
.qbl-tbx span { display: block; font-size: 11px; color: var(--b-muted); }
.qbl-tg.c2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.qbl-lx th { white-space: nowrap; }
.qbl-lx td.r { white-space: nowrap; }
.qbl-subt { display: flex; gap: 2px; padding: 0 14px; border-bottom: 1px solid var(--b-line); align-items: center; overflow-x: auto; scrollbar-width: thin; background: #fff; }
.qbl-subt .grp { font-size: 10.5px; color: #9CA3AF; text-transform: uppercase; letter-spacing: .3px; padding: 0 8px 0 4px; white-space: nowrap; }
.qbl-subt .grp.sep { border-left: 1px solid var(--b-line); margin-left: 8px; padding-left: 14px; }
.qbl-subt button { border: 0; border-bottom: 2px solid transparent; background: none; padding: 11px 10px; font-weight: 500; color: #4B5563; white-space: nowrap; font-size: 12.5px; margin-bottom: -1px; cursor: pointer; }
.qbl-subt button.on { color: var(--b-accent); border-bottom-color: var(--b-accent); font-weight: 600; }
.qbl-subt button small { color: #9CA3AF; margin-left: 4px; font-weight: 500; }
.qbl-shbar { display: flex; align-items: center; gap: 8px; padding: 8px 14px; flex-wrap: wrap; border-bottom: 1px solid var(--b-line2); background: #fff; }
.qbl-shbar .sp { flex: 1; }
.qbl-fsel { display: inline-flex; align-items: center; gap: 4px; border: 1px solid #D1D5DB; border-radius: 8px; padding: 0 0 0 10px; background: #fff; font-size: 12px; color: var(--b-muted); margin: 0; }
.qbl-fsel select { border: 0; outline: 0; font: inherit; font-weight: 600; color: var(--b-ink); background: transparent; padding: 6px 8px 6px 2px; cursor: pointer; }
.qbl-shleg { display: flex; gap: 14px; padding: 0 6px; font-size: 11.5px; color: var(--b-muted); align-items: center; flex-wrap: wrap; }
.qbl-shleg i { display: inline-block; width: 8px; height: 8px; border-radius: 2px; vertical-align: middle; margin-right: 5px; }
.qbl-shwrap { overflow: auto; max-height: calc(100vh - 320px); background: #fff; }
.qbl-vhead { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: baseline; padding: 10px 14px; font-size: 12.5px; border-bottom: 1px solid var(--b-line2); }
.qbl-vhead b { font-size: 13.5px; color: var(--b-ink); margin-right: 6px; }
.qbl-vhead em { font-style: normal; color: var(--b-muted); margin-right: 4px; }
.qbl-sht { border-collapse: separate; border-spacing: 0; min-width: 2400px; font-size: 12.5px; width: 100%; }
.qbl-sht th { padding: 8px 12px; text-align: left; font-weight: 600; font-size: 10.5px; letter-spacing: .3px; text-transform: uppercase; color: var(--b-muted); white-space: nowrap; position: sticky; top: 0; z-index: 2; background: #fff; border-bottom: 1px solid var(--b-line); }
.qbl-sht th.grp { padding: 10px 12px 4px; font-size: 11px; color: var(--b-ink); text-transform: none; letter-spacing: 0; border-bottom: 0; height: 34px; box-sizing: border-box; }
.qbl-sht th.grp span { display: inline-flex; align-items: center; gap: 6px; }
.qbl-sht th.grp i { width: 8px; height: 8px; border-radius: 2px; display: inline-block; }
.qbl-sht th.g1 i { background: #DB2777; }
.qbl-sht th.g2 i { background: #65A30D; }
.qbl-sht th.g3 i { background: #2563EB; }
.qbl-sht th.g4 i { background: #D97706; }
.qbl-sht th.sub { top: 34px; }
.qbl-sht th.gl, .qbl-sht td.gl { border-left: 1px solid var(--b-line); }
.qbl-sht td { padding: 9px 12px; border-bottom: 1px solid var(--b-line2); white-space: nowrap; vertical-align: middle; background: #fff; color: var(--b-ink); }
.qbl-sht td.r { text-align: right; font-variant-numeric: tabular-nums; }
.qbl-sht td.wrap { white-space: normal; min-width: 200px; max-width: 280px; }
.qbl-sht td .dim { color: #D1D5DB; }
.qbl-sht tr:hover td { background: #FAFAFB; }
.qbl-sht tr.hl td:first-child { box-shadow: inset 3px 0 0 #DC2626; }
.qbl-sht tr.done td { color: #9CA3AF; }
.qbl-sht td .mc { font-weight: 600; color: var(--b-accent-d); cursor: pointer; text-decoration: none; }
.qbl-sht td .mc:hover { text-decoration: underline; }
.qbl-sht td.stt { width: 28px; text-align: center; color: #9CA3AF; position: sticky; left: 0; z-index: 1; }
.qbl-sht th.stt { position: sticky; left: 0; z-index: 3; width: 28px; text-align: center; }
.qbl-sht tr.tot td { font-weight: 600; background: #FAFAFB; position: sticky; bottom: 0; z-index: 1; border-top: 1px solid var(--b-line); }
.qbl-sht tr.pwt td { background: #FFF7ED; color: #9A3412; font-weight: 600; }
.qbl-sht .st2 { display: inline-flex; align-items: center; gap: 6px; }
.qbl-sht .st2 i { width: 7px; height: 7px; border-radius: 50%; background: #9CA3AF; flex: none; }
.qbl-sht .st2.run i { background: var(--b-accent); }
.qbl-sht .st2.ok i { background: #16A34A; }
.qbl-sht .st2.qc i { background: #7C3AED; }
.qbl-sht .st2.ci i { background: #2563EB; }
.qbl-sht .st2.bad i { background: #DC2626; }
.qbl-tag { display: inline-block; font-size: 10.5px; font-weight: 600; border: 1px solid #D1D5DB; border-radius: 4px; padding: 0 5px; margin: 0 6px; color: #374151; background: #fff; line-height: 16px; }
.qbl-shsum { display: flex; gap: 18px; align-items: center; padding: 8px 14px; border-top: 1px solid var(--b-line); background: #FAFAFB; font-size: 12.5px; color: var(--b-muted); flex-wrap: wrap; }
.qbl-shsum b { color: var(--b-ink); font-weight: 600; }
.qbl-tbx .it + .it { margin-top: 4px; }
.qbl-tbx .it span { max-width: 260px; overflow: hidden; text-overflow: ellipsis; }
.qbl-tbt td { vertical-align: top; }
.qbl-tbt .tbid { color: #7C3AED; font-weight: 600; }
.qbl-chip { display: inline-block; font-size: 11px; font-weight: 600; border-radius: 10px; padding: 1px 8px; background: #F3F4F6; color: #4B5563; white-space: nowrap; }
.qbl-chip.ok { background: #DCFCE7; color: #166534; }
.qbl-chip.run { background: #FFEDD5; color: #9A3412; }
.qbl-menu { max-height: 420px; overflow-y: auto; }
.qbl-menu > hr { border: 0; border-top: 1px solid var(--b-line); margin: 4px 0; }
.qbl-src-seg { display: inline-flex; border: 1px solid #D1D5DB; border-radius: 6px; overflow: hidden; }
.qbl-src-seg button { border: 0; background: #fff; padding: 4px 10px; font-size: 12px; color: #4B5563; cursor: pointer; }
.qbl-src-seg button + button { border-left: 1px solid #D1D5DB; }
.qbl-src-seg button.on { background: var(--b-accent-bg); color: var(--b-accent-d); font-weight: 600; }
.qbl-tg.c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 760px) { .qbl-tg.c4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.qbb-dr-h .acts .qb-btn { flex: none; white-space: nowrap; }
.qbb-dr-h .acts .qb-more { position: relative; }
.qbb-dr-h .acts .qb-menu { top: 34px; right: 0; left: auto; z-index: 40; }
.qb-dr.qbb-wide { width: min(860px, 96vw); background: #F5F6F8; box-shadow: -20px 0 50px rgba(17, 24, 39, .2); }
.qb-dr.qbb-wide .qb-dr-h { background: #fff; padding: 14px 20px 0; border-bottom: 1px solid #E6E8EC; }
.qb-dr.qbb-wide .qbb-dr-h { padding: 0 0 10px; gap: 6px; }
.qb-dr.qbb-wide .qbb-dr-h .nm { font-size: 17px; color: #1A1D23; }
.qb-dr.qbb-wide .qbb-dr-h .sb { font-size: 12.5px; color: #6B7280; margin-top: 2px; }
.qb-dr.qbb-wide .qbb-dr-h .acts { margin-top: 4px; gap: 6px; }
.qb-dr.qbb-wide .qbb-dr-h .acts .qbb-btn, .qb-dr.qbb-wide .qbb-dr-h .acts .qb-btn { border: 1px solid #D1D5DB; background: #fff; color: #1A1D23; padding: 5px 10px; border-radius: 8px; font-size: 12px; font-weight: 500; height: auto; line-height: 1.4; }
.qb-dr.qbb-wide .qbb-dr-h .acts .qbb-btn.acc { background: #E4572E; border-color: #E4572E; color: #fff; font-weight: 600; }
.qb-dr.qbb-wide .qbb-dr-h .acts .qbb-btn.v { border-color: #DDD6FE; color: #6D28D9; background: #F5F3FF; }
.qb-dr.qbb-wide .qbb-dr-h .acts .qbb-btn:hover, .qb-dr.qbb-wide .qbb-dr-h .acts .qb-btn:hover { border-color: #9CA3AF; }
.qb-dr.qbb-wide .qbb-dr-h .acts .qbb-btn.acc:hover { background: #C94A25; }
.qb-dr.qbb-wide .qbb-dtabs { padding: 0; }
.qb-dr.qbb-wide .qbb-dtabs button { padding: 9px 12px; font-size: 12.5px; }
.qb-dr.qbb-wide .qbb-dtabs button.on { border-bottom-color: #E4572E; color: #E4572E; }
.qb-dr.qbb-wide .qb-dr-b { background: #F5F6F8; padding: 14px 20px 40px; gap: 0; }
.qb-dr.qbb-wide .qb-dr-b > .qb-sec { background: #fff; border: 1px solid #E6E8EC; border-bottom: 0; border-radius: 10px 10px 0 0; margin: 0; padding: 11px 16px; font-size: 12.5px; font-weight: 600; color: #1A1D23; }
.qb-dr.qbb-wide .qb-dr-b > .qb-tl { background: #fff; border: 1px solid #E6E8EC; border-top: 1px solid #F1F2F4; border-radius: 0 0 10px 10px; padding: 12px 16px; margin: 0 0 12px; }
.qb-dr.qbb-wide .qbl-sec { margin-bottom: 12px; border-color: #E6E8EC; border-radius: 10px; }
.qb-dr.qbb-wide .qbl-sec > h4 { padding: 11px 16px; font-size: 12.5px; color: #1A1D23; }
.qb-dr.qbb-wide .qbl-sec > .ct { padding: 12px 16px; }
.qb-dr.qbb-wide .qbl-tile { border-color: #E6E8EC; }
.qb-dr.qbb-wide .qbl-t2 th { color: #6B7280; border-bottom-color: #E6E8EC; }
.qb-dr.qbb-wide .qbl-t2 td { border-bottom-color: #F1F2F4; }
.qb.qb-barge { background: #F5F6F8; }
.qb.qb-barge > .qbb-queue { order: 1; margin: 12px 20px 0; padding: 0 16px; background: #fff; border: 1px solid #E6E8EC; border-radius: 10px 10px 0 0; gap: 8px; flex-wrap: wrap !important; align-items: center; }
.qb.qb-barge > .qb-fbar { order: 2; margin: 0 20px; border-radius: 0; border: 1px solid #E6E8EC; border-top: 0; box-shadow: none; }
.qb.qb-barge > .qb-fbar .qb-frow { padding: 12px 16px; gap: 8px; }
.qb.qb-barge > .qbl-focus, .qb.qb-barge > .qb-kmini { order: 3; margin: 0 20px; border-radius: 0; border: 1px solid #E6E8EC; border-top: 0; }
.qb.qb-barge > .qb-card { order: 4; margin: 0 20px 14px; border-radius: 0 0 10px 10px; border: 1px solid #E6E8EC; border-top: 0; }
.qb.qb-barge .qbb-queue .qbl-tabs { order: -1; display: flex; gap: 4px; margin-right: auto; overflow-x: auto; scrollbar-width: none; }
.qb.qb-barge .qbb-queue .qbl-tabs button { border: 0; background: none; padding: 14px 12px; border-bottom: 2px solid transparent; margin-bottom: -1px; color: #374151; font: inherit; font-size: 13px; font-weight: 500; white-space: nowrap; cursor: pointer; }
.qb.qb-barge .qbb-queue .qbl-tabs button.acc { color: #E4572E; border-bottom-color: #E4572E; font-weight: 600; background: none; }
.qb.qb-barge .qbb-queue .qbl-tabs button:hover { color: #E4572E; }
.qb.qb-barge .qb-card .qb-bulk { padding: 8px 16px; border-bottom: 1px solid #E6E8EC; color: #6B7280; }
.qb.qb-barge .qb-card .qb-foot { padding: 10px 16px; color: #6B7280; border-top: 1px solid #E6E8EC; }
@media (max-width: 768px) {
    .qb.qb-barge > .qbb-queue, .qb.qb-barge > .qb-fbar, .qb.qb-barge > .qbl-focus, .qb.qb-barge > .qb-kmini { margin-left: 12px; margin-right: 12px; }
    .qb.qb-barge > .qb-card { margin: 0 12px 12px !important; }
}
.qb.qb-barge > .qb-kpis { order: 3; margin: 0 20px; padding: 12px 16px; background: #fff; border: 1px solid #E6E8EC; border-top: 0; }
.qbb-tbl.qbl-tbl tbody td { border-bottom-color: #F1F2F4; }
.qb.qb-barge .qb-fbar .qb-seg { height: auto; border: 1px solid #D1D5DB; border-radius: 8px; font-size: 12.5px; font-weight: 500; }
.qb.qb-barge .qb-fbar .qb-seg button { padding: 6px 12px; color: #374151; background: #fff; border-left: 1px solid #E5E7EB; }
.qb.qb-barge .qb-fbar .qb-seg button:first-child { border-left: 0; }
.qb.qb-barge .qb-fbar .qb-seg button.on, .qb.qb-barge .qb-fbar .qb-seg button.acc { background: #FDEEE9; color: #E4572E; font-weight: 600; }
.qbl-kt b.pct { font-size: 13px; font-weight: 700; color: #1A1D23; line-height: 1.3; }
.qbl-kt small { line-height: 1.35; }
.qbl-kt .b { margin: 5px 0 2px; }
.qb.qb-barge :is(.qb-sbtn, .qb-fclear, .qb-fadv, .qb-btn, .qbb-btn) { border: 1px solid #D1D5DB; background: #fff; color: #1A1D23; border-radius: 8px; padding: 5px 10px; height: auto; font-size: 12px; font-weight: 500; line-height: 1.4; box-shadow: none; }
.qb.qb-barge :is(.qb-sbtn, .qb-fclear, .qb-fadv, .qb-btn, .qbb-btn):hover { border-color: #9CA3AF; background: #fff; }
.qb.qb-barge :is(.qb-sbtn, .qb-fclear, .qb-fadv, .qb-btn) i { color: #6B7280; }
.qb.qb-barge :is(.qb-fapply, .qb-btn.pri, .qbb-btn.acc, .qb-sbtn.pri) { border: 1px solid #E4572E; background: #E4572E; color: #fff; border-radius: 8px; padding: 5px 12px; height: auto; font-size: 12px; font-weight: 600; line-height: 1.4; }
.qb.qb-barge :is(.qb-fapply, .qb-btn.pri, .qbb-btn.acc, .qb-sbtn.pri):hover { background: #C94A25; border-color: #C94A25; }
.qb.qb-barge :is(.qb-fapply, .qb-btn.pri, .qbb-btn.acc) i { color: #fff; }
.qb.qb-barge .qb-sbtn.acc { border-color: #E4572E; background: #E4572E; color: #fff; font-weight: 600; }
.qb.qb-barge .qb-sbtn.acc:hover { background: #C94A25; border-color: #C94A25; }
.qb.qb-barge .qb-sbtn.acc i { color: #fff; }
.qb.qb-barge .qb-sbtn.danger { border-color: #FECACA; color: #C2410C; background: #fff; }
.qb.qb-barge .qb-sbtn.danger i { color: #C2410C; }
.qb.qb-barge .qb-sbtn.on, .qb.qb-barge .qb-fadv.on { background: #FDEEE9; border-color: #E4572E; color: #E4572E; }
.qb.qb-barge .qbb-btn.v { border-color: #DDD6FE; color: #6D28D9; background: #F5F3FF; }
.qbl-dp.rz-datepicker, .qbl-dp { width: 100%; }
.qbl-dp .rz-inputtext { border: 1px solid #D1D5DB; border-radius: 6px; padding: 5px 8px; font-size: 12.5px; height: 32px; }
.qbl-dp .rz-datepicker-trigger { color: #6B7280; }
.qb.qb-barge .qb-frow .sfb-btn { height: auto; min-height: 30px; padding: 5px 10px; font-size: 12px; font-weight: 500; border: 1px solid #D1D5DB; border-radius: 8px; background: #fff; color: #1A1D23; }
.qb.qb-barge .qb-frow .sfb-btn:hover, .qb.qb-barge .qb-frow .sfb-btn.open { border-color: #9CA3AF; }
.qb.qb-barge .qb-frow .sfb-btn.on { background: #FDEEE9; border-color: #E4572E; color: #E4572E; }
.qbl-lcd { display: flex; flex-direction: column; gap: 12px; max-height: 68vh; overflow-y: auto; }
.qbl-lcd-it { border: 1px solid #E6E8EC; border-radius: 10px; padding: 10px 14px; background: #fff; }
.qbl-lcd-it .hd { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; margin-bottom: 6px; padding-bottom: 6px; border-bottom: 1px solid #F1F2F4; }
.qbl-lcd-it .hd b { font-size: 13px; color: #1A1D23; }
.qbl-lcd-it .hd span { font-size: 12px; color: #6B7280; }
.qb-dr .qbl-whs, .qbb-scope .qbl-whs { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 12px; margin: 4px 0 8px; }
.qb-scroll:has(> .qbl-shroot) { overflow: hidden; display: flex; flex-direction: column; }
.qbl-shroot { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
.qbl-shroot > .qbl-subt, .qbl-shroot > .qbl-shbar { flex: 0 0 auto; }
.qbl-shroot > .qbl-shwrap { flex: 0 1 auto; min-height: 0; max-height: none; }
.qbl-shroot > .qbl-shsum { flex: 0 0 auto; }
.qb.qb-barge .qb-frow .qb-fapply { margin-left: auto; }
.qbl-rate2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: 760px; margin-bottom: 4px; }
@media (max-width: 640px) { .qbl-rate2 { grid-template-columns: 1fr; } }
.qbb-scope .qbl-portcur { border: 1px solid #E5E7EB; border-radius: 6px; padding: 6px 10px; max-height: 160px; overflow: auto; font-size: 12.5px; background: #F9FAFB; }
.qbb-scope .qbl-portcur > div { padding: 2px 0; }
.qbb-scope .qbl-portcur span { color: #6B7280; margin-left: 6px; }
.qb-dr.qbb-wide .qbb-dr-h .acts .qbb-inl { display: contents; }
.qb-dr.qbb-wide .qbb-dr-h .acts .qbb-inl hr { display: none; }
.qb-dr.qbb-wide .qbb-dr-h .acts .qbb-inl button { flex: none; white-space: nowrap; border: 1px solid #D1D5DB; background: #fff; color: #1A1D23; padding: 5px 10px; border-radius: 8px; font-size: 12px; font-weight: 500; line-height: 1.4; cursor: pointer; }
.qb-dr.qbb-wide .qbb-dr-h .acts .qbb-inl button:hover { border-color: #9CA3AF; }
.qb-dr.qbb-wide .qbb-dr-h .acts .qbb-inl button i { display: none; }
.lx-schedmodal.cb-schedmodal.qbb-tbmodal .modal-header { background: #fff; border-bottom: 1px solid #E5E7EB; }
.lx-schedmodal.cb-schedmodal.qbb-tbmodal .modal-title { color: #1A1D23; font-size: 15px; font-weight: 600; }
.lx-schedmodal.cb-schedmodal.qbb-tbmodal .modal-title i { display: none; }
.lx-schedmodal.cb-schedmodal.qbb-tbmodal .modal-close-btn { color: #6B7280; }
.lx-schedmodal.cb-schedmodal.qbb-tbmodal .modal-close-btn:hover { background: #F3F4F6; color: #1A1D23; }
.qb.qb-barge .qb-sbtn.danger, .qb.qb-barge .qb-sbtn.danger:hover { border: 1px solid #D1D5DB; background: #fff; color: #1A1D23; }
.qb.qb-barge .qb-sbtn.danger i { color: #6B7280; }

.qbb-bg-e8571f { background:#E8571F !important; }
.qbb-d-inline { display:inline !important; }
.qbb-span-1-1 { grid-column:1/-1 !important; }
.qbb-span-1-5 { grid-column:1/5 !important; }
.qbb-span-5-7-d-flex-gap-4 { grid-column:5/7 !important;display:flex !important;gap:4px !important; }
.qbb-ta-right { text-align:right !important; }
.qbb-p-2-6 { padding:2px 6px !important; }
.qbb-ml-auto { margin-left:auto !important; }
.qbb-c-15803d { color:#15803D !important; }
.qbb-m-0-0-6 { margin:0 0 6px !important; }
.qbb-mb-8 { margin-bottom:8px !important; }
.qbb-mt-6 { margin-top:6px !important; }
.qbb-mt-10 { margin-top:10px !important; }
.qbb-m-0 { margin:0 !important; }
.qbb-m-8-0-0 { margin:8px 0 0 !important; }
.qbb-mt-8 { margin-top:8px !important; }
.qbb-flex-1-minw-0 { flex:1 !important;min-width:0 !important; }
.qbb-d-flex-gap-6-wrap-wrap { display:flex !important;gap:6px !important;flex-wrap:wrap !important; }
.qbb-w-0 { width:0 !important; }
.qbb-d-flex-gap-6-ai-center { display:flex !important;gap:6px !important;align-items:center !important; }
.qbb-fs-11 { font-size:11px !important; }
.qbb-cols-1fr-120-110 { grid-template-columns:1fr 120px 110px !important; }
.qbb-cols-1fr-150-40 { grid-template-columns:1fr 150px 40px !important; }
.qbb-mb-3 { margin-bottom:3px !important; }
.qbb-maxw-180-ws-normal { max-width:180px !important;white-space:normal !important; }
.qbb-c-1f2937 { color:#1F2937 !important; }
.qbb-bg-9ca3af { background:#9CA3AF !important; }
.qbb-bg-2563eb { background:#2563EB !important; }
.qbb-bg-16a34a { background:#16A34A !important; }
.qbb-mt-12 { margin-top:12px !important; }
.qbb-w-36 { width:36px !important; }
.qbb-w-104 { width:104px !important; }
.qbb-minw-170 { min-width:170px !important; }
.qbb-minw-180 { min-width:180px !important; }
.qbb-fw-400 { font-weight:400 !important; }
.qbb-w-28 { width:28px !important; }
.qbb-minw-460 { min-width:460px !important; }
.qbb-minw-200 { min-width:200px !important; }
.qbb-c-9ca3af { color:#9CA3AF !important; }
.qbb-c-dc2626 { color:#DC2626 !important; }
.qbb-wrap-wrap { flex-wrap:wrap !important; }
.qbb-minw-150 { min-width:150px !important; }
.qbb-c-0e7490 { color:#0E7490 !important; }
.qbb-mb-6 { margin-bottom:6px !important; }
.qbb-cols-1fr-130-150-80 { grid-template-columns:1fr 130px 150px 80px !important; }
.qbb-w-max-content { width:max-content !important; }
.qbb-cols-150-160-140-1fr-90 { grid-template-columns:150px 160px 140px 1fr 90px !important; }
.qbb-d-flex-gap-4 { display:flex !important;gap:4px !important; }
.qbb-c-d1d5db { color:#D1D5DB !important; }
.qbb-bt-1-solid-e5e7eb { border-top:1px solid #E5E7EB !important; }
.qbb-minw-1400 { min-width:1400px !important; }
.qbb-minw-50 { min-width:50px !important; }
.qbb-bg-f9fafb { background:#F9FAFB !important; }
.qbb-bg-fffbeb { background:#FFFBEB !important; }
.qbb-own.qbb-own-del { margin-top: 18px; padding-top: 14px; border-top: 1px dashed #E5E7EB; }
.qbbm-frow.qbbm-mlst { row-gap: 10px; align-items: end; }

.qbb-tbl.qbl-tbl thead th { background: #1F2A44; color: #fff; text-transform: none; letter-spacing: 0; font-size: 11.5px; font-weight: 600; border-bottom: 0; padding: 11px 12px; }
.qbb-tbl.qbl-tbl thead th input[type=checkbox] { accent-color: #E4572E; }
.qbb-tbl.qbl-tbl td { padding: 10px 12px; }
.qbb-tbl.qbl-tbl tr.qbl-row td { border-bottom: 1px solid #EEF0F3; }
.qbb-tbl.qbl-tbl tr.qbl-row:hover td { background: #FAFBFD; }
.qbb-tbl.qbl-tbl tr.qbl-sch td { background: #fff; border-top: 1px solid #F3C9BC; border-bottom: 1px solid #F3C9BC; padding: 9px 12px; cursor: pointer; }
.qbb-tbl.qbl-tbl tr.qbl-sch td:first-child { box-shadow: inset 3px 0 0 #E4572E; }
.qbl-schin { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 12.5px; }
.qbl-schin .car { color: #6B7280; font-size: 10px; display: inline-block; transition: transform .15s; width: 10px; }
tr.qbl-sch.cl .qbl-schin .car { transform: rotate(-90deg); }
.qbl-schin .sid { color: #E4572E; font-weight: 700; font-size: 13px; cursor: pointer; text-decoration: none; }
.qbl-schin .sid:hover { text-decoration: underline; }
.qbl-schin .tag { border: 1px solid #D1D5DB; border-radius: 4px; padding: 0 5px; font-size: 10.5px; font-weight: 600; color: #374151; }
.qbl-schin .ttl { font-weight: 600; color: #1A1D23; }
.qbl-schin .meta { color: #4B5563; }
.qbl-schin .meta strong { color: #1A1D23; font-weight: 700; }
.qbl-schin .pbar { display: inline-block; width: 120px; height: 6px; border-radius: 3px; background: #E5E7EB; overflow: hidden; }
.qbl-schin .pbar i { display: block; height: 100%; background: #15803D; border-radius: 3px; }
.qbl-schin .pbar i.w { background: #D97706; }
.qbl-schin .chip { font-size: 11px; font-weight: 600; border-radius: 999px; padding: 1px 9px; }
.qbl-schin .chip.ok { background: #DCFCE7; color: #15803D; }
.qbl-schin .chip.w { background: #FEF3C7; color: #92400E; }
.qbl-schin .chip.n { background: #E5E7EB; color: #374151; }

.qbl-tbl th.fz, .qbl-tbl td.fz { position: sticky; z-index: 2; }
.qbl-tbl thead th.fz { z-index: 4; background: #1F2A44; }
.qbl-tbl tr.qbl-row td.fz { background: #fff; }
.qbl-tbl tr.qbl-row:hover td.fz { background: #FCFCFD; }
.qbl-tbl tr.qbl-row.qbl-sel td.fz { background: #FFF4EF; }
.qbl-tbl tr.qbl-row.qbl-cancel td.fz { background: #FAFAFB; }
.qbl-tbl tr.qbl-sch td.fz { background: #fff; }
.qbl-tbl tr.qbl-sch td.qbl-sch-ck { position: sticky; left: 0; z-index: 3; background: #fff; }
.qbl-tbl tr.qbl-sch .qbl-schin { display: inline-flex; position: sticky; left: 64px; max-width: calc(100vw - 140px); }
.qbl-tbl td.fz-last, .qbl-tbl th.fz-last { box-shadow: 6px 0 8px -6px rgba(17, 24, 39, .18); }

.qb.qb-barge .qbl-ug { display: inline-flex; align-items: center; border: 1px solid #D1D5DB; border-radius: 8px; margin-left: 8px; background: #fff; position: relative; }
.qb.qb-barge .qbl-ug > button, .qb.qb-barge .qbl-ug .qb-sbtn { border: 0 !important; background: none !important; padding: 5px 10px !important; font-size: 12px; color: #374151; cursor: pointer; box-shadow: none !important; }
.qb.qb-barge .qbl-ug > button:hover { background: #F3F4F6 !important; }
.qb.qb-barge .qbl-ug .sepv { width: 1px; height: 18px; background: #E5E7EB; }
.qbl-actw { display: inline-flex; gap: 6px; position: relative; }
.qbl-actmenu { position: absolute; top: 34px; right: 0; background: #fff; border: 1px solid #E6E8EC; border-radius: 10px; box-shadow: 0 10px 30px rgba(17, 24, 39, .15); padding: 6px; min-width: 220px; z-index: 31; display: flex; flex-direction: column; }
.qbl-actmenu button { display: block; width: 100%; text-align: left; border: 0; background: none; padding: 8px 10px; border-radius: 6px; font-size: 12.5px; cursor: pointer; color: #1A1D23; }
.qbl-actmenu button:hover { background: #F3F4F6; }

.qbl-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; scroll-margin-top: 80px; }
.qbl-field .qbl-k { font-size: 11px; color: #6B7280; margin-bottom: 4px; }
.qbl-field .qbl-field-res { margin-bottom: 12px; }
.qbl-field-g3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.qbl-field-row { margin-top: 10px; }
.qbl-field-in { width: 100%; border: 1px solid #D1D5DB; border-radius: 6px; padding: 6px 8px; font: inherit; font-size: 12.5px; background: #fff; box-sizing: border-box; }
textarea.qbl-field-in { resize: vertical; min-height: 54px; }
.qbl-field-note { font-weight: 400; color: #374151; white-space: pre-wrap; }
.qbl-field-imgh { display: flex; justify-content: space-between; align-items: center; font-size: 12px; font-weight: 600; color: #374151; margin-bottom: 4px; }
.qbl-field-add { position: relative; overflow: hidden; cursor: pointer; }
.qbl-field-file { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.qbl-field-imgs { display: flex; flex-wrap: wrap; gap: 8px; border: 1px dashed #D1D5DB; border-radius: 8px; padding: 8px 10px; font-size: 12px; color: #9CA3AF; background: #fff; }
.qbl-field-th { position: relative; width: 64px; height: 48px; border-radius: 6px; overflow: hidden; background: #F3F4F6; }
.qbl-field-th img { width: 100%; height: 100%; object-fit: cover; display: block; }
.qbl-field-th button { position: absolute; top: 2px; right: 2px; width: 18px; height: 18px; border: 0; border-radius: 50%; background: rgba(17, 24, 39, .6); color: #fff; font-size: 10px; line-height: 18px; padding: 0; cursor: pointer; }
.qbl-field-ft { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; }
@media (max-width: 640px) { .qbl-field-g3 { grid-template-columns: 1fr; } }

.qb-dr.qbb-wide .qbb-dtabs { gap: 2px; padding: 0 22px; background: #fff; overflow-x: auto; scrollbar-width: thin; }
.qb-dr.qbb-wide .qbb-dtabs button { padding: 11px 10px; font-size: 12.5px; color: #4B5563; font-weight: 500; border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; cursor: pointer; }
.qb-dr.qbb-wide .qbb-dtabs button.on { color: #E4572E; border-bottom-color: #E4572E; font-weight: 600; }
.qb-dr.qbb-wide .qbl-sec { border: 0; border-radius: 10px; box-shadow: 0 0 0 1px #E6E8EC; margin-bottom: 14px; background: #fff; }
.qb-dr.qbb-wide .qbl-sec > h4 { border-bottom: 0; padding: 12px 16px 4px; font-size: 13px; font-weight: 600; cursor: default; margin: 0; }
.qb-dr.qbb-wide .qbl-sec > .ct { padding: 8px 16px 14px; }
.qbb-tbl.qbl-tbl tr.qbl-row.qbl-sel td, .qbb-tbl.qbl-tbl tr.qbl-row.qbl-sel:hover td { background: #FFF4EF; }

.qb-dr .qbb-dp { display: none; }
.qb-dr .qbb-dp.on { display: block; }
.qbl-field .qbl-stseg { align-self: flex-start; }
.qbl-stseg > button { border: 0; border-right: 1px solid #E5E7EB; background: #fff; padding: 6px 12px; font: inherit; font-size: 12.5px; color: #4B5563; display: inline-flex; align-items: center; gap: 7px; cursor: pointer; }
.qbl-stseg > button:last-child { border-right: 0; }
.qbl-stseg > button > i { width: 7px; height: 7px; border-radius: 50%; background: #9CA3AF; }
.qbl-stseg > button.ok > i { background: #15803D; }
.qbl-stseg > button.qc > i { background: #6D28D9; }
.qbl-stseg > button.run > i { background: #E4572E; }
.qbl-stseg > button.on { background: #1A1D23; color: #fff; font-weight: 600; }
.qbl-stseg > button.on > i { background: #fff; }
.qbl-lx td.qbl-src-type { width: 130px; }
.qbl-src-sel { width: 100%; border: 1px solid #D1D5DB; border-radius: 6px; padding: 5px 8px; font: inherit; font-size: 12.5px; background: #fff; }
.qbl-src-sel:disabled { background: #F9FAFB; color: #9CA3AF; }

.qb-dr.qbb-wide .qbl-sec > h4 { display: flex; align-items: center; gap: 8px; }
.qb-dr.qbb-wide .qbl-sec > h4 .own { margin-left: auto; font-size: 10.5px; font-weight: 600; color: #6B7280; border: 1px solid #E6E8EC; border-radius: 4px; padding: 0 6px; }
.qb-dr.qbb-wide .qbl-sec > h4 .own.me { color: #E4572E; border-color: #E4572E; background: #FDEEE9; }
.qb-dr.qbb-wide .qbl-kv4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 20px; font-size: 12.5px; }
.qb-dr.qbb-wide .qbl-kv3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 20px; font-size: 12.5px; margin-bottom: 10px; }
.qbl-kv3.c4, .qb-dr.qbb-wide .qbl-kv3.c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.qb-dr.qbb-wide .qbl-k { font-size: 11px; color: #6B7280; margin-bottom: 2px; font-weight: 400; text-transform: none; letter-spacing: 0; }
.qb-dr.qbb-wide .qbl-v { font-size: 13px; font-weight: 600; color: #1A1D23; }
.qb-dr.qbb-wide .qbl-v small { font-size: 11.5px; font-weight: 400; color: #6B7280; }
.qb-dr.qbb-wide .qbl-lk { font-size: 11.5px; color: #6B7280; margin-top: 6px; }
.qb-dr.qbb-wide .qbl-sub { font-size: 11.5px; color: #6B7280; font-weight: 400; margin: 10px 0 4px; }
.qb-dr.qbb-wide .qbl-sub b { color: #1A1D23; }
.qb-dr.qbb-wide .qbl-tg { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-bottom: 1px solid #F1F2F4; margin-bottom: 10px; }
.qb-dr.qbb-wide .qbl-tg .qbl-tc { padding: 7px 8px; }
.qb-dr.qbb-wide .qbl-tg .qbl-tc > .qbl-k { font-size: 10.5px; text-transform: uppercase; letter-spacing: .3px; margin-bottom: 3px; }
.qb-dr.qbb-wide .qbl-t2 { font-size: 12.5px; }
.qb-dr.qbb-wide .qbl-t2 th { font-size: 10.5px; color: #6B7280; font-weight: 600; text-transform: uppercase; letter-spacing: .3px; padding: 7px 8px; border-bottom: 1px solid #E6E8EC; }
.qb-dr.qbb-wide .qbl-t2 td { padding: 7px 8px; border-bottom: 1px solid #F1F2F4; }
.qb-dr.qbb-wide .qbl-note { margin-top: 12px; border-left: 3px solid #E4572E; padding: 2px 0 2px 10px; background: none; border-radius: 0; font-size: 12.5px; color: #374151; }
.qb-dr.qbb-wide .qbl-note .qbl-k { margin-bottom: 2px; }
@media (max-width: 760px) { .qb-dr.qbb-wide .qbl-kv4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .qb-dr.qbb-wide .qbl-tg { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.qb-dr.qbb-wide .qbl-qtiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.qb-dr.qbb-wide .qbl-qtile { border: 1px solid #E6E8EC; border-radius: 8px; padding: 10px 12px; background: #FAFAFB; }
.qb-dr.qbb-wide .qbl-qtile .tv { font-size: 17px; font-weight: 700; margin-top: 2px; color: #1A1D23; }
.qb-dr.qbb-wide .qbl-qtile .tv small { font-size: 11px; font-weight: 500; color: #6B7280; }
.qb-dr.qbb-wide .qbl-qtile .tv.neg { color: #C2410C; }
@media (max-width: 760px) { .qb-dr.qbb-wide .qbl-qtiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.qbl-qc-g3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 16px; }
.qbl-qc-g3 .qbl-k { margin-bottom: 4px; }
.qbl-qc-plan { display: flex; gap: 6px; align-items: center; }
.qbl-qc-hours { width: 70px !important; text-align: right; }
.qbl-qc-acts { display: flex; gap: 8px; align-items: center; margin-top: 12px; flex-wrap: wrap; }
.qbl-qc-acts .qbl-lk { margin: 0; }
@media (max-width: 640px) { .qbl-qc-g3 { grid-template-columns: 1fr; } }
.qbl-tbids { font-weight: 600; color: #6D28D9; white-space: nowrap; }
.qbl-xr { margin-top: 12px; padding-top: 12px; border-top: 1px solid #F1F2F4; }
.qbl-xr-hd { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.qbl-xr-hd .t { font-size: 12.5px; font-weight: 600; color: #1A1D23; }
.qbl-switch { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: #6B7280; cursor: pointer; user-select: none; }
.qbl-switch input { display: none; }
.qbl-switch i { width: 30px; height: 17px; border-radius: 999px; background: #D1D5DB; position: relative; transition: background .15s; }
.qbl-switch i::after { content: ""; position: absolute; top: 2px; left: 2px; width: 13px; height: 13px; border-radius: 50%; background: #fff; transition: left .15s; }
.qbl-switch.on i { background: #E4572E; }
.qbl-switch.on i::after { left: 15px; }
.qbl-switch.on span { color: #E4572E; font-weight: 600; }
.qbl-xr-t .qbl-xr-q { width: 160px; }
.qbl-xr-t .qbl-xr-x { width: 36px; }
.qb.qb-barge .qbb-queue .qbl-tabs { gap: 0; }
.qb.qb-barge .qbb-queue .qbl-tabs button { padding: 9px 10px; font-size: 12.5px; }
.qb-dr.qbb-wide .qb-pbox { border-radius: 10px; box-shadow: 0 0 0 1px #E6E8EC; background: #fff; padding: 4px 16px 14px; margin-bottom: 14px; }
.qb-dr.qbb-wide .qb-pbox > .qb-sec { margin-top: 8px; font-size: 13px; font-weight: 600; color: #1A1D23; }
.qbb-log .lr { grid-template-columns: 128px 116px 96px minmax(90px, 1fr) 100px 26px; }
.qbb-log .lr.h > span { white-space: nowrap; }
.qb-dr.qbb-wide .qbl-tbt { min-width: 760px; }
.qb-dr.qbb-wide .qbl-tbt th, .qb-dr.qbb-wide .qbl-tbt td.r { white-space: nowrap; }
.qbl-tbt-wrap { overflow-x: auto; }
.qb-dr.qbb-wide .qbb-dr-h .sb { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.qb-dr.qbb-wide .qbb-dr-h .nm { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
