/* Scoped presentation: Kĩ thuật–Hậu cần only. */
.kt-hc{--kt-blue:#0759ad;--kt-border:#dce5ef;--kt-muted:#586b82;color:#152b46;padding:0 0 24px;}
body.desktop-view #app>.tabs .tab[data-tab="kt_hc"]::before{content:"⚙"}
.kt-hc [hidden]{display:none!important}
.kt-hc .hidden{display:none!important}
.kt-hc-heading{padding:20px 22px;border:1px solid var(--kt-border);border-radius:16px;background:linear-gradient(110deg,#fff,#edf5fe);margin-bottom:16px;}
.kt-hc-heading h2{font-size:25px;margin:3px 0 6px;color:#103a69;}
.kt-hc-eyebrow{font:700 11px Arial,sans-serif;letter-spacing:1.5px;color:#47739f;margin:0;}
.kt-hc-heading .muted{margin:0;}
.kt-hc-tabs,.kt-hc-periods{display:flex;gap:7px;flex-wrap:wrap;}
.kt-hc-tabs{margin:0 0 14px;}
.kt-hc-tabs button{border:1px solid #cbd9e8;border-radius:10px;background:#fff;color:#1c486f;padding:11px 15px;font:700 14px Arial,sans-serif;cursor:pointer;}
.kt-hc-tabs button.active{background:#0759ad;border-color:#0759ad;color:#fff;box-shadow:0 3px 8px #0759ad20;}
.kt-hc-periods{margin-bottom:15px;background:#eef3f8;padding:5px;border-radius:10px;width:max-content;max-width:100%;}
.kt-hc-periods button{background:transparent;border:0;padding:9px 18px;border-radius:7px;color:#475e77;font:700 13px Arial,sans-serif;cursor:pointer;}
.kt-hc-periods button.active{background:#0759ad;color:#fff;box-shadow:0 2px 5px #193c6514;}
.kt-hc-message:empty{display:none}
.kt-hc-message{padding:11px 14px;background:#edf6ff;border:1px solid #cee4fa;border-radius:10px;margin:10px 0 14px;font-size:14px;line-height:1.5;overflow-wrap:anywhere;}
.kt-hc-message.error{background:#fff2ed;color:#9a3217;border-color:#f0c9b9;}
.kt-hc-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;}
.kt-hc-filters.kt-hc-filters-employees{grid-template-columns:repeat(3,minmax(0,1fr));}
.kt-hc-period-filter,.kt-hc-period-field{display:grid;gap:6px;min-width:0;}
.kt-hc-period-field>span{font-size:13px;color:#3b516b;}
.kt-hc-period-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(110px,100%),1fr));align-items:start;gap:8px;}
.kt-hc-period-field>label{min-width:0;}
.kt-hc-unit{margin:10px 0 0;font-size:12px;}
.kt-hc #ktHcLoad:disabled{cursor:default;}
.kt-hc-selected-range{display:grid;gap:4px;margin-top:3px;padding:10px 12px;border-radius:8px;background:#eaf3ff;color:#143f70;font-size:13px;line-height:1.5;overflow-wrap:anywhere;}
.kt-hc-selected-range small{color:#586b82;font-size:11px;}
.kt-hc-selected-range.error{background:#fff2ed;color:#9a3217;}
.kt-hc-filters label{display:grid;gap:6px;font-size:13px;color:#3b516b;min-width:0;}
.kt-hc .input{width:100%;min-width:0;box-sizing:border-box;}
.kt-hc-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px;}
.kt-hc-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0 10px;}
.kt-hc-summary>div{background:#fff;border:1px solid var(--kt-border);border-radius:12px;padding:15px 12px;min-width:0;}
.kt-hc-summary span{display:block;color:#61728a;font-size:12px;min-height:30px;}
.kt-hc-summary b{display:block;color:#14375e;font-size:25px;line-height:1.2;}
.kt-hc-summary small{display:block;font-size:10px;margin-top:3px;}
.kt-hc-summary>.kt-hc-total{background:#083e7b;color:#fff;border-color:#083e7b;}
.kt-hc-summary>.kt-hc-total span,.kt-hc-summary>.kt-hc-total b{color:#fff;}
.kt-hc-coverage{font-size:12px;color:#586b82;line-height:1.5;margin:9px 0 15px;}
.kt-hc-table-wrap{width:100%;overflow:auto;}
.kt-hc-table{border-collapse:collapse;width:100%;font-size:13px;}
.kt-hc-table th{padding:11px 10px;text-align:right;color:#23476c;background:#edf3fa;white-space:nowrap;border-bottom:1px solid #ccdaea;}
.kt-hc-table td{padding:12px 10px;text-align:right;border-bottom:1px solid #e7edf5;vertical-align:middle;}
.kt-hc-table th:first-child,.kt-hc-table td:first-child{text-align:left;min-width:160px;}
.kt-hc-table td:first-child small,.kt-hc-table td:first-child span{color:#687d95;font-size:12px;}
.kt-hc-table-total{font-weight:700;background:#f0f6fd;}
.kt-hc-quantity{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:.15em .32em;font-variant-numeric:tabular-nums}
.kt-hc-quantity>span{white-space:nowrap}
.kt-hc-teu{color:#0758a4;font-weight:700}
.kt-hc-table th.kt-hc-teu-total{background:#dceafa;color:#0758a4}
.kt-hc-table td.kt-hc-teu-total{background:#f1f7fe}
.kt-hc-table-total td.kt-hc-teu-total{background:#e4effc}
.kt-hc-donut-percent{font-weight:400}
.kt-hc-vehicle-breakdown{padding:4px 0;display:grid;gap:8px;text-align:left;}
.kt-hc-vehicle-breakdown>div{padding:11px;background:#f1f6fb;border-radius:9px;display:grid;grid-template-columns:1fr auto;gap:6px;}
.kt-hc-vehicle-breakdown small{grid-column:1/-1;color:#586b82;line-height:1.5;}
.kt-hc-charts{display:grid;grid-template-columns:1fr 1fr;gap:15px;}
.kt-hc-charts h3{font-size:16px;margin:0 0 18px;}
.kt-hc-bar{margin:0 0 13px;font-size:12px;}
.kt-hc-bar>div{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;}
.kt-hc-bar>span{height:8px;background:#edf2f8;display:block;border-radius:20px;overflow:hidden;}
.kt-hc-bar i{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#0967ba,#15a7bf);}
.kt-hc-queue-card{margin-bottom:12px;}
.kt-hc-queue-heading{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;}
.kt-hc-queue-heading b{overflow-wrap:anywhere;}
.kt-hc-queue-heading p{color:#34658d;font-size:12px;margin:5px 0;}
.kt-hc-status{border-radius:20px;padding:5px 10px;background:#edf3fa;color:#3e5d7a;font-size:11px;white-space:nowrap;}
.kt-hc-queue-card.processed{background:#f6f8fb;}
.kt-hc-import-actions{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-top:12px;}
.kt-hc-import-actions label{display:grid;gap:6px;font-size:12px;min-width:180px;}
.kt-hc-preview{border:2px solid #45a182!important;scroll-margin-top:16px;}
.kt-hc-dedup-summary{padding:12px 14px;background:#fff8e7;border:1px solid #ecd5a1;border-radius:9px;margin:12px 0;line-height:1.5;}
.kt-hc-dedup-summary p{margin:4px 0;}
.kt-hc-duplicate-details{margin:12px 0;font-size:13px;overflow-wrap:anywhere;}
.kt-hc-duplicate-details summary{cursor:pointer;font-weight:700;margin-bottom:8px;}
.kt-hc-preview .kt-hc-toolbar .btn{white-space:normal;line-height:1.4;}
.kt-hc-replace-note{background:#fff4dc;padding:12px;border-radius:8px;color:#754a12;line-height:1.5;}
.kt-hc-empty{color:#586b82;text-align:center;padding:25px 12px;}
.kt-hc .btn:disabled{opacity:.5;cursor:wait;}
body.mobile-view .kt-hc-heading{padding:16px 13px;border-radius:12px;}
body.mobile-view .kt-hc-heading h2{font-size:21px;}
body.mobile-view .kt-hc-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
body.mobile-view .kt-hc-tabs button{font-size:12px;padding:11px 7px;min-height:43px;}
body.mobile-view .kt-hc-filters,body.mobile-view .kt-hc-filters.kt-hc-filters-employees{grid-template-columns:1fr;gap:10px;}
body.mobile-view .kt-hc-periods{width:100%;display:grid;grid-template-columns:repeat(4,1fr);box-sizing:border-box;}
body.mobile-view .kt-hc-periods button{padding:10px 4px;}
body.mobile-view .kt-hc #ktHcWeek{font-size:12px;padding-left:8px;padding-right:24px;}
body.mobile-view .kt-hc-toolbar .btn{flex:1;min-height:42px;}
body.mobile-view .kt-hc-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
body.mobile-view .kt-hc-summary .kt-hc-total{grid-column:1/-1;}
body.mobile-view .kt-hc-summary>div{padding:11px;}
body.mobile-view .kt-hc-summary span{min-height:0;margin-bottom:5px;}
body.mobile-view .kt-hc-summary b{font-size:24px;}
body.mobile-view .kt-hc-charts{grid-template-columns:1fr;gap:0;}
body.mobile-view .kt-hc .kt-hc-result-card{padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important;}
body.mobile-view .kt-hc-table-wrap{overflow:visible;}
body.mobile-view .kt-hc-table,body.mobile-view .kt-hc-table tbody{display:block;}
body.mobile-view .kt-hc-table thead{display:none;}
body.mobile-view .kt-hc-table tr{display:block;margin:0 0 12px;background:#fff;border:1px solid #dce5ef;border-radius:12px;padding:12px;}
body.mobile-view .kt-hc-table td{display:flex;justify-content:space-between;gap:10px;text-align:right;padding:8px 0;min-width:0!important;}
body.mobile-view .kt-hc-table td:first-child{display:block;text-align:left;font-size:15px;padding-bottom:11px;}
body.mobile-view .kt-hc-table td[data-label]::before{content:attr(data-label);color:#667b92;font-weight:400;text-align:left;}
body.mobile-view .kt-hc-table .kt-hc-detail-row td{display:block;}
body.mobile-view .kt-hc-table .kt-hc-table-total{background:#f0f6fd;}
body.mobile-view .kt-hc-table-total td:not(:first-child):not(.kt-hc-teu-total){display:none;}
body.mobile-view .kt-hc-import-actions{display:grid;grid-template-columns:1fr;}
body.mobile-view .kt-hc-import-actions label{min-width:0;}
body.mobile-view .kt-hc-queue-heading{flex-direction:column;gap:5px;}

/* Weekly imports and editable vehicle catalog, scoped to KT-HC. */
#ktHcRoot [hidden]{display:none!important}
.kt-hc-hidden-notification{display:none!important}
.kt-hc-config-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(200px,2fr);gap:14px;max-width:850px}
.kt-hc-config-form label{display:flex;flex-direction:column;gap:7px}
.kt-hc-config-form .kt-hc-active-check{flex-direction:row;align-items:center}
.kt-hc-config-form .kt-hc-toolbar{grid-column:1/-1}
#ktHcConfigCode[readonly]{background:#f0f4f8;color:#42556b}
#ktHcHistory small{word-break:break-all}
@media(max-width:640px){.kt-hc-config-form{grid-template-columns:1fr}.kt-hc-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Vehicle totals, charts and detail pages follow the names in vehicle configuration. */
.kt-hc-summary.kt-hc-summary-groups{grid-template-columns:repeat(4,minmax(0,1fr))}
.kt-hc-group-xe_nang,.kt-hc-group-bar-xe_nang{--kt-group-color:#1269b5}
.kt-hc-group-cau_khung,.kt-hc-group-bar-cau_khung{--kt-group-color:#078a88}
.kt-hc-group-dau_keo,.kt-hc-group-bar-dau_keo{--kt-group-color:#b8740f}
.kt-hc-group-stat{border-top:3px solid var(--kt-group-color)!important}
.kt-hc-group-stat b{color:var(--kt-group-color)}
.kt-hc-charts.kt-hc-group-charts{grid-template-columns:minmax(0,1fr)}
.kt-hc-group-bar i{background:var(--kt-group-color)}
.kt-hc-group-bar>div{flex-wrap:wrap;gap:.2em .65em}
.kt-hc-group-bar>div>b{margin-inline-start:auto;text-align:right}
#ktHcGroupChartNote{margin:14px 0 0;font-size:12px;line-height:1.5}
.kt-hc-vehicle-group{min-width:0;padding:17px;margin:0 0 20px;border:1px solid #dce5ef;border-top:3px solid var(--kt-group-color,#d28b24);border-radius:12px;background:#fff}
.kt-hc-vehicle-group:last-child{margin-bottom:0}
.kt-hc-group-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.kt-hc-group-heading h3{margin:0 0 6px;font-size:19px;color:var(--kt-group-color,#77501c)}
.kt-hc-group-heading p{margin:0;font-size:13px;line-height:1.5;color:#586b82}
.kt-hc-group-heading p b{color:#14375e}
.kt-hc-group-page-size{padding:5px 8px;border-radius:8px;background:#edf3fa;font-size:11px;color:#4b637e;white-space:nowrap}
.kt-hc-group-pager{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:15px 0 0}
.kt-hc-group-pager span{font-size:12px;line-height:1.4;color:#4e6580;text-align:center}
.kt-hc-group-pager .btn{min-height:38px;min-width:80px}
.kt-hc .kt-hc-group-pager .btn:disabled{cursor:default;opacity:.45}
.kt-hc-group-warning{padding:12px;border:1px solid #e8d5b3;border-radius:8px;background:#fff9ed;color:#77501c;font-size:13px;line-height:1.5}
body.mobile-view .kt-hc-summary.kt-hc-summary-groups{grid-template-columns:repeat(3,minmax(0,1fr))}
body.mobile-view .kt-hc-summary-groups .kt-hc-total{grid-column:1/-1}
body.mobile-view .kt-hc-summary-groups .kt-hc-group-stat{padding:10px 7px}
body.mobile-view .kt-hc-summary-groups .kt-hc-group-stat b{font-size:21px;overflow-wrap:anywhere}
body.mobile-view .kt-hc-summary-groups .kt-hc-group-stat small{font-size:10px}
body.mobile-view .kt-hc-vehicle-group{padding:12px 10px}
body.mobile-view .kt-hc-group-heading h3{font-size:18px}
body.mobile-view .kt-hc-group-pager{gap:8px;justify-content:space-between}
body.mobile-view .kt-hc-group-pager span{flex:1;min-width:85px;font-size:11px}
body.mobile-view .kt-hc-group-pager .btn{min-width:65px;min-height:42px;padding:8px}

/* One visible vehicle detail panel; each tab keeps its own page. */
.kt-hc-vehicle-detail-title h3{margin:0 0 14px;font-size:19px;color:#14375e}
.kt-hc-vehicle-group-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 16px;border:1px solid #cbd9e8;border-radius:10px;overflow:hidden;background:#f5f8fc}
.kt-hc-vehicle-group-tabs button{appearance:none;min-width:0;min-height:46px;padding:11px 10px;border:0;border-right:1px solid #cbd9e8;background:transparent;color:#23476c;font-family:inherit;font-size:15px;font-weight:700;line-height:1.3;cursor:pointer;touch-action:manipulation}
.kt-hc-vehicle-group-tabs button:last-child{border-right:0}
.kt-hc-vehicle-group-tabs button.active{background:#0759ad;color:#fff}
.kt-hc-vehicle-group-tabs button:hover:not(.active){background:#e9f2fb}
.kt-hc-vehicle-group-tabs button:focus-visible{outline:3px solid #60a5fa;outline-offset:-4px}
.kt-hc-vehicle-group[role="tabpanel"]{margin-bottom:0}
.kt-hc-vehicle-group[role="tabpanel"]:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}
.kt-hc-unclassified-details{margin-top:16px;padding:12px;border:1px solid #e8d5b3;border-radius:10px;background:#fff9ed}
.kt-hc-unclassified-details>summary{color:#77501c;font-size:13px;font-weight:700;line-height:1.5;cursor:pointer}
.kt-hc-unclassified-details[open]>summary{margin-bottom:12px}
body.mobile-view .kt-hc-vehicle-detail-title{padding:0 2px}
body.mobile-view .kt-hc-vehicle-detail-title h3{font-size:18px;line-height:1.4}
body.mobile-view .kt-hc-vehicle-group-tabs{margin-bottom:12px}
body.mobile-view .kt-hc-vehicle-group-tabs button{min-height:44px;padding:10px 4px;font-size:13px}

/* Forklift subgroups keep independent charts and three-row detail pages. */
.kt-hc-group-xe_nang_hang,.kt-hc-group-xe_nang_rong{--kt-group-color:#1269b5}
.kt-hc-forklift-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 16px;border:1px solid #cbd9e8;border-radius:10px;overflow:hidden;background:#f5f8fc}
.kt-hc-forklift-tabs button{appearance:none;min-width:0;min-height:54px;padding:10px;border:0;border-right:1px solid #cbd9e8;background:transparent;color:#23476c;font:700 14px Arial,sans-serif;cursor:pointer;touch-action:manipulation}
.kt-hc-forklift-tabs button:last-child{border-right:0}
.kt-hc-forklift-tabs button small{display:block;margin-top:4px;font-size:11px;font-weight:400}
.kt-hc-forklift-tabs button.active{background:#0759ad;color:#fff}
.kt-hc-forklift-tabs button:hover:not(.active){background:#e9f2fb}
.kt-hc-forklift-tabs button:focus-visible{outline:3px solid #60a5fa;outline-offset:-4px}
.kt-hc-donut{margin:18px 0 22px;padding:14px 0 0;border-top:1px solid #e1eaf4}
.kt-hc-donut figcaption{margin:0 0 8px;font-size:16px;line-height:1.4;font-weight:700;color:#173e68}
.kt-hc-donut-viewport{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.kt-hc-donut-svg{display:block;width:100%;max-width:520px;height:auto;margin:0 auto;font-family:Arial,sans-serif}
.kt-hc-donut-svg.kt-hc-donut-wide{min-width:640px;max-width:880px}
.kt-hc-donut-note{margin:12px 0 0;font-size:12px;line-height:1.5;color:#586b82}
.kt-hc-donut-scroll-hint{display:none}
body.mobile-view .kt-hc-forklift-tabs button{padding:10px 5px;min-height:52px;font-size:13px}
body.mobile-view .kt-hc-forklift-tabs button small{font-size:10px}
body.mobile-view .kt-hc-group-xe_nang>.kt-hc-vehicle-group{padding:10px 7px}
body.mobile-view .kt-hc-donut figcaption{font-size:14px}
body.mobile-view .kt-hc-donut-scroll-hint{display:block;margin:7px 0 0;color:#586b82;font-size:11px}
@media(max-width:640px){.kt-hc-donut-scroll-hint{display:block;margin:7px 0 0;font-size:11px;color:#586b82}}

/* Import progress also stays readable on narrow screens. */
.kt-hc-job{margin-top:14px;padding:16px;border:1px solid #c9dceb;border-radius:10px;background:#f7fbff;overflow-wrap:anywhere}
.kt-hc-job-progress-label{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:#17416b}
.kt-hc-job-progress{display:block;width:100%;height:16px;margin:10px 0 16px;accent-color:#0873c6}
.kt-hc-job .kt-hc-toolbar{flex-wrap:wrap}
body.mobile-view .kt-hc-job{padding:12px}
body.mobile-view .kt-hc-job .kt-hc-queue-heading{flex-wrap:wrap;gap:8px}
body.mobile-view .kt-hc-job .kt-hc-toolbar .btn{min-height:44px;flex:1 1 140px;white-space:normal}
